使用混合式後量子金鑰交換 AWS Transfer Family - AWS Transfer Family

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用混合式後量子金鑰交換 AWS Transfer Family

AWS Transfer Family 支援安全殼層 (SSH) 通訊協定的混合式後量子金鑰建立選項。需要建立後量子密鑰,因為它已經可以記錄網絡流量並將其保存以供 future 通過量子計算機進行解密,該計算機稱為現在-現在穫-以後的攻擊。

當您連線到傳輸系列,以安全傳入和傳出 Amazon 簡單儲存服務 (Amazon S3) 儲存或 Amazon 彈性檔案系統 (Amazon EFS) 的檔案傳輸時,您可以使用此選項。SSH 中的後量子混合密鑰建立引入後量子密鑰建立機制,它與傳統密鑰交換算法一起使用。使用經典密碼套件創建的 SSH 密鑰可以使用當前技術免受暴力攻擊。但是,在 future 大規模量子計算出現之後,傳統加密不會保持安全。

如果您的組織仰賴透過 Transfer Family 連線傳遞的資料的長期機密性,您應該考慮在大規模量子電腦可供使用之前移轉至後量子密碼編譯的計畫。

為了保護今天加密的數據免受 future 潛在的攻擊, AWS 正與加密社區參與開發量子抗性或後量子算法。我們已經在 Transfer Family 中實施了混合式後量子密鑰交換密碼套件,該套件結合了經典和後量子元素。

這些混合式加密套件可用於大部分 AWS 區域的生產工作負載。但是,由於混合式加密套件的效能特性和頻寬需求與傳統金鑰交換機制不同,因此建議您在 Transfer Family 連線上進行測試。

在後量子密碼學安全部落格文章中深入瞭解後量子密碼學

關於 SSH 中的後量子混合金鑰交換

Transfer Family 支持後量子混合密鑰交換密鑰套件,它同時使用經典的橢圓曲線迪菲-赫爾曼(ECDH)密鑰交換算法和晶體 Kyber。Kyber 是一種後量子公鑰加密和金鑰建立演算法,美國國家標準與技術研究院 (NIST) 已指定為其第一個標準後量子金鑰協定演算法。

客戶端和服務器仍然進行 ECDH 密鑰交換。此外,伺服器會將後量子共用密碼封裝至用戶端的後量子 KEM 公開金鑰,該公開金鑰會在用戶端的 SSH 金鑰交換訊息中公告。這種策略結合了經典密鑰交換的高度保證和提議的後量子密鑰交換的安全性,有助於確保只要 ECDH 或後量子共享密鑰不能被破壞,就可以保護握手。

後量子混合密鑰建立如何在 Transfer Family 中工作

AWS 最近宣布支持 SFTP 文件傳輸中的後量子密鑰交換。 AWS Transfer Family Transfer Family 使用 SFTP 和其他通訊協定,安全地將 business-to-business 檔案傳輸擴展到 AWS 儲存服務。SFTP 是透過 SSH 執行的檔案傳輸通訊協定 (FTP) 更安全的版本。傳輸系列的後量子金鑰交換支援提高了透過 SFTP 傳輸資料的安全性標準。

Transfer Family 中的後量子混合式金鑰交換 SFTP 支援包括結合後量子演算法 Kyber-512、凱伯 -768 和凱伯 -1024,以及 ECDH 超過 P256、P384、P521 或曲線 25519 曲線。下列對應的 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 演算法而改變。

為什麼是凱伯?

AWS 致力於支援標準化、可互操作的演算法。Kyber 是 NIST 後量子密碼學專案選定用於標準化的第一個後量子加密演算法。一些標準機構已經將 Kyber 集成到協議中。 AWS 在某些 AWS API 端點中已經支持 TLS 中的凱伯。

作為這項承諾的一部分, AWS 已向 IETF 提交了一份關於後量子密碼學的提案草案,該建議將 Kyber 與 NIST 批准的曲線(例如 SSH 的 P256)結合在一起。為了協助提升客戶的安全性,SFTP 和 SSH 中的後量子金鑰交換 AWS 實作遵循該草案。我們計劃支持 future 的更新,直到我們的建議被 IETF 採用並成為標準。

