Online Store

NDEF Detekcija i pristup – OZNAKE MIFARE Classic & MIFARE Plus

Otkrivanje i pristup NDEF-a #

U ovom se poglavlju opisuje kako se podaci NDEF-a (npr. Poruka NDEF-a) pohranjuju i pristupaju u oznaci MIFARE Classic i MIFARE Plus.

Poruka NDEF-a da ova bilješka aplikacije upravlja unutar MIFARE Classic i MIFARE Plus, pohranjena je unutar TLV poruke NDEF-a koja se naziva obvezna NDEF Poruka TLV ili prva NDEF Poruka TLV. Obvezna TLV poruka NDEF-a također je TLV poruke NDEF-a pronađena postupkom otkrivanja NDEF-a (vidi odjeljak 1. 4.1).

Upravljanje NDEF-om #

Za otkrivanje i pristup podacima NDEF-a (npr. Poruka NDEF-a) unutar oznake MIFARE Classic i MIFARE Plus KORISTIT ĆE se MAD (vidjeti odjeljak 2.4.) zajedno s GPB-om sektora NFC-a.

Identifikator aplikacije (AID) MAD-a, nazvan NFC AID, rezerviran je za identifikaciju sektora s podacima NDEF-a. Sektor s podacima NDEF-a naziva se NFC sektor. Dva polja NFC AID-a postavljena su na sljedeći način:

oznaka funkcijskog klastera jednaka je E1h za identifikaciju klastera sektora s podacima NDEF-a, i

kod zahtjeva jednak je 03h za identifikaciju sektora NFC-a s kojim je ova bilješka povezana.

Jedan ili više NFC sektora MOŽE biti prisutno unutar OZNAKE MIFARE Classic 1k/4k.

Ako je prisutno više od jednog sektora NFC-a, sektori NFC-a moraju biti susjedni. U slučaju MIFARE Classic 4k ili MIFARE Plus s 4 Kbytes, smatrat će se susjednim nizom NFC sektora koji uključuje MAD sektor 16.

Primjeri susjednih sektora NFC-a su:

  • Sektori NFC-a od sektora 2 do sektora 3, i
  • NFC sektori od sektora 1 do sektora 39. U tom je slučaju sektor MAD 16 sadržan, ali i dalje kako je definirano iznad sektora NFC-a smatra se susjednim.

Primjer neprekinutih sektora NFC-a je:

  • sektor 3 i sektor 5 bez sektora 4 su NFC sektori. U ovom slučaju sektor, 4 nije sektor NFC-a, tako da dva preostala sektora NFC-a nisu susjedna.

Podaci NDEF-a pišu se počevši od sektora NFC-a s najmanjim brojem sektora do najvećeg.

Bajt opće namjene (GPB, vidjeti odjeljak 2.1. i odjeljak 2.3.) svakog sektora NFC-a pruža informacije o broju verzije modela mapiranja koji se koristi za pohranu podataka NDEF-a u MIFARE Classic i MIFARE Plus (vidi odjeljak 1. 1.1) i pristup pisanju sektora NFC-a. GPB mora biti kodiran kako je opisano u tablici 1.

Tablica 1. Struktura bajta opće namjene

msb Bit 7  Bit 6  Bit 5  Bit 4  Bit 3  Bit 2  Bit 1 lsb bit 0
Broj verzije mapiranja Uvjeti pristupa
Broj glavne verzije Broj pomoćne verzije Uvjet pristupa za čitanje Stanje pristupa pisanju

Četiri najmanje značajna bita (lsb) GPB-a označavaju uvjete pristupa sektora NFC-a:

  • Bit 2-3 označava uvjet pristupa za čitanje:
    • Vrijednost 00b označava pristup za čitanje odobren bez ikakve sigurnosti.
    • Vrijednost 11b označava da uopće nije odobren pristup čitanju.
    • Svaka druga vrijednost označava da su sigurnosne operacije dobavljača potrebne za odobravanje pristupa čitanju tj.
  • Bit 0-1 označava uvjet pristupa pisanju:
    • Vrijednost 00b označava pristup pisanju odobren bez ikakve sigurnosti.
    • Vrijednost 11b označava da uopće nije odobren pristup pisanju.
    • Svaka druga vrijednost ukazuje na to da su sigurnosne operacije dobavljača potrebne za odobravanje pristupa pisanju tj.

