3.2.1 Specification of Digital Signatures on Authentication Information
All changes in this version
Title
Specification of Digital Signatures on Authentication Information
Control
FIPS 201-2 requires the use of digital signatures to protect the integrity and authenticity of information stored on the PIV Card. FIPS 201-2 and SP 800-73-4 require digital signatures on the following objects stored on the PIV Card:
+ X.509 public key certificates; + the optional secure messaging card verifiable certificate (CVC); + the optional Intermediate CVC; + the CHUID; + biometric information (e.g., fingerprints); and + the SP 800-73-4 Security Object.
Approved digital signature algorithms are specified in [FIPS186] . Table 3-2 provides specific requirements for public key algorithms and key sizes, hash algorithms, and padding schemes for generating digital signatures for digitally signed information stored on the PIV Card. Agencies are cautioned that generating digital signatures with elliptic curve algorithms may initially limit interoperability.
3 3TDEA is Triple DES using Keying Option 1 from [SP800-67] , which requires that all three keys be unique (i.e., Key 1 ≠ Key 2, Key 2 ≠ Key 3, and Key 3 ≠ Key 1). Table 3-2. Signature Algorithm and Key Size Requirements for PIV Information
Public Key Algorithms and Key Sizes Hash Algorithms Padding Scheme
RSA (2048 or 3072) SHA-256 PKCS #1 v1.5 SHA-256 PSS ECDSA (Curve P-256) SHA-256 N/A ECDSA (Curve P-384) SHA-384 N/A
Note: As of January 1, 2011, only SHA-256 may be used to generate RSA signatures on PIV objects. RSA signatures may use either the PKCS #1 v1.5 padding scheme or the Probabilistic Signature Scheme (PSS) padding as defined in [PKCS1] . The PSS padding scheme object identifier (OID) is independent of the hash algorithm; the hash algorithm is specified as a parameter (for details, see [PKCS1] ).
The secure messaging CVC shall be signed using ECDSA (Curve P-256) with SHA-256 if it contains an ECDH (Curve P-256) subject public key, and shall be signed using ECDSA (Curve P-384) with SHA-384 otherwise. The Intermediate CVC shall be signed using RSA with SHA- 256 and PKCS #1 v1.5 padding.
FIPS 201-2, SP 800-73-4, and SP 800-76-2 specify formats for the CHUID, the Security Object, the biometric information, and X.509 public key certificates, which rely on OIDs to specify which signature algorithm was used to generate the digital signature. The object identifiers specified in Table 3-3 , below, must be used in FIPS 201-2 implementations to identify the signature algorithm. 4 , 5
Table 3-3. FIPS 201-2 Signature Algorithm Object Identifiers
Signature Algorithm Object Identifier (OID) RSA with SHA-1 and PKCS #1 v1.5 padding sha1WithRSAEncryption ::= {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1) 5} RSA with SHA-256 and PKCS #1 v1.5 padding sha256WithRSAEncryption ::= {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1) 11} RSA with SHA-256 and PSS padding id-RSASSA-PSS ::= {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1) 10} ECDSA with SHA-256 ecdsa-with-SHA256 ::= {iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2 (3) 2} ECDSA with SHA-384 ecdsa-with-SHA384 ::= {iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2 (3) 3}