<Module xmlns="https://niap-ccevs.org/cc/v1" xmlns:sec="https://niap-ccevs.org/cc/v1/section" xmlns:h="http://www.w3.org/1999/xhtml" boilerplate="yes" target-product="WLAN Client" name="PP-Module for Wireless LAN Clients">
  <!-- <inline-comment color='green'> Hello World QQQQ </inline-comment> -->
  <!-- <inline-comment color='blue' linebreak='yes'> Hello World QQQQ </inline-comment> -->
  <PPReference>
   
    <ReferenceTable>
      <PPVersion>1.0</PPVersion>
      <PPAuthor>National Information Assurance Partnership</PPAuthor>
      <PPPubDate>2022-03-31</PPPubDate>
      <Keywords>WLAN; Wireless LAN; Wireless Networking; 802.11</Keywords>
    </ReferenceTable>
  </PPReference>

  <RevisionHistory>
   <entry>
      <version>1.0</version>
      <date>2022-03-31</date>
      <subject>Initial Release</subject>
    </entry>
    <entry>
      <version>0.5</version>
      <date>2022-01-20</date>
      <subject>Conversion to PP-Module; <h:br/> 
        Updated to include WPA 3 and Wi-Fi 6. <h:br/>
        WPA 3 is required. WPA 2 can additionally be included in the ST.<h:br/>
        256 bit keys are required. 128 and 192 bit keys can additionally be included in the ST.<h:br/></subject>
    </entry>
  </RevisionHistory>

  <sec:Introduction>
    <sec:Overview>
      
      The scope of the Wireless Local Area Network (WLAN) Client PP-Module is to describe the security functionality of a WLAN Client in terms of [CC] 
      and to define functional and assurance requirements for such products. This PP-Module is intended for use with the following Base-PPs: <h:ul>
        <h:li>General Purpose Operating System (GPOS) Protection Profile, Version 4.2.1</h:li>
        <h:li>Mobile Device Fundamentals (MDF) Protection Profile, Version 3.2</h:li>
      </h:ul>
      <h:p> These Base-PPs are valid because a WLAN Client is
      a part of either a commercial operating system that can be installed on a general-purpose computer or an operating system that runs on a purpose-built mobile device.</h:p>
    </sec:Overview>
<tech-terms>
  
  <term abbr="AES" full="Advanced Encryption Standard"/>
              
  <term abbr="AP" full="Access Point">A device that provides the network interface that enables wireless client hosts to access a wired network.
    Once authenticated as trusted nodes on the wired infrastructure, the APs provide the encryption service on
    the wireless network between the wireless client and the radio frequency (RF) interface of the AP.</term>
                       
  <term full="Administrator">A user that has administrative privilege to configure the TOE.</term>
              
  <term abbr="AS" full="Authentication Server">A server on the wired network that receives authentication credentials from wireless clients and determines their validity.</term>
                
  <term full="Authentication Credentials">The information the system uses to verify that the user or administrator is
    authorized to access the TOE or network. Credentials can exist in various forms, such as username/password or digital 
    certificates.</term>
                
  <term abbr="CA" full="Certification Authority"/>
  
  <term abbr="CBC" full="Cipher Block Chaining"/>
  
  <term abbr="CCEVS" full="Common Criteria Evaluation and Validation Scheme"/>
  
  <term abbr="CCMP" full="Counter mode CBC-MAC Protocol"/>
  
  <term abbr="CCTL" full="Common Criteria Test Laboratory"/>
                
  <term abbr="CSP" full="Critical Security Parameter">Security related information, e.g. secret and private cryptographic keys,
    and authentication data such as passwords and Personal Identification Numbers (PINs), whose disclosure or modification can compromise the
    security of a cryptographic module.</term>
  
                
  <term full="Entropy Source">A cryptographic function that provides a seed for a random number generator by accumulating
    the outputs from one or more noise sources. The functionality includes a measure of the minimum work
    required to guess a given output and tests to ensure that the noise sources are operating properly.</term>
             
  <term abbr="EAP" full="Extensible Authentication Protocol">An authentication framework, used in wireless networks, that uses Public Key Infrastructure (PKI) to authenticate both the authentication server and the wireless client.</term>
                
  <term abbr="EAPOL" full="EAP over LAN"/>
  
  <term abbr="FIPS" full="Federal Information Processing Standards"/>
                
  <term full="FIPS-Approved Cryptographic Function">A cryptographic operation that is specified for use by FIPS 140.</term>
                
  <term abbr="FQDN" full="Fully Qualified Domain Name"/>
  
  <term abbr="GPOS" full="General-Purpose Operating System"/>
  
  <term abbr="GTK" full="Group Temporal Key"/>
  
  <term abbr="HMAC" full="Hash-Based Message Authentication Code"/>
  
  <term abbr="IEC" full="International Electrotechnical Commission"/>
  
  <term abbr="IEEE" full="Institute of Electrical and Electronics Engineers"/>
                
  <term full="IEEE 802.1X">A standard for port-based network access control that defines an authentication mechanism for WLAN Clients to attach to a wired network.</term>
                
  <term abbr="ISO" full="International Organization for Standardization"/>
  
  <term abbr="IT" full="Information Technology"/>
  
  <term abbr="KDF" full="Key Derivation Function"/>
  
  <term abbr="LAN" full="Local Area Network"/>
  
  <term abbr="MAC" full="Message Authentication Code (cryptography) or Media Control Address (system property)"/>
  
  <term abbr="MDF" full="Mobile Device Fundamentals"/>
  
  <term abbr="NIAP" full="National Information Assurance Partnership"/>
  
  <term abbr="NVLAP" full="National Voluntary Laboratory Accreditation Program"/>
  
  <term abbr="OSP" full="Organizational Security Policy"/>
  
  <term abbr="PAE" full="Port Access Entity"/>
  
  <term abbr="PIN" full="Personal Identification Number"/>
  
  <term abbr="PKI" full="Public Key Infrastructure"/>
  
  <term abbr="PMK" full="Pairwise Master Key"/>
  
  <term abbr="PP" full="Protection Profile"/>
  
  <term abbr="PRF" full="Pseudo-Random Function"/>
  
  <term abbr="PTK" full="Pairwise Temporal Key"/>
  
  <term abbr="RBG" full="Random Bit Generator"/>
  
  <term abbr="RF" full="Radio Frequency"/>
  
  <term abbr="RFC" full="Request for Comment"/>
  
  <term abbr="SFR" full="Security Functional Requirement"/>
  
  <term abbr="SHA" full="Secure Hash Algorithm"/>
  
  <term abbr="SSID" full="Service Set Identifier" plural="SSIDs"/>
  
  <term abbr="ST" full="Security Target"/>
  
  <term abbr="TLS" full="Transport Layer Security"/>
  
  <term abbr="TOE" full="Target of Evaluation"/>
  
  <term abbr="TSF" full="TOE Security Function"/>
  
  <term abbr="TSS" full="TOE Summary Specification"/>
                
  <term full="Unauthorized User">A user that has not been granted the ability to use the TOE.</term>
  
  <term abbr="WLAN" full="Wireless Local Area Network"/>
  
  <term abbr="WPA" full="Wireless Protected Access"/>
                
