NXP Miafre 1 S50感應(yīng)式IC卡相關(guān)知識
簡介
NXP Miafre 1 S50感應(yīng)式IC卡是NXP旗下的一款應(yīng)用非常廣泛的非接觸式IC卡,其主要電氣特征如下:
芯片: Philips Mifare 1 S50
存儲容量:8Kbit,16個分區(qū),每分區(qū)兩組密碼
工作頻率:13.56 MHz
通訊速率:106KBoud
讀寫距離:2.5~10cm
讀寫時間:1~2ms
工作溫度:-20℃~85℃
擦寫壽命:>100,000次
數(shù)據(jù)保存:>10年
外形尺寸:ISO標(biāo)準(zhǔn)卡 85.6x54x0.80 / 厚卡 / 異形卡
封裝材料:PVC、ABS、PET、PETG、0.13mm銅線
封裝工藝:超聲波自動植線 / 自動碰焊
執(zhí)行標(biāo)準(zhǔn):ISO 14443,ISO 10536
典型應(yīng)用:企業(yè)/校園一卡通、公交儲值卡、高速公路收費(fèi)、停車場、小區(qū)管理等
Mifare S50把1K字節(jié)的容量分為16個扇區(qū)(Sector0-Sector15),每個扇區(qū)包括4個數(shù)據(jù)塊(Block0-Block3,我們也將16個扇區(qū)的64個塊按絕對地址編號為0~63),每個數(shù)據(jù)塊包含16個字節(jié)(Byte0-Byte15),64*16=1024。
扇區(qū)號 | 塊號 | 塊類型 | 總塊號 | |
扇區(qū)0 | 塊0 | 廠商代碼 | 廠商塊 | 0 |
塊1 | 數(shù)據(jù)塊 | 1 | ||
塊2 | 數(shù)據(jù)塊 | 2 | ||
塊3 | 密碼A 存取控制 密碼B | 控制塊 | 3 | |
扇區(qū)1 | 塊0 | 數(shù)據(jù)塊 | 4 | |
塊1 | 數(shù)據(jù)塊 | 5 | ||
塊2 | 數(shù)據(jù)塊 | 6 | ||
塊3 | 密碼A 存取控制 密碼B | 控制塊 | 7 | |
... | ... | ... | ... | ... |
扇區(qū)15 | 塊0 | 數(shù)據(jù)塊 | 60 | |
塊1 | 數(shù)據(jù)塊 | 61 | ||
塊2 | 數(shù)據(jù)塊 | 62 | ||
塊3 | 密碼A 存取控制 密碼B | 控制塊 | 63 |
1 特征
1.1MIFARERF 接口ISO/IEC 14443A
無線傳送數(shù)據(jù)和能量不需要電池
工作距離最高可達(dá)100mm
由天線的結(jié)構(gòu)geometry 決定
工作頻率13.56MHz
數(shù)據(jù)傳送速度快106kbit/s
數(shù)據(jù)高度可靠正確16 位CRC 奇偶校驗位編碼位計數(shù)
真正的反沖突
典型的購票處理ticketing transaction<100ms 包括備份管理
1.2 EEPROM
1K 字節(jié)分成16 個區(qū)每區(qū)又分成4 段每一段中有16 個字節(jié)
用戶可以定義每一個存儲器段的訪問條件
數(shù)據(jù)可以保持10 年 可寫100,000 次
1.3保密性Security)
需要通過3 輪確認(rèn)ISO/IEC DIS9798-2 Mutual three pass authentication RF
信道的數(shù)據(jù)加密有重放攻擊保護(hù), 每個區(qū)有兩套獨立的密鑰每應(yīng)用支持帶密鑰層次的多應(yīng)用support multi-application with key hierarchy ,每個設(shè)備有唯一的序列號
在運(yùn)輸過程中訪問EEPROM有傳輸密鑰保護(hù)
2 總體描述
根據(jù)ISO/IEC 14443A 標(biāo)準(zhǔn)Philips 開發(fā)了無線智能卡芯片Mifare MF1 IC S50 非接觸式IC卡 這個芯片的通訊層 Mifareè RF 接口遵從ISO/IEC 14443A 標(biāo)準(zhǔn)的第2 部分和第3 部分保密層security layer 使用經(jīng) 區(qū)域驗證的CRYPTO1 流密碼field-proven CRYPTO1 stream cipher, 使典型Mifare系列芯片的數(shù)據(jù)交換得到保密。
2.1 無線傳送數(shù)據(jù)和能量
Mifare系統(tǒng)中MF1 IC S50 連接著幾匝線圈線圈嵌入到塑料中這就形成了一張無源的無線智能卡,這種卡不需要電池當(dāng)智能卡靠近讀寫裝置Read Write Device RWD 的天線時高速RF通訊接口可以以106kBit/s 的速度傳送數(shù)據(jù)
2.2 反沖突
智能的反沖突功能允許同一工作區(qū)域中有不止一張卡同時工作反沖突算法每次只選擇一張卡確保 對被選中的卡正確執(zhí)行操作而且同一區(qū)域中的其他卡不會破壞數(shù)據(jù)
2.3 用戶更方便
系統(tǒng)的設(shè)計使用戶更加方便由于數(shù)據(jù)傳送速率很高它可以使整個買票過程在小于100ms 中完成 這樣Mifareè卡用戶就不需要停在RWD 前面增大了通道門的吞吐量減少了上公共汽車的時間 如果卡放在錢包中錢包中甚至有硬幣也可以進(jìn)行交易
2.4 保密性
這個卡一個特殊的要點是保密防止欺騙相互詢問Mutual challenge 和響應(yīng)確認(rèn)數(shù)據(jù)保密和報 文確認(rèn)檢查防止系統(tǒng)受到任何干擾使購票應(yīng)用更有吸引力序列號不可修改保證了每張卡都是唯一的
2.5 多應(yīng)用功能
和處理器卡processor card 的功能相比較Mifareè系統(tǒng)提供了一個實時的多應(yīng)用功能每區(qū)有兩 個不同的密鑰這樣系統(tǒng)可以使用密鑰層次
MIFARE card
MIFARE card reader
2.6 發(fā)貨選項
晶片電路
突出的晶片電路
芯片卡模塊
3 功能描述
3.1 方框圖描述
MFI IC S50 由1KB 的EEPROM RF 接口和數(shù)字式控制單元組成能量和數(shù)據(jù)都通過天線傳送天 線由幾匝線圈組成并直接連到MF1 IC S50 不需要其他外部元件詳細(xì)的天線設(shè)計資料請參考Mifareè 卡IC 線圈設(shè)計指南
RF 接口
調(diào)制器解調(diào)器
整流器
時鐘再生器Clock Regenerator
上電復(fù)位
電壓調(diào)整器
反沖突在同一區(qū)域中的卡可以被順序選中執(zhí)行操作
確認(rèn)確認(rèn)過程確保只有通過每個段的兩個密鑰才能對這個段進(jìn)行任何存儲器操作
控制和算術(shù)邏輯單元值以特殊的冗余格式special redundant format 保存而且可以增加和減少
EEPROM 接口
Crypto 單元Mifare經(jīng)典系列經(jīng)區(qū)域驗證的CRYPTO1 流密碼field-proven CRYPTO1 stream cipher 確保數(shù)據(jù)交換的保密性 EEPROM 有1K 字節(jié)分成16 個區(qū)每區(qū)又分成4 段每一段中有16 個字節(jié)每個區(qū)的最后 一個段叫尾部它包括兩個密鑰和這個區(qū)中每一個段的訪問條件可編程
collision
Authenti-
3.2 通訊原理
通訊命令由RWD 初始化并由MF1 IC S50 的數(shù)字式控制單元根據(jù)相應(yīng)區(qū)的有效訪問條件來控制
3.2.1
請求標(biāo)準(zhǔn)所有 卡上電復(fù)位POR 后它可以給請求代碼發(fā)送回應(yīng)ATQA 根據(jù)ISO/IEC 14443A 回復(fù)RWD 的 請求命令由RWD 發(fā)出給所有在天線范圍內(nèi)的卡
3.2.2 反沖突環(huán)
反沖突環(huán)可以讀出卡的序列號如果在RWD 的工作范圍內(nèi)有幾張卡RWD 通過唯一的序列號來區(qū)別 它們而且每次選擇其中一張卡也叫選擇卡進(jìn)行下一步操作沒有被選中的卡會回到準(zhǔn)備模式等待新的 請求命令
3.2.3 選擇卡
RWD 使用選擇卡命令選中其中一張卡進(jìn)行確認(rèn)和存儲器相關(guān)操作卡返回Answer To Select ATS 碼=08h RWD 通過ATS 可以確定被選中的卡的類型如果需要更詳細(xì)的資料請參考Mifareè標(biāo)準(zhǔn)卡類 型識別過程
3.2.4 3輪確認(rèn)
選中了一張卡之后RWD 指出了接著要訪問的存儲器位置然后使用相應(yīng)的密鑰進(jìn)行3 輪確認(rèn)在 成功確認(rèn)后所有的存儲器操作都是保密的。
Request Standard Request All
Get Serial Number
Select Card s
ector specific
Block Block
ment ment store Halt
Transfer
Identification and Selection
Procedure
3 ms without collision
+ 1 ms for each collision
2 ms Memory Operations
2.5 ms read block
6.0 ms write block POR
3.2.5 存儲器操作
確認(rèn)之后可以執(zhí)行以下的任何操作
讀存儲器段
寫存儲器段
減減存儲器段的內(nèi)容并將結(jié)果保存在臨時的內(nèi)部數(shù)據(jù)寄存器中
增增加存儲器段的內(nèi)容并將結(jié)果保存在數(shù)據(jù)寄存器中
恢復(fù)將存儲器段的內(nèi)容移到數(shù)據(jù)寄存器
傳送將臨時內(nèi)部數(shù)據(jù)寄存器的內(nèi)容寫到值存儲器段中
3.3 數(shù)據(jù)可靠正確性
RWD 和卡之間的無線通訊鏈路使用了以下的機(jī)制確保數(shù)據(jù)可靠地傳輸
每個段16 位CRC
每個字節(jié)都有奇偶校驗位
位計數(shù)檢查
用位編碼區(qū)別1 0 和沒有信息
信道監(jiān)控協(xié)議序列和位流分析
3.4 保密性
根據(jù)ISO 9798-2 使用3 輪確認(rèn)保密級別很高
3.4.1 3 輪確認(rèn)的順序
a)RWD 指定要訪問的區(qū)并選擇密鑰A 或密鑰B
b) 卡從區(qū)尾讀出密鑰和訪問條件然后卡發(fā)送一個隨機(jī)數(shù)作為詢問challenge 到RWD 第 一輪
c) RWD 用密鑰和附加輸入計算響應(yīng)然后將響應(yīng)和RWD 的隨機(jī)詢問一起發(fā)送到卡中第二輪
d) 卡用自己的詢問和RWD 的響應(yīng)相比較確認(rèn)RWD 的響應(yīng)然后卡計算詢問的響應(yīng)并發(fā)送出去
第三輪The card verifies the response of the RWD by comparing it with its own challenge and then it calculates the response to chanllenge and transmits it.
e) RWD 用自己的詢問和卡的響應(yīng)相比較確認(rèn)卡的響應(yīng)the RWD verifies the response of the card by comparing it to its own challenge
在發(fā)送第一個隨機(jī)的詢問之后卡和RWD 之間的通訊是保密的
3.5 RF 接口
RF 接口是根據(jù)無線智能卡標(biāo)準(zhǔn)ISO/IEC 14443A 設(shè)計的
RWD 的載波區(qū)一直存在在傳送時會有短暫暫??ǖ哪芰繌妮d波區(qū)獲得
在兩個方向的數(shù)據(jù)通訊中在每個幀的開始都有只一個起始位每個字節(jié)在傳送時最后都有一個奇偶
校驗位奇校驗所選段最低地址的字節(jié)最低位LSB 被首先發(fā)送最大的幀長度是163 位16 個數(shù)
據(jù)字節(jié)2CRC 字節(jié)16*9+2*9+1 個起始位
3.6 存儲器結(jié)構(gòu)
1024x8 位的EEPROM 存儲器被分成16 個區(qū)每個區(qū)中有4 個段每段有16 字節(jié) 在擦除狀態(tài)時讀EEPROM 單元的值是邏輯0 在寫狀態(tài)時讀EEPROM 單元的值是邏輯1
1
Byte Number within a Block
0 2 3 4 5 6 7 8 9 10 11 12 13 14 15
: :
: :
3.6.1 廠商段
廠商段是存儲器第一個區(qū)的第一個數(shù)據(jù)段段0 它包含了IC 卡廠商的數(shù)據(jù)基于保密性和系統(tǒng)的
安全性這一段在IC 卡廠商編程之后被置為寫保護(hù)
3.6.2 數(shù)據(jù)段
所有的區(qū)都包含3 個段每段16 字節(jié)保存數(shù)據(jù)區(qū)0 只有兩個數(shù)據(jù)段和一個只讀的廠商段 數(shù)據(jù)段可以被以下的訪問位access bits 配置 讀寫段用于譬如無線訪問控制 值段用于譬如電子錢包它需要額外的命令像直接控制保存值的增加和減少 在執(zhí)行任何存儲器操作前都要先執(zhí)行確認(rèn)命令
3.6.2.1 值段
值段可以實現(xiàn)電子錢包的功能有效的命令有讀寫增減恢復(fù)發(fā)送
值段有一個固定的數(shù)據(jù)格式可以進(jìn)行錯誤檢測和糾正并備份管理
值段只能在值段格式的寫操作時產(chǎn)生
值表示一個帶符號4 字節(jié)值這個值的最低一個字節(jié)保存在最低的地址中取反的字節(jié)以標(biāo)準(zhǔn) 2 的格式保存為了保證數(shù)據(jù)的正確性和保密性值被保存了3 次兩次不取反保存一次取反保存
Adr 表示一個1 字節(jié)地址當(dāng)執(zhí)行強(qiáng)大的備份管理時用于保存存儲段的地址地址字節(jié)保存了4 次取反和不取反各保存兩次在執(zhí)行增減恢復(fù)傳送操作時地址保持不變它只能通過寫命令改變
3.6.3 區(qū)尾段3
每個區(qū)都有一個區(qū)尾它包括
密鑰A 和B 可選讀密鑰時返回邏輯0
訪問這個區(qū)中4 個段的條件保存在第6 字節(jié)第9 字節(jié)訪問位access bits 也可以指出數(shù) 據(jù)段的類型讀寫或值
如果不需要密鑰B 那么段3 的最后6 字節(jié)可以作為數(shù)據(jù)字節(jié)
用戶數(shù)據(jù)可以使用區(qū)尾的第9 字節(jié)這個字節(jié)具有和字節(jié)6 7 和8 一樣的訪問權(quán)
3.7 訪問存儲器
在執(zhí)行任何存儲器操作以前卡必須要被選中并經(jīng)過確認(rèn)
編址段可能的存儲器操作要根據(jù)使用的密鑰和保存在相應(yīng)區(qū)尾的訪問條件決定
存儲器操作
操作 描述 有效的段類型
讀 讀一個存儲器段讀寫值和區(qū)尾
寫 寫一個存儲器段 讀寫值和區(qū)尾
增 增加段的內(nèi)容并將結(jié)果保存在內(nèi)部數(shù)據(jù)寄存器
減 減段的內(nèi)容并將結(jié)果保存在內(nèi)部數(shù)據(jù)寄存器
值
傳送 將內(nèi)部數(shù)據(jù)寄存器的內(nèi)容寫 到段中
值 恢復(fù) 將段的內(nèi)容讀到內(nèi)部數(shù)據(jù)寄 存器中
值
3.7.1 訪問條件
每個數(shù)據(jù)段和區(qū)尾的訪問條件由3 個位來定義它們以取反和不取反的形式保存在指定區(qū)的區(qū)尾中 訪問位控制了使用密鑰A 和B 訪問存儲器的權(quán)力當(dāng)知道相關(guān)的密鑰和當(dāng)前的訪問條件時可以修改 訪問條件
注在下面的描述中訪問位是以不取反的形式顯示
MF1 IC S50 的內(nèi)部邏輯確保命令只在確認(rèn)完畢后執(zhí)行否則不會執(zhí)行
訪問位 有效命令 段 描述
C13C23C33 讀寫 3 區(qū)尾
C12C22C32 讀寫增減傳送恢復(fù) 2 數(shù)據(jù)段
C11C21C31 讀寫增減傳送恢復(fù) 1 數(shù)據(jù)段
C10C20C30 讀寫增減傳送恢復(fù) 0 數(shù)據(jù)段
注存儲器訪問外部邏輯時檢查訪問條件的格式如果它檢測到格式被破壞整個區(qū)是不可逆的分塊 if it detects a format violation the whole sector is irreversible blocked.
3.7.2 區(qū)尾的訪問條件
區(qū)尾段3 的訪問位密鑰和訪問位的讀寫訪問可分為從不密鑰A 密鑰B 或密鑰A|B 密鑰A 或密鑰B
在片給區(qū)尾和密鑰A 傳送訪問條件被預(yù)定義為傳送配置由于密鑰B 可以在傳輸配置中被讀出新的 卡要用密鑰A 確認(rèn)
由于訪問位可以被阻塞在個人化卡的時候要特別注意
訪問位 訪問條件
密鑰A 訪問位 密鑰B
注釋 C1 C2 C3 讀 寫 讀 寫 讀 寫
0 0 0 從不 密鑰A 密鑰A 從不 密鑰A 密鑰A 密鑰B 可以被讀 0 1 0 從不 從不 密鑰A 從不 密鑰A 從不 密鑰B 可以被讀
1 0 0 從不 密鑰B 密鑰A|B 從不 從不 密鑰B
1 1 0 從不 從不 密鑰A|B 從不 從不 從不
0 0 1 從不 密鑰A 密鑰A 密鑰A 密鑰A 密鑰A 密鑰B 可以被讀 傳輸配置
0 1 1 從不 密鑰B 密鑰A|B 密鑰B 從不 密鑰B
1 0 1 從不 從不 密鑰A|B 密鑰B 從不 從不
1 1 1 從不 從不 密鑰A|B 從不 從不 從不
注用灰色標(biāo)明的行是密鑰B 可被讀的訪問條件此時密鑰B 可以存放數(shù)據(jù)
3.7.3 數(shù)據(jù)段的訪問條件
數(shù)據(jù)段段0 2 的訪問位讀寫訪問可分為從不密鑰A 密鑰B 或密鑰A|B 密鑰 A 或密鑰B 相關(guān)訪問位的設(shè)置定義了應(yīng)用以及相應(yīng)的應(yīng)用命令
讀寫段可以進(jìn)行讀和寫操作
值段可以進(jìn)行增減傳送和恢復(fù)的值操作其中一種情況中001 只能對不可再充電的卡進(jìn)行讀和減操作另一種情況中110 使用密鑰B 可以再充電
廠商段無論設(shè)置任何的訪問位這段都是只讀
密鑰管理在傳輸配置中密鑰A 必須用于確認(rèn)1
訪問位 訪問條件 應(yīng)用
C1 C2 C3 讀 寫 增 減傳送
恢復(fù)
0 0 0 密鑰A|B1 密鑰A|B1 密鑰A|B1 密鑰A|B1 傳送配置
0 1 0 密鑰A|B1 從不 從不 從不 讀寫段
1 0 0 密鑰A|B1 密鑰B1 從不 從不 讀寫段
1 1 0 密鑰A|B1 密鑰B1 密鑰B1 密鑰A|B1 值段
0 0 1 密鑰A|B1 從不 從不 密鑰A|B1 值段
0 1 1 密鑰B1 密鑰B1 從不 從不 讀寫段
1 0 1 密鑰B1 從不 從不 從不 讀寫段
1 1 1 從不 從不 從不 從不 讀寫段 1
如果密鑰B 可以在相應(yīng)的區(qū)尾被讀出它就不能用于確認(rèn)在前面所有表中的灰色行結(jié)果如果RWD 要用這些帶 灰色標(biāo)記的訪問條件的密鑰B 確認(rèn)任何段卡會在確認(rèn)后拒絕任何存儲器訪問操作.