メインコンテンツまでスキップ

CBOM - 暗号部品表

適用対象:
CycloneDX 1.7OWASPNISTPCI-DSSSOC2

概要​

CBOM(暗号部品表: Cryptography Bill of Materials)は、アプリケーションおよびインフラストラクチャ内のすべての暗号資産を文書化するための、専門的なインベントリ形式です。PQCスキャナーは、以下のことが可能な CycloneDX 1.7 準拠の CBOM ドキュメントを生成します。

CBOM の機能

セキュリティチームと共有監査人に標準化された暗号インベントリを提供
脆弱性管理へのインポート脆弱性管理システムと統合
コンプライアンスレポートNIST、PCI-DSS、SOC2 フレームワーク
量子対応度量子対応度移行を追跡
CI/CD パイプラインパイプラインで CBOM 生成を自動化

CBOM Explorer​

Cockpit では、CBOM Explorer が CycloneDX インベントリをインタラクティブな暗号資産グラフとしてレンダリングします。量子脆弱なプリミティブを分離し、コンポーネントの識別子(BOM-Ref、OID、鍵の種類/サイズ、形式)を検査し、破綻した各アルゴリズムに対する推奨移行を確認できます。

CBOM Explorer — インタラクティブな暗号資産グラフ

注記
各コンポーネントは、その量子エクスポージャー(例: ECDSA-256 の場合は Quantum-broken)と、「NIST FIPS 204/205 に従って ML-DSA(Dilithium)または SLH-DSA(SPHINCS+)に移行」などの推奨移行を表示します。

CycloneDX とは?​

CycloneDX は、ソフトウェア部品表(SBOM)のための OWASP 標準です。バージョン 1.7 では暗号資産のネイティブサポートが導入され、CBOM の事実上の標準となっています。

クイックスタート​

スキャン結果からの CBOM 生成​

# 1. Run a scan
dke-scanner-agent agent --output scan-results.json

# 2. Generate CBOM
dke-scanner-agent cbom --input scan-results.json \
--app-name "Payment API" \
--app-version "2.1.0" \
--output payment-api-cbom.json

CBOM サマリーの表示​

# Generate with pretty printing
dke-scanner-agent cbom -i scan.json --pretty

# Output shows:
# CBOM generated successfully!
# Input: scan.json
# Output: scan-cbom.json
# Components: 47
# Dependencies: 12

ユースケース​

セキュリティ監査 & コンプライアンス

年次セキュリティ監査およびコンプライアンスレポート向けに CBOM を生成

CI/CD 統合

デプロイパイプラインで CBOM 生成を自動化

量子対応度の追跡

従来型からポスト量子暗号への移行の進捗を追跡

ベンダーセキュリティ質問票

顧客のセキュリティレビュー向けに CBOM を生成

CLI リファレンス​

コマンド構文​

dke-scanner-agent cbom [OPTIONS] --input <FILE>

必須引数​

引数説明例
-i, --input <FILE>スキャン結果ファイル(JSON 形式)scan-results.json

オプション引数​

引数短縮形説明デフォルト
--output <FILE>-o出力 CBOM ファイルのパス<input>-cbom.json
--app-name <NAME>メタデータ用のアプリケーション名スキャンからのホスト名
--app-version <VER>アプリケーションバージョン"1.0"
--prettyJSON 出力を整形false

例​

基本的な CBOM 生成​

# Minimal command (auto-generate output name)
dke-scanner-agent cbom -i scan.json

# With custom output
dke-scanner-agent cbom -i scan.json -o crypto-inventory.json

# With pretty printing
dke-scanner-agent cbom -i scan.json --pretty

アプリケーションメタデータ付き​

# Specify application details
dke-scanner-agent cbom \
--input scan-results.json \
--app-name "E-Commerce Platform" \
--app-version "4.2.1" \
--output ecommerce-cbom.json \
--pretty

CI/CD パイプライン統合​

