Online Store

NDEF detekcija i pristup – MIFARE Classic & MIFARE Plus oznake

NDEF detekcija i pristup #

Ovo poglavlje opisuje kako će se NDEF podaci (npr. NDEF poruka) POHRANITI i pristupiti u MIFARE Classic i MIFARE Plus oznakama.

NDEF poruka kojom ova napomena aplikacije upravlja unutar MIFARE Classic i MIFARE Plus, pohranjena je unutar NDEF Message TLV-a koji se naziva obaveznim NDEF Message TLV ili prvim NDEF Message TLV-om. Obavezna NDEF poruka TLV je takođe NDEF poruka TLV pronađena NDEF procedurom detekcije (videti odeljak 1. 4.1).

NDEF menadžment #

Za otkrivanje i pristup NDEF podacima (npr. NDEF poruka) unutar oznake MIFARE Classic i MIFARE Plus, koristit će se MAD BIT će korišten (vidi odjeljak 2.4) zajedno s GPB-om NFC sektora.

Identifikator aplikacija (AID) MAD-a, nazvan NFC AID, rezervisan je za identifikaciju sektora sa NDEF podacima. Sektor sa NDEF podacima naziva se NFC sektor. Dva polja NFC AID-a su postavljena na sledeći način:

kod klastera funkcija jednak je E1h za identifikaciju klastera sektora sa NDEF podacima, i

kod aplikacije jednak je 03h za identifikaciju NFC sektora s kojim je ova napomena o aplikaciji povezana.

Jedan ili više NFC sektora mogu biti prisutni u MIFARE Classic 1k/4k tagu.

Ako je prisutno više od jednog NFC sektora, NFC sektori će biti povezani. U slučaju MIFARE Classic 4K ili MIFARE Plus sa 4 kbajta, smatra se susjednim nizom NFC sektora koji uključuje MAD sektor 16.

Primjeri susjednih NFC sektora su:

  • NFC sektori od sektora 2 do sektora 3, i
  • NFC sektori od sektora 1 do sektora 39. U ovom slučaju, MAD sektor 16 je sadržan, ali se i dalje kao što je definisano iznad NFC sektora smatra povezanim.

Primjer nepovezanih NFC sektora je:

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

NDEF podaci će se pisati počevši od NFC sektora sa najmanjim brojem sektora do najvećeg.

Bajt opšte namene (GPB, videti odeljak 2.1 i odeljak 2.3) svakog NFC sektora pruža informacije o broju verzije modela mapiranja koji se koristi za skladištenje NDEF podataka u MIFARE Classic i MIFARE Plus (videti odeljak 1. 1.1) i pristup pisanju NFC sektora. GPB će biti kodiran kao što je opisano u Tabeli 1.

Tabela 1. Struktura bajtova opšte namene

msb bit 7  Malo 6  Bit 5  Bit 4  Malo 3  Bit 2  Bit 1 lsb bit 0
Broj verzije mapiranja Uvjeti pristupa
Broj glavne verzije Broj manje verzije Stanje pristupa čitanju Uvjet pristupa pisanju

Četiri najmanje značajna bita (lsb) GPB-a ukazuju na uslove pristupa NFC sektora:

  • Bit 2-3 označava stanje pristupa čitanju:
    • Vrijednost 00b označava pristup čitanju odobren bez ikakve sigurnosti.
    • Vrednost 11b označava da uopšte nije odobren pristup čitanju.
    • Svaka druga vrednost ukazuje na to da su bezbednosne operacije prodavca obavezne da odobre pristup čitanju, tj. vlasnički pristup.
  • Bit 0-1 označava uvjet pristupa pisanju:
    • Vrijednost 00b označava pristup pisanju odobren bez ikakve sigurnosti.
    • Vrednost 11b označava da uopšte nije odobren pristup pisanju.
    • Svaka druga vrednost ukazuje na to da su bezbednosne operacije prodavca obavezne da odobre pristup pisanju, tj. vlasnički pristup.

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

  • Bit 7-6 (2 msb polja brojeva verzije mapiranja) označava glavni broj verzije.
  • Bit 5-4 (polje brojeva od 2 lsb verzije mapiranja) označava manji broj verzije.

