클러스터 초기화 - AWS CloudHSM

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

클러스터 초기화

다음 주제의 단계를 완료하여 AWS CloudHSM 클러스터를 초기화합니다.

참고

클러스터를 초기화하기 전에 HSM의 자격 증명 및 신뢰성을 확인할 수 있는 프로세스를 검토합니다. 이 프로세스는 선택 사항이며, 클러스터가 초기화될 때까지만 유효합니다. 클러스터가 초기화된 후에는 이 프로세스를 사용하여 인증서를 가져오거나 HSM을 확인할 수 없습니다.

클러스터 CSR 가져오기

클러스터를 초기화하려면 먼저, 클러스터의 첫 번째 HSM에서 생성된 인증서를 다운로드하여 서명 요청(CSR)에 서명해야 합니다. 단계에 따라 클러스터의 HSM 자격 증명을 확인했다면 이미 CSR이 있는 것이므로 CSR에 서명할 수 있습니다. 그렇지 않으면 AWS CloudHSM 콘솔, AWS CLI(AWS Command Line Interface) 또는 AWS CloudHSM API를 사용하여 CSR을 가져옵니다.

CSR을 가져오려면(콘솔)

  1. https://console.aws.amazon.com/cloudhsm/에서 AWS CloudHSM 콘솔을 엽니다.

  2. 이전에 생성한 클러스터 옆에 있는 [Initialize]를 선택합니다.

  3. CSR이 이미 있는 경우에는 이를 다운로드할 수 있는 링크가 나타납니다.

    
						AWS CloudHSM 콘솔에서 인증서 서명 요청 페이지를 다운로드합니다.

    [Cluster CSR]을 선택하여 CSR을 다운로드하고 저장합니다.

CSR을 가져오는 방법(AWS CLI)

  • 명령 프롬프트에서 다음 describe-clusters 명령을 실행하여 CSR을 추출하고 파일에 저장합니다. <cluster ID>이전에 생성한 클러스터의 ID로 바꿉니다.

    $ aws cloudhsmv2 describe-clusters --filters clusterIds=<cluster ID> \ --output text \ --query 'Clusters[].Certificates.ClusterCsr' \ > <cluster ID>_ClusterCsr.csr

CSR을 가져오는 방법(AWS CloudHSM API)

  1. DescribeClusters 요청을 보냅니다.

  2. 응답에서 CSR을 추출하고 저장합니다.

CSR에 서명

현재는 자체 서명된 서명 인증서를 만들고 클러스터의 CSR에 서명하는 데 사용해야 합니다. 이 단계에는 AWS CLI가 필요하지 않으며, 셸을 AWS 계정에 연결할 필요가 없습니다. CSR에 서명하려면 다음을 수행해야 합니다.

  1. CSR 얻기(클러스터 CSR 가져오기 참조)

  2. 프라이빗 키를 만듭니다.

  3. 프라이빗 키를 사용하여 서명 인증서를 만듭니다.

  4. 클러스터 CSR에 서명합니다.

프라이빗 키를 만듭니다

다음 명령을 사용하여 퍼블릭 키를 생성합니다. 프로덕션 클러스터의 경우 신뢰할 수 있는 임의 소스를 사용하여 안전한 방식으로 키를 생성해야 합니다. 안전한 오프사이트 및 오프라인 HSM이나 이에 상응하는 디바이스를 사용하는 것이 좋습니다. 키를 안전하게 저장하십시오. 키를 소유하고 있다는 것을 증명할 수 있으면 클러스터 및 클러스터에 포함된 데이터를 소유하고 있는 것도 증명할 수 있습니다.

개발 및 테스트 중에 원하는 편리한 도구(예: OpenSSL)를 사용하여 클러스터 인증서를 만들고 서명할 수 있습니다. 다음 예에서는 키를 생성하는 방법을 보여줍니다. 키를 사용하여 자체 서명된 인증서를 생성한 후(아래 참조), 안전한 방식으로 저장해야 합니다. AWS CloudHSM 인스턴스에 로그인하려면 인증서가 있어야 하지만 프라이빗 키는 필요하지 않습니다. 이 키는 백업에서 복원과 같은 특정 용도를 위해서만 사용합니다.

$ openssl genrsa -aes256 -out customerCA.key 2048 Generating RSA private key, 2048 bit long modulus ........+++ ............+++ e is 65537 (0x10001) Enter pass phrase for customerCA.key: Verifying - Enter pass phrase for customerCA.key:

프라이빗 키를 사용하여 자체 서명된 인증서 생성

프로덕션 클러스터의 프라이빗 키를 생성하는 데 사용하는 신뢰할 수 있는 하드웨어는 해당 키를 통해 자체 서명된 인증서를 생성하기 위한 소프트웨어 도구도 제공해야 합니다. 다음 예에서는 OpenSSL과 이전 단계에서 만든 프라이빗 키를 사용하여 서명 인증서를 생성합니다. 인증서는 10년(3,652일) 동안 유효합니다. 화면의 지침을 읽고 프롬프트의 메시지를 따릅니다.

