Πώς να προγραμματίσετε ετικέτες NFC με διαφορετικούς τύπους chip (NTAG, MIFARE και άλλα)

Jul 29, 2026

Αφήστε ένα μήνυμα

Η εφαρμογή λέει "Η εγγραφή ήταν επιτυχής". Ο αναγνώστης δεν κάνει ακόμα τίποτα.

Αυτό είναι το πιο κοινό μήνυμα υποστήριξης που λαμβάνουμε μετά την πρώτη εκτέλεση κωδικοποίησης από έναν πελάτη. Τίποτα στη ροή εργασίας δεν φαινόταν λάθος. Το τηλέφωνο χτύπησε, εμφανίστηκε μια πράσινη επιταγή, η ετικέτα πήγε στο προϊόν. Στην πόρτα, ή στο περίπτερο ή στο iPhone της ομάδας μάρκετινγκ, δεν συμβαίνει απολύτως τίποτα. Σχεδόν κανένας που ξεκινά να προγραμματίσει ετικέτες NFC δεν περιμένει ότι η αποτυχία θα φτάσει μετά την επιτυχία της εγγραφής.

 

Πριν προχωρήσετε παρακάτω, αξίζει να μάθετε για ποιον είναι γραμμένο, επειδή τα αποτελέσματα αναζήτησης γύρω από αυτό το θέμα εξυπηρετούν δύο εντελώς διαφορετικά είδη κοινού. Εάν έχετε ένα αυτοκόλλητο και ένα τηλέφωνο και θέλετε τον κωδικό πρόσβασής σας στο Wi-, μεταβείτε στην ενότητα NTAG, κάντε αυτά τα δύο βήματα και έχετε τελειώσει σε ένα λεπτό. Εάν προσδιορίζετε ένα τσιπ για μια παρτίδα που πρέπει να επιβιώσει από iPhone, μια αναθεώρηση ασφαλείας και μια παραγγελία αγοράς, τα υπόλοιπα είναι η ενημέρωση που δίνουμε στους πελάτες μας, συμπεριλαμβανομένου του τμήματος όπου σας λέμε τι δεν μπορεί να κάνει ένα εργοστάσιο για εσάς.

Hardware reader interaction test. A tag may report write success on mobile software while failing validation against physical access readers and terminal infrastructure.

 

Σχεδόν κάθε οδηγός για τον προγραμματισμό ετικετών NFC αντιμετωπίζει την ετικέτα ως ένα γενικό κοντέινερ: κατεβάστε μια εφαρμογή, πατήστε Εγγραφή, κρατήστε το τηλέφωνο κοντά. Αυτό το μοντέλο λειτουργεί ακριβώς για μία περίπτωση, που είναι ένα μόνο αυτοκόλλητο NTAG21x που γράφεται από ένα τηλέφωνο Android για προσωπική χρήση. Τη στιγμή που αλλάζει το τσιπ, αλλάζει ο όγκος ή το κοινό περιλαμβάνει χρήστες iPhone, το μοντέλο σταματά να περιγράφει την πραγματικότητα.

 

Η σύνταξη μιας ετικέτας είναι τρεις ξεχωριστές λειτουργίες, όχι μία

 

Όταν οι άνθρωποι λένε ότι θέλουν να προγραμματίσουν ετικέτες NFC, συνήθως περιγράφουν τρία διαφορετικά πράγματα που τυχαίνει να ενεργοποιούνται από το ίδιο κουμπί σε μια εφαρμογή τηλεφώνου.

 

Το πρώτο είναιμορφοποίηση. Η μνήμη ενός τσιπ NFC πρέπει να ενημερωθεί ότι η περιοχή χρήστη του περιέχει ένα μήνυμα NDEF και όχι αυθαίρετα byte. Αυτό γίνεται γράφοντας μια μικρή δομή δεδομένων γνωστή ως κοντέινερ ικανότητας. Στα ανταλλακτικά NTAG21x, αυτό γίνεται ήδη σε επίπεδο γκοφρέτας, επομένως το τσιπ φτάνει σε μορφή NDEF-και μπορεί να κρατήσει μόνο το NDEF. Στο MIFARE Classic και σε ορισμένα άλλα τσιπ, η μορφοποίηση είναι κάτι που εκτελείτε και η δομή προσγειώνεται σε μια-χρόνια-προγραμματιζόμενη περιοχή. Επομένως, η μορφοποίηση είναι μόνιμη. Δεν υπάρχει καμία εντολή unformat και κανένα εργαλείο προμηθευτή που θα σας δώσει μία.

 

Το δεύτερο είναιγράφοντας το ωφέλιμο φορτίο: ένα μήνυμα NDEF που περιέχει μία ή περισσότερες εγγραφές, τις περισσότερες φορές μια εγγραφή URI που δείχνει σε μια διεύθυνση URL. Αυτό είναι το μέρος που απεικονίζουν όλοι. Οι εγγραφές ωφέλιμου φορτίου είναι συνήθως επαναλαμβανόμενες, γι' αυτό μια ομάδα μάρκετινγκ μπορεί να ανακατευθύνει μια ετικέτα καμπάνιας έξι μήνες αργότερα χωρίς να αναδιατάξει το υλικό.

 

Το τρίτο είναιδιαμόρφωση: byte κωδικού πρόσβασης, bits κλειδώματος, ρυθμίσεις καθρέφτη, συνθήκες πρόσβασης, κλειδιά ελέγχου ταυτότητας. Αυτό το επίπεδο είναι το μέρος όπου ζουν οι μη αναστρέψιμες αποφάσεις και είναι το επίπεδο που κανένα φροντιστήριο καταναλωτών δεν αγγίζει καθόλου. Εάν σκοπεύετε να προγραμματίσετε ετικέτες NFC για οτιδήποτε με όριο ασφαλείας γύρω του, το επίπεδο διαμόρφωσης είναι το έργο.

 

Κρατώντας αυτά τα τρία χωριστά στο κεφάλι σας είναι αυτό που εμποδίζει την απόρριψη μιας παρτίδας. Οι περισσότερες αποτυχίες εγγραφής που διαγιγνώσκουμε δεν είναι αστοχίες ωφέλιμου φορτίου. Είναι μια κατάσταση μορφοποίησης ή μια κατάσταση διαμόρφωσης που κάποιος δεν γνώριζε ότι υπήρχε.

 

