密码与验证码输入框的明文显示增加肩窥风险
别名: 肩窥 · 明文回显 · over-the-shoulder attack
概念解释
肩窥(shoulder surfing)指旁观者通过直视屏幕或摄像头获取他人输入的攻击。掩码显示(圆点/星号)是对它的经典防御,但明文回显——输入时短暂显示字符——在可用性与防护之间做了让步:显示越久、字符越完整,泄露窗口越大。这条讲的是回显策略与肩窥风险的对应关系。
机制
风险由「旁观者可得信息量」决定:掩码显示只泄露长度(长度本身也是线索),明文回显泄露全部内容。回显的可用性理由是纠错——触屏无键感,打错需要看见;对抗设计因此往「部分回显」走:只显示最后输入的一个字符、数百毫秒后转掩码、打乱屏幕键盘布局防轨迹跟踪。摄像头使攻击异步化——肩窥不再需要真人在身后,公共场合的录像即可离线分析;这把防御要求从「遮挡」提高到「时序最小化」:不是让人看不到,而是让任何单帧里可提取的信息最小。双因子场景下风险复合:密码框掩码了,验证码短信却整条躺在通知横幅里,同一次登录的第二因子裸奔。
怎么研究
范式:观察研究记录公共场所输入敏感信息的频率与遮挡行为(多少人用手挡、转身);受控实验操纵回显策略(全掩码/末位回显/时序回显),测量输入速度、纠错次数与旁观者重建率;屏幕键盘研究比较固定与随机布局的轨迹泄露。因变量:输入时长、错误率、旁观者正确复原比例。注意点:实验室肩窥与真实环境(行走中、远距离、录像)的攻击距离不同,重建率不可直接搬;老年用户的纠错需求更高,回显策略收紧对他们的影响不成比例。
边界
掩码对近距离直视有效,对摄像头与热成像无效;随机化键盘对轨迹录制有效,对直视无效——每种防御只覆盖攻击向量的一个子集。回显策略收紧有可用性下限:完全不回显会把触屏输入错误率推到不可接受,尤其长口令与双语输入。「输入时遮挡」的用户教育几乎无效——依赖用户记得遮挡的防御与依赖用户记得核验的防御同样靠不住。
怎么落地
- 默认掩码显示;提供显式「显示」切换而非自动明文,切换态带时效自动回到掩码。
- 验证码输入用末位回显或单字符瞬时回显;短信验证码不要同时以全文出现在锁屏通知里(与锁屏预览策略对齐)。
- 高敏场景(支付、金融)评估随机化数字键盘;公共终端评估隐私滤膜这类物理层补充。
- 验证:可用性测试同时测两件事——输入效率(时长、纠错率)与旁观重建率(招募旁观者看录屏后复述),两项都过线才收。