Public Key Encryption
Key Verification Techniques
Once a message is received with a public key, it is necessary to verify the
source of the key to ensure that the person sending it is who you expect it to
be. This can be performed using certificates and the trust network.
4Certificates
are a digital assurance that a public key belongs to the person who claims to
own it. As well as containing your public key, it will also hold the issuer of
the certificate and its validity period which are provided by a Certification
Authority (CA), the most well known being Verisign.
Revocation lists
A security check built into certificates is the revocation list, this is a list
constantly updated by the CA of the certificate which the recipient can
reference to make sure that the certificate has not been revoked. Revocation
occurs when a CA loses trust that the certificate belongs to the
person/business who claim to own it. This can be triggered by the person whose
certificate it is reporting it stolen and therefore raising doubts about the
validity of it any more thus stopping the person who stole the key being able
to fake being the person who the certificate really belongs to.
Trust Network
Although you could just believe that every certificate you receive comes
from the source that you believe sent it, this would leave a large flaw
in the system. The fact that the certificate could be intercepted and
changed if sent by email poses an obvious threat to the security of the
proposes system. Therefore unless you know the person with the certificate
in real life and they transfer it to you, for example by floppy disk,
you can never be completely sure that it is the correct one. To combat
this, the trust network was established. The trust network works by a
method of “transferring trust”, for example Bob gets a certificate from
an authority, his certificate and public key are stored by that CA. If
Bob would like to send a message to Alice he can encrypt it with his
private key and Alice can then decode it with a copy of Bob’s public
key downloaded from that CA.
If Alice knows Bob well enough, she can check his key is valid e.g. by
ringing him up and asking. She can then vouch for his key by signing it
with hers. If another friend Charlie knows and trusts Alice and verifies
her key then she can sign Alice’s key with hers and so a network it
established. As Charlie trusts Alice and Alice trusts Bob, Charlie
can infer that Bob is trustworthy and believe that the key stored by
the CA is indeed his and not that of an impostor. The more people who
sign a key, the more certain others can be that it is trustworthy.
Example of using a certificate and signature
A message is written, and when encrypted
with your private key, a digital signature is produced. This is then sent. When
it is received, the recipient uses your public key to decrypt the message. After
checking the certificate with a CA to verify the validity of the key, and
checking the certificate hasn’t been revoked, the receiver can be sure the
message has been sent by you and not been tampered with since it was sent.
If for example the transfer had
been intercepted and altered, the public key would not decode the message
(there would be an insignificantly low chance that the changed message somehow
matched what the public key would have produced) and therefore the message can
be re-requested and hopefully arrive without being tampered with.
|