

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

# DynamoDB Encryption Client의 작동 방식
<a name="DDBEC-legacy-how-it-works"></a>

**참고**  
클라이언트측 암호화 라이브러리의 [이름이 AWS Database Encryption SDK로 변경되었습니다](DDBEC-rename.md). 다음 주제에서는 Java용 DynamoDB Encryption Client 버전 1.*x*\~2.*x* 와 Python용 DynamoDB Encryption Client 버전 1.*x*\~3.*x*에 대한 정보를 제공합니다. 자세한 내용은 [AWS Database Encryption SDK for DynamoDB 버전 지원](legacy-dynamodb-encryption-client.md#legacy-support)을 참조하세요.

DynamoDB Encryption Client는 DynamoDB에 저장하는 데이터를 보호하도록 특별히 설계되었습니다. 라이브러리에는 변경 없이 확장하거나 사용할 수 있는 보안 구현이 포함되어 있습니다. 그리고 대부분의 요소는 추상 요소로 표현되므로 호환되는 사용자 지정 구성 요소를 생성하고 사용할 수 있습니다.

**테이블 항목 암호화 및 서명**

DynamoDB Encryption Client의 핵심에는 테이블 항목을 암호화, 서명, 확인 및 복호화하는 *항목 암호화 도구*가 있습니다. 항목 암호화 도구는 테이블 항목에 대한 정보와 암호화 및 서명할 항목에 대한 지침을 사용합니다. 또한 암호화 자료와 이 자료를 사용하는 방법에 대한 지침을 사용자가 선택 및 구성하는 [암호화 자료 공급자](DDBEC-legacy-concepts.md#concept-material-provider)에서 가져옵니다.

다음 다이어그램은 이 프로세스에 대한 개략적인 보기를 보여줍니다.

![DynamoDB Encryption Client에서 항목 암호화 및 서명](http://docs.aws.amazon.com/ko_kr/database-encryption-sdk/latest/devguide/images/arch-encrypt.png)


테이블 항목을 암호화하고 서명하려면 DynamoDB Encryption Client에 다음이 필요합니다.
+ **테이블에 대한 정보입니다.** 사용자가 제공하는 [DynamoDB 암호화 컨텍스트](concepts.md#encryption-context)에서 테이블에 대한 정보를 가져옵니다. 일부 도우미는 DynamoDB에서 필요한 정보를 가져오고 DynamoDB 암호화 컨텍스트를 생성합니다.
**참고**  
*DynamoDB Encryption Client의 DynamoDB 암호화 컨텍스트*는 AWS Key Management Service (AWS KMS) 및의 *암호화 컨텍스트*와 관련이 없습니다 AWS Encryption SDK. DynamoDB 
+ **암호화 및 서명할 속성.** 제공하는 [속성 작업](DDBEC-legacy-concepts.md#legacy-attribute-actions)에서 이 정보를 가져옵니다.
+ **암호화 및 서명 키를 포함하는 암호화 자료.** 이러한 자료는 선택 및 구성하는 [암호화 자료 공급자](DDBEC-legacy-concepts.md#concept-material-provider)(CMP)에서 가져옵니다.
+ **항목 암호화 및 서명 지침**. CMP는 암호화 및 서명 알고리즘을 비롯하여 암호화 자료 사용 관련 지침을 [실제 자료 설명](DDBEC-legacy-concepts.md#legacy-material-description)에 추가합니다.

[항목 암호화 도구](DDBEC-legacy-concepts.md#item-encryptor)는 이러한 요소를 모두 사용하여 항목을 암호화하고 서명합니다. 또한 항목 암호화 도구는 암호화 및 서명 지침(실제 자료 설명)을 포함하는 [자료 설명 속성](DDBEC-legacy-concepts.md#legacy-material-description)과, 서명을 포함하는 속성, 이 두 가지 속성을 항목에 추가합니다. 항목 암호화 도구와 직접 상호 작용하거나 항목 암호화 도구와 상호 작용하는 도우미 기능을 사용하여 안전한 기본 동작을 구현할 수 있습니다.

결과는 암호화되고 서명된 데이터를 포함하는 DynamoDB 항목입니다.

**테이블 항목 확인 및 복호화**

다음 다이어그램에 나와 있듯이 이러한 구성 요소는 함께 작동하여 항목을 확인하고 복호화합니다.

![DynamoDB Encryption Client의 항목 확인 및 복호화](http://docs.aws.amazon.com/ko_kr/database-encryption-sdk/latest/devguide/images/arch-decrypt.png)


항목을 확인하고 복호화하려면 DynamoDB Encryption Client에 다음과 같이 동일한 구성 요소, 동일한 구성의 구성 요소 또는 항목 복호화을 위해 특별히 설계된 구성 요소가 필요합니다.
+ [DynamoDB 암호화 컨텍스트](concepts.md#encryption-context)의 **테이블에 대한 정보**입니다.
+ **확인하고 복호화할 속성.** 이러한 정보는 [속성 작업](DDBEC-legacy-concepts.md#legacy-attribute-actions)에서 가져옵니다.
+ **확인 및 복호화 키를 포함하는 복호화 자료**. 이러한 정보는 사용자가 선택 및 구성하는 [암호화 자료 공급자](DDBEC-legacy-concepts.md#concept-material-provider)(CMP)에서 가져옵니다.

  암호화된 항목에는 이를 암호화하는 데 사용된 CMP 레코드가 포함되어 있지 않습니다. 동일한 CMP, 동일한 구성의 CMP 또는 항목을 복호화하도록 설계된 CMP를 제공해야 합니다.
+ **항목의 암호화 및 서명된 방식에 대한 정보**(암호화 및 서명 알고리즘 포함). 클라이언트는 항목의 [자료 설명 속성](DDBEC-legacy-concepts.md#legacy-material-description)에서 이러한 정보를 가져옵니다.

[항목 암호화 도구](DDBEC-legacy-concepts.md#item-encryptor)는 이러한 요소를 모두 사용하여 항목을 확인 및 복호화합니다. 또한 자료 설명 및 서명 속성도 제거됩니다. 결과는 일반 텍스트 DynamoDB 항목입니다.