aboutsummaryrefslogtreecommitdiff
path: root/rend-spec-v3.txt
AgeCommit message (Collapse)Author
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-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-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.
2023-01-19Properly say KP_relayid rather than K_relayidIan Jackson
2023-01-19Properly say KS_onion_ed is a keypairIan Jackson
2023-01-19K_hs_intro_ntor: rename from K_hs_intro_encIan Jackson
Prompted by https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/105#note_2869614
2023-01-19Make all HS key names contain _hs_Ian Jackson
Suggested here https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/105#note_2869613
2023-01-19Use _ed rather than _ntor for ed25519 keysIan Jackson
Even the ones that are actually ntor. Perhaps that's wrong and those should be ntor? Personally I like it this way.
2023-01-19Uwe formal notation for credential and subcredentialIan Jackson
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-19Give a formal name to shared_random_valueIan Jackson
2023-01-19rend-spec: Clarify and slightly reword credential explanationIan Jackson
Introduce the credential and subcredential before we use them. Talk about the public identity key rather than the credential, when we can.
2023-01-19Say that HS identity keys are not the same as relay identity keysIan Jackson
2023-01-19Introduce names for the principal rendezvous keysIan Jackson
2022-12-20rend-spec-v3: mark some sections as obsoleteNick Mathewson
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-20Clarify that revision counter needs to support 64-bit values.Nick Mathewson
2022-02-17Be explicit about EXT_FIELD_LEN=0Nick Mathewson
2022-02-17ntor3, rend3: clarify extension field defaults.Nick Mathewson
These patch changes describe new default behaviors for extension field lists, as appear in ntor3 and in many places throughout the ntor3 protocol. In general: * Unrecognized extensions MUST be ignored. Additionally, all the following rules apply _unless otherwise stated in the documentation for an extension. * Extensions are sent in sorted order. * Extensions should only be sent once in a message * If you receive multiple copies of an extension, only the first one counts. This comes out of discussions on tor!525.
2021-10-25Fix typos and cleanupDimitris Apostolou