◆廖 宇 李佩珊
基于視覺加密的可視標(biāo)簽認(rèn)證系統(tǒng)設(shè)計(jì)
◆廖 宇1李佩珊2
(1. 92569部隊(duì) 海南 572000;2. 91458部隊(duì) 海南 572000)
隨著二維碼技術(shù)的發(fā)展及應(yīng)用,其面臨的安全威脅也越來越嚴(yán)重,針對此問題,作者用基于視覺加密技術(shù)和SM2密碼算法設(shè)計(jì)了一種基于視覺加密的可防欺騙的QR碼安全認(rèn)證系統(tǒng),實(shí)現(xiàn)了QR碼圖像的視覺密碼信息嵌入式保護(hù)。系統(tǒng)分為兩部分,服務(wù)器端生成QR碼并且向QR碼加入驗(yàn)證機(jī)制,手持端進(jìn)行QR碼安全認(rèn)證與信息的讀取。綜合利用信息隱藏技術(shù)、視覺加密、SM2數(shù)字簽名等手段,使得手持設(shè)備端在讀取QR信息時(shí),可以快速實(shí)現(xiàn)對QR碼進(jìn)行安全認(rèn)證,保證獲取的信息真實(shí)、準(zhǔn)確、可靠。
視覺加密;信息隱藏;QR碼;安全認(rèn)證
近年來,隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的發(fā)展,二維碼也開始被廣泛應(yīng)用,尤其是其與電子商務(wù)的緊密結(jié)合,使二維碼深入到社會(huì)生活的各個(gè)領(lǐng)域[1]。然而由于缺少相關(guān)的統(tǒng)一市場標(biāo)準(zhǔn)和嚴(yán)格監(jiān)管,二維碼的使用也面臨越來越多的安全威脅。據(jù)騰訊《2017上半年互聯(lián)網(wǎng)安全報(bào)告》顯示,2017年上半年,二維碼成為最主要的手機(jī)病毒渠道來源,占比高達(dá)20.80%。隨著二維碼的使用越來越普遍,而制毒者和制毒機(jī)構(gòu)也進(jìn)一步利用該渠道傳播惡意軟件與惡意網(wǎng)址鏈接,用戶刷碼后往往會(huì)安裝惡意扣費(fèi)軟件或隱私竊取等病毒,這種情況日趨嚴(yán)峻。
針對QR碼面臨的安全問題,現(xiàn)階段主要的應(yīng)對方法是對QR碼進(jìn)行加密保護(hù)。常見的方式有二種:一是針對QR碼所編碼的數(shù)據(jù)信息進(jìn)行加密,如文獻(xiàn)[2]中采用二維碼信息分組加密技術(shù),將Rijndael和SHA512加密算法相結(jié)合,由Rijndael二次加密保護(hù)和SHA512身份校驗(yàn)碼生成二維碼等方法組成一種新的加密方法,對QR碼數(shù)據(jù)進(jìn)行保護(hù)。二是針對QR碼圖像本身進(jìn)行加密,如文獻(xiàn)[3]將二維碼圖像視為普通的二值圖像,并利用DES算法直接對QR碼二值圖像進(jìn)行加密。
本文結(jié)合本文利用數(shù)字簽名算法和視覺密碼以及信息隱藏技術(shù),對QR碼圖像進(jìn)行處理,解決QR碼的信息真?zhèn)巫R(shí)別的問題。
QR碼全稱為快速識(shí)別矩陣碼[4-5],是近年移動(dòng)設(shè)備上十分流行的一種編碼方式,相比傳統(tǒng)的Bar Code條形碼,可存儲(chǔ)的信息量更大,種類更加豐富。還具有超高速識(shí)別度、全方位識(shí)讀、糾錯(cuò)能力強(qiáng)、能有效表示漢字等特點(diǎn)[6]。優(yōu)點(diǎn)在于其輸入輸出的數(shù)據(jù)流均可用“0”、“1”分別表示圖像中的白、黑像素。由于其灰度值為0,所以可用設(shè)備易掃描QR碼中的圖形值。QR碼由編碼區(qū)和包括熏香圖形、分隔符、定位圖形和校正圖形在內(nèi)的功能圖形組成,具體的結(jié)構(gòu)如圖1所示。
圖1 QR碼圖形結(jié)構(gòu)
信息隱藏,就是用一種技術(shù)將信息嵌進(jìn)另外一種信號(hào)中,掩護(hù)媒體通過嵌入信息生成偽裝媒。該嵌入流程需要滿足下述條件:符號(hào)信息無法被感知。通常符號(hào)信號(hào)不易被去除,因此具有魯棒性。符號(hào)信號(hào)嵌入不增加主信號(hào),主要為符號(hào)信號(hào)安全保密性服務(wù)。基于數(shù)字圖像的信息隱藏技術(shù)即是以數(shù)字圖像作為載體,在不改變數(shù)字圖像的外觀特性的基礎(chǔ)上,將信息隱含在圖像當(dāng)中[7]。
基于DCT的數(shù)字圖像隱藏算法大致分為三步:首先將二維DCT轉(zhuǎn)換載體圖像分塊,接著以秘密信息來調(diào)制DCT系數(shù)。然后,對新的系數(shù)作離散余弦最終獲得隱藏圖像[8]。
圖2 簡單視覺加密過程
結(jié)合QR碼的圖像特點(diǎn),本文設(shè)計(jì)了一種面向QR碼的可視標(biāo)簽認(rèn)證系統(tǒng)。該系統(tǒng)分為手持設(shè)備和服務(wù)端兩個(gè)部分,服務(wù)端主要負(fù)責(zé)對物流信息計(jì)算生成QR碼,QR除含有物流信息外,并包含了隨機(jī)生成的信息m和數(shù)字簽名Sig(MD1);而手持設(shè)備具備對QR碼安全認(rèn)證的功能,主要表現(xiàn)在對相對應(yīng)QR碼生成共享圖像P2且能做異或運(yùn)算得到驗(yàn)證圖像S,在通過數(shù)字簽名驗(yàn)證m信息的真?zhèn)蔚耐瑫r(shí)將m的含義與驗(yàn)證圖像做比較,用戶通過視覺感知讀出秘密圖像的信息,判斷與解碼后m的含義是否相同。系統(tǒng)總體流程如圖3所示。
圖3 系統(tǒng)總體流程設(shè)計(jì)
系統(tǒng)服務(wù)端主要完成帶有雙重可認(rèn)證信息的QR碼生成任務(wù),具體主要包括以下三個(gè)步驟:
(1)提取圖像特征值
首先將26個(gè)字母分別生成的26張圖像,之后對QR碼圖像進(jìn)行濾波處理,并將處理結(jié)果與原圖像作二維卷積運(yùn)算,得到特征圖像;之后將所得到的特征圖像錄入數(shù)據(jù)庫中。
(2)生成初始QR碼
生成QR碼的過程可分為以下幾個(gè)步驟:
Step1:編輯物流信息;
Step2:SM2公私鑰對的產(chǎn)生;
Step3:隨機(jī)產(chǎn)生驗(yàn)證信息m,并通過消息摘要算法生成MD,并對MD做SM2數(shù)字簽名,得到Sig(MD);其中驗(yàn)證信息m為7位(十進(jìn)制),m賦有一定的含義,所以對應(yīng)不同的位有著不同范圍及意義。我們將m分為4個(gè)組:起始位置(設(shè)為a);圖像信息(設(shè)為b);放大倍數(shù)(設(shè)為c);校驗(yàn)位置(設(shè)為d)。
Step4:綜合上述的物流信息、m和Sig(MD),并生成對應(yīng)的QR碼。
(3)服務(wù)端生成載有視覺認(rèn)證圖像的QR碼
由服務(wù)端的工作流程圖可知,要將視覺加密信息嵌入QR碼中,主要有以下步驟:
Step1:根據(jù)原有的驗(yàn)證信息m,選取對應(yīng)的特征圖像S1,并對圖像S1進(jìn)行CI插值運(yùn)算,得到圖像S;
Step2:初始QR碼圖像與特征圖像S做“異或”運(yùn)算,得到加密圖像P2;
Step3:將共享圖像P2隱藏在初始QR碼圖像P1中,得到最終的加密QR圖像Q。
主要工作流程如圖4。
圖4 服務(wù)端工作流程
在服務(wù)端能生成QR碼,其中手持設(shè)備掃描即為相反的過程,為了驗(yàn)證QR碼的安全性,所以在掃描時(shí)雖提取了QR碼中的所有信息,但必須經(jīng)過對QR碼的安全認(rèn)證后,再讀取物流信息。即先提取m及其簽名信息,利用服務(wù)端的公鑰,對簽名信息進(jìn)行認(rèn)證,根據(jù)認(rèn)證結(jié)果,判斷信息的合法性;如果認(rèn)證合法,通過視覺解密算法,還原驗(yàn)證圖像,用戶通過肉眼視覺感知判斷圖像的可讀性及與驗(yàn)證信息m的匹配度,判斷QR碼信息的完整性。實(shí)現(xiàn)步驟主要包括以下內(nèi)容:
Step1:獲取服務(wù)端的公鑰,依據(jù)SM2簽名認(rèn)證算法,對Sig(hash(m))進(jìn)行解密,得到hash(m);
Step2:利用相同的消息摘要算法對m進(jìn)行散列運(yùn)算,得到hash(m)1,比較與hash(m)是否一致。如果不一致,則該QR碼不合法,不可信。如果一致,則進(jìn)行下一步操作;
Step3:利用信息隱藏技術(shù)將共享圖像P2從加密的QR碼中提取出來,結(jié)合視覺解密算法,P2與QR碼圖像進(jìn)行“異或”處理,可得到驗(yàn)證圖像S。并將其顯示到界面中,用戶通過視覺觀察,檢驗(yàn)圖像S是否驗(yàn)證信息m中提示的信息相符合,已達(dá)到檢驗(yàn)QR碼信息完整性的要求,并以此對用戶進(jìn)行提醒。
主要工作流程如圖5。
圖5 手持端主要工作流程
本文針對QR碼應(yīng)用過程中面臨的安全問題,結(jié)合QR碼的圖形特點(diǎn),設(shè)計(jì)了一種可視標(biāo)簽認(rèn)證方案。方案利用SM2數(shù)字簽名技術(shù)和視覺加密算法,實(shí)現(xiàn)了QR碼的信息傳輸過程的雙重加密認(rèn)證,能夠極大地增強(qiáng)用戶掃碼過程的安全性。
[1]徐霖,畢桂.談?wù)劧S碼安全問題[J].河北農(nóng)機(jī),2019(04):84.
[2]肖本海,鄭瑩娜,龍建明,等. 基于SHA512哈希函數(shù)和Rijndael加密算法QR二維碼信息安全設(shè)計(jì)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2015,(07):149-154.
[3]張定會(huì),單俊濤,江平. QR碼DES加密與解密[J].數(shù)據(jù)通信,2011,(03):40-42.
[4] GB/T18284-2000,QRcode[S].
[5]馮漢祿,黃穎為,牛曉嬌,錢銀超.QR碼糾錯(cuò)碼原理及實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2011,31(S1):40-42.
[6]萬浩.QR碼識(shí)別算法研究[D].南京理工大學(xué),2017.
[7]程航,王子馳,張新鵬.基于圖像塊分組的加密域可逆信息隱藏[J].北京工業(yè)大學(xué)學(xué)報(bào),2016,(05):722-728.
[8]張曌.數(shù)字圖像下的信息隱藏技術(shù)[J].電子技術(shù)與軟件工程,2018(04):58.
[9]武雪芹.視覺密碼技術(shù)應(yīng)用與研究[D].中北大學(xué),2016.