RFC 6734

Diameter Attribute-Value Pairs for Cryptographic Key Transport

๐Ÿ“… published October 2012, from ietf

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 (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