Reference Guide

40 Secure Operation of Crypto-C ME
RSA BSAFE Crypto-C Micro Edition 4.1.4 Security Policy Level 1
with Level 2 Roles, Services and Authentication
2.1.4 Crypto User Guidance on Obtaining Assurances for
Key Transport Applications
The module provides support for the recommendations for key transport in
SP 800-56B, which provides the methods to obtain these assurances. The table below
describes the SP 800-56B recommendations for key transport.
2.1.5 Information on Minimum Password Length
Key Derivation Threat Model:
If an adversary has access to 1 million Graphics Processing Units (GPUs), each of
which can process 1,000 million hashes per second, they can perform 6 x 10
16
hashes
per minute.
For PBKDF2, with an iteration count of 10,000, where each iteration involves a
HMAC that requires at least 2 hashes, the adversary has a 1 in 100,000 chance of brute
forcing a password in one minute if the password search space has 3 x 10
17
entries.
For the KDF used to secure the roles database, which simply performs a single
SHA-512 hash, the adversary has a 1 in 100,000 chance of brute forcing the PIN in
one minute if the PIN search space has 6 x 10
21
entries. To provide a PIN search space
of S entries, each PIN must have a minimum of [log
2
S] effectively random bits.
For S = 6 x 10
21
each PIN must have a minimum of 73 effectively random bits. If the
PIN provided by the application to the module is simply a password entered by the
user then the password search space must also have 6 x 10
21
entries.
For the roles database the adversary must not have more than a 1 in 1,000,000 chance
of guessing the PIN in a single attempt. This can be prevented by having at least 20
random bits in the PIN.
Table 11 Key Transport Recommendations
NIST SP800-56B
Recommendations
Module Capabilities and Recommendations
Assurance of Key-Pair
Validity
The module provides the API
R_CR_validate_key() to
explicitly validate an RSA Key Pair according to
SP 800-56B.
This API performs both a pairwise consistency test and a key
pair validation according to “
basic-crt” and “crt_pkv
methods.
Assurance of Public Key
Validity
The module provides the API
R_CR_validate_key() to
explicitly validate the RSA public key according to
SP 800-56B and SP 800-89.
Assurance of Possession of
Private Key
Outside the scope of the module.