William A. Rowe Jr. wrote:
> On 1/14/2011 10:15 AM, Steve Marquess wrote:
>   
>> To date the following platforms are included in the validation:
>>
>>     Android on ARM
>>     VC++ WIN32/x86
>>     
>
> Clarification please; in the past the source code build has been validated,
> with specific platforms chosen for validation testing.

Not so!  A subtle distinction in terminology perhaps, but the CMVP will
tell you loud and clear that they have not and never will validate
source code.  From their perspective they only validate executable
code.  The #1051 (and predecessor) validations are for binary modules. 
The generation of those modules occurs during the "installation" of the
module (what you and I would call the "build" from source).

Those binary modules are directly validated by certificate #1051 only
for the test platforms listed in the Security Policy and on the
certificate itself.  However, section G.5 of the Implementation Guidance
(http://csrc.nist.gov/groups/STM/cmvp/documents/fips140-2/FIPS1402IG.pdf)
allows for something called "vendor affirmation" which is widely
employed by commercial vendors.  In essence, vendor affirmation means
that if the vendor "merely recompiles" the source code for a validated
module, the result can be "vendor affirmed" as equivalent to a directly
validated module.  See section 5.5 of the user Guide
(http://www.openssl.org/docs/fips/UserGuide.pdf) for more discussion.

>   Will this remain
> the case, or will only specific platforms be validated?
>   

We will include as many test platforms as we can, which is to say as
many as we have funding to cover.  The per platform cost is typically
about US$5,000, depending on the specifics of the platform.

There are a number of reasons why a specific platform should be
explicitly included as a test platform, I.G. G.5 notwithstanding.  One
is that "vendor affirmation" only works for code that has been directly
exercised on at least one test platform.  So, for instance, the
assembler optimizations which are platform specific remain out of scope
with respect to the validation until they appear in a test platform. 
Another is the 32/64bit flavors of each processor architecture; the CMVP
recognizes that significantly different machine code is generated from
the same source code on 32 and 64 bit platforms, so both should be
covered in the validation.  Ditto little-endian versus big-endian.

By that reasoning the standard two Lintel/Wintel platforms represent
eight validation test platforms:

    Linux 32bit pure C
    Linux 32bit optimized
    Linux 64bit pure C
    Linux 64bit optimized
    Windows 32bit pure C
    Windows 32bit optimized
    Windows 64bit pure C
    Windows 64bit optimized

The prior validation (#1051) covered all eight of those platforms and
more.  Only one of those eight are currently addressed in the upcoming
validation (courtesy Intersoft International, Inc.).

-Steve M.

-- 
Steve Marquess
OpenSSL Software Foundation, Inc.
1829 Mount Ephraim Road
Adamstown, MD  21710
USA
+1 877-673-6775
marqu...@opensslfoundation.com
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to