何百万もの秘密鍵を保護するためにHSMのネットワークを実装したいと思います。フォールトトレランスと速度を向上させるには、このネットワークを実行する必要があります RAID 5 (ストライピング、パリティ、および複製)。私が理解しているように、HSMの重要なポイントの1つは、キーを共有しないことです。これは、RAIDを実行できないことを意味しますか(キーを複製できないため)?または、いくつかの暗号ソフトウェアを備えた「通常の」サーバーネットワークは、この目的のためにHSMネットワークと同じくらい良いでしょうか?
ええ、しないでください。つまり、誰が作成したかに関係なく、HSMに100万以上のキーを保存するとは限りません。 HSMはハードドライブではありません。それらを1つのように使用しないでください。
一部のHSMは外部キーをサポートしています。これらは、他のキーから派生した特定のAES-256(たとえば)キーを使用して暗号化/ラップされたキーです。この「マスター」鍵導出鍵はHSMに残ります。
1m以上のキーをRAIDアレイに保存するか、RDBMS、Hadoopなどを使用して保存します。それ。します。そうではありません。案件。 HSMの観点から。重要なのは、キーを検索、検索、読み取り、復号化して使用するためにHSMに送信する際の遅延です。
ほとんどのHSMはクラスター化する方法を提供するため、1つのHSMがユースケースに対して十分に高速でない場合は、その隣に2番目(または3番目、4番目、またはN番目)をギャングできます。これらのクラスターマシンは同じマスターキー派生キーを使用するため、誰でもキーを復号化し、使用して破棄することができます。公開したり、侵害のリスクを冒したりすることはありません。
速度の異なるHSMのクラスターで1mのキー(RSA 2048)を生成しました(10個あったと思いますが、それは当時のラボにあったもので、ひょうたんにあったのでメモをとっていませんでした)。それらを生成するのに10時間かかりました。ストレージにVM)のMySQLインスタンスを使用しました。
このようなシナリオは、多くの場合、HSMに100万の個別のシークレットを持たないことで解決されますが、100万の暗号化されたシークレットを持ち、必要に応じてHSMでそれらを復号化します。
あなたの心の中で、安全な保管と百万の鍵の使用と百万のパスワード(何らかの理由で回復可能である必要があると仮定)、または百万のクレジットカードエントリの概念的な違いは何ですか?
この用途向けに構築されたHSMが利用可能です。「クラスター化されたHSM」を検索してください。
もう1つのオプションは、HSM(スロット内のカード、またはネットワーク上で利用可能なカード)によって保護されている通常のセキュリティデータベースを用意することです。次に、1つ以上のHSMを使用して、高可用性証明書ストレージサーバーを保護できます。もちろん、キーストレージの実際の要件によっては、これは受け入れられない場合がありますが、クラスター化されたHSMよりも安価である必要があります。
HSMを複製できることに注意してください。メーカーにご相談くださいが、さまざまな状況でこれを行うための手順があります。実際、あなたはあなたのニーズについて完全にいくつかのメーカーに相談したいかもしれません、彼らはあなたが見落とした解決策を持っているかもしれません。
まさにこの要件のために、市場には専用のHSMがあります。これらのHSMでは、KEK(キー暗号化キー)のみをHSMに保存し、実際のキー/顧客データはKEKによって暗号化され、HSMの外部のリレーショナルデータベースに保存されます。データを復号化する必要がある場合は常に、HSMへの要求が、データ(データベースから、KEKで暗号化されたもの)および復号化に使用されるKEKのハンドル/識別子とともに送信されます。操作は安全な環境でHSMによって完了され、応答は要求元のアプリケーションに返送されます。
Thales nShield HSMはそのようなデバイスの1つであり、データベースのサイズによってのみ制限されるため、HSMのマスターキー(KEK)の保護の下で暗号化されたキー/データをいくつでも保存できます。