<?xml version="1.0" encoding="US-ASCII"?>
<!-- change the "txt" on the previous line to "xml" to make this a valid XML2RFC template --> 
<!-- this is version 5 of this xml2rfc template -->
<!--
    DOCTYPE processing

To use this XML template, the rfc2629.dtd from the xml2rfc distribution should 
be in the local directory. The xml2rfc distribution is available from 
http://xml.resource.org/

 The ENTITY clauses create an include of the named XML files, which
contains references written in xml2rfc format.

 XML2RFC offers an include feature described in the XML2RFC README
  file.  That syntax, however, contradicts the DTD requirements to
  have <reference> elements within the <references> element, so an 
  XML parser is likely to find your XML file invalid.  It may be
  possible that XML2RFC will change their DTD so that the XML file
  remains valid when their style of include is used.

Some editors, such as XXE, resolve the ENTITY clauses before displaying the 
document to be edited.
-->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc2223 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2223.xml">
<!ENTITY rfc2578 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2578.xml">
<!ENTITY rfc2579 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2579.xml">
<!ENTITY rfc2580 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2580.xml">
<!ENTITY rfc2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY rfc3410 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3410.xml">
<!ENTITY rfc4181 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4181.xml">
]>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc strict="no"?>
<?rfc rfcedstyle="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>

<!-- Document  section 

Specify the category attribute per RFC2026 
options are info, std, bcp, or exp. 

docname is the name of the output document. This is optional;
the default is to use the base portion of the XML filename. 

For Internet-drafts, indicate which intellectual property notice 
to use per the rules of RFC3978. The value (as of this template) can be:
    trust200902 -
    noModificationTrust200902 -
    noDerivativesTrust200902 -
    pre5378Trust200902 -

 The Intellectual Property section will be generated automatically by
  XML2RFC, based on the ipr attribute in the rfc element.

If this document obsoletes an RFC, specify the RFC in the "obsoletes" attribute
If this document updates an RFC, specify the RFC in the "updates" attribute
-->
<!-- used to be ipr="trust200902" -->
<rfc category="info" docName="draft-hmac-sha-2-usm-snmp-00" ipr="trust200902">
  <front>
    <!--
Enter the full document title and an abbreviated version
  to use in the page header.
