安全/加密的QR码

时间:2011-06-06 08:33:02

标签: qr-code

是否有可以生成加密QR码的应用程序?

我没有很多关于加密QR码的文献。我们希望实施客户可以向我们发送加密信息的内容,并在我们的网站上进行扫描。

你们有没有参与过这样的项目?

5 个答案:

答案 0 :(得分:19)

其他答案建议您可以使用QR码对URL进行编码,然后确保该URL上的服务提供您所需的身份验证/安全性。如果您用来与客户端通信的频道是数字和互联网连接,也许这是有意义的......如果它确实有意义,您根本不需要QR码,只需发送URL即可。正如Tadmas指出的那样,QR只是一种编码。

但是,我会从你原来的问题推断出你使用的频道是模拟的(纸张??),还是数字的但不是互联网连接的(纸质原件或屏幕截图的数码照片,或??) 。这不是最常见的用例 - 不是本论坛上大多数受访者自然会考虑的 - 但我可以想象一些现实的用例,例如:对于可能发生的账单或付款数据。

如果这是真的 - 如果由于某种原因你必须通过非互联网渠道传输实际数据,并且实际数据必须以QR码格式包装,那么有不同的方法来做到这一点。 / p>

显而易见的方法(高级)看起来像这样

message
   --> (compress) --> compressed message 
      --> (encrypt) --> encrypted compressed message
         --> (QR encode) --> QR of encrypted compressed message
            ... send over channel ...
      encrypted compressed message <-- (QR decode) <--
   compressed message <-- (decrypt) <-- 
message <-- (decompress) <--

您的主要挑战是选择压缩&amp;适合您目的的加密算法。

请注意,加密是非显而易见的,方法是尊重&amp;小心,不要只是一起抨击......

加密前压缩是最佳做法。它并不总是需要作为一个单独的步骤,因为一些加密算法会为您执行压缩 - 例如,PGP在加密之前压缩数据。其他人没有。如果您不确定或者方法需要通用(适用于不同的加密算法选择),您可以随时压缩;这是安全的,有时甚至毫无意义。

加密算法的选择有很多含义(密钥管理等 - 巨大的主题)。然而,其中一个含义与QR码特别相关 - 加密步骤会使您的信息膨胀多少。 QR码块的容量有限,为2953字节,每个8位。如果您正在传输的消息接近此限制,则您需要选择输出大小等于输入大小的加密算法(AES是一个示例)。如果消息远小于此限制,那么您将不关心这一点(例如,可以使用高度膨胀的PGP)。

如果您能找到适用于您和您的压缩和加密算法。您的客户端(以及分发密钥的安全方式等),那么我认为满足您的原始请求并不是特别困难。不要尝试加密QR码本身(不确定术语实际上是否有意义),而是压缩和加密数据,然后对生成的加密数据进行QR编码。什么都没有。

答案 1 :(得分:7)

QR码本质上只是对字节进行编码。那些字节可以是你想要的任何东西。它们可能是某些数据的加密。问题是读者应用程序是否会知道字节的性质并知道如何处理它。

问题是,不,不会。在QR码规范或其他方面没有定义“安全QR码”的方案。所以,没有读者会做任何事情,只会显示一串垃圾文本。

您可以编写自己的自定义阅读器,知道该怎么做,但我想这是完全不可行的。

所以,@丹是对的。正确的方法是编写一个链接到Web服务器,这是对身份验证的挑战。

如果您希望客户加密与您的通信,为什么有必要将其包装在QR码中?只需加密并通过HTTPS发送。可以想象发送QR码,但是像发送数据而不是数据一样。它没有多大意义。

答案 2 :(得分:7)

有! (尽管上述所有上述复杂的方式误解了这个问题,并说“没有”)。

答案是一款名为QR Droid的Android应用。它是一般的QR码阅读器和发生器。

QR Droid可以创建QR码(包括普通键盘文本),并可选择使用请求的关键字创建内容加密的变体。因为这是此特定应用程序的功能而不是QR,所以需要此应用程序来读取和解密加密的QR代码(它将要求在扫描后解密密钥)。

这是创建用户名/密码的便捷方式,可以在需要时立即解密(仅通过QR Droid)。

所以,是的。有一个应用程序可以生成带有加密内容的QR码。这是Android App:QR Droid。

答案 3 :(得分:3)

您并不需要“加密”QR码 - 您只需要确保在网络上托管信息的任何地方都加密。

答案 4 :(得分:-3)

人们常常非常宽松地围绕[加密] QR码这个术语。当然,您可以将数据加密为(可用 - 意味着1/4“x1 / 4”)代码,但绝不会被视为安全。我把保安比作用一条扭曲的领带锁上你的前门。

然而,有一家公司,Six Degrees Counterfeit Prevention,提供1M比特非数学加密方法,可以封装成QR码。

请亲自看看 - 请将以下字符串放入QR码生成器中,然后自行扫描。