Raj,
I know from when we had our crypto core FIPS approved that you are fine
to rely on the system provided image verification, just make sure you
sign your driver with a valid code signing certificate. Self-Test is
something else and should be carried out when the algorithms are going
to be used.
We left it to the operating system to validate the image and provide a
standalone executable for the end user to use in order to validate the
hash of the binary. The expected hash is then published on our website
for the end user to validate against.
The hash of the binary is also written to a signature file that is
installed along with the driver. This is also verified as part of the
self-test/module init.
This ticked all the FIPS boxes and the certification was awarded with
only a few revisions having to be made.
We abstracted the core functionality of the crypto away from the rest of
our system so that it could be validated as a separate entity, much like
FIPS.SYS was abstracted by Microsoft. This simplified the approval
substantially. Maybe this is something you could consider.
Regards
Ben Lewis
Head of Software Development
Data Encryption Systems Ltd.
Silver Street House
Silver Street
Taunton
Somerset
TA1 3DL
Email: xxxxx@des.co.uk
Web: www.deslock.com | www.deskey.co.uk
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Rajesh Gupta
Sent: 02 September 2010 23:23
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] Opening the file during Volume Initialization?
I understand what you are saying Alex.
We are trying to implement FIPS specifications and i think they don’t
protect from the hackers. But they certify that algorithms used are
standard encryption algorithms and no one tampered with the module after
certification. If we make any changes or fix any bug, we need the
certificate again. 
infact i asked the questions, " if someone find out the location of
checksum and update the checksum and binary". Answer was “we don’t care
about that.
Its user responsibility. User needs to check the audit
logs frequently to make sure module is performing FIPS check and its
passing.”
So if checksum fails just deny the functionality. This is how most of
the opensource modules implement fips specification.
i hope it clarifies.
thanks for the reply
Raj
On 9/2/2010 2:13 PM, Alex Carp wrote:
I guess I don’t quite understand how this should work. The assumption
I’m making is that once the driver is loaded the file isn’t used
anymore. So either the file was already modified at the time
DriverEntry was called, in which case there is nothing that would
prevent the attacker to disable this check you’re implementing, or the
file is modified later, in which case it doesn’t matter, since the
driver is already loaded…
Thanks,
Alex.
NTFSD is sponsored by OSR
For our schedule of debugging and file system seminars (including our
new fs mini-filter seminar) visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer