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

Wire format of HPKE context #161

Closed
cjpatton opened this issue Sep 25, 2020 · 3 comments
Closed

Wire format of HPKE context #161

cjpatton opened this issue Sep 25, 2020 · 3 comments

Comments

@cjpatton
Copy link
Contributor

The draft does not specify how the HPKE context (cipher suite, exporter secret, key, nonce, sequence number, etc.) is represented on the wire. There are use cases for HPKE in which it is desirable to transmit the context over a secure channel. For example, Cloudflare's prototype implementation of the Encrypted ClientHello (ECH) extension for TLS will offload KEM operations to an RPC server (cloudflare/go#30).

I'm not requesting a change to the spec at this point ... I just wanted to bring up the use case and ask what people think. I'm not sure, but it might make sense to standardize the encoding. One proposal is here: https://github.com/cisco/go-hpke/blob/master/hpke.go#L197. In addition to the above parameters, this format encodes the "role" of the context's user, i.e., whether they are the sender or receiver.

@Lekensteyn
Copy link

There are many serialization formats possible (protobuf, DER, JSON, TLS syntax, ...). The "Context" type seems to refer to an implementation detail rather than an interchange format. If that is the case, then I don't think that a specific format has to be dicatated.

@cjpatton
Copy link
Contributor Author

I'm fine with that resolution.

@chris-wood
Copy link
Collaborator

I'm fine with that resolution, too. Given this hasn't been requested until now, and how far along we are in the process, I'm closing this.

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