web-dev-qa-db-ja.com

FIPS 140-2に準拠するには、何を暗号化する必要がありますか?

FIPSに準拠する必要があるクライアント/サーバーC#.NETアプリケーションを開発しています。FIPSについてオンラインでたくさん読んでいますが、選択した暗号化アルゴリズム、およびコンプライアンスのために暗号化する必要があるデータ。

次のアルゴリズムが準拠していることを理解しています。

  • 対称キー
    • AES、Triple-DES、エスクロー暗号化標準
  • 非対称キー
    • DSA、RSA、ECDSA
  • ハッシュ標準
    • SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256
  • 乱数ジェネレータ
  • メッセージ認証
    • CCM、GCM、GMAC、CMAC、HMAC

ソース

ただし、暗号化を使用しているソフトウェアにまったく何もないふりをしてみましょう。そうすれば、技術的に完全に準拠しているでしょう。

暗号化が必要だと考えることができるのは、クライアントからサーバーへの通信、およびその逆、ディスクに保存するシリアル化されたデータ、およびライセンスプロセス/ファイルです。

ここで何が欠けていますか?

8
DTI-Matt

FIPS140-2は、暗号モジュールが動作し、攻撃から保護されなければならない適切な方法のみを扱います。 1つは彼のモジュールに準拠するだけ、または1つは彼女のモジュールに準拠し、検証することができます。コンプライアンスには、1から4までの4つの異なるレベルがあり、高いレベルは低いレベルよりも保護されます。検証を行うことは、通常、外部のセキュリティラボで行われる、費用のかかる作業です。
FIPS140-2は、アプリケーションで暗号化する必要があるデータについては話しません。関心のある各業界セグメントに固有のさまざまな標準化団体が、その業界に固有のデータ保護と暗号化の要件、手順、プロセスを確立しています。たとえば、クレジットカード業界ではPCI DSS、医療業界ではHIPAAです。
これらの機関は、暗号化モジュールがFIPS140-2準拠であることを要求する場合としない場合がありますが、少なくとも責任の観点からは、確かにそのようにすることが賢明な選択です。

Infosecisland.comからの関連コメント:

  1. 「私はFIPS 140-2のコンプライアンスタスクを直接実行しました:OpenSSL、OpenSSH、Sun Java 6、Apache Tomcat 5.5および6.0、Mozilla NSS。これらのどれもないことを私は言うことができますモジュールはデフォルトでFIPS 140-2準拠モードで動作し、FIPS 140-2準拠モードにすることは簡単ではなく、FIPSで動作します_ 140-2準拠モードは、互換性の理由から常に良い考えとは限りません。」

  2. 「コンプライアンスだけでなく、FIPS 140-2検証を達成するために必要な時間と費用に投資するビジネスケースを明確にしてください。暗号に関連するものを販売したい場合DoDまたはセキュリティ仕様についてDoDを調査する政府のワーキンググループ。これは、一般的な企業顧客ではなく、FIPS 140-2が提供する暗号化の整合性の保証を必要とする特定の政府機関です。 」

したがって、アプリケーションに暗号モジュールがない場合、FIPS140-2は関係ありません。データや通信プロトコルなど、プログラムの一部を暗号化する場合-これは、標準化団体、顧客の要件、または規制により適切に行われるか、必要とされるためであり、FIPS140-2に準拠している必要があります。 、その暗号化ルーチン/モジュールは、FIPS仕様に準拠するか、完全に検証される必要があります。

8
Ninveh