簡體   English   中英

Mifare Ultralight C鎖

[英]Mifare Ultralight C Lock

我正在嘗試鎖定Mifare Ultralight C標簽。 我想將NDEF頁面0x04設置為0x27為只讀。 我認為這可以通過Ndef.makeReadonly()來實現。

另外,我想將頁面0x29設置為0x2F以進行密碼保護(用於讀取和寫入),因此只有在身份驗證成功后才能訪問它們。 我很難理解需要在鎖定字節(頁面0x28,字節0,1)中設置哪些字節,以及是否需要設置扇區0x2A和0x2B。

我正在嘗試將NDEF頁面0x04設置為0x27以進行只讀。 我認為這可以通過Ndef.makeReadonly()來實現。

不一定, Ndef.makeReadonly()可能只在功能容器中設置只讀標志(根據NFC論壇類型2標簽操作規范)。

如果要確保設置實際鎖定位,則應將標記連接為NfcAMifareUltralight標記技術,並為鎖定位發出寫入命令。

NfcA nfcA = NfcA.get(tag);
nfcA.connect();

byte[] result1 = nfcA.transceive(new byte[] {
    (byte)0xA2,  /* CMD = WRITE */
    (byte)0x02,  /* PAGE = 2    */
    (byte)0x00, (byte)0x00, (byte)0xFF, (byte)0xFF  /* DATA = lock pages 3..15 */
});

byte[] result2 = nfcA.transceive(new byte[] {
    (byte)0xA2,  /* CMD = WRITE */
    (byte)0x28,  /* PAGE = 40   */
    (byte)0x0F, (byte)0x00, (byte)0x00, (byte)0x00  /* DATA = lock pages 16..27 */
});

另請參閱Mifare Ultralight:鎖定鎖定位編碼的特定頁面

我想將頁面0x29設置為0x2F以進行密碼保護(用於讀取和寫入),因此只有在身份驗證成功后才能訪問它們。

使用我上面顯示的write命令,您首先要將您的身份驗證密鑰寫入44..47頁。 然后,您將AUTH1(第43頁)寫為全零。 最后,您將AUTH0(第42頁)寫為0x29 0x00 0x00 0x00以要求對頁面41及更高版本進行身份驗證。 實際上我建議鎖定40頁以上的頁面,以便沒有人可以為這些頁面設置鎖定位。 或者,您可以設置塊鎖定位(即將0x1F 0x0F 0x00 0x00寫入第40頁),以便無法更改未鎖定頁面的鎖定位。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM