7 ms·
You are right in that SSH is TOFU because trust can be established beforehand, but you cannot establish trust based on whether or not a password or public key i
by iancarroll 9y ago
You are right in that SSH is TOFU because trust can be established beforehand, but you cannot establish trust based on whether or not a password or public key is accepted. You need to establish trust separately (with the server's public key), usually before you ever authenticate.
For passwords, it's obvious, because a malicious server can just save your username and password, but public keys are not immune either, as a bad actor can "pretend" to be your server and hope you enter an access key or something.
- icebraining 9y agoActually, you can, and just using passwords! Using a PAKE protocol, the client and the server can prove to each other that they know a certain password, without revealing it. And you can even tie that to TLS: https://en.wikipedia.org/wiki/TLS-SRP https://en.wikipedia.org/wiki/TLS-SRP
- iancarroll 9y agoYes, but SRP for SSH isn't specified or implemented into any SSH implementation that I know of. My comment was about SSH today, as apparently the GP is currently using this as a method to authenticate servers.
- icebraining 9y agoAh, fair enough. As a matter of curiosity, OpenSSH did start an implementation of J-PAKE, but it was abandoned before ever becoming stable :|