RE: Need some education: Man-in-the-Middle Attacks



This is true and why fingerprinting is useful.

For the first connection attempt, Bob needs some way of verifying that
the public key being presented is the same as Alice's public key. The
way to do this is usually an out-of-band exchange where Bob calls Alice
or meets with her and manually verifies that the fingerprint of her key
matches the fingerprint of the key he's being presented.

The purpose of a fingerprint is for this human-verification process,
since it's easier to read than the full public key.

This is the same reason SSL works. Most browser come with certificates
preinstalled which is why you can verify that Verisign or some other
authority has issued a web-site's ssl cert. Without the certs being
preinstalled in the browser, you'd initially have to verify the
authenticity of the certs for each website or signing authority, the way
you (should) do for self-signed certs.


-----Original Message-----
From: Christ, Bryan [mailto:bryan.christ@xxxxxx]
Sent: Wednesday, August 30, 2006 4:05 PM
To: Mark Senior
Cc: secureshell@xxxxxxxxxxxxxxxxx
Subject: Re: Need some education: Man-in-the-Middle Attacks

"Only if Eve gets in the way of the very first connection attempt, can
he pass her own public key off as Alice's, without Bob detecting it."

This is exactly my concern. Isn't that scary?

On Wed, 2006-08-30 at 12:52 -0600, Mark Senior wrote:
On 8/29/06, Christ, Bryan wrote:
All,

Please pardon my naivete.

I was looking at the diagram on the URL listed below and
contemplating
how host fingerprinting prevents MITM attacks.



http://www.vandyke.com/solutions/ssh_overview/ssh_overview_threats.html

So my question is this... Given the illustration in the URL above,
what
prevents Eve from *first* contacting Alice to obtain a fingerprint
which
then gets passed to Bob on the first connection attempt?


The server passes the client its public key; the client generates a
fingerprint of this public key, and verifies that it matches a known
one from previous connections.

Eve can pass Alice's public key to Bob, but she doesn't possess
Alice's private key, so she has no way to interfere further with the
communications (beyond tampering at a network level - introducing
delay, dropping the connection, etc.)

Only if Eve gets in the way of the very first connection attempt, can
she pass her own public key off as Alice's, without Bob detecting it.
On the first connection, he'd have to either trust what he sees, or
verify the fingerprint offline somehow. On subsequent connections,
the mismatch would be obvious.



Relevant Pages

  • Re: Need some education: Man-in-the-Middle Attacks
    ... That is why CAs (certification authorities) exists! ... fingerprint of this public key, and verifies that it matches a known ... Only if Eve gets in the way of the very first connection attempt, ...
    (SSH)
  • Re: Need some education: Man-in-the-Middle Attacks
    ... fingerprint of this public key, and verifies that it matches a known ... Eve can pass Alice's public key to Bob, ... Only if Eve gets in the way of the very first connection attempt, ...
    (SSH)
  • Re: Encryption question
    ... The idea behind it is that Alice will give Bob her public key in one method. ... She will then look at the fingerprint of the key, ...
    (Security-Basics)
  • Re: Need some education: Man-in-the-Middle Attacks
    ... Eve could pass on the fingerprint, but she would not have the private key, so data encrypted using the public key associated with that fingerprint could not be decrypted by Eve. ... then gets passed to Bob on the first connection attempt? ...
    (SSH)
  • Re: GPG
    ... In a practical sense, only Bob may decrypt ... Alice on the way to Bob and prevent it from reaching Bob. ... Alice may encrypt the message with Bob's public key, ... the others) before issuing their certificates. ...
    (comp.os.linux.security)