2011-06-06 184 views
13

有沒有可以生成加密QR碼的應用程序?安全/加密QR碼

我還沒有很多關於加密QR碼的文獻。我們希望實施一些客戶可以向我們發送加密信息的內容,並在我們的網站上對其進行掃描。

有沒有人蔘與過這樣的項目?

+0

本質上的QR碼是加密的,只能用QR碼解碼器解密。所以我不是100%確定你的意思,你可以重述一下你的問題嗎? – Steven 2011-06-06 14:45:18

+5

QR代碼是一種編碼,而不是加密。兩者之間的主要區別在於,任何人都可以解碼編碼的消息,但爲了解密加密的消息,您還需要知道密鑰。據我所知,QR碼不使用密鑰,所以它只是一種編碼。安德烈亞斯(大概是)要求加密,然後用QR碼編碼。 – Tadmas 2011-06-06 14:50:36

+0

@Tadmas是正確的。我聽說過任何人聽說過的SQR(安全QR)代碼? – andreas 2011-06-07 04:11:35

回答

3

您並不需要一個「加密的」QR碼 - 只需確保信息在網絡上的任何位置被加密。

+0

但問題是在客戶端,我們希望我們的客戶向我們發送他們的支付信息以某種方式進行加密,以提高安全性 – andreas 2011-06-07 05:05:01

+0

OP沒有詢問是否有人認爲需要加密的QR碼_,但問題是關於識別應用程序,使他們。 – Mac 2015-05-04 14:15:53

6

二維碼,在心臟,只是編碼字節。這些字節可以是任何你想要的。他們可能是一些數據的加密。問題是讀者應用程序是否會知道字節的性質,並知道如何處理它。

而問題是,不,它不會。沒有QR碼規範中定義的「安全QR碼」或其他方案。所以,沒有任何讀者會做任何事情,只會顯示一串垃圾文本。

你可以編寫自己定製的讀者知道該怎麼做,但我想這是完全不可行的。

所以,@丹是正確的。正確的方法是編碼一個指向認證挑戰的Web服務器的鏈接。

如果您希望客戶端加密與您的通信,爲什麼需要將其封裝在QR代碼中?只需加密並通過HTTPS發送。發送QR碼是可以想象的,但是像發送數據圖片而不是數據。它沒有任何意義。

+1

是的:http://www.qrcode.com/en/codes/sqrc.html,自2008年以來 – Codebeat 2014-05-03 14:48:59

+0

不是,因爲:「SQRC只能被特定類型的掃描儀讀取。」當然,如果它不是標準的,你可以制定任何方案,但這不是問題。 – 2014-05-03 16:30:51

+0

他的問題是:「是否有可以生成加密QR碼的應用程序?」是的,由DensoWave自己製作。 – Codebeat 2014-05-03 17:55:30

14

其他答案建議您可以使用QR碼對URL進行編碼,然後確保該URL處的服務提供您所需的認證/安全性。如果您用於與客戶溝通的渠道是數字化和互聯網連接的,那麼也許這很有意義......如果它確實有意義,那麼根本不需要QR碼,只需發送URL。正如Tadmas指出的那樣,QR只是一種編碼。但是,我會從您原來的問題推斷出您使用的頻道是模擬(紙張),或數字,但沒有與互聯網連接(紙張原件或屏幕截圖的數碼照片,或? )。這不是最常見的用例 - 不是這個論壇上的大多數受訪者自然會考慮的 - 但我可以想象一些真實的用例,用於可能發生的賬單或付款數據。

如果這是真的 - 如果由於某種原因,您必須通過非互聯網渠道傳輸實際數據,並且實際數據必須以二維碼格式進行包裝,那麼還有另一種方法可以做到這一點。

最明顯的方法(高電平)看起來像這樣

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) <-- 

中,你的主要挑戰是要選擇適合你的目的壓縮&加密算法。

注井,加密並不明顯,相對於&謹慎的做法,不只是大滿貫的東西在一起......

加密之前壓縮是最佳的做法。它並不總是需要作爲一個單獨的步驟,因爲一些加密算法會爲您執行壓縮 - 例如,PGP在加密之前壓縮數據。其他人沒有。如果你不確定或者方法需要通用(針對加密算法的不同選擇),你總是可以壓縮;它很安全,有時候毫無意義。

加密算法的選擇有很多含義(密鑰管理等 - 巨大的話題)。然而,其中一個含義與QR碼特別相關 - 加密步驟會使您的消息膨脹多少。 QR碼塊的容量爲2953個字節,每個8位。如果您發送的消息接近此限制,則您需要選擇輸出大小等於輸入大小的加密算法(AES是一個示例)。如果消息比這個限制小得多,那麼你不會在乎這個(例如可以使用高度膨脹的PGP)。

如果你可以找到適用於你的客戶端的壓縮和加密算法(以及分配密鑰等的安全方式),那麼我認爲滿足你的原始請求並不是特別困難。不要嘗試對QR碼本身進行加密(不確定術語實際上是否有意義),而是對數據進行壓縮和加密,然後對生成的加密數據進行QR編碼。沒有什麼。

+1

+1:實用信息。 – 2012-08-16 06:11:15

6

有! (儘管所有上述複雜的方式誤解了這個問題,並說「不是沒有」)。

答案是一個名爲QR Droid的Android應用程序。這是一個通用的QR碼閱讀器和發生器。

QR Droid可以創建一個QR碼(包括純文本鍵盤文本),並可以選擇創建一個變體,並使用請求的關鍵字加密內容。因爲這是此特定應用程序的一項功能,而不是QR,所以需要此應用程序來讀取和解密加密的QR碼(它會在掃描後要求解密的密鑰)。

這是創建用戶名/密碼的簡便方法,可以在需要時輕易解密(僅通過QR Droid)。

所以,是的。有一個應用程序可以生成加密內容的QR碼。這是Android應用程序:QR Droid。

+0

+1,指出「不可能」已經完成:-)。據我所知,該應用程序和其他人([a](http://www.milliontech.com/home/content/view/254/139/),[b](http://www.beetagg。 com/en/learning-center/Encrypted-Codes/44),[c](http://www.2dtg.com/learning_center/protective-suite),[d](http://uvsar.blogspot.com/ 2009/05/secure-qr-and-qm-codes.html))內部使用或多或少由Chris Johnson提出的方法。我聽說「SQRC」在任何掃描器都可以讀取明文,而且在同一個二維條碼中也可以讀取加密的數據。 – 2012-08-16 09:51:55

+0

這是正確的。 qr droid 4在將加密信息編碼爲qr代碼之前以DES加密方式對消息進行加密 – John 2013-06-23 03:48:24

+0

公平點,但這不是標準的QR碼,並且不能由任何其他QR碼掃描器讀取。這不是一個真正的「QR碼」。 – 2014-05-03 16:31:45

-3

人們經常折騰術語[加密] QR碼非常鬆散。當然,您可以將數據加密成(可用的 - 表示1/4「x1/4」)代碼,但絕不會被認爲是安全的。我把安全比喻成​​用扭曲的領帶鎖定你的前門。

然而,有一家公司,六度防僞預防,它提供了一個1M的非數學加密方法,可以封裝成QR碼。

請親自看看 - 請將以下字符串放入QR碼生成器,然後自行掃描。

+2

您混淆了編碼和加密。 – 2013-03-01 14:09:22