</tech-terms>
    <section title="Compliant Targets of Evaluation" id="TOEdescription">
      <h:p>
     This document specifies SFRs for a WLAN Client. The TOE defined
     by this PP-Module is a WLAN Client, a component executing on a client machine (often referred to as
     a "remote access client"). The TOE establishes a secure wireless tunnel between the client
     device and a WLAN Access System through which all data will traverse.
      </h:p>
      <h:p>
      A WLAN Client allows remote users to use client machines to establish wireless communication
      with a private network through a WLAN Access System. IP packets passing between the
      private network and a WLAN Client are encrypted. The WLAN Client protects the confidentiality and integrity of
      data in transit between itself and the private network, even though it traverses a wireless connection.
      The focus of the SFRs in this PP-Module is on the following fundamental
      aspects of a WLAN Client:
      <h:ul>
        <h:li>Authentication of the WLAN Client</h:li>
        <h:li>Authentication of the Authentication Server</h:li>
        <h:li>Cryptographic protection of data in transit</h:li>
        
        <!-- SME: don't know what specifically this refers to, unsure if we should keep as-is, change somehow, or remove altogether -->
        <h:li>Implementation of services</h:li>
        
      </h:ul>
      The WLAN Client establishes an 802.11 tunnel between the client device and the network
      infrastructure using IEEE 802.1X with Extensible Authentication Protocol-Transport Layer Security (EAP-TLS) for authentication. It performs mutual
      authentication to an AS in the private network as part of the EAP-TLS exchange. The EAP-TLS
      exchange uses certificates for mutual authentication. The WLAN Client examines the machine
      certificate transmitted from the AS, checks its validity, and ensures the certificate is signed by a
      trusted Certificate Authority (CA). The AS will authenticate the WLAN Client certificate at the
      same time. When the EAP-TLS exchange completes successfully, the network allows the WLAN
      Client to finish establishing a secure communication tunnel to the private network. The WLAN
      Client sets up an encrypted, authenticated channel to the WLAN Access System using a 4-way
      handshake, as specified in IEEE 802.11. Once the channel is established, all communication
      between the WLAN Client to the WLAN Access System is encrypted with Advanced Encryption Standard (AES) in 
      Cipher Block Chaining-Message Authentication Code Protocol (CCMP) mode and
      optionally AES in Galois/Counter Mode Protocol (GCMP) mode, as specified in <xref to="bib80211"/>.
      </h:p>
      <sec:TOE_Boundary>
        The WLAN Client (Figure 1), as defined by this PP-Module, is a component executing on a remote access
        client machine. Note the client is depicted as just a small portion of the WLAN client "machine."
        As such, the TOE must rely heavily on the TOE’s operational environment (host platform,
        network stack, and operating system) for its execution domain and its proper usage. The TOE
        will rely on the IT environment to address much of the security functionality related to
        administrative functions.  
        
        <figure entity="images/Toe.png" title="WLAN Client Operating Environment" id="toe"/>
      </sec:TOE_Boundary>
      <!-- 
      <subsection title="TOE Platform" id="TOEplatform">
      </subsection>  -->
    </section>
    
    <!-- SME: the old WLAN EP did not define use cases, these have been added. Will need review. -->
    <sec:Use-Cases>Requirements in this PP-Module are designed to
      address the security problems in at least the following use cases. These use cases are intentionally
      very broad, as many specific use cases exist within these larger categories.
      
      <usecases>
                <usecase title="General-Purpose Operating System" id="gpos">
          <description>
            This use case is for a WLAN Client TOE that is part of a general-purpose operating system. Specifically, the WLAN Client TOE is expected to be part of the operating system itself and not a standalone third-party application that 
            is installed on top of it.
          </description>
        </usecase>
        <usecase title="Mobile Device" id="md">
          <description>
            This use case is for a WLAN Client TOE that is part of a mobile operating system that runs on a mobile device. Specifically, the WLAN Client TOE is expected to be part of the mobile operating system itself and not 
            a standalone third-party application that is acquired from the mobile vendor's application store.
          </description>
        </usecase>
        
        <!-- to do: add use case for administrative capabilities if one needs to exist (currently TBD) -->
        
      </usecases>
    </sec:Use-Cases>
  </sec:Introduction>


  <sec:Conformance_Claims boilerplate="no">
    <cclaims>
      <cclaim name="Conformance Statement">
        <description>
	  This PP-Module inherits exact conformance as required from
          the specified Base-PP and as defined in the CC and
          <xref to="bibCEM"/> addenda for Exact Conformance, Selection-Based SFRs, and Optional
          SFRs (dated May 2017).<h:br/><h:br/> 
          The following PPs and PP-Modules are allowed to be specified in a PP-Configuration with this PP-Module: <h:ul>
		<h:li>PP-Module for MDM Agents, Version 1.0</h:li>
		<h:li>PP-Module for Bluetooth, Version 1.0</h:li>
		<h:li>PP-Module for VPN Client, Version 2.4</h:li>
          </h:ul>
        </description>
      </cclaim>
      <cclaim name="CC Conformance Claims">
        <description>This PP-Module is conformant to Parts 2 (extended) and 3
          (extended) of Common Criteria Version 3.1, Release 5 [CC].
        </description>
      </cclaim>
      <cclaim name="Package Claims">
        <description>There are no package claims for this PP-Module.</description>
      </cclaim>
    </cclaims>
  </sec:Conformance_Claims>


  <sec:Security_Problem_Description>
    This PP-Module is written to address the situation when an entity desires wireless access to a private
    network. To allow access to the private network, the entity (machine) must be authenticated
    before a secure communications channel can be established. The TOE is the entity that seeks to
    be authenticated and be given access to services offered by the protected network and is the
    Supplicant in the IEEE 802.1X framework.
    
    <sec:Threats> The following threats are specific to WLAN Clients, and represent an addition to those identified in the Base-PPs. 
      <!-- Note: Threats contained in both base-PPs should not be listed in the PP-Module (section 3.1 or 6), but objectives can still be mapped to them (section 4.3). 
        For these threats do not include a <description> or <consistency-rationale> section. If a <description> section is included then the threat is listed in Section 3.1. 
        If no description is listed, then threat is only listed in section 4.3 (not in 3.1 or 6) -->
      <threats>
        <threat name="T.TSF_FAILURE">
          <description>Security mechanisms of the TOE generally build up from a primitive set of mechanisms (e.g.,
            memory management, privileged modes of process execution) to more complex sets of
            mechanisms. Failure of the primitive mechanisms could lead to a compromise in more complex
            mechanisms, resulting in a compromise of the TSF.</description>
          <consistency-rationale>aaaaaa</consistency-rationale>
          <objective-refer ref="O.SELF_TEST">
          <rationale>The threat T.TSF_FAILURE is mitigated by O.SELF_TEST as this defines a mechanism for ensuring the reliability of the TSF by detecting potential failure conditions.</rationale>
        </objective-refer>
        </threat>
        
        <threat name="T.UNAUTHORIZED_ACCESS">
          <description>A user may gain unauthorized access to the TOE data and TOE executable code. A malicious
            user, process, or external IT entity may masquerade as an authorized entity in order to gain
            unauthorized access to data or TOE resources. A malicious user, process, or external IT entity
            may misrepresent itself as the TOE to obtain identification and authentication data.</description>
          <consistency-rationale/>
          <objective-refer ref="O.AUTH_COMM">
          <rationale>The threat T.UNAUTHORIZED_ACCESS is mitigated in part by O.AUTH_COMM by ensuring the authenticity of any remote endpoint that the TSF connects to.</rationale>
        </objective-refer>
        <objective-refer ref="O.CRYPTOGRAPHIC_FUNCTIONS">
          <rationale>The threat T.UNAUTHORIZED_ACCESS is mitigated in part by O.CRYPTOGRAPHIC_FUNCTIONS by ensuring the confidentiality and integrity of data in transit to protect against man-in-the-middle attacks.</rationale>
        </objective-refer>
        <objective-refer ref="O.TOE_ADMINISTRATION">
          <rationale>The threat T.UNAUTHORIZED_ACCESS is mitigated in part by O.TOE_ADMINISTRATION by using the TOE platform's authentication mechanism to ensure that only authorized administrators can configure the TOE's behavior.</rationale>
        </objective-refer>
        <objective-refer ref="O.WIRELESS_ACCESS_POINT_CONNECTION">
          <rationale>The threat T.UNAUTHORIZED_ACCESS is mitigated in part by this objective because it provides a mechanism to restrict the remote entities that the TOE is permitted to communicate with.</rationale>
        </objective-refer>
        </threat>
        
        <threat name="T.UNDETECTED_ACTIONS">
          <description>Malicious remote users or external IT entities may take actions that adversely affect the
            security of the TOE. These actions may remain undetected and thus their effects cannot be
            effectively mitigated.</description>
          <consistency-rationale/>
          <objective-refer ref="O.SYSTEM_MONITORING">
            <rationale>The threat T.UNDETECTED_ACTIONS is mitigated by O.SYSTEM_MONITORING by enforcing an auditing mechanism that can be used to track security-relevant TOE behavior.</rationale>
          </objective-refer>
        </threat>
      </threats>
     </sec:Threats>
        
    <sec:Assumptions>
      
      <assumptions>
        <assumption name="A.NO_TOE_BYPASS">
          <description>Information cannot flow between the wireless client and the internal wired
            network without passing through the TOE.</description>
          <consistency-rationale/>
          <objective-refer ref="OE.NO_TOE_BYPASS">
            <rationale>The operational environment objective OE.NO_TOE_BYPASS is realized through A.NO_TOE_BYPASS.</rationale>
          </objective-refer>
        </assumption>
        <assumption name="A.TRUSTED_ADMIN">
          <description>TOE Administrators are trusted to follow and apply all administrator guidance in
            a trusted manner.</description>
          <consistency-rationale>QQQQ</consistency-rationale>
          <objective-refer ref="OE.TRUSTED_ADMIN">
            <rationale>The Operational Environment objective OE.TRUSTED ADMIN is realized through A.TRUSTED_ADMIN.</rationale>
          </objective-refer>
        </assumption>
      </assumptions>
    </sec:Assumptions>
    
    <sec:Organizational_Security_Policies>
      <OSPs/>
    </sec:Organizational_Security_Policies>
  </sec:Security_Problem_Description>


  <sec:Security_Objectives>
    <sec:Security_Objectives_for_the_TOE>
      <SOs>
        <SO name="O.AUTH_COMM">
          <description>The TOE will provide a means to ensure that it is
            communicating with an authorized access point and
            not some other entity pretending to be an authorized
            access point, and will provide assurance to the access
            point of its identity.</description>
          <consistency-rationale>QQQQ</consistency-rationale>
          <addressed-by>FCS_TLSC_EXT.1/WLAN</addressed-by>
	  <rationale>FCS_TLSC_EXT.1/WLAN supports the objective by requiring the TSF to use EAP-TLS to establish a secure connection to a wireless access point, including authentication of the access point.
	  </rationale>
	  <addressed-by> FIA_PAE_EXT.1</addressed-by>
	  <rationale>FIA_PAE_EXT.1 supports the objective by requiring the TSF to act as the supplicant for 802.1X authentication.</rationale>
	  <addressed-by> FIA_X509_EXT.1/WLAN</addressed-by>
	  <rationale>FIA_X509_EXT.1/WLAN supports the objective by defining how the TSF determines the validity of presented X.509 certificates.</rationale>
	  <addressed-by> FIA_X509_EXT.2/WLAN</addressed-by>
	  <rationale>FIA_X509_EXT.2/WLAN supports the objective by requiring the TSF to implement X.509 certificate authentication as the mechanism for authentication EAP-TLS connections.</rationale>
	  <addressed-by> FTP_ITC.1/WLAN</addressed-by>
	  <rationale>FTP_ITC.1/WLAN supports the objective by requiring the TSF to implement trusted protocols that include authentication of the remote endpoints.</rationale>
	  <addressed-by> FCS_TLSC_EXT.2/WLAN (selection-based)</addressed-by> 
	  <rationale> FCS_TLSC_EXT.2/WLAN supports the objective by optionally requiring the TSF to support only certain elliptic curves if the TOE implements any EAP-TLS cipher suites that rely on ECDHE as the key establishment method.
          </rationale>
        </SO>
        <SO name="O.CRYPTOGRAPHIC_FUNCTIONS">
          <description>The TOE will provide or use cryptographic functions
            (i.e., encryption/decryption and digital signature
            operations) to maintain the confidentiality and allow
            for detection of modification of data that are
            transmitted outside the TOE and its host
            environment.</description>
          <consistency-rationale>QQQQ</consistency-rationale>
          <addressed-by>FCS_CKM.1/WPA</addressed-by>
	  <rationale>
	    FCS_CKM.1/WPA supports the objective by requiring the TSF to generate symmetric keys used for WPA2 and WPA3 in a specified manner.	    
	  </rationale>
	  <addressed-by>FCS_CKM.2/WLAN</addressed-by>
	  <rationale>
	    FCS_CKM.2/WLAN supports the objective by requiring the TSF to decrypt group temporal keys used for IEEE 802.11.
	  </rationale>
	  <addressed-by>FCS_WPA_EXT.1</addressed-by>
          <rationale>
            FCS_WPA_EXT.1 supports this objective by defining the WPA versions that are supported.
          </rationale>
        </SO>
        <SO name="O.SELF_TEST">
          <description>The TOE will provide the capability to test some
            subset of its security functionality to ensure it is operating properly. </description>
          <consistency-rationale>QQQQ</consistency-rationale>
          <addressed-by>FPT_TST_EXT.3/WLAN</addressed-by>
          <rationale>
            FPT_TST_EXT.3/WLAN supports the objective by requiring the TSF to perform self-tests to ensure that it is operating in a known state.
          </rationale>
        </SO>
        <SO name="O.SYSTEM_MONITORING">
          <description>The TOE will provide the capability to generate audit
            data.</description>
          <consistency-rationale>QQQQ</consistency-rationale>
          <addressed-by>FAU_GEN.1/WLAN</addressed-by>
          <rationale>
            FAU_GEN.1/WLAN supports the objective by requiring the TSF to generate audit records for security-relevant WLAN behavior.
          </rationale>
        </SO>
        <SO name="O.TOE_ADMINISTRATION">
          <description>The TOE will provide mechanisms to allow
            administrators to be able to configure the TOE. </description>
          <consistency-rationale>QQQQ</consistency-rationale>
          <addressed-by>FIA_X509_EXT.6</addressed-by>
	  <rationale>
            FIA_X509_EXT.6 supports the objective by requiring the TSF to securely store certificates in a repository that an administrator can interact with, whether that repository is provided by the WLAN client itself or by a platform storage  mechanism defined by the Base-PP portion of the TOE.
	  </rationale>
	  <addressed-by>FMT_SMF.1/WLAN</addressed-by>
          <rationale>
            FMT_SMF.1/WLAN supports the objective by requiring the TSF to implement management functionality for security-relevant WLAN behavior.
          </rationale>
        </SO>
        <SO name="O.WIRELESS_ACCESS_POINT_CONNECTION">
          <description>The TOE will provide the capability to restrict the
            wireless access points to which it will connect.</description>
          <consistency-rationale>QQQQ</consistency-rationale>
          <addressed-by>FTA_WSE_EXT.1</addressed-by>
          <rationale>
            FTA_WSE_EXT.1 supports the objective by requiring the TSF to restrict connectivity to allowed wireless networks.
          </rationale>
        </SO>
      </SOs>
    </sec:Security_Objectives_for_the_TOE>
    
    <sec:Security_Objectives_for_the_Operational_Environment>
      <!-- The Operational Environment of the TOE implements technical and procedural measures 
      to assist the TOE in correctly providing its security functionality (which is defined by the security objectives for the TOE). 
      The security objectives for the Operational Environment consist of a set of statements describing the goals that the Operational Environment should achieve. 
      This section defines the security objectives that are to be addressed by the IT domain or by non-technical or procedural means. 
      The assumptions identified in Section 3 are incorporated as security objectives for the environment. -->
      <SOEs>
        <SOE name="OE.NO_TOE_BYPASS">
          <description>Information cannot flow between external and internal networks located
            in different enclaves without passing through the TOE.</description>
          <consistency-rationale/>
        </SOE>
        <SOE name="OE.TRUSTED_ADMIN">
          <description>TOE administrators are trusted to follow and apply all administrator
            guidance in a trusted manner.</description>
          <consistency-rationale/>
        </SOE>
      </SOEs>
    </sec:Security_Objectives_for_the_Operational_Environment>
    
    <sec:Security_Objectives_Rationale>
      <!-- NOTE: This section should remain empty and is populated from the rationale tags in the previous sections.  -->
    </sec:Security_Objectives_Rationale>
  </sec:Security_Objectives>

  <sec:Security_Requirements>
    <!-- SME: the intro to this chapter appears to be getting populated with default text rather than what is specified here, which is problematic because the default text does not
    define refinements correctly for this Module. How can we get it to use what is here instead of the default? -->
    This chapter describes the security requirements
    which have to be fulfilled by the <xref to="OS"/>. Those requirements comprise functional
    components from Part 2 and assurance components from Part 3 of <xref to="bibCC"/>. 
        
    The following notations are used: <h:ul>
      <h:li>
        <h:b>Refinement</h:b> operation (denoted by <h:b>bold text</h:b>): Is used to add details to a
        requirement, and thus further restricts a requirement.</h:li>
      <h:li>
        <h:b>Selection</h:b> operation (denoted by <h:i>italicized text</h:i>): Is used to select one or more options
        provided by the [CC] in stating a requirement.</h:li>
      <h:li>
        <h:b>Assignment</h:b> operation (denoted by <h:span class="assignable-content">italicized text</h:span>): Is used to assign a
        specific value to an unspecified parameter, such as the length of a password.</h:li>
      <h:li>
        <h:b>Iteration</h:b> operation: Identified with a slash followed by a unique text string (e.g. "/WLAN") or a number inside parentheses (e.g. "(1)")</h:li>
    </h:ul>


    <base-pp id="bpp-gpos">
      <git>
	      <url>https://github.com/commoncriteria/operatingsystem</url>
	      <branch>release-4.2.1</branch>
      </git>
      <url>https://www.niap-ccevs.org/Profile/Info.cfm?PPID=442&amp;id=442</url>
      <modified-sfrs>
 
      </modified-sfrs>
      <additional-sfrs/>
      
          
       
      <con-toe> When this PP-Module is used to extend the GPOS PP, the TOE type for
        the overall TOE is still a general-purpose operating system. The TOE boundary is simply extended to include the
          WLAN Client functionality that runs on the operating system.</con-toe>
      <con-sec-prob/>
      <con-obj/>
      <con-op-en/>
      <con-mod ref="T.TSF_FAILURE">The Base-PP defines threats for local attacks and remote attacks, both of which could cause a failure of the TSF. This PP-Module adds a generic TSF failure threat
      in the event that the WLAN Client fails through unintended system behavior rather than a direct malicious attack.</con-mod>
      <con-mod ref="T.UNAUTHORIZED_ACCESS">The Base-PP defines threats for local attacks and remote attacks. The threat of unauthorized access to the WLAN Client is a specific threat that results from successful exploitation 
      of one of these Base-PP threats.</con-mod>
      <con-mod ref="T.UNDETECTED_ACTIONS">The Base-PP defines threats for local attacks and remote attacks. It does not define a threat specifically for undetected actions but it does map the local attack and remote attack threats to a
      TOE objective for accountability. Therefore, the threat of undetected actions is consistent with the Base-PP because this is a subset of the threats defined in the Base-PP, or a mechanism to increase the likelihood that these
      threats will successfully be exploited.</con-mod>        
          
      <con-mod ref="A.NO_TOE_BYPASS">This assumption relates to the deployment of the TOE in relation to the network resources that it interacts with. It does not enforce any restrictions on the TOE's deployment that are contrary to
        what the Base-PP requires.</con-mod>
      <con-mod ref="A.TRUSTED_ADMIN">The Base-PP defines A.PROPER_USER and A.PROPER_ADMIN assumptions that serve the same purpose as A.TRUSTED_ADMIN in this PP-Module.</con-mod>

      <con-mod ref="O.AUTH_COMM">This objective is specifically for a communications interface that is defined by the PP-Module, but it is consistent with the general O.PROTECTED_COMMS objective specified in the Base-PP.</con-mod>
      <con-mod ref="O.CRYPTOGRAPHIC_FUNCTIONS">The TOE implements this objective in part by relying on the cryptographic functionality specified in the Base-PP to address the Base-PP's O.PROTECTED_COMMS objective. The PP-Module
      uses these cryptographic functions for the same purpose as the Base-PP.</con-mod>
      <con-mod ref="O.SELF_TEST">The Base-PP defines a general O.INTEGRITY objective; this PP-Module defines O.SELF_TEST as a specific method of guaranteeing the integrity of the TOE.</con-mod>
      <con-mod ref="O.SYSTEM_MONITORING">The Base-PP defines an O.ACCOUNTABILITY objective for system auditing. The O.SYSTEM_MONITORING objective in this PP-Module serves the same purpose.</con-mod>
      <con-mod ref="O.TOE_ADMINISTRATION">The Base-PP defines an O.MANAGEMENT objective for TOE administration. The O.TOE_ADMINISTRATION objective in this PP-Module serves the same purpose.</con-mod>
      <con-mod ref="O.WIRELESS_ACCESS_POINT_CONNECTION">This objective relates to behavior that applies to a communications interface defined in this PP-Module and therefore does not relate to the Base-PP's functionality.</con-mod>
          
      <con-mod ref="OE.NO_TOE_BYPASS">This objective relates to the deployment of the TOE in relation to the network resources that it interacts with. It does not enforce any restrictions on the TOE's deployment that are contrary to
      what the Base-PP requires.</con-mod>
      <con-mod ref="OE.TRUSTED_ADMIN">The Base-PP defines OE.PROPER_USER and OE.PROPER_ADMIN objectives that serve the same purpose as OE.TRUSTED_ADMIN in this PP-Module.</con-mod>          


          
      <con-mod ref="fco-audit-gen-wlan">The Base-PP defines its own auditing mechanism; this PP-Module can use that mechanism or implement its own to generate audit records for security-relevant events that are specific to this PP-Module.</con-mod>
      <con-mod ref="fco-skeygen-wpa">This SFR requires the TOE to generate cryptographic keys that are only used by the PP-Module's functionality. It invokes Base-PP functionality to do this in a manner that the Base-PP permits.</con-mod>
      <con-mod ref="fco-keydist-wlan">This SFR requires the TOE to perform a decryption operation using AES Key Wrap, which is a function that the Base-PP provides.</con-mod>
      <con-mod ref="fco-tlsc-wlan">This SFR requires the TOE to implement EAP-TLS; this protocol relies on the same cryptographic functionality that the Base-PP uses to implement TLS.</con-mod>
      <con-mod ref="fco-wpa-version">This SFR requires the TOE to specify the WPA versions it supports; this is functionality that is specific to the PP-Module and does not affect any Base-PP functionality.</con-mod>
      <con-mod ref="fco-portaccess-auth">This SFR defines the ability of the TOE to implement IEEE 802.1X. This behavior relates entirely to the PP-Module and does not affect the ability of the Base-PP to implement its security functionality.</con-mod>  
      <con-mod ref="fco-certval-wlan">This SFR defines the TOE's X.509 certificate validation specifically when validating EAP-TLS certificates. The Base-PP also defines an iteration of this SFR but the PP-Module 
      requires a separate iteration because EAP-TLS certificates have specific handling requirements that are not present in the Base-PP because the Base-PP does not define implementation of the EAP-TLS protocol.</con-mod>
      <con-mod ref="fco-certauth">This SFR defines the TOE's use of X.509 certificates in EAP-TLS. This function uses the same certificate validation functionality that the Base-PP defines.</con-mod>
      <con-mod ref="fco-manage-certs">This SFR defines behavior for implementing certificate storage. The SFR allows for the possibility that existing platform storage can be used, so it does not conflict with the Base-PP if that portion
        of the TOE already implements its own storage mechanism.</con-mod>
      <con-mod ref="f-manage-functions">This SFR defines the management activities that are specific to this PP-Module. This behavior relates entirely to the PP-Module and does not affect the ability of the Base-PP to implement its security functionality.</con-mod>
      <con-mod ref="fco-cryptotesting-wlan">This SFR defines self-test behavior for the WLAN Client. This behavior relates entirely to the PP-Module and does not affect the ability of the Base-PP to implement its security functionality.</con-mod>  
      <con-mod ref="fco-wifi-access">This SFR requires the TOE to restrict the wireless networks that it can connect to. This behavior relates entirely to the PP-Module and does not affect the ability of the Base-PP to implement its security functionality.</con-mod>
      <con-mod ref="fco-trusted-comms-wlan">This SFR defines the protocols that the TOE uses for secure wireless communications. This behavior relates entirely to the PP-Module and does not affect the ability of the Base-PP to implement its security functionality.</con-mod>
          
          
      <!-- <con-mod ref="fcs-ckm-1-wpa2">This SFR requires the TOE to generate cryptographic keys that are only used by the PP-Module's functionality. It invokes Base-PP functionality to do this in a manner that the Base-PP permits.</con-mod> -->
      <con-mod ref="fco-tls-client-support-wlan">This SFR requires the TOE to validate a specific TLS extension when establishing EAP-TLS communications. This behavior relates entirely to the PP-Module and does not affect the ability of the Base-PP to implement its security functionality.</con-mod>
    </base-pp>
    
    
    <base-pp id="bpp-mdf">
	<git>
		<url>https://github.com/commoncriteria/mobile-device</url>
		<branch>release-3.2</branch>
        </git>
        <url>https://www.niap-ccevs.org/Profile/Info.cfm?PPID=417&amp;id=417</url>
        
      
      <modified-sfrs>
  
      </modified-sfrs>
      <additional-sfrs/>
      
      
      
      <con-toe> When this PP-Module is used to extend the MDF PP, the TOE type for
        the overall TOE is still a mobile device. The TOE boundary is simply extended to include the
        WLAN Client functionality that runs on the mobile device's Rich OS.</con-toe>
      <con-sec-prob/>
      <con-obj/>
      <con-op-en/>
      <con-mod ref="T.TSF_FAILURE">
	The Base-PP defines the T.FLAWAPP threat for the threat that application failures may pose to the device as a whole.
	The T.TSF_FAILURE threat from this PP-Module is a specific example of the T.FLAWAPP threat,
        though it relates to the WLAN Client as an intrinsic part of the mobile device rather than a third-party application installed on top of it.
	The Base-PP also defines the T.PERSISTENT threat, which is another specific case of TSF failure.
      </con-mod>
      <con-mod ref="T.UNAUTHORIZED_ACCESS">
	The Base-PP defines threats for network eavesdropping and network attacks.
	Exploiting either threat could allow an attacker to exploit the T.UNAUTHORIZED_ACCESS threat defined  by this PP-Module.
      </con-mod>
      <con-mod ref="T.UNDETECTED_ACTIONS">
	The Base-PP defines threats for persistent access to the TOE and flawed applications on the TOE.
	It does not define a threat specifically for undetected actions but the threat of undetected actions
        defined by this PP-Module could increase the likelihood that the Base-PP threats can be successfully exploited.
      </con-mod>          
      <con-mod ref="A.NO_TOE_BYPASS">
	This assumption relates to the deployment of the TOE in relation to the network resources that it interacts with.
	It does not enforce any restrictions on the TOE's deployment that are contrary to
        what the Base-PP requires.
      </con-mod>
      <con-mod ref="A.TRUSTED_ADMIN">
	The Base-PP defines the A.TRUSTED_ADMIN assumptions that expects administrators will configure the TOE correctly, which also implies they are non-malicious.
      </con-mod>
      <con-mod ref="O.AUTH_COMM">
        This objective is specifically for a communications interface that is defined by the PP-Module, but it is consistent with the general O.COMMS objective specified in the Base-PP.
      </con-mod>
      <con-mod ref="O.CRYPTOGRAPHIC_FUNCTIONS">
	The TOE implements this objective in part by relying on the cryptographic functionality specified in the Base-PP to address the Base-PP's O.COMMS objective.
	The PP-Module uses these cryptographic functions for the same purpose as the Base-PP.
      </con-mod>
      <con-mod ref="O.SELF_TEST">
	The Base-PP defines a general O.INTEGRITY objective;
        this PP-Module defines O.SELF_TEST as a specific method of guaranteeing the integrity of the TOE.
      </con-mod>
      <con-mod ref="O.SYSTEM_MONITORING">
	The Base-PP defines an O.INTEGRITY objective that includes system auditing as a method of asserting the TOE's integrity.
        The O.SYSTEM_MONITORING objective in this PP-Module serves the same purpose.
      </con-mod>
      <con-mod ref="O.TOE_ADMINISTRATION">
        The Base-PP defines an O.CONFIG objective for TOE administration.
        The O.TOE_ADMINISTRATION objective in this PP-Module serves the same purpose.
      </con-mod>
      <con-mod ref="O.WIRELESS_ACCESS_POINT_CONNECTION">
        This objective relates to behavior that applies to a communications interface defined in this PP-Module and therefore does not relate to the Base-PP's functionality.
      </con-mod>
      <con-mod ref="OE.NO_TOE_BYPASS">
	This objective relates to the deployment of the TOE in relation to the network resources that it interacts with.
	It does not enforce any restrictions on the TOE's deployment that are contrary to what the Base-PP requires.
      </con-mod>
      <con-mod ref="OE.TRUSTED_ADMIN">
        The Base-PP defines the OE.CONFIG objective that expects administrators will configure the TOE correctly, which also implies they are non-malicious.
      </con-mod>
      <con-mod ref="fco-audit-gen-wlan">
        The Base-PP defines its own auditing mechanism;
        this PP-Module can use that mechanism or implement its own to generate audit records for security-relevant events that are specific to this PP-Module.
      </con-mod>
      <con-mod ref="fco-skeygen-wpa">This SFR requires the TOE to generate cryptographic keys that are only used by the PP-Module's functionality. It invokes Base-PP functionality to do this in a manner that the Base-PP permits.</con-mod>
      <con-mod ref="fco-keydist-wlan">This SFR requires the TOE to perform a decryption operation using AES Key Wrap, which is a function that the Base-PP provides.</con-mod>
      <con-mod ref="fco-tlsc-wlan">This SFR requires the TOE to implement EAP-TLS; this protocol relies on the same cryptographic functionality that the Base-PP uses to implement TLS.</con-mod>
      <con-mod ref="fco-wpa-version">This SFR requires the TOE to specify the WPA versions it supports; this is functionality that is specific to the PP-Module and does not affect any Base-PP functionality.</con-mod>
      <con-mod ref="fco-portaccess-auth">This SFR defines the ability of the TOE to implement IEEE 802.1X. This behavior relates entirely to the PP-Module and does not affect the ability of the Base-PP to implement its security functionality.</con-mod>  
      <con-mod ref="fco-certval-wlan">This SFR defines the TOE's X.509 certificate validation specifically when validating EAP-TLS certificates. The Base-PP also defines an iteration of this SFR but the PP-Module 
        requires a separate iteration because EAP-TLS certificates have specific handling requirements that are not present in the Base-PP because the Base-PP does not define implementation of the EAP-TLS protocol.</con-mod>
      <con-mod ref="fco-certauth">This SFR defines the TOE's use of X.509 certificates in EAP-TLS. This function uses the same certificate validation functionality that the Base-PP defines.</con-mod>
      <con-mod ref="fco-manage-certs">This SFR defines behavior for implementing certificate storage. The SFR allows for the possibility that existing platform storage can be used, so it does not conflict with the Base-PP if that portion
          of the TOE already implements its own storage mechanism.</con-mod>
        <con-mod ref="f-manage-functions">This SFR defines the management activities that are specific to this PP-Module. This behavior relates entirely to the PP-Module and does not affect the ability of the Base-PP to implement its security functionality.</con-mod>
      <con-mod ref="fco-cryptotesting-wlan">This SFR defines self-test behavior for the WLAN Client. This behavior relates entirely to the PP-Module and does not affect the ability of the Base-PP to implement its security functionality.</con-mod>  
      <con-mod ref="fco-wifi-access">This SFR requires the TOE to restrict the wireless networks that it can connect to. This behavior relates entirely to the PP-Module and does not affect the ability of the Base-PP to implement its security functionality.</con-mod>
      <con-mod ref="fco-trusted-comms-wlan">This SFR defines the protocols that the TOE uses for secure wireless communications. This behavior relates entirely to the PP-Module and does not affect the ability of the Base-PP to implement its security functionality.</con-mod>
      <con-mod ref="fco-skeygen-wpa">This SFR requires the TOE to generate cryptographic keys that are only used by the PP-Module's functionality. It invokes Base-PP functionality to do this in a manner that the Base-PP permits.</con-mod>
      <con-mod ref="fco-tls-client-support-wlan">This SFR requires the TOE to validate a specific TLS extension when establishing EAP-TLS communications. This behavior relates entirely to the PP-Module and does not affect the ability of the Base-PP to implement its security functionality.</con-mod>
    </base-pp>
      
    <man-sfrs>
	
	    <section id="ss-wlc-man-audit-table" title="Auditable Events for Mandatory SFRs">
        	<audit-table table="mandatory" id="a-mandatory-events"/>