Četiri najznačajnija bita (msb) označavaju broj verzije mapiranja (vidi odjeljak 1. 1.1):

  • Bit 7-6 (2 msb polja broja verzije mapiranja) označava glavni broj verzije.
  • Bit 5-4 (polje broja verzije mapiranja od 2 lsb) označava broj pomoćne verzije.

Unutar oznake MIFARE Classic i MIFARE Plus NFC sektor(i) koji sadrže obveznu NDEF poruku TLV postavljaju se s uvjetima pristupa za čitanje jednakim 00h i pišu uvjeti pristupa jednaki 00b ili 11b (vidjeti odjeljak 1. 3).

Uređaj Reader koji implementira ovu bilješku o aplikaciji upravlja oznakama MIFARE Classic i MIFARE Plus s glavnim brojem verzije jednakim 01b i brojem pomoćne verzije jednakim 00b tj.

Obrada verzija #

GPB NFC sektora sadrži broj verzije mapiranja primijenjenog modela mapiranja oznake MIFARE Classic 1k/4k ili MIFARE Plus. Broj verzije mapiranja označen je s dva broja: glavnim brojem verzije i brojem pomoćne verzije.

Rukovanje različitim brojevima glavnih i pomoćnih verzija oznake MIFARE Classic ili MIFARE Plus (nazvane MSVNo) i one implementirane u Reader uređaj (nazvan NFCDevVNo) objašnjeno je u 4 slučaja tablice 12.

Tablica 12. Rukovanje brojevima verzija dokumenta mapiranja

ne Velika i mala slova broja verzije Rukovanje
1 Major NFCDevVNo jednak je velikom MSVNo-u i

manji NFCDevVNo veći je ili jednak manjem MSVNo-u

Uređaj čitača mora pristupiti oznaci MIFARE Classic ili MIFARE Plus i MORA koristiti sve značajke primijenjenog dokumenta za mapiranje na ovu oznaku MIFARE Classic ili MIFARE Plus.
2 Ako je glavni NFCDevVNo jednak velikom MSVNo-u, i

manji NFCDevVNo je niži od manjeg MSVNo-a

Vjerojatno se ne mogu pristupiti svim značajkama oznake MIFARE Classic ili MIFARE Plus. Uređaj čitača mora koristiti sve svoje značajke i MORA pristupiti ovoj oznaci MIFARE Classic ili MIFARE Plus.
 

ne Velika i mala slova broja verzije Rukovanje
3 Ako je glavni NFCDevVNo manji od velikog MSVNo-a Nekompatibilan oblik podataka. Uređaj Reader ne može razumjeti podatke o oznaci MIFARE Classic ili MIFARE Plus. Uređaj čitača mora odbaciti ovu oznaku MIFARE Classic ili MIFARE Plus.
4 Ako je glavni NFCDevVNo veći od velikog MSVNo-a Uređaj Reader može implementirati podršku za prethodne verzije ove specifikacije uz svoju glavnu verziju. U slučaju da uređaj Reader ima podršku iz prethodne verzije, MORA pristupiti oznaci MIFARE Classic ili MIFARE Plus. Naprotiv, u slučaju da uređaj Reader nema podršku iz prethodne verzije, MORA odbiti oznaku MIFARE Classic ili MIFARE Plus.

NDEF spremište #

Oblik podataka poruke NDEF- a definiran je u programu [NDEF]. Poruka NDEF-a pohranjuje se unutar polja vrijednosti poruke NDEF-a TLV (vidjeti odjeljak 2.6.1.) koristeći jedan ili više sektora NFC-a. Sektori NFC-a identificirani su NFC AID-om u sektorima MAD-a.

Životni ciklus #

NFC sektori oznake MIFARE Classic ili MIFARE Plus MOGU biti u sljedećim državama INICIJALIZIRANI, ČITAJ / PIŠU ILI SAMO ZA ČITANJE. Sektori NFC-a moraju biti u samo jednoj državi u određenom trenutku. Država se odražava u sadržaju sektora NFC-a. Država nije povezana s jednim NFC sektorom, već sa svim NFC sektorima zajedno. Stanja su opisana u sljedećim odjeljcima.

