- Home
- RFC 9478
RFC 9478: Labeled IPsec Traffic Selector Support for the Internet Key Exchange Protocol Version 2 (IKEv2)
- P. Wouters,
- S. Prasad
Abstract
This document defines a new Traffic Selector Type (TS Type) for
the Internet Key Exchange Protocol version 2 (IKEv2) to add support for negotiating
Mandatory Access Control (MAC) security labels as a Traffic Selector
of the Security Policy Database (SPD). Security Labels for IPsec
are also known as "Labeled IPsec". The new TS Type, TS_
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
In computer security, Mandatory Access Control (MAC) usually refers to systems in which all subjects and objects are assigned a security label. A security label is composed of a set of security attributes. Along with a system authorization policy, the security labels determine access. Rules within the system authorization policy determine whether the access will be granted based on the security attributes of the subject and object.¶
Historically, security labels used by Multi-Level Secure (MLS) systems are comprised of a sensitivity level (or classification) field and a compartment (or category) field, as defined in [RFC5570]. As MAC systems evolved, other MAC models gained popularity. For example, SELinux, a Flux Advanced Security Kernel (FLASK) implementation, has security labels represented as colon-separated ASCII strings composed of values for identity, role, and type. The security labels are often referred to as security contexts.¶
Traffic Selector (TS) payloads specify the selection criteria for packets that will be forwarded over the newly set up IPsec Security Association (SA) as enforced by the Security Policy Database (SPD) [RFC4301].¶
This document specifies a new TS Type,
TS_
1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
1.2. Traffic Selector Clarification
The negotiation of Traffic Selectors is specified in Section 2.9 of [RFC7296], where it defines two TS
Types
A Traffic Selector (capitalized, no acronym) is one selector for traffic
of a specific Traffic Selector Type (TS Type). For example, a
Traffic Selector of TS Type TS_
A TS payload is a set of one or more Traffic
Selectors of the same or different TS Types. It typically contains
one or more of the TS Type of TS_
1.3. Security Label Traffic Selector Negotiation
The negotiation of Traffic Selectors is specified in Section 2.9 of [RFC7296] and states that the TSi/TSr payloads MUST contain at least one
TS Type. This document adds a new TS Type of TS_
2. TS_SECLABEL Traffic Selector Type
This document defines a new TS Type, TS_
2.1. TS_SECLABEL Payload Format
1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +---------------+---------------+-------------------------------+ | TS Type | Reserved | Selector Length | +---------------+---------------+-------------------------------+ | | ~ Security Label* ~ | | +---------------------------------------------------------------+
Note: All fields other than TS Type and Selector Length depend on
the TS Type. The fields shown are for TS Type TS_
2.2. TS_SECLABEL Properties
The TS_
The TS_
The Security Label contents are opaque to the IKE implementation. That is, the IKE implementation might not have any knowledge regarding the meaning of this selector other than recognizing it as a type and opaque value to pass to the SPD.¶
A zero-length Security Label MUST NOT be used. If a received
TS payload contains a TS Type of TS_
If multiple Security Labels are allowed for a Traffic Selector's IP address range, protocol, and port range, the initiator includes all of these acceptable Security Labels. The responder MUST select exactly one of the Security Labels.¶
A responder that selected a TS with TS_
3. Traffic Selector Negotiation
If the TSi payload contains a Traffic Selector with TS Type
TS_
If the Security Label TS Type is optional from a
configuration point of view, an initiator will add the
TS_
3.1. Example TS Negotiation
An initiator could send the following:¶
TSi = ((17,24233,198.51.100.12-198.51.100.12),
(0,0,198.51.100.0-198.51.100.255),
(0,0,192.0.2.0-192.0.2.255),
TS_SECLABEL1, TS_SECLABEL2)
TSr = ((17,53,203.0.113.1-203.0.113.1),
(0,0,203.0.113.0-203.0.113.255),
TS_SECLABEL1, TS_SECLABEL2)
The responder could answer with the following:¶
TSi = ((0,0,198.51.100.0-198.51.100.255),
TS_SECLABEL1)
TSr = ((0,0,203.0.113.0-203.0.113.255),
TS_SECLABEL1)
3.2. Considerations for Using Multiple TS Types in a TS
It would be unlikely that the traffic for TSi and TSr would have a different Security Label, but this specification allows this to be specified. If the initiator does not support this and wants to prevent the responder from picking different labels for the TSi/TSr payloads, it should attempt a Child SA negotiation and start with the first Security Label only. Upon failure, the initiator should retry a new Child SA negotiation with only the second Security Label.¶
If different IP ranges can only use different specific Security
Labels, then these should be negotiated in two different Child SA
negotiations. In the example above, if the initiator only allows
192.0.2.0/24 with TS_
4. Security Considerations
It is assumed that the Security Label can be matched by the IKE implementation to its own configured value, even if the IKE implementation itself cannot interpret the Security Label value.¶
A packet that matches an SPD entry for all components, except the Security Label, would be treated as "not matching". If no other SPD entries match, the (mislabeled) traffic might end up being transmitted in the clear. It is presumed that other MAC methods are in place to prevent mislabeled traffic from reaching the IPsec subsystem or that the IPsec subsystem itself would install a REJECT/DISCARD rule in the SPD to prevent unlabeled traffic otherwise matching a labeled security SPD rule from being transmitted without IPsec protection.¶
5. IANA Considerations
IANA has added a new entry in the "IKEv2 Traffic Selector Types" registry [RFC7296] as follows.¶
| Value | TS Type | Reference |
|---|---|---|
| 10 | TS_ |
RFC 9478 |
6. References
6.1. Normative References
- [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC7296]
-
Kaufman, C., Hoffman, P., Nir, Y., Eronen, P., and T. Kivinen, "Internet Key Exchange Protocol Version 2 (IKEv2)", STD 79, RFC 7296, DOI 10
.17487 , , <https:///RFC7296 www >..rfc -editor .org /info /rfc7296 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174
6.2. Informative References
- [LABELED-IPSEC]
-
Latten, J., Quigley, D., and J. Lu, "Security Label Extension to IKE", Work in Progress, Internet-Draft, draft
-jml , , <https://-ipsec -ikev2 -security -label -01 datatracker >..ietf .org /doc /html /draft -jml -ipsec -ikev2 -security -label -01 - [RFC4301]
-
Kent, S. and K. Seo, "Security Architecture for the Internet Protocol", RFC 4301, DOI 10
.17487 , , <https:///RFC4301 www >..rfc -editor .org /info /rfc4301 - [RFC5570]
-
StJohns, M., Atkinson, R., and G. Thomas, "Common Architecture Label IPv6 Security Option (CALIPSO)", RFC 5570, DOI 10
.17487 , , <https:///RFC5570 www >..rfc -editor .org /info /rfc5570
Acknowledgements
A large part of the introduction text was taken verbatim from [LABELED-IPSEC], whose authors are Joy Latten, David Quigley, and Jarrett Lu. Valery Smyslov provided valuable input regarding IKEv2 Traffic Selector semantics.¶