无法复制的二维码 - 可能吗?

信息安全 移动的 攻击预防 二维码
2021-08-29 06:41:39

我认为这是不可能的,但我需要找到一个条形码(可以包含一个 url,即 QR 样式的)。

它必须通过我们的智能手机应用程序拍摄,但图像在数周或数月内不会更改,并且必须在纸上。

无论我们在条形码中放什么,我们总是会遇到同样的缺陷:有人可以拍摄二维码,打印并重新扫描。

这是我们试图避免的:未经授权的条形码扫描。

条形码只会在手机上显示几秒钟,否则不容易获得。

我们曾想过使用 AGPS 来获取位置,但是恶意用户可以拍摄并打印代码,然后在他们最初获得的位置附近进行扫描(永远不会移动)。

所以,总结一下:我们需要一个条形码,它可以包含一个只会每隔几周/几个月更改一次的 url,需要由智能手机扫描,未经许可无法扫描,除非与设备交互,除非通过所有者(即拥有条形码的人不能使用设备扫描)。

4个回答

这是一个坏主意。

要理解为什么,想象一下没有二维码,只是一个人类可读的 URL 显示。

现在,您是否会围绕保持此 URL 保密的安全方案?当然你不会,它是默默无闻的最高级的安全性。

如果您想保持 URL 相当机密,请不要使用任何高级魔法,但即使每个人都知道 URL,您也需要确保安全。对资源的访问实施身份验证,而不是(仅)对资源名称的访问实施身份验证。

无论我们在条形码中放入什么,我们总是会遇到相同的缺陷:有人可以拍摄二维码,打印并重新扫描。

或者只是扫描显示代码的屏幕。这是无法避免的,因为 QR 码专门用于解决此类问题(印刷不良、某些转换、旋转等)。

您也不会找到一种技术来防止代码被拍照,因为如果您可以拍摄照片,那么读者也不会。

我想到的想法是:

  • 注册允许访问服务的设备(deviceid 左右)
  • 将服务移至 VPN 区域,其内部地址将无法被任何无法连接到它的人使用。

这取决于您将如何实现访问权限的验证如果它只是可以访问某个位置,则您需要物理安全性。例如,您可以向个人地址发送一封信,并要求收件人在使用后销毁该代码。如果它有一些特定信息,那么您将回到加密解决方案。例如,您可以使用网上银行使用的众多解决方案之一,例如一次性数字或随机数字令牌。

除了实际工作的生物识别技术(或在物理安全的情况下进行人工验证)之外,您无法使用任何方法来防范的事实是,任何有权访问的人都可以简单地将访问权限交给其他任何人。

如果可以“拍摄二维码,打印并重新扫描”的人无法访问您的自定义扫描应用程序(或使用它的密码),那么听起来您需要的是加密。

当您在扩展通道解释 (ECI) 模式(数据 -> 8 位字节值)中使用 QR 码时,您可以在顶部实施自己的加密解决方案,例如使用密码加密 URL。然后只有您的应用程序才能读取它,它共享此密码。更好的是,该密码可能只有您的用户知道,而不是存储在应用程序中 - 或者以加密形式存储,当用户提供密码以打开应用程序时,该密码会被解密。

如果您使输出适合 QR 码,非对称解决方案也可以工作。

已经有这样的应用程序,请参阅此处此处

当然,另一种方法是以乱码的方式存储文本,通过应用只有您的应用程序可以反转的转换 - 但这是晦涩难懂的。