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