KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.62
System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64
User : www ( 80)
PHP Version : 8.3.8
Disable Function : NONE
Directory :  /domains/ap.belleisle/INFOSEC/stds/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /domains/ap.belleisle/INFOSEC/stds/140test1.htm
<HTML>

<HEAD>

   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

   <META NAME="GENERATOR" CONTENT="Mozilla/4.02 [en] (Win95; U) [Netscape]">

   <TITLE>Derived Test Requirements for FIPS 140-1 (Part 1 of 3)</TITLE>

</HEAD>

<BODY BACKGROUND="../yellow_p.gif">



<CENTER>

<H2>

National Institute of Standards and Technology</H2></CENTER>



<HR SIZE=4 WIDTH=75%>

<CENTER>

<H1>

Derived Test Requirements<BR>

for FIPS PUB 140-1,<BR>

<I>Security Requirements for Cryptographic Modules</I></H1></CENTER>



<HR SIZE=4 WIDTH=20%>



<H2><CENTER>PART 1<BR>

<EM>(Sections 1-4)</EM></CENTER></H2>



<CENTER><B>March 1995</B></CENTER>



<CENTER><B>Final</B></CENTER>



<CENTER>William N. Havener</CENTER>



<CENTER>Roberta J. Medlock</CENTER>



<CENTER>Lisa D. Mitchell</CENTER>



<CENTER>Robert J. Walcott</CENTER>



<H4>

<A HREF="140test2.htm">Part 2 (sections 5-7)</A></H4>



<H4>

<A HREF="140test3.htm">Part 3 (sections 8-11)</A></H4>



<H4>

<A HREF="140testA.htm">Appendix A</A></H4>





<HR SIZE=4 WIDTH=75%>



<H1>

INTRODUCTION</H1>

Federal Information Processing Standards Publication (FIPS PUB) 140-1,

<I>Security Requirements for Cryptographic Modules</I>, 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:



<P>&nbsp;

<OL>

<LI>

<A HREF="#sec1">Cryptographic Module Design and Documentation</A></LI>



<LI>

<A HREF="#sec2">Module Interfaces</A></LI>



<LI>

<A HREF="#sec3">Roles and Services</A></LI>



<LI>

<A HREF="#sec4">Finite State Machine Model</A></LI>



<LI>

<A HREF="140test2.htm#sec5">Physical Security</A></LI>



<LI>

<A HREF="140test2.htm#sec6">Software Security</A></LI>



<LI>

<A HREF="140test2.htm#sec7">Operating System Security</A></LI>



<LI>

<A HREF="140test3.htm#sec8">Cryptographic Key Management</A></LI>



<LI>

<A HREF="140test3.htm#sec9">Cryptographic Algorithms</A></LI>



<LI>

<A HREF="140test3.htm#sec10">Electromagnetic Interference/Electromagnetic

Compatibility (EMI/EMC)</A></LI>



<LI>

<A HREF="140test3.htm#sec11">Self Tests</A></LI>



<LI>

<A HREF="140testA.htm">Appendix A:  A Cryptographic Module Security Policy</A></LI>



</OL>

<P>





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.



<P>&nbsp;

<H2>

Purpose</H2>

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.



<P>&nbsp;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.



<P>&nbsp;

<H2>

Document Organization</H2>

This document includes eleven sections, corresponding to the eleven areas

of security requirements of FIPS 140-1.  <A HREF="140testA.htm">Appendix A</A> contains a discussion

of security policies for cryptographic modules.



<P>&nbsp;Within each section, the corresponding security requirements from

FIPS 140-1 are divided into a set of <B>assertions</B> (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



<P>&nbsp;

<CENTER><B>AS</B>&lt;<I>requirement_number</I>>.&lt;<I>assertion_sequence_number</I>></CENTER>





<P>where "<I>requirement_number</I>" is the number of the corresponding

area specified in FIPS 140-1 (i.e., one through eleven), and "<I>sequence_number</I>"

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.



<P>*&nbsp; In the HTML version of the DTR, after each assertion there is

a link to any relevant implementation guidance, from the FIPS 140-1 <A HREF="1401ig.htm">Implementation

Guidance</A> document.



<P>&nbsp;Following each assertion are a set of <B>requirements</B> levied

on the <B>vendor</B>. 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



<P>&nbsp;

<CENTER><B>VE</B>&lt;<I>requirement_number</I>>.&lt;<I>assertion_sequence_number</I>>.&lt;<I>sequence_number</I>></CENTER>





<P>where "<I>requirement_number</I>" and "<I>assertion_sequence_number</I>"

are identical to the corresponding assertion requirement number and sequence

number, and "<I>sequence_number</I>" is a sequential identifier for vendor

requirements within the assertion requirement.



<P>&nbsp;Also following each assertion and the requirements levied on the

vendor are a set of <B>requirements</B> levied on the <B>tester</B> 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



<P>&nbsp;

<CENTER><B>TE</B>&lt;<I>requirement_number</I>>.&lt;<I>assertion_sequence_number</I>>.&lt;<I>sequence_number</I>></CENTER>





<P>where "<I>requirement_number</I>" and "<I>assertion_sequence_number</I>"

are identical to the corresponding assertion requirement number and sequence

number, and "<I>sequence_number</I>" is a sequential identifier for tester

requirements within the assertion requirement.



<P>&nbsp;

<HR SIZE=4 WIDTH=75%>

<H2>

<A NAME="sec1"></A>1. CRYPTOGRAPHIC MODULES</H2>

<A NAME="as0101"></A><B>AS01.01: Documentation shall completely identify

all hardware, software, and firmware components of the cryptographic module.

(1, 2, 3, and 4)</B>



<P><I>(Relevant Implementation Guidance:&nbsp; <A HREF="1401ig-2.htm#1nonvalsub">1.1</A>

, <A HREF="1401ig-2.htm#1reval">1.2</A> )</I>

<BR><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve010101"></A><B>VE01.01.01</B>: All components that implement

cryptographic logic or processes shall be identified in the vendor documentation.

Components to be listed shall include, as applicable, all of the following:</LI>





<P>&nbsp;

<OL>

<LI>

Integrated circuits, including processors, memory, and (semi-) custom integrated

circuits</LI>



<LI>

Other active electronic circuit elements</LI>



<LI>

Power inputs and outputs, and internal power supplies or converters</LI>



<LI>

Physical structures, including circuit boards or other mounting surfaces,

enclosures, and connectors</LI>



<LI>

Software and firmware modules</LI>



<LI>

Other component types used in the module</LI>

</OL>



<LI>

<A NAME="ve010102"></A><B>VE01.01.02</B>: The above list of components

shall be consistent with the information provided for all other assertions

of this section.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te010101"></A><B>TE01.01.01</B>: The tester shall verify that

the documentation includes a master components list that is stated to include

all hardware, software, and firmware components of the cryptographic module.</LI>





<P>&nbsp;

<LI>

<A NAME="te010102"></A><B>TE01.01.02</B>: The tester shall verify that

the master components list includes all occurrences of the following types

of components when applicable, excluding only component types that are

not used in the module:</LI>





<P>&nbsp;

<OL>

<LI>

Processors, including microprocessors, digital signal processors, custom

processors, microcontrollers, or any other types of processors</LI>



<LI>

Read-only memory (ROM) integrated circuits for program executable code

and data (this may include mask-programmed ROM, programmable ROM (PROM)

such as ultraviolet, erasable PROM [EPROM] or electrically erasable PROM

[EEPROM])</LI>



<LI>

Random-access memory (RAM) integrated circuits for temporary data storage</LI>



<LI>

Semi-custom, application-specific integrated circuits, such as gate arrays,

programmable logic arrays, or other programmable logic devices</LI>



<LI>

Fully custom, application-specific, integrated circuits, including any

custom cryptographic integrated circuits</LI>



<LI>

Other active electronic circuit elements (the vendor does not have to list

passive circuit elements such as pull up/pull down resistors or bypass

capacitors if they do not play a significant role in the security of the

cryptographic module and are not at the cryptographic boundary)</LI>



<LI>

Power supply components, including power supply, voltage conversion modules

(e.g., AC-to-DC or DC-to-DC modules), transformers, input power connectors,

and output power connectors</LI>



<LI>

Circuit boards or other component mounting surfaces</LI>



<LI>

Enclosures, including any removable access doors or covers</LI>



<LI>

Physical connectors for devices outside the cryptographic module, or between

any major independent submodules of the cryptographic module</LI>



<LI>

Software modules, defined as executable code or data that could be changed

in the future or is readily accessible to programmers</LI>



<LI>

Firmware modules, defined as executable code or data that is unlikely to

be changed (e.g., because it performs a standardized fixed function) and

is not readily accessible to programmers</LI>



<LI>

Other component types used in the module</LI>

</OL>



<LI>

<A NAME="te010103"></A><B>TE01.01.03</B>: The tester shall verify that

the master components list is consistent with information provided for

other assertions of this section, as defined below:</LI>





<P>&nbsp;

<OL>

<LI>

The specification of the cryptographic boundary under assertion AS01.02:

Verify that all components inside the cryptographic boundary are included

in the master components list, and that any components outside the cryptographic

boundary are not listed as components of the cryptographic module.</LI>



<LI>

The specification of the processors and software/firmware under assertion

AS01.03: Verify that the list of processors, software modules, and hardware

modules in the master components list is the same as in the specifications

under Assertion AS01.03.</LI>



<LI>

The specification of the physical configuration under assertion AS01.04:

Verify that the list of physical structures in the master components list

(such as circuit boards or other mounting surfaces, enclosures, and connectors)

is the same as in the specifications under Assertion AS01.04.</LI>



<LI>

The specification of the block diagram under assertion AS01.05: Verify

that any individual components called out in the block diagram (e.g., processors,

application-specific integrated circuits, and large memory units) are also

listed in the master components list.</LI>



<LI>

Any components which are to be excluded from the requirements of FIPS PUB

140-1 under the provisions of assertion AS01.06: Verify that components

to be so excluded are still listed in the master components list.</LI>

</OL>

</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0102"></A><B>AS01.02: Documentation shall completely specify

the module's cryptographic boundary surrounding the components. (1, 2,

3, and 4)</B>



<P><I>(Relevant Implementation Guidance:&nbsp; <A HREF="1401ig-2.htm#1bound">1.3</A>

,<A HREF="1401ig-2.htm#1submodule">1.4</A>&nbsp; )</I>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve010201"></A><B>VE01.02.01</B>: The vendor documentation shall

specify the module's cryptographic boundary. The cryptographic boundary

shall be an explicitly defined, contiguous perimeter that establishes the

physical bounds of the cryptographic module. The perimeter definition shall

define module components and connections (ports), and also module information

flows, processing, and input/output signals.</LI>





<P>&nbsp;

<LI>

<A NAME="ve010202"></A><B>VE01.02.02</B>: The cryptographic boundary shall

include any hardware or software that inputs, processes, or outputs important

security parameters that could lead to the compromise of sensitive information

if not properly controlled.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te010201"></A><B>TE01.02.01</B>: The tester shall verify that

the documentation explicitly shows where the cryptographic boundary physical

perimeter lies. This can be supplied via a listing of all significant components

inside the cryptographic boundary plus all ports connected to equipment

outside the cryptographic boundary. The documentation must also supply

a listing of all significant information flows and processing to be performed