Συγκρίθηκαν τύποι τσιπ ετικετών NFC πριν τους προγραμματίσετε

 

Κάθε σοβαρή απόφαση σχετικά με τον τρόπο προγραμματισμού ετικετών NFC σε κλίμακα ξεκινά με αυτόν τον πίνακα, επειδή το ανώτατο όριο μνήμης και η υποστήριξη πλατφόρμας ορίζονται τη στιγμή της επιλογής του chip και δεν μπορούν να διορθωθούν αργότερα στο λογισμικό.

 

Τσιπ Μνήμη χρήστη Τύπος φόρουμ NFC Εργοστασιακή κατάσταση NDEF Προστασία κωδικού πρόσβασης / κλειδιού iPhone NDEF ανάγνωση + εγγραφή
NTAG 213 144 byte Τύπος 2 Προ-μορφοποίηση 32-bit PWD / 16-bit PACK Ναί
NTAG 215 504 byte Τύπος 2 Προ-μορφοποίηση 32-bit PWD / 16-bit PACK Ναί
NTAG 216 888 byte Τύπος 2 Προ-μορφοποίηση 32-bit PWD / 16-bit PACK Ναί
MIFARE Ultralight EV1 48 ή 128 byte Τύπος 2 Μορφοποιήσιμο 32-bit PWD / 16-bit PACK Ναί
MIFARE Classic 1K 1.024 byte συνολικά, περίπου 716 διαθέσιμα στο NDEF μόλις αφαιρεθεί το μπλοκ κατασκευαστή και 16 ρυμουλκούμενα τομέα Δεν είναι τύπος φόρουμ NFC Μορφοποιήσιμο, βάσει τομέα- Κλειδιά τομέα CRYPTO-1 A/B Οχι
MIFARE DESFire EV3 2 KB έως 8 KB, βάσει αρχείου- Τύπος 4 Η εφαρμογή πρέπει να δημιουργηθεί AES-128 / 3DES, δικαιώματα πρόσβασης ανά αρχείο Ναί
NTAG 424 DNA 416 byte συνολικά, χωρισμένο σε ένα κοντέινερ δυνατότητας 32 byte, ένα αρχείο NDEF 256 byte και ένα προστατευμένο αρχείο δεδομένων 128 byte Τύπος 4 Προ{0}}παρεχόμενα αρχεία Πέντε κλειδιά AES-128, αμοιβαίος έλεγχος ταυτότητας 3 περασμάτων Ναί

 

Φιγούρες NTAG21x, συμπεριφορά κλειδώματος-και συμμόρφωση τύπου 2 / ISO/IEC 14443 Τύπου Α ανάΦύλλο δεδομένων προϊόντος NXP NTAG213/215/216. Δομή MIFARE Classic 1K ανά φύλλο δεδομένων NXP MF1S50yyX (16 τομείς × 4 μπλοκ × 16 byte). DESFire EV3 ανά MF3D(H)x3. Διάταξη μνήμης DNA NTAG 424 ανάNXP.

 

Δύο στήλες καθορίζουν τα περισσότερα έργα πριν επιλεγεί οποιοδήποτε λογισμικό: η οροφή της μνήμης και η στήλη iPhone. Αυτό που δεν μπορεί να σας πει ο πίνακας είναι η απόδοση. Ένα σωστά καθορισμένο τσιπ εξακολουθεί να παράγει απορρίψεις εάν το βήμα κωδικοποίησης δεν έχει πέρασμα επαλήθευσης πίσω από αυτό, το οποίο είναι το θέμα του δεύτερου μισού αυτού του άρθρου.

 

NTAG 213, 215 και 216: η προεπιλεγμένη επιλογή και το πραγματικό της ανώτατο όριο

 

Για περίπου τέσσερα από τα πέντε εισερχόμενα έργα, αυτή η οικογένεια είναι η σωστή απάντηση και η εκμάθηση του τρόπου προγραμματισμού των ετικετών NTAG 215 NFC διαρκεί περίπου ενενήντα δευτερόλεπτα με μια εφαρμογή τηλεφώνου. Το τσιπ αποστέλλεται με μορφή NDEF-, ο τύπος εγγραφής που συμπεριφέρεται με συνέπεια σε κάθε συσκευή είναι μια απλή εγγραφή URI και τόσο το Android όσο και το iOS το γράφουν χωρίς καμία εργασία SDK.

 

Selection guide for NTAG213, NTAG215, and NTAG216 chips based on payload length, data depth, and interaction constraints

 

Είναι επίσης η οικογένεια πίσω από σχεδόν κάθε πρόγραμμα ψηφιακών επαγγελματικών καρτών, όπου μια εγγραφή vCard ή URL είναι ολόκληρο το ωφέλιμο φορτίο και όπου η φυσική μορφή έχει συνήθως μεγαλύτερη σημασία από το τσιπ. Οι περισσότερες από αυτές τις παραγγελίες καταλήγουνλευκές κάρτες PVC NFCκαι όχι αυτοκόλλητα, γιατί η κάρτα πρέπει να επιβιώσει από ένα πορτοφόλι και να εκτυπώσει.

 

Το ταβάνι φτάνει πιο γρήγορα από ό,τι περιμένει ο κόσμος. Το NTAG213 σάς προσφέρει 144 byte μνήμης χρήστη και ένα μήνυμα NDEF δεν είναι μόνο η διεύθυνση URL σας. Υπάρχει ένα περιτύλιγμα TLV, μια κεφαλίδα εγγραφής, ένα πεδίο τύπου και ένα πεδίο μήκους πριν αποθηκευτεί ένας χαρακτήρας της διεύθυνσής σας. Μια εγγραφή URI συμπιέζει κοινά προθέματα όπωςhttps://www.σε ένα μόνο byte, το οποίο ανακτά δέκα έως είκοσι byte, και σε ένα τμήμα 144-byte αυτή η διαφορά είναι η γραμμή μεταξύ προσαρμογής και αποτυχίας. Εκεί που πιάνονται οι ομάδες δεν είναι η ίδια η διεύθυνση URL αλλά τα πρόσθετα: προσθέστε μια εγγραφή κειμένου για μια ετικέτα αναγνώσιμη από τον άνθρωπο, προσθέστε μια εγγραφή εφαρμογής Android, ώστε η ετικέτα να ανοίξει μια εφαρμογή αντί για ένα πρόγραμμα περιήγησης και ένα άνετο ωφέλιμο φορτίο να γίνει σφάλμα υπερχείλισης.

 

