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

最終更新日: 2021 年 6 月 23 日

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

簡単な説明

CloudHSM クライアントと CloudHSM クラスター内の HSM 間のエンドツーエンドの暗号化接続は、2 つのネストされた TLS 接続を介して確立されます。詳細については、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 ディレクトリに送信します。クライアント証明書は、 /opt/cloudhsm/etc/customerca.crt ディレクトリにある CloudHSM クライアント上の CloudHSM クライアント CA 証明書に含まれるデフォルト証明書のいずれかでなければなりません。

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

HSM TLS 接続

1 番目の 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 クラスター証明書を変更または更新することはできません。


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


請求に関するサポートまたは技術的なサポートが必要ですか?