inside the cryptographic boundary plus all information signals that are

input and output to the exterior of the cryptographic boundary. Alternatively,

a detailed functional block diagram showing the cryptographic boundary

may be used to meet some or all of the above requirements for perimeter

definition, as long as there is sufficient detail to provide the information

required above. (Annotations on component lists or block diagrams provided

for other purposes may also be used, if the cryptographic boundary is clearly

identified.)</LI>





<P>&nbsp;

<LI>

<A NAME="te010202"></A><B>TE01.02.02</B>: The tester shall verify that

the vendor-provided documentation includes sufficient detail for components

at the cryptographic boundary to precisely define the cryptographic boundary.</LI>





<P>&nbsp;

<LI>

<A NAME="te010203"></A><B>TE01.02.03</B>: The tester shall verify that

the cryptographic boundary is physically contiguous. This means that there

must be no gaps that could allow uncontrolled input, output, or other access

into the cryptographic module. (Physical protection and tamper protection

are covered separately in requirements under section 4.5 of FIPS PUB 140-1.)

The module design must also ensure that there are no uncontrolled interfaces

into or out of the cryptographic module that could pass sensitive information.</LI>





<P>&nbsp;

<LI>

<A NAME="te010204"></A><B>TE01.02.04</B>: The tester shall verify that

the cryptographic boundary encompasses all components that are identified

in the block diagram under assertion AS01.05 in this section as inputting,

outputting, or processing plaintext, keys, authorization data, or other

information that if misused or malfunctioned could lead to a compromise.</LI>





<P>&nbsp;

<LI>

<A NAME="te010205"></A><B>TE01.02.05</B>: As a partial exception to the

above requirements, the vendor is allowed to exclude certain components

from the requirements of FIPS PUB 140-1 after satisfying the requirements

under assertion AS01.06 in this section. The vendor may then treat such

excluded components as effectively outside the cryptographic boundary of

the module, in the sense that they will not be further analyzed. In that

case, the tester shall verify that any interfaces or physical connections

between such excluded components and the rest of the module cannot allow

uncontrolled release of sensitive information outside the module.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0103"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve010301"></A><B>VE01.03.01</B>: For each processor in the module,

the vendor shall identify, by major function, the software or firmware

that are executed by the processor, and the memory devices that contain

the executable code and data.</LI>





<P>&nbsp;

<LI>

<A NAME="ve010302"></A><B>VE01.03.02</B>: For each processor, the vendor

shall identify any hardware with which it interfaces.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te010301"></A><B>TE01.03.01</B>: The tester shall verify that

each processor identified under this assertion is contained in the master

components list under assertion AS01.01 and in the cryptographic boundary

defined under assertion AS01.02.</LI>





<P>&nbsp;

<LI>

<A NAME="te010302"></A><B>TE01.03.02</B>: The tester shall verify that,

for each processor, the vendor has identified the software or firmware

code modules executed by that processor, the functions performed by that

processor and its code, and the memory devices containing the executable

code and data.</LI>





<P>&nbsp;

<LI>

<A NAME="te010303"></A><B>TE01.03.03</B>: The tester shall verify that,

for each processor, the vendor has identified any hardware with which it

interfaces. This must include, as applicable, any hardware components that

provide input data, control, or status signals to the processor and its

software/firmware, and any hardware components that receive output data,

control, or status signals from the processor and its software/firmware.

Such hardware components may be within the cryptographic module, or may

be user equipment outside the module such as input/output devices.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0104"></A><B>AS01.04: Documentation shall completely describe

the physical configuration of the module. (1, 2, 3, and 4)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve010401"></A><B>VE01.04.01</B>: The vendor shall identify which

of the three possible physical configurations the module has: single-chip

module; multi-chip embedded module; or multi-chip, stand-alone module as

defined in Section 4.5 of FIPS PUB 140-1.</LI>





<P>&nbsp;

<LI>

<A NAME="ve010402"></A><B>VE01.04.02</B>: The vendor's documentation shall

indicate the internal layout and assembly methods (e.g., fasteners and

fittings) of the module, including drawings that are at least approximately

to scale. The interior of integrated circuits need not be shown.</LI>





<P>&nbsp;

<LI>

<A NAME="ve010403"></A><B>VE01.04.03</B>: The vendor's documentation shall

describe the primary physical parameters of the module, including descriptions

of the enclosure, access points, circuit boards, location of power supply,

interconnection wiring runs, cooling arrangements, and any other significant

parameters.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te010401"></A><B>TE01.04.01</B>: The tester shall verify that

the vendor identified that the cryptographic module is either a single-chip

module, a multi-chip embedded module, or a multi-chip standalone module

as defined in Section 4.5 of FIPS PUB 140-1.</LI>





<P>&nbsp;

<LI>

<A NAME="te010402"></A><B>TE01.04.02</B>: The tester shall verify that

the vendor's documentation shows the internal layout of the module, including

the placement and approximate dimensions of major identifiable components

of the module. This must include drawings that are at least approximately

to scale. (These need not be blueprints. The vendor can use his own internal

format if desired and if the information is detailed and accurate enough

to meet the requirements of this section.)</LI>





<P>&nbsp;

<LI>

<A NAME="te010403"></A><B>TE01.04.03</B>: The tester shall verify that

the vendor's documentation indicates the major physical assemblies of the

module and how they are assembled or inserted into the module.</LI>





<P>&nbsp;

<LI>

<A NAME="te010404"></A><B>TE01.04.04</B>: The tester shall verify that

the vendor's documentation describes the primary physical parameters of

the module. This must include at least the following:</LI>





<P>&nbsp;

<OL>

<LI>

Enclosure shape and approximate dimensions, including any access doors

or covers</LI>



<LI>

Circuit board(s) approximate dimensions, layout, and interconnections</LI>



<LI>

Location of power supply, power converters, and power inputs and outputs</LI>



<LI>

Interconnection wiring runs: routing and terminals</LI>



<LI>

Cooling arrangements, such as conduction plates, cooling air flow, heat

exchanger, cooling fins, fans, or other arrangements for removing heat

from the module</LI>

</OL>

</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0105"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve010501"></A><B>VE01.05.01</B>: The vendor documentation shall

include a functional block diagram showing the hardware components and

their interconnections. Components to be included in the block diagram

shall include, as applicable:</LI>





<P>&nbsp;

<OL>

<LI>

Microprocessors</LI>



<LI>

Input/output buffers</LI>



<LI>

Plaintext/ciphertext buffers</LI>



<LI>

Control buffers</LI>



<LI>

Key storage</LI>



<LI>

Working memory</LI>



<LI>

Program memory</LI>



<LI>

Any other significant components used</LI>

</OL>



<LI>

<A NAME="ve010502"></A><B>VE01.05.02</B>: The block diagram shall also

include any (semi-) custom integrated circuits, such as predesigned cryptographic

circuitry, gate arrays, or other programmable logic. Independent functions

within such components shall be identified separately in the block diagram.</LI>





<P>&nbsp;

<LI>

<A NAME="ve010503"></A><B>VE01.05.03</B>: The block diagram shall include

the functions of major module components or subassemblies.</LI>





<P>&nbsp;

<LI>

<A NAME="ve010504"></A><B>VE01.05.04</B>: The block diagram shall show

interconnections among major components of the module and between the module

and outside equipment.</LI>





<P>&nbsp;

<LI>

<A NAME="ve010505"></A><B>VE01.05.05</B>: The block diagram shall show

the cryptographic boundary of the module.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te010501"></A><B>TE01.05.01</B>: The tester shall verify that

the vendor has provided one or more block diagrams indicating major submodules

of the cryptographic module. These shall include at least the following,

as applicable to the vendor's design:</LI>





<P>&nbsp;

<OL>

<LI>

Microprocessors or any other processors listed in the master components

list under assertion AS01.01 in this section</LI>



<LI>

Input/output buffer memory that stores or processes general input or output

data other than plaintext/ciphertext message data or control information</LI>



<LI>

Plaintext/ciphertext buffer memory that stores or processes message data

to be encrypted or decrypted</LI>



<LI>

Control buffer memory that stores or processes control and status information

that is input into the module or output from the module</LI>



<LI>

Key storage for cryptovariables</LI>



<LI>

Working memory for processing information</LI>



<LI>

Program memory containing executable software or firmware code</LI>



<LI>

(Semi-) custom integrated circuits such as predesigned cryptographic circuitry,

application-specific integrated circuits, gate arrays, programmable logic

arrays, or other programmable logic devices. (These must be specified to

the level of independent functions. If more than one function is performed

by a given module, the functions shall be shown separately in the block

diagram.)</LI>



<LI>

Any other significant components used</LI>

</OL>



<LI>

<A NAME="te010502"></A><B>TE01.05.02</B>: The tester shall verify that

the block diagram indicates the major functions performed by the components

or subassemblies that are blocks in the diagram. These must include at

least plaintext and ciphertext message processing and routing, cryptologic

(algorithms and other cryptographic processing), memory buffering and storage,

control logic, key handling, zeroization, alarms and protection, and power.</LI>





<P>&nbsp;

<LI>

<A NAME="te010503"></A><B>TE01.05.03</B>: The tester shall verify that

the block diagram indicates all significant interconnections and data flow

among major components of the module, and between the module and outside

equipment. In particular, each line on the block diagram indicating an

interconnection must be labeled with the type of information it transmits.</LI>





<P>&nbsp;

<LI>

<A NAME="te010504"></A><B>TE01.05.04</B>: The tester shall verify that

the block diagram indicates the cryptographic boundary for the cryptographic

module, as required under assertion AS01.02 in this section.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0106"></A><B>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)</B>



<P><I>(Relevant Implementation Guidance:&nbsp; <A HREF="1401ig-2.htm#1submodule">1.4</A>

, )</I>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve010601"></A><B>VE01.06.01</B>: All components that are to be

excluded from the security requirements shall be explicitly listed in the

vendor documentation.</LI>





<P>&nbsp;

<LI>

<A NAME="ve010602"></A><B>VE01.06.02</B>: The rationale for excluding each

of the components listed in response to requirement VE01.06.01 shall be

provided in the vendor documentation. The vendor shall show that each such

component, even if malfunctioning or misused, cannot cause a compromise

under any reasonable conditions.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te010601"></A><B>TE01.06.01</B>: The tester shall determine whether

the vendor indicates that any components of the module are to be excluded

from the requirements of FIPS PUB 140-1. If none are so listed, all components

must meet the other requirements of this and all other sections.</LI>





<P>&nbsp;

<LI>

<A NAME="te010602"></A><B>TE01.06.02</B>: If the vendor has indicated that

certain components of the module are to be excluded from the requirements

of FIPS PUB 140-1, the tester shall determine that a rationale for the

exclusion is provided. The rationale must show that even if the component

is misused or malfunctions, it could not cause a compromise via potential

release of sensitive information. Some reasons that might be acceptable,

if adequately supported by backup information and discussion, include:</LI>





<P>&nbsp;

<OL>

<LI>

The component does not process sensitive information and is not connected

with sensitive areas of the rest of the module in any way that would allow

inappropriate transfer of sensitive information (e.g., structural components

or filter power circuitry)</LI>



<LI>

All information processed by the component is strictly for internal use

of the module, and does not in any way impact the equipment to which the

