0 引言
科學技術的發展,使今天計算機迅速普及,金融機構、銀行的計算機網絡系統更是飛速發展。但因為一些技術上或人為上的缺陷,銀行安全管理和防范措施上往往存在一些漏洞,犯罪分子趁機作案,竊取銀行巨額資金,大案、要案屢屢發生,其中利用計算機網絡進行作案更是引起金融界的高度重視。各金融單位采取了相應措施,對外進行網絡加密,在中心機房安裝防火墻,內部完善規章制度,要求柜員一周或一月更換一次聯機密碼,并保管好自己的聯機密碼。但是,這里有一系列的不安全因素:
首先,由于聯機密碼是一串六位數字,在使用上給柜員帶來了諸多的不便和不安全;其次,由于頻繁更換密碼,柜員容易記錯或忘記自己的聯機密碼;再者,只要作案人留意別人密碼的輸入操作,很容易掌握別人的聯機密碼。銀行操作員在業務處理中是以聯機密碼開啟柜員終端進入中心機房的賬務處理系統,在整個過程中有以下缺陷:(1) 聯機密碼不能鎖定操作者的身份;(2) 很難發現非法操作。因此利用聯機密碼,銀行內部犯罪分子能夠比較輕松、方便地作案。
眾所周知,指紋是人體生物特征之一,具有惟一性、穩定性和不可復制、不可移植、不可仿造的特點[1-3]。在銀行儲蓄系統BSS中使用該設備之后,可使每個儲戶的密碼都具有與生俱來、終身不變、人各有異、絕不丟失、不易復制等特點,從而確保銀行儲蓄系統BSS的安全。并能有效、方便、安全地提高銀行儲蓄業務的水平。因此本文針對這類情況,研制了計算機自動指紋識別技術的銀行網絡登陸系統。
1 指紋識別的基本原理
指紋有兩類特征:總體特征和局部特征。其中總體特征是指那些用人眼直接就可以觀察到的特征,包括:紋型、模式區、核心點、三角點,以及紋數。而局部特征是指指紋上的節點的特征,這些具有某種特征的節點稱為特征點。兩枚指紋經常會具有相同的總體特征,但它們的局部特征即特征點,卻不可能完全相同。指紋紋路并不是連續的、平滑筆直的,而是經常出現中斷、分叉或打折。這些斷點、分叉點和轉折點就稱為特征點。就是這些特征點提供了指紋惟一性的確認信息[4]。
在考慮局部特征的情況下,一般認為,只要比對13個特點重合,就可以確認為是同一個指紋。理論上講,任何兩枚紋都是不一樣的。一般將拒識率控制在千分之一以內,將識率控制在百萬分之一以內即可。
指紋識別技術是通過取像設備讀取指紋圖像,然后用計算機識別軟件提取指紋的特征數據,最后通過匹配識別算法得到識別結果,以確定指紋所有人身份的生物特征識別技術。指紋識別技術原理框圖如圖1所示。指紋識別主要涉及讀取指紋圖像、指紋圖像處理、特征提取、特征匹配[5,6]。
圖1 指紋識別的基本原理
首先,通過指紋采集儀采集到人體指紋的圖像,并對原始圖像進行初步的處理,使指紋圖像中蘊涵的特征信息更明顯。然后,運用指紋特征提取算法建立指紋的數字表示.特征數據。這是一種單方向的轉換:可以從指紋轉換成特征數據但不能從特征數據轉換成為指紋,而且兩枚不同的指紋不會產生相同的特征數據。從指紋上找到被稱為“細節點”的數據點存儲到指紋特征文件中,這些細節點也就是那些指紋紋路的分支點或末梢點。有的算法把節點和方向信息組合產生了更多的數據,這些方向信息表明了各個節點之間的關系;有的算法還處理整幅指紋圖像。總之,這些數據,通常稱為模板,保存為1K或0.5K大小的記錄。無論它們是怎樣組成的,至今仍然沒有一種模板的標準,也沒有一種公布的抽象算法,而是各個廠商各行其是。最后,通過計算機模糊比較的方法,把兩個指紋的模板進行比較,計算出它們的相似程度,最終得到兩個指紋的匹配結果。
2 指紋識別機硬件設計
指紋識別機是一臺典型的微處理機系統,負責指紋圖像的采集、存儲和匹配,且與系統主機進行雙向數據交換等工作。其硬件由中央監控單元、指紋采集單元、人機交互單元、串行通信單元組成。硬件組成框圖如圖2所示。
圖2 指紋識別機的硬件組成框圖
中央監控單元由單片機AT89C51擔任,負責協調其他各單元的工作和與主機通信;指紋采集單元由FDA01模塊擔任[7,8],負責指紋原始圖像的采集、存儲和比對;人機交互單元由字符點陣式液晶顯示器、蜂鳴器、16鍵小鍵盤組成;串行通信單元由RS232、RS485接口電路組成,完成單片機與FDA01的通信和單片機與系統主機的通信。由于AT89C51單片機的I/O口有限,為了充分利用其端口,AT89C51與FDA01模塊、LCD顯示器的數據傳輸均采用串行通信方式。AT89C51的P31/XD和P30/RXD引腳通過CMOS模擬開關CD4053切換,分別與RS232接口芯片ICL232和RS485接口芯片MAX1487相連。ICL232再與FDA01的RS232接口相連。AT89C51的P13 引腳與串并轉換移位寄存器74HC164的B端相連,作為串行數據驅動口;P14引腳與74HC164 的CL K 端相連;P11、P12引腳直接控制LCD芯片的RS端和E端;74HC164 的并行數據端QA 2QH再與LCD芯片的D72-D0相連。
3 指紋識別機軟件設計
指紋識別機的主要程序流程圖如圖3所示。
圖3 指紋識別機的主要程序流程圖
指紋識別機的主要工作流分為用戶注冊和用戶儲蓄。用戶注冊由銀行管理人員監視,完成新用戶的指紋注冊和用戶號的分配,以及系統指紋庫的常規維護;用戶儲蓄由一般銀行操作人員監控,完成用戶指紋的識別與認證,并記錄存取類別和每個用戶儲蓄的起止時間等數據,生成的儲蓄識別日志上傳系統服務器。其它工作流還有:接受鍵盤輸入的命令和工作參數設置,接受系統主機的設置參數和命令,從服務器下載用戶指紋模板數據等。
4 系統功能及相關技術
4.1 檢查指紋密碼設備
本功能主要檢查系統各部分是否處于正常工作狀態,主要檢查:鍵盤、LCD、語音喇叭等是否正常。
4.2 指紋登記
該功能主要完成儲戶或操作員的指紋登記工作。每個儲戶或操作員可登記1至5枚指紋。登記完成后指紋密碼設備統一將指紋特征值傳送給BSS存儲指紋數據,供以后驗證指紋之用。
4.3 指紋比對
該功能主要完成儲戶或操作員在取款、辦理其它業務、進入BSS等需要驗證身份時的指紋識別。同一個登錄用戶,允許1至5枚指紋同時管理。
4.4 VB的ActiveX控件與SQL數據庫管理的結合
部分操作員庫結構內容:
操作員編號 USER_ ID CHAR (6)
操作員姓名 USER_NAME CHAR (10)
密碼 USESER_ PW CHAR (12)
操作員權限 USER_QX CHAR (10)
通道1 TD1 CHAR (2)
通道2 TD2 CHAR (2)
備注 USER_REMARK CHAR (100)
用戶管理包括對銀行終端操作員ID、姓名、權限、通道等詳細信息的增加、刪除、更新等操作。設定用戶ID為4位,不滿4位的前面自動加0,利用SQL語言對數據庫的檢索使用戶ID具有不可重復性和唯一性。在工作日志中,對數據庫信息設置了升序、降序排列及按用戶ID和時間排列,對于查詢則設置了按輸入時間和按輸入用戶ID號查詢的選擇,極大地方便了用戶對數據庫中信息的查詢瀏覽。
VB的事務處理包括以BeginTrans開始,以CommitTrans或Rollback結尾的多條數據庫操作指令。事務處理除了能很好的保證數據庫的完整性以外,同時能大大提高數據庫批量更新的效率。這是因為如果數據庫更新操作沒有使用事務處理,則每次Update操作都會引起數據庫寫盤一次,使用事務處理后,更新只在內存緩沖區內進行,執行CommitTrans時才將所有修改一次寫回到磁盤中。
本系統使用了ADO Date控件和MSComm控件。MSComm控件主要是用于實現計算機間通信的Active X控件。ADO Data控件是一種圖形控件,其內部有基本的定位特性。這意味著應用程序在使用ADO Data控件時只需要很少的程序代碼。
訪問ODBC數據庫需要兩步,首先設置ODBC數據源名(DSN),然后在OpenDatabase方法的Source參數中使用該數據源名。
5 結束語
本系統運用了最先進的生物識別技術和計算機網絡相結合,采用用SQL和ODBC及面向對象的編程技術等相關技術,作為一種填補銀行安全管理上的漏洞的一種嘗試,具有很大的實際意義。計算機自動指紋識別技術的銀行儲蓄網絡身份認證系統較好地解決了儲戶異地存取款的不便利性,大大提高了連網銀行的工作效率,同時也解決了密碼、磁卡等被盜、被搶、被破譯、被遺忘等的問題。該系統已在某省會城市的一所銀行中試用成功,效果良好,完全滿足實際的需要。
參考文獻:
[1] A relic C, Baja G S D. A width independent fast thinning algorithm. IEEE Trans on Pattern Analysis and Machine Intelligence, 1999,7 (4) : 463-474.
[2] Zhang T Y, Suen C Y. A fast parallel algorithm for thinning digital patterns. Comm. of ACM, 1994, 27 (3) :236-239
[3] Yamato K, Hata F, Isogai S. A restoration of low quality fingerprint image. Trans IIEE, 2002, 2 (21) : 12-17
[4] Isenor D K, Znky S G。 Fingerprint Identification Using Graph Matching[J ] 。 Pattern Recognition,1999,19 (2):113