Ο δικός μας εμπειρικός κανόνας, και αυτό είναι το είδος των πραγμάτων που μαθαίνετε μόνο με την κωδικοποίηση μερικών εκατομμυρίων από αυτά: εάν η προβλεπόμενη διεύθυνση URL συμπεριλαμβανομένων των παραμέτρων ερωτήματος υπερβαίνει τους 90 περίπου χαρακτήρες, σταματήστε να προσδιορίζετε το NTAG213 και προχωρήστε προς τα επάνω. Η διαφορά κόστους μονάδας μεταξύ 213 και 215 είναι αρκετά μικρή ώστε δεν αξίζει σχεδόν ποτέ το ρίσκο ενός επανασχεδιασμού του ενδιάμεσου-προγράμματος. Μια καμπάνια που αργότερα θέλει να προσαρτήσει παραμέτρους UTM ή έναν σειριακό αριθμό σε κάθε διεύθυνση URL ετικέτας θα χτυπήσει στον τοίχο στο 213 και δεν θα εμφανιστεί στο 215.

 

Η προστασία με κωδικό πρόσβασης σε αυτήν την οικογένεια αξίζει να κατανοηθεί ακριβώς, επειδή είναι πιο αδύναμη από ό,τι υποδηλώνει η λέξη "password". Μια τιμή PWD 32 bit μεταδίδεται στη διαγραφή και ελέγχεται από το τσιπ, το οποίο επιτρέπει την πρόσβαση εγγραφής και προαιρετικά την πρόσβαση ανάγνωσης, από μια επιλεγμένη σελίδα και μετά. Σταματά ένα περίεργο μέλος του κοινού να ξαναγράφει την ετικέτα σας με ένα τηλέφωνο. Δεν είναι κρυπτογραφικό στοιχείο ελέγχου και δεν πρέπει ποτέ να περιγράφεται σε έναν πελάτη ως ένα. Σημειώστε επίσης ότι δεν το υποστηρίζει καθόλου κάθε γενιά: το παλαιότερο NTAG203 δεν έχει κανένα μηχανισμό κωδικού πρόσβασης και η τεκμηρίωση της βιβλιοθήκης είναι σαφές ότι οι κλήσεις προστασίας από αυτό απλώς αποτυγχάνουν (τεκμηρίωση nfcpy).

 

MIFARE Classic: Εγγράψιμο σε Android, Απουσιάζει ουσιαστικά στο iPhone

 

Εδώ είναι η παγίδα συμβατότητας που έχει τερματίσει περισσότερα έργα NFC από οποιονδήποτε άλλο μεμονωμένο παράγοντα. Όποιος ρωτά πώς να γράψει το NDEF στο MIFARE Classic λειτουργεί ήδη ενάντια στη μορφή: Το MIFARE Classic δεν είναι τύπος ετικέτας φόρουμ NFC, είναι κάρτα ISO/IEC 14443-3A με ιδιόκτητο τομέα και δομή κλειδιού που προϋπήρχε του οικοσυστήματος NDEF και η υποστήριξη NDEF σε αυτό υπάρχει μόνο σύμβαση αντιστοίχισης στο επάνω μέρος.

 

NTAG 215 versus MIFARE hardware comparison highlighting mobile read/write compatibility limitations across platforms.

 

Το Android χειρίζεται αυτή τη σύμβαση. Το iOS όχι. Το Core NFC της Apple δεν υποστήριξε ποτέ το MIFARE Classic, με τις υποστηριζόμενες οικογένειες MIFARE της πλατφόρμας να περιορίζονται στα Ultralight, Plus και DESFire, μια θέση που οι προγραμματιστές έχουν επιβεβαιώσει επανειλημμένα στα φόρουμ της Apple (Φόρουμ προγραμματιστών της Apple). Επειδή το iOS δεν μπορεί να απευθυνθεί απευθείας στη μνήμη της κάρτας, ένα iPhone δεν μπορεί να γράψει NDEF σε αυτήν και δεν μπορεί να εμφανίσει NDEF που είναι αποθηκευμένο σε αυτήν.

 

Αυτό που το κάνει τόσο επικίνδυνο κατά την αξιολόγηση είναι ότι οι ετικέτες MIFARE Classic δεν εμφανίζονται νεκρές σε ένα iPhone. Η κάρτα παρουσιάζει ένα ISO 14443-Ένα UID, επομένως η εφαρμογή Συντομεύσεις θα το δεχτεί ευχαρίστως ως έναυσμα αυτοματισμού και η σάρωση παρασκηνίου μπορεί ακόμα να εκκινήσει μια εγγραφή NDEF που είχε αποθηκευτεί στο παρελθόν υποστηριζόμενου τύπου. Ένας υποψήφιος πελάτης που δοκιμάζει ένα δείγμα στο iPhone του βλέπει μια απάντηση και υπογράφει. Η συμπεριφορά που είδαν δεν είχε καμία σχέση με το περιεχόμενο της μνήμης της ετικέτας και η όλη προσέγγιση καταρρέει τη στιγμή που το έργο χρειάζεται διευθύνσεις URL ανά μονάδα που μπορούν πραγματικά να διαβάσουν τα iPhone.

 

Ο πρακτικός κανόνας που ξεφεύγει από αυτό: όποιος συγκρίνει τον τρόπο προγραμματισμού ετικετών NFC για iPhone έναντι Android θα πρέπει να εκτελέσει δοκιμή αποδοχής και στις δύο πλατφόρμες με το τσιπ παραγωγής, ποτέ μόνο στο Android και ποτέ σε δείγμα διαφορετικού τσιπ από αυτό στην παραγγελία αγοράς.

 

Επιτρέψτε μου να είμαι ειλικρινής σχετικά με τη σύσταση, γιατί το "εξαρτάται από την περίπτωση χρήσης σας" δεν είναι μια χρήσιμη απάντηση εδώ. Εάν οι ετικέτες NFC σας θα πατηθούν από μέλη του κοινού, καθορίστε οτιδήποτε εκτός από το MIFARE Classic.

 

