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

V6 Cryptography - Perfect Forward Secrecy #2252

Closed
danielcuthbert opened this issue Nov 5, 2024 · 11 comments
Closed

V6 Cryptography - Perfect Forward Secrecy #2252

danielcuthbert opened this issue Nov 5, 2024 · 11 comments
Assignees
Labels
2) Awaiting response Awaiting a response from the original poster V6 _5.0 - prep This needs to be addressed to prepare 5.0

Comments

@danielcuthbert
Copy link
Collaborator

danielcuthbert commented Nov 5, 2024

Screenshot 2024-11-05 at 14 20 33
Scheme Domain Parameters
RSA k >= 2048
Diffie-Hellman (DH) (L, N) parameters: L >= 2048 & N >= 224
Elliptic Curve Diffie-Hellman (ECDH) f >= 224

@danielcuthbert danielcuthbert added _5.0 - prep This needs to be addressed to prepare 5.0 V6 labels Nov 5, 2024
@danielcuthbert danielcuthbert self-assigned this Nov 5, 2024
@danielcuthbert danielcuthbert added the 1) Discussion ongoing Issue is opened and assigned but no clear proposal yet label Nov 5, 2024
@danielcuthbert
Copy link
Collaborator Author

An interesting comment, thank you. Firstly I guess we need context here. Both RSA and DHE do support PFS and we need transient key pairs (temp keys) in order to encrypt $stuff$ for that conversation.

We have specified that both RSA and DHE need k >= 2048, which is the minimum amount required to suppport PFS (same goes for DH). So yes, they do support it in the above

However, there is a computational impact say on TLS of using PFS, and there is the issue of backwards compatability with older clients.

Im closing this for now but by all means open a new issue if this isn't clear

@randomstuff
Copy link
Contributor

randomstuff commented Nov 6, 2024

We have specified that both RSA and DHE need k >= 2048, which is the minimum amount required to suppport PFS (same goes for DH). So yes, they do support it in the above

I believe we are talking about the RSA transport scheme here (i.e. sending a shared secret to the peer encrypted using the peer's RSA public key) which do not provide forward secrecy with respect to the peer's RSA private key, right?

@elarlang elarlang reopened this Nov 11, 2024
@unprovable
Copy link

unprovable commented Nov 11, 2024

It's really unclear which kind of forward secrecy you're referring to. PFS uses negotiated long term keys followed by per-message session keys derived sequentially from messages that have been sent so far (hence the 'forward secrecy' name). This makes sense when you talk about TLS or Signal protocol, but not generally for KEX. If you can elaborate your argument, @randomstuff, this would make it easier to answer. M.

@randomstuff
Copy link
Contributor

AFAIU, forward secrecy means that if the long term secrets used in the key exchange protocol are disclosed, previous sessions are not compromised (previous session/transient keys cannot be recovered).

I understand that the RSA KEX discussed here is the "RSA transport" scheme where peer A uses RSA to send an some encrypted session key material to the peer B (using peer B's public key). Is this what we are talking about here?

If this is what we are talking about, do we agree that this scheme does not provide forward secrecy (because if B's public key is disclosed the session key material can be decrypted)? If so, are there any reasons for recommending it (outside of compatibility)?

@unprovable
Copy link

unprovable commented Nov 11, 2024 via email

@randomstuff
Copy link
Contributor

Ephemeral Diffie-Hellman?

@unprovable
Copy link

unprovable commented Nov 11, 2024 via email

@randomstuff
Copy link
Contributor

I did not intent my question to be about TLS ciphersuites.

I agree that you can build some key exchange scheme on top of RSA which features forward secrecy. From a theoretical standpoint, my argument is therefore moot. However, is such a scheme ever used anywhere in practice?

In practice, with the text as it is, isn't there t a risk that we may encourage using a non-forward-secure scheme where a we send a session secret encrypted with a static RSA key?

@unprovable
Copy link

unprovable commented Nov 11, 2024 via email

@tghosth
Copy link
Collaborator

tghosth commented Nov 20, 2024

@randomstuff is there any further action here?

@tghosth tghosth added 2) Awaiting response Awaiting a response from the original poster and removed 1) Discussion ongoing Issue is opened and assigned but no clear proposal yet labels Nov 20, 2024
@randomstuff
Copy link
Contributor

randomstuff commented Nov 20, 2024

We can close this as duplicate of #2215.

@tghosth tghosth closed this as not planned Won't fix, can't repro, duplicate, stale Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2) Awaiting response Awaiting a response from the original poster V6 _5.0 - prep This needs to be addressed to prepare 5.0
Projects
None yet
Development

No branches or pull requests

5 participants