
ゲッティイメージズ
マイクロソフトは、量子コンピュータからの攻撃に耐えられるように設計された 2 つの新しい暗号化アルゴリズムを備えた主要な暗号化ライブラリを更新しました。
先週、Windows および Linux で暗号化機能を処理するコア暗号化コード ライブラリである SymCrypt にアップデートが行われました。2006 年に開始されたこのライブラリは、開発者が作成するアプリで安全な暗号化、復号化、署名、検証、ハッシュ、およびキー交換を安全に実装するために使用できる操作とアルゴリズムを提供します。このライブラリは、一部の政府環境で使用される暗号化モジュールの連邦認証要件をサポートしています。
大規模な改修が進行中
名前に反して、SymCrypt は対称アルゴリズムと非対称アルゴリズムの両方をサポートしています。これは、Azure、Microsoft 365、サポートされているすべてのバージョンの Windows、Azure Stack HCI、Azure Linux などの製品やサービスで Microsoft が使用する主要な暗号化ライブラリです。このライブラリは、電子メール セキュリティ、クラウド ストレージ、Web ブラウジング、リモート アクセス、デバイス管理で使用される暗号化セキュリティを提供します。Microsoft は月曜日の投稿でこの更新について説明しました。
このアップデートは、量子コンピューターからの攻撃に対して脆弱ではない新しいアルゴリズム セットを組み込んだ暗号化プロトコルの大規模な見直しを実施する第一歩です。量子コンピューター攻撃に対して脆弱であることが知られているアルゴリズムには、RSA、楕円曲線、Diffie-Hellman などがあります。これらのアルゴリズムは数十年にわたって広く使用されており、正しく実装されていれば従来のコンピューターでは事実上解読不可能であると考えられています。
これらのアルゴリズムのセキュリティは、一方向では簡単に解けるが、逆方向ではほぼ不可能な数学的問題に基づいています。この難しさは、因数分解や暗号鍵の推測によって暗号化されたデータを解読しようとする攻撃者が、正しい組み合わせを見つけるまでに何兆もの組み合わせをランダムにテストしなければならないことを意味します。
量子コンピューティングは、これらの脆弱なアルゴリズムに基づいて、鍵を解読する新しいアプローチを可能にします。ショアのアルゴリズムとして知られるこのアプローチは、重ね合わせやエンタングルメントなど、今日の古典的なコンピューターでは不可能な量子物理学の特性に依存しています。ショアのアルゴリズムを現在実装できないということは、このアプローチがまだ理論上のものであることを意味しますが、ほとんどの、あるいはすべての暗号専門家は、十分な量子コンピューティング リソースがあれば、このアプローチは実用的になると考えています。
これらのリソースがいつ実用化されるかは正確には誰にもわかりません。推定では 5 年後から 50 年以上後までと幅があります。その場合でも、暗号化されたデータが一度にすべて解読されることはありません。現在の推定では、1,024 ビットまたは 2,048 ビットの RSA キーを解読するには、膨大なリソースを備えた量子コンピューターが必要になります。
具体的には、推定されるリソースは約 2,000 万量子ビットで、そのうち約 8 時間、重ね合わせ状態で実行されます。(量子ビットは量子コンピューティングの基本単位で、従来のコンピューティングにおけるバイナリ ビットに似ています。ただし、従来のバイナリ ビットは 0 や 1 などの単一のバイナリ値しか表せないのに対し、量子ビットは複数の可能な状態の重ね合わせで表されます。) 現在の量子コンピューターは、2022 年に 433 量子ビット、昨年は 1,000 量子ビットで最大になりました。
つまり、量子コンピューティングの規模が必要なレベルに達したとしても、各キーを個別に解読するには、長時間重ね合わせ状態で動作しなければならない非常に高価なマシンを使用する必要があります。このような微妙な違いが、量子コンピューターによる実用的な攻撃がいつ可能になるかについての予測が大きく異なる理由の 1 つです。
ポスト量子アルゴリズムは、ショアのアルゴリズムに対して脆弱ではない問題を使用して保護されています。その耐性は、量子コンピューターを備えた敵がこれらのアルゴリズムに基づく暗号キーを解読するには、依然として数兆回の推測が必要になることを意味します。
Microsoft が SymCrypt に追加した最初の新しいアルゴリズムは、ML-KEM と呼ばれています。以前は CRYSTALS-Kyber と呼ばれていた ML-KEM は、先月米国国立標準技術研究所 (NIST) によって公式化された 3 つの量子耐性標準の 1 つです。新しい名前の KEM は、キー カプセル化の略です。KEM は、2 つの当事者がパブリック チャネルを介して共有秘密をネゴシエートするために使用できます。KEM によって生成された共有秘密は、対称キー暗号化操作で使用できます。キーが十分なサイズであれば、Shor のアルゴリズムに対して脆弱ではありません。
ML-KEM の名前の ML は、エラー付きモジュール学習 (Module Learning with Errors) を意味し、ショアのアルゴリズムでは解読できない問題です。ここで説明されているように、この問題は「保証されたセキュリティと具体的な効率性の間の興味深いトレードオフを提供する格子ベース暗号化のコア計算仮定」に基づいています。
ML-KEM (正式には FIPS 203) は、ML-KEM-512、ML-KEM-768、ML-KEM-1024 として示される、セキュリティ強度が異なる 3 つのパラメータ セットを指定します。パラメータが強力であるほど、より多くの計算リソースが必要になります。
SymCrypt に追加されたもう 1 つのアルゴリズムは、NIST 推奨の XMSS です。これは eXtended Merkle Signature Scheme の略で、「ステートフル ハッシュ ベースの署名スキーム」に基づいています。これらのアルゴリズムは、ファームウェア署名などの非常に特殊なコンテキストでは役立ちますが、より一般的な用途には適していません。
月曜日の投稿によると、Microsoft は今後数か月以内に SymCrypt に新たなポスト量子アルゴリズムを追加する予定だという。そのアルゴリズムとは、以前は Dilithium と呼ばれていた格子ベースのデジタル署名方式 ML-DSA と、以前は SPHINCS+ と呼ばれていたステートレス ハッシュベースの署名方式 SLH-DSA である。どちらも先月 NIST 標準となり、正式には FIPS 204 および FIPS 205 と呼ばれている。