web-dev-qa-db-ja.com

FIPS要件に関する一般的な質問

FIPSは暗号操作に対処することを理解しています。
私の質問は、正確にこれに対処しているのですか?
たとえば、キーストアをロードするアプリケーションは非FIPSプロバイダーを使用できますか?

任意の入力または関連する参照は高く評価されています

5
Jim

連邦情報処理標準(FIPS) は、スマートカード(PIV)の仕様からアルゴリズム仕様、テスト要件、さらには地理的な場所の名前まで、幅広い規格を指定する一連の出版物です。多くの場合、米国の連邦政府機関はこの基準を遵守する必要がありますが、一般的に商用利用は必須ではありません。

話している標準、および満たす必要があるコンプライアンスのレベルによって、答えは異なります。

2
nealmcb

たとえば、FIPS以外のプロバイダーを使用してキーストアをロードするアプリケーションは、何か禁止されているのですか、それとも混乱していますか?

FIPSの定義が役立つかもしれません:連邦情報処理Standard。ここでのキーは標準、W3Cテクニカルレポート、ISO標準などによく似ています。これらの標準に準拠する義務はありません。 ウェブブラウザを見てください。あなたはあなた自身のことをすることを歓迎します。これらの標準に準拠しないことは必ずしも間違っていません。

しかし、これらの基準には常に理由があります。まず、それらに準拠するということは、他の準拠するソフトウェアと相互運用できる必要があることを意味します。たとえば、ISO C規格であるC99を取り上げます。私が書いたすべてのC99コードは、C99準拠のコンパイラで動作するはずです。

暗号化と情報セキュリティの場合は、これらの基準に従うことをお勧めします。まず、アルゴリズムまたはキーストアの動作を定義します。これは、相互運用性だけでなく、通常は妥当なレベルのセキュリティテストも意味します。言い換えれば、(実装したばかりの)環境に、弱点、ライブラリ、OS、環境の問題が含まれていてはならないことを知っている必要があります。

エンドユーザーは、Joe Bloggsが思いついたストレージフォーマットとは対照的に、FIPS準拠のキーストアによってセキュリティがある程度保証されることを知っています。ソフトウェアにある程度の相互運用性があることを確認する必要があります(たとえば、異なる標準ですが、多くのプログラムはPKCS#11キーとOpenPGPキーを読み取ることができます)。

したがって、それ自体は禁止されていません。本当に強く推奨されています。ソフトウェアを選択する場合は、FIPS、PKCS、またはOpenPGPに準拠したものをお勧めします。

ここで言及すべきもう1つのポイントは、FIPS、RFCなどが、(標準によって)そこにあるものの使用可能な部分を定義することが多いことです。 Rijndael!= AESなど。 Rijndael暗号は、AESよりもはるかに多くのキー長とブロックサイズをサポートしますが、特定のサブセットに簡略化すると、実装が簡単になり、AES(FIPS 197)とまったく同じになります。 「Rijndaelを実装する」と言った場合、何が起こるでしょうか。多くの開発者は、時間の制約、純粋な遅延などのため、特定のサイズを実装しないでしょう。完全に同じコアアルゴリズムを使用するソフトウェアは、互換性がなくなります。

最終的な回答として、禁止されていませんが、強くお勧めします。ほとんどの場合、それは相互運用性に関するものですが、ある程度の保証があります(「現在のところ、FIPS廃止された暗号とは異なります))」。

2
user2213