Probably not, as long as the client can properly respond to a changed server
key. For instance, in SSH2, the ssh client "remembers" the server's key on
the first connection. The client can be configured to abort server
connections when the key changes from a known value, or at the minimum the
client is alerted that the server key has changed and has the option to
abort, which they should unless they have received instructions otherwise
from the sys admin. This flouts the traditional MITM attack.

In SSL, this is prevented by peer certificate verification by the PKI
system.

Keary Suska
Esoteritech, Inc.
"Leveraging Open Source for a better Internet"

From: "Pascal Janse van Vuuren" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Date: Tue, 13 Nov 2001 08:36:47 +1300
To: <[EMAIL PROTECTED]>
Subject: Man in the middle attacks ?


Hi all,
 
I'm not a real crypto expert. But, I'm facing a potential (?) problem. I've
used OpenSSL to negotiate a secure control channel between two nodes of a
private network. The generated private keys are encrypted with a specific
password. Naturally, any secure system is only as strong as it's weakest
link, but yesterday one of our developers raised the following concern.
(I've included his email below)
 
> MITM is particularly an issue for a proxy product, particularly with a nat.
> One could write a proxy that provided this functionality!

> Consider this situation, a standard man in the middle:

> 1 Bob connects to the master.
> 2 Mary intercepts the connection, and makes her own connection to the master.

> Bob <-----> Mary <-----> Master

> Mary is acting like a transparent proxy, and Bob does not know.

> 3 Master send Bob the public key.
> 4 Mary grabs it
> 5 Mary creates her own key pair and send the public one to Bob.
> 6 Bob Encrypts a new "session key" with Marys public key, that he thinks is
> Masters key.
> 7 Mary decrypts the data, re-encrypts it with the Real Qbik master key and
> sends it.
> 8 Master is happy, and the session starts with the session key.

> Mary has all the pieces of the puzzle.

> We can easily overcome this by using an extra level of security: Encrypting
> with a shared secret the initial public key that is transmitted.
 
Our key pairs are pre-generated, along with the associated, self-signed
certifcates. They won't be used in any other instance, but for negotiating
this connection. After the control-channel has been negotiated, we do normal
user/node authentication, etc.
 
Is this a vulnerability, or something we should be concerned about ?
 
__________________________________________
 
Pascal
Qbik New Zealand
 



______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to