AWS Transfer Family에서 하이브리드 포스트 퀀텀 키 교환 사용 - AWS Transfer Family

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

AWS Transfer Family에서 하이브리드 포스트 퀀텀 키 교환 사용

AWS Transfer Family SSH (Secure Shell) 프로토콜을 위한 하이브리드 포스트 퀀텀 키 설정 옵션을 지원합니다. 네트워크 트래픽을 기록하고 향후 양자 컴퓨터에 의한 암호 해독을 위해 저장하는 것이 이미 가능하기 때문에 사후 양자 키 설정이 필요합니다. 이를 공격이라고 합니다. store-now-harvest-later

이 옵션은 Transfer Family에 연결하여 Amazon 심플 스토리지 서비스(Amazon S3) 스토리지 또는 Amazon Elastic File System(Amazon EFS)에서 안전하게 파일을 주고 받을 때 사용할 수 있습니다. SSH의 포스트 퀀텀 하이브리드 키 설정은 포스트 퀀텀 키 설정 메커니즘을 도입하여 기존 키 교환 알고리즘과 함께 사용합니다. 기존 암호군으로 생성된 SSH 키는 현재 기술로는 무차별 암호 대입 공격으로부터 안전합니다. 그러나 향후 대규모 양자 컴퓨팅이 등장하더라도 기존 암호화는 보안을 유지하지 못할 것으로 예상됩니다.

Transfer Family 연결을 통해 전달되는 데이터의 장기 기밀 유지에 의존하는 조직의 경우, 대규모 양자 컴퓨터를 사용할 수 있게 되기 전에 포스트 퀀텀 암호화로 마이그레이션하는 계획을 고려해야 합니다.

현재 암호화된 데이터를 미래의 잠재적 공격으로부터 보호하기 위해 암호화 커뮤니티와 함께 양자 내성 또는 포스트 퀀텀 알고리즘 개발에 참여하고 있습니다. AWS Transfer Family에서 클래식 및 포스트 퀀텀 요소를 결합하는 하이브리드 포스트 퀀텀 키 교환 암호 제품군을 구현했습니다.

이러한 하이브리드 암호 제품군은 대부분의 AWS 지역에서 프로덕션 워크로드에 사용할 수 있습니다. 그러나 하이브리드 암호 제품군의 성능 특성 및 대역폭 요건은 클래식 키 교환 메커니즘의 해당 요건과 다르기 때문에 Transfer FAmily 연결에 대해 이 제품군을 테스트하는 것이 좋습니다.

포스트 퀀텀 암호화 보안 블로그 게시물에서 포스트 퀀텀 암호화에 대해 자세히 알아보세요.

SSH의 포스트 퀀텀 하이브리드 키 교환 소개

Transfer Family는 기존의 타원 곡선 디피-헬만(ECDH) 키 교환 알고리즘과 CRYSTALS Kyber를 모두 사용하는 포스트 퀀텀 하이브리드 키 교환 암호 제품군을 지원합니다. Kyber는 미국 국립표준기술연구소(NIST)가 최초의 표준 포스트 퀀텀 키 계약 알고리즘으로 지정한 포스트 퀀텀 퍼블릭 키 암호화 및 키 설정 알고리즘입니다.

클라이언트와 서버는 여전히 ECDH 키 교환을 수행합니다. 또한 서버는 포스트 퀀텀 공유 비밀을 클라이언트의 포스트 퀀텀 KEM 퍼블릭 키로 캡슐화하는데, 이는 클라이언트의 SSH 키 교환 메시지에 알려집니다. 이 전략은 기존 키 교환의 높은 신뢰성과 제안된 포스트 퀀텀 키 교환의 보안을 결합하여 ECDH 또는 포스트 퀀텀 공유 비밀이 침해되지 않는 한 핸드셰이크를 보호할 수 있도록 합니다.

Transfer Family에서 포스트 퀀텀 하이브리드 키 설정이 작동하는 방식

AWS 최근 SFTP 파일 전송 시 포스트 퀀텀 키 교환을 지원한다고 발표했습니다. AWS Transfer Family Transfer Family는 SFTP 및 기타 프로토콜을 사용하여 AWS 스토리지 서비스로의 business-to-business 파일 전송을 안전하게 확장합니다. SFTP는 SSH를 통해 실행되는 FTP (파일 전송 프로토콜) 의 보다 안전한 버전입니다. Transfer Family의 포스트 퀀텀 키 교환 지원은 SFTP를 통한 데이터 전송의 보안 기준을 높입니다.

Transfer Family의 포스트 퀀텀 하이브리드 키 교환 SFTP 지원에는 P256, P384, P521 또는 Curve25519 곡선을 통한 ECDH와 포스트 퀀텀 알고리즘 Kyber-512, Kyber-768 및 Kyber-1024의 결합이 포함됩니다. 포스트 퀀텀 하이브리드 SSH 키 교환 초안에는 다음과 같은 해당 SSH 키 교환 방법이 명시되어 있습니다.

  • ecdh-nistp256-kyber-512r3-sha256-d00@openquantumsafe.org

  • ecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.org

  • ecdh-nistp521-kyber-1024r3-sha512-d00@openquantumsafe.org

  • x25519-kyber-512r3-sha256-d00@amazon.com

