비컨 - AWS 데이터베이스 암호화 SDK

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

비컨

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

비컨은 필드에 기록된 일반 텍스트 값과 데이터베이스에 실제로 저장된 암호화된 값 사이의 맵을 생성하는 잘린 해시 기반 메시지 인증 코드(HMAC) 태그입니다. 비컨은 필드의 암호화된 상태를 변경하지 않습니다. 비컨은 필드의 일반 텍스트 값에 대한 HMAC를 계산하여 암호화된 값과 함께 저장합니다. 이 HMAC 출력은 해당 필드의 일반 텍스트 값과 일대일(1:1) 일치합니다. 여러 개의 고유한 일반 텍스트 값이 잘린 동일한 HMAC 태그에 매핑되도록 HMAC 출력이 잘립니다. 이러한 오탐은 일반 텍스트 값에 대한 구별 정보를 식별하는 권한이 없는 사용자의 능력을 제한합니다.

비콘은 표시된 ENCRYPT_AND_SIGN 필드 또는 SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT 암호화 작업에서만 구성할 수 있습니다. SIGN_ONLY 비컨 자체는 서명되거나 암호화되지 않습니다. DO_NOTHING로 표시된 필드로는 비컨을 구성할 수 없습니다.

구성하는 비컨의 유형에 따라 수행할 수 있는 쿼리 유형이 결정됩니다. 검색 가능한 암호화를 지원하는 두 가지 유형의 비컨이 있습니다. 표준 비컨은 동등 검색을 수행합니다. 복합 비컨은 기본적 일반 텍스트 문자열과 표준 비컨을 결합하여 복잡한 데이터베이스 작업을 수행합니다. 비컨을 구성한 후 암호화된 필드를 검색하려면 먼저 각 비컨에 대한 보조 인덱스를 구성해야 합니다. 자세한 정보는 비컨을 사용한 보조 인덱스 구성을 참조하세요.

표준 비컨

표준 비컨은 데이터베이스에서 검색 가능한 암호화를 구현하는 가장 간단한 방법입니다. 암호화된 필드 또는 가상 필드 하나에 대해서만 동등 검색을 수행할 수 있습니다. 표준 비컨을 구성하는 방법을 알아보려면 표준 비컨 구성을 참조하세요.

표준 비컨을 구성하는 필드를 비컨 소스라고 합니다. 비컨이 매핑해야 하는 데이터의 위치를 식별합니다. 비컨 소스는 암호화된 필드 또는 가상 필드일 수 있습니다. 각 표준 비컨의 비컨 소스는 고유해야 합니다. 동일한 비컨 소스로 두 개의 비컨을 구성할 수 없습니다.

표준 비콘을 사용하여 암호화된 필드 또는 가상 필드에 대해 동등성 검색을 수행할 수 있습니다. 또는 복합 비콘을 구성하여 더 복잡한 데이터베이스 작업을 수행하는 데 사용할 수도 있습니다. AWS Database Encryption SDK는 표준 비콘을 구성하고 관리할 수 있도록 표준 비콘의 용도를 정의하는 다음과 같은 선택적 비콘 스타일을 제공합니다. 자세한 내용은 비콘 스타일 정의를 참조하십시오.

암호화된 단일 필드에 대해 동등 검색을 수행하는 표준 신호를 만들거나 가상 필드를 생성하여 여러, ENCRYPT_AND_SIGNSIGN_ONLY, 및 SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT 필드의 연결에 대해 동등 검색을 수행하는 표준 신호를 만들 수 있습니다.

가상 필드

가상 필드는 하나 이상의 소스 필드로 구성된 개념적 필드입니다. 가상 필드를 생성해도 레코드에 새 필드가 기록되지는 않습니다. 가상 필드는 데이터베이스에 명시적으로 저장되지 않습니다. 표준 비컨 구성에서 필드의 특정 세그먼트를 식별하는 방법 또는 레코드 내의 여러 필드를 연결하여 특정 쿼리를 수행하는 방법에 대한 지침을 비컨에 제공하는 데 사용됩니다. 가상 필드에는 하나 이상의 암호화된 필드가 필요합니다.

참고

