2016-03-29 1 views

Antwort

0

Gibt es eine Möglichkeit, dies zu überprüfen?

Ja, es gibt eine Reihe von Möglichkeiten. Am einfachsten ist es, openssl version über die Befehlszeile auszuführen. Wenn seine FIPS Kryptographie validiert, dann wird es so etwas sagen wie:

> openssl version 
Version: OpenSSL 1.0.1f-fips 6 Jan 2014 

Eine verwandte Frage zu tun, um auf Linux bei How to check FIPS 140-2 support in OpenSSL? ist. Windows ist ausreichend unterschiedlich, daher sollte diese Frage offen bleiben.

Obwohl die frühere Frage Linux ist, können Sie das gleiche unter Windows mit dumpbin, find und strings tun. Stellen Sie sicher, dass eine Entwicklereingabeaufforderung geöffnet ist (und keine normale Eingabeaufforderung), um sicherzustellen, dass Tools wie dumpbin im Pfad sind.

Hier sind einige der Dinge, die Sie (aus dem Schlitten Deck unten beschrieben) überprüfen:

  • Erwartete User-Space Symbole vorhanden sind
    • FIPS_mode_set(), FIPS_module_mode_set(), FIPS_mode() , FIPS_module_mode()
  • erwartete interne Symbole vorhanden sind
    • FIPS_text_start(), FIPS_text_end(), FIPS_rodata_start [], FIPS_rodata_end [], FIPS_signature [20];
  • FIPS_set_mode (1) genannt wird und nicht
    • ERR_get_error kehrt 0x0f06d065
    • CRYPTO_R_FIPS_MODE_NOT_SUPPORTED zurück FTW nicht scheitern!
  • mit Hilfe von Strings
    • „FIPS 2.0 validiert Modul 14. März 2012“
    • „FIPS 2.0.1 validierte Testmodul 12. Juni 2012“
    • etc
  • bekannt Antwort Tests
    • Binäre Zeichenfolgedaten im RO-Abschnitt der ausführbaren Datei
    • Überprüfen Sie die * .c Dateien für statische Werte
    • Verschiedene Unterverzeichnisse: aes, cmac, des, ..., ecdsa, dsa, ...
    • Selbsttest-Dateien: aes_selftest.c, dsa_selftes.c, ...

Hier ist ein Beispiel der binären Zeichenfolge, die aus fips/rand/fips_drbg_selftest.h vorhanden sein wird:

0x2e,0xbf,0x98,0xf9,0x85,0x27,0x8b,0xff, 
0x36,0xb9,0x40,0x0b,0xc0,0xa1,0xa0,0x13, 
0x20,0x06,0xcc,0xe6,0x2a,0x03,0x77,0x7d, 
0xee,0xde,0xcc,0x34,0xe3,0xcd,0x77,0xea, 
0xd0,0x3e,0xbe,0xdd,0xf6,0x15,0xfb,0xa7, 
0xd7,0x8e,0xd0,0x2e,0x2f,0x82,0x4c,0xc7, 
0x87,0xb1,0x6f,0xc5,0xf8,0x5c,0x78,0xde, 
0x77,0x9b,0x15,0x9a,0xb9,0x3c,0x38,0x38 

ich auch ein Dia-Deck hochgeladen ich über das Thema der OpenSSL haben Wiki. Es heißt Building Applications using OpenSSL Validated Cryptography: Notes from the Field for Developers and Auditors. Sie möchten das Material um Folie 18 überprüfen.

Ich baute die Folie für OWASP, aber es gab kein Interesse, es zu erhalten. Ich weiß, Stack Overflow runzelt die Links wie die im OpenSSL-Wiki, aber ich weiß nicht, wie ich hier ein Overdeck mit über 35+ zur Verfügung stellen soll.

+0

Vielen Dank JWW. Ich habe 'dumpbin/ALL libeay32.dll' verwendet, um Informationen über die libeay32.dll zu erhalten. Wie Sie vorgeschlagen haben, habe ich nach den User-Space-Symbolen und internen Symbolen gesucht. Aber ich konnte nur die Benutzerraumsymbole und nicht alle internen Symbole darin finden. Auch die genannten Strings fehlen in der ssl-Laufzeit libeay32.dll. –

+0

7E1EFCE0: 66 69 70 73 20 6D 6F 64 65 20 61 6C 72 65 61 64 fips-Modus bereits eingelesen 7E1EFCF0: 79 20 73 65 74 00 00 00 66 69 6E 67 65 72 70 72 y einstellen ... fingerpr7E1EFD00: 69 6E 74 20 64 6F 65 73 20 6E 6F 74 20 6D 61 74 int mattiert nicht 7E1EFD10: 63 68 20 73 65 67 6D 65 6E 74 20 61 6C 69 61 73 ch segment alias 7E1EFD20: 69 6E 67 00 66 69 6E 67 65 72 70 72 69 6E 74 20 ing.fingerprint –

+0

so teilweise validiert. Bedeutet das, dass die SSL-Laufzeit die erforderliche Kryptographie verwendet? –

Verwandte Themen