클라이언트에 대한 하이브리드 양자 내성 TLS 구성
Amazon S3에서 PQ-TLS를 사용하려면 양자 내성 키 교환 알고리즘을 지원하도록 클라이언트를 구성해야 합니다. 또한 클라이언트가 기존의 타원 곡선 암호와 ML-KEM(Module-Lattice-Based Key Encapsulation Mechanism) 같은 양자 내성 알고리즘을 결합하는 하이브리드 접근 방식을 지원하는지 확인합니다.
특정 구성은 클라이언트 라이브러리 및 프로그래밍 언어에 따라 다릅니다. 자세한 내용은 하이브리드 양자 내성 TLS 활성화를 참조하세요.
클라이언트 구성 예제: AWS SDK for Java 2
이 절차에서는 AWS 공통 런타임 HTTP 클라이언트에 대한 Maven 종속성을 추가합니다. 다음으로 포스트 양자 TLS를 선호하는 HTTP 클라이언트를 구성하세요. 그런 다음 HTTP 클라이언트를 사용하는 Amazon S3 클라이언트를 생성합니다.
참고
평가판으로 제공되었던 AWS 공통 런타임 HTTP 클라이언트는 2023년 2월에 정식 버전으로 제공되었습니다. 해당 릴리스에서는 tlsCipherPreference 클래스와tlsCipherPreference() 메서드 파라미터가 postQuantumTlsEnabled() 메서드 파라미터로 대체되었습니다. 평가판 사용 중에 이 예제를 사용했다면 코드를 업데이트해야 합니다.
-
Maven 종속성에 AWS 공통 런타임 클라이언트를 추가합니다. 사용 가능한 최신 버전을 사용하는 것이 좋습니다.
예를 들어 이 문은 AWS 공통 런타임 클라이언트의
2.30.22버전을 Maven 종속성에 추가합니다.<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>aws-crt-client</artifactId> <version>2.30.22</version> </dependency> -
하이브리드 포스트 양자 암호 제품군을 활성화하려면 AWS SDK for Java 2.x를 프로젝트에 추가한 후 초기화하세요. 이어서 다음 예제와 같이 HTTP 클라이언트에서 하이브리드 포스트 양자 암호 제품군을 활성화합니다.
이 코드는
postQuantumTlsEnabled()메서드 파라미터를 사용하여 권장되는 하이브리드 양자 내성 암호 제품군인 ML-KEM이 포함된 ECDH를 선호하는 AWS 공용 런타임 HTTP 클라이언트를 구성합니다. 그런 다음 구성된 HTTP 클라이언트를 사용하여 Amazon S3 비동기 클라이언트인S3AsyncClient의 인스턴스를 구축합니다. 이 코드가 완료된 후에 S3AsyncClient인스턴스의 모든 Amazon S3 API 요청은 하이브리드 양자 내성 TLS를 사용합니다.중요
v2.35.11부터 호출자는 클라이언트에 하이브리드 양자 내성 TLS를 활성화하도록
.postQuantumTlsEnabled(true)를 더 이상 설정할 필요가 없습니다. v2.35.11 이상의 모든 버전은 기본적으로 양자 내성 TLS를 활성화합니다.// Configure HTTP client SdkAsyncHttpClient awsCrtHttpClient = AwsCrtAsyncHttpClient.builder() .postQuantumTlsEnabled(true) .build(); // Create the Amazon S3 async client S3AsyncClient s3Async = S3AsyncClient.builder() .httpClient(awsCrtHttpClient) .build(); -
하이브리드 양자 내성 TLS를 사용하여 Amazon S3 직접 호출을 테스트합니다.
구성된 Amazon S3 클라이언트에서 Amazon S3 API 작업을 호출하면 호출은 하이브리드 양자 내성 TLS를 사용하여 Amazon S3 엔드포인트로 전송됩니다. 구성을 테스트하려면 Amazon S3 API(예:
ListBuckets)을 직접 호출합니다.ListBucketsResponse reponse = s3Async.listBuckets();
하이브리드 포스트 퀀텀 TLS 구성 테스트
Amazon S3를 직접 호출하는 애플리케이션에서 하이브리드 암호 제품군을 사용하여 다음 테스트를 실행하는 것을 고려하세요.
-
로드 테스트 및 벤치마크를 실행합니다. 하이브리드 암호 제품군은 기존 키 교환 알고리즘과 다르게 작동합니다. 핸드셰이크 시간이 길어지도록 연결 제한 시간을 조정해야 할 수도 있습니다. AWS Lambda 함수 내에서 실행 중인 경우 실행 제한 시간 설정 값을 늘리세요.
-
다른 위치에서 연결해 보세요. 요청이 지나는 네트워크 경로에 따라 DPI(심층 패킷 검사)가 있는 중간 호스트, 프록시 또는 방화벽으로 인해 요청이 차단됨을 알 수 있습니다. TLS 핸드셰이크의 ClientHello
부분에서 새 암호 제품군을 사용하는 것 또는 키 교환 메시지가 더 큰 것이 원인일 수 있습니다. 이러한 문제를 해결하는 데 문제가 있는 경우 보안 팀 또는 IT 관리자와 협력하여 관련 구성을 업데이트하고 새 TLS 암호 제품군을 차단 해제하세요.