0 引言
在金融行業(yè)的計(jì)算機(jī)系統(tǒng)中,密碼鍵盤主要用來(lái)進(jìn)行口令密碼認(rèn)證,用戶口令通過(guò)密碼鍵盤輸入計(jì)算機(jī)后與銀行數(shù)據(jù)庫(kù)內(nèi)的用戶口令比對(duì),通過(guò)后才允許對(duì)用戶數(shù)據(jù)庫(kù)進(jìn)行存取款的操作。口令密碼的使用極大地保護(hù)了用戶和銀行的利益,得到了廣泛推廣,因此密碼鍵盤[1]的應(yīng)用也非常普遍。
早期的銀行業(yè)務(wù)中,由于金融電子化程度較低,密碼的校驗(yàn)工作是通過(guò)顧客將密碼寫在取款單上,由柜員來(lái)進(jìn)行核對(duì)確認(rèn)。這種方式首先要求銀行網(wǎng)點(diǎn)上的柜員是安全可信的,而其最不安全之處就在于密碼寫在了取款單上,容易被別人看到而造成密碼的泄漏[5]。隨著金融電子化程度的提高,終端進(jìn)入了金融行業(yè)的業(yè)務(wù)操作,終端的輔口上可以聯(lián)接一個(gè)串口設(shè)備如密碼小鍵盤。于是,密碼小鍵盤開(kāi)始用于銀行業(yè)務(wù)中的密碼校驗(yàn)。Unix主機(jī)下發(fā)命令打開(kāi)終端的輔口,用戶就可在密碼小鍵盤上輸入密碼到主機(jī)上和數(shù)據(jù)庫(kù)中的密碼進(jìn)行核對(duì)。這種方式大大提高了密碼校驗(yàn)的工作效率,同時(shí)具有較好的安全性,密碼上傳到主機(jī)時(shí)回顯到終端屏幕上的不是密碼,而是*號(hào),這樣也避免了柜臺(tái)人員知道顧客的密碼,造成不必要的麻煩。
1硬件部分
密碼鍵盤作為POS系統(tǒng)的一個(gè)輸入輸出設(shè)備,需要輸入PIN,顯示金額,保存重要數(shù)據(jù)(密鑰),與主機(jī)通訊, IC卡讀寫[6][7]等功能,所有通訊數(shù)據(jù)及保存數(shù)據(jù)必須加密,是安全性要求較高的外設(shè)。其硬件結(jié)構(gòu)圖見(jiàn)圖1。
圖1 硬件結(jié)構(gòu)框圖
DS5002FP
兼容MCS-51系列單片機(jī),在使用外存的情況下仍然可以使用4個(gè)PO作為數(shù)據(jù)I/O,帶外設(shè)的能力較強(qiáng)。在發(fā)現(xiàn)入侵時(shí)迅速擦除存儲(chǔ)器內(nèi)存。該安全微處理器芯片提供強(qiáng)大的軟件加密算法,該算法包含DES加密原理。它可以允許64位的密鑰。密鑰僅能通過(guò)產(chǎn)生的隨機(jī)數(shù)被裝載,因此真正的密鑰值是用戶無(wú)法知道的。任何篡改密碼的企圖都將導(dǎo)致密碼被擦除,而使得RAM加密的內(nèi)容無(wú)法使用。
圖2 DS5002FP引腳圖
存儲(chǔ)器
SRAM(靜態(tài)隨機(jī)存取存儲(chǔ)器)是一種只要在供電條件下便能夠存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器件,而且是大多數(shù)高性能系統(tǒng)的一個(gè)關(guān)鍵部分。SRAM的速度非常快,在快速讀取和刷新時(shí)能夠保持?jǐn)?shù)據(jù)完整性。
用DS5002FP擴(kuò)展512K來(lái)實(shí)現(xiàn)保存程序和數(shù)據(jù)。為了實(shí)現(xiàn)程序空間和數(shù)據(jù)空間的切換,需要使用148編碼器。
磁條卡(MSR)接口
磁條閱讀器應(yīng)能夠準(zhǔn)確閱讀在磁性標(biāo)準(zhǔn)正常范圍內(nèi)的磁道信息,并可同時(shí)讀取磁條卡的二、三磁道數(shù)據(jù)。凡符合GB/T14916、GB/Y15120、GB/T15694-1、ISO7812-2、GB/T17552
標(biāo)準(zhǔn)的磁條卡都能讀取。刷卡方向可采用單向或雙向,刷卡速度范圍為10毫米/秒-100毫米/秒,磁條讀卡器壽命應(yīng)達(dá)到400,000次以上。
用DS5002FP的數(shù)據(jù)總線經(jīng)74HC245掛接到74HC595芯片數(shù)據(jù)總線上,磁條卡插入信號(hào)由P1.7檢測(cè),數(shù)據(jù)讀取由外部中斷1控制,由P2.6經(jīng)74HC4066控制分配使用,磁條卡的串行信號(hào)轉(zhuǎn)變成并行信號(hào)上傳給DS5002FP是由一片74HC393分頻控制,利用另一片74HC393分頻控制產(chǎn)生外部中斷1的中斷信號(hào),P1.6檢測(cè)二磁道的讀取信號(hào),磁條卡的解碼芯片用F2F2000。
KEYPAD接口設(shè)計(jì)
在讀取鍵值時(shí),分為是否在安全模式下獲取鍵值:在非PIN的按鍵獲取時(shí),不需要進(jìn)入安全模式,按鍵的鍵值以鍵值代碼明文的方式傳遞;在獲取PIN時(shí),必須進(jìn)入安全模式,即此時(shí)的按鍵返回全部為一個(gè)固定值。
用DS5002FP的P0口及P2.0、P2.1共十根I/O線(KP0、KP1、KP2、KP3、KP4、KP5、KP6、KP7、KP8、KP9)經(jīng)74HC4066構(gòu)成5*5的矩形掃描鍵盤,用P2.5控制74HC4066方向的轉(zhuǎn)換。
LCD接口設(shè)計(jì)
可同時(shí)顯示漢字和字符,密碼輸入時(shí)可選擇明文或保密方式,方便用戶對(duì)交易信息的確認(rèn)。其中輸入的PIN不能顯示在屏幕上。用一串無(wú)意義的符號(hào)例如"*"星號(hào)來(lái)顯示接受的字符數(shù)。
用DS5002FP的P0口及P2.0、P2.1、P2.2、P2.3、P2.4共十三根I/O線經(jīng)LCD驅(qū)動(dòng)電路構(gòu)成LCD顯示電路,P0口作為數(shù)據(jù)線,P2.0、P2.1、P2.2、P2.3、P2.4作為控制線。設(shè)計(jì)兼容128×64與122×32兩種模式LCD顯示。
通訊接口
備有兩種方式:USB通訊方式和RS232通訊方式。
USB通訊方式:USB就是設(shè)備插架的一種規(guī)范,支持主系統(tǒng)與不同外設(shè)間的數(shù)據(jù)傳輸,是電腦系統(tǒng)連接外圍設(shè)備[4]的輸入/輸出接口標(biāo)準(zhǔn)。特點(diǎn)很突出:速度快、兼容性好、不占中斷、可以串接、支持熱拔插等等。
用DS5002FP的數(shù)據(jù)總線掛接到USB接口控制芯片SL811ST的數(shù)據(jù)總線上, DS5002FP的R/W接到SL811ST的nRD上,R/W與nWR連接,R/W和PE4與/WR相連,nR/W和PE4經(jīng)74HC32相與后與/RD相連,SL811ST的nRST與DS5002FP的P1.3相連, SL811ST的中斷控制信號(hào)與DS5002FP的INT0相連,SL811ST的輸出線為DATA+、DATA-。
RS232通訊方式:RS-323C標(biāo)準(zhǔn)是美國(guó)EIA(電子工業(yè)聯(lián)合會(huì))與BELL等公司一起開(kāi)發(fā)的1969年公布的通信協(xié)議。它適合于數(shù)據(jù)傳輸速率在0~20000b/s范圍內(nèi)的通信。這個(gè)標(biāo)準(zhǔn)對(duì)串行通信接口的有關(guān)問(wèn)題,如信號(hào)線功能電氣特性都作了明確規(guī)定。由于通行設(shè)備廠商都生產(chǎn)與RS-232C制式兼容的通信設(shè)備,因此它作為一種標(biāo)準(zhǔn),目前已在微機(jī)通信接口中廣泛采用。
用DS5002FP的RXD、TXD掛接到串口接口控制芯片MAX232的R1OUT、T2IN上,DS5002FP的/PROG經(jīng)電阻接到SL811ST的R2OUT上, SL811ST與POS機(jī)的連線為R1IN、R2IN、T2OUT。
SDI
SDI(self-destruct input),該引腳是DS5002PF中一個(gè)不可忽視的引腳。高電平觸發(fā),無(wú)論VCC引腳是否有工作電壓,它都可以工作,不用時(shí)該引腳接地。當(dāng)外部有篡改探測(cè)內(nèi)部電路行為時(shí),SDI引腳都有安全鎖閉功能:即立即擦除密碼和48字節(jié)RAM空間。
系統(tǒng)軟件設(shè)計(jì)
控制軟件流程,協(xié)調(diào)各模塊之間的時(shí)序關(guān)系,全局變量的定義,函數(shù)初始化、命令標(biāo)志的判斷、中間數(shù)據(jù)的處理、中斷的控制等功能。
其中主控模塊的處理請(qǐng)求示意圖如圖3所示。
圖3 處理請(qǐng)求示意圖
磁條卡接口功能流程圖如圖4所示。
圖4 磁條卡接口功能流程圖
其它部分在此就不一一介紹。
3密鑰管理
密鑰管理包括:密鑰的生成、分配、保管和銷毀等。對(duì)傳輸?shù)男畔⑦M(jìn)行加密,以防被竊取、更改,從而避免造成損失。對(duì)存儲(chǔ)的信息進(jìn)行加密保護(hù),使得只有掌握密鑰的人才能讀取信息。為了安全防護(hù),一般采取以下組織管理措施:對(duì)持卡人、卡和接口設(shè)備的合法性的相互檢驗(yàn);重要數(shù)據(jù)加密后傳送;卡和接口設(shè)備中設(shè)置安全區(qū),在安全區(qū)中包含有邏輯電路或外部不可讀的存儲(chǔ)區(qū),任何有害的不合規(guī)范的操作,將自動(dòng)禁止對(duì)卡的進(jìn)一步操作。
加密算法采用DES系統(tǒng)[2],該系統(tǒng)是至今為止應(yīng)用最廣泛、最安全的加密系統(tǒng)。在DES算法設(shè)計(jì)中采用了基本的隱蔽信息的技術(shù):散布和混亂,構(gòu)成算法的基本單元是簡(jiǎn)單的置換、移位和模2加運(yùn)算,可在任何普通的計(jì)算機(jī)上實(shí)現(xiàn)。DES 密碼算法可滿足以下要求:提供高質(zhì)量的數(shù)據(jù)保護(hù),防止數(shù)據(jù)未經(jīng)授權(quán)的泄露和未被察覺(jué)的修改;具有相當(dāng)高的復(fù)雜性,使得破譯的開(kāi)銷超過(guò)可能獲得的利益,同時(shí)又要便于理解和掌握;DES密碼體制的安全性不依賴于算法的保密,其安全性僅以加密密鑰的保密為基礎(chǔ);實(shí)現(xiàn)經(jīng)濟(jì),運(yùn)行有效。
4結(jié)論
綜上所述,該密碼鍵盤是多功能一體化終端,支持各種安全需求。讀卡靈敏度高,一致性好,具有靈活方便的模塊組合,用戶界面好。數(shù)據(jù)傳送可用明文或密文形式,軟件實(shí)現(xiàn)DES加密算法,一旦發(fā)現(xiàn)受到篡改,密碼鍵盤將立即破壞所有密鑰和其他敏感數(shù)據(jù),安全可靠,加密功能具有硬件保護(hù),拆機(jī)自毀功能。背光液晶顯示,可同時(shí)顯示漢字和ASCⅡ字符,方便用戶對(duì)交易性質(zhì)和金額的確認(rèn)以及查詢信息的確認(rèn)。RS232標(biāo)準(zhǔn)串行接口,方便與多種設(shè)備相聯(lián)。驅(qū)動(dòng)簡(jiǎn)單,方便編程,它的設(shè)計(jì)和開(kāi)發(fā)具有很好的實(shí)用價(jià)值和較廣闊的應(yīng)用前景。