Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IPsec
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Authentication Header=== [[File:Ipsec-ah.svg|thumb|Usage of IPsec Authentication Header format in Tunnel and Transport modes]] The Security Authentication Header (AH) was developed at the [[US Naval Research Laboratory]] in the early 1990s and is derived in part from previous IETF standards' work for authentication of the [[Simple Network Management Protocol]] (SNMP) version 2. Authentication Header (AH) is a member of the IPsec protocol suite. AH ensures connectionless [[Data integrity|integrity]] by using a [[hash function]] and a secret shared key in the AH algorithm. AH also guarantees the data origin by [[authenticating]] IP [[Packet (information technology)|packet]]s. Optionally a sequence number can protect the IPsec packet's contents against [[replay attack]]s,<ref>{{Cite book|title= Carrier-Scale IP Networks: Designing and Operating Internet Networks|author =Peter Willis |publisher= IET|year=2001 |isbn= 9780852969823|page=270}}</ref>{{Ref RFC|4949}} using the [[sliding window]] technique and discarding old packets. * In [[IPv4]], AH prevents option-insertion attacks. In [[IPv6]], AH protects both against header insertion attacks and option insertion attacks. * In [[IPv4]], the AH protects the IP payload and all header fields of an [[IP datagram]] except for mutable fields (i.e. those that might be altered in transit), and also IP options such as the IP Security Option.{{Ref RFC|1108}} Mutable (and therefore unauthenticated) IPv4 header fields are [[Differentiated services code point|DSCP]]/[[Type of service|ToS]], [[Explicit Congestion Notification|ECN]], Flags, [[IP fragmentation|Fragment]] [[Offset (computer science)|Offset]], [[Time to live|TTL]] and [[IPv4 header checksum|Header Checksum]].{{Ref RFC|4302}} * In [[IPv6]], the AH protects most of the IPv6 base header, AH itself, non-mutable extension headers after the AH, and the IP payload. Protection for the IPv6 header excludes the mutable fields: [[Differentiated services code point|DSCP]], [[Explicit Congestion Notification|ECN]], Flow Label, and Hop Limit.{{Ref RFC|4302}} AH operates directly on top of IP, using [[List of IP protocol numbers|IP protocol number {{Mono|51}}]].<ref name="iana">{{cite web|url=https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml |title=Protocol Numbers |date=2010-05-27 |archive-url=https://web.archive.org/web/20100529122930/https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml |archive-date=2010-05-29 |work=IANA |url-status=dead }}</ref> The following AH packet diagram shows how an AH packet is constructed and interpreted:{{Ref RFC|4302}} {{APHD|start|title=Authentication Header format}} {{APHD|0|bits1=8|field1=Next Header|bits2=8|field2=Payload Len|bits3=16|field3=Reserved}} {{APHD|4|bits1=32|field1=Security Parameters Index}} {{APHD|8|bits1=32|field1=Sequence Number}} {{APHD|999|hoctets=12|hbits=96|bits1=64|field1=Integrity Check Value}} {{APHD|end}} ;{{APHD|def|name=Next Header|length=8 bits|text=Type of the next header, indicating what upper-layer protocol was protected. The value is taken from the [[list of IP protocol numbers]].}} ;{{APHD|def|name=Payload Len|length=8 bits|text=The length of this ''Authentication Header'' in 4-octet units, minus 2. For example, an AH value of 4 equals 3Γ(32-bit fixed-length AH fields) + 3Γ(32-bit ICV fields) β 2 and thus an AH value of 4 means 24 octets. Although the size is measured in 4-octet units, the length of this header needs to be a multiple of 8 octets if carried in an IPv6 packet. This restriction does not apply to an ''Authentication Header'' carried in an IPv4 packet.}} ;{{APHD|def|name=Reserved|length=16 bits|text=Reserved for future use (all zeroes until then).}} ;{{APHD|def|name=Security Parameters Index|length=32 bits|text=Arbitrary value which is used (together with the destination IP address) to identify the [[security association]] of the receiving party.}} ;{{APHD|def|name=<span id="sequence number">Sequence Number</span>|length=32 bits|text=A [[monotonic]] strictly increasing sequence number (incremented by 1 for every packet sent) to prevent [[replay attack]]s. When replay detection is enabled, sequence numbers are never reused, because a new security association must be renegotiated before an attempt to increment the sequence number beyond its maximum value.{{Ref RFC|4302}}}} ;{{APHD|def|name=Integrity Check Value|length=multiple of 32 bits|text=Variable length check value. It may contain padding to align the field to an 8-octet boundary for [[IPv6]], or a 4-octet boundary for [[IPv4]].}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)