为什么TLS协议使用不同的对称密钥来接收和发送数据?
仅仅用一个键来阅读和书写还不够吗?
发布于 2012-06-12 16:40:52
那么,使用相同的密钥进行加密和解密是否安全,在很大程度上取决于密室。特别是,TLS支持密码套件,因为它会导致严重的安全问题;因此,TLS被设计成在两个方向上都有不同的密钥(以便能够安全地使用这些密匙)。
特别是,如果在两个方向使用相同的密钥,则RC4加密算法将是不安全的。这是因为,如果两个方向使用相同的密钥,那么相同的密钥流将用于加密双方;这意味着,如果攻击者听到通信的双方,并且排他性--或从两个方向对相应的字节进行排他性--他将获得独占--或两个明文的独占。这是一个严重的安全问题;在最简单的程度上,如果他能够猜出一方的一半通信,他可以恢复另一方。
对于一个简单的例子,考虑一个TLS保护的通信,其中服务器发送固定的字符串"Enter password:“(或XML等效),然后客户端发送密码,好吧,攻击者可以排他性或两者合并,并恢复密码。
显然,这是不可接受的。通过为这两个方向使用两个不同的密钥,两个方向都使用独立的密钥流进行加密,因此攻击者无法做到这一点。
https://crypto.stackexchange.com/questions/2878
复制相似问题