

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 의 HMAC 키 AWS KMS
<a name="hmac"></a>

해시 기반 메시지 인증 코드(HMAC) KMS 키는 AWS KMS내에서 HMAC를 생성 및 확인하는 데 사용하는 대칭 키입니다. 각 HMAC KMS 키와 관련된 고유한 키 구성 요소는 HMAC 알고리즘에 필요한 비밀 키를 제공합니다. `[GenerateMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html)` 및 [https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html) 작업과 함께 HMAC KMS 키를 사용하여 AWS KMS내에서 데이터 무결성 및 신뢰성을 확인할 수 있습니다.

HMAC 알고리즘은 암호화 해시 함수와 공유 비밀 키를 결합합니다. HMAC KMS 키의 키 구성 요소와 같은 메시지와 비밀 키를 가져와서 고정된 크기의 고유한 코드 또는 태그**를 반환합니다. 메시지의 한 문자라도 변경되거나 비밀 키가 동일하지 않은 경우 결과 태그는 완전히 달라집니다. 비밀 키를 요구함으로써 HMAC는 신뢰성도 제공합니다. 비밀 키가 없다면 동일한 HMAC 태그를 생성할 수 없습니다. HMAC는 디지털 서명처럼 작동하지만 서명과 확인 모두에 단일 키를 사용하기 때문에 대칭 서명**이라고도 합니다.

HMAC KMS 키와를 AWS KMS 사용하는 HMAC 알고리즘은 [RFC 2104](https://datatracker.ietf.org/doc/html/rfc2104)에 정의된 업계 표준을 준수합니다. AWS KMS [GenerateMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html) 작업은 표준 HMAC 태그를 생성합니다. HMAC KMS 키는 FIPS 140-3 암호화 모듈 검증 프로그램(중국(베이징) 및 중국(닝샤) 리전 제외)에 따라 인증된 AWS KMS 하드웨어 보안 모듈에서 생성되며 암호화 AWS KMS 되지 않은 상태로 두지 않습니다. [https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4884](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4884) HMAC KMS 키를 사용하려면 AWS KMS를 호출해야 합니다.

HMAC KMS 키를 사용하여 JSON 웹 토큰(JWT), 토큰화된 신용 카드 정보 또는 제출된 암호와 같은 메시지의 신뢰성을 결정할 수 있습니다. 특히 결정적 키가 필요한 애플리케이션에서 안전한 키 추출 함수(KDF)로 사용할 수도 있습니다.

HMAC KMS 키는 키 구성 요소가 키에 설정한 액세스 제어에 AWS KMS따라 완전히 생성되고 사용되므로 애플리케이션 소프트웨어의 HMACs에 비해 이점이 있습니다.

**작은 정보**  
모범 사례에서는 HMAC을 비롯한 모든 서명 메커니즘이 유효한 시간을 제한하는 것이 좋습니다. 이렇게 하면 행위자가 서명된 메시지를 사용하여 반복적으로나 메시지가 대체된 후 유효성을 설정하는 공격을 차단합니다. HMAC 태그에는 타임스탬프가 포함되지 않지만 토큰이나 메시지에 타임스탬프를 포함시켜 HMAC 새로 고침 시간을 감지할 수 있습니다.

**지원되는 암호화 작업**  
HMAC KMS 키는 [https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html) 및 [https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html) 암호화 작업만을 지원합니다. HMAC KMS 키를 사용하여 데이터를 암호화하거나 메시지에 서명하거나 HMAC 작업에서 다른 유형의 KMS 키를 사용할 수 없습니다. `GenerateMac` 작업을 사용할 때 최대 4,096바이트의 메시지, HMAC KMS 키 및 HMAC 키 사양과 호환되는 MAC 알고리즘을 제공하고, `GenerateMac`이 HMAC 태그를 계산합니다. HMAC 태그를 확인하려면 HMAC 태그와 `GenerateMac`에서 원래 HMAC 태그를 계산하는 데 사용하는 동일한 메시지, HMAC KMS 키 및 MAC 알고리즘을 제공해야 합니다. `VerifyMac` 작업은 HMAC 태그를 계산하고 제공된 HMAC 태그와 동일한지 확인합니다. 입력 태그와 계산된 HMAC 태그가 동일하지 않으면 확인이 실패합니다.  
HMAC KMS 키는 [자동 키 교체](rotate-keys.md)를 지원하지 *않으며* [사용자 지정 키 스토어](key-store-overview.md#custom-key-store-overview)에서 HMAC KMS 키를 생성할 수 없습니다.  
KMS 키를 생성하여 AWS 서비스의 데이터를 암호화하는 경우 대칭 암호화 키를 사용합니다. HMAC KMS 키를 사용할 수 없습니다.

**리전**  
HMAC KMS 키는가 지원하는 모든에서 AWS KMS 지원 AWS 리전 됩니다.

**자세히 알아보기**
+ HMAC KMS 키를 생성하려면 [HMAC KMS 키 생성](hmac-create-key.md) 단원을 참조하세요.
+ 다중 리전 HMAC KMS 키를 생성하려면 [의 다중 리전 키 AWS KMS](multi-region-keys-overview.md) 단원을 참조하세요.
+  AWS KMS 콘솔이 HMAC KMS 키에 대해 설정하는 기본 키 정책의 차이를 검사하려면 섹션을 참조하세요[키 사용자가 암호화 작업에 KMS 키를 사용하도록 허용](key-policy-default.md#key-policy-users-crypto).
+ HMAC KMS 키를 식별하고 보려면 [HMAC KMS 키 식별](identify-key-types.md#hmac-view) 단원을 참조하세요.
+ HMAC을 사용하여 JSON 웹 토큰을 생성하는 방법에 대한 자세한 내용은 *AWS 보안 블로그*의 [AWS KMS내부에서 HMAC를 보호하는 방법](https://aws.amazon.com/blogs/security/how-to-protect-hmacs-inside-aws-kms/)을 참조하세요.
+ *공식 AWS 팟캐스트*에서 [AWS Key Management Service를 위한 HMAC 소개](https://aws.amazon.com/podcasts/introducing-hmacs-apis-in-aws-key-management-service) 팟캐스트를 들어보세요.