Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the document in detail #2

Open
hedong0411 opened this issue Aug 4, 2022 · 2 comments
Open

Improve the document in detail #2

hedong0411 opened this issue Aug 4, 2022 · 2 comments

Comments

@hedong0411
Copy link

hedong0411 commented Aug 4, 2022

Dear teachers
I am a follower of this project. I have a problem recently. I read the chapter of Key Derivation , but I don't quite understand how to generate secret keys for a psp stream. Could you please tell me the detail of initial handshaking ?

@insanum
Copy link

insanum commented Sep 28, 2022

The shared key generation via the KDF is documented and straight forward. I think what you might be asking is how to get that shared secret key generated on the receiver back to the sender. Likely, this is a job for TLS borrowing its handshake. This is what QUIC does and implementations hook into the handshake function callback mechanisms found in TLS libraries.

@hlrichardson
Copy link
Collaborator

If we ignore the details of key exchange and just assume an out-of-band channel for communication between the sender and receiver, the steps would be:

  1. Sender requests a new derived key from receiver.
  2. Receiver picks a new SPI value and uses it to generate a derived key from the master key.
  3. Receiver sends SPI and derived key to sender, which the sender can use to produce PSP-encapsulated packets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants