文档介绍:信息安全9
算法与协议的比较
算法和协议是两种不同层次上的概念。算
法是低层次上的概念,而协议是高层次上
的概念,协议建立在算法的基础之上。
在讨论把DES算法()作为标准的同时
信息安全9
算法与协议的比较
算法和协议是两种不同层次上的概念。算
法是低层次上的概念,而协议是高层次上
的概念,协议建立在算法的基础之上。
在讨论把DES算法()作为标准的同时
,公开了第一个公开密钥算法(1976)。这
导致了密码学团体中的政治党派之争。
公开密钥算法不会代替对称算法。公开密
钥算法不用来加密消息,而用来加密密钥
。
因为:
1)公开密钥算法比对称算法慢,对称算法一般比公开密钥算法快1000倍。
2)公开密钥密码系统对选择明文攻击是脆弱的。如果C=E(P),当P是n个可能明文集中的一个明文,那么密码分析者只需要加密所有可能的明文,并能与C比较结果。用这种方法,不可能恢复解密密钥,但他能够确定P.
如果P是比一百万美元少的某个美元值,密
码分析家尝试所有一百万个可能的美元值,就可能得到结果。
在大多数实际的实现中,公开密钥密码用
来保护和分发会话密钥,这些会话密钥用
在对称算法中,对通信消息进行保密,称
这种系统为混合密码系统(hybridcryptosystem)
(1)Bob将他的公开密钥发给Alice.
(2)Alice产生随机会话密钥K,用Bob的公开密钥加密,并把加密的密钥EB(K)送给Bob.
(3)Bob用他的私人密钥解密Alice的消息,恢复出会话密钥:DB(EB(K))=K.
(4)他们两人用同一个会话密钥对他们的通信消息进行加密。
把公开密钥密码用于密钥分配解决了重要
的密钥管理问题。
这个协议依赖于Trent的绝对安全性。Trent更可
能是可信的计算机程序,而不是可信的人。如果
Malice破坏了Trent,整个网络都会遭受损害。他
有Trent与每个用户共享的所有秘密密钥;他可
以读所有过去和将来的通信业务。
另一个问题:Trent可能会成为瓶颈。他必须参
与每一次密钥交换,如果Trent失败了,这个系统就会被破坏。
(1)Alice从PKDB得到Bob的公开密钥。
(2)Alice产生随机会话密钥,用Bob的公开密钥加密,并把加密的密钥EB(K)送给Bob.
(3)Bob用他的私人密钥解密Alice的消息,恢复出会话密钥:DB(EB(K))=K.
(4)他们两人用同一个会话密钥对他们的通信消息进行加密
中间人攻击:
Malice能够截取Alice的数据库查询,并用
自己的公开密钥代替Bob的公开密钥,对
Bob他能做同样的事情。因为Alice和Bob无
法验证他们的互相交谈。
在会话密钥交换协议期间采用数字签名能防止中
间人攻击。Trent对Alice和Bob的公开密钥签名。
签名的密钥包括一个已签名的所有权证书。当
Alice和Bob收到密钥时,他们每人都能验证Trent
的签名。那么他们就知道公开密钥是哪个人的。
Alice和Bob在交换消息前不需要完成密钥
交换协议。在下面的协议中,Alice在没有
任何以前的密钥交换协议的情况下,将消
息M传送给Bob:
(1)Alice产生一随机会话密钥K,并用K加密M:EK(M).
Alice可以把加密的消息传送给几个人。
(2)Alice从数据库中得到Bob的公开密钥。
(3)Alice用Bob的公开密钥加密K:EB(K)
(4)Alice用加密的消息和加密的会话密钥传送给Bob:EK(M),EB(K).
(5)Bob用他的私人密钥将Alice的会话密钥K解密。
(6)Bob用会话密钥将Alice的消息解密。
Alice把加密消息传送给Bob,Carol,Dave:
(1)Alice产生一随机会话密钥K,并用K加密消息M:EK(M).
(2)Alice从数据库中得到Bob,Carol,Dave的公开密钥。
(3)Alice用Bob的公开密钥加密K,用Carol的公开密钥加密K,用Dave的公开密钥加密K:EB(K),EC(K),ED(K).
(4)Alice广播加密的消息和所有加密的密钥,将它传送给要接收它的人: