问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

揭秘微信支付加密漏洞:MMTLS协议的安全隐患

创作时间:
2025-01-22 03:54:02
作者:
@小白创作中心

揭秘微信支付加密漏洞:MMTLS协议的安全隐患

微信支付作为一款每月活跃用户超过10亿的应用程序,其安全性备受关注。近期,研究人员深入分析了微信使用的MMTLS加密协议,发现了多项安全隐患,包括确定性IV和缺乏前向保密性等问题。虽然微信在加密技术上做了很多努力,但仍存在不少潜在风险。了解这些加密问题,可以帮助我们更好地保护个人隐私和财产安全。

01

MMTLS加密协议详解

微信使用的MMTLS(Mobile Micro Transport Layer Security)加密协议是基于TLS1.3草案标准设计实现的安全通信协议。它处于业务层和原有的网络连接层之间,类似于HTTP加上TLS后变成HTTPS,由TLS保护HTTP数据。MMTLS主要包含三个核心协议:

  • Record协议:负责对业务层数据进行加密传输。
  • Handshake协议:用于完成客户端与服务器的握手协商,协商出一个对称加密密钥及其他密码材料,用于后续数据加密。
  • Alert协议:用于通知对端发生错误。

这种加密方式可以有效防止数据在传输过程中被窃听、篡改和伪造。

02

安全漏洞分析

尽管MMTLS在设计上借鉴了TLS1.3的先进特性,但仍存在一些安全漏洞,这些漏洞可能被攻击者利用,对用户数据安全构成威胁。

确定性IV问题

在AES-GCM加密模式下,MMTLS加密过程每次连接生成一个初始向量(IV),然后为该连接中加密的每个后续记录增加IV。然而,这种做法存在严重风险:

  • 重复使用相同的(密钥,IV)元组是灾难性的,因为它允许从AES-GCM身份验证标签中恢复密钥。
  • 强大的对手可能会暴力破解特定的(密钥,IV)组合。
  • 鉴于微信庞大的用户量,这种攻击在实际中是可行的。

缺乏前向保密性

现代通信协议通常要求具有前向保密性,以降低会话密钥的重要性。然而,微信的MMTLS在设计上存在以下问题:

  • 大量使用预共享密钥(PSK)。
  • shortlink传输格式发送的加密数据以及长寿命的longlink连接发送的加密数据,在连接之间通常不会保留前向保密性。
  • 如果PSK密钥泄露,第三方将能够解密通过多个MMTLS连接发送的大量数据。

业务层加密问题

微信的业务层加密结构存在一些问题:

  • AES-CBC结构本身存在密钥、IV重复使用等严重问题。
  • 虽然这些问题目前主要影响内部业务层加密,但仍然存在被攻击的潜在风险。
  • 业务层加密不会对用户ID、请求URI等元数据进行加密,这也可能导致信息泄露。

03

微信支付的安全措施

面对这些安全挑战,微信支付采取了多种措施来保障用户安全:

  1. 多重认证机制:包括指纹识别、人脸识别、支付密码和短信验证码等,确保用户身份的真实性。
  2. 实时监测系统:能够实时监测和拦截可疑交易,保障用户资金安全。
  3. 资金监管:资金流转全程受到腾讯公司的严格监管,确保资金流转的合规性和安全性。
  4. 用户教育:提供丰富的安全知识教育资料,帮助用户提高安全意识。
04

用户安全建议

虽然微信支付在安全防护方面做了大量工作,但用户自身的安全意识同样重要。以下是一些实用的安全建议:

  1. 设置复杂密码:使用包含大小写字母、数字和特殊符号的强密码,并定期更换。
  2. 开启双重认证:启用指纹或面部识别等生物认证方式,增加账户安全性。
  3. 谨慎点击链接:不要随意点击不明来源的链接,避免访问钓鱼网站。
  4. 定期检查交易记录:通过微信支付的安全中心查看交易记录,及时发现异常。
  5. 及时更新软件:确保微信应用始终是最新版本,以便获得最新的安全补丁。

微信支付作为一款广泛使用的移动支付工具,其安全性一直备受关注。虽然MMTLS加密协议存在一些安全漏洞,但微信支付通过多重安全措施和用户教育,整体上还是能够为用户提供可靠的安全保障。用户在使用过程中,也应提高安全意识,采取必要的防护措施,共同维护支付安全。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号