Suite B・CNSA 1.0・CNSA 2.0の違い

最近、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 BCNSA 1.0CNSA 2.0
ファームウェアとソフトウェアの署名(例:wolfBoot)該当なし該当なしLMS or XMSS(ハイパーツリーを除く)
TLS鍵確立ECDH with P-256 or P-384ECDH with P-384 or DH with 3072-bit modulus orRSA with 3072-bit mobulusML-KEM-1024 (FIPS-203)
TLS認証ECDSA with P-256 or P-384ECDSA with P-384 orRSA with 3072-bit modulusML-DSA-87 (FIPS-204)
TLS共通鍵暗号AES-128 or 256 in GCM modeAES-256 in GCM modeAES-256 in GMD mode
TLSハッシュSHA-256 or SHA-384SHA-384SHA-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