aboutsummaryrefslogtreecommitdiff
path: root/rend-spec-v3.txt
AgeCommit message (Collapse)Author
2023-10-12Move all text-only specifications into the OLD_TXT directory.Nick Mathewson
2023-09-18rend-spec: Recommend a 490-byte INTRODUCE1 message.Nick Mathewson
Closes #222; see arti#1031
2023-09-12rend-spec-v3: Note that there is no support for INTRO_AUTH right now.Nick Mathewson
(Also note that the current design is a little ugly)
2023-07-20Merge branch 'srv-disaster-rounding' into 'main'David Goulet
State rounding convention for shared random disaster minutes See merge request tpo/core/torspec!108
2023-07-12Merge branch 'missing_newline_again' into 'main'David Goulet
Document an onionbalance (?) behavior wrt missing newlines. See merge request tpo/core/torspec!152
2023-07-07Document an onionbalance (?) behavior wrt missing newlines.Nick Mathewson
C Tor tolerates this; Arti didn't (until arti!1389). Also see !109, where we noted a different occurrence of this problem.
2023-06-20Merge branch 'tor-gitlab/mr/138'David Goulet
2023-06-20rend-spec: Document directory behaviour for handling descriptor uploads.Gabriela Moldovan
This adds a paragraph describing the checks hidden service directories are supposed to perform before accepting a descriptor upload. Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-06-15Merge branch 'mac_key_len' into 'main'Alexander Færøy
rend-spec: document MAC_KEY_LEN=32. See merge request tpo/core/torspec!141
2023-06-15Merge branch 'ticket189' into 'main'Alexander Færøy
rend-spec: Clarify that "exactly the same contents" means "exactly". Closes #189 See merge request tpo/core/torspec!120
2023-06-14rend-spec: document MAC_KEY_LEN=32.Nick Mathewson
We use this constant in various places throughout the document but we never say what it is.
2023-06-13Describe the behavior of our HSv3 crypto layers.Nick Mathewson
These layers use SHA3 instead of SHA1 and AES256 instead of AES128. Their SENDME tags are made with SHA3 too, but they are truncated to 20 bytes. Closes #204.
2023-05-18rend-spec: Add a set of test vectors for hs-ntor.Nick Mathewson
These were generated using a patched Tor with extra logging info. I've used them to validate (and find bugs in) the arti hs-ntor implementation. (See arti!1189.)
2023-03-22rend-spec: clarify how dir info may be used to confirm linkspecsNick Mathewson
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-22rend-spec: Clarify that IPv4, RSA-ID and Ed25519-ID are mandatory for now.Nick Mathewson
We can make these non-mandatory in the future if we want, using a consensus flag.
2023-03-22rend-spec: Clarify that linkspec lists should be used verbatim.Nick Mathewson
This resolved "problem 2" from torspec#193.
2023-03-22{rend,tor}-spec: clarify linkspec ID multiplicity issuesNick Mathewson
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-10rend-spec: Clarify that "exactly the same contents" means "exactly".Nick Mathewson
When an INTRODUCE1 cell is retransmitted as an INTRODUCE2 cell, the contents are bytewise identical. Closes #189.
2023-03-07Merge branch 'tor-gitlab/mr/118'David Goulet
2023-03-01rend-spec-v3 ESTABLISH_INTRO: Actually name which key AUTH_KEY isIan Jackson
Really, AUTH_KEY in the display ought to be KP_IPT_SID, to get rid of a layer of terminological indirection.
2023-03-01Clarify that ESTABLISH_INTRO signature doesn't cover SIG_LEN.Nick Mathewson
The previous wording implied that SIG_LEN was also signed, which it isn't.
2023-02-08a few more grammar / whitespace fixesRoger Dingledine
2023-02-08Merge remote-tracking branch 'tor-gitlab/mr/113'Nick Mathewson
2023-02-08Refer to N_hs_desc_enc in description of encrypted-cookieNick Mathewson
2023-02-08Merge remote-tracking branches 'tor-gitlab/mr/114' and 'tor-gitlab/mr/115'Nick Mathewson
2023-02-08Grammar fixgabi-250
2023-02-08Rename hs_index and hsdir_index to hs_{service,relay}_indexIan Jackson
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-07Remove mention of "password" auth in rend-spec.Nick Mathewson
It was never implemented, is not specified, and neither dgoulet nor I can quite remember how it was supposed to work.
2023-02-07Fix name of KP_hs_blind_idNick Mathewson
By our current logic, it needs to have `hs` in it.
2023-02-07Remove K_desc_enc.Nick Mathewson
It has no independent existence outside of the encryption algorithm of 2.5.3.
2023-02-07Name and clarify a few more objects.Nick Mathewson
2023-02-07Rename three keys.Nick Mathewson
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-06Merge branch 'hs-htype' into 'main'Nick Mathewson
Fix terminology for handshake type See merge request tpo/core/torspec!112
2023-02-06Mention, hopelessly, the undocumented "password" auth typeIan Jackson
2023-02-06Properly define "authentication types" in the relevant sectionIan Jackson
Use the phrase which is used elsehwer, and enumerate them again since this is where one would expect to find that enumeration.
2023-02-06Talk of "defined" rather than "recognized" auth typesIan Jackson
We're not the code, we're the spec. We can define things, not recognise them.
2023-02-06Add `ed25519`, the name of the auth type, to the headingIan Jackson
2023-02-06Fix terminology for handshake typeIan Jackson
The phrase "format number" is not defined anywhere. I think it means an HTYPE value.
2023-02-06Use proper names for KP_hsc_desc_encIan Jackson
2023-02-06Call the key in desc-auth-ephemeral-key, KP_hs_desc_ephemIan Jackson
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-01-31rend-spec: Document how the cross-certificates (don't) work.Nick Mathewson
(See text for more info!)
2023-01-31rend-spec: Clarify that enc-key and auth-key may appear multiple times.Nick Mathewson
The spec says "exactly once", but that only refers to the ntor variant.
2023-01-31Merge branch 'tor-gitlab/mr/109'David Goulet
2023-01-30Document missing NL in the middle layer of an HsDesc.Nick Mathewson
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-27State rounding convention for shared random disaster minutesIan Jackson
2023-01-24rend-spec-v3: Clarify how the time period offset is computed.Nick Mathewson
Based on this email thread with dgoulet: https://lists.torproject.org/pipermail/tor-dev/2023-January/014808.html
2023-01-19Rename onion keys back to K*_onion_ntorIan Jackson
As per review comments
2023-01-19Provide names for HS client authentication keysIan Jackson
2023-01-19Rename KP_hs_intro_auth to KP_hs_intro_tidIan Jackson
2023-01-19Revert "Say that HS identity keys are not the same as relay identity keys"Ian Jackson
This reverts commit 81c1be641557d1cd3fb6d9195de08e9f411be517.