在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DS8007和智能卡接口基礎(chǔ)

星星科技指導(dǎo)員 ? 來源:ADI ? 作者:ADI ? 2023-04-03 11:12 ? 次閱讀

DS8007是一款多協(xié)議、低成本、雙智能接口,支持所有ISO 7816、EMV?和GSM11-11要求。這個混合信號外設(shè)管理微控制器和兩個獨(dú)立智能卡之間接口的所有細(xì)節(jié)。本應(yīng)用筆記介紹了智能卡的一些基礎(chǔ)知識以及如何與智能卡通信。提供的軟件使用DS8007將智能卡與DS5002安全微處理器連接。

概述

什么是智能卡?智能卡通常定義為包含嵌入式集成電路的任何袖珍卡。由于嵌入式集成電路,智能卡有時被稱為集成電路卡或ICC。這些卡用于各種不同的應(yīng)用,取代了熟悉的支付(借記卡或信用卡)卡,后者使用磁條來存儲有關(guān)卡帳戶的信息。在支付應(yīng)用中向智能卡的過渡主要是因為功能增加,特別是因為該技術(shù)可以提高安全性。但是,必須根據(jù)智能卡的較高成本來評估后一種功能。

嵌入在智能卡中的集成電路可以是簡單的非易失性存儲設(shè)備,也可以是能夠執(zhí)行復(fù)雜操作的微控制器等復(fù)雜設(shè)備。支付卡中的簡單非易失性存儲設(shè)備可以取代用于存儲數(shù)據(jù)的磁條。在許多此類設(shè)備中,存儲器與附加邏輯相結(jié)合,以限制對部分或全部存儲器的訪問。然而,智能卡的真正功能在于嵌入式微控制器執(zhí)行數(shù)據(jù)處理和/或加密功能的能力。這種處理能力允許增強(qiáng)安全功能。然而,隨著復(fù)雜性的增加,卡的成本也在增加。帶有嵌入式處理器的智能卡的成本在 7.00 美元到 15.00 美元之間,而帶有磁條的支付卡的成本可能低至 0.75 美元1 (美元)。智能卡的這種較高成本減緩了從更簡單技術(shù)的普遍轉(zhuǎn)換,但隨著對安全性的要求增加,對智能卡的需求也將增加。

DS8007提供微控制器與兩個獨(dú)立智能卡物理接口所需的所有電信號。該器件包含一個專用的內(nèi)部定序器,用于控制自動卡激活和停用,以及一個用于數(shù)據(jù)通信的ISO UART電荷泵和穩(wěn)壓器允許該器件在 2.7V 至 6.0V 電源電壓下工作,并產(chǎn)生兩個獨(dú)立的智能卡電源電壓,其中任一電壓可以是 1.8V、3.0V 或 5V。與微控制器的通信由標(biāo)準(zhǔn)的并行8位總線提供,該總線在非多路復(fù)用配置中傳輸數(shù)據(jù),或在多路復(fù)用配置中傳輸數(shù)據(jù)和地址。

智能卡詳細(xì)信息

雖然最熟悉的智能卡外形規(guī)格是信用卡大小的設(shè)備,但術(shù)語“智能卡”也適用于用戶識別模塊 (SIM),其大小約為郵票大小,常見于移動電話中。這種SIM卡外形還用于支付終端,為終端提供特定的支付系統(tǒng)數(shù)據(jù)和詳細(xì)的應(yīng)用信息。信用卡大小設(shè)備的卡部分通常由聚氯乙烯(PVC)制成,并且通常浮雕有帳號和可能的有效期。無論外形尺寸如何,所有機(jī)電規(guī)格均基于 ISO 7816 系列標(biāo)準(zhǔn)。此外,由EuroCard,MasterCard和Visa(EMV)公司組成的聯(lián)盟已經(jīng)制定了一套專門針對智能卡及其在支付系統(tǒng)中的應(yīng)用的標(biāo)準(zhǔn)。EMV規(guī)范通常基于ISO 7816文檔。???

智能卡聯(lián)系人

智能卡上觸點(diǎn)的數(shù)量、位置和功能由上述標(biāo)準(zhǔn)明確定義。集成電路在標(biāo)準(zhǔn)智能卡上的位置和觸點(diǎn)尺寸如圖2所示。ISO 7816 定義了八個可能的接觸位置。在這八個地點(diǎn)中,有五個目前用于EMV應(yīng)用。這些觸點(diǎn)的名稱和功能如表1所示。而觸點(diǎn) C6 定義為 V聚丙烯根據(jù) ISO 7816,根據(jù) EMV 規(guī)范,此編程電壓不用于電流卡。不使用觸點(diǎn) C4 和 C8,也不需要實際存在。下面將更詳細(xì)地討論EMV規(guī)格中指定的各個觸點(diǎn)。

聯(lián)系人姓名 觸點(diǎn)功能
C1 卡的電源電壓 (V抄送)
C2 復(fù)位 (RST)
C3 時鐘(CLK)
C4 DS8007 提供;未在電動勢車中使用
C5 接地(接地)
C6 V聚丙烯;未在電動勢車中使用
C7 輸入/輸出 (I/O)
C8 DS007 提供;未在電動勢車中使用

poYBAGQqTvKAZMIhAABLkX-i0NU349.png

