Inside the World of Cryptographic Algorithm Validation Testing. Sharon Keller CAVP Program Manager NIST ICMC, May 2016

Similar documents
Cryptographic Algorithm Validation Program:

Satisfying CC Cryptography Requirements through CAVP/CMVP Certifications. International Crypto Module Conference May 19, 2017

Silent Circle Mobile Application Cryptographic Module

FIPS Non-Proprietary Security Policy. Cotap Cryptographic Module. Software Version 1.0. Document Version 1.4.

UNCLASSIFIED INFORMATION TECHNOLOGY SECURITY GUIDANCE

NIAP Update. Dianne Hale National Information Assurance Partnership

FIPS Non-Proprietary Security Policy. Level 1 Validation Version 1.2

Juniper Networks Pulse Cryptographic Module. FIPS Level 1 Security Policy Version: 1.0 Last Updated: July 19, 2013

Commonly Accepted Keys and CSPs Initiative. International Cryptographic Module Conference (ICMC) Friday November 6 th, 2015

Dell SonicWALL. NSA 220, NSA 220W and NSA 240. FIPS Non-Proprietary Security Policy

Symantec Corporation

Acronyms. International Organization for Standardization International Telecommunication Union ITU Telecommunication Standardization Sector

Elaine Barker and Allen Roginsky NIST June 29, 2010

FIPS Security Policy

NIST Cryptographic Toolkit

Hewlett-Packard Development Company, L.P. NonStop Volume Level Encryption (NSVLE) Product No: T0867 SW Version: 2.0

Samsung FIPS BC for Mobile Phone and Tablet FIPS Security Policy

Dell Software, Inc. Dell SonicWALL NSA Series SM 9600, SM 9400, SM 9200, NSA FIPS Non-Proprietary Security Policy

IOS Common Cryptographic Module (IC2M)

This Security Policy describes how this module complies with the eleven sections of the Standard:

Cryptography and the Common Criteria (ISO/IEC 15408) by Kirill Sinitski

Oracle Solaris Kernel Cryptographic Framework Software Version 1.0 and 1.1

FIPS Non-Proprietary Security Policy. Acme Packet FIPS Level 2 Validation. Hardware Version: Firmware Version: E-CZ8.0.

Tabular Presentation of the

Acme Packet VME. FIPS Level 1 Validation. Software Version: E-CZ Date: July 20, 2018

FIPS Security Policy

Usage of SP800-56A in Industry Standard Protocols

Imprivata FIPS Cryptographic Module Non-Proprietary Security Policy Version: 2.9 Date: August 10, 2016

Cisco VPN 3002 Hardware Client Security Policy

FIPS Security Level 2 Policy LX-4000T Series Console Servers

Oracle Solaris Userland Cryptographic Framework Software Version 1.0 and 1.1

VMware, Inc. VMware Horizon JCE (Java Cryptographic Extension) Module

What is Suite B? How does it relate to Government Certifications?

Certicom Security for Government Suppliers developing products to meet the US Government FIPS security requirement

Apple Inc. Apple OS X CoreCrypto Kernel Module, v5.0 FIPS Non-Proprietary Security Policy

Juniper Network Connect Cryptographic Module Version 2.0 Security Policy Document Version 1.0. Juniper Networks, Inc.

1 INTRODUCTION CRYPTOGRAPHIC MODULE SPECIFICATION... 9

Acme Packet 3820 and Acme Packet 4500

FIPS Crypto In the IoT. Chris Conlon ICMC17, May 16-19, 2017 Westin Arlington Gateway Washington DC

FireEye CM Series: CM-4400, CM-7400, CM-9400

Assurance Activity Report (IVPNCPP14) for Aruba, a Hewlett Packard Enterprise company Virtual Intranet Access (VIA) Client version 3.

FIPS Compliance of Industry Protocols in Edward Morris September 25, 2013

Crypto Catalog. Version: National Information Assurance Partnership

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

FireEye HX Series: HX 4400, HX 4400D, HX 4402, HX 9402

Cambium Networks Ltd PTP 700 Point to Point Wireless Ethernet Bridge Non-Proprietary FIPS Cryptographic Module Security Policy

Certification Report

