NSSCryptoModuleSpec/Section 9: Self Tests: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(restoring version 11131 (despamming))
mNo edit summary
Line 35: Line 35:
||  
||  
'''Power-up Self Test''':
'''Power-up Self Test''':
PKCS#11 Initialization (todo: need link to FC_Initialize in fipstokn.c) : As part of the PKCS#11 initialization of the FIPS-140-2 module, any error return
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstokn.c.html#FC_Initialize PKCS#11 Initialization]: As part of the PKCS#11 initialization of the FIPS-140-2 module, any error return
from the battery of self tests will put the PKCS#11
from the battery of self tests will put the PKCS#11
module in the fatalError state. The fatalError state
module in the fatalError state. The fatalError state
Line 47: Line 47:
||  
||  


(todo: link to fipstest.c)
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.html 
Power up Self Test Code]


[[Power up SelfTest Design]]
[[Power up SelfTest Design]]
Line 53: Line 54:
No operator call backs have been implemented
No operator call backs have been implemented
at any point within the power-up self tests. These
at any point within the power-up self tests. These
tests are mandatory for the FIPS-140-1 mode of
tests are mandatory for the FIPS-140-2 mode of
operation.
operation.
||
||
|-
|-
| || [http://wiki.mozilla.org/VE_09#VE.09.07.02 VE.09.07.02 ] || ||
|  
'''For each error condition, document the
actions neccessary to clear the condition
and resume normal operation.'''
|| [http://wiki.mozilla.org/VE_09#VE.09.07.02 VE.09.07.02 ] ||  
 
For fatal error conditions CKR_DEVICE_ERROR and CKR_HOST_MEMORY
the only way to clear the condition is to reboot the module. Upon
restart the power-up tests shall be initiated automatically
and do not require operator intervention. 
||
|-
|-
| || [http://wiki.mozilla.org/VE_09#VE.09.09.01 VE.09.09.01 ] || ||
|  
'''Describe self-test initiation on demand''' -  requires that the running of power-up self-tests not involve any inputs from or actions by the operator.
|| [http://wiki.mozilla.org/VE_09#VE.09.09.01 VE.09.09.01 ] ||
 
'''The products will not have a user visible way to initiate
these tests other than restarting the program.'''
||
|-
|-
| || [http://wiki.mozilla.org/VE_09#VE.09.10.01 VE.09.10.01 ] || ||
|  
'''Document cryptographic algorithm's known answer test:'''
The vendor shall document the indicator that the module outputs upon
successful completion of the power-up self-tests.
|| [http://wiki.mozilla.org/VE_09#VE.09.10.01 VE.09.10.01 ] ||
 
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstokn.c.html Power Up Self Test Code] This is demonstrated throughout
the self test module. Each of the following functions declares
static key material at the beginning of each test and upon
successful completion returns CKR_OK:
 
 
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.dep.html                      sftk_fips_RC2_PowerUpSelfTest]
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.dep.html                      sftk_fips_RC4_PowerUpSelfTest]
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.dep.html                      sftk_fips_DES_PowerUpSelfTest]
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.dep.html                      sftk_fips_DES3_PowerUpSelfTest]
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.dep.html                      sftk_fips_MD2_PowerUpSelfTest]
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.dep.html                      sftk_fips_MD5_PowerUpSelfTest]
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.dep.html                      sftk_fips_SHA1_PowerUpSelfTest]
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.dep.html                      sftk_fips_RSA_PowerUpSelfTest]
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.dep.html                      sftk_fips_DSA_PowerUpSelfTest]
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.dep.html                      sftk_fips_AES_PowerUpSelfTest]
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.dep.html                      sftk_fipsPowerUpSelfTest]
 
