Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

窃听与对称加密

复习

  • 缓存、代理与 CDN:数据往往会经过多个中间节点
  • 套接字:应用通过它收发数据
  • 端口:HTTPS 常用 443

TL;DR

  • 网络上传输的数据,可能被第三方窃听
  • 对称加密用同一把密钥加密和解密
  • 它速度快,适合保护大量数据
  • 难点在于:双方怎样安全地共享这把密钥

正文

  数据在网络上要经过许多台设备和中间节点。谁也不能保证,路上没有一双眼睛在偷看。怎样让别人即使截获了数据,也读不懂?

  答案是加密。而在网络传输里,最基础的加密方式是对称加密

同一把钥匙

  对称加密(symmetric encryption)的特点是:加密和解密用同一把密钥

  发送方用密钥把明文变成密文,接收方用同一把密钥把密文还原成明文。因为算法本身相对简单,它速度很快,特别适合加密大量的通信数据。

  可以把它想成一个带锁的箱子:你用一把钥匙锁上,对方用同一把钥匙打开。

软肋在“钥匙怎么给”

  对称加密的问题,不在算法本身,而在那把钥匙。

  既然加密和解密都用同一把钥匙,那双方就得事先拥有同一把钥匙。可如果你们从未见过面,这把钥匙怎么安全地送到对方手里?

  如果直接在网络上明文发送钥匙,那盯着线路的人顺手就把钥匙抄走了——加密也就形同虚设。这就像把箱子的钥匙和箱子一起寄出去,谁拦下都能打开。

先记住这个矛盾

  所以,对称加密的能力和局限都很清楚:

  • 能力:快,适合保护大数据
  • 局限:如何在不安全的信道上,安全地共享密钥

  这个“钥匙分发”难题,正是后面非对称加密和密钥交换要解决的核心。先把这对矛盾记在心里,接下来的几章,都是为了解开它。

思考题 1

  对称加密为什么很快,却难在“密钥分发”上?

思考题 2

  如果密钥在网络上明文传输,会发生什么后果?

小结

知识点

  • 网络数据可能被窃听,需要加密保护
  • 对称加密用同一把密钥加密与解密
  • 它速度快,适合大量数据
  • 核心难题是密钥如何安全共享

参考资料

  1. Wikipedia(zh):对称密钥加密:加密解密使用同一密钥
  2. Wikipedia(zh):密码学:研究保密通信的学科

思考题答案(仅供参考)

思考题 1

  因为它只需同一把密钥做简单的加解密运算,计算量小,所以快。但也正因为双方必须持有同一把密钥,就要先解决“怎样把密钥安全地交给对方”这个问题,而这在开放网络上并不容易。

思考题 2

  窃听者会直接拿到密钥,此后所有用这把密钥加密的数据,他都能轻松解开。加密失去意义,保密性彻底破坏。所以密钥绝不能在不安全的信道上明文传输。

协议

  本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

封面图

设计师 | 南国微雪