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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Mifare l射频卡初始值及其相关说明

發布時間:2023/12/20 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mifare l射频卡初始值及其相关说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Mifare l射頻卡初始值及相關說明

【本說明是Mifare 1 訂貨合同不可缺少的技術性文檔附件】

電氣特性:

容量為8KEEPrOM

分為16個扇區,每個扇區為4塊,每塊16個字節,以塊為存取單位;

每個扇區有獨立的一組密碼及訪問控制;

每張卡有唯一序列號,為32位;

具有防沖突機制,支持多卡操作;

無電源,自帶天線,內含加密控制邏輯和通訊邏輯電路;

工作溫度:-20℃50℃

工作頻率:13.56MHZ

通信速率:106KBPS

讀寫距離:可達10mm(與讀寫器以及卡天線尺寸有關)

數據保存期為10年,可改寫10萬次,讀不限次。

?

工作原理:

片由一個卷繞天線和特定用途集成電路模塊組成。其中,模塊由一個高速(106KB波特率)RF接口。一個控制單元和一個8KE2PROM組成。讀寫器向MF1卡發出一組固定頻率(13.56MHZ)的電磁波,片內有一個LC串聯諧振電路,其頻率與讀寫器發射的頻率相同,在電磁波的激勵下,LC諧振電路產生共振,從而使諧振電容內有了電荷,在這個電容的另一端,接有一個單向導通的電子泵,將電容內的電荷送到模塊存儲電容內儲存,當所積累的電荷達到2V以上時,此電容可作為電源向模塊電路提供工作電壓,將內數據發射出去或接收讀寫器的數據。

?

存儲結構:

MF1卡分為16個扇區,每區有4(0~塊3),共64塊,按塊號編址為063。第0扇區的塊0(即絕對地址塊0)用于存放芯片商,卡商相關代碼,已經固化不可更改。其他各扇區的塊0,塊1,塊2為數據塊,用于存貯用戶數據;塊3為各扇區控制塊,用于存放密碼A,存取控制條件設置,密碼B。各區控制塊結構相同,如下所示:

各區控制塊3 結構

字節號

0 1 2 3 4 5

6 7 8 9

10 11 12 13 14 15

控制值

FF FF FF FF FF FF FF

07 80 69

FF FF FF FF FF FF

說明

密碼A(05字節)

存取控制(69字節)

密碼B(1015字節)

?

控制屬性:

每個扇區的用戶密碼和存取控制條件都是獨立設置的,可以根據實際需要設定各自的密碼及存取控制。在存取控制中,每個塊都有三個控制位相對應,用以決定某數據塊或控制塊的讀寫條件,定義為:"CXxy",見表1所示。

其中CX代表每塊控制位號(C1C3)x代表某塊所屬扇區號(015) y代表該扇區內某塊號。例如C1x2 即為x扇區內塊2的第1控制位,余此類推。

注:控制位的設置存放在存取控制字節中,見表2所示。
1:控制位定義"CXxy"

0

C1x0

C2x0

C3x0

用戶數據塊,(00塊除外)

1

C1x1

C2x1

C3x1

用戶數據塊

2

C1x2

C2x2

C3x2

用戶數據塊

3

C1x3

C2x3

C3x3

密匙存取控制塊

?

2:三個控制位在存取控制字節中的位置(注:" _b" 表示取反)

位號

字節號 ?

bit 7

6

5

4

3

2

1

0

字節6

C2x3_b

C2x2_b

C2x1_b

C2x0_b

C1x3_b

C1x2_b

C1x1_b

C1x0_b

字節7

C1x3

C1x2

C1x1

C1x0

C3x3_b

C3x2_b

C3x1_b

C3x0_b

字節8

C3x3

C3x2

C3x1

C3x0

C2x3

C2x2

C2x1

C2x0

字節9

BX7

BX6

BX5

BX4

BX3

BX2

BX1

BX0

所屬塊

3控制位

2控制位

1控制位

0控制位

3控制位

2控制位

1控制位

0控制位

?

各扇區數據塊0~塊2三個控制位以正反兩種形式存在于塊3存取控制字節中,它決定了該塊的訪問權限(例如進行減值及初始化值操作必須驗證KEY A,進行加值操作必須驗證KEY B,等等)。三個控制位在存取控制字節(69字節)中的權限如下(陰影區的存取控制為廠商初始值;字節9為備用字節,默認值為69)

注釋:表3中,KeyA|B表示密碼A或密碼BNever表示沒有條件實現。

3:數據塊的存取控制權限(x=015扇區; y=0,塊1,塊2)

