版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一種安全可靠的IC卡讀寫器系統(tǒng)的設計摘 要隨著現(xiàn)在生活的發(fā)展,IC卡在人們的生活中起到了越來越重要的作用,這對IC卡行業(yè)是一次挑戰(zhàn),也是一個很好的發(fā)展機遇。本文在對IC卡熟悉的基礎上,以8051單片機為核心并選用X76F100卡設計了一種安全可靠的IC卡讀寫器。本論文采用軟硬件結合的方法,硬件設計通過對單片機、IC卡的選型,并設計了相應的監(jiān)控電路、鍵盤電路和顯示電路。論文還對IC卡的內部結構,工作原理,編程和加密進行了詳細的研究。軟件設計的實現(xiàn)是在硬件系統(tǒng)設計的基礎上來編寫的,用匯編語言對單片機進行了編程,實現(xiàn)讀寫卡、控制和顯示等功能。本文還對IC卡的安全性進行了研究和討論,指出了IC卡應用中
2、的漏洞并提出防范的方案。本文設計的IC卡讀寫器以硬件設計為主,并對IC卡的讀寫和顯示等進行了相關的程序設計。關鍵詞 IC卡讀寫器;X76F100卡;單片機;匯編語言AbstractWith the development of our lives, the IC card plays more and more vital role in peoples life, which is a challenge to the IC card profession and also is a very good development opportunity.This article carries
3、 acquaint with the IC card on foundation, takes 8051 signal chip and selects the X76F100 card as the core to design one kind of security reliable IC card reader-writer. The paper uses the method of the software and hardware unified, the hardware has been designed in the corresponding monitoring circ
4、uit, the keyboard circuit and the display circuit through the shaping of the signal chip and the IC card. The paper has been studied in the detailed to the IC card internal structure, the principle of work, the programming and the encryption. The design of the software has been carried on in the fou
5、ndation of the design of the hardware system and programmed to signal chip with the assembly language and realized the function of the researched and discussed to the IC card security and pointed out the loophole in the IC card application and proposed the guard method.This article designs the IC ca
6、rd reader-writer by the hardware design primarily, and read-write and the demonstration and so on has been carried on the related programming to the IC card.Key words IC card reader-writer; X76F100 card; Signal Chip; assembly language目 錄 TOC o 1-3 h z u HYPERLINK l _Toc230408605 摘 要 PAGEREF _Toc2304
7、08605 h I HYPERLINK l _Toc230408606 Abstract PAGEREF _Toc230408606 h II第 HYPERLINK l _Toc230408607 1章 緒論 PAGEREF _Toc230408607 h 1 HYPERLINK l _Toc230408608 1.1 IC卡讀寫器的研究背景和目的 PAGEREF _Toc230408608 h 1 HYPERLINK l _Toc230408609 1.1.1 IC卡的分類及其特點 PAGEREF _Toc230408609 h 1 HYPERLINK l _Toc230408610 1.1
8、.2 IC卡讀寫器介紹 PAGEREF _Toc230408610 h 2 HYPERLINK l _Toc230408611 1.2 IC卡在我國的發(fā)展 PAGEREF _Toc230408611 h 3 HYPERLINK l _Toc230408612 1.3 本文的主要組織結構 PAGEREF _Toc230408612 h 3第 HYPERLINK l _Toc230408613 2章 IC卡讀寫器硬件電路設計 PAGEREF _Toc230408613 h 4 HYPERLINK l _Toc230408614 2.1 讀寫器電路設計 PAGEREF _Toc230408614 h
9、 4 HYPERLINK l _Toc230408615 2.2 單片機選型 PAGEREF _Toc230408615 h 4 HYPERLINK l _Toc230408616 2.2.1 8051部分管腳功能 PAGEREF _Toc230408616 h 4 HYPERLINK l _Toc230408617 2.2.2 ALE/PROG地址使能信號端 PAGEREF _Toc230408617 h 5 HYPERLINK l _Toc230408618 2.2.3 PSEN程序儲存使能端 PAGEREF _Toc230408618 h 6 HYPERLINK l _Toc230408
10、619 2.2.4 EA/VPP PAGEREF _Toc230408619 h 6 HYPERLINK l _Toc230408620 2.2.5 XTAL1、XTAL2接晶體振蕩器引腳 PAGEREF _Toc230408620 h 6 HYPERLINK l _Toc230408621 2.3 X76F100卡座以及卡的介紹 PAGEREF _Toc230408621 h 6 HYPERLINK l _Toc230408622 2.3.1 X76F100卡座 PAGEREF _Toc230408622 h 6 HYPERLINK l _Toc230408623 2.3.2 X76F100
11、卡 PAGEREF _Toc230408623 h 7 HYPERLINK l _Toc230408624 2.4 監(jiān)控電路設計 PAGEREF _Toc230408624 h 10 HYPERLINK l _Toc230408625 2.4.1 X25045介紹及其引腳功能 PAGEREF _Toc230408625 h 10 HYPERLINK l _Toc230408626 2.4.2 X25045看門狗電路設計及編程 PAGEREF _Toc230408626 h 11 HYPERLINK l _Toc230408627 2.5 鍵盤接口電路設計 PAGEREF _Toc2304086
12、27 h 12 HYPERLINK l _Toc230408628 2.6 顯示電路設計 PAGEREF _Toc230408628 h 12 HYPERLINK l _Toc230408629 2.6.1 LED數碼管的顯示 PAGEREF _Toc230408629 h 13 HYPERLINK l _Toc230408630 2.6.2 數碼管驅動芯片的選擇及其應用分析 PAGEREF _Toc230408630 h 13第 HYPERLINK l _Toc230408631 3章 IC卡讀寫器的軟件程序設計 PAGEREF _Toc230408631 h 15 HYPERLINK l
13、_Toc230408632 3.1 主程序流程圖 PAGEREF _Toc230408632 h 15 HYPERLINK l _Toc230408633 3.2 循環(huán)鍵盤顯示程序 PAGEREF _Toc230408633 h 15 HYPERLINK l _Toc230408634 3.3 X76F100讀程序舉例 PAGEREF _Toc230408634 h 16第 HYPERLINK l _Toc230408635 4章 IC卡的安全性問題 PAGEREF _Toc230408635 h 20 HYPERLINK l _Toc230408636 4.1 對IC卡及其系統(tǒng)的潛在攻擊 P
14、AGEREF _Toc230408636 h 20 HYPERLINK l _Toc230408637 4.1.1 對IC卡片可能出現(xiàn)的非法攻擊 PAGEREF _Toc230408637 h 20 HYPERLINK l _Toc230408638 4.1.2 對IC卡終端設備的非法攻擊 PAGEREF _Toc230408638 h 20 HYPERLINK l _Toc230408639 4.1.3 通訊網絡系統(tǒng)的攻擊 PAGEREF _Toc230408639 h 21 HYPERLINK l _Toc230408640 4.2 IC卡安全問題的解決方案 PAGEREF _Toc230
15、408640 h 21 HYPERLINK l _Toc230408641 4.2.1 確??▋葦祿踩胺乐箚纹瑱C程序被讀的方法 PAGEREF _Toc230408641 h 21 HYPERLINK l _Toc230408642 4.2.2 提高電子模塊的抗攻擊能力的方案 PAGEREF _Toc230408642 h 21 HYPERLINK l _Toc230408643 結 論 PAGEREF _Toc230408643 h 22 HYPERLINK l _Toc230408644 致 謝 PAGEREF _Toc230408644 h 23 HYPERLINK l _Toc23
16、0408645 參考文獻 PAGEREF _Toc230408645 h 24 HYPERLINK l _Toc230408646 附錄A PAGEREF _Toc230408646 h 25 HYPERLINK l _Toc230408647 附錄B PAGEREF _Toc230408647 h 33第1章 緒論 讀寫器是IC卡系統(tǒng)中不可缺少的重要組成部分,它是各類IC卡與其相應的應用系統(tǒng)連接的工具,起到了信息識別、傳送、處理任務的功能。隨著IC卡的廣泛應用,各類讀寫器的設計也有了長足的發(fā)展。1.1 IC卡讀寫器的研究背景和目的 IC卡是集成電路卡(Integrated Circuit C
17、ard)的英文簡稱,在有些國家也稱之為智能卡、智慧卡、微芯片卡等,將一個裝用的集成電路芯片鑲嵌于符合ISO7816標準的PVC(或ABS等)塑料基片中。由于它保存的信息比較可靠安全,可以高達幾萬次的讀寫,所以大量應用于公交車票、信用卡、電話卡等收費系統(tǒng)。1969年12月,日本的有村國孝先生首先提出一種制造安全可靠的信用卡方法。1974年,法國的羅蘭德穆瑞拉(Roland Moreno)發(fā)明了帶集成電路芯片的塑料卡片,并獲得了專利,這就是早期的IC卡,但一時尚未實用化。1976年法國布爾(Bull)公司研制出世界第一枚IC卡。1984年法國PTT(Posts ,Telegraphs and Te
18、lephones)將IC卡用于電話卡,由于IC卡良好的安全性和可靠性,獲得了意想不到的成功。隨后,國際標準化組織(ISO,International Standardization Organization)與國際電子委員會(IEC,Internation Electortechnical Commmission)的聯(lián)合技術委員會為之制定了一系列的國際標準、規(guī)范,極大推動了IC卡的研究發(fā)展。本論文根據X76F100卡研制了一種安全可靠的讀寫器系統(tǒng)。該讀寫器能夠識別與控制IC卡、提供穩(wěn)定的電源和時鐘、能使應用系統(tǒng)與卡進行數據交換、并通過該讀寫器的鍵盤和LED顯示對卡進行相應的操作和處理。 IC卡
19、的分類及其特點1. IC卡的分類IC卡根據卡中所用嵌粘的集成電路的功能的不同,可分為接觸式IC卡和非接觸式IC卡兩大類。在實際使用中,以接觸式IC卡應用較多。本文采用的是接觸式IC卡。接觸式IC卡,具有標準形狀的銅皮觸點,通過和卡座的接觸點相連實現(xiàn)外部信息和系統(tǒng)設備的信息交換。它又分為以下三類: (1)存儲卡:具有存儲記憶的功能,不帶加密邏輯,這類卡適用于其內部信息不用加密的應用系統(tǒng)。(2)加密存儲卡:卡中具有若干個密碼口令,只有在密碼輸入正確后,才能對相應區(qū)域的信息內容進行讀出或寫入。(3)智能卡:卡中還帶有信息處理器(CPU),該類卡是一個帶有操作系統(tǒng)的單片機系統(tǒng),嚴格防范非法用戶訪問卡中
20、的信息。2. IC卡的特點IC卡較之以往的識別卡,具有以下特點:一是可靠性高;IC卡具有防磁、防靜電、防機械損壞和防化學破壞等能力,信息保存期在100年以上,讀寫次數在10萬次以上,至少可用10年;二是安全性好;三是存儲容量大;四是類型多。 IC卡讀寫器介紹無論哪種IC卡,IC卡本身不帶電源,而存貯容量非常有限,所以IC卡本身不能單獨使用,必須與相關設備(如:讀寫器)組合使用,才能共同構成一個符合人們某種需求的應用系統(tǒng)。1.非接觸式IC卡讀寫器非接觸式IC卡與讀卡器之間通過無線電波來完成讀寫操作。非接觸式卡沒有電源,工作時,IC卡進入讀寫區(qū)(又稱感應區(qū)),讀寫器向IC卡發(fā)一組固定頻率的電磁波,
21、卡片內有一個LC串聯(lián)諧振電路,其頻率與讀寫器發(fā)射的頻率相同,這樣在電磁波激勵下,LC諧振電路產生共振,共振產生的電能通過一個單向導通的電子泵送到電容內存儲,當所積累的電荷達到2V時,卡內的其他集成電路開始工作。由于非接觸式IC卡本身是不帶電源的,當讀寫器對卡進行讀寫操作時,終端發(fā)出的信號就由兩部分疊加組成,一部分是電源信號,該信號由卡接收后,與卡片的LC串聯(lián)諧振電路共振產生的能量來供給卡內芯片工作。另一部分是指令和數據信號,指揮卡內芯片完成數據的讀取、修改、存儲等,并返回信號給予終端。讀寫器一般由單片機、存儲器、專用智能RF模塊和天線組成,并配有與PC機通訊的接口、打印口、I/O口等。2.接觸
22、式IC卡讀寫器接觸式IC卡卡片上有8個觸點,工作時,讀寫器通過這些觸點對IC卡提供電源(VCC)、定時脈沖(CLK)和數據交換(I/O)。IC卡讀寫器不僅是卡與外界通信的橋梁和傳輸介質,而且通常是IC卡的能量來源。讀寫器借助自身的機械卡座、射頻(RF)或紅外(IR)無線信道,以接觸或非接觸方式來實現(xiàn)對IC卡的讀寫操作。因此,我們在設計IC卡讀寫器時,應保證IC卡讀寫器具有如下幾個主要功能:(1)當IC卡進入/退出讀寫區(qū)時,對IC卡的識別和控制。(2)為帶觸點的IC卡提供穩(wěn)定的電源和時鐘;向非接觸的IC卡發(fā)射射頻信號,并通過它提供IC卡工作所需的能量。非接觸IC卡接收到射頻信號后,通過卡內整流穩(wěn)
23、壓電路整流穩(wěn)壓后向提供卡內其它集成電路提供所需的工作電壓。(3)實現(xiàn)讀寫器與卡之間的數據交換,并提供相應的控制信號。(4)對加密數據提供相應的加/解密處理及密碼管理機制。(5)提供相應的外部控制信息,與其他設備進行信息交換。1.2 IC卡在我國的發(fā)展 2005年至今后的5年,是我國IC卡應用向縱深發(fā)展的時期。我國IC卡市場格局必將由無序走向有序,市場競爭必將由有限走向無限,IC卡市場將逐步走向成熟,進入微利時代1。在這種形勢下單純的發(fā)卡量和新產品數量并不能衡量IC卡產業(yè)與市場的發(fā)展水平,市場發(fā)展的程度最終取決于IC卡的應用水平極其帶來的社會效益。從可持續(xù)的發(fā)展角度講,加強行業(yè)規(guī)范,推動IC卡企
24、業(yè)由產品和技術型轉向應用和服務型轉變,將成為我國IC卡市場發(fā)展的重要趨勢2。1.3 本文的主要組織結構本文是以單片機8051為核心采用XICOR公司的X76F100 IC卡片設計的一種安全可靠的IC卡讀寫器。本論文包括四個部分。第一章首先介紹了IC卡的種類、功能和IC卡目前在我國發(fā)展的狀況。第二章是本文的重點,從硬件方面詳細介紹了單片機選型、IC卡選型、鍵盤電路、顯示電路的設計方案。第三章是在實現(xiàn)了硬件的基礎上對本文設計的IC卡讀寫器進行了編程。第四章著重論述了現(xiàn)在人們對IC卡行業(yè)關心的IC卡安全性問題,并提出了相應的解決方案。第2章 IC卡讀寫器硬件電路設計本設計采用XICOR公司的X76F
25、100作串行E2PROM,設計以8051單片機為核心的IC卡讀寫器系統(tǒng)。2.1 讀寫器電路設計圖2.1 IC卡讀寫器的硬件電路圖圖2.1為IC卡讀寫器的硬件電路圖。此讀寫器電路圖由單片機、鍵盤、顯示、監(jiān)控電路等部分組成。2.2 單片機選型單片機體積小、重量輕,具有很強的靈活性而且價格不高,得到越來越廣泛的應用3。8051是我的首選機型。2.2.1 8051部分管腳功能8051共有4 個I/O端口,分別為P0、P1、P2、P3。4個I/O口都是雙向的,且每個口都具有鎖存器4。每個端口有8條線,共計32條I/O線。P0.0P0.7,P1.0P1.7,P2.0P2.7,P3.0 P3.7。P0口有三
26、個功能:外部擴充存儲器時,作數據總線(D0D7);外部擴充存儲器時,作地址總線(A0A7);不擴充時,作一般I/O使用,內部無上拉電阻,作為輸出/輸入使用時應加上拉電阻。2P1口只作I/O口使用,有內部上拉電阻。3P2口有兩個功能:(1)擴充外部存儲器時,作地址總線(A8A15)使用。(2)作一般I/O口使用,有內部上拉電阻。4P3口有兩個功能:除作為I/O口(有內部上拉電阻)外,還有一些特殊功能。由特殊功能寄存器來設置端口的引腳特殊功能。P10(8052)T2 TIMER2的外部輸入引腳(8052)。P11(8052)/T2EX (TIMER2的捕捉(Capture)/重新加載(Reload
27、)的觸發(fā))。P30RXD(串行輸入口)。P31TXD(串行輸出口)。P32/INT0(外部中斷0)。P33/INT1(外部中斷1)。P34T0(TMER0的外部輸入腳)。P35T1(TMER1的外部輸入腳)。P36/WR(外部數據存儲器的寫入控制信號)。P37/RD(外部數據存儲器的讀取控制信號)。端口1,2,3有內部上拉電阻,作為輸入時,其電位被拉高,若輸入為低電平可提供電流源;作為輸出時可驅動4個TTL。而端口0作輸出緩沖器可驅動8個TTL(需外加上拉電阻)。2.2.2 ALE/PROG地址使能信號端有三種功能:(1)8051外接RAM/ROM時,ALE接地址器(8282)的STB腳,(7
28、4373)的EN腳,當CPU對外部存儲器進行存取時,用以鎖住地址的低位地址。(2)8051未外接RAM/ROM時,ALE腳會有1/6晶體振蕩頻率,可作為外部時鐘。(3)在燒寫EPROM時,ALE作為燒寫時鐘的輸入端。2.2.3 PSEN程序儲存使能端(1)內部程序存儲器讀取,不動作。(2)外部程序存儲器讀?。≧OM),在每個機器周期會動作兩次。(3)外部數據存儲器讀取(RAM),兩個/PSEN脈沖被跳過不會輸出。(4)外接ROM時,與ROM的/OE腳連接。 EA/VPP (1)接高電平時:CPU讀取內部程序存儲器(ROM)。擴充外部ROM,當讀取內部程序存儲器超過0FFFH(8051)、1FF
29、FH(8052)時,自動讀取外部ROM。(2)接低電平時:CPU讀取外部程序存儲器(ROM)。(3)8051燒寫內部EPROM時,利用此腳21V的燒寫電壓。 XTAL1、XTAL2接晶體振蕩器引腳 機器周期晶體12。2.3 X76F100卡座以及卡的介紹 X76F100卡座 圖2.2 X76F100Y引腳X76F100為1288位的保密串行FLASH E2PROM,其中讀密碼和寫密碼分別為64位5。圖2.2為其智能卡封裝的引腳圖。把芯片封裝在一個卡片上,將卡片插入IC卡讀寫器的卡座中,讀寫器就可以對它進行讀寫。IC卡卡座有8個引腳,當X76F100Y插入時,正好同這幾個引腳相連5。另外還有兩個
30、固定端,其中一個固定端同卡座上一個彈簧片相連,兩個觸點和簧片就相當于一個常閉開關。 X76F100卡1.X76F100卡的性能 XICOR公司的產品X76F100是一種可用于密碼訪問安全監(jiān)控、加密存儲器卡的閃爍存儲器芯片。X76F100芯片的主要技術性能如下:有兩種密碼,即用于讀出芯片數據的密碼和用于將數據寫入芯片的密碼,每種密碼字長8字節(jié)(64位),這些密碼保護存儲器陣列的讀寫操作。具有可編程功能讀、寫密碼,多陣列訪問編程,重試計數器編程,即允許8次試驗然后陣列清零。高可靠性:每字節(jié)可重復擦寫10萬次,數據保持100年,所有引腳具有2000V的ESD保護能力。符合ISO標準的32位對復位的響
31、應(RST輸入)。每次8字節(jié)扇區(qū)的寫入與讀出。4個1K(1288)存儲器陣列。2.卡引腳配置及功能X76F100卡引腳功能如下:/CS端:片選,該端為低電平時選中芯片。SCL端:串行時鐘輸入端。SDA端:串行數據輸入/輸出線。VCC端:電源正端,電壓為5V或33.6V。VSS端:GND。NC端:不連接腳。RST端:當該端為高電平,/CS為低電平時,器件進入RESET狀態(tài),X76F100將輸出固定的確認為標準的“復位同步響應”的32位數據,該數據符合對RESET同步響應的ISO標準。在RESET期間,/CS端應為低電平且器件不處于寫周期。在RESET響應時,若/CS端變?yōu)楦唠娖?,則RESET響應
32、終止,器件將回到等待狀態(tài)。3.工作原理X76F100內部電路框圖如圖2.3所示,該器件是CMOS閃爍存儲器。X76F100有兩種基本的工作:保密讀和保密寫,對此要遵守如下的約定:重試計數器。X76F100內部包含一重試計數器,該重試計數器允許8次無效訪問而不發(fā)生動作,如果訪問超過8次,內部數據將會清零。器件的協(xié)議:X76F100支持與雙向總線有關的協(xié)議。時鐘和數據的約定:在SDA線上數據的狀態(tài)只有在SCL為低電平時才能改變;當SCL是高電平時,SDA的變動用作表示“開始”和“停止”條件。開始條件:所有命令都由開始條件前導,即當SCL為高電平時,SDA由高電平跳變到低電平。停止條件:所有命令都必
33、須由停止條件來終止,即當SCL為高電平時,SDA由低電平跳變到高電平。應答:應答是一個用來表示數據傳送成功的軟件約定。 圖2.3 X76F100內部電路框圖4.編程操作頁寫:重寫方式需要發(fā)出8位命令其后跟隨密碼。寫命令字節(jié)包括所要寫入的頁地址。數據從頁的第一個地址開始寫入并且必須傳送8個字節(jié)。在最后字節(jié)傳送以后發(fā)出一個停止條件。這個條件啟動非易失性寫周期,如果傳送少于或多于8個字節(jié),則頁中的數據將保持不變。讀操作(含頁面讀):頁面讀時,用讀命令提供一個頁面地址。一旦密碼被響應,數據即可從頁面中讀出。每8位數據的傳送必須跟隨一次應答。一次讀操作總是從頁面中的第一個字節(jié)開始,但可以在任何時候停止。
34、對陣列的隨機訪問是不可能的。陣列的連續(xù)讀將從后續(xù)的頁面中取數據。在讀到陣列中的最后一頁時,地址將自動地設置到陣列中的第一頁,而數據可繼續(xù)地讀出。在最后一位被讀之后,不需要先送應答就可產生停止條件。密碼:密碼可以在正常的頁面寫操作過程中通過送一個“改變讀密碼”或“改變寫密碼”命令來改變。必須傳送一個全部為8字節(jié)的新的密碼,隨后是發(fā)送當前的密碼和一個有效的密碼應答響應。用戶可以用一個重復的應答來詢問命令從而檢查新的密碼是否正確地寫入。一個應答表示新的密碼已有效。5.加密原理軟件加密原理:已知明文數組內有26個字母,密文數組內也有26個字母,將字符串明文按4個字母分成若干組,最后一組不足4個的用虛碼
35、補足,接著再將字符串明文經過如下的加密算法后變成對應的密文,如表2-1所示。X1,X2,X3,X4為一組明文,Y1,Y2,Y3,Y4為加密后的密文A為加密矩陣,B為解密矩陣(BA)MOD26=E。表 2-1 將字符串明文經加密算法后變成對應的密文2.4 監(jiān)控電路設計 X25045介紹及其引腳功能X25045是美國XICOR公司的生產的標準化8腳集成電路,它將EEPROM、看門狗定時器、電壓監(jiān)控三種功能組合在單個芯片之內。X25045的引腳圖如圖2.4所示。圖2.4 X25045引腳圖其引腳功能如下:CS:片選擇輸入。SO:串行輸出,數據由此引腳逐位輸出。SI:串行輸入,數據或命令由此引腳逐位寫
36、入X25045。SCK:串行時鐘輸入,其上升沿將數據或命令寫入,下降沿將數據輸出。WP:寫保護輸入,當它低電平時,寫操作被禁止。VSS:地。VCC:電源電壓。RESET:復位輸出。X25045在讀寫操作之前,需要先向它發(fā)出指令,指令名及指令格式如表2-2所示。 表 2-2 X25045指令及其含義指命令指令格式操作WREN00000110設置寫使能鎖存器(允許寫操作)WRDI00000100復位寫使能鎖存器(禁止寫操作)RDSR00000101讀狀態(tài)寄存器WRSR00000001寫狀態(tài)寄存器READ0000A8011把開始與所選地址的存儲器中的數據讀出WRITE0000A8010把數據寫開始與
37、所選地址的存儲器 X25045看門狗電路設計及編程X25045看門狗電路硬件連接圖如圖2.5所示。X25045芯片內包含有一個看門狗定時器,可通過軟件預置系統(tǒng)的監(jiān)控時間。在看門狗定時器預置的時間內若沒有總線活動,則X25045將從RESET輸出一個高電平信號,經過微分電路輸出一個正脈沖,使CPU復位。圖2.5 X25045看門狗電路硬件連接圖看門狗定時器的預置時間是通過X25045的狀態(tài)寄存器的相應位來設定的。如表2-3所示,X25045狀態(tài)寄存器共有6位有含義,其中WD1、WD0和看門狗電路有關,其余位和EEPROM的工作設置有關。 表 2-3 X25045狀態(tài)寄存器D7D6D5D4D3D2
38、D1D0XXWD1WD0BL1BL0WELWIPWD10,WD0=0,預置時間為1.4s。WD10,WD0=1,預置時間為0.6s。WD11,WD0=0,預置時間為0.2s。WD11,WD0=1,禁止看門狗工作。看門狗電路的定時時間長短可由具體應用程序的循環(huán)周期決定,通常比系統(tǒng)正常工作時最大循環(huán)周期的時間略長一些。編程時,可在軟件的合適地方加一條喂狗指令,使看門狗的定時時間永遠達不到預置時間,系統(tǒng)就不會復位而正常工作。當系統(tǒng)跑飛,用軟件陷阱等別的方法無法捕捉回程序時,則看門狗定時時間很快增長到預置時間,迫使系統(tǒng)復位。只需這樣一塊芯片,外加晶振和復位電路就可以組成單片機的應用系統(tǒng)。2.5 鍵盤接
39、口電路設計鍵盤掃描只是CPU的工作內容之一,CPU在忙于各項工作時,如何處理鍵盤的輸入取決于鍵盤的工作方式,鍵盤工作方式的選擇應根據應用系統(tǒng)中CPU工作的忙、閑情況而定6。通常鍵盤工作方式有三種:編程掃描、定時掃描和中斷掃描。在編程掃描中,CPU反復地掃描鍵盤,等待用戶的輸入命令,而執(zhí)行鍵入命令或處理輸入數據時,CPU不再響應輸入要求,直到CPU返回重新掃描鍵盤為止。定時掃描工作方式利用單片機內部定時器產生定時中斷,CPU響應定時器中斷后對鍵盤進行掃描,在有鍵按下時識別出該鍵并執(zhí)行相應功能程序。使用中斷方式時,在沒有鍵按下時,不占用CPU處理時間,只有當有鍵按下時產生鍵盤中斷,由中斷程序識別鍵
40、并執(zhí)行功能程序。鍵盤接口電路如圖2.6所示。 圖2.6 鍵盤接口電路2.6 顯示電路設計顯示部份采用LED顯示器,也用I/O口實現(xiàn)。用于顯示系統(tǒng)狀態(tài)、輸入的密碼或出錯信息等。 LED數碼管的顯示現(xiàn)在顯示器主要使用的就是LED或LCD。LCD具有薄、輕、文字顯示效果好等優(yōu)勢。LED屬于固體冷光源,具有更小、更輕、更堅固,而且壽命長、抗震效果好、光譜幾乎全部集中于可見光頻段顯示清晰、電路簡單使成本大大降低,使用它可以達到理想效果。LED數碼管是由8段發(fā)光二極管構成,因此也稱為8段數碼顯示器,其中八個管腳分別是對七個發(fā)光二極管和小數點的驅動,另外兩個管腳是對字段驅動。它的8個發(fā)光二極管具有兩種接法:
41、一種是把8個發(fā)光二極管的陽極連在一起構成了一個公共的陽極,稱為共陽極接法,另一種是共陰極接法。而我們所采用的就是共陰極接法的數碼管。 數碼管驅動芯片的選擇及其應用分析常用的專用數碼管顯示電路選用MAX7219,它連線簡單,不占用數據存儲器空間。 MAX7219是八位串行共陰極LED數碼管動態(tài)掃描驅動電路的驅動芯片,其峰值段電流可達40mA;僅使用單片機3個I/O口即可完成對六位LED數碼管的顯示控制和驅動,外圍電路僅需一個電阻設定峰值段電流。還可以通過級聯(lián),完成對多于八位的數碼管的控制顯示。因此我們選擇了后者MAX7219作為數碼管的驅動芯片。但級聯(lián)時會有些不方便,電路有時也不穩(wěn)定。MAX72
42、19內部含有硬件動態(tài)掃描顯示控制,它可以直接驅動64段LED條形圖顯示器。數據通過單片機處理后送給MAX7219。當工作處于關閉方式時,單片機仍可對其傳送數據和修改控制方式。MAX7219是共陰極LED顯示數碼管的驅動器,具有多顯示可控方式。DIN為串行數據輸入端;CLK為串行時鐘輸入端;SGASGP為LED七段顯示器段驅動輸出端和小數點驅動輸出端,要在動態(tài)顯示器的某一位上顯示小數點,設置一個控制字,當掃描到顯示小數點的這位顯示器時,就用到控制字來修改字位代碼,使對應的小數點發(fā)光;DG0DG7為8位字驅動端,MAX7219的字驅動端與數碼管的公共陰極相連,公共陰極由此吸入電流。為實現(xiàn)LED的動
43、態(tài)掃描,除了把所有顯示器的8個顯示段從左到右同名端連在一起外,還須對每個顯示器的公共極DG實行獨立的I/O控制,這里只用到DG0DG5驅動六位顯示器輸出字選信號;LOAD為裝載數據控制端;ISET為LED段峰值電流提供端,它通過一只電阻與電源相連,以便給LED段提供峰值電流;GND:接地端; VCC:+5V電源端。MAX7219驅動4位LED顯示器,DIN、LOAD、CLK 端口分別與8051的P21、P22、P23端相連,即P21為MAX7219提供串行數據,裝載數據由P22控制,P23為它提供串行時鐘脈沖,為數碼管顯示器提供位控信號和段控信號。由于數碼管位驅動是低電平有效,而SEG段控口是
44、高電平有效,所以MAX7219后要加ULN2803作為驅動裝置來作為反向驅動器,ULN2803(它相當于一個集電極開路OC門)經過三極管和限流電阻來驅動LED顯示器的每一個顯示字段。這樣,當所有顯示器接收到CPU向顯示段輸出口送出的字形代碼時,由MAX7219為顯示器提供位控信號和段控信號,位控信號再經ULN2803反向器的取反,將電平轉換,然后通過三極管和限流電阻的驅動所有顯示器。但顯示器中的一段數碼管壓降為+9V,考慮一定的電路需要,選+12V作為電源來提供整個顯示部分。動態(tài)顯示必須由段控信號決定某一顯示器是否點亮。采用分時方法,循環(huán)地控制各個顯示器的DG端,使各個顯示字段輪流點亮。在LE
45、D顯示器掃描過程中,任何時刻只有一位顯示器亮,但由于人眼的視覺惰性,顯示刷新很快時,可以認為全部顯示。第3章 IC卡讀寫器的軟件程序設計3.1 主程序流程圖 主程序流程圖,如圖3.1所示。開機后,系統(tǒng)處于待機狀態(tài),不斷查詢P3.2腳電平,當X76F100插入讀寫器卡座時,P3.2腳電平變高,單片機檢測到P3.2高電平信號時,使P1.3腳電平變高,如果此時為低電平,X76F100復位,輸出32位固定的“同步復位響應”數據7。然后循環(huán)掃描鍵盤顯示程序,進行存款、取款、查詢或改密碼。一次操作完成后返回,然后不斷循環(huán)。 圖3.1 主程序流程圖3.2 循環(huán)鍵盤顯示程序循環(huán)掃描鍵盤顯示程序如圖3.2所示,
46、它采用程控掃描方式。鍵盤實際操作的順序是:先按功能鍵,然后依次輸入8位(十進制)密碼,按回車鍵確認。當修改密碼時,隨后輸入8位新密碼,輸完后按回車鍵確認。若輸入密碼正確,顯示IC卡內信息或改密碼成功信息(SUCCESS)。若密碼不正確,提示重新輸入,允許輸入密碼4次。 為了記錄操作中正在進行的狀態(tài),在鍵盤程序中設置了多個指針。(1)KEY 有否按鍵按下標志。00H表示無鍵按下,01H表示有鍵按下。此標志用于判斷按鍵是否已松開,防止誤操作。(2)FUN為功能鍵指針,00H表示無功能鍵按下,01H表示存款(ADD),02H表示取款(SUB),03H表示查詢(IQUIRE),04H表示改密碼(CHA
47、NGE PASSWORD)。(3)DIG為允許數字鍵輸入標志,00H表示不允許,01H表示允許。此標志主要是防止輸入多余的密碼,或輸入的款數超出限額。(4) NUM表示輸入第幾個數字,00H表示無數字輸入,01H08H表示輸入密碼,09H10H表示輸入款數或新密碼,若NUM為11H,顯示出錯信息。 圖3.2 循環(huán)鍵盤顯示程序流程圖3.3 X76F100讀程序舉例X76F100為I2C總線E2PROM。SCL為時鐘輸入,SDA為雙向數據輸入輸出線。通過片輸入來控制對器件的訪問。下面以頁寫為例,頁寫時序如圖3.3所示。在該系統(tǒng)中,8051,X76F100為從機。首先主機向從機發(fā)一個START命令,
48、產生開始條件,然后發(fā)寫命令字。當從機接到命令后,向主機發(fā)一個應答信號NACK。然后跟隨8字節(jié)密碼,隨后進入一個寫周期,寫周期結束后進行密碼應答輪詢ACK Polling。X76F100要求主機用專用的應答命令55H進行應答輪詢。如果輸入的密碼正確,將返回一個“ACK”。如果密碼不正確,將返回“no-ACK”,重試計數器加1,返回到啟始位置,提示重新送入寫命令字和8字節(jié)密碼。若密碼正確,主機接著送入8個字節(jié)的數據,ACK響應成功后主機發(fā)出STOP命令完成寫操作。下面是用寫密碼進行頁寫的程序。 圖3.3 頁寫時序圖WRITE_USING_WRITE_PASS: ;用寫密碼進行寫操作ACALL ST
49、ART ;調開始命令MOV A,#SECTOR_WR ;調頁寫命令ACALL OUTBYTE ;調輸出字節(jié)命令ACALL NACK ;X76F100發(fā)應答信號ACALL WR_WR_PASS ;調寫密碼命令ACALL T10ms ;10ms延時開始寫密碼周期ACALL ACK_POLLING ;調密碼應答輪詢子程序ACALL WR_DATA ; 調頁寫數據子程序ACALL STOP ;調停止命令ACALL T10ms ; 延時10ms寫密碼周期RET WR_WR_PASS ;將寫密碼寫入X76F100MOV R0,#WR_PASS7 ;將密碼首址送入R0MOV R1,#08H ;寫密碼為8個字
50、節(jié)WP:MOV A,R0 ;將R0中的數據送入A中ACALL OUTBYTE ;輸出字節(jié)子程序ACALL NACK INC R0DJNZ R1,WPRETOUTBYTE: ;主機向X76F100發(fā)字節(jié)MOV R2,#08H ;一個字節(jié)有8位LOOPOCLR SCL_76 RLC A ;移位MOV SDA_76,C ;將進位送入數據線SETB CL_76 DJNZ R2,LOOP ; 循環(huán)直到R2為0RET STARTSETB SDA_76 ;開始子程序SETB SCL_76 SETB SCL_76RETSTOPCLR SDA_76 ;停止子程序SETB SCL_76 SETB SDA_76RE
51、TACK_POLLING ;密碼應答輪詢子程序ACALL STARTMOV A,#55H ;主機發(fā)固定應答命令ACALL OUTBYTEACALL NACK ;調從機發(fā)應答信號JC PASS_ERROR ;若有進位則密碼錯誤RET PASS_ERROR ;密碼錯誤ACALL STOP RETACK:CLR SDA_76 ;主機執(zhí)行一個應答ACALL CLOCK RETNACKSETB SDA_76 ;從機執(zhí)行一個應答ACALL CLOCK RETCLOCKSETB SCL_76 ;第9個脈沖MOV C,SDA_76 ;讀SDA狀態(tài)以判斷是否有應答CLR SCL_76 RETT10ms:MOV
52、R7,#064H ;10ms延時T10A MOV R6,#032HT10BDJNZ R6,T10BDJNZ R7,T10ARET第4章 IC卡的安全性問題隨著IC卡在我們生活中應用范圍不斷擴大,我們不得不考慮它的安全性問題,IC卡的安全要從兩方面考慮,一是從系統(tǒng)設計上要切實解決安全問題,一是使用部門要建立起必要的安全管理制度。這里從系統(tǒng)硬件設計的角度考察一下對安全性問題的處理。4.1 對IC卡及其系統(tǒng)潛在攻擊IC卡系統(tǒng)組成主要有IC卡、讀寫器終端設備、數據傳送網絡和管理系統(tǒng)等幾部分。對于系統(tǒng)的不同部分可能存在的潛在非法攻擊主要表現(xiàn)為以下幾種情況。 對IC卡片可能出現(xiàn)非法攻擊1.用偽卡替換操作:
53、終端設備在讀寫IC卡的過程中,可能會有一定的時間間隙,在這個時間間隙之前用合法的授權卡打開終端設備及其控制裝備,并在寫入數據之前用假卡替換真卡,使得所有的消費記錄沒有寫入到真正被授權的IC卡中,而被紀錄在偽卡之中。2.用干擾信號破壞對IC卡的操作:在IC卡的讀寫過程中,對某信號線在特定的時刻施加干擾信號,以使IC卡中的數據混亂或無法正確地紀錄和修改。3.解剖分析IC卡的內部結構:將IC卡的電路進行分析,并利用較先進的儀器設備測試IC卡的各種密碼的位置和狀態(tài)字,從而破譯整個系統(tǒng)。4.冒充合法持卡人使用IC卡:在IC卡使用過程中,由于被盜竊或遺失,使得非授權持卡人可能冒充合法持卡人使用IC卡,并利
54、用其他設備來跟蹤探測IC卡的密碼,以便獲取卡內資金和資料信息或欺騙打開各種受控設備。 對IC卡終端設備非法攻擊1.對終端設備進行信息截獲和復制:任何類型的IC卡終端設備其輸入或輸出的信息總是可以測試得到或從操作過程中截獲。通過大量信息的分析,就有可能得出IC卡或設備的響應規(guī)律或復制特征。2.對終端設備進行仿造:正在使用中的IC卡終端設備被人盜竊或拆卸,改裝,并使之成為對合法的IC卡或系統(tǒng)進行攻擊的工具。3.對終端設備誤操作:對終端設備的操作,可能是由完全無相應知識的人員來進行的。在無意識情況下的操作失誤,有可能對IC卡或系統(tǒng)造成具有危害性的影響。 通訊網絡系統(tǒng)的攻擊1.改變信號流向:截獲網絡通
55、訊過程的文件信息,將IC卡終端設備的源信息傳送到虛假目的的終端設備,以改變系統(tǒng)信息流的真實流向,使得真實的控制信息或文件傳送不到或相互錯位傳送。2.用干擾信號來破壞網絡系統(tǒng)的通訊:在IC卡的讀寫過程中(如對某些重要信息進行認證的過程中),通過對網絡施加干擾信號,使IC卡輸入/輸出的數據或終端設備的數據傳送發(fā)生變化。3.通過網絡途徑截獲有價值的信息:在IC卡應用系統(tǒng)中,將通過網絡傳輸的各類信息截留和分析,有可能得到各種有價值的信息,甚至成為系統(tǒng)密碼,通訊協(xié)議泄露的重要途徑。4.2 IC卡安全問題的解決方案為了徹底解決卡內數據安全,使用了SAM機制來構成卡表的基本安全機制。 確??▋葦祿踩胺乐?/p>
56、單片機程序被讀的方法SAM機制基本原理是:SAM模塊和CPU卡互成一對,雙向相互認證(內部認證外部認證),并采用對隨機數進行加密的方法來進行密鑰的確認,加上卡口的輸出數均為密文等嚴密的安全措施保護了卡內密鑰無法獲得破譯、卡內數據無法進行非法修改。 提高電子模塊的抗攻擊能力的方案為了在低成本前提下實現(xiàn)防止惡意攻擊卡口方面,我們將該模塊裝入外卡口到單片機管腳之間(包括電源),若由外卡口任意引線之間加入AC不超過600V、DC不超過2500V、靜電不超過30000V(模塊有吸收靜電能量的功能)的各種電攻擊,模塊在不超過0.1ms內將電攻擊隔離,當電攻擊撤消后,外卡口到單片機管腳之間通道將會自動重新開
57、通。結 論本文對一種安全可靠的IC卡讀寫器做了較為細致的介紹。設計領域包括了電子技術、單片機、IC卡技術、C語言,和一些數據的處理問題,涉及到了很多學課。在設計研究過程中,側重于IC讀寫器的硬件功能實現(xiàn),其中包括:單片機8051的選型同時對它各個管腳的功能做了深入的研究;本文還對Xicor公司生產X76F100卡和監(jiān)控芯片X25045也做了比較詳盡的介紹;同時還對鍵盤電路、顯示電路的設計做了深入的研究。由于時間和所掌握技術有限的原因,本設計仍存在需要改進的工作:(1)IC卡安全方面需要改進,現(xiàn)階段IC卡的密碼僅僅限于簡單的數字構成,所以很容易破譯,我們可以考慮使用加密認證技術來提高IC卡的安全
58、可靠性。(2)LED的顯示部分,本設計采用的是四位LED顯示,我們可以將其改進為液晶顯示,使其更加完美。IC卡目前是我國新興產業(yè),它必將在人們生活的各個領域得到廣泛的應用,我們可以在本設計的基礎上進一步的改進擴充,使IC卡的功能更加完善,得到新的產品。致 謝4年的學習時間即將結束,我也完成了畢業(yè)論文將要離開學校。在此學習過程中,我受到了多位老師的幫助和支持,雖然是有限的學習時間,但在眾位優(yōu)秀老師的精心指導和學院合理的授課安排下我仍然獲得了終生受益的知識財富。在即將離開我的校園踏上新的征程之際,我謹向所有在生活和學習上幫助過我的老師和同學致以誠摯的謝意。尤其是在完成畢業(yè)論文期間,我的導師張立松給
59、予了我莫大的幫助,在他無微不至的關懷下使我的設計得以順利進行,他對我設計中的每一個環(huán)節(jié)都不遺余力地給予幫助,他嚴謹求實的治學態(tài)度,豐富淵博的知識涵養(yǎng),嚴肅認真的工作作風和兢兢業(yè)業(yè)的敬業(yè)精神,使我受益終生。在論文的選題、系統(tǒng)方案設計、他都傾注了大量的心血。在此,謹向導師張立松致以誠摯的謝意,并表示衷心的感謝。同時感謝院領導及各位老師在學習期間給予我的幫助。最后,對我的父母以及所有親人給予我的幫助、支持表示深情的感謝。并以此文獻給所有關心與幫助過我的親人們、老師們和朋友們。參考文獻1李瓊IC卡的應用及其發(fā)展趨勢J.湖北農村金融研究,2002,35-37.2陳紅軍IC卡表應用現(xiàn)狀及其發(fā)展趨勢北京智能
60、科技有限公司,2002,5-7.3詹樹仁. GMS90及GMS97系列單片機的工作原理及其應用.武漢力源電子股:20-22.4 X76F100 DATA SHEET. XICOR公司5王卓人IC卡的技術與應用M北京:電子工業(yè)出版社,1999,38-39.6趙依軍,胡戎.單片機微機接口技術.人民郵電出版社,1989,33-35.7盧存?zhèn)?,錢捷.微機原理及應用系統(tǒng)設計.河海大學出版社,1992年,12-16.附錄A 8051 Development ToolsWe discusses the features and advantages of the 8051 microprocessor fa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 玉溪師范學院《電氣控制技術》2022-2023學年期末試卷
- 2024標準正規(guī)借款合同書
- 鹽城師范學院《微機原理與接口技術》2021-2022學年期末試卷
- 人教版四年級上冊數學第四單元《三位數乘兩位數》測試卷可打印
- 北京版四年級下冊數學第三單元 平行與相交 測試卷附參考答案【鞏固】
- 蘇教版四年級下冊數學第三單元 三位數乘兩位數 測試卷附答案(考試直接用)
- 年產10GWh儲能電池系統(tǒng)項目環(huán)評報告表
- 廢舊輪胎、塑料再生資源回收利用項目環(huán)評報告表
- 心臟驟停的應急處理練習卷含答案
- 鹽城師范學院《輪滑》2022-2023學年第一學期期末試卷
- 特殊餐食種類課件
- 《狙擊手》和《新神榜楊戩》電影賞析
- 槍庫應急處置預案
- 老年患者術后譫妄的護理干預
- 《凸透鏡成像的規(guī)律》課件
- 中國安格斯牛行業(yè)報告
- 博世分析報告
- 洗衣液銷售行業(yè)市場分析
- 倉庫管理中的客戶服務和溝通技巧
- 規(guī)劃選址及用地預審
- 土砂石料廠項目融資計劃書
評論
0/150
提交評論