-->

    <title abbrev="HMAC-SHA-2_Auth_USM">HMAC-SHA-2 Authentication 
      Protocols in USM for SNMP</title>

    <!-- copy the author block as many times as needed, one for each author.-->

    <!-- If the author is acting as editor, use the <role=editor> attribute-->

    <!-- see RFC2223 for guidelines regarding author names -->

    <author fullname="Johannes Merkle" initials="J.M." 
            surname="Merkle" role="editor">
      <organization>Secunet Security Networks</organization>
      <address>
        <postal>
          <street>Mergenthaler Allee 77</street>
          <city>65760 Eschborn</city>
          <country>Germany</country>
        </postal>
        <phone>+49 201 5454 3091</phone>
        <email>johannes.merkle@secunet.com</email>
      </address>
    </author>
    
    <author fullname="Manfred Lochter" initials="M.L." 
            surname="Lochter">
      <organization>BSI</organization>
      <address>
        <postal>
          <street>Postfach 200363</street>
          <city>53133 Bonn</city>
          <country>Germany</country>
        </postal>
        <phone>+49 228 9582 5643</phone>
        <email>manfred.lochter@bsi.bund.de</email>
      </address>
    </author>
    
    <!--
    <author fullname="Uri Blumenthal" initials="U.B."
    	surname="Blumenthal">
      <organization>MIT</organization>
    	<address>
    		<postal>
    			<street>14 Plain Rd</street>
    			<city>Westford</city>
    			<region>MA</region>
    		  <code>01886</code>
    			<country>USA</country>
    		</postal>
     		<email>uri@mit.edu</email>
    	</address>
    </author> -->

    <!-- month and day will be generated automatically by XML2RFC; 
         make sure the year is current.-->

    <date  year="2014" />

    <!-- IETF area is optional -->

  <!--  <area>Operations &amp; Management Area</area> -->

    <!--WG name at the upperleft corner of the doc, 
        IETF is fine for non-WG IETF submissions -->

  <!--   <workgroup>Operations and Management Area Working Group</workgroup>  -->
    <keyword>Network Management</keyword>

    <keyword>SNMP</keyword>

    <keyword>USM</keyword>

    <keyword>HMAC</keyword>
    
    <keyword>SHA-2</keyword>

    <!--add additional keywords here for IETF website search engine -->
  <abstract>
    <t> This memo specifies new optional HMAC-SHA-2 authentication 
      protocols for the User-based Security   Model (USM) for SNMPv3 
      defined in RFC 3414.</t>
  </abstract>
  </front>

  <middle>
    <section title="Introduction">
     
      <t>The User-based Security Model (USM) for version 3 of the Simple 
        Network Management Protocol (SNMPv3) is specified in 
        RFC 3414 <xref target="RFC3414"/>.
	      Within USM, two different authentication protocols, 
	      HMAC-MD5-96 and HMAC-SHA-96, are defined based on the hash 
	      functions MD5 and SHA-1, respectively. 
	  <!-- For very high security demands, however, these cryptographic 
	       mechanisms may not offer adequate security anymore. -->
	 This memo specifies new HMAC-SHA-2 authentication protocols for USM using an 
	  HMAC based on the SHA-2 family of hash functions <xref target="SHA"/> 
    and truncated to 128 bits for SHA-224 and SHA-256, to 192 bits for SHA-256, 
    to 256 bits for SHA-384 and SHA-512, and to 384 bits for SHA-512. 
    These protocols are straightforward adaptations of the 
    authentication protocols HMAC-MD5-96 and HMAC-SHA-96 to the SHA-2 based 
    HMAC. The use and support of HMAC-SHA-224-128, HMAC-SHA-256-128,
    HMAC-SHA-256-192, HMAC-SHA-384-256, HMAC-SHA-512-256, and HMAC-SHA-512-384 
	authentication protocols is 
    OPTIONAL. An implementer can choose any subset of the protocols specified 
    in this document - implementing one does not require to support the rest.</t>

     </section>
	 
 <section anchor="protocol" title="The HMAC-SHA-2 Authentication Protocols">
 
  <t>This section describes the HMAC-SHA-2 authentication protocols. They
   use the SHA-2 hash functions, which are described in 
    <xref target="SHA"/> and <xref target="RFC6234"/>,
   in HMAC mode described in <xref target="RFC2104"/> and
    <xref target="RFC6234"/>, truncating the output to 128
   bits for SHA-224 and SHA-256, 192 bits for SHA-256,
   256 bits for SHA-384 and SHA-512, and 384 bits for SHA-512.
   <xref target="RFC6234"/> also provides source code for all the 
   SHA-2 algorithms and
   HMAC (without truncation). It also includes test harness and standard
   test vectors for all the defined hash functions and HMAC examples.</t>
   
   <t>The following protocols are defined:</t>
   <t>
     <list>
     <t>usmHMACSHA224128AuthProtocol: uses SHA-224
       and truncates the output to 128 bits (16 octets);</t>
     <t>usmHMACSHA256128AuthProtocol: uses SHA-256
       and truncates the output to 128 bits (16 octets);</t>
     <t>usmHMACSHA256192AuthProtocol: uses SHA-256
       and truncates the output to 192 bits (24 octets);</t>
     <t>usmHMACSHA384256AuthProtocol: uses SHA-384
       and truncates the output to 256 bits (32 octets);</t>
     <t>usmHMACSHA512256AuthProtocol: uses SHA-512 
       and truncates the output to 256 bits (32 octets);</t>
     <t>usmHMACSHA512384AuthProtocol: uses SHA-512 
       and truncates the output to 384 bits (48 octets).</t>
   </list></t>
   
   <section anchor="differences" title="Deviations from the HMAC-SHA-96
     Authentication Protocol">
   
   <t>All the HMAC-SHA-2 authentication protocols are straightforward 
     adaptations of the HMAC-MD5-96 and HMAC-SHA-96 authentication protocols.
     Precisely, they differ from the HMAC-MD5-96 and HMAC-SHA-96 
     authentication protocols in the following aspects:</t> 

   <t><list style="symbols">
   <t> The SHA-2 hash function is used to compute the message digest in the 
     HMAC computation according to <xref target="RFC2104"/>, as opposed to 
     the MD5 hash function <xref target="RFC1321"/> and SHA-1 hash 
     function <xref target="SHA"/> used in HMAC-MD5-96 and HMAC-SHA-96, 
     respectively.
     
     Consequently, the length of the message digest prior to truncation 
     is 224 bits for SHA-224 based protocol, 256 bits for SHA-256 based 
     protocol, 384 bits for SHA-384 based protocol, and 512 bits
     for SHA-512 based protocol.</t>
   <t> The resulting message digest (output of HMAC) is truncated to 
    <list>
      <t>16 octets for usmHMACSHA224128AuthProtocol and usmHMACSHA256128AuthProtocol</t>
      <t>24 octets for usmHMACSHA256192AuthProtocol</t>
      <t>32 octets for usmHMACSHA384256AuthProtocol and usmHMACSHA512256AuthProtocol</t>
      <t>48 octets for usmHMACSHA512384AuthProtocol</t>
   </list>
      as opposed to the truncation to 12 octets in HMAC-MD5-96 and HMAC-SHA-96.</t>  
   <t>The user's secret key to be used when calculating a digest MUST be:
     <list>
       <t>28 octets long and derived with SHA-224 for the SHA-224 based protocol  usmHMACSHA224128AuthProtocol</t>
       <t>32 octets long and derived with SHA-256 for the SHA-256 based protocols usmHMACSHA256128AuthProtocol and usmHMACSHA256192AuthProtocol</t>
       <t>48 octets long and derived with SHA-384 for the SHA-384 based protocol  usmHMACSHA384256AuthProtocol</t>
       <t>64 octets long and derived with SHA-512 for the SHA-512 based protocols usmHMACSHA512256AuthProtocol and usmHMACSHA512384AuthProtocol</t>
     </list>
     as opposed to the keys being 16 and 20 octets long in 
     HMAC-MD5-96 and HMAC-SHA-96, respectively. </t>
   </list>
   </t>