# GitLab CI example
dke-scanner-agent ci --source-path . --output scan.json
dke-scanner-agent cbom \
-i scan.json \
--app-name "${CI_PROJECT_NAME}" \
--app-version "${CI_COMMIT_SHA:0:8}" \
--output "${CI_PROJECT_NAME}-cbom.json"

CBOM の構造​

CycloneDX 1.7 形式​

{
"bomFormat": "CycloneDX",
"specVersion": "1.7",
"serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79",
"version": 1,
"metadata": {
"timestamp": "2025-01-29T14:30:52Z",
"component": {
"type": "application",
"name": "Payment API",
"version": "2.1.0"
}
},
"components": [
{
"type": "cryptographic-asset",
"bom-ref": "crypto-asset-1",
"name": "RSA-2048",
"version": "1.0",
"cryptoProperties": {
"assetType": "algorithm",
"algorithmProperties": {
"primitive": "asymmetric",
"parameterSetIdentifier": "2048",
"executionEnvironment": "software-plain-ram",
"implementationPlatform": "x86_64",
"certificationLevel": ["none"],
"mode": "PKCS1",
"padding": "OAEP",
"cryptoFunctions": ["encrypt", "decrypt", "sign", "verify"],
"classicalSecurityLevel": 112,
"nistQuantumSecurityLevel": 0
}
},
"properties": [
{
"name": "quantum:vulnerable",
"value": "true"
},
{
"name": "quantum:risk_score",
"value": "8.5"
}
]
}
]
}

資産タイプ​

スキャナーは、以下の暗号資産タイプの CBOM エントリを生成します。

CBOM 分析​

脆弱性データの抽出​

# Extract all quantum-vulnerable assets
jq '.components[] | select(.properties[] | select(.name == "quantum:vulnerable" and .value == "true")) | {name, type: .cryptoProperties.assetType}' crypto-bom.json

# Count assets by type
jq '.components | group_by(.cryptoProperties.assetType) | map({type: .[0].cryptoProperties.assetType, count: length})' crypto-bom.json

# Find high-risk algorithms (risk score > 7)
jq '.components[] | select(.properties[] | select(.name == "quantum:risk_score" and (.value | tonumber) > 7)) | .name' crypto-bom.json

コンプライアンスレポート​

# Generate NIST compliance report
jq '{
total_assets: .components | length,
quantum_vulnerable: [.components[] | select(.properties[] | select(.name == "quantum:vulnerable" and .value == "true"))] | length,
quantum_safe: [.components[] | select(.properties[] | select(.name == "quantum:vulnerable" and .value == "false"))] | length,
by_type: .components | group_by(.cryptoProperties.assetType) | map({type: .[0].cryptoProperties.assetType, count: length})
}' crypto-bom.json

統合の例​

CBOM の差分 & 変更追跡​

時間経過に伴う変更の追跡​

ベストプラクティス​

CBOM のベストプラクティス

CBOM をバージョン管理する

追跡にセマンティックバージョニングを使用

ソースコードとともに保存する

CBOM をコードベースの隣に保管

定期スキャンを自動化する

cron 経由で週次 CBOM 生成をスケジュール

リリースに含める

CBOM をリリース成果物に追加

標準 & コンプライアンス​

CycloneDX 1.7 仕様​

PQCスキャナーは、以下に準拠した CBOM を生成します。

  • OWASP CycloneDX 1.7 - 完全な仕様
  • NIST SSDF - セキュアソフトウェア開発フレームワーク
  • CISA SBOM ガイドライン - 重要インフラの要件
  • 大統領令 14028 - 国家のサイバーセキュリティの改善

暗号プロパティ標準​

CycloneDX 暗号拡張に準拠しています。

サポートされるセクション

アルゴリズムプロパティセクション 6.1
証明書プロパティセクション 6.2
関連暗号素材プロパティセクション 6.3
プロトコルプロパティセクション 6.4

トラブルシューティング​



サポート​

CBOM に関するヘルプが必要ですか?