發(fā)布時(shí)間:2022-04-28所屬分類:計(jì)算機(jī)職稱論文瀏覽:1次
摘 要: 摘 要: 快速響應(yīng)碼( QR 碼) 以存儲信息量大、編解碼速度快、安全性高等特點(diǎn),廣泛應(yīng)用于各個(gè)領(lǐng)域。但 QR 碼本身并不具備安全保護(hù)能力,通過分析其編解碼原理,本文提出一種結(jié)合信息隱藏和可視秘密共享的 QR 碼安全認(rèn)證技術(shù),可應(yīng)用于用戶信息傳遞及身份認(rèn)證。實(shí)驗(yàn)證明
摘 要: 快速響應(yīng)碼( QR 碼) 以存儲信息量大、編解碼速度快、安全性高等特點(diǎn),廣泛應(yīng)用于各個(gè)領(lǐng)域。但 QR 碼本身并不具備安全保護(hù)能力,通過分析其編解碼原理,本文提出一種結(jié)合信息隱藏和可視秘密共享的 QR 碼安全認(rèn)證技術(shù),可應(yīng)用于用戶信息傳遞及身份認(rèn)證。實(shí)驗(yàn)證明本方法具備可行性,且具有透明性高、計(jì)算成本低、效率快等優(yōu)點(diǎn),提高了信息傳遞的安全性。
關(guān)鍵詞: QR 碼; 信息隱藏; 消息認(rèn)證; LSB; 可視秘密共享
0 引 言
QR 碼( 快速響應(yīng)碼) 是一種矩陣式二維碼,以識別效率高、存儲信息量大、糾錯(cuò)能力強(qiáng)等特點(diǎn),廣泛應(yīng)用于數(shù)據(jù)傳輸、產(chǎn)品營銷、支付系統(tǒng)、信息管理等方面。QR 碼傳輸具有便利性,但所攜信息存在很大的安全隱患,如信息泄露、偽造、篡改等。目前,針對提高二維碼安全性的研究已有眾多成果。例如,先將信息加密[1]再編碼,能夠有效提高 QR 碼攜帶信息的安全性; 牛夏牧等人利用隱寫技術(shù)將機(jī)密信息隱藏在二維碼中[2]; Jen-Bang Feng 等人提出使用基于圖像的可視秘密共享技術(shù)來傳輸秘密信息[3]等等。
本文利用 QR 碼的冗余特性,結(jié)合隱寫術(shù)和可視秘密共享技術(shù),將 QR 碼應(yīng)用在用戶身份的安全認(rèn)證中。該方法加解密過程效率高,無需額外傳遞密鑰,在提高 QR 碼的真實(shí)性和機(jī)密性、實(shí)現(xiàn)身份認(rèn)證的同時(shí),有效地保證了信息的安全。并且,只有在用戶許可的前提下,管理員才能獲取到用戶信息,保證了用戶信息不被泄露。
1 基礎(chǔ)理論知識
QR 碼編碼包括信息編碼、糾錯(cuò)編碼等過程,具體流程如圖 1 所示。與傳統(tǒng)一維條碼不同,使用Reed-Solomon ( RS) 糾錯(cuò)碼,使 QR 碼具有很強(qiáng)的容錯(cuò)糾錯(cuò)能力。
1.1 Reed-Solomon ( RS) 糾錯(cuò)碼
Reed-Solomon ( RS) 是一種糾錯(cuò)算法,對原始數(shù)據(jù)進(jìn)行計(jì)算得到的校驗(yàn)碼即是糾錯(cuò)碼。在糾錯(cuò)能力范圍內(nèi),根據(jù)冗余的校驗(yàn)碼可以確保原始數(shù)據(jù)的可恢復(fù)性。
1.2 最低有效位( LSB) 隱寫技術(shù)
LSB( least-significant -bit) 是一種信息隱藏技術(shù)[4],即將信息嵌入到靜止圖像中。圖像是由許多像素組成,利用 LSB 修改像素的最低位,使人眼不易察覺。以圖 2 所示,將字母‘A’隱藏到部分圖像中為例,簡要說明 LSB 原理。
一個(gè)好的隱寫技術(shù)要有良好的視覺或者統(tǒng)計(jì)上的不可感知性,以及足夠的有效載荷。本文采用的隱寫方法是改進(jìn)后的 LSB 技術(shù),提高了原始 LSB 的隱蔽性,該方法每次對兩個(gè)像素進(jìn)行操作。選取完成信息隱寫后圖像的兩個(gè)像素,其像素值分別為 yi, yi+1。 根據(jù)像素值可以得到兩位隱藏的信息,分別用 si,si+1 表示。
1.3 可視秘密共享( VSS) 技術(shù)
可視秘密共享技術(shù)是一種基于圖像的信息隱藏技術(shù),可將信息隱藏在多個(gè)子圖像中。通過合成圖像即可得到秘密信息,無需秘鑰。秘密共享,也稱為 ( k,n) - VSS 門限方案[5],即將秘密圖像加密成 n 個(gè)分享圖像,分別由 n 個(gè)人保管,解密時(shí)需要至少 k 個(gè)人將各自的分享圖像合成才能獲得秘密信息,否則將無法正確顯示。
本文采用的是基于隨機(jī)網(wǎng)格的 ( 2,2) - VSS 門限方案。由于 QR 碼為黑白圖像,即二值圖像,故本文只討論針對二值圖像的 ( 2,2) - VSS 方案。在二值圖像中,數(shù)值 1 代表黑色像素,數(shù)值 0 代表白色像素。需要將秘密圖像加密成 2 個(gè)分享圖像,也就是將一個(gè)像素分為兩個(gè)子像素,可分為四種情況[6],如圖 3 所示。
假設(shè)秘密圖像的任意一個(gè)像素值為 p,兩個(gè)分享圖像的對應(yīng)值 p1,p2 的生成及解密過程如下:
( 1) 隨機(jī)生成 p1,其值為 0 或 1;
( 2) p2 的值由等式( 4) 計(jì)算得出。由圖 3 可知,若 p = 0,則 p1 和 p2 相同,若 p = 0,則 p1 和 p2 相反,其中 p 珋1 表示 p1 的按位互補(bǔ)操作
2 QR 碼安全認(rèn)證
選擇 QR 碼作為加密和認(rèn)證載體,是因?yàn)?QR碼編解碼速度快,且用其隱藏加密信息效率高,能夠快速解密。為實(shí)現(xiàn)安全認(rèn)證功能,首先對用戶信息進(jìn)行編碼,初步生成 QR 碼; 其次根據(jù)用戶信息生成認(rèn)證信息并隱寫入 QR 碼中; 最后利用可視秘密共享技術(shù),將所得 QR 碼分為兩個(gè)子圖像,所得子圖像由用戶和管理員分別保留。具體流程如圖 4 所示。
2.1 圖像生成
圖像生成包括 QR 碼信息填充、認(rèn)證信息隱寫、可視秘密共享三大步驟,如圖 4( a) 所示。其中,信息填充時(shí)不對 QR 碼矩陣進(jìn)行掩膜操作,當(dāng)數(shù)據(jù)信息隱寫完成后才對其進(jìn)行掩膜操作。目的是保證 QR 碼黑白像素分布更加均衡。具體步驟如下:
( 1) 信息填充。將用戶信息作為輸入信息,進(jìn)行數(shù)據(jù)編碼以及糾錯(cuò)碼編碼,并將所得信息序列分塊填充到相應(yīng)規(guī)格的 QR 碼矩陣中,如圖 5 所示。其中,D1,D2,…,Dm 和 E1,E2,…,En 分別表示數(shù)據(jù)碼塊和糾錯(cuò)碼塊。
( 2) 認(rèn)證信息隱寫。認(rèn)證碼的產(chǎn)生主要分為消息認(rèn)證碼( MAC) 和散列函數(shù)( Hash) [7]兩大類。消息認(rèn)證碼是以消息和密鑰作為公開函數(shù)的輸入,產(chǎn)生一個(gè)定長的輸出,并以此作為認(rèn)證碼。散列函數(shù)是一個(gè)無需密鑰的公開函數(shù),它將任意長度的輸入信息映射成固定長度的輸出值,將此作為認(rèn)證標(biāo)識。本文采用基于 DES 的消息認(rèn)證碼( CBC-MAC) ,將用戶信息 D 以及密鑰 k 作為輸入信息。其中密鑰 k 是雙方共享的,由系統(tǒng)管理密鑰。采用 DES 加密算法對 D 進(jìn)行加密,把加密后的最后 64 位數(shù)據(jù)分組作為消息認(rèn)證碼 s,生成的消息認(rèn)證碼需要進(jìn)行糾錯(cuò)編碼,得到糾錯(cuò)碼 Es。
相關(guān)文獻(xiàn)您還可以查看:研究信息隱藏相關(guān)領(lǐng)域的論文文獻(xiàn)
QR 碼共有 40 個(gè)版本,L、M、Q、H 四種糾錯(cuò)等級。由于不同版本、糾錯(cuò)等級,所能容納的錯(cuò)誤位數(shù)不同,需要根據(jù)用戶信息、認(rèn)證碼及其糾錯(cuò)碼的數(shù)據(jù)位,選取適合版本及糾錯(cuò)等級的 QR 碼。考慮到功能圖形,如位置檢測圖形、定位圖形、校正圖形等是 QR 碼正確識別的重要依據(jù),不適合用來隱藏信息。再者,雖然格式和版本信息存在冗余設(shè)計(jì),但占比很小,且信息隱藏可能會破壞這些信息導(dǎo)致譯碼失敗,故也不適合。最終選取數(shù)據(jù)碼塊中數(shù)據(jù)碼字的最低有效位作為信息隱藏位置。數(shù)據(jù)碼塊隱藏空間大,并且可以提高 QR 碼版本增加隱藏的信息量。不同版本和糾錯(cuò)等級的 QR 碼對應(yīng)的信息隱藏容量如圖 6 所示。在確認(rèn)隱寫位置后,將消息認(rèn)證碼 s 和糾錯(cuò)碼糾錯(cuò)碼 Es 隱寫入 QR 碼中。本文使用的隱寫方法是基于改進(jìn)后的 LSB 技術(shù),實(shí)現(xiàn)認(rèn)證信息的隱藏。
( 3) VSS。信息隱寫完成后,對生成的圖像進(jìn)行掩膜,得到最終的 QR 碼。若直接對 QR 碼進(jìn)行識讀,就能讀取到用戶信息。為了保證在用戶許可的條件下,僅有管理員可獲取用戶信息,本文采用基于二值圖像的 ( 2,2) - VSS 門限方案。將 QR 碼加密成兩個(gè)分享圖像,由用戶和管理員分別保存,只有在二者同時(shí)呈現(xiàn)圖像時(shí),才能合成 QR 碼獲取用戶信息。
2.2 安全認(rèn)證
安全認(rèn)證與子圖像生成的過程相反,可分為信息提取和安全認(rèn)證兩步,如圖 4( b) 所示。首先將用戶和管理員持有的子圖像進(jìn)行合成得到 QR 碼,再利用隱寫過程的逆過程得到認(rèn)證信息。確認(rèn)認(rèn)證信息是否與原先的認(rèn)證碼相同,即可判斷用戶身份的真實(shí)性。具體認(rèn)證過程如下:
( 1) 信息提取。首先,掃描用戶和管理員持有的圖像,將兩個(gè)分享圖像進(jìn)行合成,就是將圖像對應(yīng)像素進(jìn)行異或操作,即可得到 QR 碼; 使用專用識別設(shè)備,對 QR 碼進(jìn)行識讀,得到用戶信息 D; 最后將識別到的 QR 碼去除掩膜,并提取出隱藏的認(rèn)證信息 s。
( 2) 安全認(rèn)證。利用用戶信息 D 和共享密鑰 k,以同樣的方法生成消息認(rèn)證碼 V。若 V 和 S 相同,則認(rèn)證成功,說明用戶信息正確未被篡改,反之則失敗。
此方法的驗(yàn)證過程安全高效,其優(yōu)勢在于無需傳遞密鑰。因密鑰由系統(tǒng)進(jìn)行管理,可自動完成解密工作,不需要第三方參與,極大地減少了信息泄露的風(fēng)險(xiǎn)。由于采用可視秘密共享技術(shù),若有一方信息泄露或者被篡改,沒有另一方的許可,則不能通過安全認(rèn)證,有效地保證用戶信息的安全性。
3 實(shí)驗(yàn)結(jié)果分析
為了驗(yàn)證上述信息隱藏和安全認(rèn)證方法的可行性及性能,對提出的方法進(jìn)行實(shí)驗(yàn)。本文所提出的信息隱藏和安全認(rèn)證算法,與 QR 碼的編碼標(biāo)準(zhǔn)密切結(jié)合,同時(shí)利用了 QR 碼的糾錯(cuò)冗余特性。試驗(yàn)選擇基于 C++的 QR 碼標(biāo)準(zhǔn)編碼器,可以生成標(biāo)準(zhǔn)的 QR 碼。在此基礎(chǔ)上,對源代碼進(jìn)行修改,在糾錯(cuò)編碼以及數(shù)據(jù)塊填充的代碼后,添加認(rèn)證信息生成以及信息隱寫代碼,最后再進(jìn)行掩膜操作。
圖 7( a) 是未經(jīng)修改的編碼器生成的 QR 碼圖像,編碼信息為“上海工程技術(shù)大學(xué)電子電氣工程學(xué)院”,版本號是 11,糾錯(cuò)等級為 M。圖 7( b) 是將認(rèn)證信息隱寫后的 QR 碼?梢园l(fā)現(xiàn),二維碼本身無法看出其攜帶的信息,能夠很好地保護(hù)信息不外泄; 另一方面,該信息隱藏方法不會改變圖像的視覺質(zhì)量,無法察覺隱藏的信息。
上文最終生成的 QR 碼雖然在一定程度上能夠保證信息不外泄,但使用普通的識讀設(shè)備,如手機(jī)等移動設(shè)備仍能夠快速獲取其包含的用戶信息。因此,本文最后采用基于二值圖像的 ( 2,2) - VSS 門限方案,將 QR 碼加密成兩個(gè)子圖像,如圖 7 ( c) 、 ( d) 所示。因此,單獨(dú)任何一個(gè)子圖像均不能得到用戶信息,僅當(dāng)兩個(gè)子圖像合成時(shí)才能得到 QR 碼,再進(jìn)行解碼獲取認(rèn)證信息,如圖 8 所示。
4 結(jié)束語
本文在分析 QR 碼糾錯(cuò)機(jī)制的基礎(chǔ)上,利用糾錯(cuò)編碼的冗余特性,結(jié)合改進(jìn)后的 LSB 技術(shù),實(shí)現(xiàn)認(rèn)證信息的隱藏。采用基于二值圖像的 ( 2,2,) - VSS 門限方案,實(shí)現(xiàn)秘密共享,確保在雙方許可的條件下才能獲取信息。該方法使用改進(jìn)后的 LSB 技術(shù),改善了原始 LSB 技術(shù)對原圖像改動較大的缺點(diǎn); 采用基于 DES 的消息認(rèn)證碼( CBC-MAC) ,進(jìn)一步確認(rèn)消息的完整性; 最后利用可視秘密共享技術(shù),既實(shí)現(xiàn)秘密共享,又保證了信息的機(jī)密性。實(shí)驗(yàn)結(jié)果表明,本文采用的方法,計(jì)算成本較低,能夠高效地保護(hù)用戶信息,且具有很好的透明性。——論文作者:燕雨薇1 ,余 粟2
參考文獻(xiàn)
[1]于英政. QR 二維碼相關(guān)技術(shù)的研究[D]. 北京: 北京交通大學(xué), 2014.
[2]牛夏牧,黃文軍,吳迪,等. 基于二維條碼的信息隱藏技術(shù)[J].中山大學(xué)學(xué)報(bào)( 自然科學(xué)版) ,2004( S2) : 21-25.
[3]FENG J B,WU H C,TSAI C S,et al. Visual secret sharing for multiple secrets[J]. Pattern Recognition,2008,41( 12) : 3572 - 3581.
[4] LUO Weiqi,HUANG Fangjun,HUANG Jiwu. Edge Adaptive Image Steganography Based on LSB Matching Revisited[J]. IEEE Transactions on Information Forensics and Security,5( 2) : 201 - 214.
[5]丁海洋. 一種基于秘密分享的高質(zhì)量( k,n) 可視加密算法[J].計(jì)算機(jī)應(yīng)用研究,2019,36( 8) : 2449-2453.
[6]YAN X,LU Y. Applying QR Code to Secure Medical Management [J]. 2018 9th International Conference on Information Technology in Medicine and Education ( ITME) ,2018: 53-56.
[7]徐津,溫巧燕,王大印. 一種基于 Hash 函數(shù)和分組密碼的消息認(rèn)證碼[J]. 計(jì)算機(jī)學(xué)報(bào),2015,38( 4) : 793-803.
[8]馮國柱,李超,吳翊. 基于視覺密碼的身份認(rèn)證方案[J]. 計(jì)算機(jī)應(yīng)用,2006( 10) : 2318-2319.
[9]傅俊. QR 碼圖像信息隱藏技術(shù)及其隱秘通信系統(tǒng)研究與實(shí)現(xiàn)[D]. 湖南大學(xué),2018.[10]張雅奇,張定會,江平. 一種提高 QR 碼安全性的方法[J]. 信息技術(shù),2012,36( 11) : 90-92.