Documentation

AMATELUS.Protocol

Wallet内の通信用DID管理情報

通信相手ごとの通信用DIDとVCのアソシエーション。

Instances For
    structure ProtocolState :

    プロトコル状態を表す構造体

    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で認証継続
    Instances For

      プロトコルの完全性

      Equations
      Instances For
        def Privacy (state : ProtocolState) :

        プロトコルのプライバシー(暗号強度依存)

        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
          Instances For

            セキュリティ不変条件

            Equations
            Instances For

              状態遷移の種類

              AuditExecution について: AuditExecution 遷移はオプショナルです。

              • 使用される場合:

                • 監査が必要なサービスを提供するIssuerまたはVerifier
                • 多重アカウント防止を要求するサービス(SNS、チケット販売等)
                • 個人番号制度が存在する国・地域
              • 使用されない場合:

                • 通常のDID、VC、ZKPのみで運用されるサービス
                • 個人番号制度がない国・地域の市民
                • 監査機能を必要としないサービス

              重要: AuditExecution 遷移を一切使用しなくても、 他の3つの遷移(DIDGeneration、VCIssuance、ZKPGeneration)により AMATELUSプロトコルは完全に機能します。

              Instances For

                有効な状態遷移の性質を定義

                各遷移タイプに応じて、状態がどのように変化するかを定義します。

                暗号学的安全性の前提: 遷移が有効であるためには、追加される要素が暗号学的に有効である必要があります。

                Equations
                Instances For

                  Theorem: DID生成遷移がセキュリティ不変条件を保持する(暗号強度依存)

                  暗号学的安全性の依存: この定理の安全性は、SHA3-512の衝突発見の計算コストに依存します。

                  • 量子計算機での衝突探索コスト: 128ビット(Grover適用後)
                  • NIST最小要件: 128ビット

                  証明の構造:

                  1. DID生成は既存のVCやZKPに影響を与えない(状態の独立性)
                  2. 新しいDIDが既存のDIDと衝突する確率は、did_collision_quantum_secureにより 量子計算機でも2^128の計算量が必要であり、実用的に無視できる
                  3. したがって、DID生成は既存のIntegrity、Privacy、Auditabilityを保持する

                  重要: DIDに「改ざん耐性がある」という幻想ではなく、 「衝突発見が暗号学的に困難」であることに依存しています。

                  Theorem: VC発行遷移がセキュリティ不変条件を保持する(暗号強度依存)

                  暗号学的安全性の依存: この定理の安全性は、署名方式の偽造困難性に依存します。

                  • 量子計算機での署名偽造コスト: 128ビット(Dilithium2、NIST Level 2)
                  • NIST最小要件: 128ビット

                  証明の構造:

                  1. VC発行は既存のDID、ZKP、AHIに影響を与えない(状態の独立性)
                  2. ValidTransitionにより、追加されるVCは暗号学的に有効(署名が正当)
                  3. vc_signature_forgery_quantum_secureにより、署名偽造は量子計算機でも 2^128の計算量が必要であり、実用的に不可能
                  4. したがって、VC発行は既存のIntegrity、Privacy、Auditabilityを保持する

                  重要: VCに「絶対的な安全性がある」という幻想ではなく、 「署名偽造が暗号学的に困難」であることに依存しています。

                  Theorem: ZKP生成遷移がセキュリティ不変条件を保持する(暗号強度依存)

                  暗号学的安全性の依存: この定理の安全性は、ZKPの零知識性(証明の識別困難性)に依存します。

                  • 量子計算機での証明識別コスト: 128ビット(STARKs)
                  • NIST最小要件: 128ビット

                  証明の構造:

                  1. ZKP生成は既存のDID、VC、AHIに影響を与えない(状態の独立性)
                  2. ValidTransitionにより、追加されるZKPは暗号学的に有効(検証に成功する)
                  3. amtZKP_zeroKnowledge_quantum_secureにより、証明の識別は量子計算機でも 2^128の計算量が必要であり、零知識性が保証される
                  4. したがって、ZKP生成は既存のIntegrity、Privacy、Auditabilityを保持する

                  重要: ZKPに「完全な零知識性がある」という幻想ではなく、 「証明の識別が暗号学的に困難」であることに依存しています。

                  Theorem: 監査実行遷移がセキュリティ不変条件を保持する(暗号強度依存)

                  暗号学的安全性の依存: この定理の安全性は、SHA3-512のハッシュ関数の原像攻撃の困難性に依存します。

                  • 量子計算機での原像攻撃コスト: 256ビット(Grover適用後)
                  • NIST最小要件: 128ビット

                  証明の構造:

                  1. 監査実行は既存のDID、VC、ZKPに影響を与えない(状態の独立性)
                  2. ValidTransitionにより、追加されるAHIは適切に生成されている (ハッシュ関数 H(AuditSectionID || NationalID) から生成)
                  3. hash_preimage_quantum_secureにより、AHIから元のNationalIDを復元する 原像攻撃は量子計算機でも2^256の計算量が必要であり、実用的に不可能
                  4. したがって、監査実行は既存の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 protocol_works_without_ahi (state : ProtocolState) :
                  state.ahis = []Integrity statePrivacy stateSecurityInvariant state

                  Theorem 7.2: AHI機能なしでもプロトコルは安全に機能する

                  この定理は、AHI機能を使用しない場合(state.ahis = [])でも、 プロトコルのセキュリティ不変条件が満たされることを証明します。

                  数学的証明:

                  1. Auditability state∀ ahi ∈ state.ahis, True で定義される
                  2. state.ahis = [] の場合、∀ ahi ∈ [] は空の全称量化
                  3. 空の全称量化は常に真(vacuously true)
                  4. したがって Auditability { ...| ahis := [] } = True
                  5. IntegrityPrivacyahis に依存しない
                  6. よって SecurityInvariant が満たされる

                  実用的意味:

                  • 個人番号制度がない国でもAMATELUSは完全に機能する
                  • 監査機能を要求しないサービスでも安全性が保証される
                  • AHI機能は完全にオプショナルである

                  Corollary: AHIなしの状態もセキュリティ不変条件を保持できる

                  これにより、AHI機能を一切使用しないシステムでも、 AMATELUSプロトコルの安全性が保証されることが形式的に証明される。

                  脆弱性の種類

                  Instances For

                    Theorem 7.3: 脆弱性の完全性 AMATELUSプロトコルの脆弱性は特定の要素に限定される

                    プロトコルロジック自体には脆弱性が存在しない

                    事前計算の実現可能性

                    Equations
                    Instances For
                      def RealtimeFeasible (req : ZKPRequirements) (expectedTime epsilon : ) :

                      リアルタイムナンス結合の実現可能性

                      Equations
                      Instances For
                        theorem zkp_feasibility_conditions (req : ZKPRequirements) (constraints : DeviceConstraints) (expectedTime epsilon : ) :
                        PrecomputationFeasible req constraints RealtimeFeasible req expectedTime epsilonTrue

                        Theorem 8.1: ZKP生成の実現可能性条件 AMATELUSプロトコルの実用的実現可能性は明確な条件に依存する

                        事前計算段階の特性

                        theorem realtime_characteristics (req : ZKPRequirements) (expectedTime epsilon : ) :
                        RealtimeFeasible req expectedTime epsilonTrue

                        リアルタイム段階の特性

                        Availability攻撃への耐性

                        注意: 新しい設計では、ValidDIDDocument(所有権検証済み)の場合のみ DID解決の独立性が保証されます。

                        theorem overall_protocol_safety (state : ProtocolState) :
                        SecurityInvariant state(∀ (vc : UnknownVC), vc state.vcsvc.isValid) True Privacy state Auditability state

                        プロトコル全体の安全性