日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MIFARE系列5《存储结构》

發(fā)布時(shí)間:2024/1/17 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MIFARE系列5《存储结构》 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ?Mifare S50把1K字節(jié)的容量分為16個(gè)扇區(qū)(Sector0-Sector15)。每一個(gè)扇區(qū)包括4個(gè)數(shù)據(jù)塊(Block0-Block3)。我們也將16個(gè)扇區(qū)的64個(gè)塊按絕對地址編號為0~63。每一個(gè)數(shù)據(jù)塊包括16個(gè)字節(jié)(Byte0-Byte15)。64*16=1024。

? ? ?Mifare S70把4K字節(jié)的容量分為40個(gè)扇區(qū)(Sector0-Sector39),當(dāng)中前32個(gè)扇區(qū)(Sector0-Sector31)的結(jié)構(gòu)和Mifare S50全然一樣,每一個(gè)扇區(qū)包含4個(gè)數(shù)據(jù)塊(Block0-Block3)。后8個(gè)扇區(qū)每一個(gè)扇區(qū)包含16個(gè)數(shù)據(jù)塊(Block0-Block15)。我們也將40個(gè)扇區(qū)的256個(gè)塊按絕對地址編號為0~255。每一個(gè)數(shù)據(jù)塊包含16個(gè)字節(jié)(Byte0-Byte15),256*16=4096。

型號

扇區(qū)號

名稱

絕對塊

Mifare S50

?

? ? ? ? ? ? ? sector0 ? ? ? ? ? ? ? ? ??

廠商代碼 ? ? ? ? ? ? ? ? ? ? ?

B0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

數(shù)據(jù)塊

B1

B2

扇區(qū)尾塊

B3

-

-

-

Sector15

?

數(shù)據(jù)塊

B60

B61

B62

扇區(qū)尾塊

B63

? ? ? ? ? ? ?Mifare S70 ? ? ? ? ? ? ? ?

-

-

-

Sector31

?

數(shù)據(jù)塊

B124

B125

B126

扇區(qū)尾塊

B127

-

-

-

-

-

-

-

-

-

Sector39

?

?

?

?

?

?

數(shù)據(jù)塊

B240

B241

B242

B243

B244

B245

B246

B247

B248

B249

B250

B251

B252

B253

B254

扇區(qū)尾塊

B255




1. 制造商塊

0扇區(qū)0塊是特殊的數(shù)據(jù)塊,用于存放制造商代碼,包含芯片序列號。此塊僅僅讀。出于安全和系統(tǒng)需求,此塊是制造商在生產(chǎn)過程中編程后寫保護(hù)的。



2. 普通數(shù)據(jù)塊

? ? ?普通數(shù)據(jù)塊可通過數(shù)據(jù)塊備份進(jìn)行數(shù)據(jù)完整性的管理。

一般每塊16個(gè)字節(jié)中有兩個(gè)用來存放校驗(yàn)碼和備份塊的地址。各區(qū)均有3個(gè)16字節(jié)的塊用于存儲數(shù)據(jù)(區(qū)0僅僅有兩個(gè)數(shù)據(jù)塊以及一個(gè)僅僅讀的廠商代碼塊)。


數(shù)據(jù)塊可作兩種應(yīng)用:

1)??用作一般的數(shù)據(jù)保存,能夠進(jìn)行讀、寫操作。比如用于非接觸門禁管理。

2)? 用作數(shù)值塊,能夠進(jìn)行加值、減值、轉(zhuǎn)存和恢復(fù)。比如用于電子錢包。可直接控制存儲值,如增值、減值。在用于非充值卡的一種情況(‘001’)下。僅僅能夠讀和減值。在還有一種情況(‘110‘)下。能夠用key B充值。

數(shù)值塊具有電子錢包功能(有效命令:read,write, increment,decrement, restore, transfer)。數(shù)值塊有固定的數(shù)據(jù)格式。它採用冗余存儲方法以保證其數(shù)據(jù)的正確性。

