National Institute of Standards and Technology


Derived Test Requirements
for FIPS PUB 140-1,
Security Requirements for Cryptographic Modules


PART 3
(Sections 8-11)

March 1995
Final

Part 1 (sections 1-4)

Part 2 (sections 5-7)

Appendix A


8. CRYPTOGRAPHIC KEY MANAGEMENT

General

AS08.01: Documentation shall specify all aspects of key management for the cryptographic module. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS08.02: Secret keys and private keys shall be protected from unauthorized disclosure, modification and substitution. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS08.03: Public keys shall be protected against unauthorized modification and substitution. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


Key Generation

AS08.04: A cryptographic module may optionally implement an internal key generation function. The module shall implement a FIPS-approved key generation algorithm. Documentation shall specify the FIPS-approved key generation algorithm that is implemented by the module. (1, 2, 3, and 4)

(Relevant Guidance:  8.1 )

Required Vendor Information

Required Test Procedures


AS08.05: When a random number generator is used in the key generation process, all values shall be generated randomly or pseudo-randomly such that all possible combinations of bits and all possible values are equally likely to be generated. (1, 2, 3, and 4)

(Relevant Guidance:  8.5 )

Required Vendor Information

Required Test Procedures


AS08.06: A seed key, if used, shall be entered in the same manner as cryptographic keys. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS08.07: Intermediate key generation states and values shall not be accessible outside of the module in plaintext or otherwise unprotected form. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


Key Distribution

AS08.08: Key distribution may be performed by manual methods, automated methods, or a combination of automated and manual methods. A cryptographic module shall implement FIPS-approved key distribution techniques (e.g., FIPS 171--Key Management Using ANSI X9.17). Until such time as a FIPS-approved public key-based key distribution technique is established, commercially available public key methods may be used. Documentation shall specify the key distribution techniques that are implemented by the module. (1, 2, 3, and 4)

(Relevant Guidance:  8.1 , 8.2 , 8.4  )

Required Vendor Information

Required Test Procedures


Key Entry and Output

AS08.09: Manually distributed cryptographic keys may be entered into or output from a cryptographic module either by purely manual methods or by electronic methods. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS08.10: Electronically distributed secret and private keys shall be entered and output in encrypted form. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS08.11: Manually entered cryptographic keys shall be verified during entry into a cryptographic module for accuracy using the manual key entry test specified in section 4.11.2. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS08.12: During key entry, keys and key components may be temporarily displayed to allow visual verification and to improve accuracy. When encrypted keys or key components are entered, the resulting plaintext secret or private keys shall not be displayed. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS08.13: A means shall be provided to ensure that a key entered into or output from a module is associated with the correct entities (i.e., person, group, or process) to which the key is assigned. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS08.14: For security levels 1 and 2, when manually distributed secret keys or private keys are entered into or output from a cryptographic module, they may be entered or output as plaintext keys. Optionally, the keys may be entered or output either as follows: (1 and 2)

 

  1. In encrypted form
  2. Under split knowledge procedures

Required Vendor Information

Required Test Procedures


AS08.15: For Security Levels 3 and 4, manually distributed secret keys or private keys shall not be entered into or output from a cryptographic module in plaintext form. When manually distributed, secret keys or private keys are entered into or output from a cryptographic module, they shall be output or entered in either of the following ways: (3 and 4)

 

  1. In encrypted form
  2. Using split knowledge procedures (i.e., as two or more plaintext key components)
(Relevant Guidance:  8.3 , )

Required Vendor Information

Required Test Procedures


AS08.16: When a manually distributed secret key or private key is entered or output under split knowledge procedures, the module shall provide the capability to separately authenticate the operator for each key component. Furthermore, the key components shall be entered directly into the cryptographic module or output directly from the cryptographic module (e.g., via a trusted path or directly attached cable) without traveling through any enclosing or intervening systems where the components could be stored, combined, or otherwise processed. (3 and 4) A related assertion is AS02.14.

(Relevant Guidance:  8.3 , )

Required Vendor Information

Required Test Procedures


Key Storage

