五公钥密码体制edit资料_第1页
五公钥密码体制edit资料_第2页
五公钥密码体制edit资料_第3页
五公钥密码体制edit资料_第4页
五公钥密码体制edit资料_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

1、11第五(d w)讲 公钥密码体制&密钥管理牛秋娜共九十八页2 Warm up1.2.2共九十八页3解密是加密的逆运算: Dk( )=Ek-1( ); 解密与加密使用同样的密钥,掌握(zhngw)了加密方法与密钥的人,就能解密。这样的密码系统被称为对称密钥体系(也叫单密钥制系统)。对称(duchn)密钥系统(symmetric cipher)温旧引新 共九十八页4提 纲公钥密码体制(tzh)概述RSA密钥分配与管理1234共九十八页55.1 公钥密码体制(tzh)概述(asymmetric cipher)参考文献:1卢开澄:计算机密码学 清华大学出版社(1998年7月第二版) 2章照之:现代(

2、xindi)密码学基础 北京邮电大学出版社 (2004年4月第1版) 共九十八页6外语(wiy)关键词 公钥密钥体系: asymmetric cipher 计算(j sun)复杂性:computational complexity 素数分解:factorization of prime number 离散对数:Discrete Logarithms 单向陷门函数:trap-door one-way function 公钥与私钥:Public Key and Private Key 共九十八页7 20世纪末,电子商务与因特网迅速发展(fzhn),一方面极大地方便了人们对信息的交换和共享,另一方面

3、,也给安全通信提出了很多新的需求,传统的单钥制密码系统对此无能为力。如何更好地解决信息安全问题,已成为刻不容缓的任务。1、对称密码(m m)体制面对的形势 5.1.1 公钥密码体系产生的背景:共九十八页82、传统密码体制已不适应形势(xngsh)的发展1). 功能上的缺憾 传统密码学不擅长认证功能。 2). 使用上的难题 密钥交换是对称密钥体制的难题。 3). 管理上的困难 密钥管理问题成了通信的瓶颈。共九十八页9 在这种情况下,一种新的密码体制出现了。它就是公开密钥系统,也称非对称密钥体系(也叫双密钥制系统)。从理论到实践上逐步解决了对称密钥存在的问题,并从根本上提升了密码学的理念,标志着密

4、码学进入了崭新(zhnxn)的发展阶段。 3、非对称密钥体系开始(kish)出现共九十八页105.1.2 公钥密码体系(tx)的几种算法 一种新理论新技术的产生,一方面是因为实际问题的需求,另一方面,也是科学发展的必然结果。 创新成果的产生,源于对前人成果的不断积累(jli)与改进,也离不开发明者开创性的思维。 我们将通过三个典型案例的介绍,向同学们展示公钥密码体系的产生过程。共九十八页111.Merkle难题(nnt) (Puzzle): 起初人们并没有想到去发明一个(y )公钥密码,只不过是为了解决在普通信道中完成密钥交换问题而进行了一系列探索和努力。 1974年,Merkle为解决对称单

5、钥制密钥体系的密钥交换问题,提出了一个设想。 Merkle密钥交换协议如下: 共九十八页12xi是0999999之间一个任意的但又各不相同的随机数;Yi也是0999999之间任意但又各不相同的随机数,分别作为每条消息的密钥。Alice秘密保存(bocn)所有yi与xi的密钥对照表后,就把这100万条消息分别用所宣布的yi加密,发给Bob。Eyi(这条信息是xi,它的密钥是yi)明文 xj (1)Alice向Bob发送(f sn)100万条消息;共九十八页13(2) Bob收到100万条消息,从中任选一条,然后遍历100万个密钥进行尝试(chngsh),总有一个yj可将其解密,从而得知xj的值。

6、(3) Bob以明文形式将xj发给Alice (4) Alice收到xj,即知Bob所选的是哪个yj,从而二人都有了同样的密钥yj。共九十八页14Merkle安全性探讨(tnto)非法窃听(qi tn)者Eve,即使收到了全部往来的明文和密文,为了找到xj对应的yj,他需要对约100万条消息一一作遍历100万个密钥的尝试。若尝试1个密钥耗时1毫秒,尝试100万个密钥耗时1000秒17分钟,这才解译了一条消息,100万条消息约31年才能全部试完。而合法用户乙最多只需要17分钟。 此设计方案显然不现实,但其思想是很先进的。他用的是公开的算法,通过普通(不安全)信道完成了密钥交换,其保密机制是基于计