以便于錯(cuò)誤檢測、糾錯(cuò)和備份管理。數(shù)值塊格式例如以下:

? ? ? ? ? 字節(jié)號 ? ? ? ? ??

15 ?

14 ?

13 ?

12 ?

11

10

9 ?

8?

7

6

5

4

3 ??

2?

1 ??

0

存儲形式

VALUE ? ? ? ? ? ? ?

?VALUE-1

VALUE

A

A-1

A

? A-1

? ? ? ? ? ? ? ?說明 ? ? ? ? ? ? ? ? ?

數(shù)值 ?

地址?



?? 數(shù)值:有符號4字節(jié)數(shù)值。數(shù)值的最低字節(jié)存儲在最低地址字節(jié)。負(fù)值以標(biāo)準(zhǔn)的2的補(bǔ)碼形式存儲。出于數(shù)據(jù)完整性和安全原因,數(shù)值存儲三次,兩次不取反,一次取反。

?? 地址(Adr):1字節(jié)地址。當(dāng)進(jìn)行備份管理時(shí),可用于保存塊的地址。地址保存四次。兩次取反,兩次不取反。在increment、decrement、restore和transfer 操作中,地址保持不變。它僅僅能通過write命令更改。



3. 尾塊的讀寫條件

? ? ?對密鑰和控制位的讀寫取決于尾塊(塊3)的訪問控制位,分為“禁止”、“KEYA”、“KEY B”和“KEY A|B”( KEY A或KEY B)。


字節(jié)號

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

? ? ? ? ?說明 ? ? ? ? ?

? 密鑰A ?

讀寫控制

密鑰B(可選)


? ? ? 在每一個(gè)扇區(qū)最后一個(gè)塊即區(qū)尾中存放有密鑰A、訪問條件、密鑰B等內(nèi)容。它們用于控制對該扇區(qū)的操作。

當(dāng)中第0-5字節(jié)為48位的密鑰A;第6-8字節(jié)為訪問控制條件;第9字節(jié)為備用區(qū)可用于存放特殊的應(yīng)用數(shù)據(jù),如存放數(shù)據(jù)備份區(qū)的地址;剩下的6個(gè)字節(jié)存放密鑰B,如用戶不須要密鑰B,則可用于存放一般的應(yīng)用數(shù)據(jù)。因?yàn)閰^(qū)尾中訪問條件的數(shù)據(jù)非常重要,因此使用了冗余存儲的方法。

??

?控制位字節(jié)詳細(xì)說明例如以下:

? ? ? ?bit ? ? ? ? ??

? ? ? ?7 ? ? ? ?

? ? ? ?6 ? ? ? ? ??

? ? ? ?5 ? ? ? ? ? ?

? ? ? ?4 ? ? ? ? ?

? ? ? ?3 ? ? ? ? ? ??

? ? ? ?2 ? ? ? ? ??

? ? ? ?1 ? ? ? ? ?

? ? ? ?0 ? ? ? ? ? ?

字節(jié)6

C23_b

C22_b

C21_b

C20_b

C13_b

C12_b

C11_b

C10_b

字節(jié)7

C13

C12

C11

C10

C33_b

C32_b

C31_b

C30_b

字節(jié)8

C33

C32

C31

C30

C23

C22

C21

C20

字節(jié)9

?

?

?

?

?

?

?

?


比如:M1的卡片初始控制字為:7F078800,我們對它分析例如以下:

字節(jié)6-7F:01111111

字節(jié)7-07:00000111

字節(jié)8-88:10001000

字節(jié)9-00:0000 0000??

那么我們能夠得出:

? ? ? ? ? ? ? ? ? 塊0 ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ?C10 ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? C20 ? ? ? ? ? ? ?

? ? ? ? ? ? C30 ? ? ? ? ? ??

? ? ? ? ? ??0 0 0? ? ? ? ? ??