참고

이러한 새로운 키 교환 방법은 초안이 표준화를 향해 나아가거나 NIST가 Kyber 알고리즘을 승인함에 따라 변경될 수 있습니다.

Kyber를 선택하는 이유는 무엇인가?

AWS 표준화되고 상호 운용 가능한 알고리즘을 지원하기 위해 최선을 다하고 있습니다. Kyber는 NIST 포스트 퀀텀 암호화 프로젝트에서 표준화 대상으로 선택한 최초의 포스트 퀀텀 암호화 알고리즘입니다. 일부 표준 기관에서는 이미 Kyber를 프로토콜에 통합하고 있습니다. AWS 이미 일부 API 엔드포인트에서 TLS에서 Kyber를 지원하고 있습니다. AWS

이러한 노력의 일환으로 저는 Kyber와 AWS NIST가 승인한 SSH용 P256과 같은 곡선을 결합하는 포스트 퀀텀 암호화에 대한 제안서 초안을 IETF에 제출했습니다. 고객의 보안을 강화하기 위해 SFTP와 SSH에서 포스트 퀀텀 키 교환을 AWS 구현하는 것도 이 초안을 따릅니다. 우리의 제안이 IETF에서 채택되어 표준이 될 때까지 향후 업데이트를 지원할 계획입니다.

새로운 키 교환 방법(섹션 Transfer Family에서 포스트 퀀텀 하이브리드 키 설정이 작동하는 방식에 열거됨)은 초안이 표준화를 향해 나아가거나 NIST가 Kyber 알고리즘을 승인함에 따라 변경될 수 있습니다.

참고

포스트 퀀텀 알고리즘 지원은 현재 TLS의 포스트 퀀텀 하이브리드 키 교환 AWS KMS (하이브리드 포스트 퀀텀 TLS 사용 참조) 및 API 엔드포인트에 사용할 수 있습니다. AWS KMSAWS Certificate Manager AWS Secrets Manager

포스트 퀀텀 하이브리드 SSH 키 교환 및 암호화 요건 (FIPS 140)

FIPS 규정 준수가 필요한 고객을 위해 Transfer Family는 FIPS 140 인증을 받은 오픈 소스 암호화 라이브러리인 -LC를 사용하여 SSH로 AWS FIPS 승인 암호화를 제공합니다. AWS TransferSecurityPolicyTransfer Family의 -PQ-SSH-FIPS-Expermental-2023-04에서 지원되는 포스트 퀀텀 하이브리드 키 교환 방법은 NIST의 SP 800-56Cr2 (섹션 2) 에 따라 FIPS 승인을 받았습니다. 독일 연방 정보보안청(BSI)과 프랑스 국립정보시스템청(ANSSI)에서도 이러한 포스트 퀀텀 하이브리드 키 교환 방법을 권장합니다.

Transfer Family의 포스트 퀀텀 하이브리드 키 교환 테스트

이 섹션에서는 포스트 퀀텀 하이브리드 키 교환을 테스트하기 위해 수행하는 단계를 설명합니다.

  1. SFTP 엔드포인트에서 포스트 퀀텀 하이브리드 키 교환을 활성화하세요..

  2. 앞서 언급한 초안 사양의 지침을 따라 포스트 퀀텀 하이브리드 키 교환을 지원하는 SFTP 클라이언트(예:포스트 퀀텀 하이브리드 키 교환을 지원하는 SFTP 클라이언트 설정)를 사용하세요.

  3. Transfer Family 서버를 사용하여 파일을 전송합니다.

  4. SFTP에서 포스트 퀀텀 하이브리드 키 교환 확인.

SFTP 엔드포인트에서 포스트 퀀텀 하이브리드 키 교환을 활성화하세요.

Transfer Family에서 새 SFTP 서버 엔드포인트를 생성할 때 또는 기존 SFTP 엔드포인트에서 암호화 알고리즘 옵션을 편집하여 SSH 정책을 선택할 수 있습니다. 다음 스냅샷은 SSH 정책을 업데이트하는 AWS Management Console 경우의 예를 보여줍니다.

암호화 알고리즘 옵션에 대해 선택한 포스트 퀀텀 정책을 보여줍니다.

포스트 퀀텀 키 교환을 지원하는 SSH 정책 이름은 TransferSecurityPolicy-PQ-SSH-익스페리멘탈-2023-04 및 TransferSecurityPolicy-PQ-SSH-FIPS-익스페리멘탈-2023-04입니다. Transfer Family 정책에 대한 자세한 설명은 서버 보안 정책 AWS Transfer Family를 참조하세요.

