내용으로 건너뛰기

클라이언트-서버 엔드투엔드 암호화 연결에 사용되는 CloudHSM 인증서는 무엇인가요?

2분 분량
0

AWS CloudHSM 클라이언트 종단간 암호화가 어떻게 작동하고 어떤 HSM 인증서가 사용되는지 알고 싶습니다.

간략한 설명

CloudHSM 클라이언트와 CloudHSM 클러스터 내 HSM 간의 엔드투엔드 암호화 연결은 두 개의 중첩된 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 신뢰 경로에 포함되어 있는지 확인합니다. 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 클라이언트의 /opt/cloudhsm/etc/customerCA.crt 디렉터리에 있는 CloudHSM 클라이언트 CA 인증서에 포함된 기본 인증서 중 하나이어야 합니다.

서버는 이 인증서가 기본 인증서인지 또는 customerCA.crt에서 발급한 인증서인지 확인합니다.

HSM TLS 연결

첫 번째 TLS 연결 계층 내에서 클라이언트와 HSM으로의 두 번째 TLS 연결을 설정합니다. 서버는 클러스터 초기화 중에 발급한 CloudHSM 클러스터 인증서를 전송합니다. 다음 명령을 사용하여 인증서를 다운로드합니다.

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

클라이언트는 /opt/cloudhsm/etc/customerCA.crt 디렉터리에 있는 customerCA.crt에서 발급한 인증서인지 확인합니다. 그런 다음 클라이언트는 클러스터의 HSM에 대한 연결을 확인합니다.

참고: 서버 인증서와 CloudHSM 클러스터 인증서는 변경하거나 갱신할 수 없습니다.

AWS 공식업데이트됨 2년 전