Για ομάδες που βρίσκονται ήδη σε ένα σύστημα πρόσβασης που βασίζεται σε κλασικό-σύστημα, η απόφαση περιορίζεται σε μία μεταβλητή και δεν είναι οι ετικέτες. Είναι η υπολειπόμενη διάρκεια ζωής του κτήματος αναγνωστών σας. Εάν αυτοί οι αναγνώστες έχουν στη διάθεσή τους δύο ή τρία χρόνια και κανένα smartphone δεν θα αγγίξει ποτέ τα διαπιστευτήρια, η συνέχιση με το Classic σε κλειστό βρόχο είναι μια υπερασπίσιμη κλήση και οι πρακτικές ερωτήσεις γίνονται προμήθεια IC και μορφή UID και όχι μέθοδος κωδικοποίησης, κάτι που καλύπτουμε στις σημειώσεις μας γιαπαραγγελία ετικετών MIFARE 1K σε ένα εγκατεστημένο σύστημα. Εάν οι ίδιοι οι αναγνώστες οφείλουν να αντικατασταθούν μέσα σε αυτό το παράθυρο, μην ξοδεύετε χρήματα σε ένα μεταβατικό διαπιστευτήριο. Μεταφέρετε ολόκληρη την περιουσία σε ένα ανταλλακτικό-που βασίζεται σε AES με ένα βήμα και απορροφήστε το κόστος μία φορά.

 

Υπάρχει μια δεύτερη παγίδα στην ίδια οικογένεια, αρκετά λεπτή ώστε να επιβιώνει σε πλήρεις κύκλους QA. Η προσθήκη ενός περιτυλίγματος έξυπνης αφίσας σε μια εγγραφή, το οποίο τα κοινά εργαλεία κωδικοποίησης προσφέρουν ως φιλικό τρόπο για να επισυνάψετε έναν τίτλο σε μια διεύθυνση URL, αλλάζει τον τύπο εγγραφής. Τα αρχεία που είναι τυλιγμένα με αυτόν τον τρόπο δεν συλλέγονται καθόλου από τη σάρωση φόντου iOS, ανεξάρτητα από το τι είναι ένθετο μέσα. Η δοκιμή Android περνά σε κάθε συσκευή, τα iPhone δεν κάνουν τίποτα και δεν υπάρχει μήνυμα σφάλματος πουθενά για διάγνωση.

 

Ultralight, DESFire και NTAG 424 DNA: Where Programming Becomes Key Management

 

Το MIFARE Ultralight EV1 έχει συμπεριφορά κοντά στο NTAG21x και προγραμματίζετε ετικέτες NFC σε αυτό με τον ίδιο τρόπο, με μικρότερο προϋπολογισμό μνήμης 48 ή 128 byte και την ίδια κατηγορία πύλης κωδικού πρόσβασης. Τίποτα εννοιολογικά καινούργιο δεν συμβαίνει.

 

Το DESFire και το NTAG 424 DNA είναι ένας διαφορετικός κλάδος. Σε αυτά τα μέρη Τύπου 4 δεν γράφετε byte σε έναν χάρτη επίπεδης μνήμης, λειτουργείτε σε ένα σύστημα αρχείων με δικαιώματα πρόσβασης ανά-αρχείο και κάθε σημαντική λειτουργία απαιτεί έλεγχο ταυτότητας με ένα κλειδί AES-128 πρώτα. Το NTAG 424 DNA φέρει πέντε κλειδιά AES που καθορίζονται από τον πελάτη, χρησιμοποιεί αμοιβαίο έλεγχο ταυτότητας 3 περασμάτων για το προστατευμένο αρχείο δεδομένων και φέρει πιστοποίηση κοινών κριτηρίων EAL4 τόσο σε υλικό όσο και σε λογισμικό. Οι ομάδες που προγραμματίζουν ετικέτες NFC για έλεγχο ταυτότητας προϊόντος αντί για απλή ανακατεύθυνση, συνήθως αναζητούν αυτό το τμήμα ειδικά, λόγω ενός χαρακτηριστικού.

 

Αυτή η δυνατότητα είναι το Secure Dynamic Messaging, που συχνά γράφεται ως SUN. Όταν είναι ενεργοποιημένη, η διεύθυνση URL NDEF που παρουσιάζει το τσιπ αλλάζει με κάθε πάτημα: το τσιπ αντικατοπτρίζει το UID του και έναν μονότονα αυξανόμενο μετρητή ανάγνωσης στη διεύθυνση URL, προαιρετικά κρυπτογραφημένο και προσαρτά ένα CMAC που υπολογίζεται με ένα κλειδί μόνο εσείς και το τσιπ που κρατάτε. Το backend σας μπορεί στη συνέχεια να διακρίνει μια πραγματική ετικέτα από μια φωτογραφημένη διεύθυνση URL και μπορεί να διακρίνει τον αριθμό βρύσης 4 από τον αριθμό βρύσης 4.000.

 

Η σωστή διαμόρφωσή του είναι εκεί που δαγκώνει η προδιαγραφή. Οι κανόνες κατοπτρισμού δεν είναι δωρεάν-: όταν τα δεδομένα PICC είναι κρυπτογραφημένα, ο κατοπτρισμός του UID και του μετρητή ανάγνωσης γίνεται υποχρεωτικός και όχι προαιρετικός, τα δύο ταξιδεύουν πάντα μαζί και το CMAC πρέπει να βρίσκεται στο τέλος του μηνύματος NDEF. Σχεδιάστε τη δομή του URL σας γύρω από αυτούς τους περιορισμούς, όχι το αντίστροφο, διαφορετικά οι μετατοπίσεις δεν θα επιλυθούν και το backend θα απορρίψει κάθε ανάγνωση.

 

Η αποτυχία που βλέπουμε πιο συχνά στις αναπτύξεις SUN δεν έχει καμία σχέση με τίποτα από αυτά. Κάθε υλοποίηση δημόσιας αναφοράς και ο διακομιστής επίδειξης αποστέλλεται με τα εργοστασιακά-προεπιλεγμένα-μηδενικά κλειδιά, επειδή αυτό είναι που κάνει μια επίδειξη να λειτουργεί εκτός λειτουργίας. Τα έργα γίνονται πρωτότυπα σε σχέση με αυτό, το πρωτότυπο λειτουργεί και το βήμα περιστροφής του κλειδιού δεν μπαίνει ποτέ στη λίστα ελέγχου εκκίνησης. Οι ετικέτες βγαίνουν κρυπτογραφικά γυμνές, ενώ όλοι οι εμπλεκόμενοι πιστεύουν ότι η ανάπτυξη είναι κρυπτογραφημένη, γι' αυτό και η δική μας διαδικασία έκδοσης δείγματος ελέγχει τη διαφοροποίηση των κλειδιών στις μονάδες παραγωγής και όχι σε ό,τι χρησιμοποιήθηκε για την επίδειξη.

 