module is connected (e.g., internal housekeeping timing circuits that are

reclocked before use by components that do contact outside equipment such

as input/output devices)</LI>



<LI>

The component's inputs or outputs are compared against similar redundant

information elsewhere in the module that would detect and protect against

any malfunction which could otherwise have released sensitive information</LI>

</OL>

The tester shall determine the correctness of any rationale for exclusion

such as the above. The burden of proof is on the vendor; if there is any

uncertainty or ambiguity, the tester shall require the vendor to produce

additional information as needed.



<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0107"></A><B>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)</B>



<P><I>(Relevant Implementation Guidance:&nbsp; <A HREF="1401ig-2.htm#1secpolicy">1.5</A>

, <A HREF="1401ig-2.htm#4format">4.1</A> )</I>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve010701"></A><B>VE01.07.01</B>: The vendor shall provide a separate

document, or section of a document, that specifies the security policy

(i.e., the security rules under which a module must operate) enforced by

the cryptographic module.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te010701"></A><B>TE01.07.01</B>: The tester shall review the security

policy specification provided by the vendor. Specifically, he or she must

determine that it identifies all roles, services, and security relevant

data items of the cryptographic module, and specifies what access, if any,

a user, performing a service within the context of a given role, has to

each of the security relevant data items. The specification should be complete,

and detailed enough to be able to answer the following question: "What

access does operator X, performing service Y while in role Z have to security

relevant data item K?" for every role, service, and security relevant data

item contained in the cryptographic module.</LI>





<P>&nbsp;

<LI>

<B>General</B>: The vendor is encouraged to include, or reference by page

number or figure in documentation, any useful supporting information. This

could include data sheets, user manuals, results of prior security analyses

(in-house or with NSA), etc. Such supporting information would be particularly

useful where it helps evaluate the module against specific tester requirements.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=75%>

<H2>

<A NAME="sec2"></A>2. MODULE INTERFACES</H2>

<A NAME="as0201"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve020101"></A><B>VE02.01.01</B>: The vendor documentation shall

itemize the module information flows and access points by highlighting

or annotating copies of the block diagram required in section 1, and providing

any other documentation necessary to clearly specify the logical interfaces.

For each input to the module or output from the module, the documentation

shall specify the logical interface to which the input or output belongs,

and the physical entry/exit point. The information provided under this

requirement shall be consistent with component information provided for

assertions AS01.01, AS01.02, and AS01.05 under section 1.</LI>





<P>&nbsp;

<LI>

<A NAME="ve020102"></A><B>VE02.01.02</B>: The vendor design shall separate

the module interfaces into logically isolated categories using at least

the categories defined in assertion AS02.02 and (if applicable) AS02.03

in this section. If two or more interfaces share the same physical port,

the vendor shall specify how the information from different interface categories

is kept logically separate.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te020101"></A><B>TE02.01.01</B>: The tester shall verify that

the vendor documentation includes the following information:</LI>





<P>&nbsp;

<OL>

<LI>

A listing or diagram of all logical inputs to the module and outputs from

the module</LI>



<LI>

A listing of all physical input (entry) and output (exit) ports of the

module</LI>



<LI>

A mapping from the logical inputs/outputs to the physical input/output

ports of the module</LI>



<LI>

A highlighted or annotated copy of the block diagram showing the logical

input/output interfaces</LI>

</OL>

The tester shall compare the above information with the information provided

under assertions AS01.01, AS01.04, and AS01.05 and verify that there are

no inconsistencies in the description of components and physical layout

for the input/output ports. (Note that separate pins within one connector

may be considered separate ports.)



<P>&nbsp;

<LI>

<A NAME="te020102"></A><B>TE02.01.02</B>: The tester shall verify from

vendor documentation that the module interfaces are separate for the categories

of interfaces specified in assertions AS02.02 and (if applicable) AS02.03

of this section. In particular, the tester shall verify that the information

flows for the input, output, control, and status interfaces are not mingled

by merging any of them into the same physical interface signal line at

the same time. Note that a module interface may be physically distributed

across more than one port, or two or more module interfaces may physically

share one port as long as the information flows are kept logically separate.

However, if two or more interfaces share the same physical port, the tester

shall verify that the vendor describes a workable scheme for keeping separate

the information flowing through the interfaces.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0202"></A><B>AS02.02: The module shall have at least the

following four logical interfaces: (1, 2, 3, and 4)</B>



<P><B>&nbsp;</B>

<UL>

<LI>

Data input interface</LI>



<LI>

Data output interface</LI>



<LI>

Control input interface</LI>



<LI>

Status output interface</LI>

</UL>

<I>(Relevant Guidance:&nbsp;&nbsp; <A HREF="1401ig-2.htm#2hwlogint">2.5</A> , <A HREF="1401ig-3.htm#5tamplogint">5.2</A>&nbsp;

)</I>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve020201"></A><B>VE02.02.01</B>: The module shall have a data

input interface that is defined in the vendor documentation, including:</LI>





<P>&nbsp;

<OL>

<LI>

Plaintext data</LI>



<LI>

Ciphertext data</LI>



<LI>

Cryptographic keys</LI>



<LI>

Other key management data</LI>



<LI>

Authentication data</LI>



<LI>

Status information</LI>



<LI>

Any other input data</LI>

</OL>



<LI>

<A NAME="ve020202"></A><B>VE02.02.02</B>: The module shall have a data

output interface that is defined in the vendor documentation including:</LI>





<P>&nbsp;

<OL>

<LI>

Plaintext data</LI>



<LI>

Ciphertext data</LI>



<LI>

Cryptographic keys</LI>



<LI>

Other key management data</LI>



<LI>

Authentication data</LI>



<LI>

Control information</LI>



<LI>

Any other output data</LI>

</OL>



<LI>

<A NAME="ve020203"></A><B>VE02.02.03</B>: The module shall have a control

input interface that is defined in the vendor documentation used to control

operation of the module, including input commands, signals, data, and manual

inputs.</LI>





<P>&nbsp;

<LI>

<A NAME="ve020204"></A><B>VE02.02.04</B>: The module shall have a status

output interface that is defined in the vendor documentation used to indicate

or display the status of the module including output data, signals, indicators,

and physical indicators.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te020201"></A><B>TE02.02.01</B>: The tester shall verify from

vendor documentation that the module has a data input interface that includes

any of the following to be input or processed by the module:</LI>





<P>&nbsp;

<OL>

<LI>

Plaintext data that is to be encrypted or authenticated in the module.</LI>



<LI>

Ciphertext data that is to be decrypted in the module.</LI>



<LI>

Cryptographic keys that are input into and used by the module.</LI>



<LI>

Other key management data that is input into the module (depending on the

module functions, this might include initialization vectors, counters,

zeroization commands, split key information, or key accounting information).

(Other key management requirements are covered in section 8.)</LI>



<LI>

Authentication data that is input into the module.</LI>



<LI>

Status information from outside the module (for example received from another

module).</LI>



<LI>

Any other information that is input into the module for processing or storage

except for control information which is covered separately in VE02.02.03

and TE02.02.03 below.</LI>



<LI>

Note that for security levels 1 and 2, the data input port or ports for

cryptographic keys, authentication data, and other critical security parameters

may be shared with other ports of the module. (Corresponding requirements

for security levels 3 and 4 are covered separately under assertion AS02.13

in this section.)</LI>

</OL>



<LI>

<A NAME="te020202"></A><B>TE02.02.02</B>: The tester shall verify from

vendor documentation that the module has a data output interface that includes

any of the following to be output by the module:</LI>





<P>&nbsp;

<OL>

<LI>

Plaintext data that has been decrypted by the module.</LI>



<LI>

Ciphertext data that has been encrypted by the module.</LI>



<LI>

Cryptographic keys that are generated within and output from the module.</LI>



<LI>

Other key management data that is output from the module (depending on

the module functions, this might include initialization vectors, counters,

zeroization commands, split key information, or key accounting information).

(Other key management requirements are covered in section 8.)</LI>



<LI>

Authentication data that is output from the module.</LI>



<LI>

Control information sent outside the module (for example to be sent to

another module).</LI>



<LI>

Any other information that is output from the module after processing or

storage except for status information that is covered separately in VE02.02.04

and TE02.02.04 below.</LI>

</OL>

Note that for security levels 1 and 2, the data output port or ports for

cryptographic keys, authentication data, and other critical security parameters

may be shared with other ports of the module. (Corresponding requirements

for security levels 3 and 4 are covered separately under assertion AS02.13

in this section.)



<P>&nbsp;

<LI>

<A NAME="te020203"></A><B>TE02.02.03</B>: The tester shall verify from

vendor documentation that the module has a control input interface that

is used to enter information that controls the operation of the module

(as opposed to input data which is processed or stored by the module as

defined in VE02.02.01 and TE02.02.01 in this section), including any:</LI>





<P>&nbsp;

<OL>

<LI>

Input commands</LI>



<LI>

Input signals</LI>



<LI>

Input data</LI>



<LI>

Manual inputs (such as switches, buttons, and keyboards)</LI>

</OL>



<LI>

<A NAME="te020204"></A><B>TE02.02.04</B>: The tester shall verify from

vendor documentation that the module has a status output interface that

is used to output information that indicates or displays the status of

the module (as opposed to data output as defined in VE02.02.02 and TE02.02.02

in this section) including any:</LI>





<P>&nbsp;

<OL>

<LI>

Output data</LI>



<LI>

Output signals</LI>



<LI>

Output indicators</LI>



<LI>

Status codes</LI>



<LI>

Physical indicators (such as lights, LEDs, buzzers, and displays)</LI>

</OL>

</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0203"></A><B>AS02.03: The module may include the following

logical interfaces: (1, 2, 3, and 4)</B>



<P><B>&nbsp;</B>

<UL>

<LI>

<B>Power interface</B></LI>



<LI>

<B>Maintenance access interface</B></LI>





<P><B>&nbsp;</B></UL>

<I>(Relevant Guidance:&nbsp;&nbsp; <A HREF="1401ig-2.htm#2maintint">2.1</A>

,&nbsp; )</I>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve020301"></A><B>VE02.03.01</B>: If the module accepts or provides

external power, it shall have a power interface well defined in the vendor

documentation that includes any entry or exit points for the power.</LI>





<P>&nbsp;

<LI>

<A NAME="ve020302"></A><B>VE02.03.02</B>: If the module allows access for

maintenance purposes, it shall have a maintenance access interface, well

defined in the vendor documentation, that includes any of the following

inputs, outputs, or accesses used to maintain, service, or repair the module:</LI>





<P>&nbsp;

<OL>

<LI>

Data</LI>



<LI>

Control information</LI>



<LI>

Status information</LI>



<LI>

All physical access paths</LI>

</OL>

Any data, control, or status information used to maintain, service, or

repair the module shall enter and exit via the maintenance access interface.



<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te020301"></A><B>TE02.03.01</B>: The tester shall determine whether

the module uses power from an external source or provides power to an external

source. If either or both of these conditions are met, the tester shall

verify from vendor documentation that the vendor documentation shows that

a logically separate power interface is provided. Note that a power interface

is not required when all power is provided or maintained internally to

the module (e.g., battery power or solar power).</LI>





<P>&nbsp;

<LI>

<A NAME="te020302"></A><B>TE02.03.02</B>: The tester shall determine whether

