先日、NIST(米国国立標準技術研究所)は「ステートフルハッシュベース署名方式の推奨事項」と題した文書800-208を公開しました。
これらのアルゴリズムを使用した鍵生成と署名の方法について、非常に具体的に注意を要すると述べられています。
「本文書の鍵生成および署名アルゴリズムの実装は、ハードウェア暗号モジュール内での使用に対してのみ検証されるものとする。暗号モジュールはFIPS 140-2またはFIPS 140-3 [19] レベル3以上の物理的セキュリティを提供するよう検証され、運用環境は非修正可能または制限されたものとする。…暗号モジュールは秘密鍵素材のエクスポートを許可してはならない。実装で使用される承認済み乱数ビット生成器のエントロピー源は、暗号モジュールの物理的境界内に配置されなければならない。」
要約すると、LMSまたはXMSSの秘密鍵が生成されると、それは一つのインスタンスで存在している必要があります。コピーは認められません。バックアップさえもできません。その理由は、複数のインスタンスがあると秘密鍵の状態の誤用が発生する可能性があり、それは時として鍵ペアの失効が必要となる壊滅的な結果をもたらすためです。暗号成果物の形式を定義するLMSやXMSSの標準規定では、相互運用性をさらに妨げるために秘密鍵の形式を未定義のままにするほど徹底しています。
私たちは当初からその意味を理解していました。–enable-lmsまたは–enable-xmssフラグを使用すると、鍵生成、署名、検証の一連の操作が可能になります。これにより、お客様はHSMのベンダーを見つけるための不必要な長いプロセスを経ることなく、これらのアルゴリズムで迅速に実験、プロトタイプの作成、ベンチマークを開始できます。これらのアルゴリズムを本番環境で使用する段階になれば、コードサイズを削減し準拠を保証するために、以下のフラグを使用してバイナリから鍵生成と署名操作を除外できます。
–enable-lms=verify-only もしくは –enable-xmss=verify-only
ご質問がございましたら、ぜひ info@wolfssl.jp までお問い合わせください。
原文:https://www.wolfssl.com/special-rules-for-lms-and-xmss