Unutar oznake MIFARE Classic i MIFARE Plus, NFC sektor(i) koji sadrže obaveznu NDEF poruku TLV MORA biti postavljen sa uslovima pristupa čitanju jednakim 00h i uslovima pristupa koji su jednaki 00b ili 11b (videti odeljak 1. 3).

Uređaj koji implementira ovu napomenu aplikacije MORA upravljati oznakama MIFARE Classic i MIFARE Plus s glavnim brojem verzije jednakim 01b i manjim brojem verzije jednakim 00b tj. verziji mapiranja 1.0.

Tretiranje verzije #

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

Rukovanje različitim glavnim i manjim brojevima verzija oznake MIFARE Classic ili MIFARE Plus (pod nazivom MSVNo) i onim implementiranim u Reader uređaju (zvanom NFCDevVNo) objašnjeno je u 4 slučaja tabele 12.

Tabela 12. Rukovanje brojevima verzija dokumenata za mapiranje

ne Slučaj broja verzije Rukovanje
1 Glavni NFCDevVNo je jednak velikom MSVNo, i

NFCDevVNo je veći ili jednak manjem MSVNo

Uređaj za čitanje ĆE pristupiti MIFARE Classic ili MIFARE Plus oznaci i ĆE koristiti sve funkcije primenjenog dokumenta za mapiranje na ovu MIFARE Classic ili MIFARE Plus oznaku.
2 Ako je veliki NFCDevVNo jednak velikom MSVNo, i

NFCDevVNo je niži od manjeg MSVNo

Verovatno se ne mogu pristupiti svim funkcijama MIFARE Classic ili MIFARE Plus taga. Uređaj za čitanje ĆE koristiti sve svoje funkcije i ĆE pristupiti ovoj MIFARE Classic ili MIFARE Plus oznaci.
 

ne Slučaj broja verzije Rukovanje
3 Ako je veći NFCDevVNo manji od velikog MSVNo Nekompatibilni format podataka. Uređaj Reader ne može razumjeti podatke oznake MIFARE Classic ili MIFARE Plus. Uređaj Reader ĆE odbiti ovu MIFARE Classic ili MIFARE Plus oznaku.
4 Ako je veći NFCDevVNo veći od velikog MSVNo Uređaj Reader može implementirati podršku za prethodne verzije ove specifikacije pored svoje glavne verzije. U slučaju da uređaj Reader ima podršku iz prethodne verzije, on ĆE pristupiti MIFARE Classic ili MIFARE Plus tagu. Naprotiv, u slučaju da uređaj Reader nema podršku iz prethodne verzije, on ĆE odbiti MIFARE Classic ili MIFARE Plus oznaku.

NDEF skladište #

Format podataka NDEF poruke je definisan u [NDEF]. NDEF poruka MORA biti pohranjena unutar polja vrijednosti NDEF Message TLV (vidi odjeljak 2.6.1) koristeći jedan ili više NFC sektora. NFC sektori su identifikovani od strane NFC AID-a u MAD sektoru.

Životni ciklus #

NFC sektori MIFARE Classic ili MIFARE Plus oznake mogu biti u sljedećim stanjima INICIJALIZIRANO, ČITANJE/PISANJE ili samo za čitanje. NFC sektori će biti u samo jednoj državi u određenom trenutku. Država će se odraziti na sadržaj NFC sektora. Država nije povezana sa jednim NFC sektorom, već sa svim NFC sektorima zajedno. Države su opisane 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 stanja oznake MIFARE Classic ili MIFARE Plus brka se sa (tj. jednako) stanjem NFC sektora.

Svaka država ima svoje važeće operacije koje se nazivaju tranzicije ili promjene stanja. Tranzicija stanja je relevantna samo za uređaje za čitače, koji su sposobni da pišu MIFARE Classic ili MIFARE Plus tagove.

