王延年,屈楨
(西安工程大學(xué)電子信息學(xué)院,西安710048)
移動(dòng)存儲(chǔ)器由于使用靈活、攜帶方便得到了廣泛的應(yīng)用,但也增加了信息泄漏的可能性?,F(xiàn)有保密手段大多是采用軟件上的設(shè)計(jì)來確保移動(dòng)存儲(chǔ)器的安全性,像設(shè)置口令認(rèn)證、加密等方法,軟件易被攻破[1]。針對(duì)如中央國家機(jī)關(guān)、地方各級(jí)黨政機(jī)構(gòu),以及國有企事業(yè)單位設(shè)立的保密委員會(huì)等對(duì)于數(shù)據(jù)傳輸保密性要求比較高的場合,傳統(tǒng)的移動(dòng)存儲(chǔ)器已經(jīng)不能滿足其安全性要求。
本文綜合考慮現(xiàn)有移動(dòng)存儲(chǔ)器保密手段,提出了軟硬件同時(shí)改進(jìn)的設(shè)計(jì)思想,硬件上以SDRAM 為存儲(chǔ)介質(zhì),無線方式傳輸數(shù)據(jù),利用指紋傳感器進(jìn)行用戶身份驗(yàn)證并以DSP為控制核心;軟件上編寫適合移動(dòng)存儲(chǔ)器系統(tǒng)的指紋識(shí)別算法支持硬件[2],設(shè)計(jì)一種新型移動(dòng)存儲(chǔ)器可有效解決現(xiàn)有移動(dòng)存儲(chǔ)器存在的安全隱患問題。
本系統(tǒng)分為移動(dòng)存儲(chǔ)器和無線數(shù)據(jù)接收器兩部分。移動(dòng)存儲(chǔ)器部分由指紋采集傳感器、電源管理、模式選擇開關(guān)、蜂鳴器、外部存儲(chǔ)器SDRAM、FLASH 和無線數(shù)據(jù)通信組成,如圖1所示。
圖1 移動(dòng)存儲(chǔ)器
無線數(shù)據(jù)接收器部分由上位機(jī)、USB 接口、ARM、無線收發(fā)模塊組成,如圖2所示。
移動(dòng)存儲(chǔ)器以TMS320DM642 為核心,負(fù)責(zé)整個(gè)電路系統(tǒng)的片選、中斷、通用I/O 口的配置以及各種數(shù)據(jù)的處理,把處理好的數(shù)據(jù)及時(shí)傳輸出去[3]。MT9T001電路主要完成系統(tǒng)指紋數(shù)據(jù)的采集,并把所采集到的指紋數(shù)據(jù)由模擬形式轉(zhuǎn)換成數(shù)字形式。自帶電源,當(dāng)出現(xiàn)突發(fā)狀況時(shí),可人為斷電,存儲(chǔ)器自動(dòng)銷毀存儲(chǔ)數(shù)據(jù)。模式選擇開關(guān)用于切換存儲(chǔ)器的發(fā)送/接收模式。蜂鳴器在指紋匹配失敗時(shí)發(fā)出報(bào)警。存儲(chǔ)器部分包括SDRAM 和FLASH。其中SDRAM 存儲(chǔ)空間不小于16G,用于存儲(chǔ)重要文件信息,利用其不斷充電保存數(shù)據(jù)的特性,處理斷電后數(shù)據(jù)不可恢復(fù)的突發(fā)事件。FLASH 用于存儲(chǔ)DSP 源程序。TMS320DM642通過無線數(shù)據(jù)通信模塊實(shí)現(xiàn)數(shù)據(jù)的無線傳輸。
圖2 無線數(shù)據(jù)接收器
無線數(shù)據(jù)接收器以ARM 微控制芯片LPC1766及其外圍部件為基礎(chǔ),通過串口控制無線傳輸模塊收發(fā)數(shù)據(jù)[4]。編寫相應(yīng)的程序與移動(dòng)存儲(chǔ)器進(jìn)行唯一性配對(duì),未配對(duì)的無線數(shù)據(jù)接收器無法實(shí)現(xiàn)與移動(dòng)存儲(chǔ)器數(shù)據(jù)的傳輸,有效地避免了存儲(chǔ)器丟失造成數(shù)據(jù)泄密的可能性。
發(fā)送過程:首先LPC1766 通過SPI接口對(duì)無線模塊各種配置寄存器進(jìn)行設(shè)置,并將要發(fā)送的數(shù)據(jù)放入發(fā)送存儲(chǔ)區(qū)中。然后設(shè)置選擇發(fā)送狀態(tài),使無線模塊向上位機(jī)傳輸數(shù)據(jù)。
接收過程:先通過設(shè)置選擇接收狀態(tài)。無線模塊開始檢測空氣中的信號(hào)。當(dāng)無線模塊檢測到接收頻率上的載波,收到有效地址和數(shù)據(jù)包時(shí),打開數(shù)據(jù)包,去掉包頭包尾并將接收數(shù)據(jù)準(zhǔn)備引腳置高。通過SPI接口將上位機(jī)數(shù)據(jù)取出。
指紋識(shí)別算法是整個(gè)移動(dòng)存儲(chǔ)器系統(tǒng)的核心,且在DSP上實(shí)現(xiàn),用戶通過指紋傳感器進(jìn)行快速與準(zhǔn)確的身份驗(yàn)證。然而,使用指紋傳感器采集圖像的過程中,指紋紋線之間都會(huì)存在不同程度的粘連、模糊以及紋線斷裂等現(xiàn)象,這是由于采集時(shí)按壓用力不均勻和手指表面干濕度差異等因素造成的[5]。同時(shí),從三維人體指紋到二維數(shù)字指紋圖像的轉(zhuǎn)換過程中,因?yàn)榱炕燃皰呙鑳x非線性特性影響,都會(huì)不可避免地產(chǎn)生噪聲。因此,在進(jìn)行特征提取和匹配之前,必須對(duì)指紋圖像進(jìn)行預(yù)處理,恢復(fù)指紋的紋線結(jié)構(gòu),以便可靠提取正確的指紋特征。結(jié)果將直接影響特征提取和匹配的復(fù)雜度,關(guān)系到整個(gè)算法的識(shí)別率。本文針對(duì)傳統(tǒng)指紋識(shí)別算法復(fù)雜度較高、運(yùn)算耗時(shí)的問題,綜合考慮系統(tǒng)硬件平臺(tái)特征,對(duì)現(xiàn)有算法進(jìn)行優(yōu)化。
優(yōu)化的指紋識(shí)別算法流程如圖3所示,主要包括指紋圖像預(yù)處理和特征點(diǎn)提取與匹配。其中圖像預(yù)處理是整個(gè)算法的關(guān)鍵。
圖3 指紋識(shí)別算法流程圖
傳統(tǒng)的圖像分割算法主要有2類:一類是基于指紋圖像方向信息分割的方向法[6],另一類是基于圖像灰度特征分割的方差法。本系統(tǒng)采用一種基于特征融合的分割算法,對(duì)梯度、方向一致性進(jìn)行2次分割。實(shí)驗(yàn)表明,該算法能夠精確地對(duì)不同類型的指紋圖像進(jìn)行分割,分割效果比較理想。
本系統(tǒng)采用Gabor小波函數(shù)進(jìn)行智能增強(qiáng)算法,Gabor小波函數(shù)由高斯函數(shù)與三角函數(shù)構(gòu)成,形成周期震蕩的函數(shù)[7]。Gabor小波函數(shù)的一維、二維表達(dá)式分別為
其中高斯分量為
坐標(biāo)軸的旋轉(zhuǎn)公式為
因Gabor小波函數(shù)運(yùn)算非常耗時(shí),用模板來擬合Gabor小波函數(shù),將矩形模板變?yōu)閮蓷l相交的線段模板,這樣作模板運(yùn)算,使得優(yōu)化后的運(yùn)算復(fù)雜度和運(yùn)算量就小得多。
經(jīng)過上述圖像增強(qiáng)之后,再對(duì)圖像進(jìn)行二值化。從原始的灰度圖像上來確定圖像每一點(diǎn)應(yīng)屬于脊線還是谷線,產(chǎn)生對(duì)應(yīng)的二值圖像。設(shè)f(x0,y0)為該點(diǎn)的灰度值,其方向場為O(x0,y0),δ為設(shè)定的閾值大小范圍。設(shè)H 為切向像素值和,V 為法向像素值和,則有以下公式
根據(jù)上述兩式可判斷某一點(diǎn),若V>H,則該點(diǎn)屬于脊線,反之,該點(diǎn)屬于谷線。
指紋細(xì)化采用查表法,其基本思想是列舉出像素點(diǎn)相鄰的所有8個(gè)像素點(diǎn)中那些需要被刪除的情況,將它們作為消除模板。像素點(diǎn)的8 個(gè)鄰域黑白變化共有28=256種情況,為了提高細(xì)化速度,將256種情況編成一個(gè)刪除表,進(jìn)行查表刪除。
對(duì)經(jīng)過指紋預(yù)處理后的指紋圖像進(jìn)行特征點(diǎn)提取,并與系統(tǒng)數(shù)據(jù)庫中的指紋模板數(shù)據(jù)進(jìn)行匹配,確定用戶身份,判斷是否進(jìn)行移動(dòng)存儲(chǔ)器文件數(shù)據(jù)傳輸。實(shí)驗(yàn)結(jié)果表明,優(yōu)化后的算法在降低運(yùn)算復(fù)雜度和縮短運(yùn)算時(shí)間的同時(shí),提高了指紋圖像匹配的準(zhǔn)確性。
移動(dòng)存儲(chǔ)器負(fù)責(zé)指紋的檢測與識(shí)別,判定存儲(chǔ)數(shù)據(jù)是發(fā)送還是銷毀。無線數(shù)據(jù)接收器負(fù)責(zé)接收移動(dòng)存儲(chǔ)器的指令,并與上位機(jī)進(jìn)行文件數(shù)據(jù)傳輸。流程圖如圖4~圖6所示。
圖4 移動(dòng)存儲(chǔ)器程序流程圖
圖5 發(fā)送端程序流程圖
圖6 接收端程序流程圖
本文以FVC2000、FVC2002和FVC2004訓(xùn)練以及用自己采集的指紋圖像做實(shí)驗(yàn)。圖7為測試示例,圖中的左下按鈕Open_tfp打開的是模板指紋,右下按鈕Open_ifp打開的是待匹配指紋,點(diǎn)擊match按鈕直接彈出匹配結(jié)果。測試總共進(jìn)行了39×40次匹配驗(yàn)證,其中拒識(shí)的次數(shù)為30次,誤識(shí)的次數(shù)為0,測試結(jié)果與參考文獻(xiàn)[8]的測試結(jié)果進(jìn)行了比較,如表1、表2所列,顯示該算法復(fù)雜度較低,識(shí)別速度快,準(zhǔn)確率也比參考文獻(xiàn)中的高。
表1 本算法測試結(jié)果
圖7 測試示例
表2 參考文獻(xiàn)[8]測試結(jié)果
本文所設(shè)計(jì)的基于優(yōu)化指紋識(shí)別算法的移動(dòng)存儲(chǔ)器系統(tǒng),首次將指紋傳感器和無線接收器移植到傳統(tǒng)的存儲(chǔ)器中,對(duì)傳統(tǒng)指紋識(shí)別算法進(jìn)行優(yōu)化,形成了適合本系統(tǒng)的算法。整個(gè)系統(tǒng)由于應(yīng)用優(yōu)化的指紋算法,對(duì)用戶進(jìn)行身份識(shí)別,在保證算法復(fù)雜度較低、識(shí)別速度快、準(zhǔn)確率高的前提下實(shí)現(xiàn)了與資源的平衡,為保密性要求高的場合提供了理想的解決方案。
[1]顧桃峰,岳海燕,胡錦前.便攜式存儲(chǔ)器安全管理平臺(tái)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2011,2(2):114-117.
[2]熊玉朋,陳興欣,龐俊銳.一種新型移動(dòng)保密存儲(chǔ)設(shè)備[J].通信與信息技術(shù),2010,316(5):89-91.
[3]戴佳,戴衛(wèi)恒.51單片機(jī)C 語言應(yīng)用程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2006:385-398.
[4]趙卉.基于USB接口的無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)[D].西安:空軍工程大學(xué),2008.
[5]朱樹闊.基于DSP的指紋識(shí)別系統(tǒng)研究與設(shè)計(jì)[D].重慶:重慶大學(xué),2010.
[6]詹小四.基于紋理分析的指紋圖像分割算法[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(21):162-165.
[7]李利,范九倫.一種有效的指紋圖像方向?yàn)V波增強(qiáng)算法[J].計(jì)算機(jī)應(yīng)用研究,2008,25(10):3072-3074.
[8]朱寧,施榮華,吳科樺.一種新的點(diǎn)模式指紋匹配方法[J].計(jì)算機(jī)工程與應(yīng)用,2006,18(4):74-76.