6 ms·
> if any part of your security architecture relies on a public key being private then it would seem flawed What about your privacy architecture? Can the publi
by scintill76 11y ago
> if any part of your security architecture relies on a public key being private then it would seem flawed
What about your privacy architecture? Can the public key be derived from a packet capture of SSH? My quick session with Wireshark and layman's protocol/crypto understanding says probably not. But it seems possible that while the crypto may be designed such that the public key may be public without endangering the cryptography, there are still privacy reasons (being able to identify people by unique public key) to not share it any more widely than it needs to be.
For example, it seems like I have read that PGP public keys can be read in the clear, which allows metadata graphs to be built by passive interceptors. Maybe SSH doesn't have that issue though.
- the8472 11y agoAssuming for a moment that this problem exists: That wouldn't change anything about my argument. If privacy is part of the threat model then privacy shouldn't be conditional on the public key being kept secret. By publishing the key you expose the flaw in that setup.
- scintill76 11y agoFWIW I'm surprised you got downvoted, and it wasn't me. Is privacy part of the threat model? The closest thing I could find is http://iacr.org/archive/asiacrypt2001/22480568.pdf http://iacr.org/archive/asiacrypt2001/22480568.pdf , "Key-Privacy in Public-Key Encryption" (2001), where they conclude most RSA encryption schemes are not anonymous. If that applies to SSH, I see no problem in asking for "public key secrecy" as a requirement/option in a layer above the crypto.
- drewbug 11y agoActually, it looks like the public key can be derived from a packet capture of SSH. See https://tools.ietf.org/html/rfc4252#section-7 https://tools.ietf.org/html/rfc4252#section-7
- scintill76 11y agoI think that packet is encrypted, though -- at least, it looks like that in Wireshark to me. I see key exchange packets and the following ones seem to become encrypted, before I have given ssh-agent the approval to use my key. I am mostly going off of what Wireshark's protocol decoders tell me, though, so I could be wrong.
- drewbug 11y agoYou're right, I was wrong. Sorry!
- the8472 11y agoAIUI A SSH session first performs a DH key exchange and authenticates the server. Only over that already-encrypted session will the client offer its public keys. That means the public key will not be leaked to outside observers. Combine with server-specific keys to avoid potential "try logging into my server" social engineering. This means only the server will ever learn your public key, but it has to know that already anyway. So publishing your public key does not leak any privacy bits.
- drewbug 11y agoYou're right, my bad.