</section>

 <section anchor="Procedure" title="Processing">

   <t>This section describes the procedures for the HMAC-SHA-2
   authentication protocols. 
   The descriptions are based on the definition of services and data 
   elements defined for HMAC-SHA-96 in RFC 3414 <xref target="RFC3414"/> 
   with the deviations listed in <xref target="differences" />.</t>

<section anchor="Procedure_Out" title="Processing an Outgoing Message">
  
  <t>Values of constants M and N used below, are:
    <list>
      <t>usmHMACSHA224128AuthProtocol: M=28, N=16;</t>
      <t>usmHMACSHA256128AuthProtocol: M=32, N=16;</t>
      <t>usmHMACSHA256192AuthProtocol: M=32, N=24;</t>
      <t>usmHMACSHA384256AuthProtocol: M=48, N=32;</t>
      <t>usmHMACSHA512256AuthProtocol: M=64, N=32;</t>
      <t>usmHMACSHA512384AuthProtocol: M=64, N=48.</t>
    </list>
    correspondingly.
  </t>

   <t>This section describes the procedure followed by an SNMP engine
   whenever it must authenticate an outgoing message using one of the
   authentication protocols defined above. </t>

   <t><list style="numbers">
   <t>The msgAuthenticationParameters field is set to serialization,
      according to the rules in <xref target="RFC3417"/>, of an 
      OCTET STRING containing N zero octets.</t>

   <t>From the secret authKey of M octets, calculate the HMAC-SHA-2 digest
      over it according to HMAC <xref target="RFC6234"/>.  
      Take the first N octets of the
      final digest - this is the Message Authentication Code (MAC).</t>

   <t>Replace the msgAuthenticationParameters field with the MAC obtained in
      the previous step.</t>

   <t>The authenticatedWholeMsg is then returned to the caller together
      with statusInformation indicating success.</t>
	  </list></t>
</section>

