Computers & Security, Vol. 15, No. 8
also been considered. SSL tries to reduce the overheads of key distribution and management.
3.2.1.
SSL Overview
SSL 3s a record-based protocol, with a number of message types fur handshaking, alert messages, compression and so on. The central notion of SSL is a session, which consists of at least one transport-level ‘connection’ between the client and server. This session may authenticate a user or a number of connections used by that user, say during HTTP or FTP activity when the user has a number ofsirnultaneously open connections to the server. Each SSL session maintains state information about the agents using that session. This information includes a session identifier selected by the server, details of the compression method used [if any), the cypher systems used and the Message Authentication Code used for integrity checks - typically SHA or MD5. A master secret known only to the client and server is also stored. Clther information held in the session state block includes record sequence numbers and initialization vector-s for encryption algorithms.
3.2.2.
How SSL Works
When ,\ client uses SSL, it first contacts the server to estabhsh details such as the session ID, protocol version as well as the compression and encryption methods available. Two random v&es are also exchanged; one from the client and one from the server. The server sends its certificate to the client for verification. It may also request a certificate from the client. These certificates can be digitally signed ifrequired. The client picks a new session key and a random challenge. The session key is encrypted with the server’s public key and the result sent to the server along with the challenge in cleartext. The server decodes the session key using its private key and returns the challenge encrypted with this session key. Thus, the client knows that the challenge was received corre+:tly by the m-vex+. The handshake mechanism allows for the keys and algorithms used to be renegotiated during a session. The session state block can be kept between transport-connection opens and closes. This allows SSL to use the s3me information for repeated transport connect&+
say when the application is using a ~ server and there are lots ofTCP connections to transfer web pages.
3.2.3.
Problems with SSL
At present the protocol uses X.509 certificates. This presents a few problems for key distribution and certification because of the poor uptake of X.500 directory services. For SSL to become commonplace, a global key distribution scheme is needed, probably one based around the Domain Name Service. DNS is the obvious choice because it is the only global directory service that is widely used. The biggest impact ofSSL,will be in the use offirewalls. Once the packets are encrypted,a firewall cannot follow the traffic. Preventing undesirable or dangerous traffic such asJava will become impossible. Likewise, monitoring traffic for company confidential data or illegal material such as pornography will be futile.
3,2.4.
SSL Summary
There is a lot of truth in the saying “God is un the side of the big battalions”. With Netscape and Microsoft as well as the wider endorsement of the Internet community, it is hard to see how SSL can fail. It is also a cleverly designed protocol which delivers on its key goals: privacy and authenticity, The concerns over key rnan~gel~~~nt are reasonable, but it can be expected that the technical difficulties will be resolved soon. Some of the legal and political problems will be much harder to overcome, however. TCP port numbers have been set aside for SSL versiuns of the most heavily used Internet applications - electronic mail, netnews and the world-wide web. It is likely that experimental services based on SSL versions of these applications will start soon. SSL looks as if it will become the de f&to standard for securing the most heavily used Internet applications.
3.3. SSH The simplest and easiest way to improve authentication security is SSH - the secure shell f23j. This 1s a protocol which provides for secure file transfer, login, X-windows or any TCP connection oriented service over an untrusted network. It provides authentication, integrity
667