Slides by Kent Seamons and Tim van der Horst Last Updated: Oct 7, 2013

The Keyed-Hash Message Authentication Code Validation System (HMACVS)

Certification Report

RSA BSAFE Crypto-C Micro Edition Security Policy

FIPS Security Policy. for Marvell Semiconductor, Inc. Solaris 2 Cryptographic Module

Enhanced Bandwidth Efficient Modem (EBEM) Cryptographic Module Non-Proprietary Security Policy

Lexmark PrintCryption TM (Firmware Version 1.3.1)

FIPS Validation Certificate

Extended Package for Secure Shell (SSH) Version: National Information Assurance Partnership

Forcepoint LLC. Forcepoint Sidewinder Module version: 8.3.2, firmware version: 8.3.2P07 with patch 8.3.2E106

ARX (Algorithmic Research) PrivateServer Hardware version 4.7 Firmware version 4.8.1

FireEye NX Series: NX-900, NX1400, NX-2400, NX-4400, NX4420, NX-7400, NX-7420, NX7500, NX-10000, NX-9450, NX10450

Non-Proprietary Security Policy Version 1.1

RFS7000 SERIES Wireless Controller. FIPS Cryptographic Module Security Policy

Assurance Activity Report

SP Reviewing The Standard. Stephan Müller atsec information security GmbH

SUSE Linux Enterprise Server 12 libgcrypt Cryptographic Module version 1.0. FIPS Non-Proprietary Security Policy

Assurance Activity Report for SecuSUITE Client v3.0 and Vodafone Secure Call Client v3.0

Route1 FIPS Cryptographic Module

Symantec Corporation Symantec Cryptographic Module Software Version: 1.1. FIPS Non-Proprietary Security Policy

Protection Profile Summary

Internet Engineering Task Force (IETF) Request for Comments: 7192 Category: Standards Track April 2014 ISSN:

WatchKey USB Token Cryptographic Module Model Number: K6 Smart Card Chip: Z32L256D32U PCB: K003010A Firmware Version: 360C6702

FEITIAN Technologies Company, LTD epass Token Hardware Version: FIPS Non-Proprietary Security Policy

SMPTE Standards Transition Issues for NIST/FIPS Requirements

COMMON CRITERIA CERTIFICATION REPORT

Oracle Linux 7 OpenSSH Server Cryptographic Module

Oracle Linux 6 NSS Cryptographic Module

Hitachi Virtual Storage Platform (VSP) Encryption Board. FIPS Non-Proprietary Cryptographic Module Security Policy

Oracle Linux 6 OpenSSH Server Cryptographic Module

RSA BSAFE Crypto-J JSAFE and JCE Software Module Security Policy Level 2 Roles, Services and Authentication

Introduction to FIPS ICMC Steve Weingart. Principal Consultant, CISA, CRISC, TX PI

Hughes Network Systems, LLC Hughes Crypto Kernel Firmware Version: FIPS Non-Proprietary Security Policy

WatchKey ProX USB Token Cryptographic Module Hardware Version: K023314A Firmware Version:

Protection Profile for Hardcopy Devices v1.0 Errata #1, June 2017

FDE itc: Encryption Engine (EE) cpp Functional and Assurance Requirements

PKI Knowledge Dissemination Program. PKI Standards. Dr. Balaji Rajendran Centre for Development of Advanced Computing (C-DAC) Bangalore

Motorola PTP 800 Series CMU Cryptographic Module Security Policy

Enova X-Wall MX+ Frequently Asked Questions FAQs Ver 1.0

FIPS Cryptographic Module Security Policy Entrust Authority Security Toolkit for the Java Platform

Motorola PTP 600 Series Point to Point Wireless Ethernet Bridges

NXP Semiconductors JCOP 3 SecID P60 OSA FIPS Cryptographic Module Non Proprietary Security Policy

Supporting Document Mandatory Technical Document. Full Drive Encryption: Encryption Engine. September Version 1.

Key Management Interoperability Protocol Crypto Profile Version 1.0

Seagate Secure TCG Enterprise SSC Pulsar.2 Self-Encrypting Drive FIPS 140 Module Security Policy

Microsoft Windows Server 2008 R2 Cryptographic Primitives Library (bcryptprimitives.dll) Security Policy Document

