Commit Graph

3472 Commits

Author SHA1 Message Date
Mike Perry
7ea74b99bd Prop329: Document Snowflake exemption to Guard restriction. 2023-05-18 20:00:30 +00:00
Mike Perry
1473e9592a Prop#329: Clarity improvements 2023-05-17 21:17:59 +00:00
Mike Perry
ee9f341b32 Note that we need to explicitly allow 2 INTROs 2023-05-17 21:17:59 +00:00
Mike Perry
0d332d868c Prop329 updates for bug40781 2023-05-17 21:17:45 +00:00
David Goulet
402647ea1b Proposal 319 and 325 superseded by 340
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-05-10 12:50:12 -04:00
David Goulet
a14e2981ef prop343: Initial import
CAA Extensions for the Tor Rendezvous Specification.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-05-08 15:14:58 -04:00
Alexander Færøy
142dda7257 Merge remote-tracking branch 'mikeperry/conflux_mr' 2023-04-13 18:29:40 +00:00
Mike Perry
8115fc7d12 Update Prop#329 for conflux merge request. 2023-04-06 16:01:55 +00:00
Nick Mathewson
70ca4e9dcb rend-spec: clarify how dir info may be used to confirm linkspecs
Specifically, you can look at the directory to see if somebody is
lying about a relay (mismatched IDs, etc), but you can't modify
the list of linkspecs.
2023-03-22 14:31:55 -04:00
Nick Mathewson
0b19f2114b rend-spec: Clarify that IPv4, RSA-ID and Ed25519-ID are mandatory for now.
We can make these non-mandatory in the future if we want, using a
consensus flag.
2023-03-22 14:31:55 -04:00
Nick Mathewson
1aa3a8316a rend-spec: Clarify that linkspec lists should be used verbatim.
This resolved "problem 2" from torspec#193.
2023-03-22 14:31:55 -04:00
Nick Mathewson
33308845ce {rend,tor}-spec: clarify linkspec ID multiplicity issues
We were previously a bit unclear on how to handle multiple linkspecs
of type ed25519, and our spec didn't actually permit Tor's current
behavior.

Now we say that both Ed25519 ID and Legacy ID linkspecs MUST appear
at most once in a list of linkspecs, and that parties SHOULD
enforce this.

This is "problem 1" on torspec#193.
2023-03-22 14:24:33 -04:00
Nick Mathewson
71ed0ed831 Merge remote-tracking branch 'tor-gitlab/mr/119' 2023-03-07 13:55:00 -05:00
David Goulet
99a5803fa7 Merge branch 'tor-gitlab/mr/118' 2023-03-07 08:48:05 -05:00
Ian Jackson
9dee2f8efa State that "base32" always means RFC4648, unpadded.
I found src/lib/encoding/binascii.[ch] in the C Tor codebase.
It has
  #define BASE32_CHARS "abcdefghijklmnopqrstuvwxyz234567"

The function "base32_encode" says "Implements base32 encoding as in
RFC 4648.".  Now, that RFC says that it's supposed to be padded unless
explicitly stated otherwise.  However, the padding is pointless and
neither our "base32_encode" nor our "base32_decode" seem to implemnet
it.

