23、安全协议定时方面的多重集重写模型

安全协议定时方面的多重集重写模型

在安全协议领域,定时方面的考量至关重要。它能帮助我们更好地理解协议在实际运行中的行为,发现潜在的安全漏洞。本文将详细探讨安全协议定时方面的相关内容,包括距离界定协议、超时机制、定时多重集重写以及定时协议理论等。

1. 安全协议的定时方面示例

安全协议的定时方面可以通过两个示例来说明,分别是距离界定协议和超时机制的使用。

1.1 距离界定协议

距离界定协议(DB)旨在增强传统认证,额外确保用户的物理接近性。其目标是仅允许在指定距离范围内的有效证明者访问某些资源,同时拒绝入侵者和超出距离范围的证明者。验证者通过测量挑战 - 响应位交换的往返时间,推断证明者距离的上限。

对通信协议的攻击,如对距离界定协议的中继攻击,只能使用具有高分辨率定时信息的模型进行分析,这些信息代表通信介质的物理属性。为了满足这些要求,我们用于形式化和验证定时协议的模型包括显式实时和特定的时间方面,例如时间变量的比较。

距离界定协议的漏洞,除了加密属性外,不仅利用了定时方面,还利用了其他诚实和不诚实证明者的存在、其他验证者的存在以及勾结的入侵者。我们的模型也能适应这些方面。例如,协议理论的规则代表验证者和诚实证明者的行为。不诚实证明者可以通过具有特定初始知识的入侵者理论来表示。使用我们的模型验证距离界定协议可以揭示各种已知类型的攻击,包括中间滴答攻击、距离劫持等,以及多协议环境中的漏洞。

1.2 超时机制

在考虑定时方面时,协议会话超时变得相关,例如网络通信延迟。HTTP/HTTPS协议在多种情况下使用超时来限制等待时间,如空闲连接、客户端等待服务器响应、服务器等待客户端完成请求。会话发起协议(用于VOIP和其他通信协议)使用定时器来限制协议不同步骤的等待时间。

生命周期/生存时间是另一个重要的时间相关概念。网络协议(如TLS、Kerberos)通常使用票据来控制访问,这些票据通常有一个生命周期,过期后将不再有效。在网络中传输的数据包(如TCP/IP)通常有一个生存时间,以避免循环和延迟交付问题。

以带有超时的Needham - Schroeder协议为例,Alice在时间t0创建一个新鲜的随机数NA开始与Bob通信,在时间t1到达Bob。Bob在时间t2创建一个新鲜的随机数NB并发送,在时间t3到达Alice。然后Alice在时间t4响应,在时间t5到达Bob。不同之处在于,Alice会在给定的时间段Timeout内等待Bob的响应。如果在这个时间段内没有收到预期的消息,协议会话将终止。

超时机制的使用对入侵者有影响,如Lowe攻击的定时版本所示。入侵者必须能够在时间段Timeout内将响应{NA, NB}KA发送给Alice,即攻击要成功,必须满足t7 - t0 ≤ Timeout。对于传统的Dolev - Yao入侵者,这不是问题,因为他可以模拟网络,能够即时转发消息,但这可能导致误报,因为实际上不可能即时转发消息。

2. 定时多重集重写

我们回顾定时多重集重写,它是我们用于指定定时协议和入侵者理论的语言。假设存在一个有限的一阶类型字母表Σ,包含变量、常量、函数和谓词符号。项和事实按照通常的方式通过应用正确类型的符号来构造。

2.1 时间戳事实和配置

时间戳事实用于指定明确提及时间的系统,其形式为F@T,其中F是一个事实,T是其时间戳,可以是变量或非负实数。有一个特殊的零元谓词Time用于表示全局时间。配置是一组带时间戳的事实的多重集,{Time@t, F1@t1, …, Fn@tn},其中Time事实只出现一次。

2.2 动作

