要点: CBOM Lens 1.1.0はCycloneDX 1.7の暗号レジストリを出力します。私たちが確認した限りでは、これに対応する最初のCBOM生成ツールです。また、Windowsレジストリ・スキャナーと完全オフラインのスキーマ検証も追加されました。

クローズド列挙型では、たった一つの誤った値で文書全体が無効になります。そのためCBOM Lensは、完全に見せるために推測するのではなく、証明できないものを省略します。

暗号部品表は、信頼できて初めて役に立ちます。たとえば、実際には別の楕円曲線を使っているサービスに対し、インベントリが誤った曲線を報告すれば、その上に構築した移行計画も誤ります。したがってCBOMツールについて重要なのは、どれだけ多く報告するかではなく、分からないときにどう振る舞うかです。

CycloneDX 1.7は、この問いをさらに厳密にしました。CycloneDXはalgorithmPropertiesに、レジストリで管理される2つのフィールド、algorithmFamilyとellipticCurveを追加しました。どちらもクローズド列挙型で、93のファミリーと246の曲線があります。語彙外の値が一つでもあると、文書品質が下がるのではなく、文書自体が無効になります。

CBOM Lens 1.1.0は両方のフィールドを出力します。私たちが確認できた範囲では、1.7暗号レジストリを出力する最初のCBOM生成ツールです。その根拠と、反証するための方法はリポジトリのレジストリ採用付録に記載されています。もしそれ以前の生成ツールをご存じなら、ぜひ教えてください。

レジストリが規律を変える理由

1.7以前は、アルゴリズムのファミリーと曲線は自由記述でした。生成ツールは何を書いてもスキーマ上は有効でした。そのため文書は簡単に生成できる一方、比較は困難でした。たとえば同じ鍵を、2つのツールが3通りに表現できてしまいます。

レジストリ管理フィールドは比較の問題を解決します。しかし同時に、間違いの代償を大きくします。スキャンした文字列をそのまま通す生成ツールは、いずれ語彙外の値を出力し、文書全体が検証に失敗します。

そのためCBOM Lensは完全なマッピング表を通して値を変換し、対応が見つからなければ省略します。未検証の値をそのまま通すことはありません。結果として、より大胆なツールなら値を表示する場所が空欄になる場合もありますが、それが正しいトレードオフだと考えています。

最も分かりやすい例は、推論でしか分からない曲線です。署名ダイジェストから推測した曲線や、同じポート上の別証明書から流用した曲線を考えてみてください。どちらももっともらしいですが、意図的にマッピングしません。推測は証拠ではありません。

ポスト量子アルゴリズムは「推測」ではなく「検出」する

同じ規律はポスト量子の報告にも適用されます。特にこの分野は、インベントリ・ツールが過剰に断言しやすい領域です。

CBOM Lensはオブジェクト識別子から6つのファミリーを認識します。ML-DSA(FIPS 204)、SLH-DSA(FIPS 205、全12パラメータセット)、ML-KEM(FIPS 203)、XMSS、XMSS-MT、HSS-LMSです。それぞれに、標準から転記した鍵サイズ、署名サイズ、NISTセキュリティカテゴリが付きます。出典もソースコード内で値のすぐ隣に記録されています。

2つの省略は、この原則が機能している例です。状態を持つハッシュベース署名には量子セキュリティ・レベルを付けません。SP 800-208がそのレベルを割り当てていないためです。またHQCとFN-DSAは、まだオブジェクト識別子が割り当てられていないため、検出したとは主張しません。報告すれば、存在しない検出を作り上げることになります。

権威ある情報源がない場合、値は発明せず省略します。

1.1.0で追加されたその他の変更

運用上重要な変更がさらに2つあります。

第1に、Windowsレジストリ・スキャナーです。ファイルシステム、コンテナ、ネットワークの各スキャナーはLinux環境を十分にカバーしていました。しかしWindowsの暗号設定は、ファイルではなくレジストリに保存されることがよくあります。これをスキャンすることで、混在環境の実際の可視性ギャップを埋められます。

第2に、検証が完全オフラインかつ厳格になりました。SPDXとJSFのサブスキーマを組み込んでいるため、ネットワーク接続なしで文書を検証できます。これはエアギャップ環境のスキャンで重要です。また、リモートスキーマに到達できず、検証が気づかないうちに弱くなる失敗モードもなくなります。

機能 詳細
スキャン対象 ファイルシステム、DockerまたはPodmanのコンテナイメージ、TLS/SSH検出付きnmapによるネットワークポート、そして新たにWindowsレジストリ
出力 CycloneDX CBOM 1.6または1.7。1.6は引き続きデフォルト兼互換フォーマット
相関 コンテンツベースのbom-ref識別子により、異なるソース間でも同じ資産を一致させる
運用モード 単発の手動実行、cronまたはISO-8601期間を使うタイマーモード、ILM Core管理のDiscovery
送信先 CBOM Repositoryへの任意アップロード、または別アプリケーションでの利用
1.1.0時点のCBOM Lensの機能。

1.7の選択は設定変更だけです。CBOMバージョンを1.7に設定してください。1.6がデフォルトのままなので、ツールをアップグレードしただけでは、明示的に指定するまで出力形式は変わりません。

ILMとの位置付け

CBOM Lensはインベントリを生成します。CBOM Repositoryはそれを保存・検索します。ILMはそれを利用します。インベントリは、そこに記載された証明書や鍵と結び付いて初めて、行動に移せる情報になるからです。

どちらのツールもオープンソースで、独立して動作します。CBOM Lensだけを使い、リポジトリへ送信し、プラットフォームの残りを使わなくても構いません。しかし組み合わせることで、インベントリは単なるレポートではなく意思決定を動かす情報になります。

この内容を公開する理由の一つは認知を広げること、もう一つは検証を歓迎することです。1.7レジストリは新しく、採用例もまだ少数です。クローズド列挙型は、慎重なツールには有利ですが、自信だけで値を出すツールには厳しい仕組みです。CBOM生成ツールを作っているなら、マッピング表や省略ルールについて議論する価値があります。


主なポイント

  • CBOM Lens 1.1.0は、CycloneDX 1.7暗号レジストリのalgorithmFamilyとellipticCurveフィールドを出力します。
  • 両フィールドは93ファミリーと246曲線のクローズド列挙型で、一つでも誤った値があると文書全体が無効になります。
  • 値は完全なマッピング表で変換し、対応がなければ省略します。推論した曲線は意図的にマッピングしません。
  • 6つのポスト量子ファミリーをOIDから認識し、標準の出典をソース内に記録しています。
  • 1.1.0ではWindowsレジストリ・スキャナーと、完全オフラインかつ厳格なスキーマ検証も追加されました。

ゼロから始める場合は、まず包括的な暗号資産インベントリの構築をご覧ください。続いてILMで構築できる10のことも参考になります。ガバナンス成熟度を広く見るには、PKI Maturity Modelをご覧ください。自社環境のスキャンについて質問がある場合は、お問い合わせください。