

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

# 레퍼런스
<a name="reference"></a>


****  

|  | 
| --- |
| 클라이언트 측 암호화 라이브러리의 이름이 AWS Database Encryption SDK로 변경되었습니다. 이 개발자 안내서는 여전히 [DynamoDB Encryption Client](legacy-dynamodb-encryption-client.md)에 대한 정보를 제공합니다. | 

다음 주제에서는 AWS Database Encryption SDK에 대한 기술 세부 정보를 제공합니다.

## 자료 설명 형식
<a name="material-description-format"></a>

[자료 설명](concepts.md#material-description)은 암호화된 레코드의 헤더 역할을 합니다. AWS Database Encryption SDK를 사용하여 필드를 암호화하고 서명하면 암호화 도구는 암호화 자료를 수집할 때 자료 설명을 기록하고 암호화 도구가 레코드에 추가하는 새 필드(`aws_dbe_head`)에 자료 설명을 저장합니다. 자료 설명은 암호화된 데이터 키와 레코드가 암호화되고 서명된 방법에 대한 정보를 포함하는 이식 가능한 형식의 데이터 구조입니다. 다음 테이블에서는 재료 설명을 구성하는 값을 설명합니다. 표시된 순서대로 바이트가 추가됩니다.


| 값 | 길이(바이트) | 
| --- | --- | 
| [Version](#format-version) | 1 | 
| [Signatures Enabled](#format-signatures) | 1 | 
| [Record ID](#format-recordID) | 32 | 
| [Encrypt Legend](#format-encrypt-legend) | 변수 | 
| [Encryption Context Length](#format-encrypt-context-length) | 2 | 
| [Encryption Context](#format-encrypt-context) | 변수 | 
| [Encrypted Data Key Count](#format-data-key-count) | 1 | 
| [Encrypted Data Keys](#format-data-keys) | 변수 | 
| [Record Commitment](#format-commitment) | 1 | 

**버전**  
이 `aws_dbe_head` 필드 형식의 버전입니다.

**서명 활성화됨**  
이 레코드에 대해 ECDSA 디지털 서명이 활성화되었는지 여부를 인코딩합니다.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/database-encryption-sdk/latest/devguide/reference.html)

**레코드 ID**  
레코드를 식별하는 무작위로 생성된 256비트 값입니다. 레코드 ID:  
+ 암호화된 레코드를 고유하게 식별합니다.
+ 자료 설명을 암호화된 레코드에 바인딩합니다.

**범례 암호화**  
인증된 필드가 암호화되고 연재된 설명입니다. 암호화 범례는 복호화 메서드가 복호화를 시도해야 하는 필드를 결정하는 데 사용됩니다.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/database-encryption-sdk/latest/devguide/reference.html)
암호화 범례는 다음과 같이 연재됩니다.  

1. 표준 경로를 나타내는 바이트 시퀀스를 기준으로 사전순으로 표시됩니다.

1. 각 필드에 대해 위에 지정된 바이트 값 중 하나를 순서대로 추가하여 해당 필드를 암호화해야 하는지 여부를 나타냅니다.

**암호화 컨텍스트 길이**  
암호화 컨텍스트의 길이입니다. 이 값은 부호 없는 16비트 정수로 해석되는 2바이트 값입니다. 최대 길이는 65,535바이트입니다.

**암호화 컨텍스트**  
비밀이 아닌 임의의 추가 인증 데이터를 포함하는 이름-값 페어 세트입니다.  
[ECDSA 디지털 서명](concepts.md#digital-sigs)이 활성화되면 암호화 컨텍스트에 키-값 페어가 포함됩니다`{"aws-crypto-footer-ecdsa-key": Qtxt}`.는 [SEC 1 버전 2.0](https://www.secg.org/sec1-v2.pdf)에 따라 `Q` 압축된 후 base64로 인코딩된 타원 곡선 지점을 `Qtxt` 나타냅니다.

**암호화된 데이터 키 수**  
암호화된 데이터 키의 수입니다. 암호화된 데이터 키의 수를 지정하는 무부호 8비트 정수로 해석되는 1바이트 값입니다. 각 레코드의 암호화된 데이터 키의 최대 수는 255개입니다.

**암호화된 데이터 키**  
암호화된 데이터 키의 시퀀스입니다. 시퀀스의 길이는 암호화된 데이터 키의 수와 각 데이터 키의 길이에 따라 결정됩니다. 시퀀스에는 암호화된 데이터 키가 하나 이상 포함되어 있습니다.  
다음 표에서는 암호화된 각 데이터 키를 구성하는 필드에 대해 설명합니다. 표시된 순서대로 바이트가 추가됩니다.    
**암호화된 데이터 키 구조**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/database-encryption-sdk/latest/devguide/reference.html)  
**키 공급자 ID 길이**  
키 공급자 식별자의 길이입니다. 이 값은 키 공급자 ID가 포함된 바이트 수를 지정하는 부호 없는 16비트 정수로 해석되는 2바이트 값입니다.  
**키 공급자 ID**  
키 공급자 식별자입니다. 암호화된 데이터 키의 공급자를 나타내는 데 사용되며 확장 가능하도록 설계되었습니다.  
**키 공급자 정보 길이**  
키 공급자 정보의 길이입니다. 이 값은 키 공급자 정보가 포함된 바이트 수를 지정하는 부호 없는 16비트 정수로 해석되는 2바이트 값입니다.  
**키 공급자 정보**  
키 공급자 정보입니다. 키 공급자에 의해 결정됩니다.  
 AWS KMS 키링을 사용하는 경우이 값에는의 Amazon 리소스 이름(ARN)이 포함됩니다 AWS KMS key.  
**암호화된 데이터 키 길이**  
암호화된 데이터 키의 길이입니다. 이 값은 암호화된 데이터 키가 포함된 바이트 수를 지정하는 부호 없는 16비트 정수로 해석되는 2바이트 값입니다.  
**암호화된 데이터 키**  
암호화된 데이터 키입니다. 키 제공자가 암호화한 데이터 키입니다.

**레코드 커밋**  
커밋 키를 사용하여 이전의 모든 자료 설명 바이트에 대해 계산된 고유한 256비트 해시 기반 메시지 인증 코드(HMAC) 해시입니다.

## AWS KMS 계층적 키링 기술 세부 정보
<a name="hierarchical-keyring-details"></a>

[AWS KMS 계층적 키링](use-hierarchical-keyring.md)은 고유 데이터 키를 사용하여 각 필드를 암호화하고, 활성 브랜치 키에서 파생된 고유 래핑 키로 각 데이터 키를 암호화합니다. 이 키링은 HMAC SHA-256으로 의사 난수 함수를 통해 카운터 모드에서 [키 유도](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-108r1.pdf)를 사용하여 다음 입력으로 32바이트 래핑 키를 도출합니다.
+ 16바이트 무작위 솔트
+ 활성 브랜치 키
+ 키 공급자 식별자 "aws-kms-hierarchy"의 [UTF-8 인코딩된](https://en.wikipedia.org/wiki/UTF-8) 값

계층적 키링은 파생된 래핑 키를 사용하여 16바이트 인증 태그 및 다음 입력과 함께 AES-GCM-256을 사용하여 일반 텍스트 데이터 키의 사본을 암호화합니다.
+ 파생된 래핑 키는 AES-GCM 암호 키로 사용됩니다
+ 데이터 키는 AES-GCM 메시지로 사용됩니다
+ 12바이트 무작위 초기화 벡터(IV)는 AES-GCM IV로 사용됩니다
+ 다음과 같은 직렬화된 값을 포함하는 추가 인증 데이터(AAD)    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/database-encryption-sdk/latest/devguide/reference.html)