EMV/PBOC 解析(一) 卡片文件結構


  剛到公司老大便發我一份文檔《智能卡ISO7816-4規范(中文版)》,然后就讓我研究下IC智能卡數據讀取和支付。身為一直做.NET開發的我對硬件啥的一無所知,各種無頭緒啊,研究了兩天后,稍微了解IC智能卡的文件基本結構和指令后,終於讓我找到了根節點。其它數據的讀取還是毫無頭緒,果斷問度娘,果然之前有點走偏了,我應該研究的是 《中國金融集成電路(IC)卡規范 (PBOC 3.0)》,好了終於走上正軌,在拜讀了一些大神的文章后,終於,身為小小白的我對EMV/PBOC的解析和支付有了一定的了解,但是和大神還差好遠,但是希望能幫助到和我一樣的小白,同事溫故而知新嘛。好了說了這么多的廢話,開始正文。

  因為《中國金融集成電路(IC)卡規范》也是以《ISO7816規范》為基礎的,這里就先參照《ISO7816規范》來贅述下文件的基本結構和APDU的報文結構,后續再做讀取卡片數據的具體操作指令。

先上縮略語:

  APDU       應用協議數據單元

  ATR        復位應答

  CLA        類別字節

  DIR        目錄

  DF         專用文件

  EF         基本文件

  FCI        文件控制信息

  FCP        文件控制參數

  FMD        文件管理數據

  INS        指令字節

  MF         主文件

  P1—P2     參數字節

  RFU        保留供將來使用

  SM         安全報文交換

  SW1—SW2   狀態字節

  TLV        標記、長度、值

  TPDU       傳輸協議數據單元

  ...

     (1)文件結構

——專用文件(DF)。

——基本文件(EF)。

卡內數據的邏輯組織結構由下列專用文件的結構化分級組成。

——在根處的DF稱作主文件(MF)。該MF是必備的。

——其他DF是任選的。

定義了下列兩種類型的EF。

——內部EF——那些EF預期用於存儲由卡所解釋的數據,即,為了管理和控制目的由卡所分析和使用的數據。

——工作的EF——那些EF預期用於不由卡所解釋的數據,即,僅僅由外界待使用的數據。

上圖:

(2)APDU報文組成

APDU由下列內容組成:

——必備的4字節首標(CLA  INS P1  P2);

——有條件的可變長度主體。

(首標) [CLA INS P1 P2]    [Lc字段][數據字段][Le字段] (主體)

 

INS代碼:

值    命令名稱 
‘0E’ ERASE BINARY 
‘20’ VERIFY 
‘70’ MANAGE CHANNEL 
‘82’ EXTERNAL AUTHENTICATE 
‘84’ GET CHALLENGE 
‘88’ INTERNAL AUTHENTICATE 
‘A4’ SELECT FILE 
‘BO’ READ BINARY
‘CO’ GET RESPONSE 
‘C2’ ENVELOPE
‘CA’ GET DATA 
‘DO’ WRITE BINARY 
‘D2’ WRITE RECORD 
‘D6’ UPDATE BINARY 
‘DA’ PUT DATA 
‘DC’ UPDATE RECORD 
‘E2’ APPEND RECORD 

 如有不妥之處歡迎指正。

 

轉載請注明出處:http://www.cnblogs.com/xinwang/p/4283353.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM