Per le relazioni tra OpenSSL e FIPS 140-2, leggi questa documentazione .
Il Modulo dell'oggetto FIPS OpenSSL è un sottoinsieme specifico di OpenSSL, compatibile API con OpenSSL e fornito come codice sorgente. Questo modulo ha attraversato il lungo e doloroso processo amministrativo per ottenere una convalida FIPS 140-2 . Ha raggiunto il "livello generale: 1" (vedi la convalida certificato ).
L'intento della convalida FIPS 140-2 è di mostrare, fondamentalmente, che durante lo sviluppo è stato applicato un certo livello di "serietà". La convalida non può dimostrare che non ci siano bug o vulnerabilità, ma può dimostrare che gli sviluppatori hanno applicato metodologie appropriate che, si spera, dovrebbero evitare bug e rendere il software conforme a un set specifico di proprietà target.
Ora ci sono alcuni avvertimenti:
-
In pratica, gli sviluppatori OpenSSL hanno applicato le stesse metodologie di sviluppo sia per il modulo FIPS sia per OpenSSL "normale". Entrambe le versioni condividono molto codice; il modulo FIPS è in realtà un sottoinsieme della versione normale della libreria. Per le stesse funzionalità, OpenSSL non dovrebbe essere meno sicuro del modulo FIPS. (Per le funzionalità che offre semplicemente OpenSSL ma non il modulo FIPS, tutto va bene.
-
Il modulo FIPS è validato solo nella misura in cui lo usi assolutamente invariato . Se modifichi il minimo carattere nel codice sorgente, non sei più coperto dalla convalida FIPS.
Il secondo punto, in particolare, implica che se un bug viene trovato in "OpenSSL normale" e viene pubblicata una correzione, allora quella non è immediatamente importata nel modulo FIPS, perché annullerebbe la sua FIPSness. Pertanto, si può affermare che il semplice OpenSSL è in effetti più sicuro del modulo FIPS, poiché viene riparato molto più rapidamente quando i fori sono scoperti.
Riepilogo: se non si targetizza alcun tipo di conformità a FIPS 140-2, utilizzare il normale OpenSSL.