RFC 6734
Diameter Attribute-Value Pairs for Cryptographic Key Transport
RFC 6734: Diameter Attribute-Value Pairs for Cryptographic Key Transport ๐
okay bestie, this one is about sending crypto keys around inside Diameter ๐ฆ and it's a Standards Track doc, so it's the real deal โจ
Here's the title-block tea ๐ซถ It's from October 2012 and it's an Internet Standards Track doc (ISSN 2070-1721). The authors are Glen Zorn (Network Zen), Qin Wu (Huawei), and Violeta Cakulev (Alcatel Lucent). The title block doesn't list anything it obsoletes or updates, so there's no drama there ๐
Abstract ๐ธ
Some AAA (Authentication, Authorization, and Accounting) apps need to transport cryptographic keying material, no cap ๐ This doc lays out a set of AVPs (Attribute-Value Pairs) that give Diameter native support for delivering crypto keys. It's giving built-in feature ๐
Status of This Memo โจ
This is an Internet Standards Track document. It's a product of the IETF (Internet Engineering Task Force), it represents the consensus of the IETF community, it got public review, and the IESG (Internet Engineering Steering Group) approved it for publication ๐ If you want more on Internet Standards, check Section 2 of RFC 5741.
For the current status, errata, and how to give feedback, go to http://www.rfc-editor.org/info/rfc6734 ๐
Copyright Notice ๐
Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved.
This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as in effect on the date it was published. Please read those carefully, bestie, because they explain your rights and restrictions for this doc ๐ Any Code Components pulled out of this doc must include the Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come with no warranty, as described in the Simplified BSD License.
Table of Contents ๐
1. Introduction ....................................................2
2. Terminology .....................................................3
2.1. Requirements Language ......................................3
2.2. Technical Terms and Acronyms ...............................3
3. Attribute-Value Pair Definitions ................................3
3.1. Key AVP ....................................................3
3.1.1. Key-Type AVP ........................................4
3.1.2. Key-Name AVP ........................................4
3.1.3. Keying-Material AVP .................................4
3.1.4. Key-Lifetime AVP ....................................4
3.1.5. Key-SPI .............................................5
4. Security Considerations .........................................5
5. IANA Considerations .............................................5
5.1. AVP Codes ..................................................5
5.2. AVP Values .................................................5
6. Acknowledgements ................................................6
7. References ......................................................6
7.1. Normative References .......................................6
7.2. Informative References .....................................6
1. Introduction ๐ฆ
okay so the Diameter EAP application [RFC4072] already defines the EAP-Master-Session-Key and EAP-Key-Name AVPs for moving keying material that gets derived during certain EAP [RFC3748] methods, like EAP-TLS [RFC5216] ๐ The catch is that at most one instance of either of these AVPs is allowed in any Diameter message ๐
But newer work (see, for example, [RFC5295]) figured out how to derive other keys from the keying material made during EAP method execution, and those might need to be carried along with the Master Session Key (MSK), too โจ The EAP Re-authentication Protocol (ERP) [RFC6696] also specifies new keys that might need to move between Diameter nodes ๐ฅ
So this doc specifies a set of AVPs that lets you transport multiple cryptographic keys in a single Diameter message. Main character energy ๐
2. Terminology ๐
2.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119] ๐
2.2. Technical Terms and Acronyms
- DSRK: Domain-Specific Root Key [RFC5295].
- MSK: Master Session Key [RFC3748].
- rMSK: re-authentication MSK [RFC6696]. This is a per-authenticator key, derived from the rRK (below).
- rRK: re-authentication Root Key, derived from the Extended Master Session Key (EMSK) [RFC3748] or DSRK [RFC6696].
3. Attribute-Value Pair Definitions ๐ง
This section defines new AVPs for transporting cryptographic keys in the Diameter EAP application [RFC4072], and also in other Diameter applications ๐ธ
3.1. Key AVP
The Key AVP (AVP Code 581) is of type Grouped โจ It holds the type and the keying material, and optionally an indication of how long the key is usable, the key's name, and a Security Parameter Index (SPI) that the key is associated with ๐
Key ::= < AVP Header: 581 >
< Key-Type >
{ Keying-Material }
[ Key-Lifetime ]
[ Key-Name ]
[ Key-SPI ]
* [ AVP ]
3.1.1. Key-Type AVP
The Key-Type AVP (AVP Code 582) is of type Enumerated. It tells you what type of key is being sent ๐ These decimal values are defined in this doc:
- DSRK (0): A Domain-Specific Root Key [RFC5295].
- rRK (1): A re-authentication Root Key [RFC6696].
- rMSK (2): A re-authentication Master Session Key [RFC6696].
If more values are needed, IANA assigns them according to the policy stated in Section 5.2 ๐ฆ
3.1.2. Key-Name AVP
The Key-Name AVP (AVP Code 586) is of type OctetString. It holds an opaque key identifier ๐ซง How that name gets generated and used depends on the key type and how it's being used, and that's beyond this doc's scope. For key name generation in the EAP context, see [RFC5247] and [RFC5295] ๐
3.1.3. Keying-Material AVP
The Keying-Material AVP (AVP Code 583) is of type OctetString ๐ How this keying material gets used depends on several things, like the key type and the link layer in use, and that's also beyond this doc's scope ๐
3.1.4. Key-Lifetime AVP
The Key-Lifetime AVP (AVP Code 584) is of type Unsigned32. It's the period of time, in seconds, for which the contents of the Keying-Material AVP (Section 3.1.3) are valid โณ
NOTE: Applications using this value SHOULD consider the beginning of the lifetime to be the point in time when the message containing the keying material is received. In addition, client implementations SHOULD check to ensure that the value is reasonable. For example, the lifetime of a key should not generally be longer than the session lifetime (see Section 8.13 of [RFC6733]) ๐
3.1.5. Key-SPI
The Key-SPI AVP (AVP Code 585) is of type Unsigned32. It contains an SPI value that can be used along with other parameters to identify associated keying material ๐
4. Security Considerations ๐จ
Transporting keys is a security-sensitive action, bestie ๐ญ Some forms of keying material are already protected and can be sent safely over the open Internet. BUT if a Key AVP contains a Keying-Material AVP that is NOT already protected, then the Diameter messages containing that Key AVP MUST only be sent protected via mutually authenticated TLS or IPsec. No exceptions, periodt ๐
The security considerations for the Diameter base protocol [RFC6733] also apply to this doc, and so do the ones in Section 8.4 of RFC 4072 [RFC4072] ๐ก๏ธ
5. IANA Considerations ๐ฎ
IANA has assigned values as described in the following sections ๐
5.1. AVP Codes
Codes have been assigned for these AVPs using the policy specified in [RFC6733], Section 11.1.1:
- Key (581, Section 3.1)
- Key-Type (582, Section 3.1.1)
- Keying-Material (583, Section 3.1.3)
- Key-Lifetime (584, Section 3.1.4)
- Key-SPI (585, Section 3.1.5)
- Key-Name (586, Section 3.1.2)
5.2. AVP Values
IANA created a new registry for the values assigned to the Key-Type AVP and filled it with the decimal values defined in this doc (Section 3.1.1) ๐๏ธ New values may be assigned for the Key-Type AVP using the "Specification Required" policy [RFC5226]. Once values have been assigned, they MUST NOT be deleted, replaced, or modified. That's a hard no, bestie ๐ โโ๏ธ
6. Acknowledgements ๐ซถ
Thanks (in no particular order) to Niclas Comstedt, Semyon Mizikovsky, Hannes Tschofenig, Joe Salowey, Tom Taylor, Frank Xia, Lionel Morand, Dan Romascanu, Bernard Aboba, Jouni Korhonen, Stephen Farrel, Joel Halpern, Phillip Hallam-Baker, Sean Turner, and Sebastien Decugis for helpful comments, suggestions, and review ๐
7. References ๐
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H.
Levkowetz, "Extensible Authentication Protocol (EAP)",
RFC 3748, June 2004.
[RFC4072] Eronen, P., Hiller, T., and G. Zorn, "Diameter Extensible
Authentication Protocol (EAP) Application", RFC 4072,
August 2005.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
[RFC6733] Fajardo, V., Arkko, J., Loughney, J., and G. Zorn,
"Diameter Base Protocol", RFC 6733, October 2012.
7.2. Informative References
[RFC5216] Simon, D., Aboba, B., and R. Hurst, "The EAP-TLS
Authentication Protocol", RFC 5216, March 2008.
[RFC5247] Aboba, B., Simon, D., and P. Eronen, "Extensible
Authentication Protocol (EAP) Key Management Framework",
RFC 5247, August 2008.
[RFC5295] Salowey, J., Dondeti, L., Narayanan, V., and M. Nakhjiri,
"Specification for the Derivation of Root Keys from an
Extended Master Session Key (EMSK)", RFC 5295,
August 2008.
[RFC6696] Cao, Z., He, B., Shi, Y., Wu, Q., Ed., and G. Zorn, Ed.,
"EAP Extensions for the EAP Re-authentication Protocol
(ERP)", RFC 6696, July 2012.
Authors' Addresses ๐
Glen Zorn
Network Zen
227/358 Thanon Sanphawut
Bang Na, Bangkok 10260
Thailand
Phone: +66 (0) 909-201060
EMail: glenzorn@gmail.com
Qin Wu
Huawei Technologies Co., Ltd.
101 Software Avenue, Yuhua District
Nanjing, Jiangsu 21001
China
Phone: +86-25-56623633
EMail: sunseawq@huawei.com
Violeta Cakulev
Alcatel Lucent
600 Mountain Ave.
3D-517
Murray Hill, NJ 07974
US
Phone: +1 908 582 3207
EMail: violeta.cakulev@alcatel-lucent.com
๐ฆ where this page comes from
- ietf: rfc6734 2012-10
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms