01智能卡基礎(chǔ)知識(shí)M1卡_第1頁(yè)
01智能卡基礎(chǔ)知識(shí)M1卡_第2頁(yè)
01智能卡基礎(chǔ)知識(shí)M1卡_第3頁(yè)
01智能卡基礎(chǔ)知識(shí)M1卡_第4頁(yè)
01智能卡基礎(chǔ)知識(shí)M1卡_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

智能卡基礎(chǔ)知識(shí)-M1內(nèi)容概要一、M1卡識(shí)別二、M1卡存儲(chǔ)結(jié)構(gòu)三、M1卡數(shù)據(jù)塊存儲(chǔ)的應(yīng)用介紹四、M1卡認(rèn)證與指令一、M1卡識(shí)別如何識(shí)別出M1卡?M1卡屬于TPYEA卡。可以通過(guò)ATQA編碼識(shí)別: 0200:M1S704K 0400:M1S501K 0800:CPU 4403:DESFireandroid.nfc.tech.NfcA類中g(shù)etAtqa()方法獲取。(ATQA共有16位,根據(jù)bit7和bit8來(lái)判斷是幾級(jí)UID)二、M1卡存儲(chǔ)結(jié)構(gòu)M1卡卡存儲(chǔ)結(jié)構(gòu)M1卡卡存儲(chǔ)介紹M1卡分為16個(gè)扇區(qū),每個(gè)扇區(qū)由4塊(塊0、塊1、塊2、塊3)組成,(也將16個(gè)扇區(qū)的64個(gè)塊按絕對(duì)地址編號(hào)為0~63)第0扇區(qū)的塊0(即絕對(duì)地址0塊),它用于存放廠商代碼,已經(jīng)固化,不可更改。每個(gè)扇區(qū)的塊0、塊1、塊2為數(shù)據(jù)塊,可用于存貯數(shù)據(jù)。(數(shù)據(jù)塊可作兩種應(yīng)用:數(shù)據(jù)保存和數(shù)據(jù)值操作)每個(gè)扇區(qū)的塊3為控制塊,包括了密碼A、存取控制、密碼B。三、M1卡數(shù)據(jù)存儲(chǔ)的應(yīng)用介紹數(shù)據(jù)存儲(chǔ)區(qū)塊0、1、2存儲(chǔ)數(shù)據(jù)。塊3為控制塊,包括了密碼A、存取控制、密碼B,例如:KeyA 控制字節(jié) KeyBA0A1A2A3A4A5FF078069B0B1B2B3B4B5數(shù)據(jù)值存儲(chǔ)結(jié)構(gòu):例如某一存儲(chǔ)塊數(shù)據(jù)為:00000001FFFFFFFE0000000100FF00FF那么數(shù)據(jù)值為1。00FF00FF可以做校驗(yàn)位,可以為固定值。一般應(yīng)用于錢(qián)包,存儲(chǔ)金額數(shù)值??刂谱止?jié)介紹每個(gè)塊都有相應(yīng)的三個(gè)控制位,定義如下:塊0:C10C20C30塊1:C11C21C31塊2:C12C22C32塊3:C13C23C33控制字節(jié)介紹

控制位(X=0..2)

訪問(wèn)條件(對(duì)數(shù)據(jù)塊0、1、2)C1XC2XC3X

ReadWriteIncrementDecrement,transfer,Restore000KeyA|BKeyA|BKeyA|BKeyA|B010KeyA|BNeverNeverNever100KeyA|BKeyBNeverNever110KeyA|BKeyBKeyBKeyA|B001KeyA|BNeverNeverKeyA|B011KeyBKeyBNeverNever101KeyBNeverNeverNever111NeverNeverNeverNever

密碼A存取控制密碼BC13C23C33ReadWriteReadWriteReadWrite000NeverKeyA|BKeyA|BNeverKeyA|BKeyA|B010NeverNeverKeyA|BNeverKeyA|BNever100NeverKeyBKeyA|BNeverNeverKeyB110NeverNeverKeyA|BNeverNeverNever001NeverKeyA|BKeyA|BKeyA|BKeyA|BKeyA|B011NeverKeyBKeyA|BKeyBNeverKeyB101NeverNeverKeyA|BKeyBNeverNever111NeverNeverKeyA|BNeverNeverNever數(shù)據(jù)塊存取控制:控制塊存取控制:控制字節(jié)舉例舉例:存取控制字為:FF07806911111111000001111000000001101001對(duì)照右圖標(biāo)得:塊0:C10C20C30=000塊1:C11C21C31=000塊2:C12C22C32=000塊3:C13C23C33=001例如:當(dāng)塊0的存取控制位C10C20C30=100時(shí),驗(yàn)證密碼A或密碼B正確后可讀;驗(yàn)證密碼B正確后可寫(xiě);不能進(jìn)行加值、減值操作。例如:當(dāng)塊3的存取控制位C13C23C33=100時(shí),表示:密碼A:不可讀,驗(yàn)證KEYA或KEYB正確后,可寫(xiě)(更改)。存取控制:驗(yàn)證KEYA或KEYB正確后,可讀、可寫(xiě)。密碼B:驗(yàn)證KEYA或KEYB正確后,可讀、可寫(xiě)。四、M1卡認(rèn)證與指令KeyA、KeyB的認(rèn)證三次互相確認(rèn)(3PassAuthentication): PCD PICC Auth(6xxx) —> <— RNG(B) TOKEN(AB)—>

<— TOKEN(BA)android.nfc.tech.MifareClassic類中封裝為:authenticateSectorWithKeyA()authenticateSectorWithKeyB()卡操作指令:對(duì)數(shù)據(jù)塊的操作讀(Read):讀一個(gè)塊;寫(xiě)(Write):寫(xiě)一個(gè)塊;加(Increment):對(duì)數(shù)值塊進(jìn)行加值;減(Decrement):對(duì)數(shù)值塊進(jìn)行減值;存儲(chǔ)(Restore):將塊中的內(nèi)容存到數(shù)據(jù)寄存器中;傳輸(Transfer):將數(shù)據(jù)寄存器中的內(nèi)容寫(xiě)入塊中;中止(Halt):將卡置于暫停工作狀態(tài);卡操作指令舉例:讀第01塊數(shù)據(jù):發(fā)送:3001返回:00000000000000000000000000000000對(duì)于AndroidNFC操作卡片,MifareClassic類封裝了所有操作指令。authenticateSectorWithKeyA();//keyA認(rèn)證(入?yún)?扇區(qū)號(hào)、keyA)authenticateSectorWithKeyB();//keyB認(rèn)證(入?yún)?扇區(qū)號(hào)、keyB)readBlock();//讀數(shù)據(jù)(入?yún)?塊號(hào))writeBlock();//寫(xiě)數(shù)據(jù)(入?yún)?塊號(hào)、16字節(jié)數(shù)據(jù))increment();//加值(入?yún)?塊號(hào)、加的值decrement();//減值(入?yún)?塊號(hào)、減的值)transfer();//傳輸

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論