KMU를 사용하여 속성별로 AWS CloudHSM 키 검색
AWS CloudHSM key_mgmt_util에서 findKey 명령을 사용하여 키 속성 값을 기준으로 키를 검색합니다. 키가 설정한 모든 기준과 일치하면 findKey가 키 핸들을 반환합니다. 파라미터가 없으면 findKey는 HSM에서 사용할 수 있는 모든 키의 키 핸들을 반환합니다. 특정 키의 속성 값을 찾으려면 getAttribute를 사용하십시오.
모든 key_mgmt_util 명령과 같이 findKey도 사용자별 명령입니다. 따라서 현재 사용자가 암호화 작업에서 사용할 수 있는 키만 반환합니다. 여기에는 현재 사용자가 소유한 키 및 현재 사용자와 공유된 키가 포함됩니다.
key_mgmt_util 명령을 실행하기 전에 먼저 key_mgmt_util을 시작하고 HSM에 Crypto User(CU)로 로그인해야 합니다.
구문
findKey -h findKey [-c
<key class>
] [-t<key type>
] [-l<key label>
] [-id<key ID>
] [-sess (0 | 1)] [-u<user-ids>
] [-m<modulus>
] [-kcv<key_check_value>
]
예시
이 예제에서는 findKey를 사용하여 HSM에서 키를 찾고 식별하는 방법을 보여 줍니다.
예 : 모든 키 찾기
이 명령은 HSM에서 현재 사용자의 모든 키를 찾습니다. 출력에는 사용자가 소유 및 공유하는 키와 HSM의 모든 퍼블릭 키가 포함됩니다.
특정 키 핸들이 있는 키의 속성을 가져오려면 getAttribute를 사용합니다. 현재 사용자가 특정 키를 소유하거나 공유하는지 확인하려면 cloudhsm_mgmt_util에서 getKeyInfo 또는 findAllKeys를 사용합니다.
Command:
findKey
Total number of keys present 13 number of keys matched from start index 0::12 6, 7, 524296, 9, 262154, 262155, 262156, 262157, 262158, 262159, 262160, 262161, 262162 Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
예 : 유형, 사용자, 세션 기준으로 키 찾기
이 명령은 현재 사용자와 사용자 3이 사용할 수 있는 영구 AES 키를 찾습니다. (사용자 3은 현재 사용자가 볼 수 없는 다른 키를 사용할 수 있습니다.)
Command:
findKey -t 31 -sess 0 -u 3
예 : 클래스 및 라벨 기준으로 키 찾기
이 명령은 2018-sept
라벨이 있는 현재 사용자의 모든 퍼블릭 키를 찾습니다.
Command:
findKey -c 2 -l 2018-sept
예 : 모듈러스를 기준으로 RSA 키 찾기
이 명령은 m4.txt
파일에서 모듈러스를 사용하여 생성된 현재 사용자의 RSA 키(유형 0)를 찾습니다.
Command:
findKey -t 0 -m m4.txt
파라미터
- -h
-
명령에 대한 도움말을 표시합니다.
필수 항목 여부: 예
- -t
-
지정된 유형의 키를 찾습니다. 키 클래스를 나타내는 상수를 입력합니다. 예를 들어 3DES 키를 찾으려면
-t 21
을 입력합니다.유효한 값:
-
0: RSA
-
1: DSA
-
3: EC
-
16: GENERIC_SECRET
-
18: RC4
-
21: Triple DES(3DES)
-
31: AES
필수 항목 여부: 아니요
-
- -c
-
지정된 클래스에서 키를 찾습니다. 키 클래스를 나타내는 상수를 입력합니다. 예를 들어 퍼블릭 키를 찾으려면
-c 2
를 입력합니다.각 키 유형에 유효한 값:
-
2: 퍼블릭. 이 클래스는 퍼블릭-프라이빗 키 페어의 퍼블릭 키를 포함합니다.
-
3: 프라이빗. 이 클래스는 퍼블릭-프라이빗 키 페어의 프라이빗 키를 포함합니다.
-
4: 보안. 이 클래스는 모든 대칭 키를 포함합니다.
필수 항목 여부: 아니요
-
- -l
-
지정된 라벨을 가진 키를 찾습니다. 정확한 라벨을 입력합니다.
--l
값에서는 와일드카드 문자나 정규식을 사용할 수 없습니다.필수 항목 여부: 아니요
- -id
-
지정된 ID를 가진 키를 찾습니다. 정확한 ID 문자열을 입력합니다.
-id
값에서는 와일드카드 문자나 정규식을 사용할 수 없습니다.필수 항목 여부: 아니요
- -sess
-
세션 상태를 기준으로 키를 찾습니다. 현재 세션에서만 유효한 키를 찾으려면
1
을 입력합니다. 영구 키를 찾으려면0
을 입력합니다.필수 항목 여부: 아니요
- -u
-
지정된 사용자와 현재 사용자가 공유하는 키를 찾습니다.
-u 3
또는-u 4,7
과 같이 쉼표로 구분된 HSM 사용자 ID 목록을 입력합니다. HSM에 있는 사용자의 ID를 찾으려면 listUsers를 사용합니다.한 사용자 ID를 지정하면 findKey가 해당 사용자의 키를 반환합니다. 여러 사용자 ID를 지정하면 findKey가 지정된 모든 사용자가 사용할 수 있는 키를 반환합니다.
findKey는 현재 사용자가 사용할 수 있는 키만 반환하므로
-u
결과는 항상 현재 사용자의 키와 동일하거나 현재 사용자 키의 하위 집합입니다. CO(Crypto Officer)는 cloudhsm_mgmt_util에서 findAllKeys를 사용하여 사용자가 소유하거나 다른 사용자와 공유하는 모든 키를 가져올 수 있습니다.필수 항목 여부: 아니요
- -m
-
지정된 파일에서 RSA 모듈러스를 사용하여 생성된 키를 찾습니다. 모듈러스를 저장하는 파일의 경로를 입력합니다.
-m은 일치시킬 RSA 모듈러스가 포함된 바이너리 파일을 지정합니다(선택 사항).
필수 항목 여부: 아니요
- -kcv
-
지정된 키 확인 값을 가진 키를 찾습니다.
키 확인 값(KCV)은 HSM이 키를 가져오거나 생성할 때 생성된 키의 3바이트 해시 또는 체크섬입니다. 또한 키를 내보낸 후와 같이 HSM 밖에서 KCV를 계산할 수 있습니다. 그 다음에는 KCV 값을 비교하여 키의 자격 증명 및 무결성을 확인할 수 있습니다. 키의 KCV를 확인하려면 getAttribute를 사용합니다.
AWS CloudHSM는 다음과 같은 표준 방법을 사용하여 키 확인 값을 생성합니다.
-
대칭 키: 키를 사용하여 0 블록을 암호화한 결과의 처음 3바이트.
-
비대칭 키 페어: 퍼블릭 키 SHA-1 해시의 처음 3바이트.
-
HMAC 키: HMAC 키의 KVC는 현재 지원되지 않습니다.
필수 항목 여부: 아니요
-
출력
findKey 출력은 일치하는 키 및 키 핸들의 총 수를 나열합니다.
Command: findKey Total number of keys present 10 number of keys matched from start index 0::9 6, 7, 8, 9, 10, 11, 262156, 262157, 262158, 262159 Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
관련 주제
-
cloudhsm_mgmt_util의 findAllKeys