update network assumptions

This commit is contained in:
2025-06-26 13:41:52 -05:00
parent 13a1a64772
commit 81829c81b8

View File

@@ -45,7 +45,7 @@ sequenceDiagram
participant User participant User
participant Mobile Client participant Mobile Client
participant Server participant Server
Note over User,Server: Enrollment Note over User,Server: Enrollment (assume secure network)
User ->> Server: Initiate Enrollment User ->> Server: Initiate Enrollment
Server ->> Server: Generate Keypad Icons Server ->> Server: Generate Keypad Icons
Server -->> Mobile Client: Store Icons On Device Server -->> Mobile Client: Store Icons On Device
@@ -59,12 +59,12 @@ sequenceDiagram
Server ->> Mobile Client: Keypad Index Array Server ->> Mobile Client: Keypad Index Array
Mobile Client ->> User: Render Keypad Mobile Client ->> User: Render Keypad
User ->> Server: Confirm nKode User ->> Server: Confirm nKode
Note over User,Server: Login Note over User,Server: Login (assume unsecure network)
rect rgb(191, 223, 255) rect rgb(191, 223, 255)
Server ->> Server: Shuffled Keypad Index Array =<br/>ChaCha20FisherYates(Keypad Index Array, SharedKey, Nonce) Server ->> Server: Shuffled Keypad Index Array =<br/>ChaCha20FisherYates(Keypad Index Array, SharedKey, Nonce)
Note right of Server: Server also sends the 96-bit nonce in plain-text.<br/>The Server must never use the same nonce twice.<br/>It must be randonly generated for every authentication.<br/>The only additional overhead is the 96-bit nonce.
Server ->> Mobile Client: Shuffled Keypad Index Array + Nonce Server ->> Mobile Client: Shuffled Keypad Index Array + Nonce
end end
Note right of Server: Server also sends the 96-bit nonce in plain-text.<br/>The Server must never use the same nonce twice.<br/>It must be randonly generated for every authentication.<br/>The only additional overhead is the 96-bit nonce.
rect rgb(191, 223, 255) rect rgb(191, 223, 255)
Mobile Client ->> Mobile Client: Keypad Index Array =<br/>Unshuffle(Shuffled Keypad Index Array, SharedKey, Nonce) Mobile Client ->> Mobile Client: Keypad Index Array =<br/>Unshuffle(Shuffled Keypad Index Array, SharedKey, Nonce)
end end