AWS CloudHSM KMU를 사용하여 프라이빗 키 가져오기
AWS CloudHSM key_mgmt_util에서 importPrivateKey 명령을 사용하여 파일에서 하드웨어 보안 모듈(HSM)로 비대칭 프라이빗 키를 가져옵니다. HSM에서는 일반 텍스트로 키를 직접 가져올 수 없습니다. 명령은 사용자가 지정한 AES 래핑 키를 사용하여 프라이빗 키를 암호화하고 HSM 내에서 키 래핑을 해제합니다. AWS CloudHSM 키를 인증서와 연결하려는 경우 이 주제를 참조하십시오.
참고
대칭 키나 프라이빗 키를 사용하여 암호로 보호된 PEM 키를 가져올 수 없습니다.
OBJ_ATTR_UNWRAP
과 OBJ_ATTR_ENCRYPT
속성 값 1
이 있는 AES 래핑 키를 지정해야 합니다. 키의 속성을 찾으려면 getAttribute 명령을 사용합니다.
참고
이 명령은 가져온 키를 내보낼 수 없도록 표시하는 옵션을 제공하지 않습니다.
key_mgmt_util 명령을 실행하기 전에 먼저 key_mgmt_util을 시작하고 HSM에 Crypto User(CU)로 로그인해야 합니다.
구문
importPrivateKey -h importPrivateKey -l
<label>
-f<key-file>
-w<wrapping-key-handle>
[-sess] [-id<key-id>
] [-m_value<0...8>
] [min_srv<minimum-number-of-servers>
] [-timeout<number-of-seconds>
] [-u<user-ids>
] [-wk<wrapping-key-file>
] [-attest]
예시
이 예제에서는 importPrivateKey를 사용하여 프라이빗 키를 HSM으로 가져오는 방법을 보여 줍니다.
예 : 프라이빗 키 가져오기
이 명령은 rsa2048.key
라는 파일에서 레이블이 rsa2048-imported
인 프라이빗 키와 핸들이 524299
인 래핑 키를 가져옵니다. 명령이 성공하면 importPrivateKey가 가져온 키의 키 핸들과 성공 메시지를 반환합니다.
Command:
importPrivateKey -f rsa2048.key -l rsa2048-imported -w 524299
BER encoded key length is 1216 Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS Private Key Unwrapped. Key Handle: 524301 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
파라미터
이 명령은 다음 파라미터를 사용합니다.
-h
-
명령에 대한 명령줄 도움말을 표시합니다.
필수 항목 여부: 예
-l
-
사용자 정의 프라이빗 키 레이블을 지정합니다.
필수 항목 여부: 예
-f
-
가져올 키의 파일 이름을 지정합니다.
필수 항목 여부: 예
-w
-
래핑 키의 키 핸들을 지정합니다. 이 파라미터는 필수 사항입니다. 키 핸들을 찾으려면 findKey 명령을 사용합니다.
키를 래핑 키로 사용할 수 있는지 여부를 확인하려면 getAttribute를 사용하여
OBJ_ATTR_WRAP
속성(262)의 값을 가져옵니다. 래핑 키를 생성하려면 genSymKey를 사용하여 AES 키(유형 31)를 생성합니다.-wk
파라미터를 사용하여 외부 언래핑 키를 지정할 경우, 가져오기 시-w
래핑 키가 키를 래핑하는 데 사용되고 언래핑에는 사용되지 않습니다.필수 항목 여부: 예
-sess
-
가져온 키를 세션 키로 지정합니다.
기본값: 가져온 키는 클러스터에 지속적(토큰) 키로 보관됩니다.
필수 항목 여부: 아니요
-id
-
가져올 키의 ID를 지정합니다.
기본값: ID 값이 없음.
필수 항목 여부: 아니요
-m_value
-
가져온 키를 사용하는 모든 암호화 작업을 승인해야 하는 사용자의 수를 지정합니다.
0
에서8
까지의 값을 입력합니다.이 파라미터는 명령의
-u
파라미터가m_value
요구 사항을 충족할 만큼 충분히 많은 사용자와 키를 공유할 때만 유효합니다.기본값: 0
필수 항목 여부: 아니요
-min_srv
-
-timeout
파라미터의 값이 만료되기 전에 가져온 키가 동기화되는 HSM의 최소 개수를 지정합니다. 할당된 시간에 지정된 서버 개수에 키가 동기화되지 않으면 키가 생성되지 않습니다.AWS CloudHSM은 자동으로 모든 키를 클러스터의 각 HSM과 동기화합니다. 이 과정을 더 빠르게 진행하려면
min_srv
의 값을 클러스터의 HSM 개수보다 적게 설정하고 낮은 제한 시간 값을 설정합니다. 그러나 일부 요청은 키를 생성하지 않을 수 있음을 주의하십시오.기본값: 1
필수 항목 여부: 아니요
-timout
-
min-serv
파라미터가 포함된 경우 키가 HSM 간에 동기화될 때까지 기다려야 하는 시간(초)을 지정합니다. 숫자를 지정하지 않으면 폴링이 영원히 계속됩니다.기본값: 제한 없음
필수 항목 여부: 아니요
-u
-
가져온 프라이빗 키를 공유할 사용자 목록을 지정합니다. 이 파라미터는 다른 HSM CU(Crypto User)에게 암호화 작업에 가져온 키를 사용할 수 있는 권한을 부여합니다.
-u 5,6
과 같이 쉼표로 구분된 HSM 사용자 ID 목록을 입력합니다. 현재 사용자의 HSM 사용자 ID는 포함하지 마십시오. HSM에서 CU의 HSM 사용자 ID를 찾으려면 listUsers를 사용하십시오.기본값: 현재 사용자만 가져온 키를 사용할 수 있습니다.
필수 항목 여부: 아니요
-wk
-
내보내고 있는 키를 래핑하는 데 사용할 키를 지정합니다. 평문 AES 키를 포함하는 파일의 경로 및 이름을 입력합니다.
이 파라미터를 포함하면 importPrivateKey가
-wk
파일의 키를 사용하여 가져올 키를 래핑합니다. 또한-w
파라미터로 지정된 키를 사용하여 언래핑합니다.기본값:
-w
파라미터에 지정된 래핑 키를 사용하여 래핑과 언래핑을 모두 합니다.필수 항목 여부: 아니요
-attest
-
펌웨어 응답에서 증명 점검을 수행하여 클러스터가 실행되는 펌웨어가 손상되지 않았는지 확인합니다.
필수 항목 여부: 아니요