塊1

C11

C21

C31

0 0 0

塊2

C12

C22

C32

0 0 0

塊3

C13

C23

C33

0 1 1

?

塊3的訪問控制位為011,依據(jù)下表查得:

passwordA:不可讀。驗(yàn)證KEYB正確后。可寫(更改)。

存取控制:驗(yàn)證KEYA或KEYB正確后。可讀。驗(yàn)證KEYB正確后。可寫。

passwordB:不可讀;驗(yàn)證KEYB正確后,可寫。


?訪問控制位 ? ? ? ? ? ? ? ? ? ? ? ? ? ?

所控制的訪問對象

凝視

KEY A

訪問控制位

KEY B

?? ? ?C1 ? ? ? ?

?? ? ?C2 ?

? ? ? ? ??C3 ? ??

? ? ? ? ? ? 讀? ? ? ? ? ??

? ? ? ? ? ??? ? ? ? ? ??

? ? ? ?讀? ? ? ? ?

? ? ? ? ??? ? ? ? ??

? ? ? ?讀? ? ? ? ?

? ? ? ?? ? ? ?

?

0

0

0

禁止

Key A

Key A

Key B

Key A

Key A

Key B可讀 ? ? ? ? ? ? ? ??

0

1

0

禁止

禁止

Key A

禁止

Key A

禁止

Key B可讀

1

0

0

禁止

Key B

Key A|B

禁止

禁止

Key B

?

1

1

0

禁止

禁止

Key A|B

禁止

禁止

禁止

?

0

0

1

禁止

Key A

Key A

Key A

Key A

Key A

Key B可讀

傳輸配置狀態(tài)

0

1

1

禁止

Key B

Key A|B

Key B

禁止

Key B

?

1

0

1

禁止

禁止

Key A|B

Key B

禁止

禁止

?

1

1

1

禁止

禁止

Key A|B

禁止

禁止

禁止

?



4. 數(shù)據(jù)塊的訪問控制條件


訪問控制位

所控制的訪問操作

用途

?? ? ?C1? ??

? ? ? ??C2? ? ? ??

? ? ? ??C3? ? ? ???

? ? ? ? ? ? ? ?讀? ? ? ? ? ? ??

?? ? ? ? ???? ? ? ? ??

?? ? ? ? ??加值?? ? ? ? ??

?? ? ? ? ??減值?? ? ? ? ??

轉(zhuǎn)存

恢復(fù)

?

0

0

0

key A|B1

key A|B1

key A|B1

key A|B1

? ? 傳輸配置狀態(tài) ? ?

0

1

0

key A|B1

key B1

禁止

禁止

讀寫塊

1

0

0

key A|B1

key B1

禁止

禁止

讀寫塊

1

1

0

key A|B1

key B1

key B1

key A|B1

數(shù)值塊

0

0

1

key A|B1

禁止

禁止

key A|B1

數(shù)值塊

0

1

1

key B1

key B1

禁止

禁止

讀寫塊

1

0

1

key B1

禁止

禁止

禁止

讀寫塊

1

1

1

禁止

禁止

禁止

禁止

讀寫塊


注:在傳輸配置狀態(tài)下,必須用key A認(rèn)證。

? ? ? 假設(shè)對應(yīng)扇區(qū)尾塊Key B可讀,則不得用作認(rèn)證。假設(shè)讀寫器試圖用灰色行的訪問控制條件以Key B認(rèn)證不論什么扇區(qū)的不論什么塊。卡將在認(rèn)證后拒絕全部興許存儲器訪問。



文/閆鑫原創(chuàng)???轉(zhuǎn)載請注明出處http://blog.csdn.net/yxstars/article/details/38081521

轉(zhuǎn)載于:https://www.cnblogs.com/bhlsheji/p/5145461.html

總結(jié)

以上是生活随笔為你收集整理的MIFARE系列5《存储结构》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。