概率CSP的计算可靠分析
1. 模型引入与基础概念
为了在模型中真实地表达某种情况,可以引入一个特殊的参与方,作为其他主体之间的“缓冲区”。它的唯一功能是在其他主体之间转发收到的消息,同时也会将所有收到的消息转发给对手。这种方法的优点是可以明确地讨论这个“缓冲区主体”的“策略”。
在分析中,我们使用概率交替时间时态逻辑(pATL∗),它是在交替时间时态逻辑(ATL∗)的基础上扩展了概率运算符。下面介绍相关的基础定义:
-
概率博弈结构(PGS)
:一个概率博弈结构是一个6元组 (G = (PR, Q, Δ, δ, Π, PV)),各部分含义如下:
- (PR) 是一个有限的主体集合。
- (Q) 是(可能无限的)状态集合。
- (PV) 是一个有限的命题变量集合。
- (\Pi : PV \to 2^Q) 是一个命题真值赋值。
- (\Delta) 是一个移动函数,为每个状态 (q) 和主体 (a \in PR) 分配一组移动 (\Delta(q, a))。
- (\delta) 是一个概率转移函数,对于一个状态和一个移动,(\delta) 指定了可能的后继状态上的概率分布。
要求对于每个 (q \in Q),最多有一个主体 (a \in PR) 使得 (\Delta(q, a) \neq \varnothing),这个唯一的主体 (a) 记为 (Pr(q))。并且对于所有 (q \in Q) 和 (m \in \Delta(q, Pr(q))),(\delta(q, m) \in Q),(\delta(q, m)) 的支持集(即 ({q’ \in Q | prob(\delta(q, m) = q’) > 0}))必须是有限的。如果 (Pr(q)) 未定义,即对于所有 (a \in PR) 都有 (\Delta(q, a) = \varnothing),则称状态 (q) 是最终状态。
-
策略
:
- 对于主体 (a \in PR) 的策略 (s) 是一个函数,使得对于所有 (q \in Q),如果 (Pr(q) = a),则 (s(q) \in \Delta(q, a))。
- 对于 (A \subseteq PR) 的策略是一个集合 (S_A = {s_a | a \in A}),其中对于每个 (a \in A),(s_a) 是 (a) 的策略。
策略只依赖于当前状态,而不依赖于计算历史。历史感知的策略可以类似地定义。设 (S_{PR} = {S_a | a \in PR}) 是 (PR) 的一个策略,(P = p_0p_1p_2 \cdots) 是一条路径(即 (G) 中状态的(可能无限的)序列)。定义 (|P|) 为 (P) 中状态的数量(可能为 (\infty)),(P[i]) 表示 (P) 上的第 (i) 个状态,(P[i, \infty]) 是从 (P[i]) 开始的 (P) 的子路径。则路径 (P) 的概率为:
[prob_{S_{PR}}(P) = \prod_{i<|P|} prob(\delta(p_i, s_{Pr(p_i)}) = p_{i + 1})]
对于路径集合 (S),(prob_{S_{PR}}(S)) 是结果路径属于 (S) 的概率。
2. pATL∗ 的语法和语义
-
概率交替时间时态公式
:
- 每个命题变量 (p \in PV) 是一个状态公式。
- 如果 (\phi, \psi) 是状态公式,那么 (\phi \land \psi),(\phi \lor \psi) 和 (\neg \phi) 也是状态公式。
- 如果 (A \subseteq PR),(\alpha \in [0, 1]),并且 (\phi) 是一个路径公式,那么 (\langle\langle A \rangle\rangle_{\geq \alpha} \phi),(\langle\langle A \rangle\rangle_{\leq \alpha} \phi),([[A]] {\geq \alpha} \phi) 和 ([[A]] {\leq \alpha} \phi) 是状态公式(对于 (<) 和 (>) 类似)。
- 每个状态公式也是一个路径公式。
- 如果 (\phi, \psi) 是路径公式,那么 (\phi \land \psi),(\phi \lor \psi) 和 (\neg \phi) 也是路径公式。
- 如果 (\phi) 和 (\psi) 是路径公式,那么 (\phi U \psi) 和 (\phi R \psi) 是路径公式。除非另有明确说明,pATL∗ - 公式是状态公式。
-
逻辑语义
:设 (G = (PR, Q, Δ, δ, Π, PV)) 是一个GS。
- 对于变量 (p \in PV),(G, q \models p) 当且仅当 (q \in \Pi(p))。
- 布尔连接词按通常方式处理。
-
设 (A \subseteq PR) 和 (\alpha \in [0, 1]):
- (G, q \models \langle\langle A \rangle\rangle_{\geq \alpha} \phi) 当且仅当存在 (A) 的一个策略 (S_A),使得对于 (A) 的所有策略 (S_{\overline{A}}),(prob_{S_A \cup S_{\overline{A}}}({P | G, P \models \phi, P[0] = q}) \geq \alpha)。
- (G, q \models [[A]] {\geq \alpha} \phi) 当且仅当对于 (A) 的所有策略 (S {\overline{A}}),存在 (A) 的一个策略 (S_A),使得 (prob_{S_A \cup S_{\overline{A}}}({P | G, P \models \phi, P[0] = q}) \geq \alpha)。
- 对于路径 (P) 和状态公式 (\phi),(G, P \models \phi) 当且仅当 (G, P[0] \models \phi)。
-
对于路径 (P) 和路径公式 (\phi, \psi):
- (G, P \models \phi U \psi) 当且仅当存在 (i \geq 0) 使得 (i) (G, P[i, \infty] \models \psi),并且 (ii) 对于所有 (j < i),都有 (G, P[j, \infty] \models \phi)。
- (G, P \models \phi R \psi) 当且仅当对于所有 (i \geq 0),(i) (G, P[i, \infty] \models \psi),或者 (ii) 存在 (j \leq i) 使得 (G, P[j, \infty] \models \phi)。
常见的缩写有 (\diamondsuit \phi) 表示 (true U \phi)(“(\phi) 最终为真”),(\square \phi) 表示 (\neg \diamondsuit \neg \phi)(“(\phi) 总是为真”)。并且有一些等价关系,如 (\neg \langle\langle A \rangle\rangle_{\geq \alpha} \neg \phi) 等价于 ([[A]] {> 1 - \alpha} \phi),(\langle\langle A \rangle\rangle {\leq \alpha} \phi) 等价于 (\langle\langle A \rangle\rangle_{\geq 1 - \alpha} \neg \phi),(U) 是 (R) 的对偶运算符。
利用上述对偶性和博弈论的经典结果,可以证明不需要考虑主体的混合策略,并且只需要研究不含 ([[.]]) 的正范式公式。在这些公式中,不出现 ([[.]]),(\langle\langle.\rangle\rangle_{\leq \alpha}) 或 (\langle\langle.\rangle\rangle_{< \alpha}),否定只允许直接出现在命题变量前面。
3. 协议分析的博弈结构
对于一个 (k) 角色协议 (Pr = (\Pi_1, \cdots, \Pi_k, I_0)),其概率博弈结构 (G_{Pr} = (PR, Q, Δ, δ, Π, PV)) 定义如下:
- (PR = {1, \cdots, k, A, S})。
- (Q) 是 (Pr) 的全局状态集合。
- (PV) 包含:
- 对于 (\Pi_1, \cdots, \Pi_k) 中规则的每个局部状态 (v),有一个变量 (x_v)。
- 对于每个主体 (a \in Ids),有一个变量 (c_a)。
- 对于每个 (d \in {1, \cdots, k, S, A}),有一个变量 (a_d)。
- (\Pi) 的定义:
- 对于变量 (x_v),(\Pi(x_v)) 是所有全局状态的集合,其中包含状态 (v) 的(唯一确定的)角色处于状态 (v)。
- 对于变量 (c_a),(\Pi(c_a)) 包含所有 (a) 被破坏的状态。
- 对于变量 (a_d),(\Pi(a_d)) 包含所有 (Pr(q) = d) 的状态 (q)。
对于状态 (q = (a, \sigma, v_1, \cdots, v_k, I, C)),(Pr(q) = a),这个主体的移动和移动的后果定义与符号协议的执行完全相同,但有以下两种特殊情况:
- 如果 (a \in {1, \cdots, k}) 且其当前局部状态是随机化的,那么主体 (a) 在 (q) 中有一个单一的可用移动,(\delta) 指定的 (q) 的结果是根据协议中相应的概率选择每个可能的后继。
- 如果 (a = K),则 (Pr(q) = S),并且恰好有一个可用移动,结果是状态 ((A, \varnothing, r_1, \cdots, r_k, I_0, {A}, \epsilon))。
用 (q_0^{Pr}) 表示 (Pr) 在 (G_{Pr}) 中的初始状态。一个关于 (Pr) 的 pATL∗ - 公式是只使用 (G_{Pr}) 中的主体和命题变量的 pATL∗ - 公式。
4. 计算模型
我们的计算模型使用概率多项式时间(每次激活)交互式图灵机,每对机器共享一个通信磁带。活跃的机器包括:
- 每个协议角色对应一个主体机器,以明显的方式模拟协议角色。
- 一个对手机器,是一个概率多项式时间算法,在符号模型中扮演与对手相同的角色。
- 一个调度器,以与符号模型相同的方式控制主体和对手的激活。
此外,还引入了策略机器。当一个主体或调度器在协议运行中做出战略决策(当它有多个行动选择时),它会访问其策略机器来确定要遵循的行动。策略机器可以访问协议的整个配置,对手会被告知主体做出的任何战略或随机决策。
4.1 计算协议执行
一个计算协议运行由以下实验描述,其中 (\eta) 表示安全参数,(1^{\eta}) 是实验的输入:
1.
密钥生成和机器初始化
:为每个身份 (a \in Ids) 生成私钥和公钥并相应分发。初始化每个角色 (1, \cdots, k, A) 和 (S) 的机器,以及每个角色 (1, \cdots, k) 和 (S) 的策略机器。
2.
破坏
:对手打印一组身份 (C) 并接收每个 (a \in C) 的私钥。
3.
协议运行
:调度器 (S) 被激活,并可以根据协议描述激活主体或对手。对手终止后,调度器可以继续激活主体。
(Pr) 的一个计算状态 (q) 由所有涉及的图灵机的配置组成。计算状态中被破坏的参与者集合按常规方式定义。用 (C_{\eta}^{Pr}) 表示以安全参数 (\eta) 运行的计算系统,(q_{\eta}^{init}) 描述 (C_{\eta}^{Pr}) 的初始状态。在符号中不明确表示机器 (A),因为从上下文总是可以清楚知道:对手机器在协议运行期间从不改变。
为了模拟主体在协议运行期间可能改变策略的情况,允许在协议执行期间改变运行的策略机器集合。
(Pr) 的一个计算路径是一个计算状态序列 (P_c)。对于一个计算状态 (q_c),一组所有主体 ({1, \cdots, k, S}) 的策略机器 (S_A) 和一个 pATL∗ - 公式 (\phi),(prob_{q_c, S_A, \phi}(P_c)) 表示当使用策略机器 (S_A) 并且将公式 (\phi) 作为输入提供给对手时,计算遵循路径 (P_c) 的概率。
我们的完整协议模型确保在符号模型和计算模型中,每个协议运行中的动作数量都是有界的,这个界限只取决于协议。
4.2 ATL语义在计算模型中的定义
- 策略集 :对于一个不含 ([[.]]) 的正范式 pATL∗ - 公式 (\phi),其策略集是一个对手 (A) 和一个函数 (S) 的对 ((A, S)),使得对于每个子公式 (\psi = \langle\langle A \rangle\rangle_{\geq \alpha} \chi) 和每个 (a \in {1, \cdots, k, S}),(S(a, \psi)) 是 (a) 的一个策略机器。
-
计算pATL∗语义
:设 (Pr) 是一个 (k) 角色协议,(\phi) 是 (Pr) 的一个不含 ([[.]]) 的正范式 pATL∗ - 公式,(St = (A, S)) 是 (\phi) 的一个策略集,(q_c) 是 (Pr) 的一个计算状态,(P_c) 是 (Pr) 的一个计算路径,(\psi) 是 (\phi) 的一个子公式。
- 如果 (\psi = a_i),则 (C_{\eta}^{Pr}, St, q_c \models \psi) 当且仅当在 (q_c) 中,(i) 接下来被激活。
- 如果 (\psi = c_a),则 (C_{\eta}^{Pr}, St, q_c \models \psi) 当且仅当 (a) 在 (q) 中被破坏。
- 如果 (\psi = x_v),则 (C_{\eta}^{Pr}, St, q_c \models \psi) 当且仅当在 (q_c) 中,包含状态 (v) 的协议规则处于局部状态 (v)。
- 布尔连接词按通常方式处理。
- 如果 (\psi = \langle\langle A \rangle\rangle_{\geq \alpha} \chi),则 (C_{\eta}^{Pr}, St, q_c \models \psi) 当且仅当 (\sum_{P_c : C_{\eta}^{Pr}, St, P_c \models \chi} prob_{q_c, S(\psi), \psi}(P_c) \geq \alpha)。
- 如果 (\psi) 是一个状态公式,则 (C_{\eta}^{Pr}, St, P_c \models \psi) 当且仅当 (C_{\eta}^{Pr}, St, P_c[0] \models \psi)。
- 如果 (\psi = \chi U \varphi),则 (C_{\eta}^{Pr}, St, P_c \models \psi) 当且仅当存在 (i \geq 0) 使得 (C_{\eta}^{Pr}, St, P_c[i, \infty] \models \varphi) 并且对于所有 (j < i),都有 (C_{\eta}^{Pr}, St, P_c[j, \infty] \models \chi)。
- 如果 (\psi = \chi R \varphi),则 (C_{\eta}^{Pr}, St, P_c \models \phi, v) 当且仅当对于所有 (i \geq 0),(C_{\eta}^{Pr}, St, P_c[i, \infty] \models \varphi),或者存在 (j \leq i) 使得 (C_{\eta}^{Pr}, St, P_c[j, \infty] \models \chi)。
对于一个协议的执行,我们定义策略枚举来确定运行的策略机器。对于一个 pATL∗ - 公式 (\phi),一个通用(存在)策略枚举是一个函数 (f),使得对于每个子公式 (\psi) 和在 (\psi) 中通用(存在)量化的主体 (i),(f(\psi, i)) 是 (i) 的一个策略机器。对于一对通用和存在策略枚举以及一个对手 (A),系统中运行的策略集是对 ((A, U \cup E))(注意 (U) 和 (E) 的定义域不相交)。
下面是一个简单的mermaid流程图,展示计算协议执行的流程:
graph TD;
A[密钥生成和机器初始化] --> B[破坏];
B --> C[协议运行];
概率CSP的计算可靠分析
5. 计算可靠性
我们的目标是证明计算模型“满足与符号模型相同的公式”。但在计算模型中,不能完全排除对手“破坏”协议的可能性,因为存在一定(低)概率,签名可能被伪造,不同方选择的随机数可能重合等。因此,在计算环境中考虑相关pATL∗ - 公式的“宽松”版本。
- ϵ - 容忍公式 :设 (\phi) 是一个不含 ([[.]]) 的正范式 pATL∗ - 公式,且 (\epsilon > 0)。则 (\phi_{\epsilon}),即 (\phi) 的 (\epsilon) - 容忍版本,是通过将 (\phi) 中每个最外层 (\langle\langle.\rangle\rangle) 运算符中的每个概率边界 (\alpha) 替换为 (\alpha - \epsilon) 得到的。
符号模型和计算模型的另一个区别是,符号模型允许在“协议执行期间”对策略进行量化,这在计算模型中会导致问题。例如,在安全参数为 (\eta) 的协议运行中选择的机器可能有一个硬编码的表,包含所有位长不超过 (\eta) 的整数的素因数分解,这会危及依赖因数分解问题难度的签名方案的安全性。因此,在协议实际运行之前固定可用策略的集合。存在和通用的策略量化现在变成了对策略枚举的量化,并且量化发生在协议运行之前。
特别地,我们只考虑单个对手机器,在协议运行期间不会改变。因此,不允许公式对对手同时进行存在和通用量化,这导致了一个自然的公式子类。一个不含 ([[.]]) 的正范式 pATL∗ - 公式对于 (Pr) 是 (A) - 正((A) - 负)的,如果对于所有子公式 (\langle\langle A \rangle\rangle_{\geq \alpha} \chi),都有 (A \in A)((A \notin A))。一个公式是 (A) - 单调的,如果它是 (A) - 正或 (A) - 负的。
- 计算可靠性定理 :假设签名方案对存在性伪造具有抗性。设 (Pr) 是一个协议,(\phi) 是一个 (A) - 正((A) - 负)的 pATL∗ - 公式,且 (G_{Pr}, q_0^{Pr} \models \phi)。那么存在一个存在策略枚举 (E) 和一个对手机器 (A)(对于所有对手机器 (A)),使得对于每个通用策略枚举 (U),如果 (St = (A, E \cup U)),则存在一个可忽略函数 (\epsilon: \mathbb{N} \to \mathbb{R}^+),使得对于所有安全参数 (\eta),(C_{\eta}^{Pr}, St, q_{\eta}^{init} \models \phi_{\epsilon}(\eta))。
这个定理表明,对于符号模型中满足的任何安全目标,在计算模型中都有策略机器可以实现该目标。
6. 应用于合同签署和渐进承诺协议
考虑一个合同签署协议 (Pr),其设置与渐进承诺协议(GCP)相同,协议中的角色包括发起方 (O)、响应方 (R)、可信第三方 (T) 和缓冲区主体 (B)(安全地在 (T)、(O) 和 (R) 之间中继消息)。为了分析协议,我们假设 (O) 和 (R) 中有一个是不诚实的。形式上,选择 (X \in {O, R}) 为诚实方,将不诚实的签署者记为 (\overline{X})。由于假设 (\overline{X}) 与对手合作,在分析中将 (Pr) 视为一个3 - 角色协议:诚实签署者 (X)、可信第三方 (T) 和在 (X) 和 (T) 之间转发消息的缓冲区主体 (B)。假设 (B) 忽略网络,即只有 (X) 和 (T) 可以写入缓冲区。
为了正式定义不平衡性,定义以下几个公式:
- (\phi_{nc}) 表示 (A) 没有破坏 (X) 或 (T)。
- (\phi_{A c})((\phi_{\overline{X} c}))表示 (A)((\overline{X}))有一个有效的合同。
- (\phi_{dl}) 表示 (B) 已经交付了所有消息。
-
不平衡性公式 :
- (\phi_{abr} = \square(\phi_{nc} \land \diamondsuit \phi_{dl} \land \neg \phi_{\overline{X} c})),描述了所有 (X) 和 (T) 从未被破坏,写入缓冲区主体的每个请求最终都会被交付,并且 (X) 从未获得合同的协议运行。
- (\phi_{res} = \phi_{nc} \land \phi_{dl} \land \phi_{A c}),即如果对手有合同,缓冲区已交付所有消息,并且 (X) 和 (T) 都未被破坏,则协议状态被解决。
-
平衡性定义 :一个合同签署协议 (Pr) 对 (X) 是符号上的 ((p_a, p_r)) - 不平衡的,如果 (G_{Pr}, q_0^{Pr} \models \langle\langle A, T, B, \overline{X}, S \rangle\rangle_{> 0} \diamondsuit (\langle\langle A, S, B \rangle\rangle_{\geq p_a} \diamondsuit \phi_{abr} \land \langle\langle A, S, B \rangle\rangle_{\geq p_r} \diamondsuit \phi_{res}))。“不平衡”意味着对 (R) 或 (O) 不平衡,“平衡”表示“非不平衡”。
对于渐进承诺协议(GCP),有如下定理:
-
GCP的平衡性定理
:对于所有 (n \geq 2),当 (p_a + p_r \geq 1 + (1/n)) 时,(GCP_n) 是 ((p_a, p_r)) - 平衡的。
将我们的模型和可靠性结果与另一种计算定义进行比较。如果将另一种计算定义调整为具有显式概率的设置,一个协议对 (X) 是计算上的 ((p_a, p_r)) - 不平衡的,如果存在一个对手 (A)、一个 (B) 的策略机器 (S_B)、一个 (S) 的策略机器 (S_S)、一组 ({T, X}) 的策略机器 (S_1),使得对于所有 ({T, X}) 的策略机器集合 (S_2),以下实验在输入 (1^{\eta}) 时以不可忽略的概率返回1:
1.
密钥生成
:为所有涉及的身份生成密钥。
2.
破坏
:对手打印一份身份列表并接收它们的私钥。
3.
到达不平衡状态
:用 (A) 和策略机器 (S_B)、(S_1) 和 (S_S) 模拟协议执行,直到对手在一个特殊磁带上打印“unbalanced”。
4.
验证不平衡性
:从当前状态开始,用 (A)、策略机器 (S_B)、(S_2) 和 (S_S) 启动两个实验副本:
- 所有策略机器和对手得到“abort”作为输入。如果从这里开始,合同签署被中止的概率至少为 (p_a),则子实验成功。
- 所有策略机器和对手得到“resolve”作为输入。如果从这里开始,合同签署被解决的概率至少为 (p_r),则子实验成功。
整个实验成功当且仅当两个子实验都成功。可以证明,这种计算定义与我们的符号平衡性定义完全对应,由此得到以下推论:
-
合同签署协议平衡性推论
:一个合同签署协议是计算上的 ((p_a, p_r)) - 不平衡的,当且仅当它是符号上的 ((p_a, p_r)) - 不平衡的。
-
GCP平衡性推论
:如果 (p_a + p_r \geq 1 + (1/n)),则 (GCP_n) 是计算上的 ((p_a, p_r)) - 平衡的。
下面是一个表格,总结合同签署协议平衡性相关概念:
| 概念 | 定义 |
| ---- | ---- |
| 符号 ((p_a, p_r)) - 不平衡 | (G_{Pr}, q_0^{Pr} \models \langle\langle A, T, B, \overline{X}, S \rangle\rangle_{> 0} \diamondsuit (\langle\langle A, S, B \rangle\rangle_{\geq p_a} \diamondsuit \phi_{abr} \land \langle\langle A, S, B \rangle\rangle_{\geq p_r} \diamondsuit \phi_{res})) |
| 计算 ((p_a, p_r)) - 不平衡 | 存在对手 (A) 等,按上述实验流程以不可忽略概率返回1 |
下面是一个mermaid流程图,展示验证协议计算不平衡性的实验流程:
graph TD;
A[密钥生成] --> B[破坏];
B --> C[到达不平衡状态];
C --> D[验证不平衡性];
D --> E1[子实验1: abort输入];
D --> E2[子实验2: resolve输入];
E1 --> F1{子实验1成功?};
E2 --> F2{子实验2成功?};
F1 --> G{整个实验成功?};
F2 --> G;
综上所述,通过引入特殊参与方、定义概率博弈结构、pATL∗ - 公式及其语义,建立了计算模型和符号模型,并证明了计算可靠性。在合同签署协议的应用中,给出了平衡性的定义和相关定理、推论,为协议的安全性分析提供了有力的工具。
超级会员免费看
56

被折叠的 条评论
为什么被折叠?



