View Issue Details

IDProjectCategoryView StatusLast Update
0007894GNUnettransport servicepublic2023-07-27 11:40
Reporterschanzen Assigned Tostmr Due Date
PrioritynormalSeverityminorReproducibilityhave not tried
Status assignedResolutionopen 
Summary0007894: QUIC communicator TLS "channel binding"
DescriptionWe possibly want to bind the peer ID to the TLS certificate used in the handshake.
We can use the API of quiche:

void quiche_conn_peer_cert(const quiche_conn *conn, const uint8_t **out, size_t *out_len);

To retrieve the certificate of an incoming connection in DER format.
The peer should then, in addition to its Peer ID, send a signature using the peer private key over the DER certificate.

Once verified, the same can be done in the other direction.
TagsNo tags attached.

Relationships

related to 0007774 new QUIC communicator implementation 

Activities

schanzen

2023-07-27 11:40

administrator   ~0020384

Motivation: An adversary may establish a TLS-over-QUIC connection to our peer. In our current implementation, it may spoof any Peer ID making MitM trivial.
Binding the TLS certificate (maybe even better, the cryptographic session from quiche_conn_session), to the Peer ID, makes it a lot harder for an adversary to MitM such a connection.

Issue History

Date ModifiedUsernameFieldChange
2023-07-27 11:36schanzenNew Issue
2023-07-27 11:36schanzenStatusnew => assigned
2023-07-27 11:36schanzenAssigned To => stmr
2023-07-27 11:36schanzenRelationship addedrelated to 0007774
2023-07-27 11:40schanzenNote Added: 0020384