aboutsummaryrefslogtreecommitdiff
path: root/proposals/224-rend-spec-ng.txt
AgeCommit message (Collapse)Author
2023-10-12Wrap text proposals in backticks.Nick Mathewson
2018-08-06fix a typo twiceRoger Dingledine
2017-09-19Create rend-spec-v3.txt based on proposal 224Nick Mathewson
2017-09-19make validation MUST; clarify behavior on failure.Nick Mathewson
2017-09-19Merge remote-tracking branch 'asn/bug22743'Nick Mathewson
2017-09-19prop224: Specify and motivate client-side address validation.George Kadianakis
Also see #23019 for the code patch.
2017-09-18Merge remote-tracking branch 'dgoulet/ticket22979_01'Nick Mathewson
2017-09-18Merge remote-tracking branch 'dgoulet/ticket23340_01'Nick Mathewson
2017-09-18prop224: Improve some prop224 metadata.George Kadianakis
- Revise author list and acknowledgements list. - Write list of prop224 improvements - Kill a spare TODO.
2017-09-18prop224: Remove the HSDir3 flag conceptDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-09-18prop224: Specify ed25519 base point and add reference.George Kadianakis
2017-09-18prop224: No special INTRODUCE1 cell for legacy intro points.George Kadianakis
Intro points don't care about the contents of the INTRO1 cell as long as the first 20 bytes are correctly formatted, so we don't need to have a special cell for legacy intros. Remove all references to it.
2017-09-18prop224: Specify that we have a replay cache for rendezvous cookies.George Kadianakis
See replay_cache_rend_cookie in the codebase.
2017-09-18prop224: RENDEZVOUS2 is RENDEZVOUS1 minus the cookieGeorge Kadianakis
2017-09-15prop224: Add an intro onion key in the descriptorDavid Goulet
The onion key for the ntor handshake is missing in the descriptor in order for the client to extend to it. Ticket #22979 Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-09-07prop224: Specify new descriptor upload/fetching behavior.George Kadianakis
As part of our work in #23387, we figured out that there are some edge cases where clients cannot connect to services if they are using different live consensuses. That was because the overlap period was only covering clients with a newer consensus than the service. We are now extending the overlap period to be permanent, and alter its logic so that it also covers clients with older consensus than the service. Now services always have two active descriptors at any given time. This spec patch is a companion to the code branch of #23387.
2017-09-06typo fixRoger Dingledine
2017-09-06prop224: We only use upgraded relays for rendezvous points.George Kadianakis
2017-08-29prop224: Fix ordering of the hsdir_index constructionDavid Goulet
Turns out that it was implemented with period_num first and then period_length. Like asn said, let us consider that as an interesting engineering artifact and change the spec instead of the code that has been tested like that for a while now. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-23prop224: Missing INTRODUCE1 field in the ntor handshake sectionDavid Goulet
Section 3.3.2 is showing the layout of an INTRODUCE1 cell but was missing a field that we need to do the MAC computation. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-21prop224: Fix section numbering typoDavid Goulet
Fixes #22993 Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-05-25prop224: Specify blinding factor clamping.George Kadianakis
2017-05-25prop224: Remove KH from ntor key derivation.George Kadianakis
We don't need KH anymore since we do a MAC check anyway.
2017-05-25prop224: Add string constant to blinding factor calculation.George Kadianakis
Also simplify that part of the spec sincedgoulet felt it was too obscure and people might miss it or consider it a side note.
2017-05-25prop224: Hash time period length wherever we use period_num.George Kadianakis
See review point: https://gitlab.com/dgoulet/tor/merge_requests/27#note_27696937
2017-05-11Merge remote-tracking branch 'dgoulet/ticket21871_01'Nick Mathewson
2017-04-19prop224: Be consistent with our concatenation symbol (|)David Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-04-19prop224: Replace HMAC by a H constructionDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-04-19prop224: Use consistent notation of period_numDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-04-19prop224: Make ed25519 identity key mandatory for link specifiersDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-04-07prop224: Change how descriptor encode encryption keysDavid Goulet
Every intro point, legacy or not, needs a ntor encryption key. However, in the case of a legacy introductin point, we need an extra RSA key so the IP can relay the INTRODUCE1 cell on the right circuit. We now only need the cross certificate for the encryption key because the signing-key extention make sure we have the actual key encoded in that certificate. The legacy key cross certificate doesn't support that extention so we need both the RSA key and the crosscert. Fixes #21871 Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-03-13Define some undefined variables.George Kadianakis
G_LEN and H_LEN were undefined.
2017-03-13Update our MAC definition to include the key len.George Kadianakis
It was recently changed to include the key len as first argument, but the spec was never updated. See the following gitlab review comment for more info: https://gitlab.com/asn/tor/merge_requests/7#note_19342504
2017-03-09prop224: Fix typo in Appendix ADavid Goulet
Reported-by: isis <isis@torproject.org> Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-02-28prop224: Rename some ntor variables for better readability.George Kadianakis
2017-02-28prop224: Precisely specify the RENDEZVOUS1 verification procedure.George Kadianakis
2017-02-28prop224: Improvements to HS ntor section.George Kadianakis
- AUTH_KEYID is actually AUTH_KEY these days - Make it more clear that the result of the ntor handshake includes a MAC.
2017-02-27Upgrade prop224 to accepted and 249 to openNick Mathewson
2017-02-01prop224: Clarify how checksum truncation works.George Kadianakis
2017-01-31prop224: Fix tabs issueDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-01-31prop224: Specify rough directory format of hidden services.George Kadianakis
2017-01-31prop224: Specify onion address encodingGeorge Kadianakis
2017-01-27prop224: Add the can't relay cell status to INTRODUCE_ACKDavid Goulet
Current implementation added that status to indicate to the client that the IP can't relay the INTRODUCE cell to the service. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-01-14prop224: Clarify time period exampleNicolas Braud-Santoni
It was unclear whether this was β€œthe epoch at <time>” or β€œ(X seconds after the epoch) at <time>”.
2017-01-14prop224: Fix time period exampleNicolas Braud-Santoni
2017-01-10prop224: Clarify INT_N truncationDavid Goulet
Closes #19133 Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-12-01prop224: Remove username/password intro-layer auth.George Kadianakis
Authorized clients need a x25519 key to decrypt the descriptor anyway, so having username/password method for the intro-layer authorization is not very helpful, since they will need to remember the x25519 key anyway. Perhaps in the future we can reinstate the username/password method, by having x25519/ed25519 keypairs be generated from the low-entropy username/password pair.
2016-12-01prop224: Revisit basic client authorizationGeorge Kadianakis
In the past prop224 used to embed the client authorization key in the subcredential. The problem here is that if we wanted to revoke a client, we would have to change the whole subcredential of the service, which means that we would have to announce it to all clients. This patch makes it so that every client has an x25519 and an ed25519 which are used to perform client authorization. To achieve this on the descriptor level, we change the descriptor format to a double-layer encryption where the first layer protects against entities who don't know the public key of the HS, and the second layer protects against unauthorized clients who don't know the x25519 key. The intro level authorization remains as is and uses ed25519 for authentication. Thanks to special for noticing this issue. Thanks to Nick for sketching out the x25519 descriptor auth scheme.
2016-11-08fixup! prop224: Add the single onion service line to descriptorDavid Goulet
2016-11-08prop224: Add the single onion service line to descriptorDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>