2 n3 g7 A3 j$ I* Z0 H0 O接着是百度输入法。研究者主要分析了该输入法在三大主流平台,即Windows、Android和iOS上的安全表现。在Windows版本中,研究者发现百度直接在代码里硬编码了传输加密所用的对称密钥。这是一种非常糟糕的安全实践,因为一旦攻击者获取输入法的安装程序,通过反编译手段就可以直接提取出密钥,继而解密传输数据。而在Android和iOS版本中,情况也没有好到哪里去。百度自研了一套加密方案,但研究者发现其强度严重不足。他们推测出该方案的种子密钥仅有可能来自于设备的IMEI等特征信息。考虑到IMEI的取值空间非常有限,攻击者可以轻易穷举出所有可能的密钥,再尝试挨个解密,不出意外就能破解出用户的输入内容。 0 }% O* f- I t( C L. d( |3 m& E0 E8 o7 Q5 s
再下来是讯飞输入法。研究者的分析表明,该输入法的Android版本在数据加密上采用了DES对称加密算法。众所周知,DES由于其密钥长度较短(只有56bit),在现代密码学看来已经是一种过时且不安全的加密方法。更何况讯飞在密钥管理方面也存在严重的问题。它没有为每个用户生成独立、随机的密钥,而是直接采用设备的IMEI作为密钥来源。这与百度输入法如出一辙,同样面临着密钥空间过小,易被穷举破解的风险。研究者据此复现了针对讯飞输入法Android版本的解密攻击,证实了用户的隐私数据能被还原出来。2 ?9 V( \, Y; I! f
9 }% u! N1 r. Y
对于三星键盘,前文已经提到它是本次测试中安全性最差的输入法。三星疏于对用户隐私数据进行必要的加密保护,致使所有键盘输入都是明文传输。窃听者只需嗅探三星手机的流量,就可直接获取用户输入的内容,过程及其简单直接。研究者呼吁三星尽快重视该问题,从代码层面入手,强化输入数据的端到端加密。7 x5 `+ O: _: A: Q' g
; V5 v# _& C$ z' w2 J/ V至于小米、OPPO、Vivo的预装键盘,研究者发现他们采用了一些自研的私有传输协议。初步分析表明,出于安全考虑,这些私有协议都对传输数据进行了加密。然而,研究者进一步挖掘后却发现,它们在加密算法的选择和密钥管理等方面均存在诸多不妥之处,难以抵御针对性的密码分析攻击。这种做法虽然有一定的隐蔽性,但从专业的密码学和安全工程角度来看,仍存在一些值得商榷之处。经过一系列的努力,研究者最终成功破解了上述私有协议,说明它们在逆向工程面前仍不堪一击。- [ v. `6 Q, E
! {; w ^( q& p6 q首先也是最关键的,私有协议的设计和实现缺乏广泛的同行评审和公开审计,其安全性难以得到全面的验证。与大家熟知的 HTTPS、SSL/TLS 等标准协议不同,这些私有协议的核心思路和技术细节通常不会完全公开,使得业界难以全面了解其是否采用了当前最佳实践,是否存在逻辑缺陷或实现漏洞。而公开透明正是密码学和安全领域的一项基本原则。正所谓"透明性带来安全性",只有经过广泛审视和验证的方案,才可能真正做到"安全"。! V2 p. x2 F2 r4 E' t) {0 _
9 W' ]6 P: ?6 t- a
其次由于缺乏标准化,私有协议在跨平台、跨版本的兼容性和一致性方面也难以保证。不同团队在不同时期对协议的理解和实现可能存在偏差,带来安全风险。而采用成熟标准协议,可最大限度避免此类人为疏漏。更形象一点说,就是在私有协议兼容的时候是最容易出现问题的。, H% x3 j7 C/ P- k2 t; ?7 g l% S
- z) d0 L% y+ V3 h1 Z0 d
更为严重的是,小米、OPPO、Vivo 的部分私有协议在加密算法选择和密钥管理方面存在明显不当之处。这为恶意攻击者逆向破解协议、窃取用户隐私数据提供了可乘之机。0 F# p s T- [- N: `