Search code examples
permissionstagsnfcmifare

Mifare Ultralight data access


I am using NFC TagInfo to read a MIFARE Ultralight tag. Some pages have the following access rights:

readable writable locked and readable writable un-locked

What is the difference between them? If they are readable writable what is locked/unlocked about them?


Solution

  • These are the possible values for access rights displayed by NFC TagInfo for NXP MIFARE Ultralight (all variants), Infineon my-D and other NFC Forum Type 2 tags:

    • writable (not locked): page is writable and the lock bit can be modified (i.e. the page can still be locked to read-only)
    • writable (locked): page is writable and the lock bit is locked (i.e. the page cannot be locked to read-only anymore)
    • partially writable: parts of the page are factory read-only while parts are writable (e.g. pages containing lock bits)
    • partially writable (not locked): one-time writable memory and lock bit can be modified (i.e. the page can still be locked to read-only)
    • partially writable (locked): one-time writable memory and the lock bit is locked (i.e. the page cannot be locked to read-only anymore)
    • read-only (locked): page is set to read-only and the lock bit is locked (i.e. the page cannot be reversed to writable anymore)
    • read-only (factory locked): page is written once during manufacturing time and cannot be re-written later (e.g. the tag's serial number)
    • read / restricted write: See my-D's read / restricted write mode
    • write-only (not locked): page is writable but cannot be read (possibly due to missing authentication) and lock bit can be modified (i.e. page can be changed to no access/authenticated read-only)
    • write-only (locked): page is writable but cannot be read (possibly due to missing authentication) and lock bit is locked (i.e. page cannot be locked to no access/authenticated read-only anymore)
    • no access (locked): page's lock bit indicates read-only but page cannot be read (possibly due to missing authentication) and lock bit is locked (i.e. page can be changed to writable anymore)
    • no access: page contains this page's lock bits and cannot be read (possibly due to missing authentication)
    • unknown: lock state for this page could not be determined (unknown tag type or lock bits not readable)