DuoKey PQC Scanner の概要
DuoKey PQC Scanner
Rust で構築された包括的なポスト量子暗号の準備状況評価ツール
はじめに
DuoKey PQC Scanner は、Rust で構築された高性能なポスト量子暗号 (PQC) の準備状況評価ツールです。ファイルシステムの証明書や TLS エンドポイントから、ソースコードリポジトリやクラウド KMS サービスまで、インフラストラクチャ全体にわたる包括的な暗号の検出と分析を提供します。
スキャナーは、優先度レベル (P0~P4) を持つ 0~10 のリスクスコアリングスケールを用いて量子脆弱性を評価し、CycloneDX 1.7 CBOM レポートを生成し、8 以上のフレームワーク (NIST、ISO 27001、PCI DSS、HIPAA、GDPR、FedRAMP、SOC 2) に対するコンプライアンスをチェックし、資産追跡とインシデント管理のために ServiceNow と直接統合します。

ポスト量子暗号 (PQC) とは、従来型コンピューターと量子コンピューターの両方による攻撃に対して安全であると考えられている暗号アルゴリズムを指します。2024 年 8 月、NIST は最初の PQC アルゴリズムのセットを標準化しました。
- ML-KEM (FIPS 203) - モジュール格子ベース鍵カプセル化メカニズム、旧称 CRYSTALS-Kyber
- ML-DSA (FIPS 204) - モジュール格子ベースデジタル署名アルゴリズム、旧称 CRYSTALS-Dilithium
- SLH-DSA (FIPS 205) - ステートレスハッシュベースデジタル署名アルゴリズム、旧称 SPHINCS+
CLI コマンド
スキャナーは dke-scanner-agent バイナリを介して 10 個のコマンドを公開します。
| コマンド | 目的 | 出力形式 |
|---|---|---|
| filesystem | ローカルディレクトリをスキャンして証明書、キーストア、鍵を検出 | JSON, YAML, HTML, Terminal |
| domain | リモート TLS/SSL エンドポイントと証明書チェーンを分析 | JSON, YAML, HTML, Terminal |
| agent | システム全体の暗号インベントリ (ファイルシステム + ドメイン + プロセス) | JSON, YAML, HTML, Terminal |
| sourcecode | 暗号使用パターンに関するソースコードの静的分析 | JSON |
| ci | SARIF 出力と重大度によるフェイル判定しきい値を備えた CI/CD モード | JSON, SARIF |
| compliance | スキャン結果をコンプライアンスフレームワークに対して検証 | JSON, HTML, PDF |
| cbom | 検出結果を CycloneDX 1.7 暗号部品表としてエクスポート | JSON |
| servicenow | 自動インシデント作成を伴い、スキャン結果を ServiceNow CMDB に公開 | HTTP API |
| serve | Web ダッシュボードと REST API サーバーを起動 | HTTP (port 3000) |
| network | TLS ハンドシェイク + PQ グループ検出のためのライブ pcap キャプチャと .pcap/.pcapng 分析 | JSON (feature-gated) |
ネットワークライブキャプチャおよびパケットキャプチャ (.pcap/.pcapng) 分析は機能ゲート付きであり、pcap ビルドフィーチャーが必要です。その他のすべてのコマンドは完全に実装されています。
スキャン機能
Cockpit の Run a Scan → ステップ 1 (ソース) から、何をスキャンするかを選択します。ソースは、Filesystem、Agent (ホストインベントリ)、Network (Domain/TLS、TLS Probe、Network Live、Packet Capture)、Code & Repos (Source Code、SSH Keys)、Cloud / Vault、SaaS / DevOps (JFrog Artifactory、Terraform IaC、Fortinet) にグループ化されています。

