I reviewed all the sections except the "Integrity check" part. I will
 do it later if time permits.

 My review comments are below.

-Krishna

-------------------------------------------------------------------------------------------------------------------------

KY-0

- I recommend numbering the sections to make it easier
for reviewers.

- Consider having the integrity check design in a separate design doc.
That way, other groups or projects (like validated execution)
can review that design on its own.


KY-1    FIPS 140-2 Level 2

So, we need the Solaris release to be evaluated in order
to get level 2. That would be a dependency for this
project. So, is there another project to get the
Solaris release evaluated? And which release?


KY-2    Self-Tests - what happens during the failure case?

This is similar to the comment I made while reviewing the RNG code.

The FIPS 140-2 spec has the following text -
"
If a cryptographic module fails a self-test, the module shall enter
an error state and output an error indicator via the status output 
interface.
The cryptographic module shall not perform any cryptographic operations 
while
in an error state. All data output via the data output interface shall be
inhibited when an error state exists.
"

How does your design meet this requirement? For example, do you start
failing the future operations once a self test fails.


KY-3    Key Management

I don't see any section on key management. Describe how the framework
meets the fips requirements, even if no work needs to be done here.


KY-4    Mitigation of Other Attacks (fips doc section 4.11)

I don't believe EF has any security methods to mitigate attacks like
timing analysis on RSA. I suggest finding out if
it is a requirement to have such methods in place for the certification.


KY-5    kcfd section

It says
"If any of the checks fail, all parts of the framework will be unloaded and
kcfd will be shutdown.
"

Related to KY-2. You will need a mechanism to prevent them from reloading.
Also, note that it is not possible to unload some kernel modules.
So, you will need some other mechanism to prevent their use.


KY-6    kcfd section

It says
"kcfd will perform the following operations to validate the boundary.

1) An integrity check on all binaries in the boundary.
"

So, who will verify kcfd? How do you avoid the bootstrap problem?


KY-7    kcf section and the next section

See KY-5. Some of the kernel modules (e.g. sha1) are loaded by the time
kcfd starts since they are needed very early on during boot. So, you will
need some other mechanism to do POST checks on them.


KY-8    Administration section

You will need to audit the CRYPTO_FIPS_SET ioctl. I suggest checking
the FIPS 140-2 spec to see if there are other actions that need to be
audited which are not already covered by the existing Solaris audit events.


KY-9    RNG section

Do we need to fix
6770268 Implement changes described in FIPS 186-2 Change Notice 1

for the certification?
I guess this falls under "mitigation of other attacks" from KY-4 :-).


Reply via email to