Part 4: Cryptographic Algorithms and Deploying IPsec
Although there is no IPsec without encryption and authentication algorithms, which algorithms you use do not matter all that much--as long as the ones you use are secure. The fact is, IPsec was designed to allow entities to negotiate the appropriate security mechanisms from whatever algorithms each supports, using ISAKMP-based key and SA management protocols.
There is currently some controversy over which algorithms should be used in IPsec, and which should be considered basic parts of any IPsec implementation. The Data Encryption Standard, or DES, has recently proven to be vulnerable to relatively inexpensive brute-force attacks; there is a significant movement to have it deprecated for use in IPsec. At the same time, the US National Institute of Standards and Technology (NIST) is in the process of selecting DES's successor algorithm, the Advanced Encryption Standard or AES.
Implementing and Deploying IPsec
The IPsec specification (found in RFC 2401) states there are several ways to implement IPsec in a host or in conjunction with a router or firewall:
Integrate IPsec into the native IP implementation. This approach is probably the best, but also the most difficult, as it requires rewriting the native IP implementation to include support for IPsec. "Bump-in-the-stack" (BITS). Implement IPsec "beneath" the IP stack and above the local network drivers. The IPsec implementation monitors IP traffic as it is sent or received over the local link, and IPsec functions are performed on the packets before passing them up or down the stack. This works reasonably well for individual hosts doing IPsec. "Bump-in-the-wire" (BITW). Implement IPsec in a hardware cryptographic processor. The crypto processor gets its own IP address; when used for individual hosts, the bump-in-the-wire acts much like a BITS implementation, but when the same processor provides IPsec services to a router or firewall, it must behave as a security gateway--meaning that it must do IPsec security protocols in tunnel mode.
Most organizations are likely to buy rather than build their IPsec implementation. VPN vendors usually claim to support IPsec, though some are more interoperable than others. Resources for checking interoperability include:
The IPsec Developers Forum
IPsec continues to evolve as research reveals new tools for security and new threats to security. To stay on top of the latest IETF standards developments, check:
The IPsec Working Group of the IETF.
There is no longer any question about whether or not the Internet will be important to your business; it already is. IPsec provides a framework within which you can use the Internet as your own, secure, virtual private network.
IPsec and related RFCs
- RFC 1320 The MD4 Message-Digest Algorithm
- RFC 1321 The MD5 Message-Digest Algorithm
- RFC 1828 IP Authentication using Keyed MD5
- RFC 1829 The ESP DES-CBC Transform
- RFC 2040 The RC5, RC5-CBC, RC5-CBC-Pad, and RC5-CTS Algorithms
- RFC 2085 HMAC-MD5 IP Authentication with Replay Prevention
- RFC 2104 HMAC: Keyed-Hashing for Message Authentication
- RFC 2144 The CAST-128 Encryption Algorithm
- RFC 2202 Test Cases for HMAC-MD5 and HMAC-SHA-1
- RFC 2268 A Description of the RC2(r) Encryption Algorithm
- RFC 2401 Security Architecture for the Internet Protocol
- RFC 2402 IP Authentication Header
- RFC 2403 The Use of HMAC-MD5-96 within ESP and AH
- RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH
- RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV
- RFC 2406 IP Encapsulating Security Payload (ESP)
- RFC 2407 The Internet IP Security Domain of Interpretation for ISAKMP
- RFC 2408 Internet Security Association and Key Management Protocol (ISAKMP)
- RFC 2409 The Internet Key Exchange (IKE)
- RFC 2410 The NULL Encryption Algorithm and Its Use With IPsec
- RFC 2411 IP Security Document Roadmap
- RFC 2412 The OAKLEY Key Determination Protocol
- RFC 2451 The ESP CBC-Mode Cipher Algorithms
- RFC 2631 Diffie-Hellman Key Agreement Method
Pete Loshin has written a dozen books on networking and the Internet, and is editor of the soon-to-be released "Big Book of IPsec RFCs: Internet Security Architecture" (Morgan Kaufmann 1999). Other books include "TCP/IP Clearly Explained" 3rd edition (Morgan Kaufmann 1999) and "Extranet Design and Implementation" (SYBEX 1998). You can reach him at firstname.lastname@example.org or http://www.loshin.com.