C1xy C2xy C3xy

加值

減值,初始化

0 0 0

KeyA|B

KeyA|B

KeyA|B

KeyA|B

0 1 0

KeyA|B

Never

Never

Never

1 0 0

KeyA|B

KeyB

Never

Never

1 0 0

KeyA|B

KeyB

KeyB

KeyA|B

0 0 1

KeyA|B

Never

Never

KeyA|B

0 1 1

KeyB

KeyB

Never

Never

1 0 1

KeyB

Never

Never

Never

1 1 1

Never

Never

Never

Never

??

?例如,某區塊的3個存取控制位C1xyC2xyC3xy=000(廠商預設的初始值,見陰影區),驗證密碼A或密碼B正確后可讀出/可寫入/可加值/減值及初始化操作。該初始值主要供制卡和發卡商檢測心片功能使用,確認所有讀寫/加密功能均正常(存取控制初始值"ff078069",請參考"步驟舉例"自行驗算)后,再依據使用需要和參照表45設置新的存取控制權限值,進行用戶數據操作和修改新的用戶密碼。

再如當某區塊0的存取控制位C10C20C30的設置均=100時,驗證密碼A或密碼B正確后可讀出其數據;只有驗證密碼B正確后才可允許改寫數據;不能進行加值,減值等操作。

以廠商初始值"FF 07 80 69"為例,說明存取控制條件對數據塊的影響。初始存取控制默認值(C1x0C2x0C3x0=000C1x1C2x1C3x1=000C1x2C2x2C3x2=000C1x3C2x3C3x3=001)KeyAKeyB默認值(由廠商提供,通常為:ffffffffffff)。那么塊3中,廠商初始的存取控制值如下表所示:

43中廠商初始存取控制值(-號表示需要取反)

Bit#

7

6

5

4

3

2

1

0

字節6

1-

1-

1-

1-

1-

1-

1-

1-

字節7

0

0

0

0

0-

1-

1-

1-

字節8

1

0

0

0

0

0

0

0

?

CXx3

CXx2

CXx1

CXx0

CXx3

CXx2

CXx1

CXx0

?

如果用戶要讀到塊1的內容,對照表4和查對表3可知,當存取控制C1x1C2x1C3x1=000時,必需正確校驗KEY AKEY B后才可允許讀取塊1的內容,否則,MF1讀寫器會因校驗某區密碼出錯而無法讀取和傳送數據!以此類推,用戶要進行其它操作時,可根據存取條件,對照表24來決定其操作權限。
??
5列出了飛利浦公司對MF18種控制位設置值所對應的存取控制權限表,供發商及用戶設置MF1使用權限時參考,其釋義如下:
5:塊3的存取控制權限(供發商及用戶設置權限時參考)

控制位設置值

密碼A權限

存取控制權限

密碼B權限

C1x3

C2x3

C3x3

0

0

0

Never

KeyA

KeyA

Never

KeyA

KeyA

0

1

0

Never

Never

KeyA

Never

KeyA

Never

1

0

0

Never

KeyB

KeyA|B

Never

Never

KeyB

1

1

0

Never

Never

KeyA|B

Never

Never

Never

0

0

1

Never

KeyA

KeyA

KeyA

KeyA

KeyA

0

1

1

Never

KeyB

KeyA|B

KeyB

Never

KeyB

1

0

1

Never

Never

KeyA|B

KeyB

Never

Never

1

1

1

Never

Never

KeyA|B

Never

Never

Never

例如:當塊3的存取控制位C13C23 C33 = 100時,表示:密碼A:不可讀(隱藏),驗證KEYB正確后,可寫(或更改);存取控制:驗證KEYAKEYB正確后,可讀不可寫(寫保護);密碼B:不可讀,驗證KEYB正確后可寫。

又如:當塊3的存取控制位C13C23 C33 = 110或者111時,除存取控制值需要在驗證KEYAKEYB正確后僅僅可讀外,其它如存取控制值的改寫,密碼A,密碼B的讀寫權限均被鎖死而無法訪問!

?

?

?

?

?

?

?

?

?

?

?

?

?

?

MF1卡修改各區塊控制位值和數據——舉例

(),以常用設置"08 77 8F 69"控制條件為例,先搞清楚它――具有的訪問權限。
1
、對"08 77 8F 69"值進行計算,該值定位于各區塊36789四個字節內,字節6=08,字節7=77
字節8=8F,字節9=69(默認值,不予計算)
2
、例如:字節6=08,對應其二進制值=00001000則對678這三個字節進行二進制轉換結果見下表:

字節6 = 0 0 0 0 1 0 0 0

字節7 = 0 1 1 1 0 1 1 1

字節8 = 1 0 0 0 1 1 1 1


3
、參照表2及表4算法,字節6的全部二進制值取反,字節7的低四位二進制值取反,字節8不變,得到:

字節號

對應二進制值

位置

4

位置

4

字節6
字節7
字節8

0 0 0 0 1 0 0 0
0 1 1 1 0 1 1 1
1 0 0 0 1 1 1 1

C2Y
C1Y
C3Y

1 1 1 1
0 1 1 1
1 0 0 0

C1Y
C3Y
C2Y

0 1 1 1
1 0 0 0
1 1 1 1

3 2 1 0

?

3 2 1 0

?

4、對以上678字節的存取/控制二進制已取反值,依照表2,表4塊位轉換為各塊控制值,如下表:

3

字節7,字節6,字節8 = C13C23C33 = C1YC2YC3Y = 0 1 1

2
1
0

字節7,字節6,字節8 = C12C22C32 = C1YC2YC3Y = 1 1 0

字節7,字節6,字節8 = C11C21C31 = C1YC2YC3Y = 1 1 0

字節7,字節6,字節8 = C10C20C30 = C1YC2YC3Y = 1 1 0

注意:4位的各塊值=4位的各塊值時,其值可用。高4位值4位值時,其值不可用!
5
、查對訪問權限(數據存取控制依照表3,塊3存取控制依照表5),該例"08 77 8F 69"的訪問權限為:
3 = 011:權限為:KeyAKeyB均不可讀,驗證KeyB正確后可改寫KeyAKeyB,驗證KeyAKeyB正確后可讀"控制位"。在此可見密鑰KeyB的重要性,KeyB不正確是無法看到塊3控制值,更無法修改密鑰。

2 = 1 = 0 =110:權限為:驗證KeyAKeyB后可讀該塊數據,減值以及初始化值,只有驗證KeyB 正確后才可改寫該塊數據,在此可以看到密鑰KeyB對改寫數據塊也起著關鍵性作用。
(
)、"08 77 8F 69" 控制條件設置步驟:
()可知:KeyB設置后為不可讀,并且改寫數據和改寫控制位都需要正確驗證它,故KeyB設置后程序
操作員必須妥善保管KeyB值,否則以后改寫數據和控制位時,不正確的KeyB值將無法實現卡的任何操作!!!
1
、修改塊3控制位的值:最初的各區塊3內的KeyAKeyB都是廠商12"F"默認值(KeyA在任何條件下均為不可讀,大部分讀寫機程序表現KeyA為未知的12"0" ),在修改控制值時,先不要修改默認密碼KeyAKeyB,在控制位修改成功后,再去更改新密碼值。即先對塊3的控制位進行修改(默認值FF 07 80 69改為新值08 77 8F 69)并執行寫操作??刂莆粚懗晒?#xff0c;KeyB亦為12"0"不可讀了,但仍是隱藏的12"f"默認值。
2
、修改塊3KeyAKeyB值:控制位0877 8F 69值寫成功后,驗證KeyB正確后方可改寫KeyAKeyB新密碼。在密碼操作模式鍵入要改寫區塊之先前密碼B(先前密碼為默認值時,則不需改動和加載),加載后反回數據操作模式,再進行讀值,KeyAKeyB值的改寫。

3、修改塊0~塊2中數據:由新的控制條件08778F69可知,要修改數據,必須先驗證KeyB,故先設置密碼操作為KeyB認證方式,加載后再返回數據操作模式,對要修改的數據塊進行值的改寫操作。

4、上例中分析了"08 77 8F 69"的訪問條件及其改寫步驟,對用戶的其它控制條件亦可參照應用。


MF1卡常見問題及處理建議

盲目操作:造成某些區塊誤操作被鎖死不能再使用。應當仔細參考表35的控制權限后,予先得出操作后的結果是否適合使用要求,并且列出操作順序表單再操作。最好授權程序員對塊3的設置作專人操作。

丟失密碼:再讀寫時造成密碼認證出錯而不能訪問卡。特別要求在對MF卡進行塊3編程操作時,必須及時記錄相關卡號的控制值,KeyAKeyB等,而且應當有專人管理密碼檔案。

錯誤設置:對MF1卡的塊3控制塊了解不透徹,錯誤的理解造成設置造成錯誤的設置。依照表2可知,目前Mf1卡的控制塊僅只有8種數據塊訪問控制權限和8種控制塊設置權限,超出這16種權限的其他代碼組合,將直接引起錯誤設置而使卡片報廢!