动作是多重集重写规则,分为时间推进动作和瞬时动作。
- 时间推进动作(Tick) :Time@T −→ Time@(T + ε),其中ε可以是任何正实数,表示时间的推进。应用Tickε规则到配置{Time@t, F1@t1, …, Fn@tn}会得到配置{Time@(t + ε), F1@t1, …, Fn@tn},时间推进了ε。
- 瞬时动作 :不影响全局时间,但可能重写其他事实。其形式为:
Time@T, W1@T1, …, Wk@Tk, F1@T ′1, …, Fn@T ′n | C −→ ∃X.[Time@T, W1@T1, …, Wk@Tk, Q1@(T + D1), …, Qm@(T + Dm)]
其中D1, …, Dm是自然数,C是动作的保护条件,是一组涉及前置条件中出现的时间变量的约束。事实W1@T1, …, Wk@Tk由规则保留,而F1@T ′1, …, Fn@T ′n被Q1@(T + D1), …, Qm@(T + Dm)替换。所有出现在后置条件中的自由变量都出现在前置条件中。时间约束的形式为:T ≥ T ′ ± D、T > T ′ ± D和T = T ′ ± D。

例如,动作Time@T, F1(X, Y )@T1 | T1 ≥ T + 1 −→ ∃N.[Time@T, F2(X, Y, N)@(T + 3)]可以应用于配置{Time@5.1, F1(a, b)@7.5},得到配置{Time@5.1, F2(a, b, n1)@8.1},其中事实F1(a, b)@7.5被F2(a, b, n1)@8.1替换,n1是一个新鲜常量。瞬时动作不改变全局时间,且瞬时动作创建的事实的时间戳在当前或未来。

2.3 轨迹和目标配置

从给定的初始配置S0开始的定时MSR规则R的轨迹是一个配置序列S0 −→r1 S1 −→r2 · · · −→rn Sn,其中对于所有0 ≤ i ≤ n - 1,Si + 1是通过将ri + 1 ∈ R应用于Si得到的配置。

目标配置由目标GS指定,GS是一组对{⟨S1, C1⟩, …, ⟨Sn, Cn⟩}。每个对⟨Sj, Cj⟩的形式为:⟨{F1@T1, …, Fp@Tp}, Cj⟩,其中T1, …, Tp是时间变量,F1, …, Fp是事实,Cj是一组仅涉及变量T1, …, Tp的时间约束。如果对于某个1 ≤ i ≤ n,存在一个接地替换σ,使得Siσ ⊆ S且Ciσ评估为真,则配置S是关于GS的目标配置。

可达性是MSR系统的主要验证问题之一。可达性问题定义为:给定一个定时MSR T、一个目标GS和一个初始配置S0,是否存在一个轨迹P,从S0引导到一个目标配置?

2.4 平衡规则

平衡规则被引入,仅包含平衡规则的系统代表一类重要的系统,对于这些系统,一些可达性问题已被证明是可判定的。

如果规则的前置条件中出现的事实数量与后置条件中出现的事实数量相同,则该规则是平衡的。如果一个MSR系统的所有规则都是平衡的,则该系统是平衡的。平衡系统具有重要属性:平衡系统轨迹中的所有配置具有相同数量的事实。

任何不平衡规则都可以通过使用所谓的空事实来使其平衡。例如,不平衡规则Time@T, F1@T1 −→ Time@T, F1@T1, F2@T2可以通过在其前置条件中添加一个空事实,变成平衡规则Time@T, F1@T1, P@T3 −→ Time@T, F1@T1, F2@T2。然而,得到的平衡系统与原始的不平衡系统并不等价,因为可达状态集和可能的轨迹减少了。

平衡系统适用于例如建模具有固定内存量的场景。空事实代表可用的空闲内存插槽。为了建模具有有限内存的系统和入侵者,我们将考虑与系统(包括代理、服务器和网络)相关的空事实D事实,以及与每个特定入侵者s相关的空事实P(s)。

3. 定时协议理论

在传统的“Alice和Bob”协议表示法和规范中,协议的定时方面没有正式指定。必要的时间假设,如协议会话完成的时间要求,没有包括在内。安全验证在检查系统是否易受攻击时应包括这些规范。

给定一个定时MSR模型和一个表示参与代理和入侵者的知识、能力和行为(包括协议规则)的初始配置,我们寻找代表攻击的轨迹。为此,目标配置将表示协议遭受了攻击。

对于遵守涉及时间的物理定律的协议和入侵者理论,特别重要的是考虑网络延迟和处理时间。非零处理时间可以通过向规则添加时间约束来形式化,例如Time@T, M(m)@T ′ | {T > T ′} −→ Time@T, M(m)@T ′, NS(m′)@T。同样,通过向传输规则添加涉及相关距离的约束,可以获得给定网络拓扑中代理之间消息传输的准确时间,例如Time@T, NS(A, X)@T ′ | {T ≥ T ′ + D(A, B)} −→ Time@T, NR(B, X)@T,其中D(A, B)表示消息从代理A传输到代理B所需的时间。

