How SSL works
SSL relies on the server's public and private keys, in addition to a public key certificate that binds the server's identity to its public key.
- When a client connects to a server, the client authenticates the server with the public key certificate.
- The client then generates a random number, encrypts the number with the server's public key, and sends the encrypted message back to the server.
- The server decrypts the random number with its private key.
- From the random number, both the server and client create the session keys used for encrypting and decrypting subsequent information.
The public key certificate is typically signed by a certificate authority. Certificate authorities, such as VeriSign and Thawte, are organizations that issue, authenticate, and manage security credentials contained in the public key certificates. Essentially, the certificate authority confirms the identity of the server. The certificate authority usually charges a monetary fee for a certificate, but self-signed certificates can also be generated.