캐시 보안 임계값 설정 - AWS Encryption SDK

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

캐시 보안 임계값 설정

데이터 키 캐싱을 구현할 때는 캐싱 CMM이 적용하는 보안 임계값을 구성해야 합니다.

보안 임계값을 통해, 캐시된 각 데이터 키가 사용되는 기간과 각 데이터 키에서 보호되는 데이터의 양을 제한할 수 있습니다. 캐싱 CMM은 캐시 항목이 모든 보안 임계값을 준수하는 경우에만 캐시된 데이터 키를 반환합니다. 캐시 항목이 임계값을 초과하는 경우 해당 항목은 현재 작업에 사용되지 않으며 가능한 한 빨리 캐시에서 제거됩니다. 각 데이터 키를 처음 사용한 경우(캐싱 전)에는 이 임계값이 적용되지 않습니다.

일반적으로 비용 및 성능 목표를 달성하는 데 필요한 최소한의 캐싱을 사용합니다.

AWS Encryption SDK는 키 파생 함수를 사용하여 암호화된 데이터 키만 캐시합니다. 또한 일부 임계값에 대한 상한선을 설정합니다. 이러한 제한은 데이터 키가 암호화 한도를 초과하여 재사용되지 않도록 합니다. 그러나 일반 텍스트 데이터 키는 (기본적으로 메모리 내에) 캐시되므로, 키가 저장되는 시간을 최소화하도록 합니다. 또한 키가 손상될 경우 노출될 수 있는 데이터를 제한하도록 합니다.

캐시 보안 임계값 설정 예제는 AWS 보안 블로그의 AWS Encryption SDK: 데이터 키 캐싱이 애플리케이션에 적합한지 결정하는 방법을 참조하세요.

참고

캐싱 CMM은 다음 임계값을 모두 적용합니다. 옵션 값을 지정하지 않으면 캐싱 CMM에 기본값이 사용됩니다.

데이터 키 캐싱을 일시적으로 비활성화하기 위해 AWS Encryption SDK의 Java 및 Python 구현에서는 null 암호화 자료 캐시(null 캐시)를 제공합니다. null 캐시는 모든 GET 요청에 대해 누락을 반환하고 PUT 요청에 응답하지 않습니다. 캐시 용량 또는 보안 임계값을 0으로 설정하는 대신 null 캐시를 사용하는 것이 좋습니다. 자세한 내용은 JavaPython에서 null 캐시를 참조하세요.

최대 기간(필수)

추가된 시점부터 시작하여 캐시된 항목을 사용할 수 있는 기간을 결정합니다. 이 값은 필수입니다. 0보다 큰 값을 입력합니다. AWS Encryption SDK는 최대 기간 값을 제한하지 않습니다.

AWS Encryption SDK의 모든 언어 구현에서는 최대 기간을 초 단위로 정의합니다(밀리초를 사용하는 AWS Encryption SDK for JavaScript의 경우 제외).

애플리케이션이 캐시를 활용할 수 있는 가장 짧은 간격을 사용합니다. 최대 기간 임계값을 키 교체 정책처럼 사용할 수 있습니다. 이를 사용하여 데이터 키의 재사용을 제한하고, 암호화 자료의 노출을 최소화하며, 캐시되는 동안 정책이 변경되었을 수 있는 데이터 키를 제거할 수 있습니다.

최대 메시지 암호화(선택 사항)

캐시된 데이터 키가 암호화할 수 있는 최대 메시지 수를 지정합니다. 이 값은 선택 사항입니다. 1과 2^32개 메시지 사이의 값을 입력합니다. 기본값은 메시지 2^32개입니다.

캐시된 각 키로 보호되는 메시지 수는, 재사용을 통해 값을 가져올 수 있을 만큼 크지만 키가 손상될 경우 노출될 수 있는 메시지 수를 제한할 수 있을 만큼 작게 설정합니다.

최대 바이트 암호화(선택 사항)

캐시된 데이터 키가 암호화할 수 있는 최대 바이트 수를 지정합니다. 이 값은 선택 사항입니다. 0과 2^63 - 1 사이의 값을 입력합니다. 기본값은 2^63 - 1입니다. 값이 0이면 빈 메시지 문자열을 암호화하는 경우에만 데이터 키 캐싱을 사용할 수 있습니다.

이 임계값을 평가할 때 현재 요청의 바이트가 포함됩니다. 처리된 바이트와 현재 바이트가 임계값을 초과하면 캐시된 데이터 키가 더 적은 요청에서 사용되었을 수도 있지만 캐시에서 제거됩니다.