用组合法设计普适网络安全协议_第1页
用组合法设计普适网络安全协议_第2页
用组合法设计普适网络安全协议_第3页
用组合法设计普适网络安全协议_第4页
用组合法设计普适网络安全协议_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用组合法设计普适网络安全协议杨帆摘要: 给出一种新的安全协议的设计方法组合设计方法, 首先分别实现各个安全目标, 然后将它们组合为一个新的安全协议。组合方法设计安全协议具有易于实现、易于验证等优点。给出组合规则, 使用组合方法实现了普适计算环境下认证协议及密钥协商协议的设计。关键词: 普适计算安全协议 组合 Security protocol for ubiquitous computing network design by composition methodAbstract: This paper proposed a novel designmethod-design by compo

2、sition, constructing a complicated protocol fromsimpleprotocol primitived without destroying the security properties established by each independent part. This method made the designand verification of the protocol easier to handle. The regulations of composition had been present. And with these reg

3、ulationsof composition design, this paper implemented an authentication protocol and a key agreement protocol for ubiquitouscomputing network.Key words: ubiquitous computing; security protocols design; compositionmethod引言第三代计算:普适计算, 使得计算能够随时随地进行。Weiser 等人 1 用“安静的技术”来描述普适计算, 普适计算通过网络进行数据的传输。与以往已有的互联网

4、等有线网和无线局域网、移动自组网、无线传感器网络等无线网不同, 普适计算网络是新一代的网络, 它可以包含诸如电力、Intent 网、无线传感器、Ad_hoc 等各种网络形式, 同时又具有自身的新性能。要保证这样一个复杂的普适计算网络的安全性, 将是一个巨大的挑战。通常采用安全协议来确保网络通信的安全性、保密性、认证性和完整性等。安全协议确保消息的安全传输, 它们一般实现与安全相关的目的, 包括对通信个体进行验证、建立会话密钥等。它们看似简单, 想要正确地设计它们却非常难, 对安全协议的设计目前还大都依赖于设计者的经验。Abadi 等人 2通过对以往公布的协议常见错误分析, 给出了一套设计准则。

5、该准则给出设计过程中需要遵守及要避免的一些事项, 这对设计者事后检查自己工作的正确性有帮助, 然而它对设计的整个过程的帮助有限。Gong 等人 3 提出一种基于fail-stop 的协议。这种协议只要收到的消息与协议规范不符, 即中止协议继续进行, 这样很好地防止了主动攻击。因为攻击只能影响到前面的消息, 一旦协议发现错误即中止。这一方案加强了协议的安全性, 却并没有解决如何设计fail-stop 协议问题。Buttyan等人 4提出一种与BAN逻辑相似的逻辑设计方法。它基于信道, 使用一个抽象模型建立与验证协议, 得到一个类似BAN 逻的协议描述。这一方案提供了一个较高层的抽象化的设计方式,

6、然而它会遇到与BAN逻辑相类似的问题,逻辑的描述与协议符号间的不明确性, 可能导致协议的错误。一些APG ( automaticprotocol generation) 5 计划被提出, 它们首先给出一些符合安全目标的协议选择, 然后在其中进行自动化选择。这一方案需要控制被选择协议的数量, 同时又要防止遗漏。Datta 等人 6 给出了一个使用组合、提炼、转换的方法, 从一系列协议中获取一个新协议的方案。这一方案包含两个基本协议块、三条转换及七条提炼规则, 然而该方案并不适用于对称密钥算法。安全协议设计者使用一些确保新鲜性、完成单向认证、避免重放攻击的机制来完成一个新协议的设计。一个新的协议就

7、是这些机制的组合, 如一个双向的认证协议可看做是由两个单向认证协议组合而成。由此, 本文提出一种组合方法来设计新协议, 将不同机制组合成一个更复杂的协议, 或将几个简单协议组合成一个更复杂协议。如何在完成组合的同时又能保证原有协议的安全性? 这需要深入研究组成协议的各个模块,同时给出组合规则。本文对协议进行研究, 确定规则并最终完成新协议设计, 这一方法即为组合设计法。各个组成基本部分的协议称为协议源。组合设计法通过对协议源的选取, 组合出一个更加复杂的协议, 并保证不破坏各个协议源中已有的安全目标。本文完成以下几项工作: a) 提出一种安全协议设计方法:组合法; b) 对组合法进行详细描述,

