diff --git a/diagrams/connection.mmd b/diagrams/connection.mmd index 189e20eea..850d72612 100644 --- a/diagrams/connection.mmd +++ b/diagrams/connection.mmd @@ -11,12 +11,12 @@ sequenceDiagram App B ->> Server B: Bob's app encrypts "connection request" (including and Bob's profile) and sends it to Bob's servers
{from: , to: , message: } Server B ->> Server A: Bob's servers use to locate Alice's servers
and forward encrypted message to all Alice's servers (when they are different from Bob's servers) Server A ->> App A: Alice's servers send the message to Alice's app - App A ->> Alice: Alice's app uses to identify Bob
and decrypts Bob's request with to show it + App A ->> Alice: Alice's app matches with shown QR code
and decrypts Bob's profile with to show it Alice ->> App A: Alice identifies Bob's profile and accepts the connection
(Bob is now added to Alice's list of connections as "pending") App A ->> Server A: Alice's app creates "connection accepted" message (including Alice's profile) and sends it to Alice's servers
{from: , to: , message: } Server A ->> Server B: Alice's servers use to locate Bob's servers
and forward encrypted message to all Bob's servers (when they are different from Alice's servers) Server B ->> App B: Bob's servers send the message to Bob's app - App B ->> Bob: Bob's app uses to identify Alice
and decrypts the acceptance with Bob's + App B ->> Bob: Bob's app matches with read QR code
and decrypts the Alice's profile with Bob's App B ->> Bob: Bob's app adds Alice to the list of connections App B ->> Server B: "connection acknowledgement" message Server B ->> Server A: "connection acknowledgement" message diff --git a/diagrams/connection.svg b/diagrams/connection.svg index 6cfe90e89..42af48d5c 100644 --- a/diagrams/connection.svg +++ b/diagrams/connection.svg @@ -1,49 +1,49 @@ -AliceApp AServer AServer BApp BBobAlice shows <AB public key> as QR code on the screen(Alice's public key for Bob's eyes only)Bob requests app to add connectionBob's app reads <AB public key> via the cameraBob's app encrypts "connection request" (including <BA public key> and Bob's profile) and sends it to Bob's servers{from: <BA public key hash>, to: <AB public key hash>, message: <request encrypted with AB public key>}Bob's servers use <AB public key hash> to locate Alice's serversand forward encrypted message to all Alice's servers (when they are different from Bob's servers)Alice's servers send the message to Alice's appAlice's app matches <AB public key hash> with shown QR codeand decrypts Bob's profile with <AB private key> to show itAlice identifies Bob's profile and accepts the connection(Bob is now added to Alice's list of connections as "pending")Alice's app creates "connection accepted" message (including Alice's profile) and sends it to Alice's servers{from: <AB public key hash>, to: <BA public key hash>, message: <encrypted with AB public key>}Alice's servers use <BA public key hash> to locate Bob's serversand forward encrypted message to all Bob's servers (when they are different from Alice's servers)Bob's servers send the message to Bob's appBob's app matches <AB public key hash> with read QR codeand decrypts the Alice's profile with Bob's <BA private key>Bob's app adds Alice to the list of connections"connection acknowledgement" message"connection acknowledgement" message"connection acknowledgement" messageBob is now in the Alice's list of connections as "established"AliceApp AServer AServer BApp BBob \ No newline at end of file