3.1 网络理论

我们增强了用于协议执行的传统网络模型。一个适合协议执行期间通信的网络模型应该考虑代理之间的距离。具体来说,它不仅应该考虑协议参与者之间的物理距离,还应该表示各种可用的传输介质和相应的网络距离(即传输速度),以及特定代理使用某些传输通道发送或接收消息的可用性。

我们假设给定了参与代理(包括入侵者)的拓扑结构,代表代理之间的通信距离(网络距离)。我们还假设给定了代理和入侵者使用传输通道的能力。我们对代理在某些特定传输介质上发送和接收消息的能力以及特定介质上代理之间的相应时间距离进行建模。因此,网络距离是针对特定传输通道上的每对参与者指定的。

我们假设代理不移动,这也适用于代理移动速度相对于传输速度可忽略不计的场景。

为了对支持定时方面的网络进行更精细的形式化,我们在签名中添加了以下谓词和常量符号:
- D(A, B, C):表示使用传输介质C时,从代理A到代理B的网络延迟时间的自然数。
- NS(A, C, m)@t:表示消息m在时刻t由代理A在传输介质C上发送。
- NR(A, C, m)@t:表示消息m可能在传输介质C上被代理A接收。
- CapS(A, C):表示代理A能够在传输介质C上发送消息。
- CapR(A, C, k):表示代理A能够在传输介质C上接收消息,其中k = 1时,消息从网络中移除;k = 2时,读取消息不会从网络中移除消息。

网络规则确保消息只有在相应的消息传输时间(即“飞行时间”)过去后才能被接收。这些规则还确保代理和入侵者只在他们连接的通信通道上发送和接收消息。规则NET - 1模型消息接收会从网络中移除消息,而规则NET - 2模型非消耗性消息接收,这样相同的消息X可以被其他代理接收而无需重新发送。使用哪条规则取决于所建模的传输介质的性质,通过CapR(X, Y, k)事实指定k = 1或k = 2。

3.2 协议理论

在验证时间起重要作用的协议(如距离界定协议和一般的网络物理系统)时,需要显式实时来表示现实物理世界中时间的连续性。我们的定时MSR模型适用于此目的,并且也适用于表达具有超时的协议。

由于安全协议的执行和验证可能受处理时间影响,我们通过dur函数为规则添加持续时间。该函数的参数和值针对每个规则是特定的。例如,明文和密钥的长度可能会影响加密的持续时间。规则执行的持续时间(即dur函数)在合适时可以使用,例如在验证涉及执行时间变化的攻击时。未明确提及dur函数的规则执行时间为零。

协议状态可能有也可能没有超时。一旦协议状态的超时时间过去,协议会话将改变其状态。

一个涉及时间的安全协议的一般理论包括以下谓词符号:
- E@t:表示从时刻t开始,网络和代理(与入侵者不同)可用的空内存插槽。
- SAi(n, X):表示会话标识符为n的角色A的协议状态谓词。
- TAi(n)@t:表示协议状态SAi(n, X)在时刻t超时。

与超时相关的协议状态Si将伴随着相应的Ti事实,由导致该协议状态的规则创建。

