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は、従来の「楕円曲線ディフィー・ヘルマン(ECDH)」鍵交換アルゴリズムとCRYSTALS 「Kyber」の両方を使用するポスト量子ハイブリッドキー交換暗号スイートをサポートしています。Kyber は、「米国国立標準技術研究所 (NIST)」がポスト量子鍵合意アルゴリズムとして最初の標準ポスト量子鍵合意アルゴリズムとして指定した、ポスト量子公開鍵暗号化および鍵確立アルゴリズムです。

クライアントとサーバーは依然として ECDH 鍵交換を行います。さらに、サーバーはポスト量子共有シークレットをクライアントのポストクォンタム KEM 公開鍵にカプセル化します。この公開鍵は、クライアントの SSH 鍵交換メッセージでアドバタイズされます。この戦略では、従来の鍵交換の高い保証と、提案されているポスト量子鍵交換のセキュリティを組み合わせて、ECDH またはポスト量子共有秘密が破られない限りハンドシェイクが確実に保護されるようにします。

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

AWS は最近、 での SFTP ファイル転送におけるポスト量子キー交換のサポートを発表しました AWS Transfer Family。Transfer Family は、SFTP やその他のプロトコルを使用して、 AWS ストレージサービスへの business-to-business ファイル転送を安全にスケーリングします。SFTP は、SSH 上で動作するファイル転送プロトコル (FTP) のより安全なバージョンです。TransTransfer Family ilyのポスト量子キー交換サポートにより、SFTPを介したデータ転送のセキュリティレベルが引き上げられます。

Transfer Familyのポスト量子ハイブリッドキー交換SFTPサポートには、ポスト量子アルゴリズムのKyber-512、Kyber-768、Kyber-1024と、P256、P384、P521、またはCurve25519曲線上のECDHを組み合わせることが含まれます。「ポスト・クォンタム・ハイブリッド 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 は、一部の AWS API エンドポイントで TLS の Kyber を既にサポートしています。

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

新しい鍵交換方式(セクション TransferFamilyにおけるポスト量子ハイブリッド鍵確立の仕組み)は、草案が標準化に向けて進展したり、NIST が Kyber アルゴリズムを承認したりする際に変更されるかもしれません。

注記

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

ポスト量子ハイブリッドSSH鍵交換と暗号要件(FIPS 140)

FIPS コンプライアンスを必要とするお客様向けに、Transfer Family は FIPS 140 認定のオープンソース暗号化ライブラリ AWS-LC を使用して SSH で AWS FIPS 承認の暗号化を提供します。Transfer Family の TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04 でサポートされているポスト量子ハイブリッドキー交換方法は、NIST の SP 800-56Cr2 (セクション 2) に従って FIPS が承認されています。ドイツ連邦情報セキュリティ局(BSI)とフランスの国家情報システムセキュリティ庁(ANSSI)も、このようなポスト量子ハイブリッドキー交換方法を推奨しています。

Transfer Familyにおけるポスト量子ハイブリッドキー交換のテスト

このセクションでは、ポスト量子ハイブリッドキー交換をテストする手順について説明します。

  1. SFTP エンドポイントでポスト量子ハイブリッドキー交換を有効にします。.

  2. 前述の仕様草案のガイダンスに従って、ポスト量子ハイブリッドキー交換をサポートする SFTP クライアント (ポスト量子ハイブリッドキー交換をサポートする SFTP クライアントをセットアップします。 など) を使用してください。

  3. Transfer Family サーバーを使用してファイルを転送します。

  4. SFTP でのポスト量子ハイブリッドキー交換の確認.

SFTP エンドポイントでポスト量子ハイブリッドキー交換を有効にします。

SSHポリシーは、Transfer Familyで新しいSFTPサーバーエンドポイントを作成するとき、または既存のSFTPエンドポイントの暗号化アルゴリズムオプションを編集するときに選択できます。次のスナップショットは、SSH ポリシーを更新する AWS Management Console の例です。

暗号アルゴリズムオプションで選択されたポストクォンタムポリシーが表示されます。

ポスト量子キー交換をサポートする SSH ポリシー名は、TransferSecurityPolicy-PQ-SSH-Experimental-2023-04および TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04です。Transfer Familyポリシーの詳細については、AWS Transfer Family サーバーのセキュリティポリシー を参照してください。

ポスト量子ハイブリッドキー交換をサポートする SFTP クライアントをセットアップします。

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

OQS OpenSSH は OpenSSH のオープンソースフォークで、liboqs を使用して SSH に量子安全暗号化を追加します。liboqs は、耐量子暗号アルゴリズムを実装したオープンソースの C ライブラリです。OQS OpenSSH と liboqs はオープンクアンタムセーフ (OQS) プロジェクトの一部です。

Transfer Family SFTP で OQS OpenSSH を使用してポスト量子ハイブリッドキー交換をテストするには、プロジェクトの「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

先のコマンドで、以下の項目を自分の情報に置き換える:

  • ユーザー名_プライベートキー_PEM_ファイル」を SFTP ユーザーのプライベートキー PEM エンコードファイルに置き換えます。

  • username はインスタンスのユーザー名に置き換えます。

  • server-id」をTransfer Family サーバー ID に置き換えます

  • region-id」をトランスポート・ファミリ・サーバが存在する実際の地域に置き換えます

SFTP でのポスト量子ハイブリッドキー交換の確認

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