这篇内容探讨了金融机构普遍采用的“安全键盘”技术。它起源于 30 年前为防范个人电脑上的硬件键盘记录器而设计,但在现代手机环境下,这种防护已失去意义。其核心论点是,安全键盘通过限制密码管理器的使用,反而迫使用户选择更简单、不安全的密码,从而降低了整体安全性。最终结论是,真正的安全不应牺牲便利性,密码管理器和通行密钥等现代方案才是正确的方向,应当摒弃这种过时且适得其反的安全措施。
安全键盘的由来:一个 30 年前的解决方案
“安全键盘”的诞生,要追溯到个人电脑和互联网远未普及的年代。当时,网吧是许多人接触互联网的主要渠道,这也催生了一种原始但有效的攻击方式:硬件键盘记录器。
- 攻击方式:攻击者在电脑的键盘接口上安装一个小型设备,用于记录用户通过键盘输入的所有内容,包括账号和密码。
- 早期对策:为了绕过物理键盘,软件开发者设计了“软键盘”。用户通过鼠标点击屏幕上显示的虚拟键盘来输入信息,从而避免被硬件记录。
- 演变至今:如今手机银行 App 里的“安全键盘”,本质上就是当年“软键盘”的继承者。
相关金融行业标准也提到了类似的做法,例如 JR/T 0068-2020《网上银行系统信息安全通用规范》中建议:
客户端程序应提供客户输入支付敏感信息的即时防护功能……例如,采取逐字符加密、自定义软键盘、防范键盘窃听技术等措施。
然而,需要注意的是,这类标准通常是 “推荐性标准” 而非强制执行,导致各家银行的实现方式五花八门,用户体验参差不齐。
“安全键盘”正在鼓励“不安全”
安全键盘的设计初衷是为了应对特定历史时期的硬件威胁,但在今天,这个前提早已不复存在。
- 硬件威胁消失:在智能手机上,通过硬件手段拦截屏幕触摸信号几乎不可能实现,这从根本上消除了硬件键盘记录器的生存空间。
- 软件防护已足够:现代操作系统(如 iOS 和 Android)在安全方面有诸多内置防护。例如,在输入密码时,系统会自动限制屏幕录制,并强制切换到系统键盘,防止第三方输入法窃取信息。
所谓的陀螺仪攻击(通过分析手机晃动推测输入内容)虽然在学术上存在,但它对所有软键盘都有效,并非只针对“安全键盘”。真正能防范这种攻击的是 “随机键盘”(每次都打乱按键布局),但这会极大地损害用户体验。
限制密码的格式等于是在「可能的密码组合」这个集合中,排除了「不符合的条件」……对于使用暴力破解手段的攻击者而言,这无异是在减轻暴力破解的负担。
“安全键盘”的问题与过去强制用户设置“复杂密码”(必须包含大小写、数字、符号)的策略如出一辙。这些反人性的限制,最终导致了意想不到的负面后果:
- 阻碍密码管理器:绝大多数安全键盘会阻止密码管理器自动填充,用户只能手动输入。
- 鼓励低熵密码:为了在难用的键盘上快速输入,用户倾向于设置更简单、更容易记忆的密码,例如
123456或生日。 - 降低整体安全性:最终,这种看似安全的措施,实际上 鼓励用户使用更不安全的低熵密码,与设计的初衷背道而驰。
方便从来不是安全的敌人,麻烦才是
长期以来,我们总认为安全和方便不可兼得。但现代技术证明,这可能是一个错误的观念。
安全和方便总需要牺牲一方。但在网上冲浪这么长时间,我逐渐开始认为,这句所谓的「绝对真理」可能就是在放屁。
密码管理器 和 通行密钥(Passkeys) 这类现代认证工具,恰恰是通过提升便利性来增强安全性的典范。它们帮助用户完成最困难的部分:生成并记住为每个网站设置的、独一无二的、高强度的密码或密钥。用户需要做的,仅仅是通过指纹或面容完成身份验证。
真正的安全问题,往往源于那些 脱离了人的实际体验 的策略。当一个安全流程过于复杂、反人性时,用户的第一反应不是遵守,而是想办法绕过它。
- 密码的问题:密码本身不是问题,问题在于人很难管理大量复杂密码,从而选择用简单密码或一码通用。
- 安全键盘的问题:它试图解决一个不再存在的威胁,却制造了新的、更严重的问题——迫使用户放弃安全的密码习惯。
说到底,方便从来都不是安全的敌人,复杂才是。一个好的安全策略,应该将人的体验和行为习惯纳入考量,而不是将其排除在外。当安全措施变得无感、易用时,它才最有可能被正确地执行,从而真正发挥作用。