ファイルシステムスキャナー
- PEM、DER、PKCS#12/PFX、JKS/JCEKS 証明書
- 秘密鍵のアルゴリズムとサイズの検出
- Windows 証明書ストア (LocalMachine、CurrentUser)
- 設定可能な深さ、拡張子、除外設定
ドメインスキャナー
- Rustls による TLS ハンドシェイク (TLS 1.2/1.3)
- 完全な証明書チェーンの抽出
- 暗号スイートと鍵交換の検出
- WhoisXML API を介したサブドメイン検出
- オプションの PQ 鍵交換検出 (パケットキャプチャ)
ソースコードスキャナー
- 8 言語にわたる 150 以上の検出ルール
- Java、Python、Go、Rust、C#、TypeScript、JavaScript、C/C++
- GitHub、GitLab、Azure DevOps 統合
- CI/CD パイプライン向けの SARIF 出力
クラウドスキャナー
- AWS KMS 鍵インベントリとアルゴリズム分析
- Azure Key Vault の列挙
- GCP Cloud KMS メタデータの取得
- REST API ベース (SDK 依存関係なし)
リスクスコアリング
スキャナーは、優先度レベルを持つ 0~10 の量子リスクスケールを使用します。
| 優先度 | スコア | 重大度 | 対応期限 | 例 |
|---|---|---|---|---|
| P0 | 9.0-10.0 | Critical | 即時 | RSA <2048, DSA, 3DES, RC4 |
| P1 | 7.0-8.9 | High | 3 か月以内 | RSA-2048, ECDSA P-256, EdDSA |
| P2 | 5.0-6.9 | Medium | 6 か月以内 | RSA-3072 |
| P3 | 3.0-4.9 | Low | 12 か月以内 | RSA-4096 |
| P4 | 0-2.9 | Info | 監視 | ML-KEM, ML-DSA, SLH-DSA (PQC アルゴリズム) |
出力形式
| 形式 | フラグ | ユースケース |
|---|---|---|
| JSON | --format json | API 統合、自動化、プログラムによる処理 |
| YAML | --format yaml | 人間が読める設定とドキュメント |
| HTML | --format html | 埋め込み CSS を備えたインタラクティブなビジュアルレポート |
| Terminal | --format terminal | Unicode 罫線描画を備えた ANSI カラー出力 |
| SARIF | --format sarif | GitHub/GitLab セキュリティタブ (CI モードのみ) |
| CBOM | dke-scanner-agent cbom | CycloneDX 1.7 暗号部品表 |
コンプライアンスエンジン
8 以上の規制フレームワークに対する組み込みコンプライアンスチェック。
NIST 標準
- SP 800-52 (TLS ガイドライン)
- SP 800-131A (暗号標準)
- CNSA 2.0 (NSA PQC ガイダンス)
国際標準
- ISO 27001 / 27002
- ETSI Quantum-Safe
- BSI TR-02102 (ドイツの PQC 移行)
業界コンプライアンス
- PCI DSS v4.0
- HIPAA (米国ヘルスケア)
- GDPR (EU データ保護)
監査フレームワーク
- SOC 2 Type II
- FedRAMP
- カスタム PDF ベースのポリシー
ServiceNow 統合
一元的な資産追跡と自動インシデント管理のための ServiceNow との直接統合。
ServiceNow の機能
資産の公開
検出結果をカスタム CMDB テーブルにプッシュ
自動インシデント
P0/Critical の検出結果に対してインシデントを自動作成
認証
Basic 認証または OAuth Bearer トークン
アーキテクチャ
PQC Scanner は、Tokio 非同期ランタイム、TLS 用の Rustls、Web ダッシュボード用の Axum を備えたモジュラー Rust アーキテクチャ上に構築されています。
暗号検出エンジン
マルチプロトコルスキャンと詳細検査
プロトコルおよび暗号スイートの検出
暗号部品表(Cryptographic Bill of Materials)
脆弱な暗号関数の検出
X.509アルゴリズムおよび鍵サイズの分析
ファイルシステムおよびWindows証明書ストア
PQC対応度アナライザー
量子対応スコア(0~100)および資産ごとの優先順位付け
PQC対応度ダッシュボード
実行可能なインサイトと移行ロードマップ
自動検出
ネットワーク全体の暗号インベントリ
継続的モニタリング
リアルタイムの脆弱性追跡
コンプライアンスレポート
NIST、BSI PQC標準
移行トラッキング
進捗のモニタリングと検証
スキャナーパイプライン
Web ダッシュボード
dke-scanner-agent serve でポート 3000 のインタラクティブなダッシュボードを起動します。
ダッシュボードの機能
リアルタイム可視化
リスクスコアリングと分布チャートを備えたスキャン結果
認証
OIDC (Keycloak、Azure AD)、API キー (HMAC)、またはオープンモード
REST API
レート制限と CORS 設定を備えた完全な REST API
ユースケース
金融サービス
決済システムの量子リスク評価を伴う PCI DSS 4.0 コンプライアンス
ヘルスケア
PHI に対する「今収穫し、後で復号する」保護を伴う HIPAA コンプライアンス
エンタープライズ IT
レガシーシステム、クラウド KMS、ソースコードにわたる完全な暗号インベントリ
クラウドインフラストラクチャ
AWS KMS、Azure Key Vault、GCP Cloud KMS の量子耐性
政府と防衛
機密システムのための CNSA 2.0 および FedRAMP コンプライアンス
DevSecOps
SARIF 出力と重大度によるフェイル判定しきい値を備えた CI/CD 統合
システム要件
| コンポーネント | 最小 | 推奨 |
|---|---|---|
| オペレーティングシステム | Windows 10, Linux (Ubuntu 20.04+), macOS 11+ | Windows 11, Ubuntu 22.04+ |
| メモリ | 4GB RAM | 8GB RAM |
| ストレージ | 5GB の空き容量 | 10GB SSD |
| ネットワーク | スキャン対象への送信 HTTPS | 専用スキャンネットワーク |
| ビルド (ソースから) | Rust 1.70+ | Rust stable 最新版 |
現在の推定では、RSA-2048 および ECC P-256 を破ることができる大規模量子コンピューターは 2030 年代に出現する可能性があります。しかし、「今収穫し、後で復号する」攻撃は、長期利用される機密データにとってすでに懸念事項です。今日から PQC 評価を始めましょう!