AWS Transfer Familyでハイブリッドポストクォンタムキー交換の使用 - AWS Transfer Family

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Transfer Familyでハイブリッドポストクォンタムキー交換の使用

AWS Transfer Family は、Secure Shell (SSH) プロトコルのハイブリッドポスト量子キー確立オプションをサポートします。量子後キーの確立は、store-now-harvest-laterネットワークトラフィックを記録し、攻撃と呼ばれる量子コンピュータによって将来的に復号するために保存できるため、必要です。

このオプションは、Transfer Family に接続して、Amazon Simple Storage Service (Amazon S3) ストレージまたは Amazon Elastic File System (Amazon ) との間で安全なファイル転送を行う場合に使用できますEFS。の量子後ハイブリッドキーの確立には、古典的なキー交換アルゴリズムと組み合わせて使用する量子後キー確立メカニズムSSHが導入されています。SSH クラシック暗号スイートで作成されたキーは、現在のテクノロジーによるブルートフォース攻撃から安全です。ただし、future、大規模な量子コンピューティングが登場しても、従来の暗号化は安全性を維持できないと予想されます。

もし、組織がトランスファーファミリー接続でやり取りされるデータの長期的な機密性に依存しているのであれば、大規模な量子コンピュータが利用可能になる前に、ポスト量子暗号への移行計画を検討すべきです。

現在暗号化されているデータを将来の潜在的な攻撃から保護するために、 AWS は量子耐性または量子後アルゴリズムの開発に暗号コミュニティに参加しています。Transfer Family にハイブリッドポストクォンタムキー交換暗号スイートを実装しました。

これらのハイブリッド暗号スイートは、ほとんどの AWS リージョンで本稼働ワークロードで使用できます。ただし、ハイブリッド暗号スイートのパフォーマンス特性と帯域幅要件は、古典的な鍵交換メカニズ ムとは異なるため、Transfer Family の接続でテストすることを推奨します。

ポスト量子暗号技術」の詳細については、ポスト量子暗号のセキュリティに関するブログ記事をご覧ください。

でのポスト量子ハイブリッドキー交換について SSH

Transfer Family は、古典的な楕円曲線 Diffie-Hellman (ECDH) キー交換アルゴリズムと CRYSTALS Kyber の両方を使用するポスト量子ハイブリッドキー交換暗号スイートをサポートしています。Kyber は、国立標準技術研究所 (NIST) が最初の標準ポスト量子キー契約アルゴリズムとして指定したポスト量子パブリックキー暗号化およびキー確立アルゴリズムです。

クライアントとサーバーは引き続きECDHキー交換を行います。さらに、サーバーはポスト量子共有シークレットをクライアントのポスト量子KEMパブリックキーにカプセル化し、クライアントのSSHキー交換メッセージにアドバタイズされます。この戦略は、古典的なキー交換の高い保証と提案された量子後キー交換のセキュリティを組み合わせて、 ECDHまたは量子後共有シークレットを壊すことができない限り、ハンドシェイクが確実に保護されるようにします。

TransferFamilyにおけるポスト量子ハイブリッド鍵確立の仕組み

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 は、一部の AWS APIエンドポイントTLSで で Kyber を既にサポートしています。

このコミットメントの一環として、 AWS は、Kyber と IETFの P256 のようなNIST承認済み曲線を組み合わせた量子後暗号化の提案案を に送信しましたSSH。お客様のセキュリティを強化するために、 および での量子後キー交換 AWS を実装SFTPし、そのドラフトSSHに従います。提案が によって採用IETFされ、標準になるまで、今後の更新をサポートする予定です。

新しいキー交換方法 (セクション に記載TransferFamilyにおけるポスト量子ハイブリッド鍵確立の仕組み) は、ドラフトが標準化に向けて進化したり、 が Kyber NIST アルゴリズムを批准したりすると変更される可能性があります。

注記

量子後アルゴリズムのサポートは現在、 AWS KMS (「 でのハイブリッドポスト量子の使用」を参照)AWS Certificate Manager、および AWS Secrets Manager APIエンドポイントTLSの で量子後ハイブリッドキー交換に使用できます。 TLS AWS KMS

量子後のハイブリッドSSHキー交換と暗号化の要件 (FIPS 140)

FIPS コンプライアンスを必要とするお客様向けに、Transfer Family は 140 認定のオープンソース暗号化ライブラリである AWS-LC SSHを使用して AWS FIPS、 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-04 および TransferSecurityPolicy-PQ-SSHFIPS-Experimental-2023-04 です。Transfer Familyポリシーの詳細については、のセキュリティポリシー AWS Transfer Family を参照してください。

ポスト量子ハイブリッドキー交換をサポートするSFTPクライアントを設定する

SFTP Transfer Family エンドポイントで正しいポスト量子SSHポリシーを選択したら、Transfer Family SFTPでポスト量子を試すことができます。上記のドラフト仕様のガイダンスに従うことで、量子後のハイブリッドキー交換をサポートするSFTPクライアント (OQSOpen SSHなど) i を使用できます。

OQS OpenSSH は、 SSHを使用して量子安全暗号化を追加する OpenSSH のオープンソースフォークですliboqsliboqsは、量子耐性の暗号化アルゴリズムを実装するオープンソース C ライブラリです。OQS OpenSSH および liboqsは Open Quantum Safe (OQS) プロジェクトの一部です。

Transfer Family SFTP with OQS Open でポスト量子ハイブリッドキー交換をテストするにはSSH、プロジェクトの で説明されているように OQS OpenSSH を構築する必要がありますREADME。OQS Open を構築したらSSH、次のコマンドに示すように、ポスト量子ハイブリッドキー交換メソッドを使用して、サンプル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でエンコードされたファイルを使用する

  • 置換 username SFTP ユーザー名

  • 置換 server-id Transfer Family サーバー ID を使用する

  • 置換 region-id Transfer Family サーバーがある実際のリージョン

で量子後のハイブリッドキー交換を確認する SFTP

Transfer Family SFTPへの 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セッションが正常に確立されたことを示します。