端到端加密的技术背景

作者: , 共 584 字 , 共阅读 0

现在越来越多的软件支持端到端加密,服务器和第三方即使获取所有网络流量,也无法查看具体数据内容,从数学和工程上提供安全性。

其中一个最简单的实现就是非对称加密。双方都持有私钥,公布公钥。发送者使用自己的私钥和对方的公钥加密,接收者使用对方的公钥和自己的私钥解密。

但在实际操作中还有很多其它考虑因素:

  • 如果密钥泄露,历史消息能否被泄露(前向安全)。
  • 其中接收者登录了多个设备,如何在多个终端上阅读同时确保安全性。
  • 是否支持群聊。
  • 支持离线消息等等。

为此,端到端通讯里涉及了一系列的加密概念。

1、forward sececy 前向安全

前向安全是指只要通讯当时的密钥没有全部泄露,只有当前的密钥泄露,历史消息仍然安全。

比如如果总是使用同一公钥密钥进行通信,一旦密钥泄露,历史消息将被一览无遗,这就不符合前向安全。

因此要想实现前向安全,通信是密钥必须要不断更换。一个最简单的方法是每次都生成新的私钥和公钥。

2、Post-Compromise security / Future Secrecy / 后向安全

后向安全是指,如果即使密钥遭到泄露,也只能使用一段时间。如果没有持续泄露,很快泄露的密钥将无法解密新的消息。

3、MAC

全称 Message Authentication Code ,就是用于生成摘要,验证消息完整性以及源身份。一个典型是HMAC

【未完待续】

Q. E. D.

类似文章:
Tox 是一个开源的实时通信协议,不需要中央服务器,提供多种跨平台的客户端。
迪菲-赫尔曼密钥交换( Diffie–Hellman key exchange ,简称「D–H」) 是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。
比特币协议里使用了 ECDSA (椭圆曲线签名算法),我之前以为它和基于大数分解的 RSA 公钥密码体系差不多。这两天看了下维基百科,才发现它们之间的差异挺大。
IT » 比特币, 数字货币
最近看到一篇文章Satoshi』s Genius: Unexpected Ways in which Bitcoin Dodged Some Cryptographic Bullets,国内有人翻译过(中本聪的天才:比特币以意想不到的方式躲开了一些密码学子弹)。里面说的第一个就是天才的中本聪并不是将公钥而是将公钥两次 HASH 之后作为比特币账户的地址,这可以让比特币系统抵抗量子计算机的攻击。
IT » 比特币
最近 bitcoin 很火,我也是最先从云风那里了解到的,后来发现李笑来&霍炬对其都有涉及。不过他们对其具体技术原理的描述还是不够细致,所以我自己把bitcoin wiki又重新看了一遍。 看完之后,疑惑挺多,我对这个体系远没有前面三位这么乐观。诚然,它会成为"Geeks "手中的玩物甚至灰色交易的工具,但要说的达到「一出天下反」的程度,那还需要解决一些技术和金融方面的问题。
IT »
有时候用vim打开文件,每行结尾都有一个灰色的^M。这个原因是该文件在 windows 或 mac 系统上被创建:
相似度: 0.055
IT » github
github 自从废除用户名密码直接登录之后,就乱了很多。直接用户名密码会提示:
机器统治世界提到,随着科技的发展,我们可以直接用机器来替代政府。所谓机器统治世界,并不意味着机器是世界的主人。机器还是听命于人类,只不过以一种无法被干预的民主投票的方式。所以,机器统计世界的第一要解决的问题就是投票协议。
编程 » C++, 异步
C++11 的标准异步库至少包含下面内容:
迪菲-赫尔曼密钥交换( Diffie–Hellman key exchange ,简称「D–H」) 是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。
Tox 是一个开源的实时通信协议,不需要中央服务器,提供多种跨平台的客户端。