我正在使用QRCodeReaderView库扫描一个QRCode。一切都很完美,就像阅读QRCode和获取价值一样。
我这样做是为了避免捕捉或截取QRCode,但仍然有一个线程可以从其他移动设备获取QRCode的图片,并可以使用该图片扫描QRCode。
在从QRCode阅读器/扫描仪进行扫描时,我是否有可能检测到所显示的QRCode不是真实的QRCode,而是从其他设备获取的QRCode图像。
我该如何区分?
P.S.:正如我上面所描述的,一切都很完美,这就是为什么我不共享任何代码,这里我需要的是,如果是的话,我如何区分。
P.S我需要这方面的专家。我刚遇到一个项目,其中有一个人脸检测场景,这个系统能够区分一个人的真实脸和那个人的照片。他们是比赛的优胜者。

发布于 2020-03-09 04:40:21
区别人的脸和人的脸的照片是有区别的。而QR代码与所述QR代码的屏幕截图相比较。见鬼,由于某种被称为QR的里德·所罗门法算法,如果QR代码被部分模糊(在一定程度上),它仍然可以被扫描。
如果多个实例是您的担忧,那么您唯一能做的就是为每个分配给他们唯一ID的人设置唯一的QR代码。没有办法区分QR代码和一张照片。事情就是这样的
发布于 2020-03-09 14:45:47
也许你该重新考虑一下你的方法。
您的声明,我做的专业,以避免的事情,如捕捉或屏幕拍摄的QRCode已经暗示,您正在捆绑的系统构建是不安全的。
如果您想要构建某种安全的东西,您应该使用的方法是使用一个从零开始构建的系统,考虑到安全性,而不考虑任何(不安全的)系统,并试图修复它的不安全性以使其(伪)安全。试图通过保护一些边缘情况来使一个不安全的系统安全,永远不会保护您的系统。总有一些人会找到另一个优势案例来利用你的系统。
以下是如何利用您的系统的多种情况,即使您试图通过识别它是否是一个真正的QR代码或它的图片来保护它:
如您所见,有多种情况可以利用您的系统,特别是无法修复最后一点。
因此,即使你能够检测到相机是否指向一个真正的QR代码或它的照片(这也是很难做到的,请看@ItsMeNaira的答案),你的系统也不会安全,因为你不能通过修复它的边缘情况来使一个不安全的系统安全。
再说一遍:从不试图保护一个没有考虑到安全的系统,通过修复角落的情况,总是失败的。相反,请尝试找到一种更好的方法,它是从零开始就考虑到安全性的。
发布于 2020-03-13 17:45:29
@ItsMeNaira说的是完全正确的,根本不知道QR代码是真正的交易还是图片,但在我看来,有些事情你仍然可以做。更简单的是其他人。
我构建了一个用于访问控制的应用程序,我的QR代码是健身房用户的访问密钥。当用户在健身房入口处注册QR代码时,我只显示一张用户的照片。你可以伪造一个QR代码,但你不能伪造你的脸。诚然,你仍然需要一个控制条目的人(或者一个人的幻觉)才能起作用,但它以一种简单的类似方式解决了真实性问题。在我看来,您应该尝试将QR代码与某种替代验证结合起来。通常,被监视的简单假象或可以追踪到的违规行为足以阻止欺诈行为。
如果您的QR代码的用户正在使用应用程序生成QR代码,则另一种方法是让两个设备(即当前生成QR代码的设备和当前扫描QR代码的设备)相互扫描,作为验证每个扫描的手段。这意味着每个设备上都有一个QR码和一个扫描器.第一个代码将随机生成,第二个代码将是第一个代码的函数。我简要地考虑了这种方法,但是没有实现它,您将不得不测试并查看它对用户有多友好。但它将允许您确保您的QR代码来自一个有效的设备使用您的应用程序。
为了能够更好地构思解决方案,更好地理解您的应用程序将是很有帮助的。密码是什么?用户为什么要欺诈?他在哪种环境下使用应用程序?
https://stackoverflow.com/questions/60558606
复制相似问题