<section anchor="Procedure_In" title="Processing an Incoming Message">
   <t> Values of the constants M and N are the same as in 
     <xref target="Procedure_Out"></xref>, and are selected based
       on which authentication protocol is configured for the given
       USM usmUserTable entry.</t>
  
   <t>This section describes the procedure followed by an SNMP engine
   whenever it must authenticate an incoming message using the
   usmHMACSHA256AuthProtocol.</t>

   <t>
     <list style="format %d." counter="my_count">
      <t>If the digest received in the msgAuthenticationParameters field is
      not N octets long, then an failure and an errorIndication
      (authenticationError) is returned to the calling module.</t>

      <t>The MAC received in the msgAuthenticationParameters field is
      saved.</t>

      <t>The digest in the msgAuthenticationParameters field is replaced by
      the N zero octets.</t>

      <t>Using the secret authKey, the HMAC is calculated over the wholeMsg.</t>
   
      <t>N first octets of the above HMAC are taken as the computed MAC value.</t>
       
      <t>The msgAuthenticationParameters field is replaced with the MAC
      value that was saved in step 2.</t>
  
       <t>The newly calculated MAC is compared with the MAC saved in
      step 2.  If they do not match, then a failure and an
      errorIndication (authenticationFailure) are returned to the
      calling module.</t>

      <t>The authenticatedWholeMsg and statusInformation indicating success
      are then returned to the caller.</t>
    </list></t>
</section>
</section>
</section>
	
<section title="Key Localization and Key Change">
	<t>For any of the protocols defined in <xref target='protocol' />, key localization and key change SHALL be performed according 
	to <xref target="RFC3414"/> using the SHA-2 hash function applied in the respective protocol.</t>
