Vous êtes sur la page 1sur 17

ITD-GD INDIA

SSL Certificate Concepts

Uday M R

09/02/17 2007 IBM Corporation


ITD-GD INDIA

Agenda
What is SSL?
What is SSL Certificate
Types of SSL Certificates
SSL Handshake
Keystores

2007 IBM Corporation


2 09/02/17
ITD-GD INDIA

Secure Sockets Layer

SSL is a secure communications protocol which can be placed between TCP/IP


and HTTP
The Secure Sockets Layer protects data transferred over http using encryption
enabled by a server's SSL Certificate. An SSL Certificate contains a public key
and a private key. A public key is used to encrypt information and a private key is
used to decipher it.
It intercepts web traffic and provides security between browser and server
Encryption is used to guarantee secure communication in an insecure
environment

2007 IBM Corporation


3 09/02/17
ITD-GD INDIA

The Certificate:

How do you know that you are dealing with the right person or rather the right
web site. Well, someone has taken great length to ensure that the web site
owners are who they claim to be. This someone, you have to implicitly trust: you
have his/her certificate loaded in your browser (a root Certificate). A certificate,
contains information about the owner of the certificate, like e-mail address,
owner's name, certificate usage, duration of validity, resource location or
Distinguished Name (DN) which includes the Common Name (CN) (web site
address or e-mail address depending of the usage) and the certificate ID of the
person who certifies (signs) this information. It contains also the public key and
finally a hash to ensure that the certificate has not been tampered with. As you
made the choice to trust the person who signs this certificate, therefore you also
trust this certificate. This is a certificate trust tree or certificate path. Usually your
browser or application has already loaded the root certificate of well known
Certification Authorities (CA) or root CA Certificates. The CA maintains a list of all
signed certificates as well as a list of revoked certificates. A certificate is insecure
until it is signed, as only a signed certificate cannot be modified. You can sign a
certificate using itself, it is called a self signed certificate. All root CA certificates
are self signed.

2007 IBM Corporation


4 09/02/17
ITD-GD INDIA

Certificate Authority (CA)

A CA issues digital certificates which contain a public key and the identity of the
owner. The CA also attests that the public key contained in the certificate belongs
to the person, organization, server or other entity noted in the certificate. A CA's
obligation in such schemes is to verify an applicant's credentials, so that users
and relying parties can trust the information in the CA's certificates.
If the user trusts the CA and can verify the CA's signature, then they can also
verify that a certain public key does indeed belong to whomever is identified in the
certificate. If the CA can be subverted, then the security of the entire system is
lost.

2007 IBM Corporation


5 09/02/17
ITD-GD INDIA

SSL HandShake
When connecting to a webserver over SSL, the visitor's browser decides whether or not to
trust the website's SSL certificate based on which Certification Authority has issued the
actual SSL certificate. To determine this, the browser looks at its list of trusted issuing
authorities - represented by a collection of Trusted Root CA certificates added into the
browser by the browser vendor (such as Microsoft and Netscape).

