2027年1月1日以降、新たに調達される国家安全保障システム(NSS)はすべて、デフォルトで CNSA 2.0 に準拠している必要があります。さらに、ソフトウェアとファームウェアの署名には、2030年までに CNSA 2.0 のアルゴリズムのみを使用しなければなりません。軍用アビオニクスは NSS に該当します。準備はできていますか?
しかも、機体は30〜50年にわたって運用されます。いま RSA-2048 で認証を取得した DAL A の Root of Trust は、耐量子暗号への移行期限について公表されているどの予測よりも長く使われ続けることになります。そして、大きなコストがかかるのは最初の認証ではなく、就航後の再認証です。再認証のコストを負担する余裕はありますか?
既に利用可能な耐量子暗号の検証専用ビルド
機上でのセキュアブートやフィールドローダブルソフトウェアの確認に必要な暗号処理は、署名検証だけです。鍵生成、署名、状態管理は地上側で行います。wolfCrypt は当初から、耐量子暗号の署名アルゴリズムについて検証専用ビルドをサポートしてきました。検証専用ビルドには、鍵生成、署名、DRBG、エントロピーソースのコードが一切含まれないため、これらは認証の対象からも外れます。
CNSA 2.0 推奨パラメータセットの LMS を、検証専用でビルドする場合:
./configure --enable-cryptonly --enable-lms=verify-only,sha256-192
これにより WOLFSSL_HAVE_LMS、WOLFSSL_LMS_VERIFY_ONLY、WOLFSSL_LMS_SHA256_192 が定義されます。多倍長整数演算も、棄却サンプリングも、上限のないループもありません。処理はハッシュ計算と Merkle パスの再計算だけです。認証を取得できる署名検証の実装としては、ほぼ最小の構成です。
ML-DSA-87 を検証専用とし、他のパラメータセットを除外してビルドする場合:
./configure --enable-cryptonly --enable-mldsa=verify-only,87
これにより WOLFSSL_HAVE_MLDSA、WOLFSSL_MLDSA_VERIFY_ONLY、WOLFSSL_NO_ML_DSA_44、WOLFSSL_NO_ML_DSA_65 が定義されます。ブート時の RAM に余裕がない場合は、CFLAGS に WOLFSSL_MLDSA_VERIFY_SMALL_MEM を追加してください。XMSS にも同様のオプションがあります。
KEM(鍵カプセル化メカニズム)については、WOLFSSL_MLKEM_NO_MAKE_KEY、WOLFSSL_MLKEM_NO_ENCAPSULATE、WOLFSSL_MLKEM_NO_DECAPSULATE で、鍵生成・カプセル化・デカプセル化を個別に無効化できます。また WOLFSSL_NO_ML_KEM_512 と WOLFSSL_NO_ML_KEM_768 を指定すれば、CNSA 2.0 で使用する ML-KEM-1024 だけを残せます。
CNSA 2.0 自体が、用途ごとにパラメータセットを1つに絞り込んだ仕様です。また NSA は、NIST の他の耐量子暗号標準をこのスイートに追加する予定はないと表明しています。そのため、認証の対象となるアルゴリズムの範囲は、型式証明が効力を持つ間は変わりません。
もし弊社製品についてご質問があれば、お問い合わせ窓口info@wolfssl.jpまでご連絡をお願い致します。
原文:https://www.wolfssl.com/trimming-wolfcrypt-to-pqc-for-do-178/
