Cryptography Reference
In-Depth Information
and IDEA. The MAC algorithm is typically HMAC based on SHA-1 or MD5. To set
up the secure channel, the client and the server derive six keys from K and H .Keys
are generated as Gen ( K
session id) where session id is an identifier for the
session and string is a constant which depends on which of the six keys is generated.
||
H
||
string
||
Initial value IV from the client to the server: string
= A .
Initial value IV from the server to the client: string
= B .
Encryption key from the client to the server: string
= C .
Encryption key from the server to the client: string
D .
Authentication key from the client to the server: string
=
=
E .
Authentication key from the server to the client: string
=
F .
The generator is defined by taking the first bits of the sequence k 1 ||
k 2 || ...
where
k 1 =
hash( K
||
H
||
string
||
session id)
and
k i + 1 =
hash( K
||
H
||
k 1 ||ยทยทยท||
k i )
.
12.3
SSL: Secure Socket Layer
SSL is a famous communication protocol which was first developed by Netscape. It
is used in the Internet world. The interface is fairly similar to the TCP/IP one in the
sense that applications which need to communicate securely open and close sockets in
a very similar way so that it is mostly transparent. The most popular versions are SSL
version 3.0 and its successor TLS version 1.0 which is the Internet standard RFC 2246
(Ref. [58]). Although SSL is a more popular name, we summarize TLS 1.0 here.
SSL/TLS is typically used by Internet browsers in order to communicate securely with
HTTP (Hypertext Transfer Protocol) servers. It can also be used by other applications
like an e-mail manager willing to connect to a mailbox server. SSL/TLS is designed to
be universal and does not rely on a specific cryptographic algorithm choice. The choice
of the algorithms, called cipher suite , is negotiated between the client and the server at
the beginning of a session. We present here a simplified version of SSL.
There are actually two layers of protocols. The lowest is the SSL Record Protocol
layer which is on top of TCP and below other high-level communication protocols like
HTTP. The other is the SSL Handshake Protocol which is on the same level as the
HTTP protocol. The SSL Handshake Protocol is used in order to initiate a session with
all the expensive cryptographic protocols such as asymmetric authentication and key
agreement. A session can launch several connections which are handled by the SSL
Record Protocol. This is really the secure channel which uses only symmetric (i.e. fast)
cryptography. As we have seen in the previous chapters, such a channel is possible as
long as the two parties previously exchange a symmetric key in an authenticated and
confidential way.
Search WWH ::




Custom Search