在当今的智能手机上,从您设置 PIN 的那一刻起,所有数据都会自动加密。但这种加密真的是具体的吗?苹果与 FBI 事件显示了 iPhone 架构的相对效率。用于加密数据的密钥源自用户的 PIN 码和 iPhone 制造时创建的唯一硬件密钥(称为 UID)。
如果我们相信苹果的话,提取后者在技术上即使不是不可能,也是非常困难的。因此,警察被迫对设备本身进行暴力攻击,这意味着存在各种障碍(尝试次数有限、每次尝试之间的持续时间增加、尝试一定次数后自动删除等)。
安卓端
因此,安全研究员 Gal Beniamini 研究了 Android 智能手机,特别是那些配备高通芯片组(最广泛使用的芯片组之一)的智能手机。
他的分析表明,底层的加密系统与 iDevices 的加密系统完全不同。用于加密数据的密钥源自用户的 PIN 和软件主密钥,存储在系统的一个名为 TrustZone 的特殊存储区域中。研究人员表示,这种解决方案必然不太安全。
黑客只需发现 TrustZone 中的软件缺陷即可恢复主密钥。然后,他可以提取加密磁盘的副本,并悄悄地对超级计算机进行暴力攻击,如果失败,则对一系列亚马逊服务器进行暴力攻击。
补丁可用,但不一定已发布
这正是加尔·贝尼亚米尼所做的。他利用 TrustZone 最近的两个缺陷提取了主密钥。然后他创建了一个Python脚本来执行暴力攻击,并在自己的Nexus 6上成功进行了测试。
该攻击的源代码可在 GitHub 上找到。当然,谷歌和高通已经修复了这两个缺陷。问题在于,在 Android 世界中,补丁总是需要一段时间才能到达。在接受 Ars Technica 质疑时,Duo Security 公司估计 37% 的 Android 手机仍然容易受到这种攻击。
简而言之,如果智能手机上的数据加密对您来说确实很重要,那么最好选择 iPhone。如果这不可能,您还可以用真实的密码替换 PIN 码,如果密码又长又复杂,您可以有效地保护自己免受暴力攻击。但这种解决方案只能与指纹识别器结合使用:每次解锁时都被迫输入长密码,这是人类无法忍受的。