BCM58100B0 Series: BCM58101B0, BCM58102B0, BCM58103B0 Cryptographic Module VC0 Non-Proprietary Security Policy Document Version 0.

VMware OpenSSL FIPS Object Module

Security Requirements of FIPS PUB 140 & Reconfigurable Hardware. G. Bertoni Politecnico di Milano

Cisco Systems 5760 Wireless LAN Controller

Assurance Activity Report for Secusmart SecuSUITE SIP Server v1.0

Specifications of Cryptographic Algorithm Implementation Testing Message Authentication

Supporting Document Mandatory Technical Document. Full Drive Encryption: Authorization Acquisition. January Version 1.

Transcription:

Inside the World of Cryptographic Algorithm Validation Testing Sharon Keller CAVP Program Manager NIST ICMC, May 2016

Mission To provide federal agencies in the United States and Canada with assurance that a cryptographic algorithm has been implemented according to the specifications in the applicable standard.

History Established in 2003 by NIST and the Communications Security Establishment (CSE) of Canada as a separate program from the CMVP. Cryptographic algorithm validations are a prerequisite to cryptographic module validations.

Determining Algorithms to be validated NIST s Cryptographic Technology Group s Role Determine which cryptographic algorithms become recommendations and standards. Analyze the algorithm and finalize the specifications for the algorithm

Determining Algorithms to be validated CAVP develops validation test suites for approved cryptographic algorithms and their complete functions defined in applicable FIPS or NIST Recommendations (published as NIST Special Publication).

Testing Philosophy Validation test suites are designed to test all specifications (addressable at the algorithm level) within a complete standard or a complete function within that standard The complete algorithm implementation must be contained within a single cryptographic algorithm boundary

Philosophy Speedbump But situations exist where a complete implementation or function (as specified in the standard) isn t implemented within one boundary. Example: PIV cards Limited processing Limited memory Could not fit a complete algorithm or function (as specified in the standard) on the card (or in a single boundary) Some of algorithm on PIV card, some on reader, some on PC

Philosophy update: Component testing Better to test something instead of nothing at all. Introduced in 2011 Provides assurance of the individual components of an algorithm when the complete algorithm or function isn t contained in a single boundary. Testing components of a standard - a function or part in a standard not a mathematical function. If there is a need for a component test, contact me to get it added.

Component testing Example: ECDSA Signature Generation function Steps in function: Hash message Sign hash On a PIV card: Hashing of message done off card Signature of hash done on card Created ECDSA Signature Generation Component that takes a hash-length input and signs it.

CAVP Validation Testing Complete Algorithms and Components Currently Available Symmetric Algorithms AES (FIPS 197) Triple DES (ANSI X9.52-1998) Modes of Operation CMAC (SP 800-38B) CCM (SP 800-38C) GCM/GMAC(SP 800-38D) XTS-AES(SP 800-38E) Methods for Key Wrapping (SP800-38F) Testing of Components All SP 800-56A except KDF SP800-56A ECCCDH Primitive RSASP1 - Mod Exp for Sig Gen (PKCS1.5 and PKCS-PSS) RSADP - Basic Decrypt Operation KDFs in SP800-135-IKE, TLS, SSH, SNMP ECDSA Sign Gen Component (excludes hash) Asymmetric algorithms Both FIPS 186-4 and Legacy functions of 186-2 DSA ECDSA RSA SHS (FIPS 180-4) SHA-3 (FIPS 202) DRBG (SP 800-90A) Key Agreement Schemes (SP 800-56A) HMAC (FIPS 198) SP800-108 KDF

How Component testing is used CMVP requires all applicable components to be tested by CAVP for a specific algorithm Example 1: Module includes implementation of SP800-56A. This implementation uses the TLS KDF from SP800-135. The vendor would need to supply 2 validated component tests (CVL) : All SP 800-56A except KDF TLS KDF in SP800-135 Example 2: Module includes ECDSA Signature Generation but the implementation is not contained within one algorithm boundary The vendor would need to supply 2 algorithm validation tests to validate: SHA validation Component test for ECDSA Signature Generation Component

Development Process Review the requirements and algorithmic specifications in the cryptographic algorithm documents (SP, FIPS) Identify the algorithm s: Components Functionality Mathematical formulas

