SSU: Document that the Bob-to-Alice peer test message
must be in-session as of API 0.9.52. Already implemented by i2pd; Java I2P fixes will be in 1.6.0.
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
{% extends "global/layout.html" %}
|
||||
{% block title %}{% trans %}Secure Semireliable UDP{% endtrans %} (SSU){% endblock %}
|
||||
{% block lastupdated %}2021-04{% endblock %}
|
||||
{% block accuratefor %}0.9.50{% endblock %}
|
||||
{% block lastupdated %}2021-10{% endblock %}
|
||||
{% block accuratefor %}0.9.52{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<p>{% trans transports=site_url('docs/transport'), ntcp=site_url('docs/transport/ntcp'), ntcp2=site_url('docs/spec/ntcp2') -%}
|
||||
@ -504,11 +504,14 @@ to designate a new peer as Bob and try again with a different nonce.
|
||||
{%- endtrans %}</p>
|
||||
|
||||
<p>{% trans -%}
|
||||
Alice's introduction key is included in all of the PeerTest
|
||||
messages so that she doesn't need to already have an established
|
||||
session with Bob and so that Charlie can contact her without knowing
|
||||
any additional information. Alice may go on to establish a session
|
||||
with either Bob or Charlie, but it is not required.
|
||||
Alice's introduction key is included in all of the PeerTest messages
|
||||
so that Charlie can contact her without knowing any additional information.
|
||||
As of release 0.9.15, Alice must have an established
|
||||
session with Bob, to prevent spoofing attacks.
|
||||
Alice must not have an established session with Charlie for the peer test
|
||||
to be valid.
|
||||
Alice may go on to establish a session
|
||||
with Charlie, but it is not required.
|
||||
{%- endtrans %}</p>
|
||||
|
||||
<h3>IPv6 Notes</h3>
|
||||
|
@ -3,8 +3,8 @@ SSU Protocol Specification
|
||||
==========================
|
||||
.. meta::
|
||||
:category: Transports
|
||||
:lastupdated: 2021-06
|
||||
:accuratefor: 0.9.50
|
||||
:lastupdated: 2021-10
|
||||
:accuratefor: 0.9.52
|
||||
|
||||
.. contents::
|
||||
|
||||
@ -1016,8 +1016,10 @@ Note: IPv6 peer testing is supported as of release 0.9.27.
|
||||
|
||||
3. When sent from Charlie to Bob: Bob/Charlie sessionKey
|
||||
|
||||
4. When sent from Bob to Alice: Alice's introKey, as
|
||||
received in the PeerTest message from Alice
|
||||
4. When sent from Bob to Alice: Alice/Bob sessionKey
|
||||
(or for Bob prior to 0.9.52, Alice's introKey, as
|
||||
received in the PeerTest message from Alice,
|
||||
see note below)
|
||||
|
||||
5. When sent from Charlie to Alice: Alice's introKey, as
|
||||
received in the PeerTest message from Bob
|
||||
@ -1107,6 +1109,13 @@ Notes
|
||||
* As of release 0.9.15, Alice must have an established session with Bob and use
|
||||
the session key.
|
||||
|
||||
* Prior to API version 0.9.52, in some implementations, Bob replied to Alice using
|
||||
Alice's intro key rather than the Alice/Bob session key, even though
|
||||
Alice and Bob have an established session (since 0.9.15).
|
||||
As of API version 0.9.52, Bob will correctly use the session key in all
|
||||
implementations, and Alice should reject a message received from Bob
|
||||
with Alice's intro key if Bob is API version 0.9.52 or higher.
|
||||
|
||||
* Extended options in the header: Not expected, undefined.
|
||||
|
||||
HolePunch
|
||||
|
Reference in New Issue
Block a user