<!--  	     		<h:br/><h:b><ctr ctr-type="Table" pre="Table " id="atref-mandatory">: Auditable Events for Mandatory SFRs</ctr></h:b>
			</audit-table>  -->
	    </section>
	
      <sec:man_fau title="Security Audit (FAU)">
        
		<!-- FAU_GEN.1/WLAN -->
        <f-component id="fco-audit-gen-wlan" cc-id="fau_gen.1" name="Audit Data Generation (Wireless LAN)" iteration="WLAN">
          <consistency-rationale/>
          <f-element>
            <title>The TSF shall <h:b>
              <selectables>
                <selectable>invoke platform-provided functionality</selectable>
                <selectable>implement functionality</selectable>
              </selectables>
            </h:b> to generate an audit record of the following auditable events:
                 <h:ol type="a">
                <h:li>Startup and shutdown of the audit functions;</h:li>
                <h:li>All auditable events for [<h:i>not specified</h:i>] level of audit; and</h:li>
                <h:li>[<h:i>all auditable events for mandatory SFRs specified in <xref g="t-audit-mandatory"/> and 
					selected SFRs in <xref g="t-audit-sel-based"/></h:i>].</h:li>
              </h:ol>
            </title>
            <note role="application">
	      <h:p>If auditing for the WLAN Client cannot be controlled separately from its underlying platform, 
              the "Startup and shutdown of the audit functions" event defined in each Base-PP is sufficient to address that event for this iteration of the SFR.
	      </h:p><h:p>
		  Auditable events for selection-based SFRs are found in <xref g="t-audit-sel-based"/>. 
		  If the TOE does not claim a particular selection-based SFR, it is not expected to
          generate any corresponding audit records for that SFR. 
	      </h:p><h:p>
              <xref g="t-audit-mandatory"/> includes auditable events for FPT_TST_EXT.3/WLAN.
	      If the TOE does not perform its own self-tests
	      (i.e., "TOE platform" is selected in FPT_TST_EXT.3.1/WLAN and FPT_TST_EXT.3.2/WLAN),
              the audit record for this event may also be generated by the TOE platform.
              </h:p>
			  <!--
			  <h:p>
              <h:b><ctr id="audit" ctr-type="Table"> Auditable Events</ctr></h:b>
              <h:table style="margin-top:0px;white-space:10px">
                <h:TR>
                  <h:TH>Requirement</h:TH>
                  <h:TH>Auditable Events</h:TH>
                  <h:TH>Additional Audit Record Contents</h:TH>
                </h:TR>
                <h:TR>
                  <h:TD>FAU_GEN.1/WLAN</h:TD>
                  <h:TD>None.</h:TD>
                  <h:TD>None.</h:TD>
                </h:TR>
                <h:TR>
                  <h:TD>FCS_CKM.1/WPA</h:TD>
                  <h:TD>None.</h:TD>
                  <h:TD>None.</h:TD>
                </h:TR>         
                <h:TR>
                  <h:TD>FCS_CKM.2/WLAN</h:TD>
                  <h:TD>None.</h:TD>
                  <h:TD>None.</h:TD>
                </h:TR>                
                <h:TR>
                  <h:TD rowspan="2">FCS_TLSC_EXT.1/WLAN</h:TD>
                  <h:TD>Failure to establish an EAP-TLS session.</h:TD><h:td>Reason for failure.<h:br/><h:br/>Non-TOE endpoint of connection.</h:td></h:TR>
                <h:tr><h:TD>Establishment/termination of an EAP-TLS session.</h:TD><h:td>Non-TOE endpoint of connection.</h:td>
                </h:tr>
                <h:TR>
                  <h:TD>FCS_TLSC_EXT.2/WLAN</h:TD>
                  <h:TD>None.</h:TD>
                  <h:TD>None.</h:TD>
                </h:TR>
                <h:tr>
                  <h:TD>FCS_WPA_EXT.1</h:TD>
                  <h:TD>None.</h:TD>
                  <h:TD>None.</h:TD>
                </h:tr>
                <h:TR>
                  <h:TD>FIA_PAE_EXT.1</h:TD>
                  <h:TD>None.</h:TD>
                  <h:TD>None.</h:TD>
                </h:TR> 
                <h:TR>
                  <h:TD>FIA_X509_EXT.1/WLAN</h:TD>
                  <h:TD>Failure to validate X.509v3 certificate.</h:TD><h:td>Reason for failure of validation.</h:td>
                </h:TR>
                <h:TR>
                  <h:TD>FIA_X509_EXT.2/WLAN</h:TD>
                  <h:TD>None.</h:TD>
                  <h:TD>None.</h:TD>
                </h:TR>
                <h:TR>
                  <h:TD rowspan="2">FIA_X509_EXT.6</h:TD>
                  <h:TD>Attempts to load certificates.</h:TD><h:td>None.</h:td></h:TR>
                  <h:tr><h:TD>Attempts to revoke certificates.</h:TD><h:td>None.</h:td>
                </h:tr> 
                <h:TR>
                  <h:TD>FMT_SMF.1/WLAN</h:TD>
                  <h:TD>None.</h:TD>
                  <h:TD>None.</h:TD>
                </h:TR> 
                <h:TR>
                  <h:TD rowspan="2">FPT_TST_EXT.3/WLAN</h:TD>
                  <h:TD>Execution of this set of TSF self-tests.</h:TD><h:td>None.</h:td></h:TR>
                <h:tr><h:TD><selectables>
                  <selectable>Detected integrity violation</selectable>
                  <selectable>None.</selectable>
                </selectables></h:TD>
                  <h:TD><selectables>
                    <selectable>The TSF binary file that caused the integrity violation</selectable>
                    <selectable>None.</selectable>
                  </selectables></h:TD>
                </h:tr>
                <h:TR>
                  <h:TD>FTA_WSE_EXT.1</h:TD>
                  <h:TD>All attempts to connect to access points.</h:TD>
                  <h:TD>
		    For each access point record the 
		    <selectables>
		      <selectable>Complete SSID and MAC</selectable>
		      <selectable>
			Certificate Check Message and the last
			<assignable>integer greater than or equal to 2</assignable>
			octets
		      </selectable>
		    </selectables> of the MAC Address
		    <h:br/><h:br/>Success and failures (including reason for failure).
		  </h:TD>
                </h:TR>    
                <h:TR>
                  <h:TD>FTP_ITC.1/WLAN</h:TD>
                  <h:TD>All attempts to establish a trusted channel.</h:TD>
                  <h:TD>Identification of the non-TOE endpoint of the channel.</h:TD>
                </h:TR> 
              </h:table>
	    </h:p>  -->
            </note>            
          </f-element>
          <f-element>
            <title>The <h:b><selectables>
              <selectable>TSF</selectable>
              <selectable>TOE platform</selectable>
            </selectables></h:b> shall record within each audit record at
              least the following information: <h:ol type="a">
                <h:li>Date and time of the event, type of event, subject identity, (if relevant) the outcome 
                  (success or failure) of the event; and</h:li>         
                <h:li>For each audit event type, based on the auditable event definitions of the functional components 
                  included in the PP<h:b>-Module</h:b>/ST, [<h:i>Additional Audit Record Contents as specified in 
				  <xref g="t-audit-mandatory"/> and <xref g="t-audit-sel-based"/></h:i>].</h:li>
              </h:ol>
            </title>
            <aactivity>
              <TSS>
                The evaluator shall check the TSS and ensure it provides a format for audit records. Each audit record
				format type must be covered, along with a brief description of each field. <h:br/><h:br/>
                If "invoke platform-provided functionality" is selected, the evaluator shall examine the TSS to verify
				it describes (for each supported platform) how this functionality is invoked 
                (it should be noted that this may be through a mechanism that is not implemented by the WLAN Client;
				however, that mechanism will be identified in the TSS as part of this evaluation activity).<h:br/><h:br/>
              </TSS>
              <Guidance>
                The evaluator shall check the operational guidance and ensure it lists all of the auditable
                events and provides a format for audit records. Each audit record format type must be
                covered, along with a brief description of each field. The evaluator shall check to make sure
                that every audit event type mandated by the PP-Module is described and that the description of the
                fields contains the information required in FAU_GEN.1.2/WLAN, and the additional information
                specified in <xref g="t-audit-mandatory"/> and <xref g="t-audit-sel-based"/>.
                <h:br/><h:br/>
                The evaluator shall in particular ensure that the operational guidance is clear in relation to the
                contents for failed cryptographic events. In the Auditable Events tables, information detailing the cryptographic
                mode of operation and a name or identifier for the object being encrypted is required. The
                evaluator shall ensure that name or identifier is sufficient to allow an administrator reviewing
                the audit log to determine the context of the cryptographic operation (for example,
                performed during a key negotiation exchange, performed when encrypting data for transit) as
                well as the non-TOE endpoint of the connection for cryptographic failures relating to
                communications with other IT systems.
		<h:br/><h:br/>
                The evaluator shall also make a determination of the administrative actions that are relevant
                in the context of this PP-Module. The TOE may contain functionality that is not evaluated in the
                context of this PP-Module because the functionality is not specified in an SFR. This functionality may
                have administrative aspects that are described in the operational guidance. Since such
                administrative actions will not be performed in an evaluated configuration of the TOE, the
                evaluator shall examine the operational guidance and make a determination of which
                administrative commands, including subcommands, scripts, and configuration files, are related
                to the configuration (including enabling or disabling) of the mechanisms implemented in the
                TOE that are necessary to enforce the requirements specified in the PP-Module, which thus form the
                set of “all administrative actions”. The evaluator may perform this activity as part of the
                activities associated with ensuring the AGD_OPE guidance satisfies the requirements.   
                <h:br/><h:br/>
              </Guidance>
              <Tests>
                The evaluator shall test the TOE’s ability to correctly generate audit records by having the TOE
                generate audit records in accordance with the assurance activities associated with the
                functional requirements in this PP-Module. When verifying the test results, the evaluator shall ensure
                the audit records generated during testing match the format specified in the administrative
                guide, and that the fields in each audit record have the proper entries.
                <h:br/><h:br/>               
                Note that the testing here can be accomplished in conjunction with the testing of the security
                mechanisms directly. For example, testing performed to ensure that the administrative
                guidance provided is correct verifies that AGD_OPE.1 is satisfied and should address the
                invocation of the administrative actions that are needed to verify the audit records are
                generated as expected.
              </Tests>
            </aactivity>
          </f-element>
		  <audit-event/>
        </f-component>
      </sec:man_fau>
      
      <sec:man_fcs title="Cryptographic Support (FCS)">
        
        <!--
        The cryptographic requirements are also structured to require the use of the Wi-Fi certification
        requirements for WPA2 enterprise, based on the IEEE 802.11 standard. The Wi-Fi Alliance
        WPA2 Enterprise certification program tests devices for data communications interoperability
        at ISO OSI layers 1 and 2, and mandates the use of the AES-CCMP algorithm for secure connections. Optionally, AES-GCMP can be used.
         -->
        <!-- FCS_CKM.1/WPA -->
        <f-component id="fco-skeygen-wpa" cc-id="fcs_ckm.1" name="Cryptographic Key Generation (Symmetric Keys for WPA2/WPA3 Connections)" iteration="WPA">
          <consistency-rationale/>
          <f-element>
            <title>The TSF shall generate <h:b>symmetric</h:b> cryptographic keys in accordance with a specified cryptographic key generation algorithm [<h:i><h:b>PRF-384 and
              <selectables>
                <selectable>PRF-512</selectable>
                <selectable>PRF-704</selectable>
                <selectable exclusive="yes">no other algorithm</selectable>
              </selectables>
              (as defined in IEEE 802.11-2012)</h:b></h:i>] and specified key sizes [<h:i><h:b>256 bits and 
                <selectables>
                  <selectable>128 bits</selectable>
                  <selectable>192 bits</selectable>
                  <selectable exclusive="yes">no other key sizes</selectable>
                </selectables></h:b></h:i>] <h:b>using a Random Bit Generator as specified in FCS_RBG_EXT.1</h:b>.
            </title>
            <note role="application">
	      <h:p>
