|Previous: Understanding the Server Directory||Next: Replication||Table of Contents|
The Handle System makes extensive use of encryption and digital signatures. The current distribution of the handle server and JavaTM client library use the Sun JavaTM Cryptography Extension and Provider for low-level cryptography routines. This library comes standard with JavaTM version 1.4, and is included with the Handle System distribution for compatibility with older versions of JavaTM.
As described in Overview: Authentication, the Handle System provides two forms of authentication: public key and secret key.
In the current implementation, public key authentication is performed using the DSA algorithm. The key length is variable from 512 to 1024 bits, and can be chosen by the user when generating keys. The Handle Server distribution defaults to a 1024 bit key. Public key authentication requires two keys: a public key and a private key. The public key is stored in a handle. It may be publicly readable as it cannot be compromised without the private key. The private key should be stored on the computer with the handle client that will be authenticated. To prevent unauthorized use of a private key it can be encrypted using a symmetric algorithm. The current implementation of the Handle System uses 56 bit DES for this purpose.
Secret key authentication relies on a secure hashing algorithm, chosen by the client being authenticated. Currently, this algorithm can be either MD5 or SHA-1. A secret key consist of a single byte string of size ranging from 0 to 2147483648. This byte string is stored plain text in a handle. It is highly advisable to restrict read permissions on the handle to ensure the secrecy of the secret key.
Clients can request that a server cryptographically certify its messages with its public key. This certification can be used to verify the authenticity of handle server transmissions. The current implementation of the Handle System uses DSA for this purpose. The DSA public key for a handle server is stored in its site information record.
Establishing sessions with a handle server offers additional security functionality. For background on handle server sessions, see Overview: Sessions.
The Handle System allows for encryption of communication after establishing a session with a handle server. This is equivalent to SSL or TLS as used in protocols such as HTTPS, as it affords protection from eavesdropping and man-in-the-middle attacks. The current implementation of the Handle System encrypts session communications using 56-bit DES.
For instructions on enabling session encryption see 3. Using the Handle Administration Tool and 4. Batch Operation.
More information on the algorithms mentioned above can be found at the locations below.
|Previous: Security||Next: Replication||Table of Contents|