기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS CloudHSM Crypto Officer용 쿼럼 인증 설정
다음 주제에서는 AWS CloudHSM Crypto Officer(CO)가 쿼럼 인증을 사용할 수 있도록 하드웨어 보안 모듈(HSM)을 구성하기 위해 완료해야 하는 단계를 설명합니다. 이러한 단계는 처음으로 CO 쿼럼 인증을 구성할 때 한 번만 수행하면 됩니다. 이 단계들을 완료한 후 AWS CloudHSM 관리 유틸리티에 대해 쿼럼 인증을 사용하여 사용자 관리 활성화 섹션을 참조하십시오.
사전 조건
이 예제 코드를 이해하려면 cloudhsm_mgmt_util명령줄 도구(CMU)에 익숙해야 합니다. 이 예제에서 AWS CloudHSM 클러스터에 HSM이 2개 있으며, listUsers 명령의 다음 출력에 나온 것처럼 각 HSM의 CO가 동일합니다. 사용자 생성에 대한 자세한 내용은 HSM 사용자 단원을 참조하십시오.
aws-cloudhsm>
listUsers
Users on server 0(10.0.2.14):
Number of users found:7
User Id User Type User Name MofnPubKey LoginFailureCnt 2FA
1 PRECO admin NO 0 NO
2 AU app_user NO 0 NO
3 CO officer1 NO 0 NO
4 CO officer2 NO 0 NO
5 CO officer3 NO 0 NO
6 CO officer4 NO 0 NO
7 CO officer5 NO 0 NO
Users on server 1(10.0.1.4):
Number of users found:7
User Id User Type User Name MofnPubKey LoginFailureCnt 2FA
1 PRECO admin NO 0 NO
2 AU app_user NO 0 NO
3 CO officer1 NO 0 NO
4 CO officer2 NO 0 NO
5 CO officer3 NO 0 NO
6 CO officer4 NO 0 NO
7 CO officer5 NO 0 NO
단계 1. 서명용 키 생성 및 등록
쿼럼 인증을 사용하려면 각 CO는 다음 단계를 모두 수행해야 합니다.
RSA 키 페어 생성
키 쌍을 생성하고 보호하는 방법에는 여러 가지가 있습니다. 다음 예제에서는 OpenSSL
예 — OpenSSL을 사용하여 개인 키를 생성하세요
다음 예제는 OpenSSL을 사용하여 암호로 보호되는 2048비트 RSA 키를 생성하는 방법을 보여 줍니다. 이 예를 사용하려면 officer1.key
를 키를 저장하려는 파일 이름으로 바꿉니다.
$
openssl genrsa -out
officer1.key
-aes256 2048Generating RSA private key, 2048 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for officer1.key: Verifying - Enter pass phrase for officer1.key:
다음으로 방금 생성한 프라이빗 키를 사용하여 퍼블릭 키를 생성합니다.
예 — OpenSSL로 퍼블릭 키 생성하기
다음 예에서는 OpenSSL을 사용하여 방금 생성한 프라이빗 키에서 퍼블릭 키를 생성하는 방법을 보여줍니다.
$
openssl rsa -in officer1.key -outform PEM -pubout -out officer1.pub
Enter pass phrase for officer1.key: writing RSA key
등록 토큰 생성 및 서명
토큰을 생성하고 이전 단계에서 방금 생성한 프라이빗 키로 서명합니다.
예 – 토큰 생성
등록 토큰은 최대 크기인 245바이트를 초과하지 않는 임의의 데이터가 포함된 파일입니다. 프라이빗 키로 토큰에 서명하여 프라이빗 키에 액세스할 수 있음을 입증합니다. 다음 명령은 에코를 사용하여 문자열을 파일로 리디렉션합니다.
$
echo
"token to be signed"
>officer1.token
토큰에 서명하고 서명 파일에 저장합니다. CO를 HSM에 MofN 사용자로 등록하려면 서명된 토큰, 서명되지 않은 토큰, 퍼블릭 키가 필요합니다.
예 – 토큰에 서명하기
OpenSSL과 프라이빗 키를 사용하여 등록 토큰에 서명하고 서명 파일을 생성합니다.
$
openssl dgst -sha256 \ -sign
officer1.key
\ -outofficer1.token.sig
officer1.token
HSM에 퍼블릭 키 등록
키를 생성한 후 CO는 키의 퍼블릭 부분(퍼블릭 키)을 HSM에 등록해야 합니다.
퍼블릭 키를 HSM에 등록하려면
-
다음 명령을 사용하여 cloudhsm_mgmt_util 명령줄 도구를 시작합니다.
$
/opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
-
loginHSM 명령을 사용하여 HSM에 CO로 로그인합니다. 자세한 내용은 HSM CloudHSM Management Utility를 사용한 사용자 관리(CMU) 섹션을 참조하세요.
-
registerQuorumPubKey 명령을 사용하여 퍼블릭 키를 등록합니다. 자세한 내용은 다음 예제를 참조하거나 help registerQuorumPubKey 명령을 사용하십시오.
예 – HSM에 퍼블릭 키 등록
다음 예제에서는 cloudhsm_mgmt_util 명령줄 도구의 registerQuorumPubKey 명령을 사용하여 HSM에 CO의 퍼블릭 키를 등록하는 방법을 보여 줍니다. 이 명령을 사용하려면 CO가 HSM에 로그인해야 합니다. 이 값들을 사용자의 값으로 대체합니다.
aws-cloudhsm>
registerQuorumPubKey CO <
officer1
> <officer1.token
> <officer1.token.sig
> <officer1.pub
>*************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. AWS does NOT synchronize these changes automatically with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?y registerQuorumPubKey success on server 0(10.0.2.14)
- <officer1.token>
-
서명되지 않은 등록 토큰이 포함된 파일의 경로입니다. 최대 파일 크기가 245바이트인 임의의 데이터를 포함할 수 있습니다.
필수 항목 여부: 예
- <officer1.token.sig>
-
등록 토큰의 SHA256_PKCS 메커니즘 서명 해시가 포함된 파일의 경로입니다.
필수 항목 여부: 예
- <officer1.pub>
-
비대칭 RSA-2048 키 페어의 퍼블릭 키를 포함하는 파일의 경로입니다. 프라이빗 키를 사용하여 등록 토큰에 서명합니다.
필수 항목 여부: 예
모든 CO가 퍼블릭 키를 등록한 후 다음 예제와 같이 listUsers 명령 출력의 MofnPubKey
열에 이 내용이 표시됩니다.
aws-cloudhsm>
listUsers
Users on server 0(10.0.2.14): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 YES 0 NO 4 CO officer2 YES 0 NO 5 CO officer3 YES 0 NO 6 CO officer4 YES 0 NO 7 CO officer5 YES 0 NO Users on server 1(10.0.1.4): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 YES 0 NO 4 CO officer2 YES 0 NO 5 CO officer3 YES 0 NO 6 CO officer4 YES 0 NO 7 CO officer5 YES 0 NO
단계 2. HSM에서 쿼럼 최소값 설정
CO에 쿼럼 인증을 사용하려면 CO가 HSM에 로그인한 다음 쿼럼 최소값(m 값이라고도 함)을 설정해야 합니다. 이것은 HSM 사용자 관리 작업을 수행하는 데 필요한 최소 CO 승인 수입니다. 서명을 위해 키를 등록하지 않은 CO를 포함하여 HSM의 모든 CO는 쿼럼 최소값을 설정할 수 있습니다. 쿼럼 최소값은 언제든지 변경할 수 있습니다. 자세한 내용은 최소값 변경을 참조하십시오.
HSM에서 쿼럼 최소값을 설정하려면
-
다음 명령을 사용하여 cloudhsm_mgmt_util 명령줄 도구를 시작합니다.
$
/opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
-
loginHSM 명령을 사용하여 HSM에 CO로 로그인합니다. 자세한 내용은 HSM CloudHSM Management Utility를 사용한 사용자 관리(CMU) 섹션을 참조하세요.
-
setMValue 명령을 사용하여 쿼럼 최소값을 설정합니다. 자세한 내용은 다음 예제를 참조하거나 help setMValue 명령을 사용하십시오.
예 - HSM에서 쿼럼 최소값 설정
이 예제에서는 쿼럼 최소값 2를 사용합니다. HSM의 총 CO 수까지 2~8 사이의 어떤 값도 선택할 수 있습니다. 이 예에서 HSM에는 6개의 CO가 있으므로 가능한 최대 값은 6입니다.
다음 예제 명령을 사용하려면 마지막 숫자(2
)를 원하는 쿼럼 최소값으로 대체해야 합니다.
aws-cloudhsm>
setMValue 3
2
*************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. AWS does NOT synchronize these changes automatically with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?
y
Setting M Value(2) for 3 on 2 nodes
앞의 예제에서 첫 번째 숫자(3)는 쿼럼 최소값을 설정할 HSM 서비스를 식별합니다.
다음 표에는 HSM 서비스 식별자와 함께 식별자의 이름, 설명, 서비스에 포함된 명령이 나열되어 있습니다.
서비스 식별자 | 서비스 이름 | 서비스 설명 | HSM 명령 |
---|---|---|---|
3 | USER_MGMT |
HSM 사용자 관리 |
|
4 | MISC_CO |
기타 CO 서비스 |
|
서비스의 쿼럼 최소값을 가져오려면 다음 예제와 같이 getMValue 명령을 사용합니다.
aws-cloudhsm>
getMValue 3
MValue of service 3[USER_MGMT] on server 0 : [2] MValue of service 3[USER_MGMT] on server 1 : [2]
앞에 나온 getMValue 명령의 출력은 HSM 사용자 관리 작업(서비스 3)의 쿼럼 최소값이 이제 2라는 것을 보여 줍니다.
이 단계들을 완료한 후 AWS CloudHSM 관리 유틸리티에 대해 쿼럼 인증을 사용하여 사용자 관리 활성화 섹션을 참조하십시오.