隨著草案向標準化發展或 NIST 批准 Kyber 算法,新的密鑰交換方法(在部分中列出後量子混合密鑰建立如何在 Transfer Family 中工作)可能會發生變化。

注意

後量子演算法支援目前可用於 TLS 中的後量子混合金鑰交換 AWS KMS (請參閱使用混合後量子 TLS 搭配 AWS KMS) 和 AWS Secrets Manager API 端點。AWS Certificate Manager

後量子混合式 SSH 金鑰交換與加密需求 (FIPS 140)

對於需要 FIPS 合規性的客戶,Transfer Family 使用 FIPS 140 認證的開放原始碼編譯程式庫-LC,以 SSH 提供 AWS FIPS 核准的加密技術。 AWS根據 NIST 的 SP 800-56Cr2(第 2 節),Transfer Family 中支持的 TransferSecurityPolicy-PQ-SSH-FIPS 實驗 -2023-04 支持的後量子混合密鑰交換方法。德國聯邦信息安全局(BSI)和法國國家信息系統(AN SSI)也推薦這種後量子混合密鑰交換方法。

在 Transfer Family 列中測試後量子混合金鑰交換

本節說明測試後量子混合金鑰交換所採取的步驟。

  1. 在 SFTP 端點上啟用後量子混合式金鑰交換.

  2. 遵循上述草案規格中的指引,使用支援後量子混合式金鑰交換的 SFTP 用戶端 (例如設定支援後量子混合式金鑰交換的 SFTP 用戶端)。

  3. 使用轉移系列伺服器傳輸檔案。

  4. 確認 SFTP 中的後量子混合金鑰交換.

在 SFTP 端點上啟用後量子混合式金鑰交換

您可以在 Transfer Family 列中建立新的 SFTP 伺服器端點時,或編輯現有 SFTP 端點中的密碼編譯演算法選項,來選擇 SSH 政策。以下快照顯示了 AWS Management Console 更新 SSH 策略的範例。

顯示針對密碼編譯演算法選項選取的後量子原則。

支援後量子金鑰交換的 SSH 原則名稱為政策-PQ-SSH 實驗 -2023-04 和政TransferSecurity策-PQ-SS-FIP 實驗- 2023-04。TransferSecurity如需 Transfer Family 政策的詳細資訊,請參閱AWS Transfer Family 伺服器的安全性原則

設定支援後量子混合式金鑰交換的 SFTP 用戶端

在 SFTP Transfer Family 端點中選取正確的量子後 SSH 原則之後,您可以在 Transfer Family 中嘗試量子後 SFTP。您可以使用支援後量子混合金鑰交換的 SFTP 用戶端 (例如 OQS OpenSSH),方法是遵循上述草案規格草案中的指引。

OQS OpenSSH 是 OpenSSH 的一個開源分支,它通過使用將量子安全加密技術添加到 SSH。liboqs liboqs是一個開源的 C 庫,實現了抗量子加密算法。OQS OpenSSH 並且liboqs是開放量子安全(OQS)項目的一部分。

若要使用 OQS OpenSSH 在 Transfer Family SFTP 中測試後量子混合式金鑰交換,您需要建置 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

在上一個命令中,用您自己的資訊取代下列項目:

  • 以 SFTP 使用者的私密金鑰 PEM 編碼檔案取代使用者名稱的私密金鑰

  • 以 SFTP 使用者名稱取代使用者名稱

  • 以 Transfer Family 伺服器 ID 取代伺服器 ID

  • 將區域 ID 替換為 Transfer Family 服務器所在的實際區域

確認 SFTP 中的後量子混合金鑰交換

若要確認 SFTP Transfer Family 列的 SSH 連線期間使用量子後混合金鑰交換,請檢查用戶端輸出。或者,您可以使用封包擷取程式。如果您使用開放量子安全 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 工作階段。