Online Store

Mifare Κλασικές και MIFARE Συν IC μέθοδοι χαρτογράφησης δεδομένων NDEF μνήμης

Κατάλογος Εφαρμογών MIFARE #

Οι μέθοδοι NDEF αντιστοίχισης δεδομένων μνήμης των MIFARE Classic και MIFARE Plus IC χρησιμοποιούν τη δομή καταλόγου εφαρμογών MIFARE (MAD).

Ο κατάλογος εφαρμογών MIFARE (MAD) προσδιορίζει σε ποια εφαρμογή ανήκουν οι πληροφορίες που είναι αποθηκευμένες σε κάθε τομέα μνήμης.

Έχουν καθοριστεί δύο κατάλογοι εφαρμογών MIFARE:

      1. Κατάλογος εφαρμογών MIFARE 1 (MAD1): Το MAD1 ΜΠΟΡΕΙ να χρησιμοποιηθεί σε οποιοδήποτε προϊόν συμβατό με mifare classic. Το MAD1 βρίσκεται στον τομέα MAD (τομέας 00h), Σε περίπτωση που το MAD1 χρησιμοποιείται σε προϊόντα με μέγεθος μνήμης μεγαλύτερο από 1Kbytes, μόνο η μνήμη 1Kbytes μπορεί να χρησιμοποιηθεί και να αντιμετωπιστεί από το MAD1. Επομένως, η υπόλοιπη μνήμη δεν χρησιμοποιείται για αποθήκευση NDEF και παραμένει ελεύθερη.
      2. Κατάλογος εφαρμογών MIFARE 2 (MAD2): Το MAD1 ΜΠΟΡΕΙ να χρησιμοποιηθεί σε οποιοδήποτε προϊόν συμβατό με MIFARE Classic με μέγεθος μνήμης μεγαλύτερο από 1Kbyte. Το MAD2 δεν ισχύει για προϊόντα με μέγεθος μνήμης μικρότερο ή ίσο με 1Kbyte. Το MAD2 βρίσκεται στους τομείς MAD (τομέας 00h και 10h)

Σε κάθε εφαρμογή, το MAD συσχετίζει ένα μοναδικό αναγνωριστικό εφαρμογής (AID). Τα αναγνωριστικά εφαρμογών (AIDs) αποθηκεύονται εντός των τομέων MAD 00h.

Το AID έχει μήκος δύο byte και χωρίζεται σε 2 πεδία ενός byte το καθένα:

  1. τον κωδικό συμπλέγματος συναρτήσεων (1 byte) που προσδιορίζει το σύμπλεγμα στο οποίο ανήκει η εφαρμογή και
  2. τον κωδικό εφαρμογής (1 byte) που προσδιορίζει την εφαρμογή μέσα στο σύμπλεγμα. Για περισσότερες πληροφορίες σχετικά με τα MAD1 και MAD2.

Το byte γενικής χρήσης (GPB) του τομέα MAD θα οριστεί με ένα bit DA ίσο με 1b (το bit DA είναι το διαθέσιμο bit MAD του GPB).

Όλοι οι τομείς που δεν χρησιμοποιούνται επί του παρόντος ΠΡΕΠΕΙ να προστατεύονται από εγγραφή με μυστικά κλειδιά που ορίζονται από τον εκδότη της ετικέτας, προκειμένου να αποφευχθεί ο ακούσιος επαναπροσδιορισμός των συνθηκών πρόσβασης και των κλειδιών. Συνιστάται η χρήση διαφορετικών κλειδιών για όλους τους ελεύθερους τομείς. Αυτό επιτρέπει τη μελλοντική απελευθέρωση ορισμένων τομέων σε νέους παρόχους υπηρεσιών χωρίς την ανάγκη απελευθέρωσης όλων των ελεύθερων τομέων.

Πρόσβαση τομέα MAD #

