Really?

All I've exchanged with the server at this point is Client Hello, Server Hello, 
and Server Certificate. And, all I've exchanged with the client is to get it's 
Client Hello.

Are the Client Hello challenge bytes part of a cryptographically-related pair? 
(so that the other half is secret to the proxy)? I thought they were just used 
to obtain proof that the server owns the private key corresponding to its cert.

I figured, I could either pass on the Server Hello, and Server Certificate to 
the client, and drop out; or replay the Client Hello to the client side of the 
proxy, initialize the server side of the proxy with the Client Hello 
parameters, let the server side spit out an (identical) Client Hello (which is 
dropped), and replay the servers Server Hello and Server Certificate to the 
server side of the proxy. The client side of the proxy is configured with a 
resigned server cert (the client trusting the resigning CA).

Plaintext drops out on both sides of the proxied connections and is inspected 
as expected if the proxy does not drop out.



-----Original Message-----
From: [email protected] [mailto:[email protected]] 
On Behalf Of Kyle Hamilton
Sent: Friday, August 28, 2009 2:29 PM
To: [email protected]
Subject: Re: Can I set the client hello challenge externally?

Nope.  You also need to sync up the HMAC, and unless you can sync your
protocol state with the client that you're proxying, it's just not
possible (to the tune of about 2^71:1 against).

-Kyle H

On Fri, Aug 28, 2009 at 1:53 PM, Rene Hollan<[email protected]> wrote:
> I have an issue where I have an INTENTIONAL man in the middle: two SSL 
> stacks, and the certificate provided by the server RESIGNED by a local CA (on 
> the fly), WHICH THE CLIENT TRUSTS (there is no funny business going on: the 
> client is intentionally using a MITM to inspect traffic on its behalf).
>
> So far, I've just been setting up two SSL sessions: client to MITM, and MITM 
> to server. Obviously the Client Hello challenges (client to MITM and MITM to 
> server) will be different.
>
> Here's my issue, in some cases, after receiving the server certificate, I may 
> want to simply stitch the two ends together and drop out of the 
> communication. I figure I can do this if the MITM and client SSL state are 
> identical up to this point. That requires using the same SSL version, 
> certificate suite, session ID, and challenge in the two Client Hello messages.
>
> SSL version and certificate suite are easy to set. But, is there an openssl 
> call to EXPLICITLY set the challenge sequence? (I'm not worrying about 
> session resumption at this point.)
>
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [email protected]
Automated List Manager                           [email protected]

Reply via email to