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

アーキテクチャ概要

適用対象:
PQC ScannerRustLinuxmacOSWindows

はじめに​

DuoKey PQCスキャナー は、高性能かつクロスプラットフォームな暗号資産の検出と分析のために Rust で構築された、包括的なポスト量子暗号(PQC)対応度評価ツールです。

ハイレベルアーキテクチャ​

PQC スキャナーアーキテクチャ

ポスト量子暗号の検出とリスク評価のための高性能な Rust CLI

Ffilesystem
Ddomain
Aagent
Nnetwork
Ssourcecode
Ccompliance
Wserve
Ici
Nservicenow
Bcbom
Clap 4.5Tokio Async10 個のサブコマンド
コマンドディスパッチ
▼

インフラストラクチャスキャナー

非同期 I/O
ファイルシステム
PEM, DER, JKS, PKCS#12
ドメイン / TLS
Rustls ハンドシェイクのキャプチャ
エージェント
システム全体のインベントリ
ネットワーク
パッシブなパケットキャプチャ
+
SCAN

高度なスキャナー

拡張可能
ソースコード
150 以上のルール、8 言語対応
クラウド KMS
AWS, Azure, GCP
SSH 鍵
ホスト鍵アルゴリズム
コンプライアンス
8 以上のフレームワーク
生の暗号データ
▼
パーサーレイヤー
PEM
x509-parser
DER
x509-parser
PKCS#12
x509-parser
Win Store
schannel
CBOM
serde
▼
暗号ディテクター
OID ルックアップによるアルゴリズム識別
RSAECDSADSAEd25519PQC
リスクスコアラー
7 要素の重み付け量子脆弱性スコア
P0
P1
P2
P3
P4
スコアリング済みの検出結果
▼
出力フォーマッター
{}
JSON
機械可読
Ym
YAML
人間可読
<>
HTML
ステークホルダー向けレポート
>>_
ターミナル
ANSI カラー出力
Cd
CycloneDX
CBOM 1.7 エクスポート
Sr
SARIF
CI/CD 統合
レポート生成
▼

PQC 対応状況評価

量子脆弱性スコアリングと移行ロードマップを含む完全な暗号インベントリ

検出+リスクスコア= 量子対応
単一バイナリ
プラットフォームごとのネイティブ実行ファイル、ランタイム依存なし
非同期ファースト
I/O には Tokio、CPU バウンドな処理には Rayon
OpenSSL ゼロ
Rustls によるピュア Rust の TLS、C 依存なし
モジュラースキャナー
各コマンドは独立しており拡張可能

アーキテクチャフロー​

1

CLI エントリポイント(Clap 4.5)

10 個のサブコマンド(filesystem、domain、agent、network、serve、ci、sourcecode、compliance、servicenow、cbom)のいずれかを解析します。入力を検証し、対応するスキャナーにディスパッチします。

2

スキャナーの実行

選択されたスキャナーが生の暗号データ(TLS ハンドシェイク、証明書ファイル、ソースコードパターン、クラウド KMS メタデータ、SSH ホスト鍵)を収集します。スキャナーは非同期 I/O に Tokio を、CPU 並列のファイル走査に Rayon を使用します。

3

