微信加密与登录验证分析 您所在的位置:网站首页 微信钱包加密怎么加 微信加密与登录验证分析

微信加密与登录验证分析

2024-07-07 23:52| 来源: 网络整理| 查看: 265

微信加密与安全通信流程分析 背景

​ 微信渐渐已经成为了大多数中国人日常会话的通讯工具。微信的通信安全,很大程度上保证了普通民众的数据安全,也因此显得十分重要。

​ 本文主要在其他对微信研究的基础上,进行了微信加密与验证的总结与分析。以便对微信的加密、验证安全有更加全面的接触与认识。

​ 本文主要从加密算法、验证流程分析、安全通信协议三方面进行介绍,主要对微信使用的mmtls进行了详细的分析。

加密算法

​ 我们首先将从最基本的加密算法出发,研究微信的加密方式。在通信中微信用到的加密算法主要用RSA公钥加密算法,AES随机密钥加密算法,这两个算法加密等级比较高,也因此难以破解。

RSA加密算法

​ RSA加密算法是目前一个普遍使用且比较安全的公钥加密算法。公钥加密也叫做非对称加密。它有着一对加密密钥(公钥)和解密密钥(私钥)。只有私钥才能解密。并且如果知道了其中一个,不能计算出另一个密钥。

​ RSA允许选择公钥的大小,公钥越长其安全性也越高。但是512位的密钥是被视作不安全的;1024位的密钥几乎是安全的。一般推荐使用1024位的密钥。

​ RSA的加密流程:

首先,加密方产生明文字符串,获取CER认证公钥。 加密机制通过Encoding指定不同的代码页,把字符串转换为不同页码对应的编码,为byte[]形式,再将byte[]字节流明文发送 使用CER证书的公钥对byte[]字节流明文进行加密操作,以密文形式发送。

​ RSA解密流程:

将公钥转换为PFX证书的私钥,使用PFX证书的私钥对byte[]密文进行解密,还原为byte[]明文字节流。

使用加密时Encoding使用的代码页,把byte[]形式的明文转换成是字符串明文并发送。

流程图示如下:

在这里插入图片描述

AES随机密钥加密算法

​ 微信的通信传输,全部基于AES随机密钥加密。AES是一个迭代的、对称密钥分组密码。它的密钥长度可以是128,192和256位。同时,使用128蚊分组加密和解密数据。

​ 与公钥加密相比,使用对称密钥加密速度比公钥快。因此在大多数的应用中,都是先使用如RSA加密算法来协商对称加密密钥,接着在之后的通信中使用对称加密来加密消息。微信也是如此。

​ 微信中使用的是129位AES随机密钥,它的强度是56位DES花奴强度的1000+倍。破解128位的AES密码需要的时间也很长,可以达到亿万年计。

​ 对称密钥加解密流程相似,每轮的AES加密循环均有如下四个步骤:

字节替换:对数据的每一字节应用一个非线性变换 行移位:对每一行的字节循环重新排序 列混合:对矩阵的列应用一个线性变换 轮密钥加:把轮密钥混合到中间数据

在这里插入图片描述

​ 不同的是最后一轮省略了列混合变换。

HKDF密钥扩展

​ HKDF的主要用来使用原始的密钥信息来派生出一个或者更多个可以达到密码学强度的密钥——将较短的密钥材料扩展成较



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有