Different authentication methods are used based on different authentication algorithms. These authentication methods can be combined or used separately, depending on the level of functionality and security needed. Among such methods are password authentication, public-key authentication, anonymous authentication, remote and certificate-based authentication. As example, we will discuss SSL and Kerberos authentication protocols.
4.1 Secure Sockets Layer (SSL) Authentication
Secure Sockets Layer (SSL) is an industry standard protocol designed by Netscape Communications Corporation for securing network connections. SSL provides authentication, encryption, and data integrity using public key infrastructure (PKI). SSL authentication, being cryptographic-based, uses a public/private key pair that must be generated before the process can begin. Communicating elements acquire verification certificates from a certificate authority (CA) (Kizza 2009).
These certificates are signed by calculating a checksum over the certificate and encrypting the checksum and other information using the private key of a signing certificate. User certificates can be created and signed by a signing certificate which can be used in the SSL protocol for authentication purposes. The following steps are needed for an SSL authentication (Kizza 2009):
- The user initiates a connection to the server by using SSL.
- SSL performs the handshake between client and server.
- If the handshake is successful, the server verifies that the user has the appropriate authorization to access the resource.