Έξι λειτουργίες που δεν μπορείτε να αντιστρέψετε αφού προγραμματίσετε ετικέτες NFC

 

Οι επανεγγραφές ωφέλιμου φορτίου είναι φθηνές. Αυτά δεν είναι. Κάθε ένα από αυτά είναι μια απόφαση που μετατρέπει μια παρτίδα ετικετών σε πάγιο περιουσιακό στοιχείο και καθεμία από αυτές ήταν η αιτία της κατάργησης του αποθέματος που έπρεπε προσωπικά να αντικαταστήσουμε.

 

Λειτουργία Τι κάνει Γιατί δεν μπορεί να αναιρεθεί Πότε πρέπει να προγραμματιστεί
Μορφοποίηση NDEF Γράφει το δοχείο ικανότητας Προσγειώνεται σε μία-χρόνια-προγραμματιζόμενη μνήμη Στο εργοστάσιο, αφού επιβεβαιωθεί ο τύπος τσιπ
Μύτες στατικής κλειδαριάς Κλειδώνει τις πρώτες 16 σελίδες σε μάρκες τύπου 2 Τα bit κλειδώματος έχουν οριστεί-μόνο και δεν είναι δυνατή η επαναφορά τους Μόνο μετά την υπογραφή του τελικού περιεχομένου
Μύτες δυναμικής κλειδαριάς Καλύψτε 96 byte δεδομένων στο NTAG213, 456 στο NTAG215 και 840 στο NTAG216, με ευαισθησία 2 σελίδων στο NTAG213 και 16 σελίδες στο NTAG215 και NTAG216, σύμφωνα με το φύλλο δεδομένων NXP που αναφέρεται παραπάνω Ίδιο σύνολο-μόνο μηχανισμός, ίδια μονιμότητα Ίδια πύλη με τις στατικές κλειδαριές
Διακόπτης-μόνο για ανάγνωση Ορίζει μόνιμα τη σημαία εγγραφής NDEF Δεν υπάρχει αντίστροφη εντολή Ποτέ πριν από την ολοκλήρωση της δοκιμής πεδίου
Λειτουργία LRP στο NTAG 424 DNA Εναλλάσσει το AES σε λειτουργία ανθεκτικής διαρροής- Ενεργοποιήθηκε από το SetConfiguration, χωρίς διαδρομή επιστροφής στη λειτουργία AES Μόνο εάν το απαιτεί ένα τεκμηριωμένο μοντέλο απειλής
Αλλαγή κλειδιού χωρίς μεσεγγύηση Αντικαθιστά τα εργοστασιακά κλειδιά AES Το τσιπ δεν έχει διαδρομή ανάκτησης εάν χαθεί το νέο κλειδί Μόνο όταν ανατεθεί επίσημα η φύλαξη του κλειδιού

 

Αυτή η ευαισθησία σελίδας είναι η πρακτική λεπτομέρεια που χάνουν οι περισσότεροι όταν ρωτούν πώς να κλειδώσουν μια ετικέτα NFC μετά τον προγραμματισμό. Το κλείδωμα δεν είναι ένας ενιαίος διακόπτης όλων-ή-τίποτων. Στα NTAG215 και NTAG216 μπορείτε να κλειδώσετε μπλοκ 16 σελίδων, γεγονός που καθιστά βιώσιμη μια μικτή διάταξη: μια περιοχή σειριακού αριθμού κλειδωμένη στο εργοστάσιο, μια περιοχή διεύθυνσης URL καμπάνιας που αφήνεται εγγράψιμη για την ομάδα μάρκετινγκ. Στο NTAG213 η ευαισθησία είναι δύο σελίδες, πιο λεπτή αλλά σε πολύ μικρότερο χάρτη. Ο καθορισμός του ορίου είναι μια εργασία σχεδιασμού και πρέπει να συμβεί πριν από την εκτέλεση της κωδικοποίησης, όχι μετά.

 

Η συνήθεια που αξίζει να χτιστεί είναι ο διαχωρισμός της πύλης κωδικοποίησης από την πύλη κλειδώματος. Συμβουλεύουμε τους πελάτες να μην κλειδώνουν στο σημείο της παραγγελίας και ο λόγος είναι εντελώς εμπορικός και όχι τεχνικός.

 

Σε όλο το ιστορικό παραγγελιών μας, το πιο συχνό αίτημα παράδοσης ανάρτησης-δεν είναι αξίωση ελαττώματος, είναι αλλαγή προορισμού και συγκεντρώνεται εντός του πρώτου έτους υπηρεσίας. Οι συνήθεις κανόνες ενεργοποίησης είναι μια μετεγκατάσταση σελίδας προορισμού ή μια παράδοση εταιρείας, καμία από τις οποίες δεν είναι ορατή τη στιγμή που γίνεται η παραγγελία. Δεν χρειάζεστε τα στατιστικά στοιχεία αποτυχίας κανενός για να ενεργήσετε σε αυτό, γιατί η ασυμμετρία το αποφασίζει από μόνη της: μια ξεκλείδωτη ετικέτα που δεν χρειάζεται ποτέ αλλαγή δεν σας κοστίζει τίποτα, ενώ μια κλειδωμένη ετικέτα που χρειάζεται αλλαγή κοστίζει μια πλήρη παραγγελία αντικατάστασης συν την εργασία επανεγκατάστασης. Προγραμματίστε πρώτα τις ετικέτες NFC, εκτελέστε τη δοκιμή πεδίου και μετά κλειδώστε.

 

Η επαλήθευση του τσιπ είναι αυτό που λέει το τιμολόγιο

 

 

Η αυθεντικότητα του τσιπ δεν αποτελεί παρανοϊκό πρόβλημα σε αυτήν την κατηγορία, είναι ένα εισερχόμενο{0}}στοιχείο ρουτίνας ελέγχου και ανήκει στο ίδιο βήμα QC με οποιονδήποτε άλλο έλεγχο που εκτελείτε πριν προγραμματίσετε τις ετικέτες NFC σε ποσότητες παραγωγής. Οι οικογένειες NTAG, MIFARE, Ultralight και ICODE του NXP φέρουν η καθεμία μια υπογραφή πρωτοτυπίας βάσει ECC, γραμμένη στην παραγωγή chip, 32 byte σε εξαρτήματα NTAG21x, η οποία μπορεί να διαβαστεί και να επαληθευτεί με το δημόσιο κλειδί του κατασκευαστή. Μια ετικέτα που συμπεριφέρεται τέλεια μπορεί να αποτύχει σε αυτόν τον έλεγχο.

 

Αυτό συμβαίνει περισσότερο από ό,τι παραδέχεται η αγορά. Οι μηχανικοί που αγοράζουν ετικέτες NTAG21x μέσω γενικών καναλιών λιανικής ανέφεραν στην κοινότητα του κατασκευαστή ότι τα δείγματα λειτουργούν ακριβώς όπως καθορίζεται, συμπεριλαμβανομένου αντικατοπτρισμού, ωστόσο αναφέρουν ως κλώνο πυριτίου υπό επαλήθευση πρωτοτυπίας και η δημοσιευμένη απάντηση της NXP είναι ότι τέτοια εξαρτήματα δεν υποστηρίζονται και δεν είναι κατάλληλα για ασφαλή χρήση, επειδή το ίδιο το IC μπορεί να είναι ευάλωτο (Κοινότητα NXP).

 

Η λειτουργική συνέπεια είναι στενότερη από ό,τι υποθέτουν οι άνθρωποι και αξίζει να δηλωθεί με ακρίβεια. Εάν η αίτησή σας είναι μια ανακατεύθυνση μάρκετινγκ, ένα τσιπ κλώνου θα σας εξυπηρετήσει επαρκώς και μπορεί να μην σας ενδιαφέρει. Εάν η αίτησή σας περιλαμβάνει έλεγχο ταυτότητας, αποδεικτικά στοιχεία παραποίησης ή οποιονδήποτε ισχυρισμό κατά της{2}}παραποίησης στον δικό σας πελάτη, ένα μη επαληθεύσιμο τσιπ ακυρώνει ολόκληρη την υπόθεση και καμία σωστή κωδικοποίηση δεν το αντισταθμίζει. Η επαλήθευση διαρκεί δευτερόλεπτα ανά δείγμα με μια εφαρμογή ανάγνωσης και ανήκει στην εισερχόμενη διαδικασία QC και όχι σε μια ανάρτηση- νεκροτομή. Σχετική ανάγνωση για όποιον η γραφή ολοκληρώθηκε αλλά ο αναγνώστης του μένει σιωπηλός:γιατί ένα κλωνοποιημένο αυτοκόλλητο διαβάζεται καλά και εξακολουθεί να αποτυγχάνει στην πόρτα.

 

Η Κλασική Ερώτηση Ασφαλείας MIFARE, επαναδιατυπώθηκε ειλικρινά

 

Όποιος προσδιορίζει το MIFARE Classic σήμερα θα πρέπει να εργάζεται από την τρέχουσα ερευνητική θέση και όχι από τη φήμη που είχε η πλατφόρμα πριν από μια δεκαετία.

 

Το 2024, μια μελέτη για το FM11RF08S, ένα τσιπ συμβατό με το MIFARE Classic που κυκλοφόρησε το 2020 με αντίμετρα ειδικά σχεδιασμένα για να αντιστέκονται σε όλες τις γνωστές επιθέσεις-μόνο με κάρτες, νίκησε αυτά τα αντίμετρα και αποκάλυψε μια κερκόπορτα υλικού στη διαδικασία. Η κερκόπορτα επιτρέπει σε οποιοδήποτε μέρος το γνωρίζει να παραβιάσει κάθε κλειδί που έχει οριστεί από τον χρήστη στην κάρτα μέσα σε λίγα λεπτά από τη φυσική πρόσβαση, και αυτό ισχύει ακόμα και όταν τα κλειδιά έχουν διαφοροποιηθεί πλήρως ανά κάρτα (Αρχείο ePrint Cryptology). Τα σχετικά κλειδιά πίσω πόρτας εντοπίστηκαν σε ένα ευρύτερο σύνολο εξαρτημάτων, συμπεριλαμβανομένων των προηγούμενων γενεών Fudan και συγκεκριμένων συσκευών NXP και Infineon.

 

Διαβάστε το προσεκτικά πριν βγάλετε το λάθος συμπέρασμα από αυτό. Αυτό δεν είναι επιχείρημα ότι όλοι που χρησιμοποιούν το MIFARE Classic εκτίθενται αύριο και δεν το παρουσιάζουμε ως ένα. Εκατομμύρια κλασικά διαπιστευτήρια λειτουργούν σε περιβάλλοντα χαμηλών-συνεπειών όπου η κλωνοποίηση μιας κάρτας αποκτά πρόσβαση σε έναν εισβολέα σε ένα ντουλάπι γυμναστηρίου. Είναι επιχείρημα ότι η φράση "ασφαλής" δεν πρέπει να εμφανίζεται πουθενά σε ένα έγγραφο προδιαγραφών μαζί με αυτήν την οικογένεια chip και ότι οποιοσδήποτε πρόκειται να προγραμματίσει ετικέτες NFC για δωμάτια ξενοδοχείου, πρόσβαση γραφείου ή πληρωμή χωρίς μετρητά στο Classic silicon θα πρέπει να τιμολογήσει μια μετεγκατάσταση σε ένα τμήμα που βασίζεται-στο AES στον ίδιο κύκλο προϋπολογισμού.

 

Προγραμματισμός ετικετών NFC μαζικά: Τι αλλάζει πάνω από χίλιες μονάδες

 

Όλα όσα περιγράφηκαν μέχρι τώρα κλιμακώνονται άσχημα. Μια εφαρμογή τηλεφώνου γράφει μία ετικέτα κάθε φορά χωρίς εγγραφή δέσμης, χωρίς πάσο επαλήθευσης και χωρίς τρόπο να αποδείξει στη συνέχεια ποια διεύθυνση URL πήγε σε ποια φυσική μονάδα. Υπάρχουν τρία επίπεδα για τον τρόπο προγραμματισμού των ετικετών NFC μαζικά και το άλμα μεταξύ τους είναι λειτουργικό και όχι τεχνικό.

 

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

 