圖2.接觸尺寸和位置。

Vcc觸點(diǎn) (C1)

此觸點(diǎn)為卡提供電源電壓。V的原始規(guī)格抄送僅包括 5V 直流 ±10%。但是,目前已分階段遷移到低壓卡。僅支持此原始規(guī)范的卡(稱為 A 類卡)將在 2009 年 <> 月底之前替換為 AB 類或 ABC 類卡。五世抄送這些卡類別的規(guī)格如下:

A類卡:4.5V≤VCC≤5.5V,≤50mA

AB類卡:2.70V≤VCC≤3.3V,≤50mA

ABC類卡:1.62V≤VCC≤1.98V,≤30mA

DS8007卡接口包含電荷泵和穩(wěn)壓器,當(dāng)器件采用2.6V至6.0V電源供電時,可為三種卡類別中的任何一種提供適當(dāng)?shù)碾妷骸?/p>

輸入/輸出觸點(diǎn) (C7)

智能卡上的I/O觸點(diǎn)用作輸入(接收模式)以從終端接收數(shù)據(jù)或作為輸出(傳輸模式)以將數(shù)據(jù)傳輸?shù)浇K端。

在接收模式下,當(dāng)輸入符合以下規(guī)范時,卡將識別有效數(shù)據(jù)。

A類卡

輸入高壓:0.7×VCC≤VIH≤VCC

輸入低電壓:0.0≤VIL≤0.8V

上升時間/下降時間:≤1μs

AB類或ABC類卡

輸入高壓:0.7×VCC≤VIH≤VCC

輸入低電壓:0.0≤VIL≤0.2×VCC

上升時間/下降時間:≤1μs

在傳輸模式下,I/O觸點(diǎn)將提供如下信號電平:

A類卡

輸出高壓:0.7×VCC≤VOH≤VCC,-20μA<IOH<0,VCC=min

輸出低電壓:0.0≤VOL≤0.4V,0

上升時間/下降時間:≤1.0μs

AB類或ABC類卡

輸出高壓:0.7×VCC≤VOH≤VCC,-20μA<IOH<0,VCC=min

輸出低電壓:0.0≤VOL≤0.15×VCC,0

上升時間/下降時間:≤1.0μs

EMV 規(guī)范規(guī)定,除非 I/O 觸點(diǎn)正在傳輸,否則智能卡的 I/O 觸點(diǎn)驅(qū)動程序?qū)⒃O(shè)置為接收模式。

CLK 聯(lián)系人 (C3)

CLK觸點(diǎn)是由接口端子(即DS8007)提供的輸入。該信號用于控制交易過程中數(shù)據(jù)傳輸?shù)臅r間。頻率范圍指定在 1.0MHz 和 5.0MHz 之間。此觸點(diǎn)具有以下電氣規(guī)格:

A類卡

輸入高壓:VCC-0.7≤VIH≤VCC

輸入低電壓:0.0≤VIL≤0.5V

上升時間/下降時間:≤時鐘周期的9%

AB類或ABC類卡

輸入高壓:0.7×VCC≤VIH≤VCC

輸入低電壓:0.0≤VIL≤0.2×VCC

上升時間/下降時間:≤時鐘周期的9%

RST 觸點(diǎn) (C2)

RST觸點(diǎn)是由接口端子源的卡的輸入。該信號為低電平有效信號,將導(dǎo)致卡異步復(fù)位。該觸點(diǎn)具有與CLK觸點(diǎn)相同的電氣規(guī)格,但最大上升和下降時間為1.0μs。

從上述規(guī)范可以看出,與智能卡接口的終端必須提供各種電源電壓和信號電平。接口規(guī)格還要求端子能夠承受卡的任意兩個觸點(diǎn)之間的短路。由于這些原因,使用專用器件提供必要的電源電壓和信號電平顯然比組裝大量分立模擬IC更有利。DS8007就是這樣一款專用器件。除了提供這些功能所需的模擬電路外,它還包含F(xiàn)IFO和其他數(shù)字控制邏輯,以支持完整的卡會話所需的狀態(tài)排序和時序。

終端接口要求

所有卡片會話都包括以下步驟。

將卡插入終端;聯(lián)系人的連接和激活

重置卡;在終端和卡之間建立通信(ATR 序列 — 見下文)

交易的執(zhí)行

停用聯(lián)系人;取出卡

插入后對卡進(jìn)行初始重置后,卡會以一系列稱為重置答案或 ATR 的字符進(jìn)行響應(yīng)。這一系列字符建立初始通信詳細(xì)信息,包括所有后續(xù)通信的特定協(xié)議、位定時和數(shù)據(jù)傳輸詳細(xì)信息。雖然后續(xù)數(shù)據(jù)傳輸可以更改某些通信參數(shù),但 ATR 會建立初始通信條件。以下各節(jié)將廣泛討論 ATR。

個人角色詳細(xì)信息

在智能卡和終端之間的接口期間,信息通過雙向 I/O 觸點(diǎn)串行傳輸。位持續(xù)時間定義為元素時間單位或 ETU。ETU 的時間段與 CLK 觸點(diǎn)上的端子提供的時鐘信號具有直接線性關(guān)系。ATR 期間字符的位時序稱為初始 ETU。此初始 ETU 由以下等式定義:

