From the author of

From the author of

IPSec Security Associations

The concept of a security association (SA) is fundamental to IPSec. An
SA is a relationship between two or more entities that describes how the
entities will use security services to communicate securely. IPSec provides many
options for performing network encryption and authentication. Each IPSec
connection can provide encryption, integrity, authenticity, or all three
services. When the security service is determined, the two IPSec peers must
determine exactly which algorithms to use (for example, DES or 3DES for
encryption; MD5 or SHA-1 for integrity). After deciding on the algorithms, the
two devices must share session keys. As you can see, there is quite a bit of
information to manage. The security association is the method that IPSec uses to
track all the particulars concerning a given IPSec communication session. You
will need to configure SA parameters and monitor SAs on Cisco routers and the
PIX Firewall.

NOTE

The nomenclature gets a little confusing at times, because SAs are used for
more than just IPSec. For example, IKE SAs describe the security parameters
between two IKE devices.

A separate pair of IPSec SAs is set up for AH and ESP transform. Each IPSec
peer agrees to set up SAs consisting of policy parameters to be used during the
IPSec session. The SAs are unidirectional for IPSec, so that peer 1 will offer
peer 2 a policy. If peer 2 accepts this policy, it will send that policy back to
peer 1. This establishes two one-way SAs between the peers. Two-way
communication consists of two SAs, one for each direction.

Each SA consists of values such as destination address, a security
parameter index (SPI), the IPSec transforms used for that session, security
keys, and additional attributes such as IPSec lifetime. The SAs in each peer
have unique SPI values that will be recorded in the security parameter database
on each device. The security parameter database is set up in dynamic random
access memory (DRAM), and contains parameter values for each SA. An example of
these values is shown in Figure 1.

An IPSec transform in Cisco IOS specifies either an AH or an ESP protocol and
its corresponding algorithms and mode (transport or tunnel). The Cisco Secure
VPN Client uses the concept of security policies to specify the same
parameters.

Figure 2 contains an actual example of SA parameters for two IPSec peers: R1
and R2. Remember that each IPSec SA is unidirectional, and the SA parameters
must match on each IPSec peer. The SA parameters are configured by the system
administrator and stored in the SA database.

The SAs between IPSec peers enable the configured IPSec policy.
When a system sends a packet that requires IPSec protection, it looks up the SA
in its database, applies the specified processing, and then inserts the SPI from
the SA into the IPSec header. When the IPSec peer receives the packet, it looks
up the SA in its database by destination address and SPI, and then processes the
packet as required. In summary, the SA is a statement of the negotiated security
policy between two devices. Figure 3 shows an example of differing policies
between peers.