8、 包括描述规范及组合规则; c) 采用组合方法在普适计算网络中设计了一个认证协议及密钥协商协议。1 组合方法1. 1 概述传统设计方法将所有安全目标作为一个整体, 在越来越复杂的网络环境中, 安全协议的设计更加困难。将安全目标分为一个系列, 对它们以单个协议的形式逐个实现, 然后再按一些规则将这些单个协议组合成一个新的协议, 称之为组合法。每个目标独立地、互不干扰地完成, 最后使用连接规则将所有目标组合, 并同时运行。将完成单个安全目标的协议称为协议源。从一些已有的得到安全性确认的安全协议中提取协议源,它们能够很好地完成某个单一的安全目标, 显然这些协议源的安全性很容易得到确认。组合法确保新的

9、协议由各个协议源组合而成, 同时保持各个协议源原有的安全特性。组合方法有以下两个主要优点:a) 易于实现。通过协议源一次完成一个安全目标, 这样的协议源非常容易获得。相比同时需完成所有安全目标的设计方法, 组合方法更容易实现。b) 安全性易于验证。组合方法是对安全目标的累加, 这些安全目标在组合后能够保持并且互不干扰。由于每个协议源相对简单, 并且是从各个已获得安全性认证的协议中获得的, 其安全性容易验证, 同时整个新的安全协议的安全性也容易验证。1. 2 符号假设G = g1 , g2 , gn 是协议需要实现的一系列安全目标, 如鉴别、机密性等。Pg = p1 , p2 , , pn 代表

10、一系列协议源, p1完成安全目标g1。P 为新的安全协议:P = p1*p2*pn各个协议源必须遵守某个顺序, 用o( pi ) 表示。P( x, y) 代表某协议。其中: x 为协议传递信息; y 为协议参与方, 如节点A、B。e 为协议中的运行动作。如果协议消息分别为P1 : M1、M2 , P2 : N1 、N2 , 那么每个发送消息的步骤即为一个动作, 即动作有e( M1 ) 、e( M2 ) 、e( N1 ) 、e( N2 ) 。而组合这两个协议可能出现不同的顺序o( pi) , 如e( M1 ) e( M2 ) e( N1 ) e( N2 ) 表示协议按发送M1 、M2、N1、N2

11、 的顺序进行组合。1. 3 组合规则组合方案中, 协议被定义为一系列完成某个安全目标的协议源通过一些特定顺序组合的一个新的协议。协议源的组合可能造成一个协议源中的安全目标被另一个协议源所破坏。为保证协议源原有的安全性, 首先必须保证各个协议源的安全目标不能有冲突, 即它们可以独立地进行累加。协议的正确性来源于每个协议源的安全目标独立完成、互不干扰。本文给出了以下两条组合规则, 以确保各个协议源的安全目标的独立性:a) 无干扰性。必须保证Pi 的安全目标不会影响到协议Pj的安全目标, 也就是说, 协议Pi 完成目标gi , 同时协议Pi 也能完成目标gj。b) 描述规范性。协议Pi 与协议Pi

12、间符号使用的规范性,如Pi中使用密钥k, 则在Pi 中不能再使用密钥k, 以避免混淆。有协议:P1 : B: B, x, KAB, authKAB( x, )B A: A, x, KBA,P2 : B: B, x, KAB, authKAB( x, )B A: A,x, 其中: authK( x, ) 用来表示由某个拥有密钥k 的节点产生一个认证消息。为避免由于使用不同的认证算法, 如数字签名、单向函数等可能造成的混乱, 统一将认证消息表述为authK ( x,) 。以上协议中, = A, B, x 为A 产生的nonce, KAB与KBA分别为A、B 拥有的密钥, 因为是对称密钥, 所以有K

13、AB = KBA。协议P1、P2 分别为两个认证协议:P1 : B: B, x, KAB, authKAB( x, )B A: A, x, KBA,P1 : C: C, x, KAC, authKAC( x, )CA: A, x, KCA, = A, CP1、P1 分别完成A 与B 的认证和A 与C 的认证。如果将它们组合起来, 是否会产生相互的影响。P1 中生成新鲜数x ,它由A、B 加密, 只在A、B 间传送, 节点C 不可能会获得这个数x; 同样, A、C 间的新鲜数也不会被被B 获知。所以即便使用同样的变量来代表, P1、P1 在运行过程中也不会产生影响。P2 : B: B, x, K

