實驗11、基於符合ISO/IEC 7816 標準協議的CPU卡RATS、PPS請求指令操做 學習
實驗目的 spa
一、學習和了解ISO/IEC 7816標準。 3d
二、學習和了解ATS各字節的具體定義。 blog
三、學習和了解PPS設置的實現。 table
實驗器材: 原理
一、RFID讀寫器模塊1臺 軟件
二、筆記本電腦或臺式電腦1臺 循環
三、PC機軟件及MINI型USB鏈接線 二進制
實驗內容: 請求
一、利用提供的底層程序及據於WINDOS環境下的上位機軟件。
二、開啓讀寫器的USB通訊功能,打開上位機軟件發送RATS命令,上位機能夠經過USB來獲取發送命令的實時返回CPU卡的響應,並對響應數據按ISO7816協議進行分析,判別其正確性。
三、開啓讀寫器的USB通訊功能,打開上位機軟件發送PPS命令,上位機能夠經過USB來獲取發送命令的實時返回CPU卡的響應,並對響應數判別參數是否設置成功。
實驗步驟:
首先使用RFID讀寫模塊對CPU卡進行激活,按圖1流程進行操做。
將CPU卡放置到讀卡模塊的讀卡區;
按圖1橙色虛線框內容對CPU卡進行選中,以下圖所示點擊按鈕"尋卡"->"Select"進行選卡。
點擊按鈕"復位卡"對CPU進行復位,使CPU卡進入FMCOS模式,並返回ATS代碼
對返回的ATS進行字段分析,理解其表達的含義
例1:
若是一張CPU卡ATS爲:10788090022090000000000066799D24,則這張CPU卡ATS的具體解釋以下表:
符號 |
字節內容 |
內容解釋 |
TL |
0x10 |
長度字節 |
T0 |
0x78 |
TA一、TB1和TC1存在,FSCI=8(FSC=256字節) |
TA1 |
0x80 |
兩個方向能夠支持相同的D,支持DR=1,DS=1 |
TB1 |
0x90 |
FWI=0x9(FWT=155ms) SFGI=0(SFGT=302us) |
TC1 |
0x02 |
不支持NAD,支持CID |
T1 |
0x20 |
COS版本號2.0 |
T2 |
0x09 |
COS廠商代碼(復量微電子) |
T3 |
0x00 |
保留字節 |
T4-T11 |
0000000066799D24 |
卡序列號 |
經過PPS指令設置CPU卡與讀卡模塊間的通訊速率。
實驗12、CPU卡系統FMCOS用戶卡的髮卡指令操做
實驗目的:
一、瞭解FMCOS文件系統結構
二、瞭解CPU卡髮卡流程
三、掌握CPU卡髮卡指令的使用,並理解每條指令的含義。
四、瞭解用戶卡電子錢包格式。
實驗器材:
一、RFID讀寫器模塊1臺
二、筆記本電腦或臺式電腦1臺
三、PC機軟件及MINI型USB鏈接線
實驗內容:
一、利用提供的底層程序及據於WINDOS環境下的上位機軟件。
二、開啓讀寫器的USB通訊功能,打開上位機軟件發送CPU卡相關的髮卡指令,在FMCOS上創建一個文件系統。
三、理解發卡指令的含義,能根據返回的響應碼判斷CPU卡是否操做成功。
實驗步驟:
參考《FMCOS通用技術手冊》內容,理解FMCOS下各級文件(MF、ADF、EF)之間的關係。
根據下圖用戶卡的文件結構,進行髮卡操做,髮卡指令可參考下文藍字部份內容。
用戶卡文件結構
/********髮卡************/
00a4000000
//外部認證,初始密碼爲FFFFFFFFFFFFFFFF
0084000008
0082000008+密文
//刪除MF下的全部應用文件
800e000000
00a4000000
//創建KEY文件,並寫入主控密鑰
80e00000073f004001f0ffff
80d401001539f0f0aa33ffffffffffffffffffffffffffffffff
//目錄數據文件 0001
80e00001072c0018f0f0ffff
//寫入目錄基本文件
00dc010c15701361114f09a00000000386980701500450424f43
//應用目錄ADF(3f01)
80e03f01113804f4f0f0957fffa00000000386980701
//選擇應用目錄ADF(3f01)
00a4040009a00000000386980701
//建立ADF->KEY文件
80e00000073f0150FFf0ffff
//應用主控子密鑰DACK_ADF 00
80d401001539f002aa3300000000000000000000000000000000
//消費子密鑰 DPK 00
80d40100153ef002010111111111111111111111111111111111
//消費子密鑰 DPK 01
80d40101153ef002010122222222222222222222222222222222
//圈存子密鑰 DLK 00
80d40100153ff002010133333333333333333333333333333333
//圈存子密鑰 DLK 01
80d40101153ff002010144444444444444444444444444444444
//安裝TAC子密鑰 DTK 00
80d401001534f002010155555555555555555555555555555555
//PIN解鎖子密鑰 DPUK 00
80d401001538f002ffff66666666666666666666666666666666
//PIN重裝子密鑰 DRPK 00
80d401001537f002ffff77777777777777777777777777777777
//應用維護子密鑰DAMK_ADF 00
80d401001536f002ff3388888888888888888888888888888888
//圈提子密鑰 DULK 00
80d40100153df002010199999999999999999999999999999999
//圈提子密鑰 DULK 01
80d40101153df0020101aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
//透支限額子密鑰 DUK 00
80d40100153cf0020101bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
//透支限額子密鑰 DUK 01
80d40101153cf0020101cccccccccccccccccccccccccccccccc
//PIN 00
80d401000b3af0ef0133123456FFFFFF
//創建公共應用基本文件 0015(二進制文件 讀F0寫F0)
80e0001507a8001ef0f0ffff
//寫公共應用基本文件(MAC)
04d6950022112233445566778899aabbccddeeff00112233445566778899aabbccddee6f22aa45
//創建持卡人基本文件 0016 (二進制文件 讀F0寫F0)
80e0001607a80027f0f0ffff
//寫持卡人基本文件
04d6960022112233445566778899aabbccddeeff00112233445566778899aabbccddee0817284e
//創建交易明細文件 0018 (循環記錄文件 讀F1寫EF)
80e00018072e0A17f1efffff
//創建電子存摺文件 0001 (使用、取餘額權"F1")
80e00001072f0208f10f1f18
//創建電子錢包文件 0002 (使用、取餘額權"F0")
80e00002072f0208f0f0ff18
Deselct
實驗十3、CPU卡系統FMCOS用戶卡的消費指令操做
實驗目的
一、瞭解FMCOS文件系統結構
二、瞭解CPU卡的消費過程的流程
三、掌握CPU卡消費指令的使用,並理解每條指令的含義。
四、瞭解DES、MAC碼的計算原理。
實驗器材:
一、RFID讀寫器模塊1臺
二、筆記本電腦或臺式電腦1臺
三、PC機軟件及MINI型USB鏈接線
實驗內容:
一、利用提供的底層程序及據於WINDOS環境下的上位機軟件。
二、開啓讀寫器的USB通訊功能,打開上位機軟件發送CPU卡相關的消費指令,留意讀卡模塊與用戶卡間數據交互過流程(MAC碼計算)。
三、理解卡消費指令的含義,根據返回的響應碼判斷CPU卡是否操做成功。
實驗步驟:
一、
/********消費************/
00a4040009a00000000386980701
805c000204//讀餘額
0020000003123456
//圈存
805000020b000000000F11223344556610
805200000b11223344332211+MAC2
//消費
805001020b02000000011122334455660f
805401000f0000000011223344332211+MAC1
CPU卡綜合消費流程