协议理论由多个角色A1, …, Am、一组状态谓词SAi0, …, SAini和以下形式的规则指定:
- 协议初始化规则
Time@T, W −→ ∃Sid.[Time@T, SA10(Sid, X1)@(T + ti), …, SAm0(Sid, Xm)@(T + ti), W′]
其中Sid是一个新鲜的协议会话标识令牌,SAi0是角色Ai的初始状态,ti = durINIT是指定初始化协议会话所需时间的自然数,W是任意事实多重集,W′ = W ∪ { TAk0(Sid)@(T + bk) | 如果SAk0在bk时间单位内超时},Xi是来自W的变量。
- 协议执行规则
- 对于没有超时的协议状态SAki:
Time@T, SAki(S, X)@T1, W1, W | T1 ≤ T, −→ ∃N.[Time@T, SAkj(S, Y)@(T + t), W2, W]
- 对于有相关超时的协议状态SAki:
Time@T, SAki(S, X)@T1, TAki(S)@T2, W1, W | T1 ≤ T, T2 ≥ T −→ ∃N.[Time@T, SAkj(S, Y)@(T + t), W2, W]
其中i, j ∈ {0, …, k},t = duri,j(X)是指定从协议状态SAki转移到协议状态SAkj所需处理时间的自然数,N是新鲜值,X和Y是变量,Y中的变量要么出现在规则左侧的事实中,要么是从N新生成的变量,W, W1, W2是任意事实多重集,可能包含表示消息发送和接收的事实NS或NR,特别是如果协议状态SAkj有相关超时(设置为在时刻T + bj过期),则W2包含事实TAkj(S)@(T + bj)。
- 协议超时规则
- 对于有相关超时的协议状态SAkj:
Time@T, SAkj(S, X)@T1, TAkj(S)@T2 | T2 = T −→ Time@T, SAki(S, X)@(T + t)
其中SAki是角色Ak的没有相关超时的协议状态,或者
Time@T, SAkj(S, X)@T1, TAkj(S)@T2 | T2 = T −→ Time@T, SAki(S, X)@(T + t), TAki(S)@(T + t)
其中SAki是角色Ak的有相关超时的协议状态,在这两种情况下,t = durtimeouti,j是指定由于超时从状态SAkj转移到状态SAki的自然数。
- 协议终止规则
Time@T, SAknk(X)@T1 | T1 ≤ T −→ Time@T
其中nk是指定角色Ak的最终协议状态SAknk的自然数。

所有协议会话的规则都使用相同的会话标识符初始化。协议执行规则涉及执行时间,也可能与超时和网络通信相关。超时规则在超时过去后强制协议状态改变,这可能导致例如重试或会话终止。完成的会话通过终止规则移除。

为了进行复杂度分析,我们将考虑通过在规则左右两侧添加空事实获得的协议理论的平衡版本。

综上所述,安全协议的定时方面是一个复杂而重要的领域。通过对距离界定协议、超时机制、定时多重集重写和定时协议理论的研究,我们可以更好地设计和验证安全协议,提高系统的安全性和可靠性。在实际应用中,我们需要根据具体情况选择合适的模型和方法,充分考虑网络延迟、处理时间等因素,以确保协议的正常运行和数据的安全传输。

安全协议定时方面的多重集重写模型

4. 安全协议定时方面的应用与实践

在实际应用中,安全协议的定时方面有着广泛的应用场景。以下将详细探讨其在不同场景下的具体应用以及相关实践操作。

4.1 距离界定协议的应用场景

距离界定协议在许多领域都有重要应用,例如物联网、门禁系统等。在物联网中,设备之间的通信需要确保物理上的接近性,以防止非法设备的接入。通过使用距离界定协议,可以有效增强设备之间通信的安全性。

在门禁系统中,只有在指定距离范围内的合法用户才能打开门禁。验证者通过测量挑战 - 响应位交换的往返时间,推断用户与门禁系统的距离,从而决定是否授予访问权限。

操作步骤如下:
1. 初始化 :门禁系统作为验证者,向用户设备发送挑战消息。
2. 响应 :用户设备接收到挑战消息后,立即生成响应消息并发送回门禁系统。
3. 测量时间 :门禁系统记录发送挑战消息和接收响应消息的时间,计算往返时间。
4. 判断距离 :根据往返时间,推断用户与门禁系统的距离。如果距离在指定范围内,则授予访问权限;否则,拒绝访问。

4.2 超时机制的应用场景

超时机制在网络通信中有着广泛的应用,例如HTTP/HTTPS协议、会话发起协议等。在HTTP/HTTPS协议中,超时机制用于限制等待时间,避免长时间的空闲连接和不必要的等待。

在会话发起协议中,超时机制用于控制协议的不同步骤,确保协议的正常运行。例如,如果被叫方不可用,初始化不应永远响铃,而是在一定时间后终止。

操作步骤如下:
1. 设置超时时间 :在协议初始化时,设置每个步骤的超时时间。
2. 启动计时器 :在每个步骤开始时,启动相应的计时器。
3. 等待响应 :等待预期的消息响应。
4. 判断超时 :如果在超时时间内没有收到预期的消息,则终止当前步骤或整个协议会话。

5. 定时多重集重写的实践操作

定时多重集重写是一种用于指定定时协议和入侵者理论的语言。在实践中,我们可以使用定时多重集重写来建模和验证安全协议。

5.1 建模安全协议