Ako oznaka MIFARE Classic ili MIFARE Plus sadrži samo NFC sektore, stanje NFC sektora naziva se stanje oznake MIFARE Classic ili MIFARE Plus. U opisu ispod stanje oznake MIFARE Classic ili MIFARE Plus pomiješano je s (tj. jednakim) stanju NFC sektora.

Svaka država ima svoje valjane operacije koje se nazivaju tranzicije ili promjene države. Prijelazi stanja relevantni su samo za uređaje čitača koji su sposobni za pisanje oznaka MIFARE Classic ili MIFARE Plus.

Različite države identificiraju se usporedbom GPB-a sektora NFC-a u kojem počinje obvezna TLV poruka NDEF-a i polja obvezne poruke NDEF-a TLV. Imajte na umu da se pristupni bitovi sektorske prikolice opisani u odjeljku 2.5. ne koriste u ovoj bilješci aplikacije za utvrđivanje određenog stanja.

Ako oznaka MIFARE Classic ili MIFARE Plus nije u valjanom stanju prema ovoj napomeni aplikacije, zanemarit će se podaci NDEF oznake MIFARE Classic ili MIFARE Plus u svim NFC sektorima. Razlozi MOGU biti:

  • Neprekinuti NFC sektori.
  • Unutar oznake nema NFC sektora, odnosno nijedan sektor nije označen od strane MAD-a pomoću NFC AID-a.
  • Neusklađenost između ukupnog TLV-a blokira duljinu i stvarnu duljinu podatkovnog područja.
  • TLV blok nije valjan.

INICIJALIZIRANO STANJE #

OZNAKA MIFARE Classic ili MIFARE Plus otkriva se u INICIJALIZIRANOM stanju kada:

        • GPB je postavljen kako je opisano u odjeljku 1. 1, posebno s bitom 0-1 jednakim 00b i bitom 2-3 jednakim 00b (odobren pristup čitanju i pisanju),
        • NFC sektor(e) sadrži jednu TLV NDEF poruku (obveznu) i
        • polje duljine obvezne poruke NDEF-a TLV jednako je 00h.

U INICIJALIZIRANOM stanju NFC uređaj može izmijeniti sadržaj obvezne poruke NDEF-a TLV pišući u NDEF Poruku u njoj. Prilog D u poglavlju 10, Prilog E u poglavlju 0 i Prilog F u poglavlju 12 pokazuju dva primjera MIFARE Classic 1k, MIFARE Plus s 2 Kbytes i MIFARE Classic 4k ili MIFARE Plus s 4 Kbytes sve u INICIJALIZIRANOM stanju.

STANJE ČITANJA/PISANJA #

Oznaka MIFARE Classic ili MIFARE Plus otkriva se u stanju ČITANJA/PISANJA kada:

        • GPB je postavljen kako je opisano u odjeljku 1. 1, posebno s bitom 0-1 jednakim 00b i bitom 2-3 jednakim 00b (odobren pristup čitanju i pisanju),
        • obvezna poruka NDEF-a TLV prisutna je u sektorima NFC-a, i
        • polje duljine obvezne TLV poruke NDEF-a razlikuje se od nule.

Do stanja ČITANJA/PISANJA dolazi se INICIJALIZIRANIM STANJEM. U tom stanju, NFC uređaj MOŽE izmijeniti sadržaj obvezne NDEF poruke TLV pišući u NDEF Poruku u njoj.

Stanje SAMO ZA ČITANJE #

Oznaka MIFARE Classic ili MIFARE Plus otkriva se u stanju SAMO ZA ČITANJE kada:

        • GPB je postavljen kako je opisano u odjeljku 1. 1, posebno s bitom 0-1 jednakim 11b i bitom 2-3 jednakim 00b (nije odobren pristup pisanju, odobrava se samo pristup čitanju),
        • obvezna poruka NDEF-a TLV prisutna je u sektorima NFC-a, i
        • polje duljine obvezne poruke NDEF-a TLV razlikuje se od nule.

U državi SAMO ZA ČITANJE svi NFC sektori imaju odobren pristup samo za čitanje. Oznaka MIFARE Classic ili MIFARE Plus ostaje u stanju SAMO ZA ČITANJE za preostali životni ciklus.

Opis naredbenog slijeda #