Različita stanja se identifikuju upoređivanjem GPB-a NFC sektora gde počinje obavezna NDEF poruka TLV, i polja obavezne NDEF poruke TLV. Imajte na umu da se pristupni delovi sektorske prikolice opisane u odeljku 2.5, ne koriste u ovoj napomeni o aplikaciji za identifikaciju određenog stanja.

Ako oznaka MIFARE Classic ili MIFARE Plus nije u važećem stanju prema ovoj napomeni o aplikaciji, NDEF podaci oznake MIFARE Classic ili MIFARE Plus u svim NFC sektorima ĆE biti ignorisani. Razlozi mogu biti:

  • Ne-susjedni NFC sektori.
  • NFC sektori nisu prisutni unutar oznake, tj. nijedan sektor nije označen od strane MAD-a koristeći NFC AID.
  • Neusklađenost između ukupne dužine TLV blokova i stvarne dužine područja podataka.
  • Nevažeći TLV blok.

Inicijalizovano stanje #

MIFARE Classic ili MIFARE Plus oznaka mora se otkriti u inicijaliziranom stanju kada:

        • GPB je postavljen kao što je opisano u odjeljku 1. 1, posebno sa bitom 0-1 jednakim 00b i bitom 2-3 jednakim 00b (pristup čitanju i pisanju odobren),
        • NFC sektor(e) sadrži jedan NDEF Message TLV (obavezni), i
        • Dužina polja obavezne NDEF poruke TLV jednaka je 00h.

U INICIJALIZOVANOM stanju NFC uređaj MOŽE da izmeni sadržaj obavezne NDEF poruke TLV koja u njemu piše NDEF poruku. Aneks D u poglavlju 10, Aneks E u poglavlju 0 i Aneks F u poglavlju 12 pokazuju dva primera MIFARE Classic 1k, MIFARE Plus sa 2 Kbytes, i MIFARE Classic 4k ili MIFARE Plus sa 4 Kbytes sve u inicijalizovanom stanju.

STANJE ČITANJA/PISANJA #

MIFARE Classic ili MIFARE Plus oznaka DETEKTUJE se u stanju ČITANJA/PISANJA kada:

        • GPB je postavljen kao što je opisano u odjeljku 1. 1, posebno sa bitom 0-1 jednakim 00b i bitom 2-3 jednakim 00b (pristup čitanju i pisanju odobren),
        • obavezna NDEF poruka TLV je prisutna u NFC sektoru(ima), i
        • Polje dužine obavezne NDEF poruke TLV razlikuje se od nule.

Stanje READ/WRITE mora biti postignuto putem inicijalizovanog stanja. U ovom stanju, NFC uređaj MOŽE modifikovati sadržaj obavezne NDEF poruke TLV koja u njemu piše NDEF poruku.

DRŽAVA SAMO ZA ČITANJE #

MIFARE Classic ili MIFARE Plus oznaka mora biti otkrivena u stanju samo za čitanje kada:

        • GPB je postavljen kao što je opisano u odjeljku 1. 1, posebno sa bitom 0-1 jednakim 11b i bitom 2-3 jednakim 00b (nije odobren pristup pisanju, odobrava se samo pristup čitanju),
        • obavezna NDEF poruka TLV je prisutna u NFC sektoru(ima), i
        • Polje dužine obavezne NDEF poruke TLV razlikuje se od nule.

U READ-ONLY državi svi NFC sektori imaju pristup samo za čitanje. MIFARE Classic ili MIFARE Plus tag ostaje u stanju samo za čitanje tokom preostalog životnog ciklusa.

Opis komandnog niza #

U ovom odjeljku opisano je nekoliko procedura za upravljanje NDEF podacima, npr. obavezni NDEF Message TLV unutar NFC sektora. Različite promene stanja ili tranzicije između stanja MIFARE Classic ili MIFARE Plus oznake su takođe detaljno prikazane.

