版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、外文资料翻译译文10.1 密钥管理在第7章中,我们层讨论了传统密码体制的密钥分配问题。公钥密码的主要作用之一就是解决密钥分配问题,在这方面,公钥密码实际上可用于下列两个不同的方面:l 公钥的分配l 公钥密码用于传统密码体制的密钥分配接下来,我们就来讨论这两方面的内容。10.1.1 公钥的分配人们已经提出了几种公钥分配方法,所有这些方法本质上可归结为下列几种方法:l 公开发布l 公开课访问目录l 公钥授权l 公钥证书公钥的公开发布表面上看,公钥密码的特点就是公钥可以公开,因此如果有像rsa这样为人们广泛接收的公钥算法,那么任一通信方可以将他的公钥发送给另一通信方或广播给通信各方。例如,越来越为人
2、们广泛使用的pgp(pretty good privacy,该方法将在第15章讨论)中使用了rsa算法,所以许多pgp用户在给诸如usenet新闻组和internet邮件列表这样的一些公开论坛发送消息时,都将其公钥附加在要发送的消息之后。虽然这种方法比较简便,但它有一个较大的缺点,即任何人都可以伪造这种公钥的公开发布。也就是说,某个用户可以假冒是用户a并将一个公钥发送给通信的另一方或广播该公钥,在用户a发现这种假冒并通知其他各方之前,该假冒者可以读取所有本应发送给a的加密后的消息,并且可以用伪造的密钥进行认证。公开可访问的目录维护一个动态可访问的公钥目录可以获得更大程度的安全性。某可信的实体或
3、组织负责这个公开目录的维护和分配,这种方法包含下面几方面的内容:1. 管理员通过对每一通信方建立一个目录项|姓名,公钥|来维护该目录。2. 每一通信方通过目录管理员来注册一个公钥。注册必须亲自或通过安全的认证通信来进行。3. 通信方在任何时刻可以用新的密钥替代当前密钥。这可能是因为公钥已用于大量的数据,因而用户更希望更换公钥,也可能是因为相应的私钥已经泄密。4. 通信方也可以访问电子目录。为实现这一目标,必须有从管理员到他的安全的认证通信。公钥授权通过更加严格地控制目录中的公钥分配,可使公钥分配更加安全。图10.3举例说明了一个典型的公钥分配方案,它基于pope79中给出的图示。想前面一样,该
4、方案中假定中心管理员负责维护通信各方公钥的动态目录,除此之外,每一通信方可靠地知道该目录管理员的公钥,并且只有管理员知道相应的私钥。这种方案包含以下步骤(与图10.3中的序号对应):1. a发送一条带有时间戳的消息给公钥管理员,以请求b的当前公钥。2. 管理员给a发送一条勇气私钥prauth加密的消息,这样a就可用管理员的工业对接收到得消息 ,因此a可以确信该消息来自管理员。这条消息包括下列内容:l b的公钥pub。a可用它对要发送给b的消息加密。l 原始请求。这样a可以将该请求与其最初发出的请求进行比较,以验证在管理员收到请求之前,其原始请求违背修改。l 原始时间戳。这样a可以确定它收到的不
5、是来自管理员的旧消息,该旧消息中包含的不是b的当前公钥。3. a保存b的公钥,并用它对包含a的标识(ida)和临时交互号(n1)的消息加密,然后发送给b。这里,临时交互号是用来惟一标识本次交易的。4. 与a检索b的公钥一样,b以同样的方法从管理员处检索出a的公钥。至此公钥已被安全地传递给a和b,他们之间的信息交换将受到保护。尽管如此,但是最好还包含下面两步:5. b用pua对a的临时交互号(n1)和b所产生的新临时交互号(n2)加密,并发送给a。因为只有b可以解密消息(3),所以消息(6)中的n1可以使a确信其通信伙伴就是b。6. a用b的公钥对n2加密并发送给b,以使b相信其通信伙伴是a。这
6、样.总共需要发送七条消息。但是由于a和b可保存另一方的公钥以备将来使用(这种方法称为暂存).所以并不会频繁地发送前面4条消息.不过为了保证通信中使用的是当前公钥,用户应定期地申请对方的当前公钥。 公钥证书 图10.3的方案虽然不错,但它还是有缺陷。因为只要用户与其他用户通信.就必须向目录管理员申请对方的公钥,因此公钥管理员就会成为系统的瓶颈。像前面一样,管理员所维护的,含有姓名和公钥的目录也容易被篡改。最早由kohnfelder提出了使用证书的方法kohn78。通信各方使用证书来交换密钥而不是通过公钥管理员。在某种意义上,这种方案与直接从公钥管理员处获得密钥的可靠性相同。证书包含公钥和其他一些
7、信息,它由证书管理员严生,井发给拥有相应私钥的通信方。通信一方通过传递证书将密钥信息传递给另一方,其他通信各方可以验证该证书确实是由证书管理者产生的。这种方法应满足下列要求:1. 任何通信方可以读取证书并确定证书拥有者的姓名和公钥。2. 任何通信方可以验证该证书出自证书管理员,而不是伪造的。3. 只有证书管理员才可以产生并更新证书。kohn78中最初提出的方法能满足上述条件。后来denning denn83又增加了下列要求:4任何通信方可以验证证书的当前性。图10.4举例说明了证书方法。每一通信方向证书管理员提供一个公钥并提出申请证书请求。申请必须由当事人亲自或通过某种安全的认证通信提出。对于
8、申请者a,管理员提供如下形式的证书:ca=eprautht,ida,pua其中prauth是证书管理员的私钥。a将该证书发送给其他通信各方,他们读取并如下验证证书:dpuauthca=dpuautheprautht,ida,pua= (t,ida,pua) 接收方用管理员的公钥prauth,对证书解密。因为只用管理员的公钥即可读取证书,因此接收方可验证证书确实是出自证书管理员;ida和pua几向接收方提供证书拥有者的姓名和公钥;时间戳t用来验证证书的当前性。时间戳可以在攻击者已知a的私钥的情况下抗攻击。假设a产生新的公/私钥对并向证书管理员申请新的证书;同时,攻击者重放a的旧证书给b,若b用伪
9、冒的旧公钥加密消息,则攻击者可读取消息。在这种情形下,私钥的泄密就如同信用卡丢失一样,卡的持有者会注销信用卡号,但只有在所有可能的通信方均已知旧信用卡已过时的时候,才能保证卡的持有者的安全。因此,时间戳有些像截止日期。若一个证书太旧,则认为证书已失效。10.1.2利用公钥密码分配传统密码体制的密钥如果已分配了公钥或者公钥是可访问的.那么我们就可以进行安全的通信.这种通信可以抗窃听(见图9.2 ) 、篡改(见图9.3)。或者同时抗窃听和篡改攻击。但是由于公钥密码速度较慢,几乎没有用户愿意在通信中完全使用公钥密码,因此公钥密码更适合作为传统密码中实现秘密钥分配的一种手段简单的秘密钥分配merkle
10、提出了一种极其简单的方法merk79.如图10.5所示。若a要与b通信,则执行下列操作:1. a产生公/私钥对pua,pra,并将含有pua和其标识ida。的消息发送给b。2. b产生秘密钥ka,并用a的公钥对ka,加密后发送给a。3a计算dpraepuaka得出秘密钥ka。因为只有a能解密该消息,所以只有a和b知道ka。4. a放弃pua和pra,b放弃pua。这样,a和b就可利用传统密码和会话密钥ka安全地通信。密钥交换完成后,a和b均放弃ka。上述协议尽管简单,但却很诱人。由于在通信前和通信完成后都没有密钥存在。所以密钥泄密的可能性最小,同时这种通信还可抗抗窃听攻击。不过该协议容易受主动
11、攻击。如果攻击者e能够控制通信信道。那么他可用下列方式对通信造成危害但又不被发现:1. a产生公/私钥对pua,pra,并将含有pua和其标识ida的消息发送给b。2. e截获该消息,产生其公/私钥对pua,pra,并将pua|ida发送给b。3. e产生秘密钥ka,井发送epuaka。4. e截获该消息,井通过计算dpraepuaka得出ka。5. e发送epuaka给a。结果是a和b均已知ka,但他们不知道e也己知道ka。a和b用ka来交换消息;e不再主动干扰通信信道而只需窃听即可。由于e也已知ka,所以e可解密任何消息.但是a和b却毫无察觉,因此上述简单协议只能用于仅有窃听攻击的环境中。
12、其有保密性和弃实性的密钥分配图10.6中给出的方法建立在need78中提出的一种方法之上,它既可抗主动攻击又可抗被动攻击。假定a和b已通过本节前面所讲到的某种方法交换了公钥,并执行下列操作:1. a用b的公钥对含有其标识ida和临时交互号(n1)的消息加密,并发送给b。其中n1用来惟一标识本次交易。2. b发送一条用pua加密的消息,该消息包含a的临时交互号(n1)和b产生的新临时交互号(n2)。因为只有b可以解密消息(1),所以消息(2)中的n1可使a确信其通信伙伴是b。3. a用b的公钥对n2加密,并返回给b,这样可使b确信其通信伙伴是a。4. a选择密钥ka,并将m =epraepuak
13、a社气戈发送给b。使用b的公钥对消息加密可以保证只有b才能对它解密;使用a的私钥加密可以保证只有a才能发送该消息。5. b计算dpradpuam得到密钥。请注意,本方法的前三步与图10.3中的后三步相同,但是它们在传统密码体制密钥交换过程中,既可保证保密性又可保证真实性。混合方法混合方法也是利用公钥密码来进行密钥分配,在ibm计算机上曾使用了这种方法le93。这种方法也需要密钥分配中心(kdc),该kdc与每一用户共享一个秘密的主密钥,通过用该主密钥加密来实现秘密的会话密钥的分配。公钥方法在这里只用来分配主密钥。使用这种三层结构方法的依据如下:l 性能:许多应用,特别是面向交易的应用,需要频繁
14、地交换会话密钥。因为公钥加密和解密计算量大,所以若用公钥密码进行会话密钥的交换,则会降低整个系统的性能。利用三层结构方法,公钥密码只是偶尔用来在用户和kdc随二间更新主密钥。l 向后兼容性:只需花很小的代价或在软件上做一些修改,我们就可以很容易地将混合方法用于现有的kdc方法中。增加公钥层是分配主密钥的一种安全有效的手段,它对于一个kdc对应许多分散用户的系统而言具有其优越性。10.2 diffie-hellman密钥交换diffie和hellman在一篇具有独创意义的论文中首次提出了公钥算法,给出了公钥密码学的定义,该算法通常称为diffie-hellman密钥交换。许多商业产品都使用了这种
15、密钥交换技术。 该算法的目的是使两个用户能安全地交换密钥,以便在后续的通信中用该密钥对消息加密。该算法本身只限于进行密钥交换。diffie-hellman算法的有效性建立在计算离散对数是很困难的这一基础之上。简单地说,我们可如下定义离散对数。首先我们定义素数p的本原根。素数p的本原根是一个整数,且其幂可以产生1到p-1之间的所有整数。也就是说,若a是素数p的本原根,则a mod p,a2 mod p,ap-1 mod p各不相同,它是整数1到p-1的一个置换。对任意整数b和素数p的本原根a,我们可以找到惟一的指数i,使得:bai mod p 这里0i(p-1)指数i称为b的以a为底的模p离散对
16、数或指标,记为inda,p(b)。有关离散对数的进一步讨论请见第8章。下面我们给出diffie-hellman密钥交换,如图10.7。在这种方法中,素数q及其本原根a是两个公开的整数。假定用户a和b希望交换密钥,那么用户a选择一个随机整数丸g,并计算ya=axa mod q。类似地,用户b也独立地选择一个随机整数凡xbq,并计算yb=axb mod q。a和b保持其x是私有的,但对另一方而言,y是公开可访问的。用户a计算k = (yb)xa mod q并将其作为密钥,用户b计算k = (ya)xb mod q并将其作为密钥。这两种计算所得的结果是相同的:k= (yb)xa mod q = (a
17、xb mod q)xa mod q = (axb)xa mod q 根据模型算数的运算规律 = axbxa mod q = (axa)xb mod q = (axa mod q) = (axa mod q)xb mod q = (ya)xb mod q至此a和b完成了密钥的交换。此外,由于xa和xb是私有的,所以攻击者只能通过q,a,ya和yb来进行攻击。这样,他就必须求离散对数才能确定密钥。例如,要对用户b的密钥进行攻击,攻击者就必须先计算:xb=inda,q(yb)然后他就可以像用户b那样计算出密钥k。diffie-hellman密钥交换的安全性建立在下述事实之上:求关于素数的模幂运算相对
18、容易,而计算离散对数却非常困难;对于大素数,求离散对数被认为是不可行的。下面给出的例子中,密钥交换中所使用的素数q=353和它的一个本院根a=3。a和b分别选择密钥xa=97和xb=233,并计算相应的公钥:a 计算 ya= 397 mod 353= 40b 计算 yb= 3233 mod 353= 248a和b交换公钥后,双方均可计算出公共的密钥:a 计算 k= (yb)xa mod 353= 24897 mod 353=160b 计算 k= (ya)xe mod 353= 40233 mod 353= 160我们假定攻击者能够得到下列信息: q=353;a=3;ya=40;yb=248在这
19、个简单的例子中,用穷举攻击确定密钥160是可能的。特别地,攻击者可以通过寻找方程3a mod 353=40或3b mod 353=248的解来确定该公共密钥。穷举攻击方法即是要汁算3模353的若干幕.当计算结果等于40或248时则停止:因为397 mod 353 = 40,所以幂值为97时可得到期望的结果。 对于大数,上述方法实际是不可行的。图10.8给出的简单协议使用了diffie-hellman计算方法。假定a希望与b建立连接,并使用密钥对该次连接中的消息加密。用户a产生一次性私钥xa。计算ya,并将ya发送给b;用户b也产生私钥xb。计算yb,并将yb发送给a。这样,a和b都可以计算出密
20、钥。当然,在通信前a和b都应已知公开的q和a。如可由用户a选择q和a,并将q和a放人第一条消息中。下面是使用diffie-hellman算法的另一个例子。假定有一组用户(如lan上的所有用户),且每个用户都产生一个在较长时间内有效的私钥xa,并计算公开的ya。这些公开值与公开的全局量q和a一起存于某中心目录中,在任何时刻用户b都可以访问用户a的公开值。计算出密钥,并用密钥对消息加密后发送给a。若该中心目录是可信的.则这种形式的通信既可保证保密性。又可保证某种程度的真实性。因为只有a和b可以确定密钥。所有其他用户均不能读取该消息(保密性)。接收方人知道只有用户b能用该密钥产生消息(真实性)。但是,这种方法不能抗重放攻击。10.3 椭圆曲线算数 大多数使用公钥密码学进行加密和数字签名的产品和标准都使用rsa算法二我们知道.为了保证rsa使用的安全性,最近这些年来密钥的位数一直在增加.这对使用rsa的应用是很重的负担,对进行大量安全交易的电子商务更是如此。近来,出现的一种具有强大竞争力的椭圆曲线密码学(ecc)对rsa提出了挑战。在标准化过程中、如关于公钥密码学的ieeep1363标准中.人们也已考虑了ecc。 与rsa相比,ecc的主要诱人之处在于,它可以使用比rsa短得多的密钥得到相同的安全性,因此可以减少处理负荷。另一方面。虽然关于ecc的理论已很成熟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度木材行业节能减排技术改造合同范本8篇
- 2025年洗车场场地租赁合同:专业洗车服务协议范本3篇
- 2025版外架班组劳务分包及智慧工地合同2篇
- 碎石购买与工程预算控制2025年度合同2篇
- 2025版卫生间装修施工与环保材料采购合同2篇
- 羽绒制品企业发展战略咨询2025年度合同3篇
- 2025版图书馆特色馆藏建设采购合同3篇
- 2025年度高科技产品买卖合同书样本4篇
- D打印技术在建筑外立面设计的应用考核试卷
- 二零二五版4S店尊贵订车合同模板2篇
- 2025年山东浪潮集团限公司招聘25人高频重点提升(共500题)附带答案详解
- 2024年财政部会计法律法规答题活动题目及答案一
- 2025年江西省港口集团招聘笔试参考题库含答案解析
- (2024年)中国传统文化介绍课件
- 液化气安全检查及整改方案
- 《冠心病》课件(完整版)
- 2024年云网安全应知应会考试题库
- 公园保洁服务投标方案
- 光伏电站项目合作开发合同协议书三方版
- 2024年秋季新沪教版九年级上册化学课件 第2章 空气与水资源第1节 空气的组成
- 香港中文大学博士英文复试模板
评论
0/150
提交评论