web-dev-qa-db-fra.com

OpenSSL vs FIPS compatible OpenSSL

Une question trompeusement simple.

Comment OpenSSL se compare-t-il à FIPS activé OpenSSL? Est-il moins sûr? Comment savoir?

Si j'étais préoccupé par la sécurité, et non par la norme NIST, y a-t-il un réel avantage à adhérer à la norme FIPS 140-2 (malgré les communications avec les autorités gouvernementales)?

20
ILIV

Pour les relations entre OpenSSL et FIPS 140-2, lisez cette documentation .

Le OpenSSL FIPS Object Module est un sous-ensemble spécifique d'OpenSSL, compatible API avec OpenSSL, et fourni comme code source Ce module est passé par le long et pénible processus administratif d'obtention d'une validation FIPS 140-2 . Il a atteint le "niveau global: 1" (voir certificat de validation ).

L'intention de la validation FIPS 140-2 est de montrer, fondamentalement, qu'un certain niveau de "sérieux" a été appliqué pendant le développement. La validation ne peut pas prouver qu'il n'y a pas de bogue ou de vulnérabilité, mais elle peut montrent que les développeurs ont appliqué des méthodologies appropriées qui, espérons-le, devraient éviter les bogues et rendre le logiciel conforme à un ensemble spécifique de propriétés cibles.

Maintenant, il y a quelques mises en garde:

  • Dans la pratique, les développeurs d'OpenSSL ont appliqué les mêmes méthodologies de développement pour le module FIPS et OpenSSL "ordinaire". Les deux versions partagent beaucoup de code; le FIPS = le module est en fait un sous-ensemble de la version normale de la bibliothèque. Pour les mêmes fonctionnalités, le OpenSSL ordinaire ne devrait pas être moins sûr que le module FIPS. (Pour les fonctionnalités que le OpenSSL ordinaire offre mais pas le FIPS, tout se passe).

  • Le module FIPS n'est validé que dans la mesure où vous l'utilisez absolument inchangé. Si vous modifiez le moindre caractère dans le code source, vous n'êtes plus couvert par la validation FIPS.

Le deuxième point, en particulier, implique que si un bogue est trouvé dans "OpenSSL normal", et qu'un correctif est publié, alors ce correctif est pas immédiatement importé dans le FIPS module, car cela annulerait son FIPSness. Par conséquent, on peut affirmer que le OpenSSL simple est en fait plus sûr que le FIPS module , car il est fixé beaucoup plus rapidement lorsque les trous sont découverts.

Résumé: si vous ne ciblez pas une sorte de conformité à FIPS 140-2, utilisez l'OpenSSL normal.

23
Tom Leek