</section>

	
   <section title="Definitions">	
	
     <figure>
        <artwork><![CDATA[

SNMP-USM-HMAC-SHA2-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        MODULE-IDENTITY, OBJECT-IDENTITY,
    snmpModules             FROM SNMPv2-SMI          -- [RFC2578]
    snmpAuthProtocols       FROM SNMP-FRAMEWORK-MIB; -- [RFC3411]

snmpUsmHmacSha2MIB MODULE-IDENTITY
    LAST-UPDATED "201403060000Z"               -- 16 Jan 2014, midnight
    CONTACT-INFO "Johannes Merkle
	              Secunet Security Networks
	              Mergenthaler Allee 77
	              65760 Eschborn 
	              Germany 
	              Phone: +49 20154543091
	              EMail: johannes.merkle@secunet.com 
				  
	              Manfred Lochter
	              Bundesamt fuer Sicherheit in der 
	              Informationstechnik (BSI)
	              Postfach 200363
	              53133 Bonn, 
	              Germany
	              Phone: +49 228 9582 5643
	              EMail: manfred.lochter@bsi.bund.de"
                                  
     DESCRIPTION  "Definitions of Object Identities needed
				  for the use of HMAC-SHA2 by SNMP's User-based 
				  Security Model.

                  Copyright (C) The Internet Society (2004).

            This version of this MIB module is part of RFC TBD;
            see the RFC itself for full legal notices.
            Supplementary information may be available on
            http://www.ietf.org/copyrights/ianamib.html."
			
	-- RFC Ed.: replace TBD with actual RFC number & remove this line
    REVISION     "201403060000Z"
    DESCRIPTION  "Initial version, published as RFC TBD"
	-- RFC Ed.: replace TBD with actual RFC number & remove this line

    ::= { snmpModules nn }        -- nn to be assigned by IANA


usmHmacSha224128Protocol OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION  "The HMAC-SHA-224-128 Authentication Protocol.
                 Uses HMAC-SHA-224 and truncates output to 128 bits."
    REFERENCE    "- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: 
	             Keyed-Hashing for Message Authentication", RFC 2104.
                  - National Institute of Standards and Technology, 
				  Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
    ::= { snmpAuthProtocols mm }  -- mm to be assigned by IANA

usmHmacSha256128Protocol OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION  "The HMAC-SHA-256-128 Authentication Protocol.
                 Uses HMAC-SHA-256 and truncates output to 128 bits."
    REFERENCE    "- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: 
	             Keyed-Hashing for Message Authentication", RFC 2104.

                  - National Institute of Standards and Technology, 
				  Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
    ::= { snmpAuthProtocols mm }  -- mm to be assigned by IANA

usmHmacSha256192Protocol OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION  "The HMAC-SHA-256-192 Authentication Protocol.
                 Uses HMAC-SHA-256 and truncates output to 192 bits."
    REFERENCE    "- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: 
	             Keyed-Hashing for Message Authentication", RFC 2104.

                  - National Institute of Standards and Technology, 
				  Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
    ::= { snmpAuthProtocols mm }  -- mm to be assigned by IANA

usmHmacSha384256Protocol OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION  "The HMAC-SHA-384-256 Authentication Protocol.
                 Uses HMAC-SHA-384 and truncates output to 256 bits."
    REFERENCE    "- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: 
	             Keyed-Hashing for Message Authentication", RFC 2104.
                  - National Institute of Standards and Technology, 
				  Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
    ::= { snmpAuthProtocols mm }  -- mm to be assigned by IANA

usmHmacSha512256Protocol OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION  "The HMAC-SHA-512-256 Authentication Protocol.
                  Uses HMAC-SHA-512 and truncates output to 256 bits."
    REFERENCE    "- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: 
	             Keyed-Hashing for Message Authentication", RFC 2104.
                  - National Institute of Standards and Technology, 
				  Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
    ::= { snmpAuthProtocols mm }  -- mm to be assigned by IANA
    
usmHmacSha512384Protocol OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION  "The HMAC-SHA-512-384 Authentication Protocol.
                  Uses HMAC-SHA-512 and truncates output to 384 bits."
    REFERENCE    "- Krawczyk, H., Bellare, M., and R. Canetti, HMAC: 
	             Keyed-Hashing for Message Authentication", RFC 2104.
                  - National Institute of Standards and Technology, 
				  Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
    ::= { snmpAuthProtocols mm }  -- mm to be assigned by IANA 

END

		
		
		]]></artwork>
      </figure>
    </section>	
	
 
    <section title="Security Considerations">

      <t>The security considerations of  <xref target="RFC3414"/> also apply 
        to the use of all the HMAC-SHA-2 authentication protocols in SNMP. 
	      A general discussion of the security of the HMAC construction is given 
	      in <xref target="RFC2104"/>.
	  </t>
    </section>

    <section title="IANA Considerations">
      <t>IANA is requested to assign OIDs for the objects defined in the 
        snmpUsmHmacSha2MIB module under the
        SnmpAuthProtocols subtree, maintained in the registry at
        http://www.iana.org/assignments/smi-numbers.</t>
    
      <t></t>
    </section>

 
  </middle>

  <back>

    <!-- References Section -->

    <!-- Section 4.7f of [RFC2223bis] specifies the requirements for the
   references sections.  In particular, there MUST be separate lists of
   normative and informative references, each in a separate section.
   The style SHOULD follow that of recently published RFCs.

   The standard MIB boilerplate available at
  the OPS Area web site includes lists of
   normative and informative references that MUST appear in all IETF
   specifications that contain MIB modules.  If items from other MIB
   modules appear in an IMPORTS statement in the Definitions section,
   then the specifications containing those MIB modules MUST be included
   in the list of normative references.  When items are imported from an
   IANA-maintained MIB module the corresponding normative reference
   SHALL reference the on-line version of that MIB module.  It is the
   policy of the RFC Editor that all references must be cited in the
   text;  such citations MUST appear in the overview section where
   documents containing imported definitions (other than those already
   mentioned in the MIB boilerplate) are required to be mentioned (cf.
   Section 3.2).

In general, each normative reference SHOULD reference the most recent
version of the specification in question.
-->

    <references title="Normative References">
        <!-- [TEMPLATE TODO] rfc2119, 2578, 2579, and 2580 are required to support MIB
      module boilerplate text. -->

	  <reference anchor='RFC2104'>

