Services/KeyExchange: Difference between revisions

Jump to navigation Jump to search
m (→‎Overview: link J-PAKE to an explanation of it)
Line 51: Line 51:


<pre>
<pre>
Mobile                        Server                       Desktop
Mobile                        Server                       Desktop
==================================================================
===================================================================
                                 |
                                 |
retrieve channel <---------------|
retrieve channel <---------------|
generate random secret          |
generate random secret          |
show PIN = secret + channel      |               ask user for PIN
show PIN = secret + channel      |                 ask user for PIN
upload Mobile's message 1 ------>|
upload Mobile's message 1 ------>|
                                 |---> retrieve Mobile's message 1
                                 |----> retrieve Mobile's message 1
                                 |<---- upload Desktop's message 1
                                 |<----- upload Desktop's message 1
retrieve Desktop's message 1 <---|
retrieve Desktop's message 1 <---|
upload Mobile's message 2 ------>|
upload Mobile's message 2 ------>|
                                 |---> retrieve Mobile's message 2
                                 |----> retrieve Mobile's message 2
                                 |                     compute key
                                 |                     compute key
                                 |<---- upload Desktop's message 2
                                 |<----- upload Desktop's message 2
retrieve Desktop's message 2 <---|
retrieve Desktop's message 2 <---|
compute key                      |
compute key                      |             encrypt known value
upload sha256d(key) ------------>|
encrypt known value ------------>|
                                 |---------> retrieve sha256d(key)
                                 |-------> retrieve encrypted value
                                 |         verify against own key
                                 |verify against local value & HMAC
                                 |             encrypt credentials
                                 |             encrypt credentials
                                 |<------------ upload credentials
                                 |<------------- upload credentials
retrieve credentials <-----------|
retrieve credentials <-----------|
verify HMAC                      |
verify HMAC                      |
canmove, Confirmed users
725

edits

Navigation menu