Commit Graph

3434 Commits

Author SHA1 Message Date
Nick Mathewson
c51fa4c53e Remove K_desc_enc.
It has no independent existence outside of the encryption algorithm
of 2.5.3.
2023-02-07 15:08:27 -05:00
Nick Mathewson
d44927c39e Name and clarify a few more objects. 2023-02-07 15:07:57 -05:00
Nick Mathewson
da8ecedde5 Rename three keys.
These names are slightly shorter and a bit more descriptive IMO, and
now (when they are still fresh) is the best time to rename these
keys.

`hs_intro_tid` becomes `hs_ipt_sid`: It is a _session identifier_
key used with an _introduction point_.  Using `ipt` here emphasizes
that it is not part of the introduction _handshake_.

`hs_intro_ntor` becomes `hss_ntor`. The extra "s" means it is owned
by the service. Renaming "intro" here removes the implication that
it is held by or used by the introduction point.

`onion_ntor` becomes `ntor`: There is no such thing as an ntor key
that is not an onion key.
2023-02-07 14:51:08 -05:00
Nick Mathewson
ca400dc9f8 rend-spec: Document how the cross-certificates (don't) work.
(See text for more info!)
2023-01-31 11:18:06 -05:00
Nick Mathewson
5509981ced rend-spec: Clarify that enc-key and auth-key may appear multiple times.
The spec says "exactly once", but that only refers to the ntor
variant.
2023-01-31 10:57:34 -05:00
David Goulet
f88f6436d1 Merge branch 'tor-gitlab/mr/109' 2023-01-31 08:55:07 -05:00
Nick Mathewson
b842f50c4f Document missing NL in the middle layer of an HsDesc.
It looks like C tor doesn't include a final newline in the middle
layer of its onion service descriptors.  That made arti reject them
the first time I tried to parse one!  Here I document this behavior,
and tell other implementations what to do.
2023-01-30 16:46:58 -05:00
David Goulet
ad9a003673 Merge branch 'tor-gitlab/mr/74' 2023-01-27 15:55:27 -05:00
Nick Mathewson
63cb0fc1ef prop339: trunnel changes from review
* The syntax `IN [a,b]` means that a and b are the only valid options,
  which isn't what we want to say here.
* I'm changing the hostname tag to 0, which is the same as we have for
  RESOLVED cells.
2023-01-27 15:55:14 -05:00
David Goulet
0da1241f98 Merge branch 'tor-gitlab/mr/104' 2023-01-26 10:11:26 -05:00
Nick Mathewson
5e864771d1 rend-spec-v3: Clarify how the time period offset is computed.
Based on this email thread with dgoulet:

https://lists.torproject.org/pipermail/tor-dev/2023-January/014808.html
2023-01-24 15:17:54 -05:00
Ian Jackson
8f7f6f9e97 Clarify and tidy up KeywordLine Argument
* Introduce the notion of Argument, which is relied on in the
  rest of the document, but not defined here formally.

Spec changes implied by this diff:

* Forbid the arguments from containing form feeds, carriage returns,
  and vertical tabs.

* Forbid trailing whitespace after the last argument.  I'm not sure
  whether this is correct, but it seems anomalous to permit it for
  only for keyword lines with arguments, and not anywhere else.
2023-01-20 18:18:33 +00:00
Ian Jackson
f16803f6f9 tor-spec: Change KP to KP throughout
Emacs's idea of s/\bPK\b/KP/
2023-01-19 10:20:45 -05:00
Ian Jackson
dc4b593ce5 tor-spec: Clarifiy KP/KS in definition section 2023-01-19 10:20:45 -05:00
Ian Jackson
9ebadaa2af tor-spec: Change PK/SK to KP/KS in definition section 2023-01-19 10:20:45 -05:00
Ian Jackson
025d469837 Rename onion keys back to K*_onion_ntor
As per review comments
2023-01-19 10:20:45 -05:00
Ian Jackson
5f3e97cfa1 Provide names for HS client authentication keys 2023-01-19 10:20:45 -05:00
Ian Jackson
c1aa867819 Rename KP_hs_intro_auth to KP_hs_intro_tid 2023-01-19 10:20:45 -05:00
Ian Jackson
e1ee12e810 Document that keypairs should not double up roles, with example 2023-01-19 10:20:45 -05:00
Ian Jackson
3bdb23706a Revert "Say that HS identity keys are not the same as relay identity keys"
This reverts commit 81c1be641557d1cd3fb6d9195de08e9f411be517.
2023-01-19 10:20:45 -05:00
Ian Jackson
fc42e97dd3 Properly say KP_relayid rather than K_relayid 2023-01-19 10:20:45 -05:00
Ian Jackson
a4e3bdbe6e Properly say KS_onion_ed is a keypair 2023-01-19 10:20:45 -05:00
Ian Jackson
7bc2766bad K_hs_intro_ntor: rename from K_hs_intro_enc
Prompted by
  https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/105#note_2869614
2023-01-19 10:20:45 -05:00
Ian Jackson
0dd614681c Make all HS key names contain _hs_
Suggested here
  https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/105#note_2869613
2023-01-19 10:20:45 -05:00
Ian Jackson
90919950d1 Use _ed rather than _ntor for ed25519 keys
Even the ones that are actually ntor.  Perhaps that's wrong and those
should be ntor?  Personally I like it this way.
2023-01-19 10:20:45 -05:00
Ian Jackson
1d5ba4f51a Uwe formal notation for credential and subcredential
In particular, give these formal names which contain "hs" (since they
are part of the hidden service protocol, and not any other kind of
authentication or authorisation scheme), and "N" to indicate that they
are hash-generated nonces, not passwords.

Change the references in the formulae, which it really seems to me
ought to refer to the formal names.
2023-01-19 10:20:45 -05:00
Ian Jackson
3c68fd57e1 Give a formal name to shared_random_value 2023-01-19 10:20:45 -05:00
Ian Jackson
b631068870 rend-spec: Clarify and slightly reword credential explanation
Introduce the credential and subcredential before we use them.
Talk about the public identity key rather than the credential,
when we can.
2023-01-19 10:20:45 -05:00
Ian Jackson
e3dd512264 Say that HS identity keys are not the same as relay identity keys 2023-01-19 10:20:45 -05:00
Ian Jackson
4af1697371 Introduce names for the principal rendezvous keys 2023-01-19 10:20:45 -05:00
Ian Jackson
5e9d6fcce6 Introduce names for the principal relay keys 2023-01-19 10:20:45 -05:00
Nick Mathewson
83fd14cbae dir-spec: Make Object multiplicity "?", not "*".
We have never actually generated an Item with multiple Objects.
What's more, neither the C tor implementation nor Arti actually
supports parsing such and item.
2023-01-17 08:17:29 -05:00
David Goulet
635270c6c5 Merge branch 'tor-gitlab/mr/103' 2023-01-11 13:15:20 -05:00
Mike Perry
09c648fc8d Prop324: Lower consensus param max for integer issue 2023-01-11 17:38:31 +00:00
David Goulet
b4cfd28297 Merge branch 'tor-gitlab/mr/81' 2023-01-11 10:00:46 -05:00
Nick Mathewson
647e7675f9 Tweak dgoulet's explanation of TRUNCATE and DESTROY. 2023-01-11 09:25:00 -05:00
David Goulet
0bacc73d6b Merge branch 'tor-gitlab/mr/83' 2023-01-10 16:17:25 -05:00
David Goulet
773fc92000 Merge branch 'tor-gitlab/mr/75' 2023-01-10 16:17:06 -05:00
Mike Perry
c2e057a7c3 Prop 324: RTT should only be reset after slow start. 2023-01-10 20:53:57 +00:00
David Goulet
e9598b1163 Merge branch 'tor-gitlab/mr/92' 2023-01-10 13:54:30 -05:00
David Goulet
d3904cbe4b Merge branch 'tor-gitlab/mr/93' 2023-01-10 13:53:47 -05:00
David Goulet
93e2f2f574 Merge branch 'tor-gitlab/mr/94' 2023-01-10 13:53:15 -05:00
David Goulet
529cb00617 Merge branch 'tor-gitlab/mr/98' 2023-01-10 13:52:28 -05:00
David Goulet
ad7091d641 Merge branch 'tor-gitlab/mr/99' 2023-01-10 13:49:31 -05:00
Nick Mathewson
578145bf1c New proposal 342: Decoupling hs_interval and SRV lifetime 2023-01-10 08:20:42 -05:00
Nick Mathewson
97f1ffb6b0 Clarify parameters related to hsv3 protocol.
In param-spec, not all of the parameters for onion services had
their ranges and defaults listed; I've added those from the code.

Also I clarified the units for hsdir_interval, which were not
intuitively obvious.
2023-01-09 12:46:17 -05:00
Emil Engler
31c325434e
tor-spec: fix ambitious formulation in VERSIONS
This commit fixes an ambitious formulation within the definition of the
VERSIONS cells. It says, that a VERSIONS cell with an odd number of
bytes is invalid. This statement is not true, because the CircID (2
bytes for VERSIONS cells), Command (1 byte) and Length (2 byte) make up
5 bytes, which is an odd number. Adding an odd number to an even number
of bytes (the payload in this case) always results in an odd number.
2022-12-22 19:31:01 +01:00
Mike Perry
4d950a261f Prop#324: Do not increase cwnd if the window is not full.
- Allow a gap between inflight and cwnd before declaring the cwnd not full.
 - Parameterize how often a cwnd must be full
 - Clean up vegas algorithm for variable scoping and clarity
2022-12-21 21:51:15 +00:00
Nick Mathewson
7116c9cdab rend-spec-v3: mark some sections as obsolete
All supported versions for relays on the Tor network support v3
onion services. As such, we can mark the sections about "how do I
use an 0.2.9.x relay as my intro/rend point?" as obsolete.
2022-12-20 12:52:15 -05:00
Nick Mathewson
c99151cc07 Clarify that revision counter needs to support 64-bit values. 2022-12-20 12:50:28 -05:00