<front>
<title abbrev='HMAC'>HMAC: Keyed-Hashing for Message Authentication</title>
<author initials='H.' surname='Krawczyk' fullname='Hugo Krawczyk'>
<organization>IBM, T.J. Watson Research Center</organization>
<address>
<postal>
<street>P.O.Box 704</street>
<city>Yorktown Heights</city>
<region>NY</region>
<code>10598</code>
<country>US</country></postal>
<email>hugo@watson.ibm.com</email></address></author>
<author initials='M.' surname='Bellare' fullname='Mihir Bellare'>
<organization>University of California at San Diego, Dept of Computer Science and Engineering</organization>
<address>
<postal>
<street>9500 Gilman Drive</street>
<street>Mail Code 0114</street>
<city>La Jolla</city>
<region>CA</region>
<code>92093</code>
<country>US</country></postal>
<email>mihir@cs.ucsd.edu</email></address></author>
<author initials='R.' surname='Canetti' fullname='Ran Canetti'>
<organization>IBM T.J. Watson Research Center</organization>
<address>
<postal>
<street>P.O.Box 704</street>
<city>Yorktown Heights</city>
<region>NY</region>
<code>10598</code>
<country>US</country></postal>
<email>canetti@watson.ibm.com</email></address></author>
<date year='1997' month='February' />
<abstract>
<t>This document describes HMAC, a mechanism for message authentication using cryptographic hash functions. HMAC can be used with any iterative cryptographic hash function, e.g., MD5, SHA-1, in combination with a secret shared key.  The cryptographic strength of HMAC depends on the properties of the underlying hash function.</t></abstract></front>

<seriesInfo name='RFC' value='2104' />
<format type='TXT' octets='22297' target='http://www.rfc-editor.org/rfc/rfc2104.txt' />
</reference>

	  
      &rfc2119;

<reference anchor='RFC3414'>
<front>
<title>User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)</title>
<author initials='U.' surname='Blumenthal' fullname='U. Blumenthal'>
<organization /></author>
<author initials='B.' surname='Wijnen' fullname='B. Wijnen'>
<organization /></author>
<date year='2002' month='December' />
<abstract>
<t>This document describes the User-based Security Model (USM) for Simple Network Management Protocol (SNMP) version 3 for use in the SNMP architecture.  It defines the Elements of Procedure for providing SNMP message level security.  This document also includes a Management Information Base (MIB) for remotely monitoring/managing the configuration parameters for this Security Model.  This document obsoletes RFC 2574. [STANDARDS-TRACK]</t></abstract></front>
<seriesInfo name='STD' value='62' />
<seriesInfo name='RFC' value='3414' />
<format type='TXT' octets='193558' target='http://www.rfc-editor.org/rfc/rfc3414.txt' />
</reference>

 	  
      <reference anchor="SHA">
      <front>
      <title>Secure Hash Standard (SHS)</title>
      <author>
      <organization>National Institute of Standards and Technology</organization>
      </author>
      <date month="March" year="2012" />
      </front>
      <seriesInfo name="FIPS" value="PUB 180-4" />
      </reference>

    </references>

    <references title="Informative References">

<!--  RFC3410 is required to support the boilerplate text.-->

<reference anchor='RFC1321'>

<front>
<title abbrev='MD5 Message-Digest Algorithm'>The MD5 Message-Digest Algorithm</title>
<author initials='R.' surname='Rivest' fullname='Ronald L. Rivest'>
<organization>Massachusetts Institute of Technology, (MIT) Laboratory for Computer Science</organization>
<address>
<postal>
<street>545 Technology Square</street>
<street>NE43-324</street>
<city>Cambridge</city>
<region>MA</region>
<code>02139-1986</code>
<country>US</country></postal>
<phone>+1 617 253 5880</phone>
<email>rivest@theory.lcs.mit.edu</email></address></author>
<date year='1992' month='April' /></front>

<seriesInfo name='RFC' value='1321' />
<format type='TXT' octets='35222' target='http://www.rfc-editor.org/rfc/rfc1321.txt' />
</reference>


  <reference anchor='RFC3411'>

<front>
<title>An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks</title>
<author initials='D.' surname='Harrington' fullname='D. Harrington'>
<organization /></author>
<author initials='R.' surname='Presuhn' fullname='R. Presuhn'>
<organization /></author>
<author initials='B.' surname='Wijnen' fullname='B. Wijnen'>
<organization /></author>
<date year='2002' month='December' />
<abstract>
<t>This document describes an architecture for describing Simple Network Management Protocol (SNMP) Management Frameworks.  The architecture is designed to be modular to allow the evolution of the SNMP protocol standards over time.  The major portions of the architecture are an SNMP engine containing a Message Processing Subsystem, a Security Subsystem and an Access Control Subsystem, and possibly multiple SNMP applications which provide specific functional processing of management data.  This document obsoletes RFC 2571. [STANDARDS-TRACK]</t></abstract></front>

<seriesInfo name='STD' value='62' />
<seriesInfo name='RFC' value='3411' />
<format type='TXT' octets='140096' target='http://www.rfc-editor.org/rfc/rfc3411.txt' />
</reference>

<reference anchor='RFC3412'>

<front>
<title>Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)</title>
<author initials='J.' surname='Case' fullname='J. Case'>
<organization /></author>
<author initials='D.' surname='Harrington' fullname='D. Harrington'>
<organization /></author>
<author initials='R.' surname='Presuhn' fullname='R. Presuhn'>
<organization /></author>
<author initials='B.' surname='Wijnen' fullname='B. Wijnen'>
<organization /></author>
<date year='2002' month='December' />
<abstract>
<t>This document describes the Message Processing and Dispatching for Simple Network 
 Management Protocol (SNMP) messages within the SNMP architecture.  
 It defines the procedures for dispatching potentially multiple versions of SNMP messages 
 to the proper SNMP Message Processing Models, and for dispatching PDUs to SNMP applications.  
 This document also describes one Message Processing Model - the SNMPv3 Message Processing 
 Model.  This document obsoletes RFC 2572. [STANDARDS-TRACK]</t></abstract></front>
<seriesInfo name='STD' value='62' />
<seriesInfo name='RFC' value='3412' />
<format type='TXT' octets='95710' target='http://www.rfc-editor.org/rfc/rfc3412.txt' />
</reference>

<reference anchor='RFC3417'>

<front>
<title>Transport Mappings for the Simple Network Management Protocol (SNMP)</title>
<author initials='R.' surname='Presuhn' fullname='R. Presuhn'>
<organization /></author>
<date year='2002' month='December' />
<abstract>
<t>This document defines the transport of Simple Network Management Protocol (SNMP) 
   messages over various protocols.  This document obsoletes RFC 1906. 
   [STANDARDS-TRACK]</t></abstract></front>
<seriesInfo name='STD' value='62' />
<seriesInfo name='RFC' value='3417' />
<format type='TXT' octets='38650' target='http://www.rfc-editor.org/rfc/rfc3417.txt' />
</reference>


<reference anchor='RFC4231'>
<front>
<title>Identifiers and Test Vectors for HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384, 
 and HMAC-SHA-512</title>
<author initials='M.' surname='Nystrom' fullname='M. Nystrom'>
<organization /></author>
<date year='2005' month='December' />
<abstract>
<t>This document provides test vectors for the HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384, 
   and HMAC-SHA-512 message authentication schemes.  It also provides ASN.1 object 
   identifiers and Uniform Resource Identifiers (URIs) to identify use of these schemes 
   in protocols.  The test vectors provided in this document may be used for conformance 
   testing. [STANDARDS-TRACK]</t></abstract></front>
<seriesInfo name='RFC' value='4231' />
<format type='TXT' octets='17725' target='http://www.rfc-editor.org/rfc/rfc4231.txt' />
</reference>

<!--
<reference anchor='RFC4634'>
<front>
<title>US Secure Hash Algorithms (SHA and HMAC-SHA)</title>
<author initials='D.' surname='Eastlake' fullname='D. Eastlake'>
<organization /></author>
<author initials='T.' surname='Hansen' fullname='T. Hansen'>
<organization /></author>
<date year='2006' month='July' />
<abstract>
<t>The United States of America has adopted a suite of Secure Hash Algorithms (SHAs), 
   including four beyond SHA-1, as part of a Federal Information Processing Standard 
   (FIPS), specifically SHA-224 (RFC 3874), SHA-256, SHA-384, and SHA-512. 
   The purpose of this document is to make source code performing these hash 
   functions conveniently available to the Internet community. The sample code supports 
   input strings of arbitrary bit length. SHA-1's sample code from RFC 3174 has also 
   been updated to handle input strings of arbitrary bit length. Most of the text 
   herein was adapted by the authors from FIPS 180-2.
   Code to perform SHA-based HMACs, with arbitrary bit length text, is also included. 
   This memo provides information for the Internet community.</t></abstract></front>
