7 Cryptographic Algorithm Validation Testing Requirements
All changes in this version
Title
Cryptographic Algorithm Validation Testing Requirements
Control
As noted in Section 4.2.2 of [FIPS201] , the PIV Card shall be validated under [FIPS140] with an overall validation of Level 2 and with Level 3 physical security. The scope of the Cryptographic Module Validation Program (CMVP) validation shall include all cryptographic operations performed over both the contact and contactless interfaces. Table 7-1 describes the Cryptographic Algorithm Validation Program (CAVP) tests that are required, at the time of publication, for each supported key and algorithm. If any changes are made to the CAVP validation requirements, the changes, along with the deadlines for conformance with these requirements, will be posted on NIST’s “Personal Identity Verification Program (NPIVP)” web page at http://csrc.nist.gov/groups/SNS/piv/npivp/index.html . 7
Terms used in this section are from the the corresponding algorithm validation list at http://csrc.nist.gov/groups/STM/cavp/validation.html .
Table 7-1. Cryptographic Algorithm Validation Program (CAVP) Validation Requirements Algorithm Required Functionality Minimum CAVP Validation Requirements
PIV Authentication key 2048-bit RSA Key Generation and Signature Generation for 2048-bit RSA with public key exponent 65 537 Key Generation: 186-2 (for revalidation scenarios only) : Key (gen)(MOD: 2048 PubKey Values: 65 537) Prerequisite: DRBG or RNG; SHS
186-4: 186-4KEY(gen) : FIPS186-4_Fixed_e (65 537) or FIPS186-4_Random_e PGM(Prime Generation Methods with supporting variables) Prerequisites: DRBG or RNG; SHS
Signature Generation: RSASP1 component: (Mod2048) ECDSA (Curve P-256) Key Generation and Signature Generation for Curve P-256 Key Generation: 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG
186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG
Signature Generation: ECDSA Signature Generation component: CURVE(P-256 tested with input length 256 bits) Prerequisites: DRBG or RNG
7 Many cryptographic operations listed in Table 7-1 require the use of a random bit generator (those operations that include a prerequisite of “ DRBG or RNG ”). Please refer to [SP800-131A] for more information about approved random bit generators. Algorithm Required Functionality Minimum CAVP Validation Requirements
asymmetric Card Authentication key 2048-bit RSA Signature Generation for 2048-bit RSA Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : Key (gen)(MOD: 2048 PubKey Values: 65 537) Prerequisite: DRBG or RNG; SHS
186-4: 186-4KEY(gen) : FIPS186-4_Fixed_e (65 537) or FIPS186-4_Random_e PGM(Prime Generation Methods with supporting variables) Prerequisites: DRBG or RNG; SHS
Signature Generation: RSASP1 component: (Mod2048) ECDSA (Curve P-256) Signature Generation for Curve P-256 Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG
186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG
Signature Generation: ECDSA Signature Generation component: CURVE(P-256 tested with input length 256 bits) Prerequisites: DRBG or RNG symmetric Card Authentication key 3TDEA Encryption and Decryption for 3TDEA TECB ( e/d; KO 1 )
AES-128 Encryption and Decryption for AES-128 ECB ( e/d; 128 )
AES-192 Encryption and Decryption for AES-192 ECB ( e/d; 192 )
AES-256 Encryption and Decryption for AES-256 ECB ( e/d; 256 ) Algorithm Required Functionality Minimum CAVP Validation Requirements
digital signature key 2048-bit RSA Key Generation and Signature Generation for 2048-bit RSA with public key exponent 65 537 Key Generation: 186-2 (for revalidation scenarios only) : Key (gen)(MOD: 2048 PubKey Values: 65 537) Prerequisite: DRBG or RNG; SHS
186-4: 186-4KEY(gen) : FIPS186-4_Fixed_e (65 537) or FIPS186-4_Random_e PGM(Prime Generation Methods with supporting variables) Prerequisites: DRBG or RNG; SHS
Signature Generation: RSASP1 component: (Mod2048) ECDSA (Curve P-256) Key Generation and Signature Generation for Curve P-256 Key Generation: 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG
186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG
Signature Generation: ECDSA Signature Generation component: CURVE(P-256 tested with input length 256 bits) Prerequisites: DRBG or RNG ECDSA (Curve P-384) Key Generation and Signature Generation for Curve P-384 Key Generation: 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-384) Prerequisites: DRBG or RNG
186-4: PKG (Public Key Generation): CURVE(P-384 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG
Signature Generation: ECDSA Signature Generation component: CURVE(P-384 tested with input length 384 bits) Prerequisites: DRBG or RNG Algorithm Required Functionality Minimum CAVP Validation Requirements
key management key 2048-bit RSA 2048-bit RSA Key Transport Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : Key (gen)(MOD: 2048 PubKey Values: 65 537) Prerequisite: DRBG or RNG; SHS
186-4: 186-4KEY(gen) : FIPS186-4_Fixed_e (65 537) or FIPS186-4_Random_e PGM(Prime Generation Methods with supporting variables) Prerequisites: DRBG or RNG; SHS
Key Transport: SP 800-56B RSADP component ECDH (Curve P-256) Key Agreement for Curve P-256 Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG
186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG
Key Agreement: SP 800-56A Section 5.7.1.2 ECC CDH primitive component: CURVE(P-256) ECDH (Curve P-384) Key Agreement for Curve P-384 Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-384) Prerequisites: DRBG or RNG
186-4: PKG (Public Key Generation): CURVE(P-384 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG
Key Agreement: SP 800-56A Section 5.7.1.2 ECC CDH primitive component: CURVE(P-384) PIV Card Application Administration Key 3TDEA Encryption and Decryption for 3TDEA TECB ( e/d; KO 1 )
AES-128 Encryption and Decryption for AES-128 ECB ( e/d; 128 )
AES-192 Encryption and Decryption for AES-192 ECB ( e/d; 192 )
AES-256 Encryption and Decryption for AES-256 ECB ( e/d; 256 ) Algorithm Required Functionality Minimum CAVP Validation Requirements
PIV Secure Messaging key Cipher Suite 2 Key Generation for Curve P-256
C(1e, 1s, ECC CDH) with Curve P-256
CMAC with AES-128
Encryption and Decryption for AES CBC 128 Key Generation (of card’s static ECDH key) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG 186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG ECC: SCHEME[ OnePassDH ( KC <KARole: Responder > < KCRole: Provider > < KCType: Unilateral > < KDF: Concat > ) ( EC: P-256 (SHA256 CMAC_AES128) ) ] Prerequisite: DRBG or RNG; SHS AES CMAC (Generation/Verification) (KS: 128; Block Size(s): Full / Partial; Msg Len(s) Min: 32 Max: 12 745 ; Tag Length(s): 16 ) AES CBC ( e/d; 128 )
Cipher Suite 7 Key Generation for Curve P-384
C(1e, 1s, ECC CDH) with Curve P-384
CMAC with AES-256
Encryption and Decryption for AES CBC 256 Key Generation (of card’s static ECDH key) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-384) Prerequisites: DRBG or RNG 186-4: PKG (Public Key Generation): CURVE(P-384 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG ECC: SCHEME[ OnePassDH ( KC <KARole: Responder > < KCRole: Provider > < KCType: Unilateral > < KDF: Concat > ) ( ED: P-384 (SHA384 CMAC_AES256) ) ] Prerequisite: DRBG or RNG; SHS AES CMAC (Generation/Verification) (KS: 256; Block Size(s): Full / Partial; Msg Len(s) Min: 32 Max: 12 745 ; Tag Length(s): 16 ) AES CBC ( e/d; 256 ) Appendix A—Acronyms
The following abbreviations and acronyms are used in this standard:
3TDEA Three key TDEA (TDEA with Keying Option 1 [SP800-67] ) AES Advanced Encryption Standard [FIPS197] CA Certification Authority CAVP Cryptographic Algorithm Validation Program CBC Cipher Block Chaining CBEFF Common Biometric Exchange Formats Framework CDH Cofactor Diffie-Hellman CHUID Card Holder Unique Identifier CMAC Cipher-Based Message Authentication Code CMVP Cryptographic Module Validation Program CRL Certificate Revocation List CVC Card Verifiable Certificate DES Data Encryption Standard DRBG Deterministic Random Bit Generator ECB Electronic Codebook ECC Elliptic Curve Cryptography ECDH Elliptic Curve Diffie-Hellman ECDSA Elliptic Curve Digital Signature Algorithm FIPS Federal Information Processing Standards FISMA Federal Information Security Management Act ICAO International Civil Aviation Organization ITL Information Technology Laboratory NIST National Institute of Standards and Technology OCSP Online Certificate Status Protocol OID Object Identifier OMB Office of Management and Budget PIV Personal Identity Verification PKCS Public-Key Cryptography Standards PKI Public Key Infrastructure PSS Probabilistic Signature Scheme RNG Random Number Generator RSA Rivest, Shamir, Adleman cryptographic algorithm SHA Secure Hash Algorithm SHS Secure Hash Standard SP Special Publication TDEA Triple Data Encryption Algorithm; Triple DEA TECB TDEA Electronic Codebook Appendix B—References
[FIPS140] Federal Information Processing Standard 140-2, Security Requirements for Cryptographic Modules , May 25, 2001. http://csrc.nist.gov/publications/ .
[FIPS186] Federal Information Processing Standard 186-4, Digital Signature Standard (DSS) , July 2013. http://dx.doi.org/10.6028/NIST.FIPS.186-4 .
[FIPS197] Federal Information Processing Standard 197, Advanced Encryption Standard (AES) , November 2001. http://csrc.nist.gov/publications/ .
[FIPS201] Federal Information Processing Standard 201-2, Personal Identity Verification (PIV) of Federal Employees and Contractors , August 2013. http://dx.doi.org/10.6028/NIST.FIPS.201-2 .
[MRTD] ICAO Doc 9303, Machine Readable Travel Documents, Part 3: Machine Readable Official Travel Documents, Volume 2: Specifications for Electronically Enabled MRtds with Biometric Identification Capability, 3rd edition, International Civil Aviation Organization: Montreal, Quebec, Canada, 2008. http://www.icao.int/publications/pages/publication.aspx?docnum=9303 .
[PKCS1] Jakob Jonsson and Burt Kaliski, PKCS #1: RSA Cryptography Specifications Version 2.1 , RFC 3447, February 2003. http://www.rfc-editor.org/info/rfc3447 .
[SP800-56A] NIST Special Publication 800-56A Revision 2, Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography , May 2013. http://dx.doi.org/10.6028/NIST.SP.800-56Ar2 .
[SP800-56B] NIST Special Publication 800-56B Revision 1, Recommendation for Pair-Wise Key-Establishment Schemes Using Integer Factorization Cryptography , September 2014. http://dx.doi.org/10.6028/NIST.SP.800-56Br1 .
[SP800-57(1)] NIST Special Publication 800-57 , Recommendation for Key Management – Part 1: General (Revision 3) , July 2012. http://csrc.nist.gov/publications/ .
[SP800-67] NIST Special Publication 800-67 Revision 1, Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher , January 2012. http://csrc.nist.gov/publications/ .
[SP800-73] NIST Special Publication 800-73-4, Interfaces for Personal Identity Verification , May 2015. http://dx.doi.org/10.6028/NIST.SP.800-73-4 .
[SP800-76] NIST Special Publication 800-76-2, Biometric Specifications for Personal Identity Verification , July 2013. http://dx.doi.org/10.6028/NIST.SP.800-76-2 .
[SP800-131A] NIST Special Publication 800-131A, Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths , January 2011. http://csrc.nist.gov/publications/ .