X509 Certificate - UNICORE - Lecture 2
X509 Certificate - UNICORE - Lecture 2
Most security mechanisms on a UNICORE Grid are based on X.509 certificates. For each
X.509 certificate, there is a pair of cryptographic keys, that fit each other. These keys can be
used to encrypt and decrypt messages: whatever has been encrypted with one of the keys can
only be decrypted with the other key - but the keys are not equal. This is why this type of
encryption is called ‘asymmetric’. Such an asymmetric pair of keys can be used in a public key
infrastructure (PKI): The trick is that one of the two keys, called the ‘public’ key is published
and therefore open to everyone, whereas the other key - called the ‘private’ key - is kept secret
by the owner of the key pair. In order to be able to keep the private key secret, it must be very
difficult to reconstruct or guess the private key by looking at the public key.
Everyone can use the public key to encrypt messages that only the owner of the private key
can read. And, equally important, the owner of the private key can prove that he owns the
private key by encrypting a meaningful message with it: everyone can use the public key to
decrypt the message and make sure that it is meaningful, but only the owner of the private key
can produce the encrypted message. Asymmetric encryption can also be used for digitally
signing documents. With a digital signature, a person can prove that he really is the author of
a document, or that he approves the content of a document. The most common way of creating
digital signatures comprises two steps: first, a checksum for the document to be signed is
computed. The checksum is a relatively short sequence of characters (compared to the
document). It is computed by applying a well-known checksum function that always generates
the same checksum as long as the content of the document is unchanged. Second, the checksum
is encrypted with a private key. The encrypted checksum is published together with the
document and forms the digital signature. A reader of the document can use it for checking
whether the document was changed. To this end, he applies the same checksum function to the
document and compares the result to the checksum that he obtains by decrypting the digital
signature (using the public key).
In order to obtain an X.509 certificate from a key pair, the public key is stored in a document,
together with some information about the certificate’s owner-to-be (e.g. name, email address,
organisation). This document is then digitally signed with the private key of a certificate
authority (CA), which means that the CA approves the creation of the certificate. This process
is called ‘issuing a certificate’. Everyone can use the CA’s public key to check, whether the
certificate has been signed by the CA.