C6.29.1Randomized PIN pad anti-shoulder-surfing设计研究
部分系统在密码框弹出随机排布数字键盘,防止基于按键位置窥屏
别名: 随机数字键盘 · 防窥屏 PIN · 打乱键位
概念解释
银行 App、门锁和部分 ATM 在输入 PIN 时画出每次位置都不同的数字键。旁观者即使记住了手指点的屏幕坐标,也无法对应到数字,因为下一轮同样坐标是别的数字。这是专门对付基于位置的窥屏(shoulder surfing),不是为了少切符号页——邮箱键盘把 @ 放上主层,目的完全不同。随机化的对象是键与数字的绑定,键的数量通常仍是 0–9。
机制
固定电话式或计算器式阵列让观察者建立“左上是 1”的映射,录像或远处眼睛都能还原 PIN。把映射每会话或每键打乱,观察者只得到一条空间轨迹,没有图例就解不开。实现上要在每次聚焦时洗牌,并在关闭后丢掉映射,避免残图被截屏。随机化防不住:摄像头看清了键帽上的数字、用户自己把数字念出、或攻击者看的是击键时间而非位置。它也不防键盘记录软件——软件读的是值不是坐标。
怎么研究
肩窥实验让旁观者在固定距离观看输入,比较固定布局与随机布局下还原 PIN 的成功率。自变量包括是否允许看键上数字、观察距离、是否录像回放。因变量是完整 PIN 还原率与部分还原率。生态上要区分“旁边站着的人”和“远距离摄像机看清印刷数字”。实验室里键印太大,会低估随机化对看清印刷的失效。
边界
桌面物理小键盘无法每会话重印键帽,随机化几乎只存在于触屏。字母密码的全键盘随机化会彻底摧毁盲打,实际很少用于登录主密码,多见于短 PIN。无障碍用户依赖位置记忆或盲文点字,随机化会把他们排除,必须提供替代:读屏私密模式、物理键盘、或耳机报位。一次性很长、且可粘贴的验证码不必随机化键盘。
怎么落地
- 仅对短 PIN、且存在肩窥场景(通勤、柜台)使用随机数字键盘。
- 洗牌发生在每次打开,数字必须印在键上让本人能读,否则连用户也解不开。
- 为读屏和无障碍开关提供不依赖位置的通道,并在随机盘上标明“布局已打乱”。
- 验证:让观察者只看手指落点的录像(键上数字打码)还原 PIN,随机组应显著低于固定组;再让观察者看清印刷,确认随机化在这一条件下失效,不要夸大防护范围。