2918.F密钥分散管理系统——密钥确认算法实现外文资料翻译译文

上传人:夏** 文档编号:464237172 上传时间:2023-07-11 格式:DOC 页数:8 大小:74.50KB
返回 下载 相关 举报
2918.F密钥分散管理系统——密钥确认算法实现外文资料翻译译文_第1页
第1页 / 共8页
2918.F密钥分散管理系统——密钥确认算法实现外文资料翻译译文_第2页
第2页 / 共8页
2918.F密钥分散管理系统——密钥确认算法实现外文资料翻译译文_第3页
第3页 / 共8页
2918.F密钥分散管理系统——密钥确认算法实现外文资料翻译译文_第4页
第4页 / 共8页
2918.F密钥分散管理系统——密钥确认算法实现外文资料翻译译文_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《2918.F密钥分散管理系统——密钥确认算法实现外文资料翻译译文》由会员分享,可在线阅读,更多相关《2918.F密钥分散管理系统——密钥确认算法实现外文资料翻译译文(8页珍藏版)》请在金锄头文库上搜索。

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离散对数或指标,记为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 =

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号