<seriesInfo name='RFC' value='4634' />
<format type='TXT' octets='197147' target='http://www.rfc-editor.org/rfc/rfc4634.txt' />
</reference>
-->

<reference anchor='RFC4868'>
<front>
<title>Using HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512 with IPsec</title>
<author initials='S.' surname='Kelly' fullname='S. Kelly'>
<organization /></author>
<author initials='S.' surname='Frankel' fullname='S. Frankel'>
<organization /></author>
<date year='2007' month='May' />
<abstract>
<t>This specification describes the use of Hashed Message Authentication Mode (HMAC) in 
   conjunction with the SHA-256, SHA-384, and SHA-512 algorithms in IPsec.  
   These algorithms may be used as the basis for data origin authentication and integrity 
   verification mechanisms for the Authentication Header (AH), Encapsulating Security 
   Payload (ESP), Internet Key Exchange Protocol (IKE), and IKEv2 protocols, and also 
   as Pseudo-Random Functions (PRFs) for IKE and IKEv2.  Truncated output lengths 
   are specified for the authentication-related variants, with the corresponding 
   algorithms designated as HMAC-SHA-256-128, HMAC-SHA-384-192, and HMAC-SHA-512-256.  
   The PRF variants are not truncated, and are called PRF-HMAC-SHA-256, PRF-HMAC-SHA-384, 
   and PRF-HMAC-SHA-512. [STANDARDS-TRACK]</t></abstract></front>
<seriesInfo name='RFC' value='4868' />
<format type='TXT' octets='41432' target='http://www.rfc-editor.org/rfc/rfc4868.txt' />
</reference>
      
<reference anchor='RFC6234'>
  <front>
    <title>US Secure Hash Algorithms
      (SHA and SHA-based HMAC and HKDF)</title>
    <author initials='D.' surname='Eastlate 3rd' fullname='D. Eastlake 3rd'>
      <organization>Hoawei</organization></author>
    <author initials='T.' surname='Hansen' fullname='T. Hansen'>
      <organization>AT&amp;T Labs</organization>
    </author>
    <date year='2011' month='May' />
    <abstract>
      <t>The United States of America has adopted a suite of Secure Hash
        Algorithms (SHAs), including four beyond SHA-1, as part of a Federal
        Information Processing Standard (FIPS), namely SHA-224, SHA-256,
        SHA-384, and SHA-512.  This document makes open source code
        performing these SHA hash functions conveniently available to the
        Internet community.  The sample code supports input strings of
        arbitrary bit length.  Much of the text herein was adapted by the
        authors from FIPS 180-2.
        
        This document replaces RFC 4634, fixing errata and adding code for an
        HMAC-based extract-and-expand Key Derivation Function, HKDF (RFC
        5869).  As with RFC 4634, code to perform SHA-based Hashed Message
        Authentication Codes (HMACs) is also included.</t></abstract></front>
  <seriesInfo name='RFC' value="6234" />
  <format type="TXT" octets="23653" target="http://tools.ietf.org/rfc/rfc6234.txt" />
</reference>

<!--
<reference anchor='RFC6151'>
<front>
<title>Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms</title>
<author initials='S.' surname='Turner' fullname='S. Turner'>
<organization /></author>
<author initials='L.' surname='Chen' fullname='L. Chen'>
<organization /></author>
<date year='2011' month='March' />
<abstract>
<t>This document updates the security considerations for the MD5 message digest algorithm. 
 It also updates the security considerations for HMAC-MD5.  This document is not an 
 Internet Standards Track specification; it is published for informational 
 purposes.</t></abstract></front>
<seriesInfo name='RFC' value='6151' />
<format type='TXT' octets='14662' target='http://www.rfc-editor.org/rfc/rfc6151.txt' />
</reference>
-->

    </references>
    
  
    <!--
<section anchor="appendix" title="Appendix A">
	<t>You can add appendices just as regular sections, the only
difference is that they go under "back" element, and get letters 
instead of numbers</t>
</section>
-->

 

    <!--
$Id: mib-doc-template.xml,v 1.5 2008/04/08 17:39:56 H73653 Exp $

  -->
  </back>
</rfc>
