기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Wrapped Materials Provider
참고
클라이언트 측 암호화 라이브러리의 이름이 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 버전 지원을 참조하세요.
래핑된 자료 공급자(래핑된 CMP)를 사용하면 DynamoDB Encryption Client를 통해 모든 소스의 래핑 및 서명 키를 사용할 수 있습니다. 래핑된 CMP는 어떤 AWS 서비스에도 의존하지 않습니다. 그러나 항목을 확인하고 복호화하기 위해 올바른 키를 제공하는 것을 포함하여 클라이언트 외부에서 래핑 및 서명 키를 생성하고 관리해야 합니다.
래핑된 CMP는 각 항목에 대해 고유한 항목 암호화 키를 생성합니다. 사용자가 제공하는 래핑 키와 항목 암호화 키를 래핑하여 래핑된 항목 암호화 키를 항목의 자료 설명 속성에 저장합니다. 래핑 및 서명 키를 제공하므로 래핑 및 서명 키가 생성되는 방법과 해당 키가 각 항목에 고유한지 또는 재사용되는지 여부를 결정합니다.
래핑된 CMP는 안전한 구현이며 암호화 자료를 관리할 수 있는 애플리케이션에 적합한 선택입니다.
래핑된 CMP는 DynamoDB Encryption Client가 지원하는 여러 암호화 자료 공급자(CMP) 중 하나입니다. 기타 CMP에 대한 자세한 내용은 암호화 자료 공급자 섹션을 참조하세요.
예제 코드는 다음을 참조하십시오.
사용 방법
래핑된 CMP를 생성하려면 래핑 키(암호화에 필요), 래핑 해제 키(복호화에 필요) 및 서명 키를 지정합니다. 항목을 암호화하고 복호화할 때 키를 제공해야 합니다.
래핑, 래핑 해제 및 서명 키는 대칭 키 또는 비대칭 키 페어일 수 있습니다.
작동 방식
래핑된 CMP는 모든 항목에 대해 새 항목 암호화 키를 생성합니다. 다음 다이어그램과 같이 사용자가 제공하는 래핑, 래핑 해제 및 서명 키를 사용합니다.
암호화 자료 가져오기
이 단원에서는 암호화 자료 요청 수신 시 래핑된 자료 공급자(래핑된 CMP)의 입력, 출력 및 처리에 대해 자세히 설명합니다.
입력(애플리케이션에서)
-
래핑 키: Advanced Encryption Standard
(AES) 대칭 키 또는 RSA 퍼블릭 키. 속성 값이 암호화된 경우 필수입니다. 그렇지 않으면 선택 사항이며 무시됩니다. -
래핑 해제 키: 선택 사항이며 무시됩니다.
-
서명 키
입력(항목 암호화 도구에서)
출력(항목 암호화 도구로):
-
일반 텍스트 항목 암호화 키
-
서명 키(변경되지 않음)
-
실제 자료 설명: 이러한 값은 클라이언트가 항목에 추가하는 자료 설명 속성에 저장됩니다.
-
amzn-ddb-env-key
: Base64로 인코딩되고 래핑된 항목 암호화 키 -
amzn-ddb-env-alg
: 항목을 암호화하는 데 사용되는 암호화 알고리즘입니다. 기본값은 AES-256-CBC입니다. -
amzn-ddb-wrap-alg
: 래핑된 CMP가 항목 암호화 키를 래핑하는 데 사용한 래핑 알고리즘입니다. 래핑 키가 AES 키인 경우 RFC 3394에 정의된 대로 패딩되지 않은 AES-Keywrap
를 사용하여 키가 래핑됩니다. 래핑 키가 RSA 키인 경우 MGF1 패딩이 포함된 RSA OAEP를 사용하여 키가 암호화됩니다.
-
처리
항목을 암호화할 때 래핑 키와 서명 키를 전달합니다. 래핑 해제 키는 선택 사항이며 무시됩니다.
-
래핑된 CMP는 테이블 항목에 대한 고유한 대칭 항목 암호화 키를 생성합니다.
-
항목 암호화 키를 래핑하기 위해 지정한 래핑 키를 사용합니다. 그런 다음 가능한 한 빨리 메모리에서 제거합니다.
-
Wrapped CMP는 일반 텍스트 항목 암호화 키, 제공한 서명 키, 그리고 래핑된 항목 암호화 키와 암호화 및 래핑 알고리즘을 포함하는 실제 자료 설명을 반환합니다.
-
항목 암호화 도구는 일반 텍스트 암호화 키를 사용하여 항목을 암호화합니다. 항목에 서명하기 위해 제공한 서명 키를 사용합니다. 그런 다음 가능한 한 빨리 메모리에서 일반 텍스트 키를 제거합니다. 래핑된 암호화 키(
amzn-ddb-env-key
)를 포함하여 실제 자료 설명의 필드를 항목의 자료 설명 속성에 복사합니다.
복호화 자료 가져오기
이 단원에서는 복호화 자료 요청 수신 시 래핑된 자료 공급자(래핑된 CMP)의 입력, 출력 및 처리에 대해 자세히 설명합니다.
입력(애플리케이션에서)
-
래핑 키: 선택 사항이며 무시됩니다.
-
언래핑 키: 암호화하는 데 사용되는 RSA 퍼블릭 키에 해당하는 동일한 Advanced Encryption Standard
(AES) 대칭 키 또는 RSA 프라이빗 키입니다. 속성 값이 암호화된 경우 필수입니다. 그렇지 않으면 선택 사항이며 무시됩니다. -
서명 키
입력(항목 암호화 도구에서)
-
자료 설명 속성의 내용을 포함하는 DynamoDB 암호화 컨텍스트의 복사본입니다.
출력(항목 암호화 도구로)
-
일반 텍스트 항목 암호화 키
-
서명 키(변경되지 않음)
처리
항목의 암호를 복호화할 때 래핑 해제 키와 서명 키를 전달합니다. 래핑 키는 선택 사항이며 무시됩니다.
-
래핑된 CMP는 항목의 자료 설명 속성에서 래핑된 항목 암호화 키를 가져옵니다.
-
래핑 해제 키와 알고리즘을 사용하여 항목 암호화 키를 래핑 해제합니다.
-
일반 텍스트 항목 암호화 키, 서명 키, 암호화 및 서명 알고리즘을 항목 암호화 도구에 반환합니다.
-
항목 암호화기는 서명 키를 사용하여 항목을 확인합니다. 성공하면 항목 암호화 키를 사용하여 항목의 암호를 복호화합니다. 그런 다음 가능한 한 빨리 메모리에서 일반 텍스트 키를 제거합니다.