PCI DSS セキュリティ標準に準拠するキー管理スキームを実装するスキームの実用的な経験またはリファレンスを持っている人はいますか?
PCIに準拠する企業の数を考慮すれば、かなりの数の実装が明らかに存在しますDSSしかし、それらの詳細を見つけることは困難です。プライベートデータの保存に取り掛かると、通常、議論は使用する暗号化アルゴリズム。その後、通常は秘密鍵を適切に保存することについての記述がありますが、それを実行する実際的な方法や、定期的に鍵を変更したり、アプリケーションに鍵を提供したりすることなどについての議論はありません。
具体的には、PCI DSS標準のセクション3.5および3.6の要件に興味があります。
3.5.2暗号化キーを可能な限り少ない場所と形式で安全に保管します。
3.6.aカード会員データの暗号化に使用される鍵の鍵管理手順の存在を確認します。注:NISTを含むさまざまなリソースから、キー管理に関する数多くの業界標準を入手できます。これは http://csrc.nist.gov にあります。
3.6.4少なくとも年に1回は定期的な鍵の変更を要求するように鍵管理手順が実装されていることを確認します.
PCI DSS要件ドキュメントが示唆するように、 NIST Cryptographic Publications を見てきたが、最近のメモは別として Cryptographic Key Management Workshop の実際の実装可能なスキームまたは標準の方法にはそれほど多くはないようです。
私がやろうとしていることに関しては、そうではありません:
これらはすべて有効な懸念事項ですが、この場合は答えではありません。私の要件の要点は別のSO質問 にあります。ユーザーごとの機密データを格納および取得するためのネット設計パターン しかし、それはすべてキー管理に要約されるので、このより洗練された質問です。
私はあなたが経験している痛みをよく知っています。私たちは、PCIコンプライアンスに向けて古いEFTシステムを更新するのに苦労しました。キー管理は確かに(私のソフトウェアの観点から)最も困難な部分でした。
Martinが投稿した NIST Recommendations for Key Management にも遭遇し、具体的な例がないことに非常に不満を感じたと思います。
ANSI X9.17-金融機関のキー管理 は、PCI-DSSを使用する場合、おそらくお客様のニーズに最も関連しています。しかし、幸運にもそれを読んでください。ドキュメントはTLAの膨大なコレクションであり、私は確かに私が読むのに苦労しました。 (X9.17は毎年更新され、最新バージョンは現在: NIST SP 800-57 Pt。1 Rev. 4 )
欲求不満が絶望に転じたとき、私は偶然 The Electronic Money Mill に出くわしました。 第17章 X9.17について説明し、理解に役立つ場合があります。
このすべての参照資料から、私は監査人が満足した主要な管理システムを設計しました。設計ドキュメントはかなり長くなりますが、要約すると、データ暗号化キーはキー暗号化キーで保護されており、キー暗号化キーは物理的に別のボックスに保存され、それ自体がマスターキーで保護されています。
私の実装は、Windowsサーバーでキーサーバーアプリケーションを実行することでした。このアプリケーションを使用するには、2つの別個の「キーサーバーマスターキー」を入力する必要がありました。これらのキーは、キーサーバー管理者だけが知っています。これらのキーをxorしてマスターキーを生成します。マスターキーは、アプリケーションの実行中に保護されたメモリにのみ保存されます。次に、アプリケーションは暗号的に強力なキー暗号化キーを自動的に生成し、マスターキーを使用して暗号化された形式で保存されます。
暗号化が必要なアプリケーションは、キーサーバーにキー暗号化キーを要求します。アプリケーションはKEKを使用して、データ暗号化キーを暗号化/復号化します。これは、アプリケーションデータと共に安全に保存できます。
幸運を。それも面白い挑戦だと思います!
NIST SP 800-57 、キー管理の推奨事項を見たことはありますか?