0

必要な証明書が TPM に保存されている間に HTTPS 接続を開く方法を探しています。

現在、HTTPClient を使用して接続を開いていますが、証明書がディスクに保存されている限り、すべて正常に動作します。

  http = HTTPClient.new
  request = "#{address}/#{command}"
  http.ssl_config.set_client_cert_file("#{CLIENT_CERT}",
                                       "#{CLIENT_KEY}")

クライアントの秘密鍵が TPM に保存されている場合、これを行うにはどうすればよいですか?

4

1 に答える 1

1

2 つの可能性があります。

  • キーをTPMの不揮発性メモリに保存します
  • キーを含むファイルを「封印」する

Ruby でこれを行うには、次のことができます。

  • 必要なコマンドを自分で実装し、コードが OS の TPM ドライバーと通信できるようにする
  • TrouSerSのC APIを使ったコードを書く
  • TrouSerSjTSS、または IBM のtpm_utilsによって提供されるようなコマンド ライン ツールを呼び出す

ただし、それがアーキテクチャの観点から探しているものかどうかはわかりません。TPM によるキーの読み込みは、起動時にのみ可能です。リクエストごとにそれを行いたい場合は、パフォーマンスが低下します。さらに、キーがメモリから安全に消去されるように注意する必要があります。そうしないと、意味がありません。

于 2015-01-02T15:00:32.210 に答える