基于智能卡指紋認證系統
文章出處:http://5052h112.com 作者:劉治 人氣: 發表時間:2011年09月29日
1 智能卡及指紋識別技術
智能卡(smart card)及指紋識別技術智能卡在外形上和磁卡(magnetic card)相似, 但重要的是它不易被仿制。智能卡主要分為三類存儲卡, 加密存儲卡和CPU卡。存儲卡中的數據可任意讀寫加密存儲卡對讀取數據沒有嚴格限制, 但寫數據時須進行密碼校驗;CPU卡的讀寫都有嚴格的限制, 并有自己的微處理器位(8位CPU, 主頻5~10MHz)、RAM、ROM、EEPROM、ROM由于存放操作系統及加密算法等, EEPROM用于存放用戶的個人化參數和數據, 而這些數據只能通過智能卡中的操作系統來訪問, 外部應用程序不能直接訪問。智能卡的安全機制是通過密鑰鑒別, 密碼認證, 數據加密和解密以及文件訪問的安全控制等一系列協議來實現的。
指紋通常被認為是由谷分開的一系列脊。隨著計算機技術、采集技術及指紋識別算法的發展, 人們逐漸將人工指紋識別向指紋自動識別AFIS(Automated fingerprint Identification System)轉變。
2 系統分析
該系統提出了嚴格的拒真率(FRR)和認假率(FAR)指標及可靠性安全性的要求。系統設計中使用的智能卡實際上是內嵌于標準塑料卡中的微控制器, 因此, 它所擁有的RAM/ROM及EEPROM的容量都很有限, 根據智能卡的標準, 必須考慮微處理器的時鐘頻率和是數據傳輸。智能卡中初始時鐘頻率只有5MHz, 從而嚴重影響了計算速度另外外部向智能卡傳送數據只能通過單工異步串行口, 通常情況下, 次傳輸速率為9600bps, 并且, 即便這一速率可以改變, 最大也不會超過115bps,因此基于智能卡的指紋識別系統滿足必須有以下條件
① 指紋特征樣本應盡量的小, 以不超過512字節為宜, 否則會給數據存儲和傳輸帶來困難;
② 由于用戶模板只在登記時傳送一次, 因而不會對數據通信造成大的影響, 然而考慮到EEPROM的存儲容量和匹配算法的復雜度, 也要盡減小其大小;
③ 減少定點運算, 杜絕浮點運算, 否則會因計算量的增大而需要協處理器, 造成成本升高。指紋認證算法的方案流程如圖1。
① 指紋圈像獲取主要有光學掃描采集、固休傳感器采集和超聲波傳感器采集三種途徑。所采集到的指紋圖像為位灰度圖, 分辨率和大小因系統用途不同而不等, 分辨率一,大小耐一耐, 本系統以美國推薦的, 大小的圖像為標準。
② 指紋圈像預處理為使采集的指紋樣本適于后續細節提取模塊的處理, 并且為了減少數據量, 采取四級預處理方案。首先經計算得到指紋樣本的梯度圖, 然后根據梯度圖分割圖像, 去除空白部分, 從而使得到的圖像中僅有脊和谷的信息。接下來便是圖像增強的過程, 在這個過程中指紋采基于智能卡指紋認證系統集過程中由于手指壓力、污潰等造成的圖像亮度、對比度的缺陷將得到補償。最后, 計算得到指紋圖像的方向圖。
③ 細節提取本系統在細節提取過程中使用“ 脊線跟蹤” 算法, 該算法基本思想是在指紋圖像內部利用方向對脊進行迭代搜錄。一旦找到脊上一點即在這一區域內灰度值最低的象素點, 然后順延找到整條脊線。在得到的脊線圖中, 脊線的末梢及兩條脊線的交點都是指紋圖像的細節特征點。由這些細節特征點的位置、方向以及類型得到指紋圖像的特征向量, 并為后續的匹配算法提供必要的信息。這一過程還包括偽特征點的消除。該系統中指紋圖像每個細節特征點的特征向量為個字節, 而特征點的數量有賴于獲取的有效指紋圖像的大小。
④ 指紋特征匹配由指紋傳感器獲取的指紋,在得到其特征向量后要和由讀卡器得到的先前注冊時儲存于卡中的指紋摸板相比對。然而由于手指按壓程度不同, 造成指紋采樣與卡中指紋摸板之間脊線間距離、對比度等差異。因此, 在匹配過程中應用彈性匹配算法。
3 系統安全性
由于本系統限于本地用戶使用, 故當前強調用戶身份認證的安全性而暫不考慮網絡互聯帶來數據通信安全性問題。
系統安全機制主要體現在以下三方面首先,系統用戶應在系統服務器端進行注冊, 同時將用戶指紋特征、用戶數據及相關信息加密后存人智能卡中, 從而保證在不知道存儲格式的情況下不能獲得卡中數據。其次, 智能卡讀卡機上加裝指紋識別模塊, 當讀卡機閱讀卡上信息時, 一并將持卡者指紋讀人, 通過對比卡上指紋與持卡者指紋可確定持卡者是否為該卡的合法擁有者, 身份確認后才能進行下一步操作。在更嚴格的場合下, 還應和后端主機系統數據庫中的指紋進行比對。另外, 發卡時向智能卡中寫入PIN密碼, 該密碼同時存儲于服務器端的數據庫中。該密碼對用戶是保密的, 用戶要想對智能卡進行寫操作就必須有PIN密碼, 只有用戶指紋的采樣經服務器端通過身份驗證后, 服務器端傳送PIN密碼至客戶端, 才可對智能卡進行寫操作。
(文/ 山東大學 劉治)