最近、CNSA(Commercial National Security Algorithm)2.0スイートが注目を集めていることから、これまでの経緯と、それ以前のさまざまなスイートとの違いについて整理します。
機密指定されていない情報を保護するための暗号アルゴリズムスイートをNSAが初めて発表したのは2005年で、Suite Bと呼ばれていました。その目的は、ベンダーが米国連邦政府向けのセキュリティを提供するために、どのアルゴリズムを有効/無効にする必要があるかを明確にすることでした。このバージョンではAES、ECC、SHA2のみが許可されていました。
その後、2018年にCNSA 1.0スイートによって置き換えられ、RSAとDiffie-Hellmanが追加されましたが、DSAは含まれませんでした。
2022年にCNSA 2.0が発表されましたが、興味深いことに、指定されたアルゴリズムの大部分はまだ標準化されていませんでした。例えば、ML-DSAとML-KEMは2024年になってようやく標準化されました。2.0スイートの主な焦点は、ベンダーがポスト量子アルゴリズムへの移行を優先することを確実にすることです。
以下は、TLSとファームウェア/ソフトウェア署名のユースケースで指定されているアルゴリズムの一覧です:
ユースケース | Suite B | CNSA 1.0 | CNSA 2.0 |
ファームウェアとソフトウェアの署名(例:wolfBoot) | 該当なし | 該当なし | LMS or XMSS(ハイパーツリーを除く) |
TLS鍵確立 | ECDH with P-256 or P-384 | ECDH with P-384 or DH with 3072-bit modulus orRSA with 3072-bit mobulus | ML-KEM-1024 (FIPS-203) |
TLS認証 | ECDSA with P-256 or P-384 | ECDSA with P-384 orRSA with 3072-bit modulus | ML-DSA-87 (FIPS-204) |
TLS共通鍵暗号 | AES-128 or 256 in GCM mode | AES-256 in GCM mode | AES-256 in GMD mode |
TLSハッシュ | SHA-256 or SHA-384 | SHA-384 | SHA-384 |
wolfCryptは、Suite B、CNSA 1.0、そしてCNSA 2.0で指定されているすべてのアルゴリズムとパラメータセットの実装を提供しています。
https://wolfssl.jp/download/ から最新リリースのwolfSSLソースコードアーカイブをダウンロードしてお試しください。
関連する設定時のフラグは以下の通りです:
–enable-lms
–enable-xmss
–enable-kyber
–enable-dilithium
これらはすべて、セキュアブートのユースケースを満たすため、ベアメタル上でも安全に、かつサイドチャネル攻撃の緩和策を備えて実行できるよう、最大限のパフォーマンスを発揮するように特別に実装され最適化しています。
耐量子暗号にご興味がありましたら、2025/3/19に開催するはじめての耐量子暗号ウェビナーもぜひご参加ください。
ご質問がございましたら、ぜひ info@wolfssl.jp までお問い合わせください。
原文:https://www.wolfssl.com/suite-b-versus-cnsa-1-0-versus-cnsa-2-0