7、算复杂性,安全理念是基于破译的时效性,其设计理念已经进入了公钥密码的大门。 14共九十八页152 双钥制的提出(t ch) 1976年11月,美国斯坦福大学电气工程系研究生W.Diffie和副教授Helman在IEEE上发表了题为“密码学新方向“的学术论文,利用离散对数复杂性实际地解决了单钥制的密钥交换(jiohun)问题。 共九十八页16(1)离散对数(du sh)问题 设p一个(y )为大素数,已知整数x和b ,不难求出: 例如,y=36 mod 7=729 mod 7=1;然而若已知 y 和 b,用逆运算求x却十分困难: 为了求上例的逆运算:x=log3 1 mod 7=? 需要算出全部

8、指数数据,查表求反函数:x 1 2 3 4 5 6y 3 2 6 4 5 1 共九十八页17 遍历法虽然是万能的方法,却是个笨方法。设想如果p是一个六位数,计算大约100万个x与y的对照表,再快也不会少于1毫秒吧,而如果p是一个一百零六位的数,按照同样的计算速度就需要10100毫秒=3.171089年。 实际上,上面的估计还是太保守了。随着数位(shwi)的增大,加减乘除都会变得更加繁杂,对于大数的乘方运算与求模运算,计算量已经远远增大,不能再沿用计算小数的速度来估计了。共九十八页18(2)计算(j sun)复杂性所谓复杂性指计算所必须的基本运算步骤数量,它决定了计算所必须的机时和占用的计算机

9、资源。计算复杂性理论告诉我们,随着数位N的增大,计算量从小到大的次序是:常数(chngsh)对数函数logN 线性函数aN 二次函数N2 三次函数N3多项式函数Nd 亚指数函数2logN 指数函数2N或10N。多项式以下的运算都认为是有效算法,属于可解问题(P类),而比多项式发散更快的算法都被认为是难解问题(NP类,NPC类)。数学上已经证明离散对数是非正常(NP)类复杂问题,计算量随着N的增大而趋于无穷。 共九十八页19补充(bchng):P问题、NP问题和NPC问题1 P问题 P是一个判定问题类,这些问题可以用一个确定性算法在多项式时间内判定或解出。如果(rgu)一个判定性问题的复杂度是该

10、问题的一个实例的规模n的多项式函数,则我们说这种可以在多项式时间内解决的判定性问题属于P类问题。P类问题就是所有复杂度为多项式时间的问题的集合。2 NP问题(Non-deterministic Polynomial) NP是一个判定问题类,这些问题可以用一个确定算法在多项式时间内检查或验证出它们的解。也可以说这些问题可以在非确定性多项式时间内解决,它并不要求给出一个算法来求解问题本身,而只要求给出一个确定性算法在多项式时间内验证它的解。显然所有P类问题都属于类问题,但是是否等于?未解。共九十八页20 NPC问题 NPC,NP完全(wnqun)问题,是求NP中判定问题的一个子类,是最不可能被简化

11、为P的决定性问题的集合。每一个NPC问题都可以在多项式时间内转化为任何一个NP问题。补充(bchng):P问题、NP问题和NPC问题共九十八页21用户(yngh)I 选xi为私钥求出 yi=bxi mod p 为公钥用户(yngh)J 选xj为私钥求出 yj=bxj mod p 为公钥发b, p, yi发 yj=(bxj)xi=kij =(bxi)xj=(3)Diffie和Helman的方案: 收到yj后, 由 (yj )xi mod p 得到会话密钥收到yi后, 由 (yi )xj mod p 得到会话密钥共九十八页22 尽管公布了yi,yj和p,基于离散对数的困难性,任何第三者难以求出xi

12、和xj,因此无法获得kij。 Diffie和Helman虽然讨论的仍然是单钥制的密钥交换问题,但他们的观念是很超前的。他们采用的算法是公开的,他们的保密机制是基于计算复杂性,并且(bngqi)他们首次提出了双密钥的观点。因此这篇论文被认为是现代密码学的开篇之作。 22共九十八页235.1.3 RSA公开密钥体系(tx) 1978年美国麻省理工大学的 Ron.Rivest、Adi.Shamir 和 Len.Adleman 提出RSA公钥密码体系。它是第一个具有实用价值的公钥密码算法.它是应用最广泛的公钥密码算法。它的原理是根据数论的欧拉定理。它的安全性是基于大数分解(fnji)因数的复杂性。共九

13、十八页240、介绍(jisho)-模运算模运算(yn sun):简单的说,就是求余数。设r是a除以b的余数,a与b的关系可表示为a=r(mod b),这就是模运算。例:23=11(mod12) 29 (mod 26) = 3 10 (mod 26) = 3 -1 (mod 26) = 25模运算在数论和程序设计中都有着广泛的应用,从奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问题,无不充斥着模运算的身影。 共九十八页250、介绍(jisho)-同余一般地,两个(lin )整数a和b,除以一个大于1的自然数m所得的余数相同,就称a和b对于模m同余或a和b在模m下同

