I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Unverified Commit 405a7a0f authored by zzz's avatar zzz
Browse files

Prop. 159 peer test updates

parent 37bf3c1a
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@ SSU2
:author: eyedeekay, orignal, zlatinb, zzz
:created: 2021-09-12
:thread: http://zzz.i2p/topics/2612
:lastupdated: 2022-04-10
:lastupdated: 2022-04-25
:status: Open
:target: 0.9.56
......@@ -4495,7 +4495,8 @@ Peer Test (Type 7)
Charlie sends to Alice, and Alice Sends to Charlie,
for Peer Test phases 5-7 only.
Peer Test phases 1-4 must be sent in-session.
Peer Test phases 1-4 must be sent in-session using a Peer Test block in a Data message.
See the Peer Test Block and Peer Test Process sections below for more information.
Size: 48 + payload size.
......@@ -4565,7 +4566,7 @@ Unencrypted data (Poly1305 authentication tag not shown):
Source Connection ID :: See below
Token :: Randomly generated by ALice or Charlie, ignored
Token :: Randomly generated by Alice or Charlie, ignored
{% endhighlight %}
......@@ -4579,13 +4580,15 @@ Payload
The minimum payload size is 8 bytes. Since the Peer Test block
totals more than that, the requirement is met with only this block.
In messages 5 and 7, the Peer Test block is identical to
In messages 5 and 7, the Peer Test block may be identical to
the block from in-session messages 3 and 4,
containing the agreement signed by Charlie.
containing the agreement signed by Charlie,
or it may be regenerated. Signature is optional.
In message 6, the Peer Test block is identical to
In message 6, the Peer Test block may be identical to
the block from in-session messages 1 and 2,
containing the request signed by Alice.
containing the request signed by Alice,
or it may be regenerated. Signature is optional.
Connection IDs: The two connection IDs are derived from the test nonce.
For messages sent from Charlie to Alice, the Destination Connection ID
......@@ -5706,7 +5709,7 @@ either in the same payload (if there's room), or in a previous message.
3: Charlie
ver :: 1 byte SSU version to be used for messages 5-7:
1: SSU 1 (not supported)
2: SSU 2
2: SSU 2 (required)
nonce :: 4 byte test nonce, big endian
timestamp :: Unix timestamp, unsigned seconds.
Wraps around in 2106
......@@ -5719,8 +5722,8 @@ either in the same payload (if there's room), or in a previous message.
and signed data above, as signed by
Alice or Charlie.
Only present for messages 1-4.
Not required in message 3 or 4 if
Bob or Charlie rejects the request.
Optional in message 5-7.
{% endhighlight %}
......@@ -5747,6 +5750,12 @@ Notes:
* Messages 5-7 must be contained in a Peer Test message out-of-session.
* Messages 5 and 7 may contain the same signed data as sent in messages 3 and 4, or it may
be regenerated with a new timestamp. Signature is optional.
* Message 6 may contain the same signed data as sent in messages 1 and 2, or it may
be regenerated with a new timestamp. Signature is optional.
Signatures:
......@@ -6868,6 +6877,16 @@ Alice Bob Charlie
Messages 1-4 are in-session using Peer Test blocks in a Data message.
Messages 5-7 are out-of-session using Peer Test blocks in a Peer Test message.
NOTE: As in SSU 1, messages 4 and 5 may arrive in either order.
Message 5 and/or 7 may not be received at all if Alice is firewalled.
When message 5 arrives before message 4,
Alice cannot immediately send message 6, because she does not
yet have Charlie's intro key to encrypt the header.
When message 4 arrives before message 5,
should not immediately send message 6, because she should wait
to see if message 5 arrives without opening the firewall with message 6.
========= ============ =============
Message Path Intro Key
========= ============ =============
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment