canmove, Confirmed users
937
edits
No edit summary |
|||
| Line 3: | Line 3: | ||
=Key Management= | =Key Management= | ||
# Our private key and certificate databases | # Our private key and certificate databases are hash (DBM) indexed flat files (regular files). | ||
# The private keys and secret keys are stored | # The private keys and secret keys are stored in the private key database. At Security Level 1, the operating system is restricted to a single operator mode of operation, which protects against unauthorized disclosure, modification, and substitution of the private keys and secret keys stored in the private key database. At Security Level 2, we use the discretionary access control mechanism of the operating system on the private key database to protect against unauthorized disclosure, modification, and substitution of the private keys and secret keys stored in the private key database. <div class=note>The private keys and secret keys stored in the private key database are password-encrypted using DES-EDE3 (Triple DES) to provide additional protection against unauthorized disclosure, modification, and substitution. The password-based encryption is considered by FIPS as plaintext.</div> When the private keys and secret keys reside in memory, they are protected by the OS. | ||
# The | # The X.509 v3 certificates are stored DER encoded in the certificate database. | ||
# The certificates are not encrypted, but are digitally signed by the Certification Authority (CA) that created them. | # The certificates are not encrypted, but are digitally signed by the Certification Authority (CA) that created them. | ||
# PKCS #12 (or previously known as PFX) defines a protocol for wrapping (encrypting) and unwrapping (decrypting) private key material and related certificates for import/export. | # PKCS #12 (or previously known as PFX) defines a protocol for wrapping (encrypting) and unwrapping (decrypting) private key material and related certificates for import/export. | ||
# The exported private key is encrypted with a DES-EDE3 ( | # The exported private key is encrypted with a DES-EDE3 (Triple DES) key derived from a user provided password -- see PKCS #5 below. | ||
# No passwords (e.g., the export password for PKCS #12, or the private key database password) are stored on disk in plaintext. | # No passwords (e.g., the export password for PKCS #12, or the private key database password) are stored on disk in plaintext. | ||
# PKCS #5 is used to convert a user's password to a DES-EDE3 ( | # PKCS #5 is used to convert a user's password to a DES-EDE3 (Triple DES) key that is used to encrypt a known plaintext to determine if it matches the password stored in the database, or in the case of exported private key. | ||
# Prior to exiting the Cryptographic Module, all | # Prior to exiting the Cryptographic Module, all passwords entered by users and private key (stored on disk) are zeroized from memory. | ||
# PKCS #12 can be used to archive a wrapped (encrypted) private key for recovery purposes. | # PKCS #12 can be used to archive a wrapped (encrypted) private key for recovery purposes. | ||
# Our use of DES and DES-EDE3, as called out in PKCS #12, are FIPS 46-3 validated. | # Our use of DES and DES-EDE3, as called out in PKCS #12, are FIPS 46-3 validated. | ||
# NSS's | # The NSS cryptographic module's Triple DES implementation conforms to FIPS 46-3. ( [http://csrc.nist.gov/cryptval/des/tripledesval.html TripleDES]) | ||
# NSS's SHA-1 implementation conforms to FIPS 180-2. See [http://csrc.nist.gov/cryptval/shs/shaval.htm SHS]. | # The NSS cryptographic module's SHA-1 implementation conforms to FIPS 180-2. See [http://csrc.nist.gov/cryptval/shs/shaval.htm SHS]. | ||
# NSS's DSA implementation conforms to FIPS 186-2. ([http://csrc.nist.gov/cryptval/dss/dsaval.htm DSA]) | # The NSS cryptographic module's DSA implementation conforms to FIPS 186-2. ([http://csrc.nist.gov/cryptval/dss/dsaval.htm DSA]) | ||
=Key Generation= | =Key Generation= | ||
| Line 26: | Line 25: | ||
=Key Establishment Techniques= | =Key Establishment Techniques= | ||
NSS uses the following Approved key establishment techniques listed in Annex D to FIPS PUB 140-2: | The NSS cryptographic module uses the following Approved key establishment techniques listed in Annex D to FIPS PUB 140-2: | ||
* Diffie-Hellman (key agreement, key establishment methodology provides between 80 bits and 112 bits of encryption strength) | * Diffie-Hellman (key agreement, key establishment methodology provides between 80 bits and 112 bits of encryption strength) | ||
* Key Wrapping using RSA keys (PKCS #1, key wrapping, key establishment methodology provides between 80 bits and 192 bits of encryption strength) | * Key Wrapping using RSA keys (PKCS #1, key wrapping, key establishment methodology provides between 80 bits and 192 bits of encryption strength) | ||
| Line 36: | Line 35: | ||
=Key Entry and Output Methods= | =Key Entry and Output Methods= | ||
NSS does not employ either manual or electronic key entry and output methods. | The NSS cryptographic module does not employ either manual or electronic key entry and output methods. | ||