廈門工學(xué)院電子信息工程系 羅洪葉
基于RSA的二維碼研究與應(yīng)用
廈門工學(xué)院電子信息工程系 羅洪葉
二維碼已經(jīng)在方方面面滲透進(jìn)了我們的生活。大量的二維碼應(yīng)用,二維碼共享,二維碼登錄,已經(jīng)成為現(xiàn)代生活不可或缺的一部分。但是基于二維碼的加密技術(shù)卻很是少見,火車票上二維碼身份信息被曝光,物流信息中二維碼更是威脅到每個(gè)客戶的人生安全。基于RSA的二維碼研究與應(yīng)用,不僅可以解決二維碼的安全問題,更是對(duì)于二維碼的廣泛推廣做好了準(zhǔn)備。
二維碼;RSA加密;二維碼加密
目前,大量的APP應(yīng)用已經(jīng)通過手機(jī)這個(gè)物聯(lián)網(wǎng)終端,滲透進(jìn)了越來越多的生活。無論是IPhone的時(shí)尚簡約,還是安卓的智能與互動(dòng),都希望更多的通過網(wǎng)絡(luò),透過社交軟件做推廣的商家提供了平臺(tái)。這個(gè)時(shí)候,二維碼應(yīng)運(yùn)而生。以快捷、便利、可靠、新奇的特點(diǎn),快速的沖進(jìn)淘寶、微信、QQ、微博等等重量級(jí)的互聯(lián)網(wǎng)產(chǎn)品中來。
常見的二維碼可分為兩種,一種是推廣形式的不加密二維碼;另一種是私人化的加密二維碼。不加密二維碼有很多,例如各種廣告下方的二維碼,可以讓你輕松的進(jìn)入它的主頁。了解它的咨詢活動(dòng)信息。還有一種是加密形式的私人二維識(shí)別碼。作為一個(gè)不公開的內(nèi)容,用于私人訪問的識(shí)別時(shí)使用,例如火車票上的二維碼,包含你的身份證上一切信息,你搭乘的班次,座位信息等等??删褪窃诙S碼越來越方便的同時(shí),他的安全性能又受到了嚴(yán)重的考驗(yàn), "快遞信息泄漏?","火車票個(gè)人信息曝光?"。種種安全問題,使得更多的商家在應(yīng)用二維碼的時(shí)候又許多隱患。
因此,基于RSA的二維碼加密技術(shù)的引入,是眾多私有化二維碼應(yīng)用企業(yè)的福音。為以物流企業(yè)為首的,空港、貨運(yùn)、安全等各個(gè)行業(yè)提供了基礎(chǔ)的技術(shù)指導(dǎo)。
1.1 什么是二維碼
二維碼(2-dimensional bar code),又稱二維條碼,起源于日本,它是用特定的幾何圖形按一定規(guī)律在平面上分布的黑白相間的圖形,是所有信息數(shù)據(jù)的一把鑰匙。
1.2 二維碼識(shí)別原理
二維碼在編制上巧妙地利用計(jì)算機(jī)內(nèi)部邏輯基礎(chǔ)的"0"、"1"比特流的概念,使用若干個(gè)與二進(jìn)制相對(duì)應(yīng)的幾何形體來表示文字信息,通過圖象輸入設(shè)備或光電掃描設(shè)備自動(dòng)識(shí)讀以實(shí)現(xiàn)信息自動(dòng)處理。同時(shí)還具有對(duì)不同行的信息自動(dòng)識(shí)別功能、及處理圖形旋轉(zhuǎn)變化等特點(diǎn)。在許多種類的二維條碼中,常用的碼制有: Data Matrix ,MaxiCode, Aztec, QR Code, Vericode ,PDF417 , 等。最常見的二維碼QR Code碼是1994年由日本DW公司發(fā)明。QR來自英文Quick Response的縮寫,即快速反應(yīng),源自發(fā)明者希望QR碼可讓其內(nèi)容快速被解碼。
2.1 RSA加密技術(shù)
RSA公鑰加密算法是1977年由羅納德。李維斯特、阿迪。薩莫爾和倫納德。阿德曼一起提出的。RSA是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的絕大多數(shù)密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。
今天只有短的RSA鑰匙才可能被強(qiáng)力方式解破。到2008年為止,世界上還沒有任何可靠的攻擊RSA算法的方式。只要其鑰匙的長度足夠長,用RSA加密的信息實(shí)際上是不能被解破的。但在分布式計(jì)算和量子計(jì)算機(jī)理論日趨成熟的今天,RSA加密安全性受到了挑戰(zhàn)。
RSA算法基于一個(gè)十分簡單的數(shù)論事實(shí):將兩個(gè)大素?cái)?shù)相乘十分容易,但那時(shí)想要對(duì)其乘積進(jìn)行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。
2.2 RSA與二維碼技術(shù)的融合
二維碼在經(jīng)過圖像識(shí)別與轉(zhuǎn)換之后,一樣可以進(jìn)行加密。而我們介紹的QR Code二維碼,能夠進(jìn)行級(jí)聯(lián)。對(duì)于少量的數(shù)據(jù)的加密可以達(dá)到一定的安全等級(jí)。對(duì)于物流,車票等等表面的小數(shù)據(jù) 速加密與解讀提供了基礎(chǔ)的技術(shù)保障。同時(shí),可以借助MD5技術(shù),對(duì)整批次的二維碼進(jìn)行掃描,在進(jìn)行完整性確認(rèn)。
例如我們以同一則內(nèi)容生成的加密二維碼與不加密二維碼進(jìn)行對(duì)比,實(shí)際的效果大家通過最常見的手機(jī)QQ或者微信就可以輕松試用。文本內(nèi)容:華僑大學(xué)廈門工學(xué)院,加密技術(shù):RSA,密碼:997.
左圖為未加密二維碼
右圖為加密二維碼
由上圖很容易看出加密后雖然內(nèi)容大幅度增加,但是對(duì)于QR Code二維碼他通過不斷的堆疊,還是可以完整的將原文文本轉(zhuǎn)譯出來的。
通過以上的說明,可以說明以上我們的加密方式,在小篇幅的內(nèi)容加密中是已知可行的。下面讓我來列舉幾個(gè)例子,說明RSA加密二維碼技術(shù)是可行的吧。
3.1 數(shù)字公告
數(shù)字公告可以顧名思義的理解為一份數(shù)字化的公告。他不需要一個(gè)很大的公告牌,只需
要一個(gè)小小的方塊。需要瀏覽的人也不需要長時(shí)間停留觀看,只需要用手機(jī)一掃。數(shù)字公告的內(nèi)容便自動(dòng)存儲(chǔ)在手機(jī)之中。也可以用不同的密碼來區(qū)分不同公告的不同受眾。
左圖為未加密二維碼
右圖為加密二維碼
3.2 網(wǎng)址鏈接
主頁的超鏈接,是很多商家,特別是電商的主要宣傳點(diǎn)。但是如何將自己的超鏈接更快更準(zhǔn)確的投向你需要的那個(gè)人呢?
左圖為未加密二維碼
右圖為加密二維碼
簡單的二維碼,已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足人們?nèi)粘I钪械男枰?。通過RSA與二維碼的嫁接,可以很好的完善二維碼的功能。在簡單便捷的基礎(chǔ)上,可以快速的還原信息。同時(shí)并不完全公開。一定的安全可靠度,并不會(huì)完全暴露在眾目之下。
這個(gè)組合很好的結(jié)合了QR碼和RSA技術(shù)的各自特點(diǎn),能對(duì)小數(shù)據(jù),進(jìn)行快速,高效的轉(zhuǎn)換,同時(shí)可靠性高。又可以通過MD5技術(shù),對(duì)整個(gè)批次二維碼加密,用來驗(yàn)證整批二維碼的完整性。
通過簡單的APP編寫,這樣的系統(tǒng)不僅開一在PC端使用,更可以開發(fā)成APP,甚至是專業(yè)的手持掃描設(shè)備提高整體的系統(tǒng)靈活度。提供一套從港口到貨運(yùn),再到消息對(duì)換各個(gè)環(huán)節(jié)都可以選擇的簡單信息加密技巧。
[1]張育綺。二維碼營銷[J]。中信出版社,2013,7.
[2]草料。二維碼的制作[J]。草料網(wǎng),2012.
[3]草料。二維碼原理[J]。草料網(wǎng),2012.
[4]馮登國,趙險(xiǎn)峰。信息安全技術(shù)概論[J]。電子工業(yè)出版社,2008.
[5]劉功申。計(jì)算機(jī)病毒及其防范技術(shù)[J]。清華大學(xué)出版社,2008.