Internet DRAFT - draft-analysis-challenges

draft-analysis-challenges







Network Working Group                                         C. A. Wood
Internet-Draft                                                Cloudflare
Intended status: Informational                             13 March 2023
Expires: 14 September 2023


  Challenges, Opportunities, and Directions for Formal Analysis in the
                             IETF and IRTF
                      draft-analysis-challenges-00

Abstract

   This document discusses challenges, opportunities, and directions for
   formal analysis of protocols developed in the IETF.

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-analysis-challenges/.

   Source for this draft and an issue tracker can be found at
   https://github.com/chris-wood/draft-analysis-challenges.

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 14 September 2023.

Copyright Notice

   Copyright (c) 2023 IETF Trust and the persons identified as the
   document authors.  All rights reserved.





Wood                    Expires 14 September 2023               [Page 1]

Internet-Draft         Formal Analysis Challenges             March 2023


   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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions and Definitions . . . . . . . . . . . . . . . . .   4
   3.  Analysis Overview . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Analysis Challenges and Open Problems . . . . . . . . . . . .   5
     4.1.  Timelines . . . . . . . . . . . . . . . . . . . . . . . .   5
     4.2.  Tooling . . . . . . . . . . . . . . . . . . . . . . . . .   6
     4.3.  Incentives  . . . . . . . . . . . . . . . . . . . . . . .   7
     4.4.  Complexity and Precision  . . . . . . . . . . . . . . . .   7
     4.5.  Resource Limits . . . . . . . . . . . . . . . . . . . . .   8
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  10
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .  11
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  11

1.  Introduction

   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 [TLS13] is the de-facto transport
   security protocol used on the Internet, protecting data in transit
   between different different parties on the Internet.

   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.






Wood                    Expires 14 September 2023               [Page 2]

Internet-Draft         Formal Analysis Challenges             March 2023


   Several IETF protocols since TLS 1.3 have built on the process by
   which it was developed, including QUIC [RFC9000], MLS [MLS],
   Oblivious HTTP [OHTTP], and Privacy Pass [PRIVACYPASS].  Each of
   these published and developing specifications have incorporated
   security analysis into the process by which the specifications are
   ratified.

   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.

   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:

   1.  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.

   2.  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.

   3.  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.






Wood                    Expires 14 September 2023               [Page 3]

Internet-Draft         Formal Analysis Challenges             March 2023


   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.

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.

3.  Analysis Overview

   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, [ProVerif] and
   [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.

   Regardless of the mechanism, analysis generally follows the following
   recipe:

   1.  Specify the threat model, including the attacker and its
       capabilities.

   2.  Specify the security goals with respect to this threat model.

   3.  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.






Wood                    Expires 14 September 2023               [Page 4]

Internet-Draft         Formal Analysis Challenges             March 2023


   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 (Appendix E of [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 [QUIC] lists various
   types of attacker models and, within each attacker model, the types
   of attacks that are possible.  However, unlike [TLS13], does not have
   backing formal analysis for all of claims about attack resistance.
   As another example, Oblivious HTTP [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.

4.  Analysis Challenges and Open Problems

   This section describes some high level problems that impact the scale
   at which the IETF and IRTF applies formal analysis to technical
   specifications.

4.1.  Timelines

   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.

   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.

   Overcoming this challenge may require a change in the way in which we
   establish consensus for technical specifications.  Some possibilities
   are below.

   1.  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



Wood                    Expires 14 September 2023               [Page 5]

Internet-Draft         Formal Analysis Challenges             March 2023


       ask.  It may also include standardized notation that document
       editors can use for noting analysis-relevant questions and issues
       in their protocol documents.

   2.  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.

   3.  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.

4.2.  Tooling

   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 [ProVerif]
   and [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.

   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.

   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.











Wood                    Expires 14 September 2023               [Page 6]

Internet-Draft         Formal Analysis Challenges             March 2023


4.3.  Incentives

   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.

   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.

4.4.  Complexity and Precision

   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.





Wood                    Expires 14 September 2023               [Page 7]

Internet-Draft         Formal Analysis Challenges             March 2023


   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.

4.5.  Resource Limits

   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.

   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.

   1.  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.

   2.  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.

   3.  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.






Wood                    Expires 14 September 2023               [Page 8]

Internet-Draft         Formal Analysis Challenges             March 2023


   4.  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.

   5.  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.

   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.

   1.  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.

   2.  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.

5.  Security Considerations

   This document discusses challenges for applying formal analysis to
   technical specifications produced by the IETF and IRTF.  It does not
   raise new security considerations.

6.  IANA Considerations

   This document has no IANA actions.

7.  References

7.1.  Normative References

   [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>.

   [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>.



Wood                    Expires 14 September 2023               [Page 9]

Internet-Draft         Formal Analysis Challenges             March 2023


7.2.  Informative References

   [MLS]      Barnes, R., Beurdouche, B., Robert, R., Millican, J.,
              Omara, E., and K. Cohn-Gordon, "The Messaging Layer
              Security (MLS) Protocol", Work in Progress, Internet-
              Draft, draft-ietf-mls-protocol-18, 13 March 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-mls-
              protocol-18>.

   [OHTTP]    Thomson, M. and C. A. Wood, "Oblivious HTTP", Work in
              Progress, Internet-Draft, draft-ietf-ohai-ohttp-07, 9
              March 2023, <https://datatracker.ietf.org/doc/html/draft-
              ietf-ohai-ohttp-07>.

   [PRIVACYPASS]
              Davidson, A., Iyengar, J., and C. A. Wood, "The Privacy
              Pass Architecture", Work in Progress, Internet-Draft,
              draft-ietf-privacypass-architecture-11, 6 March 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-
              privacypass-architecture-11>.

   [ProVerif] Blanchet, B., "Modeling and Verifying Security Protocols
              with the Applied Pi Calculus and ProVerif", Foundations
              and TrendsĀ® in Privacy and Security vol. 1, no. 1-2, pp.
              1-135, DOI 10.1561/3300000004, 2016,
              <https://doi.org/10.1561/3300000004>.

   [QUIC]     Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based
              Multiplexed and Secure Transport", RFC 9000,
              DOI 10.17487/RFC9000, May 2021,
              <https://www.rfc-editor.org/rfc/rfc9000>.

   [RFC9000]  Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based
              Multiplexed and Secure Transport", RFC 9000,
              DOI 10.17487/RFC9000, May 2021,
              <https://www.rfc-editor.org/rfc/rfc9000>.

   [Tamarin]  Cortier, V., Delaune, S., Dreier, J., and E. Klein,
              "Automatic generation of sources lemmas in Tamarin:
              Towards automatic proofs of security protocols1", Journal
              of Computer Security vol. 30, no. 4, pp. 573-598, DOI 
              10.3233/jcs-210053, August 2022,
              <https://doi.org/10.3233/jcs-210053>.

   [TLS13]    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>.




Wood                    Expires 14 September 2023              [Page 10]

Internet-Draft         Formal Analysis Challenges             March 2023


Acknowledgments

   This document was influenced by conversations with many people that
   led to the UFMRG formation.

Author's Address

   Christopher A. Wood
   Cloudflare
   Email: caw@heapingbits.net









































Wood                    Expires 14 September 2023              [Page 11]