现在越来越多的软件支持端到端加密,服务器和第三方即使获取所有网络流量,也无法查看具体数据内容,从数学和工程上提供安全性。
其中一个最简单的实现就是非对称加密。双方都持有私钥,公布公钥。发送者使用自己的私钥和对方的公钥加密,接收者使用对方的公钥和自己的私钥解密。
但在实际操作中还有很多其它考虑因素:
如果密钥泄露,历史消息能否被泄露(前向安全)。
其中接收者登录了多个设备,如何在多个终端上阅读同时确保安全性。
是否支持群聊。
支持离线消息等等。
为此,端到端通讯里涉及了一系列的加密概念。
1、forward sececy 前向安全
前向安全是指只要通讯当时的密钥没有全部泄露,只有当前的密钥泄露,历史消息仍然安全。
比如如果总是使用同一公钥密钥进行通信,一旦密钥泄露,历史消息将被一览无遗,这就不符合前向安全。
因此要想实现前向安全,通信时密钥必须要不断更换。一个最简单的方法是每次都生成新的私钥和公钥。
2、Post-Compromise security / Future Secrecy / 后向安全
后向安全是指,如果即使密钥遭到泄露,也只能使用一段时间。如果没有持续泄露,很快泄露的密钥将无法解密新的消息。
3、MAC
全称 Message Authentication Code ,就是用于生成摘要,验证消息完整性以及源身份。一个典型是HMAC。
以上就是本期的内容了,如果您对端到端加密技术感兴趣,可以持续关注接下来的文章。
领取专属 10元无门槛券
私享最新 技术干货