1. A browser requests a secure page (usually https://).


2. The web server sends its public key with its certificate.
3. The browser checks that the certificate was issued by a trusted party (usually a trusted root
CA), that the certificate is still valid and that the certificate is related to the site contacted.
4. The browser then uses the public key, to encrypt a random symmetric encryption key and
sends it to the server with the encrypted URL required as well as other encrypted http data.
5. The web server decrypts the symmetric encryption key using its private key and uses the
symmetric key to decrypt the URL and http data.
6. The web server sends back the requested html document and http data encrypted with the
symmetric key.
7. The browser decrypts the http data and html document using the symmetric key and
displays the information.

2007 IBM Corporation


6 09/02/17
ITD-GD INDIA

SSL Handshake diagram

2007 IBM Corporation


7 09/02/17
ITD-GD INDIA

Certificate Types

As the applications for SSL have started to become wider, three types of SSL
Certificate have emerged:
Domain validation SSL Certificates: where the Certification Authority checks the
right of the applicant to use a specific domain name
Organization validation SSL Certificates: where the Certification Authority checks
the right of the applicant to use a specific domain name PLUS it conducts some
vetting of the organization
Extended Validation SSL Certificates: where the Certification Authority checks the
right of the applicant to use a specific domain name PLUS it conducts a
THOROUGH vetting of the organization

2007 IBM Corporation


8 09/02/17
ITD-GD INDIA

WildCard Certificate

WildCard Certificate, your certificate is only good for the exact domain you list,
and additional subdomains will not be secured. For example, if you register
www.ibm.com, then subdomains like sales.ibm.com, or career.ibm.com, will NOT
be secure. If you want to secure a specific subdomain, enter the entire Fully
Qualified Domain Name as your Common Name.
If you are generating a CSR for a Wildcard Certificate your common name must
start with *. (for example: *.ibm.com). The wildcard character (*) will be able to
assume any name that does not have a "dot" character in it.

2007 IBM Corporation


9 09/02/17
ITD-GD INDIA

Intermediate Certificates

Before you install your issued SSL certificate you must install the intermediate
certificate on your Web server. An intermediate certificate is a subordinate
certificate issued by the trusted root specifically to issue end-entity server
certificates. The result is a chained chain that begins at the trusted root CA, runs
through the intermediate and ends with the SSL certificate issued to you. Such
certificates are called chained root certificates. The usage of an intermediate
certificate thus provides an added level of security as the CA does not need to
issue certificates directly from the CA root certificate.

2007 IBM Corporation


10 09/02/17
ITD-GD INDIA

Advantages of Intermediate Certificates

End entity certificates chained to an intermediate certificate represent the highest


possible security solution for Certification Authorities and therefore their
customers. There exists a very small possibility, consistent amongst all
certification authorities, that the certificate used to sign end entity certificates
could be compromised. The signing process itself mandates that the signing
certificate must be accessible in order to perform the signing operation. In the
case of an intermediate certificate, the corresponding root certificate is
secured/locked away, eliminating the possibility of it being compromised by daily
signing processes. End entity certificates directly signed by root certificates (i.e.
no intermediate protection) provide no recourse should the root certificate itself
become compromised. If an Intermediate were to be compromised then new
intermediates could be created and new end entity certificates could be issued.

2007 IBM Corporation


11 09/02/17
ITD-GD INDIA

Continued
Once a root itself is compromised there is no solution or replacement strategy. It
is therefore considered industry best practice to use intermediate certificates.
Intermediates also help by constraining the size of the Certificate Revocation
List (CRL) associated with a certificate product. By periodically rolling over the
intermediate CA that signs the end entity certificates CRLs are kept to a
minimum. Maintaining optimal CRL sizes ensures that customers have a
smooth and seamless experience visiting SSL-secured websites while full
security is maintained transparently to customers/end users.
All the popular web servers support chained certificates and have done so for
quite some time.

2007 IBM Corporation


12 09/02/17
ITD-GD INDIA

Digital Signing representation

2007 IBM Corporation


13 09/02/17
ITD-GD INDIA

The Hash and Signing

A hash is a number given by a hash function from a message. This is a one way
function, it means that it is impossible to get the original message knowing the
hash. However the hash will drastically change even for the slightest modification
in the message. It is therefore extremely difficult to modify a message while
keeping its original hash. It is also called a message digest. Hash functions are
used in password mechanisms, in certifying that applications are original (MD5
sum), and in general in ensuring that any message has not been tampered with.
Signing a message, means authentifying that you have yourself assured the
authenticity of the message. The message can be a text message, or someone
else's certificate. To sign a message, you create its hash, and then encrypt the
hash with your private key, you then add the encrypted hash and your signed
certificate with the message. The recipient will recreate the message hash,
decrypts the encrypted hash using your well known public key stored in your
signed certificate, check that both hash are equals and finally check the
certificate.

2007 IBM Corporation


14 09/02/17
ITD-GD INDIA

KeyStore

A key store stores the personal certificate, which represents the X509Certificate,
public key, and private key. This is the representation of the identity of this entity.
A key store contains the personal certificates that can be used as the identity for
the SSL end point referencing the key store. If more than one certificate is
present, a certificate alias on the SSL configuration specifies one of the personal
certificates. When an SSL connection is made (on either the client or the server
side), certificates may be exchanged. The personal certificate referenced by the
SSL configuration and stored in the key store is the certificate that will be used.
A keystore contains both public keys and private keys. Public keys are stored as
signer certificates, while private keys are stored as personal certificates.
A personal certificate represents the identity of the end point and contains a public
and private key for signing/encrypting data.

2007 IBM Corporation


15 09/02/17
ITD-GD INDIA

Trust Store

A trust store (in JSSE terms) stores the X509Certificate and public key only (also
referred to as a signer certificate). The trust store must contain all signer
certificates from all other entities that it is trusting to make connections to or with.
Without the signer of the remote entity, an SSLHandshakeException occurs with a
message stating "No trusted certificate found."

A signer certificate represents a certificate and public key associated with some
personal certificate. The purpose of the signer certificate is to verify personal
certificates. By accepting the signer certificate into an end point's trust store, you
are allowing the owner of the private key to establish connections with this end
point

2007 IBM Corporation


16 09/02/17
ITD-GD INDIA

2007 IBM Corporation


17 09/02/17

Vous aimerez peut-être aussi