기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
KMU를 사용하여 AWS CloudHSM DSA 키 페어 생성
AWS CloudHSM key_mgmt_util 도구의 genDSAKeyPair 명령을 사용하여 하드웨어 보안 모듈(HSM)에서 Digital Signing Algorithm
key_mgmt_util 명령을 실행하기 전에 key_mgmt_util을 시작하고 CU(Crypto User)로 HSM에 로그인해야 합니다.
작은 정보
생성한 키의 속성(예: 형식, 길이, 레이블, ID)을 찾으려면 getAttribute를 사용합니다. 특정 사용자의 키를 찾으려면 getKeyInfo를 사용합니다. 속성 값에 따라 키를 찾으려면 findKey를 사용합니다.
구문
genDSAKeyPair -h genDSAKeyPair -m<modulus length>-l<label>[-id<key ID>] [-min_srv<minimum number of servers>] [-m_value<0..8>] [-nex] [-sess] [-timeout<number of seconds>] [-u<user-ids>] [-attest]
예시
이 예제에서는 genDSAKeyPair를 사용하여 DSA 키 페어를 생성하는 방법을 보여 줍니다.
예 : DSA 키 페어 생성
이 명령은 라벨이 DSA인 DSA 키 페어를 생성합니다. 출력은 퍼블릭 키의 키 핸들이 19이고 프라이빗 키의 핸들이 21임을 보여 줍니다.
Command:genDSAKeyPair -m 2048 -l DSACfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 19 private key handle: 21 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
예 : 세션 전용 DSA 키 페어 생성
이 명령은 현재 세션에서만 유효한 DSA 키 페어를 생성합니다. 이 명령은 필수 (고유하지 않은) 라벨 외에 DSA_temp_pair의 고유한 ID를 할당합니다. 세션 전용 토큰 서명 및 확인을 위해서는 이와 같은 키 페어를 생성하는 것이 좋습니다. 출력은 퍼블릭 키의 키 핸들이 12이고 프라이빗 키의 핸들이 14임을 보여 줍니다.
Command:genDSAKeyPair -m 2048 -l DSA-temp -id DSA_temp_pair -sessCfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 12 private key handle: 14 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
키 쌍이 세션에만 존재하는지 확인하려면 1(참) 값과 함께 findKey의 -sess 매개 변수를 사용합니다.
Command:findKey -sess 1Total number of keys present 2 number of keys matched from start index 0::1 12, 14 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
예 : 추출할 수 없는 공유 DSA 키 페어 생성
이 명령은 DSA 키 페어를 생성합니다. 프라이빗 키는 세 명의 다른 사용자와 공유되며, HSM에서 내보낼 수 없습니다. 퍼블릭 키는 모든 사용자가 사용할 수 있으며, 항상 추출이 가능합니다.
Command:genDSAKeyPair -m 2048 -l DSA -id DSA_shared_pair -nex -u 3,5,6Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 11 private key handle: 19 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
예 : 쿼럼 제어 키 페어 생성
이 명령은 라벨이 DSA-mV2인 DSA 키 페어를 생성합니다. 이 명령은 -u 파라미터를 사용하여 프라이빗 키를 사용자 4 및 6과 공유합니다. 이 명령은 -m_value 파라미터를 사용하여 프라이빗 키를 사용하는 암호화 작업에 대한 최소 2개의 승인을 쿼럼에 요청합니다. 또 -attest 파라미터를 사용하여 키 페어가 생성되는 펌웨어의 무결성을 확인합니다.
출력은 이 명령이 키 핸들이 12인 퍼블릭 키와 키 핸들이 17인 프라이빗 키를 생성하며, 클러스터 펌웨어에서의 증명 확인에 통과했음을 보여 줍니다.
Command:genDSAKeyPair -m 2048 -l DSA-mV2 -m_value 2 -u 4,6 -attestCfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 12 private key handle: 17 Attestation Check : [PASS] Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
이 명령은 개인 키(키 핸들 17)에 대해 getKeyInfo를 사용합니다. 출력은 키를 현재 사용자(사용자 3)가 소유하고 있고 사용자 4 및 6(그 외에는 없음)과 공유하고 있음을 확인합니다. 또한 쿼럼 인증이 활성화되어 있고 쿼럼 크기가 2라는 것도 보여 줍니다.
Command:getKeyInfo -k 17Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS Owned by user 3 also, shared to following 2 user(s): 4 6 2 Users need to approve to use/manage this key
파라미터
- -h
-
명령에 대한 도움말을 표시합니다.
필수 여부: 예
- -m
-
모듈러스 길이를 비트 단위로 지정합니다. 유일한 유효 값은
2048입니다.필수 여부: 예
- -l
-
키 페어에 대해 사용자 정의 레이블을 지정합니다. 문자열을 입력합니다. 같은 레이블이 페어의 두 키에 적용됩니다.
label에 허용되는 최대 크기는 127자입니다.키 식별을 지원하는 임의의 문구를 사용할 수 있습니다. 레이블이 고유할 필요는 없으므로 이를 그룹에 사용하여 키를 분류할 수 있습니다.
필수 여부: 예
- -id
-
키 페어에 대해 사용자 정의 식별자를 지정합니다. 클러스터에 고유한 문자열을 입력합니다. 기본값은 빈 문자열입니다. 사용자가 지정하는 ID는 페어의 두 키에 모두 적용됩니다.
기본값: ID 값이 없음.
필수 여부: 아니요
- -min_srv
-
-timeout파라미터의 값이 만료되기 전에 키가 동기화되는 HSM의 최소 개수를 지정합니다. 할당된 시간에 지정된 서버 개수에 키가 동기화되지 않으면 키가 생성되지 않습니다.AWS CloudHSM 는 클러스터의 모든 HSM에 모든 키를 자동으로 동기화합니다. 이 과정을 더 빠르게 진행하려면
min_srv의 값을 클러스터의 HSM 개수보다 적게 설정하고 낮은 제한 시간 값을 설정합니다. 그러나 일부 요청은 키를 생성하지 않을 수 있음을 주의하십시오.기본값: 1
필수 여부: 아니요
- -m_value
-
페어의 프라이빗 키를 사용하는 모든 암호화 작업을 승인해야 하는 사용자의 수를 지정합니다.
0에서8까지의 값을 입력합니다.이 파라미터는 프라이빗 키에 대해 쿼럼 인증 요구 사항을 설정합니다. 기본값
0은 키에 대한 쿼럼 인증 기능을 비활성화합니다. 쿼럼 인증이 활성화되면 지정된 사용자 수는 토큰에 서명하여 그 프라이빗 키를 사용하는 암호화 작업과 그 프라이빗 키를 공유 또는 공유 해제하는 모든 작업을 승인해야 합니다.키의
m_value를 찾으려면 getKeyInfo를 사용합니다.이 파라미터는 명령의
-u파라미터가m_value요구 사항을 충족할 만큼 충분히 많은 사용자와 키 페어를 공유할 때만 유효합니다.기본값: 0
필수 여부: 아니요
- -nex
-
프라이빗 키를 추출할 수 없도록 합니다. 생성된 프라이빗 키는 HSM에서 내보내기를 수행할 수 없습니다. 퍼블릭 키는 항상 추출할 수 있습니다.
기본값: 키 페어의 퍼블릭 및 프라이빗 키를 모두 추출할 수 있습니다.
필수 여부: 아니요
- -sess
-
현재 세션에만 존재하는 키를 생성합니다. 세션이 종료된 후에는 키를 복구할 수 없습니다.
다른 키를 암호화한 후 다시 재빨리 암호를 해독하는 래핑 키와 같이 키가 일시적으로 필요한 경우 이 파라미터를 사용합니다. 세션 종료 후에 암호를 해독해야 할 수 있는 데이터를 암호화하는 데 세션 키를 사용해서는 안 됩니다.
세션 키를 영구적인 (토큰) 키로 변경하려면 setAttribute를 사용합니다.
기본값: 키는 영구적입니다.
필수 여부: 아니요
- -timeout
-
명령이
min_srv파라미터에서 지정한 HSM의 수에 키가 동기화하기를 기다리는 시간(단위: 초)을 지정합니다.이 파라미터는 명령에서
min_srv파라미터도 사용되는 경우에만 유효합니다.기본값: 제한 시간 없음. 명령은 무기한 기다리다가 최소 서버 개수에 키가 동기화될 때만 복귀합니다.
필수 여부: 아니요
- -u
-
지정된 사용자와 페어의 프라이빗 키를 공유합니다. 이 파라미터는 다른 HSM CU(Crypto User)에게 암호화 작업에 프라이빗 키를 사용할 수 있는 권한을 부여합니다. 퍼블릭 키는 공유하지 않고도 모든 사용자와 공유할 수 있습니다.
u 5,6과 같이 쉼표로 구분된 HSM 사용자 ID 목록을 입력합니다. 현재 사용자의 HSM 사용자 ID는 포함하지 마십시오. HSM에서 CU의 HSM 사용자 ID를 찾으려면 listUsers를 사용하십시오. 기존 키를 공유 및 공유 해제하려면 cloudhsm_mgmt_util에서 shareKey를 사용합니다.기본값: 현재 사용자만 프라이빗 키를 사용할 수 있습니다.
필수 여부: 아니요
- -attest
클러스터가 실행되는 펌웨어가 변조되지 않았는지 확인하는 무결성 점검을 실행합니다.
기본값: 증명 점검은 없음.
필수 여부: 아니요