窃听与对称加密
复习
- 缓存、代理与 CDN:数据往往会经过多个中间节点
- 套接字:应用通过它收发数据
- 端口:HTTPS 常用 443
TL;DR
- 网络上传输的数据,可能被第三方窃听
- 对称加密用同一把密钥加密和解密
- 它速度快,适合保护大量数据
- 难点在于:双方怎样安全地共享这把密钥
正文
数据在网络上要经过许多台设备和中间节点。谁也不能保证,路上没有一双眼睛在偷看。怎样让别人即使截获了数据,也读不懂?
答案是加密。而在网络传输里,最基础的加密方式是对称加密。
同一把钥匙
对称加密(symmetric encryption)的特点是:加密和解密用同一把密钥。
发送方用密钥把明文变成密文,接收方用同一把密钥把密文还原成明文。因为算法本身相对简单,它速度很快,特别适合加密大量的通信数据。
可以把它想成一个带锁的箱子:你用一把钥匙锁上,对方用同一把钥匙打开。
软肋在“钥匙怎么给”
对称加密的问题,不在算法本身,而在那把钥匙。
既然加密和解密都用同一把钥匙,那双方就得事先拥有同一把钥匙。可如果你们从未见过面,这把钥匙怎么安全地送到对方手里?
如果直接在网络上明文发送钥匙,那盯着线路的人顺手就把钥匙抄走了——加密也就形同虚设。这就像把箱子的钥匙和箱子一起寄出去,谁拦下都能打开。
先记住这个矛盾
所以,对称加密的能力和局限都很清楚:
- 能力:快,适合保护大数据
- 局限:如何在不安全的信道上,安全地共享密钥
这个“钥匙分发”难题,正是后面非对称加密和密钥交换要解决的核心。先把这对矛盾记在心里,接下来的几章,都是为了解开它。
思考题 1
对称加密为什么很快,却难在“密钥分发”上?
思考题 2
如果密钥在网络上明文传输,会发生什么后果?
小结
知识点
- 网络数据可能被窃听,需要加密保护
- 对称加密用同一把密钥加密与解密
- 它速度快,适合大量数据
- 核心难题是密钥如何安全共享
参考资料
- Wikipedia(zh):对称密钥加密:加密解密使用同一密钥
- Wikipedia(zh):密码学:研究保密通信的学科
思考题答案(仅供参考)
思考题 1
因为它只需同一把密钥做简单的加解密运算,计算量小,所以快。但也正因为双方必须持有同一把密钥,就要先解决“怎样把密钥安全地交给对方”这个问题,而这在开放网络上并不容易。
思考题 2
窃听者会直接拿到密钥,此后所有用这把密钥加密的数据,他都能轻松解开。加密失去意义,保密性彻底破坏。所以密钥绝不能在不安全的信道上明文传输。
协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
封面图
设计师 | 南国微雪