使用定时多重集重写来建模安全协议的步骤如下:
1. 定义字母表 :定义一个有限的一阶类型字母表Σ,包含变量、常量、函数和谓词符号。
2. 构造项和事实 :按照通常的方式通过应用正确类型的符号来构造项和事实。
3. 定义时间戳事实和配置 :使用时间戳事实来指定明确提及时间的系统,定义配置为一组带时间戳的事实的多重集。
4. 定义动作 :定义时间推进动作和瞬时动作,通过多重集重写规则来表示。
5. 定义轨迹和目标配置 :从给定的初始配置开始,定义定时MSR规则的轨迹和目标配置。

5.2 验证安全协议

使用定时多重集重写来验证安全协议的步骤如下:
1. 定义初始配置 :表示参与代理和入侵者的知识、能力和行为(包括协议规则)。
2. 定义目标配置 :表示协议遭受攻击的情况。
3. 寻找轨迹 :通过搜索从初始配置到目标配置的轨迹,来验证协议是否易受攻击。

6. 定时协议理论的实践应用

定时协议理论在安全协议的设计和验证中有着重要的应用。通过考虑网络延迟、处理时间等因素,可以提高协议的安全性和可靠性。

6.1 网络理论的实践应用

网络理论在协议执行中起着重要作用。通过对网络模型的增强,可以更好地考虑代理之间的距离和传输介质的特性。

操作步骤如下:
1. 定义网络拓扑 :给定参与代理(包括入侵者)的拓扑结构,代表代理之间的通信距离(网络距离)。
2. 定义代理能力 :定义代理和入侵者使用传输通道的能力。
3. 建模网络规则 :使用谓词和常量符号来建模网络规则,确保消息只有在相应的消息传输时间过去后才能被接收。

6.2 协议理论的实践应用

协议理论用于指定安全协议的执行规则和状态转换。通过考虑超时机制和执行时间,可以更好地控制协议的运行。

操作步骤如下:
1. 定义协议角色和状态谓词 :定义协议的多个角色和状态谓词。
2. 定义协议规则 :包括协议初始化规则、执行规则、超时规则和终止规则。
3. 初始化协议会话 :使用相同的会话标识符初始化所有协议会话的规则。
4. 执行协议 :根据协议规则,执行协议会话。在执行过程中,考虑执行时间、超时和网络通信等因素。
5. 处理超时 :如果超时规则被触发,强制协议状态改变,可能导致重试或会话终止。
6. 终止会话 :完成的会话通过终止规则移除。

7. 总结与展望

安全协议的定时方面是一个复杂而重要的领域。通过对距离界定协议、超时机制、定时多重集重写和定时协议理论的研究,我们可以更好地设计和验证安全协议,提高系统的安全性和可靠性。

在未来的研究中,我们可以进一步探索以下方向:
1. 更精确的模型 :开发更精确的模型,考虑更多的因素,如信号传播的不确定性、设备的移动性等。
2. 高效的验证算法 :研究高效的验证算法,以应对大规模系统的验证需求。
3. 跨领域应用 :将安全协议的定时方面应用到更多的领域,如智能交通、工业自动化等。

通过不断的研究和实践,我们可以不断完善安全协议的定时方面,为保障网络安全和数据安全提供更有力的支持。

相关表格和流程图

7.1 距离界定协议操作步骤表格
步骤 操作
初始化 门禁系统作为验证者,向用户设备发送挑战消息
响应 用户设备接收到挑战消息后,立即生成响应消息并发送回门禁系统
测量时间 门禁系统记录发送挑战消息和接收响应消息的时间,计算往返时间
判断距离 根据往返时间,推断用户与门禁系统的距离。如果距离在指定范围内,则授予访问权限;否则,拒绝访问
7.2 超时机制操作步骤表格
步骤 操作
设置超时时间 在协议初始化时,设置每个步骤的超时时间
启动计时器 在每个步骤开始时,启动相应的计时器
等待响应 等待预期的消息响应
判断超时 如果在超时时间内没有收到预期的消息,则终止当前步骤或整个协议会话
7.3 定时多重集重写建模安全协议流程图
graph LR
    A[定义字母表] --> B[构造项和事实]
    B --> C[定义时间戳事实和配置]
    C --> D[定义动作]
    D --> E[定义轨迹和目标配置]
7.4 协议理论实践应用流程图
graph LR
    A[定义协议角色和状态谓词] --> B[定义协议规则]
    B --> C[初始化协议会话]
    C --> D[执行协议]
    D --> E{是否超时}
    E -- 是 --> F[处理超时]
    E -- 否 --> D
    F --> D
    D --> G[终止会话]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值