欢迎来到163文库! | 帮助中心 精品课件PPT、教案、教学设计、试题试卷、教学素材分享与下载!
163文库
全部分类
  • 办公、行业>
  • 幼教>
  • 小学>
  • 初中>
  • 高中>
  • 中职>
  • 大学>
  • 各类题库>
  • ImageVerifierCode 换一换
    首页 163文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    《现代密码学原理与实践》课件第6章.ppt

    • 文档编号:7938894       资源大小:755.50KB        全文页数:100页
    • 资源格式: PPT        下载积分:15文币     交易提醒:下载本文档,15文币将自动转入上传用户(momomo)的账号。
    微信登录下载
    快捷注册下载 游客一键下载
    账号登录下载
    二维码
    微信扫一扫登录
    下载资源需要15文币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    优惠套餐(点此详情)
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、试题类文档,标题没说有答案的,则无答案。带答案试题资料的主观题可能无答案。PPT文档的音视频可能无法播放。请谨慎下单,否则不予退换。
    3、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者搜狗浏览器、谷歌浏览器下载即可。。

    《现代密码学原理与实践》课件第6章.ppt

    1、第6章 密钥管理和密码协议第第7 7章章 密钥管理和密码协议密钥管理和密码协议6.1 密钥管理密钥管理6.2 密钥共享密钥共享(密钥分配问题密钥分配问题)6.3 密码协议密码协议6.4 零知识证明零知识证明6.5 公钥基础设施公钥基础设施(PKI)习题习题 6实践练习实践练习 6-1实践练习实践练习 6-2第6章 密钥管理和密码协议 密钥是现代密码体系中最关键的一些数据,对整个系统的安全起着至关重要的作用。在一个庞大的通信网络中,存在大量不同级别不同权限的用户,有着形形色色的密钥需要分配和认证,这无疑是一个非常复杂的问题,需要有效地加以管理。本章主要讨论密钥的产生、密钥的分配、密钥共享和密码协

    2、议等问题。最后作为实例讨论公钥基础设施PKI。第6章 密钥管理和密码协议6.1密钥管理密钥管理46.1.1概述概述 现代密码体系的一个基本概念是算法可以公开,而私有密钥则必须是保密的。不管算法多么强有力,一旦密钥丢失或出错,不但合法用户不能提取信息,而且可能导致非法用户窃取信息,甚至系统遭到破坏。一个安全系统,不仅要阻止侵入者窃取密钥,还要避免密钥的未授权使用、有预谋的修改和其他形式的操作,并且希望当这些不利的情况发生时,系统应能及时察觉。密钥管理应解决密钥自产生到最终销毁的整个过程中所涉及的各种问题,包括产生、装入、存储、备份、分配、更新、吊销和销毁。其中最棘手的是分配和存储。第6章 密钥管

    3、理和密码协议 1.密钥的种类密钥的种类 (1)基本密钥(BaseKey)基本密钥也称初始密钥(PrimaryKey),由用户自选,或由系统分配给用户,在较长时间内由该用户所专用,以k0表示。(2)会话密钥(SessionKey)会话密钥是两个通信终端在一次通话时所采用的密钥,由用户双方预先约定或动态地产生,以k1表示。它的作用是使我们不必频繁地更换基本密钥,同时又能增加安全性。(3)密钥加密密钥(KeyEncryptingKey)在交换会话密钥时,需要加密传送,用来加密会话密钥的密钥,就是密钥加密密钥,用ke表示。一般各终端各有一把相互不同的ke与主机交换会话密钥,而主机则不仅需要与各终端交换

    4、会话密钥,还要与其他主机之间交换密钥。第6章 密钥管理和密码协议 (4)主机主密钥(HostMasterKey)主机主密钥是对密钥加密密钥进行加密的密钥,用于主机给各用户分配ke,用km表示。其他还有一些特殊用途的密钥,如用户选择密钥(CustomOptionKey)、族密钥(FamilyKey)、算法更新密钥(AlgorithmChangingKey)等。2.密钥的产生密钥的产生 靠人工产生和管理密钥的方法已被时代所淘汰,目前已有多种密钥产生器为大型系统提供各类密钥。主机主密钥通常用诸如掷硬币、骰子或从随机数表中选数等随机方式产生,以保证密钥的随机性,避免可预测性。第6章 密钥管理和密码协议

    5、 密钥加密密钥可由机器自动产生,见图6.1。常用的密钥产生器有随机比特发生器(如噪声二极管振荡器)或伪随机数发生器,也可由主密钥控制下的某种算法产生。会话密钥可通过某种加密算法动态地产生,如用初始密钥控制下的非线性移位寄存器或主密钥控制下的DES算法产生。初始密钥的产生与主机主密钥或密钥加密密钥产生的方法相同。实践表明,增加密钥长度固然很必要,然而更重要的是它的产生算法和选择方法。有的人喜欢使用一些单词为密钥,为的是容易记忆,但是采用字典攻击常能奏效,按字典上的词汇一一进行尝试,这样25%的密钥可被猜到。因此我们建议:第6章 密钥管理和密码协议 (1)采用真正随机等概的序列为密钥,如掷硬币的结

    6、果。(2)避免使用特定算法的弱密钥。(3)采用揉搓和杂凑技术,将易记的词组句子经过单向函数处理变成伪随机数串。3.密钥的更换密钥的更换 密钥使用时间越长,泄露的机会就越大。所以密钥,特别是会话密钥要经常更换,使对手无法捉摸或难以搜索。密钥被更换的频率依据如下几点确定:(1)被保护数据的敏感性。(2)被保护数据的有效期。(3)密码算法的强度。第6章 密钥管理和密码协议图6.1 数据加密密钥的产生 第6章 密钥管理和密码协议 4.密钥的存储密钥的存储 密钥的存储必须保障密钥的机密性、认证性和完整性。应防止密钥泄露和被篡改。比较好的存储方式是将密钥存于磁条卡,或嵌入ROM芯片中,这样用户在使用时自己

    7、都不知道密钥是什么。还可将密钥分为两半,卡上和终端机中各一半。另外一个办法就是对密钥加密,使密钥永远不以未加密的方式出现在设备之外。5.密钥的销毁密钥的销毁 不用的旧密钥必须销毁,否则可能造成危害。别人可能用它读取曾用它加密的文件,分析加密体系。对于写在纸上的密钥要用碎纸机粉碎,对于存在于介质上的密钥,要多次冲写。第6章 密钥管理和密码协议 6.密钥的吊销密钥的吊销 在密钥使用期内,发生丢失或其他不安全事件时,就需要从所使用的密钥集合中将其除去,并且通知系统防范。证书形式的公钥,可通过注销公钥证书的方式吊销。6.1.2密钥分配协议密钥分配协议 密钥分配(KeyDistribution)指的是这

    8、样一种机制:系统中某一个成员选择了一个秘密密钥,系统有能力将它安全地传送给另一个成员;设想有一个n用户的不安全网络,当某两位用户想保密通信时,先向可信任中心TA提出申请,TA为他们选择一个会话密钥,通过安全信道(不在网络上进行)传给他们;这样就需要n条信道;若系统中两两都要通信,则每人须保存(n-1)个密钥,而TA则须保存n(n-1)个密钥;显然当n较大时,代价是十分昂贵的。这称为n2问题。第6章 密钥管理和密码协议 1.对称系统的密钥分配对称系统的密钥分配 对称系统指通信双方使用同一把密钥的保密系统。这种系统又有在线和离线之分。前面所述的有n个安全通道的系统就是离线系统,而在线系统则不必保存

    9、那么多密钥。想利用网络通信的用户临时向TA申请一个会话密钥,每次都可以不同,以确保密钥的新鲜性(KeyFreshness),这是TA的义务。Kerberos协议是一个基于对称密钥的流行的密钥服务系统。在此系统中,每个用户U和可信任中心(对称密钥分发中心)共享一个DES密钥。密钥交换协议如下:(1)用户U为了与用户V通信,先向TA申请一个会话密钥。(2)可信任中心TA随机地选取一个会话密钥K,一个时戳T和生存期L。第6章 密钥管理和密码协议 (3)可信任中心用自己与U的密钥kU加密ID(V)等信息:m1=EU(K,ID(V),T,L)(6-1)再用自己与V的密钥kV加密ID(U)等信息:m2=E

    10、V(K,ID(U),T,L)(6-2)最后将m1和m2发送给U。这里,ID(U)是关于U的某些识别信息。(4)用户U首先解密m1以获得K、ID(U)、T和L,接着U就可以通过T和L来验证密钥K是否在有效期内,然后用会话密钥K加密:m3=EK(ID(U),T)(6-3)将m3和m2一起发给V。第6章 密钥管理和密码协议 (5)用户V首先解密m2以获得ID(U)、K、T和L,然后用K解密m3获得ID(U)和T。通过判断两个ID(U)是否一致,从而验证了会话密钥的正确性。此后用K计算:m4=EK(T+1)(6-4)并发给U。(6)用户U用K解密m4,以验证T+1的正确性,表明V已收到K。以上协议中,

    11、m1和m2用来提供会话密钥在传输中的秘密性;m3和m4用来使U和V确信收到了同一把会话密钥;而T和L用来防止主动攻击者用存储的旧消息进行重复攻击。Kerberos协议的缺点之一是系统必须统一时钟,另一个缺点是仍不能解决对称密钥普遍存在的n2问题。第6章 密钥管理和密码协议 2.非对称系统的密钥分配非对称系统的密钥分配 1)Blom方案 公开一个素数p,每个用户公开一个元素rUZp,各用户的rU必须互不相同。可信任中心随机选择三个随机元素a,b,cZp(未必不同),构成多项式:f(x,y)=(ab(xy)cxy)mod p (6-5)显然,它对于x和y对称:f(x,y)=f(y,x)(6-6)对

    12、用户U,可信任中心计算:aU=abrU,bU=bcrU (6-7)第6章 密钥管理和密码协议由此构造函数:gU(x)=f(x,rU)=(a+bx+brU+crUx)mod p=(aUbUx)mod p(6-8)并用安全信道将此线性函数传给用户U。同样,每个用户都从可信任中心获得自己的gi(x)。如果U想与V通信,U计算KUV=gU(rV),而V计算KVU=gV(rU),不难得知:KUV=KVU=f(rU,rV)=(abrU)+(bcrU)rV mod p =ab(rUrV)crUrV mod p (6-9)于是U和V便有共同的密钥,是各自通过计算得到的。问题是其他用户,比如W能得知KUV吗?假

    13、设W已经有了来自可信任中心的函数:gW(x)=(aWbWx)mod p (6-10)他想要推知KUV。第6章 密钥管理和密码协议 现在,rU和rV是公开的,而a、b、c是保密的。显然,W由方程组:WWWWbcrbabra(6-11)是无法确定三个变量a、b、c的。他得不到a、b、c也就求不出KUV。然而如果任何两个用户合作,却可以唯一地确定a、b、c。因为由联立方程:XXXXWWWWbcrbabrabcrbabra(6-12)第6章 密钥管理和密码协议就可以确定a、b、c,从而求出任何一个用户的密钥。此方案的安全性如此脆弱是因为这只是规模k=1的Blom方案。现将协议第步做如下改动,信任中心即

    14、可使用如下形式的多项式:pyxakikjjiij mod00(6-13)这里aijZp(0ik,0jk),并对所有的i和j,有aij=aji。这样便构成规模为k(1)的Blom方案,此时,任何少于k个的用户合作,均无法破译系统密钥,只有k+1个用户合作才可以破译密钥。第6章 密钥管理和密码协议 2)Diffie-Hellman密钥预分配方案 公开一个素数p和一个本原元素 。ID(U)表示网络中用户U的某些信息,每个用户有一个秘密指数aU和一个相应的公钥:(6-14)可信任中心有一个签名方案SigTA,当用户U入网时,可信任中心给U发一个签名的证书:C(U)=ID(U),bU,SigTA(ID(

    15、U),bU)(6-15)可信任中心无须知道aU的值,证书可以放在公开的数据库中,也可以由U自己存储。pZpba modUU第6章 密钥管理和密码协议 V使用自己的私钥aV和从U的证书中获得的公钥bU计算:(6-16)U使用自己的私钥aU及从V的证书中获得的公钥bV计算:(6-17)于是,通过不对称密钥体系,使U和V得到了相同的密钥。算法的安全性是基于离散对数的复杂性的。pbpKaaa mod modVVUUUVpbpKaaa mod modVVUVUV第6章 密钥管理和密码协议6.2密钥共享密钥共享(密钥分配问题密钥分配问题)26.2.1问题的提出问题的提出 有一项绝密文件锁在保险柜里,为安全

    16、起见,规定课题组6人中至少4人在场方可打开柜子,同时也可避免万一某一位丢失钥匙而造成严重事故。究竟应当怎样配备锁子和钥匙呢?不妨这样考虑锁子的数量:6人中3人到场的情况是 =20种,这时至少还有一把锁不能打开,最不利的情况是这20种组合中的不能打开的锁是各不相同的,所以至少应有20把锁。然后考虑钥匙的数量:先任意指定1人必须在场,6人当中的4人在场等价于非指定的5人中3人在场,这样的情况是 =10种,这10种组合中每种都尚有一把锁必须等指定的那个人到场才能打开。而最36C35C第6章 密钥管理和密码协议不利的情况是10种组合中的最后一把锁是各不相同的,因此指定的人至少应当有10把不同的钥匙去一

    17、一配合这10把不同的锁。无论先指定谁都一样。由此可见,每个人至少应持有10把不同的钥匙。6个人共应有60把钥匙,平均每把锁配有3把钥匙。这60把钥匙在6个人中被恰当地分配。把这个问题用到密钥分享方面,就相当于取一个20位的数字串,分给6个人保管,每人保管其中不相同的10位。任意3人组合,一定有一位并且只有一位数字是3个人都不掌握的,所以3个人不能得到完整的密钥。第四个人如果参与,虽然他与原来3个人中的任何两人可构成三种3人组合,但各组合都仍然各缺一个数位且只缺一位。设缺的分别是第i、j、k位,而原来的3人组合所空缺的位是第l位,因为不同3人组合的缺位是不同的,第6章 密钥管理和密码协议i、j、

    18、k都不是l,所以l一定掌握在第四个人手里,4人组合后,l位必然不空缺,这就保证了4人组合必然得到完整的密钥。例如,密钥是(a1a2a3a19a20),且:A1掌握(a11a12a13a14a15a16a17a18a19a20);A2掌握(a5a6a7a8a9a10a17a18a19a20)A3掌握(a2a3a4a8a9a10a14a15a16a20);A4掌握(a1a3a4a6a7a10a12a13a16a19)A5掌握(a1a2a4a5a7a8a11a13a15a18);A6掌握(a1a2a3a5a6a8a11a12a14a17)则第一种3人组合A1A2A3缺少a1位,第二种3人组合A1A2

    19、A4缺少a2位,第i种3人组合缺少ai位,直到第二十种3人组合A4A5A6缺少a20位。共有 =20种不同的3人组合,每种都缺一个不同的位。36C第6章 密钥管理和密码协议 普遍地说,如果系统的安全性最终取决于一个主密钥,若这个主密钥偶然或蓄意地被暴露,整个系统就会受到致命攻击;若主密钥丢失或损坏,则系统中所有信息也就用不成了。在这种情况下就要使用密钥共享(SecretKeyShareScheme)方案:主密钥k分成了n个子密钥k1k2kn,由n个人分别保管,要求:(1)已知其中任意t个子密钥(tn),容易算出k。(2)已知任意t-1或更少的子密钥,则不能算出k。这种方案叫做(t,n)门限(T

    20、hreshold)密钥共享方案。第6章 密钥管理和密码协议6.2.2Shamir门限方案门限方案 1979年,Shamir基于拉格朗日内插多项式算法,提出了一个(t,n)门限方案。设GF(q)是一有限域,共享密钥kGF(q)。可信任中心给n(npdndn-1dn-t+2,于是,若M=d1d2dt,则 大于任意t-1个di之积。(因它大于最大的t-1个di之积。)pM第6章 密钥管理和密码协议 令是区间 中的一个随机整数,表示不大于 的最大整数。p和,计算k=k+p,则kpMpM1 0pM,0,M-1。将k分为n个共享密钥:ki=kmod di(i=1,2n)。将ki分配给用户i。为了恢复k,只

    21、需求解中国剩余定理的联立方程组即可ttiiiiiidkkdkkdkkmod modmod2211(6-23)第6章 密钥管理和密码协议 t个方程联立,便可得到唯一解k,于是密钥k=k-p,即k=kmod p。若只有t-1个方程,则有无数多个解。有了(4),就制约了n与t之间并不独立。【例2】密钥k=5,要分配给n=3个终端,要求若少于t=2个终端就无法得到k。设计一个Asmuth-Bloom方案。解解:取常数p=7(k),并找3个与p互素且自相互素的数,此处找d1=11,d2=12,d3=17,且满足:d1d2=1112=132pd3=717=119任意选=14,满足:187132pM第6章

    22、密钥管理和密码协议于是有 k=k+p=5+147=103在0,131区间内求出子密钥,分配给第一个终端:k1=103 mod 11=4分配给第二个终端和第三个终端的子密钥是:k2=103 mod 12=7 k3=103 mod 17=1现在,若有两个终端k1=4,k2=7在场,则k满足同余方程:)12(12 mod 7)11(11 mod 421dkdk因因为为因因为为第6章 密钥管理和密码协议 解同余方程的办法是先求M=d1d2=1112=132,由此:;dMM,dMM1112132 12111322211则由 y1M1=1 mod 11可求出y1=1;由y2M2=1 mod 12可求出y2

    23、=11。所以k=k1M1y1+k2M2y2=4121+71111=895 mod 132=103最后 k=k-p=103-147=103-98=5第6章 密钥管理和密码协议 【例3】数据库可简单地看做是记录的集合,记录由字段构成。若对记录加密,而个别字段又可独立解密而不涉及其他字段的安全性,则可采取共享密钥方案。(1)请为此设计一个AsmuthBloom密钥方案。(2)如一条记录R有4字段:f1=5,f2=7,f3=8,f4=12,试根据(1)中方案分析加密、解密过程。解解:(1)设记录有n个字段f1 f2 fn,各个字段都是0,1符号串,可看做是一个二进制数。选n个不同的素数p1p2pn使p

    24、i fi(i=1,2,n),整个记录的密文满足同余方程组:C=fi mod pi i=1,2,n (6-24)第6章 密钥管理和密码协议 令 nipMM,pppMiin,1,2,21(6-25)若 yiMi=1mod pi i=1,2,n (6-26)则令 ei=Miyi i=1,2,n (6-27)为n个共享子密钥。当n个ei都齐全时,可求出整条记录的密文为 0CM (6-28)若想只检索C中第i个字段,则可由C=fi mod pi求出fi。1 mod iiiMfeC第6章 密钥管理和密码协议 (2)如一条记录R有4个字段,分别为 f1=5,f2=7,f3=8,f4=12,选4个素数,分别为

    25、p1=7,p2=11,p3=13,p4=17,满足pi fi。若C为密文,则同余方程是:17mod1213mod811mod77mod5CCCC根据中国剩余定理,有 M=7111317=17017 第6章 密钥管理和密码协议而 1001 13091547 243144332211pMM,pMM,pMM,pMM根据模逆元关系:yiMi=1 mod pi不难求出:y1=4,y2=8,y3=3,y4=8于是4个写入子密钥为 e1=y1M1=24314=9724 第6章 密钥管理和密码协议 e2=y2M2=15478=12376 e3=y3M3=13093=3927 e4=y4M4=10018=800

    26、8所以 7509017 17 mod 764 262 128008839277123765972441iiifeC若只对 f2解密,只要用读出子密钥p2=11即可:f2=7509 mod 11=7 第6章 密钥管理和密码协议若只对解密,只要用读出子密钥即可:2868017 17 mod 1376 127509 )78(241eCfeCjjj第6章 密钥管理和密码协议6.3密码协议密码协议 随着网络应用普及到各个领域,人们越来越清楚地认识到协议在网络环境下的重要性。协议是双方(或多方)为了共同完成某项任务而预先设定的一系列步骤,像程序一样按顺序执行,包括当遇到不同情况时的处理方法和分支路线。协议

    27、是具体的,靠通信系统的硬件与软件来实现,不管是友善双方还是敌对双方,为了完成通信过程,都必须遵守协议。协议是系统的灵魂,系统所有软、硬件设备都是按照协议的步骤来工作的,因此协议应当先于系统软、硬件进行设计。密码协议是设计保密体制的核心,协议首先应当逻辑严密,科学合理,必须尽量周密、完备,一旦考虑不周,出现疏漏,就第6章 密钥管理和密码协议会留下安全隐患,成为攻击者成功的突破口。其次,也要考虑实际可行性与方便简洁性,以节省成本。本节从分析一些已知协议的漏洞入手,提出若干具有实用价值和理论意义的协议,供参考。6.3.1RSA协议协议 用RSA公钥密码进行可认证的保密通信,协议如下:(1)A先用自己

    28、的私钥对信息进行加密,得s=DA(m)。(2)A再用B的公钥对s进行加密,得c=EB(s)=EB(DA(m)。(3)A将得到的密文c发给收信人B。(4)B先用自己的私钥解密密文DB(c)=DB(EB(s)=s=DA(m)。(5)B再用A的公钥对s解密,得EA(s)=EA(DA(m)=m。第6章 密钥管理和密码协议 为了使A了解B是否完整地收到了他发的消息,协议为 (1)A发送给B密文c1,c1=EB(DA(m)。(2)B收到密文后,作EA(DB(c1)=m运算。(3)B送回A密文c2,c2=EA(DB(m)。(4)A收到c2后,作EB(DA(c2)=运算。(5)A比较 和m,若二者相同,则表明

    29、B确已完整地收到m。其实这个协议是不安全的,比如F截获了A送给B的密文c1=EB(DA(m)后,将c1送给B,并称是F发给B的,如果B盲目地按协议执行第(2)步,就得到 EF(DB(c1)=EF(DB(EB(DA(m)=EF(DA(m)=xmm第6章 密钥管理和密码协议x实际是乱码,但是如果B不假思索地按习惯再执行第(3)步,就得到 EF(DB(x)=EFDB(EFDA(m)=y并将它送回F,则F只用自己的私钥和A、B的公钥就可得到A发给B的明文:EADFEBDF(y)=EADFEBDF(EFDBEFDA(m)=m因此,B收到密文后,一定不要盲目地进行“回执”,而是要观察解密的结果是否有意义,

    30、阅读明文后再决定是否“回执”,这样就可避免F的攻击。第6章 密钥管理和密码协议6.3.2沙米尔沙米尔(Shamir)协议协议 用Shamir协议进行保密通信的协议如下:(1)A先用自己的加密密钥对明文进行加密,得EA(m),并将它发送给B。(2)B用自己的加密密钥再加一次密,得EB(EA(m),并发回给A。(3)如果二次加密是可以交换的,即EB(EA(m)=EA(EB(m),则A可将自己的加密解开,即DA(EA(EB(m)=EB(m),并将结果发回给B。(4)B用自己的解密密钥解出明文,即DB(EB(m)=m。第6章 密钥管理和密码协议 在此协议中,双方都不需要公开或交换任何密钥,即使加、解密

    31、使用的是同一把对称密钥也行。就如同A把东西放进箱子后上了锁,B再上另一把锁,然后A打开自己的锁,B再打开自己的锁。显然此系统只能用于保密,不能进行认证。而且要求二次加密的可交换性,这并非总能成立的。指数运算方案是可交换的,因而也可用于Shamir协议:mEEmmmEEeeeeBAABABBA 取p为大素数,(p)=p-1,各用户选与p互素的e,并计算其逆元ed=1 mod(p),(e,d)均由用户自己保管,这样就可用Shamir协议进行通信了。第6章 密钥管理和密码协议 若一次一密体系是可交换的,则用于沙米尔协议上会得到不安全的结果。设A的密钥是:kA=k1k2knB的密钥是:kB=k1k2k

    32、n(各位都是0或1)明文是:m=m1m2mn于是密文为(1)(1)2(1)11ncccc 式中:,n,ikmciii21 (1)第6章 密钥管理和密码协议 A将c1发给B,B做如下运算:,n,ikkmkcciiiiii21 12B将c2发回A,A将c2与k按位模2加:,n,ikkkmkcciiiiiii21 23攻击者可将c1、c2、c3作按位模2加,即可得到m:)()()(321iiiiiiiiiiiikkkmkkmkmccc 因自己与自己的模2加必为0,所以上式的结果为m。这表明简单的模2加用于Shamir协议是不安全的。第6章 密钥管理和密码协议6.3.3不可否认签名协议不可否认签名协议

    33、 不可否认签名在验证时要求发信人必须参与,A不参加验证时,B便不能向第三者证明签名的正确性。在第5章中,我们已经给出了一个不可否认签名的协议,现在再展示一个与之算法不同的不可否认签名协议。前提:p为大素数,g是本原元素,p、g公开,A的秘密私钥为x。公开密钥为y=gx mod p,明文为m,签名为z=mx mod p。B收到A发送来的明文m和签名z后,验证z是A对m的签名的步骤为 (1)B选择两个小于p的随机数a和b,计算:c=magb mod p (6-29)并发给A。第6章 密钥管理和密码协议 (2)A选择小于p的随机数q,计算:s1=cgq mod p 和 s2=(cgq)x mod p

    34、 (6-30)并将s1、s2发送回B。(3)B得到s1、s2后,将a、b送给A以证明步骤(1)不曾欺骗A。(4)A将q送给B,B验证:s1=cgq mod p和s2=yb+qza mod p (6-31)是否成立,若成立则签名有效,否则无效。实际上有:s2=yb+qza=(gx)b+q(mx)a=(gbma)x(gq)x=(cgq)x mod p 第6章 密钥管理和密码协议6.3.4电子投票协议电子投票协议 设计电子投票系统时应考虑到:只有合法的投票人才可以投票(身份认证)。投的票必须保密。每人只投一次。每张有效票应确保被统计在结果中。每一投票人送交秘密身份数据及选票后,应有所显示,让投票人放

    35、心,同时又不能暴露这是他的选择。协议假定有两个机构L和C,L负责审查身份,C负责统计结果。L送给C所有投票人的身份数,此外别无联系。协议如下:(1)A发给L一条“我是A”的信息。第6章 密钥管理和密码协议 (2)L进行审查,若A是合法投票人,则L送给A一个身份数I(A),并将A从投票人集合中删去,之后L送给C身份数表格N,它只包含A的身份数I(A),不含A的真实信息。若A不是合法的投票人(原集合中没有),则给A送出“拒绝”信息。(3)A自己选择一个秘密身份数s(A),将三元组I(A),s(A),v(A)送给C,其中v(A)是A投的票,而s(A)用于将来公布结果时代替I(A),为的是不暴露A。(

    36、4)C从身份表N中找是否有I(A),若有,则从N中取出I(A)加入到投v(A)票的集合中去。若N中无I(A),则什么也不做。(5)C计算并通过网络公布结果,包括公布每个人的秘密身份数s(A)和他所投的票。本协议能实现电子投票协议应具备的条要求,但不能抵御L和C联合作弊。第6章 密钥管理和密码协议6.4零知识证明零知识证明 近代密钥学中一个十分引人入胜的问题是零知识证明。上节其实也已经提到。如果P掌握了一些机密信息,它需要向V证明他确实掌握了这个机密,但证明过程又不能暴露任何信息,该怎么办?比如P能分解一个大数n,他找到了因子p和q,如果他直接向V公开p和q,固然可以证明他所言的真实性,然而V也

    37、就知道了n=pq的秘密。这就不是零知识证明。对此问题,可以设计如下的零知识证明协议:(1)P请V随机选择一个大数x,计算出x4 mod n,将结果告诉P。(2)因为P掌握n=pq,就能够算出(x2)2 mod n的结果x2,将结果告诉V。第6章 密钥管理和密码协议 (3)V知道求x2=mod n是二次同余问题,其难度等价于分解n,P若不掌握p和q是写不出x2的。于是V相信P确实掌握p和q。在这个过程中,P只是告诉V x2是多少,这对于分解n一点用途也没有,因为V原来就知道x。除了大数分解的零知识证明外,存在许多零知识证明问题,如迷宫路线问题、三色地图问题、子群成员问题等。根据问题中随机变量的性

    38、质,零知识证明可分为完全零知识证明、计算零知识证明和统计零知识证明;再根据验证者是否诚实,又可分为诚实验证者零知识证明和不诚实验证者零知识证明。4x第6章 密钥管理和密码协议6.4.1身份证明问题身份证明问题 智能卡、信用卡、计算机的口令等身份鉴别技术,都要求证明者P直接或间接地显示他的身份I(P),于是,不诚实的验证者V就有可能从中获取P的I(P)信息,进而复制或冒充P从事非法勾当。因此P需要以零知识方式证明自己的身份,使V相信它是P,同时又不暴露1比特信息。设I(P)包含有关P的身份的k个保密数c1c2ck(1cip),为了使V相信P是I(P)的主人,但又不能告诉他c1c2ck,其办法是构

    39、造另外k个数d1d2dk(1dip),它们满足 k,jncdjj21 mod 12(6-32)将n和d1d2dk告知验证者V或加以公开。第6章 密钥管理和密码协议 协议首先假定存在一可信赖机构,它的职责在于公布模数n,n=pq,而保密p和q。这里p和q都是模4余3的大素数。零知识证明协议如下:(1)P选一随机数r,计算r2 mod n,P取其中之一告诉V,称之为x。(2)V从1,2,k中选一个子集S告诉P。(3)P计算:nrTycTcSjjc mod 和 (6-33)并把y告诉V。第6章 密钥管理和密码协议 (4)V计算:SjjddT(6-34)后,验证:x=y2Td mod n(6-35)是

    40、否成立,若等号成立,则可进行新的一轮验证或停止,否则予以拒绝。实际上,不难推知:nxrdcrTTrTySjjjdcd mod 222222第6章 密钥管理和密码协议例如,可信赖机构公开宣布n=2773。P的机密身份I(P)包含:c1=1901,c2=2114,c3=1509,c4=1044,c5=2501,c6=119而P公开的数据是(由 =1 mod n):d1=81,d2=2678,d3=1207,4=1183,d5=2681,d6=2595P假设选择r=1221,计算:-r2-14908411033 mod 2773296 mod 2562 mod 2262 mod 448 mod 16

    41、93 mod 582 mod 232524232221ncncncncncnc,2jjcd第6章 密钥管理和密码协议令x=1033,P将x告诉V。V选择子集1,4,5,6告诉P。P计算:Tc=190110442501119=96 mod 2773 y=rTc mod n=122196 mod 2773=117216 mod 2773=750V收到y后,计算:Td=81118326812595 mod 2773=1116 mod 2773 y2Td=75021116=627750000 mod 2773=1033 mod 2773验证得知y2Td=1033=x,从而通过。第6章 密钥管理和密码协

    42、议6.4.2多方远程计算问题多方远程计算问题 A想求出能使gy=x mod p成立的y,苦于无力计算离散对数y=logg x,求助于B,因为B有足够大的计算能力。然而A却不想暴露x,为此制定协议如下:(1)A选择随机数p,计算 gx mod p (用g掩盖了x)(6-36)(2)A请求B算出,使 g=mod p(即=loggmod p)(6-37)(3)B将计算结果告诉A后,由于 g=gx=ggy=g(+y)mod p (6-38)因此A很容易算出:y=(-)mod p (6-39)第6章 密钥管理和密码协议6.5公钥基础设施公钥基础设施(PKI)6.5.1数字证书和认证中心数字证书和认证中心

    43、 1.数字证书数字证书24,25,26 公钥密码技术不仅为信息安全提供了一种强大的加密机制,而且还提供了一种识别和认证个体的方式。然而在浩瀚如海的网络世界里,大多数人并无能力生成自己的公、私密钥对。他们从何处获取密钥?互不相识的个体又从哪里找到对方的公钥?网络上得到的公钥是否可靠?彼此之间的信任怎样建立?所有这些问题表明,公钥密码技术在实用化过程中,首先需要解决公钥的真实性和所有权问题,需要解决密钥的管理和分发问题。于是,公钥数字证书出现了,它提供了一种系统化的、可扩展的、统一的公钥分发方法。第6章 密钥管理和密码协议 数字证书是一个包含公钥以及公钥持有者(当然也是相应的私钥拥有者)信息的文件

    44、,它由可信任的、公正的第三方机构认证中心(CA)签名颁发,被各类实体(持卡人/个人、商户/企业、网关/银行等)所持有,是在网上进行信息交流及商务活动的身份证明。数字证书中最重要的信息是个体名称、个体的公钥以及CA的签名。通过CA的签名,数字证书可以把公钥与密钥所属个体(用户名和电子邮件地址等标识信息)可靠地捆绑在一起。证书中还可以包含公钥加密算法、用途、公钥有效期限等信息,为用户提供一系列的认证和鉴别机制。数字证书可用来完成信息加密、数字签名、用户身份识别三项任务。可以说,证书是网络上安全交易的用户身份证和通行证。第6章 密钥管理和密码协议 互不相识的人为什么能够相信对方提供的数字证书?这是基

    45、于对认证中心CA的数字签名的信任。假若有人对某个CA有怀疑,则可以查阅该CA的数字证书,该证书是它的上级CA颁发的,有它的上级CA的数字签名。如果还不放心,则继续追查,直到查阅最顶级CA的证书,叫做根证书,它以最高权威(人或机构)的信誉担保,其可信度无疑是全社会都认可的。正如你相信微软总公司,就相信它所指派的下属部门一样,对证书链中根证书的信任,就保证了对它签发的一级级证书的信任。由于网络应用于异构环境中,因此证书的格式在所使用的范围内必须统一。从证书遵循的标准和格式来看,CA颁发的数字证书有X.509公钥证书、简单PKI(SimplePublicKey 第6章 密钥管理和密码协议Infras

    46、tructure)证书,PGP(PrettyGoodPrivacy)证书、属性(Attribute)证书等。在所有格式的证书中,X.509证书应用范围最广,如S/MIME、IPSec、SSL/TLS等都应用了X.509证书。X.509是由国际电信联盟(ITUT)制定的数字证书标准,它提供了一种非常通用的证书格式,是一些标准字段和扩展项的集合,包含用户及其相应公钥的信息。X.509目前有三个版本,X.509第1、2版证书所包含的主要内容如表6.1所示。X.509第3版证书在第2版的基础上增加了扩展项,使证书能够附带额外信息。任何人都可以向权威机构申请注册扩展项。如果它们应用广泛,以后可能会列入标

    47、准扩展集中。第6章 密钥管理和密码协议表表6.1 X.509第第1、2版证书的内容版证书的内容 第6章 密钥管理和密码协议 2.认证中心认证中心(CA)认证中心CA是数字证书的颁发者,是可信任的第三方权威机构,通常是一个被称为安全域(SecurityDomain)的有限群体。它提供密钥管理机制、身份认证机制以及各种应用协议,它的公钥公开。创建证书的时候,用户首先提出申请,CA审查用户信息,特别是验证用户的公钥是否与用户的私钥配对。若检查通过,则生成证书并用CA的私钥签名,然后发给用户。领到证书的用户、实体或应用程序可以使用CA的公钥对证书进行检验,以确认证书的可靠性。因为证书只有具有CA的数字

    48、签名,才能保证证书的合法性和权威性(同时也就保证了持有者的公钥的真实性),所以CA必须确保证书签发过程的安全,以确保签名私钥的高度机密,防止他人伪造证书。第6章 密钥管理和密码协议 一个典型的CA系统由安全服务器、注册机构(RA)、CA服务器、目录服务器(LDAP)和数据库服务器等组成,如图6.2所示。CA服务器:CA服务器是整个证书机构的核心,负责证书的签发。CA首先产生自身的私钥和公钥(密钥长度至少为1024bit),然后生成数字证书,并且将数字证书传输给安全服务器。安全服务器:安全服务器面向普通用户,提供证书的申请、浏览,证书下载以及已撤销证书的查询等安全服务。它与用户之间的所有通信均以

    49、安全服务器的密钥加密传输。第6章 密钥管理和密码协议图6.2 CA系统的组成 第6章 密钥管理和密码协议 注册机构(RA):注册机构在CA体系结构中起承上启下的作用,一方面向CA转发安全服务器传输过来的证书申请请求,另一方面向目录服务器和安全服务器转发CA颁发的数字证书和证书撤销列表。目录服务器:目录服务器提供目录浏览服务,负责将注册机构服务器传输过来的用户信息以及数字证书加入到服务器上,供用户下载和查询。数据库服务器:数据库服务器用于存储和管理所有的数据(如密钥和用户信息等)、日志和统计信息。CA的核心功能是对证书进行签发、更新、撤销和管理,具体如下:(1)接收数字证书申请,验证、核查并标识

    50、申请者的身份第6章 密钥管理和密码协议 (2)审批证书,决定是否受理用户数字证书的申请。(3)签发或拒绝发放数字证书。(4)检查证书的有效期,定期或根据用户请求对证书更新。(5)接收用户对证书的查询、撤销。(6)产生和发布、维护证书废止列表 CRL(CertificateRevocationLists)。(7)对过期数字证书、密钥等归档。(8)其他管理功能,如CA的远程管理、维护,以及上级CA对下级CA的管理等。第6章 密钥管理和密码协议6.5.2PKI概述概述2526 PKI(PublicKeyInfrastructure)是公钥基础设施的缩写。所谓基础设施,指的是为某类应用提供基本物质条件


    注意事项

    本文(《现代密码学原理与实践》课件第6章.ppt)为本站会员(momomo)主动上传,其收益全归该用户,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!




    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库