U ovom je odjeljku opisano nekoliko postupaka za upravljanje podacima NDEF-a, npr. obveznom NDEF-ovom porukom TLV unutar sektora NFC-a. Različite promjene stanja ili prijelazi između stanja oznake MIFARE Classic ili MIFARE Plus također su detaljno prikazani.

Svaki uključeni sektor u postupke ovjerava se pomoću operacije autentifikacije prije čitanja ili pisanja. Javni ključ A odabire se na temelju vrste sektora, odnosno sektora MAD ili sektora NFC-a.

Postupak otkrivanja NDEF-a #

Postupak detekcije NDEF-a koristi se za otkrivanje obvezne poruke NDEF-a (vidi [NDEF]) unutar oznake MIFARE Classic ili MIFARE Plus.

Postupak otkrivanja NDEF-a temelji se na provjeri:

        • sektore MAD-a,
        • NFC sektor(e) i
        • obavezna TLV poruka NDEF-a koja sadrži poruku NDEF-a.

Kao što je već spomenuto, TLV poruke NDEF-a pronađena postupkom otkrivanja NDEF-a naziva se obvezna NDEF poruka TLV ili prva TLV poruka NDEF-a. Kada je MIFARE Classic ili MIFARE Plus u stanju READ/WRITE ili READ-ONLY, ova TLV poruka NDEF-a sadrži NDEF poruku. U POČETNOM stanju poruka NDEF-a TLV je prazna.

NDEF graph(1) Nakon neuspjeha postupka provjere autentičnosti ili operacije čitanja, MIFARE Classic ili MIFARE Plus više ne reagiraju ni na jednu naredbu i potrebno ju je ponovno aktivirati i odabrati za nastavak postupka otkrivanja NDEF-a.

Za izvršenje postupka otkrivanja NDEF-a uređaj čitač (ili NFC uređaj) mora obavljati sljedeće operacije (vidi također sliku 6.) na MIFARE Classic ili MIFARE Plus:

  1. Provjerite postojanje sektora MAD-a.
  2. Potvrdite i pročitajte sektore MAD: sektor 0 za MAD1 ili sektor 0 i 16 za MAD2 pomoću operacije Čitanje.
  1. Ako se unutar MAD-a pronađu jedan ili više AID-ova jednakih NFC AID-u koji se odnose na jedan ili više susjednih sektora, prijeđite na točku 4. Inače, u oznaci MIFARE Classic ili MIFARE Plus nije otkriven NFC AID, a oznaka MIFARE Classic ili MIFARE Plus nije u valjanom stanju.
  2. Za svaki sektor NFC-a izvedite sljedeće operacije počevši od najmanjeg broja sektora do najvišeg:
    1. Potvrdite i pročitajte sektorsku najavu sektora NFC-a koristeći javni ključ A za sektore NFC-a (vidi tablicu 6.).
    2. Ako su autentifikacija i operacije čitanja uspješne, provjerite sektorsku najavu sektora NFC sektora. U suprotnom, ako provjera autentičnosti ili operacija čitanja ne uspije, nalazi se vlasnički NFC sektor (vidi opis NFC sektora u nastavku), a zatim idite na stavku f.
    3. Ako bitovi 4-7 GPB-a opisuju pravi broj verzije prema gore definiranim pravilima, idite na stavku d. U suprotnom, zaustavite postupak jer oznaka MIFARE Classic ili MIFARE Plus nije u valjanom stanju.
    4. Ako je vrijednost polja uvjeta za pristup za čitanje (bit 2-3) GPB jednaka 00b, a vrijednost unesenog uvjeta pristupa pisanju (bit 0-1) GPB jednaka je 00b ili 11b, pročitajte podatkovne blokove relativnog sektora NFC-a pomoću operacije Čitanje navedene u odjeljku 5.1.3., potražite TLV-ove poruke NDEF-a, i idite na stavku e. U suprotnom, ako se vrijednost polja za pristup za čitanje GPB-a razlikuje od 00h ili se podnesena vrijednost uvjeta pristupa pisanju (bit 0-1) GPB razlikuje od 00b i 11b, nalazi se vlasnički NFC sektor (vidi opis NFC sektora u nastavku), a zatim idite na stavku f.
    5. Ako se pronađe TLV poruke NDEF-a, ovo je (tj. prva) obavezna NDEF poruka TLV, a zatim idite na stavku 5. U suprotnom, ako nije pronađenA TLV poruka NDEF-a, idite na stavku f.
    6. Ako je dostupno, provjerite sljedeći NFC sektor i idite na stavku a. U suprotnom, ako više nema dostupnih sektora NFC-a, zaustavite postupak jer nije pronađena poruka NDEF-a TLV. Oznaka MIFARE Classic ili MIFARE Plus nije u valjanom stanju.
  3. Ako se polje duljine obvezne NDEF poruke TLV razlikuje od nule, poruka NDEF-a (vidi [NDEF]) otkriva se u oznaci MIFARE Classic ili MIFARE Plus, a uređaj Reader može koristiti postupak čitanja NDEF-a ili postupak pisanja NDEF-a. Ako je polje duljine jednako nuli, u oznaci MIFARE Classic ili MIFARE Plus nije otkrivena poruka NDEF-a, a uređaj Reader MOŽE koristiti postupak pisanja NDEF-a (oznaka je možda u INICIJALIZIRANOM stanju).