the module allows access for maintenance purposes. If so, the tester shall

verify from vendor documentation that the vendor documentation shows a

logically separate maintenance interface is provided. The tester shall

verify that documentation on the maintenance interface, if present, includes

all of the following information that is used to maintain, service, or

repair the module:</LI>





<P>&nbsp;

<OL>

<LI>

Data input into the module that may include test data to fill module storage

with known data or to put the module into a known state.</LI>



<LI>

Data output from the module (for example: for checking against known correct

data or for other correctness checks).</LI>



<LI>

Control information that puts the module into specific states required

for maintenance.</LI>



<LI>

Status information that indicates the state of the module before, during,

or after maintenance actions.</LI>



<LI>

All physical access paths including removable covers and doors used to

gain physical access to the contents of the module.</LI>



<LI>

(Other requirements on the maintenance interface are covered separately

under assertions AS02.05 through AS02.08 in this section. Some requirements

relating to physical access are covered in section 5.)</LI>

</OL>

</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0204"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve020401"></A><B>VE02.04.01</B>: The vendor design shall ensure

that all data output via the data output interface is inhibited whenever

the module is in an error state, as documented in section 4, and the vendor

documentation shall describe how this is done.</LI>





<P>&nbsp;

<LI>

<A NAME="ve020402"></A><B>VE02.04.02</B>: The vendor design shall ensure

that all data output via the data output interface is inhibited whenever

the module is in a self-test condition, as documented in section 11, and

the vendor documentation shall describe how this is done.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te020401"></A><B>TE02.04.01</B>: The tester shall verify that

the vendor documentation shows that all data output via the data output

interface is inhibited whenever the module is in any error state. In particular,

the tester shall verify from vendor documentation that once an error condition

is detected and the error state is entered, all data output via the data

output interface must be inhibited, unless and until error recovery, if

any, is complete. (Some status output may be allowed to assist in determining

the type of error, as long as it is clear that no potentially sensitive

information could be released.) The tester shall also verify that the error

states discussed in vendor documentation in response to this requirement

are identical to those documented in the finite state machine model of

section 4 (requirement VE04.00).</LI>





<P>&nbsp;

<LI>

<A NAME="te020402"></A><B>TE02.04.02</B>: To the extent the module design

and operating procedures allow, the tester shall put the module in each

error state and verify that all data output via the data output interface

is disallowed. (Limited status information that may be useful in determining

the type of error is allowed as long as no potentially sensitive information

is released.) The error state should be induced by at least the following

actions, if applicable and practical: opening a tamper protected area,

entering an incorrect key, reducing input voltage,and any other possible

error-inducing actions.</LI>





<P>&nbsp;

<LI>

<A NAME="te020403"></A><B>TE02.04.03</B>: The tester shall verify that

the vendor documentation shows all data output is inhibited whenever the

module is in any self-test condition. The tester shall also verify that

the self-test conditions discussed in vendor documentation in response

to this requirement are identical to those documented in the self tests

of section 11 (requirements VE11.01.01 and TE11.01.01).</LI>





<P>&nbsp;

<LI>

<A NAME="te020404"></A><B>TE02.04.04</B>: If the module design and operating

procedures allow it, the tester shall put the module in a self-test state

and verify that data output is disallowed.</LI>





<P>&nbsp;

<LI>

<A NAME="te020405"></A><B>TE02.04.05</B>: The tester shall verify that

the vendor documentation shows how the data output is to be inhibited,

to ensure that the alarm or self-test indications can logically inhibit

the data output interface, and that the data output lines are, in fact,

inhibited under any reasonable conditions (for example: a logical switch

connected to an alarm indicator line could open an output line).</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0205"></A><B>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)</B>



<P><I>(Relevant Guidance: <A HREF="1401ig-2.htm#3maintzero">3.6</A>)</I>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve020501"></A><B>VE02.05.01</B>: The vendor documentation shall

specify how the design ensures that any removable covers or doors of a

maintenance access interface meet the physical security requirements of

section 5.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te020501"></A><B>TE02.05.01</B>: The tester shall determine whether

the vendor documentation states that a maintenance access interface is

provided and any removable covers or doors are provided. If so, the tester

shall refer to the evaluation of requirements in section 5 to ensure that

all applicable physical security requirements of that section are met (requirements

TE05.10.04, TE05.17.01, TE05.19.01, or TE05.20.04 as appropriate for the

physical configuration and security level of module).</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0206"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve020601"></A><B>VE02.06.01</B>: The vendor documentation shall

specify how the module design and maintenance accesses, if any, ensure

that any maintenance actions or physical modifications are restricted to

the maintenance role(s) defined under section 3.1.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te020601"></A><B>TE02.06.01</B>: If vendor documentation states

that a maintenance access interface is provided, the tester shall verify

that the vendor documentation required under assertion AS02.08 in this

section defines these actions in sufficient detail to allow the tester

to determine whether the requirements of this assertion are met. The tester

shall verify that the maintenance actions defined here are consistent with

those defined in the maintenance role requirements of section 3.1 and shall

also verify that the evaluation against section 3.1 shows that all applicable

maintenance role requirements are met.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0207"></A><B>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)</B>



<P><I>(Relevant Guidance:&nbsp;&nbsp; <A HREF="1401ig-2.htm#2zeroize">2.2</A>

, <A HREF="1401ig-2.htm#3maintzero">3.6</A>&nbsp; )</I>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve020701"></A><B>VE02.07.01</B>: The vendor shall ensure that

all of the module's plaintext keys and other critical security parameters,

as defined in section 2.1 of FIPS PUB 140-1, are actively zeroized when

the maintenance interface is accessed. The vendor documentation shall show

how this requirement is met.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te020701"></A><B>TE02.07.01</B>: If vendor documentation states

that a maintenance access interface is provided, the tester shall verify

that the vendor documentation shows that all operational plaintext keys

and other unprotected critical security parameters contained in the module

are actively zeroized as defined in TE02.07.02 when accessing the maintenance

interface. Critical security parameters are defined in section 2.1 of FIPS

PUB 140-1 to consist of cryptographic keys, authentication data such as

passwords and personal identification numbers, and any other security-related

information that is in a plaintext or other unprotected form, and that,

if disclosed or modified, could compromise the security of the module or

the security of information handled by the module.</LI>





<P>&nbsp;

<LI>

<A NAME="te020702"></A><B>TE02.07.02</B>: If the module has a maintenance

access interface, the tester shall verify from vendor documentation that

zeroization includes actively erasing keys and parameters by overwriting

or otherwise altering them. Zeroization techniques may include overwriting

memory, or shorting memory to ground if the vendor shows that this drains

off all charge within a few seconds. However, just removing power to memory

and allowing charge to slowly dissipate is not sufficient. If the module

design and operating procedures allow it, the tester shall access the maintenance

interface while the unit is powered up, and verify that all operational

keys are zeroized (for example by attempting to encrypt or decrypt data

and observing that these actions are not possible, by obtaining a report

of active keys and observing that no normal keys are usable, etc.)</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0208"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve020801"></A><B>VE02.08.01</B>: Vendor documentation shall define

in detail all procedures, if any, by which authorized maintenance actions

for the module are performed. These procedures shall be consistent with

documentation provided under other requirements of this and all other sections.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te020801"></A><B>TE02.08.01</B>: If vendor documentation states

that a maintenance access interface is provided, the tester shall verify

that the vendor documentation specifies all maintenance actions that are

authorized for the module in sufficient detail to allow evaluation of the

requirements of other sections. In particular, the tester shall verify

that the maintenance procedures defined here are consistent with the maintenance

roles of section 3.1, the maintenance states of section 4, and any physical

tamper protection of section 5.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0209"></A><B>AS02.09: Documentation shall include a complete

specification describing each of the logical interfaces of the module.

(1, 2, 3, and 4)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve020901"></A><B>VE02.09.01</B>: Documentation shall include a

complete specification describing each of the interfaces of the module,

including any:</LI>





<P>&nbsp;

<OL>

<LI>

Physical or logical ports and their pin assignments</LI>



<LI>

Physical covers and doors or openings</LI>



<LI>

Manual or logical controls</LI>



<LI>

Physical or logical status indicators</LI>



<LI>

Physical, logical, and electrical characteristics, as applicable, of the

above interfaces</LI>

</OL>

</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te020901"></A><B>TE02.09.01</B>: The tester shall verify that

vendor documentation specifies the required interfaces of the module in

sufficient detail to allow evaluation of the requirements under section

4.2 of FIPS PUB 140-1. The tester shall verify that this documentation

is consistent with, or combined with, the description of information flows

required under assertions AS01.01 and AS02.01. The required interfaces

and their associated documentation shall include:</LI>





<P>&nbsp;

<OL>

<LI>

Physical or logical input and output data ports, including pin assignments,

physical locations within the module, a summary of the logical signals

that flow through each port, and the timing sequence of data flows if two

or more signals share the same physical interface.</LI>



<LI>

Physical covers, doors, or openings, including their physical location

within the module and the components and functions that could be accessed

or modified via each cover/door/opening.</LI>



<LI>

Manual or logical controls, including their physical location within the

module and a summary of the control signals that are input via the control

interface.</LI>



<LI>

Physical or logical status indicators, including their physical location

within the module and a summary of the status indication signals that are

output via the status interface.</LI>



<LI>

Physical, logical, and electrical characteristics, as applicable, of the

above interfaces, including summaries of pin placements, signals carried

on each port, voltage levels and their logical significance (e.g., what

a low or high voltage signifies in terms of a logic "0", "1", or other

meaning) and the timing of signals.</LI>



<LI>

Any other logical interfaces that the module possesses that are necessary

for proper functioning of the module.</LI>

</OL>

</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0210"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve021001"></A><B>VE02.10.01</B>: The vendor documentation shall

describe all physical and logical input and output data paths in sufficient

detail to specify all major categories of information input, processed,

and output by the module. All input data entering the module via the data

input interface shall only pass through the input data path. All output

data exiting the module via the data output interface shall only pass through

the output data path.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te021001"></A><B>TE02.10.01</B>: The tester shall verify that

the vendor documentation defines the physical and logical paths, for both

input and output, to the level of detail required below. The data paths

must be systematically itemized (for example: by highlighting or annotating

copies of the block diagram or other information required under AS01.01,

AS01.02, and AS01.05). The data paths must be defined in sufficient detail

to completely specify which information passes through each port and to

summarize the processing performed on the information by each module subsection

between input and output.</LI>





<P>&nbsp;

<LI>

<A NAME="te021002"></A><B>TE02.10.02</B>: The tester shall verify from

vendor documentation that all input data, other than control information,

enters the module only via the defined data input interface port or ports

and then flows only through the defined input data path. The tester shall

also verify from vendor documentation that all output data, other than

status information, flows only through the defined output data path and

then leaves the module only via the defined data output interface port

or ports. The tester shall examine both logical information flows, concentrating

on the processing performed upon data and the logical relationships between

data, and physical data flows, concentrating on the physical location in

the module of data paths and data processing. If the tester finds any potential

conflicts that could lead to misrouting of sensitive data, clarifying information

shall be requested from the vendor if necessary.</LI>

</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0211"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve021101"></A><B>VE02.11.01</B>: If there is any possibility that

the module design could allow plaintext cryptographic keys or other critical

security parameters to be output on any ports, the design shall require