Οι τομείς μνήμης όπου αποθηκεύονται τα MAD1 και MAD2 (βλ. [MAD]), προστατεύονται χρησιμοποιώντας το κλειδί Α και το κλειδί Β. Σύμφωνα [MAD] με τους τομείς μνήμης είναι:

        • MAD1: ο τομέας MAD είναι 00h (τομέας 0), και
        • MAD2: οι τομείς MAD είναι 00h και 10h (τομέας 0 και τομέας 16).

Οποιοσδήποτε θα έχει τη δυνατότητα να διαβάσει τους τομείς MAD. Αυτό επιτυγχάνεται με τη χρήση ενός δημόσιου κλειδιού Α που περιγράφεται στον Πίνακα 1 (βλέπε επίσης [MAD]).

Πίνακας 1. Δημόσιο κλειδί Μια τιμή του τομέα ή των τομέων MAD

Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5
Α0η Α1ώη Α2ώρα Α3ώρες Α4ώρες Α5ώρες

Τα bit πρόσβασης για τους τομείς MAD έχουν οριστεί σε:

        • όπως περιγράφεται στον πίνακα 2, εάν στον τομέα MAD έχει χορηγηθεί πρόσβαση ανάγνωσης και εγγραφής, ή
        • όπως περιγράφεται στον πίνακα 3, εάν στον τομέα MAD έχει χορηγηθεί πρόσβαση μόνο για ανάγνωση (βλέπε επίσης [MF1K, MF4K, MFPLUS]).

Σε αυτό το πλαίσιο, ο όρος πρόσβαση ανάγνωσης και εγγραφής που χορηγείται σημαίνει ότι για τους τομείς MAD που έχουν προηγουμένως πιστοποιηθεί με το μυστικό κλειδί Β, είναι δυνατή η ανάγνωση και εγγραφή όλων των τμημάτων τομέα εκτός από το μπλοκ ρυμουλκούμενου τομέα (βλ. Πίνακα 2 για περισσότερες λεπτομέρειες).

Αντ' αυτού, ο όρος παρεχόμενη πρόσβαση μόνο για ανάγνωση σημαίνει ότι για τους τομείς MAD που έχουν προηγουμένως πιστοποιηθεί με το δημόσιο κλειδί Α του πίνακα 1 ή τη μυστική κλείδα Β, είναι δυνατή η ανάγνωση μόνο όλων των τμημάτων τομέα εκτός από το μπλοκ ρυμουλκούμενου τομέα (για περισσότερες λεπτομέρειες βλέπε πίνακα 5 ).

Χρησιμοποιώντας το κλειδί Α είναι πάντα δυνατό να διαβάσετε μόνο τα μπλοκ του τομέα MAD. Τα τομεακά ρυμουλκούμενα έχουν συγκεκριμένη διαμόρφωση πρόσβασης όταν χορηγείται πρόσβαση ανάγνωσης/εγγραφής ή πρόσβαση μόνο για ανάγνωση (βλέπε πίνακα 2 και πίνακα 3).

Οι τομείς MAD ΠΡΕΠΕΙ να προστατεύονται από εγγραφή μέσω του μυστικού κλειδιού B (π.χ. ορίζεται από τον εκδότη της ετικέτας) ή ορίζοντας την ετικέτα MIFARE Classic και MIFARE Plus ως μόνο για ανάγνωση χρησιμοποιώντας τα bit πρόσβασης.

Πίνακας 2. Ρύθμιση bit πρόσβασης για τον τομέα MAD με εκχωρημένη πρόσβαση ανάγνωσης και εγγραφής

Ρύθμιση bit πρόσβασης για τον τομέα 0 του MAD1 ή του MAD2 και για τον τομέα 16 του MAD2
Bit πρόσβασης Αξιεσ Παρατηρήσεις
Γ10 Γ20 Γ30 100βθ Το πεδίο 0 διαβάζεται με το κλειδί Α ή το πλήκτρο Β και γράφεται με το πλήκτρο Β
Γ11 Γ21 Γ31 100β Το πεδίο 1 διαβάζεται με το πλήκτρο Α ή το πλήκτρο Β και γράφεται με το πλήκτρο Β
Γ12 Γ22 Γ32 100β Το πεδίο 2 διαβάζεται με το κλειδί Α ή το πλήκτρο Β και γράφεται με το πλήκτρο Β
Γ13 Γ23 Γ33 011β Το μπλοκ ρυμουλκούμενων τομέα:

  • Το κλειδί Α είναι γραμμένο με το κλειδί Β και δεν διαβάζεται ποτέ,
  • Τα bits πρόσβασης διαβάζονται με το κλειδί A ή το κλειδί B και γράφονται με το κλειδί B,
  • Το κλειδί Β είναι γραμμένο με το κλειδί Β και δεν διαβάζεται ποτέ.
