Opened 2 years ago

Closed 2 years ago

#21859 closed enhancement (implemented)

prop224: Rendezvous circuit e2e crypto

Reported by: dgoulet Owned by: asn
Priority: Very High Milestone: Tor: 0.3.2.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-hs, prop224, review-group-19
Cc: Actual Points:
Parent ID: #21888 Points: 9
Reviewer: nickm Sponsor: SponsorR-must

Description

In order to establish an end-to-end crypto channel on a rendezvous circuit, we need a new API that setups the crypt_path_t object on the circuit from the key material computed between the client and service. This API has to be for both service and client side.

Because the service implementation in #20657 is being done before client, setting parent ID to that ticket.

Child Tickets

Change History (11)

comment:1 Changed 2 years ago by dgoulet

Owner: set to asn
Parent ID: #20657#21888
Status: newassigned

If we can make it happen before 032, *great*, else no biggy. Changing parent ticket to the "prop224 groundwork" ticket since this is needed by #20657 and can be merged safely upstream without affecting tor.

comment:2 Changed 2 years ago by dgoulet

Milestone: Tor: 0.3.2.x-finalTor: 0.3.1.x-final

comment:3 Changed 2 years ago by asn

Milestone: Tor: 0.3.1.x-finalTor: 0.3.2.x-final
Status: assignedneeds_review

OK pushed branch bug21859 to my repo with initial code for this ticket.

Most of the commits are refactoring stuff and preparing for not-done-before unittests. Commit 32ffaedf9 actually does most of the work.

Please find gitlab merge request here:

https://gitlab.com/asn/tor/merge_requests/14/diffs

Moving this to 0.3.2 milestone since it requires all the hs_ident stuff that are gonna be merged in 0.3.2 . If we wanted to merge stuff earlier, we could split the branch into a 0.3.1 branch that only does legacy stuff, and then merge the 0.3.2 stuff later.

comment:4 Changed 2 years ago by asn

Points: 39

comment:5 Changed 2 years ago by dgoulet

Reviewer: dgoulet
Status: needs_reviewneeds_revision

I commented. Nothing major, mostly naming and comments. Good stuff!!!

comment:6 Changed 2 years ago by asn

Status: needs_revisionassigned

OK pushed branch bug21859_v2, which includes all of David's review fixes.

Putting ticket in neutral state. Not sure if this should be in needs_review as it's 0.3.2 material and part of #21888.

comment:7 Changed 2 years ago by dgoulet

Reviewer: dgouletnickm
Status: assignedneeds_review

This is a big piece of groundwork for prop224 service implementation #20657.

This branch contains basically two things. It adds hidden service identifiers (hs_ident.{c|h}) which is the new and improved rend_data concept. Then, it introduces an API/ABI for the e2e encryption of client<->service.

Tor branch: ticket21859_032_01
Gitlab review: https://gitlab.com/dgoulet/tor/merge_requests/29

The prop224 train has started for 032! :)

comment:8 Changed 2 years ago by nickm

Keywords: review-group-19 added

comment:9 Changed 2 years ago by nickm

Status: needs_reviewneeds_revision

Review done; I didn't find any terrible bugs, but I think there are some style and safety issues we should fix before we move on.

comment:10 Changed 2 years ago by dgoulet

Status: needs_revisionneeds_review

Everything has been addressed/commented. Let's go back in needs_review.

comment:11 Changed 2 years ago by nickm

Resolution: implemented
Status: needs_reviewclosed

Squashed as ticket21859_032_01_squashed, then small changes added. Then merged. Hooray!

Note: See TracTickets for help on using tickets.