two independent internal actions before output occurs at such ports. In

this case, the vendor documentation shall define what these actions are

and how they protect against inadvertent release of critical security parameters.

This documentation shall include specification of the module functional

areas (whether in hardware and/or software) in which the two independent

actions are performed.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te021101"></A><B>TE02.11.01</B>: The tester shall determine from

vendor documentation whether it is possible to output plaintext keys or

other critical security parameters (as defined in section 2.1 of FIPS PUB

140-1). If so, the tester shall verify that the documentation specifies

two independent internal actions that must take place before release of

any data is allowed on any ports that could release critical security parameters.

The independent actions must be logical or physical changes to two areas

of the module that are sufficiently independent in function, and separated

in location, that a malfunction to one area will not affect the proper

functioning of the other area.</LI>





<P>&nbsp;

<LI>

<A NAME="te021102"></A><B>TE02.11.02</B>: The tester shall verify that

the dual internal actions specified in TE02.11.01 above, and the module

areas which are exercised, are consistent with the module description required

under assertions AS01.01 and AS01.05. If any software or firmware is executed

in the process of outputting data , the tester shall examine the source

code listings, if practical, to ensure that the software supports the requirement

for two independent actions before data is output from the affected ports.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0212"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve021201"></A><B>VE02.12.01</B>: The vendor documentation shall

show that the design of the module ensures logical separation of the output

data path from processes performing generation, manual entry, and zeroization

of cryptographic keys.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te021201"></A><B>TE02.12.01</B>: The tester shall verify that

vendor documentation demonstrates that the output data path, as defined

under AS02.10, is logically disconnected from processes performing key

generation, manual key entry, and key zeroization. This requirement implies

that the specified key processes cannot pass information to the output

data path, and that the output data path cannot interfere in any way with

the key processes. If the key and data paths are physically shared to any

extent (which is allowed for levels 1 and 2), the tester shall verify that

the vendor documentation shows how the module design enforces separation

of the key and other output data under any reasonable conditions, including

any checks, alarms, or shut-offs that enforce this separation. Such protective

measures might include separation of key and output data processes in location

(separate paths and ports for keys versus other data), or time (so that

no output is allowed during key processing, for example), or the use of

software isolation (header tags and checking, multilevel security isolation,

etc.)</LI>





<P>&nbsp;

<LI>

<A NAME="te021202"></A><B>TE02.12.02</B>: If it is practical, and the module

design and operating procedures permit it, the tester shall record or observe

data on the output data port or ports while performing possible key functions

(such as generation, manual entry, and zeroization) and verify that no

critical security parameters (as defined in section 2.1 of FIPS PUB 140-1)

are released.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0213"></A><B>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)</B>



<P><I>(Relevant Guidance:&nbsp;&nbsp; <A HREF="1401ig-2.htm#2pubkeyio">2.3</A>

, <A HREF="1401ig-2.htm#2physport">2.4</A>&nbsp; )</I>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve021301"></A><B>VE02.13.01</B>: For security levels 3 and 4,

if the module design requires use of unprotected critical security parameters,

including plaintext cryptographic keys or plaintext authentication data,

data ports for input or output of these parameters shall be physically

separated from all other ports. The vendor documentation shall show how

this is done.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te021301"></A><B>TE02.13.01</B>: For security levels 3 and 4,

the tester shall determine from vendor documentation whether the module

requires input or output of unprotected critical security parameters as

defined in section 2.1 of FIPS PUB 140-1. If so, the tester shall verify,

from vendor documentation and also by physical inspection of the ports

on the module, that both the corresponding critical security parameter

input and output ports are physically separate from all other ports. The

tester shall also verify that only unprotected critical security parameters,

including plaintext cryptographic keys or plaintext authentication data,

enter or exit the module through these ports. The tester shall verify that

any documentation on data paths provided by the vendor in connection with

this requirement is consistent with, or contained in, documentation provided

in connection with assertion AS02.10. (Note that separate pins within one

connector may be considered separate ports.)</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0214"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve021401"></A><B>VE02.14.01</B>: For security levels 3 and 4,

if the module design requires use of unprotected critical security parameters,

including plaintext cryptographic keys or plaintext authentication data,

data ports for input or output of these parameters shall be directly connected

to the cryptographic boundary without passing through any processors, complex

logic blocks, or module areas performing functions unrelated to key handling

which are outside the cryptographic boundary. The vendor documentation

shall show how this is done.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te021401"></A><B>TE02.14.01</B>: For security levels 3 and 4,

the tester shall determine from vendor documentation whether the module

requires input or output of unprotected critical security parameters as

defined in section 2.1 of FIPS PUB 140-1. If so, the tester shall verify

that the vendor documentation defines the path between the input or output

ports and the cryptographic boundary. The tester shall then verify that

the above security parameters pass directly between the input/output ports

and the cryptographic boundary without unnecessarily passing through other

module components. In particular, while outside the cryptographic boundary,

the security parameters must not pass through any general-purpose processors

that have functions other than handling security parameters, nor through

any areas handling unrelated input or output functions. (Temporary display

of manually entered encrypted keys is allowed as described under AS08.12.)</LI>





<P>&nbsp;

<LI>

<B>General</B>: Documentation of input, output, control, or status interfaces

must also include identification of any external input/output devices to

be used with module, such as keypads, displays, smart cards, etc.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=75%>

<H2>

<A NAME="sec3"></A>3. ROLES AND SERVICES</H2>



<H3>

Roles</H3>

<A NAME="as0301"></A><B>AS03.01: Documentation shall provide a complete

specification of all of the authorized roles supported by the module. (1,

2, 3, and 4)</B>



<P><I>(Relevant Guidance:&nbsp;&nbsp; <A HREF="1401ig-2.htm#3maint">3.1</A>

, <A HREF="1401ig-2.htm#3delinserv">3.2</A>&nbsp; )</I>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve030101"></A><B>VE03.01.01</B>: Vendor documentation shall specify

each distinct authorized role, including its name, purpose, and the services

that are performed in the role.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te030101"></A><B>TE03.01.01</B>: The tester shall review the vendor

documentation and verify that, for each defined role, the name, purpose,

and available services for this role are specified. The roles that should

be described are as follows:</LI>





<P>&nbsp;

<OL>

<LI>

Crypto-officer role (one or more)</LI>



<LI>

User role (one or more)</LI>



<LI>

Maintenance role (only if the module includes a maintenance interface)</LI>



<LI>

Other roles</LI>

</OL>



<LI>

<A NAME="te030102"></A><B>TE03.01.02</B>: The tester shall assume each

of the authorized roles described in the vendor documentation and verify

that each of them can be assumed. Verification of the services that are

designated for each role will be performed under AS03.07.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0302"></A><B>AS03.02: The cryptographic module shall, at

a minimum, support the following authorized roles: (1, 2, 3, and 4)</B>



<P><B>&nbsp;</B>

<UL>

<LI>

<B>User role: The role assumed by an authorized user obtaining security

services, performing cryptographic operations, or other authorized functions.</B></LI>



<LI>

<B>Crypto-officer role: The role assumed by an authorized crypto officer

performing a set of cryptographic initialization or management functions

(e.g., cryptographic key and parameter entry, cryptographic key cataloging,

audit functions, and alarm resetting).</B></LI>

</UL>

<I>(Relevant Guidance:&nbsp;&nbsp; <A HREF="1401ig-2.htm#3delinserv">3.2</A>

,&nbsp; )</I>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve030201"></A><B>VE03.02.01</B>: In the documentation required

to satisfy VE03.01.01 above, the vendor shall include at least one user

role and one crypto-officer role.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te030201"></A><B>TE03.02.01</B>: The tester shall review the vendor

documentation and verify that, in the specification of the authorized roles,

at least one user role and at least one crypto-officer role are defined.

These roles shall be specified by name, purpose, and allowed services.

These roles shall be described as specified in AS03.02.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0303"></A><B>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)</B>



<P><I>(Relevant Guidance: <A HREF="1401ig-2.htm#3maintzero">3.6</A>)</I>





<P><B>&nbsp;</B>

<UL>

<LI>

<B>Maintenance role: The role assumed by an authorized maintenance person

accessing the maintenance access interface and/or performing specific maintenance

tests and obtaining interim results in order to maintain, service or repair

the module.</B></LI>





<P><B>&nbsp;</B></UL>



<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve030301"></A><B>VE03.03.01</B>: If the module has a maintenance

interface, the vendor documentation shall explicitly state a maintenance

role is supported. The documentation shall completely specify the role

by name, purpose, and allowed services. Note that the maintenance role

involves accessing and running tests on the module while it is operational;

it does not involve any physical maintenance. The maintenance is a role

that can be assumed by an operator and recognized by the module.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te030301"></A><B>TE03.03.01</B>: The tester shall check the specifications

of the module interfaces to determine whether a maintenance interface is

specified (see AS02.03). If so, the tester shall check the vendor documentation

pertaining to the authorized roles and verify that the maintenance role

is specified by name, purpose, and allowed services.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0304"></A><B>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)</B>



<P><I>(Relevant Guidance: <A HREF="1401ig-2.htm#3maintzero">3.6</A>)</I>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve030401"></A><B>VE03.04.01</B>: The vendor shall ensure all of

the module's plaintext secret and plaintext private keys and critical security

parameters, as defined in section 2.1 of FIPS PUB 140-1, are actively zeroized

when the maintenance role is entered. Note that the maintenance role is

an active role (i.e., the module must still be powered up in order to assume

the role). The vendor documentation shall specify how this requirement

is met. Methods for zeroization could include, but not be limited to, software

or firmware code or the automatic assertion of certain signals within the

module.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te030401"></A><B>TE03.04.01</B>: If vendor documentation states

that a maintenance role is implemented in the module, the tester shall

verify that the vendor documentation specifies the method by which plaintext

secret and plaintext private keys and critical security parameters are

zeroized when the maintenance role is entered. Critical security parameters

are defined in section 2.1 of FIPS PUB 140-1 to consist of cryptographic

keys, authentication data such as passwords and personal identification

numbers (PINs) and any other security-related information that is in plaintext

or otherwise unprotected form and that, if disclosed or modified, could

compromise the security of the module or of information handled by the

module.</LI>





<P>&nbsp;

<LI>

<A NAME="te030402"></A><B>TE03.04.02</B>: If the module implements a maintenance

role, the tester shall verify from vendor documentation that zeroization

is performed as defined in TE02.07.02.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0305"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve030501"></A><B>VE03.05.01</B>: The vendor shall ensure all of

the module's maintenance keys and other critical security parameters are

actively zeroized when the maintenance role is exited. The vendor documentation

shall specify how this requirement is met. Methods for zeroization could

include, but not be limited to, software or firmware code or the automatic

assertion of certain signals within the module.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te030501"></A><B>TE03.05.01</B>: If vendor documentation states

that a maintenance role is implemented in the module, the tester shall

verify that the vendor documentation specifies the method by which maintenance

keys and other critical security parameters are zeroized when the maintenance

role is exited. Critical security parameters are defined in section 2.1

of FIPS PUB 140-1 to consist of cryptographic keys, authentication data

such as passwords and personal identification numbers (PINs) and any other

security-related information that is in plaintext or otherwise unprotected

form and that, if disclosed or modified, could compromise the security

of the module or of information handled by the module.</LI>





