view Side-By-Side changes
Internet Draft U. Blumenthaldraft-blumenthal-aes-usm-04.txtdraft-blumenthal-aes-usm-05.txt Lucent Technologies Expires:AprilAugust 2003 F. Maino Andiamo Systems, Inc. K. McCloghrie Cisco Systems, Inc.October 2002February 2003 The AES Cipher Algorithm in theSNMP'sSNMP User-based Security Model Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of[RFC2026].RFC 2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Copyright (C) The Internet Society(2002).(2003). All Rights Reserved. Abstract This document describes aset ofsymmetric encryptionprotocolsprotocol that supplement the protocols described in the User-based Security Model(USM) [RFC2574],(USM), which is a Security Subsystem for version 3 of the Simple Network Management Protocol for use in the SNMPArchitecture [RFC2571].Architecture. The symmetric encryptionprotocolsprotocol described in this documentareis based on the AES cipheralgorithm [FIPS-AES],algorithm, used in Cipher FeedBack Mode (CFB), with key size of 128(mandated), 192, and 256bits. Table of Contents 1. Introduction....................................................2 1.1. Goals and Constraints......................................2 1.2. Key Localization...........................................3 1.3. Password Entropy and Storage...............................3 2. Definitions.....................................................3 Blumenthal/Maino/McCloghrie ExpiresAprilAugust 2003 [Page 1]2. Definitions.....................................................3^L Internet Draft AES in the SNMP's USM February 2003 3.CFB128-AES-128/192/256CFB128-AES-128 Symmetric EncryptionProtocols...........5Protocol....................4 3.1.Mechanisms.................................................5Mechanisms.................................................4 3.1.1. The AES-based Symmetric EncryptionProtocols..........6Protocol...........4 3.1.2. Localized Key, AES Encryption Key and InitializationVector.......................................................7Vector.......................................................5 3.1.3. DataEncryption.......................................8Encryption.......................................6 3.1.4. DataDecryption.......................................8Decryption.......................................6 3.2. Elements of the AES PrivacyProtocols......................9Protocol.......................7 3.2.1.Users.................................................9Users.................................................7 3.2.2.msgAuthoritativeEngineID..............................9msgAuthoritativeEngineID..............................7 3.2.3. SNMP Messages Using this PrivacyProtocol.............9Protocol.............7 3.2.4. Services provided by the AES PrivacyModules..........9Modules..........7 3.3. Elements ofProcedure.....................................11Procedure......................................9 3.3.1. Processing an OutgoingMessage.......................11Message........................9 3.3.2. Processing an IncomingMessage.......................11Message........................9 4. SecurityConsiderations........................................12Considerations........................................10 5. Intellectual Property RightsStatement.........................12Statement.........................10 6.Acknowledgements...............................................13Acknowledgements...............................................10 7.References.....................................................13References.....................................................10 8.Authors Addresses..............................................13 Appendix A........................................................14 A.1.Sample Results of Extension of Localized Keys..............14 1.IntroductionAuthors' Addresses.............................................11 1. Introduction Within the Architecture for describing Internet Management Frameworks[RFC2571],[RFC3411], the User-based Security Model (USM)[RFC2574][RFC3414] for SNMPv3 is defined as a Security Subsystem within an SNMP engine.[RFC2574]RFC 3414 describes the use of HMAC-MD5-96 and HMAC-SHA-96 as the (initial) authentication protocols and the use of CBC-DES as the (initial) privacy protocol. The User-based Security Model however allows for other such protocols to be used instead of or concurrently with these protocols. This memo describes the use ofCFB128-AES-128/192/256CFB128-AES-128 asthreean alternative privacyprotocolsprotocol for the User-based Security Model.This memo describes also the Key Localization Algorithm for use with the new authentication protocol.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 [RFC2119].1.1.Goals1.1 Goals and Constraints The maingoalsgoal of this memoare as follows. 1)Provideis to provide aset ofnew privacyprotocolsprotocol for USM based on the Advanced Encryption Standard.lumenthal/Maino/McCloghrie Expires April 2003 [Page 2] 2)Provide a key localization mechanism that generates an adequate amount of key material for the privacy protocols.The major constraint is to maintain a complete interchangeability of the newprotocolsprotocol defined on this memo with existing authentication and privacy protocols already defined in USM. For a given user, the AES-based privacyprotocolsprotocol MAY be used with the authentication protocols described in[RFC2574]. 1.2.Key[RFC3414]. Blumenthal/Maino/McCloghrie Expires August 2003 [Page 2] ^L Internet Draft AES in the SNMP's USM February 2003 1.2 Key Localization As defined in[RFC2574][RFC3414], a localized key is a secret key shared between a user U and one authoritative SNMP engine E. Even though a user may have only one pair of authentication and privacy passwords (and consequently only one pair of keys) for the whole network, the actual secrets shared between the user and each authoritative SNMP engine will be different. This is achieved by key localization. If the authentication protocol defined for a user U at the authoritative SNMP engine E is one of the authentication protocols defined on[RFC2574],[RFC3414], the key localization is performed according to the two steps process described in section 2.6 of[RFC2574]. 1.3.Password[RFC3414]. 1.3 Password Entropy and Storage The security of various cryptographic functions lies both in the strength of the functions themselves against various forms of attack, and also, perhaps more importantly, in the keying material that is used with them. While theoretical attacks against the cryptographic functions specified by this document are possible, it is vastly more probable that key guessing is the main threat. The following can be suggested with regard to the user password: - Passwords lengths SHOULD be at least 12 bytes. - Password sharing SHOULD be limited so that passwords aren't shared among multiple SNMP users.Password SHOULD be changed at least every 90 days.It is worth to remember that, as specified in[RFC2574],[RFC3414], if user's password is disclosed, then key localization will not help and network security may be compromised in this case. Therefore a user's password or non-localized key MUST NOT be stored on a managed device/node. Instead the localized key SHALL be stored (if at all), so that, in case a device does get compromised, no other managed or managing devices get compromised.2.Definitions SNMP-USM-AES-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-IDENTITY FROM SNMPv2-SMI Blumenthal/Maino/McCloghrie Expires April 2003 [Page 3] xxx FROM XXX-MIB; snmpUsmAesMIB MODULE-IDENTITY LAST-UPDATED "200206300000Z" ORGANIZATION "???" CONTACT-INFO "Uri Blumenthal Lucent Technologies / Bell Labs 67 Whippany Rd. 14D-318 Whippany, NJ 07981, USA 973-386-2163 uri@bell-labs.com Fabio Maino Andiamo Systems, Inc. 375 East Tasman Drive San Jose, CA 95134, USA 408-853-7530 fmaino@andiamo.com Keith McCloghrie Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706, USA 408-526-5260 kzm@cisco.com" DESCRIPTION "Definitions of Object Identities needed2. Definitions An OID for theuse of AES by SNMP's User-based Security Model." REVISION "200110120000Z" DESCRIPTION "Initial version, published as RFCnnnn" ::= { xxx nn } --privacy algorithm is added, to beassigned by TBD snmpUsmAesProtocols OBJECT IDENTIFIER ::= { snmpUsmAesMIB 1 } -- Identification of Privacy Protocolsincluded in the snmpUsmMIB. usmAesCfb128Protocol OBJECT-IDENTITY STATUS current DESCRIPTION "The CFB128-AES-128 Privacy Protocol." REFERENCE "- Specification for the ADVANCED ENCRYPTION STANDARD (DRAFT). Federal Information Processing Standard (FIPS) Publication 197. (November 2001).- Dworkin, M., NIST Recommendation for Block Cipher Modes of Operation, Methods and Techniques (DRAFT). NIST Special Publication 800-38A (December 2001).Blumenthal/Maino/McCloghrie ExpiresAprilAugust 2003 [Page4] " ::= { snmpUsmAesProtocols 2 } usmAesCfb192Protocol OBJECT-IDENTITY STATUS current DESCRIPTION "The CFB128-AES-192 Privacy Protocol." REFERENCE "- Specification for3] ^L Internet Draft AES in theADVANCED ENCRYPTION STANDARD (DRAFT). Federal Information Processing Standard (FIPS) Publication 197. (November 2001).SNMP's USM February 2003 - Dworkin, M., NIST Recommendation for Block Cipher Modes of Operation, Methods and Techniques (DRAFT). NIST Special Publication 800-38A (December 2001). " ::= {snmpUsmAesProtocols 3snmpPrivProtocols n }usmAesCfb256Protocol OBJECT-IDENTITY STATUS current DESCRIPTION "The CFB128-AES-256 Privacy Protocol." REFERENCE "- Specification for the ADVANCED ENCRYPTION STANDARD (DRAFT). Federal Information Processing Standard (FIPS) Publication 197 (November 2001). - Dworkin, M., NIST Recommendation for Block Cipher Modes of Operation, Methods and Techniques (DRAFT). NIST Special Publication 800-38A (December 2001). " ::= { snmpUsmAesProtocols 4 } END 3.CFB128-AES-128/192/256-- to be assigned by IANA 3. CFB128-AES-128 Symmetric EncryptionProtocolsProtocol This section describesthreea Symmetric EncryptionProtocolsProtocol based on the AES Cipher Algorithm [FIPS-AES], used in Cipher Feedback Mode as described in [AES-MODE], using encryption keys with a size of128, 192, and 256128 bits.These protocols areThis protocol is identifiedby: -usmAesCfb128PrivProtocol; -usmAesCfb192PrivProtocol; -usmAesCfb256PrivProtocol; These protocols are alternativesby usmAesCfb128PrivProtocol. The protocol usmAesCfb128PrivProtocol is an alternative to the privacy protocol defined in[RFC2574]. 3.1.Mechanisms Blumenthal/Maino/McCloghrie Expires April 2003 [Page 5][RFC3414]. 3.1 Mechanisms - In support of data confidentiality, an encryption algorithm is required. An appropriate portion of the message is encrypted prior to being transmitted. The User-based Security Model specifies that the scopedPDU is the portion of the message that needs to be encrypted. - A secret value in combination with a timeliness value and a 64-bit integer is used to create the en/decryption key and the initialization vector. The secret value is shared by all SNMP engines authorized to originate messages on behalf of the appropriate user.3.1.1.The3.1.1 The AES-based Symmetric EncryptionProtocolsProtocol The Symmetric EncryptionProtocolsProtocol defined in this memoprovideprovides support for data confidentiality. The designated portion of an SNMP message is encrypted and included as part of the message sent to the recipient. The AES (Advanced Encryption Standard) is the symmetric cipher algorithm that the NIST (National Institute of Standards and Technology) has selected in a four-year competitive process. The AES homepage, http://www.nist.gov/aes, contains a wealth of information on AES including the Federal Information Processing Standard [FIPS-AES] that will finally specify the Advanced Encryption Standard. The following subsections contain description of the relevant characteristics of the AES ciphers used in the symmetric encryptionprotocolsprotocol described in this memo.3.1.1.1.ModeBlumenthal/Maino/McCloghrie Expires August 2003 [Page 4] ^L Internet Draft AES in the SNMP's USM February 2003 3.1.1.1 Mode of operation The NIST Special Publication 800-38A[AES-MODE]recommends[AES-MODE] recommends five confidentiality modes of operation for use with AES: Electronic Codebook (ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB), and Counter (CTR). The symmetric encryptionprotocolsprotocol described in this memo use AES in CFB mode with the parameter s set to 128 according to the definition of CFB mode given in [AES-MODE]. This mode requiresaan Initialization Vector (IV) that is the same size as the block size of the cipher algorithm.3.1.1.2.Key3.1.1.2 Key Size In the encryptionprotocolsprotocol described by this memo AES is used with keysizessize of128, 192, and 256128 bits.3.1.1.3.Block3.1.1.3 Block Size and PaddingBlumenthal/Maino/McCloghrie Expires April 2003 [Page 6]The block size of the AES cipher algorithms used in the encryptionprotocolsprotocol described by this memo is 128 bits.3.1.1.4.Rounds3.1.1.4 Rounds This parameter determines how many times a block is encrypted. The encryptionprotocolsprotocol described on this memouse: -10 rounds for AES-128; -12 rounds for AES-192; -14 rounds for AES-256 3.1.2.Localizeduses 10 rounds. 3.1.2 Localized Key, AES Encryption Key and Initialization Vector The size of the Localized Key (Kul) of an SNMP user, as described in[RFC2574],[RFC3414], depends on the authentication protocol defined for that user U at the authoritative SNMP engine E.3.1.2.1.Short Localized KeysThe encryptionprotocolsprotocol defined on this memoSHOULDMUST be used with an authentication protocol that generates a localized key withenough key material to derive a 128/192/256 bits encryption key. At the time of this writing an authentication protocol with such characteristics has not been defined within the USM model for the SNMPv3 architecture. However, if the size of the localized key is not large enough to generate an encryption key the following algorithm is applied to extend the localized key: 1)Let Hnnn() the hash function of the authentication protocol for the user U on the SNMP authoritative engine E. nnn being the size of the output of the hash function (e.g. nnn=128 bits for MD5, or nnn=160 bits for SHA1). 2)Set c = ceil ( 256 / nnn ) 3)For i = 1, 2, ..., c a.Set Kul = Kul || Hnnn(Kul); Where Hnnn() is the hash functionofthe authentication protocol defined for that user As an example if the user authentication protocol is HMAC-SHA1-96, the hash function Hnnn is SHA1 with nnn=160at least 128 bits. Thealgorithm will generate a localized key 480-bit long: Kul' = Kul || SHA1(Kul) || SHA1(Kul||SHA1(Kul)) 3.1.2.2.AESauthentication protocols described in [RFC3414] satisfy the requirement above. 3.1.2.1 AES Encryption Key and IV The first128/192/256128 bits of the localized key Kul are used as the AES encryptionkey, according to the AES cipher algorithm key size of the encryption protocol used.key. The 128-bit IV is obtained as the concatenation of the generating SNMP engine's 32-bit snmpEngineBoots, the SNMP engine's 32-bit snmpEngineTime, and a local 64-bit integer. The 64-bit integer is initialized to a pseudo-random value at boot time.Blumenthal/Maino/McCloghrie Expires April 2003 [Page 7]The IV is concatenated as follows: the 32-bit snmpEngineBoots is converted to the first 4 octets (Most Significant Byte first), the 32-bit snmpEngineTime is converted to the subsequent 4 octets (Most Significant Byte first), and the 64-bit integer is then converted to the last 8 octets (Most Significant Byte first). Blumenthal/Maino/McCloghrie Expires August 2003 [Page 5] ^L Internet Draft AES in the SNMP's USM February 2003 The 64-bit integer is then put into the msgPrivacyParameters field encoded as an OCTET STRING of length 8 octets. The integer is then modified for the subsequent message. We recommend that itbeis incremented by oneand wrap whenuntil it reachestheits maximumvalue. How exactlyvalue at which time it is wrapped. An implementation can use any method to vary the value of the IVvaries is an implementation issue, as long as measures are taken to avoid producing aproviding the chosen method never generates duplicateIV.IV for the same key. The 64-bit integer must be placed in themsgPrivacyParametersprivParameters field to enable the receiving entity to compute the correct IV and to decrypt the message.3.1.3.DataThis 64-bit value is called "salt" in this document. See RFC 3414. 3.1.3 Data Encryption. The data to be encrypted is treated as sequence of octets. The data is encrypted in Cipher Feedback mode with the parameter s set to 128 according to the definition of CFB mode given in [AES- MODE]. The plaintext is divided into 128-bit blocks. The last block may have less than 128 bits, and no padding is required. The first input block is the IV, and the forward cipher operation is applied to the IV to produce the first output block. The first ciphertext block is produced by exclusive-ORing the first plaintext block with the first output block. The ciphertext block is also used as the input block for the subsequent forward cipher operation. The process is repeated with the successive input blocks until a ciphertext segment is produced from every plaintext segment. The last ciphertext block is produced by exclusive-ORing the last plaintext segment of r bits (r is less or equal to 128) with the segment of the r most significant bits of the last output block.3.1.4.Data3.1.4 Data Decryption In CFB decryption, the IV is the first input block, the first ciphertext is used for the second input block, the second ciphertext is used for the third input block, etc. The forward cipher function is applied to each input block to produce the output blocks. The output blocks are exclusive-ORed with the corresponding ciphertext blocks to recover the plaintext blocks.Blumenthal/Maino/McCloghrie Expires April 2003 [Page 8]The last ciphertext block (whose size r is less or equal to 128) is exclusive-ORed with the segment of the r most significant bits of the last output block to recover the last plaintext block of r bits.3.2.ElementsBlumenthal/Maino/McCloghrie Expires August 2003 [Page 6] ^L Internet Draft AES in the SNMP's USM February 2003 3.2 Elements of the AES PrivacyProtocolsProtocol This section contains definitions required to realize the privacy modules defined by this memo.3.2.1.Users3.2.1 Users Data en/decryption using this Symmetric Encryption Protocol makes use of a defined set of userNames. For any user on whose behalf a message must be en/decrypted at a particular SNMP engine, that SNMP engine must have knowledge of that user. An SNMP engine that wishes to communicate with another SNMP engine must also have knowledge of a user known to that SNMP engine, including knowledge of the applicable attributes of that user. A user and its attributes are defined as follows: <userName> An octet string representing the name of the user. <privKey> A user's secret key to be used as the AES key. The length of this key MUSTbe: -be 128 bits (16octets) for AES-128 - 192 bits (24 octets) for AES-192 - 254 bits (32 octets) for AES-256 3.2.2.msgAuthoritativeEngineIDoctets). 3.2.2 msgAuthoritativeEngineID The msgAuthoritativeEngineID value contained in an authenticated message specifies the authoritative SNMP engine for that particular message (see the definition of SnmpEngineID in the SNMP Architecture document[RFC2571]).[RFC3414]). The user's (private) privacy key is normally different at each authoritative SNMP engine and so the snmpEngineID is used to select the proper key for the en/decryption process.3.2.3.SNMP3.2.3 SNMP Messages Using this Privacy Protocol Messages using this privacy protocol carry a msgPrivacyParameters field as part of the msgSecurityParameters. For this protocol, themsgPrivacyParametersprivParameters field is the serialized OCTET STRING representing the "salt" that was used to create the IV.3.2.4.Services3.2.4 Services provided by the AES Privacy Modules This section describes the inputs and outputs that the AES Privacy modules expects and produces when the User-based Security module invokes one of the AES Privacy modules for services.Blumenthal/Maino/McCloghrie Expires April 2003 [Page 9] 3.2.4.1.Services3.2.4.1 Services for Encrypting Outgoing Data The AES privacyprotocols assumeprotocol assumes that the selection of the privKey is done by thecallercaller, and that the caller passes the secret key to be used. Blumenthal/Maino/McCloghrie Expires August 2003 [Page 7] ^L Internet Draft AES in the SNMP's USM February 2003 Upon completion the privacy module returns statusInformation and, if the encryption process was successful, the encryptedPDU and the msgPrivacyParameters encoded as an OCTET STRING. The abstract service primitive is: statusInformation = -- success or failure encryptData( IN encryptKey -- secret key for encryption IN dataToEncrypt -- data to encrypt (scopedPDU) OUT encryptedData -- encrypted data (encryptedPDU) OUT privParameters -- filled in by service provider ) The abstract data elements are: statusInformation An indication of the success or failure of the encryption process. In case of failure, it is an indication of the error. encryptKey The secret key to be used by the encryption algorithm. The length of this key MUST be16/24/32 octets for AES 128/192/256.16 octets. dataToEncrypt The data that must be encrypted. encryptedData The encrypted data upon successful completion. privParameters The privParameters encoded as an OCTET STRING.3.2.4.2.Services3.2.4.2 Services for Decrypting Incoming Data This AES privacy protocol assumes that the selection of the privKey is done by the caller and that the caller passes the secret key to be used. Upon completion the privacy module returns statusInformation and, if the decryption process was successful, the scopedPDU in plain text. The abstract service primitive is: statusInformation = decryptData( IN decryptKey -- secret key for decryption IN privParameters -- as received on the wire IN encryptedData -- encrypted data (encryptedPDU) OUT decryptedData -- decrypted data (scopedPDU) )Blumenthal/Maino/McCloghrie Expires April 2003 [Page 10]The abstract data elements are: statusInformation An indication whether the data was successfully decrypted and if not an indication of the error. Blumenthal/Maino/McCloghrie Expires August 2003 [Page 8] ^L Internet Draft AES in the SNMP's USM February 2003 decryptKey The secret key to be used by the decryption algorithm. The length of this key MUST be16/24/32 octets for AES 128/192/256.16 octets. privParameters The 64-bit integer to be used to calculate the IV. encryptedData The data to be decrypted. decryptedData The decrypted data.3.3.Elements3.3 Elements of Procedure. This section describes the procedures for the AES privacyprotocols. 3.3.1.Processingprotocol. 3.3.1 Processing an Outgoing Message This section describes the procedure followed by an SNMP engine whenever it must encrypt part of an outgoing message using theusmAesCfbxxxPrivProtocol (where xxx can be any of 128, 192, or 256).usmAesCfb128PrivProtocol. 1)The secret cryptKey is used to construct the AES encryption key, as described in section.3.1.2.1. 2)The privParameters field is set to the serialization according to the rules in[RFC1906][RFC3417] of an OCTET STRING representing the 64- bit integer that will be used in the IV as described in [RFC3414]. 3)The scopedPDU is encrypted (as described in section)3.1.3) and the encrypted data is serialized according to the rules in[RFC1906][RFC3417] as an OCTET STRING. 4)The serialized OCTET STRING representing the encrypted scopedPDU together with the privParameters and statusInformation indicating success is returned to the calling module.3.3.2.Processing3.3.2 Processing an Incoming Message This section describes the procedure followed by an SNMP engine whenever it must decrypt part of an incoming message using theusmAesCfbxxxPrivProtocol (where xxx can be any of 128, 192, or 256).usmAesCfb128PrivProtocol. 1)If the privParameters field is not an 8-octet OCTET STRING, then an error indication (decryptionError) is returned to the calling module. 2)The 64-bit integer is extracted from the privParameters field.Blumenthal/Maino/McCloghrie Expires April 2003 [Page 11]3)The secret cryptKey and the 64-bit integer are then used to construct the AES decryption key and the IV that is computed as described in section 3.1.2.2. Blumenthal/Maino/McCloghrie Expires August 2003 [Page 9] ^L Internet Draft AES in the SNMP's USM February 2003 4)The encryptedPDU is then decrypted (as described in section).3.1.4). 5)If the encryptedPDU cannot be decrypted, then an error indication (decryptionError) is returned to the calling module. 6)The decrypted scopedPDU and statusInformation indicating success are returned to the calling module.4.Security4. Security ConsiderationsImplementations are encouraged to use the largest key sizes they can when taking into account performance considerations for their particular hardware and software configuration. However, a key size of 128 bits is considered secure for the foreseeable future. At the recommendation of cryptographic experts, we will recommend that the IESG include usmAesCfb128PrivProtocol within the default and mandatory-to-implement authentication and privacy algorithms for USM.Formoreinformation regarding the necessary use of random IV values, see [CRYPTO-B].For further security considerations, the reader is encouraged to read the documents that describe the actual cipher algorithms. 5.Intellectual Property Rights Statement PursuantThis algorithm must be used with an authentication and/or integrity protection algorithm (including but not limited tothe provisions of [RFC2026], the authors represent that they have disclosed the existence of any proprietary or intellectual property rightsthose defined in RFC 3414), because CFB encryption mode does not detect ciphertext modifications. For further security considerations, thecontribution that are reasonably and personally knownreader is encouraged to read the documents that describe theauthors.actual cipher algorithms. 5. Intellectual Property Rights Statement The authorsdo not represent that they personally knowmade no IPR claims on the contents ofall potentially pertinent proprietary and intellectual property rights ownedthis document orclaimed bytheorganizations they represent or third parties.algorithms defined in it. The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF Secretariat.Blumenthal/Maino/McCloghrie Expires April 2003 [Page 12] 6.AcknowledgementsThe IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights, which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. 6. Acknowledgements Portions of this text, as well as its general structure, were unabashedly lifted from[RFC2574]. 7.References[RFC3414]. Blumenthal/Maino/McCloghrie Expires August 2003 [Page 10] ^L Internet Draft AES in the SNMP's USM February 2003 7. References Normative References [AES-MODE] Dworkin, M., "NIST Recommendation for Block Cipher Modes of Operation, Methods and Techniques", NIST Special Publication 800-38A, December 2001. [FIPS-AES] "Specification for the ADAVANCED ENCRYPTION STANDARD (AES)", Federal Information Processing Standard (FIPS) Publication 197, November 2001.[PKCS-12] "PKCS 12 v1.0: personal Information Exchange Syntax", RSA Laboratories, June 1999. [RFC1906] Case, J., McCloghrie, K., Rose, M., Waldbusser, S., "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC1906, January 1996. [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 3", RFC2026, October 1996.[RFC2104] Bellare, M., Canetti, R., Krawczyk, H., "HMAC: Keyed- Hashing for Message Authentication", RFC2104, February 1997. [RFC2119]Bradner.Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels",RFC2119,BCP 14, RFC 2119, March 1997.[RFC2574][RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC3411] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, December 2002. [RFC3414] Blumenthal,U.,U. and B. Wijnen,B.,"User-based SecurityModel (USM)Model(USM) for version 3 of the Simple Network Management Protocol(SNMPv3)",.RFC2574, April 1999. [RFC2571] Wijnen, B., Harrington, D.,(SNMPv3)", STD 62, RFC 3414, December 2002. [RFC3417] Presuhn, R.,"An ArchitectureCase, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport Mappings forDescribing SNMPthe Simple Network ManagementFrameworks", RFC2571, April 1999.Protocol (SNMP)", STD 62, RFC 3417, December 2002. Informative References [CRYPTO-B] Bellovin, S., "Probable Plaintext Cryptanalysis of the IP Security Protocols", Proceedings of the Symposium on Network and Distributed System Security, San Diego, CA, pp. 155-160, February 1997.8.AuthorsBlumenthal/Maino/McCloghrie Expires August 2003 [Page 11] ^L Internet Draft AES in the SNMP's USM February 2003 8. Authors' Addresses Uri Blumenthal Lucent Technologies / Bell Labs 67 Whippany Rd. Phone: +1-973-386-2163Blumenthal/Maino/McCloghrie Expires April 2003 [Page 13]14D-318 Email: uri@bell-labs.com Whippany, NJ 07981, USA Fabio Maino Andiamo Systems, Inc. 375 East Tasman Drive Phone: +1-408-853-7530 San Jose, CA. 95134 USA Email: fmaino@andiamo.com Keith McCloghrie Cisco Systems, Inc. 170 East Tasman Drive Phone: +1-408-526-5260 San Jose, CA. 95134-1706 USA Email: kzm@cisco.comAppendix A A.1.Sample Results of Extension of Localized Keys The following shows a sample output of the algorithm that would be used to extend a 160-bit localized key generated with SHA, to a 256- bit localized key (e.g. to have enough key material to generate a 256-bit privKey for the usmAesCfb256PrivProtocol. Let's assume that the user U has a password of "maplesyrup" and that the key has been localized using SHA for the SNMP engine whose snmpEngineID is: '00000000 00000000 00000002'H The localized key will be the 160 bit long hex number: '6695febc 9288e362 82235fc7 151f1284 97b38f3f'H The 256-bit extended localized key will be generating applying the mechanism described in 1.2, using the SHA algorithm. The resulting extended localized key is: Kul = '6695febc 9288e362 82235fc7 151f1284 97b38f3f 505e07eb 9af25568 fa1f5dbe'H Note that the last 64 bits of the result of the extended key algorithm have been truncated to obtain a Kul that is exactly 256- bit long. Blumenthal/Maino/McCloghrie Expires April 2003 [Page 14]Full Copyright Statement Copyright (C) The Internet Society(2002).(2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.lumenthal/Maino/McCloghrieBlumenthal/Maino/McCloghrie ExpiresAprilAugust 2003 [Page15]12] ----