National Institute of Standards and Technology


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


PART 1
(Sections 1-4)

March 1995
Final
William N. Havener
Roberta J. Medlock
Lisa D. Mitchell
Robert J. Walcott

Part 2 (sections 5-7)

Part 3 (sections 8-11)

Appendix A


INTRODUCTION

Federal Information Processing Standards Publication (FIPS PUB) 140-1, Security Requirements for Cryptographic Modules, specifies the security requirements that are to be satisfied by a cryptographic module utilized within a security system protecting unclassified information within computer and telecommunications systems (including voice systems). The standard provides four increasing, qualitative levels of security: Level 1, Level 2, Level 3, and Level 4. These levels are intended to cover the wide range of potential applications and environments in which cryptographic modules may be employed. The security requirements cover eleven areas related to the secure design and implementation of a cryptographic module. These areas include the following:

 

  1. Cryptographic Module Design and Documentation
  2. Module Interfaces
  3. Roles and Services
  4. Finite State Machine Model
  5. Physical Security
  6. Software Security
  7. Operating System Security
  8. Cryptographic Key Management
  9. Cryptographic Algorithms
  10. Electromagnetic Interference/Electromagnetic Compatibility (EMI/EMC)
  11. Self Tests
  12. Appendix A: A Cryptographic Module Security Policy

The National Institute of Standards and Technology (NIST) intends to establish a FIPS 140-1 validation program using the National Laboratory Accreditation Program (NVLAP) to accredit laboratories to perform testing of cryptographic modules for conformance to FIPS 140-1. Under the proposed process, NIST would issue validation certificates based on test reports produced by NVLAP-accredited laboratories. Organizations wishing to have validations performed would contract with the laboratories for the required services.

 

Purpose

The purpose of this document is to describe the methods that will be used by accredited laboratories to test whether a cryptographic module conforms to the requirements of FIPS 140-1. It includes detailed procedures, inspections, and tests that the tester must follow, and the expected results that must be achieved for the cryptographic module to satisfy the FIPS 140-1 requirements. These detailed methods are intended to provide a high degree of objectivity during the testing process and to ensure consistency across the accredited testing laboratories.

 This document also details the requirements for vendor information that must be provided as supplementary evidence to demonstrate conformance to FIPS 140-1 requirements. This document may be used by vendors as a guide in trying to determine if their cryptographic modules meet the security requirements of FIPS 140-1 before they apply to the laboratory for testing.

 

Document Organization

This document includes eleven sections, corresponding to the eleven areas of security requirements of FIPS 140-1. Appendix A contains a discussion of security policies for cryptographic modules.

 Within each section, the corresponding security requirements from FIPS 140-1 are divided into a set of assertions (i.e., statements that must be true for the module to satisfy the requirement of a given area at a given level). All of the assertions are either direct quotations from FIPS 140-1, or are directly derivable from these requirements. The assertions are denoted by the form

 

AS<requirement_number>.<assertion_sequence_number>

where "requirement_number" is the number of the corresponding area specified in FIPS 140-1 (i.e., one through eleven), and "sequence_number" is a sequential identifier for assertions within a section. After the statement of each assertion, the security levels to which the assertion applies (i.e., Levels 1 through 4) are listed in parentheses.

*  In the HTML version of the DTR, after each assertion there is a reference to any relevant implementation guidance, from the FIPS 140-1 Implementation Guidance document [PDF 12-04-2001].

 Following each assertion are a set of requirements levied on the vendor. These requirements describe the types of documentation or explicit information that the vendor must provide in order for the tester to determine conformance to the given assertion. These requirements are denoted by the form

 

VE<requirement_number>.<assertion_sequence_number>.<sequence_number>

where "requirement_number" and "assertion_sequence_number" are identical to the corresponding assertion requirement number and sequence number, and "sequence_number" is a sequential identifier for vendor requirements within the assertion requirement.

 Also following each assertion and the requirements levied on the vendor are a set of requirements levied on the tester of the cryptographic module. These requirements instruct the tester as to what he or she must do in order to test the cryptographic module with respect to the given assertion. These requirements are denoted by the form

 