Development Process Develop and implement the algorithm validation test suite Identify the requirements addressable at the CAVP level Develop the test metrics for testing the algorithm Exercise all mathematical elements of the algorithm Assure the specifications in the standard have been implemented correctly If deviates, validation test will fail indicating implementation flaw

Development Process Develop User Documentation and Guidance Validation System Document (VS) Documents test suite Provides instructions on implementing validation tests CAVP Frequently Asked Questions (FAQ) document Provide guidance on General algorithm issues Specific algorithm questions o Algorithm interpretation o Validation tests o Special cases o Etc.

Development Process Manage Validation Information CAVP Validation Database development Automation of data entry Automation of webpage production CAVP Validation Database features Table for every algorithm Report production

Types of validation tests Known Answer Tests (KAT) Designed to verify the components of algorithms (Sboxes, permutation tables, etc)

Types of validation tests Multi-block Message Test (MMT) Designed to test the ability of the implementation to process multiblock messages, which may require chaining of information from one block to the next The test supplies the IUT with messages that are integral numbers of blocks in length

Types of validation tests Monte Carlo Test (MCT) Designed to exercise entire implementation. Purpose: to detect the presence of flaws in the IUT that were not detected with controlled input of KATs

Types of validation tests Positive testing The testing process where the implementation is validated against valid input data. In this testing, only valid sets of values are supplied and the results are checked to see if the expected results are generated. Goal: to prove that a given implementation has adhered to the specifications and requirements in the standard Used for PQG generation, signature generation, etc. where some values are given and the IUT has to compute the answer.

Types of validation tests Negative testing The testing process where the implementation is validated against invalid input data. A negative test checks if an implementation behaves as expected with its negative inputs. Goal: to test the ability of the IUT to recognize valid and invalid values. Usually used for PQG Verification, Signature Verification, etc. where all values are provided and the IUT is verifying the correct result is achieved. Errors are introduced into the different parameters to assure the IUT can recognize the errors

Example of test suites and tests used AES Known Answer Tests GFSbox KeySbox Variable Key Variable Text Multi-block Message Test Monte Carlo Test

Example of test suites and tests used RSA Key Generation Positive testing Signature Generation Positive testing Signature Verification Negative testing

Example of test suites and tests used SHA-3 Options tested SHA3-224, 256, 384, 512 Bit or Byte Orientation Support zero length messages or not Test suite: Short Messages Test Selected Long Messages Test Monte Carlo Test

CAVP Test and Validation NVLAP Accredited FIPS 140-2 CST Lab 2. Lab generates algorithm test vectors Algorithm Validation Testing and Report Generation (via CAVS tool) 1. Vendor selects a lab; Submits algorithm implementations for testing 3. Either lab tests algorithm implementation in-house or lab sends test vectors to vendor to test. 4. Lab verifies results of validation tests; 5. Algorithm Test Report to CAVP for review Cryptographic Algorithm Vendor CAVP performs.testing and Implementation Guidance.Report Review CAVP Algorithm validation entries at http://csrc.nist. gov/groups/stm/cavp/validation. html List of Validated Algorithm Implementations- Separate List for each algorithm 6. Reviews validation request; Accepts or rejects Algorithm Validation 24

Test Suites in Progress SP 800-56C Key Derivation through Extraction-then- Expansion SP 800-132 Password-Based Key Derivation Part 1: Storage Applications Adding SHA-3 to HMAC, DSA, ECDSA, RSA, KAS

Future Algorithm Testing SP800-38G Methods for Format- Preserving Encryption SP 800-56B (Rev 1): Key Agreement Schemes with RSA June 2014 SP 800-106 Randomized Hashing for Digital Signatures SP800-38A Addendum Block Cipher Mode 3 variants of CT Stealing for CBC Mode SP800-56A (Rev 2) Key Agreement Schemes with DSA and ECDSA SP800-90A (Rev 1)DRBG

Future Algorithm Testing (In Draft) SP800-90B Draft : Entropy Sources SP800-90C Draft: construction of RBGS

Questions?? Sharon Keller CAVP Program Manager NIST sharon.keller@nist.gov (301)975-2910