王宏波 蔣淑玲
摘 要:當(dāng)今社會(huì)正經(jīng)歷一個(gè)萬(wàn)事“憑證”的時(shí)代,各種各樣的證件成為我國(guó)居民生活必不可少的東西。身份證是我國(guó)居民的身份標(biāo)識(shí),日常生活中許多事情都需要使用身份證,身份證的丟失或被人偽造會(huì)給居民帶來(lái)許多不便,許多犯罪分子甚至偽造他人身份證行不法之事,因此身份證防偽十分重要,本文主要基于二維碼的身份證防偽技術(shù)進(jìn)行簡(jiǎn)單的分析。
關(guān)鍵詞:身份驗(yàn)證;二維碼;PDF417碼編碼技術(shù);數(shù)字水??;指紋加密
二維碼結(jié)合其他數(shù)字技術(shù)可以實(shí)現(xiàn)身份證信息的自動(dòng)采集,同時(shí)還能極大的提高證件的防偽能力。PDF417碼的信息儲(chǔ)存量大、可以儲(chǔ)存的文件類型多,偽造起來(lái)難度較高,因此數(shù)據(jù)安全性較高,使用RS算法糾錯(cuò)性能較好,條碼生成比較簡(jiǎn)單,費(fèi)用低,形狀可以根據(jù)實(shí)際的應(yīng)用需求進(jìn)行改變,具有比較廣泛的應(yīng)用性?;诖耍疚闹饕芯縋DF417碼編碼技術(shù)、條碼生成系統(tǒng)的實(shí)現(xiàn)、基于PDF417碼的數(shù)字水印技術(shù)及指紋加密技術(shù)在二維碼中的應(yīng)用。
1 PDF417編碼技術(shù)及條碼生成基礎(chǔ)
二維條碼加大了信息的儲(chǔ)量,可以滿足各個(gè)領(lǐng)域的自動(dòng)識(shí)別需求,目前已經(jīng)廣泛應(yīng)用于各個(gè)行業(yè),根據(jù)編碼原理及信息載體區(qū)別可將二維碼分為堆疊式二維碼及矩陣式二維碼兩種形式。當(dāng)前各個(gè)行業(yè)使用較多的矩陣式二維條碼主要有Code one、Maxi code等,常用的堆疊式條碼有Code16K、PDF417等等。其中PDF417碼因其較高的信息儲(chǔ)存量、簡(jiǎn)單的生產(chǎn)方法、良好的糾錯(cuò)能力、強(qiáng)大的數(shù)據(jù)安全性廣泛的應(yīng)用于各個(gè)領(lǐng)域。
1.1 PDF417條形碼的結(jié)構(gòu)
PDF417條形碼主要組成部分為左側(cè)空白區(qū)、起始符、左行指示符、數(shù)據(jù)符區(qū)、右行指示符、終止符、右側(cè)空白區(qū)、上空白區(qū)及下空白區(qū)。不同的組成部分由不同的數(shù)量的字符組成。字符由寬單元和窄單元組成,相鄰字符間的間距根據(jù)實(shí)際的應(yīng)用需求變化。
1.2 PDF417碼的編碼方法
1.2.1 碼字集
PDF417條形碼的碼字集包含929個(gè)碼字,對(duì)應(yīng)的取值范圍為0~928,其中0~899的碼字用于表示數(shù)據(jù),900~928用于模式識(shí)別,碼字集中的碼字以不同簇的組合來(lái)表示,一般來(lái)說(shuō),碼字集由3個(gè)簇組成,碼字集的簇在組合時(shí)并不是雜亂無(wú)章的有一定的規(guī)律。
1.2.2 模式結(jié)構(gòu)
PDF417條碼包含文本壓縮、字節(jié)壓縮等多種不同類型的數(shù)據(jù)壓縮編碼模式。PDF417碼可以提供模式鎖定碼字、轉(zhuǎn)移碼字等多種類型的碼字,不同類型的碼字作用有所差別,利用這些模式實(shí)現(xiàn)不同數(shù)據(jù)模式的兼容。
1.2.3 漢字編碼
我國(guó)的身份信息必然包括漢字信息,使用PDF417條碼進(jìn)行編碼時(shí),可以將漢字先根據(jù)使用頻率的不同劃分成為罕見(jiàn)字、常用字、高頻字等多種類型,將漢字建成一個(gè)漢字庫(kù),漢字庫(kù)下可繼續(xù)劃分區(qū),每一個(gè)區(qū)包含固定數(shù)量的漢字,并將漢字在字庫(kù)中的位置進(jìn)行編號(hào),以區(qū)編號(hào)及位編號(hào)區(qū)分漢字。在計(jì)算機(jī)系統(tǒng)中常常以一個(gè)字節(jié)來(lái)表示英文字符,以前八位代表字符,最高位為奇偶校驗(yàn)位,但漢字字符數(shù)量較多,單個(gè)字節(jié)128位字符難以滿足漢字需求,因此以國(guó)際碼以兩個(gè)字節(jié)表示漢字,實(shí)現(xiàn)漢字字符與英文字符的兼容,國(guó)際碼分為內(nèi)碼和區(qū)位碼兩部分,二者之間有一定的轉(zhuǎn)換關(guān)系。
在PDF417碼中表示漢字時(shí),首先將漢字當(dāng)作兩個(gè)字節(jié)來(lái)看待,分別為區(qū)位碼和位碼,字節(jié)數(shù)為6的倍數(shù)時(shí),采用924模式指示符,即由左向右、由大到小將數(shù)據(jù)通過(guò)基數(shù)256到基數(shù)。字節(jié)數(shù)不是6的倍數(shù)時(shí),采用924模式指示符,3個(gè)漢字組成一組,然后按924模式指示符表示,如果還有剩下的漢字則逐字表示的方式。
2 基于PDF417碼的數(shù)字水印技術(shù)的研究
身份證技術(shù)的關(guān)鍵就是防偽,二維碼實(shí)際上并不具備防偽功能,想要使二維碼具備防偽功能,可以對(duì)二維碼圖進(jìn)行深加工處理,提高身份證的安全性及可靠性。水印處理是重要的加工處理方法。
水印是現(xiàn)階段使用的重要防偽技術(shù)之一,將數(shù)字水印技術(shù)運(yùn)用與二維碼中可以有效提高二維碼的防偽功能。但PDF417二維條碼比較特殊,它由黑白條空組合形,它的像素值只有兩種類型,屬于二值圖像,水印信息的嵌入時(shí),必須充分考慮二值圖像與一般灰度圖的區(qū)別,避免將像素值區(qū)域直接進(jìn)行1—0轉(zhuǎn)換,導(dǎo)致圖像失真。將水印信息嵌入PDF417二維條碼時(shí),應(yīng)考慮到3個(gè)要點(diǎn),即遷入信息的處理、選擇及表示過(guò)程。
水印嵌入之前,需要對(duì)其進(jìn)行一定的處理,以便充分發(fā)揮防偽性能。目前來(lái)說(shuō),可以采用Arnold置亂、差錯(cuò)控制編碼等方法處理水印。(1)Arnold置亂。Arnold置亂是一種重要的圖像加密技術(shù),首先將水印壓縮,然后進(jìn)行Arnold置亂,最后將編碼嵌入到二維碼中,二維碼在譯碼時(shí)的流程則與編碼流程相反,解碼時(shí)以Arnold置亂次數(shù)作為秘鑰,Arnold置亂使用過(guò)程中必須知道秘鑰才能解碼圖像,采用這種方法加密水印,即使水印圖像出現(xiàn)許多的bit錯(cuò)誤,也不會(huì)影響圖像的質(zhì)量,更有利于二維碼防偽功能的發(fā)揮;(2)差錯(cuò)控制編碼。二維碼應(yīng)用過(guò)程中一旦出現(xiàn)污損,會(huì)使水印信息讀取出現(xiàn)偏差,差錯(cuò)控制編碼可以提高數(shù)字信息的可靠性。
二維碼數(shù)字水印系統(tǒng)包含數(shù)字水印生成、嵌入、提取幾個(gè)部分。數(shù)字水印的嵌入過(guò)程上文已經(jīng)進(jìn)行了簡(jiǎn)單的介紹,下來(lái)則對(duì)水印圖像的生成流程進(jìn)行簡(jiǎn)單的介紹。水印圖像生成過(guò)程:采集數(shù)字水印圖像—圖像預(yù)處理—壓縮圖像—Arnold置亂—新二維碼生成—含有數(shù)字水印的二維碼生成。
數(shù)字水印圖像生成過(guò)程中,水印圖像的預(yù)處理應(yīng)滿足二維碼處理需求,嵌入信息時(shí),水印圖像的大小受嵌入水印信息數(shù)量的限制,因此需要根據(jù)實(shí)際需求適當(dāng)縮減水印圖形的大小,Arnold置亂后的圖像注意還原。
3 指紋加密技術(shù)在二維碼中的應(yīng)用
3.1 指紋加密技術(shù)原理
指紋加密技術(shù),即對(duì)身份證所屬人的指紋進(jìn)行X、Y進(jìn)行加密,產(chǎn)生相應(yīng)的隨機(jī)數(shù),然后利用此隨機(jī)數(shù)進(jìn)行加密碼字,持證人掌握隨機(jī)數(shù)才能恢復(fù)碼字,每一個(gè)人的指紋都是有區(qū)別的,會(huì)生成不同的不隨機(jī)數(shù),從而形成指紋秘鑰,密鑰空間與知聞孔見(jiàn)形成一一映射關(guān)系,秘鑰成為指紋提供者唯一的標(biāo)志,大大提高了證件的可靠性。
基于指紋的隨機(jī)秘鑰可以通過(guò)多種方法生成,這里簡(jiǎn)單介紹一下偽指紋特征隨機(jī)產(chǎn)生器以及產(chǎn)生偽指紋特征信息的方法。
偽指紋特征隨機(jī)發(fā)生器主要由指紋特征的采集、指紋特征隨機(jī)發(fā)生器以及密鑰生成3部分組成?;谥讣y的隨機(jī)秘鑰產(chǎn)生的流程:首先由指紋特征數(shù)據(jù)采集器采集指紋數(shù)據(jù),并將采集到的數(shù)據(jù)轉(zhuǎn)化為指紋特征數(shù)據(jù),然后由偽指紋特征隨機(jī)發(fā)生器產(chǎn)生偽隨機(jī)指紋特征,最后使用偽隨機(jī)指紋特征密鑰將隨機(jī)指紋特征數(shù)據(jù)進(jìn)行加/解密密鑰,通過(guò)此密鑰看出秘鑰指紋的所屬人。已知的指紋特征信息進(jìn)行一定的平移、旋轉(zhuǎn)等處理可以得到許多的指紋特征信息,然后將這些信息編碼,就可以得到偽指紋特征數(shù)據(jù)值,由此可以看出,以偽指紋特征隨機(jī)數(shù)作為二維碼秘鑰的隨機(jī)不定性較強(qiáng),可靠性較好,同時(shí),指紋信息又可作為個(gè)體的標(biāo)識(shí),實(shí)現(xiàn)身份證信息“人證同一性”的需求。
3.2 二維碼加密方案
將指紋秘鑰與二維碼技術(shù)有效結(jié)合,可以提高二維碼的偽造難度,從而保證身份證的可靠性。指紋技術(shù)嵌入到二維碼時(shí),可以通過(guò)多種方法實(shí)現(xiàn)。加密原始身份信息,完成數(shù)據(jù)編碼,在解碼的時(shí)候進(jìn)行身份解密獲取原始身份信息;先將原始信息進(jìn)行編碼,然后加密形成加密碼字,通過(guò)為加密碼字添加糾錯(cuò)碼字生成二維條碼圖像,實(shí)現(xiàn)指紋技術(shù)的嵌入。另外,對(duì)生成的二維條碼進(jìn)行加密也可以實(shí)現(xiàn)加密過(guò)程,使用這種方案加密時(shí)解碼過(guò)程必須借助高速解碼芯片協(xié)助才能完成。
3.3 水印嵌入位置加密
利用偽指紋特征隨機(jī)秘鑰加密嵌入位置可以在實(shí)現(xiàn)身份認(rèn)證的同時(shí),解決秘鑰保存的問(wèn)題。偽指紋特征隨機(jī)秘鑰使用時(shí)需要首先產(chǎn)生一個(gè)由秘鑰決定的數(shù)列,然后按照嵌入信息的容量將秘鑰分組,然后轉(zhuǎn)換為隨機(jī)序列,采用一定的加密算法實(shí)現(xiàn)秘鑰的轉(zhuǎn)換。
4 結(jié)束語(yǔ)
基于當(dāng)前身份證件防偽對(duì)人們?nèi)粘I畹闹匾?,本文主要介紹了PDF417碼編碼技術(shù)的優(yōu)點(diǎn),提出了基于PDF417碼的文字圖像二維碼生成過(guò)程,簡(jiǎn)單介紹了數(shù)字水印技術(shù)及指紋秘鑰加入二維碼的方法,希望能對(duì)身份驗(yàn)證的相關(guān)技術(shù)研究有所啟發(fā)。
參考文獻(xiàn)
[1]林海.二維碼技術(shù)在身份證管理中的應(yīng)用研究[D].天津大學(xué),2012.
[2]潘璐.基于二維碼的證件認(rèn)證技術(shù)研究與實(shí)現(xiàn)[D].北京郵電大學(xué),2014.
[3]晁玉海,劉連山,薛立勤,等.基于PDF417條碼的信息隱藏算法[J].計(jì)算機(jī)工程,2010,(9):131-133.
(作者單位:1.湖南交通工程職業(yè)技術(shù)學(xué)院;2.衡陽(yáng)財(cái)經(jīng)工業(yè)職業(yè)技術(shù)學(xué)院)