TE<requirement_number>.<assertion_sequence_number>.<sequence_number>

where "requirement_number" and "assertion_sequence_number" are identical to the corresponding assertion requirement number and sequence number, and "sequence_number" is a sequential identifier for tester requirements within the assertion requirement.

 


1. CRYPTOGRAPHIC MODULES

AS01.01: Documentation shall completely identify all hardware, software, and firmware components of the cryptographic module. (1, 2, 3, and 4)

(Relevant Implementation Guidance:  1.1 , 1.2 )
 

Required Vendor Information

Required Test Procedures


AS01.02: Documentation shall completely specify the module's cryptographic boundary surrounding the components. (1, 2, 3, and 4)

(Relevant Implementation Guidance:  1.3 ,1.4  )

Required Vendor Information

Required Test Procedures


AS01.03: If the cryptographic module contains software or firmware, the cryptographic boundary shall be defined such that it contains any processor which executes the code. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS01.04: Documentation shall completely describe the physical configuration of the module. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS01.05: Documentation shall include a block diagram depicting all of the major hardware components of the module and their interconnections. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS01.06: Documentation shall indicate any hardware, software, or firmware components of the module that are excluded from the security requirements of the standard and explain why these parts do not effect the security of the module. (1, 2, 3, and 4)

(Relevant Implementation Guidance:  1.4 , )

Required Vendor Information

Required Test Procedures


AS01.07: Documentation shall completely specify the cryptographic module security policy, i.e., the security rules under which a module must operate. In particular, the security policy shall include the security rules derived from the security requirements of this standard and the security rules derived from any additional security requirements imposed by the manufacturer. (1, 2, 3, and 4)

(Relevant Implementation Guidance:  1.5 , 4.1 )

Required Vendor Information

Required Test Procedures


2. MODULE INTERFACES

AS02.01: The module shall be designed to restrict all information flow and physical access to the module to logical interfaces that define all entry and exit points to and from the module. The module interfaces shall be logically distinct from each other. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS02.02: The module shall have at least the following four logical interfaces: (1, 2, 3, and 4)

 

(Relevant Guidance:   2.5 , 5.2  )

Required Vendor Information

Required Test Procedures


AS02.03: The module may include the following logical interfaces: (1, 2, 3, and 4)

 

(Relevant Guidance:   2.1 ,  )

Required Vendor Information

Required Test Procedures


AS02.04: All data output via the data output interface shall be inhibited whenever an error state exists and during self-tests. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS02.05: If a maintenance access interface is provided, any removable covers or doors defined as part of it shall be safeguarded using the appropriate physical security mechanisms of section 5. (1, 2, 3, and 4)

(Relevant Guidance: 3.6)

 

Required Vendor Information

Required Test Procedures


AS02.06: If a maintenance access interface is provided, all access defined under assertion AS02.08 in this section, including physical modifications to the contents of the module, shall be restricted to the authorized maintenance role of section 3.1. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS02.07: If a maintenance access interface is provided, all plaintext secret and private keys and other critical security parameters contained in the module shall be zeroized when accessing the maintenance interface. (1, 2, 3, and 4)

(Relevant Guidance:   2.2 , 3.6  )

Required Vendor Information

Required Test Procedures


AS02.08: If a maintenance access interface is provided, documentation shall include a complete specification of the set of authorized maintenance procedures for the module. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS02.09: Documentation shall include a complete specification describing each of the logical interfaces of the module. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS02.10: Documentation shall explicitly define and specify all physical and logical input and output data paths within the module. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS02.11: Two independent, internal actions shall be required in order to output data via any output interface through which plaintext cryptographic keys or other critical security parameters could be output. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS02.12: The output data path shall be logically disconnected from the circuitry and processes performing key generation, manual key entry, or key zeroization. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS02.13: For security levels 3 and 4, data input and output ports used for plaintext cryptographic keys, plaintext authentication data, and other unprotected critical security parameters shall be physically separated from all other ports of the module. (3 and 4)

(Relevant Guidance:   2.3 , 2.4  )

