|
|
CRYPTOGRAPHY
Cryptography is a collection of mathematical techniques used to
ensure confidentiality of information. The
process of scrambling a message with the help of a key is called
Encryption. The process of unscrambling a
message using an appropriate key is called decryption (see Fig.
1). Keys are numbers or characters that are
randomly generated with the help of some cryptographic
algorithm. Pretty Good Privacy (PGP) is the name
of a popular cryptographic system which is available for general
public use. There are two types of
cryptography - Symmetric and Asymmetric cryptography.
Fig. 1
Symmetric Cryptography
In symmetric cryptography same keys are used for encryption and
decryption.
Asymmetric or Public Key Cryptography
In this type a pair of public and private keys is used for
encryption and decryption (Fig. 2).
Fig. 2
Digital/electronic signature
An electronic signature means any letters, numbers, symbols,
images, characters or any combination thereof
in electronic form applied to an electronic document which can
ensure authenticity, integrity and nonrepudiation.
It uses public key cryptography (Fig. 3).
Authenticity
means that the message is from a
particular source/individual. Integrity means that the message
has not been altered during transmission.
101
Non-repudiation means that the execution of the digital
signatures cannot be denied by the one who is
alleged to be the
Fig. 3
Digital certificates
These are the certificates in electronic form which establish
whether or not a public key belongs to the
purported owner. A digital certificate at least comprises a
public key, certification information (name, ID
etc.) and electronic signatures of a certification authority.
Digital certificates are prepared according to a
generally accepted format called X.509 standard format.
Certification authority (CA)
A certification authority is defined to be a trusted
public/private body that attests the association of a
particular individual with his/her corresponding public key. A
CA signs digital certificates with its private
key. There are many CAs working in the field but the pioneering
or the most reputed CA is Verisign which
is based in America.
Certification authorities work in a hierarchical fashion. There
is the CA at the top called root CA (the most
reputed CA). It can issue certificates to CAs working below it
and those CAs’ can further issue certificates
to CAs working under them. In this fashion a hierarchy of CAs is
developed with each CA confirming the
public key of the CA below it through a digital certificate.
This concept is elaborated in Fig. 4 below.
Fig. 4
Assume that I want to send an encrypted or a confidential
message to Mr. A. For that I need to know his
public key. I can access a machine called key server and try to
find his public key against his particulars
(name, address, id etc). I may discover that a CA, CA1 below in
hierarchy has issued a digital certificate to
Mr. A against his particulars and has signed it with its private
key. If that CA holds a reputation that I can
trust it then I would rely upon that public key and use it for
encryption. Otherwise, I should go up the
hierarchy and see whether there is a certificate issued by CA2
certifying the public key of CA1. If that
certificate is found then ideally I should go further up the
hierarchy to check that the CA, above CA2 which
102
is root CA in this case has issued certificate to CA2 or not. In
this manner I can check the certificates upto
the root CA.
If all the certificates in the chain are available, then it
should provide me the maximum trust that this key
actually belongs to that particular user. However, if the chain
is broken or any certificate is missing in
between that might cause a dent in my trust on that public key.
I would then be hesitant to use that public
key appearing to be that of Mr. A. It is all a web or the model
of trust. The greater is the reputation of a CA
the more trust I shall have in the certificate issued by it
authenticating the public key of a user. The CAs at
the top level of hierarchy carry more trust. So, if Mr. A has a
certificate directly from the root CA, his public
key would be most trust worthy. In case he has a certificate
directly from Verisign, the most reputed CA in
the world then I should have maximum trust that this public key
must be that of Mr. A whom I know. I
should have trust that if Verisign has issued the certificate it
would have done detailed investigation before
issuing it to Mr. A. His name, address, identification would
have been properly verified or confirmed before
associating a public key with him through the certificate. If
you are obtaining a certificate from a top level
CA, which is more reputed, you have to pay more to that CA. So
Mr. A has to pay relatively more to the
root CA if he wants to obtain a certificate directly from the
root CA. There are different levels of
certificates attaching different levels of trust with them. We
may have class, A, B or C type certificates. A
Class A certificate would have more trust attached to it. Of
course, one has to pay relatively more to get a
class A certificate from a CA as compared to class B or C.
However, in class A, a greater level of
investigation would be involved before issuing a certificate to
someone.
You may have noticed that the role of a Certification Authority
is analogous or similar to a passport office.
The issuance of passport by the passport office attaches
credibility that this particular person is entitled to
travel. However, the passport is not issued by the office until
detailed enquiry/verification about the identity
of the person is made. Once a person holds the passport, that
confirms that this particular person whose,
name, address etc. is appearing on the passport is entitled to
travel. Similarly, if a digital certificate is issued
by a reputed CA that would confirm to other people that this
particular public key certified by the CA
belongs to this individual only.
There is a reason why we use the concept of CAs. We use it for
the verification of identify of a person. This
is probably the best solution envisaged for such verification,
though it may have certain loopholes in it. You
can realize that the best thing is that Mr. A personally hands
over his public key. On the other hand if I try
to trace his public key against his particulars (name, address,
and identification no.) on a key server there is a
possibility that I end up discovering that there are three,
four, five different public keys against the
particulars of same Mr. A. Assume that all of them have been
certified by different CAs. Now, I am
confused that which of these is genuine so that I can use it.
Indeed, only one of them is genuine and the rest
are fraudulent keys registered by fraudulent people using
particulars of Mr. A. In this situation I would use
and rely upon that public key of Mr. A that has been certified
by the most reputed CA among all the CAs. I
would treat others as fraudulent. The objective of getting
fraudulent keys is to intercept/receive the
messages intended to be sent to a particular receiver. So, if
someone intends to receive the messages
delivered for Mr. A, he may register the key against his
particulars and get a certificate in this behalf. Note
that CAs are supposed to issue the certificate after proper
enquiry, otherwise they may also be held liable
under different laws.
Despite the loophole that fraudulent keys can be obtained in
this set up, this system of certificates is
believed to be the best for confirming authenticity of a person.
Imagine that I want to send an encrypted
message to someone in Canada from Pakistan. It would not be
practical that first I contact him in Canada
and in some manner obtain his public key and then send him the
message using that. It would be more
convenient, practical and time saving that I go to a key server,
find his public key against his particulars and
check whether it is certified by a reputed CA. In other words if
the certificate of a well respected CA is there
to authenticate his public key then I can use that public key.
Behind this system of certificates and CAs, the
idea is to make internet communication global in nature such
that the authenticity of individuals is also
ensured at the same time.
|
|
|
|