初始 ETU = 372/? 秒

其中 ? 是以赫茲為單位的時鐘信號的頻率。

在 ATR 之后,位持續(xù)時間稱為電流 ETU,它是參數(shù) F 和 D 以及時鐘頻率的函數(shù)。(參數(shù) F 和 D 在下面的 TA1 字符部分中進(jìn)行了更詳細(xì)的討論。

Current ETU = F/(D?) seconds

其中?是以赫茲為單位的時鐘信號的頻率。

任何通信中的每個字符都由 10 位組成,因此持續(xù)時間為 1 個 ETU。字符的第一個位稱為起始位;它總是很低。在起始位之前,I/O 行保持其默認(rèn)高電平狀態(tài)。字符的最后一位是奇偶校驗位;它由源確定為高或低,因此字符中的 3 總數(shù)是偶數(shù)。該位模式如圖<>所示。

pYYBAGQqTvqAUNc9AAAfN32c0V8604.png

圖3.10 位字符幀。

智能卡通信協(xié)議

在ISO 7816規(guī)范中,四個位用于選擇卡會話的通信協(xié)議。目前,可能的 2 種協(xié)議中有 16 種正在使用中。它們被稱為 T=0 和 T=1。兩種協(xié)議都是半雙工(一次一個方向),異步通信。T=0 協(xié)議是基于字符的格式,而 T=1 是基于塊的格式。所有符合EMV標(biāo)準(zhǔn)的智能卡必須支持T=0或T=1協(xié)議,而終端必須同時支持兩者。

將卡插入端子后,當(dāng)所有觸點(diǎn)保持在“低”狀態(tài)時,電源電壓立即施加到卡的 V抄送聯(lián)系。在端子驗證電壓穩(wěn)定且在指定限值內(nèi)后,將端子的 I/O 觸點(diǎn)驅(qū)動器置于接收模式,并將時鐘信號施加到卡的 CLK 觸點(diǎn)。在時鐘信號啟動后的 200 個周期內(nèi),終端將其 I/O 線置于接收模式,卡將其 I/O 線置于傳輸模式。在 40,000 到 45,000 個時鐘周期的間隔之后,終端在卡的 RST 觸點(diǎn)上應(yīng)用高電平有效信號。在 400 到 40,000 個時鐘周期后,該卡以一系列稱為 ATR 的字符進(jìn)行響應(yīng)。ATR 包括詳細(xì)說明后續(xù)通信將如何進(jìn)行的信息,包括 T=0 或 T=1 協(xié)議選擇。如果未指定協(xié)議,則假定 T=0。(下面介紹了 ATR 的完整詳細(xì)信息以及其中包含的信息。

復(fù)位答案 (ATR)

最初由終端重置后,EMV 智能卡以一串字符響應(yīng),稱為重置答案或 ATR。這些字符由初始字符 TS 組成,后跟最多 32 個附加字符。這些字符一起向終端提供有關(guān)如何在會話的剩余時間內(nèi)與卡通信的信息。以下各節(jié)將介紹每個字符。

表 0 給出了協(xié)議 T=2 的 EMV 規(guī)范定義的 ATR 內(nèi)容,表 1 給出了協(xié)議 T=3 定義的 ATR 內(nèi)容。

字符 價值 言論
TS “3B”或“3F” 表示直接 (3B) 或反向 (3F) 約定。
T0 '6x 存在 TB1 和 TC1,不存在 TA1 和 TD1;x 表示存在的歷史字節(jié)數(shù)。
TB1 '00' V聚丙烯不是必需的。
TC1 “00”到“FF” 指示所需的額外保護(hù)時間量。值“FF”具有特殊含義。(請參閱下面的 TC1 說明。
字符 價值 言論
TS “3B”或“3F” 表示直接 (3B) 或反向 (3F) 約定。
T0 “前” 存在 TB1、TC1 和 TD1,不存在 TA1;x 表示存在的歷史字節(jié)數(shù)。
TB1 '00' V聚丙烯不是必需的。
TC1 “00”到“FF” 指示所需的額外保護(hù)時間量。
TD1 '81' TA2、TB2 和 TC2 缺失;存在 TD2;T=1 使用。
TD2 '31' 存在 TA3 和 TB3;TC3 和 TD3 缺失;T=1 使用。
TA3 “10”到“FE” 返回 IFSI,它指示卡的信息字段大小和 IFSC 的初始值 16 字節(jié)到 254 字節(jié)。
TB3 m.s. nibble* '0' to '4'; l.s. nibble '0' to '5' BWI = 0 到 4
CWI = 0 到 5
TCK 檢查字符。從 T0 到 TCK (含)的所有 ATR 字節(jié)的獨(dú)占 OR 為空。
*注:m.s.半字節(jié)=最高有效半字節(jié);l.s.半字節(jié)=最低有效半字節(jié)。

TS 初始字符

ATR 序列的第一個字符定義為初始字符 TS。憑借其位模式,此字符同步信息并定義所有后續(xù)字符的極性。TS的前四位由一個低起始位組成,后跟兩個高位,后跟一個附加低位。此固定位模式允許定時同步。以下三位要么全部為高電平表示直接約定,要么全部為低電平以表示反向約定。對于直接約定,I/O 線上的高狀態(tài)等效于邏輯 1,并且首先傳輸數(shù)據(jù)的最低有效位。對于反約定,I/O線上的低狀態(tài)等效于邏輯1,數(shù)據(jù)首先傳輸最高有效位。雖然規(guī)范允許反向約定,但EMV建議將直接約定用于所有當(dāng)前的卡設(shè)計。最后三位是兩個低位,后跟一個高位。此字符幀或任何其他 10 位字符幀中的最后一位是奇偶校驗位;它將被設(shè)置或清除以使幀中的 1 數(shù)成為偶數(shù)。

T0 格式字符

ATR 序列的第二個字符定義為格式字符,稱為 T0。此字符包含兩個部分,這兩個部分確定剩余 ATR 序列中包含的字符。最重要的四個位稱為Y1,它們指示是否將傳輸TA1,TB1,TC1或TD1。對于 Y1 的每個邏輯 1,相應(yīng)字符的存在確定如下:

Bit8(msb)=1表示將發(fā)送字符TD1

Bit7=1表示將發(fā)送字符TC1

Bit6=1表示將發(fā)送字符TB1

Bit5=1表示將發(fā)送字符TA1

T0 的最低有效四位稱為 K。這些位確定將包含在剩余 ATR 序列中的“歷史字節(jié)”的 0 到 15 個數(shù)字。歷史字節(jié)傳達(dá)有關(guān)卡的一般信息,例如卡制造商、卡中的芯片、芯片中的屏蔽 ROM 或卡的生存狀態(tài)。ISO 7816 和 EMV 規(guī)范都沒有準(zhǔn)確定義要傳達(dá)的信息(如果有的話)。

如上表2所示,Y1位b7和b6為高電平,b8和b5位為低電平('6x')。這表示將傳輸 TC1 和 TB1,而字符 TA1 和 TD1 不會傳輸(如表中所示)。對于協(xié)議 T=0,字符 TB1 和 TC1 完成基本 ATR 序列。在表 3 中,Y8 的第 1 位也很高,因此對于協(xié)議 T=1,字符 TD1 也將傳輸。

TA1 角色

雖然字符TA1不在T=0或T=1協(xié)議的基本EMV ATR響應(yīng)中傳輸,但在ISO 7816規(guī)范中定義了其他通信。使用時,TA1被分成上下半身。上半字節(jié)確定時鐘速率轉(zhuǎn)換因子F,用于修改時鐘信號的頻率。較低的半字節(jié)確定 D,即可用于調(diào)整 ATR 之后的位持續(xù)時間的比特率調(diào)整因子。這些參數(shù)的使用如上面的公式2所示。默認(rèn)值 F = 372 和 D = 1 用于 ATR 期間的初始 ETU 值,除非在基本 ATR 之外進(jìn)行更改,否則將在后續(xù)交換期間繼續(xù)使用。

TB1 字符

TB1 字符傳達(dá)有關(guān)智能卡編程電壓要求的信息。位 b1 至 b5(稱為 PI1)表示編程電壓,位 b6 和 b7(稱為 II)表示智能卡所需的最大編程電流。對于基本 ATR,TB1 = '00' 表示 V聚丙烯智能卡中的 PIN 未連接。

TC1 字符

TC1 字符傳達(dá) N 的值,該值確定從終端發(fā)送到智能卡的連續(xù)字符之間要添加的額外保護(hù)時間。此值不適用于從卡發(fā)送到終端的字符,也不適用于以相反方向發(fā)送的兩個字符。N 是一個二進(jìn)制數(shù),表示要添加為額外保護(hù)時間的額外 ETU。當(dāng) TC1 = 'FF' 時,應(yīng)使用字符之間的最小延遲。對于協(xié)議 T=0,這是 12 個 ETU,對于 T=11,這是 1。N 的值可以是 0 到 255 之間的任何值;如果未在 ATR 中返回 TC1,終端將繼續(xù),就像收到值 00 一樣。由于此值會增加字符傳輸?shù)臅r間,因此應(yīng)將其最小化以加快事務(wù)。

TD1 字符

TD1 字符指示是否要傳輸任何其他接口字節(jié),如果是,將使用哪種協(xié)議。字符 TD1 是通用字符 TDx 的特定實例。TDx最重要的半字節(jié)表示TA(x + 1),TB(x + 1),TC(x + 1)或TD(x + 1)將被傳輸。對于每個邏輯 1,后續(xù)傳輸中相應(yīng)字符的存在確定如下:

Bit 8(msb)=1表示將發(fā)送字符TD(x+1)

Bit7=1表示將發(fā)送字符TC(x+1)

Bit6=1表示將發(fā)送字符TB(x+1)

Bit5=1表示將發(fā)送字符TA(x+1)

TD1 字符(TDx 廣義)的最低有效半字節(jié)包含值 0x0 或 0x1,分別指示協(xié)議 T=0 或 T=1。

如果使用協(xié)議 T=0,則字符 TD1 將不包括在 ATR 序列中;協(xié)議 T=0 將用于所有后續(xù)傳輸。如果使用協(xié)議 T=1,則將包含 TD1 并包含 0x81 的值。后一個值表示 TD2 將存在,協(xié)議 T=1 將用于所有后續(xù)傳輸。

TA2 角色

雖然字符TA2不在T=0或T=1協(xié)議的基本EMV ATR響應(yīng)中傳輸,但它在ISO 7816規(guī)范中定義。TA2 的存在與否決定了智能卡是在 ATR 之后分別以特定模式還是可協(xié)商模式運(yùn)行。沒有TA2表示將使用可轉(zhuǎn)讓操作模式。

TB2 字符

雖然字符TB2不會在T=0或T=1協(xié)議的基本EMV ATR響應(yīng)中傳輸,但它在ISO 7816規(guī)范中定義。字符TB2表示PI2,PI1確定智能卡所需的編程電壓值。當(dāng)存在字符 TB1 時,將取代字符 TB2 中的 PI<> 值。

TC2 字符

雖然字符TC2不在T=0或T=1協(xié)議的基本EMV ATR響應(yīng)中傳輸,但它在ISO 7816規(guī)范中定義。如果存在,TC2 特定于協(xié)議類型 T=0。TC2 傳輸工作等待時間整數(shù) (WI),該整數(shù)確定智能卡發(fā)送的任何字符的起始位的前緣與卡或終端發(fā)送的前一個字符的起始位的前沿之間的最大間隔。工作等待時間的值為:

工作等待時間 = 960 × D ×WI

其中 D 是比特率調(diào)整因子(請參閱上面 TA1 中的說明)。

當(dāng) ATR 序列中不包含 TC2 時,假定默認(rèn)值為 WI = 0x0A。

TD2 字符

TD2 字符與 TD1 字符具有相同的功能。有關(guān)詳細(xì)信息,請參閱上面的 TD1 說明。在協(xié)議 T=3 的表 1 中,存在 TD2 并包含值 0x31。此值指示:TA3 和 TB3 將存在,TC3 和 TD3 將不存在,協(xié)議類型將為 T=1。

TA3 角色

TA3 字符傳達(dá)智能卡的信息字段大小整數(shù) (IFSI)。IFSI 確定智能卡的信息字段大小,這是卡可以接收的塊的信息字段 (INF) 的最大長度。字段大小可以是 0x01 到 0xFE 之間的任何值。0x0和0xFF的值保留供將來使用。在基本 ATR 中使用 T=1 協(xié)議,TA3 的值在 0x10 到 0xFE 的范圍內(nèi),因此表示 IFSC 在 16 到 254 字節(jié)的范圍內(nèi)。對于不包含 TA3 的 ATR,終端將假定默認(rèn)值為 0x20。

TB3 字符

TB3 字符表示用于計算字符等待時間 (CWT) 和塊等待時間 (BWT) 的字符等待時間整數(shù) (CWI) 和塊等待時間整數(shù) (BWI) 的值。TB3 的最低顯著部分(b1 至 b4)表示 CWI 的值;最重要的半字節(jié)(B5 到 B8)表示 BWI 的值。在 T=1 協(xié)議的基本 ATR 中,TB3 字符在 0 到 5 (CWI = 0 到 5) 范圍內(nèi)具有最低有效半字節(jié),在 0 到 4 范圍內(nèi)具有最不重要的半字節(jié)(BWI = 0 到 4)。

TC3 字符

雖然字符TC3不在T=0或T=1協(xié)議的基本EMV ATR響應(yīng)中傳輸,但它在ISO 7816規(guī)范中定義。當(dāng)存在 TC3 時,它指示要使用的塊錯誤檢測類型。當(dāng) TC3 不存在時,默認(rèn)縱向冗余校驗 (LRC) 是使用的塊錯誤校驗。

特克角色

TCK 字符是校驗字符,其值允許驗證 ATR 中發(fā)送的數(shù)據(jù)的完整性。TCK 的值可以是任何值,只要從 T0 到 TCK 包含的所有字節(jié)的獨(dú)占 OR 為零即可。TCK 不用于 T=0,但在所有其他情況下將在 ATR 中返回。

ATR 摘要

在終端接收到ATR序列中的最后一個字符后,將必要的參數(shù)從卡傳輸?shù)浇K端后,可以對DS8007進(jìn)行任何必要的接口參數(shù)調(diào)整。然后可以開始進(jìn)一步的溝通。

應(yīng)用協(xié)議數(shù)據(jù)單元 (APDU)

如前所述,卡會話的下一階段是交易的執(zhí)行。交易過程中執(zhí)行的具體操作取決于卡和帳戶的類型(信用卡、借記卡等)以及用戶的請求。無論具體操作如何,事務(wù)都是通過向智能卡發(fā)出命令來完成的。智能卡執(zhí)行請求的操作,并可能傳達(dá)結(jié)果。卡的操作可以像讀取內(nèi)存中的位置一樣簡單,也可以像執(zhí)行加密操作一樣復(fù)雜。無論操作如何,終端和卡之間的通信都是使用應(yīng)用協(xié)議數(shù)據(jù)單元或APDU進(jìn)行的。

要運(yùn)行應(yīng)用程序,智能卡和終端必須交換信息。這種信息共享是在命令-響應(yīng)數(shù)據(jù)交換中完成的。終端創(chuàng)建命令并將其發(fā)送到智能卡,智能卡隨后解釋命令并發(fā)送響應(yīng)。此命令-響應(yīng)消息對稱為應(yīng)用程序協(xié)議數(shù)據(jù)單元 (APDU)。終端 (C-APDU) 發(fā)送的特定命令消息將具有來自卡 (R-APDU) 的特定響應(yīng)消息。這些消息稱為 APDU 命令-響應(yīng)對。EMV 規(guī)范詳細(xì)介紹了這兩種消息類型的格式,它們的格式如下所述。

C-APDU 格式

終端啟動所有命令 APDU。它們由必需的 4 字節(jié)標(biāo)頭組成,后跟可包含數(shù)據(jù)的可變長度的可選主體。C-APDU 中包含的數(shù)據(jù)字節(jié)數(shù)在命令字節(jié) Lc 中指定;終端期望從卡的響應(yīng)接收的字節(jié)數(shù)在命令字節(jié) Le 中指定。C-APDU格式如表4所示,字符如表5所示。

CLA INS P1 P2 Lc Data Le
←必需標(biāo)頭→ ←條件體→
Code 描述 長度
CLA 教學(xué)等級 1
INS 指令代碼 1
P1 指令參數(shù) 1 1
P2 指令參數(shù) 2 1
Lc 命令日期字段中存在的字節(jié)數(shù) 0 或 1
Data 在命令中發(fā)送的數(shù)據(jù)字節(jié)字符串 (= Lc) 變量
Le 響應(yīng)數(shù)據(jù)字段中預(yù)期的最大數(shù)據(jù)字節(jié)數(shù) 0 或 1

命令A(yù)PDU的第一個字節(jié)被定義為指令類,稱為CLA。此字節(jié)可以采用除 8xFF 之外的任何 0 位值。但是,目前僅使用最高有效半字節(jié) 0 和 8 的值。值為 0 的最重要半字節(jié)定義為行業(yè)間命令,值 8 是 EMV 規(guī)范專有的。

命令A(yù)PDU的第二個字節(jié)是指令代碼,稱為INS。僅當(dāng)最低有效位為 0 且最高有效半字節(jié)既不是 6 也不是 9 時,此字節(jié)才有效。

必需標(biāo)頭的 P1 和 P2 字節(jié)包含特定命令的參數(shù),可以是任何值。如果未使用,則參數(shù)字節(jié)的值必須為 0x00。

R-APDU

從終端接收并解釋 APDU 命令后,智能卡將返回響應(yīng)。如規(guī)范中所定義,此響應(yīng)由可變長度的可選主體組成,后跟由兩個字節(jié)組成的所需拖車。這種格式如表6所示,APDU響應(yīng)的內(nèi)容如表7所示。

數(shù)據(jù) SW1 SW2
←身體→ ←預(yù)告片→
法典 描述 長度
數(shù)據(jù) APDU 響應(yīng)中接收的數(shù)據(jù)字節(jié)字符串 變量 (= Lr)
SW1 命令處理狀態(tài) 1
SW2 命令處理限定符 1

卡響應(yīng)的預(yù)期長度作為 APDU 命令的 Le 代碼部分傳輸。響應(yīng)的實際長度稱為 Lr。雖然卡不傳輸Lr的值,但終端可以根據(jù)應(yīng)用需要計算它。

為了正常完成命令,智能卡將返回值為 1x0 的 SW90 和值為 2x0 的 SW00。任何其他響應(yīng)都指示發(fā)生了錯誤或警告2。

示例代碼

本應(yīng)用筆記隨附的軟件包含在可下載的文件an4029_sw.zip中。此文件包含生成可執(zhí)行十六進(jìn)制文件 (ds8007.hex) 所需的所有 C (main.c、ds51.c、LCD_Funct.c) 和匯編語言 (Startup.a8007) 源代碼。該代碼是使用 Keil PK51 專業(yè)開發(fā)人員工具包和 μVision 集成開發(fā)環(huán)境 (IDE) 編譯和鏈接的。μVision 項目文件 (ds8007.Uv2) 也包含在.zip文件中。這。HEX文件在DS8007評估(EV)板(可從Analog獲得)中的DS8007智能卡接口板上加載并運(yùn)行。示例軟件實現(xiàn)完整的智能卡會話,包括上電、ATR、APDU 和斷電操作。當(dāng)連接到啞終端時,電路板和軟件將產(chǎn)生232,38波特的RS-400串行輸出。此輸出如下面的圖 4 所示。本軟件的詳細(xì)說明超出了本應(yīng)用筆記的范圍,但提供的源代碼可以作為使用DS5002安全微處理器和DS8007多協(xié)議雙智能卡接口芯片的完整智能卡接口的基礎(chǔ)。?

poYBAGQqTwGAfsvFAABCAovdLyo034.png

圖4.軟件輸出。

為了測試示例軟件,使用了高級卡系統(tǒng)(ACS)基于微控制器的智能卡。作為基于微控制器的設(shè)備,該卡執(zhí)行其嵌入式操作系統(tǒng)的功能,稱為ACS智能卡操作系統(tǒng)版本1或ACOS1。此卡具有以下功能。

8kB EEPROM 存儲器,用于存儲應(yīng)用數(shù)據(jù)

符合 ISO 7816-3,T=0 協(xié)議

DES 和 MAC 功能

基于隨機(jī)數(shù)的會話密鑰

密碼,可由持卡人更改

用于相互身份驗證的密鑰對

ACOS1 文檔指示此卡將使用 19 字節(jié)的數(shù)據(jù)響應(yīng)重置。如圖 4 所示,為 T0 返回的值為 0xBE。高半字節(jié) (0xB) 表示 TA1、TB1 和 TD1 將與 TS 一起包含在 ATR 中。低半字節(jié)包含0xE,表示 ATR 響應(yīng)中將包含 14 個歷史字節(jié)(請參閱上面的字符 T0 說明)。因此,卡的 ATR 中總共包含 19 個字節(jié)。

對于此示例軟件,執(zhí)行一個 ADPU,即“啟動會話”命令。此命令具有以下格式。

CLA INS P1 P2 P3
0x80 0x84 0x00 0x00 0x08

對“啟動會話”命令的響應(yīng)具有以下格式。

數(shù)據(jù) SW1 SW2
RNDc(卡中的 8 個字節(jié)) 地位 地位

圖 4 所示的軟件輸出表明,從卡返回的隨機(jī)數(shù)為 0xCB、0xC4、0xBD、0xD5、0xA4、0x7E、0x36和0x3F。它還顯示返回的狀態(tài)為 0x90, 0x00,這表示命令成功完成。

結(jié)論

DS8007為混合信號外設(shè),減輕了微控制器與智能卡接口的負(fù)擔(dān)。它提供與兩個獨(dú)立智能卡進(jìn)行物理接口所需的所有電信號。專用的內(nèi)部定序器控制自動卡激活和停用,以及用于數(shù)據(jù)通信的ISO UART。電荷泵和穩(wěn)壓器允許DS8007工作在2.7V至6.0V電源電壓,同時產(chǎn)生兩個獨(dú)立的智能卡電源電壓,可以是1.8V、3.0V或5V。與微控制器的通信由標(biāo)準(zhǔn)的并行8位總線提供,該總線在非多路復(fù)用配置中傳輸數(shù)據(jù)或在多路復(fù)用配置中傳輸數(shù)據(jù)和地址。所提供的軟件使用DS5002安全微處理器和DS8007作為其智能卡接口實現(xiàn)完整的卡會話。智能卡在其 ATR 中返回的字符以 38400 波特率輸出在主板的串行端口上,并向卡發(fā)送“啟動會話”命令 APDU。生成的隨機(jī)數(shù)也會輸出在串行端口上。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7560

    瀏覽量

    151497
  • 穩(wěn)壓器
    +關(guān)注

    關(guān)注

    24

    文章

    4242

    瀏覽量

    93848
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7494

    瀏覽量

    163899
收藏 人收藏

    評論

    相關(guān)推薦

    多協(xié)議雙智能卡接口DS8007相關(guān)資料下載

    概述:DS8007是一款低成本多協(xié)議雙智能卡讀卡接口,滿足所有ISO 7816、EMV?和GSM11-11的要求。通過其8位并行總線和專用地址選擇(AD3–AD0)引腳,DS8007
    發(fā)表于 05-17 06:55

    DS8007 多協(xié)議雙智能卡接口

    DS8007 多協(xié)議雙智能卡接口 DS8007是一款低成本多協(xié)議雙智能卡讀卡接口,滿足所有IS
    發(fā)表于 11-27 18:05 ?828次閱讀
    <b class='flag-5'>DS8007</b> 多協(xié)議雙<b class='flag-5'>智能卡</b><b class='flag-5'>接口</b>

    利用DS8007評估套件進(jìn)行設(shè)計

    摘要:本文闡述使用DS8007智能卡接口評估(EV)套件的步驟,解釋了怎樣安裝和配置軟件、配置硬件,建立并裝載板上DS5002FP微控制器執(zhí)行的應(yīng)用軟件。提供了一個簡單的"Hello
    發(fā)表于 04-23 10:14 ?1090次閱讀

    DS8007智能卡接口基礎(chǔ)

    摘要:DS8007是一款低成本的多協(xié)議雙智能卡接口,滿足所有ISO 7816、EMV™和GSM11-11的要求。這個混合信號外設(shè)可以管理微控制器和兩個
    發(fā)表于 04-23 10:33 ?612次閱讀
    <b class='flag-5'>DS8007</b>和<b class='flag-5'>智能卡</b><b class='flag-5'>接口</b>基礎(chǔ)

    DS8007智能卡接口基礎(chǔ)

    摘要:DS8007是一款低成本的多協(xié)議雙智能卡接口,滿足所有ISO 7816、EMV™和GSM11-11的要求。這個混合信號外設(shè)可以管理微控制器和兩個獨(dú)立智能卡間的所有
    發(fā)表于 04-24 17:27 ?1355次閱讀
    <b class='flag-5'>DS8007</b>和<b class='flag-5'>智能卡</b><b class='flag-5'>接口</b>基礎(chǔ)

    DS8007智能卡交易中的應(yīng)用

    摘要:本應(yīng)用筆記介紹了一個用DS8007接口器件和DS5002安全微控制器設(shè)計的智能卡支付終端實例。DS8007評估(EV)套件和所提供的C
    發(fā)表于 04-24 17:28 ?1000次閱讀

    利用DS8007評估套件進(jìn)行設(shè)計

    摘要:本文闡述使用DS8007智能卡接口評估(EV)套件的步驟,解釋了怎樣安裝和配置軟件、配置硬件,建立并裝載板上DS5002FP微控制器執(zhí)行的應(yīng)用軟件。提供了一個簡單的"Hello
    發(fā)表于 04-24 17:29 ?922次閱讀
    利用<b class='flag-5'>DS8007</b>評估套件進(jìn)行設(shè)計

    DS8007A多協(xié)議雙智能卡接口

      DS8007A多協(xié)議雙智能卡接口是一款汽車級、低成本雙智能卡讀卡器接口,滿足所有ISO 7816、EMV™和GSM11-11
    發(fā)表于 11-03 09:10 ?967次閱讀
    <b class='flag-5'>DS8007</b>A多協(xié)議雙<b class='flag-5'>智能卡</b><b class='flag-5'>接口</b>

    DS8007 低成本多協(xié)議雙智能卡讀卡接口

    DS8007是一款低成本多協(xié)議雙智能卡讀卡接口,滿足所有ISO 7816、EMV?和GSM11-11的要求。通過其8位并行總線和專用地址選擇(AD3–AD0)引腳,DS8007可方便的
    發(fā)表于 07-21 18:12 ?1723次閱讀
    <b class='flag-5'>DS8007</b> 低成本多協(xié)議雙<b class='flag-5'>智能卡</b>讀卡<b class='flag-5'>接口</b>

    DS8007芯片在智能卡交易中的應(yīng)用

    本應(yīng)用筆記介紹了一個基于 DS8007 多協(xié)議雙智能卡接口芯片和 DS5002 安全微控制器的智能卡支付交易系統(tǒng)。該系統(tǒng)可實現(xiàn)基本的
    的頭像 發(fā)表于 10-30 21:17 ?606次閱讀

    DS8007接口芯片在智能卡交易中有什么樣的應(yīng)用

    本應(yīng)用筆記介紹了一個基于 DS8007 多協(xié)議雙智能卡接口芯片和 DS5002 安全微控制器的智能卡支付交易系統(tǒng)。該系統(tǒng)可實現(xiàn)基本的
    發(fā)表于 12-08 23:04 ?18次下載

    DS8007智能卡交易中的應(yīng)用

    本應(yīng)用筆記介紹了基于DS8007多協(xié)議、雙智能卡接口芯片和DS5002安全微控制器的智能卡支付交易系統(tǒng)。基本信用
    的頭像 發(fā)表于 03-03 14:16 ?832次閱讀
    <b class='flag-5'>DS8007</b>在<b class='flag-5'>智能卡</b>交易中的應(yīng)用

    DS8007智能卡接口基礎(chǔ)

    DS8007是一款多協(xié)議、低成本、雙智能卡接口,支持所有ISO 7816、EMV?和GSM11-11要求。這個混合信號外設(shè)管理微控制器和兩個獨(dú)立智能卡之間
    的頭像 發(fā)表于 03-03 14:24 ?1331次閱讀
    <b class='flag-5'>DS8007</b>和<b class='flag-5'>智能卡</b><b class='flag-5'>接口</b>基礎(chǔ)

    DS8007智能卡交易中的應(yīng)用

    本應(yīng)用筆記介紹了基于DS8007多協(xié)議、雙智能卡接口芯片和DS5002安全微控制器的智能卡支付交易系統(tǒng)。基本信用
    的頭像 發(fā)表于 04-03 11:05 ?936次閱讀
    <b class='flag-5'>DS8007</b>在<b class='flag-5'>智能卡</b>交易中的應(yīng)用

    利用DS8007評估套件進(jìn)行設(shè)計

    本文闡述使用DS8007智能卡接口評估(EV)套件的步驟,解釋了怎樣安裝和配置軟件、配置硬件,建立并裝載板上DS5002FP微控制器執(zhí)行的應(yīng)用軟件。提供了一個簡單的\"Hello W
    的頭像 發(fā)表于 06-16 17:19 ?725次閱讀
    利用<b class='flag-5'>DS8007</b>評估套件進(jìn)行設(shè)計
    主站蜘蛛池模板: 九九九色| 国产片在线观看狂喷潮bt天堂| 九九全国免费视频| 久久婷婷是五月综合色狠狠| 韩国电影天堂| 在线色资源| 手机看片自拍自拍自拍| 久久狠狠第一麻豆婷婷天天| 201天天爱天天做| 亚洲视频一| 亚洲人成毛片线播放| 色多多视频在线观看免费大全| 美女视频黄a| japanese色系国产在线高清| 手机看片精品国产福利盒子| 成人在线黄色| 日本免费不卡视频一区二区三区| 在线小视频你懂的| 色偷偷偷偷| 精品国产香港三级| 午夜影院在线视频| 国产午夜在线观看| 在线观看免费视频一区| 伊人久久大香线蕉综合高清| 三级四级特黄在线观看| 国产在线视频不卡| 手机看片自拍自自拍日韩免费| 神马影院午夜dy888| 狠狠色噜噜狠狠狠狠2018| 特黄特色| 黄a一级| 天天色天天操综合网| 五月激情丁香网| 月夜免费观看完整视频| 日本三黄色大| free性欧美video| 国产免费一级在线观看| 老师解胸罩喂我吃奶| 日本午夜片| 又粗又硬又大久久久| jlzzjlzz亚洲大全|