PQC Migration Nist SP 1800 38b Preliminary Draft
PQC Migration Nist SP 1800 38b Preliminary Draft
PQC Migration Nist SP 1800 38b Preliminary Draft
December 2023
PRELIMINARY DRAFT
1 DISCLAIMER
2 Certain commercial entities, equipment, products, or materials may be identified by name or company
3 logo or other insignia in order to acknowledge their participation in this collaboration or to describe an
4 experimental procedure or concept adequately. Such identification is not intended to imply special sta-
5 tus or relationship with NIST or recommendation or endorsement by NIST or NCCoE; neither is it in-
6 tended to imply that the entities, equipment, products, or materials are necessarily the best available
7 for the purpose.
8 National Institute of Standards and Technology Special Publication 1800-38B Natl. Inst. Stand. Technol.
9 Spec. Publ. 1800-38B, 68 pages, (December 2023), CODEN: NSPUE2
10 FEEDBACK
11 This initial draft offers: (1) a functional test plan that exercises the cryptographic discovery tools to
12 determine baseline capabilities; (2) a use case scenario to provide context and scope for our
13 demonstration; (3) an examination of the threats addressed in this demonstration; (4) a multifaceted
14 approach to the discovery process that most organizations can start today; and (5) a high-level
15 architecture based on our use case that integrates contributed discovery tools in our lab.
16 You can improve this initial public draft by submitting comments. We are always seeking feedback on
17 our publications and how they support our readers’ needs. We are particularly interested in learning
18 from readers if this initial draft is helpful to you and what you want to see covered in future versions of
19 this publication.
20 The project will soon have a repository in https://github.com/usnistgov to provide the data shared in
21 this initial draft and relevant data created by the project in the future.
23 Public comment period: December 19, 2023 through February 20, 2024.
24 All comments are subject to release under the Freedom of Information Act.
45 To learn more about the NCCoE, visit https://www.nccoe.nist.gov/. To learn more about NIST, visit
46 https://www.nist.gov.
54 The documents in this series describe example implementations of cybersecurity practices that
55 businesses and other organizations may voluntarily adopt. These documents do not describe regulations
56 or mandatory practices, nor do they carry statutory authority.
57 KEYWORDS
58 algorithm; cryptography; encryption; identity management; key establishment and management; post-
59 quantum cryptography; public-key cryptography; quantum-resistant; vulnerable cryptography discovery
60 ACKNOWLEDGMENTS
61 We are grateful to the following individuals for their generous contributions of expertise and time.
Name Organization
Name Organization
Name Organization
Name Organization
Name Organization
62 The Technology Partners/Collaborators who participated in this build submitted their capabilities in
63 response to a notice in the Federal Register. Respondents with relevant capabilities or product
64 components were invited to sign a Cooperative Research and Development Agreement (CRADA) with
65 NIST, allowing them to participate in a consortium to build this example solution. We worked with:
Amazon Web Services, Inc. Information Security Corporation Samsung SDS Co., Ltd.
(AWS)
66 DOCUMENT CONVENTIONS
67 The terms “shall” and “shall not” indicate requirements to be followed strictly to conform to the
68 publication and from which no deviation is permitted. The terms “should” and “should not” indicate that
69 among several possibilities, one is recommended as particularly suitable without mentioning or
70 excluding others, or that a certain course of action is preferred but not necessarily required, or that (in
71 the negative form) a certain possibility or course of action is discouraged but not prohibited. The terms
72 “may” and “need not” indicate a course of action permissible within the limits of the publication. The
73 terms “can” and “cannot” indicate a possibility and capability, whether material, physical, or causal.
81 ITL may require from the patent holder, or a party authorized to make assurances on its behalf, in writ-
82 ten or electronic form, either:
83 a) assurance in the form of a general disclaimer to the effect that such party does not hold and does not
84 currently intend holding any essential patent claim(s); or
85 b) assurance that a license to such essential patent claim(s) will be made available to applicants desiring
86 to utilize the license for the purpose of complying with the guidance or requirements in this ITL draft
87 publication either:
88 1. under reasonable terms and conditions that are demonstrably free of any unfair discrimination;
89 or
90 2. without compensation and under reasonable terms and conditions that are demonstrably free
91 of any unfair discrimination.
92 Such assurance shall indicate that the patent holder (or third party authorized to make assurances on its
93 behalf) will include in any documents transferring ownership of patents subject to the assurance, provi-
94 sions sufficient to ensure that the commitments in the assurance are binding on the transferee, and that
95 the transferee will similarly include appropriate provisions in the event of future transfers with the goal
96 of binding each successor-in-interest.
97 The assurance shall also indicate that it is intended to be binding on successors-in-interest regardless of
98 whether such provisions are included in the relevant transfer documents.
100 Contents
101 1 Summary .............................................................................................. 1
102 1.1 Challenge ....................................................................................................................... 2
103 1.2 Outcomes ...................................................................................................................... 2
104 1.3 Preparing for the New Post-Quantum Standards ......................................................... 2
105 1.3.1 Public-Key Cryptographic Technologies ........................................................................3
106 1.4 Demonstration Activity ................................................................................................. 5
107 2 How to Use This Guide ......................................................................... 5
108 3 Approach: The Migration to Post-Quantum Cryptography Project’s
109 Contribution to Quantum Readiness .................................................... 6
110 3.1 Audience ........................................................................................................................ 7
111 3.2 Scope ............................................................................................................................. 7
112 3.2.1 Example Discovery Scenario for a Medium-Sized Business ..........................................7
113 3.2.2 Project Execution of Example Scenario in Our Lab .......................................................9
114 3.2.3 Vulnerable Cryptographic Algorithms ........................................................................12
115 3.3 Terminology................................................................................................................. 14
116 3.4 Risk Assessment .......................................................................................................... 14
117 3.4.1 Threats to Classical Cryptography...............................................................................15
118 3.4.2 Vulnerabilities .............................................................................................................16
119 3.4.3 Survey of Risk Methodologies.....................................................................................18
178 1 Summary
179 In 2021, the National Institute of Standards and Technology (NIST) published CSWP-15, Getting Ready
180 for Post-Quantum Cryptography: Exploring Challenges Associated with Adopting and Using Post-
181 Quantum Cryptographic Algorithms [1], and the National Cybersecurity Center of Excellence (NCCoE)
182 initiated the Migration to Post Quantum Cryptography project [2] to develop practices and demonstrate
183 capabilities for easing migration from the current set of public-key cryptographic algorithms to
184 replacement algorithms that are resistant to quantum-computer-based attacks. The replacement
185 algorithms were then identified and selected under a NIST post-quantum standards program initiated in
186 2016. Subsequently, on May 4, 2022, the White House issued a National Security Memorandum (NSM)
187 on “Promoting United States Leadership in Quantum Computing While Mitigating Risks to Vulnerable
188 Cryptographic Systems.” [3] This NSM reinforced the NCCoE’s project priority by directing NIST to
189 establish a Migration to Post-Quantum Cryptography Project “as the United States begins the multi-year
190 process of migrating vulnerable computer systems to quantum-resistant cryptography.”
191 The advent of a cryptanalytically relevant quantum computer (CRQC) will render current standard
192 public-key cryptographic algorithms ineffective. These public-key algorithms are widely used in
193 protecting the integrity and confidentiality of digital information. Replacement of cryptographic
194 algorithms is both technically and logistically challenging. It can take years or even decades to complete.
195 Working with the public and private sectors to address cybersecurity challenges posed by the transition
196 to quantum-resistant cryptography, the NCCoE is undertaking a practical demonstration of technology
197 and tools that can assist organizations to develop a migration plan, sometimes called a quantum
198 readiness roadmap. Two demonstration activities were selected to enable and inform migration. One
199 demonstration is focused on tools that discover where and how public key algorithms are being used;
200 the second involves experiments that measure the performance of the emerging quantum-resistant
201 algorithms for security functions and protocols that are currently reliant on quantum-vulnerable
202 algorithms.
203 This volume covers the demonstration activities focused on the use of automated discovery tools. These
204 tools identify instances of quantum-vulnerable public-key algorithms that are widely deployed across an
205 organization to create a cryptographic algorithm inventory that will help an organization to develop its
206 migration roadmap.
207 A separate volume will be published on the development and improvement of migration strategies
208 enabled by demonstrating the interoperability and performance of post-quantum algorithm
209 implementations and sharing our tools and findings with standards developing organizations and
210 industry sectors reliant on cryptographic protection.
211 The reader should note this is a preliminary draft of the document, and while the content is considered
212 to be stable, changes are expected to occur. There are gaps in the content and the overall document is
213 still incomplete. NIST welcomes early informal feedback and comments, which will be adjudicated after
214 the specified public comment period. Organizations may consider experimenting with guidelines, with
215 the understanding that they will identify gaps and challenges.
222 This publication shares insights and findings about the use of cryptographic discovery tools to create a
223 cryptographic inventory. This information may help organizations to start or improve their inventories.
224 This publication is one of the first focused on practices for creating, expanding, or using a cryptographic
225 inventory to support migration to quantum-resistant cryptographic technologies. As an initial draft, it
226 offers: (1) a functional test plan that exercises the cryptographic discovery tools to determine baseline
227 capabilities; (2) a use-case scenario to provide context and scope our demonstration; (3) the threats we
228 will address in this demonstration; (4) a multifaceted approach for the discovery process that most
229 organizations can start today; and (5) a high-level architecture based on our use case that integrates
230 contributed discovery tools in our lab.
233 ▪ Identifying where and how public-key algorithms are being used in your information systems
234 ▪ Raising internal awareness and understanding of risk-based cryptographic migration planning
235 through the demonstration of tools, practice, and guidance
236 ▪ Developing a risk-based playbook—involving people, processes, and technologies while
237 connecting with existing risk management tools—for performing a migration to post-quantum
238 cryptography
245 In 2016, NIST began developing standards for post-quantum cryptography (also called quantum-
246 resistant cryptography) to enable cryptographic systems that are secure against both quantum and
247 classical computers and can interoperate with existing communications protocols and networks. New
248 standards that specify key establishment and digital signature schemes that are designed to resist future
249 attacks by quantum computers will be published in 2024.
250 Previous initiatives to update or replace installed cryptographic technologies have taken many years.
251 While the PQC standards are in development, organizations are encouraged to begin cryptographic
252 discovery activities to identify the organization’s current reliance on quantum-vulnerable cryptography.
260 Public-key (also known as asymmetric) cryptographic algorithms require the originator to use one key
261 and the recipient to use a different but related key. One of these asymmetric keys, the private key, must
262 be kept secret, but the other key, the public key, can be shared or even made public without degrading
263 the security of the cryptographic process. Symmetric algorithms require a secret key to be shared by
264 sender and receiver. The asymmetric (public-key) algorithms are used for data integrity (e.g., digital
265 signature) and protected exchange of shared keys used by symmetric algorithms. The symmetric
266 algorithms are more efficient for protection of bulk information, but the secure exchange and
267 establishment of shared keys generally requires protection by asymmetric cryptography.
268 From time to time, the discovery of a cryptographic weakness, constraints imposed by dependent
269 technologies, or advances in the technologies that support cryptanalysis make it necessary to replace a
270 cryptographic algorithm. Practical quantum computing is a technological advance that will make the
271 standard public-key algorithms now in use inadequate for provision of confidentiality of information,
272 including secret keys. Most algorithms on which we depend are used worldwide in components of many
273 different communications, processing, and storage systems. Cryptography has become ubiquitous. It is
274 embedded in systems and components as different as operating systems, communications products,
275 and Internet of Things devices in environments as different as space vehicles, automobiles, enterprise
276 data centers, household appliances, and embedded medical devices. Information system owners are
277 often unaware of what components have cryptography embedded or how the cryptography is used in
278 each case.
279 Also, almost all information systems lack cryptographic agility—that is, they are not designed to
280 encourage support of rapid adaptations of new cryptographic primitives and algorithms without making
281 significant changes to the system’s infrastructure. As a result, an organization may not be able to easily
282 alter or replace its cryptographic mechanisms when needed. While some components of some systems
283 tend to be replaced by improved components on a relatively frequent basis (e.g., cell phones), other
284 components are expected to remain in place for a decade or more (e.g., components in electricity
285 generation and distribution systems).
286 Communications interoperability and records archiving requirements introduce additional constraints
287 on system components. As a general rule, cryptographic algorithms cannot be replaced until all
288 components of a system are prepared to process the replacement. Updates to protocols, schemes, and
289 infrastructures often must be implemented when introducing new cryptographic algorithms.
290 Consequently, algorithm replacement can be extremely disruptive and often takes a long time to
291 complete. Unfortunately, the implementation of post-quantum public-key standards is likely to be even
292 more problematic than the past introduction of new classical cryptographic algorithms. In the absence
293 of significant implementation planning, it is likely to be decades before the community replaces most of
294 the quantum-vulnerable public-key systems currently in use.
295 It would be ideal to have “drop-in” replacements for quantum-vulnerable algorithms (e.g., RSA and
296 Diffie-Hellman) for each of these purposes. Unfortunately, each of the new quantum-resistant
297 algorithms has at least one requirement for secure implementation that makes drop-in replacement
298 unsuitable sometimes. For example, the selected algorithms have large signature sizes, involve excessive
299 processing, require large public and/or private keys, require operations that are asymmetric between
300 sending and receiving parties and require the responder to generate a message based on the initiator’s
301 public value, and/or involve other uncertainties with respect to computational results. Depending on the
302 algorithm and the operation using that algorithm, secure implementation may need to address issues
303 such as public-key validation, public-key reuse, decryption failure even when all parameters are
304 correctly implemented, and the need to select new auxiliary functions (e.g., hash functions used in
305 digital signature schemes). Even where secure operation is possible, performance and scalability issues
306 may demand significant modifications to protocols and infrastructures.
307 Different post-quantum algorithms can have significantly different performance characteristics and
308 implementation constraints (with respect to key sizes, signature sizes, resource requirements, etc.).
309 Consequently, different algorithms can be more suitable than others for specific applications. For
310 example, the signature or key size might not be a problem for some applications but can be
311 unacceptable for others. Some widely used protocols need to be modified to handle larger signatures or
312 key sizes (e.g., using message segmentation). Implementations of new applications will need to
313 accommodate the demands of post-quantum cryptography (PQC) and the schemes developed that
314 incorporate PQC for digital signatures and key establishment. In fact, PQC requirements may actually
315 shape some future application standards. The replacement of algorithms generally requires changing or
316 replacing cryptographic libraries, implementation validation tools, hardware that implements or
317 accelerates algorithm performance, dependent operating system and application code, communications
318 devices and protocols, and user and administrative procedures. Security standards, procedures, and best
319 practice documentation are being changed or replaced, and the same will be needed for installation,
320 configuration, and administration documentation.
321 When a decision is made to replace an algorithm, it is necessary to develop a playbook that takes all of
322 the above factors into consideration. Some elements of the playbook are dependent on the
323 characteristics of both the algorithms being replaced and the replacement algorithms. Other elements
324 needed for developing a detailed migration playbook can be determined before the replacement
325 algorithms are selected and documented—for example, discovery and documentation of systems,
326 applications, protocols, and other infrastructure and usage elements that use or are dependent on the
327 algorithms being replaced.
328 The first step in PQC migration planning is to identify where and for what purpose public-key
329 cryptography is currently being used. Public-key cryptography has been integrated into existing
330 computer and communications hardware, operating systems, application programs, databases,
331 communications protocols, key infrastructures, and access control mechanisms. Examples of public-key
332 cryptography uses include:
333 ▪ Digital signatures used to provide source authentication and integrity authentication as well as
334 support the non-repudiation of messages, documents, or stored data
349 This project takes a holistic approach for the discovery of cryptographic assets by using a combination of
350 active and passive discovery techniques that are described in detail in this document. In summary, we
351 focus on vulnerable cryptographic algorithms within an organization’s digital systems and codebases,
352 and use the discovered cryptographic assets to support the prioritization of their replacement. Lab
353 demonstrations aim to leverage existing enterprise tools (code repositories, Governance, Risk, and
354 Compliance [GRC] platforms, SIEM solutions, configuration management databases, etc.) and will use
355 multiple commercially available and open-source discovery tools to achieve project objectives.
356 We have selected an interchange format to demonstrate using the output from the discovery tools for
357 post-discovery risk analysis. We invite implementers to use the interchange format as part of an
358 organization’s approach to leveraging discovery results.
364 Readers in IT roles such as security architects and system administrators who are responsible for
365 monitoring the state of implementation of PQC standards in technology to inform their migration plan
366 may also want to refer to a separate document in this series: NIST SP 1800-38C: Quantum-Resistant
367 Cryptography Technology Interoperability and Performance Report. That report summarizes the
368 outcomes from the Performance and Interoperability Workstream testing, in which we identified the
369 challenging problems and bottlenecks that integrators will face when transitioning systems to post-
370 quantum-ready algorithms.
371 This guide and NIST SP 1800-38C were preceded by NIST SP 1800-38A: Executive Summary, Migration to
372 Post-Quantum Cryptography: Preparation for Considering the Implementation and Adoption of Quantum
373 Safe Cryptography. Business decision makers, including chief information security and technology
374 officers should refer to this document to understand the drivers for this project and the challenges we
375 plan to address.
376 This guide uses a monospace typeface for JavaScript Object Notation (JSON) examples.
388 The findings of the discovery activity and subsequent interoperability and performance activity can be
389 used in refining organizations’ quantum-readiness roadmaps as the scope, distribution, characteristics,
390 and requirements of their quantum-vulnerable implementations emerge.
391 One aspect that the NCCoE Migration to Post-Quantum Cryptography Project approach focuses on is
392 automated tools that address step 2, Prepare a Cryptographic Inventory. This step should be taken to
393 identify vulnerable cryptographic algorithms used by an organization. Automated tools should identify
394 the cryptographic algorithms used in hardware and software modules, libraries, and embedded code.
395 Automated tools should also identify the cryptographic algorithms currently used by an enterprise to
396 support cryptographic key establishment and management underlying the security of cryptographically
397 protected information and access management processes, as well as algorithms used to protect the
398 source and content integrity of data at rest, in transit, and in use.
399 After the vulnerable public-key cryptography components and associated assets in the enterprise are
400 identified, the next objective of the project is to prioritize those components that need to be considered
401 first in the migration using a risk management methodology informed by the sensitivity and criticality of
402 the information being protected over time.
403 In 2021 NIST invited organizations to provide letters of interest describing products and technical
404 expertise to support the Migration to Post-Quantum Cryptography project. This notice was the initial
405 step for the NCCoE in collaborating with technology companies to address cybersecurity challenges
406 identified under this project. Commercial and open-source software and hardware technology providers
407 responded with technology and tools that can provide organizations a head start to migrate to post-
408 quantum cryptography and signed Cooperative Research and Development Agreement (CRADA) with
409 NIST to become project collaborators. The project collaborators first met in June 2022 and established
410 two workstreams, each of which focuses on a specific aspect of migration to PQC.
411 This initial draft incorporates the contributions of consortium members in terms of their technologies
412 and also offers initial strategies on how to leverage discovery to prioritize migration technologies.
413 Updates to this document will be made when additional demonstrations are completed. Section 6
414 discusses areas we have identified for future work in this workstream.
423 Additionally, U.S. Federal agencies may find the capabilities and products that we demonstrate useful
424 for assigned tasks in the November 2022 Office of Management and Budget (OMB) Memorandum on
425 Migrating to Post-Quantum Cryptography (M-23-02) [5]. This memorandum includes steps for agencies
426 to take to transition to PQC.
435 ZetaMSB Inc. (Zeta) is a medium-sized business that provides IT consultancy services regionally. Zeta has
436 approximately 1000 employees with two office locations; however, a quarter of the employees are
437 primarily remote workers. Further, each employee is issued an organizationally managed laptop to
438 access proprietary Zeta data to support IT consultancy clients. This proprietary knowledge base is stored
439 on a mixture of leased bare metal servers that Zeta manages and cloud services. Zeta also has a
440 development team that creates software and services which support its clients and Zeta internal
441 processes.
442 Zeta’s CISO has recently been tasked with coming up with a strategy to protect Zeta’s critical
443 information and its competitive edge far into the future. To that end, the forward-looking CISO has
444 started to read about the potential future impacts of quantum computing – specifically the threats to
445 the integrity and confidentiality of data. The CISO consequently becomes concerned about Zeta’s
446 current cryptographic posture and how competitors or other bad actors could use cryptanalytically
447 relevant quantum computers (CRQCs) to exfiltrate proprietary data while stored on Zeta’s servers or in
448 transit to their remote workers.
449 Zeta has a fairly mature cybersecurity program that leverages the NIST Cybersecurity Framework (CSF),
450 and as such, periodically identifies future threats as part of risk management. As a result, the CISO
451 decides to develop a plan that will address CRQC threats to their organization by incorporating into their
452 long-term cyber strategy the migration of their systems and services that use vulnerable cryptography to
453 quantum-resistant cryptography, hereafter referred to as post-quantum cryptography (PQC). The CISO
454 adopts a phased approach covering multiple years due to their products having dependencies on third-
455 party software that does not yet incorporate PQC. However, they conclude that the initial phase could
456 be started immediately by expanding current hardware and software inventory processes to identify
457 quantum-vulnerable cryptography in use within Zeta.
458 In consultation with stakeholders across the organization, the CISO derives a three-pronged approach
459 for identifying the uses of vulnerable cryptography within the organization. First, Zeta’s newly formed
460 migration team will identify digital cryptographic assets on operational systems fielded to Zeta
461 employees and on systems and devices that are managed by Zeta’s IT department. These include
462 operating systems, communications servers and controllers for wired and wireless internal and external
463 networks, third-party application software, application software developed in-house, security systems
464 such as firewalls, and key generation and management systems. In addition, employees may use cloud
465 services that are not managed by Zeta’s IT department, but that provide cryptographic protection for
466 Zeta information. The migration team concludes the best way to identify these services is to capture
467 traffic from operational networks and examine it for instances of vulnerable cryptography usage with a
468 focus on the information that traverse the public internet. Finally, to align with the organization’s “shift-
469 left” methodology, the migration team recommends identifying vulnerable cryptography used by their
470 DevOps team in their codebases. This would enable the DevOps team to update their codebases with
471 post-quantum cryptography. After documenting this approach, the CISO directs the migration team to
472 automate as much of the discovery process as possible, leveraging existing enterprise services if feasible.
473 The Zeta migration team proceeds to perform market research on vulnerable cryptography discovery
474 tools available in commercial and open-source products. They conclude that multiple products may be
475 necessary to achieve their desired outcomes. That presents a challenge to the team, however, because
476 there is a discrete reporting format for each discovery platform to provide a common data format for
477 collecting the data. As a result, to support automation, each discovery platform’s reporting format will
478 need to be normalized into a common format in order to integrate into existing security event
479 aggregation and reporting tools.
480 Resources for the migration task are limited at Zeta because of other planned IT modernization efforts
481 occurring in the same timeframe. As a result, the CISO must follow a risk-based approach to prioritize
482 which systems will be migrated first after the inventory has been completed. Fortunately, Zeta has
483 identified processes and knowledge assets that are critical to the viability of its business by way of past
484 CSF activities. These processes and assets will be mapped to operational systems and services identified
485 by the discovery platforms and given higher priority in the migration effort.
495 Finally, test data will include captured network traffic that has protocols using known vulnerable
496 cryptography. These captures can support scenarios in which network traffic is “replayed” to simulate an
497 operational network, where network-based sensors for discovering vulnerable cryptography can
498 perform an analysis in real time. It also supports an alternative discovery scenario where an organization
499 has historical captures that are uploaded to the discovery tool for analysis. The captures will function as
500 repeatable “known answer tests” where the inputs (vulnerable cryptography) are known and should be
501 detected by the discovery tools.
502 Additional test data will include a representative code base that leverages classical cryptography that is
503 scanned for vulnerable cryptography usage in two scenarios:
512 With the preceding context, we’ve decomposed the discovery of vulnerable algorithms into the
513 following use cases:
514 ▪ Vulnerable cryptography used in code, compiled binaries, or dependencies during a continuous
515 integration/continuous delivery (CI/CD) development pipeline
516 ▪ Vulnerable cryptography used in assets on end-user systems and servers, to include applications
517 and associated libraries
518 ▪ Vulnerable cryptography used in network protocols, enabling traceability to specific systems
519 using active scanning and historical traffic captures
520 The remainder of this section discusses each use case, including the scope and existing best practices
521 that will be leveraged.
531 The SSDF defines secure software development practices that are organized into four practice groups
532 shown in Table 1. This demonstration will focus on the Protect the Software (PS), Produce Well-Secured
533 Software (PW), and Respond to Vulnerabilities (RV) groups.
535 Table 2 maps our project security characteristics to tasks in the SSDF.
537 As noted in Table 2, this demonstration will experiment with the creation of a cryptographic bill of
538 materials (CBOM). CBOMs are related to and build upon a software bill of materials (SBOM), which is a
539 digital record containing the details and supply chain relationships of various components used in
540 building software. A CBOM extends an SBOM by defining an object model to describe cryptographic
541 assets and their dependencies. CBOMs, when integrated into reporting and software development
542 practices, have the potential to enable organizations to manage and report usage of cryptography,
543 benefiting asset inventory activities. The CBOM model is still developing and may not address every use
544 case for all organizations, and in future drafts of this publications we will describe our approach to
545 automating the creation of CBOMs or other formats as well as incorporating CBOMs into a broader asset
546 inventory effort.
557 ▪ Executables
558 • Application binaries
559 • Cryptographic libraries
560 • Java archives
561 ▪ Non-executables
562 • Keystores: PKCS#12, Java Keystores, Key Data Sets
563 • Other key formats: OpenPGP Keys, X.509 Certificates, OpenSSH Keys, PKCS#1, PKCS#8
586 In this demonstration, the algorithms listed in Table 3 are considered vulnerable.
598 ▪ FIPS 203 (Draft), Module-Lattice-Based Key-Encapsulation Mechanism Standard [11], specifies a
599 cryptographic scheme called “Module Learning with errors Key Encapsulation Mechanism, or
600 MLWE-KEM,” which is derived from the CRYSTALS-KYBER algorithm.
601 ▪ FIPS 204 (Draft), Module-Lattice-Based Digital Signature Standard [12], specifies the “Module
602 Learning with Errors Digital Signature Algorithm, or ML-DSA,” which is based on the CRYSTALS-
603 Dilithium submission.
604 ▪ FIPS 205 (Draft), Stateless Hash-based Digital Signature Standard [13], specifies the “Stateless
605 Hash-based Digital Signature Algorithm, or SLH-DSA,” which is based on the SPHINCS+
606 submission.
607 These initial quantum-resistant algorithms and stateless hash-based signature standard will augment
608 the public-key cryptographic algorithms already contained in FIPS 186-5, Digital Signature Standard
609 (DSS) [14], as well as SP 800-56A Revision 3, Recommendation for Pair-Wise Key-Establishment Schemes
610 Using Discrete Logarithm Cryptography [15], and SP 800-56B Revision 2, Recommendation for Pair-Wise
611 Key Establishment Using Integer Factorization Cryptography [17]. Additional quantum-resistant
612 algorithms will be defined as the standardization effort progresses.
613 Finally, several members of our consortium have moved to use the terms “quantum-safe” or “quantum-
614 ready” as opposed to “post-quantum” to refer to the algorithms and technologies that are protected
615 against cryptographically relevant quantum computer (CRQC) attacks. This document continues to use
616 “post-quantum” and will be updated as these terms evolve.
620 will introduce with a discussion of a proposed Common Weakness Enumeration (CWE) that
621 organizations could potentially use during their internal prioritization efforts. Finally, we discuss existing
622 research efforts to develop a risk methodology that have influenced this project’s approach to
623 demonstrating a migration prioritization list.
635 Digital encryption and signature schemes are widely used in transport protocols like (D)TLS, IKEv2/IPsec,
636 QUIC, and SSH. They all include a key exchange phase where the peers exchange asymmetric keys which
637 enable them to establish a shared secret using ECDH. They then proceed to derive a symmetric key
638 which is used to symmetrically encrypt data exchanged between the peers. The Authentication phase
639 includes providing an asymmetric signature of a transcript of the exchanged data which proves that the
640 peer signed this data with its private key. The corresponding public key is usually included with the
641 identity of the peer and is authenticated by using PKI or other methods. That way the peers can verify
642 they are talking to the peer with the expected identity who holds the expected public key.
643 A quantum computer could break the asymmetric schemes for key exchange and signing. Shor’s
644 algorithm could break ECDH, which means that a quantum-capable threat actor could recover the
645 symmetric key used to encrypt data. Specifically, for encryption, although there is no CRQC today,
646 someone could be storing data encrypted with TLS or other protocols today in order to retroactively
647 decrypt them in the future with a quantum computer, more commonly known as harvest and decrypt or
648 store now decrypt later attacks.
649 Consequently, protection of data is needed at rest, in transit, and in use. As a reference we have listed
650 below a variety of techniques an adversary can use to enable the harvesting of encrypted data today, as
651 documented in MITRE’s ATT&CK framework [16], a globally-accessible knowledge base of adversary
652 tactics and techniques based on real-world observations. Further, it may not be necessary for the
653 adversary to own their own CRQC, as it is expected that adversaries will have cloud access to CRQCs in
654 the future to conduct their attacks.
661 ▪ Automated Collection - Once established within a system or network, an adversary may use
662 automated techniques for collecting internal data. Methods for performing this technique could
663 include use of a command and scripting interpreter to search for and copy information fitting
664 set criteria such as file type, location, or name at specific time intervals. In cloud-based
665 environments, adversaries may also use cloud APIs, command line interfaces, or extract,
666 transform, and load (ETL) services to automatically collect data. This functionality could also be
667 built into remote access tools.
668 ▪ Data from Cloud Storage - Adversaries may access data from improperly secured cloud storage.
669 ▪ Data from Local System - Adversaries may search local system sources, such as file systems and
670 configuration files or local databases, to find files of interest and sensitive data prior to
671 exfiltration.
672 ▪ Data from Network Shared Drive - Adversaries may search network shares on computers they
673 have compromised to find files of interest. Sensitive data can be collected from remote systems
674 via shared network drives (host shared directory, network file server, etc.) that are accessible
675 from the current system prior to exfiltration. Interactive command shells may be in use, and
676 common functionality within cmd may be used to gather information.
677 For a more in-depth discussion on threats to existing security architectures which employ vulnerable
678 cryptography, we recommend readers review the content produced by other organizations such as the
679 Accredited Standards Committee’s Quantum Computing Risks to the Financial Services Industry [18] and
680 the Quantum-Readiness Working Group’s (QRWG) of the Canadian Forum for Digital Infrastructure
681 Resilience (CFDIR) Best Practices and Guidelines [8].
688 CWEs in the cryptographic domain are currently categorized as a failure in a protection mechanism
689 (CWE-693). These include existing CWEs (CWE-327: Use of a Broken or Risky Cryptographic Algorithm
690 and CWE-326: Inadequate Encryption Strength, for example) that address weak algorithms.
691 The CWE concept is targeted around existing vulnerabilities. Future vulnerabilities such as those coming
692 from a quantum threat do not appear to easily fit into this concept. Weaknesses only manifest if certain
693 conditions are met, leading to the potential of many false positives. Nevertheless, a major benefit in
694 using the CWE approach would be to signal future issues in a way that allows remediation development
695 to be planned for in advance as a feature, rather than later as a remediation action. This could be
696 handled in different ways within the CVE scheme:
700 During project workstream meetings, a proposed CWE was created (see Table 4) to capture the
701 particular weakness of algorithms that are quantum-vulnerable but are otherwise safe. Due to the
702 nature of this weakness, not all proposal elements were applicable. It was proposed to be a Child of
703 CWE-327 (CWE-327: Use of a Broken or Risky Cryptographic Algorithm) with this description:
704 ▪ Cryptographic algorithms are used to protect the confidentiality and authenticity stored in or
705 transmitted through an untrusted medium. Quantum-vulnerable algorithms will be exploitable if
706 or when a cryptographically relevant quantum computer (CRQC) is built, in which case sensitive
707 information could be exposed, data could be undetectably modified, and the identities of users
708 and devices could be spoofed, among other impacts.
709 ▪ Data that is encrypted by a quantum-vulnerable encryption or key establishment algorithm and
710 has a long data protection period is especially at risk, because an adversary can store encrypted
711 data today and decrypt it later with a CRQC. Such an attack is called store-now-decrypt-later,
712 and it creates significant risk for long-term data confidentiality. Additionally, an adversary with a
713 CRQC could forge signatures for quantum-vulnerable algorithms, creating a risk for signatures
714 with a long data protection period, especially those used to sign software images in devices
715 where the root of trust cannot be upgraded.
716 Table 4 Submitted CWE
Elements to Value
Include
Name Use of a quantum-vulnerable algorithm
Summary The use of a quantum-vulnerable algorithm is a risk that may result in the exposure of
sensitive information if and when a cryptographically relevant quantum computer be-
comes available.
Extended The use of a quantum-vulnerable algorithm creates a risk if a cryptographically rele-
Description vant quantum computer (CRQC) becomes available. A CRQC could threaten all public
key algorithms based in the integer factorization and (elliptic curve) discrete loga-
rithm problem and compromise whatever data has been protected. In particular, an
adversary storing encrypted data today could theoretically decrypt them later with a
CRQC. Such an attack is called harvest-now-decrypt-later, and it creates significant
risk for long-term data confidentiality. Additionally, an adversary with a CRQC could
forge signatures for quantum-vulnerable algorithms, creating risk for signatures with
a long data protection period.
Modes of In- Architecture and Design
troduction
Potential Use standardized quantum-safe asymmetric algorithms or hybrid schemes that incor-
Mitigations porate both post-quantum and traditional asymmetric algorithms.
Common Confidentiality
Conse- Technical Impact: Read Application Data
quences The confidentiality of sensitive data may be compromised by the use of a quantum-
vulnerable cryptographic algorithm.
Integrity
Elements to Value
Include
Technical Impact: Modify Application Data
The integrity of sensitive data may be compromised by the use of a quantum-vulnera-
ble cryptographic algorithm.
Accountability
Non-Repudiation
Technical Impact: Hide Activities
If the cryptographic algorithm is used to ensure the identity of the source of the data
(such as digital signatures), then the use of a quantum-vulnerable algorithm will com-
promise this scheme and the source of the data cannot be proven.
Applicable ALL
Platforms
Demonstra- N/A
tive Exam-
ples
Observed Ex- N/A
amples
Relation- N/A
ships
References The references provided were to NSA Commercial National Security Algorithm Suite
2.0 (https://media.defense.gov/2022/Sep/07/2003071834/-1/-
1/0/CSA_CNSA_2.0_ALGORITHMS_.PDF) and NIST Post-Quantum Cryptography
(https://csrc.nist.gov/projects/post-quantum-cryptography).
717 At the time of writing, the proposal has been submitted to the CWE team for feedback.
731 ▪ Phase 1 - Identify and document information assets, and their current cryptographic protection.
732 ▪ Phase 2 - Research the state of emerging quantum computers and quantum-safe cryptography.
733 Estimate the timelines for availability of these technologies. Influence the development and
734 validation of quantum-safe cryptography.
735 ▪ Phase 3 - Identify threat actors and estimate their time to access quantum technology “z”.
736 ▪ Phase 4 - Identify the lifetime of your asset’s “x”, and the time required to transform the
737 organization’s technical infrastructure to a quantum-safe state “y”.
738 ▪ Phase 5 - Determine quantum risk by calculating whether business assets will become
739 vulnerable before the organization can move to protect them. (x + y > z?)
740 Mosca’s Theorem has been applied in the report Preparing for Post-Quantum Critical Infrastructure by
741 the Rand Corporation [21]. The report performed high-level assessments of quantum vulnerabilities in
742 the 55 national critical functions (NCFs). The report found six NCFs are high priority for assistance in
743 migration, 15 are medium priority, and 34 are low priority.
764 A notable differentiator in the CAI methodology is whether a cryptographic asset is organizationally
765 developed or from a third-party vendor. In other words, an organization should incorporate the risk of
766 the continued use of third-party software in the overall risk calculation. The CAI also suggests sector-
767 specific services, such as the SWIFT banking system, are carefully considered in the migration risk
768 calculation process.
782 2. What is the system protecting (e.g., key stores, passwords, root keys, signing keys, personally
783 identifiable information, sensitive personally identifiable information)?
785 4. To what extent does the system share information with federal entities?
786 5. To what extent does the system share information with other entities outside of your organiza-
787 tion?
790 These factors are geared towards U.S. Federal Government system owners; however, they can also be
791 applied to the private sector, especially organizations that support operational critical infrastructure.
798 4 Architecture
799 The proposed project architecture is designed to align with the conceptual workflow depicted in Figure
800 2, based on lab discovery technology research and the use case described in Section 3.2.1. In Section
801 4.1, we present a systems-level view of an architecture that implements vulnerable algorithm discovery
802 in the three areas within the scope of the project – the code development pipeline, operational network
803 services and protocols, and operational systems and applications. Finally, we describe our approach to
804 normalize the output from the discovery platforms into the common format. In future versions of this
805 document, we will detail the architecture components that will ingest the normalized discovery platform
806 output and produce a prioritization list.
Component Description
Pipeline Software (CI) Pulls code from a code repository, invokes the build software, invokes test
tools, and stores tested artifacts to image registry
Pipeline Software (CD) Pulls out artifacts, packages, and deploys the package based on computing,
network, and storage resource descriptions
SDLC Software Build tools (e.g., IDEs)
Testing tools (e.g., SAST, DAST, SCA)
Repositories Source code repositories (e.g., GitHub)
Container image repositories or registries
Observability or Moni- Logging and log aggregation tools
toring Tools Tools that generate metrics
Tracing tools (sequence of application calls)
Visualization tools (combine data from above to generate dashboard/alerts)
822 Using the tools described in Table 5, we created a code development pipeline that integrates vulnerable
823 algorithm discovery at the build stage. In the first scenario, an analyst can extract data from an existing
824 codebase to create a queryable database. Once the database is created, the analyst creates and
825 executes a query that detects the usage of vulnerable algorithms in the existing codebase. The query is
826 executed from a command-line tool or an IDE plugin. The output is generated in SARIF format, described
827 in Section 4.1.4.2, where it is consumed by the enterprise visualization platform.
828 We also demonstrate two automated versions of this process by integrating the query into an existing
829 enterprise CI platform. In the first, an on-premises CI system analyzes the codebase using the command-
830 line version of the tool as part of the build process. In the second, we use the built-in automation tools
831 from a cloud-based code repository that are executed on each pull request [28]. The full code pipeline
832 with vulnerable cryptography discovery activities described above are highlighted below as static
833 application security testing in Figure 3.
848 Figure 4 describes an architecture where the discovery platform sensor output is transmitted to the
849 analysis engine.
876 The reports produced by the discovery platforms in this demonstration are unique in that they do not
877 use a common format for representing the discovery results. In a contrived example, a network
878 discovery platform may identify a host system as host.example.com:443, whereas another may
879 omit the port number (host.example.com). Therefore, we identified the need for a common format
880 to represent normalized discovery reports, ideally by leveraging existing normalization efforts to the
881 extent possible. The remainder of this section defines a preliminary version of a normalization scheme
882 across all discovery platforms that would allow an organization to make a risk decision. It does not
883 define a schema, but instead defines descriptive data elements and how they can be obtained from
884 passive network observations, active network scans, endpoint monitoring, or configuration information,
885 and how those elements can be compared.
886 In alignment with our project goal to support automation wherever feasible, the first step in our
887 normalization effort was to identify structured machine-readable report formats, such as Extensible
888 Markup Language (XML) or JavaScript Object Notation (JSON), that were supported by each discovery
889 platform. From there, we identified the application programming interface (API) calls necessary to
890 access the resulting report, if the discovery platform offered this capability. APIs are typically serviced
891 via synchronous HTTP-based request/response paradigm.
897 Next, we describe how each field’s value is populated and note other constraints that may affect the
898 translation of data presented in the discovery platform to our profile. Generally, String and Number data
899 types are as defined in RFC 8259, The JavaScript Object Notation (JSON) Data Interchange Format [29].
900 Service Names are as per RFC 6335 [30], Section 5.1, and are registered by the Internet Assigned
901 Numbers Authority (IANA); the registry can be accessed at https://www.iana.org/assignments/service-
902 names-port-numbers/service-names-port-numbers.xhtml. TLS Application Layer Protocol Negotiation
903 (ALPN) Identifiers (ID) are defined in RFC 7301 [31] and registered at
904 https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-
905 protocol-ids. CPE strings are as defined in the Common Platform Enumeration: Naming Specification,
906 Version 2.3, NIST IR 7695 [32].
908 In an IP packet containing a TLS Client Hello, the IP source address is that of the client. In an IP packet
909 containing a TLS server response, the IP source address is that of the server. A packet contains a single IP
910 address that corresponds to the client or the server.
911 In a PKIX certificate, a subjectAltName iPAddress field holds the address of the host associated
912 with the certificate. Certificates most often are associated with servers. A certificate can contain
913 multiple IP addresses.
914 A host observation of an address can contain multiple IP addresses due to multihoming.
916 In an IP packet containing a TLS Client Hello, the destination port is associated with the service. In an IP
917 packet containing a TLS server response, the source port is associated with that service.
918 The destination port is essential in identifying a server. TLS is used to protect several protocols, and
919 some protocols may appear on more than one port. For instance, the destination port 443 is registered
920 for the HTTPS protocol, but HTTPS is also used by other registered protocols, including amt-soap-https,
921 appserv-https, commtact-https, 26icros-https, llsurfup-https, oob-ws-https, oracleas-https, pcsync-
922 https, pgpkey-https, plysrv-https, sun-sr-https, sun-user-https, tungsten-https, wap-push-https, wbem-
923 exp-https, and wbem-https. Additionally, TLS is registered for use by several non-HTTPS protocols.
925 A DNS hostname is a string of labels, each containing up to 63 octets, separated by dots (the ‘.’
926 Character), with a maximum total length of 255 octets [33]. A label is a string that starts and ends with
927 an alphanumeric character and contains only alphanumeric characters and hyphens.
928 In a TLS Client Hello, the hostname of the server often appears in the Server Name extension, with the
929 NameType of HostName. RFC 6066, Section 3 [34] requires this field to contain DNS hostnames and
930 not string representations of addresses, though some clients send addresses in this field. The standard
931 requires that no more than a single hostname appears in this extension.
932 In a TLS Server Certificate, the hostname of the server often appears in the SubjectName or
933 SubjectAltName. Multiple hostnames can appear in the certificate.
935 The application layer protocol used in TLS is negotiated between the client and server. In a TLS Client
936 Hello, the ALPN field contains a list of ALPN IDs. The server response contains a single ALPN ID. Some
937 ALPN IDs are intentionally overloaded to hinder network monitoring; in particular, DNS over HTTPS
938 (DoH) uses the ALPN ID of HTTPS. Thus, active scanning obtains more accurate measurements of the
939 application layer protocols supported by a server, as compared to passive monitoring.
941 Application software can be identified by a CPE string with a “part” of “a”. On a host, identification can
942 be performed directly. On a network, it can be performed through banner scraping or behavioral
943 fingerprinting.
945 An operating system can be identified by a CPE string with a “part” of “o”. On a host, identification can
946 be performed directly. On a network, it can be performed through banner scraping or behavioral
947 fingerprinting.
949 A hardware device can be identified by a CPE string with a “part” of “h”. On a host, identification can be
950 performed directly. On a network, it can be performed through IEEE Organizational Unit Identifier (OUI)
951 reporting or behavioral fingerprinting.
952 While the CBOM object model is still in its nascent stages, it could potentially provide the necessary
953 structure and extensibility to capture the common data elements in a machine-readable format.
954 Readers of this document are encouraged to reference the CycloneDX Bill of Materials specification, as it
955 provided the basis for the CBOM structure. A CBOM defines a crypto-asset, which is a representation of
956 a BOM component type. A crypto-asset is defined by its cryptoProperties object that describes
957 predefined assetTypes. In the case of network discovery, we choose the protocol assetType which is
958 described by the tlsCipherSuites property. The tlsCipherSuites property defines the TLS cipher suites
959 supported by the TLS protocol instantiation reported by the discovery platform. Finally, we leverage the
960 properties array, a name-value store defined in the core SBOM specification, to communicate the
961 remainder of the common elements. An example follows below of a complete CBOM:
962 {
963 “bomFormat”: “CycloneDX”,
964 “components”: [
965 {
966 “bom-ref”: “oid:1.3.18.0.2.32.104”,
967 “cryptoProperties”: {
968 “assetType”: “protocol”,
969 “protocolProperties”: {
970 “tlsCipherSuites”: [
971 “TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (ecdh_x25519)”
972 ]
973 },
974 “scanner”: “product name here”
975 },
976 “name”: “tlsv12”,
977 “properties”: [
978 {
979 “name”: “internal:ipaddress”,
980 “value”: “10.10.10.10”
981 },
982 {
983 “name”: “internal:Destination Port”,
984 “value”: “443”
985 },
986 {
987 “name”: “internal:Hostname”,
988 “value”: “some.website.com”
989 },
990 {
991 “name”: “internal:Application Layer Protocol”,
992 “value”: “HTTP/2 over TLS”
993 },
994 {
995 “name”: “internal:Application”,
996 “value”: “cpe:2.3:a:google:chrome:30.0.1599.40:*:*:*:*:*:*:*”
997 },
998 {
999 “name”: “internal:Operating System”,
1000 “value”: “cpe:2.3:o:28icrosoft:windows_11:22h2:*:*:*:*:*:x64:*”
1001 },
1002 {
1003 “name”: “internal:Device Vendor”,
1004 “value”: “D0-43-1E”
1005 }
1006 ],
1007 “type”: “crypto-asset”
1008 }
1009 ],
1010 “specVersion”: “1.5”,
1011 “version”: 0
1012 }
1017 output of static analysis tools and can be used to streamline how static analysis tools share their results.
1018 In this section, we specify our profile of the run object, which describes a single run of an analysis tool
1019 and contains the output of that run. Within the run object, a tool component describes the specific
1020 tool (in the context of this project, a discovery engine) which has completed a scan. Table 7 lists the
1021 properties of the tool component.
1024 “tool”: {
1025 “driver”: {
1026 “name”: “Discovery Platform Name”,
1027 “organization”: “Company Name”,
1028 “product”: “Product Name”,
1029 “fullName”: “Product Name 1.0.0.0”,
1030 “version”: “1.0.0.0”,
1031 “semanticVersion”: “1.0.0”,
1032 “downloadUri”: “https://download.uri.contoso.com/v.1.0”,
1033 “informationUri”: “https://information.uri.contoso.com/v.1.0”,
1034 “rules”: […]
1036 The rules property encapsulates an array of zero or more reportingDescriptor objects, which
1037 contain the information describing a reporting item generated by the tool, which is either a) the result of
1038 the tool’s analysis or b) a notification encountered by the tool. Although there are many ways to define
1039 a SARIF log document, one recommended approach is to enumerate all the rules a tool has executed as
1040 a whole, even if there are no findings, then record all unique findings under the results property. This
1041 strategy will assist to identify what rules were executed but found nothing to report.
1044 “rules”: [
1045 {
1046 “id”: “sqlqvc/mssql/qvs001”,
1047 “name”: “certificate detection”,
1048 “fullDescription”: {
1049 “text”: “Full description.”
1050 },
1051 “messageStrings”: {
1052 “Default”: {
1053 “text”: “Vulnerable Algorithm: [{0}]. Certificate ID `[{1}]` with subject `{2}`, key
1054 length {3}, expiration date ‘{4}’ that is using quantum-vulnerable cryptography was detected.”
1055 }
1056 },
1057 “helpUri”: “https://www.example.com/rules/sqlqvc/mssql/ qvs001”
1058 }, … ]
1060 The results property is an array of result objects, which each represent a single result detected by the
1061 tool during a run. Following the idea of specifying all rules that were executed under the
1062 runs.tool.rules property, the properties in Table 9 are used to represent the actual findings in the
1063 tool execution.
1066 “results”: [
1067 {
1068 “ruleId”: “sqlqvc/mssql/certificates-detection”,
1069 “ruleIndex”: 0,
1070 “message”: {
1071 “id”: “Default”,
1072 “arguments”: [
1073 “rsa”,
1074 “cert_pvk_mk”,
1075 “Private Key protected by master Key”,
1076 “3072”,
1077 “2/17/2024 5:15:37 AM”
1078 ]
1079 },
1080 “locations”: [
1081 {
1082 “physicalLocation”: {
1083 “artifactLocation”: {
1084 “uri”: “sys.certificates”,
1085 “uriBaseId”: “REPO_ROOT”,
1086 “index”: 0
1087 }
1088 }
1089 }
1090 ]
1092 This section describes the recommended elements that should be included as part of the
1093 runs.tool.rules.message placeholders to describe the elements found by the tool.
1094 The custom elements listed in Table 10 allow upstream tools and aggregating tools to find and present
1095 these elements with ease within the SARIF log. For standardization purposes, we recommend publicly
1096 documenting the elements included in your tool and rules version. Table 11 adds recommended values
1097 to use when communicating the discovered vulnerable algorithm.
1100 5 Technologies
1101 5.1 Consortium Members
1102 5.1.1 Cisco
1103 Cisco Systems, or Cisco, delivers collaboration, enterprise, and industrial networking and security
1104 solutions. The company’s cybersecurity team, Cisco Secure, is one of the largest cloud and network
1105 security providers in the world. Cisco’s Talos Intelligence Group, the largest commercial threat
1106 intelligence team in the world, is comprised of world-class threat researchers, analysts, and engineers,
1107 and supported by unrivaled telemetry and sophisticated systems. The group feeds rapid and actionable
1108 threat intelligence to Cisco customers, products, and services to help identify new threats quickly and
1109 defend against them. Cisco solutions are built to work together and integrate into your environment,
1110 using the “network as a sensor” and “network as an enforcer” approach to both make your team more
1111 efficient and keep your enterprise secure.
1119 IBM’s technology contribution consists of remote access to a z/OS image of an IBM z16 Mainframe
1120 environment, a workstation server, and the software, hardware, and tools needed to demonstrate the
1121 crypto discovery capabilities in support of the discovery workstream. This system is hosted at an IBM
1122 facility with remote access from the NCCoE Laboratory over a VPN, allowing collaborators to experiment
1123 with and understand IBM technologies that discover cryptographic usage within applications (with or
1124 without source code) and network connections.
1145 Keyfactor is committed to making quantum-ready PKI, signing, and cryptography solutions accessible for
1146 all, founding and actively supporting widely adopted open-source projects, including EJBCA, SignServer,
1147 and the FIPS 140-validated Bouncy Castle Cryptography APIs. As a member of the X9 Committee,
1148 Keyfactor is an active participant in standards-setting and has incorporated PQC algorithms into the
1149 Bouncy Castle APIs and its commercial PKI and signing solutions. With quantum-ready solutions and
1150 expertise, Keyfactor is working with customers to stay resilient in the post-quantum world.
1157 industry vendors. Microsoft established the Quantum Safe Program, aiming to accelerate and advance
1158 all quantum-safe efforts across the company from both technical and business perspectives.
1168 SafeLogic is keenly interested in building and supporting next-generation cryptographic solutions that
1169 will remain secure and compliant with the advent of quantum computers and will be easy for
1170 organizations to adopt. As part of that endeavor, SafeLogic is committed to working with NIST and
1171 fellow collaborators to capture lessons learned and develop best practices for adopting post-quantum
1172 cryptography.
1195 government consumers, wolfSSL has a valid FIPS 140-2 certificate. wolfSSL supports industry standards
1196 up to the current TLS 1.3 and DTLS 1.3, offers a simple API and an OpenSSL compatibility layer, is backed
1197 by the wolfCrypt cryptography library, and provides 24x7 support and much more. wolfSSL’s products
1198 are open source, giving customers the ability to examine them.
1216 Cryptographic discovery tools may produce inventories that indicate an organization is using more
1217 quantum-vulnerable cryptography than was expected, highlighting to the organization that they need to
1218 use a risk-based approach to mitigating the risks of the use of quantum-vulnerable cryptography. Future
1219 demonstrations within this project may address one or more of the risk methodologies identified in
1220 Section 3.4.3 to support the risk-based decisions an organization needs to make to prioritize its actions
1221 to migrate to post-quantum cryptography.
1222 In the next revision of the draft document, we may broaden the scope of the project to include other
1223 discovery cases. One area that we are exploring is data-at-rest protection. When thinking of data-at-rest,
1224 the focus is primarily on the encryption algorithm, but attention must also be paid to the integrity of
1225 data-at-rest. An example is ensuring the integrity of audit records. In this case, hashes and/or digital
1226 signatures are often used to ensure that records have not been tampered with. Digital signatures will be
1227 susceptible to attack and broken by Shor’s algorithms. Example scenarios of data-at-rest protection
1228 could include database protection schemes, Secure Multipurpose Internet Mail Extensions (S/MIME),
1229 code signing, and record integrity.
1230 Finally, the project has also submitted the CWE described in Section 3.4.2 to the Federally Funded
1231 Research and Development Center (The MITRE Corporation) that maintains the CWE program for
1232 review. In the next version of this document, we hope that the submission spurs conversation in this
1233 space, and that a consensus is achieved on one or more CWEs that will benefit organizations and
1234 industry alike.
1241 [2] Barker W, Souppaya M, Newhouse W (2021) Migration to Post-Quantum Cryptography Project
1242 Description. (National Institute of Standards and Technology, Gaithersburg, MD). Available at
1243 https://csrc.nist.gov/pubs/pd/2021/08/04/migration-to-postquantum-cryptography/final
1244 [3] National Security Memorandum 10 (NSM-10) (2022) National Security Memorandum on
1245 Promoting United States Leadership in Quantum Computing While Mitigating Risks to
1246 Vulnerable Cryptographic Systems. (The White House, Washington, DC). Available at
1247 https://www.whitehouse.gov/briefing-room/statements-releases/2022/05/04/national-
1248 security-memorandum-on-promoting-united-states-leadership-in-quantum-computing-while-
1249 mitigating-risks-to-vulnerable-cryptographic-systems
1250 [4] Cybersecurity & Infrastructure Security Agency, National Security Agency, and National Institute
1251 of Standards and Technology (2023) Quantum-Readiness: Migration to Post-Quantum
1252 Cryptography. (CISA, Arlington, Virginia), August 21, 2023. Available at
1253 https://www.cisa.gov/resources-tools/resources/quantum-readiness-migration-post-quantum-
1254 cryptography
1255 [5] Office of Management and Budget (2022) Migrating to Post-Quantum Cryptography. (The White
1256 House, Washington, DC), OMB Memorandum M-23-02, November 18, 2022. Available at
1257 https://www.whitehouse.gov/wp-content/uploads/2022/11/M-23-02-M-Memo-on-Migrating-
1258 to-Post-Quantum-Cryptography.pdf
1259 [6] Souppaya M, Ogata M, Watrobski P, Scarfone K (2022) Software Supply Chain and DevOps
1260 Security Practices: Implementing a Risk-Based Approach to DevSecOps Project Description.
1261 (National Institute of Standards and Technology, Gaithersburg, MD). Available at
1262 https://www.nccoe.nist.gov/sites/default/files/2022-11/dev-sec-ops-project-description-
1263 final.pdf
1264 [7] Souppaya MP, Scarfone KA, Dodson DF (2022) Secure Software Development Framework (SSDF)
1265 Version 1.1: Recommendations for Mitigating the Risk of Software Vulnerabilities. (National
1266 Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) 800-218.
1267 https://doi.org/10.6028/NIST.SP.800-218
1268 [8] Quantum-Readiness Working Group of the Canadian Forum for Digital Infrastructure Resilience
1269 (2023) Canadian National Quantum-Readiness Best Practices and Guidelines, Version 03.
1270 Available at https://ised-isde.canada.ca/site/spectrum-management-
1271 telecommunications/sites/default/files/attachments/2023/cfdir-quantum-readiness-best-
1272 practices-v03.pdf
1273 [9] Alagic G, Apon D, Cooper DA, Dang QH, Dang T, Kelsey JM, Lichtinger J, Liu Y-K, Miller CA, Moody
1274 D, Peralta R, Perlner RA, Robinson A, Smith-Tone D (2022) Status Report on the Third Round of
1275 the NIST Post-Quantum Cryptography Standardization Process. (National Institute of Standards
1276 and Technology, Gaithersburg, MD), NIST Interagency or Internal Report (IR) NIST IR 8413-upd1,
1277 Includes updates as of September 26, 2022. https://doi.org/10.6028/NIST.IR.8413-upd1
1278 [10] Florence D (2023) Terminology for Post-Quantum Traditional Hybrid Schemes. (Internet
1279 Engineering Task Force (IETF)), Internet-Draft draft-ietf-pquip-pqt-hybrid-terminology. Available
1280 at https://datatracker.ietf.org/doc/draft-ietf-pquip-pqt-hybrid-terminology/00/
1281 [11] National Institute of Standards and Technology (2023) Module-Lattice-based Key-Encapsulation
1282 Mechanism Standard. (U.S. Department of Commerce, Washington, DC), Federal Information
1283 Processing Standards Publication (FIPS) 203 (Draft). https://doi.org/10.6028/NIST.FIPS.203.ipd
1284 [12] National Institute of Standards and Technology (2023) Module-Lattice-Based Digital Signature
1285 Standard. (U.S. Department of Commerce, Washington, DC), Federal Information Processing
1286 Standards Publication (FIPS) 204 (Draft). https://doi.org/10.6028/NIST.FIPS.204.ipd
1287 [13] National Institute of Standards and Technology (2023) Stateless Hash-Based Digital Signature
1288 Standard. (U.S. Department of Commerce, Washington, DC), Federal Information Processing
1289 Standards Publication (FIPS) 205 (Draft). https://doi.org/10.6028/NIST.FIPS.205.ipd
1290 [14] National Institute of Standards and Technology (2023) Digital Signature Standard (DSS). (U.S.
1291 Department of Commerce, Washington, DC), Federal Information Processing Standards
1292 Publication (FIPS) 186-5. https://doi.org/10.6028/NIST.FIPS.186-5
1293 [15] Barker EB, Chen L, Roginsky AL, Vassilev A, Davis R (2018) Recommendation for Pair-Wise Key-
1294 Establishment Schemes Using Discrete Logarithm Cryptography. (National Institute of Standards
1295 and Technology, Gaithersburg, MD), NIST Special Publication (SP) 800-56A, Rev. 3.
1296 https://doi.org/10.6028/NIST.SP.800-56Ar3
1298 [17] Barker EB, Chen L, Roginsky AL, Vassilev A, Davis R, Simon S (2019) Recommendation for Pair-
1299 Wise Key-Establishment Using Integer Factorization Cryptography. (National Institute of
1300 Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) 800-56B, Rev. 2.
1301 https://doi.org/10.6028/NIST.SP.800-56Br2
1302 [18] Accredited Standards Committee X9 (2022) Quantum Computing Risks to the Financial Services
1303 Industry. X9 Informative Report – X9 IR F01-2022. Available at https://x9.org/download-qc-ir/
1304 [19] MITRE (2023) Common Weakness Enumeration (CWE). Available at https://cwe.mitre.org/
1305 [20] Mosca M, Mulholland J. A Methodology for Quantum Risk Assessment. (Global Risk Institute.)
1306 Available at https://globalriskinstitute.org/mp-files/a-methodology-for-quantum-risk-
1307 assessment-pdf.pdf/
1308 [21] Vermeer MJD, Parker E, Kochhar A (2022) Preparing for Post-Quantum Critical Infrastructure:
1309 Assessments of Quantum Computing Vulnerabilities of National Critical Functions. (Homeland
1310 Security Operational Analysis Center operated by the Rand Corporation.) Available at
1311 https://www.rand.org/pubs/research_reports/RRA1367-6.html
1312 [22] Ma C, Colon L, Dera J, Rashidi B, Garg V (2021) CARAF: Crypto Agility Risk Assessment
1313 Framework. Journal of Cybersecurity, Volume 7, Issue 1, pp. 1–11.
1314 https://doi.org/10.1093/cybsec/tyab013
1315 [23] Post-Quantum Cryptography Working Group (2023) Risk Model Technical Paper. (FS-ISAC Post-
1316 Quantum Cryptography Working Group.) Available at
1317 https://www.fsisac.com/hubfs/Knowledge/PQC/RiskModel.pdf?hsLang=en
1318 [24] GSM Association (2023) Guidelines for Quantum Risk Management for Telco, Version 1.0. (GSM
1319 Association.) Available at https://www.gsma.com/aboutus/workinggroups/wp-
1320 content/uploads/2023/09/Guidelines-for-Quantum-Risk-Management-for-Telco-v1.0.pdf
1321 [25] Cybersecurity & Infrastructure Security Agency, National Security Agency, and National Institute
1322 of Standards and Technology (2023) Quantum-Readiness: Migration to Post-Quantum
1323 Cryptography. (CISA, Arlington, Virginia), August 21, 2023. Available at
1324 https://www.cisa.gov/resources-tools/resources/quantum-readiness-migration-post-quantum-
1325 cryptography
1326 [26] Lee CC, Tan TG, Sharma V, Zhou J (2021) Quantum Computing Threat Modelling on a Generic
1327 CPS Setup. Available at https://link.springer.com/chapter/10.1007/978-3-030-81645-2_11
1331 [28] Github (2023) Configuring default setup for code scanning. Available at
1332 https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-
1333 for-vulnerabilities-and-errors/configuring-code-scanning-for-a-repository#configuring-code-
1334 scanning-automatically
1335 [29] Bray T (2017) The JavaScript Object Notation (JSON) Data Interchange Format. (Internet
1336 Engineering Task Force (IETF)), IETF Request for Comments (RFC) 8259.
1337 https://doi.org/10.17487/RFC8259
1338 [30] Cotton M, Eggert L, Touch J, Westerlund M, Cheshire S (2011) Internet Assigned Numbers
1339 Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol
1340 Port Number Registry. (Internet Engineering Task Force (IETF)), IETF Request for Comments
1341 (RFC) 6335. https://doi.org/10.17487/RFC6335
1342 [31] Friedl S, Popov A, Langley A, Stephan E (2014) Transport Layer Security (TLS) Application-Layer
1343 Protocol Negotiation Extension. (Internet Engineering Task Force (IETF)), IETF Request for
1344 Comments (RFC) 7301. https://doi.org/10.17487/RFC7301
1345 [32] Cheikes BA, Waltermire DA, Scarfone KA (2011) Common Platform Enumeration: Naming
1346 Specification Version 2.3. (National Institute of Standards and Technology, Gaithersburg, MD),
1347 NIST Interagency or Internal Report (IR) 7695. https://doi.org/10.6028/NIST.IR.7695
1348 [33] Braden R (1989) Requirements for Internet Hosts – Application and Support. (Internet
1349 Engineering Task Force (IETF)), IETF Request for Comments (RFC) 1123.
1350 https://doi.org/10.17487/RFC1123
1351 [34] Eastlake D (2011) Transport Layer Security (TLS) Extensions: Extension Definitions. (Internet
1352 Engineering Task Force (IETF)), IETF Request for Comments (RFC) 6066.
1353 https://doi.org/10.17487/RFC6066
1354 [35] OASIS Static Analysis Results Interchange Format Technical Committee (2023) Static Analysis
1355 Results Interchange Format (SARIF) Version 2.1.0 Plus Errata 01. Available at https://docs.oasis-
1356 open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.pdf
1357 [36] Bassham L, Polk W, Housley R (2002) Algorithms and Identifiers for the Internet X.509 Public Key
1358 Infrastructure Certificate and Certificate Revocation List (CRL) Profile. (Internet Engineering Task
1359 Force (IETF)), IETF Request for Comments (RFC) 3279. https://doi.org/10.17487/RFC3279
1360 [37] Schaad J, Kaliski B, Housley R (2005) Additional Algorithms and Identifiers for RSA Cryptography
1361 for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List
1362 (CRL) Profile. (Internet Engineering Task Force (IETF)), IETF Request for Comments (RFC) 4055.
1363 https://doi.org/10.17487/RFC4055
1364 [38] Turner S, Brown D, Yiu K, Housley R, Polk T (2009) Elliptic Curve Cryptography Subject Public Key
1365 Information. (Internet Engineering Task Force (IETF)), IETF Request for Comments (RFC) 5480.
1366 https://doi.org/10.17487/RFC5480
1367 [39] Josefsson S, Schaad J (2018) Algorithm Identifiers for Ed25519, Ed448, X25519, and X448 for Use
1368 in the Internet X.509 Public Key Infrastructure. (Internet Engineering Task Force (IETF)), IETF
1369 Request for Comments (RFC) 8410. https://doi.org/10.17487/RFC8410
1374 Validate the discovery of quantum-vulnerable algorithms in TLS protocol version 1.2.
1375 Steps
1376 1. Configure discovery tool to scan layer 4 (transport) traffic. This process will depend on the indi-
1377 vidual discovery tool deployment methodology.
1378 2. Modify test data packet capture IP addresses as needed for target network.
1379 3. Replay TLS 1.2 test data onto network segment with deployed discovery tool using a utility such
1380 as tcpreplay.
1382 Encrypted Web traffic dataset from network monitoring and host-based monitoring across a large
1383 campus network
1385 Discovery tool detects the presence of vulnerable key exchange/agreement and authentication
1386 algorithms, with results captured in an output file and/or dashboard.
1389 Validate the discovery of quantum vulnerable algorithms in SSH protocol version 2.
1390 Steps
1391 1. Configure discovery tool to scan layer 4 (transport) traffic. This process will depend on the indi-
1392 vidual discovery tool deployment methodology.
1393 2. Modify test data packet capture IP addresses as needed for target network.
1394 3. Replay SSH 2.0 test data onto network segment with deployed discovery tool using a utility such
1395 as tcpreplay.
1397 AZSecure Data provided by AZSecure Data and the University of Arizona Artificial Intelligence Lab.
1399 Discovery tool detects the presence of vulnerable key exchange algorithms. Refer to RFC 9142, Key
1400 Exchange (KEX) Method Updates and Recommendations for Secure Shell (SSH) for existing key exchange
1401 method names with results captured in an output file and/or dashboard.
1406 Steps
1409 3. Confirm proper communication between the sensor component and back-end systems provided
1410 by the discovery tool.
1411 4. Move dataset files to the local disk of the target virtual machine.
1414 Using algorithms listed in Table 3, the following datasets are project-specific artifacts generated by the
1415 project team:
1416 • PKCS#12 keystores created via OpenSSL
1417 • Java keystores created via keytool utility
1418 • PKCS#1 keystores created via OpenSSL
1419 • PKCS#8 keystores created via OpenSSL
1420 • OpenSSH keystores created via ssh-keygen
1421 • OpenPGP keystores created via gpg
1423 Discovery tool sensor detects files from dataset, with results captured in an output file and/or
1424 dashboard.
1429 Steps
1432 3. Confirm proper communication between the sensor component and back-end systems provided
1433 by the discovery tool.
1434 4. Move dataset files to the local disk of the target virtual machine.
1439 Discovery tool sensor detects files from dataset, with results captured in an output file and/or
1440 dashboard.
1445 Steps
1457 The discovered artifacts are collected and optionally transmitted to a back-end system for review.
1460 Validate the discovery of quantum-vulnerable algorithms in executable files on Linux-based operational
1461 systems that are representative of a typical enterprise deployment.
1462 Steps
1466 Ubuntu 22.04 Server Edition image with all base services enabled.
1468 The discovered artifacts are collected and optionally transmitted to a back-end system for review.
1471 Validate the discovery of quantum-vulnerable algorithms in code that leverages cryptography in a CI/CD
1472 pipeline (IDE plugin).
1473 Steps
1474 1. Create a development project in IDE using source code from dataset.
1483 Discovery tool identifies files and lines of code that use the methods described in the test dataset and
1484 displays results within the IDE.
1487 Validate the discovery of quantum-vulnerable algorithms in code that leverages cryptography in a CI/CD
1488 pipeline (Repository).
1489 Steps
1491 2. Make a change in the codebase (e.g., add a print statement such as “hello world”).
1502 Discovery tool identifies files and lines of code that use the methods described in the test dataset and
1503 displays results within the repository console.
1508 Validate the discovery of post-quantum vulnerable algorithms in executable modules in the z/OS-based
1509 operational system.
1510 Steps
1520 Discovery feature detects use of ICSF and CPACF crypto, including engines, algorithms, and key lengths
1521 used, with results captured in SMF data sets.
1524 Validate the discovery of post-quantum vulnerable algorithms in code that leverages ICSF cryptography
1525 in COBOL application source.
1526 Steps
1538 Discovery tool identifies and reports cryptographic calls, important parameters, call line numbers, and
1539 metadata, and writes it to a file for later display or export to a CSV file.
1542 Validate the discovery of post-quantum vulnerable algorithms in code that leverages a crypto API in
1543 COBOL application source.
1544 Steps
1557 Discovery tool identifies and reports cryptographic calls, important parameters, call line numbers, and
1558 metadata, and writes it to a file for later display or export to a CSV file.
1561 Validate the discovery of post-quantum vulnerable algorithms in code that leverages cryptography in a
1562 CI/CD pipeline (IDE plugin).
1563 Steps
1575 Discovery tool identifies files and lines of code that use the methods described in the test dataset and
1576 displays results within the IDE.
1580 Steps
1598 Discovery tool can display on a dashboard and/or produce a report that identifies connections that
1599 are using vulnerable cryptography.
1603 Steps
1605 2. Take a snapshot of the certificates and keys and their related protection/authorization infor-
1606 mation stored in the RACF data base and the keys in the ICSF key data sets (CKDS, PKDS, and
1607 TKDS).
1608 3. Define a policy to identify the characteristics of the keys and certificates to be evaluated.
1609 4. Apply the policy, which will create a report that identifies keys and certificates matching the cri-
1610 teria specified in the policy.
1611 5. Review the results.