포스트 퀀텀 하이브리드 키 교환을 지원하는 SFTP 클라이언트 설정

SFTP Transfer Family 엔드포인트에서 올바른 포스트 퀀텀 SSH 정책을 선택한 후 Transfer Family에서 포스트 퀀텀 SFTP를 실험해 볼 수 있습니다. 앞서 언급한 초안 사양의 지침에 따라 포스트 퀀텀 하이브리드 키 교환을 지원하는 SFTP 클라이언트(예: OQS OpenSSH)를 사용할 수 있습니다.

OQS OpenSSH는 liboqs를 사용하여 SSH에 양자 안전 암호화를 추가하는 OpenSSH의 오픈 소스 포크입니다. liboqs은(는) 양자 저항성 암호화 알고리즘을 구현하는 오픈 소스 C 라이브러리입니다. OQS OpenSSH 및 liboqs은(는) 오픈 퀀텀 세이프 (OQS) 프로젝트의 일부입니다.

OQS OpenSSH를 사용하여 Transfer Family SFTP에서 포스트 퀀텀 하이브리드 키 교환을 테스트하려면 프로젝트의 README에 설명된 대로 OQS OpenSSH를 빌드해야 합니다. OQS OpenSSH를 구축한 후에는 다음 명령과 같이 포스트 퀀텀 하이브리드 키 교환 방법을 사용하여 예 SFTP 클라이언트를 실행하여 SFTP 엔드포인트(예: s-1111aaaa2222bbbb3.server.transfer.us-west-2.amazonaws.com)에 연결할 수 있습니다.

./sftp -S ./ssh -v -o \ KexAlgorithms=ecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.org \ -i username_private_key_PEM_file \ username@server-id.server.transfer.region-id.amazonaws.com

이전 명령에서 다음 항목을 자신의 정보로 바꿉니다.

  • username_private_key_PEM_file을 SFTP 사용자의 프라이빗 키 PEM 인코딩 파일로 대체합니다.

  • 사용자 이름을 인스턴스의 사용자 이름으로 바꿉니다.

  • 서버 ID를 Transfer Family 서버 ID로 교체

  • 지역 ID를 Transfer Family 서버가 위치한 실제 지역으로 바꾸세요.

SFTP에서 포스트 퀀텀 하이브리드 키 교환 확인

SFTP를 Transfer Family로 연결하는 동안 포스트 퀀텀 하이브리드 키 교환이 사용되었는지 확인하려면 클라이언트 출력을 확인하세요. 선택적으로 패킷 캡처 프로그램을 사용할 수 있습니다. Open Quantum Safe OpenSSH 클라이언트를 사용하는 경우 출력은 다음과 비슷해야 합니다 (간결성을 위해 관련 없는 정보는 생략).

$./sftp -S ./ssh -v -o KexAlgorithms=ecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.org -i username_private_key_PEM_file username@s-1111aaaa2222bbbb3.server.transfer.us-west-2.amazonaws.com OpenSSH_8.9-2022-01_p1, Open Quantum Safe 2022-08, OpenSSL 3.0.2 15 Mar 2022 debug1: Reading configuration data /home/lab/openssh/oqs-test/tmp/ssh_config debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling debug1: Connecting to s-1111aaaa2222bbbb3.server.transfer.us-west-2.amazonaws.com [xx.yy.zz..12] port 22. debug1: Connection established. [...] debug1: Local version string SSH-2.0-OpenSSH_8.9-2022-01_ debug1: Remote protocol version 2.0, remote software version AWS_SFTP_1.1 debug1: compat_banner: no match: AWS_SFTP_1.1 debug1: Authenticating to s-1111aaaa2222bbbb3.server.transfer.us-west-2.amazonaws.com:22 as 'username' debug1: load_hostkeys: fopen /home/lab/.ssh/known_hosts2: No such file or directory [...] debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: algorithm: ecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.org debug1: kex: host key algorithm: ssh-ed25519 debug1: kex: server->client cipher: aes192-ctr MAC: hmac-sha2-256-etm@openssh.com compression: none debug1: kex: client->server cipher: aes192-ctr MAC: hmac-sha2-256-etm@openssh.com compression: none debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: SSH2_MSG_KEX_ECDH_REPLY received debug1: Server host key: ssh-ed25519 SHA256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649 [...] debug1: rekey out after 4294967296 blocks debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: rekey in after 4294967296 blocks [...] Authenticated to AWS.Tranfer.PQ.SFTP.test-endpoint.aws.com ([xx.yy.zz..12]:22) using "publickey".s debug1: channel 0: new [client-session] [...] Connected to s-1111aaaa2222bbbb3.server.transfer.us-west-2.amazonaws.com. sftp>

출력은 포스트 퀀텀 하이브리드 ecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.org 방법을 사용하여 클라이언트 협상이 이루어졌으며 SFTP 세션이 성공적으로 설정되었음을 보여줍니다.