On Sat, Jan 7, 2012 at 4:12 PM, Manish Jain <invalid.poin...@gmail.com> wrote:
>
> Hello Michael/Anyone Else,
>
> Can you be kind enough to please point me to some place/URL where I can get
> a bit more information about how the key is negotiated upon ?
>
> I have gone through a a couple of write-ups on OpenSSL which throw light
> upon everything else except for this vital piece of information.

http://en.wikipedia.org/wiki/Transport_Layer_Security

>
>
> Thanks & Regards
> Manish Jain
>
>
>
> On 07-Jan-12 19:23, Michael S. Zick wrote:
>>
>> On Sat January 7 2012, Manish Jain wrote:
>>>
>>>
>>> Hi,
>>>
>>> I am new to OpenSSL and am trying to prepare some illustrative
>>> documentation on how it works.
>>>
>>> AFAIK, OpenSSL uses the concept of a pair of keys per host : one is a
>>> private key which is never communicated to any other host, and the other
>>> is a public key which is transmitted to the peer (the other party). The
>>> client uses the public key of the server (contained in the server's
>>> certificate) to encrypt its communication, which can only be decrypted
>>> with the server's private key. Please correct me if I am wrong.
>>>
>>
>> That is the essence of what happens and by that the client knows
>> that it is communicating with the server it intended to reach
>> (authentication).
>>
>>> Now the question is : when the server sends data to the client, what key
>>> does it use for encryption ?
>>>
>>
>> The general answer is: The client and server establish a shared key
>> for that propose early in the protocol.
>>
>>> Does the client communicate its public key
>>> to the server (at some initial stage) which the server uses for
>>> encryption ?
>>>
>>
>> If the communications set up between the two requires client
>> authentication.
>> In many cases the client remains a stranger to the server
>> (un-authenticated).
>>
>>> If yes, what if the client does not have a pair of
>>> public/private keys ?
>>>
>>
>> The usual case for public web browsing using https and some other
>> protocols.
>> The client remains a stranger to the server.
>>
>>> The question arises because it does not seem logical that the server
>>> would its private key for encrypting data to be sent to the client.
>>> Else, snoopers who might have picked the public key could decrypt the
>>> data too.
>>>
>>
>> There is an early stage in nearly all protocols, called: key agreement
>> where the client and server agree on a key without exchanging any of
>> the 'private' information that it is based on.
>>
>>> Any help on clearing up the above points would be greatly appreciated.
>>>
>>
>> My comments above are at a very general level.
>> If the process was as simple as my answers, OpenSSL would not be as
>> large a body of code as it is.  ;-)
>>
>> Mike
>>>
>>>
>>> Thank you&
>>> Regards
>>>
>>> Manish Jain
>>> invalid.poin...@gmail.com
>>>
>>> ______________________________________________________________________
>>> OpenSSL Project                                 http://www.openssl.org
>>> User Support Mailing List                    openssl-users@openssl.org
>>> Automated List Manager                           majord...@openssl.org
>>>
>>>
>>
>>
>> ______________________________________________________________________
>> OpenSSL Project                                 http://www.openssl.org
>> User Support Mailing List                    openssl-users@openssl.org
>> Automated List Manager                           majord...@openssl.org
>>
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-users@openssl.org
> Automated List Manager                           majord...@openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to