<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.25 (Ruby 3.1.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-analysis-challenges-00" category="info" submissionType="IRTF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="Formal Analysis Challenges">Challenges, Opportunities, and Directions for Formal Analysis in the IETF and IRTF</title>
    <seriesInfo name="Internet-Draft" value="draft-analysis-challenges-00"/>
    <author fullname="Christopher A. Wood">
      <organization>Cloudflare</organization>
      <address>
        <email>caw@heapingbits.net</email>
      </address>
    </author>
    <date year="2023" month="March" day="13"/>
    <abstract>
      <t>This document discusses challenges, opportunities, and directions
for formal analysis of protocols developed in the IETF.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-analysis-challenges/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/chris-wood/draft-analysis-challenges"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The IETF and IRTF produce technical specifications for protocols used on the Internet.
Applications use these technical specifications in shipping software. Often times,
use of these technical specifications has a direct impact on end users of the Internet.
As an obvious example, TLS 1.3 <xref target="TLS13"/> is the de-facto transport security
protocol used on the Internet, protecting data in transit between different different
parties on the Internet.</t>
      <t>The process by which TLS 1.3 was developed was unique for its time. In the wake of
one too many security problems with prior versions of the protocol, TLS 1.3 was
developed in close collaboration with security researchers to ensure that the resulting
design and specification provided provably secure properties that one would expect
from such a protocol. The process took years and resulted in dozens of academic
publications and interoperable implementations, further improving the community's
confidence in the result. And in the end, the work paid off: TLS 1.3 has be safely
deployed at scale for years without any significant issues.</t>
      <t>Several IETF protocols since TLS 1.3 have built on the process by which it was
developed, including QUIC <xref target="RFC9000"/>, MLS <xref target="MLS"/>,
Oblivious HTTP <xref target="OHTTP"/>, and Privacy Pass <xref target="PRIVACYPASS"/>.
Each of these published and developing specifications have incorporated security
analysis into the process by which the specifications are ratified.</t>
      <t>Formal analysis gives us confidence in the protocols we specify and deploy. It
advocates for a rigorous approach to defining protocols and describing their security
properties. Failure to apply formal analysis does not definitively yield protocols
with known flaws, but it can lead to security failures in practice. Infamous examples
as of late include Matrix, Telegram, PGP, and various configurations of TLS 1.2 and
earlier versions. In contrast, applying formal analysis helps demonstrate that certain
classes of attacks are not applicable. While this does not necessarily rule out
attacks entirely, since modeling and analysis is always imprecise and requires
simplifying compromise, it has the potential to more consistently yield better outcomes.</t>
      <t>However, there are still plenty of examples of technical specifications that lack
any sort of formal analysis. Lack of formal analysis is problematic for a number of
reasons, including, though not limited to, the following:</t>
      <ol spacing="normal" type="1"><li>Real world vulnerabilities. Protocol specifiations may be developed with security
or privacy vulnerabilities. Such vulnerabilities can lead to real problems for
end users. In this sense, publishing specifications without formal analysis is
akin to testing software in production, yet is uniquely worse since updating
specifications requires IETF processes to enact and takes time.</li>
        <li>Specification misuse. Formal analysis requires a certain degree of precision and
rigor in which specifications for algorithms, protocols, and systems are described.
This precision helps refine the interface for these types of objects. Lack of
analysis can therefore lead to misuse of the object. This can in turn lead to
undesired outcomes, including even security vulnerabilities.</li>
        <li>Audience confusion. Protocol specifications without analysis may lack precision
or specificity that often comes from formal analysis, yielding complex documents
that are difficult to understand, use, and deploy in practice.</li>
      </ol>
      <t>Lack of formal analysis comes from a variety of reasons. This document summarizes some
of those problems and discusses opportunities for potential solutions and new directions
the community can explore to improve the situation. It is meant to encourage discussion,
not be published as an RFC.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
    </section>
    <section anchor="analysis-overview">
      <name>Analysis Overview</name>
      <t>As the IETF is primarily tasked with producing technical specifications for protocols,
analysis of these protocols can benefit greatly from computer-aided tools. For example,
<xref target="ProVerif"/> and <xref target="Tamarin"/> are both tools that protocol designers can use to model
their protocol, attacker, and prove (or disprove) certain properties of the protocol.
As with any modeling tool, these are limited both by the specificity of the model as well
as the questions that are asked of the model. For example, security protocol models often
make simplifying assumptions about the underlying cryptographic objects used in the protocol,
whereas in practice these objects may break over time. Hand-written proofs complement
computer-aided, machine-checked proofs. These proofs are often more complicated since they
more accurately model all aspects of the protocol. As a result, these proofs yield
mathematically precise statements of security.</t>
      <t>Regardless of the mechanism, analysis generally follows the following recipe:</t>
      <ol spacing="normal" type="1"><li>Specify the threat model, including the attacker and its capabilities.</li>
        <li>Specify the security goals with respect to this threat model.</li>
        <li>Describe whether the security goals are met and, if and when they are not met, a
description of how they are not met through an exemplary attack that violates the goal.
Applicable attacks are often accompanied with explanations of why they are out of scope
or how applications and deployments can deal with the attack in practice.</li>
      </ol>
      <t>The order of these tasks is not always the same, but the content is generally consistently applied.
What differs across technical specifications is the rigor through which these tasks are achieved.
As an example, TLS 1.3 (<xref section="E" sectionFormat="of" target="TLS13"/>) includes a list of security properties
and, for each property, describes the attacker model in which these properties are satisfied.
It additionally points to relevant, peer reviewed formal analysis work that demonstrates validity of these claims.
QUIC <xref target="QUIC"/> lists various types of attacker models and, within each attacker model,
the types of attacks that are possible. However, unlike <xref target="TLS13"/>, does not have backing formal
analysis for all of claims about attack resistance. As another example, Oblivious
HTTP <xref target="OHTTP"/> takes an even different approach by informally describing
the threat model and security goals of the protocol, with a reference to backing analysis
(that did not receive peer review) with Tamarin.</t>
    </section>
    <section anchor="analysis-challenges-and-open-problems">
      <name>Analysis Challenges and Open Problems</name>
      <t>This section describes some high level problems that impact the scale at which
the IETF and IRTF applies formal analysis to technical specifications.</t>
      <section anchor="timelines">
        <name>Timelines</name>
        <t>Sometimes formal analysis does not occur due to mismatched timelines. Formal analysis
takes time, and that time may not align with the desired pace at which a technical
specification moves towards publication. The general requirement for advancing technical
specifications in IETF and IRTF groups is rough consensus and running code, and those
are often easier to achieve than formal analysis. In many cases, the pressure to ship
or otherwise advance specifications often trumps the desire for formal analysis.</t>
        <t>Analysis is time consuming, perhaps even more so than the development
of the specification itself. While the iterative process TLS 1.3 established between
specification, analysis, and experimentation is ideal, often times many protocols are
fully specified prior to analysis. Applying analysis after specification in sequence,
rather than in applying analysis in parallel with protocol specification, means that
the result on publishing time is worsened.</t>
        <t>Overcoming this challenge may require a change in the way in which we establish
consensus for technical specifications. Some possibilities are below.</t>
        <ol spacing="normal" type="1"><li>Establish a set of common questions and formal process for formal analysis. This may include,
for example, a template by which analysis findings may be documented, as well as key
questions to ask. It may also include standardized notation that document editors can
use for noting analysis-relevant questions and issues in their protocol documents.</li>
          <li>Seek out formal analysis for working group documents as soon as possible after adoption.
This helps ensure that analysis occurs in line with protocol specification to the maximum
extent possible.</li>
          <li>Encourage protocol editors and expert reviewers to share analysis results with the relevant
working group(s) as early as possible. If possible, these findings can be shared during
in-person meetings, but may also be shared on the mailing list.</li>
        </ol>
      </section>
      <section anchor="tooling">
        <name>Tooling</name>
        <t>Another barrier to scaling formal analysis is the state of tooling. While there exists
a wide variety of tools by which protocol designers can model and analyze their protocol,
including <xref target="ProVerif"/> and <xref target="Tamarin"/>, not all tools are easy-to-use for protocol
designers or provide the necessary set of features required for analysis. For example,
modeling privacy -- for some definition of privacy -- is often a difficult task with
tools like Tamarin and ProVerif.</t>
        <t>There may be multiple ways by which these obstacles are overcome. For example,
the community might invest or otherwise contribute to the ongoing development and
maintenance of these tools. In general, they are often maintained by academic researchers,
including graduate students, who leave the project or move on to other things over time.
Like an critical open source project, these tools require consistent and reliable
support to encourage continued maintenance and development to better fit the needs
of the community.</t>
        <t>Beyond explicit tooling support, the amount of educational resources available for
consumption, including examples, demos, running code, etc., could be improved and made
more approachable for newcomers. While there exists plenty of learning material for
these tools, they are often oriented towards those with a background or familiarity
with formal methods. Educational material oriented towards engineers is needed.</t>
      </section>
      <section anchor="incentives">
        <name>Incentives</name>
        <t>Lack of incentives is a large barrier to adopting formal analysis in practice.
From a research perspective, there is often little incentive to work on formal analysis
for "uninteresting" or "overly simple" protocols, including those that seem to be
"obviously correct." Publishing formal analysis with negative results, i.e., which
demonstrate that there are no problems with a technical specification, is often
challenging. And without proper publishing incentives, there is little incentive
for academic researchers to spend time on this type of work. Addressing this
problem may require establishing a venue for more easily publishing formal analysis
without compromising on the quality of peer review. Such venue should make clear
that publishing analysis of any type is appropriate, including formal models, pen
and paper proofs, and so on.</t>
        <t>From the specification editor's perspective, sometimes analysis can seem unnecessary,
perhaps because the object being specified is indeed "obviously correct" or that
security considerations with proven interoperability seem sufficient. However, as
has been demonstrated, security considerations are not a suitable replacement for
security analysis. In general, the problem here seems to be that the type of analysis
that would be sufficient to provide confidence in the specification is not clear.
The IETF and IRTF community needs guidance on what type of analysis is appropriate.
As obvious examples, cryptographic algorithms require analysis. Network protocols
such as TLS also require analysis, but of a different type. The community could
work on collecting examples of formal analyses to use as guidance in determining
the suitable amount of analysis.</t>
      </section>
      <section anchor="complexity-and-precision">
        <name>Complexity and Precision</name>
        <t>Specification complexity is a barrier to analysis. Complexity makes it challenging
to develop an accurate mental model for the problem being solved, which is necessary
for defining and refining the threat model and desired security properties of a
protocol. Complexity makes the learning curve steep, deterring otherwise willing
contributors from working on the analysis. Complexity can be dealt with by
breaking down specifications into smaller, purpose-specific pieces, where possible.
Beyond helping tame complexity, this might also help enable better reuse of existing
analysis results. Complexity might also be dealt with by improving the presentation
quality of specifications, e.g., by using consistent vocabulary across related
specifications, including more discusson about intuition, and so on.</t>
        <t>Specifications also sometimes suffer from lack of precision. Naturally, as specifications
are written in English, they are prone to misinterpretations by different people, especially
those for whom English is not a native language. While prose is useful for describing
intution, it is often insufficient for rigorous technical details. Lack of precision
therefore makes analysis difficult since there lacks clarity on what is the exact
object or syntax being specified. Use of more rigorous specification language, e.g.,
consistently presented and readable pseudocode, formal grammars, state machine
descriptions, etc can all help improve the precision by which specifications are represented.
However, it's worth noting that sometimes precision can increase specification
complexity. Balancing these two is not always easy in practice.</t>
      </section>
      <section anchor="resource-limits">
        <name>Resource Limits</name>
        <t>Analysis is also impeded by a limitation of resources. Formal analysis is not an
easy task. The tools, techniques, and methodologies for applying formal analysis
vary in maturity, and the people generally capable of contributing such analyses
are far fewer than the number required to analyze all known protocols. Moreover,
the domain expertise required to formulate and represent and describe a suitable
threat model is often difficult to acquire for those that do have the skills to
perform formal analysis. For better or worse, specification editors are often not
equipped to formulate problem statements, threat models, and security definitions.</t>
        <t>Specification editors can take steps to help bridge the gap between themselves and
those capable of performing protocol design and analysis. Some possible actions are below.</t>
        <ol spacing="normal" type="1"><li>Identify and collaborate with domain experts who might offer expertise for their
protocol. If domain experts are unknown, consult the WG chairs or security area
contributors for assitance.</li>
          <li>Include the protocol's desired security properties and threat model in the protocol
document. This can be done in the security considerations or elsewhere, but including
it somewhere helps give domain experts and reviewers a target for analysis.</li>
          <li>Include known implementations of protocols somewhere alongside the protocol being developed.
Some analysis efforts focus on the gap between specifications and implementations, and
reviewing implementations is an important part of assessing that gap.</li>
          <li>Document all known gaps between the protocol specification and known formal analysis.
This helps ensure that the results of the analysis are properly represented to consumers
of protocol specification documents.</li>
          <li>Identify open issues or aspects of the protocol that require formal analysis during development
of the protocol specification. One way to do this is to note that the entire draft is still a
work in progress, whereas another way is to highlight specific properties of the protocol that
require more analysis.</li>
        </ol>
        <t>Conversely, protocol designers and researchers can also take steps to bridge the gap
between their skill set and the actual technical specifications. Some possible actions are below.</t>
        <ol spacing="normal" type="1"><li>Collaborate with protocol document editors to determine what are ongoing analysis
tasks. The end goal here is to minimize conflicts and competition that might emerge
with different experts performing reviews.</li>
          <li>Ensure that analysis work that requires running code, such as formal analyses using
modeling tools such as ProVerif and Tamarin, are understandable and reproducible.
It should be possible for any contributor in the IETF to re-run the analysis and
understand its results.</li>
        </ol>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document discusses challenges for applying formal analysis to technical specifications
produced by the IETF and IRTF. It does not raise new security considerations.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="ProVerif">
          <front>
            <title>Modeling and Verifying Security Protocols with the Applied Pi Calculus and ProVerif</title>
            <author fullname="Bruno Blanchet" initials="B." surname="Blanchet">
              <organization/>
            </author>
            <date year="2016"/>
          </front>
          <seriesInfo name="Foundations and Trends® in Privacy and Security" value="vol. 1, no. 1-2, pp. 1-135"/>
          <seriesInfo name="DOI" value="10.1561/3300000004"/>
        </reference>
        <reference anchor="Tamarin">
          <front>
            <title>Automatic generation of sources lemmas in Tamarin: Towards automatic proofs of security protocols1</title>
            <author fullname="Véronique Cortier" initials="V." surname="Cortier">
              <organization>Université de Lorraine, CNRS, Inria, LORIA, F-54000 Nancy, France</organization>
            </author>
            <author fullname="Stéphanie Delaune" initials="S." surname="Delaune">
              <organization>Université Rennes, CNRS, IRISA, France</organization>
            </author>
            <author fullname="Jannik Dreier" initials="J." surname="Dreier">
              <organization>Université de Lorraine, CNRS, Inria, LORIA, F-54000 Nancy, France</organization>
            </author>
            <author fullname="Elise Klein" initials="E." surname="Klein">
              <organization>Université de Lorraine, CNRS, Inria, LORIA, F-54000 Nancy, France</organization>
            </author>
            <date month="August" year="2022"/>
          </front>
          <seriesInfo name="Journal of Computer Security" value="vol. 30, no. 4, pp. 573-598"/>
          <seriesInfo name="DOI" value="10.3233/jcs-210053"/>
        </reference>
        <reference anchor="TLS13">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla">
              <organization/>
            </author>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar">
              <organization/>
            </author>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
              <organization/>
            </author>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol.  QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances.  Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="MLS">
          <front>
            <title>The Messaging Layer Security (MLS) Protocol</title>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Benjamin Beurdouche" initials="B." surname="Beurdouche">
              <organization>Inria &amp; Mozilla</organization>
            </author>
            <author fullname="Raphael Robert" initials="R." surname="Robert">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <author fullname="Jon Millican" initials="J." surname="Millican">
              <organization>Meta Platforms</organization>
            </author>
            <author fullname="Emad Omara" initials="E." surname="Omara">
              <organization>Google</organization>
            </author>
            <author fullname="Katriel Cohn-Gordon" initials="K." surname="Cohn-Gordon">
              <organization>University of Oxford</organization>
            </author>
            <date day="13" month="March" year="2023"/>
            <abstract>
              <t>   Messaging applications are increasingly making use of end-to-end
   security mechanisms to ensure that messages are only accessible to
   the communicating endpoints, and not to any servers involved in
   delivering messages.  Establishing keys to provide such protections
   is challenging for group chat settings, in which more than two
   clients need to agree on a key but may not be online at the same
   time.  In this document, we specify a key establishment protocol that
   provides efficient asynchronous group key establishment with forward
   secrecy and post-compromise security for groups in size ranging from
   two to thousands.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mls-protocol-18"/>
        </reference>
        <reference anchor="OHTTP">
          <front>
            <title>Oblivious HTTP</title>
            <author fullname="Martin Thomson" initials="M." surname="Thomson">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="9" month="March" year="2023"/>
            <abstract>
              <t>   This document describes a system for forwarding encrypted HTTP
   messages.  This allows a client to make multiple requests to an
   origin server without that server being able to link those requests
   to the client or to identify the requests as having come from the
   same client, while placing only limited trust in the nodes used to
   forward the messages.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ohai-ohttp-07"/>
        </reference>
        <reference anchor="PRIVACYPASS">
          <front>
            <title>The Privacy Pass Architecture</title>
            <author fullname="Alex Davidson" initials="A." surname="Davidson">
              <organization>LIP</organization>
            </author>
            <author fullname="Jana Iyengar" initials="J." surname="Iyengar">
              <organization>Fastly</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="6" month="March" year="2023"/>
            <abstract>
              <t>   This document specifies the Privacy Pass architecture and
   requirements for its constituent protocols used for constructing
   privacy-preserving authentication mechanisms.  It provides
   recommendations on how the architecture should be deployed to ensure
   the privacy of clients and the security of all participating
   entities.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-privacypass-architecture-11"/>
        </reference>
        <reference anchor="QUIC">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar">
              <organization/>
            </author>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
              <organization/>
            </author>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol.  QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances.  Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document was influenced by conversations with many people that led to the UFMRG formation.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA41c25Ib13V976/ojB4kpQBYFGXHZkVJxrxYkyI1DIeKy5XK
w0H3AdBhX+C+DAiy+C/5lnxZ1tr73LoxIztVDmcw3eeyr2uvvaH1ep2N1Vjb
Z/nV84Opa9vu7bDKb4/Hrh+nthor/mraMn9R9bYYq64d8l3X56+6vjF1ft2a
+jxUQ161+Xiw+c3L96/k8Zt3719dZWa77e09Fl8+Hje7ygoz2n3Xn59hkV2X
ZWVXtKbBkcre7Ma1ce+si/DO+rvvsmHaNtUw4EDj+YiHuWGGrZ5m97ad7LMs
z/fVeJi22L049Hj/1HXlbx5d8yrLzDQeuh5vrvFynu+mutaDPOf7Y3c82D6/
3uR/xkLyRNfvTVt9MhQLnqq7qdzVprfyR9uYqn6WF+b0bwdrjlW731bjsGnt
mGUtxTFW9zhmxkuH3/De2777T9tXu2f5i9ubzZPvNk9++7snv3n69Dv9vx/4
zHvTmL5qwyNPv3/69Df//vxu/f2T77777dMsy9brdW62w9ibAvu9P0DmkOvU
2HbMy2oopmGwQ14kOu8udV4GnWfU+U6V6IWXd7v82HdjV3Q1Vrf3tu6OtkxN
YaMHaaqyrG2WfZXftGPflZMsymMtLIbr4a82H21xaKsCuw1HW1Q7/BhtL246
Ddivc/u1o+0h3U12fTzW4QU8wj8Pv7ImDjwcqiNVlA/dbjxBhZv8djdarFw1
kEbGVXDdv7HQwQy5cVLLq+YI2fN0FrfDAv3glkiPihfavNveV9005PajaY61
XeXvX9/lTzZP88+f/xU/Pnn647tXz3//ww+/+/Ilh9y5RGnXOyzf5dBwO1Bz
+WCLqa/Gc+bl86B4ViI+qhW3Lc1oRF9cpBrzrR1PFrcuq93O9mor7qfsaHpa
xqW4RY1YtLDDkG/P+elQFYdwhZNJbYO/wcT+OlnRJBxCJLzBcrLqyXygoLOu
hZi7Lm9Mew4X4ybb2jZDfoJn47cKS9xDriJ8J1t/+VV6gmxmnUXdQYt4pjbb
rhfd6Yphox5qNn1xoM4gY9sOU08zMqPsgT9PNQWIdYdq34r9zmyBx7ivSuzH
H8y2dreQ8x2tSlLW401P3VSX0D5WGLNd3zX5MEGEJlxmk6cyhmA+5GcccJCN
9TR6tbL7ZFUWpjClbaoiO07b6A18vqLmeAgcy9JMIVIoWJ9YIez1IwMd/sA7
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
yghFAAA=

-->

</rfc>
