安全/加密QR碼
回答
二維碼,在心臟,只是編碼字節。這些字節可以是任何你想要的。他們可能是一些數據的加密。問題是讀者應用程序是否會知道字節的性質,並知道如何處理它。
而問題是,不,它不會。沒有QR碼規範中定義的「安全QR碼」或其他方案。所以,沒有任何讀者會做任何事情,只會顯示一串垃圾文本。
你可以編寫自己定製的讀者知道該怎麼做,但我想這是完全不可行的。
所以,@丹是正確的。正確的方法是編碼一個指向認證挑戰的Web服務器的鏈接。
如果您希望客戶端加密與您的通信,爲什麼需要將其封裝在QR代碼中?只需加密並通過HTTPS發送。發送QR碼是可以想象的,但是像發送數據圖片而不是數據。它沒有任何意義。
其他答案建議您可以使用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:實用信息。 – 2012-08-16 06:11:15
有! (儘管所有上述複雜的方式誤解了這個問題,並說「不是沒有」)。
答案是一個名爲QR Droid的Android應用程序。這是一個通用的QR碼閱讀器和發生器。
QR Droid可以創建一個QR碼(包括純文本鍵盤文本),並可以選擇創建一個變體,並使用請求的關鍵字加密內容。因爲這是此特定應用程序的一項功能,而不是QR,所以需要此應用程序來讀取和解密加密的QR碼(它會在掃描後要求解密的密鑰)。
這是創建用戶名/密碼的簡便方法,可以在需要時輕易解密(僅通過QR Droid)。
所以,是的。有一個應用程序可以生成加密內容的QR碼。這是Android應用程序:QR Droid。
+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
這是正確的。 qr droid 4在將加密信息編碼爲qr代碼之前以DES加密方式對消息進行加密 – John 2013-06-23 03:48:24
公平點,但這不是標準的QR碼,並且不能由任何其他QR碼掃描器讀取。這不是一個真正的「QR碼」。 – 2014-05-03 16:31:45
人們經常折騰術語[加密] QR碼非常鬆散。當然,您可以將數據加密成(可用的 - 表示1/4「x1/4」)代碼,但絕不會被認爲是安全的。我把安全比喻成用扭曲的領帶鎖定你的前門。
然而,有一家公司,六度防僞預防,它提供了一個1M的非數學加密方法,可以封裝成QR碼。
請親自看看 - 請將以下字符串放入QR碼生成器,然後自行掃描。
您混淆了編碼和加密。 – 2013-03-01 14:09:22
- 1. 使用QR碼安全
- 2. 密碼加密/解密彈簧安全
- 3. QR碼vs 1D條碼安全
- 4. 密碼安全
- 5. 彈簧安全性_密碼加密
- 6. 如何安全地加密密碼
- 7. PHP安全登錄 - 密碼加密
- 8. PDO密碼安全
- 9. 密碼生成無安全編碼的URL安全密文
- 10. 如何使用java加密QR碼
- 11. 加密的qr碼的開源實現
- 12. Apache Isis安全登錄未安裝密碼加密服務
- 13. 加密/解密 - 密碼 - Jce安全限制
- 14. 從用戶密碼安全生成加密密鑰?
- 15. Cordova Build.json密碼安全
- 16. 安全地處理密碼
- 17. 的.htaccess安全VS密碼
- 18. gpg與powershell - 密碼安全
- 19. 鹽漬的密碼安全
- 20. 春季安全無密碼
- 21. 安全MySQL根密碼?
- 22. 鹽漬密碼安全
- 23. asp.net會員密碼安全
- 24. PSExec和安全密碼
- 25. 安全密碼存儲
- 26. sha512安全的密碼
- 27. 密碼管理器安全
- 28. Docker和安全密碼
- 29. 密碼哈希安全
- 30. 文本密碼字安全
本質上的QR碼是加密的,只能用QR碼解碼器解密。所以我不是100%確定你的意思,你可以重述一下你的問題嗎? – Steven 2011-06-06 14:45:18
QR代碼是一種編碼,而不是加密。兩者之間的主要區別在於,任何人都可以解碼編碼的消息,但爲了解密加密的消息,您還需要知道密鑰。據我所知,QR碼不使用密鑰,所以它只是一種編碼。安德烈亞斯(大概是)要求加密,然後用QR碼編碼。 – Tadmas 2011-06-06 14:50:36
@Tadmas是正確的。我聽說過任何人聽說過的SQR(安全QR)代碼? – andreas 2011-06-07 04:11:35