微信通讯录拉群导粉协议到底是什么?

Handshake协议 — 安全地协商出对称加密密钥

Handshake协议其实做的最主要的事情就是完成加密密钥的协商,即让通信双方安全地获得一致的对称密钥,以进行加密数据传输。在此基础上,还完成了一些优化工作,如复用session以减少握手时间。

微信通讯录拉群导粉协议到底是什么?_第1张图片
( 欢迎各位大佬来撩v:wuji-wen )

在这里说明一下,为什么mmtls以及TLS协议需要一个Handshake子协议和Record子协议?其实“认证密钥协商+对称加密传输”这种混合加密结构,是绝大多数加密通信协议的通用结构,在mmtls/TLS中Handshake子协议负责密钥协商, Record子协议负责数据对称加密传输。造成这种混合加密结构的本质原因还是因为单独使用公钥加密组件或对称加密组件都有不可避免的缺点。公钥加密组件计算效率往往远低于对称加密组件,直接使用公钥加密组件加密业务数据,这样的性能损耗任何Server都是无法承受的。

而如果单独使用对称加密组件进行网络加密通信,在Internet这种不安全的信道下,这个对称加密密钥如何获取往往是一个难以解决的问题,因此结合两类密码组件的优势,产生了“认证密钥协商+对称加密传输”这种混合加密结构。另外,mmtls/TLS这种安全性和扩展性都很强的安全通信协议,在解决实际安全通信问题的时候,会有非常多的细节问题,因此分离出两个子协议来隔离复杂性。

1 带认证的密钥协商

根据TLS1.3的描述,实际上有2种1-RTT的密钥协商方式(1-RTT ECDHE、 1-RTT PSK)和4种0-RTT的密钥协商方式(0-RTT PSK, 0-RTT ECDH, 0-RTT PSK-ECDHE, 0-RTT ECDH-ECDHE),mmtls结合微信的特点,在保证安全性和性能的前提下,只保留了三种密钥协商方式(1-RTT ECDHE, 1-RTT PSK, 0-RTT PSK),并做了一些优化,后面会详细分析如何产生这种决策的。

— 完 —

微信G众号:wuji1a

【无极圈】高端社群专注于研究和分享:全网低成本引流,互联网暴利项目

流量变现渠道,电商运营,等各种网络销售模式和商业模式

成员主要涉及行业: 互联网金融 微商 电商 自媒体 手游 O2O

以及实体店老板,实体企业老板等传统行业


来源作者:无极圈小雯
+
wuji-wen

你可能感兴趣的:(互联网)