<P>&nbsp;

<LI>

<A NAME="te030502"></A><B>TE03.05.02</B>: If the module implements a maintenance

role, the tester shall verify from vendor documentation that zeroization

is performed as defined in TE02.07.02.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0306"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve030601"></A><B>VE03.06.01</B>: The vendor documentation shall

specify whether multiple concurrent operators are allowed. If so, the vendor

shall describe the method by which separation of the authorized roles and

services performed by each operator is achieved. The vendor documentation

shall also describe any restrictions on concurrent operators (e.g., one

operator in a maintenance role and another in a user role simultaneously

is not allowed).</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te030601"></A><B>TE03.06.01</B>: The tester shall review the vendor

documentation and verify that the method is described by which the module

enforces separation between the roles and services performed by concurrent

operators.</LI>





<P>&nbsp;

<LI>

<A NAME="te030602"></A><B>TE03.06.02</B>: The tester shall take on the

identity of two independent operators: Operator1 and Operator2. The operators

shall assume two different roles. The tester shall verify that only the

services allocated to the role assumed by each operator can be performed

in that role. The tester shall also attempt, for each operator, to access

services that are unique to the role assumed by the other operator in order

to verify that separation is maintained between the roles and services

allowed in concurrent operators.</LI>





<P>&nbsp;

<LI>

<A NAME="te030603"></A><B>TE03.06.03</B>: If the vendor documentation specifies

any restrictions on concurrent operators, the tester shall attempt to violate

the restrictions by attempting to concurrently assume restricted roles

as independent operators and verify that the module enforces the restrictions

by preventing the second operator from assuming the role.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=35%>

<H3>

Services</H3>

<A NAME="as0307"></A><B>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)</B>



<P><I>(Relevant Guidance: <A HREF="1401ig-2.htm#3delinserv">3.2</A> , <A HREF="1401ig-2.htm#3showstat">3.3</A>&nbsp;

)</I>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve030701"></A><B>VE03.07.01</B>: The vendor documentation shall

fully describe each service including its purpose and function. The possible

services may include, but not be limited to, the following:</LI>





<P>&nbsp;

<OL>

<LI>

Cryptographic operations, such as:</LI>





<P>&nbsp;

<UL>

<LI>

Encryption</LI>



<LI>

Decryption</LI>



<LI>

Message integrity</LI>



<LI>

Digital signature generation</LI>



<LI>

Digital signature verification</LI>



<LI>

Other operations that require the use of cryptography</LI>

</UL>



<LI>

Key management operations, such as:</LI>





<P>&nbsp;

<UL>

<LI>

Key and parameter entry</LI>



<LI>

Key generation</LI>



<LI>

Key output</LI>



<LI>

Key archiving</LI>



<LI>

Key zeroization</LI>



<LI>

Other key management functions</LI>

</UL>



<LI>

Cryptographic management functions, such as:</LI>





<P>&nbsp;

<UL>

<LI>

Audit parameter entry and setting</LI>



<LI>

Alarm handling and resetting</LI>



<LI>

Other cryptographic management functions</LI>

</UL>



<LI>

Performance of operator-selectable self tests, such as:</LI>





<P>&nbsp;

<UL>

<LI>

Cryptographic algorithm tests</LI>



<LI>

Software/firmware tests</LI>



<LI>

Critical functions tests</LI>



<LI>

Statistical random number generator tests</LI>



<LI>

Any additional tests that can be initiated by an operator</LI>

</UL>



<LI>

"Show Status" that would indicate the following:</LI>





<P>&nbsp;

<UL>

<LI>

Active role(s)</LI>



<LI>

Cryptographic state of module (zeroized, tampered, loaded, initialized,

etc.)</LI>



<LI>

If module is in error state, error code.</LI>



<LI>

If bypass capability exists, whether the bypass capability is enabled or

disabled.</LI>

</UL>



<LI>

Performance of maintenance tests</LI>





<P>&nbsp;

<LI>

Cryptographic bypass</LI>





<P>&nbsp;</OL>



<LI>

<A NAME="ve030702"></A><B>VE03.07.02</B>: The vendor documentation shall

specify, for each service, the service inputs, corresponding service outputs,

and the authorized role or roles in which the service can be performed.

Service inputs shall consist of all data or control inputs to the module

that initiate or obtain specific services, operations, or functions. Service

outputs shall consist of all data and status outputs that result from services,

operations or functions initiated or obtained by service inputs. The vendor

may supply a matrix that displays the services that can be performed in

each role.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te030701"></A><B>TE03.07.01</B>: The tester shall check the vendor

documentation and verify that the purpose and function of each service

is described. The tester shall also check that the following information

is specified for each service: service inputs, corresponding service outputs,

and the authorized role or roles in which the service can be performed.</LI>





<P>&nbsp;

<LI>

<A NAME="te030702"></A><B>TE03.07.02</B>: The tester shall check the vendor

documentation and verify that, for the indicated roles, the listed services,

at a minimum, may be allowed:</LI>





<P>&nbsp;

<OL>

<LI>

User role, such as:</LI>





<P>&nbsp;

<UL>

<LI>

Cryptographic operations (may be allowed to access a subset of those listed

in VE03.07.01)</LI>



<LI>

Key management functions</LI>



<LI>

"Show Status"</LI>



<LI>

Performance of operator selectable self-tests</LI>



<LI>

Cryptographic bypass</LI>

</UL>



<LI>

Crypto-officer role, such as:</LI>





<P>&nbsp;

<UL>

<LI>

Key management functions</LI>



<LI>

Cryptographic management functions</LI>



<LI>

"Show Status"</LI>



<LI>

Performance of operator selectable tests</LI>



<LI>

Cryptographic bypass</LI>

</UL>



<LI>

Maintenance role, such as:</LI>





<P>&nbsp;

<UL>

<LI>

Subset of key management functions (for entry of maintenance keys)</LI>



<LI>

Cryptographic operations (may be allowed to access a subset of those listed

in VE03.07.01)</LI>



<LI>

"Show Status"</LI>



<LI>

Performance of operator-selectable self-tests</LI>



<LI>

Performance of maintenance tests</LI>



<LI>

Cryptographic bypass</LI>

</UL>

</OL>



<LI>

<A NAME="te030703"></A><B>TE03.07.03</B>: The tester shall verify the accuracy

of the vendor-supplied documentation. The tester shall perform the following

tests for each role:</LI>





<P>&nbsp;

<OL>

<LI>

Perform each of the specified services for the role to verify that they

have been implemented for that role.</LI>



<LI>

Enter each of the specified service inputs and observe that they result

in the specified service outputs.</LI>



<LI>

Attempt to perform services that are not specified for the role to verify

that they have not been implemented for that role.</LI>

</OL>

</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0308"></A><B>AS03.08: A cryptographic module shall, at a

minimum, provide the following services: (1, 2, 3, and 4)</B>



<P><B>&nbsp;</B>

<UL>

<LI>

<B>Show Status: Output the current status of the module</B></LI>



<LI>

<B>Self-test: Initiate and run the self-tests as specified in section 4.11.</B></LI>





<P><B>&nbsp;</B></UL>

<I>(Relevant Guidance:&nbsp;&nbsp; <A HREF="1401ig-2.htm#3showstat">3.3</A>

,&nbsp; )</I>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve030801"></A><B>VE03.08.01</B>: The vendor documentation shall

describe the output of the current status of the module and the initiation

and running of user callable self-tests, along with other services as specified

by VE03.07.01.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te030801"></A><B>TE03.08.01</B>: The tester shall check the vendor

documentation to verify that the "Show Status" status service and the user

callable self-test initiation service are each allocated to at least one

authorized role. The tester shall verify that these services are described

as specified in AS.03.07.</LI>





<P>&nbsp;

<LI>

<A NAME="te030802"></A><B>TE03.08.02</B>: Verification that the "Show Status"

can be initiated for designated roles was performed under TE03.07.03. In

addition, the tester shall verify that what the "Show Status" reports matches

the vendor documentation.</LI>





<P>&nbsp;

<LI>

<A NAME="te030803"></A><B>TE03.08.03</B>: Verification that the module

provides for the initiation and running of self-tests as specified in section

4.11 was performed under TE03.07.03. If the module does not provide this

service for at least one authorized role, this assertion fails.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0309"></A><B>AS03.09: A cryptographic module may optionally

provide the following service: (1, 2, 3, and 4)</B>



<P><B>&nbsp;</B>

<UL>

<LI>

<B>Bypass: Activate or deactivate a bypass capability whereby services

are provided without cryptographic processing (e.g., transferring plaintext

through the module).</B></LI>





<P><B>&nbsp;</B></UL>



<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve030901"></A><B>VE03.09.01</B>: If the module implements a bypass

capability, the vendor documentation shall describe the bypass service

as specified in AS03.09.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te030901"></A><B>TE03.09.01</B>: The tester shall determine whether

the bypass capability is implemented by the module. If so, the tester shall

check the vendor documentation to verify that the bypass capability is

allocated to at least one authorized role. The tester shall verify that

this service is described as specified in AS.03.09.</LI>





<P>&nbsp;

<LI>

<A NAME="te030902"></A><B>TE03.09.02</B>: Verification that the bypass

capability can be performed for designated roles was tested in TE03.07.03.

If the bypass capability cannot be initiated by at least one role, this

assertion fails.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0310"></A><B>AS03.10: If a cryptographic module implements

a bypass capability, then: (1, 2, 3, and 4)</B>



<P><B>&nbsp;</B>

<UL>

<LI>

<B>In order to prevent the inadvertent bypass of data due to a single failure,

two independent internal actions shall be implemented to activate the bypass

capability.</B></LI>





<P><B>&nbsp;</B>

<LI>

<B>The current status of the module (e.g., the response to a "Show Status"

service request) shall indicate whether or not the bypass capability is

activated.</B></LI>





<P><B>&nbsp;</B></UL>

<B>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.</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve031001"></A><B>VE03.10.01</B>: The finite state machine diagram

and description documentation shall indicate, for all transitions into

a bypass state, the two independent internal actions that are required

to transition into that bypass state. In the vendor documentation for the

"Show Status" service, the ability to output whether the bypass capability

is enabled or disabled must be included.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te031001"></A><B>TE03.10.01</B>: The tester shall review the finite

state diagram and description to determine whether each transition into

a bypass state shows two independent internal actions that must occur in

order for the cryptographic module to transition into the bypass state.</LI>





<P>&nbsp;

<LI>

<A NAME="te031002"></A><B>TE03.10.02</B>: The tester shall attempt to transition

to each bypass state from each state that shows such a transition, and

determine that it takes two internal actions to accomplish each such transition.</LI>





<P>&nbsp;

<LI>

<A NAME="te031003"></A><B>TE03.10.03</B>: Tester verification of the vendor

documentation for the "Show Status" service was performed under TE03.08.01

and TE03.08.02. If the bypass capability exists, then the results of the

verification should indicate that a "Show Status" service request shows

that the bypass capability is enabled or disabled; otherwise, this assertion

fails.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0311"></A><B>AS03.11: Each service input shall result in

a service output. (1, 2, 3, and 4)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve031101"></A><B>VE03.11.01</B>: The vendor documentation shall

indicate service outputs for each service input.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te031101"></A><B>TE03.11.01</B>: The validation of the specification