$ openssl req -new -x509 -days 3652 -key customerCA.key -out customerCA.crt Enter pass phrase for customerCA.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:

이 명령은 customerCA.crt 인증서 파일을 생성합니다. AWS CloudHSM 클러스터에 연결할 모든 호스트에 이 인증서를 저장합니다. 파일에 다른 이름을 지정하거나 호스트의 루트가 아닌 다른 경로에 파일을 저장하는 경우, 그에 따라 클라이언트 구성 파일을 편집해야 합니다. 방금 생성한 인증서와 프라이빗 키를 사용하여 다음 단계에서 클러스터 CSR(인증서 서명 요청)에 서명합니다.

클러스터 CSR에 서명

프로덕션 클러스터의 프라이빗 키를 생성하는 데 사용하는 신뢰할 수 있는 하드웨어는 해당 키를 통해 CSR에 서명하기 위한 도구도 제공해야 합니다. 다음 예에서는 OpenSSL을 사용하여 클러스터의 CSR에 서명합니다. 이 예에서는 이전 단계에서 생성한 프라이빗 키와 자체 서명된 인증서를 사용합니다.

$ openssl x509 -req -days 3652 -in <cluster ID>_ClusterCsr.csr \ -CA customerCA.crt \ -CAkey customerCA.key \ -CAcreateserial \ -out <cluster ID>_CustomerHsmCertificate.crt Signature ok subject=/C=US/ST=CA/O=Cavium/OU=N3FIPS/L=SanJose/CN=HSM:<HSM identifer>:PARTN:<partition number>, for FIPS mode Getting CA Private Key Enter pass phrase for customerCA.key:

이 명령은 <cluster ID>_CustomerHsmCertificate.crt 파일을 생성합니다. 클러스터를 초기화할 때 이 파일을 서명된 인증서로 사용합니다.

클러스터 초기화

서명한 HSM 인증서와 서명 인증서를 사용하여 클러스터를 초기화하십시오. AWS CloudHSM 콘솔, AWS CLI 또는 AWS CloudHSM API를 사용할 수 있습니다.

클러스터를 초기화하려면(콘솔)

  1. https://console.aws.amazon.com/cloudhsm/에서 AWS CloudHSM 콘솔을 엽니다.

  2. 이전에 생성한 클러스터 옆에 있는 [Initialize]를 선택합니다.

  3. [Download certificate signing request] 페이지에서 [Next]를 선택합니다. [Next]가 비활성화 되어 있는 경우에는 먼저 CSR 또는 인증서 링크 중 하나를 선택합니다. 그런 다음 [Next]를 선택합니다.

  4. [Sign certificate signing request (CSR)] 페이지에서 [Next]를 선택합니다.

  5. [Upload the certificates] 페이지에서 다음 작업을 수행하십시오.

    1. 클러스터 인증서 옆의 파일 업로드를 선택합니다. 그러면 이전에 서명한 HSM 인증서 위치를 확인하고 선택합니다. 이전 단원에 나온 단계들을 완료했다면 <cluster ID>_CustomerHsmCertificate.crt라는 파일을 선택합니다.

    2. Issuing certificate(인증서 발급하기) 옆의 파일 업로드를 선택합니다. 그런 다음 서명 인증서를 선택합니다. 이전 단원에 나온 단계들을 완료했다면 customerCA.crt라는 파일을 선택합니다.

    3. [Upload and initialize]를 선택합니다.

클러스터 초기화 방법(AWS CLI)

  • 명령 프롬프트에서 initialize-cluster 명령을 실행합니다. 다음을 제공합니다.

    • 이전에 생성한 클러스터의 ID입니다.

    • 이전에 서명한 HSM 인증서입니다. 이전 단원에 나온 단계들을 완료하면 <cluster ID>_CustomerHsmCertificate.crt라는 파일에 저장이 됩니다.

    • 서명 인증서입니다. 이전 단원에 나온 단계를 완료하면 서명 인증서가 customerCA.crt라는 파일에 저장됩니다.

    $ aws cloudhsmv2 initialize-cluster --cluster-id <cluster ID> \ --signed-cert file://<cluster ID>_CustomerHsmCertificate.crt \ --trust-anchor file://customerCA.crt { "State": "INITIALIZE_IN_PROGRESS", "StateMessage": "Cluster is initializing. State will change to INITIALIZED upon completion." }

클러스터 초기화 방법(AWS CloudHSM API)

  • 다음과 함께 InitializeCluster 요청을 전송합니다.

    • 이전에 생성한 클러스터의 ID입니다.

    • 이전에 서명한 HSM 인증서입니다.

    • 서명 인증서입니다.