Required Vendor Information

Required Test Procedures


AS02.14: For security levels 3 and 4, data input and output ports used for plaintext cryptographic keys, plaintext authentication data, and other unprotected critical security parameters shall allow for direct entry of these items. (3 and 4)

 

Required Vendor Information

Required Test Procedures


3. ROLES AND SERVICES

Roles

AS03.01: Documentation shall provide a complete specification of all of the authorized roles supported by the module. (1, 2, 3, and 4)

(Relevant Guidance:   3.1 , 3.2  )

Required Vendor Information

Required Test Procedures


AS03.02: The cryptographic module shall, at a minimum, support the following authorized roles: (1, 2, 3, and 4)

 

(Relevant Guidance:   3.2 ,  )

Required Vendor Information

Required Test Procedures


AS03.03: If a cryptographic module includes a maintenance access interface as specified in section 4.2, the module shall also support the maintenance role. (1, 2, 3, and 4)

(Relevant Guidance: 3.6)

 

Required Vendor Information

Required Test Procedures


AS03.04: If the maintenance role is supported, a cryptographic module shall clear all plaintext secret and private keys and other critical security parameters when entering the maintenance role. A related assertion is AS02.07. (1, 2, 3, and 4)

(Relevant Guidance: 3.6)

 

Required Vendor Information

Required Test Procedures


AS03.05: If the maintenance role is supported, a cryptographic module shall clear all maintenance keys and other critical security parameters when exiting the maintenance role. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS03.06: If a module can support multiple concurrent operators, then the module shall internally maintain the separation of the authorized roles and services performed by each operator. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


Services

AS03.07: Documentation shall provide a complete specification of each of the authorized services, operations, and functions that can be performed by the module. For each service, the service inputs, corresponding service outputs, and the authorized role or set of roles in which the service can be performed shall be specified. (1, 2, 3, and 4)

(Relevant Guidance: 3.2 , 3.3  )

Required Vendor Information

Required Test Procedures


AS03.08: A cryptographic module shall, at a minimum, provide the following services: (1, 2, 3, and 4)

 

(Relevant Guidance:   3.3 ,  )

Required Vendor Information

Required Test Procedures