i. Συνιστώμενη τιμή για τα bit πρόσβασης C10 C20 C30 του τομέα 0 (μπλοκ κατασκευαστή).

Πίνακας 3. Ρύθμιση bit της Access για τον τομέα MAD με εκχωρημένη πρόσβαση μόνο για ανάγνωση

Ρύθμιση bit πρόσβασης για τον τομέα 0 του MAD1 ή του MAD2 και για τον τομέα 16 του MAD2
Bit πρόσβασης Αξιεσ Παρατηρήσεις
Γ10 Γ20 Γ30 010β Το πεδίο 0 διαβάζεται με το κλειδί A ή το πλήκτρο B
Γ11 Γ21 Γ31 010β Το πεδίο 1 διαβάζεται με το κλειδί A ή το πλήκτρο B
Γ12 Γ22 Γ32 010β Το πεδίο 2 διαβάζεται με το κλειδί A ή το πλήκτρο B
Γ13 Γ23 Γ33 110β Το μπλοκ ρυμουλκούμενων τομέα:

  • Το κλειδί Α δεν γράφεται και διαβάζεται ποτέ,
  • Τα bits πρόσβασης διαβάζονται με το κλειδί A ή το πλήκτρο B και δεν γράφονται ποτέ,
  • Το κλειδί Β δεν γράφεται και διαβάζεται ποτέ.
i. Συνιστώμενη τιμή για τα bit πρόσβασης C10 C20 C30 του τομέα 0 (μπλοκ κατασκευαστή).

Μπλοκ TLV #

Ένα μπλοκ TLV αποτελείται από ένα έως τρία πεδία:

Το T (πεδίο ετικέτας ή πεδίο T) ΘΑ προσδιορίζει τον τύπο του μπλοκ TLV (βλέπε πίνακα 9) και θα αποτελείται από ένα μόνο byte που κωδικοποιεί έναν αριθμό από 00h έως FFh. Οι τιμές ετικέτας 01h, 02h, 04h σε FCh και FFh προορίζονται για μελλοντική χρήση.

L (πεδίο μήκους ή πεδίο L) πρέπει να παρέχει το μέγεθος σε byte του πεδίου τιμών. Έχει δύο διαφορετικές μορφές που αποτελούνται από ένα ή τρία byte. Η συσκευή ανάγνωσης SHALL κατανοεί όλες τις μορφές πεδίων δύο μήκους. Το σχήμα 5 δείχνει τις δύο διαφορετικές δομές πεδίου μήκους. Ωστόσο, ανάλογα με την τιμή του πεδίου tag, το πεδίο μήκους ΕΝΔΈΧΕΤΑΙ να μην υπάρχει.

  • Μορφή ενός byte: Η μορφή ενός byte ΘΑ κωδικοποιεί το μήκος του πεδίου τιμών μεταξύ 00h και FEh byte. Αυτό το byte θα ερμηνεύεται ως καρδινάλιος εάν η τιμή είναι μεταξύ 00h και FEh. Εάν περιέχει FFh, η τιμή ΘΑ ερμηνεύεται ως σημαία που καθορίζει ότι το πεδίο μήκους αποτελείται από περισσότερα από ένα byte.
  • Μορφή τριών διαδοχικών byte: Αυτή η μορφή θα κωδικοποιήσει το μήκος του πεδίου τιμών μεταξύ 00FFh και FFFEh byte. Το πρώτο byte θεωρείται ότι είναι μια σημαία ίση με FFh που υποδεικνύει ότι δύο ακόμη byte μήκος ΘΑ ερμηνευτεί ως λέξη. Αυτή η λέξη θα ερμηνεύεται ως καρδινάλιος εάν η τιμή είναι μεταξύ 00FFh και FFFEh. Η τιμή FFFFh δεσμεύεται για μελλοντική χρήση (RFU).