||
|-
|-
| || [http://wiki.mozilla.org/VE_09#VE.09.12.01 VE.09.12.01 ] || ||
|  
'''Procedure by which an operator can
initiate the power-up self-tests
'''
|| [http://wiki.mozilla.org/VE_09#VE.09.12.01 VE.09.12.01 ] ||
 
'''The products will not have a user visible way to initiate
these tests other than restarting the program.'''
 
||
|-
|-
| || [http://wiki.mozilla.org/VE_09#VE.09.13.01 VE.09.13.01 ] || ||
|  
'''All self tests shall use a known answer'''.
|| [http://wiki.mozilla.org/VE_09#VE.09.13.01 VE.09.13.01 ] ||
a known answer is shall be conducted for all cryptographic functions (e.g., encryption, decryption, authentication and random number generation) of each Approved cryptographic algorithm self test.
||
|-
|-
| || [http://wiki.mozilla.org/VE_09#VE.09.16.01 VE.09.16.01 ] || ||
|  
 
'''If the calculated output does not equal the known answer, the known-answer test shall fail.'''
|| [http://wiki.mozilla.org/VE_09#VE.09.16.01 VE.09.16.01 ] ||  
 
CKR_DEVICE_ERROR is returned when ever the calculated output does not equal
the known answer.
 
||
|-
|-
| || [http://wiki.mozilla.org/VE_09#VE.09.17.01 VE.09.17.01 ] || ||
|  
'''specify the method used to compare the calculated output with the known answer.'''
|| [http://wiki.mozilla.org/VE_09#VE.09.17.01 VE.09.17.01 ] ||  
 
PORT_Memcmp is used to compare the computed cipher text with the known
ciphertext.
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.dep.html                      sftk_fipsPowerUpSelfTest]
When keys are used for encryption/decryption the
[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/pkcs11c.c.dep.html#sftk_PairwiseConsistencyCheck  'Pairwise Consistency Check Self Tests'] are used.
||
|-
|-
| || [http://wiki.mozilla.org/VE_09#VE.09.17.02 VE.09.17.02 ] || ||
| || [http://wiki.mozilla.org/VE_09#VE.09.17.02 VE.09.17.02 ] || ||

Revision as of 19:11, 16 September 2005

Document Description

 DTR 

Section

Assesment

Status

List every error state & error indicator - Document all error states associated with each self-test, and indicate for each error state the expected error indicator.

VE.09.04.01
CKR_USER_NOT_LOGGED_IN User has not logged in by supplying their password to the FIPS-140-1 PKCS#11 module.
CKR_DEVICE_ERROR Crypographic operation failure
CKR_HOST_MEMORY Memory allocation failure
CKR_OK Success, no error

Module in Error State: Ensure that cryptographic operations cannot be performed while the module is in the error state. See VE02.06.01 for the vendor design requirement.

VE.09.05.01 VE.09.06.01

Power-up Self Test: PKCS#11 Initialization: As part of the PKCS#11 initialization of the FIPS-140-2 module, any error return from the battery of self tests will put the PKCS#11 module in the fatalError state. The fatalError state will inhibit further cryptographic operations.

List of mandatory & optional self-tests performed by the module - Provide a list of all self-tests, both mandatory and optional, that the module can perform. This list must include both power-up tests and conditional tests.

VE.09.07.01

[http://www.mozilla.org/projects/security/pki/nss/fips/nss-source/mozilla/security/nss/lib/softoken/fipstest.c.html Power up Self Test Code]

Power up SelfTest Design

No operator call backs have been implemented at any point within the power-up self tests. These tests are mandatory for the FIPS-140-2 mode of operation.

For each error condition, document the actions neccessary to clear the condition and resume normal operation.

VE.09.07.02

For fatal error conditions CKR_DEVICE_ERROR and CKR_HOST_MEMORY the only way to clear the condition is to reboot the module. Upon restart the power-up tests shall be initiated automatically and do not require operator intervention.

Describe self-test initiation on demand - requires that the running of power-up self-tests not involve any inputs from or actions by the operator.

VE.09.09.01

The products will not have a user visible way to initiate these tests other than restarting the program.

Document cryptographic algorithm's known answer test:

The vendor shall document the indicator that the module outputs upon

successful completion of the power-up self-tests.

VE.09.10.01

Power Up Self Test Code This is demonstrated throughout the self test module. Each of the following functions declares static key material at the beginning of each test and upon successful completion returns CKR_OK:


sftk_fips_RC2_PowerUpSelfTest sftk_fips_RC4_PowerUpSelfTest sftk_fips_DES_PowerUpSelfTest sftk_fips_DES3_PowerUpSelfTest sftk_fips_MD2_PowerUpSelfTest sftk_fips_MD5_PowerUpSelfTest sftk_fips_SHA1_PowerUpSelfTest sftk_fips_RSA_PowerUpSelfTest sftk_fips_DSA_PowerUpSelfTest sftk_fips_AES_PowerUpSelfTest sftk_fipsPowerUpSelfTest

Procedure by which an operator can initiate the power-up self-tests

VE.09.12.01

The products will not have a user visible way to initiate these tests other than restarting the program.

All self tests shall use a known answer.

VE.09.13.01

a known answer is shall be conducted for all cryptographic functions (e.g., encryption, decryption, authentication and random number generation) of each Approved cryptographic algorithm self test.

If the calculated output does not equal the known answer, the known-answer test shall fail.

VE.09.16.01

CKR_DEVICE_ERROR is returned when ever the calculated output does not equal the known answer.

specify the method used to compare the calculated output with the known answer.

VE.09.17.01

PORT_Memcmp is used to compare the computed cipher text with the known ciphertext. sftk_fipsPowerUpSelfTest When keys are used for encryption/decryption the 'Pairwise Consistency Check Self Tests' are used.

VE.09.17.02
VE.09.18.01
VE.09.18.02
VE.09.19.01
VE.09.19.02
VE.09.20.01
VE.09.20.02 (N/A)
VE.09.22.01
VE.09.22.02
VE.09.22.03
VE.09.24.01 (N/A)
VE.09.27.01
VE.09.28.01
VE.09.31.01
VE.09.32.01
VE.09.33.01
VE.09.35.01
VE.09.35.02
VE.09.40.01 (N/A)
VE.09.40.02 (N/A)
VE.09.42.01
VE.09.43.01
VE.09.45.01 (N/A)
VE.09.45.02
VE.09.46.01
VE.09.46.02 (N/A)

Return to: NSSCryptoModuleSpec