KDC、公用密钥加密和证书(转载其他作者)非我所写,便于备忘所以写这里了,写的很好

KDC(密钥分发中心) 
        针对密钥管理问题最流行的解决方案就是公用密钥加密(public key cryptography,PKC)。不过也存在一种只使用到目前为止所讨论的工具来解决密钥管理问题的措施。基本思想就是利用受信任的第三方,我们委托它对与我们通信的各方进行认证。这种第三方通常是由网络上某处一台安全的机器来实现的。这台机器被称做密钥分发中心(key distribution center,KDC)。每个需要保密通信安全的个人都与 KDC 共享一个密钥。当 Alice 想要与 Bob 进行通信时,她就给 KDC 发送消息,该消息以其与 KDC 共享的密钥加以保护,请求与 Bob 进行通信。KDC 产生了一个新的用于 Alice 与 Bob 之间进行通信的加密密钥,再将其放在一条称做许可证(ticket)的消息中返回。 
       一条许可证消息由两条消息组成。第一条消息是给 Alice 的,其中带有新密钥。第二条消息是给 Bob 的,用Bob的密钥进行加密,其中也包含新密钥。Alice 将许可证中 Bob 的那一部分转交给 Bob,现在 Alice 与 Bob 共享密钥。这种协议的基础版本是由 Needham 和chroeder[Needham 1978]发明的,但是部署最为广泛的变种为 Kerberos,在MIT 及其他地方大量应用于认证与加密(请参见[Miller1987])。
       这种方案有两种主要缺点。首先,KDC 必须总是处于联机状态,因为如果它下线的话,就无法完成通信初始化。其次 KDC 能够读取任何两方之间传递的数据。它还能够伪造两方之间的通信。更糟的是,如果 KDC 被攻克的话,任何两个 KDC 用户之间的通信均将遭难。尽管如此,对于封闭系统来说,人们对这种类型的协议还颇有兴趣。

公用密钥加密 
        1976 年,Stanford 有几个非常聪明的人,想出了一种更好的解决密钥管理问题的方法。在一篇名为“密码术新动向”[Diffie1976]的论文中,Whitfield Diffie和 Martin Hellman 提出了现在称之为公用密钥加密的方案。基本思想就是设计一种在加密和解密时使用不同密钥的函数。你公开自己的加密密钥(公用密钥),但解密密钥(私用密钥)要保密。(由于公用与私用密钥的不同,公用密钥加密有时被称做非对称加密,而共享密钥加密有时被称做对称加密)。这意味着无需碰面,任何人都能够给你发送保密信息。这在消除需要预先共享密钥的不方便之处的同时也解决了其中的保密性的问题。 
        事实表明 PKC 针对问题中的认证部分也有一套解决方案。你的私用密钥可以用来创建某种称作数字签名的东西,它与 MAC 之间的关系如同公用密钥加密与秘密密钥加密之间的关系一样。你使用私用密钥对消息进行签名,而接收方使用你的公用密钥来验证你的签名。
<注意,数字签名具有一项 MAC 所不具备的重要属性:不可抵赖性(nonrepudiation)。发送方和接收方都可以产生 MAC,但是只有签名者才能够产生签名。这样,接收者就可以证明发送方对消息进行了签名而发送方无法抵赖。>

证书 

        尽管提供了我们解决问题所需要的工具,不幸的是,到目前为止我们所拥有的工具并不能完全解决密钥管理问题。问题处在来获取彼此的公用密钥的过程。如果这些密钥是以电子形式发表的,或是通信各方通过交换得到的话,那么攻击者就能够在这些密钥传递给接收者的过程中进行篡改。当两方打算进行通信时,攻击者截获他们的密钥,并代之再将自己的密钥发送给每一方。这样每一方都会按照攻击者的要求来进行加密,而攻击者根据真正的接收者重新进行加密,如图 1.2 所示,这被称作中间人攻击(man-in-the-middle attack)。然而,如果将密钥以物理方式印刷出来,则很不方便。解决方案(还是)就是通过称之为证书授予权(certificate authority,CA)的第三方。CA发布以其私用密钥签名的目录。在实际应用中,CA 不是对目录进行签名,而是对包含密钥属主及其公用密钥的单一信息进行签名。这些信息一般被称作证书(Certificate),证书授予权因而得名。证书的主要标准为 X.509[ITU1988a], 它是在 RFC2459[Housley1999a]中为因特网编写的。

       CA 的公用密钥以某种物理形式发布,不过 CA 并不多而且不经常变换密钥,因此这在实际应用中不成问题。通常将 CA密钥编译到需要使用它们的软件中,这样就能与软件一起发行。当软件以 CD-ROM 或软盘方式发布时就非常有意义。但有时软件只是下载得到的,在这种情况下就又回到了刚开始时遇到的问题——即人们做事常常并不理智。 图 1.3 描述了一份公用密钥证书展开后的视图。这里的细节并不重要,但请注意其中的基本结构:证书包含颁发者名称(issuer name)(证书签名者的名字,这里就是“SecurServer...”),主体名称(subject name)(证书所担保的密钥的持有者,在这里就是“www.amazon.com...”),主体公用密钥(subject public key)(即密钥本身),一组控制信息诸如有效期限、序列号以及对整个数据对象的签名。涉及证书的公用密钥解决方案仍然要包含受信的第三方(即 CA),但是它们的确修正了我们前面所描述的基于 KDC 系统的主要问题。由于同一个证书可以用来向任何人证明其公用密钥,所以 CA 没有必要为了让 Alice 与Bob 进行通信,而始终处于联机状态。同时因为 CA无法存取任何人的私用密钥,所以它也不能读取任何信息。

下一讲:信息安全基础知识(五)主动攻击与被动攻击

--------------------- 本文来自 翻滚吧挨踢男 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/a359680405/article/details/41521961?utm_source=copy

猜你喜欢

转载自blog.csdn.net/zy103118/article/details/82969845