AS03.09: A cryptographic module may optionally provide the following service: (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS03.10: If a cryptographic module implements a bypass capability, then: (1, 2, 3, and 4)

 

Note: Internal actions may be software actions or operator physical actions performed as a consequence of the request for a transition to a bypass state. The changing of an internal variable to a known value or the sensing of a keyboard toggle switch are examples of internal actions.

 

Required Vendor Information

Required Test Procedures


AS03.11: Each service input shall result in a service output. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


OPERATOR AUTHENTICATION

General

AS03.12: For services that are used to initialize the access control information needed to implement the access control mechanisms, means such as procedural controls, or authentication and authorization information, factory-set or default, may be used to control access to the module. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


AS03.13: When a module is powered up after being powered off (e.g. power failure) or after repair or servicing, the results of previous authentications shall not be retained, i.e., the module shall re-authenticate the authorization of the operator to assume a desired role. (1, 2, 3, and 4)

 

Required Vendor Information

Required Test Procedures


Role-Based Authentication

AS03.14: For role-based authentication, a cryptographic module shall authenticate that the operator is authorized to assume a specific role or set of roles. The module shall perform the following actions: (2)

(Relevant Guidance:   3.7  )

Required Vendor Information

Required Test Procedures


AS03.15: For role-based authentication, a module may permit an operator to change roles, but the module shall authenticate the authorization of the operator to assume any role that was not previously authenticated. (2)

 

Required Vendor Information

Required Test Procedures


Identity-Based Authentication

AS03.16: For identity-based authentication, a cryptographic module shall authenticate the identity of an operator and verify that the identified operator is authorized to assume a specific role or set of roles. The module shall perform the following actions: (3 and 4)

(Relevant Guidance:   3.4 , 3.7  )

Required Vendor Information

Required Test Procedures


AS03.17: For identity-based authentication, a module may permit an operator to change roles without re-authenticating the identity of the operator, but the module shall verify the authorization of the authenticated operator to perform the new role. (3 and 4)

 

Required Vendor Information

Required Test Procedures


Security Level 1

AS03.18: For Security Level 1, a cryptographic module is not required to employ anthentication mechanisms to control access to the module. A module optionally may employ either role-based or identity-based authentication mechanisms in order to verify the authorization of the operator to assume the desired roles and to request corresponding services. (1)

 

Required Vendor Information

Required Test Procedures


Security Level 2

AS03.19: For Security Level 2, a cryptographic module shall at a minimum employ role-based authentication mechanisms in order to verify the authorization of the operator to assume the desired roles and to request corresponding services. A module optionally may employ identity-based mechanisms. (2)

 

Required Vendor Information

Required Test Procedures


Security Levels 3 and 4

AS03.20: A cryptographic module shall employ identity-based (i.e., based on operator identification) authentication mechanisms in order to verify the authorization of the operator to assume the desired roles and to request corresponding services. Furthermore, plaintext authentication data (e.g., passwords and PINs), plaintext cryptographic key components, and other unprotected critical security parameters shall be entered via a port or ports that are physically separated from other ports, and that allow for direct entry (as required in section 2). Related assertions are AS02.13 and AS02.14. (3 and 4)

(Relevant Guidance: 3.5 ,  )

Required Vendor Information

Required Test Procedures


4. FINITE STATE MACHINE MODEL

AS04.01: All cryptographic modules shall be designed using a finite state machine model that explicitly specifies every operational and error state of the module. (1, 2, 3, and 4)

(Relevant Implementation Guidance:  4.1 )

 

Required Test Procedures


AS04.02: Documentation shall identify and describe all states of the module and shall describe all of the corresponding state transitions. (1, 2, 3, and 4)

(Relevant Implementation Guidance:  4.1 )

 

Required Vendor Information

Required Test Procedures


AS04.03: The descriptions of the state transitions shall include the internal module conditions, data inputs and control inputs that cause transitions from one state to another, and shall include the internal module conditions, data outputs and status outputs resulting from transitions from one state to another. (1, 2, 3, and 4)

(Relevant Implementation Guidance:  4.1 )

 

Required Test Procedures


AS04.04: Documentation shall also include finite state diagrams in sufficient detail to assure the verification of conformance to FIPS PUB 140-1. (1, 2, 3, and 4)

(Relevant Implementation Guidance:  4.1 )

 

Required Vendor Information

Required Test Procedures


AS04.05: A cryptographic module shall be designed using the following types of states: (1, 2, 3, and 4)

 

Required Test Procedures


AS04.06: A cryptographic module may contain other types of states including the following: (1, 2, 3, and 4)

 

Required Test Procedures


AS04.07: All data output via the data output interface shall be inhibited during all error states. (1, 2, 3, and 4)

 Note: This assertion is similar to assertion AS02.04 under section 2, "Module Interfaces."

 

Required Test Procedures


AS04.08: All error states shall be able to be reset to an acceptable operational or initialization state except for those hard errors which require maintenance, service or repair of the module. (1, 2, 3, and 4)

 

Required Test Procedures


AS04.09: If safety states are included in the module, then the safety states shall require an explicit authenticated action to return to a user/crypto service state. These states are equivalent to the "standby" mode of former Federal Standard 1027. (1, 2, 3, and 4)

 

Required Test Procedures


AS04.10: If a cryptographic module includes a maintenance access interface (see Section 2, "Module Interfaces"), then the module shall include maintenance states. (1, 2, 3, and 4)

 

Required Test Procedures


AS04.11: All states of a cryptographic module shall be explicitly defined in sufficient detail to assure the verification of the conformance of the module to FIPS PUB 140-1. (1, 2, 3, and 4)

 Note: Refer back to the corresponding portions of requirement 1, "Cryptographic Module," and requirement 2, "Module Interface," for completeness.

 

Required Test Procedures


Continue to sections 5-7 of the DTR (part 2 of 3)...


Need assistance?

Last Update: March 15, 2002
Computer Security Division
National Institute of Standards and Technology