Postupak otkrivanja NDEF-a ne odnosi se na valjanu poruku NDEF-a. Čita duljinu poruke NDEF-a iz polja duljine poruke NDEF-a TLV, ali ne raščlanjuje NDEF Poruku.

Uređaj čitačA MORA zanemariti i preskočiti vlasničke sektore NFC-a. Vlasnički sektor NFC-a definira se kao sektor NFC-a koji je: ili neautentibilan s javnim ključem A za NFC sektore ili vrijednost polja pristupa čitanju GPB-a razlikuje se od 00b ili se uneseni uvjet pristupa pisanju (bit 0-1) vrijednosti GPB-a razlikuje od 00b i 11b.

Svaki put kada operacija provjere autentičnosti, operacija čitanja ili operacija pisanja ne uspiju, MIFARE Classic ili MIFARE Plus šute i više ne reagiraju ni na jednu

naredbe. U ovoj situaciji za nastavak postupka otkrivanja NDEF-a potrebno je ponovno aktivirati i odabrati MIFARE Classic ili MIFARE Plus.

Postupak čitanja NDEF-a #

Readerov uređaj koristi postupak čitanja NDEF-a za čitanje poruke NDEF-a iz obvezne poruke NDEF-a TLV. Prije čitanja poruke NDEF-a provodi se postupak otkrivanja NDEF-a, a oznaka MIFARE Classic ili MIFARE Plus mora biti u valjanom stanju.

Pomoću postupka čitanja NDEF-a uređaj Reader mora pročitati cijelu NDEF Poruku iz obvezne NDEF poruke TLV pomoću jedne ili više operacija čitanja. Duljina poruke NDEF-a koja se čita navedena je iz polja duljine obvezne poruke NDEF-a TLV.

Ako je obvezna poruka NDEF-a TLV pohranjena u jednom ili više sektora NFC-a, uređaj Reader mora moći provjeriti autentičnost svih tih sektora javnim ključem A za sektore NFC-a (vidi tablicu 6.). U slučaju neuspjeha postupka provjere autentičnosti oznaka MIFARE Classic ili MIFARE Plus nije u valjanom stanju.

Postupak pisanja NDEF-a #

Postupak pisanja NDEF-a uređaj Reader koristi za pisanje obvezne NDEF poruke TLV koja sadrži NDEF poruku unutar oznake MIFARE Classic ili MIFARE Plus.

Postupak pisanja NDEF-a koristi operacije čitanja i pisanja (vidi odjeljak 5.1.3 . i odjeljak 5.1.4.).

Za pisanje poruke NDEF-a oznaka MIFARE Classic ili MIFARE Plus bit će u INITIALIZIRANOM ILI READ/WRITE stanju, odnosno obvezna poruka NDEF-a TLV već će biti prisutna unutar oznake MIFARE Classic ili MIFARE Plus.

NDEF write procedure