極端權限:當塊3的存取控制位C13C23 C33 = 110或者111時,稱為極端權限。除特殊應用外一般不被使用!啟用前認真權衡對密碼讀寫,存取控制的鎖死是否必要,否則,數據加密后即使有密碼也無法讀取被鎖死的數據區塊(看不見)!

設備低劣:低劣的設備將直接影響卡的讀寫性能。MF卡進行塊3編程操作的設備,特別要求其性能必須十分可靠,運行十分穩定!建議選用由飛利浦公司原裝讀寫模塊構建的知名讀寫機具!

編程干擾:在對塊3進行編程操作時,不可以有任何的"IO"中斷或打擾!包括同時運行兩個以上程序干擾甚至PC機不良的開關電源紋波干擾等,否則,不成功的寫操作將造成某個扇區被鎖死的現象,致使該扇區再次訪問時出錯而報廢。

數據出錯:在臨界距離點上讀卡和寫卡造成的。通常的讀卡,特別是寫卡,應該避免在臨界狀態(剛能讀卡的距離)讀卡。因為臨界狀態下的數據傳送是很不穩定的!容易引起讀寫出錯!

人為失誤:例如,密碼加載操作失誤,誤將KeyA加載為KeyB或者是誤將其他制卡廠約定的初始密碼值如a0a1a2a3a4a5b0b1b2b3b4b5加載到本公司生產的MF1卡內;或者在初始狀態下(密碼A=000000000000【隱藏狀態,實際為ffffffffffff】,控制位=FF07 80 69,密碼B=ffffffffffff【可見】)若不經意地將KeyA=000000000000刪除后又重新輸入12"0",并加載了它!這時無意中已將KeyA原來12個隱藏的"f",修改成了12"0",其后果可想而知!

卡片失效:讀寫均無數據傳送,讀寫器報告"尋卡錯誤"!卡片被超標扭曲,彎曲而造成內電路斷裂。

讀寫距離過近:與用戶使用的讀寫器性能有關。標準型MF1卡的讀寫距離可達10cm(在飛利浦公司的標準讀寫機具上測試的最大距離),國產知名品牌讀寫器一般可達5-10cm。尺寸較小的匙扣卡,其讀寫距離當然比標準卡近許多,但只要可靠的讀寫距離≥510mm以上,一般不會影響正常使用!

?

制卡廠商責任與義務
1
MF1卡相關控制位的算法與設置,依據于飛利浦公司的《 Mifera 1 IC S50 》的PDF原始文檔,本文檔僅供客戶參考,如有不當之處,應以原始文檔為準!客戶可重點對照參考第1215頁的原始英文說明;

2、MF1卡芯片電路均采用飛利浦公司原裝產品,品質可靠,性能穩定;

3、MF1卡均經嚴格的測試,保證出廠的正品率≥99。9%

4、客戶在收到MF1卡的90天內,務必盡快使用廠商默認值對卡的所有區塊進行讀寫檢測,超期恕不受理;

5、如果在廠商默認狀態下(保持控制位存取控制值FF078069KeyA=KeyB=FFFFFFFFFFFF)不能正確讀寫數據,屬產品質量問題,請在驗收期內盡快與制卡商聯系!屬制卡工藝引起的,由制卡商負責解決;確屬芯片質量引起的,制卡商有義務聯系飛利浦公司的相關芯片供貨商協調解決;

6、如果客戶已經改寫了控制位的值(例如將默認值FF078069改寫為08778F69),表明客戶已經認可MF1卡質量,而后出現的操作失誤問題(例如丟失KeyB而不能再改寫數據塊等等),屬客戶責任,與供貨商產品質量無關!

7、通常,本廠生產的MF1卡內已具有廠商代碼和保修代碼,客戶返回有問題的MF1卡經檢測若非本廠卡,首次退還不予解決,在退卡登記名冊再次出現非本廠卡,則一律沒收,敬請體諒!

8、制卡商可依據客戶要求,義務提供飛利浦公司相關《 Mifera 1 IC S50 》等原始文檔(英文PDF文檔)。

9、本廠技術性文檔為訂貨合同必須附件,客戶可以廣為散發傳播,但必須同意保證本文檔的完整和不被修改!

南京達華億卡軟件科技有限公司

南京市珠江路88號新世界中心A座3013室

025-84068188、84725266、86871177

總結

以上是生活随笔為你收集整理的Mifare l射频卡初始值及其相关说明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。