| |
1、MIFARE® Classic 1k卡的狀態(tài)
(1)、POWER OFF (斷電狀態(tài))
卡片由于缺少射頻磁場(chǎng)能量而處于斷電狀態(tài)卡片不工作。
(2)、IDLE (休眠狀態(tài))
卡片被電磁場(chǎng)能量激活后延遲數(shù)毫秒則進(jìn)入IDLE 狀態(tài),在這一狀態(tài)中能夠解調(diào)讀卡器傳來的調(diào)制信號(hào)并能對(duì)讀卡器的Request 以IDLE 或ALL 方式命令進(jìn)行應(yīng)答。
(3)、READY (就緒狀態(tài))
當(dāng)對(duì)Request 命令進(jìn)行應(yīng)答后就進(jìn)入了READY 狀態(tài),在這一狀態(tài)中可以采用比特幀防沖突算法,當(dāng)卡片的唯一序列號(hào)被讀卡器發(fā)來的Selection 命令選中時(shí)就退出本狀態(tài)。
(4)、ACTIVE (激活狀態(tài))
當(dāng)卡片的唯一序列號(hào)被讀卡器選中時(shí)就進(jìn)入本狀態(tài), 在這一狀態(tài)中卡片完成本次應(yīng)用所要求的全部操作。
(5) HALT 停止?fàn)顟B(tài)
卡片應(yīng)用完成后,讀卡器可通過發(fā)送Halt 命令,使卡片進(jìn)入這一狀態(tài),在這一狀態(tài)中卡片只對(duì)讀卡器以ALL 方式發(fā)送的Request命令進(jìn)行應(yīng)答(或被喚醒),從而又進(jìn)入READY 狀態(tài)。
2、密鑰B的使用
問:一張初始卡用B 密鑰校驗(yàn)后為什么不能對(duì)數(shù)據(jù)塊進(jìn)行讀寫?
答:其實(shí)在MIFARE® Classic 1k卡內(nèi)的MF1 ICS50芯片中,有這樣的安全邏輯關(guān)系:如果密鑰B 可以在相應(yīng)的區(qū)尾被讀出它就不能用于確認(rèn),如果讀寫設(shè)備已用能被讀出密鑰B確認(rèn)任何段,卡會(huì)在確認(rèn)后拒絕任何存儲(chǔ)器的訪問操作。
初始卡中的B密鑰可以通過校驗(yàn)密鑰A而被讀出,因此它不能用于確認(rèn),讀寫設(shè)備可以成功校驗(yàn)該密鑰B,但校驗(yàn)之后的任何數(shù)據(jù)訪問操作將被卡拒絕。
3、值塊(value)的格式
值塊在卡中可以實(shí)現(xiàn)電子錢包的功能,它有一個(gè)固定的格式,可以進(jìn)行錯(cuò)誤檢測(cè)和糾正,在對(duì)其進(jìn)行操作時(shí)需要按照這種格式來進(jìn)行。
值塊的這種標(biāo)準(zhǔn)格式只能在格式化值塊的寫操作時(shí)產(chǎn)生:
1)、Value:表示一個(gè)帶符號(hào)4 字節(jié)值,這個(gè)值的最低一個(gè)字節(jié)保存在最低的地址中,取反的字節(jié)以標(biāo)準(zhǔn)2的格式保存,為了保證數(shù)據(jù)的正確性和保密性,值被保存了3次,兩次不取反保存一次取反保存,
2)、Adr :表示一個(gè)字節(jié)地址,當(dāng)執(zhí)行強(qiáng)大的備份管理時(shí)用于保存存儲(chǔ)段的地址,地址字節(jié)保存了4 次,取反和不取反各保存兩次。在執(zhí)行增減恢復(fù)傳送操作時(shí)地址保持不變,它只能通過寫命令改變。
4、值操作
問:
在對(duì)數(shù)據(jù)塊進(jìn)行值操作時(shí)參數(shù)*_Value 需要減的值應(yīng)該是十進(jìn)制還是十六進(jìn)制
是低位在前還是高位在前例如我要減1000 *_Value 指向的指應(yīng)該是00 00 10 00 或
00 10 00 00 還是應(yīng)該是E8 03 00 00 或 00 00 03 E8 為什么在函數(shù)中您將這幾個(gè)數(shù)倒序賦值即
spi_buffer[DATA+2]=*(temp+3);
spi_buffer[DATA+3]=*(temp+2);
spi_buffer[DATA+4]=*(temp+1);
spi_buffer[DATA+5]=*temp;
答:
這實(shí)際上是高級(jí)語言和機(jī)器語言的轉(zhuǎn)換問題在對(duì)參數(shù)*_Value進(jìn)行賦值時(shí)若要減1000
十進(jìn)制可以是1000 或0x3E8 那么在C51 編譯器編譯后在內(nèi)存中它的存儲(chǔ)方式是
00 00 03 E8 其高位在低地址而低位卻在高地址而卡中這個(gè)數(shù)的存放順序?yàn)镋8 03 00 00
兩者正好位置顛倒因此在函數(shù)中將這幾個(gè)數(shù)倒序賦值.
|
|