V (πεδίο τιμής ή πεδίο V) Εάν το πεδίο μήκους είναι ίσο με 00h ή δεν υπάρχει πεδίο μήκους, ΔΕΝ θα υπάρχει το πεδίο τιμής, δηλαδή το μπλοκ TLV είναι κενό. Εάν υπάρχει το πεδίο μήκους και υποδεικνύει μήκος του πεδίου τιμών N μεγαλύτερο από το μηδέν (N>0), το πεδίο τιμής ΘΑ αποτελείται από N διαδοχικά byte.

Ο Πίνακας 4 παραθέτει τα μπλοκ TLV που καθορίζονται από αυτό το έγγραφο και περιγράφονται στις ακόλουθες ενότητες.

Πίνακας 4. Καθορισμέναμπλοκ TLV  

Όνομα μπλοκ TLV Τιμή πεδίου ετικέτας Σύντομη Περιγραφή
ΜΗΔΕΝ TLV 00ώρες Μπορεί να χρησιμοποιηθεί για αναπλήρωση περιοχών μνήμης και η συσκευή ανάγνωσης ΘΑ το αγνοήσει
Μήνυμα NDEF TLV 03ώρες Περιέχει το μήνυμα NDEF
Ιδιόκτητο TLV ΥΓ. Προσθήκη ετικετών σε ιδιόκτητες πληροφορίες
Εξολοθρευτής TLV ΥΓ. Τελευταίο μπλοκ TLV στην περιοχή δεδομένων

Η συσκευή ανάγνωσης ΘΑ γράψει τα μπλοκ TLV με συγκεκριμένη σειρά μέσα στην περιοχή δεδομένων ακολουθώντας τους παρακάτω κανόνες:

  • Τα μπλοκ TLV γράφονται με σειρά που αρχίζει από το byte 0 του πεδίου 0 του τομέα NFC (τομέας που περιέχει δεδομένα NDEF) με τη μικρότερη διεύθυνση.
  • Ένα μπλοκ TLB ΜΠΟΡΕΙ να απομνημονευθεί σε δύο ή περισσότερους τομείς NFC.
  • Εάν υπάρχει, ο Εξολοθρευτής TLV είναι το τελευταίο μπλοκ TLV στην κλασική ετικέτα MIFARE και MIFARE Plus.

Το NULL TLV και το Terminator TLV είναι τα μόνα μπλοκ TLV μήκους 1 byte (π.χ. αποτελούνται μόνο από το πεδίο Tag, δείτε παρακάτω).

Οι συσκευές ανάγνωσης ΠΡΕΠΕΙ να αγνοήσουν και να μεταπηδήσουν πάνω από εκείνα τα μπλοκ TLV που χρησιμοποιούν δεσμευμένες τιμές πεδίων ετικετών (δείτε παραπάνω). Για να μεταβείτε πάνω από ένα μπλοκ TLV με δεσμευμένες τιμές πεδίου ετικέτας, η συσκευή ανάγνωσης ΘΑ διαβάσει το πεδίο μήκους για να κατανοήσει το μήκος του πεδίου τιμής.

Οι μελλοντικοί ορισμοί των μπλοκ TLV που αποτελούνται μόνο από το πεδίο ετικέτας δεν είναι συμβατοί με αυτήν τη σημείωση εφαρμογής.

Μήνυμα NDEF TLV #

