クライアントサーバーのエンドツーエンドの暗号化接続にどの CloudHSM 証明書を使用したらよいですか?

最終更新日: 2019 年 6 月 21 日

AWS CloudHSM クライアントのエンドツーエンド暗号化はどのように機能し、どの HSM 証明書を使用したらよいですか?

簡単な説明

CloudHSM クライアントと CloudHSM クラスター内の HSM 間のエンドツーエンドの暗号化接続は、2 つの入れ子になった TLS 接続を介して確立されます。詳細については、「AWS CloudHSM クライアント」を参照してください。

解決方法

HSM とのエンドツーエンドの暗号化通信を設定するには、以下の手順に従ってください。

注: TLS 接続の失敗を回避するために、指定された証明書を必ず使用してください。

サーバー TLS 接続

クライアントから HSM ハードウェアをホストするサーバーへの TLS 接続を確立します。これは、サーバーとクライアント間の双方向 TLS 接続です。

サーバーは自己署名証明書を送信します。次のようなコマンドを実行して、この自己署名証明書の詳細を表示できます。

serial=B7FA7A40976CBE82
issuer= /C=US/ST=Virginia/L=Herndon/O=AWS/OU=AWS Cryptography/CN=CloudHSM/emailAddress=cloudhsm-team@amazon.com
subject= /C=US/ST=Virginia/L=Herndon/O=AWS/OU=AWS Cryptography/CN=CloudHSM/emailAddress=cloudhsm-team@amazon.com
$ openssl s_client -connect <HSM_IP>:2223 2> /dev/null | openssl x509 -subject -issuer -serial -noout

HSM クライアントは、この証明書が /opt/cloudhsm/etc/cert ディレクトリの CA 信頼パスに含まれていることを確認します。次のような 2 つの証明書が cloudhsm-client パッケージに含まれています。

$ cd /opt/cloudhsm/etc/certs

$ ls
21a10654.0  712ff948.0

$ openssl x509 -subject -issuer -serial -noout -in 21a10654.0
subject= /C=US/ST=Virginia/L=Herndon/O=AWS/OU=AWS Cryptography/CN=CloudHSM/emailAddress=cloudhsm-team@amazon.com
issuer= /C=US/ST=Virginia/L=Herndon/O=AWS/OU=AWS Cryptography/CN=CloudHSM/emailAddress=cloudhsm-team@amazon.com
serial=B7FA7A40976CBE82

$ openssl x509 -subject -issuer -serial -noout -in 712ff948.0
subject= /C=US/ST=Virginia/L=Herndon/O=AWS/OU=Cryptography/CN=CloudHSM/emailAddress=cloudhsm-team@amazon.com
issuer= /C=US/ST=Virginia/L=Herndon/O=AWS/OU=Cryptography/CN=CloudHSM/emailAddress=cloudhsm-team@amazon.com
serial=A7525B285D1C2BB5

HSM クライアントはクライアント証明書を /opt/cloudhsm/etc/client.crt ディレクトリに送信します。クライアント証明書は、必ず CloudHSM クライアントパッケージに含まれているデフォルトの証明書、または customerCA.crt によって発行された証明書のいずれかになります。/opt/cloudhsm/etc/customerCA.crt ディレクトリの CloudHSM クライアントに CA 証明書をインストールします。

サーバーは、これがデフォルトの証明書か customerCA.crt によって発行された証明書のいずれかであることを確認します。

HSM TLS 接続

最初の TLS 接続層内のクライアントから HSM への 2 番目の TLS 接続を確立します。サーバーは クラスターの初期化中に発行された CloudHSM クラスター証明書を送信します。次のコマンドで証明書をダウンロードします。

aws cloudhsmv2 describe-clusters --query "Clusters[?ClusterId=='<Cluster_ID>'].Certificates.ClusterCertificate" --output text

クライアントはこれが /opt/cloudhsm/etc/customerCA.crt ディレクトリーの customerCA.crt によって発行された証明書であることを確認します。次に、クライアントはクラスター内の HSM への接続を確認します。

注: サーバー証明書と CloudHSM クラスター証明書を変更または更新することはできません。


この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合