Skip to content
Snippets Groups Projects
Commit 29a110fa authored by David Goulet's avatar David Goulet :panda_face:
Browse files

rend-spec-v3.txt: Merge prop305 in it

parent 42339301
No related branches found
No related tags found
No related merge requests found
......@@ -2104,6 +2104,11 @@
Min: 0. Max: 255. Default 0. First
appeared: 0.4.1.1-alpha.
"HiddenServiceEnableIntroDoSDefense" -- This parameter makes tor start
using this new proposed extension if available by the introduction
point (for protover HSIntro=5). Min: 0. Max: 1. Default: 0. First
appeared: 0.4.2.1-alpha.
"shared-rand-previous-value" SP NumReveals SP Value NL
[At most once]
......
......@@ -50,6 +50,7 @@ Table of contents:
3. The introduction protocol [INTRO-PROTOCOL]
3.1. Registering an introduction point [REG_INTRO_POINT]
3.1.1. Extensible ESTABLISH_INTRO protocol. [EST_INTRO]
3.1.1.1. Denial-of-Server Defense Extension. [EST_INTRO_DOS_EXT]
3.1.2. Registering an introduction point on a legacy Tor node [LEGACY_EST_INTRO]
3.1.3. Acknowledging establishment of introduction point [INTRO_ESTABLISHED]
3.2. Sending an INTRODUCE1 cell to the introduction point. [SEND_INTRO1]
......@@ -1566,6 +1567,67 @@ Table of contents:
Otherwise, the node must associate the key with the circuit, for use
later in INTRODUCE1 cells.
3.1.1.1. Denial-of-Service Defense Extension. [EST_INTRO_DOS_EXT]
This extension can be used to send Denial-of-Service (DoS) parameters to
the introduction point in order for it to apply them for the introduction
circuit.
If used, it needs to be encoded within the N_EXTENSIONS field of the
ESTABLISH_INTRO cell defined in the previous section. The content is
defined as follow:
EXT_FIELD_TYPE:
[01] -- Denial-of-Service Parameters.
If this flag is set, the extension should be used by the introduction
point to learn what values the denial of service subsystem should be
using.
EXT_FIELD content format is:
N_PARAMS [1 byte]
N_PARAMS times:
PARAM_TYPE [1 byte]
PARAM_VALUE [8 byte]
The PARAM_TYPE possible values are:
[01] -- DOS_INTRODUCE2_RATE_PER_SEC
The rate per second of INTRODUCE2 cell relayed to the
service.
[02] -- DOS_INTRODUCE2_BURST_PER_SEC
The burst per second of INTRODUCE2 cell relayed to the
service.
The PARAM_VALUE size is 8 bytes in order to accomodate 64bit values.
It MUST match the specified limit for the following PARAM_TYPE:
[01] -- Min: 0, Max: 2147483647
[02] -- Min: 0, Max: 2147483647
A value of 0 means the defense is disabled. If the rate per second is
set to 0 (param 0x01) then the burst value should be ignored. And
vice-versa, if the burst value is 0 (param 0x02), then the rate value
should be ignored. In other words, setting one single parameter to 0
disables the defense.
The burst can NOT be smaller than the rate. If so, the parameters
should be ignored by the introduction point.
Any valid value does have precedence over the network wide consensus
parameter.
Using this extension extends the payload of the ESTABLISH_INTRO cell by 19
bytes bringing it from 134 bytes to 155 bytes.
This extension can only be used with relays supporting the protocol version
"HSIntro=5".
Introduced in tor-0.4.2.1-alpha.
3.1.2. Registering an introduction point on a legacy Tor node
[LEGACY_EST_INTRO]
......
......@@ -2097,6 +2097,9 @@ see tor-design.pdf.
"4" -- support ed25519 authentication keys which is defined by the HS v3
protocol as part of proposal 224 in Tor 0.3.0.4-alpha.
"5" -- support ESTABLISH_INTRO cell DoS parameters extension for onion
service version 3 only in Tor 0.4.2.1-alpha.
9.5. "HSRend"
The "HSRend" protocol handles rendezvous points.
......
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