Wallet内の通信用DID管理情報
通信相手ごとの通信用DIDとVCのアソシエーション。
- commDID : ValidDID
- counterpartyDID : UnknownDID
Instances For
Equations
プロトコル状態を表す構造体
AHI (Anonymous Hash Identifier) について:
ahisフィールドはオプショナルな機能を表します。
空リスト
[]でも問題ありません: 監査が不要なサービスや、個人番号制度がない国ではahis = []で運用されます。AHIが必要な場合:
- IssuerまたはVerifierが監査機能を要求する場合
- 多重アカウント防止が必要なサービス(SNS、チケット販売等)
- 個人番号制度(マイナンバー、SSN等)が存在する国・地域
個人番号制度がない国でもプロトコルは機能します: AHI機能を使用せず、通常のDID、VC、ZKPのみで完全に動作します。
Wallet通信管理について:
walletRecordsフィールドは、各通信相手ごとに保存された通信用DIDの情報。
これにより、以下が実現される:
- VC発行ありの場合: 通信用DIDをWalletに保存、通信相手DIDと紐づけ
- VC発行なしの場合: 通信終了と同時に破棄(walletRecordsに追加されない)
- ログイン時: 保存された通信相手DIDと通信用DIDで認証継続
- dids : List UnknownDID
- zkps : List UnknownZKP
- ahis : List AnonymousHashIdentifier
- walletRecords : List WalletCommunicationRecord
Instances For
プロトコルのプライバシー(暗号強度依存)
AMATELUSのプライバシー保護は、SHA3-512の衝突探索コストに依存します。
計算コスト(量子脅威下):
- 衝突探索の量子コスト: 128ビット
- NIST最小要件: 128ビット
- 結論: 十分安全(128 ≥ 128)
数学的表現: 異なるDIDを名寄せする(関連付ける)には、ハッシュ関数の衝突を発見する必要があります。 これは量子計算機でも2^128の計算量が必要であり、実用的に不可能です。
注意:
- 名寄せが「困難」ではなく、「確率的に発生しない」(計算量的に困難)
- 具体的な計算コスト(128ビット)に基づく安全性
Equations
- One or more equations did not get rendered due to their size.
Instances For
プロトコルの監査可能性
重要な性質:
この述語は state.ahis = [] の場合、常に真(vacuously true) です。
数学的には、空リストに対する全称量化 ∀ ahi ∈ [] は自明に真となります。
設計の意図:
- AHI機能を使用しないサービスでも
Auditabilityは満たされます - 個人番号制度がない国でもプロトコルの安全性が保証されます
- AHI機能はオプショナルであり、監査が必要なサービスでのみ使用されます
具体例:
state.ahis = []→Auditability state = True(監査機能未使用)state.ahis = [ahi1, ahi2]→ 各AHIについて監査可能性をチェック
Equations
- Auditability state = ∀ (ahi : AnonymousHashIdentifier), ahi ∈ state.ahis → True
Instances For
セキュリティ不変条件
Equations
- SecurityInvariant state = (Integrity state ∧ Privacy state ∧ Auditability state)
Instances For
状態遷移の種類
AuditExecution について:
AuditExecution 遷移はオプショナルです。
使用される場合:
- 監査が必要なサービスを提供するIssuerまたはVerifier
- 多重アカウント防止を要求するサービス(SNS、チケット販売等)
- 個人番号制度が存在する国・地域
使用されない場合:
- 通常のDID、VC、ZKPのみで運用されるサービス
- 個人番号制度がない国・地域の市民
- 監査機能を必要としないサービス
重要: AuditExecution 遷移を一切使用しなくても、 他の3つの遷移(DIDGeneration、VCIssuance、ZKPGeneration)により AMATELUSプロトコルは完全に機能します。
- DIDGeneration : UnknownDIDDocument → StateTransition
- VCIssuance : UnknownVC → StateTransition
- ZKPGeneration : UnknownZKP → StateTransition
- AuditExecution : AnonymousHashIdentifier → StateTransition
Instances For
有効な状態遷移の性質を定義
各遷移タイプに応じて、状態がどのように変化するかを定義します。
暗号学的安全性の前提: 遷移が有効であるためには、追加される要素が暗号学的に有効である必要があります。
Equations
- One or more equations did not get rendered due to their size.
- ValidTransition s₁ s₂ (StateTransition.DIDGeneration _doc) = (s₂.vcs = s₁.vcs ∧ s₂.zkps = s₁.zkps ∧ s₂.ahis = s₁.ahis ∧ s₂.walletRecords = s₁.walletRecords)
Instances For
Theorem: DID生成遷移がセキュリティ不変条件を保持する(暗号強度依存)
暗号学的安全性の依存: この定理の安全性は、SHA3-512の衝突発見の計算コストに依存します。
- 量子計算機での衝突探索コスト: 128ビット(Grover適用後)
- NIST最小要件: 128ビット
証明の構造:
- DID生成は既存のVCやZKPに影響を与えない(状態の独立性)
- 新しいDIDが既存のDIDと衝突する確率は、did_collision_quantum_secureにより 量子計算機でも2^128の計算量が必要であり、実用的に無視できる
- したがって、DID生成は既存のIntegrity、Privacy、Auditabilityを保持する
重要: DIDに「改ざん耐性がある」という幻想ではなく、 「衝突発見が暗号学的に困難」であることに依存しています。
Theorem: VC発行遷移がセキュリティ不変条件を保持する(暗号強度依存)
暗号学的安全性の依存: この定理の安全性は、署名方式の偽造困難性に依存します。
- 量子計算機での署名偽造コスト: 128ビット(Dilithium2、NIST Level 2)
- NIST最小要件: 128ビット
証明の構造:
- VC発行は既存のDID、ZKP、AHIに影響を与えない(状態の独立性)
- ValidTransitionにより、追加されるVCは暗号学的に有効(署名が正当)
- vc_signature_forgery_quantum_secureにより、署名偽造は量子計算機でも 2^128の計算量が必要であり、実用的に不可能
- したがって、VC発行は既存のIntegrity、Privacy、Auditabilityを保持する
重要: VCに「絶対的な安全性がある」という幻想ではなく、 「署名偽造が暗号学的に困難」であることに依存しています。
Theorem: ZKP生成遷移がセキュリティ不変条件を保持する(暗号強度依存)
暗号学的安全性の依存: この定理の安全性は、ZKPの零知識性(証明の識別困難性)に依存します。
- 量子計算機での証明識別コスト: 128ビット(STARKs)
- NIST最小要件: 128ビット
証明の構造:
- ZKP生成は既存のDID、VC、AHIに影響を与えない(状態の独立性)
- ValidTransitionにより、追加されるZKPは暗号学的に有効(検証に成功する)
- amtZKP_zeroKnowledge_quantum_secureにより、証明の識別は量子計算機でも 2^128の計算量が必要であり、零知識性が保証される
- したがって、ZKP生成は既存のIntegrity、Privacy、Auditabilityを保持する
重要: ZKPに「完全な零知識性がある」という幻想ではなく、 「証明の識別が暗号学的に困難」であることに依存しています。
Theorem: 監査実行遷移がセキュリティ不変条件を保持する(暗号強度依存)
暗号学的安全性の依存: この定理の安全性は、SHA3-512のハッシュ関数の原像攻撃の困難性に依存します。
- 量子計算機での原像攻撃コスト: 256ビット(Grover適用後)
- NIST最小要件: 128ビット
証明の構造:
- 監査実行は既存のDID、VC、ZKPに影響を与えない(状態の独立性)
- ValidTransitionにより、追加されるAHIは適切に生成されている (ハッシュ関数 H(AuditSectionID || NationalID) から生成)
- hash_preimage_quantum_secureにより、AHIから元のNationalIDを復元する 原像攻撃は量子計算機でも2^256の計算量が必要であり、実用的に不可能
- したがって、監査実行は既存のIntegrity、Privacy、Auditabilityを保持する
重要: AHIに「完全な匿名性がある」という幻想ではなく、 「原像攻撃が暗号学的に困難」であることに依存しています。 監査は適切に認可された主体のみが実行できるという前提(Theorem 6.1, 6.2)も重要です。
Theorem 7.1: 状態遷移の安全性 すべての正当な状態遷移はセキュリティ不変条件を保持する
Proof: 帰納法による。各遷移タイプについて証明:
- DIDGeneration: did_generation_preserves_securityより
- VCIssuance: vc_issuance_preserves_securityより
- ZKPGeneration: zkp_generation_preserves_securityより
- AuditExecution: audit_execution_preserves_securityより
Theorem 7.2: AHI機能なしでもプロトコルは安全に機能する
この定理は、AHI機能を使用しない場合(state.ahis = [])でも、
プロトコルのセキュリティ不変条件が満たされることを証明します。
数学的証明:
Auditability stateは∀ ahi ∈ state.ahis, Trueで定義されるstate.ahis = []の場合、∀ ahi ∈ []は空の全称量化- 空の全称量化は常に真(vacuously true)
- したがって
Auditability { ...| ahis := [] } = True IntegrityとPrivacyはahisに依存しない- よって
SecurityInvariantが満たされる
実用的意味:
- 個人番号制度がない国でもAMATELUSは完全に機能する
- 監査機能を要求しないサービスでも安全性が保証される
- AHI機能は完全にオプショナルである
Corollary: AHIなしの状態もセキュリティ不変条件を保持できる
これにより、AHI機能を一切使用しないシステムでも、 AMATELUSプロトコルの安全性が保証されることが形式的に証明される。
脆弱性の種類
- CryptographicStrength : VulnerabilityType
- ZKP_ComputationalComplexity : VulnerabilityType
- ResourceConstraintViolation : VulnerabilityType
Instances For
プロトコルの脆弱性述語
Equations
Instances For
Theorem 7.3: 脆弱性の完全性 AMATELUSプロトコルの脆弱性は特定の要素に限定される
プロトコルロジック自体には脆弱性が存在しない
事前計算の実現可能性
Equations
- PrecomputationFeasible req constraints = (req.storagePrecomp ≤ constraints.storageAvailable ∧ req.computationPrecomp ≤ constraints.computationAvailable ∧ req.timePrecomp ≤ constraints.timeIdle)
Instances For
リアルタイムナンス結合の実現可能性
Equations
- RealtimeFeasible req expectedTime epsilon = (req.timeRealtimeNonce ≤ expectedTime + epsilon)
Instances For
Theorem 8.1: ZKP生成の実現可能性条件 AMATELUSプロトコルの実用的実現可能性は明確な条件に依存する
事前計算段階の特性
リアルタイム段階の特性
Availability攻撃への耐性
注意: 新しい設計では、ValidDIDDocument(所有権検証済み)の場合のみ DID解決の独立性が保証されます。
プロトコル全体の安全性