阻止 QR 'over the shoulder' 扫描
Prevent QR 'over the shoulder' scan
对于应用程序(Android & iOS)项目,需要先注册,然后才能登录。这是通过使用应用程序中的相机功能扫描关联网页上包含 one-time password
的 QR code
来完成的。
The flow on web is: see info about app and app store link -> show QR -> set pin code -> confirm.
我想创建一种机制,避免有人打开注册流程然后离开他的办公桌(例如去办公室喝咖啡)一段时间。否则一些 'attacker' 可以完成 QR 步骤,当原始用户 returns 到他的办公桌时,他将设置一个 pin 并确认。可能没有意识到曾经有过 QR 步骤。即使 'attacker' 不知道 PIN,也会注册错误的设备。所以原用户将无法使用他的应用程序。
Currently there is a time limit of 1 minute. But the QR can be
reloaded with a new OTP, so it does not have much effect.
我认为这真的不可能,因为 QR 码可以是任意大小,所以我认为没有办法知道 QR 码到底有多近或多远,所以不能真正防止 'over the shoulder'.在任何情况下,如果用户确实走开了,那么实际上就没有真正的方法来区分攻击者或真实用户,因为攻击者可以在技术上尽可能接近他们想要的距离。
另外,如果攻击者在用户离开时扫描代码并设置 PIN 怎么办?我不认为这是一种非常安全的注册方法,但它会很方便。取决于攻击者实际上可以用该应用程序做什么,如果它是银行应用程序我不会推荐这个,但如果它是我的小马驹游戏,我认为回报大于风险。
对于应用程序(Android & iOS)项目,需要先注册,然后才能登录。这是通过使用应用程序中的相机功能扫描关联网页上包含 one-time password
的 QR code
来完成的。
The flow on web is: see info about app and app store link -> show QR -> set pin code -> confirm.
我想创建一种机制,避免有人打开注册流程然后离开他的办公桌(例如去办公室喝咖啡)一段时间。否则一些 'attacker' 可以完成 QR 步骤,当原始用户 returns 到他的办公桌时,他将设置一个 pin 并确认。可能没有意识到曾经有过 QR 步骤。即使 'attacker' 不知道 PIN,也会注册错误的设备。所以原用户将无法使用他的应用程序。
Currently there is a time limit of 1 minute. But the QR can be reloaded with a new OTP, so it does not have much effect.
我认为这真的不可能,因为 QR 码可以是任意大小,所以我认为没有办法知道 QR 码到底有多近或多远,所以不能真正防止 'over the shoulder'.在任何情况下,如果用户确实走开了,那么实际上就没有真正的方法来区分攻击者或真实用户,因为攻击者可以在技术上尽可能接近他们想要的距离。
另外,如果攻击者在用户离开时扫描代码并设置 PIN 怎么办?我不认为这是一种非常安全的注册方法,但它会很方便。取决于攻击者实际上可以用该应用程序做什么,如果它是银行应用程序我不会推荐这个,但如果它是我的小马驹游戏,我认为回报大于风险。