接觸式讀卡器ISO7816協(xié)議T=1執(zhí)行APDU指令
前段時間有客戶購買了我們L2-U雙界面智能卡讀寫器,它是集ISO7816接觸式和ISO14443非接觸式于一體的多功能智能卡讀寫器。既可以讀寫非接觸式智能卡也可以讀寫接觸式智能卡,滿足客戶對不同智能卡的讀寫操作。由于之前我們沒有處理T=1這種智能卡的讀寫APDU指令,客戶的卡恰恰就是T=1的。還好,我們讀寫器具有在線升級固件的功能,我們這邊技術(shù)及時響應(yīng)了客戶的需求,完善了ISO7816接觸式讀卡器T=1的APDU指令封裝,讓客戶自己對讀寫器進行了升級就擴展了這一項功能。
字符協(xié)議(T=0)和字組協(xié)議(T=1)。IC卡必須支持T=0協(xié)議或T=1協(xié)議中的一種,但不是同時支持這兩種協(xié)議。終端則必須同時支持T=0和T=1的兩種協(xié)議。在IC卡和終端間后續(xù)的通訊所用的協(xié)議在TD1中指明,必須是T=0或T=1,如果在ATR(復位應(yīng)答)中無TD1,則設(shè)定為T=0。在復位應(yīng)答后立即使用IC卡使用的協(xié)議,因為這里沒有協(xié)議類型選擇(PTS)過程。
B.1 情況1
命令APDU被映射到Ⅰ塊的信息字段,而沒有任何變化。
命令APDU | CLA INS P1 P2 |
信息字段 | CLA INS P1 P2 |
在響應(yīng)中收到的Ⅰ塊的信息字段被映射到響應(yīng)APDU,而沒有任何變化。
信息字段 | SW1 SW2 |
命令APDU | SW1 SW2 |
B.2 情況2(短的和擴充的)
命令APDU被映射到Ⅰ塊的信息字段,而沒有任何變化。
C-APDU | CLA INS P1 P2 | Le字段 |
信息字段 | CLA INS P1 P2 | Le字段 |
響應(yīng)APDU由:
——在響應(yīng)中收到的Ⅰ塊的信息字段組成,
——或者在響應(yīng)中收到的連續(xù)Ⅰ塊的順序連接的信息字段組成。這些塊應(yīng)予以鏈接。
信息字段 | 數(shù)據(jù)字段 | SW1-SW2 |
或者順序連接的信息字段
字段數(shù)據(jù) …… …… |
…… …… …… |
…… 字段 | SW1-SW2 |
R-APDU | 數(shù)據(jù)字段 | SW1-SW2 |
B.3 情況3(短的和擴充的)
命令APDU沒有任何變化地被映射到:
——某一Ⅰ塊的信息字段,
——或應(yīng)鏈接的連續(xù)Ⅰ塊的順序連接的信息字段。
C-APDU | CLA INS P1 P2 | Lc字段 | 數(shù)據(jù)字段 |
信息字段 | CLA INS P1 P2 | Lc字段 | 數(shù)據(jù)字段 |
或者順序連接的信息字段
CLA INS P1 P2 | Lc字段 | 數(shù)據(jù)… |
…… …… …… |
…… …… 字段 |
在響應(yīng)中收到的Ⅰ塊的信息字段被映射到響應(yīng)APDU,而沒有任何變化。
信息字段 | SW1 SW2 |
R-APDU | SW1 SW2 |
B.4 情況4(短的和擴充的)
命令APDU沒有任何變化地被映射到:
——某一Ⅰ塊的信息字段,
——或者應(yīng)鏈接的連續(xù)Ⅰ塊的順序連接的信息字段。
C-APDU | CLA INS P1 P2 | Lc字段 | 數(shù)據(jù)字段 | Le字段 |
信息字段 | CLA INS P1 P2 | Lc字段 | 數(shù)據(jù)字段 | Le字段 |
或者順序連接的并置的信息字段
CLA INS P1 P2 | Lc字段 | 數(shù)據(jù) |
…… …… …… |
…… 字段 Le字段 |
響應(yīng)APDU由
——在響應(yīng)中收到的Ⅰ塊的信息字段組成,
——或者在響應(yīng)中收到的連續(xù)Ⅰ塊的順序連接的信息字段組成。這些塊應(yīng)予以鏈接。
信息字段 | 數(shù)據(jù)字段 | SW1-SW2 |
或者并置的信息字段
數(shù)據(jù) …… …… |
…… …… …… |
…… 字段 | SW1-SW2 |
R-APDU | 數(shù)據(jù)字段 | SW1-SW2 |
T=1字組協(xié)議
協(xié)議包含IC卡和TTL間的字組傳送,以傳達命令和R-APDU及控制信息(例如,確認)。數(shù)據(jù)鏈路層的字組幀結(jié)構(gòu),協(xié)議的時序和INF,以及協(xié)議的運用規(guī)定如下。
1)字組幀結(jié)構(gòu)
前面所規(guī)定的字符幀仍是適用的,字組的結(jié)構(gòu)如下表所示:
強制性的組頭字段
可選性的信息字段
強制性的組尾字段
字組的結(jié)構(gòu)
組頭字段 | 信息字段 | 組尾字段 | ||
結(jié)點地址 (NAD) | 協(xié)議控制字節(jié) (PCB) | 長 度 (LEN) | APDU或控制信息(INF) | 錯誤檢測 (EDC) |
1字節(jié) | 1字節(jié) | 1字節(jié) | 0—254字節(jié) | 1字節(jié) |