Το δεύτερο επίπεδο είναι το σημείο όπου προσγειώνονται οι περισσότερες-εσωτερικές ομάδες: προγραμματίζετε ετικέτες NFC με ένα πρόγραμμα εγγραφής ανάγνωσης σε έναν επιτραπέζιο υπολογιστή, που οδηγείται από ένα αρχείο δέσμης, συνήθως μέσω ενός κωδικοποιητή USB στην κατηγορία ACR12xx ή uTrust. Λειτουργεί καλά μέχρι να αλλάξει το τσιπ. Το ευρέως χρησιμοποιούμενο-εργαλείο παρτίδας ανοιχτού κώδικα σε αυτόν τον χώρο, για παράδειγμα, στοχεύει ειδικά το ACR122 και κωδικοποιεί μόνο το MIFARE Ultralight και το Ultralight C, τα οποία είναι τμήματα Τύπου 2, επομένως η μετακίνηση αυτού του έργου σε ένα τσιπ Τύπου 4 σημαίνει ανακατασκευή του εργαλείου αντί για επεξεργασία ενός αρχείου διαμόρφωσης. Εάν εξακολουθείτε να επιλέγετε υλικό για αυτό το επίπεδο, το δικό μαςΕύρος εγγραφών-αναγνώστη USB και επιτραπέζιου NFCκαλύπτει τα μοντέλα ανάγνωσης που περιμένουν αυτές οι αλυσίδες εργαλείων.

 

Η πρακτική του κλάδου για το τρίτο επίπεδο είναι η προ-κωδικοποίηση κατά την κατασκευή και αυτό είναι το επίπεδο που οι περισσότεροι αγοραστές δεν γνωρίζουν ότι υπάρχει. Στις γραμμές μας σε ένα εργοστάσιο 3.600 m², η κωδικοποίηση βρίσκεται μεταξύ της συγκόλλησης τσιπ και της τελικής συναρμολόγησης, σε εξοπλισμό που ευρετηριάζει κάθε ετικέτα στη θέση του, γράφει την εγγραφή και την διαβάζει πριν προχωρήσει η ετικέτα. Το πάσο επαλήθευσης είναι ολόκληρο το σημείο. Μια ετικέτα που αποτυγχάνει να αναγνωσθεί-απορρίπτεται στη γραμμή{{7} αντί να ανακαλύπτεται από έναν πελάτη στο πεδίο και η παρτίδα φεύγει με ένα αρχείο αντιστοίχισης που συνδέει κάθε UID ή TID με το ακριβές περιεχόμενο που είναι γραμμένο σε αυτό, το οποίο χρειάζεται το CMS ή η πλατφόρμα αναλυτικών στοιχείων την πρώτη ημέρα. Η αυτοματοποιημένη χωρητικότητα συγκόλλησης σε πέντε γραμμές παραγωγής ξεπερνά τα 100.000 τσιπ την ημέρα, επομένως η κωδικοποίηση δεν περιορίζει τον χρόνο παράδοσης.

 

Αυτό που αφήνει έξω από αυτή την περιγραφή, σκόπιμα, είναι το όριο αποδοχής. Η επαλήθευση ανάγνωσης-πίσω είναι μια πύλη επιτυχίας/αποτυχίας, αλλά το ποσοστό αποτυχίας που θα πρέπει να αποδεχτείτε συμβατικά διαφέρει ανάλογα με την οικογένεια τσιπ, τον παράγοντα μορφής και το εάν η ετικέτα πλαστικοποιείται στη συνέχεια. ένα αντιμεταλλικό αυτοκόλλητο και μια κάρτα PVC δεν συμπεριφέρονται με τον ίδιο τρόπο στην ίδια γραμμή. Αυτός ο αριθμός ανήκει σε ένα εισαγωγικό έναντι της συγκεκριμένης κατασκευής σας, όχι σε ένα άρθρο, και είναι το πρώτο πράγμα που ορίζουμε όταν ξεκινά ένα νέο πρόγραμμα.

 

Το πού χαράσσουμε το δικό μας όριο δυνατοτήτων αξίζει να το αναφέρουμε ξεκάθαρα, γιατί είναι το σημείο που συνήθως θολώνουν οι προμηθευτές ανταλλακτικών. Θα προ-προγραμματίσουμε ετικέτες NFC με το πρότυπο URL σας, θα κάνουμε σειριακή ανά μονάδα, θα επαληθεύσουμε κάθε ετικέτα και θα παραδώσουμε το αρχείο αντιστοίχισης. Θα παρέχουμε τα κλειδιά AES που παρέχετε. Δεν θα κρατήσουμε τα κλειδιά παραγωγής σας, δεν θα λειτουργήσουμε το backend επικύρωσής σας και δεν θα σας πούμε ότι ένα εργοστάσιο μπορεί να κάνει μια εφαρμογή-σωστή σχεδίαση ασφαλείας επιπέδου. Αυτό το μέρος είναι δικό σας και οποιοσδήποτε προμηθευτής ισχυρίζεται το αντίθετο, σας πουλάει μια μεταφορά κινδύνου που δεν υπάρχει.

 

Εννέα ερωτήσεις που πρέπει να διευθετηθούν πριν από την εκτέλεση κωδικοποίησης

 

Εκτελέστε αυτό πριν από την παραγγελία αγοράς, όχι μετά την άφιξη των δειγμάτων. Κάθε αντικείμενο έχει τελειώσει τουλάχιστον ένα έργο που μας ζητήθηκε να διασώσουμε.

 

# Ερώτηση Γιατί αποφασίζει το τσιπ
1 Τα iPhone θα πατήσουν αυτές τις ετικέτες; Αφαιρεί εντελώς το MIFARE Classic από το ενδεχόμενο
2 Ποιο είναι το πλήρες μήκος της διεύθυνσης URL, συμπεριλαμβανομένων των μελλοντικών παραμέτρων; Βάζει τον όροφο στο NTAG213, 215 ή 216
3 Αρκεί μία εγγραφή ή χρειάζεστε και εγγραφή κειμένου ή εγγραφή εφαρμογής; Οι πρόσθετες εγγραφές καταναλώνουν τον ίδιο προϋπολογισμό μνήμης
4 Θα αλλάξει ο προορισμός κατά τη διάρκεια ζωής της ετικέτας; Καθορίζει εάν το κλείδωμα είναι ποτέ αποδεκτό
5 Προβάλλει η εφαρμογή αξίωση γνησιότητας στους τελικούς χρήστες; Σας ωθεί στο NTAG 424 DNA ή στο DESFire
6 Ποιος κρατά και περιστρέφει τα κλειδιά AES; Πρέπει να εκχωρηθεί πριν αλλάξει οποιοδήποτε κλειδί
7 Ποιο είναι το κριτήριο αποδοχής για μια παρτίδα που παραδίδεται; Καθορίζει εάν η επαλήθευση ανάγνωσης{0}}πίσω είναι συμβατική
8 Χρειάζεστε ένα UID-για-το αρχείο αντιστοίχισης περιεχομένου; Πρέπει να καθοριστεί πριν από την εκτέλεση, όχι να ζητηθεί μετά
9 Η επαλήθευση της υπογραφής πρωτοτυπίας αποτελεί μέρος του εισερχόμενου QC; Καθορίζει εάν η προμήθεια τσιπ είναι ελεγχόμενη

 

