Internet DRAFT - draft-reddy-uta-pqc-app
draft-reddy-uta-pqc-app
uta T. Reddy
Internet-Draft Nokia
Intended status: Standards Track 2 March 2024
Expires: 3 September 2024
Post-Quantum Cryptography Recommendations for Internet Applications
draft-reddy-uta-pqc-app-02
Abstract
Post-quantum cryptography brings some new challenges to applications,
end users, and system administrators. This document describes
characteristics unique to application protocols and best practices
for deploying Quantum-Ready usage profiles for applications using
TLS.
About This Document
This note is to be removed before publishing as an RFC.
Status information for this document may be found at
https://datatracker.ietf.org/doc/draft-reddy-uta-pqc-app/.
Discussion of this document takes place on the uta Working Group
mailing list (mailto:uta@ietf.org), which is archived at
https://mailarchive.ietf.org/arch/browse/uta/. Subscribe at
https://www.ietf.org/mailman/listinfo/uta/.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 3 September 2024.
Reddy Expires 3 September 2024 [Page 1]
Internet-Draft PQC Recommendations for Applications March 2024
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 4
3. Timeline for transition . . . . . . . . . . . . . . . . . . . 4
4. Data Confidentiality . . . . . . . . . . . . . . . . . . . . 5
5. Authentication . . . . . . . . . . . . . . . . . . . . . . . 7
6. Informing Users of PQC Security Compatibility Issues . . . . 8
7. Application Protocols . . . . . . . . . . . . . . . . . . . . 9
7.1. Encrypted DNS . . . . . . . . . . . . . . . . . . . . . . 9
7.2. Hybrid public-key encryption (HPKE) . . . . . . . . . . . 9
7.2.1. Interaction with Encrypted Client Hello . . . . . . . 10
7.2.2. Oblivious HTTP . . . . . . . . . . . . . . . . . . . 10
7.2.3. MLS . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.3. WebRTC . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.4. HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.5. Email Submission . . . . . . . . . . . . . . . . . . . . 12
8. Security Considerations . . . . . . . . . . . . . . . . . . . 13
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 13
References . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Normative References . . . . . . . . . . . . . . . . . . . . . 13
Informative References . . . . . . . . . . . . . . . . . . . . 15
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction
The visible face of the Internet largely consists of services that
employ a client-server architecture in which a client communicates
with an application service. When a client communicates with an
application service using protocols such as TLS 1.3 [RFC8446], DTLS
1.3 [RFC9147], or a protocol built on those (QUIC [RFC9001] being a
notable example), the client and server can perform ephemeral public-
key exchange mechanism, such as ECDH, to derive the shared secret for
forward secrecy. They can validate each other's identity using X.509
Reddy Expires 3 September 2024 [Page 2]
Internet-Draft PQC Recommendations for Applications March 2024
certificates to establish secure communication.
The presence of a Cryptographically Relevant Quantum Computer (CRQC)
would render state-of-the-art, traditional public-key algorithms
deployed today obsolete and insecure, since the assumptions about the
intractability of the mathematical problems for these algorithms that
offer confident levels of security today no longer apply in the
presence of a CRQC. This means there is a requirement to update
protocols and infrastructure to use post-quantum algorithms, which
are public-key algorithms designed to be secure against CRQCs as well
as classical computers. The traditional cryptographic primitives
that need to be replaced by PQC are discussed in
[I-D.ietf-pquip-pqc-engineers].
The industry has successfully upgraded TLS versions while deprecating
old versions (e.g., SSLv2), and many protocols have transitioned from
RSA to Elliptic Curve Cryptography (ECC) improving security while
also reducing key sizes. The transition to post-quantum crypto
brings different challenges, most significantly, the new Post-Quantum
algorithms:
1. are still being evaluated against both classical and post-quantum
attacks,
2. typically use larger key sizes (which increases handshake packet
size). For example, the public key sizes of ML-KEM is much
larger than ECDH (see Table 5 in [I-D.ietf-pquip-pqc-engineers])
and the public key sizes of Dilithium/Falcon are much larger than
P256 (see Table 6 in [I-D.ietf-pquip-pqc-engineers]), and
3. While certain post-quantum (PQ) algorithms are comparatively
slower than their traditional counterparts, it's important to
note that specific PQ algorithms also showcase faster
performance. For instance, ML-KEM utilizes less CPU than X25519,
and both Dilithium and Falcon exhibit faster signature
verification times than Ed25519, although with slower signature
generation times.
All applications transmitting messages over untrusted networks can be
susceptible to active or passive attacks by adversaries using CRQCs,
with varying degrees of significance for both users and the
underlying systems. This document explores Quantum-Ready usage
profiles for applications specifically designed to defend against
passive and on-path attacks employing CRQCs. TLS client and server
implementations, as well as applications, can mitigate the impact of
these challenges through various techniques described in subsequent
sections.
Reddy Expires 3 September 2024 [Page 3]
Internet-Draft PQC Recommendations for Applications March 2024
2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
This document uses terms defined in
[I-D.ietf-pquip-pqt-hybrid-terminology]. For the purposes of this
document, it is helpful to be able to divide cryptographic algorithms
into three classes:
"Traditional Algorithm": An asymmetric cryptographic algorithm based
on integer factorisation, finite field discrete logarithms or
elliptic curve discrete logarithms. In the context of TLS, examples
of traditional key exchange algorithms include Elliptic Curve Diffie-
Hellman (ECDH); which is almost always used in the ephemeral mode
referred to as Elliptic Curve Diffie-Hellman Ephemeral (ECDHE).
"Post-Quantum Algorithm": An asymmetric cryptographic algorithm that
is believed to be secure against attacks using quantum computers as
well as classical computers. Examples of PQC key exchange algorithms
include the Module-Lattice Key Encapsulation Mechanism (ML-KEM),
which is widely known as Kyber.
"Hybrid" key exchange, in this context, means the use of two
component key exchange algorithms -- one traditional algorithm and
one Post-Quantum algorithm. The final shared secret key is secure
when at least one of the component key exchange algorithms remains
unbroken. It is referred to as PQ/T Hybrid Scheme in
[I-D.ietf-pquip-pqt-hybrid-terminology].
The same categories also apply to digital signature algorithms as
used in X.509 certificates, Certificate Transparency SCTs, OCSP
statements, Remote Attestations, and any other mechanism that
contributes signatures to a TLS handshake.
3. Timeline for transition
The timeline and driving motivation for Quantum-Ready transition
differ between data confidentiality and data authentication (e.g.,
signature). Digital signatures are used within X.509 certificates,
Certificate Revocation Lists (CRLs), and to sign messages.
Encrypted payloads transmitted via Transport Layer Security (TLS) can
be susceptible to decryption if an attacker equipped with a CRQC
gains access to the traditional asymmetric public keys used in the
Reddy Expires 3 September 2024 [Page 4]
Internet-Draft PQC Recommendations for Applications March 2024
TLS key exchange and the transmitted ciphertext. TLS implementations
commonly utilize Diffie-Hellman schemes for key exchange. If an
attacker has copies of an entire set of encrypted payloads, including
the TLS setup, it could employ CRQCs to potentially decrypt the
payload by determining the private key.
For data confidentiality, we are concerned with the so-called
"Harvest Now, Decrypt Later" attack where a malicious actor with
adequate resources can launch an attack to store encrypted data today
that can be decrypted once a CRQC is available. This implies that,
even today, encrypted data is susceptible to the attack by not
implementing quantum-safe strategies, as it corresponds to data being
deciphered in the future. The storage time and effective security
lifetime of this encrypted data might vary from seconds to decades.
For data authentication, our concern lies with an on-path attacker
who possesses devices equipped with CRQCs capable of breaking
traditional authentication protocols. For instance, the attacker can
fake the identity of the target, leading victims to connect to the
attacker's device instead of connecting to the actual target,
resulting in an impersonation attack. While not an immediate threat,
it is still a concern when compared to the 'Harvest Now, Decrypt
Later' attack.
In client/server certificate-based authentication, it's common for
the certificate's signature in the TLS handshake to have a short
lifetime. This means that the time between the certificate signing
the CertificateVerify message and its verification by the peer during
the TLS handshake is limited. However, it's worth questioning the
security lifetime of the digital signatures on X.509 certificates,
including those issued by root Certificate Authorities (CAs). Root
CAs can have lifetimes of 20 years or more. Additionally, root
Certificate Revocation Lists (CRLs) may have lifetimes of a year or
more, while delegated credentials like CRL Signing Certificates or
OCSP response signing certificates can have lifetimes that fall
anywhere in between.
4. Data Confidentiality
Data in transit may need to be protected for lifetimes measured in
years. The possibility of CRQCs being developed means that we need
to move away from traditional algorithms, but at the same time
uncertainty about post-quantum algorithm implementation security, lag
in standardization, regulatory requirements, and maturity of
cryptanalysis may require the continued use of mature traditional
algorithms alongside the new post-quantum primitives.
Reddy Expires 3 September 2024 [Page 5]
Internet-Draft PQC Recommendations for Applications March 2024
The primary goal of a hybrid key exchange mechanism is to facilitate
the establishment of a shared secret which remains secure as long as
one of the component key exchange mechanisms remains unbroken.
[I-D.ietf-tls-hybrid-design] provides a construction for hybrid key
exchange in TLS 1.3. It fulfils the primary goal of hybrid key
exchange, with additional objectives discussed in Section 1.5 of the
same document.
Applications that use (D)TLS and susceptible to CRQC attack MUST
migrate to (D)TLS 1.3 and support the hybrid key exchange, as defined
in [I-D.ietf-tls-hybrid-design]. In the future, we anticipate a
shift away from traditional cryptographic algorithms in favor of
post-quantum algorithms. This transition is expected to provide
benefits in terms of CPU efficiency and reduced data transmission
overhead compared to hybrid key exchange.
The client initiates the TLS handshake by sending a list of key
agreement methods it supports in the key_share extension. One of the
challenges during the PQC migration is that the client may not know
whether the server supports the Hybrid key exchange. To address this
uncertainty, the client can adopt one of two strategies:
1. Sending Both Traditional and Hybrid Key Exchange Algorithms: In
the initial ClientHello message, the client has the option to
send both traditional and hybrid key exchange algorithm key
shares to the server, eliminating the need for multiple round
trips. It's important to note that the size of the hybrid key
exchange algorithm key share may exceed the MTU, leading to the
possibility of splitting the ClientHello message across multiple
packets. However, this approach necessitates additional
computations on the client side and results in increased
handshake traffic. During the TLS handshake, the server responds
to the ClientHello by providing its public key and ciphertext.
If the combined size of these components exceeds the MTU, there's
a chance that the ServerHello message may be fragmented across
multiple TCP packets. This fragmentation raises the risk of lost
packets and potential delays due to retransmission.
2. Indicate Support for Hybrid Key Exchange: Alternatively, the
client may initially indicate support for hybrid key exchange and
send a traditional key exchange algorithm key share in the first
ClientHello message. If the server supports hybrid key exchange,
it will use the HelloRetryRequest to request a hybrid key
exchange algorithm key share from the client. The client can
then send the hybrid key exchange algorithm key share in the
second ClientHello message.
Reddy Expires 3 September 2024 [Page 6]
Internet-Draft PQC Recommendations for Applications March 2024
Clients MAY use information from completed handshakes to cache the
server's preferences for key exchange algorithms ([RFC8446], section
4.2.7).
In order to avoid multiple packets to send ClientHello message, the
client would have to prevent the duplication of PQC KEM public key
shares in the ClientHello, avoiding duplication of key shares is
discussed in Section 4 of [I-D.ietf-tls-hybrid-design].
[I-D.davidben-tls-key-share-prediction] defines a mechanism for
servers to communicate key share preferences in DNS responses. TLS
clients can use this information to reduce TLS handshake round-trips.
5. Authentication
While CRQCs could decrypt previous TLS sessions, client/server
authentication based on certificates cannot be retroactively broken.
However, given the multi-year lead-time required to establish,
certify, and embed new root CAs, it would be difficult to react in a
timely manner if CRQCs come online sooner than anticipated. So while
PQ migration of X.509 certificates has more time than key exchanges,
we should not delay this work for too long.
The Quantum-Ready authentication property can be utilized in
scenarios where an on-path attacker possesses network devices
equipped with CRQCs, capable of breaking traditional authentication
protocols. If an attacker uses CRQC to determine the private key of
a server certificate before the certificate expiry, the attacker can
create a fake server, and then every user will think that their
connection is legitimate. The server impersonation leads to various
security threats, including impersonation, data disclosure, and the
interception of user data and communications.
The Quantum-Ready authentication property ensures authentication
through either a pure Post-Quantum or a PQ/T hybrid Certificate.
* A Post-Quantum X.509 Certificate using Module-Lattice Digital
Signature Algorithm (ML-DSA), also called
Dilithium, is defined in [I-D.ietf-lamps-dilithium-certificates].
* The PQ/T Hybrid Authentication property is currently still under
active exploration and discussion in the
LAMPS WG, and consensus may evolve over time regarding its
adoption.
* The non-composite hybrid authentication discussed in
[I-D.ietf-lamps-cert-binding-for-multi-auth] enables peers to
employ the same certificates in hybrid authentication as in
Reddy Expires 3 September 2024 [Page 7]
Internet-Draft PQC Recommendations for Applications March 2024
authentication done with only traditional or post-quantum
algorithms. In TLS, peers can request that both traditional and
PQ certificate be used for authentication. For instance,
traditional certificates can be exchanged during the TLS handshake
and PQ certificates can be exchanged after the session has been
established using the mechanism defined in [RFC9261].
* The composite signature contains two signatures in a single atomic
container that have been generated
using two different cryptographic algorithms. For example, NIST
define a dual signature as "two or more signatures on a common
message". The goal of this approach is to define a signature
format which requires both contained signatures to be verified.
This concept is described in Composite Signatures For Use In
Internet PKI [I-D.ounsworth-pq-composite-sigs].
To decide whether and when to support a Post-Quantum Certificate
(PQC) or a PQ/T hybrid scheme for client and server authentication,
it is important to consider factors such as the frequency and
duration of system upgrades, as well as the anticipated availability
of CRQCs. For example, applications that have extremely short key
lifetimes -- for example less than an hour -- may decide that it is
an acceptable risk to leave those on Traditional algorithms for the
foreseeable future under the assumption that quantum key factoring
attacks take longer to run than the key lifetimes. It may be
advantageous to explore heterogeneous PKI architectures where the
long-lived CAs are using Post-Quantum algorithms but the server and
client certificates are not. In summary, if the signature is not
post-quantum secure, further evaluation is needed to determine
whether the attempt to achieve post-quantum security using short-
lived keys is effective or not.
6. Informing Users of PQC Security Compatibility Issues
When the server detects that the client doesn't support PQC or hybrid
key exchange, it can send an 'insufficient_security' fatal alert to
the client. The client can inform the end-users that the server they
are trying to access requires a level of security that the client
cannot provide due to the lack of PQC support. Furthermore, the
client may log the event for diagnostic and security auditing
purposes and report the security-related issue to the client
development team.
Similarly, when the client detects that the server doesn't support
PQC or hybrid key exchange, it can send an alert or error page to the
client. The message can inform the end-user that the server is not
compatible with the PQC security features offered by the client.
Reddy Expires 3 September 2024 [Page 8]
Internet-Draft PQC Recommendations for Applications March 2024
7. Application Protocols
7.1. Encrypted DNS
The privacy risks for end users exchanging DNS messages in clear text
are discussed in [RFC7518]. Transport Layer Security (TLS) is
employed to ensure privacy for DNS. DNS encryption provided by TLS
(e.g., DNS-over-HTTPS, DNS-over-TLS, DNS-over-QUIC) eliminates
opportunities for eavesdropping and on-path tampering while in
transit through the network.
Encrypted DNS messages transmitted using Transport Layer Security
(TLS) may be vulnerable to decryption if an attacker gains access to
the traditional asymmetric public keys used in the TLS key exchange.
If an attacker possesses copies of an entire set of encrypted DNS
messages, including the TLS setup, it could use a CRQC to potentially
decrypt the message content by determining the ephemeral key exchange
private key.
Encrypted DNS protocols will have to support the Quantum-Ready usage
profile discussed in {#confident}.
Note that post-quantum security of DNSSEC [RFC9364], which provides
authenticity for DNS records, is a separate issue from the
requirements for encrypted DNS transports.
7.2. Hybrid public-key encryption (HPKE)
Hybrid public-key encryption (HPKE) is a scheme that provides public
key encryption of arbitrary-sized plaintexts given a recipient's
public key. HPKE utilizes a non-interactive ephemeral-static Diffie-
Hellman exchange to establish a shared secret. The motivation for
standardizing a public key encryption scheme is explained in the
introduction of [RFC9180].
HPKE can be extended to support PQ/T Hybrid post-quantum Key
Encapsulation Mechanisms (KEMs) as defined in
[I-D.westerbaan-cfrg-hpke-xyber768d00-02]. Kyber, which is a KEM
does not support the static-ephemeral key exchange that allows HPKE
based on DH based KEMs. Note that X25519Kyber768Draft00 is IND-CCA2
secure (Section 4 of [I-D.westerbaan-cfrg-hpke-xyber768d00-02]).
Reddy Expires 3 September 2024 [Page 9]
Internet-Draft PQC Recommendations for Applications March 2024
7.2.1. Interaction with Encrypted Client Hello
Client TLS libraries and applications can use Encrypted Client Hello
(ECH) [I-D.ietf-tls-esni] to prevent passive observation of the
intended server identity in the TLS handshake which requires also
deploying Encrypted DNS (DNS over TLS), otherwise a passive listener
can observe DNS queries (or responses) and infer same server identity
that was being protected with ECH. ECH uses HPKE for public key
encryption.
ECH MUST incorporate support for PQ/T Hybrid post-quantum KEMs to
protect against the 'Harvest Now, Decrypt Later' attack.
To use ECH the client needs to learn the ECH configuration for a
server before it attempts a connection to the server. Bootstrapping
TLS Encrypted ClientHello with DNS Service Bindings specification
[I-D.draft-ietf-tls-svcb-ech] provides a mechanism for conveying the
ECH configuration information via DNS, using a SVCB or HTTPS record.
The "ech" SvcParamKey is used in SVCB or HTTPS or DNS records, and is
intended to serve as the primary bootstrap mechanism for ECH. The
value of the parameter is an ECHConfigList (Section 4 of
[I-D.ietf-tls-esni]). The public_key in HpkeKeyConfig structure
would carry the concatenation of traditional and PQC KEM public keys
which would increase DNS resposnse size that could exceed the path
MTU. It would require the use of reliable transport and Encrypted
DNS (e.g., DoT, DoH or DoQ).
7.2.2. Oblivious HTTP
Oblivious HTTP [I-D.ietf-ohai-ohttp] allows clients to encrypt
messages exchanged with an Oblivious Target Resource (target). The
messages are encapsulated in encrypted messages to an Oblivious
Gateway Resource (gateway), which offers Oblivious HTTP access to the
target. The gateway is accessed via an Oblivious Relay Resource
(relay), which proxies the encapsulated messages to hide the identity
of the client. Overall, this architecture is designed in such a way
that the relay cannot inspect the contents of messages, and the
gateway and target cannot learn the client's identity from a single
transaction. Oblivious HTTP uses HPKE for encapsulating binary HTTP
messages to protect their contents.
Oblivious HTTP is vulnerable to decryption if an attacker gains
access to the traditional asymmetric public keys used in the HPKE.
If an attacker possesses copies of an entire set of encapsulated HTTP
messages, it could use CRQC to potentially decrypt the message
content by determining the private key. The attacker can potentially
be the Oblivious Relay Resource.
Reddy Expires 3 September 2024 [Page 10]
Internet-Draft PQC Recommendations for Applications March 2024
The "ohttp" SvcParamKey defined in [I-D.ietf-ohai-svcb-config] is
used to indicate that a service described in an SVCB RR can be
accessed as a target using an associated gateway. For the "dns"
scheme, as defined in [I-D.draft-ietf-add-svcb-dns], the presence of
the "ohttp" parameter means that the DNS server being described has a
DNS over HTTP (DoH) [RFC8484] service that can be accessed using
Oblivious HTTP.
Oblivious HTTP and DNS over Oblivious HTTP MUST incorporate support
for PQ/T Hybrid post-quantum KEMs to protect against the 'Harvest
Now, Decrypt Later' attack.
7.2.3. MLS
The Messaging Layer Security (MLS) Protocol [RFC9420] enables
asynchronous group keying with forward secrecy and post-compromise
security. MLS uses HPKE for public key encryption. HPKE can be
extended to support PQ/T Hybrid post-quantum Key Encapsulation
Mechanisms (KEMs) as defined in
[I-D.westerbaan-cfrg-hpke-xyber768d00-02].
7.3. WebRTC
In WebRTC, secure channels are set up via DTLS and DTLS-SRTP
[RFC5763] keying for SRTP [RFC3711] for media channels and the Stream
Control Transmission Protocol (SCTP) over DTLS [RFC8261] for data
channels.
Secure channels may be vulnerable to decryption if an attacker gains
access to the traditional asymmetric public keys used in the DTLS key
exchange. If an attacker possesses copies of an entire set of
encrypted media, including the DTLS setup, it could use CRQC to
potentially decrypt the media by determining the private key.
WebRTC media and data channels MUST support the Quantum-Ready usage
profile discussed in {#confident}.
The other challenge with WebRTC is that PQC KEMs often come with
large public keys and PQC Signature schemes come with large
signatures in comparison with traditional algorithms (as discussed in
Section 12 and 13 of [I-D.ietf-pquip-pqc-engineers]). In many cases,
UDP datagrams are restricted to sizes smaller than 1500 bytes. If IP
fragmentation needs to be avoided, each DTLS handshake message must
be fragmented over several DTLS records, with each record intended to
fit within a single UDP datagram. This approach could potentially
lead to increased time to complete the DTLS handshake and involve
multiple round-trips in lossy networks. It may also extend the time
required to set up secure WebRTC channels. One potential mitigation
Reddy Expires 3 September 2024 [Page 11]
Internet-Draft PQC Recommendations for Applications March 2024
strategy to avoid the delay is to prevent the duplication PQC KEM
public key shares in the ClientHello, avoiding duplication of key
shares is discussed in Section 4 of [I-D.ietf-tls-hybrid-design].
7.4. HTTPS
HTTPS (Hypertext Transfer Protocol Secure) is the secure version of
HTTP used for secure data exchange over the web. HTTPS primarily
relies on the TLS (Transport Layer Security) protocol to provide
encryption, integrity, and authenticity for data in transit.
HTTP messages transmitted using Transport Layer Security (TLS) may be
vulnerable to decryption if an attacker gains access to the
traditional asymmetric public keys used in the TLS key exchange. If
an attacker possesses copies of an entire set of encrypted HTTP
messages, including the TLS setup, it could use CRQC to potentially
decrypt the message content by determining the private key. This
traffic can include sensitive information, such as login credentials,
personal data, or financial details, depending on the nature of the
communication.
If an attacker can decrypt the message content before the expiry of
the login credentials, the attacker can steal the credentials. The
theft of login credentials is a serious security concern that can
have a wide range of consequences for individuals and organizations.
The most immediate and obvious challenge is that the attacker gains
unauthorized access to the victim's accounts, systems, or data. This
can lead to data breaches, privacy violations, and various forms of
cybercrime.
Applications using HTTPS to exchange sensitive data MUST support the
Quantum-Ready usage profile discussed in {#confident}. If the data is
genuinely non-sensitive and has no privacy or security implications,
the motivation for an attacker to invest resources in capturing and
later decrypting it would likely be very low. In such cases, the
"Harvest Now, Decrypt Later" attack may not be relevant. In similar
lines, reverse proxies operated between clients and origin servers
will also have to support {#confident}.
7.5. Email Submission
Email often contains information that needs protection from passive
monitoring or active modification. While some standards exist for
protecting integrity and for encrypting content of messages
themselves (see [RFC8551]), transport encryption is also frequently
used. TLS support for Email Submission/Access is described in
Section 3.3 of [RFC8314]. The Mail User Agent (MUA) and a Mail
Submission Server or Mail Access Server MUST support the Quantum-
Reddy Expires 3 September 2024 [Page 12]
Internet-Draft PQC Recommendations for Applications March 2024
Ready usage profile discussed in {#confident}.
8. Security Considerations
Post-quantum algorithms selected for standardization are relatively
new and they they have not been subject to the same depth of study as
traditional algorithms. PQC implementations will also be new and
therefore more likely to contain implementation bugs than the battle-
tested crypto implementations that we rely on today. In addition,
certain deployments may need to retain traditional algorithms due to
regulatory constraints, for example FIPS [SP-800-56C] or PCI
compliance. Hybrid key exchange enables potential security against
"Harvest Now, Decrypt Later" attack provide for time to react in the
case of the announcement of a devastating attack against any one
algorithm, while not fully abandoning traditional cryptosystems.
Implementing PQ/T hybrid schemes improperly can introduce security
issues at the cryptographic layer, for example how the Traditional
and PQ schemes are combined; at the algorithm selection layer,
mismatched security levels for example if 192-bit KEM is used with a
128-bit secure combiner; or at the protocol layer in how the upgrade/
downgrade mechanism works. PQ/T hybrid schemes should be implemented
carefully and all relevant specifications implemented correctly.
Acknowledgements
Thanks to Dan Wing for suggesting wider document scope. Thanks to
Mike Ounsworth, Scott Fluhrer, Bas Westerbaan and Thom Wiggers for
review and feedback.
References
Normative References
[I-D.davidben-tls-key-share-prediction]
Benjamin, D., "TLS Key Share Prediction", Work in
Progress, Internet-Draft, draft-davidben-tls-key-share-
prediction-00, 25 September 2023,
<https://datatracker.ietf.org/doc/html/draft-davidben-tls-
key-share-prediction-00>.
[I-D.draft-ietf-add-svcb-dns]
Schwartz, B. M., "Service Binding Mapping for DNS
Servers", Work in Progress, Internet-Draft, draft-ietf-
add-svcb-dns-09, 26 June 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-add-
svcb-dns-09>.
Reddy Expires 3 September 2024 [Page 13]
Internet-Draft PQC Recommendations for Applications March 2024
[I-D.ietf-tls-hybrid-design]
Stebila, D., Fluhrer, S., and S. Gueron, "Hybrid key
exchange in TLS 1.3", Work in Progress, Internet-Draft,
draft-ietf-tls-hybrid-design-09, 7 September 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-tls-
hybrid-design-09>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/rfc/rfc2119>.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, DOI 10.17487/RFC3711, March 2004,
<https://www.rfc-editor.org/rfc/rfc3711>.
[RFC5763] Fischl, J., Tschofenig, H., and E. Rescorla, "Framework
for Establishing a Secure Real-time Transport Protocol
(SRTP) Security Context Using Datagram Transport Layer
Security (DTLS)", RFC 5763, DOI 10.17487/RFC5763, May
2010, <https://www.rfc-editor.org/rfc/rfc5763>.
[RFC7518] Jones, M., "JSON Web Algorithms (JWA)", RFC 7518,
DOI 10.17487/RFC7518, May 2015,
<https://www.rfc-editor.org/rfc/rfc7518>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.
[RFC8261] Tuexen, M., Stewart, R., Jesup, R., and S. Loreto,
"Datagram Transport Layer Security (DTLS) Encapsulation of
SCTP Packets", RFC 8261, DOI 10.17487/RFC8261, November
2017, <https://www.rfc-editor.org/rfc/rfc8261>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/rfc/rfc8446>.
[RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS
(DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018,
<https://www.rfc-editor.org/rfc/rfc8484>.
[RFC9261] Sullivan, N., "Exported Authenticators in TLS", RFC 9261,
DOI 10.17487/RFC9261, July 2022,
<https://www.rfc-editor.org/rfc/rfc9261>.
Reddy Expires 3 September 2024 [Page 14]
Internet-Draft PQC Recommendations for Applications March 2024
Informative References
[I-D.draft-ietf-tls-svcb-ech]
Schwartz, B. M., Bishop, M., and E. Nygren, "Bootstrapping
TLS Encrypted ClientHello with DNS Service Bindings", Work
in Progress, Internet-Draft, draft-ietf-tls-svcb-ech-00,
26 September 2023, <https://datatracker.ietf.org/doc/html/
draft-ietf-tls-svcb-ech-00>.
[I-D.ietf-lamps-cert-binding-for-multi-auth]
Becker, A., Guthrie, R., and M. J. Jenkins, "Related
Certificates for Use in Multiple Authentications within a
Protocol", Work in Progress, Internet-Draft, draft-ietf-
lamps-cert-binding-for-multi-auth-03, 29 November 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-lamps-
cert-binding-for-multi-auth-03>.
[I-D.ietf-lamps-dilithium-certificates]
Massimo, J., Kampanakis, P., Turner, S., and B.
Westerbaan, "Internet X.509 Public Key Infrastructure:
Algorithm Identifiers for ML-DSA", Work in Progress,
Internet-Draft, draft-ietf-lamps-dilithium-certificates-
03, 5 February 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-lamps-
dilithium-certificates-03>.
[I-D.ietf-ohai-ohttp]
Thomson, M. and C. A. Wood, "Oblivious HTTP", Work in
Progress, Internet-Draft, draft-ietf-ohai-ohttp-10, 25
August 2023, <https://datatracker.ietf.org/doc/html/draft-
ietf-ohai-ohttp-10>.
[I-D.ietf-ohai-svcb-config]
Pauly, T. and T. Reddy.K, "Discovery of Oblivious Services
via Service Binding Records", Work in Progress, Internet-
Draft, draft-ietf-ohai-svcb-config-07, 6 October 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-ohai-
svcb-config-07>.
[I-D.ietf-pquip-pqc-engineers]
Banerjee, A., Reddy.K, T., Schoinianakis, D., and T.
Hollebeek, "Post-Quantum Cryptography for Engineers", Work
in Progress, Internet-Draft, draft-ietf-pquip-pqc-
engineers-03, 22 February 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-pquip-
pqc-engineers-03>.
Reddy Expires 3 September 2024 [Page 15]
Internet-Draft PQC Recommendations for Applications March 2024
[I-D.ietf-pquip-pqt-hybrid-terminology]
D, F., "Terminology for Post-Quantum Traditional Hybrid
Schemes", Work in Progress, Internet-Draft, draft-ietf-
pquip-pqt-hybrid-terminology-02, 2 February 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-pquip-
pqt-hybrid-terminology-02>.
[I-D.ietf-tls-esni]
Rescorla, E., Oku, K., Sullivan, N., and C. A. Wood, "TLS
Encrypted Client Hello", Work in Progress, Internet-Draft,
draft-ietf-tls-esni-17, 9 October 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-tls-
esni-17>.
[I-D.ounsworth-pq-composite-sigs]
Ounsworth, M., Gray, J., Pala, M., and J. Klaußner,
"Composite Signatures For Use In Internet PKI", Work in
Progress, Internet-Draft, draft-ounsworth-pq-composite-
sigs-12, 11 February 2024,
<https://datatracker.ietf.org/doc/html/draft-ounsworth-pq-
composite-sigs-12>.
[I-D.westerbaan-cfrg-hpke-xyber768d00-02]
Westerbaan, B. and C. A. Wood, "X25519Kyber768Draft00
hybrid post-quantum KEM for HPKE", Work in Progress,
Internet-Draft, draft-westerbaan-cfrg-hpke-xyber768d00-02,
4 May 2023, <https://datatracker.ietf.org/doc/html/draft-
westerbaan-cfrg-hpke-xyber768d00-02>.
[RFC8314] Moore, K. and C. Newman, "Cleartext Considered Obsolete:
Use of Transport Layer Security (TLS) for Email Submission
and Access", RFC 8314, DOI 10.17487/RFC8314, January 2018,
<https://www.rfc-editor.org/rfc/rfc8314>.
[RFC8551] Schaad, J., Ramsdell, B., and S. Turner, "Secure/
Multipurpose Internet Mail Extensions (S/MIME) Version 4.0
Message Specification", RFC 8551, DOI 10.17487/RFC8551,
April 2019, <https://www.rfc-editor.org/rfc/rfc8551>.
[RFC9001] Thomson, M., Ed. and S. Turner, Ed., "Using TLS to Secure
QUIC", RFC 9001, DOI 10.17487/RFC9001, May 2021,
<https://www.rfc-editor.org/rfc/rfc9001>.
[RFC9147] Rescorla, E., Tschofenig, H., and N. Modadugu, "The
Datagram Transport Layer Security (DTLS) Protocol Version
1.3", RFC 9147, DOI 10.17487/RFC9147, April 2022,
<https://www.rfc-editor.org/rfc/rfc9147>.
Reddy Expires 3 September 2024 [Page 16]
Internet-Draft PQC Recommendations for Applications March 2024
[RFC9180] Barnes, R., Bhargavan, K., Lipp, B., and C. Wood, "Hybrid
Public Key Encryption", RFC 9180, DOI 10.17487/RFC9180,
February 2022, <https://www.rfc-editor.org/rfc/rfc9180>.
[RFC9364] Hoffman, P., "DNS Security Extensions (DNSSEC)", BCP 237,
RFC 9364, DOI 10.17487/RFC9364, February 2023,
<https://www.rfc-editor.org/rfc/rfc9364>.
[RFC9420] Barnes, R., Beurdouche, B., Robert, R., Millican, J.,
Omara, E., and K. Cohn-Gordon, "The Messaging Layer
Security (MLS) Protocol", RFC 9420, DOI 10.17487/RFC9420,
July 2023, <https://www.rfc-editor.org/rfc/rfc9420>.
[SP-800-56C]
"Recommendation for Key-Derivation Methods in Key-
Establishment Schemes",
<https://nvlpubs.nist.gov/nistpubs/SpecialPublications/
NIST.SP.800-56Cr2.pdf>.
Author's Address
Tirumaleswar Reddy
Nokia
Bangalore
Karnataka
India
Email: kondtir@gmail.com
Reddy Expires 3 September 2024 [Page 17]