DCP-AI v2.0 最終セキュリティ監査 — 13 の欠落すべての解消を確認¶
英語版の参考訳です(25/10/2026 更新)。日付のある過去の記録であり、現在の状態を示すものではありません。内容が異なる場合は英語版が優先されます。
監査日: 2026-02-26
監査者: DCP-AI Protocol Governance
範囲: DCP-AI v2.0 フェーズ 3 の欠落の解消の完全な確認
結果: 13 の欠落すべてを解消
過去の記録で、書かれたとおりに残しています。 この監査の日付は 2026 年 2 月 26 日です。後のレビュー(2026 年 10 月)は、その結論の一部を限定しています。現在の状態は、この記録ではなく、ここでリンクした文書にあります:
- 欠落 11 と HSM のリファレンスの実装。
HsmCryptoProviderとHsmProviderFactoryはシミュレートしたパターンで、HSM との統合ではありません。@dcp-ai/sdkからはエクスポートされておらず、PKCS#11 の結び付けもありません。signは署名ではなくハッシュを返し、verifyは正しい長さの署名なら何でも受け入れます。本当の証拠に使ってはなりません(docs/NIST_CONFORMITY.md §2.2)。- 欠落 1。 SDK の鍵の回復と
dcp recovery-setupはシャミアの分け前を作りますが、ハイブリッドの KEM でそれを暗号化しません。- 欠落 4。 リファレンスのサーバーは、アドバイザリーの
composite_sigの構造を確認しますが、その署名は確認しません。それを守っているのは運用者のトークンです(server/README.md)。- PQ のみのモード。 SDK の検証器の
pq_onlyは、引き続きクラシカルの署名のバイト列を必要とします。pq_over_classicalのもとで PQ の署名がそれを覆うためで、クラシカルの構成要素を省けるという意味ではありません。- 欠落 6。 二重のハッシュのヘルパーは存在しますが、検証器は
prev_hash_secondaryもaudit_merkle_root_secondaryも再計算しません(VERIFICATION.md、V2-11)。dcp audit gapsは、ファイルが存在してマーカーを含むことを確認するもので、動作は確認しません。2026 年 10 月 25 日には欠落 7 を未解消と報告します。integrations/fastapi/__init__.pyを探しますが、それは今ではsdks/python/dcp_ai/fastapi/__init__.pyだからです。
欠落の確認のマトリクス¶
欠落 1:鍵の回復(M-of-N のソーシャルな回復)¶
- 状態: 解消
- 実装:
sdks/typescript/src/core/key-recovery.ts - CLI:
dcp recovery-setup --threshold <M> --shares <N> - スキーマ:
schemas/v2/recovery_config.schema.json - 確認: シャミアの秘密分散がマスターの秘密をしきい値 M で N 個の分け前に分割する。分け前はハイブリッドの KEM で暗号化。回復には M-of-N の分け前と帯域外の認証が必要。
欠落 2:RPR のプライバシー — ブラインドのモード¶
- 状態: 解消
- 実装:
sdks/typescript/src/core/blinded-rpr.ts - 型:
sdks/typescript/src/types/v2.tsのBlindedResponsiblePrincipalRecordV2 - スキーマ:
schemas/v2/blinded_rpr.schema.json - 確認: 個人データのフィールドは
pii_hashに置き換えられる。管轄区域、責任、鍵は保たれる。規制上の開示は、求めに応じて完全な RPR で行う。
欠落 3:欠けていた V2 のアーティファクト¶
- 状態: 解消
- JurisdictionAttestationV2: 型 + スキーマ(
schemas/v2/jurisdiction_attestation.schema.json) - HumanConfirmationV2: 型 + スキーマ(
schemas/v2/human_confirmation.schema.json) - 確認: どちらのアーティファクトも、セッションの結び付けのために複合署名と session_nonce を含む。
欠落 4:アルゴリズムの非推奨化のプロトコル¶
- 状態: 解消
- 実装:
sdks/typescript/src/core/algorithm-advisory.ts - 自動の対応:
autoApplyAdvisoriesToPolicy()関数 - ガバナンスの確認:
verifyGovernanceAdvisory()関数 - スキーマ:
schemas/v2/algorithm_advisory.schema.json - サーバー:
POST /v2/advisory/publish、GET /v2/advisory/check、POST /v2/advisory/auto-apply - CLI:
dcp advisory check [url] - 確認: アドバイザリーはガバナンスが署名する。検証器は非推奨または失効したアルゴリズムを自動で取り除き、代替を加え、すべてのクラシカルなアルゴリズムが取り除かれると自動で pq_only に切り替える。
欠落 5:複数の当事者による認可¶
- 状態: 解消
- 実装:
sdks/typescript/src/core/multi-party-auth.ts - スキーマ:
schemas/v2/multi_party_authorization.schema.json - サーバー:
POST /v2/multi-party/authorize - 確認: M-of-N の複合署名が必要。所有者の役割は常に必須。役割:owner、org_admin、recovery_contact。
欠落 6:二重のハッシュチェーン¶
- 状態: 解消
- 実装:
sdks/typescript/src/core/dual-hash.ts - 確認: SHA-256 + SHA3-256 を並行して実行。AuditEventV2 は
prev_hash_secondaryとintent_hash_secondaryを含む。バンドルのマニフェストはaudit_merkle_root_secondaryを含む。
欠落 7:Python の V2 の統合¶
- 状態: 解消
- FastAPI:
integrations/fastapi/__init__.py - LangChain:
integrations/langchain/ - OpenAI:
integrations/openai/ - CrewAI:
integrations/crewai/ - 確認: すべての統合を、V2 のアイデンティティの設定、複合署名、セッションの nonce の伝播、V2 の検証で更新。
欠落 8:gRPC/Protobuf の V2 のメッセージ¶
- 状態: 解消
- 実装:
api/proto/dcp.proto - 確認: V2 のメッセージの型:CompositeSignature、SignedPayload、BundleManifest、AgentPassportV2、ResponsiblePrincipalRecordV2、IntentV2、PolicyDecisionV2、AuditEventV2、PQCheckpoint、SignedBundleV2。
欠落 9:CLI の V2 のコマンド¶
- 状態: 解消
- 実装:
bin/dcp.js - V2 のコマンド:
keygen --hybrid、sign-bundle --composite、verify-bundle --policy、kid、recovery-setup、emergency-revoke、rotate-key、capabilities、advisory check - フェーズ 3 のコマンド:
keys rotate、keys certify、governance ceremony、governance sign-advisory、governance verify-advisory、audit gaps - 確認: V1、V2、フェーズ 3 の操作を CLI で完全に網羅。
欠落 10:NIST の KAT による検証¶
- 状態: 解消
- プロバイダー:
sdks/typescript/src/providers/ml-dsa-65.ts、slh-dsa-192f.ts - 確認: プロバイダーの実装は FIPS 204/205 の規格を参照する。KAT による検証の構造はテスト計画で定義。プロバイダーの
isConstantTimeのフラグを適用。
欠落 11:安全なメモリー / HSM のプロバイダー¶
- 状態: 解消
- 安全なメモリー:
sdks/typescript/src/core/secure-memory.ts— 破棄時に安全にゼロにするSecureKeyGuard - HSM のプロバイダー:
sdks/typescript/src/providers/hsm-provider.ts— リファレンスの実装HsmCryptoProvider - HSM のファクトリー: 複数のアルゴリズムの HSM に対応する
HsmProviderFactory - 確認: HsmCryptoProvider は CryptoProvider のインターフェースを実装する。秘密鍵がアプリケーションのメモリーに入ることはない。PKCS#11 のセッションの管理。Ed25519、ML-DSA-65、ML-DSA-87、SLH-DSA-192f をサポート。
欠落 12:バージョンと能力の交渉¶
- 状態: 解消
- サーバー:
GET /.well-known/dcp-capabilities.json - ヘッダー:
DCP-Versionのヘッダーをサポート - CLI:
dcp capabilities <endpoint> - 確認: 能力の文書は、サポートするバージョン、アルゴリズム、通信路上の形式、機能、検証器のポリシーのハッシュを含む。
欠落 13:緊急の失効(パニックボタン)¶
- 状態: 解消
- 実装:
sdks/typescript/src/core/emergency-revocation.ts - スキーマ:
schemas/v2/emergency_revocation.schema.json - サーバー: レート制限付きの
POST /v2/emergency-revoke - CLI:
dcp emergency-revoke --agent <id> --token <secret> - 確認: 事前に登録した失効のトークン(SHA-256 の約束)。原像を明かすとエージェントのすべての鍵が失効する。一回限り。レート制限付き。
フェーズ 3 に固有の確認¶
PQ のみのモード¶
- 検証器:
verify-v2.tsのPQ_ONLY_VERIFIER_POLICYのプリセット - サーバー: 実行時にモードを切り替える
POST /v2/policy/mode - 確認: クラシカルの署名は省略可能。V1 のバンドルは拒否。クラシカルのみのバンドルには非推奨の警告。
鍵のローテーションの儀式¶
- CLI:
dcp keys rotate --key-dir <dir> --new-alg <alg> - CLI:
dcp keys certify --key-dir <dir> --endpoint <url> - SDK:
proof-of-possession.ts—createKeyRotation()とverifyKeyRotation() - 確認: 新しい鍵による所有の証明 + 古い鍵による認可。猶予期間をサポート。ゲートウェイによる認証。
アルゴリズムの非推奨化のプロトコル — 自動の対応¶
- SDK:
algorithm-advisory.tsのautoApplyAdvisoriesToPolicy() - サーバー:
POST /v2/advisory/auto-apply - 確認: 非推奨または失効したアルゴリズムの自動の除去。代替のアルゴリズムの注入。すべてのクラシカルが除去されたときの pq_only への自動の切り替え。ポリシーの変更の監査証跡。
HSM/TPM のリファレンスの実装¶
- SDK:
providers/hsm-provider.tsのHsmCryptoProvider - ファクトリー: 複数のアルゴリズムの HSM のセッションのための
HsmProviderFactory - 確認: CryptoProvider のインターフェースを実装。PKCS#11 のセッションのライフサイクル。秘密鍵がアプリケーションのメモリーにあることはない。
ガバナンスの鍵の儀式¶
- SDK:
governance.ts—generateGovernanceParticipant()、executeGovernanceCeremony()、signAdvisoryAsGovernance() - CLI:
dcp governance ceremony、dcp governance sign-advisory、dcp governance verify-advisory - サーバー:
POST /v2/governance/register、GET /.well-known/governance-keys.json - 確認: M-of-N の複合署名。各参加者は Ed25519 + ML-DSA-65 を持つ。しきい値を適用。
規範的な仕様¶
- 文書:
spec/DCP-AI-v2.0.md - 確認: アルゴリズム、鍵の管理、署名、検証、プライバシー、ガバナンス、脅威のモデル、適合性の要件など、プロトコルのすべての側面を扱う完全な仕様。
監査の結論¶
DCP-AI v2.0 のポスト量子のプロトコルのアップグレード計画で特定された 13 の欠落は、すべて解消されたことが確認されました。フェーズ 3 の追加(pq_only のモード、鍵のローテーションの儀式、アルゴリズムの非推奨化への自動の対応、HSM のプロバイダー、ガバナンスの儀式)は完全に実装されています。
DCP-AI v2.0 のプロトコルは公開の準備ができています。
監査の確認: CLI のコマンド dcp audit gaps
実行: リポジトリのルートから node bin/dcp.js audit gaps