Camellia Encryption for Kerberos 5
RFC 6803
Document | Type | RFC - Informational (November 2012; Errata) | |
---|---|---|---|
Author | Greg Hudson | ||
Last updated | 2015-10-14 | ||
Stream | Internet Engineering Task Force (IETF) | ||
Formats | plain text html pdf htmlized (tools) htmlized bibtex | ||
Reviews | |||
Stream | WG state | Submitted to IESG for Publication | |
Document shepherd | Jeffrey Hutzelman | ||
Shepherd write-up | Show (last changed 2012-03-09) | ||
IESG | IESG state | RFC 6803 (Informational) | |
Action Holders |
(None)
|
||
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Stephen Farrell | ||
IESG note | The Document Shepherd for this document is Jeffrey Hutzelman (jhutz@cmu.edu). | ||
Send notices to | (None) |
Internet Engineering Task Force (IETF) G. Hudson Request for Comments: 6803 MIT Kerberos Consortium Category: Informational November 2012 ISSN: 2070-1721 Camellia Encryption for Kerberos 5 Abstract This document specifies two encryption types and two corresponding checksum types for the Kerberos cryptosystem framework defined in RFC 3961. The new types use the Camellia block cipher in CBC mode with ciphertext stealing and the CMAC algorithm for integrity protection. Status of This Memo This document is not an Internet Standards Track specification; it is published for informational purposes. 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). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6803. Copyright Notice Copyright (c) 2012 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 (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Hudson Informational [Page 1] RFC 6803 Camellia Encryption for Kerberos 5 November 2012 1. Introduction The Camellia block cipher, described in [RFC3713], has a 128-bit block size and a 128-bit, 192-bit, or 256-bit key size, similar to AES. This document specifies Kerberos encryption and checksum types for Camellia using 128-bit or 256-bit keys. The new types conform to the framework specified in [RFC3961] but do not use the simplified profile. Like the simplified profile, the new types use key derivation to produce keys for encryption, integrity protection, and checksum operations. Instead of the key derivation function described in [RFC3961], Section 5.1, the new types use a key derivation function from the family specified in [SP800-108]. The new types use the CMAC algorithm for integrity protection and checksum operations. As a consequence, they do not rely on a hash algorithm except when generating keys from strings. Like the AES encryption types [RFC3962], the new encryption types use CBC mode with ciphertext stealing [RFC3962] to avoid the need for padding. They also use the same PBKDF2 algorithm for key generation from strings, with a modification to the salt string to ensure that different keys are generated for Camellia and AES encryption types. 2. Protocol Key Representation The Camellia key space is dense, so we use random octet strings directly as keys. The first bit of the Camellia bit string is the high bit of the first byte of the random octet string. 3. Key Derivation We use a key derivation function from the family specified in [SP800-108], Section 5.2, "KDF in Feedback Mode". The PRF parameter of the key derivation function is CMAC with Camellia-128 or Camellia-256 as the underlying block cipher; this PRF has an output size of 128 bits. A block counter is used with a length of 4 bytes, represented in big-endian order. The length of the output key in bits (denoted as k) is also represented as a 4-byte string in big- endian order. The label input to the KDF is the usage constant supplied to the key derivation function, and the context is unused. In the following summary, | indicates concatenation. The random-to- key function is the identity function, as defined in Section 6. The k-truncate function is defined in [RFC3961], Section 5.1. Hudson Informational [Page 2] RFC 6803 Camellia Encryption for Kerberos 5 November 2012 n = ceiling(k / 128) K(0) = zeros K(i) = CMAC(key, K(i-1) | i | constant | 0x00 | k) DR(key, constant) = k-truncate(K(1) | K(2) | ... | K(n)) KDF-FEEDBACK-CMAC(key, constant) = random-to-key(DR(key, constant)) The constants used for key derivation are the same as those used in the simplified profile. 4. Key Generation from Strings We use a variation on the key generation algorithm specified inShow full document text