Inspecting HTTPS Traffic on Gateways by Kishin Fatnani
Blog: kishinf.blogspot.com Facebook: www.facebook.com/ksecure Twitter: www.twitter.com/ksecure
Page | 3
Key Exchange - to use symmetric encryption, the two parties, the sender and the receiver, need toshare a common secret key. Exchanging this secret key over an insecure network is a challenge assomeone acquiring the key can decipher the entire communication. For this reason, an asymmetricalgorithm is used for the key exchange which could be RSA or DH.A set of algorithms, one for each function (Confidentiality, Integrity, Authentication and Key exchange), isknown as a cipher suite. For e.g.
TLS_RSA_WITH_RC4_128_MD5TLS_RSA_WITH_RC4_128_SHATLS_DH_RSA_WITH_DES_CBC_SHATLS_DHE_DSS_WITH_DES_CBC_SHA
Given above are some of the cipher suites used in TLS. For instance the cipher suite named
TLS_DH_RSA_WITH_DES_CBC_SHA
specifies that TLS will be used with DH for key exchange, RSA forauthentication, DES_CBC for encryption and SHA for hashing.
SESSION ESTABLISHMENT
When an SSL session is initiated, the client sends its SSL version along with a list of supported cipher suites tothe server. The server chooses its preferred suite and responds back to the client. If the server does notsupport any of the suites proposed by the client, the session fails to establish.If authentication is required, the server presents its X.509 certificate to the client and it may also request theclient to send its certificate. This is not mandatory in SSL though it is very common that a server usually sendsits certificate while not requesting client's certificate for authenticating the client.
WHAT IS CHECKED IN THE CERTIFICATE?
Name
- When the server sends its certificate to the client, the client checks the domain name in thecertificate
Validity
- its date of creation and expiry are checked to see if today's date falls in between
Authority
- the most important is the authority that signed the certificate must be a trusted oneThere may be a chain of certificates including the server's certificate, then that of the authority who issued theserver's certificate followed by the issuer of the authority's certificate and so on till a root authority is reachedwhich has a self signed certificate. The client will check certificates up till it finds a trusted authority'scertificate.
WHICH AUTHORITIES DO WE TRUST?
Usually clients like web browsers come with a list of trusted authorities which can be seen in the options dialogin the browsers. Users may also add new authorities by adding their certificates.
CERTIFICATE STATUS
An authority may revoke a certificate before its expiry date for some reasons. A revoke certificate must not beaccepted by a client, hence a client needs to check the current status of the certificate by querying theCertificate Authority (CA). The CA may provide a list of revoked certificates called the CRL or it may provide anonline service, Online Certificate Status Protocol (OCSP), to check the status of the certificate. The URLs forquerying are provided in the certificate itself.
Add a Comment