WTLS is the Wireless Transport Layer
Security protocol. As can be ascertained by the name, it
operates at, or more correctly just above, the transport layer in
the OSI protocol stack. It is based on transport layer security
(TLS), which is the de facto security implementation on the
Internet. It works by establishing a session between a client and a
server (which in the case of WTLS is the WAP gateway), during which
it negotiates security parameters to be used to protect the
session. These include the encryption protocols to be used,
signature algorithms, public keys, pre-master secrets, or the
exchange of certificates, depending on the capabilities of both the
client and the server and the required level of security. The
process of establishing a session is called the handshake.
Once a session has been established all communications between the
mobile device and the WAP gateway are encrypted, and therefore
should be unintelligible if they are intercepted.
WTLS includes support for both a full handshake, with
negotiation of all security parameters, and for a 'lightweight'
handshake in which the security parameters of another session are
reused. Support is also provided for session suspend and resume,
which is useful in a wireless environment where reception quality
is not always that good and where connections can easily be lost.
The sessions can continue to exist despite a terminated connection
and can be resumed on reconnection. Using this facility, it is
possible to have sessions that last for days at a time.
The advantages of sessions that can continue to exist for days
at a time must be weighed against the security implications of this
feature. The longer the session remains valid for, the longer the
secret keys remain valid for, and, presumably, the greater the
number of messages exchanged that are encrypted using this key.
This all provides material to someone wanting to crack the security
protecting the session and compromise the messages. To guard
against this, WTLS allows keys to be renegotiated periodically
during a session. Renegotiating keys is not as computationally
expensive as establishing the keys in the first place, so this is
still more efficient that tearing down and re-establishing the
session.
Another advantage of WTLS over TLS is that it operates over UDP.
TLS requires a reliable transport protocol, in particular TCP, so
it cannot be used over UDP. WTLS addresses this shortcoming, and
also functions over WDP in the absence of UDP.
Certificates, for all of their usefulness, were not really
designed with mobile devices in mind. WAP defines a new format of
certificate that is optimised for storage on mobile devices and for
transmission over constrained networks. These certificates still
provide all of the functionality and security of their more
heavyweight counterparts, but rely on the server to perform more of
the processing under some circumstances.
WTLS therefore provides a comprehensive, optimised solution for
both client and server based authentication using certificates,
secure exchange of symmetric keys, anonymous and authenticated
encryption of data, and support for digital signing of data.
There are three classes of WTLS implementation defined in the
WAP specification. They are:
q Class 1: Anonymous key
exchange with no authentication.
q Class 2: Certificate based
server authentication. Server key is anonymous or authenticated,
client key is anonymous.
q Class 3: Certificate based
client and server authentication. Both client and server keys are
anonymous or authenticated.