AWS Database Encryption SDK란 무엇입니까? - AWS 데이터베이스 암호화 SDK

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

AWS Database Encryption SDK란 무엇입니까?

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

AWS Database Encryption SDK는 데이터베이스 설계에 클라이언트 측 암호화를 포함할 수 있는 소프트웨어 라이브러리 세트입니다. AWS Database Encryption SDK는 레코드 수준 암호화 솔루션을 제공합니다. 암호화할 필드와 데이터의 신뢰성을 보장하는 서명에 포함할 필드를 지정합니다. 전송 중 및 유휴 상태의 중요 데이터를 암호화하면 일반 텍스트 데이터를 AWS을 포함한 제3자가 사용할 수 없게 하는 데 도움이 됩니다. AWS Database Encryption SDK는 Apache 2.0 라이선스에 따라 무료 제공됩니다.

이 개발자 가이드는 시작할 수 있도록 아키텍처 소개, 데이터 보호 방법에 대한 세부 정보, 서버 측 암호화와의 차이점, 애플리케이션의 중요한 구성 요소 선택에 대한 지침을 포함하여 AWS Database Encryption SDK의 개념적 개요를 제공합니다.

AWS Database Encryption SDK는 성 수준 암호화로 Amazon DynamoDB를 지원합니다. DynamoDB용 Java 클라이언트 측 암호화 라이브러리 버전 3.x는 Java용 DynamoDB Encryption Client를 대대적으로 재작성한 것입니다. 여기에는 새로운 구조화된 데이터 형식, 향상된 멀티테넌시 지원, 검색 가능한 암호화, 원활한 스키마 변경 지원 등 많은 업데이트가 포함되어 있습니다.

AWS Database Encryption SDK에는 다음과 같은 이점이 있습니다.

데이터베이스 애플리케이션을 위해 특별히 설계됨

AWS Database Encryption SDK를 사용하기 위해 암호화 전문가가 될 필요는 없습니다. 구현에는 기존 애플리케이션과 함께 작동하도록 설계된 헬퍼 방법이 포함됩니다.

필수 구성 요소를 생성 및 구성한 후, 암호화 클라이언트는 사용자가 데이터베이스에 레코드를 추가할 때 레코드를 투명하게 암호화 및 서명하고, 검색할 때 이를 확인하고 복호화합니다.

보안 암호화 및 서명 포함

AWS Database Encryption SDK에는 고유한 데이터 암호화 키를 사용하여 각 레코드의 필드 값을 암호화한 다음 레코드에 서명하여 필드 추가 또는 삭제, 암호화된 값 교환과 같은 무단 변경으로부터 레코드를 보호하는 보안 구현이 포함되어 있습니다.

모든 소스의 암호화 자료 사용

AWS Database Encryption SDK는 키링을 사용하여 레코드를 보호하는 고유한 데이터 암호화 키를 생성, 암호화 및 복호화합니다. 키링은 해당 데이터 키를 암호화하는 래핑 키를 결정합니다.

AWS Key Management Service(AWS KMS) 또는 AWS CloudHSM와 같은 암호화 서비스를 포함하여 모든 소스의 래핑 키를 사용할 수 있습니다. AWS Database Encryption SDK에는 AWS 계정 또는 AWS서비스가 필요하지 않습니다.

암호화 자료 캐싱 지원

AWS KMS 계층적 키링은 Amazon DynamoDB 테이블에 유지되는 AWS KMS 보호 브랜치 키를 사용한 다음 암호화 및 복호화 작업에 사용되는 브랜치 키 자료를 로컬로 캐싱하여 AWS KMS 호출 수를 줄이는 암호화 자료 캐싱 솔루션입니다. 이를 통해 레코드를 암호화하거나 복호화할 때마다 AWS KMS를 호출하지 않고도 대칭 암호화 KMS 키로 암호화 자료를 보호할 수 있습니다. AWS KMS 계층적 키링은 AWS KMS에 대한 호출을 최소화해야 하는 애플리케이션에 적합합니다.

검색 가능한 암호화

전체 데이터베이스를 복호화하지 않고도 암호화된 레코드를 검색할 수 있는 데이터베이스를 설계할 수 있습니다. 위협 모델 및 쿼리 요구 사항에 따라 검색 가능한 암호화를 사용하여 암호화된 데이터베이스에 대해 정확한 일치 검색 또는 보다 사용자 정의된 복잡한 쿼리를 수행할 수 있습니다.

멀티테넌트 데이터베이스 스키마 지원

AWS Database Encryption SDK를 사용하면 각 테넌트를 고유한 암호화 자료로 격리하여 공유 스키마로 데이터베이스에 저장된 데이터를 보호할 수 있습니다. 데이터베이스 내에서 암호화 작업을 수행하는 사용자가 여러 명인 경우 AWS KMS 키링 중 하나를 사용하여 각 사용자에게 암호화 작업에 사용할 고유 키를 제공합니다. 자세한 내용은 멀티테넌트 데이터베이스 작업 섹션을 참조하세요.

원활한 스키마 업데이트 지원

AWS Database Encryption SDK를 구성할 때 암호화하고 서명할 필드, 서명할 필드(암호화하지 않음), 무시할 필드를 클라이언트에 알려주는 암호화 작업을 제공합니다. AWS Database Encryption SDK를 사용하여 레코드를 보호한 후에도 데이터 모델을 변경할 수 있습니다. 단일 배포에서 암호화된 필드 추가 또는 제거와 같은 암호화 작업을 업데이트할 수 있습니다.

오픈 소스 리포지토리에서 개발

AWS Database Encryption SDK는 GitHub의 오픈 소스 리포지토리에서 개발되었습니다. 이러한 리포지토리를 사용하여 코드를 보고, 문제를 읽고 제출하고, 구현과 관련된 정보를 찾을 수 있습니다.

AWS Database Encryption SDK for DynamoDB
  • DynamoDB용 Java 클라이언트 측 암호화 라이브러리 - aws-database-encryption-sdk-dynamodb-java

    DynamoDB용 Java 클라이언트 측 암호화 라이브러리 버전 3.x는 사양, 이를 구현하기 위한 코드 및 테스트용 증명을 작성하는 검증 인식 언어인 Dafny의 AWS Database Encryption SDK 제품입니다. 그 결과 기능적 정확성을 보장하는 프레임워크에서 AWS Database Encryption SDK for DynamoDB의 기능을 구현하는 라이브러리가 탄생했습니다.

지원 및 유지 관리

AWS Database Encryption SDK에서는 버전 관리 및 수명 주기 단계를 포함하여 AWS SDK 및 도구에서 사용하는 것과 동일한 유지 관리 정책을 사용합니다. 데이터베이스 구현을 위해 사용 가능한 최신 버전의 AWS Database Encryption SDK를 사용하고 새 버전이 출시되면 업그레이드하는 것이 모범 사례입니다.

자세한 내용은 AWS SDK 및 도구 참조 가이드에서 AWS SDK 및 도구 유지 관리 정책을 참조하세요.

피드백 보내기

우리는 여러분의 의견을 환영합니다. 질문이나 의견이 있거나 보고해야 할 문제가 있는 경우 다음 리소스를 사용하십시오.

AWS Database Encryption SDK에서 잠재적인 보안 취약점을 발견한 경우 AWS 보안 팀에 알리세요. 공개적으로 GitHub 문제를 작성하지 마십시오.

이 설명서에 대한 피드백을 제공하려면 이 페이지의 피드백 링크를 사용하십시오.