安全协议理论与方法课件.ppt
《安全协议理论与方法课件.ppt》由会员分享,可在线阅读,更多相关《安全协议理论与方法课件.ppt(102页珍藏版)》请在三一办公上搜索。
1、安全协议理论与方法,基于证明结构性方法,安全协议理论与方法基于证明结构性方法,简介,推理结构性方法缺陷:不能解决秘密性,缺乏清晰的语义。攻击结构性方法缺陷:状态空间爆炸,时间与空间资源受限。,简介推理结构性方法缺陷:,简介,Human-readable方法的特点:将重点放在明确区分主体的可信度上。运用强有力的不变式技术和攻击者知识公理使得认证过程类似于基于模型的验证方法。,简介Human-readable方法的特点:,主体知识及操作,可信主体:A、B、S不可信主体:Z主体间发送的消息可分为:基本消息:包括密钥K和非密钥的数据D。合成消息:包括消息对(C1,C2)和加密消息。对称密钥域记为KS,
2、非对称密钥域记为KA。,主体知识及操作可信主体:A、B、S,主体知识及操作续,K=KA KSC=Ck | (C,C) | BB=K | DK=KA |KS | KS-1S=C S : 可被攻击者获取的消息集合。,主体知识及操作续K=KA KS,主体知识及操作续,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中赋值。,主体知识及操作续kK, dD,那么dC, (d,k),主体知识及操作续,五种基本操作:;用一个已知密钥加密
3、一个已知数据。:用一个已知密钥解密一个已知数据。:级联两个已知数据。:分离一个数据对。:生成数据的子集合。,主体知识及操作续五种基本操作:,主体知识及操作续,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)| (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。,主
4、体知识及操作续ss=(s,s)| (s,c,主体知识及操作续,对于, 的任意子集E=x1,xn, 记E 为x1xn的自反传递闭包。Known_in s 定义为:S known_in s当且仅当s , ,主体知识及操作续对于, 的任意子集E,主体知识及操作续,引理5.1如果E , , 那么s,s,s. (sEs) (ssE ss)证明:如果对于已知的数据集合和参数集合基本操作的前置条件是满足的,那么对于s的任意子集也是满足的,并且操作的应用结果是一样的。 关系E 对于, 的任何子集是具有融合性的,体现在:,主体知识及操作续引理5.1如果E ,主体知识及操作续,1)如果sEs1和sEs2,那么存在
5、s3有sEs3和s2Es3。如果s , s, 那么存在s有: s , s, ss。更为一般的,如果对于任何一个非空子集E,如果sEs, 那么存在s有s Es和 ss。 3) 如果sis 和sjs, 其中i, , j, ,那么存在S有sjs和sis。,主体知识及操作续1)如果sEs1和sEs2,那么存在s,主体知识及操作续,推论5.1如果s, s, 那么存在s有s,s 和 s, s。,主体知识及操作续,主体知识及操作续known_in性质,A1c known_in sc known_in s(c,c) known_in sA2(c,c) known_in sc known_in s c know
6、n_in sA3c known_in sk known_in sck known_in sA4ck known_in sk-1 known_in sc known_in sA5s known_in ss known_in s(ss) known_in sA6(ss) known_in s s known_in ss known_in sA7s known_in sA8 known_in s,主体知识及操作续known_in性质A1c known,主体知识及操作续comp_of性质,B1(c,c) comp_of sc comp_of s c comp_of sB2ck comp_of sk-1
7、 comp_of sc comp_of sB3s comp_of ss comp_of s(ss) comp_of sB4(ss) comp_of s s comp_of ss comp_of sB5s comp_of sB6 comp_of s,主体知识及操作续comp_of性质,主体知识及操作续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
8、s)c d (c comp_of sd)C4 (c comp_of sc1c2)c(c1,c2)(c 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(),主体知识及操作续setofkeys性质Setofkeys:,Known_in 和 comp_of 关系,D1(s known_in s) (s comp_of s)D2(b comp_of
9、 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) (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 关系D1(s k,Known_in 和 comp_of 关系续,D6 ( s known_in s) (c known_in s) (ss known_in s),Known_in 和 comp_of 关
10、系续,协议形式化分析实例-NS,AS:A,BSA:E(Ks-1: kb,B)AB:E(kb: Na, A)BS:B,ASB:E(ks-1:ka,A)BA:E(Ka: Na, Nb)AB:E(Kb: Nb),协议形式化分析实例-NSAS:A,B,Human-readable证明法对协议的分析,主体及原子行为的描述。认证属性的提出。不变式的构造。认证属性的验证。,Human-readable证明法对协议的分析,主体及原子行为的描述,SA= slave: PrincipalNA:NonceNB:NonceKB:Kat:Program AddressSB= master: PrincipalNA:No
11、nceNB:NonceKA:Kat:Program Address,主体及原子行为的描述SA= slave: Princip,主体及原子行为的描述续,Ss=key: Principal Kat:ProgramAddress其中at 用于记录每个主体执行算法的次数。,主体及原子行为的描述续,主体及原子行为的描述续,action(SA.at, 1a, SA.at)Sz=Sz(A,SA.slave)action(Ss.at, 1s, Ss.at)(d1,d2) known_in Szaction(Ss.at, 2s, Ss.at)Sz=Sz(Ss.key(d3),d3)ks-1action(SA.a
12、t, 2a, SA.at)(SA.KB,SA.slave)ks-1 known_in Szaction(SA.at, 3a, SA.at)Sz=Sz(SA.NA, A)SA.KBnew(SA .NA,SZ)action(SB.at, 3b, SB.at)(SB.NA,SB.master)kB known _in Szaction(SB.at,4b, SB.at)Sz=Sz(B,SB.master)action(Ss.at,4s,Ss.at)(d4,d5) known_in Sz,主体及原子行为的描述续action(SA.at, 1a, S,主体及原子行为的描述续,9)action(Ss.at,
13、 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 known_in Sz,主体
14、及原子行为的描述续9)action(Ss.at, 5s,主体及原子行为的描述续,每一种行为刻画了一个可信主体与攻击者之间的通信以及由此引起的两个主体状态变量的同时变化。Sz= SzS, 此形式描述可信主体发送消息S给攻击者。S known_in Sz,描述消息S的反方向发送。攻击者发出它已知的消息:刚接收的消息,先前发送的或生成的用于误导其他主体的消息.,主体及原子行为的描述续每一种行为刻画了一个可信主体与攻击者之,认证属性的提出,假设存在一个全局观察者,其任意选择两个可信主体并试图使协议保证不出现下列情况:一个主体相信他已经正确地执行了一个与另一个主体的认证会话,但另一个主体正进行其他事情或
15、进行着完全一致的会话.主主体用A表示,从主体用B表示。,认证属性的提出假设存在一个全局观察者,其任意选择两个可信主体,3a,3b,6b,6a,7a,7b,行为执行顺序图,3a3b6b6a7a7b行为执行顺序图,认证属性描述,主主体认证属性描述:每次当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的行为。,认证属性描述主主体认证属性描述:,不变式的构造一,关于S的不变式一攻击者不能获知主体私钥,
16、否则将造成协议缺陷,记为 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 known_in (Szrng(key)(Ks-1 known_in (Szrng(key),不变式的构造一关于S的不变式一,不变式的构造二,A和B为他们欲通信的主体使用正确的密钥。首先描述形为(k,d)kB-1的攻击者已知的所有数据:(k,d).(k,d)kB-1 known_in Szk=key(d)则inv2(s)为:(k
17、,d).(k,d)kB-1 known_in Srng(key)k=key(d),不变式的构造二A和B为他们欲通信的主体使用正确的密钥。首先描,关于A和B的不变式,主体A(或B)必须使用正确的从主体(主主体)的密钥,并且不能是攻击者可用于误导主体的密钥。1A: (pre(SA.at,3a)pre(SA.at,7a)So.kB=key(SA.slave)1B: (pre(SB.at,6b)So.KB=key(SA.slave)Pre(at,3a):只有当at在行为可被触发的一个状态中时状态为真。,关于A和B的不变式主体A(或B)必须使用正确的从主体(主主体,认证属性的证明,主主体认证属性的证明证
18、明在A的两个连续的行为3a和6a之间,至少有B的一个行为6b。证明在3a和6b之间存在一个对应的持有与3a同样消息的3b。这证明了B至少进行了3b和6b两个行为,并且是以正确的顺序和正确的值进行的。引入变量: in_window=false证明: 如果SA.slave=B 与3a一起执行,3a将置in_window=True; 如果SA.slave=B 与6a一起执行,6a将置in_window=False;,认证属性的证明主主体认证属性的证明,认证属性的证明续,现在证明如果in_window=True,那么行为6a不可能发生:SA.(SA.NA, SA.NB)KA known_in Sz此性
19、质可用一个不变式描述为:In_window=true n.(SA.NA, n)KA known_in Sz,认证属性的证明续现在证明如果in_window=True,那,认证属性的证明续,通过增加SB.masterASA.NASB.NA和b.(SA.NA, b)kB known_in Szb=A当在行为6b由SB.masterA(不变式成立的必要条件是SA.NA与SB.NA不相同)触发的情况下证明不变式性质的保持时,第一个约束条件被引入;当在行为3b被触发的情况下证明不变式性质的保持时,第二个约束条件被引入。,认证属性的证明续通过增加SB.masterASA.NA,从主体认证属性的证明,In_
20、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。,从主体认证属性的证明In_window=true(SB,从主体认证属性的证明续,但是如果SA.NA和SB.NB是不同的,那么不变式显然是不成立的。而且根据它的角色,A必须发送(SA.NA, A)kc给C,但根据假设攻击者是知道此消息的(因
21、为除了A,B,S外任何主体都可充当攻击者的角色)。攻击者因此知道了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所触发。,从主体认证属性的证明续但是如果SA.NA和SB.NB是不同的,从主体认证属性的证明续,由上述说明可知,协议是有缺陷的。修改之一:在消息6中增加发送者的标识。第二个约束条件变为:b.(SA.NA, SB.NB, b)kA known_in Szb=B,从主体认证属性的证明续由上述说明可知,协议是有缺陷的。,并行多
22、重会话,崩溃主体在并行会话中扮演多个角色的可能。协议中的S具有这种可能。一旦A已执行了1a后,唯一能执行的行为2a,例如它不能接受3b,这意味着它作为一个从主体为其他进程开始了另一个会话;它也不能执行1a,这意味着它作为主主体开始了另一个会话。它也不能执行1a,这意味着它作为主主体开始了另一个会话。,并行多重会话崩溃主体在并行会话中扮演多个角色的可能。协议中的,并行多重会话续,AB:NaBA:E(Kab: Na, Nb)AB:Nb协议的行为包括6步:1a,1b,2b,2a,3a,3b,并可对A、B的状态以及6个行为进行形式化描述,但是:1)断言行为的描述,需考虑新型的序列约束。2)每个主体的状
23、态涉及多个并行会话,因此需要跟踪每个会话的内容。,并行多重会话续AB:Na,并行多重会话续,描述主认证属性时仅考虑1a和2a以及B的行为1b和2b。证明不变式 (Kab known_in Si)然后用反证法证明行为2b在任一会话中必须出现在由1b和2b界定的窗口内。它使用一个窗口不变式:In_window=truen.(SA.NA,n)Kab known_in Si),并行多重会话续描述主认证属性时仅考虑1a和2a以及B的行为1,并行多重会话续,注意2b的不同情况:2b可被A或B执行。2b由B执行时Sb.master可等价于A或不等价于A,SA.NA也可等价于SB.NA,或者不等价。如果2b由
24、A执行,则存在问题。如果强制执行与前述协议同样的序列约束,认证属性得到满足,否则,如果A可执行并行的多重会话,那么将破坏不变式,作为从主体,A将给攻击者一个答案,即它在等待所涉及的其他并行会话。,并行多重会话续注意2b的不同情况:,Human-readable,若要求更为详细的协议分析时,可与基于模型检测的形式化方法交替使用。其已用于许多认证协议的分析中,验证结论可以从一个协议应用到另一个协议,因为:证明法的主要工作是独立于协议的,因此是可以重用。即使是与协议相关的部分,诸如不变式的确定与证明或认证属性的形式化与证明,也不因协议不同而有重大改变,因而也是可以重用的。,Human-readabl
25、e若要求更为详细的协议分析时,可与,Paulson归纳法,基于协议消息和事件的攻击结构方法注记的结构性证明法。Human-readable:将协议模型为4种主体。Paulson:所有可能事件路径的集合。每条路径是一个包含多轮协议通信的事件序列。主体接收到一个路径,可转发它或根据协议规则进行扩展使消息的真正发送者对此无从可知。它可以模拟所有攻击和密钥丢失。,Paulson归纳法基于协议消息和事件的攻击结构方法注记的结,Paulson归纳法续,秘密性:攻击者不能获知发送给其他主体的消息内容。认证性:如果一个消息表现为发自主体A,那么主体A的确发送了此消息,并且消息内的随机数或事件戳将正确指示其新鲜
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安全 协议 理论 方法 课件
链接地址:https://www.31ppt.com/p-1762713.html