암호화 자료 공급자 - AWS 데이터베이스 암호화 SDK

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

암호화 자료 공급자

참고

클라이언트 측 암호화 라이브러리의 이름이 AWS Database Encryption SDK로 변경되었습니다. 다음 주제에서는 Java용 DynamoDB Encryption Client 버전 1.x~2.x 와 Python용 DynamoDB Encryption Client 버전 1.x~3.x에 대한 정보를 제공합니다. 자세한 내용은 AWS Database Encryption SDK for DynamoDB 버전 지원을 참조하세요.

DynamoDB Encryption Client를 사용할 때 내려야 하는 가장 중요한 결정 중 하나는 암호화 자료 공급자(CMP)를 선택하는 것입니다. CMP는 암호화 자료를 조합하여 항목 암호화 도구에 반환합니다. 또한 암호화 및 서명 키의 생성 방법, 각 항목에 대해 새로운 키 자료를 생성하거나 재사용할지 여부, 사용되는 암호화 및 서명 알고리즘도 결정합니다.

DynamoDB Encryption Client 라이브러리에 제공된 구현에서 CMP를 선택하거나 호환 가능한 사용자 지정 CMP를 구축할 수 있습니다. CMP 선택은 사용하는 프로그래밍 언어에 따라 달라질 수도 있습니다.

이 주제에서는 가장 일반적인 CMP를 설명하고 애플리케이션에 가장 적합한 CMP를 선택하는 데 도움이 되는 몇 가지 조언을 제공합니다.

Direct KMS Materials Provider

Direct KMS Materials Provider는 AWS Key Management Service(AWS KMS)를 암호화되지 않은 상태로 두는 AWS KMS key에 따라 테이블 항목을 보호합니다. 애플리케이션에서 암호화 자료를 생성하거나 관리할 필요가 없습니다. AWS KMS key를 사용하여 각 항목마다 고유한 암호화 및 서명 키를 생성하므로 이 공급자는 항목을 암호화하거나 복호화할 때마다 AWS KMS를 호출합니다.

AWS KMS를 사용하며 애플리케이션에서 트랜잭션마다 한 번의 AWS KMS 호출이 가능한 경우, 이 공급자가 적합합니다.

자세한 내용은 Direct KMS Materials Provider 섹션을 참조하세요.

래핑된 자료 공급자(래핑된 CMP)

래핑된 자료 공급자(래핑된 CMP)는 DynamoDB Encryption Client 외부에서 래핑 및 서명 키를 생성 및 관리할 수 있도록 해줍니다.

래핑된 CMP는 각 항목에 대해 고유한 암호화 키를 생성합니다. 그런 다음 사용자가 제공한 래핑(또는 언래핑) 및 서명 키를 사용합니다. 따라서 래핑 및 서명 키의 생성 방법과 각 항목에 고유한지 또는 재사용되는지를 결정합니다. 래핑된 CMP는 AWS KMS를 사용하지 않으며 암호화 자료를 안전하게 관리할 수 있는 애플리케이션을 위한 Direct KMS Provider의 안전한 대입니다.

자세한 내용은 Wrapped Materials Provider 섹션을 참조하세요.

Most Recent Provider

Most Recent Provider공급자 스토어와 함께 작동하도록 설계된 암호화 자료 공급자(CMP)입니다. 공급자 스토어에서 CMP를 가져오고 CMP에서 반환한 암호화 자료를 가져옵니다. Most Recent Provider는 일반적으로 각각의 CMP를 사용하여 암호화 자료에 대한 여러 요청을 충족하지만, 공급자 스토어의 기능을 사용하여 자료의 재사용 범위를 제어하고, CMP 교체 빈도를 결정하며, Most Recent Provider를 변경하지 않고 사용되는 CMP 유형도 변경합니다.

호환되는 모든 공급자 스토어에서 Most Recent Provider를 사용할 수 있습니다. DynamoDB Encryption Client에는 래핑된 CMP를 반환하는 공급자 스토어인 MetaStore가 포함됩니다.

Most Recent Provider는 관련 암호화 소스에 대한 호출을 최소화해야 하는 애플리케이션과, 보안 요구 사항을 위반하지 않으면서 일부 암호화 자료를 재사용할 수 있는 애플리케이션에 적합합니다. 예를 들어 항목을 암호화하거나 복호화할 때마다 AWS KMS을 호출하지 않고도 AWS Key Management Service(AWS KMS)의 AWS KMS key에 따라 암호화 자료를 보호할 수 있습니다.

자세한 내용은 Most Recent Provider 섹션을 참조하세요.

Static Materials Provider

Static Materials Provider는 테스트, 개념 증명 데모 및 레거시 호환성 목적으로 설계되었습니다. 각 항목에 대해 고유한 암호화 자료를 생성하지는 않습니다. 입력한 것과 동일한 암호화 및 서명 키를 반환하며, 이러한 키는 테이블 항목을 암호화, 복호화 및 서명하는 데 직접 사용됩니다.

참고

Java 라이브러리의 Asymmetric Static Provider는 Static Provider가 아닙니다. 단순히 Wrapped CMP에 대한 대체 생성자를 제공할 뿐입니다. 프로덕션 환경에서는 안전하지만 가능하면 래핑된 CMP를 직접 사용해야 합니다.