기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Transfer Family에서 하이브리드 포스트 퀀텀 키 교환 사용
Transfer Family는 Secure Shell(SSH) 프로토콜에 대한 하이브리드 포스트 양자 키 설정 옵션을 지원합니다. 네트워크 트래픽을 기록하고 향후 복호화를 위해 양자 컴퓨터에 저장하는 것이 이미 가능하기 때문에 포스트 퀀텀 키 설정이 필요합니다. 이를 지금 저장 나중 수확 공격이라고 합니다.
이 옵션은 Transfer Family에 연결하여 Amazon 심플 스토리지 서비스(Amazon S3) 스토리지 또는 Amazon Elastic File System(Amazon EFS)에서 안전하게 파일을 주고 받을 때 사용할 수 있습니다. SSH의 포스트 퀀텀 하이브리드 키 설정은 포스트 퀀텀 키 설정 메커니즘을 도입하여 기존 키 교환 알고리즘과 함께 사용합니다. 기존 암호군으로 생성된 SSH 키는 현재 기술로는 무차별 암호 대입 공격으로부터 안전합니다. 그러나 향후 대규모 양자 컴퓨팅이 등장하더라도 기존 암호화는 보안을 유지하지 못할 것으로 예상됩니다.
Transfer Family 연결을 통해 전달되는 데이터의 장기 기밀 유지에 의존하는 조직의 경우, 대규모 양자 컴퓨터를 사용할 수 있게 되기 전에 포스트 퀀텀 암호화로 마이그레이션하는 계획을 고려해야 합니다.
현재 암호화된 데이터를 잠재적인 향후 공격으로부터 보호하기 위해 AWS 는 양자 저항 또는 양자 사후 알고리즘 개발에 암호화 커뮤니티에 참여하고 있습니다. Transfer Family에서 클래식 및 포스트 퀀텀 요소를 결합하는 하이브리드 포스트 퀀텀 키 교환 암호 제품군을 구현했습니다.
이러한 하이브리드 암호 제품군은 대부분의 AWS 지역에서 프로덕션 워크로드에 사용할 수 있습니다. 그러나 하이브리드 암호 제품군의 성능 특성 및 대역폭 요건은 클래식 키 교환 메커니즘의 해당 요건과 다르기 때문에 Transfer FAmily 연결에 대해 이 제품군을 테스트하는 것이 좋습니다.
포스트 퀀텀 암호화
목차
SSH의 포스트 퀀텀 하이브리드 키 교환 소개
Transfer Family는 클래식 Elliptic Curve Diffie-Hellman(ECDH)
클라이언트와 서버는 여전히 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 지원에는 포스트 양자 알고리즘 ML-KEM-768 및 ML-KEM-1024를 P256, P384 또는 Curve25519 곡선에 대한 ECDH와 결합하는 것이 포함됩니다. 포스트 퀀텀 하이브리드 SSH 키 교환 초안
-
mlkem768nistp256-sha256 -
mlkem1024nistp384-sha384 -
mlkem768x25519-sha256
ML-KEM을 사용하는 이유
AWS 는 상호 운용 가능한 표준화된 알고리즘을 지원하기 위해 최선을 다하고 있습니다. ML-KEM은 NIST 포스트 양자 암호화 프로젝트에서 표준화하고 승인한 유일한 포스트 양자
이 약정의 일환으로 AWS 는 ML-KEM을 SSH용 P256과 같은 NIST 승인 곡선과 결합하는 포스트 양자 암호화에 대한 초안 제안을 IETF에 제출했습니다. 고객의 보안을 강화하기 위해 SFTP 및 SSH에서 포스트 양자 키 교환을 AWS 구현하는 것은 해당 초안을 따릅니다. 우리의 제안이 IETF에서 채택되어 표준이 될 때까지 향후 업데이트를 지원할 계획입니다.
초안이 표준화로 발전함에 따라 새로운 키 교환 방법( 섹션에 나열됨Transfer Family에서 포스트 퀀텀 하이브리드 키 설정이 작동하는 방식)이 변경될 수 있습니다.
참고
포스트 양자 알고리즘 지원은 현재 TLS의 포스트 양자 하이브리드 키 교환 AWS KMS (에서 하이브리드 포스트 양자 TLS 사용 참조 AWS KMS)AWS Certificate Manager및 AWS Secrets Manager API 엔드포인트에 사용할 수 있습니다.
포스트 퀀텀 하이브리드 SSH 키 교환 및 암호화 요건 (FIPS 140)
FIPS 규정 준수가 필요한 고객을 위해 Transfer Family는 FIPS 140 인증 오픈 소스 암호화 라이브러리인 - AWS LC를 사용하여 SSH에서 AWS FIPS 승인 암호화를 제공합니다. Transfer Family의 TransferSecurityPolicy-FIPS-2025-03에서 지원되는 포스트 양자 하이브리드 키 교환 방법은 NIST의 SP 800-56Cr2(섹션 2)
Transfer Family의 포스트 퀀텀 하이브리드 키 교환 테스트
이 섹션에서는 포스트 퀀텀 하이브리드 키 교환을 테스트하기 위해 수행하는 단계를 설명합니다.
-
앞서 언급한 초안 사양의 지침을 따라 포스트 퀀텀 하이브리드 키 교환을 지원하는 SFTP 클라이언트(예:포스트 퀀텀 하이브리드 키 교환을 지원하는 SFTP 클라이언트 설정)를 사용하세요.
-
Transfer Family 서버를 사용하여 파일을 전송합니다.
SFTP 엔드포인트에서 포스트 퀀텀 하이브리드 키 교환을 활성화하세요.
Transfer Family에서 새 SFTP 서버 엔드포인트를 생성할 때 또는 기존 SFTP 엔드포인트에서 암호화 알고리즘 옵션을 편집하여 SSH 정책을 선택할 수 있습니다. 다음 스냅샷은 SSH 정책을 업데이트 AWS Management 콘솔 하는의 예를 보여줍니다.
포스트 양자 키 교환을 지원하는 SSH 정책 이름은 TransferSecurityPolicy-2025-03 및 TransferSecurityPolicy-FIPS-2025-03입니다. Transfer Family 정책에 대한 자세한 설명은 AWS Transfer Family 서버에 대한 보안 정책를 참조하세요.
포스트 퀀텀 하이브리드 키 교환을 지원하는 SFTP 클라이언트 설정
SFTP Transfer Family 엔드포인트에서 올바른 포스트 퀀텀 SSH 정책을 선택한 후 Transfer Family에서 포스트 퀀텀 SFTP를 실험해 볼 수 있습니다. 테스트할 로컬 시스템에 최신 OpenSSH 클라이언트(예: 버전 9.9)를 설치합니다.
참고
클라이언트가 이전에 나열된 하나 이상의 ML-KEM 알고리즘을 지원하는지 확인합니다. 다음 명령을 실행하여 OpenSSH 버전에 지원되는 알고리즘을 볼 수 있습니다ssh -Q kex.
다음 명령과 같이 포스트 양자 하이브리드 키 교환 방법을 사용하여 예제 SFTP 클라이언트를 실행하여 SFTP 엔드포인트(예: s-1111aaaa2222bbbb3.server.transfer.us-west-2.amazonaws.com)에 연결할 수 있습니다.
sftp -v -o \ KexAlgorithms=mlkem768x25519-sha256 \ -iusername_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로 연결하는 동안 포스트 퀀텀 하이브리드 키 교환이 사용되었는지 확인하려면 클라이언트 출력을 확인하세요. 선택적으로 패킷 캡처 프로그램을 사용할 수 있습니다. OpenSSH 9.9 클라이언트를 사용하는 경우 출력은 다음과 비슷해야 합니다(간결성을 위해 관련 없는 정보 생략).
% sftp -o KexAlgorithms=mlkem768x25519-sha256 -v -o IdentitiesOnly=yes -iusername_private_key_PEM_fileusername@s-1111aaaa2222bbbb3.server.transfer.us-west-2.amazonaws.com OpenSSH_9.9p2, OpenSSL 3.4.1 11 Feb 2025 debug1: Reading configuration data /Users/username/.ssh/config debug1: /Users/username/.ssh/config line 146: Applying options for * debug1: Reading configuration data /Users/username/.ssh/bastions-config debug1: Reading configuration data /opt/homebrew/etc/ssh/ssh_config debug1: Connecting to s-1111aaaa2222bbbb3.server.transfer.us-west-2.amazonaws.com [xxx.yyy.zzz.nnn] port 22. debug1: Connection established. [...] debug1: Local version string SSH-2.0-OpenSSH_9.9 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 /Users/username/.ssh/known_hosts2: No such file or directory [...] debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: algorithm: mlkem768x25519-sha256 debug1: kex: host key algorithm: ssh-ed25519 debug1: kex: server->client cipher: aes128-ctr MAC: hmac-sha2-256-etm@openssh.com compression: none debug1: kex: client->server cipher: aes128-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:Ic1Ti0cdDmFdStj06rfU0cmmNccwAha/ASH2unr6zX0 [...] 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 s-1111aaaa2222bbbb3.server.transfer.us-west-2.amazonaws.com ([xxx.yyy.zzz.nnn]:22) using "publickey". debug1: channel 0: new session [client-session] (inactive timeout: 0) [...] Connected to s-1111aaaa2222bbbb3.server.transfer.us-west-2.amazonaws.com. sftp>
출력은 포스트 퀀텀 하이브리드 mlkem768x25519-sha256 방법을 사용하여 클라이언트 협상이 이루어졌으며 SFTP 세션이 성공적으로 설정되었음을 보여줍니다.