
| Version | Date | Comment |
|---|---|---|
| 1.0 | 2018-12-17 | First publication |
| 1.1 | 2019-03-01 | Clarifications regarding override for invalid certificates, renegotation_info extension, DTLS versions, and named Diffie-Hellman groups in DTLS contexts |
Transport Layer Security (TLS) and the closely-related Datagram TLS (DTLS) are cryptographic protocols designed to provide communications security over IP networks. Several versions of the protocol are in widespread use in software that provides functionality such as web browsing, email, instant messaging, and voice-over-IP (VoIP). Major web sites use TLS to protect communications to and from their servers. TLS is also used to protect communications between hosts and network infrastructure devices for administration. The underlying platform, such as an operating system, often provides the actual TLS implementation. The primary goal of the TLS protocol is to provide confidentiality and integrity of data transmitted between two communicating endpoints, as well as authentication of at least the server endpoint.
TLS supports many different methods for exchanging keys, encrypting data, and authenticating message integrity. These methods are dynamically negotiated between the client and server when the TLS connection is established. As a result, evaluating the implementation of both endpoints is typically necessary to provide assurance for the operating environment.
This "Functional Package for Transport Layer Security" (short name "TLS-PKG") defines functional requirements for the implementation of the Transport Layer Security (TLS) and Datagram TLS (DTLS) protocols. The requirements are intended to improve the security of products by enabling their evaluation.
Assurance | Grounds for confidence that a TOE meets the SFRs [CC]. |
Base Protection Profile (Base-PP) | Protection Profile used as a basis to build a PP-Configuration. |
Collaborative Protection Profile (cPP) | A Protection Profile developed by international technical communities and approved by multiple schemes. |
Common Criteria (CC) | Common Criteria for Information Technology Security Evaluation (International Standard ISO/IEC 15408). |
Common Criteria Testing Laboratory | Within the context of the Common Criteria Evaluation and Validation Scheme (CCEVS), an IT security evaluation facility accredited by the National Voluntary Laboratory Accreditation Program (NVLAP) and approved by the NIAP Validation Body to conduct Common Criteria-based evaluations. |
Common Evaluation Methodology (CEM) | Common Evaluation Methodology for Information Technology Security Evaluation. |
Distributed TOE | A TOE composed of multiple components operating as a logical whole. |
Extended Package (EP) | A deprecated document form for collecting SFRs that implement a particular protocol, technology, or functionality. See Functional Packages. |
Functional Package (FP) | A document that collects SFRs for a particular protocol, technology, or functionality. |
Operational Environment (OE) | Hardware and software that are outside the TOE boundary that support the TOE functionality and security policy. |
Protection Profile (PP) | An implementation-independent set of security requirements for a category of products. |
Protection Profile Configuration (PP-Configuration) | A comprehensive set of security requirements for a product type that consists of at least one Base-PP and at least one PP-Module. |
Protection Profile Module (PP-Module) | An implementation-independent statement of security needs for a TOE type complementary to one or more Base-PPs. |
Security Assurance Requirement (SAR) | A requirement to assure the security of the TOE. |
Security Functional Requirement (SFR) | A requirement for security enforcement by the TOE. |
Security Target (ST) | A set of implementation-dependent security requirements for a specific product. |
Target of Evaluation (TOE) | The product under evaluation. |
TOE Security Functionality (TSF) | The security functionality of the product under evaluation. |
TOE Summary Specification (TSS) | A description of how a TOE satisfies the SFRs in an ST. |
Certificate Authority (CA) | Issuer of digital certificates |
Datagram Transport Layer Security (DTLS) | Cryptographic network protocol, based on TLS, which provides communications security for datagram protocols |
Transport Layer Security (TLS) | Cryptographic network protocol for providing communications security over a TCP/IP network |
The Target of Evaluation (TOE) in this Package is a product which acts as a TLS client or server, or both. This Package describes the security functionality of TLS in terms of [CC].
The contents of this Package must be appropriately combined with a PP or PP-Module". When this Package is instantiated by a PP or PP-Module, the Package must include selection-based requirements in accordance with the selections or assignments indicated in the PP or PP-Module. These may be expanded by the the ST author.
The PP or PP-Module which instantiates this Package must typically include
the following components in order to satisfy dependencies of this Package. It is the responsibility
of the PP or PP-Module author who instantiates this Package to ensure that dependence
on these components is satisfied:
| Component | Explanation |
|---|---|
| FCS_CKM.2 | To support TLS ciphersuites that use RSA, DHE or ECDHE for key exchange, the PP or PP-Module must
include FCS_CKM.2 and specify the corresponding algorithm. |
| FCS_COP.1 | To support TLS ciphersuites that use AES for encryption/decryption, the PP or PP-module
must include FCS_COP.1 (iterating as needed) and specify AES with corresponding key sizes and modes. To
support TLS ciphersuites that use SHA for hashing, the PP or PP-Module must include FCS_COP.1
(iterating as needed) and specify SHA with corresponding digest sizes.
|
| FCS_RBG_EXT.1 | To support random bit generation needed for the TLS handshake,
the PP or PP-Module must include FCS_RBG_EXT.1. |
| FIA_X509_EXT.1 |
To support validation of certificates needed during TLS connection setup,
the PP or PP-Module must include FIA_X509_EXT.1.
|
| FIA_X509_EXT.2 | To support the use of X509 certificates for authentication in TLS connection setup,
the PP or PP-Module must include FIA_X509_EXT.2.
|
An ST must identify the applicable version of the PP or PP-Module and this Package in its conformance claims.
An ST must claim exact conformance to this PP-Package, as defined in the CC and CEM addenda for Exact Conformance, Selection-based SFRs, and Optional SFRs (dated May 2017).
This PP-Package does not define any Strictly Optional requirements.
This PP-Package does not define any Implementation-based requirements.
As indicated in the introduction to this PP-Package, the baseline requirements (those that must be performed by the TOE or its underlying platform) are contained in the body of this PP-Package. There are additional requirements based on selections in the body of the PP-Package: if certain selections are made, then additional requirements below must be included.
The ST author should select the cipher suites that are supported, and must select at least one cipher suite. It is necessary to limit the cipher suites that can be used in an evaluated configuration administratively on the server in the test environment. If administrative steps need to be taken so that the cipher suites negotiated by the implementation are limited to those in this requirement, then the appropriate instructions need to be contained in the guidance. GCM cipher suites are preferred over CBC cipher suites, ECDHE preferred over RSA and DHE, and SHA256 or SHA384 over SHA.
TLS_RSA_WITH_AES_128_CBC_SHA is not required despite being mandated by RFC 5246.
These requirements will be revisited as new TLS versions are standardized by the IETF.
If mutual authentication is selected, then the ST must additionally include the requirements from FCS_TLSS_EXT.2. If the TOE implements mutual authentication, this selection must be made.
If session renegotiation is selected, then the ST must additionally include the requirements from FCS_TLSS_EXT.4. If the TOE implements session renegotiation, this selection must be made.
| Acronym | Meaning |
|---|---|
| AES | Advanced Encryption Standard |
| Base-PP | Base Protection Profile |
| CA | Certificate Authority |
| CA | Certificate Authority |
| CBC | Cipher Block Chaining |
| CC | Common Criteria |
| CEM | Common Evaluation Methodology |
| CN | Common Name |
| cPP | Collaborative Protection Profile |
| DHE | Diffie-Hellman Ephemeral |
| DN | Distinguished Name |
| DNS | Domain Name Server |
| DTLS | Datagram Transport Layer Security |
| EAP | Extensible Authentication Protocol |
| ECDHE | Elliptic Curve Diffie-Hellman Ephemeral |
| ECDSA | Elliptic Curve Digital Signature Algorithm |
| EP | Extended Package |
| FP | Functional Package |
| GCM | Galois/Counter Mode |
| HTTP | Hypertext Transfer Protocol |
| IETF | Internet Engineering Task Force |
| IP | Internet Protocol |
| LDAP | Lightweight Directory Access Protocol |
| NIST | National Institute of Standards and Technology |
| OE | Operational Environment |
| PP | Protection Profile |
| PP-Configuration | Protection Profile Configuration |
| PP-Module | Protection Profile Module |
| RFC | Request for Comment (IETF) |
| RSA | Rivest Shamir Adelman |
| SAN | Subject Alternative Name |
| SAR | Security Assurance Requirement |
| SCSV | Signaling Cipher Suite Value |
| SFR | Security Functional Requirement |
| SHA | Secure Hash Algorithm |
| SIP | Session Initiation Protocol |
| ST | Security Target |
| TCP | Transmission Control Protocol |
| TLS | Transport Layer Security |
| TOE | Target of Evaluation |
| TSF | TOE Security Functionality |
| TSFI | TSF Interface |
| TSS | TOE Summary Specification |
| UDP | User Datagram Protocol |
| URI | Uniform Resource Identifier |
| URL | Uniform Resource Locator |
| Identifier | Title |
|---|---|
| [CC] | Common Criteria for Information Technology Security Evaluation -
|
| [CC] | Common Criteria for Information Technology Security Evaluation -
|