Skip to content

Service exchange system

Alessandro Gubitosi edited this page Jan 12, 2015 · 4 revisions

All communications through Service and Interface which require the user authentication are encrypted with 2048 bit RSA keypair.
In this case, the interface communicates with the local server in encrypted asynchronous mode, which exchanges encrypted data with the Service, yet in encrypted mode but with other keypair.
Communications between "Proxy" and Service happen in this simple mode: Interface ask the Proxy, and the request are encrypted with the Service's public key, that decrypts it with it's own private key and responds encrypting with the Proxy's public key, that decrypts with its own private key and sends data to the interface. Asynchronous communications between user Interface and Proxy are also crypted with another 2048 RSA keypair.


Legend

  • S-RSApriv = Service's RSA private key
  • S-RSApub = Service's RSA public key
  • U-RSApriv = User's (Proxy) private key
  • U-RSApub = User's (Proxy) public key
  • fingerprint = The user fingerprint, generated on its creation

Action: user-invite
SERVICE PROXY
S-RSApriv(Request+U-RSApub) S-RSApub(Request+U-RSApub)
U-RSApub(Response+fingerprint) U-RSApriv(Response+fingerprint)
All other actions
SERVICE PROXY
S-RSApriv(Request+fingerprint) S-RSApub(Request+fingerprint)
U-RSApub(Response+fingerprint) U-RSApriv(Response+fingerprint)