ハードウェアとソフトウェアの組み合わせ(これをアプライアンスと呼びましょう)が非同期の安全なアーカイブをクラウドに送信するシステムを設計しています。安全とは、AES-256で暗号化され、AESキーとIVがRSA-2048公開キーで暗号化されることを意味します。同じRSA公開鍵を持つそれぞれのアプライアンスがいくつか存在する場合があります。それは問題ではありません。
ユーザーが災害に直面し、彼女のアーカイブを取り戻したいときに、復号化を実行します。災害によって、つまり、彼女のコンピューターは焼かれたか、盗まれたかもしれません。
この場合、使いやすく、持ち運びしやすく、収納しやすいものが欲しいです。 USBキーは素晴らしい音です。しかし、このデバイスが安全でない可能性のあるコンピューター内に置かれると、マルウェアがRSA秘密鍵を読み取れないようにしたいと思います。
私の推測では、次のことを行ういくつかの市販のソリューションが存在するはずです。
ボーナスポイント:
BrunoRohée が書いたように、USBキーとしてパッケージ化されたある種のスマートカードが必要になる可能性があります。このスマートカードには、PKCS#11と統合する既製のアプリケーション、または特定のニーズに固有のアプリケーションを含めることができます。後者の場合、Javaカードテクノロジーベースのスマートカードを使用して、キーと暗号を管理する独自のJavaカードアプレットを作成できます。
要件リストについて:
スマートカード(PC/SCからアクセスできる場合)は、Javaスマートカードを介して、WindowsのJavaとうまく統合できます(ほとんどの場合、Macでもこれは少し難しいかもしれません)。 IO API。
ほとんどのスマートカード(特にJavaカードベースのカード)にはPINコードの機能が組み込まれていますが、独自のアプレットを作成すれば、ほとんどの既知の秘密ベースのユーザー認証を作成できると思います。
スマートカードは通常、カード上の対称暗号化/復号化をサポートしています。カード全体で対称暗号化/復号化を実行できる場合(またはカードを使用して対称暗号化のキーの暗号化/復号化のみを行う場合)は、通常、暗号化/復号化するデータの量に依存します。スマートカードのパフォーマンスおよびスマートカードとの通信は、通常、PC側でこれを行う場合と比較して非常に遅くなります。
私の頭に浮かぶ1つの製品は Yubikey Neo です。 USBキーフォームファクター(追加の非接触型インターフェース付き)で提供され、PC/SCからアクセスできるように構成でき、さまざまなプリロードされた暗号化アプリケーションが付属しており、独自のJavaカードアプリケーションをロードできます。私が知る限り、RSA-2048と少なくとも128ビットのAESをサポートする必要があります。
この分野の最大のプレーヤーの1つ(さまざまなソリューションの商用AND政府)は、現在HIDが所有しているActivIDです。他の人が述べたように、USBインターフェイスを介したPKCS#11スマートカードタイプのデバイスは、クエリの候補として適している可能性があります。
http://www.hidglobal.com/identity-assurance
HPやAgilentなどの企業が過去にActivIDのこれらのタイプのソリューションを使用したことが直接の観察と経験からわかっています。 (推奨ではなく、私はどちらの会社にも勤めたり代表したりはしていません。使用中のデバイスを見ただけです。)
PKCS#11互換のスマートカード、またはUSBキーとしてパッケージ化されたリーダー+スマートカードが必要な場合があります。
ジェムアルトとの過去の経験がありますが、大規模で混乱を招くサービスを提供してきましたが、それをナビゲートするには、おそらく彼らの助けが必要になるでしょう...競争相手が誰なのか、私は最新ではありません...
http://www.gemalto.com/products/top_javacard/ 法案に適合する可能性があります、または姉妹製品でない場合...