Svaki uključen sektor u procedure MORA biti autentifikovan korišćenjem operacije autentifikacije pre čitanja ili pisanja. Javni ključ A BIRA se na osnovu tipa sektora, odnosno MAD sektora ili NFC sektora.

NDEF postupak detekcije #

NDEF postupak detekcije ĆE se koristiti za otkrivanje obavezne NDEF poruke (vidi [NDEF]) unutar MIFARE Classic ili MIFARE Plus oznake.

Procedura detekcije NDEF-a zasniva se na:

        • MAD sektor(i),
        • NFC sektor(e), i
        • Obavezna NDEF poruka TLV koja sadrži NDEF poruku.

Kao što je već pomenuto, NDEF Message TLV koji je pronašao NDEF Detection Procedure naziva se obavezni NDEF Message TLV ili prvi NDEF Message TLV. Kada je MIFARE Classic ili MIFARE Plus u stanju READ/WRITE ili READ-ONLY, ovaj NDEF Message TLV sadrži NDEF poruku. U inicijalizovanom stanju NDEF poruka TLV je prazna.

NDEF graph(1) Nakon neuspjeha autentifikacije ili operacije čitanja, MIFARE Classic ili MIFARE Plus više ne reagira ni na jednu naredbu i potrebno ga je ponovno aktivirati i odabrati kako bi se nastavio postupak otkrivanja NDEF-a.

Da bi se izvršio postupak detekcije NDEF-a, uređaj čitača (ili NFC uređaj) MORA da izvrši sledeće operacije (vidi takođe Fig 6) na MIFARE Classic ili MIFARE Plus:

  1. Provjeri postojanje MAD sektora(a).
  2. Autentifikacija i čitanje MAD sektora(a): sektor 0 za MAD1, ili sektor 0 i 16 za MAD2 koristeći operaciju Čitanje.
  1. Ako se unutar MAD-a pronađe jedan ili više AID(a) jednakih NFC AID-u koji se odnosi na jedan ili više susjednih sektora(a), onda idite na stavku 4. U suprotnom, NFC AID nije otkriven u MIFARE Classic ili MIFARE Plus tagu, a oznaka MIFARE Classic ili MIFARE Plus nije u važećem stanju.
  2. Za svaki NFC sektor obavljajte sledeće operacije počevši od najmanjeg broja sektora do najvećeg:
    1. Autentifikujte i pročitajte sektorsku prikolicu NFC sektora koristeći javni ključ A za NFC sektore (vidi tabelu 6).
    2. Ako su autentifikacija i operacije čitanja uspješne, provjerite sektorsku prikolicu NFC sektora. U suprotnom, ako autentifikacija ili operacija čitanja ne uspe, nalazi se vlasnički NFC sektor (vidi opis NFC sektora ispod) zatim idite na tačku f.
    3. Ako bitovi 4-7 GPB-a opisuju pravi broj verzije prema gore definisanim pravilima, onda idite na stavku d. U suprotnom, zaustavite proceduru jer oznaka MIFARE Classic ili MIFARE Plus nije u važećem stanju.
    4. Ako je vrednost GPB-a jednaka 00b i uslov pristupa pisanju (bit 0-1) vrednost GPB-a jednaka 00b ili 11b, pročitajte blokove podataka relativnog NFC sektora koristeći operaciju čitanja navedenu u odeljku 5.1.3, potražite NDEF Message TLV-ove, Kliknite na tačku E. Inače, ako se vrijednost polja za čitanje GPB-a razlikuje od 00h ili se uvjet pristupa pisanju podnesen (bit 0-1) vrijednosti GPB-a razlikuje od 00b i 11b, nalazi se vlasnički NFC sektor (vidi opis NFC sektora u nastavku) zatim idite na stavku f.
    5. Ako se pronađe NDEF poruka TLV, ovo je (tj. prva) obavezna NDEF poruka TLV onda idite na tačku 5. U suprotnom, ako se ne pronađe NDEF poruka TLV idite na stavku f.
    6. Ako je dostupno provjerite sljedeći NFC sektor i idite na stavku a. U suprotnom, ako više nema NFC sektora, zaustavite proceduru jer nije pronađen NDEF Message TLV. MIFARE Classic ili MIFARE Plus tag nije u važećem stanju.
  3. Ako se polje dužine obavezne NDEF poruke TLV razlikuje od nule, NDEF poruka (vidi [NDEF]) se detektuje u MIFARE Classic ili MIFARE Plus oznaci i uređaj čitača MOŽE koristiti NDEF proceduru čitanja ili NDEF proceduru pisanja. Ako je polje dužine jednako nuli, NDEF poruka se ne otkriva u MIFARE Classic ili MIFARE Plus oznaci i uređaj čitača MOŽE koristiti NDEF proceduru pisanja (oznaka može biti u INICIJALIZIRANOM stanju).