I hope that we are using the same base32 encoding everywhere, but have
not checked.
2023-03-07 13:25:15 +00:00
Ian Jackson
85c2b704ac rend-spec-v3 ESTABLISH_INTRO: Actually name which key AUTH_KEY is
Really, AUTH_KEY in the display ought to be KP_IPT_SID, to get rid of
a layer of terminological indirection.
2023-03-01 15:11:57 +00:00
Nick Mathewson
ba581c95bf Clarify that ESTABLISH_INTRO signature doesn't cover SIG_LEN.
The previous wording implied that SIG_LEN was also signed, which
it isn't.
2023-03-01 07:42:22 -05:00
Roger Dingledine
29fbf57f79 a few more grammar / whitespace fixes 2023-02-08 13:20:01 -05:00
Nick Mathewson
e8aea86688 Merge remote-tracking branch 'tor-gitlab/mr/113' 2023-02-08 11:40:11 -05:00
Nick Mathewson
7838586895 Refer to N_hs_desc_enc in description of encrypted-cookie 2023-02-08 11:39:37 -05:00
Nick Mathewson
4234d93259 Merge remote-tracking branches 'tor-gitlab/mr/114' and 'tor-gitlab/mr/115' 2023-02-08 11:37:35 -05:00
gabi-250
b7aeadeec6 Grammar fix 2023-02-08 16:35:02 +00:00
Ian Jackson
71d7e7184d Rename hs_index and hsdir_index to hs_{service,relay}_index
These new names are the ones used in arti's hsdir_ring.rs and make a
lot more sense than calling one of them the "directory" index and
the other just the "index".

In C Tor these are calculated by functions called
  hs_build_hs_index
  hs_build_hsdir_index

That might be a reason *not* to accept this change.  Or it might be a
reason to change the C Tor code.

If we don't change the names in the spec the Arti function names
should change.
2023-02-08 14:49:30 +00:00
Nick Mathewson
0b1289fd26 Remove mention of "password" auth in rend-spec.
It was never implemented, is not specified, and neither dgoulet nor
I can quite remember how it was supposed to work.
2023-02-07 15:10:54 -05:00
Nick Mathewson
2e8606c1bb Fix name of KP_hs_blind_id
By our current logic, it needs to have `hs` in it.
2023-02-07 15:10:15 -05:00
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
46356d252f Merge branch 'hs-htype' into 'main'
Fix terminology for handshake type

See merge request tpo/core/torspec!112
2023-02-06 21:01:00 +00:00
Nick Mathewson
e4596ecced Merge branch 'hs-desc-ephem' into 'main'
Call the key in desc-auth-ephemeral-key, KP_hs_desc_ephem

See merge request tpo/core/torspec!111
2023-02-06 21:00:24 +00:00
Ian Jackson
28cc4dc16b Mention, hopelessly, the undocumented "password" auth type 2023-02-06 15:08:00 +00:00
Ian Jackson
dc822431f3 Properly define "authentication types" in the relevant section
Use the phrase which is used elsehwer, and enumerate them again since
this is where one would expect to find that enumeration.
2023-02-06 15:07:10 +00:00
Ian Jackson
51fd440a19 Talk of "defined" rather than "recognized" auth types
We're not the code, we're the spec.  We can define things, not
recognise them.
2023-02-06 15:06:41 +00:00
Ian Jackson
ecd718e116 Add ed25519, the name of the auth type, to the heading 2023-02-06 15:04:46 +00:00
Ian Jackson
39513369c7 Put HTYPE (the name for this thing) in the title for the table 2023-02-06 14:52:47 +00:00
Ian Jackson
431f6152cf Fix terminology for handshake type
The phrase "format number" is not defined anywhere.  I think it means
an HTYPE value.
2023-02-06 14:51:45 +00:00
David Goulet
103c7720c0 Merge branch 'tor-gitlab/mr/102' 2023-02-06 09:03:51 -05:00
Ian Jackson
7b3d7a40a0 Use proper names for KP_hsc_desc_enc 2023-02-06 12:51:41 +00:00
Ian Jackson
5c6b282e57 Call the key in desc-auth-ephemeral-key, KP_hs_desc_ephem
Proposed by @nickm in
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/999/diffs#50f9790ab3f0a65f7ac3e4f413c84f51fae1f855_0_26

(I think the spec is not 100% clear that hs_y and hs_Y are *this* key,
rather than some other possible ephemeral keypair the HS might have,
so please would the reviewer check that this is actually true.)
2023-02-06 12:25:55 +00:00
Nick Mathewson
0fc6d07d88 More verbage in prop340 about the stream_id transition.
Specifically:

  * Mention this change in the introduction.
  * Add a section explaining how to change tor-spec
    and related proposals.
2023-02-03 13:02:52 -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