KDC与CA的区别

密钥分发中心(KDC)

基本思想就是利用受信任的第三方,我们委托它对与我们通信的各方进行认证。这种第三方通常是由网络上某处一台安全的机器来实现的。这台机器被称做密钥分发中心(keydistribution center,KDC)。每个需要保密通信安全的个人都与 KDC 共享一个密钥。

过程:当 Alice 想要与 Bob 进行通信时,她就给 KDC 发送消息,该消息以其与 KDC 共享的密钥Ka加以保护,请求与 Bob 进行通信。KDC 产生了一个新的用于Alice 与 Bob 之间进行通信的加密密钥Ks,再将其放在一条称做许可证(ticket)的消息中返回。一条许可证消息由两条消息组成。第一条消息是给Alice 的,其中带有新密钥。第二条消息是给 Bob 的,用Bob的密钥进行加密,其中也包含新密钥。Alice将许可证中 Bob 的那一部分转交给 Bob,现在Alice 与 Bob 共享密钥Ks。

这种方案有两种主要缺点。首先,KDC 必须总是处于联机状态,因为如果它下线的话,就无法完成通信初始化。其次 KDC 能够读取任何两方之间传递的数据。它还能够伪造两方之间的通信。更糟的是,如果 KDC 被攻克的话,任何两个 KDC 用户之间的通信均将遭难。

 

 

公用密钥加密

基本思想:在加密和解密时使用不同密钥的函数。你公开自己的加密密钥(公用密钥),但解密密钥(私用密钥)要保密。(由于公用与私用密钥的不同,公用密钥加密有时被称做非对称加密,而共享密钥加密有时被称做对称加密)。这意味着无需碰面,任何人都能够给你发送保密信息。这在消除需要预先共享密钥的不方便之处的同时也解决了其中的保密性的问题。

你的私用密钥可以用来创建某种称作数字签名的东西,它与 MAC 之间的关系如同公用密钥加密与秘密密钥加密之间的关系一样。你使用私用密钥对消息进行签名,而接收方使用你的公用密钥来验证你的签名。注意,数字签名具有一项MAC 所不具备的重要属性:不可抵赖性(nonrepudiation)。发送方和接收方都可以产生 MAC,但是只有签名者才能够产生签名。这样,接收者就可以证明发送方对消息进行了签名而发送方无法抵赖。

缺点:请问各方是如何得到彼此的公用密钥的。如果这些密钥是以电子形式发表的,或是通信各方通过交换得到的话,那么攻击者就能够在这些密钥传递给接收者的过程中进行篡改。当两方打算进行通信时,攻击者截获他们的密钥,并代之再将自己的密钥发送给每一方。这样每一方都会按照攻击者的要求来进行加密,而攻击者根据真正的接收者重新进行加密,这被称作中间人攻击(man-in-the-middleattack)。然而,如果将密钥以物理方式印刷出来,则很不方便。

 

 

证书(CA)

解决方案(还是)就是通过称之为证书授予权(certificateauthority,CA)的第三方。CA对包含密钥属主及其公用密钥的单一信息进行签名。这些信息一般被称作证书(Certificate),证书授予权因而得名。

过程:CA 的公用密钥以某种物理形式发布,不过 CA 并不多而且不经常变换密钥,因此这在实际应用中不成问题。通常将 CA密钥编译到需要使用它们的软件中,这样就能与软件一起发行。当软件以CD-ROM 或软盘方式发布时就非常有意义。但有时软件只是下载得到的,在这种情况下就又回到了刚开始时遇到的问题

优点:涉及证书的公用密钥解决方案仍然要包含受信的第三方(即 CA),但是它们的确修正了我们前面所描述的基于 KDC 系统的主要问题。由于同一个证书可以用来向任何人证明其公用密钥,所以 CA 没有必要为了让 Alice 与Bob 进行通信,而始终处于联机状态。同时因为 CA无法存取任何人的私用密钥,所以它也不能读取任何信息。

发布了141 篇原创文章 · 获赞 108 · 访问量 27万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章