NDEF procedura detekcije se ne odnosi na važeću NDEF poruku. Čita dužinu NDEF poruke iz polja dužine NDEF poruke TLV, ali ne analizira NDEF poruku.

Uređaj za čitanje ĆE ignorisati i preskočiti vlasnički NFC sektor. Vlasnički NFC sektor je definisan kao NFC sektor koji je: ili neautentifikovan sa javnim ključem A za NFC sektore ili se vrednost polja za čitanje GPB-a razlikuje od 00b ili se vrednost podnetog pristupa pisanju (bit 0-1) GPB-a razlikuje od 00b i 11b.

Svaki put kada operacija autentifikacije, operacija čitanja ili operacija pisanja ne uspeju, MIFARE Classic ili MIFARE Plus ćuti i više ne reaguje ni na jedno ni drugo.

Komande. U ovoj situaciji da bi se nastavila NDEF procedura detekcije, MIFARE Classic ili MIFARE Plus treba ponovo aktivirati i izabrati.

NDEF postupak čitanja #

NDEF postupak čitanja koristi uređaj čitača za čitanje NDEF poruke iz obaveznog NDEF poruke TLV. Pre čitanja NDEF poruke, postupak detekcije NDEF-a će biti izvršen, a oznaka MIFARE Classic ili MIFARE Plus biće u važećem stanju.

Koristeći NDEF proceduru čitanja, uređaj čitača ĆE čitati celu NDEF poruku iz obaveznog NDEF Message TLV-a koristeći jednu ili više operacija čitanja. Dužina NDEF poruke koja se čita obezbeđena je iz polja dužine obavezne NDEF poruke TLV.

Ako je obavezna NDEF poruka TLV uskladištena u jednom ili više NFC sektora, uređaj za čitanje ĆE moći da autentifikuje sve ove sektore javnim ključem A za NFC sektore (videti tabelu 6). U slučaju da procedura autentifikacije ne uspe, oznaka MIFARE Classic ili MIFARE Plus nije u važećem stanju.

NDEF procedura pisanja #

NDEF postupak pisanja ĆE koristiti uređaj čitača za pisanje obavezne NDEF poruke TLV koja sadrži NDEF poruku unutar MIFARE Classic ili MIFARE Plus taga.

NDEF procedura pisanja koristi operacije čitanja i pisanja (videti odeljak 5.1.3 i odeljak 5.1.4).

Za pisanje NDEF poruke, oznaka MIFARE Classic ili MIFARE Plus mora biti u INICIJALIZOVANOM ili READ/WRITE stanju, tj. obavezna NDEF poruka TLV ĆE već biti prisutna u MIFARE Classic ili MIFARE Plus tagu.

NDEF write procedure

