<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc5415 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5415.xml">
<!ENTITY rfc3748 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3748.xml">
<!ENTITY rfc5247 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5247.xml">
<!ENTITY rfc3394 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3394.xml">
<!ENTITY rfc2865 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2865.xml">
<!ENTITY rfc3588 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3588.xml">
<!ENTITY rfc3447 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3447.xml">
<!ENTITY rfc4017 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4017.xml">
<!ENTITY rfc4492 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4492.xml">
<!ENTITY rfc4868 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4868.xml">
<!ENTITY rfc3526 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3526.xml">
<!ENTITY rfc4301 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4301.xml">
<!ENTITY rfc5246 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5246.xml">
<!ENTITY rfc6347 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6347.xml">
]>
<?xml-stylesheet type='text/xsl' href='http://xml.resource.org/authoring/rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>
<rfc category="info" docName="draft-orr-wlan-security-architectures-00"
     ipr="trust200902" obsoletes="" submissionType="IETF" updates=""
     xml:lang="en">
  <front>
    <title abbrev="WLAN-Security-Architectures">Cryptographic Security
    Characteristics of 802.11 Wireless LAN Access Systems</title>

    <author fullname="Stephen M. Orr" initials="S.M.O." surname="Orr">
      <organization>Cisco Systems, Inc.</organization>

      <address>
        <postal>
          <street>1 Paragon Drive</street>

          <street>Suite 275</street>

          <city>Montvale</city>

          <region>NJ</region>

          <code>07645</code>

          <country>US</country>
        </postal>

        <email>sorr@cisco.com</email>
      </address>
    </author>

    <author fullname="Anthony H. Grieco" initials="A.H.G." surname="Grieco">
      <organization>Cisco Systems, Inc.</organization>

      <address>
        <postal>
          <street>7025 Kit Creek Road</street>

          <city>RTP</city>

          <region>NC</region>

          <code>27709</code>

          <country>US</country>
        </postal>

        <email>agrieco@cisco.com</email>
      </address>
    </author>

    <author fullname="Dan Harkins" initials="D.H." surname="Harkins">
      <organization>Aruba Networks</organization>

      <address>
        <postal>
          <street>1322 Crossman ave</street>

          <city>Sunnyvale</city>

          <region>CA</region>

          <code>94089</code>

          <country>US</country>
        </postal>

        <email>dharkins@arubanetworks.com</email>
      </address>
    </author>

    <date month="October" year="2012"/>

    <area>General</area>

    <keyword>Cryptography</keyword>

    <abstract>
      <t>This note identifies all of the places that cryptography is used in
      Wireless Local Area Network (WLAN) architectures, to simplify the task
      of selecting the protocols, algorithms, and key sizes needed to achieve
      a consistent security level across the entire architecture.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction" toc="default">
      <t>Wireless LAN Access Systems (WLAS) are complex systems that involve
      interworking many technology components defined by various standards
      bodies. To ensure that the entire system is secure against
      sophisticated, persistent, and well-funded adversaries, each component
      MUST use strong cryptography. However, the architectural-level
      cryptographic capabilities and relationships between the various
      protocols and security mechanisms provide by each of the WLAS
      architecture components have not been documented.</t>

      <t>In this note, we define a series of architectures based on common
      wireless LAN standards; <xref target="IEEE.802-11.2012">IEEE 802.11
      </xref>, <xref target="RFC5415"> Control and Provisioning of Wireless
      Access Points</xref>, <xref target="RFC2865">RADIUS</xref>, <xref
      target="IEEE.802-1X.2010">IEEE 802.1x</xref>, and the <xref
      target="RFC5247">Extensible Authentication Protocol </xref>. Within each
      of these architectures, we describe the uses of cryptography and in
      doing so, we capture an overall understanding of the cryptographic
      security of the Wireless LAN Access Systems. This document can also
      serve as a framework for future specifications to define profiles that
      specify particular cryptographic algorithms at each area of the
      architecture creating detailed specifications for interoperability with
      well understood cryptographic security properties.</t>

      <t>This document does not define new protocols, nor cryptographic
      algorithms.</t>
    </section>

    <section title="Conventions Used In This Document" toc="default">
      <t>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 <xref format="default"
      pageno="false" target="RFC2119"/>.</t>
    </section>

    <section anchor="architectures" title="Architectures" toc="default">
      <section title="Overview" toc="default">
        <t>The Wireless LAN Access System (WLAS) architectures discussed in
        this document describe host/user and network authentication, over the
        air security, as well as various methods for managing the backend
        processes to support that wireless LAN access system. These backend
        processes include both distributed as well as non-distributed
        infrastructures for doing access control, authentication and
        Radio-Frequency management.</t>
      </section>

      <section anchor="standalone" title="Standalone WLAS" toc="default">
        <t>The Standalone WLAS consist of a Wireless Termination Point (WTP or
        Access Point) and a client. The client contains an <xref
        target="IEEE.802-1X.2010">IEEE 802.1x</xref> supplicant and the client
        side of an <xref target="RFC3748">EAP method</xref>. The WTP contains
        an <xref target="IEEE.802-1X.2010">IEEE 802.1x</xref> authenticator.
        An Authentication, Authorization and Accounting Service (AAA), which
        incorporates the server side of at least one <xref
        target="RFC3748">EAP method</xref>, resides either on the WTP or as a
        stand-alone server. This architecture is commonly deployed in small
        scale environments such as consumer and commercial deployments, or in
        places where backend resources are not available to provide a more
        distributed architecture. If 802.1x authentication is not deployed
        then 802.11 SAE authentication SHOULD be used for secure
        authentication using a pre-shared key or password.</t>

        <figure align="center" alt="" anchor="Standalone_WLAS" height=""
                title="Standalone WLAS Architecture" width="">
          <artwork><![CDATA[
client(s)        WTP            AAA Service
                                
   |-------------(1)----------------|
                  |-------(2)-------|
   |------(3)-----|
     
              ]]></artwork>
        </figure>

        <t>Each of the lines in Figure 1 denotes communication that MUST be
        secured. The numbers are defined in (<xref target="arch_common"/>).
        This notation is used throughout this note.</t>
      </section>

      <section anchor="centralized" title="Centralized WLAS">
        <t>The Centralized WLAS is similar to the Standalone AP architecture
        with the addition of an Access Controller (AC) to manage the
        collection of WTP's. By moving the <xref target="IEEE.802-1X.2010">
        IEEE 802.1x</xref> authenticator off the WTPs and centralizing it on
        the Access Controller, this architecture allows for large scale
        deployments of secure wireless infrastructure. As with <xref
        target="standalone"/> the AAA service can be incorporated on the AC or
        reside on a stand-alone server. This architecture supports <xref
        target="RFC5415"/> for control and provisioning of wireless access
        points (CAPWAP).</t>

        <figure align="center" alt="" anchor="Centralized_WLAS" height=""
                title="Centralized WLAS Architecture" width="Centralized WLAS">
          <artwork><![CDATA[
client(s)        WTP          Access Controller     AAA Service
                                                        
                  |-------(4)--------|  
    |------------------------(1)-------------------------|
                                     |-------(2)---------|
    |----(3a)------| or
    |------------(3b)-----------------|    
            ]]></artwork>
        </figure>
      </section>

      <section anchor="arch_common" title="Architectural Commonality">
        <t>In each of the above architectures, there are necessary services
        that we will describe in more details in the sections below. (1)
        describes authentication and authorization communications that occurs
        between the client and the AAA service in the form of an EAP method.
        (2) describes additional communications that occurs in support of EAP,
        as well as distribution of other keying material via the AAA service.
        (3a) and (3b) describe the cryptographic security applied to <xref
        target="IEEE.802-11.2012"/> frames. In (3a), the frames are terminated
        on the WTP; in (3b) the frames are terminated on the AC. (4) Describes
        the authentication and cryptography security between the WTP and the
        access controller.</t>
      </section>
    </section>

    <section anchor="wtp_to_ac"
             title="WTP to Access Controller Service Cryptographic Security"
             toc="default">
      <!---->

      <!---->

      <t>Specific to the Centralized WLAS Architecture is the establishment of
      a secure channel between the WTP and the AC. This command channel MUST
      be secured to insure both confidentiality and integrity of the
      communication between the AC and the WTP. The IETF has defined CAPWAP
      <xref target="RFC5415"/> to communicate between the WTP and the AC but
      there are other, proprietary, tunneling protocols to perform the same
      task. However, standards based security protocols such as DTLS, TLS or
      IPSEC MUST provide the authenticity and integrity assurance for securing
      any tunneling or encapsulation mechanism.</t>

      <t>There are two channels between the WTP and AC that need security--
      the command and control channel; and, the data channel. Through the
      command and control channel, the AC configures, queries and manages the
      WTP, and the WTP reports status and airtime monitoring information to
      the AC. Traffic sent between the client and the network behind the AC
      goes through the data channel.</t>

      <t><xref target="RFC5415"/> defines using <xref target="RFC6347">DTLS
      </xref>to protect the control and data channels. Other protocols such as
      <xref target="RFC4301">IPSec</xref> or <xref target="RFC5246">TLS</xref>
      can also be implemented to secure the control traffic in addition to the
      user data channel.</t>

      <t>In order to establish secure connections between the WTP and AC
      credentials MUST be deployed on each device. The most obvious choice is
      an X.509 certificate which can be used to perform mutual authentication
      with <xref target="RFC6347">DTLS</xref>, <xref
      target="RFC4301">IPsec</xref> or <xref target="RFC5246"> TLS</xref>.</t>
    </section>

    <section anchor="client_to_aaa"
             title="Client to AAA Service Cryptographic Security"
             toc="default">
      <section anchor="client_to_aaa_eap" title="EAP Method" toc="default">
        <t>The <xref target="IEEE.802-11.2012"/>standard defines a Robust
        Security Network (RSN). An RSN can utilizes <xref
        target="IEEE.802-1X.2010">IEEE 802.1x</xref> and the Extensible
        Authentication Protocol <xref target="RFC3748"/>, or it can use the
        SAE protocol in <xref target="IEEE.802-11.2012"/> to provide
        authentication and key management services between the client and
        WLAS. EAP Authentication occurs between the client and the AAA service
        which may reside within a component of the WLAS (WTP or AC) or as a
        standalone AAA Server. It is not the intent of this document to
        specify the type of transport for the authentication service (i.e
        RADIUS, <xref target="RFC3588">Diameter</xref> etc) or the specific
        communication channel between the Network Access Server (NAS) and the
        Authentication Service. Mutual-Authentication is achieved through the
        establishment of a secure channel for exchanging credentials between
        the client and the Authentication Server utilizing an EAP method which
        satisfies the requirements of <xref target="RFC4017"/>. The main
        output of the EAP process is the generation of the Master Session Key
        (MSK) and Extended Master Session Key (EMSK) known only to the Client
        (supplicant) and the AAA server that will be used to generate the
        keying material for the cipher suites. An in depth discussion on EAP
        Key management can be found in EAP Key Management Framework document
        <xref target="RFC5247"/>.</t>
      </section>

      <section anchor="client_to_aaa_psk"
               title="Pre Shared Key, or Password, Method" toc="default">
        <t>When 802.1X is not used, a pre-shared key or password/passphrase
        can be used with the SAE protocol from <xref
        target="IEEE.802-11.2012"/> to perform the mutual authentication and
        key management functions required by an RSN. SAE employs a
        zero-knowledge proof protocol that allows the client and WTC/AC to
        prove knowledge of a shared secret (PSK or password or passphrase)
        without disclosing the secret. It is resistant to off-line dictionary
        attack. The result of the SAE protocol is a cryptographically strong
        PMK based on discrete logarithm cryptography.</t>

        <t>An alternative to SAE is the pre-shared KEY mode of <xref
        target="IEEE.802-11.2012"/> referred to by the Wi-Fi Alliance as Wi-Fi
        Protected Access Personal (WPA2-PSK). With WPA2-PSK, the pre-shared
        key repeatedly hashed to directly generate a 256-bit PMK. This
        technique should be avoided, though, as is susceptible to off-line
        dictionary attack and numerous attack tools to subvert WPA2-PSK exist
        on the Internet.</t>
      </section>
    </section>

    <section anchor="auth_to_aaa"
             title="Authenticator to AAA Service Cryptographic Security"
             toc="default">
      <t>As stated in the previous section, the byproduct of EAP
      authentication is the generation of keying material to be used in the
      cryptographic process between the client and the WTP to secure the over
      the air communications. The AAA server generates the AAA key which will
      be forwarded directly to the WTP in a Standalone WLAS, and forwarded to
      the AC in a Centralized WLAS where they will generate the Pairwise
      Master Key (PMK) (bits 0-255 of the AAA key). The transmission of the
      AAA key needs to be protected between the AAA server and the WTP or the
      AAA server and the AC depending on which architecture is deployed. NIST
      has previously made recommendations on securely encrypting plain text
      keying material for transport over insecure media with AES Key Wrap
      <xref target="AES_Key_Wrap"/> as well as industry with the Advanced
      Encryption Standard Key Wrap Algorithm <xref target="RFC3394"/>. In
      addition to the transport of the keying material it is suggested that
      all AAA traffic between the Authenticator (WTP or AC) and the <!---->
      Authentication Service (AAA) be secured by standards based methods such
      as, but not limited to: IPSEC, TLS or DTLS.</t>
    </section>

    <section anchor="client_to_wtp"
             title="Wireless Link Layer Cryptographic Security" toc="default">
      <t>Upon completion of an authentication protocol, such as SAE or <xref
      target="IEEE.802-1X.2010"/>, the client and AC (or WTP) share a PMK.
      Since the PMK may be been disclosed by an external AAA server to the AC
      (or WTP) it is necessary to perform a key confirmation handshake. <xref
      target="IEEE.802-11.2012"/> defines the 4-way Handshake to prove
      possession of the PMK and to derive a transient session key, called the
      PTK, which is used to secure the wireless link layer. During the 4-way
      handshake, the WTP or AC also discloses a broadcast/multicast key,
      called the GTK, to use for the wireless media.</t>

      <t>Wireless link layer communication is protected through the Advanced
      Encryption Standard Counter Mode with Cipher Block Chaining Message
      Authentication Code Protocol (AES-CCMP). AES-CCMP is currently the
      preferred cryptographic algorithm for both unicast and
      multicast/broadcast traffic. The client is the source and sink of a
      secure bi-directional data flow. The other end of that flow can be
      either the WTP or the AC, depending on whether it is a <xref
      target="standalone">standalone WLAS</xref> or a <xref
      target="centralized">centralized WLAS</xref>, respectively.</t>
    </section>

    <section title="Cryptographic profiles" toc="default">
      <t>In each of the above architectural areas, there are a number of
      different security protocols that serve various functions needed to
      build secure wireless LAN architectures. Each protocol has important
      choices to be made in context of this overall cryptographic security
      within that protocol and subsequently has significant impacts to the
      overall security parameters of the system. The security mechanisms are
      summarized in Table 1.</t>

      <texttable align="center" anchor="protocol_interaction" style="all"
                 title="Cryptographic Security Interactions">
        <ttcol align="center"/>

        <ttcol align="center">Client</ttcol>

        <ttcol align="center">WTP</ttcol>

        <ttcol align="center">AC</ttcol>

        <ttcol align="center">AAA</ttcol>

        <c>Client</c>

        <c/>

        <c>802.11</c>

        <c>3rd Party; 802.1x Supplicant</c>

        <c>EAP w/TLS</c>

        <c>WTP</c>

        <c>802.11</c>

        <c/>

        <c>DTLS; IPSEC</c>

        <c>TLS, DTLS, IPSec, AES KeyWrap (Standalone Architecture)</c>

        <c>AC</c>

        <c>3rd Party; 802.1x Supplicant</c>

        <c>DTLS; IPSEC</c>

        <c/>

        <c>TLS, DTLS, IPSec, AES KeyWrap</c>

        <c>AAA</c>

        <c>EAP w/TLS</c>

        <c>TLS, DTLS, IPSec, AES KeyWrap (Standalone Architecture)</c>

        <c>TLS, DTLS, IPSec, AES KeyWrap</c>

        <c/>
      </texttable>

      <section anchor="DTLS_and_TLS" title="DTLS and TLS" toc="default">
        <t>TLS and DTLS are well studied and documented from a cryptographic
        strength perspective and there are a number of works that create
        profiles for TLS and DTLS and its use within systems of varying
        security requirements. <xref target="table_TLS"/> provides an example
        of the cryptographic functional requirements necessary to define a TLS
        CipherSuite and associated security of each. When profiling against
        this document, authors MUST define cryptographic algorithms for each
        function in <xref target="table_TLS"/></t>

        <texttable anchor="table_TLS" style="all"
                   title="DTLS and TLS Cryptographic Security Algorithms">
          <ttcol align="center">Function</ttcol>

          <ttcol align="center">Example Algorithms</ttcol>

          <ttcol align="center">Cryptographic Strength</ttcol>

          <ttcol align="center">Algorithm Reference</ttcol>

          <ttcol align="center">Cryptographic Strength Reference</ttcol>

          <c>Authentication</c>

          <c>RSA 2048</c>

          <c>112</c>

          <c><xref target="RFC3447"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>Key Exchange</c>

          <c>ECC P256</c>

          <c>128</c>

          <c><xref target="RFC4492"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>Payload Protection</c>

          <c>AES 128 CBC</c>

          <c>128</c>

          <c><xref target="FIPS.197.2001"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>Message Auth</c>

          <c>HMAC-SHA-1</c>

          <c>128</c>

          <c><xref target="NIST.PUB.198A"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>
        </texttable>

        <t>Throughout the Wireless LAN Access System, TLS and DTLS are used in
        a number of different places. Someone profiling wireless architectures
        might require alternative algorithm definitions for different uses of
        TLS/DTLS in the architecture. One example might be a place that
        describes using TLS or DTLS to protect the transport of an ephemeral
        key vs its use to protect a long lived secret. In this case, a profile
        might be willing to trade off less security of the cryptographic
        algorithms for the ephemeral key.</t>

        <t><xref target="table_TLS_usage"/> shows the places in the wireless
        architectures described in <xref target="architectures"/> that TLS or
        DTLS can be used</t>

        <texttable anchor="table_TLS_usage" style="all"
                   title="DTLS and TLS Architectural Usage">
          <ttcol align="center">Location in Architecture</ttcol>

          <ttcol align="center">Protocol</ttcol>

          <ttcol align="center">Used to Protect</ttcol>

          <c><xref target="wtp_to_ac">WTP To Access Controller
          Service</xref></c>

          <c>CAPWAP using DTLS</c>

          <c>Management, session keys, user traffic</c>

          <c><xref target="client_to_aaa">Client to AAA Service</xref></c>

          <c>EAP method using TLS</c>

          <c>session keys, authentication</c>

          <c><xref target="auth_to_aaa">Authenticator to AAA
          Service</xref></c>

          <c>DTLS/TLS, IPSec</c>

          <c>Confidentiality and Authenticity of Radius traffic (wrapped
          session keys)</c>
        </texttable>
      </section>

      <section title="X.509 Certificates" toc="default">
        <t>The security level provided by algorithm and key length choice for
        X.509 Certificates is well studied solely in context of the
        certificates itself. <xref target="table_x509"/> lists the types of
        cryptographic security functions used within X.509 Certificates and
        provides examples for each. Any profile of Wireless LAN Architecture
        MUST include definitions for each cryptographic security function used
        within X.509 certificates.</t>

        <texttable anchor="table_x509" style="all"
                   title="X.509 Certificate Cryptographic Security Functions">
          <ttcol align="center">Function</ttcol>

          <ttcol align="center">Example Algorithms</ttcol>

          <ttcol align="center">Cryptographic Strength</ttcol>

          <ttcol align="center">Algorithm Reference</ttcol>

          <ttcol align="center">Cryptographic Strength Reference</ttcol>

          <c>Signature Algorithm</c>

          <c>RSA with 2048 bit public keys</c>

          <c>112</c>

          <c><xref target="RFC3447"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>Public Key Algorithm</c>

          <c>RSA 2048</c>

          <c>112</c>

          <c><xref target="RFC3447"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>Hash Function</c>

          <c>SHA256</c>

          <c>128</c>

          <c><xref target="FIPS-180-3"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>
        </texttable>

        <t>Throughout the Wireless LAN Access System, X.509 certificates are
        used in a number of different places. <xref
        target="table_x509_usage"/> shows the places in the wireless
        architectures described in <xref target="architectures"/> that X.509
        Certificates are potentially used</t>

        <texttable anchor="table_x509_usage" style="all"
                   title="X.509 Architectural Usage">
          <ttcol align="center">Location in Architecture</ttcol>

          <ttcol align="center">Protocol</ttcol>

          <ttcol align="center">Used to Protect</ttcol>

          <c><xref target="wtp_to_ac">WTP To Access Controller
          Service</xref></c>

          <c>DTLS used within CAPWAP; IPSec</c>

          <c>Authenticity of Management, session keys, user traffic</c>

          <c><xref target="client_to_aaa">Client to AAA Service</xref></c>

          <c>TLS (Example EAP Method)</c>

          <c>Authenticity of session keys, authentication</c>

          <c><xref target="auth_to_aaa">Authenticator to AAA
          Service</xref></c>

          <c>DTLS, TLS or IPSec</c>

          <c>Authenticity of AAA traffic (wrapped session keys)</c>
        </texttable>
      </section>

      <section title="Link Layer Encryption" toc="default">
        <t>Link Layer encryption for Wireless LAN Access Systems is well
        defined by the IEEE 802.11-2012 standard Future 802.11 standards need
        to address link layer encryption as an integral part of the standard.
        Current 802.11 standards require the implementation of 128 bit key
        length.</t>

        <t/>

        <texttable anchor="table_link_layer_functions" style="all"
                   title="Link Layer Security Algorithms">
          <ttcol align="center">Function</ttcol>

          <ttcol align="center">Example Algorithms</ttcol>

          <ttcol align="center">Cryptographic Strength</ttcol>

          <ttcol align="center">Algorithm Reference</ttcol>

          <ttcol align="center">Cryptographic Strength Reference</ttcol>

          <c>802.1x 4 Way Handshake</c>

          <c>AES Key Wrap with HMAC-SHA1-128</c>

          <c>128</c>

          <c><xref target="IEEE.802-11.2012"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>Message Authentication</c>

          <c>HMAC-SHA-1</c>

          <c>128</c>

          <c><xref target="NIST.PUB.198A"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>Pseudo-Random Function</c>

          <c>HMAC-SHA-1</c>

          <c>128</c>

          <c><xref target="NIST.PUB.198A"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>802.11 Management Frame Encryption</c>

          <c>AES-CCMP</c>

          <c>128</c>

          <c><xref target="FIPS.197.2001"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>802.11 Payload Encryption</c>

          <c>AES-CCMP</c>

          <c>128</c>

          <c><xref target="FIPS.197.2001"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>
        </texttable>

        <t>As a minimum, link layer encryption needs to be used in wireless
        architectures as indicated in <xref target="table_link_layer"/> to
        protect the data in transit. When profiling against this document,
        authors MUST define cryptographic algorithms for each function
        described in <xref target="table_link_layer"/>. In addition to over
        the air link layer encryption, there are other places where related,
        but different link layer encryption (i.e. 802.1ae) could be leveraged
        within the wireless architecture. Link layer encryption in these
        alternative places MAY be profiled for use in the overall
        cryptographic integrity of the system but are not covered here.</t>

        <texttable anchor="table_link_layer" style="all"
                   title="Link Layer Encryption Architectural Uses">
          <ttcol>Location in Architecture</ttcol>

          <ttcol>Protocol</ttcol>

          <ttcol>Used to Protect</ttcol>

          <c><xref target="client_to_wtp">Client to WTP</xref></c>

          <c>AES-CCMP, AES Key Wrap, HMAC-SHA-1</c>

          <c>802.1x 4-way handshake (stand alone configuration), 802.11
          unicast/multicast data frames and Management Frame protection using
          the Integrity Group Temporal Key (IGTK)</c>

          <c>Client to AC</c>

          <c>AES-CCMP, AES Key Wrap, HMAC-SHA-1</c>

          <c>802.1x 4-way handshake and optional configuration where 802.11
          unicast/multicast data frames and Management Frame protection using
          the Integrity Group Temporal Key (IGTK)encryption is performed on
          the AC</c>
        </texttable>
      </section>

      <section title="AAA" toc="default">
        <t>It is strongly suggested that traffic between the WTP/AC and the
        AAA service be secured to provide confidentiality and integrity of the
        user/device being authenticated as well as the key data used for the
        encryption process. The use of the well documented cryptographic
        protocols <xref target="IPSEC">IPSEC</xref>, <xref
        target="DTLS_and_TLS">TLS or DTLS</xref> can be used to protect
        traffic between the WTP/AC and the AAA service. When profiling against
        this document, authors MUST define the cryptographic algorithms for
        each function in listed in <xref target="table_aaa"/></t>

        <texttable anchor="table_aaa" style="all"
                   title="AAA Security Architectural Uses">
          <ttcol>Location in Architecture</ttcol>

          <ttcol>Protocol</ttcol>

          <ttcol>Used to Protect</ttcol>

          <c><xref target="auth_to_aaa">Authenticator to AAA</xref></c>

          <c>TLS/DTLS or IPSec</c>

          <c>Used to secure all authentication traffic between the
          Authenticator (WTP or AC) and the AAA service</c>

          <c><xref target="auth_to_aaa">Authenticator to AAA</xref></c>

          <c><xref target="AES_Key_Wrap">AES Key Wrap</xref></c>

          <c>Used to encrypt only the key data between the Authenticator (WTP
          or AC) and the AAA services</c>

          <c><xref target="client_to_aaa">Client to AAA</xref></c>

          <c>EAP</c>

          <c>Used to perform authentication between Client and AAA server</c>
        </texttable>
      </section>

      <section anchor="IPSEC" title="IPSEC" toc="default">
        <t>IPSEC is well studied and documented from a cryptographic strength
        perspective and there are a number of works that create profiles for
        IPSEC and its use within systems of varying security requirements.
        <xref target="table_IPSEC"/> provides an example of the cryptographic
        functional requirements necessary to define an IPSEC CipherSuite and
        associated security of each. When profiling against this document,
        authors MUST define cryptographic algorithms for each function in
        <xref target="table_IPSEC"/></t>

        <texttable anchor="table_IPSEC" style="all"
                   title="IPSEC Cryptographic Security Algorithms">
          <ttcol align="center">Function</ttcol>

          <ttcol align="center">Example Algorithms</ttcol>

          <ttcol align="center">Cryptographic Strength</ttcol>

          <ttcol align="center">Algorithm Reference</ttcol>

          <ttcol align="center">Cryptographic Strength Reference</ttcol>

          <c>IKE Authentication</c>

          <c>RSA 2048</c>

          <c>112</c>

          <c><xref target="RFC3447"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>IKE Pseudo-random Function</c>

          <c>HMAC-SHA-256</c>

          <c>256</c>

          <c><xref target="RFC4868"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>IKE Diffie-Hellman group</c>

          <c>Group 14</c>

          <c>112</c>

          <c><xref target="RFC3526"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>IKE Hash</c>

          <c>SHA-256</c>

          <c>128</c>

          <c><xref target="FIPS-180-3"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>IKE Encryption</c>

          <c>AES 128 CBC</c>

          <c>128</c>

          <c><xref target="FIPS.197.2001"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>ESP Encryption</c>

          <c>AES-CBC</c>

          <c>128</c>

          <c><xref target="FIPS.197.2001"/></c>

          <c><xref target="NIST800-57">NIST SP 800-57</xref></c>

          <c>ESP Integrity</c>

          <c>HMAC-SHA1</c>

          <c>128</c>

          <c><xref target="FIPS-180-3"/></c>

          <c><xref target="NIST.PUB.198A"/></c>
        </texttable>

        <t>IPSec in many cases has been superseded by other protocols for
        security within the Wireless LAN Access System. However, IPSEC could
        play a role and <xref target="table_ipsec_usage"/> describes places in
        the <xref target="architectures">WLAN Access System
        Architecture</xref> where it can be utilized.</t>

        <texttable anchor="table_ipsec_usage" style="all"
                   title="IPSEC Architectural Usage">
          <ttcol align="center">Location in Architecture</ttcol>

          <ttcol align="center">Protocol</ttcol>

          <ttcol align="center">Used to Protect</ttcol>

          <c><xref target="wtp_to_ac">WTP To Access Controller
          Service</xref></c>

          <c>IPSec</c>

          <c>Authenticity of Management, session keys, user traffic</c>

          <c><xref target="auth_to_aaa">Authenticator to AAA
          Service</xref></c>

          <c>IPSec</c>

          <c>Authenticity and Confidentiality of AAA traffic (wrapped session
          keys)</c>
        </texttable>
      </section>
    </section>

    <section title="Security Considerations" toc="default">
      <t>The cryptographic security level of a complex system is limited to
      that of the weakest component in the system. The use of 128-bit block
      ciphers with 128-bit keys is now common, but in many systems, the
      security is limited by other factors, such as public keys with a
      strength of just 80 bits, or keys that are manually configured. A
      typical security protocol uses multiple cryptographic algorithms to
      achieve different security goals: encryption to provide confidentiality,
      data authentication to protect the integrity of data, key derivation to
      provide the keys for those algorithms, key establishment to determine
      shared keys, and digital signatures to authenticate the entity on the
      other end of the wire. In order to provide a high security level, a
      protocol needs to use algorithms and parameters that consistently meet
      that security goal. Wireless systems use multiple security protocols,
      thus requiring consistency across multiple protocols. To achieve
      consistency, one must first understand all of the cryptographic
      components in a wireless system. This note makes that process easier, by
      cataloging the components that appear in typical wireless
      architectures.</t>

      <t>It is also important to note that not all secrets are equal. A secret
      which gives you access to data for a short period of time might be
      considered less important than one that exposes data for a longer period
      of time. Depending on the system being built and associated security
      constraints, the value of the secret being protected can inform
      appropriate choices for the cryptographic strength over sub components
      of a wireless architecture.</t>

      <t>Finally, this note is intended to encourage the use of consistent
      cryptographic strengths of confidentiality, integrity and authenticity
      within the entire wireless LAN architecture. While profiles of this
      document might justify inconsistent algorithm strength choices, the
      profiles need to use cryptography throughout the architecture to provide
      end-to-end security.</t>

      <section title="Algorithm Choices" toc="default">
        <t>The choices of the algorithms to use in this document are left to
        the profile authors discretion. However, it must be clear that
        profiles need to avoid the use of known broken cryptographic
        algorithms (i.e. WEP, TKIP, etc).</t>
      </section>
    </section>

    <section title="IANA Considerations" toc="default">
      <t>None</t>
    </section>

    <section title="Acknowledgements" toc="default">
      <t>The authors would like to acknowledge David McGrew, Nancy Cam-Winget
      and Carlos Pignataro for their constructive comments on this
      document.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      &rfc5415;

      &rfc2865;

      <reference anchor="IEEE.802-11.2012"
                 target="http://standards.ieee.org/getieee802/download/802.11-2012.pdf">
        <front>
          <title>IEEE Standard for Information technology&mdash;
          Telecommunications and information exchange between systems&mdash;
          Local and metropolitan area networks&mdash; Specific requirements
          Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer
          (PHY) Specifications</title>

          <author>
            <organization/>
          </author>

          <date month="March" year="2012"/>
        </front>
      </reference>

      <reference anchor="IEEE.802-1X.2010"
                 target="http://standards.ieee.org/getieee802/download/802.1X-2010.pdf">
        <front>
          <title>IEEE Standard for Local and metropolitan area networks -
          Port-Based Network Access Control</title>

          <author>
            <organization/>
          </author>

          <date month="" year="2010"/>
        </front>
      </reference>
    </references>

    <references title="Informative References">
      &rfc4868;

      &rfc3526;

      &rfc2119;

      &rfc3748;

      &rfc4017;

      &rfc4492;

      &rfc5247;

      &rfc3588;

      &rfc3447;

      &rfc5246;

      &rfc6347;

      <reference anchor="NIST800-57">
        <front>
          <title>Recommendations for Key Management</title>

          <author fullname="E. Barker" initials="E." surname="Barker">
            <organization/>
          </author>

          <author fullname="W. Barker" initials="W." surname="Barker">
            <organization/>
          </author>

          <author fullname="W. Burr" initials="W." surname="Burr">
            <organization/>
          </author>

          <author fullname="W. Polk" initials="W." surname="Polk">
            <organization/>
          </author>

          <author fullname="M. Smid" initials="M." surname="Smid">
            <organization/>
          </author>

          <date month="March" year="2007"/>
        </front>

        <seriesInfo name="NIST SP" value="800-57"/>
      </reference>

      <reference anchor="FIPS.197.2001"
                 target="http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf">
        <front>
          <title>Advanced Encryption Standard (AES)</title>

          <author>
            <organization>National Institute of Standards and
            Technology</organization>
          </author>

          <date month="November" year="2001"/>
        </front>

        <seriesInfo name="FIPS" value="PUB 197"/>
      </reference>

      <reference anchor="FIPS-180-3">
        <front>
          <title abbrev="SHA-1">Secured Hash Standard</title>

          <author fullname="National Institute of Standards and Technology (NIST)"
                  initials="" surname="FIPS Publication 180-3"/>

          <date month="October" year="2008"/>
        </front>

        <seriesInfo name="FIPS" value="180-3"/>
      </reference>

      <reference anchor="AES_Key_Wrap"
                 target="http://csrc.nist.gov/groups/ST/toolkit/documents/kms/key-wrap.pdf">
        <front>
          <title/>

          <author>
            <organization/>
          </author>

          <date/>
        </front>
      </reference>

      <?rfc ?>

      &rfc3394;

      &rfc4301;

      <reference anchor="NIST.PUB.198A"
                 target="http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf">
        <front>
          <title>The Keyed-Hash Message Authentication Code (HMAC)</title>

          <author>
            <organization>National Institute of Standards and
            Technology</organization>
          </author>

          <date month="March" year="2002"/>
        </front>

        <seriesInfo name="FIPS" value="PUB 198A"/>
      </reference>
    </references>
  </back>
</rfc>
