XChat 要发布了,你知道什么是端到端加密吗?

0 阅读3分钟

马斯克要发布 XChat了,一款基于端到端加密的聊天软件。我来帮你一次捋清端到端加密非对称加密对称加密SSL/TLS之间的区别。

端到端加密(E2EE)是一种信息加密传输方案。他通常是基于对称加密非对称加密两种加密算法来实现的,具体而言。

1. 端到端加密

简单来讲就是:

端到端加密 = 只有消息收发的双方能看懂消息,中间所有人(服务器,黑客)都偷看不了

对比

没端到端加密的普通聊天

你发消息 → 经过服务器 → 发给对方

  • 服务器能看到你发的内容
  • 维护人员、黑客等都能看看新的内容
  • 相当于你寄的信,邮递员和中转站都能读直接看到全文

端到端加密的聊天

你发消息 → 在你手机上就加密 → 经过服务器 → 到对方手机→ 再解密

  • 服务器和中间传输的人员都只能拿到加密后的内容,但是解不开
  • 相当于你把信锁进箱子,只有你和对方有钥匙

2. 对称加密、非对称加密

对称加密:即加密和解密用同一把钥匙

比如:最常见的的钥匙,既能开门,也能锁门。你和朋友用同一把钥匙就都能进出同一个房间。

  • 对称加密算法的优点:加密速度快,适合加密大文件等

因此通常而言我们可以用对称加密将消息加密起来,然后发送给接收方,接收方再解密这样可以实现加密传输。但是,互联网是公开的上两个不认识的人怎么传递对称密加密的密钥?这时候就需要引入非对称加密。

非对称加密:非对称加密即加密解密不同的钥匙(公钥私钥)

非对称加密可以实现,用公钥加密的数据 → 只有私钥能解开,或者,用私钥加密的数据 → 只有公钥能解开。

因此,可以把非对称加密当成一个盒子,公钥当成盒子的锁,私钥当成盒子的钥匙,或者反过来,公钥当成钥匙,私钥当成锁。

这样就解决了如何在互联网上传递密码的问题,即用户可以把锁公开,钥匙只有自己有。别的用户可以用公开的锁来锁住密码交给用户,只有用户能解开。也只有收发的双方知道消息是什么。

为什么不直接用非对称加密传递消息?——因为加密速度太慢。

3. 如何实现端到端加密

基于以上两个加密技术就可以端到端加密了。大概流程是这样:

  1. 发送方生成一个对称加密密码
  2. 用非对称加密技术交换密码
  3. 发送方消息加密
  4. 发送消息
  5. 接收方消息解密
  6. 完成信息交换

中间任何人包括服务器都不能知道发送的内容是什么。

4. 端到端加密和SSL/TLS的区别

端到端加密和SSL/TLS都利用了非对称加密技术实现数据加密,只不过保护的范围不太一样,SSL保护的是从用户到服务器之间的安全传输, 端到端加密加密保护的是从用户到用户之间的安全传输。

5. 广而告之——OpsTiny

我写的工具OpsTiny也是采用端到端加密技术实现开发资产和密码的协作和管理,只有你和你的队友能看到真正的密码。

欢迎使用 OpsTiny,基于端到端加密的密码、资产协作工具,帮你共享密码,管理开发资产。

image.png