14、余,记为ab(mod m) 读作a与b(模m)同余,“”读作“同余于”。如,1811(mod 7)可用模将全体整数分类。如用4来将整数分类,由于余数可为0、1、2、3共四种,因而可分为四类:0,4,8,12,161,5,9,13,172,6,10,14,183,7,11,15,19共九十八页260、介绍(jisho)-模逆元在公钥密码体制中,往往需要求解模逆元。求模逆元,即寻找一个x,使得(sh de) a*x=1(mod n) 或 1=(a*x) mod n 其中a和n是正整数,x称为a的模n逆元。 也写作:a-1=x mod n例:4-1mod7=? 5-1mod14=? 2-1mod14

15、=?4*2(mod 7)=123没有逆元!求解模逆元问题很困难,有时有结果,有时没有结果。共九十八页270、介绍-分解(fnji)因子(ynz)分解就是对合数的分解。例:18=2*32,96=25*3,110=2*5*11较好的因子分解方法:试除法、数域筛选法、椭圆曲线法等。但对于很大的数(1024bit以上的数)进行因子分解,所需计算时间在目前条件下是一个天文数字。所以,已知两个大素数p和q,求其积很容易;反之,知道n求p和q就很困难。RSA公钥密码体制这样的分解是独一无二共九十八页281、RSA算法(sun f)原理 设p和q为两个大素数,计算 n = pq 在小于n的 n-1个正整数中:

16、 有p-1个正整数:q, 2q, 3q, , (p-1)q 含因子q; 有q-1个正整数:p, 2p, 3p, , (q-1)p含因子p;除此之外的数(同余类)都与n互素,其数目为: (n-1)-(p-1)-(q-1) = n-p-q+1 = pq-p-q+1 = (p-1)(q-1);令:(n) = (p-1)(q-1) 叫做欧拉数,代表小于n且与n互素的数(同余类)的个数。 注:严谨的表述应当是同余类-凡除以n后余数(ysh)相同的整 数为一个同余类)。共九十八页29 Euler(欧拉) 定理:若m与n为互素的正整数, 则: m (n) 1 (mod n)若k是任意整数,则 mk也与n互素

17、,于是有: m k(n) 1 (mod n) m k (n) +1 m (mod n) (对任意 0mn)只要选择e,d, 满足ed 1 mod (n) ,(叫做(jiozu)在模(n) 运算下d 和e互为模逆元) 即有: ed=k(n)+1, 于是上式变为: med =m (mod n)得到(d do)d、e、n后,p、q、 (n)都销毁29共九十八页30设m为明文,由:med =m mod n出发可以设计出一种加、解密方案:如果用 me mod n作为加密计算结果, 就可用(me)d = m mod n来解密;如果用 md mod n作为加密计算结果, 就可用 (m d )e =m mod

18、 n来解密。一般取 (n, e) 为公钥,对明文m进行加密得到密文(m wn) :c=me mod nd为私钥,解密算法是: m=cd mod n当然也可以用私钥加密: c=md mod n用公钥解密: m=c e mod n 共九十八页31例1取两个小素数(s sh)p=11,q=3来演示RSA的加、解密过程。解:先求出:n=pq=33,(n)=(p-1)(q-1)=20; 在1 e (n)中,取e=7为公钥(与20互素即可) 不难看到: 73 mod 20=1 d= 3(为私钥);设明文m= (010)2 = 2,则: 密文 c = 2 7 =128 mod 33 mod 33 =29;

19、解密:m = 293 mod 33 =24389 mod 33 =2; 共九十八页32 因为e和d是在模(n)运算下的互为倒数,当e与d被确定后,应当把 p、q 和(n)都销毁,仅留下n,e和d是无法互相推导的。 除非能将n分解,求出p和q,而大数(d sh)的分解因数是Np类难题。因此RSA的安全得到保证。 2、RSA的安全性共九十八页33提 纲公钥密码体制介绍公钥密码体制特点密钥分配(fnpi)与管理123 33共九十八页345.2.1 公钥密码(m m)体制的特点从形式上讲:由对称单钥制到非对称的双钥制加密和解密所用的算法和密钥不同,而且二者不可互相推导(tudo)。加密过程:C = E

20、k1 M解密过程:M = Dk2 C 共九十八页352. 从使用(shyng)上讲:由隐蔽密钥制到公开密钥制 双钥制的出现引入了一个新观念:一对不对称的密钥中,可以只私密保密一把密钥,称为私钥;另一把公开,叫做公钥,就解决了密钥交换难题。N个用户的系统,虽然每个用户需要各自建立一对公钥与私钥,但网络管理员只须保管(不必隐藏(yncng))N把公钥,私钥由用户个人保管,也解除了网管的负担。 共九十八页点击此处添加标题(biot)文字用于保密功能用于认证功能发信人用收信人的公钥加密,收信人用自己的私钥解密。其他人因没有(mi yu)密文所要求的私钥而不能解密。发信人用自己的私钥加密,收信人用发信人