Οι ομάδες που μπορούν να απαντήσουν και στις εννέα συνήθως έχουν καθαρή παραγωγή με την πρώτη προσπάθεια. Οι ομάδες που μπορούν να απαντήσουν έξι στα εννέα συνήθως ανακαλύπτουν τις υπόλοιπες τρεις με τον ακριβό τρόπο.

 

Οι εννέα ερωτήσεις είναι η γενική έκδοση. Αυτή από την οποία εργαζόμαστε στην πραγματικότητα προσθέτει μια δέκατη στήλη, την απάντηση που είναι σωστή για την κατασκευή σας και όχι γενικά, και αυτή η στήλη εξαρτάται από πράγματα που δεν μπορεί να δει αυτό το άρθρο: τη μίξη της συσκευής σας, την κατάσταση αναγνώστη, τη διαδικασία πλαστικοποίησης και εάν η σειριοποίηση πρέπει να είναι διαδοχική ή τυχαία. Στείλτε μας τις πρώτες εννέα απαντήσεις και θα επιστρέψουμε τη σχολιασμένη έκδοση σύμφωνα με τις προδιαγραφές σας.

 

Όπου αυτό αφήνει έναν αγοραστή

 

Δεν υπάρχει γενική διαδικασία για τον προγραμματισμό των ετικετών NFC, μόνο μια διαδικασία ανά τσιπ, ανά πλατφόρμα, ανά τόμο. Επιλέξτε πρώτα το τσιπ στο ανώτατο όριο της μνήμης και στην ερώτηση του iPhone. Αντιμετωπίστε τη μορφοποίηση, το ωφέλιμο φορτίο και τη διαμόρφωση ως τρεις ξεχωριστές πύλες. Ποτέ μην κλειδώνετε πριν από μια δοκιμή πεδίου. Επαληθεύστε την πρωτοτυπία στα εισερχόμενα δείγματα. Πάνω από χίλιες μονάδες, σταματήστε να σκέφτεστε τις εφαρμογές και αρχίστε να σκέφτεστε την επαλήθευση και την ιχνηλασιμότητα.

 

Εάν μια προδιαγραφή έχει ήδη συνταχθεί, θα χαρούμε να την εξετάσουμε σε σχέση με τους παραπάνω περιορισμούς τσιπ και να επισημάνουμε οτιδήποτε δεν θα επιβιώσει στην παραγωγή, ενώ δωρεάν δείγματα είναι διαθέσιμα για δοκιμή στους πραγματικούς αναγνώστες και τις συσκευές σας. Μπορείτε επίσης να ξεκινήσετε από τοΜορφές ετικετών NFC που προ-προγραμματίζουμε και επαληθεύουμε-εάν η απόφαση για το τσιπ είναι ακόμα ανοιχτή, ήστείλτε τη δομή της διεύθυνσης URL και τον όγκο στόχου για έλεγχο κωδικοποίησηςαν έχει ήδη διορθωθεί.

 

FAQ

Μπορώ να προγραμματίσω οποιαδήποτε ετικέτα NFC με το iPhone μου;

Όχι. Το iOS Core NFC δεν υποστηρίζει MIFARE Classic, ενώ τα NTAG21x, MIFARE Ultralight, DESFire και NTAG 424 DNA υποστηρίζονται όλα. Εάν η ανάπτυξή σας πρέπει να λειτουργήσει σε iPhone, αποκλείστε το MIFARE Classic πριν παραγγείλετε.

Πόσα δεδομένα μπορεί να χωρέσει μια ετικέτα NFC;

Η μνήμη χρήστη είναι 144 byte στο NTAG213, 504 byte στο NTAG215 και 888 byte στο NTAG216 και 416 byte στο NTAG 424 DNA σε τρία ξεχωριστά αρχεία.

Μπορεί να αναιρεθεί ο προγραμματισμός ετικετών NFC;

Το περιεχόμενο ωφέλιμου φορτίου μπορεί κανονικά να ξαναγραφτεί, αλλά η μορφοποίηση, τα bit κλειδώματος, ο διακόπτης-μόνο για ανάγνωση και η λειτουργία LRP είναι μόνιμα μόλις εφαρμοστούν. Προγραμματίστε κάθε βήμα κλειδώματος μετά τη δοκιμή πεδίου, ποτέ στο σημείο της παραγγελίας.

Πώς μπορώ να ξέρω αν οι ετικέτες NFC μου χρησιμοποιούν γνήσια τσιπ;

Διαβάστε την υπογραφή πρωτοτυπίας βάσει ECC-και ελέγξτε την με το δημόσιο κλειδί του κατασκευαστή, επειδή ένας αποτυχημένος έλεγχος υποδεικνύει κλωνοποίηση πυριτίου ανεξάρτητα από το πόσο καλά λειτουργεί η ετικέτα.

Πώς προγραμματίζονται μαζικά οι ετικέτες NFC;

Είτε με έναν κωδικοποιητή USB που οδηγείται από ένα αρχείο δέσμης, είτε προγραμματισμένο εκ των προτέρων κατά τη διάρκεια της κατασκευής με-εντολή ανάγνωση-επιστροφής επαλήθευσης. Πάνω από χίλιες μονάδες, κάντε το UID-σε-αρχείο αντιστοίχισης περιεχομένου μέρος της προδιαγραφής και όχι μεταγενέστερο αίτημα.

Αποστολή ερώτησής