三年前过年前我去鼓浪屿旅了个游,不幸丢失了我的 iPhone 5,考虑到过年的开支,买了台小米。当时弃苹果投 Android 的原因除了价格,还有那时读的一篇文章《FBI 无法破解 Android 手势密码》。
FBI 在法院文书中提到,法院专家用多种方法尝试解锁一台 Samsung Exhibit II,未果。
文章后面的故事在此不表,重要的是,它给我植入了“手势密码极度安全”这个印象。后来指纹解锁逐渐成为主流,那么,退回手势密码是否是安全上策?
不一定!
人喜欢偷懒
挪威科技大学的 Marte Løge 在研究生毕业论文中对这个问题进行了研究,分析了 4000 多个 ALP(手势密码),发现这些密码有着惊人的相似性。这些 ALP 中,44% 从最左边的点开始,77% 从四个角开始。另外人们并没有将 9 个点充分运用上,平均连接仅有 5 个点,意味着只有 9000 种可能性。用 4 个点的用户也不少,他们的密码仅有 1624 种可能。
人类是可预测的。
研究过程中,Løge让志愿者各自设置 3 个 ALP:一个用于购物应用,一个用于银行应用,一个用于解锁手机。结果大部分人都选择使用最基本的 4 位解锁图案。出于某种原因 8 位密码的使用频率最低,过半数人选择使用 4-5 位的 ALP。
人们对短密码的偏好很好理解,短的好记嘛。当然这点上还存在性别差异,女性似乎更喜欢“偷懒”,男性则更倾向于使用较长的密码。下图是男性与女性设置的密码长度对比:
除了长度,男性还更倾向于将密码设置得更复杂,例如 2,3,1 的组合,就比 1,2,3, 的组合复杂性更高,因为前者组合改变了数字的“方向”。在 Løge 的试验中,没有任何一位女性使用了这种“调头”的密码。
最好破解 VS 最难破解
文 本密码中,“1234567”、“password”恐怕谁都用过,恰恰这些密码也是最容易破解的密码组合。 人们在设置手势密码时同样遵循着这种“偷懒”的习惯,超过 10% 的受试者的起点都与配偶、小孩、宠物的名字相关。假如心怀不轨者掌握了相关信息,并猜到了第一个字,破解密码的难度就会大大降低。
设密码或许是最反人性的一项工作。复杂性多半会难倒自己,不复杂的话又有安全隐患。其实最复杂的密码就是随机密码,“但人类大脑先天注定无法产生随机内容”(语自大学的统计学教授)。
回 到文初提到的“FBI 无法破解 Android 手势密码”,而 Løge 又说手势密码很脆弱,歧视也不完全矛盾。不清楚当时 FBI 的破解手段,但光谈密码机制,Android ALP 本身是很安全的,至少比纯数字的密码要安全的多。Løge 的研究是从心理学的角度分析人类使用密码的规律,人性,总归是有破绽的。
推荐阅读:
相关推荐
因此,手势密码和指纹解锁的结合使用可以提供更佳的用户体验和安全防护。开发者需要确保在实现这些功能时遵循Apple的安全指南,避免数据泄露,同时也要考虑不同用户群体的使用习惯,以优化解锁流程。 总的来说,...
基于Objective-C实现创建手势密码+解锁手势密码+指纹验证功能+源码+源码解析,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于Objective-C实现创建手势密码+...
本文将深入探讨如何使用Swift来创建手势密码(Gesture Password)和集成指纹验证(Fingerprint Authentication)功能,从而提高应用的安全性。 ### 手势密码创建 手势密码是一种用户友好的安全机制,用户通过在...
在Android平台上,开发人员经常需要实现各种安全机制来保护用户数据和应用功能,例如指纹识别、图形密码和手势密码等。这些技术增强了用户体验并提升了应用的安全性。在您提供的资源"Android-LockDemo封装了指纹识别...
相比传统的文本密码,手势密码更难被旁窥,因为它们是通过用户的物理动作而非可读字符来设置的。此外,由于记忆图形比记忆字符串更容易,手势密码也有助于提高用户体验。 在HTML5中实现手势密码,开发者可以利用...
基于java开发的密码解锁APP,包含手势密码解锁+指纹密码解锁+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java开发的密码解锁APP,包含手势密码解锁+...
在Android应用开发中,多语言支持、指纹登录和手势登录是提升用户体验和增强应用安全性的关键功能。下面将详细介绍这些知识点。 **一、多语言支持** 1. **资源文件夹结构**:Android支持多语言通过在`res`目录下...
1. 安全性较低:相比复杂密码,手势密码更容易被观察、模仿或通过指纹残留破解。 2. 触摸屏污染:手指的油渍可能会在屏幕上留下痕迹,暴露密码。 3. 可预测性:用户可能选择常见的图案,如Z形、交叉线等,降低了安全...
手势密码虽然方便,但也有其安全隐患,如窥视攻击和表面残留的指纹痕迹等。为了增强安全性,可以采用以下策略: 1. 增加复杂性:鼓励用户创建更复杂的图案,避免使用容易被猜测或常见的形状。 2. 双重验证:结合...
在Android操作系统中,手势密码(Gesture Lock)是一种常见的安全机制,它允许用户通过自定义的手势路径来解锁设备,提供了一种快速且直观的解锁方式。这种功能在智能手机和平板电脑上广泛使用,增强了用户的隐私...
手势密码是一种广泛应用于移动设备和应用程序的安全验证方式,它通过用户自定义的图案路径来解锁或验证身份。在这个“手势密码-有箭头指示”的示例中,我们可能看到一个带有箭头指示的手势密码实现,这有助于用户更...
九宫格手势密码是一种常见的移动设备安全保护机制,尤其在Android系统中被广泛采用。它通过用户自定义的一系列连续点选屏幕上的九个点来创建一个独特的解锁图案,为设备提供了一种直观且快速的锁定和解锁方式。在...
指纹解锁功能作为生物识别技术的一部分,其安全性较手势密码更高,且使用起来更为便捷。因此,在支持指纹识别的设备上,支付宝默认不再提供手势密码的设置选项,以引导用户使用更为安全的解锁方式。 然而,并非所有...
在大神代码上修改,支持指纹识别的可以实现指纹和手势同时识别.忘记手势可执行账号密码登录,忘记账号密码,可以充值账号密码登录!希望对你们有所帮助!大神勿喷....
基于java开发的指纹解锁APP,软件支持指纹解锁+手势解锁+数字密码解锁+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java开发的指纹解锁APP,软件支持...
手势密码锁是一种安全机制,广泛应用于移动设备,如Android智能手机和平板电脑,为用户提供便捷的解锁方式。在Android系统中,手势密码锁通过用户自定义的一系列连续的点连接形成特定图案来锁定屏幕,增加了设备的...
九宫格手势密码通常由一个3x3的矩阵组成,用户通过在这些方格之间画出一条连续的线,连接至少四个点来创建手势。这个手势可以是任意形状,但必须是连续的,且不能重复经过同一方格。系统会记录下用户的划线路径,将...
其次,指纹解锁(Touch ID)和手势密码解锁是移动应用中常见的安全措施。在Swift中,我们可以使用LocalAuthentication框架来实现指纹解锁功能。通过LAContext对象检测设备是否支持Touch ID,并调用evaluatePolicy...
其中,手势密码作为一种保护手机用户隐私的有效手段,被广泛应用于智能手机的屏幕解锁和手机软件的身份认证。然而,随着技术的发展,研究人员已经能够利用手机加速度传感器和触摸屏传感器,设计出能够破解安卓系统...
这个源码案例是一款手势密码解锁功能,源码JKLLockScreenViewController,提供了一个手势密码解锁的简单界面。可以进行解锁、创建新的手势密码,或更改手势密码。 测试环境:Xcode 6.2,iOS 6.0以上