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