@@ -113,12 +113,12 @@ even nonces. Device A starts with `1`, using only odd nonces.
113113- Device G generates ** (Gp, Gs)** , where ** Gp** is its public key and ** Gs** the private (secret) key.
114114- Device S generates ** (Sp, Ss)** , where ** Sp** is its public key and ** Ss** the private (secret) key.
115115
116- 1 . ** Create rendezvous session**
116+ 2 . ** Create rendezvous session**
117117
118118Device G creates a rendezvous session by making a ` POST ` request (as described previously) to the nominated homeserver
119119with an empty payload. It parses the ** id** and ** server** received.
120120
121- 1 . ** Initial key exchange**
121+ 3 . ** Initial key exchange**
122122
123123Device G displays a QR code containing:
124124
@@ -138,7 +138,7 @@ Device S scans and parses the QR code to obtain **Gp**, the rendezvous session *
138138
139139At this point Device S should check that the received intent matches what the user has asked to do on the device.
140140
141- 1 . ** Device S sends the initial message**
141+ 4 . ** Device S sends the initial message**
142142
143143Device S computes a shared secret ** SH** using ECDH between ** Ss** and ** Gp** , thereby establishing a secure channel
144144with Device G which can be layered on top of the insecure rendezvous session transport. It then discards ** Ss** and
@@ -162,7 +162,7 @@ LoginInitiateMessage := UnpaddedBase64(TaggedCiphertext) || "|" || UnpaddedBase6
162162Device S then sends the ** LoginInitiateMessage** as the payload to the rendezvous session using a ` PUT ` request with
163163` Content-Type ` header set to ` text/plain ` .
164164
165- 1 . ** Device G confirms**
165+ 5 . ** Device G confirms**
166166
167167Device G receives ** LoginInitiateMessage** (potentially coming from Device S) from the insecure rendezvous session by
168168polling with ` GET ` requests.
@@ -186,7 +186,7 @@ LoginOkMessage := UnpaddedBase64Encode(TaggedCiphertext)
186186Device G sends ** LoginOkMessage** as the payload via ` PUT ` request with ` Content-Type ` header set to ` text/plain ` to the
187187insecure rendezvous session.
188188
189- 1 . ** Verification by Device S**
189+ 6 . ** Verification by Device S**
190190
191191Device S receives a response over the insecure rendezvous session by polling with ` GET ` requests, potentially from
192192Device G.
@@ -216,7 +216,7 @@ Device S then displays an indication to the user that the secure channel has bee
216216should be entered on the other device when prompted. e.g. wording to say "secure connection established"; enter the code
217217XY on your other device;
218218
219- 1 . ** Out-of-band confirmation**
219+ 7 . ** Out-of-band confirmation**
220220
221221** Warning** : * This step is crucial for the security of the scheme since it overcomes the aforementioned limitation of ECIES.*
222222
@@ -391,7 +391,7 @@ homeserver specified:
391391}
392392```
393393
394- 1 . ** New device checks if it can use an available protocol**
394+ 2 . ** New device checks if it can use an available protocol**
395395
396396Once the existing device knows which homeserver it is to use it then:
397397
@@ -489,7 +489,7 @@ Content-Type: application/json
489489
490490At this point the new device knows that, subject to the user consenting, it should be able to complete the login
491491
492- 1 . ** New device informs existing device that it wants to use the device_authorization_grant**
492+ 3 . ** New device informs existing device that it wants to use the ` device_authorization_grant ` **
493493
494494The new device send the ` verification_uri ` and, if present, the ` verification_uri_complete ` over to the existing device and
495495indicates that want to use protocol ` device_authorization_grant ` along with the ` device_id ` that will be used:
@@ -651,7 +651,7 @@ sequenceDiagram
651651
652652Then we continue with the actual login:
653653
654- 1 . ** New device waits for approval from OIDC Provider**
654+ 4 . ** New device waits for approval from OIDC Provider**
655655
656656On receipt of the ` m.login.protocol_accepted ` message:
657657
@@ -678,7 +678,7 @@ handles the different responses
678678- If the user consents in the next step then the new device will receive an ` access_token ` and ` refresh_token ` etc. as
679679normal for OIDC with MSC3861.
680680
681- 1 . ** User is asked by OIDC Provider to consent on existing device**
681+ 5 . ** User is asked by OIDC Provider to consent on existing device**
682682
683683On receipt of the ` m.login.protocol ` message above, and having completed step 7 of the secure channel establishment, the
684684existing device then asserts that there is no existing device corresponding to the ` device_id ` from the
@@ -786,7 +786,7 @@ If the device isn’t immediately visible it can repeat the `GET` request for up
786786
787787If no device is found then the process should be stopped.
788788
789- 1 . ** Existing device shares secrets with new device**
789+ 2 . ** Existing device shares secrets with new device**
790790
791791The existing device sends a ` m.login.secrets ` message via the secure channel:
792792
@@ -806,7 +806,7 @@ The existing device sends a `m.login.secrets` message via the secure channel:
806806}
807807```
808808
809- 1 . ** New device cross-signs itself and uploads device keys**
809+ 3 . ** New device cross-signs itself and uploads device keys**
810810
811811On receipt of the m.login.secrets message the new device can store the secrets locally
812812
0 commit comments