다음 예제는 가상 필드로 수행할 수 있는 변환 및 쿼리 유형을 보여줍니다. 애플리케이션에서 이 예제에 사용된 예제 필드는 비컨에 대한 배포상관 관계 고유성 권장 사항을 충족하지 않을 수 있습니다.

예를 들어, FirstNameLastName 필드의 연결에 대해 동등 검색을 수행하려는 경우 다음 가상 필드 중 하나를 만들 수 있습니다.

  • FirstName 필드의 첫 번째 문자와 그 뒤에 LastName 필드가 오는 가상 NameTag 필드(모두 소문자)입니다. 이 가상 필드를 사용하면 NameTag=mjones을 쿼리할 수 있습니다.

  • LastName 필드와 그 뒤에 FirstName 필드로 구성된 가상 LastFirst 필드입니다. 이 가상 필드를 사용하면 LastFirst=JonesMary을 쿼리할 수 있습니다.

또는 암호화된 필드의 특정 세그먼트에서 동등 검색을 수행하려는 경우 쿼리하려는 세그먼트를 식별하는 가상 필드를 만드세요.

예를 들어 IP 주소의 처음 세 세그먼트를 사용하여 암호화된 IPAddress 필드를 쿼리하려면 다음 가상 필드를 만듭니다.

  • Segments(‘.’, 0, 3)로 구성된 가상 IPSegment 필드. 이 가상 필드를 사용하면 IPSegment=192.0.2을 쿼리할 수 있습니다. 쿼리는 IPAddress 값이 “192.0.2"로 시작하는 모든 레코드를 반환합니다.

가상 필드는 고유해야 합니다. 정확히 동일한 소스 필드로 두 개의 가상 필드를 구성할 수는 없습니다.

가상 필드 및 가상 필드를 사용하는 비컨을 구성하는 데 도움이 필요하면 가상 필드 만들기를 참조하세요.

복합 비컨

복합 비컨은 쿼리 성능을 향상시키고 더 복잡한 데이터베이스 작업을 수행할 수 있도록 인덱스를 생성합니다. 복합 비컨을 사용하여 리터럴 일반 텍스트 문자열과 표준 비컨을 결합하여 암호화된 레코드에 대해 복잡한 쿼리(예: 단일 인덱스에서 서로 다른 두 레코드 유형을 쿼리하거나 정렬 키로 필드 조합을 쿼리하는 등)를 수행할 수 있습니다. 복합 비컨 솔루션 예제에 대한 자세한 내용은 비컨 유형 선택을 참조하세요.

복합 비콘은 표준 비콘 또는 표준 비콘과 서명된 필드의 조합으로 구성할 수 있습니다. 부분 목록으로 구성됩니다. 모든 복합 비컨에는 비컨에 포함된 ENCRYPT_AND_SIGN 필드를 식별하는 암호화된 부분 목록이 포함되어야 합니다. 모든 ENCRYPT_AND_SIGN 필드는 표준 비컨으로 식별되어야 합니다. 더 복잡한 복합 비콘에는 비콘에 포함된 일반 텍스트 SIGN_ONLY 또는 SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT 필드를 식별하는 서명된 부분 목록과 복합 비콘이 필드를 조합할 수 있는 가능한 모든 방법을 식별하는 생성자 부분 목록이 포함될 수도 있습니다.

참고

또한 AWS Database Encryption SDK는 일반 텍스트와 필드로 완전히 구성할 수 있는 서명된 비콘을 지원합니다. SIGN_ONLY SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT 서명된 비콘은 암호화되지 않은 서명된 필드를 인덱싱하고 복잡한 쿼리를 수행하는 복합 비콘의 일종입니다. 자세한 정보는 서명된 비컨 만들기을 참조하세요.

복합 비컨 구성에 대한 도움말은 복합 비콘 구성을 참조하세요.

복합 비컨을 구성하는 방식에 따라 수행할 수 있는 쿼리 유형이 결정됩니다. 예를 들어, 일부 암호화되고 서명된 부분을 선택 사항으로 설정하여 쿼리의 유연성을 높일 수 있습니다. 복합 비컨이 수행할 수 있는 쿼리 유형에 대한 자세한 내용은 비컨 쿼리 섹션을 참조하세요.