首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以为二维码添加哪些属性以使其具有防伪功能?

可以为二维码添加哪些属性以使其具有防伪功能?
EN

Stack Overflow用户
提问于 2017-11-01 16:54:31
回答 2查看 1.2K关注 0票数 1

如果我们想要为消费者提供更多的安全性来验证他们的产品和使用二维码扫描,我们可以使用什么技术来使二维码防复制和非复制?

EN

回答 2

Stack Overflow用户

发布于 2020-05-21 19:08:21

在打印之前,您需要考虑二维码的数字图像。您可以在QR码中添加安全图形或复制检测图案(请参阅https://en.wikipedia.org/wiki/Secure_graphic) (请注意QR码的纠错级别与您使用的空间)。一旦打印出来,安全图形将不可逆转地泄漏信息,如果有人试图复制它,将会有额外的信息丢失。由于安全图形在副本中的信息量比在原始打印中的信息量更少,因此您可以使用它来区分正品和假货。当你扫描二维码时,需要一个应用程序来实时分析安全图形的图像。请参见使用Scantrust完成的示例,并且有一个developer portal可以支持您在应用程序中进行集成。

请注意,还有其他基于数字水印的技术,但它们更容易被黑客攻击,因为数字水印需要遵守不可感知性约束,并且可用信号要弱得多。

票数 1
EN

Stack Overflow用户

发布于 2017-11-06 17:24:26

简短的回答:把QR码想象成一个压缩的纯文本块。您可以出于非真实性和不可否认性的目的对其进行签名,也可以出于保密目的对其进行加密,但您不能神奇地阻止它作为一个整体被复制和复制。

Longer答案:

我想你所问的是,是否可以在二维码上加上某种识别或签名?如果是这样,那么答案是肯定的-你可以在里面放任何你喜欢的东西,只要你把它放在storage limits for the input mode you are using (wikipedia)里面。

这意味着你可以添加一个数字签名给它,如果你想的话。

示例:

假设您想要将文本"Public Message“编码为二维码,并将其留给某人阅读。要证明该消息确实来自您,您可以使用PKI并使用您的密钥对其进行签名-即,在文本后附加“公共消息”的加密版本。最后一部分的解密将只能使用您的公钥,这样做将证明它是使用您的私钥加密的,这表明该消息一定来自您(或可以访问您的私钥的人)。

现在,如果有人试图复制您的二维码,并将其消息更改为稍微更古怪的“公共Massage”“,收件人可以检查附加的签名并看到不匹配,从而得出代码无效(即已被篡改)的结论。

如果消息具有有效的签名,这将证明您是消息的作者,并且该消息未被篡改。但是,您仍然无法阻止任何人复制代码并将其作为一个整体进行复制。

替代方案:使用公钥加密--

如果您想要发布一条发送给特定收件人的秘密消息,您可以使用此人的公钥对其进行加密。在这种情况下,你可以自由地共享二维码,只有收件人才能阅读它的内容;其他任何人都只能看到乱码。

备选方案2:一次性通过(OTP)?

如果你想确保一个二维码只被使用一次,你可以让它包含一个唯一的ID,并实现服务器端的逻辑,该逻辑接受该代码,检查它的有效性,并在一次使用后使它失效。您还可以限制此类二维码的有效时间。这就是website logins using QR-codes的工作方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47051214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档