web-dev-qa-db-ja.com

OpenSSL vs FIPS enabled OpenSSL

一見シンプルな質問。

OpenSSLは、FIPS enabled OpenSSLと比較してどうですか?安全性が低いですか?どうすればわかりますか?

NIST標準ではなく、セキュリティについて心配している場合、FIPS 140-2標準(政府アジェニクスとの通信にもかかわらず)に準拠すること)に実際の利点はありますか?

20
ILIV

OpenSSLとFIPS 140-2の関係については、 このドキュメント を参照してください。

OpenSSL FIPSオブジェクトモジュールは、OpenSSLの特定のサブセットであり、OpenSSLとAPI互換であり、ソースコードとして提供されます。そのモジュールは FIPS 140-2 検証を取得するための長くて面倒な管理プロセスを経ています。 「全体レベル:1」を達成しました( 検証証明書 を参照)。

FIPS 140-2検証の目的は、基本的に、開発中にある程度の「深刻さ」が適用されたことを示すことです。検証は、バグや脆弱性がないことを証明することはできませんが、開発者が適切に方法論を適用したことを証明できます。

ここで、いくつかの注意点があります。

  • 実際には、OpenSSL開発者はFIPSモジュールと「プレーン」なOpenSSLの両方に同じ開発方法論を適用しました。どちらのバージョンも多くのコードを共有しています。 FIPSモジュールは、実際には通常のライブラリバージョンのサブセットです。同じ機能のために、プレーンなOpenSSLはFIPSモジュールと同じくらい安全でなければなりません。 (プレーンなOpenSSLが提供するがFIPSモジュールは提供しない機能については、何でも可能です)。

  • FIPSモジュールは、使用する場合にのみ検証されます完全に変更されていない。ソースコードのごくわずかな文字を変更すると、FIPS検証の対象外になります。

特に2番目の点は、「通常のOpenSSL」でバグが見つかり、バグ修正が公開された場合、そのバグ修正はすぐではない FIPSモジュールにインポートされることを意味しますこれは、FIPSnessが無効になるためです。したがって、プレーンなOpenSSLは実際にはFIPSモジュールよりもより安全であると主張できます。これは、穴が発見されるとはるかに迅速に修正されるためです。

概要:FIPS 140-2への準拠の一部を対象としない場合は、通常のOpenSSLを使用します。

23
Tom Leek