安全协议理论与方法课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《安全协议理论与方法课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安全 协议 理论 方法 课件
- 资源描述:
-
1、安全协议理论与方法基于证明结构性方法简介推理结构性方法缺陷:不能解决秘密性,缺乏清晰的语义。攻击结构性方法缺陷:状态空间爆炸,时间与空间资源受限。简介Human-readable方法的特点:1.将重点放在明确区分主体的可信度上。2.运用强有力的不变式技术和攻击者知识公理使得认证过程类似于基于模型的验证方法。主体知识及操作可信主体:A、B、S不可信主体:Z主体间发送的消息可分为:1)基本消息:包括密钥K和非密钥的数据D。2)合成消息:包括消息对(C1,C2)和加密消息。3)对称密钥域记为KS,非对称密钥域记为KA。主体知识及操作续K=KA KSC=Ck|(C,C)|BB=K|DK=KA|KS|K
2、S-1S=C S:可被攻击者获取的消息集合。主体知识及操作续kK,dD,那么dC,(d,k)C,dkCd(d,k)dk涵盖三个元素知识的S中的一个元素。变量s,s,s,.,s1,s2,在S中赋值。变量k,k,k,.,k1,k2,在K中赋值。变量d,d,d,.,d1,d2,在D中赋值。主体知识及操作续五种基本操作:;用一个已知密钥加密一个已知数据。:用一个已知密钥解密一个已知数据。:级联两个已知数据。:分离一个数据对。:生成数据的子集合。主体知识及操作续ss=(s,s)|(s,c,k,s=k cs)s=s(c)k ss=(s,s)|(s,c,k,s=k-1(c)ks)s=scss=(s,s)|(
3、s,c,k,s=c1c2s)s=s(c1,c2)ss=(s,s)|(s,c,k,s=(c1,c2)s)s=sc1c2 ss=(s,s)|(s,s1.s=s1s)s=s1数据s可从数据s中生成当且仅当如果存在一个5个基本操作系列使得状态s转换到s,记为 s known_in s。主体知识及操作续对于,的任意子集E=x1,xn,记E 为x1xn的自反传递闭包。Known_in s 定义为:S known_in s当且仅当s,主体知识及操作续引理5.1如果E,那么s,s,s.(sEs)(ssE ss)证明:如果对于已知的数据集合和参数集合基本操作的前置条件是满足的,那么对于s的任意子集也是满足的,并
4、且操作的应用结果是一样的。关系E 对于,的任何子集是具有融合性的,体现在:主体知识及操作续1)如果sEs1和sEs2,那么存在s3有sEs3和s2Es3。2)如果s,s,那么存在s有:s,s,ss。更为一般的,如果对于任何一个非空子集E,如果sEs,那么存在s有s Es和 ss。3)如果sis 和sjs,其中i,j,那么存在S有sjs和sis。主体知识及操作续推论5.1如果s,s,那么存在s有s,s 和 s,s。主体知识及操作续known_in性质A1 c known_in sc known_in s(c,c)known_in sA2(c,c)known_in sc known_in s c
5、known_in sA3 c known_in sk known_in sck known_in sA4 ck known_in sk-1 known_in sc known_in sA5 s known_in ss known_in s(ss)known_in sA6(ss)known_in s s known_in ss known_in sA7 s known_in sA8 known_in s主体知识及操作续comp_of性质B1(c,c)comp_of sc comp_of s c comp_of sB2 ck comp_of sk-1 comp_of sc comp_of sB3
6、s comp_of ss comp_of s(ss)comp_of sB4(ss)comp_of s s comp_of ss comp_of sB5 s comp_of sB6 comp_of s主体知识及操作续setofkeys性质Setofkeys:当且仅当是密钥集合时,setofkeys(s)为真。C1(c comp_of s)(k-1 comp_of s)c ck(c comp_of sck)C2(c comp_of sc)c ck(c comp_of sck)C3(c comp_of s)c d(c comp_of sd)C4(c comp_of sc1c2)c(c1,c2)(c
7、comp_of s(c1,c2)C5(c comp_of )C6(s comp_of s)(s comp_of s)(ss comp_of s)C7 cs setofkeys(s)(c comp_of s)C8 setofkeys(s)setofkeys(s K)C9 setofkeys()Known_in 和 comp_of 关系D1(s known_in s)(s comp_of s)D2(b comp_of s)(b known_in s)D3(ck comp_of s)(k comp_of s)(ck known_in s)D4(ck comp_of s)(c known_in s)(
8、ck known_in s)D5(c,c)comp_of s)(c known_in s)(c known_in s)(c,c)known_in s)Known_in 和 comp_of 关系续D6 (s known_in s)(c known_in s)(ss known_in s)协议形式化分析实例-NS1)AS:A,B2)SA:E(Ks-1:kb,B)3)AB:E(kb:Na,A)4)BS:B,A5)SB:E(ks-1:ka,A)6)BA:E(Ka:Na,Nb)7)AB:E(Kb:Nb)Human-readable证明法对协议的分析1)主体及原子行为的描述。2)认证属性的提出。3)不变式
9、的构造。4)认证属性的验证。主体及原子行为的描述SA=slave:PrincipalNA:NonceNB:NonceKB:Kat:Program AddressSB=master:PrincipalNA:NonceNB:NonceKA:Kat:Program Address主体及原子行为的描述续Ss=key:Principal Kat:ProgramAddress其中at 用于记录每个主体执行算法的次数。主体及原子行为的描述续1)action(SA.at,1a,SA.at)Sz=Sz(A,SA.slave)2)action(Ss.at,1s,Ss.at)(d1,d2)known_in Sz3)
10、action(Ss.at,2s,Ss.at)Sz=Sz(Ss.key(d3),d3)ks-14)action(SA.at,2a,SA.at)(SA.KB,SA.slave)ks-1 known_in Sz5)action(SA.at,3a,SA.at)Sz=Sz(SA.NA,A)SA.KBnew(SA.NA,SZ)6)action(SB.at,3b,SB.at)(SB.NA,SB.master)kB known _in Sz7)action(SB.at,4b,SB.at)Sz=Sz(B,SB.master)8)action(Ss.at,4s,Ss.at)(d4,d5)known_in Sz主体
11、及原子行为的描述续9)action(Ss.at,5s,Ss.at)Sz=Sz(Ss.key(d6),d6)kB-110)action(SB.at,5b,SB.at)(SBKA,B)KB-1 known_in Sz11)action(SB.at,6b,SB.at)Sz=Sz(SB.NA,SB.NB)SB.KAnew(SB.NB,Sz)12)action(SA.at,6a,SA.at)(SA.NA,SA.NB)kA known_in Sz13)action(SA.at,7a,SA.at)Sz=Sz(SA.NB)SA.KB14)action(SB.at,7b,SB.at)(SB.NB)kB know
12、n_in Sz主体及原子行为的描述续每一种行为刻画了一个可信主体与攻击者之间的通信以及由此引起的两个主体状态变量的同时变化。1)Sz=SzS,此形式描述可信主体发送消息S给攻击者。2)S known_in Sz,描述消息S的反方向发送。攻击者发出它已知的消息:刚接收的消息,先前发送的或生成的用于误导其他主体的消息.认证属性的提出假设存在一个全局观察者,其任意选择两个可信主体并试图使协议保证不出现下列情况:一个主体相信他已经正确地执行了一个与另一个主体的认证会话,但另一个主体正进行其他事情或进行着完全一致的会话.主主体用A表示,从主体用B表示。3a3b6b6a7a7b行为执行顺序图认证属性描述主
13、主体认证属性描述:每次当A执行完一轮会话3a,6a,7a时,B必须完成3b,6b以及此后的7b,且其对应的值与3a,6a,7a一致。及行为的次序为:3a,3b,6b,6a,7a,7b。从主体认证属性描述:每次当B执行完一轮会话3b,6b,7b时,A必须完成3a,6a以及7a的行为。不变式的构造一(1)关于S的不变式一攻击者不能获知主体私钥,否则将造成协议缺陷,记为 inv0(Sz),定义如下:Inv0(Sz)=(KA-1 known_in Sz)(KB-1 known_in Sz)(Ks-1 known_in Sz)Inv1(Sz)=(KA-1 known_in(Szrng(key)(KB-1
14、 known_in(Szrng(key)(Ks-1 known_in(Szrng(key)不变式的构造二A和B为他们欲通信的主体使用正确的密钥。首先描述形为(k,d)kB-1的攻击者已知的所有数据:(k,d).(k,d)kB-1 known_in Szk=key(d)则inv2(s)为:(k,d).(k,d)kB-1 known_in Srng(key)k=key(d)关于A和B的不变式主体A(或B)必须使用正确的从主体(主主体)的密钥,并且不能是攻击者可用于误导主体的密钥。1A:(pre(SA.at,3a)pre(SA.at,7a)So.kB=key(SA.slave)1B:(pre(SB.
15、at,6b)So.KB=key(SA.slave)Pre(at,3a):只有当at在行为可被触发的一个状态中时状态为真。认证属性的证明(1)主主体认证属性的证明1)证明在A的两个连续的行为3a和6a之间,至少有B的一个行为6b。2)证明在3a和6b之间存在一个对应的持有与3a同样消息的3b。这证明了B至少进行了3b和6b两个行为,并且是以正确的顺序和正确的值进行的。3)引入变量:in_window=false4)证明:如果SA.slave=B 与3a一起执行,3a将置in_window=True;5)如果SA.slave=B 与6a一起执行,6a将置6)in_window=False;认证属性
16、的证明续现在证明如果in_window=True,那么行为6a不可能发生:SA.(SA.NA,SA.NB)KA known_in Sz此性质可用一个不变式描述为:In_window=true n.(SA.NA,n)KA known_in Sz认证属性的证明续通过增加SB.masterASA.NASB.NA和b.(SA.NA,b)kB known_in Szb=A当在行为6b由SB.masterA(不变式成立的必要条件是SA.NA与SB.NA不相同)触发的情况下证明不变式性质的保持时,第一个约束条件被引入;当在行为3b被触发的情况下证明不变式性质的保持时,第二个约束条件被引入。从主体认证属性的证
17、明In_window=true(SB.NB)kB known_in Sz)增加:SA.slaveBSB.NBSA.NB。例如如果A与其他主体C通信,那么SA.NB将不是B所期待的随机数。与上类似为使行为6a保持不变式,需有:(SA.NA,SB.NB)KA known_in Sz也即:A收到一个消息如果第一部分SA.NA是正确的,那么其第二部分一定不同于SB.NB。从主体认证属性的证明续但是如果SA.NA和SB.NB是不同的,那么不变式显然是不成立的。而且根据它的角色,A必须发送(SA.NA,A)kc给C,但根据假设攻击者是知道此消息的(因为除了A,B,S外任何主体都可充当攻击者的角色)。攻击者
18、因此知道了Kc-1和SA.NA,并能够发送(SA.NA,A)kc给B。由此(SA.NA,SB.NB)KA known_in Sz 和 SA.slaveB 及SB.NB=SA.NB都为真,并且7b可由A的一个不正确响应6a所触发。从主体认证属性的证明续由上述说明可知,协议是有缺陷的。修改之一:在消息6中增加发送者的标识。第二个约束条件变为:b.(SA.NA,SB.NB,b)kA known_in Szb=B并行多重会话崩溃主体在并行会话中扮演多个角色的可能。协议中的S具有这种可能。一旦A已执行了1a后,唯一能执行的行为2a,例如它不能接受3b,这意味着它作为一个从主体为其他进程开始了另一个会话;
19、它也不能执行1a,这意味着它作为主主体开始了另一个会话。它也不能执行1a,这意味着它作为主主体开始了另一个会话。并行多重会话续1)AB:Na2)BA:E(Kab:Na,Nb)3)AB:Nb4)协议的行为包括6步:1a,1b,2b,2a,3a,3b,并可对A、B的状态以及6个行为进行形式化描述,但是:5)1)断言行为的描述,需考虑新型的序列约束。6)2)每个主体的状态涉及多个并行会话,因此需要跟踪每个会话的内容。并行多重会话续描述主认证属性时仅考虑1a和2a以及B的行为1b和2b。证明不变式(Kab known_in Si)然后用反证法证明行为2b在任一会话中必须出现在由1b和2b界定的窗口内。
20、它使用一个窗口不变式:In_window=truen.(SA.NA,n)Kab known_in Si)并行多重会话续注意2b的不同情况:2b可被A或B执行。2b由B执行时Sb.master可等价于A或不等价于A,SA.NA也可等价于SB.NA,或者不等价。如果2b由A执行,则存在问题。如果强制执行与前述协议同样的序列约束,认证属性得到满足,否则,如果A可执行并行的多重会话,那么将破坏不变式,作为从主体,A将给攻击者一个答案,即它在等待所涉及的其他并行会话。Human-readable若要求更为详细的协议分析时,可与基于模型检测的形式化方法交替使用。其已用于许多认证协议的分析中,验证结论可以从
21、一个协议应用到另一个协议,因为:1)证明法的主要工作是独立于协议的,因此是可以重用。2)即使是与协议相关的部分,诸如不变式的确定与证明或认证属性的形式化与证明,也不因协议不同而有重大改变,因而也是可以重用的。Paulson归纳法基于协议消息和事件的攻击结构方法注记的结构性证明法。Human-readable:将协议模型为4种主体。Paulson:所有可能事件路径的集合。每条路径是一个包含多轮协议通信的事件序列。主体接收到一个路径,可转发它或根据协议规则进行扩展使消息的真正发送者对此无从可知。它可以模拟所有攻击和密钥丢失。Paulson归纳法续秘密性:攻击者不能获知发送给其他主体的消息内容。认证
22、性:如果一个消息表现为发自主体A,那么主体A的确发送了此消息,并且消息内的随机数或事件戳将正确指示其新鲜性。借鉴了状态探测和信仰逻辑的某些方面。借鉴状态探测描述事件,第二种方法给出对所生成的消息的信仰。Paulson归纳法概述续协议的非形式化描述:主体A:在协议结束时只有A和B有可能知道会话密 钥Kab。主体B:攻击者能得到什么?主体A:在没有A和B的长期密钥的前提下,它是不 能读取证书。主体B:攻击者能够欺骗B接收与它共享的密钥?主体A:可识别的随机数的使用可阻止这一行为。Paulson归纳法概述续Paulson归纳法为归纳定义,每个定义列出了主体或系统可能的行为。归納规则可用于推理任意长度
23、的有限行为序列的结果。parts:用于生成消息集合的所有部分。Analz:表示使用正确密钥解密之前传递的消息。Synth:表示对消息的伪造。与信仰逻辑不同,协议的归纳验证的证明过程是详细的,协议每个安全属性都能得到证明。Paulson归纳法概述续1.消息主体标识:A,B,。随机数:Na,Nb,。密钥:Ka,Kb,Kab,。消息混合 X,X。消息的Hash值。加密的消息Crypt KX。Paulson归纳法概述续2.Parts,analz 和synth 如果H表示一个主体的初始知识和一条路径中所有发送的消息,那么每个操作可从H的消息中衍生出新的消息以扩充H。Parts H通过不断地增加混合消息和
24、加密消息来从H中获得。Crypt KXparts HXparts HParts Gparts H=parts(GH)Paulson归纳法概述续analz H通过不断地增加混合消息和可用集合中的密钥解密的消息来从H中获得。Kanalz H,那么通过监听H不能获知K。Crypt KXanalz H:K-1 analz Xanalz HAnalz Ganalz H=analz(GH)Analz Hparts HPaulson归纳法概述续synth H是攻击者通过不断增加主体标识,构造混合消息和用H中的密钥生成加密消息来从H中获得的。Xsynth H,KHCrypt KXsynth HKsynth H
25、KHPaulson归纳法概述续3.攻击者:可以观察网络中所有通信。发送从集合synth(analz H)中衍生的欺骗消息。在模型中攻击者被视为参与协议运行的一个诚实的主体,它可以用其长期秘密密钥发送正常的协议消息,以及伪造的消息,使得它能够利用截获的密钥参与协议的运行并因此欺骗其他主体。Paulson归纳法概述-协议模型4.协议模型Says A B X:表示A发送消息X给B。Notes A X:表示A内部存储X。除攻击者外,主体只接收发送给它们的消息。Paulson归纳法概述-协议模型续Otway-Rees协议1)AB:M,A,B,E(Kas:Na,M,A,B)2)BS:M,A,B,E(Kas
展开阅读全文