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

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

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

AWS Transfer Family 는 Secure Shell(SSH) 프로토콜에 대한 하이브리드 사후 양자 키 설정 옵션을 지원합니다. 이미 네트워크 트래픽을 기록하고 나중에 store-now-harvest-later 공격이라고 하는 양자 컴퓨터에 의한 복호화를 위해 저장할 수 있기 때문에 양자 후 키 설정이 필요합니다.

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

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

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

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

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

의 포스트 퀀텀 하이브리드 키 교환 정보 SSH

Transfer Family는 클래식 Elliptic Curve Diffie-Hellman(ECDH) 키 교환 알고리즘과 CRYSTALS Kyber 를 모두 사용하는 양자 후 하이브리드 키 교환 암호 제품군을 지원합니다. Kyber는 National Institute for Standards and Technology(NIST)가 첫 번째 표준 사후 양자 키 계약 알고리즘으로 지정한 양자 후 퍼블릭 키 암호화 및 키 설정 알고리즘입니다.

클라이언트와 서버는 여전히 ECDH 키 교환을 수행합니다. 또한 서버는 클라이언트의 키 SSH 교환 메시지에 광고되는 클라이언트의 사후 양자 KEM 퍼블릭 키에 양자 공유 보안 암호를 캡슐화합니다. 이 전략은 고전 키 교환의 높은 보장과 제안된 양자 후 키 교환의 보안을 결합하여 ECDH 또는 양자 후 공유 보안 암호를 해제할 수 없는 한 핸드셰이크를 보호할 수 있도록 합니다.

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

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

Transfer Family의 양자 후 하이브리드 키 교환 SFTP 지원에는 양자 후 알고리즘 Kyber-512, Kyber-768 및 Kyber-1024를 개 ECDH 이상의 P256, P384, P521 또는 Curve25519 곡선과 결합하는 것이 포함됩니다. 다음과 같은 해당 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

참고

이러한 새로운 키 교환 방법은 초안이 표준화로 발전하거나 Kyber 알고리즘을 NIST 비준할 때 변경될 수 있습니다.

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

AWS 는 상호 운용 가능한 표준화된 알고리즘을 지원하기 위해 최선을 다하고 있습니다. Kyber는 Post-Quantum NIST Cryptography 프로젝트 에서 표준화를 위해 선택한 첫 번째 포스트 양자 암호화 알고리즘입니다. 일부 표준 본문은 이미 Kyber를 프로토콜에 통합하고 있습니다. 는 일부 AWS API 엔드포인트에서 AWS 이미 KyberTLS를 지원합니다.

이 약속의 일환으로 AWS 는 Kyber를 용 P256과 같은 NIST승인된 곡선과 결합하는 양자 후 암호화IETF에 대한 초안 제안을 에 제출했습니다SSH. 고객의 보안을 강화하기 위해 SFTP 및 에서 양자 후 키 교환을 AWS 구현하면 해당 초안이 SSH 적용됩니다. 에서 제안을 채택IETF하고 표준이 될 때까지 향후 업데이트를 지원할 계획입니다.

초안이 표준화로 발전하거나 Kyber 알고리즘을 NIST 비준할 때 새로운 키 교환 방법(섹션 에 나열됨Transfer Family에서 포스트 퀀텀 하이브리드 키 설정이 작동하는 방식)이 변경될 수 있습니다.

참고

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

양자 사후 하이브리드 SSH 키 교환 및 암호화 요구 사항(FIPS 140)

FIPS 규정 준수가 필요한 고객을 위해 Transfer Family는 140 인증 오픈 소스 암호화 라이브러리인 FIPS- AWS LCSSH를 사용하여 AWS FIPS 에서 승인된 암호화를 제공합니다. Transfer Family의 TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04에서 지원되는 양자 후 하이브리드 키 교환 방법은 NIST의 SP 800-56Cr2(섹션 2)에 따라 FIPS 승인되었습니다. 독일 연방 정보 보안 사무소( BSI)와 프랑스의 Agence nationale de la sécurité des systèmes d'information(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-Experimental-2023-04TransferSecurityPolicy-PQ-SSHFIPS-Experimental-2023-04입니다. Transfer Family 정책에 대한 자세한 설명은 에 대한 보안 정책 AWS Transfer Family를 참조하세요.

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

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

OQS OpenSSH은 를 사용하여 quantum-safe 암호화를 SSH에 추가하는 OpenSSH의 오픈 소스 포크입니다liboqs. liboqs는 양자 내성 암호화 알고리즘을 구현하는 오픈 소스 C 라이브러리입니다. OQS SSH와 liboqs는 Open Quantum Safe(OQS) 프로젝트의 일부입니다.

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

./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

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

  • Replace username_private_key_PEM_file SFTP 사용자의 프라이빗 키 PEM인코딩 파일 사용

  • Replace username SFTP 사용자 이름을 사용하여

  • Replace server-id Transfer Family 서버 ID 사용

  • Replace region-id Transfer Family 서버가 위치한 실제 리전

에서 퀀텀 후 하이브리드 키 교환 확인 SFTP

Transfer FamilySFTP에 대한 SSH 연결 중에 양자 후 하이브리드 키 교환이 사용되었는지 확인하려면 클라이언트 출력을 확인합니다. 선택적으로 패킷 캡처 프로그램을 사용할 수 있습니다. 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 세션을 성공적으로 설정했음을 보여줍니다.