of a service output for each service input is covered by TE03.07.01. The

testing of the status inputs and outputs is covered by TE03.07.03. The

results of the verification should indicate that each service input has

a corresponding service output as documented by the vendor; otherwise,

this assertion fails.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=35%>

<H3>

OPERATOR AUTHENTICATION</H3>



<H4>

<U>General</U></H4>

<A NAME="as0312"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve031201"></A><B>VE03.12.01</B>: If means are provided to control

access to the module before it has been initialized, the vendor shall document

them in detail.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te031201"></A><B>TE03.12.01</B>: The tester shall check the vendor

documentation to determine what means, if any, are provided for access

control prior to initialization of the module. If the module supports these

means, the documentation should specifically describe the procedure by

which the crypto-officer is authenticated upon accessing the module for

the first time. No other role shall be allowed to access the module until

the module has been initialized.</LI>





<P>&nbsp;

<LI>

<A NAME="te031202"></A><B>TE03.12.02</B>: If access to the module before

initialization is controlled, the tester shall make an error (e.g., enter

an incorrect password) while assuming the crypto-officer role on an uninitialized

module and shall verify that the module denies access to the role. The

tester shall then successfully assume the crypto-officer role and verify

that the required authentication complies with the documented procedures.

The tester shall attempt to assume other roles before the module has been

initialized and verify that the module denies access to the roles.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0313"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve031301"></A><B>VE03.13.01</B>: The vendor documentation shall

describe how the results of previous authentications are cleared when the

module is powered down.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te031301"></A><B>TE03.13.01</B>: The tester shall review the vendor

documentation and verify that the clearing of previous authentications

upon power down of the module is described clearly and correctly.</LI>





<P>&nbsp;

<LI>

<A NAME="te031302"></A><B>TE03.13.02</B>: The tester shall authenticate

himself/herself to the module by assuming one or more roles, power down

the module, power up the module, and attempt to perform services in those

roles. The module should deny access to the services and require that the

tester be re-authenticated.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=25%>

<H4>

<U>Role-Based Authentication</U></H4>

<A NAME="as0314"></A><B>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)</B>



<P><B>&nbsp;</B>

<UL TYPE=CIRCLE>

<LI>

<B>Require that the operator explicitly or implicitly select one or more

roles</B></LI>



<LI>

<B>Authenticate that the operator is authorized to assume the selected

roles and corresponding services</B></LI>





<P><B>&nbsp;</B></UL>



<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve031401"></A><B>VE03.14.01</B>: The vendor shall document the

mechanisms used to perform the implicit or explicit selection of a role

or set of roles and the authentication of the authorization of the operator

to assume the role(s). Note that role-based authentication is based only

on the presentation of information that allows access to a role or set

of roles. This information must be different for each role, but it is the

same for everyone that wants to access the same role; two operators that

want to assume the same role will present the same information to the module.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te031401"></A><B>TE03.14.01</B>: The tester shall review the sections

of the vendor documentation that describe how role-based authentication

is performed. The tester shall check that the documentation specifies and

describes the mechanisms used for the selection of a role or roles and

the authentication of the authorization of the operator to assume a role.

The documentation may specify and describe the usage of one or more of

the following mechanisms:</LI>





<P>&nbsp;

<OL>

<LI>

Password</LI>



<LI>

Personal Identification Number (PIN)</LI>



<LI>

Cryptographic key or equivalent</LI>



<LI>

Possession of a physical key, token, or equivalent</LI>



<LI>

Biometrics (e.g., fingerprint, retina scan, keystroke dynamics)</LI>

</OL>



<LI>

<A NAME="te031402"></A><B>TE03.14.02</B>: The tester shall assume the role

and shall make some error (e.g., entry of an incorrect password) during

the authentication procedure. The tester shall observe that the module

denies access to the role.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0315"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve031501"></A><B>VE03.15.01</B>: The vendor shall document whether

the module allows an operator to change roles. If so, the vendor documentation

shall describe the ability of an operator to change roles and shall explicitly

state that authentication of the operator for a new role is required.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te031501"></A><B>TE03.15.01</B>: The tester shall check the vendor

documentation to verify that the method by which an operator can change

roles includes the authentication of the operator for a role not previously

authenticated.</LI>





<P>&nbsp;

<LI>

<A NAME="te031502"></A><B>TE03.15.02</B>: The tester shall perform the

following tests:</LI>





<P>&nbsp;

<OL>

<LI>

Assume a role, attempt to change to another role that the operator is authorized

to assume, and verify that the module requires authentication for the new

role.</LI>



<LI>

Assume a role, attempt to change to another role that the operator is not

authorized to assume, and verify that the module denies access.</LI>

</OL>

</UL>



<HR SIZE=4 WIDTH=25%>

<H4>

<U>Identity-Based Authentication</U></H4>

<A NAME="as0316"></A><B>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)</B>



<P><B>&nbsp;</B>

<UL TYPE=CIRCLE>

<LI>

<B>Require that the operator be individually identified</B></LI>



<LI>

<B>Authenticate the specified identity of the operator</B></LI>



<LI>

<B>Require that the operator either implicitly or explicitly select one

or more roles</B></LI>



<LI>

<B>Based on the authenticated identity, verify that the operator is authorized

to perform the selected roles and corresponding services</B></LI>

</UL>

<I>(Relevant Guidance:&nbsp;&nbsp; <A HREF="1401ig-2.htm#3authmech">3.4</A>

,&nbsp; )</I>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve031601"></A><B>VE03.16.01</B>: The vendor shall document the

mechanisms used to perform the identification of the operator, the authentication

of the operator's identity, the implicit or explicit selection of a role

or set of roles, and the verification of the authorization of the operator

to assume the role(s). Note that identity-based authentication takes into

account the identity of the operator assuming a role. This applies not

only between roles but within the same role; two operators that want to

assume the same role will present different information to the module because

their identities are different. If, for example, operators must enter a

PIN when attempting to assume a role, each operator should have a different

PIN because the PIN identifies the operator to the module.</LI>

</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te031601"></A><B>TE03.16.01</B>: The tester shall review the sections

of the vendor documentation that describe how identity-based authentication

is performed. The tester shall check that the documentation specifies how

the operator is uniquely identified, how that identity is authenticated,

how the operator chooses a role, and how the authorization of the operator

to assume a role is performed based on the authenticated identity. The

documentation may specify and describe the usage of one or more of the

following mechanisms:</LI>





<P>&nbsp;

<OL>

<LI>

Password</LI>



<LI>

Personal Identification Number (PIN)</LI>



<LI>

Cryptographic key or equivalent</LI>



<LI>

Possession of a physical key, token, or equivalent</LI>



<LI>

Biometrics (e.g., fingerprint, retina scan, keystroke dynamics)</LI>

</OL>



<LI>

<A NAME="te031602"></A><B>TE03.16.02</B>: The tester shall make some error

(e.g., entry of an incorrect password) during the authentication procedure

and shall observe that the module does not allow the tester to proceed

beyond the authentication procedure.</LI>





<P>&nbsp;

<LI>

<A NAME="te031603"></A><B>TE03.16.03</B>: The tester shall successfully

authenticate his/her identity to the module. When required to select one

or more roles, the tester shall select roles not compatible with the authenticated

identity and shall observe that authorization to assume the roles is denied.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0317"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve031701"></A><B>VE03.17.01</B>: The vendor shall document whether

the module allows an operator to change roles without re-authenticating

his/her identity. If it does, the vendor documentation shall describe the

ability of an operator to change roles and shall explicitly state that

verification of the authentication of the operator for a new role is required.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te031701"></A><B>TE03.17.01</B>: The tester shall check the vendor

documentation to verify that the method by which an operator can change

roles without re-authentication of the operator's identity includes the

verification of the authorization of the operator for a role not previously

authenticated.</LI>





<P>&nbsp;

<LI>

<A NAME="te031702"></A><B>TE03.17.02</B>: The tester shall perform the

following tests:</LI>





<P>&nbsp;

<OL>

<LI>

Assume a role, attempt to change to another role that the tester is authorized

to assume, verify that the tester's identity does not have to be re-authenticated,

and verify that the tester can access the services associated with the

new role. The tester shall perform services in the new role that were not

associated with the previous role in order to verify that the tester has

assumed a different role.</LI>



<LI>

Assume a role, attempt to change to another role that the operator is not

authorized to assume, and verify that the module denies access to the role

based on the identity of the operator.</LI>

</OL>

</UL>



<HR SIZE=4 WIDTH=35%>

<H3>

<U>Security Level 1</U></H3>

<A NAME="as0318"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve031801"></A><B>VE03.18.01</B>: The vendor shall explicitly document

what type of authentication will be performed for the module. If the module

does not require either role-based or identity-based authentication, the

vendor documentation shall explicitly state this requirement. The vendor

documentation shall describe the authentication mechanisms used as specified

in VE03.14.01 and VE03.16.01.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te031801"></A><B>TE03.18.01</B>: The tester shall review the vendor

documentation to determine the following:</LI>





<P>&nbsp;

<OL>

<LI>

Type of authentication specified for the module (role-based, identity-based,

or none)</LI>



<LI>

Specification and description of the authentication mechanisms</LI>

</OL>



<LI>

<A NAME="te031802"></A><B>TE03.18.02</B>: For each role, the tester shall

perform the documentation, verification, and test procedures specified

in TE03.14.01-02 and TE03.15.01-02 for role-based authentication and TE03.16.01-03

and TE03.17.01-02 for identity-based authentication.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>

<H3>

<U>Security Level 2</U></H3>

<A NAME="as0319"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve031901"></A><B>VE03.19.01</B>: The vendor shall explicitly document

whether either role-based or identity-based authentication is performed

for the module. The vendor documentation shall describe the authentication

mechanisms used as specified in VE03.14.01 and VE03.16.01.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te031901"></A><B>TE03.19.01</B>: The tester shall review the documentation

to determine the following:</LI>





<P>&nbsp;

<OL>

<LI>

Type of authentication specified for the module (role-based or identity-based)</LI>



<LI>

Specification and description of the authentication mechanisms</LI>

</OL>



<LI>

<A NAME="te031902"></A><B>TE03.19.02</B>: For each role, the tester shall

perform the documentation verification and test procedures specified in

TE03.14.01-02 and TE03.15.01-02 for role-based authentication and TE03.16.01-03

and TE03.17.01-02 for identity-based authentication.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>

<H3>

<U>Security Levels 3 and 4</U></H3>

<A NAME="as0320"></A><B>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)</B>



<P><I>(Relevant Guidance: <A HREF="1401ig-2.htm#3idreqs">3.5</A> ,&nbsp;

)</I>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve032001"></A><B>VE03.20.01</B>: The vendor documentation shall

explicitly state that identity-based authentication is performed for the

module. The vendor documentation shall also describe the authentication

mechanisms used as specified in VE03.16.01.</LI>





<P>&nbsp;

<LI>

<A NAME="ve032002"></A><B>VE03.20.02</B>: Requirements for vendor documentation

addressing the entry of plaintext authentication data via dedicated, directly

connected ports are covered under VE02.13.01 and VE02.14.01.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te032001"></A><B>TE03.20.01</B>: For each role, the tester shall

perform the documentation verification and test procedures specified in

TE03.16.01-03 and TE03.17.01-02 for identity-based authentication.</LI>