21、的公钥解密,只要能解译密文,就表明这个密文是掌握私钥的那个人发出,别人做不出这样的密文。3. 从功能上讲:由单纯保密功能到保密认证双重功能 共九十八页37基于公开密钥的加密(ji m)过程共九十八页38每个用户(yngh)拥有自己的密钥对(KP , KS)公钥KP公开, 私钥KS保密;当AB通信时,用B的公钥KPB加密: C=EKPB(M)B收密信后,用自己私钥KSB解密: DKSB(C)= DKSB(EKPB(M)=M用公钥密码实现(shxin)保密共九十八页39基于(jy)公开密钥的认证过程共九十八页40用公钥密码(m m)实现认证A为了向别人(birn)表明所发信息是自己的,应当用自己私

22、钥KSA加密信息: C=DKSA(M)凡是拿到A的公钥KPA的人都可以解密这个信息: EKPA(C)=EKPA(DKSA(M)=M 由此表明此信息是A所签发。共九十八页而B进行(jnxng)双重解密: EKPA(DKSB(Z)=M加密(ji m)如果A 只想让B验证所发信息,应双重加密:Z= EKPB(DKSA(M)解密用公钥密码实现认证和加密共九十八页小结(xioji)公钥密码体制的出现,解决了对称密码体制很难解决的一些问题,主要体现(txin)三个方面: 密钥分发问题 密钥管理问题 数字签名问题 42共九十八页435.2.2公开密钥体制(tzh)的构建单钥制密码体系中,解密使用(shyng

23、)的密钥与加密密钥相同;能加密的人就能解密。因而又称为对称密钥制。而公钥密码体系中,加密与解密使用的密钥不同,并且无法从一把密钥推导出另一把密钥;故又称为非对称密钥制。共九十八页44单钥制密码体系中,解密是加密的逆运算,数学上两个算法互为反函数;而公钥密码体系中,加密算法的反函数应当是不可行的。可见(kjin)构建公钥密码体系,需要找到除了反函数之外的另外一种逆运算方法。这个方法的实现还需要使用不同于加密算法的另外一把密钥。数学上是否存在这样(zhyng)的算法?共九十八页45单向(dn xin)陷门函数(one way trapdoor function )单向陷门函数是满足下列条件的函数f

24、(x):(1) 给定x,计算y=f(x)是容易的;(加密可行)(2) 给定y, 计算x=f -1(y)是不可行的; (安全有保障)(3) 对给定的任何y,还存在另一种(y zhn)计算x 的方法 xgk(y),在已知 k 的情况下完成计算是容易的. k 就是密钥。(合法用户得以解密)共九十八页46而逆运算即求 的整数解十分复杂。表明它是单向函数,逆运算不可行。对于已知密钥 d 的人,还存在另一种计算 m 的方法: m=c d (mod n)RSA的安全性在于(ziy)攻击者用逆运算求解不可行,由公钥e和n出发计算私钥d 也是不可行的。(指计算 复杂到不可行的程度) RSA就是一种单向陷门函数(

25、hnsh).计算c=me (mod n)是容易的。共九十八页47 RSA公钥密码(m m)体制 安全性基于大整数(zhngsh)的素分解问题的安全性;ElGamal公钥密码体制 安全性基于有限域上的离散对数问题的困难性;Menezes-Vanstone公钥密码体制 安全性基于椭圆曲线上的离散对数问题的困难性;目前大部分的公钥密码体制都是基于这三类问题,已经提出的许多公钥密码学的标准,譬如IEEE P1363等,也大都建立在这三类问题之上。 共九十八页485.2.3 现代(xindi)密码学的新理念 1. 从基于算法的神秘性到基于算法的复杂性 传统的保密观念,寄托安全性于某种鲜为人知的奇妙算法上

26、。其安全是暂时的,侥幸的,脆弱的。现代密码学基于算法的复杂性,不靠神奇靠麻烦。其安全是牢固的,可信的,科学的。从基于算法的神秘性到基于算法的复杂性是现代密码学设计理念上一次重大转变。密文(m wn)能否被破译的关键不再是从密文(m wn)中提取信息有无可能性,而是从密文(m wn)中提取信息有无可行性。共九十八页492.算法(sun f)可公开性 由于算法失去了保密价值,算法可以公开,让它在攻击中不断改进和完善,并以此显示其安全的坚固性。 算法公开了,合法用户与非法用户的区别在那里(n li)呢?合法用户拥有密钥,解译密文十分容易;非法用户没有密钥,破译密文谈何容易;不藏算法藏密钥是设计理念上

27、一致的观点。 共九十八页503 安全(nqun)的相对性 当然,应充分估计破译者的计算能力和计算技术未来的发展,从这个意义讲,破译只是时间和金钱的问题。 如果破译工作所花的代价大于秘密本身的价值,或破译花费的时间大于秘密的有效期,则破译失去意义,而该保密系统就可以认为是安全的。这才是实事求是的科学的保密观和破译观。不保绝对保相对是密码设计理念上的又一个(y )转变。 共九十八页比较(bjio)公钥密码体制与对称密码体制相比:优点: 密钥的分发相对容易; 密钥管理简单; 可以有效地实现数字签名。 缺点: 与对称密码体制相比,加解密速度比较慢; 同等安全(nqun)强度下,要求的密钥位数要多一些;

28、 密文的长度往往大于明文长度。51共九十八页521.公开密钥体制的新理念: (1)系统安全基于计算复杂性,算法可以公开。 (2)加密解密使用非对程的双密钥,一把可以公开。 (3)科学的可靠的系统设计(shj)思想。2.公钥密码的功能: (1)用于保密:用接收方的公钥加密,私钥解密。 (2)用于认证:用发送方的私钥加密,公钥验证。3.RSA公钥密码的原理与方法: (1) 系统搭建:n=pq, (n)=(p-1)(q-1), de=1 mod (n) (2)加、解密方法:c=me mod n, m=cd mod n内容(nirng)要点(小结)52共九十八页53提 纲公钥密码体制概述公钥密码体制的

29、特点密钥分配(fnpi)与管理123 53共九十八页545.3密钥分配(fnpi)方案要使常规加密(ji m)有效地进行,信息交互的双方必须共享一个密钥,并且这个密钥还要防止被其他人获得。要使公开加密有效地进行,信息接收的一方必须发布其公开密钥,同时要防止其私有密钥被其他人获得。密钥还需经常更换,以便在攻击者知道密钥的情况下使得泄漏的数据量最小化。对于通信的双方A和B,密钥的分配可以有以下的几种方法:共九十八页55密钥分配(fnpi)的四种方法(1)密钥可以由A选定(xun dn),然后通过物理的方法安全地传递给B。(2) 密钥可以由可信任的第三方C选定,然后通过物理的方法安全地传递给A和B。

30、 (3) 如果A和B都有一个到可信任的第三方C的加密连接,那么C就可以通过加密连接将密钥安全地传递给A和B。 采用的是密钥分配中心技术,可信任的第三方C就是密钥分配中心 KDC (key distribute center) ,常常用于常规加密密钥的分配。上述方法由于需要对密钥进行人工传递,对于大量连接的现代通信而言,显然不适用。共九十八页56(4) 如果A和B都在可信任的第三方发布自己的公开密钥,那么它们都可以用彼此的公开密钥加密进行通信。 采用的是密钥认证中心(zhngxn)技术,可信任的第三方C就是证书授权中心 C A (certificate authority),更多用于公开加密密钥

31、的分配。主要讲(3) KDC (4) CA方式共九十八页575.3.1常规(chnggu)加密密钥的分配1. 集中式密钥分配方案 由一个中心节点(ji din)或者由一组节点(ji din)组成层次结构负责密钥的产生并分配给通信的双方,在这种方式下,用户不需要保存大量的会话密钥,只需要保存同中心节点(ji din)的加密密钥,用于安全传送由中心节点产生的即将用于与第三方通信的会话密钥。这种方式缺点是通信量大,同时需要较好的鉴别功能以鉴别中心节点和通信方。 目前这方面的主流技术是密钥分配中心KDC技术。共九十八页58 其中的第三方通常是一个负责为用户分配密钥的密钥分配中心(KDC)。这时每一用户

32、必须和密钥分配中心有一个共享密钥,称为主密钥。(可通过第二种方法)通过主密钥分配给一对用户的密钥Ks称为会话(huhu)密钥,用于这一对用户之间的保密通信。通信完成后,会话密钥即被销毁。如上所述,如果用户数为n,则会话密钥数为n(n-1)/2。但主密钥数却只需n个,所以主密钥可通过物理手段发送。共九十八页59密钥分配(fnpi)中心KDC的密钥分配方案AKDC:IDA | IDB | N1KDC A :EKA Ks | IDA| IDB |N1|EKbKs|IDAAB: EKBKs|IDABA: EKsN2A B: EKsf(N2)共九十八页60实际上,到第(3)步已经完成密钥的分配过程,通信

33、的双方已经共享了当前(dngqin)的会话密钥Ks,第(4)步和第(5)步完成的是鉴别功能。第2项N1, Nonce 现时,是这次业务的惟一(wiy)识别符N1,称N1为一次性随机数,可以是时戳、计数器或随机数每次的N1都应不同,且为防止假冒,应使敌手对N1难以猜测。因此用随机数作为这个识别符最为合适。共九十八页61问题(wnt)单个密钥分配中心KDC无法支持大型的通信网络。每两个(lin )可能要进行安全通信的终端都必须同某个密钥分配中心共享主密钥。当通信的终端数量很大时,将出现这样的情况:每个终端都要同许多密钥分配中心共享主密钥,增加了终端的成本和人工分发密钥分配中心和终端共享的主密钥的成

34、本。需要几个特别大的密钥分配中心,每个密钥分配中心都同几乎所有终端共享主密钥。然而各个单位往往希望自己来选择或建立自己的密钥分配中心。共九十八页62解决办法网络中如果用户数目非常多且分布的地域非常广,则使用多个KDC的分层结构:在每个小范围(如一个LAN或一个建筑物)内,都建立一个本地KDC。同一(tngy)范围的用户在进行保密通信时,由本地KDC为他们分配密钥;如果两个不同范围的用户想获得共享密钥,则可通过各自的本地KDC,而两个本地KDC的沟通又需经过一个全局KDC。这样就建立了两层KDC;根据网络中用户的数目及分布的地域,可建立3层或多层KDC.分层结构可减少主密钥的分布,因为大多数主密

35、钥是在本地KDC和本地用户之间共享。分层结构还可将虚假KDC的危害限制到一个局部区域,但 会降低信任度。共九十八页632. 无中心(zhngxn)的密钥控制用密钥分配中心为用户分配密钥时,要求所有用户都信任KDC,同时还要求对KDC加以保护。如果密钥的分配是无中心的,则不必有以上两个要求然而如果每个用户都能和自己想与之建立联系的另一用户安全地通信,则对有n个用户的网络来说,主密钥应多达n(n-1)/2个。当n很大时,这种方案(fng n)无实用价值;但在整个网络的局部范围却非常有用.共九十八页64发起方响应(xingyng)方(1)(2)(3)1.AB:IDa|N1无中心的密钥分配时,两个用户

36、(yngh)A和B建立会话密钥需经过以下3步: A向B发出建立会话密钥的请求和一个一次性随机数N1 B用与A共享的主密钥MKm对应答的消息加密,并发送给A应答的消息中有B选取的会话密钥KS、B的身份IDb、f(N1)和另一个一次性随机数N2 A使用新建立的会话密钥KS对f(N2)加密后返回给B2.BA:EMKmKs|IDa|IDb|f(N1)|N23.AB:EKsf(N2)优点:每个通信方都必须保存多达(n一1)个主密钥,但是需要多少会话密钥就可以产生多少。共九十八页655.3.2公钥加密体制(tzh)的密钥管理密钥可根据其不同用途分为会话密钥和主密钥两种类型会话密钥又称为(chn wi)数据

37、加密密钥主密钥又称为密钥加密密钥由于密钥用途不同,对密钥的使用方式也希望加以某种控制如果主密钥泄露了,则相应的会话密钥也将泄露,因此主密钥的安全性应高于会话密钥的安全性一般在密钥分配中心以及终端系统中主密钥都是物理上安全的如果把主密钥当作会话密钥注入加密设备,那么其安全性则降低共九十八页66本节介绍两方面内容:一是公钥密码(m m)体制所用的公开密钥的分配二是如何用公钥体制来分配单钥密码体制所需的密钥这是公钥加密的一个主要用途共九十八页PGP介绍(jisho)PGP:全名:Pretty Good Privacy,一种混合加密算法(综合了对称加密算法IDEA,非对称加密算法RSA,MD5、以及伪

38、随机数产生器等)。通常只理解为是PGP公司(n s)的系列软件。能对邮件、文件、文件夹、整个硬盘加密,全网段加密权限和访问权限控制等。共九十八页PGP的使用(shyng)加密时:PGP用的是RSA和传统加密的杂合算法,因为RSA算法计算量极大在速度上不适合加密大量数据,所以PGP用来加密信息的不是(b shi)RSA,而是对称加密算法IDEA 。 数字签名:PGP还可以只签名而不加密,这适用于公开发表声明时,声明人为了证实自己的身份,可以用自己的私钥签名。PGP 通过单向散列算法MD5(message digest 5)对邮件处理,生成一个128位的二进制数作为“邮件文摘” ,一旦邮件有任何改

39、变这个digest都会变化,那么这个数加上作者的名字(实际上在作者的密匙里)还有日期等等,就可以作为一个签名。数字签名和认证:甲用自己的私钥将上述的128位的摘要加密,附加在邮件上,再用乙的公钥将整个邮件加密。乙收到这份密文以后,乙用自己的私钥将邮件解密,得到甲的原文和签名,乙的PGP也从原文计算出一个128位的摘要,再与用甲的公钥解密签名得到的数比较,如果符合就说明这份邮件确实是甲寄来的。这样既实现了保密又实现了认证。 共九十八页69公开密钥的公开宣布公开可用目录(ml)公开密钥管理机构4. 公开密钥证书 一.公钥的分配(fnpi):四种方式共九十八页701. 公开发布公开发布指用户(yng

40、h)将自己的公钥发给每一其他用户(yngh),或向某一团体广播如PGP(pretty good privacy)中采用了RSA算法,它的很多用户都是将自己的公钥附加到消息上,然后发送到公开(公共)区域,如因特网邮件列表缺点很明显,即任何人都可伪造这种公开发布如果某个用户假装是用户A并以A的名义向另一用户发送或广播自己的公开钥,则在A发现假冒者以前,这一假冒者可解读所有意欲发向A的加密消息,而且假冒者还能用伪造的密钥获得认证共九十八页712. 公用目录表公用目录表指一个公用的公钥动态目录表公用目录表的建立、维护以及(yj)公钥的分布由某个可信的实体或组织承担,称这个实体或组织为公用目录的管理员该

41、方案有以下一些组成部分: 管理员为每个用户都在目录表中建立一个目录,目录中有两个数据项: 用户名;用户的公开钥 每一用户都亲自或以某种安全的认证通信在管理者那里为自己的公开钥注册 用户如果由于自己的公开钥用过的次数太多或由于与公开钥相关的秘密钥已被泄露,可随时用新密钥替换现有的密钥共九十八页72 管理员定期公布或定期更新目录表例如,像电话号码本一样公布目录表或在发行量很大的报纸上公布目录表的更新 用户可通过电子手段访问目录表,这时从管理员到用户必须有安全的认证通信安全性高于公开发布,但仍易受攻击如果敌手成功地获取管理员的秘密钥(密码),就可伪造(wizo)一个公钥目录表,以后既可假冒任一用户又

42、能监听发往任一用户的消息。公用目录表还易受到敌手的窜扰(破坏)用户需要登录到公钥目录表中自己查找收方的公钥共九十八页733. 公钥管理机构为防止用户自行对公钥目录表操作所带来的安全威胁,假定有一个公钥管理机构来为各用户建立、维护动态的公钥目录.它比公开可用目录多了公开密钥管理机构和通信(tng xn)方的认证以及通信(tng xn)双方的认证。即由用户提出请求,公钥管理机构通过认证信道将用户所需要查找公钥传给用户该认证信道主要基于公钥管理机构的签名 共九十八页74 用户A向公钥管理机构发送一个带时戳的消息,消息中有获取用户B的当前公钥的请求 管理机构对A的应答由一个消息表示,该消息由管理机构用

43、自己的秘密密钥SKAU加密(ji m),因此A能用管理机构的公开钥解密,并使A相信这个消息的确是来源于管理机构应答的消息中有以下几项:B的公钥PKB,A可用之对将发往B的消息加密;A的请求,用于A验证收到的应答的确是对相应请求的应答,且还能验证自己最初发出的请求在被管理机构收到以前是否被篡改;抗篡改最初的时戳,以使A相信管理机构发来的消息不是一个旧消息,因此消息中的公开密钥的确是B当前的公钥抗重放共九十八页75 A用PKB对一个消息加密后发往B,包含两个数据项: 一是A的身份IDA二是一次性随机数N1,用于惟一地标识这次业务 、步骤中:B以相同方式从管理机构获取A的公开钥这时,A和B都已安全地

44、得到了对方的公钥,所以可进行保密通信。前5个消息用于安全的获取对方的公开钥用户(yngh)得到对方的公开钥后保存起来可供以后使用,这样就不必再发送消息、 、了用户还可以通过以下两步进行相互认证: B用PKA加密一次性随机数N1和B产生的一次性随机数N2,发往A,可使A相信通信的另一方的确是BA用PKB对N2加密后返回给B,可使B相信通信另一方的确是A必须定期地通过密钥管理中心获取通信对方的公开钥,以免对方的公开钥更新后无法保证当前的通信共九十八页76公钥管理机构方式的优缺点每次密钥的获得由公钥管理机构查询并认证发送,用户不需要查表,提高了安全性但公钥管理机构必须一直在线,由于每一用户要想和他人

45、联系都需求助于管理机构,所以管理机构有可能成为系统的瓶颈由管理机构维护的公钥目录表也易被敌手通过一定方式窜扰4. 公钥证书用户通过公钥证书来互相交换自己(zj)的公钥而无须与公钥管理机构联系公钥证书由证书管理机构CA(certificate authority)为用户建立共九十八页77证书中的数据项有与该用户的秘密钥相匹配的公开钥及用户的身份和时戳等,所有的数据项经CA用自己的秘密钥签字后就形成证书证书的形式为CA=ESKCAT, IDA, PKAIDA是用户A的身份,PKA是A的公钥,T是当前(dngqin)时戳SKCA是CA的秘密钥,CA即是为用户A产生的证书共九十八页78用户可将自己的公

46、开钥通过公钥证书发给另一用户,接收(jishu)方可用CA的公钥PKCA对证书加以验证即DPKCACA=DPKCAESKCAT,IDA,PKA=(T,IDA,PKA) 因为只有用CA的公钥才能解读证书,接收方从而验证了证书的确是由CA发放的,且也获得了发送方的身份IDA和公开钥PKA时戳T为接收方保证了收到的证书的新鲜性,用以防止发送方或敌方重放一旧证书。因此时戳可被当作截止日期,证书如果过旧,则被吊销共九十八页79 WIDOWS中的证书(zhngsh) 79共九十八页80 WIDOWS中的证书(zhngsh) 80共九十八页81二. 用公钥加密(ji m)分配单钥密码体制的密钥 公开钥分配完

47、成后,用户就可用公钥加密体制(tzh)进行保密通信。然而由于公钥加密的速度过慢,以此进行保密通信不太合适,但用于分配单钥密码体制的密钥却非常合适1. 简单分配下图表示简单使用公钥加密算法建立会话密钥的过程,如果A希望与B通信,可通过以下几步建立会话密钥:共九十八页82 A产生自己的一对密钥PKA,SKA,并向B发送PKA|IDA,其中IDA表示A的身份 B产生会话密钥KS,并用A的公开钥PKA对KS加密后发往A A由DSKAEPKAKS恢复会话密钥。因为只有A能解读KS,所以仅A、B知道这一共享密钥。 A销毁PKA,SKA,B销毁PKA。A、B现在可以用单钥加密算法以KS作为会话密钥进行保密通

48、信,通信完成(wn chng)后,又都将KS销毁这种分配法尽管简单,但却由于A、B双方在通信前和完成通信后,都未存储密钥,因此,密钥泄露的危险性为最小,且可防止双方的通信被敌手监听,每次公私钥由发方临时产生但由于公钥缺少证书管理机构认证且非物理传输容易受到主动攻击共九十八页83中间人攻击(gngj)如果敌手E已接入A、B双方的通信信道,就可通过以下不被察觉的方式截获双方的通信: 与上面的步骤相同 E截获A的发送后,建立自己的一对密钥PKE,SKE,并将PKEIDA发送给B。 B产生会话密钥KS后,将EPKEKS发送出去。 E截获B发送的消息后,由DPKEEPKE KS解读KS。 E再将EPKA

49、KS发往A。现在A和B知道KS,但并未意识到KS已被E截获。A、B在用KS通信时,E就可以实施监听共九十八页842. 具有保密性和认证性的密钥分配(fnpi)既可防止被动攻击,又可防止主动攻击假定A、B双方已完成公钥交换,可按以下步骤建立共享会话密钥: A用PKB的公开钥加密A的身份IDA和一个一次性随机数N1后发往B,其中N1用于惟一地标识这一业务共九十八页85 B用PKA加密N1和B新产生的一次性随机数N2后发往A。B发来的消息中N1的存在可使A相信对方的确是B A用PKB对N2加密后返回给B,使B相信对方的确是A A选一会话密钥KS,然后将M=EPKBESKAKS发给B,其中用B的公开钥

50、加密是为保证只有B能解读加密结果,用A的秘密钥加密是保证该加密结果只有A能发送 B以DPKADSKBM恢复会话密钥注意:这个方案其实是有漏洞的,即第4条消息容易被重放,假设敌手知道(zh do)上次通话时协商的会话密钥Ks,以及A对Ks的签名和加密,则通过简单的重放即可实现对B的欺骗,解决的方法是将第3和第4条消息合并发送共九十八页86方案(fng n)的修改修改(xigi)后的过程共九十八页875.3.3密钥的管理(gunl)密钥管理机制对常规加密体制来说,在进行通信之前,双方必须持有相同的密钥,在通信过程中要防止(fngzh)密钥泄密和更改密钥。通常是设立KDC来管理密钥,但增加了网络成本,降低了

温馨提示

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

评论

0/150

提交评论