微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 数据独立技术在CSP协议模型中的设计

数据独立技术在CSP协议模型中的设计

时间:10-22 来源:互联网 点击:

该进程满足PosConjEqT′c条件(并且因此,整个协议模型满足网络其他部分的条件)。

可以看出系统成分是否满足上述性质对研究至关重要。只有满足这些条件才能够在协议分析的CSP模型中构造更为复杂的事件。

(3)Roscoe数据独立技术的意义

Roscoe在文献中引入了NM进程,负责产生系统所需的无眼新鲜值。那么在以前运行中,一个进程要在每一次输出通信时产生一个新鲜值v;而现在就会将这次通信变为向该进程输入v,并且要求其与相应的NM进程同步。

为了满足新鲜值的惟一性和新鲜性,引入的NM进程需进行下列操作:存储所有发送的新鲜值,相同的新鲜值只发送一次,不发送属于攻击者的新鲜值。显然这些操作并不满足PosConjEqT条件。

Roscoe没有单独使用NM进程进行无限新鲜值的分发,而是应用数据独立技术,在NM进程中执行Collapse转换,通过转换从有限集生成无限新鲜值。

Roscoe的数据独立技术提供了这样的理论基础:若系统的所有成分满足PosConjEqT′c条件,则大协议系统中转换前的全部行为(就系统迹而言)可以用经过映射的相应的有限系统描述。这一技术保证了可以在大协议中应用非单映射转换,将问题简化为相应的有限系统。

  3 数据独立技术在CSP协议模型中的设计

  数据独立技术使模型检测器的证明更加完整,因为它的应用使大协议的建模成为可能。

3.1 协议模型的扩展
  
  为了解决验证的局限性,需要系统代理能够在实际类型保持有限的情况下,调用无限的不同的新鲜值。沿用Roscoe的方法,引入Manager进程扩展CSP协议模型。与以前的协议模型相比,该模型引入了Manager进程。此进程与Intruder进程相互配合以实现新鲜值的循环利用,因此可视为新鲜值的循环机制。可以说,该模型是对Roscoe文献的一个扩展和细化,可以证明其满足PosConjEqT′c条件:

  (1)进程中的数据类型随机数Na、Nb和密钥Kdo均为数据独立类型。

  (2)可信代理进程为标准类型进程,满足PosConjEqT′c条件。

  (3)攻击者进程在明确推理系统中建立,并且其初始知识集不包含对类型T成员(除了常数C)的非等价测试,满足P0sConjEqT′c条件。

因此该系统中转换前全部行为可以用经过映射的、相应的有限系统描述。也正基于此,可以在无限新鲜值的产生过程中应用非单映射转换,从而将其简化为相应的有限过程,以形成完整的形式化描述。

3.2 协议各对象的描述
  
  对于每一个新鲜值引入对应的Manager进程,取消可信代理分发新鲜值的能力,只在单次运行期间存储新鲜值,并要求其在完成协议一次运行时“遗忘”所有存储的新鲜值。当新鲜值v不再被可信参与者所知(存储)时,称v被“遗忘”。攻击者能够存储在网络中所见的所有新信息。为了能够产生无限的新鲜值,可以对攻击者存储的新鲜值应用collasphag函数,从而启动所提出的新鲜值循环机制。即当新鲜值v在网络中被“遗忘”时可以被循环再利用。一旦该值被循环利用,相应的Manager进程可以在网络中再次将其作为新鲜值使用。

(1)可信进程
  
  在扩展的CSP协议模型中,进程描述如下:

扩展后的描述主要有三处变动:第一,进程被定义为递归进程,表示Initiator可以执行无限数量的序列运行;而在之前的模型描述中,进程在SKIP终止。第二,新鲜Nonce NA不再是参数,而是来自集合NonceF(通过定义,进程可以接收该集合中的任意值);之后将会介绍Manager进程如何终止这些值的产生。第三,添加了close事件表示进程重新开始执行初始状态。该事件标志着进程一次运行的结束,在新鲜值的循环机制中发挥重要作用。(2)Manager进程

  Manger进程负责利用有限资源向网络提供无限的新鲜值。需要为每一种数据独立类型分别定义一个Manager进程,在上述的Yahalom协议中需要定义一个管理Nonce类型值的Manager进程——Nonce Manager和一个管理SESSionKey类型值的Manager进程——SessionKeyManager。本节研究Manager进程的CSP设计和实现。

将协议中的每一种数据独立类型T所拥有的值分为两类集合。第一类集合称为Foreground值,这些值被阿络视为新鲜值。第二类集合由Background值组成,表示类型r旧的或静态的值。当循环利用Intruder存储的新鲜值时,将使用这一集合进行映射。

可以说Manager进程是建模过程中的人造产物,并不代表实际对象而只代表了对于新鲜值的某种操作,主要完成触发“遗忘”值的循环和分发新鲜值的功能。

为了对Manager进程进行形式化描述,此处定义两个新的事件:

  ①ifclose.(v):表示最后一个存储v的进程是否已经“遗忘”了v,如果“遗忘”为true,否则为false。

  ②replace.(v,b):表示对intruder存储中含有v的所有信息进行操作,将v的所有实例替换为Background值b,即完成Collapse函数的非单映射。在相对意义上,v又会被视为新鲜,即实现了有限值产生无限新鲜值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top