Da bi izvršio postupak pisanja NDEF-a, uređaj Reader mora izvršiti sljedeće operacije na oznaci MIFARE Classic ili MIFARE Plus:

  1. Upotrijebite postupak otkrivanja NDEF-a (vidjeti odjeljak 1.4.1.) da biste pronašli obveznu NDEF poruku TLV. Ako se pronađe obavezna TLV poruka NDEF-a, idite na stavku 2. U suprotnom, ako nije pronađen TLV poruke NDEF-a, prekinite postupak.
  2. Ako je dostupna veličina memorije za TLV poruke NDEF-a jednaka ili veća od veličine poruke NDEF-a, operacije u nastavku moraju se izvršiti sljedećim redoslijedom pomoću jedne ili više operacija pisanja:
    1. polje duljine obvezne poruke NDEF-a TLV dugačko je jedan bajt, a njegova vrijednost postavlja se na 00h,
    2. nova poruka NDEF-a upisuje se u polje vrijednosti obvezne poruke NDEF-a TLV i
    1. polje duljine obvezne poruke NDEF-a TLV ažurira se duljinom poruke NDEF-a.

U suprotnom, ako nema dovoljno memorijskog prostora u oznaci MIFARE Classic ili MIFARE Plus, poruka NDEF-a NEĆE biti zapisana u oznaci MIFARE Classic ili MIFARE Plus.

  1. Ako je stavka 2 uspješno izvedena, uređaj Čitač će napisati Terminator TLV u sljedećem bajtu nakon NDEF Poruke TLV pomoću operacije Write.Terminator TLV NE piše se kada obvezna poruka NDEF-a TLV završi posljednjim bajtom posljednjeg dostupnog sektora NFC-a, odnosno sektora NFC-a s najvećim sektorskim brojem.

Što se tiče stavke operacije 2. b, u pisanom polju vrijednosti pronađene poruke NDEF-a TLV ostavlja se 1 ili 3 bajta za polje duljine koje je potrebno za sljedeću radnu stavku 2. c za pohranu duljine poruke NDEF-a.

Postupak pisanja NDEF-a ne mijenja početni položaj obvezne poruke NDEF-a TLV.

Postupak pisanja NDEF-a MOŽE napisati NDEF Message TLV u susjednim NFC sektorima, osim MAD sektora 16 u slučaju da se koriste MIFARE Classic 4k i MIFARE Plus s 4 Kbytesa.

Dostupna veličina memorije za obaveznu TLV NDEF poruku izračunava se s pozicije obvezne poruke NDEF-a TLV kao zbroj:

  • slobodni memorijski prostor sektora NFC-a koji sadrži obveznu NDEF Poruku TLV. Slobodni memorijski prostor počinje od početka obvezne NFC Poruke TLV i završava na kraju NFC sektora, i
  • cijeli memorijski prostor sektora NFC-a koji prate sektor koji sadržava obveznu NDEF poruku TLV. Sljedeći NFC sektori MOGU imati veličinu od 48 bajtova (3 bloka) ili 240 bajtova (15 blokova). Informacije o sljedećim dostupnim sektorima NFC-a preuzimaju se iz sektora MAD-a.

Za operaciju Pisanje prvo je potrebno čitanje ne potpuno ažuriranih blokova kada npr. TLV poruke NDEF-a započne u sredini bloka.

Promjene stanja #

U ovom se odjeljku opisuju moguće promjene stanja oznake MIFARE Classic ili MIFARE Plus. Slika 8 prikazuje promjene država i države (koje se nazivaju i tranzicija) između njih. U ovoj aplikacijskoj bilješci jedini navedeni prijelaz je iz INICIJALIZIRANOG U ČITANJE/PISANJE.

Uređaj Čitač MOŽE izdati oznaku MIFARE Classic ili MIFARE Plus u INICIJALIZIRANOM stanju, STANJU ČITANJA/PISANJA ili čak u stanju SAMO ZA ČITANJE.life cycle transaction

Prijelaz s INICIJALIZIRANOG na ČITANJE/PISANJE #

Za izvođenje prijelaza iz INICIJALIZIRANOG U ČITANJE/PISANJE uređaj Reader mora izvršiti sljedeću operaciju: poruka TLV-a NDEF-a koja nije prazna (polje duljine različito od nule) zamjenjuje prethodnu praznu NDEF Poruku TLV pomoću postupka pisanja NDEF-a. TLV poruke NDEF-a obvezna je otkrivena pomoću postupka otkrivanja NDEF-a.

Prazna poruka NDEF-a MOŽE se koristiti za zamjenu poruke NDEF-a koja nije prazna.