多年来,苹果公司不断改进其安全机制,以阻止对其设备未经授权的访问。这一演变的最重要方面之一就是 iOS 设备中日益复杂的密码保护系统。本文探讨了两次密码尝试失败之间的延迟是如何随着时间的推移而变化的,并重点介绍使iOS屏幕锁定保护更安全的变化。
早期阶段
在iOS早期,密码尝试次数几乎是无限的。随着时间的推移,密码尝试失败之间的延迟时间会增加,但在极端情况下,等待时间可能会达到很荒谬的数字,有时甚至会显示“下一次尝试在一亿年后”。网上有大量这些夸张的锁定时间截图。
iOS 10 和 iOS 11
早在 2018 年我们进行过多次测试,以验证在两次不成功解锁尝试之间增加的延迟时间。在 iOS 10 和 11 中,苹果引入了一种有效的机制来阻止对密码的暴力破解攻击,即在每次尝试解锁失败后逐步增加延迟时间。iOS 10 和 11 的测试结果完全相同:
- 第5 次尝试 : 1 分钟
- 第6 次尝试 : 5 分钟
- 第7 次尝试 : 15 分钟
- 第8 次尝试 : 15 分钟
- 第9 次尝试 : 1 小时
- 第10 次尝试 : 1 小时
- 第11 次尝试: 删除数据或 "iPhone 已禁用”
iOS 12:仍保持不变
随着iOS 12的发布,苹果保持了类似的结构,延迟时间基本未变。我们使用运行iOS 10和iOS 12的设备重新进行了测试。结果显示,两款设备都遵循了相同的延迟模式,即延迟时间不断增加,最后,在长达一个小时的等待后,才进行了最后的尝试。当时,我们提前停止了对iOS 10设备的测试,以保留越狱功能,这对当年的底层提取至关重要,同时允许iOS12设备在多次尝试失败后禁用越狱功能。iOS 12的结果再次与iOS 10和iOS 11相同: