<strike id="tpvd9"><dfn id="tpvd9"></dfn></strike>

        <em id="tpvd9"></em>

          <address id="tpvd9"></address>
            <dfn id="tpvd9"><sub id="tpvd9"></sub></dfn>

            <thead id="tpvd9"><noframes id="tpvd9">
            <ruby id="tpvd9"></ruby>

                  <thead id="tpvd9"></thead>
                  歡迎您訪(fǎng)問(wèn)鄭州興邦電子股份有限公司官方網(wǎng)站!
                  阿里巴巴誠信通企業(yè)
                  全國咨詢(xún)熱線(xiàn):40000-63966
                  興邦電子,中國水控機第一品牌

                  聯(lián)系興邦電子

                  全國咨詢(xún)熱線(xiàn):40000-63966

                  售后:0371-55132951/55132952

                  工廠(chǎng):河南省 鄭州市 高新區蓮花街電子電器產(chǎn)業(yè)園

                  基于多協(xié)議雙智能卡接口芯片和安全微控制器的智能卡支付交易系統

                  文章出處:http://psychicreadingswithdeb.com 作者:華星達電子&nbsp;&nbsp; 人氣: 發(fā)表時(shí)間:2011年09月27日

                  [文章內容簡(jiǎn)介]:本應用筆記介紹了一個(gè)基于DS8007多協(xié)議雙智能卡接口芯片和DS5002安全微控制器的智能卡支付交易系統。該系統可實(shí)現基本的智能卡存款、取款交易以及卡的初始化功能。雖然系統沒(méi)有進(jìn)行任何與“實(shí)際”支付交易系統有關(guān)的安全測試,但這里演示的功能對于此類(lèi)系統極具代表性。

                      本應用筆記介紹了一個(gè)基于DS8007多協(xié)議雙智能卡接口芯片和DS5002安全微控制器的智能卡支付交易系統。該系統可實(shí)現基本的智能卡存款、取款交易以及卡的初始化功能。雖然系統沒(méi)有進(jìn)行任何與“實(shí)際”支付交易系統有關(guān)的安全測試,但這里演示的功能對于此類(lèi)系統極具代表性。

                      演示中使用的硬件是DS8007評估(EV)板。該評估套件提供了一個(gè)方便的、經(jīng)過(guò)驗證的平臺,用于測試基于DS8007器件的智能卡操作。評估板包括:作為主處理器的DS5002安全微控制器、一個(gè)2行20字符的液晶顯示(LCD)模塊、兩個(gè)智能卡插槽(分別為信用卡尺寸和SIM尺寸)。此外還提供一個(gè)DB-9連接器,用于通過(guò)RS-232串行接口傳輸信號。使用本公司的微控制器工具包(MTK)軟件(下載),用戶(hù)可將PC與RS-232口連接下載程序或數據文件,也可以與應用系統通信。評估板還包括512k x8的電池備份SRAM,用于存儲程序和數據信息。DS5002安全處理器為電池備份的SRAM提供電源檢測和控制電路。

                      開(kāi)發(fā)該應用系統使用的軟件工具集是Keil公司的PK51專(zhuān)業(yè)開(kāi)發(fā)工具套件,包括μVision3集成開(kāi)發(fā)環(huán)境(IDE)和CX51 ANSI C編譯器。PK51包提供匯編器、連接器、仿真器和調試器的完整開(kāi)發(fā)環(huán)境。它生成的十六進(jìn)制文件可使用MTK軟件直接從PC下載到DS8007評估板。

                      應用實(shí)例

                      本應用筆記提供的交易功能可看作是應用筆記4036:利用DS8007評估套件進(jìn)行設計中描述的低層功能之上的附加層。

                      本交易實(shí)例可執行和正確管理應用協(xié)議數據單元(APDU)的發(fā)送和接收。APDU由ACOS3智能卡EMV規范定義。通過(guò)生成和發(fā)送適當的APDU并處理其可能的響應,可演示典型的支付交易操作。

                      用于本應用系統的C語(yǔ)言源代碼可提供下載,文件名為AN4120_SW.zip。前面提到的應用筆記4036中的代碼是這些交易實(shí)例的核心,它提供DS8007的所有基本接口/驅動(dòng)函數和所有直接的低層智能卡接口函數。AN4036中的代碼也在相同的網(wǎng)址提供下載,文件名為AN4036_SW.zip。

                      交易實(shí)例詳述

                      為創(chuàng )建一組有代表性的交易功能,本實(shí)例實(shí)現了三種主要的智能卡操作:

                      * 取款交易,即扣除信用卡余額

                      * 存款交易,即增加信用卡余額 

                      * 信用卡初始化交易,將信用卡余額和交易次數設定為初始值

                      卡中初始金額為$100.00,初始交易次數在初始化交易過(guò)程中被設定為1。為簡(jiǎn)化實(shí)例,每次存款、取款交易都固定在信用卡余額中增加或扣除$10.00。

                      為了提供一個(gè)合理的演示,首先要考慮的是如何利用DS8007評估板上的資源建立一個(gè)用戶(hù)接口。由于設計目標之一是無(wú)需借助其它設備就能單機運行,因此評估板上的RS-232串口不能作為用戶(hù)接口。最方便作為用戶(hù)輸入接口的硬件是開(kāi)關(guān)SW4,當該開(kāi)關(guān)按下時(shí),會(huì )將處理器的端口引腳P3.2下拉至地電平。P3.2是一個(gè)多功能端口引腳,還可用作外部中斷輸入(INT0)。但是本應用實(shí)例軟件中不使能該中斷,因此,引腳P3.2通常由處理器的引腳驅動(dòng)電路上拉到高電平,按下開(kāi)關(guān)SW4時(shí)通過(guò)一個(gè)1kΩ電阻拉至低電平。應用系統可簡(jiǎn)單通過(guò)讀取該引腳的電平檢測開(kāi)關(guān)是否閉合。

                      板載LCD模塊可作為用戶(hù)接口的輸出器件。DS8007評估板的LCD模塊是一個(gè)2行20字符的顯示器。它包含液晶驅動(dòng)電路,并為處理器提供8位并行接口。通過(guò)向模塊寫(xiě)入必要的控制和字符就可進(jìn)行顯示操作,由模塊管理實(shí)際的LCD。

                      用戶(hù)完成一次輸入,軟件就以重復順序在LCD上顯示三種可能的交易類(lèi)型供用戶(hù)選擇。按下開(kāi)關(guān)SW4時(shí),軟件執行選中的交易。

                      智能卡詳述

                      本應用實(shí)例中選用的智能卡是香港Advanced Card Systems Limited(ACS)公司生產(chǎn)的ACOS3卡。該卡內含嵌入式處理器,運行ACS智能卡操作系統版本3 (ACOS3)的操作系統,具有如下特性:

                      * 16kB應用數據EEPROM存儲器
                      * 符合ISO 7816-1/2/3標準,T=0協(xié)議
                      * 兼容數字加密標準(DES)、3DES和信息驗證能力(MAC)
                      * 5個(gè)安全碼+發(fā)行密碼
                      * 卡持有者可更新PIN碼
                      * 密鑰對相互驗證 
                      * 會(huì )話(huà)密鑰采用隨機數字
                      * 線(xiàn)性文件具有固定的記錄長(cháng)度
                      * 帳戶(hù)數據結構可實(shí)現安全支付應用系統
                      * ACOS3性能的全部說(shuō)明可在A(yíng)CS網(wǎng)站上找到。對于本應用實(shí)例,沒(méi)有使用智能卡的任何安全功能,只使用其文件結構和EEPROM存儲空間。

                      智能卡存儲空間

                      本交易實(shí)例中,選用的智能卡必須包含一定的非易失存儲器空間,用于保存信息。僅有兩個(gè)數值保存在卡中:記錄成功處理的交易次數的"計數器"和虛擬帳戶(hù)的"余額"。對于該計數器,選用1個(gè)字節的無(wú)符號數,它可表示0至255次交易數。對于余額,選用16位整數,可表示數值-32,768至+32,767。這種方式允許用戶(hù)透支卡中的可用余額(即產(chǎn)生負的余額)。因此,本實(shí)例中總共需要3個(gè)字節的非易失存儲器。

                      ACOS3的文件結構

                      制造ACOS3卡時(shí),其16kB EEPROM存儲器劃分成內部數據存儲區和用戶(hù)數據存數區兩部分。內部數據存儲區保存配置數據,通常被操作系統用于管理特定的功能。用戶(hù)數據存儲區保存"實(shí)際"交易控制下正常使用智能卡的操作數據。在本實(shí)例代碼中,只使用內部數據存儲區,后續討論中將重點(diǎn)關(guān)注內部數據存儲區。

                      不論是內部數據存儲區還是用戶(hù)數據存儲區,訪(fǎng)問(wèn)ACOS3卡的存儲器都要通過(guò)數據文件和數據記錄進(jìn)行。每個(gè)數據文件都由一定數量的數據記錄組成,最多可達255個(gè)。不同數據文件的記錄長(cháng)度可以不同,但對于給定的數據文件其記錄長(cháng)度總是固定的。內部數據文件的文件結構(文件大小、記錄長(cháng)度等)由操作系統定義且不能更改,但對于用戶(hù)數據存儲區,可由卡發(fā)行人在進(jìn)行個(gè)性化智能卡設置時(shí)確定其文件結構。為簡(jiǎn)單起見(jiàn),只使用卡中已有的內部數據文件系統,不再生成一個(gè)專(zhuān)門(mén)的用戶(hù)數據文件系統。

                      所有文件都可通過(guò)ACOS3的讀記錄和寫(xiě)記錄命令進(jìn)行訪(fǎng)問(wèn)。這些命令發(fā)送到智能卡,而任何響應都會(huì )被應用筆記4036中提供的APDU函數接收。每個(gè)文件都由2字節的文件標識符來(lái)識別。對于所有內部數據文件,標識符的第一個(gè)字節固定為0xFF。表1列出了內部數據文件的文件名、文件標識符和記錄結構。

                      個(gè)性化文件ID=0xFF 0x02,包含三個(gè)記錄共12字節,各記錄的長(cháng)度為4個(gè)字節。第一個(gè)記錄包含智能卡中某些選項的配置信息,而第二和第三個(gè)記錄則沒(méi)有預先定義。因此,這兩個(gè)記錄被用于保存本應用實(shí)例中智能卡的交易次數和帳戶(hù)余額。雖然單個(gè)記錄具有足夠的存儲空間(4個(gè)字節)來(lái)保存交易次數和帳戶(hù)余額所需的三個(gè)字節,但這兩個(gè)數據還是存儲在不同的記錄中以便操作。這也使得增大這兩個(gè)數據的值成為可能。交易次數存儲在記錄2的第一個(gè)字節,而帳戶(hù)余額則存儲在記錄3的前兩個(gè)字節,高字節在前(大端)。

                      ACOS3命令結構

                      ACOS3卡有13條基本命令,本應用實(shí)例中主要用到其中的三條命令。它們分別是文件選擇、讀記錄和寫(xiě)記錄命令。這三條命令都將在后面進(jìn)行說(shuō)明。ACOS3卡的所有命令都符合EMV規范描述的應用協(xié)議數據單元(APDU)的格式。APDU的一般格式包括如下幾部分:

                      * CLA命令類(lèi)
                      * INS指令代碼
                      * P1指令參數1
                      * P2指令參數2
                      * Lc(P3)命令數據域給出的字節數(可選)
                      * 命令發(fā)送數據字節中的數據序列
                      * Le應答中數據域所期望的數據字節最大長(cháng)度(可選)

                      文件選擇命令

                      文件選擇命令可打開(kāi)文件,從而讀/寫(xiě)文件的記錄。它是一個(gè)7字節命令

                      個(gè)性化文件是本應用中用到的唯一文件(見(jiàn)表1),它的文件ID 0xFF 0x02為命令的最后兩個(gè)字節。與所有ACOS3命令一樣,執行成功后返回2字節狀態(tài)信息,其數值為0x90 0x00。若返回任何其它數值則表明命令執行錯誤。在前面提到的ACS網(wǎng)站上,ACOS3參考手冊中列出了所有可能的錯誤狀態(tài)字節及其含義。

                      讀記錄命令

                      讀記錄命令可從當前所選文件的已識別記錄中讀取指定數量的字節。它是一個(gè)5字節命令 

                      可以看出,該命令包含兩個(gè)可變字節:一個(gè)字節指示記錄號,另一個(gè)字節指示要從指定記錄中讀取的字節數(長(cháng)度)。在本應用實(shí)例中,每次都讀取個(gè)性化文件記錄的全部四個(gè)字節,因此長(cháng)度固定為0x04。若讀記錄命令執行成功,將返回6字節數據:記錄中存儲的4字節信息,2字節狀態(tài)信息。若返回的狀態(tài)字節數值不是0x90 0x00,則表明命令執行錯誤,應丟棄返回的數據。

                      寫(xiě)記錄命令

                      寫(xiě)記錄命令可向當前所選文件的指定記錄寫(xiě)入數據。該命令的長(cháng)度可以隨著(zhù)要寫(xiě)入的字節數變化。在本實(shí)例中,每次都寫(xiě)入4個(gè)字節,

                      該命令總共包含6個(gè)可變字節;一個(gè)字節指示記錄號(0至N-1),另一個(gè)字節指示要寫(xiě)入的字節數(長(cháng)度 = 0x04),此外還有四個(gè)數據字節。若寫(xiě)記錄命令執行成功,將返回兩字節狀態(tài)信息(執行成功時(shí)返回0x90 0x00)。

                      裝載可執行文件 

                      DS8007評估板出廠(chǎng)時(shí)已裝有本智能卡交易實(shí)例的軟件。若要驗證是否安裝了該軟件,可以給評估板通電然后觀(guān)察顯示屏。如果顯示屏上出現"在下面的大插槽中插入智能卡",則表明已經(jīng)加載了程序。如果沒(méi)有顯示這條信息,則可通過(guò)MTK軟件將交易軟件裝載到板上的電池備份SRAM中。應用筆記4036 (參看上文)說(shuō)明了如何裝載應用程序。要裝載的文件為T(mén)rans.hex,包含在A(yíng)N4120_SW.zip中,可從上面提到的ftp網(wǎng)站下載。

                      在安裝完交易軟件并斷開(kāi)引導加載程序之后,處理器就立即開(kāi)始運行應用程序。如果評估板此時(shí)仍然連接至PC,則MTK屏幕上會(huì )顯示應用程序的RS-232串行輸出。這些信息可用于分析和調試,但可以忽略。用戶(hù)應按照LCD模塊上顯示的指令進(jìn)行操作。如果必要,可分析源代碼以確定串行輸出的含義。

                      插入智能卡后,LCD上會(huì )短暫的顯示智能卡的當前交易次數和帳戶(hù)余額。然后,LCD上就開(kāi)始循環(huán)顯示交易選項 — 取款、存款和智能卡初始化,大約每?jì)擅腌姲错樞蜃兓淮?。當期望的交易選項出現時(shí),按下SW4開(kāi)關(guān)就可執行該項交易。這時(shí)LCD上會(huì )顯示交易執行情況。之后顯示交易完成信息,指示用戶(hù)取下智能卡。此時(shí),交易選項將循環(huán)顯示,等待智能卡插入。

                      結束語(yǔ)

                      本應用筆記介紹一個(gè)基于DS8007多協(xié)議雙智能卡接口芯片和DS5002安全微控制器的智能卡支付交易系統。系統中使用具有16kB EEPROM存儲器的ACOS3智能卡,并利用它的讀記錄和寫(xiě)記錄命令將信息存儲到非易失存儲器中。反饋信息通過(guò)板載的2行20字符LCD提供給用戶(hù)。系統可實(shí)現存款、取款交易和智能卡初始化功能。提供源代碼文件下載,可以此為基礎開(kāi)發(fā)真正的支付交易系統。

                  本文關(guān)鍵詞:ds8007,支付交易,安全微控制器,接,s8007,支付交易,安全微控制器,接口,8007,支付交易,安全微控制器,接口芯,007,支付交易,安全微控制器,接口芯片
                  回到頂部
                  99久热只有精品视频在线17_精品一区二区三区自拍图片_最新国产v亚洲_久久综合九色综合久
                  <strike id="tpvd9"><dfn id="tpvd9"></dfn></strike>

                        <em id="tpvd9"></em>

                          <address id="tpvd9"></address>
                            <dfn id="tpvd9"><sub id="tpvd9"></sub></dfn>

                            <thead id="tpvd9"><noframes id="tpvd9">
                            <ruby id="tpvd9"></ruby>

                                  <thead id="tpvd9"></thead>