The cryptographic key derivation algorithm required by IEEE 802.11-2012
              (Section 11.6.1.2) and verified in WPA2 certification is PRF-384, which uses the HMAC-SHA-1
              function and outputs 384 bits. The use of GCMP was first defined in IEEE 802.11ac-2014 (Section
              11.4.5) but subsequently integrated into 802.11-2012. This protocol requires a key derivation function (KDF) 
              KDF based on HMAC-SHA-256 (for 128-bit symmetric keys) or HMAC-SHA384 (for 256-bit symmetric keys). This KDF outputs 704 bits.
              </h:p><h:p>
              This requirement applies only to the keys that are generated/derived for the communications
              between the access point and the client once the client has been authenticated. It refers to the
              derivation of the Pairwise Temporal Key (PTK) from the PMK, which is done using a random value generated by the RBG
              specified in this PP-Module, the HMAC function using SHA-1 as specified in this PP-Module, as well as other
              information. <!-- NOTE: commented out because I do not have access to 802.11-2012 and so I have no way to verify whether the section reference from 802.11-2016 needs to be updated. 
              This is specified in 802.11-2012 primarily in section 11.6.1.2.  -->
	      </h:p>
            </note>            
            
            <aactivity>
              <TSS>
                The evaluator shall verify that the TSS describes how the primitives defined and implemented
                by this PP-Module are used by the TOE in establishing and maintaining secure connectivity to the
                wireless clients. The TSS shall also provide a description of the developer’s method(s) of
                assuring that their implementation conforms to the cryptographic standards; this includes not
                only testing done by the developing organization, but also any third-party testing that is
                performed.<h:br/><h:br/>
              </TSS>
              <Guidance>
                There are no guidance evaluation activities for this component.  <h:br/><h:br/> 
              </Guidance>
              <Tests>
                The evaluator shall perform the following tests:
                <testlist>
                  <test>
                    The evaluator shall configure the access point so the cryptoperiod of the
                    session key is 1 hour. The evaluator shall successfully connect the TOE to the access
                    point and maintain the connection for a length of time that is greater than the
                    configured cryptoperiod. The evaluator shall use a packet capture tool to determine
                    that after the configured cryptoperiod, a re-negotiation is initiated to establish a new
                    session key. Finally, the evaluator shall determine that the renegotiation has been 
                    successful and the client continues communication with the access point.
                  </test>
                  <test>
		    The evaluator shall perform the following test using a packet sniffing tool to
                    collect frames between the TOE and a wireless LAN access point:
                    <h:br/> 
                    Step 1: The evaluator shall configure the access point to an unused channel and
                    configure the WLAN sniffer to sniff only on that channel (i.e., lock the sniffer on the
                    selected channel). The sniffer should also be configured to filter on the MAC address
                    of the TOE and/or access point.
                    <h:br/> 
                    Step 2: The evaluator shall configure the TOE to communicate with a WLAN access
                    point using IEEE 802.11-2012 and a 256-bit (64 hex values 0-f) pre-shared key. The
                    pre-shared key is only used for testing.
                    <h:br/> 
                    Step 3: The evaluator shall start the sniffing tool, initiate a connection between the
                    TOE and the access point, and allow the TOE to authenticate, associate, and
                    successfully complete the 4-way handshake with the client.
                    <h:br/> 
                    Step 4: The evaluator shall set a timer for 1 minute, at the end of which the evaluator
                    shall disconnect the TOE from the wireless network and stop the sniffer.
                    <h:br/> 
                    Step 5: The evaluator shall identify the 4-way handshake frames (denoted EAPOL-key
                    in Wireshark captures) and derive the PTK from the 4-way handshake frames and pre-shared key as specified in IEEE 802.11-2012.
                    <h:br/> 
                    Step 6: The evaluator shall select the first data frame from the captured packets that
                    was sent between the TOE and access point after the 4-way handshake successfully
                    completed, and without the frame control value 0x4208 (the first 2 bytes are 08 42).
                    The evaluator shall use the PTK to decrypt the data portion of the packet as specified
                    in IEEE 802.11-2012, and shall verify that the decrypted data contains ASCII-readable
                    text.
                    <h:br/> 
                    Step 7: The evaluator shall repeat Step 6 for the next 2 data frames between the TOE
                    and access point and without frame control value 0x4208.
                  </test>
                </testlist>                           
              </Tests>
            </aactivity>
            
          </f-element>
  		  <audit-event/>
        </f-component>

        <!-- FCS_CKM.1/WLAN -->
        <f-component id="fco-keydist-wlan" cc-id="fcs_ckm.2" name="Cryptographic Key Distribution (Group Temporal Key for WLAN)" iteration="WLAN">
          <consistency-rationale/>
          <f-element>
            <title>The TSF shall <h:b>decrypt Group Temporal Key</h:b> in accordance with a specified cryptographic key distribution method 
              [<h:i>AES Key Wrap (as defined in RFC 3394) in an EAPOL-Key frame (as defined in IEEE 802.11-2012 for the packet format and timing considerations</h:i>] <h:b>and does not expose the cryptographic keys</h:b>.
            </title>
            <note role="application">This requirement applies to the Group Temporal Key (GTK) that is received by
              the TOE for use in decrypting broadcast and multicast messages from the access point to which
              it's connected. 802.11-2012 specifies the format for the transfer as well as the fact that it must be wrapped by the AES Key Wrap method specified in RFC 3394; the TOE must be capable of
              unwrapping such keys.
            </note>            
          
          <aactivity>
            <TSS>
              The evaluator shall check the TSS to ensure that it describes how the GTK is unwrapped prior to
              being installed for use on the TOE using the AES implementation specified in this PP-Module.<h:br/><h:br/>
            </TSS>
            <Guidance>
              There are no guidance evaluation activities for this component.<h:br/><h:br/> 
            </Guidance>
            <Tests>
              The evaluator shall perform the following test using a packet sniffing tool to collect frames
              between the TOE and a wireless access point (which may be performed in conjunction with the
              assurance activity for FCS_CKM.1.1/WLAN).
              <h:br/><h:br/> 
              Step 1: The evaluator shall configure the access point to an unused channel and configure the
              WLAN sniffer to sniff only on that channel (i.e., lock the sniffer on the selected channel). The
              sniffer should also be configured to filter on the MAC address of the TOE and/or access point.
              <h:br/><h:br/>  
              Step 2: The evaluator shall configure the TOE to communicate with the access point using IEEE
              802.11-2012 and a 256-bit (64 hex values 0-f) pre-shared key, setting up the connections as
              described in the operational guidance. The pre-shared key is only used for testing.
              <h:br/><h:br/>  
              Step 3: The evaluator shall start the sniffing tool, initiate a connection between the TOE and
              access point, and allow the TOE to authenticate, associate, and successfully complete the 4-way
              handshake with the TOE.
              <h:br/><h:br/>  
              Step 4: The evaluator shall set a timer for 1 minute, at the end of which the evaluator shall
              disconnect the TOE from the access point and stop the sniffer.
              <h:br/><h:br/>  
              Step 5: The evaluator shall identify the 4-way handshake frames (denoted EAPOL-key in
              Wireshark captures) and derive the PTK and GTK from the 4-way handshake frames and pre-shared key as specified in IEEE 802.11-2012.
              <h:br/><h:br/>  
              Step 6: The evaluator shall select the first data frame from the captured packets that was sent
              between the TOE and access point after the 4-way handshake successfully completed, and with
              the frame control value 0x4208 (the first 2 bytes are 08 42). The evaluator shall use the GTK to
              decrypt the data portion of the selected packet as specified in IEEE 802.11-2012, and shall verify
              that the decrypted data contains ASCII-readable text.
              <h:br/><h:br/> 
              Step 7: The evaluator shall repeat Step 6 for the next 2 data frames with frame control value
              0x4208.
            </Tests>
          </aactivity>
          </f-element>
  		  <audit-event/>
        </f-component>
        
        <!-- SME: we were asked to cite the TLS Functional Package instead of defining 'new' TLS requirements in this Module. However, these EAP-TLS requirements are somewhat different from those in the TLS Package. 
          It is unclear what the preferred method of resolving these discrepancies is. -->
		  
		<!-- FCS_TLSC_EXT.1/WLAN -->
        <f-component id="fco-tlsc-wlan" cc-id="fcs_tlsc_ext.1" name="TLS Client Protocol (EAP-TLS for WLAN)" iteration="WLAN">
          <consistency-rationale/>
          
          <comp-lev> describes the ability of the TOE to implement the EAP-TLS protocol as a client.</comp-lev>
          <management>There are no specific management functions identified.</management>
          <audit>The following actions should be auditable if FAU_GEN Security audit data
            generation is included in the PP/ST:<h:ul>
              <h:li>Basic: All attempts to establish a trusted channel.</h:li>
              <h:li>Basic: Detection of modification of channel data.</h:li>
            </h:ul>
          </audit>
          <dependencies><no-link>FCS_CKM.1</no-link> Cryptographic Key Generation<h:br/>
            <no-link>FCS_CKM.1</no-link> Cryptographic Key Generation<h:br/>
            <no-link>FCS_CKM.2</no-link> Cryptographic Key Distribution<h:br/>
            <no-link>FCS_COP.1</no-link> Cryptographic Operation<h:br/>
            <no-link>FCS_RBG_EXT.1</no-link> Random Bit Generation<h:br/>
            <no-link>FIA_X509_EXT.1</no-link> X.509 Certificate Validation<h:br/>
            <no-link>FMT_SMR.1</no-link> Security Roles
          </dependencies>
          
          <f-element id="fel-tlsc1_2">
            <title>The TSF shall implement TLS 1.2 (RFC 5246) and               
            <selectables>
              <selectable>TLS 1.1 (RFC 4346)</selectable>
              <selectable exclusive="yes">no other TLS version</selectable>
            </selectables> in support of the EAP-TLS protocol as specified in RFC 5216 supporting the following cipher suites:
            <selectables linebreak="yes">
              <selectable>TLS_RSA_WITH_AES_128_CBC_SHA as defined in RFC 5246</selectable> 
              <selectable>TLS_RSA_WITH_AES_128_CBC_SHA256 as defined in RFC 5246</selectable>
              <selectable>TLS_RSA_WITH_AES_256_CBC_SHA256 as defined in RFC 5246</selectable> 
              <selectable>TLS_RSA_WITH_AES_256_GCM_SHA384 as defined in RFC 5288</selectable> 
              <selectable>TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 as defined in RFC 5246</selectable> 
              <selectable>TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 as defined in RFC 5246</selectable> 
              <selectable>TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 as defined in RFC 5288</selectable> 
              <selectable id="ecdhe_ECDSA_WITH_AES_128_CBC_SHA256">TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 as defined in RFC 5289</selectable> 
              <selectable id="ecdhe_ECDSA_WITH_AES_128_GCM_SHA256">TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 as defined in RFC 5289</selectable> 
              <selectable id="ecdhe_ECDSA_WITH_AES_256_CBC_SHA384">TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 as defined in RFC 5289</selectable> 
              <selectable id="ecdhe_ECDSA_WITH_AES_256_GCM_SHA384">TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 as defined in RFC 5289</selectable> 
              <selectable id="ecdhe_RSA_WITH_AES_128_CBC_SHA256">TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 as defined in RFC 5289</selectable> 
              <selectable id="ecdhe_RSA_WITH_AES_128_GCM_SHA256">TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 as defined in RFC 5289</selectable> 
              <selectable id="ecdhe_RSA_WITH_AES_256_CBC_SHA384">TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 as defined in RFC 5289</selectable> 
              <selectable id="ecdhe_RSA_WITH_AES_256_GCM_SHA384">TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 as defined in RFC 5289</selectable>
            </selectables>.   
            </title>
            <ext-comp-def-title>
              <title>The TSF shall implement TLS 1.2 (RFC 5246) and               
                <selectables>
                  <selectable>TLS 1.1 (RFC 4346)</selectable>
                  <selectable>no other TLS version</selectable>
                </selectables> in support of the EAP-TLS protocol as specified in RFC 5216 supporting the following cipher suites: <assignable>list of supported cipher suites</assignable>.</title>
            </ext-comp-def-title>
            <note role="application">If any of the ECDHE cipher suites are selected by the ST author, it is necessary
              to claim the selection-based requirement FCS_TLSC_EXT.2/WLAN.
            </note>            
          </f-element>
          <f-element><title>The TSF shall generate random values used in the EAP-TLS exchange
            using the RBG specified in FCS_RBG_EXT.1.</title>
          </f-element>  
          <f-element><title>The TSF shall use X509 v3 certificates as specified in FIA_X509_EXT.1<h:b>/WLAN</h:b>.</title>
            <ext-comp-def-title>
              <title>The TSF shall use X509 v3 certificates as specified in FIA_X509_EXT.1.</title>
            </ext-comp-def-title>
          </f-element>    
          <f-element><title>The TSF shall verify that the server certificate presented includes the
            Server Authentication purpose (id-kp 1 with OID 1.3.6.1.5.5.7.3.1) in the extendedKeyUsage
            field.</title>
          </f-element> 
          <f-element><title>The TSF shall allow an authorized administrator to configure the list
            of CAs that are allowed to sign authentication server certificates that are accepted by the TOE.</title>
            
          
            <!-- </f-element>
              
              FCS_TLSC_EXT.1.6 Removed by TD0492
          <f-element><title>The TSF shall allow an authorized administrator to configure the list
            of algorithm suites that may be proposed and accepted during the EAP-TLS exchanges.</title> -->
          
            <note role="application">
	      <h:p>
	      The cipher suites to be tested in the evaluated configuration are limited by this
            requirement. The ST author should select the optional cipher suites that are supported.
            It is necessary to limit the cipher suites that can be used in an evaluated configuration
            administratively on the server in the test environment.
            </h:p><h:p>
            While FCS_TLSC_EXT.1.4/WLAN requires that the TOE perform certain checks on the certificate
            presented by the authentication server, there are corresponding checks that the authentication
            server will have to perform on the certificate presented by the client; namely that the
            extendedKeyUsage field of the client certificate includes "Client Authentication" and that the
            digital signature bit (for the Diffie-Hellman cipher suites) or the key encipherment bit (for RSA
            cipher suites) be set. Certificates obtained for use by the TOE will have to conform to these
            requirements in order to be used in the enterprise.
            </h:p><h:p>
            The FIA_X509_EXT.1 requirements defined in each of the possible Base-PPs define requirements that
            the underlying platform is expected to implement.
	    </h:p>
          </note> 
          <aactivity>
            <TSS>
              The evaluator shall check the description of the implementation of this protocol in the TSS to
              ensure that the cipher suites supported are specified. The evaluator shall check the TSS to ensure
              that the cipher suites specified include those listed for this component.<h:br/><h:br/> 
            </TSS>
            <Guidance>
              The evaluator shall check the operational guidance to ensure that it contains instructions on
              configuring the TOE so that TLS conforms to the description in the TSS (for instance, the set of
              cipher suites advertised by the TOE may have to be restricted to meet the requirements).
              <h:br/><h:br/>  
              The evaluator shall check that the guidance contains instructions for the administrator to
              configure the list of Certificate Authorities that are allowed to sign certificates used by the
              authentication server that will be accepted by the TOE in the EAP-TLS exchange, and instructions
              on how to specify the algorithm suites that will be proposed and accepted by the TOE during the
              EAP-TLS exchange.
              <h:br/><h:br/> 
            </Guidance>
            <Tests>
              The evaluator shall write, or the TOE developer shall provide, an application for the purposes of
              testing TLS.<h:br/><h:br/> 
              The evaluator shall perform the following tests:
              <testlist>
                <test>The evaluator shall establish a TLS connection using each of the cipher suites
                  specified by the requirement. This connection may be established as part of the
                  establishment of a higher-level protocol, e.g., as part of an EAP session. It is sufficient to
                  observe the successful negotiation of a cipher suite to satisfy the intent of the test; it is
                  not necessary to examine the characteristics of the encrypted traffic in an attempt to
                  discern the cipher suite being used (for example, that the cryptographic algorithm is 128-bit
                  AES and not 256-bit AES).
                </test>
                <test>
                  The evaluator shall attempt to establish the connection using a server with a
                  server certificate that contains the Server Authentication purpose in the
                  extendedKeyUsage field and verify that a connection is established. The evaluator will
                  then verify that the client rejects an otherwise valid server certificate that lacks the
                  Server Authentication purpose in the extendedKeyUsage field and a connection is not
                  established. Ideally, the two certificates should be identical except for the
                  extendedKeyUsage field.
                </test>
                <test>
                  The evaluator shall send a server certificate in the TLS connection that does not
                  match the server-selected cipher suite.
		  For example, send a ECDSA certificate while using
                  the TLS_RSA_WITH_AES_128_CBC_SHA cipher suite or send a RSA certificate while using
                  one of the ECDSA cipher suites.
		  The evaluator shall verify that the TOE disconnects after
                  receiving the server’s Certificate handshake message.
                </test>
                <test>
                  The evaluator shall configure the server to select the
                  TLS_NULL_WITH_NULL_NULL cipher suite and verify that the client denies the
                  connection.
                </test>
                <test>
                  The evaluator shall perform the following modifications to the traffic:
                  <h:ul>
                    <h:li>Change the TLS version selected by the server in the Server Hello to a unsupported TLS version (for example 1.5 represented by the two bytes 03 06) and
                      verify that the client rejects the connection.</h:li>
                    <h:li>Modify at least one byte in the server’s nonce in the Server Hello handshake
                      message, and verify that the client rejects the Server Key Exchange handshake
                      message (if using a DHE or ECDHE cipher suite) or that the server denies the
                      client’s Finished handshake message.</h:li>
                    <h:li>Modify the server’s selected cipher suite in the Server Hello handshake message
                      to be a cipher suite not presented in the Client Hello handshake message. The
                      evaluator shall verify that the client rejects the connection after receiving the
                      Server Hello.</h:li>
                    <h:li>[conditional: if the TOE supports at least one cipher suite that uses DHE or ECDHE for key exchange]  
                      Modify the signature block in the Server’s Key
                      Exchange handshake message, and verify that the client rejects the
                      connection after receiving the Server Key Exchange message. This test
                      does not apply to cipher suites using RSA key exchange.</h:li>
                    <h:li>Modify a byte in the Server Finished handshake message, and verify
                      that the client sends an Encrypted Message followed by a FIN and
                      ACK message. This is sufficient to deduce that the TOE responded
                      with a Fatal Alert and no further data would be sent.</h:li>
                    <h:li>Send a garbled message from the server after the server has issued the
                      ChangeCipherSpec message and verify that the client denies the connection.</h:li>
                  </h:ul>
                </test>
              </testlist>
            </Tests>
          </aactivity>
          </f-element>
  		  <audit-event>
			<audit-event-descr>Failure to establish an EAP-TLS session.</audit-event-descr>
			<audit-event-info>Reason for failure.</audit-event-info>
			<audit-event-info>Non-TOE endpoint of connection.</audit-event-info>
		  </audit-event>
  		  <audit-event>
			<audit-event-descr>Establishment/termination of an EAP-TLS session.</audit-event-descr>
			<audit-event-info>Non-TOE endpoint of connection.</audit-event-info>
		  </audit-event>		  
        </f-component>
        
		<!-- FCS_WPA_EXT.1 -->
        <f-component cc-id="fcs_wpa_ext.1" name="Supported WPA Versions" id="fco-wpa-version">
          <consistency-rationale/>
          
          <comp-lev> requires the TOE to support one or more identified WPA vesrions.</comp-lev>
          <management>There are no specific management functions identified.</management>
          <audit>There are no auditable events foreseen.</audit>
          <dependencies>No dependencies.</dependencies>
          
          <f-element id="fel-wpa3">
            <title>The TSF shall support WPA3 and <selectables>
              <selectable id="wpa2">WPA2</selectable>
              <selectable exclusive="yes">no other</selectable>
            </selectables> security type.
            </title>
            <note role="application">
	      The WLAN client can support connecting to networks of other security types (e.g., open);
	      however, those will not be tested as part of this evaluation and FMT_SMF.1
	      will ensure that the client can be configured to only connect to WPA3 and, if selected WPA2, networks.
	    </note>
            <aactivity>
	      <TSS>
		There are no TSS evaluation activities for this component.<h:br/><h:br/> 
	      </TSS>
              <Guidance>The evaluator shall ensure that the AGD contains guidance on how to configure the WLAN client to
			  disable connecting to networks other that WPA3 and, if selected, WPA2.<h:br/><h:br/>
		</Guidance>
              <Tests> The evaluator shall configure a Wi-Fi network that utilizes WPA3 and verify that the client can connect.
			  The evaluator shall then modify the network so that it utilizes WPA and verifies that the WLAN client does not 
			  connect to the network. The same test shall be repeated for WPA2 if it is selected. </Tests>
            </aactivity>
          </f-element>
		  <audit-event/>
        </f-component>
        
 
       </sec:man_fcs>
      
      <sec:man_fia title="Identification and Authentication (FIA)">
        
        <!-- QQQQ
        The baseline requirements for the TOE are fairly limited with respect to I&amp;A, since no formal
        administrative or general purpose users are defined. The extent of the I&amp;A required to be
        performed by the TOE relates to the process of becoming connected to the protected network
        through the Wireless Access System. Additionally, some of the requirements that might
        normally be considered part of the I&amp;A process are specified in other sections of this PP-Module,
        particularly those related to cryptographic protocols used for the wireless communications
        (WPA2). This was done to keep requirements on those protocols grouped together for
        understandability as well as for ease of authoring and applying assurance activities. Therefore, 
        the requirements in this section cover the remaining two aspects of the I&amp;A capabilities the
        TOE must support:
        <h:ul>
        <h:li>802.1X-2010 Authentication. The 802.1X-2010 standard (and associated RFCs) specifies
        authentication of a machine for the purposes of accessing a network. This method is
        used as a precursor to wireless operations using the 802.11-2016 standard. While
        802.1X contains requirements for several different parties that participate in 802.1X
        exchanges, the requirements below are targeted at the TOE’s role as a “supplicant” per
        802.1X.</h:li>
        <h:li>Credentials. The protocols and mechanisms specified in this and other sections of the PP-Module
        rely on certificates for use in the EAP-TLS exchange in performing the 802.1X
        authentication.</h:li>
        </h:ul>  -->
        
        <ext-comp-def fam-id="FIA_PAE_EXT" title="Port Access Entity Authentication">
          <fam-behavior>Components in this family define requirements for TOE support of IEEE 802.1X authentication.
          </fam-behavior>
        </ext-comp-def>
		
		<!-- FIA_PAE_EXT.1 -->
        <f-component id="fco-portaccess-auth" cc-id="fia_pae_ext.1" name="Port Access Entity Authentication">
          <consistency-rationale/>
          
          <comp-lev> describes the ability of the TOE to act as a supplicant for 802.1X authentication.</comp-lev>
          <management>The following actions could be considered for the management functions in FMT: <h:ul>
            <h:li>Enable/disable IEEE 802.1X pre-authentication.</h:li>
            <h:li>Enable/disable PMK caching.</h:li>
            <h:li>Set the amount of time (in minutes) for which PMK entries are cached.</h:li>
            <h:li>Set the maximum number of PMK entries that can be cached.</h:li>
          </h:ul>
          </management>
          <audit>There are no auditable events foreseen.</audit>
          <dependencies>No dependencies.</dependencies>
          
          <f-element>
            <title>The TSF shall conform to IEEE Standard 802.1X for a Port Access Entity (PAE)
              in the “Supplicant” role.
            </title>
            <note role="application">
	      <h:p>
              This requirement covers the TOE's role as the supplicant in an 802.1X
              authentication exchange. If the exchange is completed successfully, the TOE will derive the PMK
              as a result of the EAP-TLS (or other appropriate EAP exchange) and perform the 4-way
              handshake with the wireless access system (authenticator) to begin 802.11 communications.
              </h:p><h:p>
              As indicated previously, there are at least two communication paths present during the
              exchange; one with the wireless access system and one with the authentication server that uses
              the wireless access system as a relay. The TOE establishes an EAP over LAN (EAPOL) connection
              with the wireless access system as specified in 802.1X-2020. The TOE and authentication server
              establish an EAP-TLS session (RFC 5216).
              </h:p><h:p>
              The point of performing 802.1X authentication is to gain access to the network (assuming the
              authentication was successful and that all 802.11 negotiations are performed successfully); in
              the terminology of 802.1X, this means the TOE will gain access to the "controlled port" maintained 
              by the wireless access system.
	      </h:p>
            </note>            
          
            <aactivity>
              <TSS>
                There are no TSS evaluation activities for this component.<h:br/><h:br/> 
              </TSS>
              <Guidance>
                There are no guidance evaluation activities for this component.  <h:br/><h:br/>  
              </Guidance>
              <Tests>
                The evaluator shall perform the following tests:
                <testlist>
                  <test>
                  The evaluator shall demonstrate that the TOE has no access to the test network.
                  After successfully authenticating with an authentication server through a wireless access
                  system, the evaluator shall demonstrate that the TOE does have access to the test
                  network.
                  </test>
                  <test>
                    The evaluator shall demonstrate that the TOE has no access to the test network. 
                    The evaluator shall attempt to authenticate using an invalid client certificate, such that
                    the EAP-TLS negotiation fails. This should result in the TOE still being unable to access
                    the test network.
                  </test>
                  <test>
                    The evaluator shall demonstrate that the TOE has no access to the test network.
                    The evaluator shall attempt to authenticate using an invalid authentication server
                    certificate, such that the EAP-TLS negotiation fails. This should result in the TOE still
                    being unable to access the test network.
                  </test>
                </testlist>                           
              </Tests>
            </aactivity>
          </f-element>
		  <audit-event/>
        </f-component>
        
        <!-- SME: added to address TD0439. Component not included in ECD because both Base-PPs define it. -->
		
		<!-- FIA-X509_EXT.1/WLAN -->
        <f-component id="fco-certval-wlan" cc-id="fia_x509_ext.1" name="X.509 Certificate Validation" iteration="WLAN">
      <consistency-rationale/>

          <f-element>
            <title>The TSF shall validate certificates for <h:b>EAP-TLS</h:b> in accordance with the following rules:
              <h:ul>
                <h:li>RFC 5280 certificate validation and certificate path validation</h:li>
                <h:li>The certificate path must terminate with a certificate in the Trust Anchor Database</h:li>
                <h:li>The TSF shall validate a certificate path by ensuring the presence of the basicConstraints extension and that the CA flag is set to TRUE for all CA certificates</h:li>
                <h:li>The TSF shall validate the extendedKeyUsage field according to the following rules: <h:ul>
                  <h:li>Server certificates presented for TLS shall have the Server Authentication purpose (id-kp 1 with OID 1.3.6.1.5.5.7.3.1) in the extendedKeyUsage field</h:li>
                <h:li>Client certificates presented for TLS shall have the Client Authentication purpose (id-kp 2 with OID 1.3.6.1.5.5.7.3.2) in the extendedKeyUsage field.</h:li>
                </h:ul>
              </h:li>
              </h:ul>
            </title>
          </f-element>
          <f-element>
            
          <title>The TSF shall only treat a certificate as a CA certificate if the basicConstraints extension is present and the CA flag is set to TRUE.
            </title>
            <note role="application">
              FIA_X509_EXT.1/WLAN lists the rules for validating certificates for EAP-TLS. 
              In contrast to FIA_X509_EXT.1 in the Base-PPs, this iteration does not require revocation checking for the EAP-TLS connection used to establish a Wi-Fi connection. 
              The FIA_X509_EXT.1 requirements defined in each of the possible Base-PPs define requirements that the underlying platform is expected to implement in order to support compliance with RFC 5280.
            </note>            
            
            <aactivity>
              <TSS>
                The evaluator shall ensure the TSS describes where the check of validity of the EAP-TLS certificates takes place. 
                The evaluator shall also ensure the TSS also provides a description of the certificate path validation algorithm.<h:br/><h:br/> 
              </TSS>
              <Guidance>
                There are no guidance evaluation activities for this component.   <h:br/><h:br/> 
              </Guidance>
              <Tests>
                The tests described must be performed in conjunction with the other Certificate Services assurance activities. 
                The tests for the extendedKeyUsage rules are performed in conjunction with the uses that require those rules. 
                The evaluator shall create a chain of at least four certificates: the node certificate to be tested, two Intermediate CAs, and the self-signed Root CA.
                <testlist>
                  <test>
                    The evaluator shall then load a certificate or certificates to the Trust Anchor Database needed to validate the certificate to be used in the function (e.g. application validation), 
                    and demonstrate that the function succeeds. 
                    The evaluator then shall delete one of the certificates, and show that the function fails.
                  </test>
                  <test>
                    The evaluator shall demonstrate that validating an expired certificate results in the function failing.
                  </test>
                  <test>
                    The evaluator shall construct a certificate path, such that the certificate of the CA issuing the TOE’s certificate does not contain the basicConstraints extension. 
                    The validation of the certificate path fails.
                  </test>
                  <test>
                    The evaluator shall construct a certificate path, such that the certificate of the CA issuing the TOE’s certificate has the cA flag in the basicConstraints extension not set. 
                    The validation of the certificate path fails.
                  </test>
                  <test>
                    The evaluator shall modify any byte in the first eight bytes of the certificate and demonstrate that the certificate fails to validate (the certificate will fail to parse correctly).
                  </test>
                  <test>
                    The evaluator shall modify any bit in the last byte of the signature algorithm of the certificate and demonstrate that the certificate fails to validate 
                    (the signature on the certificate will not validate).
                  </test>
                  <test>
                    The evaluator shall modify any byte in the public key of the certificate and demonstrate that the certificate fails to validate (the signature on the certificate will not validate).
                  </test>
                </testlist>                           
              </Tests>
            </aactivity>
          </f-element>
  		  <audit-event>
			<audit-event-descr>Failure to validate X.509v3 certificate.</audit-event-descr>
			<audit-event-info>Reason for failure of validation.</audit-event-info>
  		  </audit-event>
        </f-component>
        
		<!-- FIA_X509_EXT.2/WLAN -->
        <f-component id="fco-certauth" cc-id="fia_x509_ext.2" name="X.509 Certificate Authentication (EAP-TLS for WLAN)" iteration="WLAN">
          <consistency-rationale/>
          <f-element>
            <title>The TSF shall use X.509v3 certificates as defined by RFC 5280 to
              support [<h:i>[authentication for EAP-TLS exchanges]</h:i>].
            </title>
            <note role="application">
              RFC 5280 defines certificate validation and certification path validation
              requirements that must be implemented by the TSF. The FIA_X509_EXT.1 requirements defined
              in each of the supported Base-PPs define requirements that the underlying platform is expected to
              implement in order to support compliance with this RFC.
            </note>            
  <!--         </f-element>
          <f-element>
            <title>When the TSF cannot establish a connection to determine the validity of a
              certificate, the TSF shall 
              <selectables>
                <selectable>allow the administrator to choose whether to accept the certificate in these cases</selectable>
                <selectable>allow the user to choose whether to accept the certificate in these cases</selectable>
                <selectable>accept the certificate</selectable> 
                <selectable>not accept the certificate</selectable>
              </selectables>.
            </title>  -->        
                      
          <aactivity>
            <TSS>
              The evaluator shall check the TSS to ensure that it describes how the TOE chooses which
              certificates to use, and any necessary instructions in the administrative guidance for configuring
              the operational environment so that the TOE can use the certificates.
              <h:br/><h:br/>   
              The evaluator shall examine the TSS to confirm that it describes the behavior of the TOE when a
              connection cannot be established during the validity check of a certificate used in establishing a
              trusted channel. The evaluator shall verify that any distinctions between trusted channels are
              described.
              <h:br/><h:br/> 
            </TSS>
            <Guidance>
              If not already present in the TSS, the evaluator shall check the administrative guidance to ensure that it describes how the TOE
              chooses which certificates to use, and any necessary instructions for configuring the operating
              environment so that the TOE can use the certificates.  
              <h:br/><h:br/>  
              If the administrator is able to specify the action to be performed in this situation, then
              the evaluator shall ensure that the operational guidance contains instructions on how this
              configuration action is performed.
              <h:br/><h:br/> 
            </Guidance>
            <Tests>
              The evaluator shall perform the following test:
              <testlist>
                <test>
                  The evaluator shall demonstrate using a valid certificate that requires certificate validation
                  checking to be performed in at least some part by communicating with a non-TOE IT entity. The
                  evaluator shall then manipulate the environment so that the TOE is unable to verify the validity
                  of the certificate, and observe that the action selected in FIA_X509_EXT.2.2 is performed. If the
                  selected action is administrator-configurable, then the evaluator shall follow the operational 
                  guidance to determine that all supported administrator-configurable options behave in their
                  documented manner.
                </test>
              </testlist>                           
            </Tests>
          </aactivity>
          </f-element>
		  <audit-event/> 
        </f-component>
        
        
        
        <ext-comp-def fam-id="FIA_X509_EXT" title="X.509 Certificate Use and Management">
          <fam-behavior>Components in this family define requirements for the use of X.509 certificates.
          </fam-behavior>
        </ext-comp-def>
		
		<!-- FIA_X509_EXT.6 -->
        <f-component id="fco-manage-certs" cc-id="fia_x509_ext.6" name="X.509 Certificate Storage and Management">
          <consistency-rationale/>
          
          <comp-lev> requires the TOE to implement the ability to store X.509 certificates.</comp-lev>
          <management>The following actions could be considered for the management functions in FMT: <h:ul>
            <h:li>Loading of X.509 certificates into the TOE.</h:li>
            <h:li>Revocation of loaded X.509 certificates.</h:li>
          </h:ul>
          </management>
          <audit>The following actions should be auditable if FAU_GEN Security audit data
            generation is included in the PP/ST:<h:ul>
              <h:li>Basic: Attempts to load certificates.</h:li>
              <h:li>Basic: Attempts to revoke certificates.</h:li>
            </h:ul>
          </audit>
          <dependencies>No dependencies.</dependencies>
          
          <f-element>
            <title>The TSF shall <selectables>
              <selectable>store and protect</selectable>
              <selectable>invoke <assignable>platform storage mechanism</assignable> to store and protect</selectable>
            </selectables> certificate(s) from unauthorized deletion and
              modification.
            </title>      
          </f-element>
          <f-element>
            <title>The TSF shall <selectables>
              <selectable>provide the capability for authorized administrators to load X.509v3 certificates into the TOE</selectable>
              <selectable>rely on <assignable>platform mechanism</assignable> to load X.509v3 certificates into <assignable>platform storage mechanism</assignable></selectable>
            </selectables> for use by the TSF.
            </title>        
            <note role="application">
              This PP-Module assumes that any platform mechanism used for X.509 certificate loading is capable of enforcing access control to prevent unauthorized subjects from manipulating the contents of the certificate storage.
            </note>   
            
            <aactivity>
              <TSS>
                The evaluator shall examine the TSS to determine that it describes all certificate stores implemented that contain certificates used to meet the requirements of this PP-Module. 
                This description shall contain information pertaining to how certificates are loaded into the store, and how the store is protected from unauthorized access.
                <h:br/><h:br/> 
                If the TOE relies on a platform mechanism for certificate loading and storage, the evaluator shall verify that the TSS identifies this mechanism and describes how use of this mechanism is protected against unauthorized access.
                <h:br/><h:br/> 
              </TSS>
              <Guidance>
                The evaluator shall check the administrative guidance to ensure that it describes how to load X.509 certificates into the TOE's certificate store, 
                regardless of whether the TSF provides this mechanism itself or the TOE relies on a platform-provided mechanism
				for this.<h:br/><h:br/> 
              </Guidance>
              <Tests>
                The evaluator shall perform the following test for each TOE function that requires the use of certificates:
                <testlist>
                  <test>
                    The evaluator shall demonstrate that using a certificate without a valid certification path results in the function failing. 
                    The evaluator shall then load any certificates needed to validate the certificate to be used in the function and demonstrate that the function succeeds. 
                    The evaluator shall then delete one of these dependent certificates and show that the function fails.
                  </test>
                  <test>
                    The evaluator shall demonstrate that the mechanism used to load or configure X.509 certificates cannot be accessed without appropriate authorization.
                  </test>
                </testlist>                           
              </Tests>
            </aactivity>
          </f-element>    
		  <audit-event>
			<audit-event-descr>Attempts to load certificates.</audit-event-descr>
		  </audit-event>
		  <audit-event>
			<audit-event-descr>Attempts to revoke certificates.</audit-event-descr>
		  </audit-event>
        </f-component>

        
       </sec:man_fia>  
      
      
      <sec:man_fmt title="Security Management (FMT)">
        
        
        <!-- SME: need clarification on what to do with this since it doesn't seem to be totally correct at the moment - notably, section 1 doesn't say anything about a separate management role as claimed here. -->
        
        <!-- QQQQ
        As indicated in Section 1, the TOE is not required to maintain a separate management
        role. It is, however, required to provide functionality to configure certain aspects of TOE
        operation that should not be available to the general user population. If the TOE does provide
        some degree of administrative control, then the appropriate optional requirements
        should be claimed in the ST.  -->
		
		<!-- FMT_SMF.1/WLAN -->
        <f-component id="f-manage-functions" cc-id="fmt_smf.1" name="Specification of Management Functions (WLAN Client)" iteration="WLAN">
          <consistency-rationale/>
          <f-element>
            <title>The TSF shall be capable of performing the following management functions: 
	    <h:br/><h:br/>
              <h:b><ctr id="fmt_smf" ctr-type="Table">: Management Functions</ctr></h:b><h:br/><h:br/> 
              Status Markers:<h:br/> M - Mandatory<h:br/> O - Optional/Objective<h:br/>
              <management-function-set default="O" ctr-prefix="WL-">
                <manager cid="I">Impl</manager>
		<manager cid="A">Admin</manager>
		<manager cid="U">User</manager>
		<management-function>
		  <text>configure security policy for each wireless network:
                <h:ul>
                  <!-- SME: this selectable list conflicts with FCS_TLSC_EXT.1.5/WLAN, which only permits use of a CA to validate authentication server certificates, no FQDN option. Not sure which to modify to make consistent. -->
                  <h:li><selectables>
                    <selectable>specify the CA(s) from which the TSF will accept WLAN authentication server certificate(s)</selectable>
                    <selectable>specify the Fully Qualified Domain Names (FQDNs) of acceptable WLAN authentication server certificate(s)</selectable>
                  </selectables>,</h:li>
                  <h:li>security type,</h:li>
                  <h:li>authentication protocol,</h:li>
                  <h:li>client credentials to be used for authentication,</h:li>
                  <h:li>set wireless frequency band to <selectables>
                  <selectable>2.4 GHz</selectable>
                  <selectable>5 GHz</selectable>
                  <selectable>6 GHz</selectable></selectables></h:li>
                 </h:ul></text>
                   <M ref="I"/><M ref="A"/>
		</management-function>
                <management-function><text>specify wireless networks (SSIDs) to which the TSF may connect</text>
                   <M ref="I"/><M ref="A"/>
		</management-function>
                <management-function>
		  <text>
                    enable/disable disable wireless network bridging capability (for example, bridging a
                    connection between the WLAN and cellular radios to function as a hotspot) authenticated by <selectables>
                    <selectable>pre-shared key</selectable>
                    <selectable>passcode</selectable>
                    <selectable exclusive="yes">no authentication</selectable>
                  </selectables>
		  </text>
		  <M ref="I"/><M ref="A"/>
		</management-function>
                <management-function><text>enable/disable certificate revocation list checking</text></management-function>
                <management-function><text>disable ad hoc wireless client-to-client connection capability</text></management-function>
                <management-function><text>disable roaming capability</text></management-function>
                <management-function><text>enable/disable IEEE 802.1X pre-authentication</text></management-function>
                <management-function><text>loading X.509 certificates into the TOE</text></management-function>
                <management-function><text>revoke X.509 certificates loaded into the TOE</text></management-function>
                <management-function><text>enable/disable and configure PMK caching:<h:br/>
		<h:ul><h:li>set the amount of time (in minutes) for which PMK entries are cached,</h:li>
		<h:li>set the maximum number of PMK entries that can be cached</h:li></h:ul>
                <!-- &#9702; set the amount of time (in minutes) for which PMK entries are cached,<h:br/> -->
                <!-- &#9702; set the maximum number of PMK entries that can be cached</text></management-function> -->
		</text></management-function>
	      </management-function-set>
            </title>
            <note role="application">
	      <h:p>
		For installation, the WLAN Client relies on the underlying platform to
		authenticate the administrator to the client machine on which the TOE is installed.
	      </h:p>
	      <h:p>
              For the function "configure the cryptoperiod for the established session keys," the unit of measure
              for configuring the cryptoperiod must be no greater than an hour. For example: units of measure
              in seconds, minutes and hours are acceptable and units of measure in days or greater are not
              acceptable.
	      </h:p>
            </note>            
          
          <aactivity>
            <TSS>
              There are no TSS evaluation activities for this component.<h:br/><h:br/> 
            </TSS>
            <Guidance>
              The evaluator shall check the operational guidance to verify that every management function claimed by the TOE is described there. The evaluator shall also verify
              that these descriptions include the information required to perform the management duties associated with the
			  function.<h:br/><h:br/> 
            </Guidance>
            <Tests>
              The evaluator shall test the TOE’s ability to provide the management functions by configuring the
              TOE and performing the management activities associated with each function claimed in the SFR. 
              <h:br/><h:br/>  
              Note that this may be accomplished in conjunction with the testing of other
              requirements, such as FCS_TLSC_EXT.1/WLAN and FTA_WSE_EXT.1.
            </Tests>
          </aactivity>
          </f-element>
		<audit-event/>
        </f-component>      
      </sec:man_fmt>     
 
      <sec:man_fpt title="Protection of the TSF (FPT)">
        
        <!-- SME: note that both GPOS and MDF have an FPT_TST_EXT.1 but neither of them correspond directly to this SFR. Unclear whether it should remain an iteration or if it should be renamed. 
        Note that the VPN Client Module had the same issue and just handled it by iterating the SFR, so the same approach was done here for now. -->
        <ext-comp-def fam-id="FPT_TST_EXT" title="TSF Self-Test">
          <fam-behavior>Components in this family define requirements for self-testing to verify the functionality and integrity of the TOE.
          </fam-behavior>
        </ext-comp-def>
		
		<!-- FPT_TST_EXT.2/WLAN -->
        <f-component id="fco-cryptotesting-wlan" cc-id="fpt_tst_ext.3" name="TSF Cryptographic Functionality Testing (WLAN Client)" iteration="WLAN">
          <consistency-rationale/>
          
          <comp-lev> requires the TOE or its platform to perform power on self-tests to verify its functionality and
            the integrity of its stored executable code.</comp-lev>
            <management>
	      No management functions are foreseen.
	      <!-- The following actions could be considered for the management functions in FMT: <h:ul> -->
              <!--   <h:li>Specification of CAs that are authorized to sign authentication server certificates.</h:li> -->
              <!--   <h:li>Specification of proposed and accepted algorithm suites.</h:li> -->
              <!-- </h:ul> -->
          </management>
          <audit>The following actions should be auditable if FAU_GEN Security audit data
            generation is included in the PP/ST:<h:ul>
              <h:li>Basic: Execution of TSF self-tests.</h:li>
              <h:li>Basic: Detected integrity violation.</h:li>
            </h:ul>
          </audit>
          <dependencies>FCS_COP.1 Cryptographic Operation</dependencies>
          
          <f-element>
            <title>The <selectables>
              <selectable>TOE</selectable>
              <selectable>TOE platform</selectable>
            </selectables> shall run a suite of self-tests during initial start-up (on power on) to demonstrate the correct operation of the TSF.
            </title>
          </f-element>
          <f-element>
            <title>The <selectables>
              <selectable>TOE</selectable>
              <selectable>TOE platform</selectable>
            </selectables> shall provide the capability to
              verify the integrity of stored TSF executable code when it is loaded for execution through the
              use of the TSF-provided cryptographic services.
            </title>
            
            <note role="application">
              While the TOE is defined as a software package running on a platform defined by the claimed Base-PP, it
              is still capable of performing the self-test activities required above. However, if the
              cryptographic algorithm implementation is provided by the underlying platform, it may be the
              case where the TSF self-testing is a check to verify that the underlying platform has successfully
              completed its own self-tests prior to the TSF attempting to use the implementation. It should be
              understood that there is a significant dependency on the host platform in assessing the
              assurance provided by these self-tests since a compromise of the underlying platform could
              potentially result in the self-tests functioning incorrectly.
           </note>  
          
          <aactivity>
            <TSS>
              The evaluator shall examine the TSS to ensure that it details the self tests that are run by the TSF
              on start-up; this description should include an outline of what the tests are actually doing (e.g.,
              rather than saying "memory is tested", a description similar to "memory is tested by writing a
              value to each memory location and reading it back to ensure it is identical to what was written"
              shall be used). The evaluator shall ensure that the TSS makes an argument that the tests are
              sufficient to demonstrate that the TSF is operating correctly.
              <h:br/><h:br/> 
              The evaluator shall examine the TSS to ensure that it describes how to verify the integrity of
              stored TSF executable code when it is loaded for execution. The evaluator shall ensure that the
              TSS makes an argument that the tests are sufficient to demonstrate that the integrity of stored
              TSF executable code has not been compromised. The evaluator also ensures that the TSS (or the
              operational guidance) describes the actions that take place for successful (e.g. hash verified) and
              unsuccessful (e.g., hash not verified) cases.
              <h:br/><h:br/> 
            </TSS>
            <Guidance>
              The evaluator shall ensure that the operational guidance describes the actions that
              take place for successful (e.g. hash verified) and unsuccessful (e.g., hash not verified) cases.<h:br/><h:br/> 
            </Guidance>
            <Tests>
              The evaluator shall perform the following tests:
              <testlist>
                <test>
                  The evaluator shall perform the integrity check on a known good TSF executable and
                  verify that the check is successful.
                </test>
                <test>
                  The evaluator shall modify the TSF executable, perform the integrity check on the
                  modified TSF executable, and verify that the check fails. 
                </test>
              </testlist>                 
            </Tests>
          </aactivity>
          </f-element>
		  <audit-event>
			<audit-event-descr>Execution of this set of TSF self-tests.</audit-event-descr>
		  </audit-event>
		  <audit-event type="optional">
			<audit-event-descr>Detected integrity violation</audit-event-descr>
			<audit-event-info type="optional">The TSF binary file that caused the integrity violation</audit-event-info>
		  </audit-event>
        </f-component>      
      </sec:man_fpt>   
      

      <sec:man_fta title="TOE Access (FTA)">
        
        <ext-comp-def fam-id="FTA_WSE_EXT" title="Wireless Network Access">
          <fam-behavior>Components in this family define requirements for specifying wireless networks that the TOE can connect to.
          </fam-behavior>
        </ext-comp-def>
		
		<!-- FTA_WSE_EXT.1 -->
        <f-component id="fco-wifi-access" cc-id="fta_wse_ext.1" name="Wireless Network Access">
          <consistency-rationale/>
          
          <comp-lev> describes the ability of the TOE to apply administrative limits on the wireless networks that it can connect to.</comp-lev>
          <management>The following actions could be considered for the management functions in FMT: <h:ul>
            <h:li>Specify allowed wireless networks based on Service Set Identifier (SSID).</h:li>
          </h:ul>
          </management>
          <audit>The following actions should be auditable if FAU_GEN Security audit data
            generation is included in the PP/ST:<h:ul>
              <h:li>Basic: All attempts to connect to access points.</h:li>
            </h:ul>
          </audit>
          <dependencies>FMT_SMF.1 Specification of Management Functions</dependencies>
          
          <f-element>
            <title>The TSF shall be able to attempt connections only to wireless networks
              specified as acceptable networks as configured by the administrator in
              FMT_SMF.1.1/WLAN.
            </title>
            
            <note role="application">
              The intent of this requirement is to allow the administrator to limit the wireless networks to which the TOE is allowed to connect. 
            </note>  
          
          <aactivity>
            <TSS>
              The evaluator shall examine the TSS to determine that it defines SSIDs as the attribute to specify acceptable
			  networks.<h:br/><h:br/> 
            </TSS>
            <Guidance>
              The evaluator shall examine the operational guidance to determine that it contains guidance for
              configuring the list of SSIDs that the WLAN Client is able to connect to.<h:br/><h:br/> 
            </Guidance>
            <Tests>
              The evaluator shall perform the following tests for each attribute:
              <testlist>
                <test>
                  The evaluator configures the TOE to allow a connection to a wireless network with a specific SSID. 
                  The evaluator configures the test environment such that the allowed SSID and an SSID that is not allowed are both
                  "visible" to the TOE.
		  The evaluator shall demonstrate that they can successfully establish a connection with the allowed SSID.
                  The evaluator shall then attempt to establish a session with the disallowed SSID and observe that the attempt fails.
                </test>
              </testlist>                 
            </Tests>
          </aactivity>
          </f-element>
		  <audit-event>
			<audit-event-descr>All attempts to connect to access points.</audit-event-descr>
			<audit-event-info>For each access point record the 
				<selectables>
					<selectable>Complete SSID and MAC</selectable>
					<selectable>Certificate Check Message and the last <assignable>integer greater than or equal to 2</assignable>
						octets</selectable>
				</selectables> of the MAC Address</audit-event-info>
			<audit-event-info>Success and failures (including reason for failure).</audit-event-info>
		  </audit-event>
        </f-component>      
      </sec:man_fta>   
 
 
      <sec:man_ftp title="Trusted Path/Channels (FTP)">
        
        <!-- SME: this was changed to FTP_ITC.1 because of ECD conflicts with the Base-PPs (which each define their own different versions of FTP_ITC_EXT.1) -->
		<!-- FTP_ITC.1/WLAN -->
        <f-component id="fco-trusted-comms-wlan" cc-id="ftp_itc.1" name="Trusted Channel Communication (Wireless LAN)" iteration="WLAN">
          <consistency-rationale/>
          <f-element>
            <title>The TSF shall <h:b>use 802.11-2012, 802.1X, and EAP-TLS</h:b> to provide a
              <h:b>trusted</h:b> communication channel between itself and <h:b>a wireless access point</h:b> that is logically
              distinct from other communication channels and provides assured identification of its end points
              and protection of the channel data from modification or disclosure.
            </title>
          </f-element>
          <f-element>
            <title>The TSF shall permit [<h:i>the TSF</h:i>] to initiate communication via the trusted channel.
            </title>
          </f-element>
            <f-element>
              <title>The TSF shall initiate communication via the trusted channel for [<h:i>wireless
                access point connections</h:i>].
              </title>
              <note role="application">
		<h:p>
              The intent of the above requirement is to use the cryptographic protocols
              identified in the requirement to protect communications between the TOE and the Access Point.
              </h:p><h:p>
              The requirement implies that not only are communications protected when they are initially
              established, but also on resumption after an outage. It may be the case that some part of the
              TOE setup involves manually setting up tunnels to protect other communication, and if after an
              outage the TOE attempts to re-establish the communication automatically with (the necessary)
              manual intervention, there may be a window created where an attacker might be able to gain
              critical information or compromise a connection. The following tests are only intended to cover
              the WLAN communication channel (not other communication channels that may be available on
              the TOE such as mobile broadband).
	      </h:p>
            </note>              
          <aactivity>
            <TSS>
              The evaluator shall examine the TSS to determine that it describes the details of the TOE
              connecting to an access point in terms of the cryptographic protocols specified in the
              requirement, along with TOE-specific options or procedures that might not be reflected in the
              specification. The evaluator shall also confirm that all protocols listed in the TSS are specified and
              included in the requirements in the ST.<h:br/><h:br/> 
            </TSS>
            <Guidance>
              The evaluator shall confirm that the operational guidance includes instructions for establishing
              the connection to the access point and that it includes recovery instructions should a
              connection be unintentionally broken.<h:br/><h:br/> 
            </Guidance>
            <Tests>
              The evaluator shall perform the following tests:
              <testlist>
                <test>
                  The evaluator shall ensure that the TOE is able to initiate communications with
                  an access point using the protocols specified in the requirement by setting up the
                  connections as described in the operational guidance and ensuring that communications
                  are successful.
                </test>
                <test>
                  The evaluator shall ensure, for each communication channel with an authorized
                  IT entity, the channel data is not sent in plaintext.
                </test>
                <test>
                  The evaluator shall ensure, for each communication channel with an authorized
                  IT entity, modification of the channel data is detected by the TOE.
                </test>
                <test>
                  The evaluators shall physically interrupt the connection from the TOE to the
                  access point (e.g., moving the TOE host out of range of the access point, turning the
                  access point off). The evaluators shall ensure that subsequent communications are
                  appropriately protected, at a minimum in the case of any attempts to automatically
                  resume the connection or connect to a new access point.
                </test>
              </testlist>                 
              Further evaluation activities are associated with the specific protocols.
            </Tests>
          </aactivity>
            </f-element>
			<audit-event>
				<audit-event-descr>All attempts to establish a trusted channel.</audit-event-descr>
				<audit-event-info>Identification of the non-TOE endpoint of the channel.</audit-event-info>
			</audit-event>
        </f-component>      
      </sec:man_ftp>  

 
    </man-sfrs>
    
    <!-- SME: the template guidance said to use the "status" attribute in the f-component tag to specify an SFR as optional. However, when we did this, the optional SFR still stayed in the mandatory requirements section - 
    it just added a box underneath the heading saying the SFR was optional. It also stayed listed as 'mandatory' in the consistency rationale. Putting it in the <opt-sfrs> section as we did here fixed those issues
    but it also prevented any of the intro text to the optional SFRs appendix from being displayed. We are flagging this as an issue with the template. Note that FE and FE-EM modules were done in this manner as well so we don't believe
    it should be an issue here, but for future use it may be beneficial to correct the template so that it behaves as intended. -->
    <opt-sfrs/>
      <!-- QQQQ
      As indicated in <xref to="ccl"/>,
      the baseline requirements (those that must be performed by the TOE are
      contained in the body of this PP. Additionally, there are three other types of requirements
      specified in <xref to="optional"/>, <xref to="sel-based"/>, and <appref
        linkend="objective"/>. The first type (in this appendix) are requirements that can be included
      in the <xref to="ST"/>, but are not required in order for a TOE to claim conformance to
      this PP-Module. The second type (in <xref to="sel-based"/>) are requirements based on selections
      in the body of the PP-Module: if certain selections are made, then additional requirements in that
      appendix must be included. The third type (in <xref to="objective"/> are components that
      are not required in order to conform to this PP-Module, but will be included in the baseline
      requirements in future versions of this PP-Module, so adoption by vendors is encouraged.  --> 
      
  

    <!-- SME: the template guidance said to use the "status" attribute in the f-component tag to specify an SFR as selection-based. However, when we did this, the selection-based SFR still stayed in the mandatory requirements section - 
    it just added a box underneath the heading saying the SFR was selection-based. It also stayed listed as 'mandatory' in the consistency rationale. Putting it in the <sel-sfrs> section as we did here fixed those issues
    but it also prevented any of the intro text to the selection-based SFRs appendix from being displayed. We are flagging this as an issue with the template. Note that FE and FE-EM modules were done in this manner as well so we don't believe
    it should be an issue here, but for future use it may be beneficial to correct the template so that it behaves as intended. -->
    <sel-sfrs>
      <!-- QQQQ
      As indicated in the introduction to
      this PP-Module, the baseline requirements are contained in the body of this PP-Module. There are additional requirements based on
      selections in the body of the PP-Module: if certain selections are made, then additional requirements
      below will need to be included.  --> 
	  
	    <section id="sb-audit-table" title="Auditable Events for Selection-based SFRs">
        	<audit-table table="sel-based" id="a-sel-based-events"/>
<!--  	     		<h:br/><h:b><ctr ctr-type="Table" pre="Table " id="atref-sel-based">: Auditable Events for Selection-based SFRs</ctr></h:b>
	  	</audit-table>   -->
	    </section>	  
	  
	  
	  
      <sec:fel_fcs title="Cryptographic Support (FCS)">
        
        <!-- SME: references to 802.11-2012 and 802.11ac-2014 in this app note need to be updated along with the section references. We do not have a copy of the standard so we could not update the section references. -->
      <!--  
        <f-component id="fcs-ckm-1-wpa2" cc-id="fcs_ckm.1" name="Cryptographic Key Generation (Symmetric Keys for WPA2 Connections)" iteration="WPA2">
          <depends on="wpa2"/>
          <consistency-rationale/>
          <f-element>
            <title>The TSF shall generate <h:b>symmetric</h:b> cryptographic keys in accordance with a specified cryptographic key generation algorithm [<h:i><h:b>PRF-384 and
              <selectables>
                <selectable>PRF-704</selectable>
                <selectable>no other algorithm</selectable>
              </selectables>
              (as defined in IEEE 802.11-2012)</h:b></h:i>] and specified key sizes [<h:i><h:b>128 bits and 
                <selectables>
                  <selectable>256 bits</selectable>
                  <selectable>no other key sizes</selectable>
                </selectables></h:b></h:i>] <h:b>using a Random Bit Generator as specified in FCS_RBG_EXT.1</h:b>.
            </title>
            <note role="application">
		<h:p>The cryptographic key derivation algorithm required by IEEE 802.11-2012
              (Section 11.6.1.2) and verified in WPA2 certification is PRF-384, which uses the HMAC-SHA-1
              function and outputs 384 bits. The use of GCMP was first defined in IEEE 802.11ac-2014 (Section
              11.4.5) but subsequently integrated into 802.11-2012. This protocol requires a key derivation function (KDF) 
              KDF based on HMAC-SHA-256 (for 128-bit symmetric keys) or HMAC-SHA384 (for 256-bit symmetric keys). This KDF outputs 
		704 bits.
              </h:p><h:p>
              This requirement applies only to the keys that are generated/derived for the communications
              between the access point and the client once the client has been authenticated. It refers to the
              derivation of the Pairwise Temporal Key (PTK) from the PMK, which is done using a random value generated by the RBG
              specified in this PP-Module, the HMAC function using SHA-1 as specified in this PP-Module, as well as other
	      information. </h:p>
              
              NOTE: commented out because I do not have access to 802.11-2012 and so I have no way to verify whether the section reference from 802.11-2016 needs to be updated. 
                This is specified in 802.11-2012 primarily in section 11.6.1.2. 
            </note>            
            
            <aactivity>
              <TSS>
                The evaluator shall verify that the TSS describes how the primitives defined and implemented
                by this PP-Module are used by the TOE in establishing and maintaining secure connectivity to the
                wireless clients. The TSS shall also provide a description of the developer’s method(s) of
                assuring that their implementation conforms to the cryptographic standards; this includes not
                only testing done by the developing organization, but also any third-party testing that is
                performed.
                <h:br/><h:br/>  
              </TSS>
              <Guidance>
                There are no guidance evaluation activities for this component.   
                <h:br/><h:br/> 
              </Guidance>
              <Tests>
                The evaluator shall perform the following tests:
                <testlist>
                  <test>
                    The evaluator shall configure the access point so the cryptoperiod of the
                    session key is 1 hour. The evaluator shall successfully connect the TOE to the access
                    point and maintain the connection for a length of time that is greater than the
                    configured cryptoperiod. The evaluator shall use a packet capture tool to determine
                    that after the configured cryptoperiod, a re-negotiation is initiated to establish a new
                    session key. Finally, the evaluator shall determine that the renegotiation has been 
                    successful and the client continues communication with the access point.
                  </test>
                  <test>The evaluator shall perform the following test using a packet sniffing tool to
                    collect frames between the TOE and a wireless LAN access point:
                    </h:p><h:p>
                    Step 1: The evaluator shall configure the access point to an unused channel and
                    configure the WLAN sniffer to sniff only on that channel (i.e., lock the sniffer on the
                    selected channel). The sniffer should also be configured to filter on the MAC address
                    of the TOE and/or access point.
                    </h:p><h:p>
                    Step 2: The evaluator shall configure the TOE to communicate with a WLAN access
                    point using IEEE 802.11-2012 and a 256-bit (64 hex values 0-f) pre-shared key. The
                    pre-shared key is only used for testing.
                    </h:p><h:p>
                    Step 3: The evaluator shall start the sniffing tool, initiate a connection between the
                    TOE and the access point, and allow the TOE to authenticate, associate, and
                    successfully complete the 4-way handshake with the client.
                    </h:p><h:p>
                    Step 4: The evaluator shall set a timer for 1 minute, at the end of which the evaluator
                    shall disconnect the TOE from the wireless network and stop the sniffer.
                    </h:p><h:p>
                    Step 5: The evaluator shall identify the 4-way handshake frames (denoted EAPOL-key
                    in Wireshark captures) and derive the PTK from the 4-way handshake frames and pre-shared key as specified in IEEE 802.11-2012.
                    </h:p><h:p>
                    Step 6: The evaluator shall select the first data frame from the captured packets that
                    was sent between the TOE and access point after the 4-way handshake successfully
                    completed, and without the frame control value 0x4208 (the first 2 bytes are 08 42).
                    The evaluator shall use the PTK to decrypt the data portion of the packet as specified
                    in IEEE 802.11-2012, and shall verify that the decrypted data contains ASCII-readable
                    text.
                    </h:p><h:p>
                    Step 7: The evaluator shall repeat Step 6 for the next 2 data frames between the TOE
                    and access point and without frame control value 0x4208.
                  </test>
                </testlist>                           
              </Tests>
            </aactivity>
          </f-element>
        </f-component>
        -->      
        
        <ext-comp-def fam-id="FCS_TLSC_EXT" title="TLS Client Protocol">
          <fam-behavior>Components in this family define requirements for the implementation of the TLS protocol when the TOE is acting as a client.
          </fam-behavior>
        </ext-comp-def>
        <!-- SME: we were asked to cite the TLS Functional Package instead of defining 'new' TLS requirements in this Module. However, these EAP-TLS requirements are somewhat different from those in the TLS Package. 
          It is unclear what the preferred method of resolving these discrepancies is. -->
		  
		<!-- FCS_TLSC_EXT.2/WLAN -->
        <f-component id="fco-tls-client-support-wlan" cc-id="fcs_tlsc_ext.2" name="TLS Client Support for Supported Groups Extension (EAP-TLS for WLAN)" iteration="WLAN">
          
	  <depends on1="ecdhe_ECDSA_WITH_AES_128_CBC_SHA256" on2="ecdhe_ECDSA_WITH_AES_128_GCM_SHA256" on3="ecdhe_ECDSA_WITH_AES_256_CBC_SHA384" on4="ecdhe_ECDSA_WITH_AES_256_GCM_SHA384" on5="ecdhe_RSA_WITH_AES_128_CBC_SHA256" on6="ecdhe_RSA_WITH_AES_128_GCM_SHA256" on7="ecdhe_RSA_WITH_AES_256_CBC_SHA384" on8="ecdhe_RSA_WITH_AES_256_GCM_SHA384"/>
          <consistency-rationale/>
          
          <comp-lev> describes the ability of the TOE to present certain values in the Supported Groups extension when attempting to establish a TLS connection as a client.</comp-lev>
          <management>There are no specific management functions identified.</management>
          <audit>There are no auditable events foreseen.</audit>
          <dependencies>FCS_TLSC_EXT.1 TLS Client Protocol</dependencies>
          
          <f-element>
            <title>The TSF shall present the Supported Groups extension in the Client Hello with the following NIST curves:
              <selectables>
                <selectable>secp256r1</selectable>
                <selectable>secp384r1</selectable>
                <selectable>secp521r1</selectable>
              </selectables>.
            </title>
            <ext-comp-def-title>
              <title>The TSF shall present the Supported Groups extension in the Client Hello with the following NIST curves: <assignable>list of supported groups</assignable>.         
                </title>
            </ext-comp-def-title>
            <note role="application">
	      <h:p>
		This requirement must be claimed if any cipher suites beginning with 'TLS_ECDHE' are selected in FCS_TLSC_EXT.1.1/WLAN.
              </h:p><h:p>
              This requirement does not limit the elliptic curves the client may propose for authentication and key agreement.  
              Rather, it asks the ST author to define which of the NIST curves from FCS_COP.1/SIGN
	      (defined in each supported Base-PP) and FCS_CKM.1/WPA and FCS_CKM.2/WLAN
	      (each defined in this PP-Module) can be used for TLS key establishment.
	      </h:p>
            </note>            
          
          <aactivity>
            <TSS>
              The evaluator shall verify that the TSS describes the Supported Groups extension and
              whether the required behavior is performed by default or may be configured. <h:br/><h:br/> 
            </TSS>
            <Guidance>
              If the TSS indicates that the Supported Groups extension must be configured to meet
              the requirement, the evaluator shall verify that the operational guidance includes instructions
              for configuration of this extension.<h:br/><h:br/> 
            </Guidance>
            <Tests>
              The evaluator shall perform the following test:
              <testlist>
                <test>The evaluator shall configure a server to perform ECDHE key exchange using each of the TOE’s supported 
			curves and shall verify that the TOE successfully connects to the server.
                </test>
              </testlist>
            </Tests>
          </aactivity>
          </f-element>
		<audit-event/>
        </f-component>
      </sec:fel_fcs>
      
    </sel-sfrs>
    <obj-sfrs/>
    <impl-dep-sfrs/>
  </sec:Security_Requirements>

  <appendix title="Optional Requirements" id="optional"> 
    <!-- As indicated in <xref to="ccl"/>,
    the baseline requirements (those that must be performed by the TOE are
    contained in the body of this PP. Additionally, there are three other types of requirements
    specified in <xref to="optional"/>, <xref to="sel-based"/>, and <xref to="objective"/>. The first type (in this appendix) are requirements that can be included
    in the <xref to="ST"/>, but are not required in order for a TOE to claim conformance to
    this PP-Module. The second type (in <xref to="sel-based"/>) are requirements based on selections
    in the body of the PP-Module: if certain selections are made, then additional requirements in that
    appendix must be included. The third type (in <xref to="objective"/> are components that
    are not required in order to conform to this PP-Module, but will be included in the baseline
    requirements in future versions of this PP-Module, so adoption by vendors is encouraged.  --></appendix>

  <!-- 
       Do NOT put SFRs in this section. All SFR belong up above in SFR section. 
       To make an SFR optional tag it above as status="sel-based" 
  -->
  <appendix title="Selection-Based Requirements" id="sel-based"> As indicated in the introduction to
    this PP-Module, the baseline requirements are contained in the body of this PP-Module. There are additional requirements based on
    selections in the body of the PP-Module: if certain selections are made, then additional requirements
    below will need to be included. 
  
  
  </appendix>

  <!-- 
       Do NOT put SFRs in this section. All SFR belong up above in SFR section. 
       To make an SFR optional tag it above as status="objective" 
  -->
  <appendix title="Objective Requirements" id="objective"> This appendix includes requirements that
    specify security functionality which also addresses threats. The requirements are not currently
    mandated in the body of this PP-Module as they describe security functionality not yet widely available
    in commercial technology. However, these requirements may be included in the ST such that the
    TOE is still conformant to this PP-Module, and it is expected that they be included as soon as
    possible. </appendix>

<!-- SME: entropy appendix was removed since it was not present in the original EP. Is this appropriate or would you prefer we have a stub appendix that states the entropy source(s) used by the TOE are provided by the OS platform
  and this will therefore be covered through evaluation of the TOE against the claimed Base-PP? -->
  
  
  <appendix title="Implicitly Satisfied Requirements" id="satisfiedreqs">
    This PP-Module has no implicitly satisfied requirements.
    All SFR dependencies are explicitly met either through SFRs defined by the PP-Module,
    SFRs inherited from the Base-PPs, or 
    SFRs that are hierarchical to the listed dependency. 
  </appendix>
  

  <appendix title="Entropy Documentation and Assessment" id="EAR">
    The TOE does not require any additional supplementary information to describe its entropy sources beyond the requirements outlined in the Base-PPs.  
  </appendix>
  
    <bibliography> <!-- 
      <entry id="bibCC">
        <tag>CC</tag>
        <description>Common Criteria for Information Technology Security Evaluation - <h:ul>
            <h:li><h:a href="http://www.commoncriteriaportal.org/files/ccfiles/CCPART1V3.1R5.pdf">Part
                1: Introduction and General Model</h:a>, CCMB-2017-04-001, Version 3.1 Revision 5,
              April 2017.</h:li>
            <h:li><h:a href="http://www.commoncriteriaportal.org/files/ccfiles/CCPART2V3.1R5.pdf">Part
                2: Security Functional Components</h:a>, CCMB-2017-04-002, Version 3.1 Revision 5,
              April 2017.</h:li>
            <h:li><h:a href="http://www.commoncriteriaportal.org/files/ccfiles/CCPART3V3.1R5.pdf">Part
                3: Security Assurance Components</h:a>, CCMB-2017-04-003, Version 3.1 Revision 5,
              April 2017.</h:li>
          </h:ul></description>
      </entry>  -->
      <entry id="bibCEM">
        <tag>CEM</tag>
        <description>
          <h:a href="http://www.commoncriteriaportal.org/files/ccfiles/CEMV3.1R5.pdf">Common
            Evaluation Methodology for Information Technology Security - Evaluation Methodology</h:a>,
          CCMB-2017-04-004, Version 3.1, Revision 5, April 2017.</description>
      </entry>
      <entry id="bibGPOS">
        <tag>GPOS</tag>
        <description><h:a href="https://www.niap-ccevs.org/MMO/PP/PP_OS_V4.2.1.pdf">Protection Profile for General Purpose Operating Systems, Version 4.2.1</h:a>, April 22, 2019</description>
      </entry>      
      <entry id="bibMDF">
        <tag>MDF</tag>
        <description><h:a href="https://www.niap-ccevs.org/MMO/PP/pp_md_v3.1.pdf">Protection Profile for Mobile Device Fundamentals, Version 3.2</h:a>, March 4, 2021</description>
      </entry>
      <entry id="bib80211">
        <tag>802.11-2012</tag>
        <description><h:a href="https://ieeexplore.ieee.org/document/9363693">802.11-2012 - IEEE Standard for Information technology—Telecommunications and information exchange between systems Local and metropolitan area networks—Specific requirements - 
          Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications</h:a></description>
      </entry>
      <entry id="bib8021X">
        <tag>802.1X-2020</tag>
        <description><h:a href="https://ieeexplore.ieee.org/document/9018454">802.1X-2020 - IEEE Standard for Local and metropolitan area networks--Port-Based Network Access Control</h:a></description>
      </entry>      
      <entry id="bibRFC3394">
        <tag>RFC 3394</tag>
        <description><h:a href="https://tools.ietf.org/html/rfc3394">RFC 3394 - Advanced Encryption Standard (AES) Key Wrap Algorithm</h:a></description>
      </entry>   
      <entry id="bibRFC4346">
        <tag>RFC 4346</tag>
        <description><h:a href="https://tools.ietf.org/html/rfc4346">RFC 4346 - The Transport Layer Security (TLS) Protocol Version 1.1</h:a></description>
      </entry>       
      <entry id="bibRFC5216">
        <tag>RFC 5216</tag>
        <description><h:a href="https://tools.ietf.org/html/rfc5216">RFC 5216 - The EAP-TLS Authentication Protocol</h:a></description>
      </entry>         
      <entry id="bibRFC5246">
        <tag>RFC 5246</tag>
        <description><h:a href="https://tools.ietf.org/html/rfc5246">RFC 5246 - The Transport Layer Security (TLS) Protocol Version 1.2</h:a></description>
      </entry>        
      <entry id="bibRFC5280">
        <tag>RFC 5280</tag>
        <description><h:a href="https://tools.ietf.org/html/rfc5280">RFC 5280 - Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</h:a></description>
      </entry>       
      <entry id="bibRFC5288">
        <tag>RFC 5288</tag>
        <description><h:a href="https://tools.ietf.org/html/rfc5288">RFC 5288 - AES Galois Counter Mode (GCM) Cipher Suites for TLS</h:a></description>
      </entry>       
      <entry id="bibRFC5289">
        <tag>RFC 5289</tag>
        <description><h:a href="https://tools.ietf.org/html/rfc5289">RFC 5289 - TLS Elliptic Curve Cipher Suites with SHA-256/384 and AES Galois Counter Mode (GCM)</h:a></description>
      </entry>       
    </bibliography>
 <!-- 
    <acronyms/>  -->
  
</Module>
