一種基于信息隱藏的圖像二維碼及其生成方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種二維碼及其生成方法,具體涉及一種基于信息隱藏的圖像二維碼 及生成方法和系統(tǒng)。
【背景技術(shù)】
[0002] 目前隨著智能設(shè)備,無線網(wǎng)絡(luò)的不斷發(fā)展,具有明顯信息時(shí)代的特征二維碼在物 流、商務(wù)信息交流、商業(yè)廣告、防偽、電子門票等領(lǐng)域都有極廣泛的應(yīng)用。平面廣告中的二 維碼使得消費(fèi)者可以利用移動(dòng)設(shè)備方便、快捷的獲取大量商品信息;同時(shí),由于二維碼本身 極具IT特征的外觀,二維碼本身幾乎成為了創(chuàng)新、高科技的代名詞。但是隨著二維碼的廣 泛應(yīng)用,其在安全性和美觀性上的缺點(diǎn)也逐漸凸顯。在安全性方面,常見的二維碼攻擊方 法有:二維碼篡改、網(wǎng)絡(luò)釣魚、惡意軟件傳播、隱私信息泄露、SQL注入、腳本攻擊、命令注入 等。2011年9月,卡巴斯基實(shí)驗(yàn)室檢測(cè)到了全球第一起使用QR碼進(jìn)行的惡意攻擊,該攻擊 是用二維碼引導(dǎo)用戶登陸某網(wǎng)址,并在用戶不知情的情況下后臺(tái)下載惡意軟件。自2012年 起,各種利用QR碼進(jìn)行惡意攻擊的新聞逐漸被國內(nèi)各媒體報(bào)道,而現(xiàn)有的二維碼也不能有 效地抵抗二維碼偽造和篡改攻擊。目前地域二維碼攻擊的方法主要有編碼改造和引入第三 方兩大類,但是編碼改造并不具有通用性,而目前也沒有一個(gè)權(quán)威的第三方安全應(yīng)用的出 現(xiàn)。因此安全性也成為了目前二維碼發(fā)展的瓶頸之一。
[0003] 在美觀性角度上,二維碼的出現(xiàn)幾乎改變了平面設(shè)計(jì)的整體構(gòu)成。二維碼本身方 正和單調(diào)的外觀使其無法與整個(gè)廣告設(shè)計(jì)完美融合,因此如何在在平面廣告中嵌入二維碼 已成為平面設(shè)計(jì)師的重要設(shè)計(jì)點(diǎn)。傳統(tǒng)的平面廣告由標(biāo)題、正文、廣告語、插圖、標(biāo)志、公司 名稱、色彩,七部分構(gòu)成。二維碼本身不是文字,所以它不可能容于標(biāo)題、正文、廣告語和公 司名稱當(dāng)中。而二維碼本身并沒有美觀或多彩的特征,因此它也無法成為插圖或色彩部分。 目前的廣告設(shè)計(jì)經(jīng)常將標(biāo)志嵌入二維碼中,然后將其作為廣告的標(biāo)志部分,這種設(shè)計(jì)方式 可以在明確二維碼的內(nèi)容的同時(shí)一定程度上增強(qiáng)了二維碼的美觀性。但是問題仍然存在, 在廣告設(shè)計(jì)時(shí),標(biāo)志的造型應(yīng)力求單純、簡(jiǎn)潔,并具有強(qiáng)烈視覺效果,可以給消費(fèi)者留下深 刻的印象。而將嵌入標(biāo)志的二維碼整體作為標(biāo)志的情況下,標(biāo)志只存在于中間一小塊區(qū)域, 這樣設(shè)計(jì)明顯不是最單純、最簡(jiǎn)潔的。而且二維碼本身的黑白格子完全無法被人眼識(shí)別。針 對(duì)這個(gè)問題,相關(guān)公司做了很多有意義的嘗試,這些嘗試都試圖解決二維碼外觀問題,但是 均存在著致命的缺陷。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問題是提供一種安全且美觀的基于信息隱藏的圖像二維 碼及生成方法和系統(tǒng)。
[0005] 本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種基于信息隱藏的圖像二維碼,包 括定位模塊和數(shù)據(jù)模塊,所述數(shù)據(jù)模塊為在宿主圖像中嵌入信息數(shù)據(jù)的圖像,所述信息數(shù) 據(jù)為編碼和糾錯(cuò)碼組成的原始數(shù)據(jù)的矩陣式二進(jìn)制字符串,所述定位模塊用于限定所述數(shù) 據(jù)模塊的邊界。
[0006] 本發(fā)明的有益效果是:本發(fā)明的一種基于信息隱藏的圖像二維碼是將數(shù)據(jù)信息嵌 入到宿主圖像中,即將信息數(shù)據(jù)隱藏在圖像當(dāng)中,在美觀性方面,本發(fā)明的圖像二維碼的主 體外觀由圖像構(gòu)成,比傳統(tǒng)方正單調(diào)的黑白幾何圖形更加美觀;同時(shí),用圖像承載信息數(shù)據(jù) 可以防止二維碼信息被偽造、篡改,安全模式的設(shè)計(jì)避免了目前流行的二維碼攻擊方式,增 加了其安全性。
[0007] 在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0008] 進(jìn)一步,所述定位模塊包括位置探測(cè)圖形和定位圖形,所述位置探測(cè)圖形為位于 所述數(shù)據(jù)模塊的正方形圖像三個(gè)頂角上的回字形圖形,所述定位圖形為深淺方形相間的條 狀圖形。
[0009] 進(jìn)一步,本發(fā)明一種基于信息隱藏的圖像二維碼還包括輔助信息模塊,所述輔助 信息模塊用于存儲(chǔ)圖像二維碼的信息,所述輔助信息模塊包括矯正單元和數(shù)據(jù)單元,所述 矯正單元用于輔助信息模塊的定位顏色矯正,所述數(shù)據(jù)單元用于存儲(chǔ)圖像二維碼的版本信 息、圖像二維碼的格式信息、圖像的明暗度信息和圖像的色彩信息。
[0010] 采用上述進(jìn)一步方案的有益效果是:本發(fā)明中的信息輔助模塊是圖像二維碼的特 有模塊,用來存儲(chǔ)圖像二維碼可能用到的一些版本信息和格式信息等,信息輔助模塊本身 是一種可選模塊,若圖像二維碼的版本、格式比較單一,則不需引入信息輔助模塊;輔助信 息模塊存儲(chǔ)的數(shù)據(jù)具有如下三個(gè)特點(diǎn):1,總體信息量較?。?,數(shù)據(jù)信息對(duì)二維碼識(shí)別可以 起到輔助作用,提高識(shí)別效率或準(zhǔn)確率;3,數(shù)據(jù)信息具有不必要性,即輔助模塊的缺失不會(huì) 直接導(dǎo)致圖像二維碼的識(shí)別失敗。但是信息輔助模塊的存在可以大大增加圖像二維碼的魯 棒性,保證識(shí)別系統(tǒng)可以爭(zhēng)取識(shí)別圖像信息。
[0011] -種基于信息隱藏的圖像二維碼生成方法,包括如下步驟,
[0012] Sla,數(shù)據(jù)處理:將源數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制字符串?dāng)?shù)據(jù)信息,并對(duì)二進(jìn)制字符串?dāng)?shù)據(jù) 信息進(jìn)行位置布置形成矩陣式二進(jìn)制字符串信息數(shù)據(jù);
[0013] Slb,圖像處理:將宿主圖像進(jìn)行單位矩陣化處理形成單位矩陣化圖像;
[0014] S2,數(shù)據(jù)嵌入處理:將源數(shù)據(jù)經(jīng)過數(shù)據(jù)處理形成的矩陣式二進(jìn)制字符串信息數(shù)據(jù) 嵌入到經(jīng)過圖像處理形成的單位矩陣化圖像中形成圖像二維碼的數(shù)據(jù)模塊;
[0015] S3,定位處理:對(duì)步驟S2中得到的圖像二維碼的數(shù)據(jù)模塊進(jìn)行定位模塊設(shè)計(jì),并 將定位模塊加入到圖像二維碼的數(shù)據(jù)模塊的周邊,形成圖像二維碼。
[0016] 本發(fā)明的有益效果是:在本發(fā)明的一種基于信息隱藏的圖像二維碼的生成方法 中,圖像二維碼的生成加入了圖像嵌入過程,并根據(jù)其需求對(duì)其余過程進(jìn)行修改;利用本發(fā) 明一種基于信息隱藏的圖像二維碼的生成方法生成的圖像二維碼外觀精美且安全性較高。
[0017] 在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0018] 進(jìn)一步,所述數(shù)據(jù)處理包括以下步驟,
[0019] Slal :根據(jù)編碼的第一位數(shù)字進(jìn)行模式選擇,所述模式分為缺省模式和安全模式, 當(dāng)編碼的第一位數(shù)字為〇時(shí)為缺省模式,執(zhí)行步驟Slall,當(dāng)編碼的第一位數(shù)字為1時(shí)為安 全模式,執(zhí)行步驟Slal2 ;
[0020] Slall :系統(tǒng)對(duì)源數(shù)據(jù)的大小寫字母和/或數(shù)字和/或漢字和/或標(biāo)點(diǎn)符號(hào)進(jìn)行分 析;
[0021] Slal2 :系統(tǒng)將源數(shù)據(jù)存入服務(wù)器并生成I D ;
[0022] Sla2 :將在缺省模式下通過分析的源數(shù)據(jù)或在安全模式下生成的I D進(jìn)行數(shù)據(jù)編 碼,生成原始數(shù)據(jù)編碼;
[0023] Sla3 :對(duì)步驟Sla2中生成的原始數(shù)據(jù)編碼進(jìn)行糾錯(cuò)處理,生成糾錯(cuò)編碼;
[0024] Sla4:將糾錯(cuò)編碼進(jìn)行矩陣式位置布置,生成矩陣式二進(jìn)制字符串信息數(shù)據(jù)。
[0025] 采用上述進(jìn)一步方案的有益效果是:在數(shù)據(jù)處理的過程中有模式選擇,其中,在模 式方面引入了安全模式,保證了生成的圖像二維碼的安全性并增加了其展示的多樣性。
[0026] 進(jìn)一步,所述圖像處理的方法為:首先對(duì)宿主圖像進(jìn)行預(yù)處理,然后將經(jīng)過預(yù)處理 的宿主圖像進(jìn)行單位矩陣化處理形成單位矩陣化圖像;所述對(duì)經(jīng)過預(yù)處理的宿主圖像進(jìn)行 單位矩陣化處理的的方法為:將m*n的經(jīng)過預(yù)處理的圖像分割成以1*1的像素矩陣為單位 的多個(gè)單位矩陣。
[0027] 進(jìn)一步,所述數(shù)據(jù)嵌入處理的方法為:將矩陣式二進(jìn)制字符串信息數(shù)據(jù)以信息隱 藏的方法嵌入到單位矩陣化圖像中,生成圖像二維碼的數(shù)據(jù)模塊。
[0028] 進(jìn)一步,在所述安全模式下,系統(tǒng)還將對(duì)存入服務(wù)器的源數(shù)據(jù)的URL地址進(jìn)行安 全審查,和/或系統(tǒng)還將對(duì)存入服務(wù)器的源數(shù)據(jù)進(jìn)行隱私信息加密處理,和/或系統(tǒng)還將對(duì) 存入服務(wù)器的源數(shù)據(jù)進(jìn)行命令防注入處理。
[0029] 采用上述進(jìn)一步方案的有益效果是:圖像二維碼在安全模式下設(shè)計(jì)了 URL地址安 全審查和/或隱私信息加密和/或命令注入屏蔽,保證了圖像二維碼的安全性。
[0030] 進(jìn)一步,所述數(shù)據(jù)處理還包括掩模,根據(jù)掩模算法對(duì)矩陣化二進(jìn)制字符串信息數(shù) 據(jù)進(jìn)行變化。
[0031] 采用上述進(jìn)一步方案的有益效果是:當(dāng)數(shù)據(jù)采用空域算法嵌入至宿主圖像時(shí),編 碼后字節(jié)串的01編碼與圖像中相鄰單元值息息相關(guān)。根據(jù)嵌入算法的需要,可以對(duì)二進(jìn)制 串進(jìn)行掩模變化,掩模變化可以調(diào)節(jié)二進(jìn)制串中01的比例;也可以更改01的分布形式;恰 當(dāng)?shù)难谀K惴梢栽鰪?qiáng)數(shù)據(jù)信息的隱蔽性,提高信息的識(shí)別率;其中一種常見的掩模算法 是使二進(jìn)制串中的01比例更接近1:1,并且盡量間隔的分布,這樣的好處是使生成的二維 碼圖形辨識(shí)度更高,且不易與定位模塊混淆。采用掩模算法對(duì)矩陣化二進(jìn)制字符串信息數(shù) 據(jù)進(jìn)行變化以使二進(jìn)制字符串信息數(shù)據(jù)中的0和1的數(shù)目相當(dāng),并使〇、1的分布整體均勻 或集中,或局部分布均勻或集中,以增加其識(shí)別率。
[0032]