IETF提出了一种新的消息传递标准-您需要了解的内容

互联网工程理事会( IETF)已发布新协议的草案 -消息层安全性(MLS)。 其任务是在两个设备之间提供安全的消息传递。 它描述了不仅可以在聊天应用程序中使用的抽象数据结构,还可以用于使用TLS 1.3和JSON的抽象数据结构。 让我们谈谈MLS的原理。


/图片Rama CC

IETF工程师已经发布了两个文档。 第一个描述实现MLS协议的消息传递系统要求 ,第二个描述 MLS协议本身

关于消息传递架构


消息传递服务(消息传递服务)包括两个用于监视接收/传输消息的安全性的服务。

第一个是身份验证服务。 他负责个人数据的安全-登录名,电话号码以及用于识别客户的唯一密钥对。

第二种是传递服务,用于在客户端之间存储和分发密钥,以交换加密的消息。 传递服务仅与消息传递所需的数据一起运行,并且不涉及有关发件人的个人信息。 这限制了服务器端元数据的“足迹”。

在许多系统中,传递和标识服务由单个逻辑实体或服务器表示。 但是,在MLS中,这是两个单独的组件。 作者决定将这些过程分开,以便MLS可与开放式授权协议(例如OAuth)一起使用

这提供了另一个优点。 即使消息服务提供商控制身份验证和传递过程,元数据也将受到可靠的保护。 提供者将无法将加密的消息与公用密钥相关联。

MLS如何运作


邮件用户分组在一起。 要创建一个组,参与者“添加”他们的UserInitKey密钥并形成一个秘密 。 UserInitKey是密钥Diffie-Hellman对,用于初始化各个用户。



该协议使用两种类型的二叉树 。 第一个是Merkle树 (它是一个哈希树),用于确认组成员执行的操作的真实性。 第二种类型-棘齿树-用于提取其秘密。

该小组可以执行以下基本操作:

  • 添加该组的新成员(创建对话)。
  • 更新组成员机密信息。
  • 删除组的成员。

如果组A的成员想要与B和C建立对话,则他首先下载其初始化密钥(InitKeys)。 然后,这些密钥用于形成GroupAdd消息,该消息应添加成员B和C。

GroupAdd消息被发送到整个组,并按B和C的顺序进行处理。当它们的响应返回到A时,组状态将更新,并显示“新到达”。 系统成员在被接受到组中之前发送的任何其他消息都将被忽略。



与TLS和DTLS不同,新协议本身不包含“握手”阶段。 MLS使用所谓的握手消息。 通讯参与者每次都交换他们,您需要添加或删除组的新成员。

握手消息封装了有关组状态更改的特殊消息,还包括GroupInitKey,以便可以初始化新成员以及该组当前成员之一的签名以及Merkl的证明(以验证签名者的“真实性”)。

等待MLS的是什么


Google,Mozilla,Twitter,MIT,法国研究所INRIA和Wire通信平台的代表参加了MLS的体系结构和要求的开发。 该协议本身是由思科,Facebook,谷歌和牛津大学的人员创建的。


/照片书籍目录 CC

该协议的命运将在下个月IETF理事会召集再次讨论该方案草案时决定 。 如果一切顺利,那么一年之内,MLS将获得IESG (互联网工程指导小组)的批准,并将成为一项标准。



我们在IT-GRAD中的工作:• IaaSPCI DSS托管Cloud-152



IaaS企业博客中的内容:



Source: https://habr.com/ru/post/zh-CN421811/


All Articles