Krishna Yenduri wrote:
> Hai-May Chao wrote:
>
> The proposal looks good.
>> ...
>>
>>    c. When disable/enable fips command is issued from cryptoadm,
>>       we make sure that the following places are sync'ed:
>>       pkcs11.conf, kcf.conf and the global variable in kernel indicating
>>       the FIPS status.
>>   
>
> What happens during boot? Do we look at both pkcs11.conf and kcf.conf
> and then issue a "cryptoadm enable fips",  if needed?
>

Yes. "cryptoadm refresh" is run during boot time. It will be enhanced to 
handle
the "cryptoadm enable fips" case.


> What happens if for some reason,  pkcs11.conf and kcf.conf are
> in disagreement (say system panicked before kcf.conf could be updated)?
>

If necessary, we could generate a warning message if they are out of
sync asking the admin to re-issue cryptoadm enable/disable fips.


>> 3. When FIPS mode is enabled
>>
>>    a. Keeping metalsot enabled
>>
>>       We keep metaslot enabled in FIPS mode even 
>> metaslot_auto_key_migrate
>>       is enabled. This is because the keys are encrypted when they
>>       cross the boundary.
>>   
>
> The boundary here refers to the boundary of a PKCS #11 slot. Right?
>

Correct.


>> ...
>>
>>    c. Keeping pkcs11_kernel enabled
>>
>>       We don't disable pkcs11_kernel as pkcs11_kernel and KCF are inside
>>       the crypto boundary. It is what is plugged into KCF that is the 
>> issue,
>>       such as ncp and n2cp that should be disabled, but not 
>> pkcs11_kernel.
>>   
>
> Do we document that the admin should disable ncp and n2cp before doing
> "cryptoadm enable fips" OR do we do it as part of the "cryptoadm 
> enable fips"
> processing?
>

We should document this. This is because we don't have a programmatical
way to tell whether a hardware provider is FIPS certified or not.


>>       However if an SCA-6000 is installed, which is FIPS approved, as 
>> long
>>       as the keys that pass from metaslot to pkcs11_kernel to 
>> /dev/crypto
>>       to KCF to mca are wrapped, it is good from the FIPS view.  Note 
>> that
>>       such a configuration with the SCA-6000 we don't think should be 
>> part
>>       of the framework FIPS evaluation.
>>
>>    d. Disable non FIPS approved algorithms
>>   
>
> Is this step required? If so, make sure we don't impact any system 
> services
> that depend on non FIPS approved algorithms like MD5 (via the
> crypto API).
>

It is required. But I'm not sure what can be done so it won't impact the 
consumers
of such as MD5. Any insight is appreciated.


>>    b. CRYPTO_FIPS_SET
>>
>>       This ioctl enables/disables the FIPS mode.
>>   
>
> This needs to be a privileged operation and we need to audit this action.
>

Agreed.

Thanks for your review!

Hai-May


Reply via email to