How does SFTP establish a server’s and a client’s bona fides?

552 views

If a server proves its bona fides by presenting its public key, and its public key is public, what prevents a bad actor from getting the public key and pretending to be the original? Is the server’s public key tied to a particular IP address or domain so that the client should check that? Or is a third-party certificate required to prove the server’s bona fides? How about the client’s public key? What prevents a bad actor from pretending to be the owner of that public key?

In: Technology

6 Answers

Anonymous 0 Comments

This is indeed a security issue, which is why we don’t just take “official” public keys at face value. SSL certificates are our solution. You go to a trusted third party and say “Hello. I am the owner of Reddit.com. I intend to host my website at these IP ranges. This is the public key I intend to use. Can I have a certificate for this please?”.

The SSL authority verifies your claim and approves the certificate.

When a client goes to you in the future and you let them have your public key you also go “BTW, this is my SSL certificate proving this public key belongs to me. It has been signed by that person over there”. Either you trust that person and go “Oh, all right! 😀 ” or you don’t, in which case you go to that person and say “I don’t know you. Who are you?”, and the SSL goes “I am Bob inc. Big Company LLC can vouch for me!”. Either you trust Big Company LLC or not, and the cycle repeats. Eventually you will reach someone you trust because your browser / device came with a predefined list of the biggest SSL providers that it will trust by default.

The client’s public key is less important because it will be included in the first request to the server which is encrypted and a shared secret encryption key is the first thing a TSL handshake does.

You are viewing 1 out of 6 answers, click here to view all answers.