<P>&nbsp;

<LI>

<A NAME="te032002"></A><B>TE03.20.02</B>: Tester verification of the entry

of plaintext authentication data, plaintext cryptographic key components,

and other unprotected critical security parameters via dedicated, directly

connected ports was performed under TE02.13.01 and TE02.14.01. The results

of the verification should indicate that physically separated ports are

used for the entry of these items into the module; otherwise, this assertion

fails.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=75%>

<H2>

<A NAME="sec4"></A>4. FINITE STATE MACHINE MODEL</H2>

<A NAME="as0401"></A><B>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)</B>



<P><I>(Relevant Implementation Guidance:&nbsp; <A HREF="1401ig-2.htm#4format">4.1</A> )</I>

<P><B>&nbsp;</B>

<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te040101"></A><B>TE04.01.01</B>: This assertion is tested by testing

the following assertions.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0402"></A><B>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)</B>



<P><I>(Relevant Implementation Guidance:&nbsp; <A HREF="1401ig-2.htm#4format">4.1</A> )</I>

<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve040201"></A><B>VE04.02.01</B>: The vendor shall provide a description

of the finite state machine model. This description shall contain the identification

and description of all states of the module, and a description of all corresponding

state transitions. The descriptions of the state transitions shall include

internal module conditions, data inputs and control inputs that cause transitions

from one state to another and internal module conditions, data outputs

and status outputs resulting from transitions from one state to another.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te040201"></A><B>TE04.02.01</B>: The tester shall verify that

the vendor has provided a description of the finite state machine model.

This description shall contain the identification and description of all

states of the module, and a description of all corresponding state transitions.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0403"></A><B>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)</B>



<P><I>(Relevant Implementation Guidance:&nbsp; <A HREF="1401ig-2.htm#4format">4.1</A> )</I>

<P><B>&nbsp;</B>

<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te040301"></A><B>TE04.03.01</B>: The tester shall verify that

the descriptions of the state transitions include the internal module conditions,

data inputs and control inputs that cause transitions from one state to

another, and the internal module conditions, data outputs and status outputs

resulting from transitions from one state to another.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0404"></A><B>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)</B>



<P><I>(Relevant Implementation Guidance:&nbsp; <A HREF="1401ig-2.htm#4format">4.1</A> )</I>

<P><B>&nbsp;</B>

<H4>

<I>Required Vendor Information</I></H4>



<UL>

<LI>

<A NAME="ve040401"></A><B>VE04.04.01</B>: The vendor shall provide finite

state machine diagram(s) in sufficient detail to assure the verification

of conformance to FIPS PUB 140-1.</LI>





<P>&nbsp;</UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te040401"></A><B>TE04.04.01</B>: The tester shall verify that

the vendor has provided finite state machine diagram(s) in sufficient detail

to assure the verification of conformance to FIPS PUB 140-1.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0405"></A><B>AS04.05: A cryptographic module shall be designed

using the following types of states: (1, 2, 3, and 4)</B>



<P><B>&nbsp;</B>

<UL TYPE=CIRCLE>

<LI>

<B><U>Power on/off states</U>. States for primary, secondary, or backup

power. These states may distinguish between power applied to different

portions of the module.</B></LI>



<LI>

<B><U>Crypto officer states</U>. States in which the crypto officer functions

are performed (e.g., cryptographic initialization and key management functions).</B></LI>



<LI>

<B><U>Key entry states</U>. States for entering cryptographic keys and

other critical security parameters into the module, and for checking their

validity.</B></LI>



<LI>

<B><U>User service states</U>. States in which authorized users obtain

security services, perform cryptographic operations, or perform other authorized

user functions.</B></LI>



<LI>

<B><U>Self test states</U>. States for performing self-tests on the module

(see section 11, "Self Tests").</B></LI>



<LI>

<B><U>Error states</U>. States when the module has encountered an error

(e.g., failed a self-test, attempting to encrypt while missing operational

keys or other critical security parameters, or cryptographic errors). Error

states may include "hard" errors which indicate an equipment malfunction

and which may require maintenance, service or repair of the module, or

error states may include recoverable "soft" errors which may require initialization

or resetting of the module.</B></LI>





<P><B>&nbsp;</B></UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te040501"></A><B>TE04.05.01</B>: The tester shall verify that

the finite state diagrams and the descriptions are consistent with the

vendor documentation that describes the following:</LI>





<P>&nbsp;

<OL>

<LI>

Data input interface</LI>



<LI>

Data output interface</LI>



<LI>

Control input interface</LI>



<LI>

Status output interface</LI>



<LI>

Crypto officer role</LI>



<LI>

User role</LI>



<LI>

Other roles (if applicable)</LI>



<LI>

Key entry services</LI>



<LI>

Show status service</LI>



<LI>

Self-tests</LI>



<LI>

Other authorized services, operations, and functions (if applicable)</LI>



<LI>

Error states</LI>

</OL>



<LI>

<A NAME="te040502"></A><B>TE04.05.02</B>: The tester shall verify that

the operation of the module is consistent with the finite state diagrams

and descriptions.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0406"></A><B>AS04.06: A cryptographic module may contain

other types of states including the following: (1, 2, 3, and 4)</B>



<P><B>&nbsp;</B>

<UL TYPE=CIRCLE>

<LI>

<B><U>Un-initialized states</U>. States in which no operational security

parameters are loaded into the module.</B></LI>



<LI>

<B><U>Idle states</U>. States in which the module is potentially operational,

but is not currently providing security services or performing cryptographic

functions. Cryptographic keys and security parameters are loaded, and the

module is waiting for data or control inputs.</B></LI>



<LI>

<B><U>Safety states</U>. States in which the module is not currently operational,

but cryptographic keys and parameters are loaded. These states are used

to protect the module from unauthorized use during the temporary absence

of the operator.</B></LI>



<LI>

<B><U>Bypass states</U>. States for providing services without cryptographic

operations (e.g., transferring plaintext through the module).</B></LI>



<LI>

<B><U>Maintenance states</U>. States for maintaining and servicing a module,

including maintenance testing.</B></LI>





<P><B>&nbsp;</B></UL>



<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te040601"></A><B>TE04.06.01</B>: The tester shall verify that

the finite state diagrams and the descriptions are consistent with the

vendor documentation that describes the following:</LI>





<P>&nbsp;

<OL>

<LI>

Bypass service (if applicable)</LI>



<LI>

Maintenance interface (if applicable)</LI>



<LI>

Maintenance role (if a maintenance interface is provided)</LI>



<LI>

Key generation services (if applicable)</LI>



<LI>

Key output services (if applicable)</LI>

</OL>



<LI>

<A NAME="te040602"></A><B>TE04.06.02</B>: The tester shall verify that

the operation of the module while in an un-initialized, idle, safety, bypass,

or maintenance state is consistent with the finite state diagrams and descriptions.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0407"></A><B>AS04.07: All data output via the data output

interface shall be inhibited during all error states. (1, 2, 3, and 4)</B>



<P><B>&nbsp;Note: This assertion is similar to assertion AS02.04 under

section 2, "Module Interfaces."</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te040701"></A><B>TE04.07.01</B>: This assertion is tested under

TE02.04.02.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0408"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te040801"></A><B>TE04.08.01</B>: From each error state that does

not require maintenance or repair, the tester shall verify that the cryptographic

module can be caused to transition to an acceptable operational or initialization

state. This effort consists of two parts: first, the tester shall verify

that the cryptographic module indicates when it is in such a state, and

second, that the cryptographic module operates correctly in this target

state. The tester shall report how the requirement was verified (i.e.,

by code examination or by exercising the module).</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0409"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te040901"></A><B>TE04.09.01</B>: The tester shall attempt to issue

all user and crypto-officer commands from each safety state to demonstrate

that no operator commands can be issued until the module leaves the safety

state.</LI>





<P>&nbsp;

<LI>

<A NAME="te040902"></A><B>TE04.09.02</B>: For each defined safety state,

the tester shall perform an explicit authentication action to exit the

safety state. For each safety state, this explicit authentication action

must be described in the vendor's operational documentation.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0410"></A><B>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)</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te041001"></A><B>TE04.10.01</B>: If the module includes a maintenance

interface, then the tester shall make sure that the finite state machine

model has at least one maintenance state defined. All such maintenance

states must be contained in the finite state diagram(s) and described in

the description of the finite state machine model.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=15%>



<P><A NAME="as0411"></A><B>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)</B>



<P><B>&nbsp;Note: Refer back to the corresponding portions of requirement

1, "Cryptographic Module," and requirement 2, "Module Interface," for completeness.</B>



<P><B>&nbsp;</B>

<H4>

<I>Required Test Procedures</I></H4>



<UL>

<LI>

<A NAME="te041101"></A><B>TE04.11.01</B>: The tester shall review the descriptions

of the states of the cryptographic module to determine if the descriptions

clearly define disjoint states.</LI>





<P>&nbsp;

<LI>

<A NAME="te041102"></A><B>TE04.11.02</B>: The tester shall exercise the

cryptographic module, causing it to enter each of its major states. For

each state that has a distinct indicator, the tester shall attempt to observe

the indicator while the module is in the state. If the expected indicator

is not observed, or two or more such indicators are observed at the same

time (indicating that the module is in more than one state at one time),

this test fails.</LI>





<P>&nbsp;

<LI>

<A NAME="te041103"></A><B>TE04.11.03</B>: The tester shall verify that

every state that is identified in the finite state diagram(s) is also identified

and described in the description.</LI>





<P>&nbsp;

<LI>

<A NAME="te041104"></A><B>TE04.11.04</B>: The tester shall verify that

every state that is identified and described in description is also identified

in the finite state diagram(s).</LI>





<P>&nbsp;

<LI>

<A NAME="te041105"></A><B>TE04.11.05</B>: The tester shall verify that

there exists a chain of transitions from an initial power on state to each

other state in the model that is not an initial power on state.</LI>





<P>&nbsp;

<LI>

<A NAME="te041106"></A><B>TE04.11.06</B>: The tester shall verify that

there exists a chain of transitions from each nonpower off state to a power

off state of the model.</LI>





<P>&nbsp;

<LI>

Note: TE04.11.05 and TE04.11.06 imply that there may be more than one possible

initial state and more than one possible final state.</LI>





<P>&nbsp;

<LI>

<A NAME="te041107"></A><B>TE04.11.07</B>: The tester shall verify that

the action of the finite state machine, as the result of all possible data

and control inputs, is defined. An example of an acceptable inclusive statement

is:</LI>



<BR><I>"The action of the finite state machine as a result of all other

combinations of data and control inputs is to place the finite state machine

into the ERROR-3 state."</I>



<P>&nbsp;

<LI>

<A NAME="te041108"></A><B>TE04.11.08</B>: The tester shall verify that

all possible combinations of data and control nputs can be partitioned

into disjoint sets, depending on the transition that would be taken in

response to the input. This requirement guarantees that the finite state

machine is deterministic; that is, for each possible pair of data and control

inputs, the finite state machine must take one and only one transition.</LI>





<P>&nbsp;</UL>



<HR SIZE=4 WIDTH=75%>



<P><A HREF="140test2.htm">Continue</A> to sections 5-7 of the DTR (part

2 of 3)...



<P>&nbsp;

</BODY>

</HTML>


Anon7 - 2021