第七章密码协议:73密钥建立认证协议 7.31NS密钥分配协议 ●抗等待重放攻击 方法一:要求网络中各方以KDC的时钟为基准定期检查并调整自己 的时钟 方法二:使用一次性随机数的握手协议 这就是NS协议的另一种改进方法 (3) Needham-Schroeder协议的改进方案之二 ①A→B:DAN4 ②B→KDC:IDB| NRIEKBID4NA|TBl ③KDC→A: EKALD BIINAIKSITB EKBIDAK、TlN ④A→B: EKBIDA| KSITBIEKSINBI B是B建议的证书会话密钥)截止时间,用于截止时间前再次发 起会话时Ks是否可用的判别时间 历蟓毛孑拌技字 27
7.3.1 NS密钥分配协议 抗等待重放攻击 ⚫ 方法一:要求网络中各方以KDC的时钟为基准定期检查并调整自己 的时钟 ⚫ 方法二:使用一次性随机数的握手协议 ⚫ 这就是NS协议的另一种改进方法 (3) Needham-Schroeder协议的改进方案之二 ⚫ ① A→B:IDA‖NA ⚫ ② B→KDC:IDB‖NB‖EKB[IDA‖NA‖TB] ⚫ ③ KDC→A:EKA[IDB ‖NA ‖KS ‖TB ]‖EKB[IDA ‖KS ‖TB ]‖NB ⚫ ④ A→B:EKB[IDA‖KS ‖TB]‖EKS[NB] ⚫ TB是B建议的证书(会话密钥)截止时间,用于截止时间前再次发 起会话时KS是否可用的判别时间 27/ 第七章 密码协议:7.3 密钥建立认证协议
第七章密码协议:73密钥建立认证协议 7.31NS密钥分配协议 ●协议的具体含义如下: ①中A发出的新的一次性随机数MA以后将与会话密钥Ks一起以加密 形式返回给A,以保证A收到的会话密钥的新鲜性。 ②B向KDc发出与A建立会话密钥的请求,发出的一次性随机数N 以后将与会话密钥一起以加密形式返回给B以向B保证会话密钥的新 鲜性 ③KDC将B产生的N连同由KDC与B共享的密钥KB加密的 ⅠD4KsTB起发给A,其中Ks是KDC分配的会话密钥 EKBIDAKSIIT剧]由A当作票据用于以后的认证。 ④A将票据 EKBIDAUKSITB连同由会话密钥加密的一次性随机数NB 发往B,B由票据得到会话密钥Ks,并由Ks得NgoN由会话密钥加 密的目的是B认证了自己收到的消息不是一个重放而的确是来自于 A 历忠毛孑技*字 28/
7.3.1 NS密钥分配协议 协议的具体含义如下: ⚫ ① 中A发出的新的一次性随机数NA以后将与会话密钥KS一起以加密 形式返回给A,以保证A收到的会话密钥的新鲜性。 ⚫ ② B向KDC发出与A建立会话密钥的请求,发出的一次性随机数NB 以后将与会话密钥一起以加密形式返回给B以向B保证会话密钥的新 鲜性 ⚫ ③ KDC将B产生的NB连同由KDC与B共享的密钥KB加密的 IDA‖KS ‖TB一起发给A,其中KS是KDC分配的会话密钥 ⚫ EKB[IDA ‖KS ‖TB ]由A当作票据用于以后的认证。 ⚫ ④ A将票据EKB[IDA ‖KS ‖TB ]连同由会话密钥加密的一次性随机数NB 发往B,B由票据得到会话密钥KS,并由KS得NB。NB由会话密钥加 密的目的是B认证了自己收到的消息不是一个重放,而的确是来自于 A。 28/ 第七章 密码协议:7.3 密钥建立认证协议
第七章密码协议:73密钥建立认证协议 7.31NS密钥分配协议 如果A保留由协议得到的票据 EKBIDAIKSIT,就可在有效 时间范围内不再求助于认证服务器而由以下方式实现双方 的新认证: ①A→B: EKBIDAIKSITBI,NA ●②B→A:NB,EKsN4l ③A→B:EKN ≥B在第①步收到票据后,可通过T检验票据是否过时,而新 产生的一次性随机数NA,Ng′则向双方保证了没有重放攻 击 以上协议中时间期限T是B根据自己的时钟定的,因此不要 求各方之间的同步 历忠毛孑技*字 29/
7.3.1 NS密钥分配协议 如果A保留由协议得到的票据EKB[IDA‖KS ‖TB] ,就可在有效 时间范围内不再求助于认证服务器而由以下方式实现双方 的新认证: ⚫ ① A→B:EKB[IDA‖KS ‖TB],NA ⚫ ② B→A:NB ,EKS[NA ] ⚫ ③ A→B:EKS[NB ] B在第①步收到票据后,可通过TB检验票据是否过时,而新 产生的一次性随机数NA ,NB 则向双方保证了没有重放攻 击 以上协议中时间期限TB是B根据自己的时钟定的,因此不要 求各方之间的同步 29/ 第七章 密码协议:7.3 密钥建立认证协议
第七章密码协议:73密钥建立认证协议 732基于公钥加密的会话密钥分配协议 ●由于公钥加密的速度过慢,因此进行保密通信不太合适, 但用于分配单钥密码体制的密钥却非常合适 1.简单分配 下图表示简单使用公钥加密算法建立会话密钥的过程,如果A希望 与B通信,可通过以下几步建立会话密钥 ①PKA‖D4 B ②EPk|Ks 简单使用公钥加密算法建立会话密钥 历忠毛孑技*字 30/
7.3.2 基于公钥加密的会话密钥分配协议 由于公钥加密的速度过慢,因此进行保密通信不太合适, 但用于分配单钥密码体制的密钥却非常合适 1. 简单分配 ⚫ 下图表示简单使用公钥加密算法建立会话密钥的过程,如果A希望 与B通信,可通过以下几步建立会话密钥 30/ 第七章 密码协议:7.3 密钥建立认证协议 A B ① PKA||IDA ② EPKA[KS] 简单使用公钥加密算法建立会话密钥
第七章密码协议:73密钥建立认证协议 7.32基于公钥加密的会话密钥分配协议 ①A产生自己的一对密钥PKA,SKA},并向B发送PK4‖DA,其中 D表示A的身份 ②B产生会话密钥Ks,并用A的公开钥PKA对Ks加密后发往A ③A由DsK[EPkK]恢复会话密钥。因为只有A能解读Ks,所以仅 A、B知道这一共享密钥。 ④A销毁{PKA,SKA},B销毁PKA A、B现在可以用单钥加密算法以K作为会话密钥进行保密通信,通信 完成后,又都将K销毁 这种分配法尽管简单,但却由于A、B双方在通信前和完成通信后,都 未存储密钥,因此,密钥泄露的危险性为最小,且可防止双方的通信 被敌手监听, 每次公私钥由发方临时产生 ●但由于公钥缺少证书管理机构认证且非物理传输容易受到主动攻击 历忠毛孑技*字
7.3.2 基于公钥加密的会话密钥分配协议 ⚫ ① A产生自己的一对密钥{PKA,SKA},并向B发送PKA||IDA,其中 IDA表示A的身份 ⚫ ② B产生会话密钥KS,并用A的公开钥PKA对KS加密后发往A ⚫ ③ A由DSKA[EPKA[KS]]恢复会话密钥。因为只有A能解读KS,所以仅 A、B知道这一共享密钥。 ⚫ ④ A销毁{PKA,SKA},B销毁PKA。 A、B现在可以用单钥加密算法以KS作为会话密钥进行保密通信,通信 完成后,又都将KS销毁 这种分配法尽管简单,但却由于A、B双方在通信前和完成通信后,都 未存储密钥,因此,密钥泄露的危险性为最小,且可防止双方的通信 被敌手监听, ⚫ 每次公私钥由发方临时产生 但由于公钥缺少证书管理机构认证且非物理传输容易受到主动攻击 31/ 第七章 密码协议:7.3 密钥建立认证协议