Τουλάχιστον ένα μήνυμα NDEF TLV θα είναι πάντα παρόν μέσα στην ετικέτα MIFARE Classic και MIFARE Plus. Το μήνυμα NDEF TLV αποθηκεύει το μήνυμα NDEF μέσα στο πεδίο Τιμή. Η συσκευή ανάγνωσης θα είναι σε θέση να διαβάζει και να επεξεργάζεται το μήνυμα NDEF TLV που βρίσκεται από τη διαδικασία ανίχνευσης NDEF (ονομάζεται επίσης υποχρεωτικό μήνυμα NDEF TLV ή πρώτο μήνυμα NDEF TLV). Ούτως ή άλλως περαιτέρω NDEF Μήνυμα TLV μπλοκ ΜΠΟΡΕΙ να είναι παρόντες. Κάτω από την κωδικοποίηση των 3 πεδίων TLV του μηνύματος NDEF TLV εμφανίζεται:

T πρέπει να ισούται με 03h (βλέπε πίνακα 4).

Το L ισούται με το μέγεθος σε byte του αποθηκευμένου μηνύματος NDEF.

V θα αποθηκεύσει το μήνυμα NDEF.

Ένα κενό μήνυμα NDEF TLV ορίζεται ως ένα μήνυμα NDEF TLV με πεδίο L ίσο με 00h και κανένα πεδίο V (δηλαδή δεν υπάρχει μήνυμα NDEF στο πεδίο V, βλ. [NDEF]).

Ένα μη κενό μήνυμα NDEF TLV ΜΠΟΡΕΙ να περιέχει κενά ή μη κενά μηνύματα NDEF.

Ιδιόκτητο TLV #

Το ιδιόκτητο TLV περιέχει ιδιόκτητες πληροφορίες. Μια κλασική ετικέτα MIFARE και η ετικέτα MIFARE Plus θα περιέχουν μηδέν, ένα ή περισσότερα ιδιόκτητα TLV. Η συσκευή ανάγνωσης ενδέχεται να αγνοήσει τα δεδομένα που περιέχονται σε αυτό το μπλοκ TLV. Παρακάτω φαίνεται η κωδικοποίηση των 3 πεδίων TLV του Ιδιόκτητου TLV:

T πρέπει να ισούται με FDh (βλέπε πίνακα 4).

L ΙΣΟΎΤΑΙ με το μέγεθος σε byte των ιδιόκτητων δεδομένων στο πεδίο Vale.

V ΘΑ περιέχει οποιαδήποτε ιδιοκτησιακά δεδομένα.

ΜΗΔΕΝ TLV #

Το NULL TLV ΜΠΟΡΕΙ να χρησιμοποιηθεί για αναπλήρωση της περιοχής δεδομένων. Μια κλασική ετικέτα MIFARE και η ετικέτα MIFARE Plus ΜΠΟΡΕΙ να περιέχουν μηδέν, ένα ή περισσότερα NULL TLV. Η συσκευή ανάγνωσης ΘΑ αγνοήσει αυτό το μπλοκ TLV. Το NULL TLV αποτελείται από πεδίο ετικέτας 1 byte. Κάτω από την κωδικοποίηση του πεδίου ετικέτας του NULL TLV εμφανίζεται:

T πρέπει να ισούται με 00h (βλέπε πίνακα 4).

Λ ΔΕΝ παρευρίσκεται.

V ΔΕΝ παρευρίσκεται.

Εξολοθρευτής TLV #

Ο Εξολοθρευτής TLV ΜΠΟΡΕΙ να υπάρχει μέσα στην ετικέτα MIFARE Classic και MIFARE Plus και μια συσκευή ανάγνωσης θα μπορεί να την διαβάσει/επεξεργαστεί. Ο Εξολοθρευτής TLV είναι το τελευταίο μπλοκ TLV στην περιοχή μνήμης δεδομένων. Ο εξολοθρευτής TLV αποτελείται από πεδίο ετικέτας 1 byte. Κάτω από την κωδικοποίηση του πεδίου ετικέτας του Εξολοθρευτή TLV εμφανίζεται:

T πρέπει να ισούται με FEh (βλέπε πίνακα 4).

Λ ΔΕΝ παρευρίσκεται.

V ΔΕΝ παρευρίσκεται.