安全协议定时方面的多重集重写模型
在安全协议的设计与验证中,时间因素起着至关重要的作用。本文将深入探讨安全协议的定时方面,包括距离界定协议和超时机制,同时介绍定时多重集重写模型及其在协议理论中的应用。
1. 安全协议的定时方面示例
安全协议的定时方面可以通过两个示例来进行说明,分别是距离界定协议和超时机制的使用。
1.1 距离界定协议
距离界定协议(DB)旨在增强传统认证,额外确保用户的物理接近性。其目标是仅允许处于指定距离范围内的有效证明者访问某些资源,同时拒绝入侵者和距离范围外的证明者。验证者通过测量挑战 - 响应位交换的往返时间,推断证明者距离的上限。
对通信协议的攻击,如对DB协议的中继攻击,只能使用具有高分辨率定时信息的模型进行分析,这些信息代表了通信介质的物理特性。为了满足这些要求,我们用于形式化和验证定时协议的模型包括显式的实时和特定的时间方面,例如时间变量的比较。
DB协议的漏洞不仅利用了定时方面,还利用了其他诚实和不诚实证明者的存在、其他验证者的存在以及勾结的入侵者。我们的模型可以适应这些方面。例如,协议理论的规则代表了验证者和诚实证明者的行为。不诚实证明者可以通过具有特定初始知识的入侵者理论来表示。通过我们的模型对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入侵者,这不是问题,因为他可以模拟网络并即时转发消息,但这可能导致误报,因为实际上不可能即时转发消息。因此,我们提出了对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
其中T和T ′是时间变量,D是自然数。当时间约束集C为空时,我们在上述规则中省略时间约束。
一个瞬时规则P | C → ∃X.P′可以应用于配置S,如果存在一个子集S0 ⊆ S和一个匹配替换θ,使得S0 = Pθ且Cθ求值为真。应用此规则得到的配置为(S \ S0) ∪ ((P′σ)θ),其中σ是一个将存在量化变量X映射到新鲜常量的替换。
例如,动作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 网络理论
我们增强了用于协议执行的传统网络模型。一个适合协议执行期间通信的网络模型应该考虑代理之间的距离,不仅要考虑协议参与者之间的物理距离,还要表示各种可用的传输介质和相应的网络距离(即传输速度),以及特定代理使用某些传输通道发送或接收消息的可用性。
我们假设给定了参与代理(包括入侵者)的拓扑结构,代表了代理之间的通信距离(网络距离),并且给定了代理和入侵者使用传输通道的能力。我们对代理在特定传输介质上发送和接收消息的能力以及特定介质上代理之间的相应时间距离进行建模。因此,网络距离是针对特定传输通道上的每对参与者指定的。
我们的签名基于用于建模协议和Dolev - Yao入侵者模型的签名,并添加了以下谓词和常量符号:
- 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时读取消息不会从网络中移除。
网络规则将消息的传输编码为NS事实到NR事实的转换,即网络根据参与者的接收能力和时间距离传递发送的消息。网络理论规则确保消息只有在相应的消息传输时间(即飞行时间)过去后才能被接收,并且代理和入侵者只能在他们连接的通信通道上发送和接收消息。规则NET - 1模拟从网络中移除消息的消息接收,而规则NET - 2模拟非消耗性消息接收,以便同一消息X可以在不重新发送的情况下被其他代理接收。使用哪条规则取决于所建模的传输介质的性质,通过CapR(X, Y, k)事实中k的值(1或2)来指定。
3.2 协议理论
在验证时间起着重要作用的协议(如距离界定协议和一般的网络物理系统)时,需要显式的实时来表示现实物理世界中时间的连续性。我们在前面介绍的定时MSR模型适用于此目的,同时也适用于表达具有超时的协议。
由于安全协议的执行和验证可能受到处理时间的影响,我们通过dur函数为规则添加持续时间。该函数的参数和值针对每个规则是特定的。例如,明文和密钥的长度可能会影响加密的持续时间。规则执行的持续时间(即dur函数)在合适时可以使用,例如在验证涉及执行时间变化的攻击时。未明确提及dur函数的规则执行时间为零。
协议状态可能有也可能没有超时。一旦协议状态的超时时间过去,协议会话将改变其状态。
一个涉及时间的安全协议的一般理论包括以下谓词符号:
- E@t:表示从时刻t开始,网络和代理(不同于入侵者)可用的空内存槽。
- SAi(n, X):表示会话标识符为n的角色A的协议状态谓词。
- TAi(n)@t:表示协议状态SAi(n, X)在时刻t超时。
与超时相关的协议状态Si将伴随着由导致该协议状态的规则创建的相应Ti事实。
协议理论包括以下规则:
-
协议初始化规则
:
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]
其中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,当T2 = T时,有两种情况:
- 转移到没有相关超时的协议状态SAki:
Time@T, SAkj(S, X)@T1, TAkj(S)@T2 | T2 = T → Time@T, SAki(S, X)@(T + t)
- 转移到有相关超时的协议状态SAki:
Time@T, SAkj(S, X)@T1, TAkj(S)@T2 | T2 = T → Time@T, SAki(S, X)@(T + t), TAki(S)@(T + t)
其中t = durtimeouti,j是指定由于超时而从状态SAkj转移到状态SAki的自然数。
-
协议终结规则
:
Time@T, SAknk(X)@T1 | T1 ≤ T → Time@T
其中nk是指定角色Ak的最终协议状态SAknk的自然数。
所有协议会话的规则都使用相同的会话标识符进行初始化。协议执行规则涉及执行时间,也可能与超时和网络通信相关。超时规则在超时时间过去后强制协议状态改变,这可能导致重试或会话终止。完成的会话通过终结规则移除。
为了进行复杂度分析,我们将考虑通过在规则左右两侧添加空事实而得到的协议理论的平衡版本。
通过以上对安全协议定时方面的研究和模型的构建,我们能够更准确地分析和验证协议的安全性,发现潜在的攻击和漏洞,为安全协议的设计和实现提供有力的支持。
安全协议定时方面的多重集重写模型
4. 模型应用与分析
4.1 模型在距离界定协议中的应用
在距离界定协议中,我们利用上述的定时多重集重写模型和相关理论进行分析。距离界定协议的主要目标是通过测量挑战 - 响应位交换的往返时间来推断证明者的距离上限。以下是具体的应用步骤:
1.
构建初始配置
:根据参与代理(验证者和证明者)以及入侵者的初始知识、能力和行为,使用时间戳事实构建初始配置。例如,验证者可能有发送挑战消息的能力,证明者有响应消息的能力,入侵者可能有窃听和篡改消息的能力。
2.
定义协议规则
:依据协议的流程,定义协议初始化规则、执行规则、超时规则和终结规则。例如,验证者发送挑战消息的规则可以表示为:
Time@T, Verifier(SendChallenge, X)@T1, W | T1 ≤ T → ∃N.[Time@T, Verifier(WaitResponse, Y)@(T + t), NS(Verifier, Challenge, N)@(T + t), W]
其中,
Verifier(SendChallenge, X)
表示验证者处于发送挑战消息的状态,
Verifier(WaitResponse, Y)
表示验证者处于等待响应的状态,
NS(Verifier, Challenge, N)
表示验证者在时间
T + t
发送了挑战消息
N
。
3.
设置目标配置
:目标配置表示协议遭受攻击的情况。例如,如果入侵者能够在验证者规定的距离范围内伪造证明者的响应,那么就可以设置相应的目标配置。
4.
进行可达性分析
:使用定时多重集重写模型的规则,从初始配置出发,寻找是否存在一条跟踪能够到达目标配置。如果存在这样的跟踪,则说明协议可能存在安全漏洞。
通过以上步骤,我们可以对距离界定协议进行全面的分析,发现潜在的攻击,如中继攻击、距离劫持等。
4.2 模型在超时机制协议中的应用
对于使用超时机制的协议,如带有超时的 Needham - Schroeder 协议,我们同样可以应用上述模型进行分析。具体步骤如下:
1.
构建初始配置
:与距离界定协议类似,根据参与代理(如 Alice 和 Bob)和入侵者的初始状态构建初始配置。例如,Alice 有发起通信的能力,Bob 有响应的能力,入侵者有窃听和篡改消息的能力。
2.
定义协议规则
:考虑超时机制,定义协议的初始化、执行、超时和终结规则。例如,Alice 等待 Bob 响应的规则可以表示为:
Time@T, Alice(WaitResponse, NA)@T1, TA(Alice, WaitResponse)@T2, W | T1 ≤ T, T2 ≥ T → ∃N.[Time@T, Alice(NextState, Y)@(T + t), W2, W]
其中,
Alice(WaitResponse, NA)
表示 Alice 处于等待 Bob 响应的状态,
TA(Alice, WaitResponse)@T2
表示该状态的超时时间为
T2
。如果在超时时间内未收到响应,协议将进入下一个状态。
3.
设置目标配置
:目标配置可以表示入侵者成功绕过超时机制进行攻击的情况。例如,入侵者在超时时间内发送伪造的响应消息。
4.
进行可达性分析
:从初始配置出发,使用模型规则寻找是否存在到达目标配置的跟踪。如果存在,则说明协议在超时机制方面可能存在安全问题。
4.3 复杂度分析
为了更好地评估模型的性能和协议的安全性,我们需要进行复杂度分析。在复杂度分析中,我们主要考虑协议理论的平衡版本。
-
平衡规则的优势
:平衡规则中,前置条件和后置条件中的事实数量相同,这使得平衡系统的跟踪中的所有配置具有相同数量的事实。这一特性有助于简化复杂度分析,因为我们可以更准确地预测系统的状态变化。
-
空事实的作用
:为了将不平衡规则转换为平衡规则,我们使用空事实。空事实代表可用的空闲内存槽,通过添加空事实,我们可以使协议理论更易于分析。但需要注意的是,得到的平衡系统与原始不平衡系统并不等价,可达状态集和可能的跟踪会减少。
-
复杂度评估指标
:我们可以考虑事实的大小、规则的数量以及可达状态的数量等指标来评估复杂度。例如,对于一个协议理论,如果事实的大小和规则的数量较少,那么可达状态的数量可能也会相对较少,复杂度较低。
5. 总结与展望
5.1 总结
本文深入探讨了安全协议的定时方面,包括距离界定协议和超时机制。通过引入定时多重集重写模型,我们能够更准确地表示协议的定时行为,并对协议的安全性进行验证。具体内容如下:
-
定时多重集重写模型
:介绍了时间戳事实、配置、动作(时间推进动作和瞬时动作)、跟踪、目标配置和可达性问题,以及平衡规则的概念。
-
定时协议理论
:包括网络理论和协议理论。网络理论考虑了代理之间的距离、传输介质和网络延迟,协议理论则考虑了协议的初始化、执行、超时和终结规则,以及处理时间和超时机制。
-
模型应用
:将模型应用于距离界定协议和超时机制协议的分析,通过构建初始配置、定义协议规则、设置目标配置和进行可达性分析,发现潜在的安全漏洞。
-
复杂度分析
:考虑协议理论的平衡版本,通过空事实将不平衡规则转换为平衡规则,评估模型的复杂度。
5.2 展望
未来的研究可以在以下几个方面展开:
-
模型的扩展
:进一步扩展模型,考虑更多的因素,如移动代理、动态网络拓扑和复杂的攻击场景。例如,在移动代理的情况下,代理的位置和速度会影响消息的传输时间,需要对模型进行相应的调整。
-
算法优化
:研究更高效的可达性分析算法,以提高模型的验证效率。例如,可以使用启发式搜索算法或并行计算技术来加速可达性分析。
-
实际应用验证
:将模型应用于实际的安全协议中,验证模型的有效性和实用性。例如,在物联网、云计算等领域的安全协议中进行验证。
-
与其他模型的结合
:将定时多重集重写模型与其他安全模型(如形式化验证模型、机器学习模型)相结合,以提高安全协议的分析和验证能力。例如,使用机器学习模型来预测协议的潜在攻击,然后使用定时多重集重写模型进行详细的验证。
通过以上的研究和发展,我们有望进一步提高安全协议的安全性和可靠性,为信息安全领域的发展做出贡献。
附录:相关流程图
graph TD;
A[构建初始配置] --> B[定义协议规则];
B --> C[设置目标配置];
C --> D[进行可达性分析];
D --> E{是否到达目标配置};
E -- 是 --> F[发现安全漏洞];
E -- 否 --> G[协议安全];
附录:相关表格
| 模型元素 | 描述 |
|---|---|
| 时间戳事实 | 用于指定明确提及时间的系统,形式为 F@T |
| 配置 | 一组基础时间戳事实的多重集,包含一个 Time 事实 |
| 时间推进动作 | Time@T → Time@(T + ε),表示时间的推进 |
| 瞬时动作 | 不影响全局时间,但可能重写其余事实 |
| 跟踪 | 从初始配置开始,通过应用规则得到的配置序列 |
| 目标配置 | 表示协议遭受攻击的配置 |
| 可达性问题 | 是否存在从初始配置到目标配置的跟踪 |
| 平衡规则 | 前置条件和后置条件中事实数量相同的规则 |
超级会员免费看
25

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