AS08.17: When contained within a cryptographic module, secret and private keys may be stored in plaintext form. These plaintext keys shall not be accessible from outside the module. This assertion is related to assertion AS08.02. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS08.18: A means shall be provided to ensure that all keys are associated with the correct entities (i.e., person, group, or process) to which the keys are assigned. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


Key Destruction

AS08.19: A cryptographic module shall provide the capability to zeroize all plaintext cryptographic keys and other unprotected critical security parameters within the module. Zeroization of cryptographic keys and other critical security parameters is not required if the keys and parameters are either encrypted or otherwise physically or logically protected (e.g., contained within an additional embedded FIPS PUB 140-1 cryptographic module. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


Key Archiving

AS08.20: A cryptographic module optionally may output keys for archiving purposes. Key outputs for archiving shall be encrypted. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


9. CRYPTOGRAPHIC ALGORITHMS

AS09.01: Cryptographic modules shall employ FIPS-approved cryptographic algorithms. (1, 2, 3, and 4)

(Relevant Guidance:  8.5, 9.1 , 9.2 , 9.3, 9.4 )

Required Vendor Information

Required Test Procedures


10. ELECTROMAGNETIC INTERFERENCE/ELECTROMAGNETIC COMPATIBILITY (EMI/EMC)

AS10.01: Radios shall meet all applicable FCC requirements. (1, 2, 3, and 4)

(Relevant Guidance:  10.1  )

Required Vendor Information

Required Test Procedures


AS10.02: A cryptographic module shall conform to the EMI/EMC requirements specified in FCC Part 15, Subpart J, Class A (i.e., for business use). (1 and 2)

(Relevant Guidance:  10.1  )

Required Vendor Information

Required Test Procedures


AS10.03: A cryptographic module shall conform to the EMI/EMC requirements specified in FCC Part 15, Subpart J, Class B (i.e., for home use). (3 and 4)

(Relevant Guidance:  10.1  )

Required Vendor Information

Required Test Procedures


11. SELF-TESTS

11.1 General

AS11.01: A cryptographic module shall be able to perform self-tests in order to ensure that the module is functioning properly. Certain self-tests shall be performed when the module is powered up (i.e., Power-Up Tests) and other self-tests shall be performed under various conditions, typically when a particular function or operation is performed (i.e., Conditional Tests). A module may optionally perform other self-tests in addition to the tests specified in this standard. (1, 2, 3, and 4)

(Relevant Guidance:   3.1 ,  )

Required Vendor Information

Required Test Procedures


AS11.02: Whenever a cryptographic module fails a self-test, the module shall enter an error state and output an error indicator via the status interface. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS11.03: The module shall not perform any cryptographic functions while in the error state and no data shall be output via the data output interface while the error condition exists. Related assertions are AS02.04 and AS04.07. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS11.04: Each possible error condition shall be documented along with the actions necessary to clear the error and resume normal operation (possibly including maintenance, servicing or repair of the module). (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


11.2. Power-Up Tests

General

AS11.05: After a cryptographic module is powered up, the module shall enter the self-test state and perform at least the following tests: cryptographic algorithm test, software/firmware test, critical functions test and statistical random number generator tests. The module may optionally perform additional tests. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS11.06: The power-up tests shall not require operator intervention in order to run. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS11.07: If all of the power-up tests are passed successfully, such an indication shall be output via the "status output" interface. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS11.08: All data output shall be inhibited when these tests are performed. A related assertion is AS02.04. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS11.09: The module shall provide a means to initiate the tests on demand for periodic testing of the module. (1, 2, 3, and 4)

(Relevant Guidance:  11.1  )

Required Vendor Information

Required Test Procedures


Cryptographic algorithm test

AS11.10: The cryptographic algorithms shall be tested by operating the algorithm on data for which the correct output is already known (i.e., a "known answer" test). The test is passed if the calculated output equals the previously generated output. (1, 2, 3, and 4)

(Relevant Guidance:  11.2  )

Required Vendor Information

Required Test Procedures


AS11.11: A known answer test shall be run for each cryptographic function (e.g., encryption, decryption, authentication) that is implemented. (1, 2, 3, and 4)

(Relevant Guidance:  11.2  )

Required Vendor Information

Required Test Procedures


AS11.12: Message digest algorithms shall either have an independent known answer test or shall be included in the known answer test of the cryptographic algorithm in which they are included. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS11.13: A cryptographic module may omit the cryptographic algorithm test if the module includes two independent cryptographic algorithm implementations whose output are continually compared in order to ensure the correct functioning of the cryptographic algorithm. Whenever the output of the two implementations are not equal, the module shall enter an error state and output an error indicator via the status interface. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


Software/firmware test

AS11.14: An error detection code (EDC) or FIPS-approved authentication technique (e.g. the computation and verification of a data authentication code or NIST digital signature algorithm) shall be calculated on and stored with all software and firmware residing in the module (e.g., within EEPROM and RAM). This error detection code, data authentication code, or digital signature shall then be verified when the power-up self-tests are run. (1, 2, 3, and 4)

(Relevant Guidance:  7.1 , 11.4, 11.5 )

Required Vendor Information

Required Test Procedures


Critical functions test

AS11.15: All other functions that are critical to the secure operation of the module and can be tested as part of the power-up tests shall be tested. Documentation shall provide a complete specification of all critical functions and the nature of the power-up self-tests designed to test those functions. Other critical functions that are performed under certain specific conditions are tested as part of the conditional tests. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


Statistical Random Number Generator Tests

AS11.16: Cryptographic modules that implement a random or pseudorandom number generator shall incorporate the capability to perform statistical tests for randomness. The four tests specified in FIPS PUB140-1 are recommended. However, alternative tests which provide equivalent or superior randomness checking may be substituted. If any of the tests fail, the module shall enter an error state. A related assertion is AS11.02. (3 and 4)

(Relevant Guidance:  8.5 )

Required Vendor Information

Required Test Procedures


AS11.17: For Level 3, the statistical tests shall be callable upon demand. A related assertion is AS11.09. (3)

 

Required Vendor Information

Required Test Procedures


AS11.18: For Level 4, the statistical tests shall be performed at power-up and shall also be callable upon demand. Related assertions are AS11.05 and AS11.09. (4)

 

Required Vendor Information

Required Test Procedures


11.3 Conditional Tests

Pairwise consistency test

AS11.19: Cryptographic modules that generate public and private keys shall test the keys for pairwise consistency. If the keys are to be used only for the calculation and verification of digital signatures, then the consistency of the keys shall be tested by the calculation and verification of a signature. (1, 2, 3, and 4)

(Relevant Guidance:  11.2  )

Required Vendor Information

Required Test Procedures


Software/firmware load test

AS11.20: A cryptographic mechanism using a FIPS-approved authentication technique (e.g., a data authentication code or NIST digital signature algorithm) shall be applied to all validated software and firmware that can be externally loaded into a cryptographic module. This test shall verify the data authentication code or digital signature whenever the software or firmware is externally loaded into the module. (1, 2, 3, and 4)

(Relevant Guidance:  11.3, 11.5 )

Required Vendor Information

Required Test Procedures


Manual key entry test

AS11.21: When cryptographic keys or key components are manually entered into a cryptographic module, the keys shall have an error detection code (e.g., a parity check value) or shall use duplicate entries in order to verify the accuracy of the entered keys. A cryptographic module shall verify the error detection code or duplicate entries and provide an indication of the success or failure of the entry process. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


Continuous Random Number Generator Test

AS11.22: Cryptographic modules that implement a random or pseudorandom number generator shall test the generator for failure to a constant value. If the generator produces blocks of n bits, where n > 15, the first block generated after power-up shall not be used, but shall be saved for comparison with the next block to be generated. Upon each subsequent generation, the newly generated block is compared with the previously generated block. The test fails if the two compared blocks are equal. If each call to the generator produces fewer than 16 bits, then the first n bits generated after power-up, for some n > 15, shall not be used, but shall be saved for comparison with the next n generated bits. Each subsequent generation of n bits shall be compared with the previously generated n bits. The test fails if two compared n-bit sequences are equal. (1, 2, 3, and 4)

(Relevant Guidance:  8.5 )

Required Vendor Information

Required Test Procedures


Continue to Appendix A: A Cryptographic Module Security Policy


Need assistance?

Last Update: January 10, 2002
Computer Security Division
National Institute of Standards and Technology