web-dev-qa-db-ja.com

保存および配布Java対称キー

次のようにAESキーを生成し、キーを文字列に変換しています。

 try{
      SecretKey secretKey = KeyGenerator.getInstance("AES").generateKey();

      String encodedKey = Base64.getEncoder().encodeToString(secretKey.getEncoded());

    }catch(Exception ex){}

次に、この鍵を別の場所(例:別のサーバー)に保存して配布する必要があります。アイデアは、同じ共有キーを使用して2つの異なる場所で暗号化と復号化を実行することです。

この文字列値を安全に保存するための最良の方法を教えてください。キーストアはPKIに使用されるため、ここではオプションを選択できません。

2
user3496510

キーの保存
この答え で述べたように、秘密鍵を2つの方法で安全に保存できます。

  • 鍵ファイル
  • 設定ファイル

これらのファイルの両方が誰にも表示されず、どちらもWebサーバーから提供されないようにする必要があります。

キーの配布
配布については、サーバー間のSSL通信を介してキーを送信できます。これにより、正当な当事者と鍵を共有していることを確認し、安全なチャネルを処理して鍵を配布します。

1
Limit