14、AB, authKAB( x, )B A: A, x, P2 : ( C: B, x, KAB, authKAB( x, )CA: A, x, P2、P2 也分别完成A 与B 的认证和A 与C 的认证。如果将它们组合起来, 可能会产生干扰。BA: A, x, ; CA: A,x, ; 对A来说, 它无法区分哪个是B 发送的, 哪个是C 发送的, 所以P2、P2 不能组合起来。必须保证x 为不同的数时,P2 、P2 才不会干扰。满足以上规则的协议都能够用做协议源。对协议源的组合使用组合指令。一个节点A产生一个数据, 如新鲜数或一个秘密, 它必须确定将这个数据传送给谁, 称之为组合指令。组合指令对

15、一些需要组合在一起的协议源参数进行定义。如果A 生成新鲜数x 给节点B, 那么整个组合指令可表示为: 新鲜数x, 发起方A, 响应方B: x, A, B, 通常以C 表示组合指令。2 普适计算安全协议设计2. 1 协议源一般来说, 协议源的选取取决于诸多因素, 如密钥算法的耗能、协议所处的环境等。对协议源的选取依情况而定, 可先选取一些小的协议源, 然后再按规则对其进行添加。这一方案的优点在于: 选取小的协议源, 它们通常很容易验证其正确性,并且它们还可以反复用于其他新协议的构建, 这提高了协议设计的灵活性和可复用性。已有的各种安全协议提供了丰富的协议源选择。PGP( pretty good

16、privacy) 为一个电子邮件加密协议, 它向用户提供机密性、发送方鉴别和报文完整性, PGP 使用公钥算法、散列函数和数字签名技术。公钥的分发采用认证机构( certificationauthority, CA) 。安全套接字层( secure sockets layer, SSL) 协议在Web 客户与服务器间提供数据加密和鉴别, 使用一系列可信证书认证机构及其公钥。加密的SSL 会话在服务器或客户间的所有信息均由可信的第三方加密和解密。IPSec 使用称为HMAC 的散列函数鉴别方案对通信双方进行认证, 要求通信双方各自计算出一个散列结果, 而且仅能由它们自己知道, 根据适当的摘要可实

17、现对通信双方的认证。无线网络中安全性尤为重要。最初的802. 11 规范中标准化的安全性机制, 统称为有线等效保密( wired equivalent privacy,WEP) 。WEP 协议使用对称共享密钥方法, 在主机与无线接入点( 即基站) 之间提供_鉴别和数据加密。IEEE 802. 11i 向无线客户机节点提供鉴别和加密的形式, 客户机则请求它希望的特定鉴别和加密形式。使用公钥技术( 包括不重数加密和报文摘要) 以允许客户机和鉴别服务器彼此鉴别传感器网络安全协议( security protocol forsensor networks, SPINS) 。SPINS 有两个模块, 即

18、SNEP 和TESLA。SNEP 提供数据机密性、双方认证和新鲜性证明;TESLA 提供可认证广播。以对称密钥加密的MAC, 如果验证正确, 则确保了双方认证; 如果消息被验证, 知道CA 的比较即可知道消息发送的先后顺序, 这提供了较弱的新鲜性保证。普适计算安全协议与以上协议不同, 从已有协议中提取可用协议源。本文采用组合方法设计双向认证协议及密钥协商协议, 首先选取源, 按照规则对协议进行组合。2. 2 双向认证协议众所周知, 为满足普适计算环境中节点的计算能力等限制, 通常必须使用对称密钥算法, 所以要组合生成一个基于对称密钥的双向认证协议。双向认证协议可以通过两个单向认证协议组合而成,

19、 选取一个安全的单向认证协议作为协议源。对称密钥算法需要一个认证服务器, 负责将消息从一方传送到另一方, 产生和分发新密钥。认证服务器向A发布一个秘密消息y, 同时认证用户A身份, 可以表述为P SA: y KSA, authKSA( y, )服务器S是可信任的, 它使用与A 共享的密钥KSA对y 进行加密, 同时对A进行认证。以上协议可以确保只有A 才能获取秘密y。以上消息完成了S与A 的单向认证及消息的秘密传送。将两个单向协议组合为一个双向认证协议: P = p1 p2 ,= ( A, B, S) , a 为节点A生成数据, b 为节点B 生成数据, c 为节点S给a 发送的秘密, CSA

20、 =( a, c, ) 为S 与A 的连接指令,d为节点S 给b 发送的秘密, CSB = ( b, d, ) 是S 与B 的连接指令。协议源如下:p1 N1 B S: , b, KBS, authKBS( b, )N2 SB: B, d KSB, CSBKSBp2 M1 AS: , a, KAS, authKAS( a, )M2 S A: B, c KSA, CSAKSAo( p) : e( M1 ) e( N1 ) e( M2 ) e( N2 ) 。新协议:P: M1 A S: , a, KAS, authKAS( a, )N1 BS: , b, KBS, authKBS( b, )M2

21、SA: B, c KSA, CSAKSAN2 S B: B, d KSB, CSBKSB为防止重放攻击, 认证服务器S 生成数据c、d, 一般要加一个时戳t。服务器向各个节点发布新的密钥k, 所以c = k,d= k。CSA = a, b, k, ; CSB = b, k, t, ; 同时产生新的连接指令CAB: 产生a, b, t, KBS。以上协议可变为P A B: , a, KAS, authKAS( a, )B S: , a, KAS, authKAS( a, ) , b, t, KBS, a, b, t, KBSS A: A, b, k, t KSA, a, b, k, KSA, k

22、, t KBS, b, k, t, KSBAB: B, k, t KBS, b, k, t, KSB以上组合过程, 协议源符合组合规则, 互不干扰。通过对两个单向认证协议的组合实现了一个双向认证协议; 同时, 由于所采用的协议源从Needham-Schroeder 协议中提取, 其安全性早已被证实。采用组合方法很容易地获得了一个符合要求的双向认证协议。双向认证协议最终的顺序:o( p) : e( M1 ) e( M1 , N,1, CAB) e( M2 , N2 ) e( N2 ) 。2. 3 密钥协商协议同样, 采用组合方法生成一个密钥协商协议, 即一个节点通过认证服务器向另一个节点发送一个

23、密钥, 协议必须确保密钥的保密性。假定B 向A发送密钥, 由B 产生密钥k。协议可表示为P =P1 ( a, c; ) , P2 ( b; ) , = ( A, B, S) 。令c = b, 表示服务器将b 通过c 传送给A, CBS = a, b, A, B, S。协议源为P1 M1 AS: , a, KAS, authKAS( a, )M2 SA: A, c KSA, CSAKSAP2 N1 BS: , b, KBS, authKBS( b, )N2 BS: B, CSBKSBo( p) : e( M1 ) e( N1 , CBSKBS ) e( M2 ) e( N2 ) 。图3表示对以上

24、协议源初步组合协议顺序:P: A B: A, B, S, a, KAS, authKAS( a, A, B, S)BS: A, B, S, a, KAS, authKAS( a, A, B, S) , b, A, B, S KBS,a, b, A, B, SKBSS B: B, b, A, B, SKSBS A: A, b KSA, a, b, A, B, SKSA完成以上步骤, 为确认A 与B 间密钥的可用性, A 使用新密钥产生一个会话, 或者与B 确认一个由B 产生的新鲜数。如果A 由以上步骤获知了密钥, 那么一个A 与B 间的认证程序可以完成最后密钥的确认。如协议源:P M1 BA:

25、A, y KAB, x, y, A, BKABM2 AB: B, x, x, A, B KAB, authKAB( x, A, B)所以最后协议为P = P1 * P2 * P: b = KABAB: A, B, S, a, A, B, S KAS, authKAS( a, A, B, S)B S: A, B, S, a, A, B, S KAS, authKAS( a, A, B, S) , b, A, B,S KBS, a, b, A, B, SKBSS B: A, B, b KSA, a, b, A, B, SKSA, a KSB, a, b, A, B, SKSBB A: A, x K

26、AB, x, A, BKABAB: B, x, x, A, B KAB, authKAB( x, A, B)o( p) : e ( M1 ) e ( N1 , CBSKBS ) e ( M2 ) e ( N2 ) e( M1 ) e( M2 ) 。3 结束语随着越来越复杂的网络环境, 安全协议设计也变得越来越困难。为解决这一难题, 本文提出一种组合设计方法, 给出了该方法的组合规则, 该组合方法设计安全协议具有灵活、易于实现和易于验证等优点。同时文中采用组合方法, 在普适计算网络环境中, 给出了双向认证协议和密钥协商协议这两个安全协议的组合设计过程。显然普适计算网络中存在各种不同安全目标, 为设计出能符合各项安全目标的普适计算安全协议, 需要进一步的努力, 也是下一步的研究目标。参考文献: 1 EISER M, BROWN J S. The coming age of calm technology. C / /Proc of Beyond Calculation: the Next Fifty Years of Computing.New York: Copernicus, 1998. 2 ABADI M, NEEDHA M R. Prudent engineering practice for cryptographicprotocols J

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论