パーサーレイヤー(PEM / DER / PKCS#12)

生データは、x509-parser および schannel クレートを使用して証明書メタデータ、鍵アルゴリズム、署名スキームを抽出する、形式固有のパーサーに渡されます。

4

リスクスコアリング(0〜10)

解析された各検出結果はリスクスコアラーを通過し、0 から 10 までの量子リスクスコアが割り当てられ、重大度レベル(Critical から Info まで)にマッピングされ、優先度(P0〜P4)が割り当てられ、推奨事項が生成されます。

5

出力の整形

スコアリングされた ScanResult は、選択された出力フォーマッター(JSON、YAML、HTML、ANSI ターミナル、または CycloneDX 1.7 CBOM)によってシリアライズされ、ファイルまたは標準出力に書き込まれます。

技術スタック​

Rust(stable、最新バージョン)

  • ガベージコレクションのないメモリ安全性
  • ゼロコスト抽象化
  • 恐れのない並行処理(fearless concurrency)
  • クロスプラットフォームサポート(Linux、macOS、Windows)

スキャナーは、それぞれが担う役割ごとにグループ化された、確立された一連の Rust ライブラリの上に構築されています。

領域ライブラリ目的
TLS と暗号rustls, x509-parser, der, pemピュア Rust の TLS 1.2/1.3、X.509 証明書解析、および DER/PEM デコード
非同期ランタイムtokioネットワークおよび並行スキャンのための非同期 I/O
CLI とシリアライゼーションclap, serde, serde_json, serde_yamlコマンドライン解析および JSON/YAML シリアライゼーション
ロギングとエラー処理tracing, tracing-subscriber, anyhow, thiserror構造化ロギング、および柔軟なアプリケーションおよびライブラリのエラー型
ファイルシステムと並列処理walkdir, rayonデータ並列処理を伴う再帰的ディレクトリ走査
ネットワークパケットキャプチャpcap, pnetlibpcap ベースのパケットキャプチャおよびパケット解析
進捗表示indicatif, ratatuiプログレスバー、およびネットワークモードで使用されるターミナル UI

モジュールアーキテクチャ​

スキャナーは、それぞれが焦点を絞った責務を持つ、明確に区分された機能領域に整理されています。

領域責務
CLIコマンドライン解析およびコマンドディスパッチ
Core暗号アルゴリズムの検出、量子リスクスコアリング、X.509 操作、および暗号アルゴリズムデータベース
Scanners4 つのスキャンモード(システムエージェント、ファイルシステム、TLS/ドメイン、ネットワークパケットキャプチャ)
ParsersJKS、PKCS#12、PEM、DER、および nginx/apache 設定ファイルの形式パーサー
Output出力フォーマッター(JSON、YAML、SARIF(CI/CD 向け)、およびターミナル)
Utilitiesロギング、エラー処理、および OS 固有のヘルパー

4つのスキャンモード​

スキャナーは、それぞれ特定の検出シナリオに最適化された 4 つの異なるモードで動作します。

量子リスクスコアリングアルゴリズム​

スキャナーは、複数の重み付けされた要因を、0 から 100 までの最終スコアにブレンドする多基準スコアリングシステムを使用し、そのスコアは優先度レベルにマッピングされます。要因とその重みは次のとおりです。

要因重み
量子リスク30%
ビジネスクリティカリティ25%
データ機密性20%
エクスポージャー10%
コンプライアンス10%
移行の複雑さ3%
移行コスト2%

結果として得られるスコアは、5 つの優先度レベルのいずれかにマッピングされます。

優先度意味推奨される対応
P0Critical即時対応が必要
P1High3 か月以内に対応
P2Medium6 か月以内に対応
P3Low12 か月以内に対応
P4Info監視

検出される脆弱なアルゴリズム

アルゴリズム鍵サイズ量子リスクスコア重大度
RSA< 2048-bit10/10Critical
RSA2048-bit8/10High
RSA3072-bit6/10Medium
RSA4096-bit4/10Medium
ECDSAP-2568/10High
ECDSAP-3847/10High
ECDSAP-5216/10Medium
DSAAny9/10Critical
3DESN/A10/10Critical
RC4N/A10/10Critical

出力形式​

スキャナーは、さまざまなユースケースに対応する複数の出力形式をサポートします。

デフォルトのマシン可読形式。各 JSON レポートには、スキャンメタデータ、検出結果のリスト、リスクサマリー、および推奨事項のセットが含まれます。

パフォーマンス特性​

スケーラビリティ

  • TLS エンドポイント: 1 時間あたり数千件をスキャン可能
  • ファイルシステム: 並列スキャンにより 10 万以上のファイルを効率的に処理
  • メモリ: 低メモリフットプリント(通常 <100MB)
  • CPU: 最適なパフォーマンスのためのマルチスレッド化

ベンチマーク

ファイルシステムスキャンは非常に効率的です。内部ベンチマークでは、スキャナーはおよそ 1,000 個の PEM 証明書を約 50 ミリ秒で処理します。

クロスプラットフォームサポート​

プラットフォームステータス備考
Linux完全サポート推奨プラットフォーム、全機能
macOS完全サポートIntel & Apple Silicon
Windows完全サポートWindows 10/11、Server 2019+

統合機能​

スキャナーはライブラリとして組み込むことができます。呼び出し側はスキャンを設定し(モード(例:domain)、ターゲット、出力形式を選択)、実行し、全体的な PQC 対応度スコアを含む結果を読み取ります。

セキュリティに関する考慮事項​

権限要件

モード必要な権限
エージェントモード完全なシステムアクセスには root/admin が必要
ネットワークモードCAP_NET_RAW または同等の権限が必要
ファイルシステムモード標準ユーザー権限で十分
ドメインモード標準ユーザー権限で十分

データ保護

重要

秘密鍵は決して抽出またはエクスポートされません。収集されるのはメタデータと公開情報のみです。すべてのネットワーク通信は暗号化されています(TLS 1.3)。すべての操作について監査ロギングが有効になっています。

次のステップ​