ハッシュの一方向性による保護(具体的なセキュリティレベル)
AMATELUSの逆引き耐性は、SHA3-512の原像攻撃コストに依存します。
計算コスト(量子脅威下):
- 原像攻撃の量子コスト: 256ビット
- NIST最小要件: 128ビット
- 結論: 十分安全(256 ≥ 128)
監査区分識別子のエントロピーの指数(ビット数の指数表現)
audit_section_entropy = 2^8 = 256 ビット 指数表現を使用することで、Leanの計算を軽量化しています。
Equations
Instances For
監査区分識別子のエントロピー(ビット数)
AMATELUSプロトコルでは、監査区分識別子(AuditSectionID)は 十分なエントロピーを持つ必要があります。
設定値: 2^8 = 256ビット
- セキュリティパラメータと同等以上のエントロピーを保証
- 総当たり攻撃に対する十分な保護: 2^256 の検索空間
- 実装例: 32バイトのランダムバイト列(SHA3-256のハッシュ値など)
安全性の根拠:
- 攻撃者が監査区分識別子を推測する確率: 1 / 2^256
ポスト量子暗号(PQC)での安全性:
- Groverのアルゴリズム適用後も 2^128 の検索空間
- 依然として十分な安全性を維持
Equations
Instances For
総当たり攻撃の計算コスト
エントロピーが十分大きい場合、総当たり攻撃には以下の計算量が必要です。
256ビットのエントロピーの場合:
- 古典計算機: 2^256 の試行
- 量子計算機: 2^128 の試行(Grover適用)
注意: これは探索空間のサイズに依存します。256ビットのエントロピーは、 量子脅威下でも128ビットの安全性を提供します。
Equations
- bruteForceSecurity entropy = { classicalBits := entropy, quantumBits := entropy / 2, grover_reduction := ⋯ }
Instances For
監査区分識別子のエントロピーがセキュリティパラメータ以上であることを保証
値:
- audit_section_entropy = 2^8 = 256
- securityParameter = 2^8 = 256
- したがって 2^8 ≥ 2^8 が成立(自明)
証明: 両方の値を256に展開し、反射性により証明されます。
監査区分ID未知時の総当たり攻撃の量子安全性
攻撃者が監査区分IDを知らない場合、総当たり攻撃には 量子計算機でも128ビットの計算量が必要です。
証明: brute_force_quantum_secureにより、256ビットエントロピーに対する 総当たり攻撃の量子コストは128ビットであり、NIST最小要件を満たす。
Theorem 6.1: 匿名ハッシュ識別子の逆引き耐性(量子安全性)
監査区分識別子と国民識別番号の両方を知らない攻撃者は、 量子計算機を用いても、AHIから国民識別番号を復元できません。
量子脅威下での安全性:
- 原像攻撃の量子コスト: 256ビット(ahi_one_way_protection_quantum_secure)
- 総当たり攻撃の量子コスト: 128ビット(Grover適用後)
- NIST最小要件: 128ビット
- 結論: 両方とも十分安全
AHI生成における入力の連結
Equations
- concatenateAHIInput auditID nationalID = auditID.value ++ nationalID.value
Instances For
ランダムオラクルモデルでの独立性(具体的なセキュリティレベル)
AMATELUSの監査区分間独立性は、SHA3-512のランダムオラクル性に依存します。
計算コスト(量子脅威下):
- RO識別攻撃の量子コスト: 256ビット
- NIST最小要件: 128ビット
- 結論: 十分安全(256 ≥ 128)
異なる監査区分IDは異なる連結入力を生成する
Theorem 6.2: 監査区分間の名寄せ防止(量子安全性)
異なる監査区分で生成された匿名ハッシュ識別子を関連付けることは、 量子計算機を用いても困難です。
量子脅威下での安全性:
- RO識別攻撃の量子コスト: 256ビット
- NIST最小要件: 128ビット
- 結論: 十分安全(256 ≥ 128)、2倍の安全性マージン
証明: SecurityAssumptions.hash_random_oracle_quantum_secureにより、 SHA3-512のRO識別攻撃の量子コストは256ビットであり、 NIST最小要件128ビットを満たす。
認可なし監査の計算コスト
認証情報を知らない攻撃者が、認可されていない監査を実行するには、 総当たり攻撃が必要です。
計算コスト:
- 古典計算機: 2^256 の試行(監査区分IDの探索空間)
- 量子計算機: 2^128 の試行(Grover適用)
注意: これは brute_force_quantum_secure と同等です。
Equations
アクセス制御突破の計算コスト
認証情報を知っていても、アクセス制御メカニズムを突破するには、 以下の計算量が必要です。
実装依存の安全性:
- 認証トークンの署名偽造: 128ビット(Dilithium2)
- セッションハイジャック: 128ビット(ナンスの一意性)
- その他の実装レベル攻撃: 最低128ビット
注意: これは実装レベルのセキュリティに依存します。 ポスト量子暗号の採用が必須です。
Equations
- accessControlBypassSecurity = { classicalBits := 256, quantumBits := 128, grover_reduction := accessControlBypassSecurity._proof_1 }
Instances For
制限された監査実行の量子安全性
認可されていない監査を実行するには、量子計算機でも128ビットの計算量が必要です。
証明: 認可されていない監査を実行するには、以下のいずれかが必要:
- 認証情報を知らずに監査を実行 → authorization_bypass_quantum_secure により128ビット
- アクセス制御を突破 → access_control_bypass_quantum_secure により128ビット
いずれの場合も、量子脅威下で最低128ビットの計算量が必要です。
プライバシー保護と監査可能性の両立
ハッシュ関数の衝突耐性(量子安全性)
異なる入力に対して同じハッシュ値を生成する(衝突を発見する)には、 量子計算機でも128ビットの計算量が必要です。
証明: SecurityAssumptions.amtHashFunction.quantum_secureにより、 SHA3-512の衝突探索の量子コストは128ビットであり、 NIST最小要件128ビットを満たす。
注意: この定理は、衝突が存在しないことを主張するのではなく、 衝突を発見することが計算量的に困難であることを主張します。
異なる監査区分での独立性(量子安全性)
異なる監査区分で同じ国民識別番号から生成されたAHIが 衝突する(同じになる)ことを発見するには、量子計算機でも128ビットの計算量が必要です。
量子脅威下での安全性:
- 衝突探索の量子コスト: 128ビット
- NIST最小要件: 128ビット
- 結論: 十分安全
証明: hash_collision_resistance_quantum_secureにより、 SHA3-512の衝突探索の量子コストは128ビットであり、 NIST最小要件128ビットを満たす。
注意: different_audit_different_inputにより、異なる監査区分は異なる入力を生成することが 保証されているため、衝突があるとすればハッシュ関数の衝突である。 したがって、この独立性はハッシュ関数の衝突耐性に完全に依存する。
監査ログの保護方式
監査ログの完全性を保証するための暗号学的保護方式です。
- digital_signature : AuditLogProtectionMethod
- hash_chain : AuditLogProtectionMethod
- merkle_tree : AuditLogProtectionMethod
Instances For
監査ログ改ざんの計算コスト
監査ログを検出されずに改ざんするには、以下の計算量が必要です。
実装方式に依存:
- デジタル署名方式: 署名偽造の困難性(128ビット、Dilithium2)
- ハッシュチェーン方式: 衝突発見の困難性(128ビット、SHA3-512)
- Merkle木方式: 同上(128ビット)
注意: いずれの方式も、ポスト量子暗号時代で最低128ビットの量子安全性を提供します。
Equations
- auditLogTamperSecurity = { classicalBits := 256, quantumBits := 128, grover_reduction := accessControlBypassSecurity._proof_1 }
Instances For
各保護方式のセキュリティレベル
すべての保護方式が同じセキュリティレベルを提供します。
Equations
Instances For
監査ログの暗号学的保護メカニズム
この構造体は、監査ログが暗号学的に保護されていることを表します。
保護方式:
- デジタル署名方式: 各ログエントリがデジタル署名される(例: Dilithium2)
- ハッシュチェーン方式: 各ログが前のログのハッシュを含む(例: SHA3-512)
- Merkle木方式: ログ全体が検証可能なデータ構造で保護される(例: SHA3-512ベース)
実装の前提条件:
correctly_implemented フィールドは、選択した保護方式が正しく実装されていることを
前提としています。これは実装者の責任であり、数学的証明の範囲外です。
使用例:
-- デジタル署名方式を使用する場合
def myAuditLogIntegrity : AuditLogIntegrity := {
method := .digital_signature
correctly_implemented := by <implementation proof>
}
- method : AuditLogProtectionMethod
- correctly_implemented : Prop
選択した保護方式が正しく実装されていることの前提
Instances For
監査ログの改ざん耐性(構造体バージョン)
AuditLogIntegrity が正しく実装されている場合、
攻撃者が検出されずにログを改ざんするには、量子計算機でも128ビットの計算量が必要です。
量子脅威下での安全性:
- 改ざん検出突破の量子コスト: 128ビット
- NIST最小要件: 128ビット
- 結論: 十分安全
証明の流れ:
integrity.correctly_implementedにより、選択した保護方式が正しく実装されているprotectionMethodSecurityにより、その保護方式は128ビットの量子安全性を提供- したがって、改ざんには128ビットの計算量が必要
監査ログの検証可能性(構造体バージョン)
AuditLogIntegrity が正しく実装されている場合、
攻撃者が検出されずにログを改ざんすることは計算量的に困難です。
量子脅威下での安全性:
- 改ざん検出突破の量子コスト: 128ビット
- NIST最小要件: 128ビット
- 結論: 十分安全
証明: audit_log_integrity_quantum_secureにより、以下のいずれの方式でも 量子計算機に対して128ビットの安全性を提供:
- デジタル署名方式: 署名偽造の困難性(Dilithium2)
- ハッシュチェーン方式: 衝突発見の困難性(SHA3-512)
- Merkle木方式: 同上
プロトコルの一般適用可能性