Da bi izvršio NDEF proceduru pisanja, uređaj za čitanje MORA da izvrši sledeće operacije na MIFARE Classic ili MIFARE Plus tagu:

  1. Koristite NDEF proceduru detekcije (pogledajte odeljak 1.4.1) da biste pronašli obaveznu NDEF poruku TLV. Ako se pronađe obavezna NDEF poruka TLV idite na tačku 2. U suprotnom, ako se ne pronađe NDEF Message TLV, prekinite proceduru.
  2. Ako je raspoloživa veličina memorije za NDEF Message TLV jednaka ili veća od veličine NDEF poruke, operacije ispod SHALL se obaviti sledećim redosledom koristeći jednu ili više operacija pisanja:
    1. polje dužine obavezne NDEF poruke TLV MORA biti dugačko jedan bajt i njegova vrijednost MORA biti postavljena na 00h,
    2. Nova NDEF poruka ĆE biti upisana u polje vrednosti obaveznog NDEF Message TLV-a, i
    1. Polje dužine obavezne NDEF poruke TLV AŽURIRA se dužinom NDEF poruke.

U suprotnom, ako nema dovoljno memorijskog prostora u MIFARE Classic ili MIFARE Plus tagu, NDEF poruka NEĆE biti napisana u MIFARE Classic ili MIFARE Plus tagu.

  1. Ako je stavka 2 uspješno izvršena, uređaj ČITAČ ĆE napisati Terminator TLV u sljedećem bajtu nakon NDEF Message TLV koristeći operaciju Pisanje.Terminator TLV se ne piše kada se obavezna NDEF poruka TLV završi na poslednjem bajtu poslednjeg dostupnog NFC sektora, odnosno NFC sektora sa najvećim brojem sektora.

U vezi sa operacijom tačka 2. b, pisanje polja vrijednosti pronađene NDEF poruke TLV OSTAVLJA 1 ili 3 bajta za polje dužine koje je potrebno sljedećoj operativnoj tački 2. c za čuvanje dužine NDEF poruke.

NDEF procedura pisanja ne menja početnu poziciju obaveznog NDEF poruke TLV.

NDEF Write Procedure MAY write the NDEF Message TLV across contiguous NFC Sectors except MAD sector 16 in case MIFARE Classic 4k and MIFARE Plus with 4 Kbytes is used.

Raspoloživa veličina memorije za obavezni NDEF Message TLV izračunava se iz pozicije obaveznog NDEF Message TLV-a kao zbir:

  • Prostor slobodne memorije NFC sektora koji sadrži obavezni NDEF Message TLV. Slobodan memorijski prostor počinje od početka obaveznog NFC Message TLV-a i završava se na kraju NFC sektora, i
  • cjelokupni memorijski prostor NFC sektora koji prati sektor koji sadrži obavezni NDEF Message TLV. NFC sektori mogu imati veličinu od 48 bajtova (3 bloka) ili 240 bajtova (15 blokova). Informacije o sljedećim dostupnim NFC sektorima PREUZETE su iz MAD sektora.

Za operaciju Write prvo je potrebno čitanje nepotpuno ažuriranih blokova kada npr. NDEF Message TLV počinje u sredini bloka.

Promjene stanja #

Ovaj odeljak opisuje moguće promene stanja oznake MIFARE Classic ili MIFARE Plus. Fig 8 prikazuje stanja i promjenu stanja (koja se naziva i tranzicija) između njih. U ovoj napomeni, jedini navedeni prelaz je sa inicijalizovanog na READ/WRITE.

Uređaj za čitanje može izdati MIFARE Classic ili MIFARE Plus oznaku u inicijaliziranom stanju, stanju čitanja/pisanja ili čak u stanju samo za čitanje.life cycle transaction

Prelazak sa inicijalizovanog na READ/WRITE #

Da bi se izvršio prelazak sa inicijalizovanog na READ/WRITE uređaj TREBA da uradi sledeću operaciju: neprazan NDEF Message TLV (polje dužine različito od nule) TREBA da zameni prethodni prazan NDEF Message TLV koristeći NDEF proceduru pisanja. NDEF poruka TLV je obavezna detektovana korišćenjem NDEF procedure detekcije.

Prazna NDEF poruka može se koristiti za zamjenu neprazne NDEF poruke.