<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é)議接口簡(jiǎn)化智能卡設計

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

                  [文章內容簡(jiǎn)介]:智能卡在今天快節奏的經(jīng)濟生活中已經(jīng)無(wú)處不在,它將逐步代替以磁條貯存帳戶(hù)信息的付費卡。智能卡通常制作成衣服口袋大小的卡片,與標準的信用卡類(lèi)似,上面嵌入集成電路,一般是非易失存貯器或帶有非易失存貯器的安全處理器。智能卡上面還嵌入了多個(gè)電子觸點(diǎn),通過(guò)這些電子觸點(diǎn)可以與內部存貯器或處理器通信。

                      智能卡在今天快節奏的經(jīng)濟生活中已經(jīng)無(wú)處不在,它將逐步代替以磁條貯存帳戶(hù)信息的付費卡。智能卡通常制作成衣服口袋大小的卡片,與標準的信用卡類(lèi)似,上面嵌入集成電路,一般是非易失存貯器或帶有非易失存貯器的安全處理器。智能卡上面還嵌入了多個(gè)電子觸點(diǎn),通過(guò)這些電子觸點(diǎn)可以與內部存貯器或處理器通信。 

                  一個(gè)簡(jiǎn)單的位流圖

                      智能卡的核心在于嵌入式微控制器對數據的處理和加密功能,處理能力增強了安全性。由于智能卡的成本較高,與IC卡接口需要更新相關(guān)的基礎設備,從而減緩了由磁卡向智能卡轉變的過(guò)程。然而,隨著(zhù)對安全性要求的提高,特別是當手機和PDA存放了更多數據時(shí),對IC卡及其它存貯介質(zhì)(如SD、miniSD、microSD等)的需求也不斷提高。手機里的用戶(hù)識別模塊(SIM卡)和支付終端都可以看作智能卡。 

                  智能卡觸點(diǎn)

                      為了處理智能卡交易,需要連接一個(gè)能夠安全地訪(fǎng)問(wèn)內嵌存儲器或處理器的讀卡器,從而讀出信息并將操作結果寫(xiě)回卡內。智能卡的物理尺寸和信號接口已經(jīng)由標準組織定義(如ISO-7816),并且EuroCard、Mastercard和Visa(EMV)等組織也對智能卡尋址操作建立了一系列的標準。

                      智能卡的電氣接口由8個(gè)觸點(diǎn)組成,排列并嵌入到塑料卡上,見(jiàn)表1,8個(gè)觸點(diǎn)中,EMV只用了5個(gè),其中兩個(gè)是電源和地,其余三個(gè)觸點(diǎn)是信號觸點(diǎn),通過(guò)這三個(gè)觸點(diǎn)對卡進(jìn)行讀、寫(xiě)操作。C2是復位線(xiàn),C3是時(shí)鐘線(xiàn),C7是串行I/O線(xiàn)。

                      最初,卡的規范規定供電電壓為5V±10%(A類(lèi)卡),現在已更改為3V±10%(AB類(lèi)卡),以后要轉變成1.85V±10%(ABC類(lèi)卡)。最終目標是在2009年6月全部淘汰A類(lèi)卡,僅保留AB類(lèi)或ABC類(lèi)卡。

                      與智能卡接口的終端必須提供多種供電電壓和適當的信號電平,接口規范還要求終端能夠承受卡的任意兩個(gè)觸點(diǎn)間的短路。使用專(zhuān)用的芯片提供必要的電源和信號電平與比利用大量分立器件完成同樣任務(wù)更具優(yōu)勢。DS8007就是一款這樣的專(zhuān)用器件,除了滿(mǎn)足上述模擬功能外,它還包含FIFO、處理器接口和支持卡通信的時(shí)序控制邏輯電路。  

                      為了更好地理解MCU和多協(xié)議接口電路的工作,我們先來(lái)研究一下智能卡接口和與卡通信的基本步驟。我們給出了一個(gè)利用安全微控制器DS5002設計接口終端實(shí)現協(xié)議和數據傳輸的范例,DS8007接口電路提供信號接口、電荷泵和穩壓器,為智能卡提供適當的電源。用兩個(gè)芯片即可組成雙智能卡接口終端。

                      RST和CLK信號是智能卡的輸入,由接口終端(DS5002和DS8007)提供。復位信號為低電平有效,可異步復位智能卡。為了控制整個(gè)數據傳輸,頻率范圍從1MHz~5MHz的時(shí)鐘信號通過(guò)終端接口連接到智能卡的時(shí)鐘觸點(diǎn)(C3)。最后,數據通過(guò)I/O觸點(diǎn)(C7)從智能卡傳輸到讀卡器(發(fā)送模式),或數據從讀卡器傳輸到IC卡(接收模式)。EMV規范規定,除非I/O觸點(diǎn)正在發(fā)送數據,否則智能卡的I/O觸點(diǎn)應設置為接收模式。  

                      終端接口要求

                      當卡插入終端時(shí),卡觸點(diǎn)連接到終端觸點(diǎn)并被激活??刂破鲗⒖◤臀?,然后通過(guò)一串字符(請參考應答復位ATR)建立卡與終端的通信;接下來(lái)是交易處理,交易結束后,觸點(diǎn)置于禁止狀態(tài),此后可將卡拔出或彈出。 

                      ATR字符串建立最初的通信信息,包括指定協(xié)議、位時(shí)序和后續的數據通信信息。ATR序列包括初始化字符、TS及最大32個(gè)字節的附加字符,這些字符組合在一起,通知終端在隨后的交易中如何與卡通信。而后續的數據傳輸也能改變某些通信參數,ATR只是建立了最基本的通信條件。

                      字符傳輸中的每一位定義為基本時(shí)間單元(ETU),ETU的時(shí)間長(cháng)短與智能卡的CLK時(shí)鐘周期成線(xiàn)性關(guān)系。ATR通信過(guò)程中的位定時(shí)稱(chēng)為初始ETU。

                      任何通信字符都包含10位數據,持續時(shí)間為10ETU。第一位是起始位,它總是低電平,起始位之前I/O默認為高電平。每個(gè)字符的最后位是校驗位,由發(fā)送方?jīng)Q定,可能是高電平,也可能是低電平,其作用是保證整個(gè)字符中1的個(gè)數為偶數。圖1給出了一個(gè)位模板的例子,每個(gè)字符由10位組成,包括1個(gè)起始位、8個(gè)數據位和1個(gè)校驗位。每?jì)蓚€(gè)字符之間通過(guò)一個(gè)最小安全周期進(jìn)行分隔。

                      在ISO-7816規范中,4位用于選擇卡通信協(xié)議。目前16種協(xié)議中只用了兩種,分別命名為T(mén)=0和T=1。這兩種都是半雙工模式(任何時(shí)刻,數據只能單向傳輸)、異步通信方式。T=0是以基于字符的通訊格式,而T=1是基于數據塊的通信格式。所有兼容EMV標準的智能卡必須支持T=0或T=1協(xié)議,所有終端必須同時(shí)支持這兩種協(xié)議。   

                      當卡插入終端后,所有觸點(diǎn)保持低電平狀態(tài),電源VCC立即加到觸點(diǎn)C1。終端在確認電壓穩定并滿(mǎn)足規范限制后,將自身的I/O觸點(diǎn)置成接收模式,并向卡的C3提供時(shí)鐘(CLK)信號。在時(shí)鐘信號開(kāi)始的200個(gè)時(shí)鐘周期內,終端須將I/O口置為高阻態(tài)(接收模式),卡的I/O口則置于發(fā)送模式。 

                  APDU指令格式

                      經(jīng)過(guò)40000個(gè)~45 000個(gè)時(shí)鐘周期后,終端向卡的RST端發(fā)出一個(gè)高電平,以激活卡??氃赗ST上升沿后400個(gè)~40000個(gè)時(shí)鐘周期內向終端發(fā)送一個(gè)ATR字符應答終端。ATR包含后續通信操作的詳細信息,包括T=0或T=1協(xié)議的選擇。如果沒(méi)有指定協(xié)議,則終端默認通信協(xié)議為T(mén)=0。 

                  利用DS5002和DS8007實(shí)現的智能卡終端

                      ATR序列的第一個(gè)字符定義為起始字符TS。TS的前4位包含1個(gè)低電平起始位,然后是兩個(gè)高電平位,最后是一個(gè)低電平位。這種固定位模板允許TS同步信息傳輸。TS的后續三位如果全為高平電,則表示后續數據為正向約定解碼(傳數據時(shí),低位在前);如果這些位全部為低電平,則表示后續數據為反向約定解碼(傳數據時(shí),高位在前)。EMV規范允許使用反向約定,但推薦在新的卡設計中使用正向約定。

                      TS的最后三位由兩個(gè)低電平位和一個(gè)校驗位組成,10位字符幀的最后一位是校驗位,該位電平保證這一幀中1的個(gè)數為偶數。  

                      ATR序列的第二個(gè)字符為格式字符,稱(chēng)為T(mén)0。這個(gè)字符包含兩部分,用來(lái)確定后續ATR所包含的字符。T0的高4位稱(chēng)為Y1,用來(lái)指示隨后所發(fā)送的TA1、TB1、TC1或TD1,0個(gè)~4個(gè)字符的發(fā)送取決于Y 1中有多少位置1。

                      T0的低4位用K表示,代表數字0到15,表示后續ATR序列中包含的“歷史字節”。“歷史字節”提供卡的一般信息,比如卡的制造商、卡內芯片、芯片ROM或卡的使用期限等。ISO-7816和EMV規范都沒(méi)有對該部分信息傳輸進(jìn)行準確的定義。

                      如果ATR中帶有TB1字符,則它傳遞的是智能卡對編程電壓的要求:b1~b5位(稱(chēng)為PI1)指出編程電壓;b6和b7(稱(chēng)為II)指出編程需要的最大電流。與基本EVM兼容的ATR,TB1=00,說(shuō)明VPP沒(méi)有連接到智能卡。

                      TC1字符傳送的數字N決定從終端向智能卡發(fā)送的兩個(gè)相鄰字符之間需要加入的額外安全時(shí)間。這個(gè)數字不會(huì )影響從卡到終端的字符傳輸,也不影響兩個(gè)相反方向的字符傳輸。N所代表的二進(jìn)制數指明加入額外安全時(shí)間的ETU數目。當TC1=FF時(shí),兩個(gè)字符之間使用最短的延遲時(shí)間,在T=0協(xié)議中,這個(gè)時(shí)間是12個(gè)ETU,在T=1協(xié)議中,這個(gè)時(shí)間是11個(gè)ETU。N可以是0~255的任何數字。如果ATR中不含TC1,終端將默認為T(mén)C1=00而繼續進(jìn)行后續工作。由于N可以在字符傳輸時(shí)加入額外的時(shí)間,它可以將輸入速率降到最低。表2是對EMV規范中T=0協(xié)議的ATR總結。

                      一旦ATR過(guò)程結束,開(kāi)始交易過(guò)程。不論是哪種特定的操作,交易都是由終端向智能卡發(fā)送指令,智能卡執行這些指令(并可將執行結果返回給終端)??ǖ牟僮骺梢允呛?jiǎn)單地指定內存讀操作,也可以是比較復雜的,如執行一次加密運算。不論是哪種,終端與卡之間的通信都按照應用協(xié)議數據單元(APDU)的格式進(jìn)行。

                      終端發(fā)出的特殊指令信息(C-APDU)將從卡端產(chǎn)生一個(gè)相應的應答信息(R-APDU),這些信息稱(chēng)為APDU指令對。EMV規范對這兩種指令格式進(jìn)行了詳細定義,由終端發(fā)送的指令基本結構必須包含4Byte的報頭,隨后是長(cháng)度可選的數據部分,如圖2(a)所示。報頭的4個(gè)字節包括CLA、INS、P1和P2,它們規定了指令的類(lèi)別,指令碼及支持特定指令的參數。C-APDU報頭后面跟隨數據的字節數,由命令Lc指定,而終端希望智能卡應答信息的字節數由指令Le指定。 

                  基本EMV ATR

                      智能卡的應答信息(R-APDU)也由多個(gè)字節組成,如圖2(b)所示,格式化成3段,分別是數據(主體)和代表指令處理狀態(tài)的SW1、SW2(尾部)。正常完成指令時(shí),智能卡返回SW1的值為0x90和SW2的值0x00,其它返回值表示運行錯誤或有提示信息產(chǎn)生1。

                      為了處理全部的終端交易,安全微控制器DS5002可以編程實(shí)現握手和數據傳輸協(xié)議。我們已經(jīng)針對DS5002和DS8007(包含在DS8007評估板內)開(kāi)發(fā)完成了一些例程,實(shí)現終端與IC卡的會(huì )話(huà)過(guò)程,包括上電、ATR、APDU和斷電。如果將評估板連接到串口接收終端,評估板及其軟件將以38400的波特率通過(guò)RS232串口傳輸數據。 

                      關(guān)于該軟件的詳細說(shuō)明已經(jīng)超出本文范疇,但我們可以提供基于DS5002和接口芯片DS8007設計方案所能完成的基本智能卡接口的源代碼,設計方案的電路如圖3所示。軟件可從目錄下的an4029_sw.zip文件中獲得。該文件包含全部的C代碼(main.c,ds8007.c,LCD Funct.c)和產(chǎn)生HEX文件(DS8007.hex)所需的匯編源代碼(Startup.a51)。這些代碼用Keil PK51和mVision集成開(kāi)發(fā)環(huán)境編譯并鏈接。mVision項目文件(ds8007.Uv2)也在這個(gè) .zip文件中可以找到。編譯完后,.HEX文件被下載到DS8007評估板并運行。

                      為了測試例程,我們使用了一片ACS提供的基于微控制器的智能卡。這種卡可以執行內嵌的ACS智能卡操作系統版本1,或ACOS1。該卡具備如下特點(diǎn):用來(lái)存放應用數據的8kB E2PROM、DES和MAC功能、基于隨機數的過(guò)程密鑰、相互認證的密鑰對、持卡人可以更改的PIN碼,符合ISO-7816-3,T=0協(xié)議。

                      ACOS1文件規定IC卡應該返回19Byte的復位數據(ATR),返回T0的數值是0xBE。高半字節(0xB)表明TA1、TB1和TD1將在TS后續的ATR中出現。低半字節(0xE)表明ATR響應中有14個(gè)歷史字節。因此,從卡傳送過(guò)來(lái)的ATR一共有19個(gè)字節。

                      (作者:Frank Taylor,Maxim公司)

                  本文關(guān)鍵詞:智能卡,安全處理器,多協(xié)議接口,sim卡
                  回到頂部
                  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>