KMU를 사용하여 AWS CloudHSM 파일 암호화 및 복호화
AWS CloudHSM key_mgmt_util에서 aesWrapUnwrap 명령을 사용하여 디스크에 있는 파일을 암호화 또는 암호화 해제합니다. 이 명령은 암호화 키를 래핑/언래핑하도록 설계되었지만, 이 명령을 4KB(4,096바이트) 미만의 데이터를 포함하는 임의의 파일에 사용할 수 있습니다.
aesWrapUnwrap은 AES 키 래핑
key_mgmt_util 명령을 실행하기 전에 먼저 key_mgmt_util을 시작하고 HSM에 Crypto User(CU)로 로그인해야 합니다.
구문
aesWrapUnwrap -h aesWrapUnwrap -m
<wrap-unwrap mode>
-f<file-to-wrap-unwrap>
-w<wrapping-key-handle>
[-i<wrapping-IV>
] [-out<output-file>
]
예시
다음 예제는 aesWrapUnwrap을 사용하여 파일에서 암호화 키를 암호화 및 암호화 해제하는 방법을 보여 줍니다.
예 : 암호화 키 래핑
이 명령은 HSM에서 일반 aesWrapUnwrap 텍스트로 내보낸 트리플 DES 대칭 키를 파일로 래핑하는 데 사용됩니다. 3DES.key
유사한 명령을 사용하여 파일에 저장된 임의의 키를 래핑할 수 있습니다.
이 명령은 -m
파라미터에서 1
값을 사용하여 래핑 모드를 표시합니다. 이 명령은 -w
파라미터를 사용하여 HSM의 AES 키(키 핸들 6
)를 래핑 키로 지정합니다. 이 명령은 래핑된 키를 3DES.key.wrapped
파일에 기록합니다.
출력은 이 명령이 성공했으며 작업이 기본값 IV를 사용(권장)한 것을 보여 줍니다.
Command:
aesWrapUnwrap -f 3DES.key -w 6 -m 1 -out 3DES.key.wrapped
Warning: IV (-i) is missing. 0xA6A6A6A6A6A6A6A6 is considered as default IV result data: 49 49 E2 D0 11 C1 97 22 17 43 BD E3 4E F4 12 75 8D C1 34 CF 26 10 3A 8D 6D 0A 7B D5 D3 E8 4D C2 79 09 08 61 94 68 51 B7 result written to file 3DES.key.wrapped Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS
예 : 암호화 키 언래핑
이 예제는 aesWrapUnwrap을 사용하여 파일의 래핑된(암호화된) 키를 언래핑(암호화 해제)하는 방법을 보여 줍니다. 키를 HSM으로 가져오기 전에 이러한 작업을 수행해야 할 수 있습니다. 예를 들어 imSymKey 명령을 사용하여 암호화된 키를 가져오려고 하는 경우 암호화된 키에는 해당 유형의 평문 키에 필요한 형식이 없기 때문에 오류가 발생합니다.
이 명령은 3DES.key.wrapped
파일의 키를 언래핑하고 평문을 3DES.key.unwrapped
파일에 기록합니다. 이 명령은 -m
파라미터에서 0
값을 사용하여 언래핑 모드를 표시합니다. 이 명령은 -w
파라미터를 사용하여 HSM의 AES 키(키 핸들 6
)를 래핑 키로 지정합니다. 이 명령은 래핑된 키를 3DES.key.unwrapped
파일에 기록합니다.
Command:
aesWrapUnwrap -m 0 -f 3DES.key.wrapped -w 6 -out 3DES.key.unwrapped
Warning: IV (-i) is missing. 0xA6A6A6A6A6A6A6A6 is considered as default IV result data: 14 90 D7 AD D6 E4 F5 FA A1 95 6F 24 89 79 F3 EE 37 21 E6 54 1F 3B 8D 62 result written to file 3DES.key.unwrapped Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS
파라미터
- -h
-
명령에 대한 도움말을 표시합니다.
필수 항목 여부: 예
- -m
-
모드를 지정합니다. 파일 내용을 래핑(암호화)하려면
1
을 입력하고, 파일 내용을 언래핑(암호 해독)하려면0
을 입력합니다.필수 항목 여부: 예
- -f
-
래핑할 파일을 지정합니다. 4KB(4,096바이트) 미만의 데이터를 포함하는 파일을 입력합니다. 이 작업은 암호화 키를 래핑 및 언래핑하도록 설계되었습니다.
필수 항목 여부: 예
- -w
-
래핑 키를 지정합니다. HSM에서 AES 키 또는 키의 키 핸들을 입력합니다. 이 파라미터는 필수 사항입니다. 키 핸들을 찾으려면 findKey 명령을 사용하십시오.
래핑 키를 생성하려면 genSymKey를 사용하여 AES 키(유형 31)를 생성합니다.
필수 항목 여부: 예
- -i
-
알고리즘에 대체 초기 값(IV)을 지정합니다. 대체 값이 필요한 특별한 조건이 아니면 기본값을 사용합니다.
기본값:
0xA6A6A6A6A6A6A6A6
. 기본값은 AES 키 래핑알고리즘 사양에 정의되어 있습니다. 필수 항목 여부: 아니요
- -out
-
래핑 또는 언래핑된 키를 포함하는 출력 파일에 대해 대체 이름을 지정합니다. 기본값은 로컬 디렉터리의
wrapped_key
(래핑 작업) 및unwrapped_key
(언래핑 작업)입니다.파일이 존재하는 경우, aesWrapUnwrap은 경고 없이 파일을 덮어씁니다. 명령이 실패할 경우, aesWrapUnwrap이 내용이 없는 출력 파일을 생성합니다.
기본값: 래핑의 경우:
wrapped_key
. 언래핑의 경우:unwrapped_key
.필수 항목 여부: 아니요