在线商店

Détection et accès NDEF - Balises MIFARE经典& MIFARE Plus

打印友好,PDF和电子邮件

Détection et accès NDEF

Ce chapitre décrit comment les données NDEF (par sample le message NDEF) DOIVENT être stockées et consultées dans les balises MIFARE Classic et MIFARE Plus。

Le message NDEF que cette note d 'application gère dans un MIFARE Classic et MIFARE Plus, est stocké dans un message NDEF TLV appelé TLV de message NDEF dentiatoire ou premier message NDEF TLV。Le message NDEF obligation TLV est également Le message NDEF TLV trouvé par la procédure de détection NDEF (voir第一节。4.1).

Gestion du NDEF

倒détecter et accéder aux données NDEF (par示例,消息NDEF) à l 'intérieur des étiquettes MIFARE经典et MIFARE Plus, le MAD DOIT être utilisé (voir2.4节) avec le GPB des部门NFC。

Un identifier d’application (AID) du MAD, appelé NFC AID,一个été réservé pour identifier les securs avec des données NDEF。Un sector avec des données NDEF est appelé sector NFC。Les deux champs de l 'AID NFC sont définis comme suit:

le code du cluster de function est égal à E1h pour identifier le cluster de扇区avec des données NDEF,等

le code de l 'application est égal à 03h pour identifier le sector NFC auquel cette note d 'application est liée。

Un ou plusieurs部门NFC PEUVENT être présents à l 'intérieur d 'une balise MIFARE经典1k/4k。

Si plus d’un sector NFC est présent, les sectors NFC DOIVENT être contigus。Dans le cas de MIFARE经典4k ou MIFARE Plus avec 4 Ko, il DOIT être considéré comme contiguë une séquence de部门NFC qui包括le部门MAD 16。

各部门NFC contigus示例语音:

  • NFC扇区du扇区2 au扇区3等
  • NFC du 1扇区au 39扇区。Dans ce cas, le扇区MAD 16 est contentu maiis toujour tel que défini ci-dessus, les扇区NFC sont considérés comme contigus。

NFC非连续性部门举例:

  • 第3扇区和第5扇区无第4扇区。近距离通信,近距离通信,近距离通信,近距离通信,近距离通信,近距离通信。

Les données du NDEF DOIVENT être écrites à partir du sector NFC avec le plus petit numéro de sector jusqu 'au plus grand。

L 'octet à用法général (GPB, voir2.1节2.3节) de chque扇区NFC fournit des信息sur le numéro de version du modèle de mappage utilisé pour stocker les données NDEF dans MIFARE经典et MIFARE Plus (voir第一节。1.1) et l 'accès en écriture des部门NFC。Le GPB DOIT être codé comme décrit dans这个表格1

1 -结构des八位位组一个使用一般

msb比特7 位6 位5 位4 位3 位2 位1 lsb位0
Numéro de version de mappage 条件d 'acces
Numéro不可抗力 Numéro de version mineure 条件d 'accès en lecture 条件d 'accès en écriture

Les 4bits Les moins significatifs (lsb) du GPB inquent Les conditions d 'accès du Secteur NFC:

  • Le bit 2-3 indique la condition d 'accès en lecture:
    • La valeur 00b indique un accès en lecture accordé sans aucune sécurité。
    • La valeur 11b indique qu 'aucun accès en lecture n 'a été accordé。
    • 为我们的珍贵之物opérations de sécurité du fournisseur sont nécessaires pour accorder un accès en lecture, c 'est -à-dire propriétaire。
  • Le bit 0-1 indique la condition d 'accès en écriture:
    • La valeur 00b indique un accès en écriture accordé sans aucune sécurité。
    • La valeur 11b indique qu 'aucun accès en écriture n 'a été accordé。
    • Toute autre valeur inque que les opérations de sécurité du fournisseur sont nécessaires pour accorder un accès en écriture, c 'est -à-dire propriétaire。

Les 4 bits Les plus signatifs (msb) indiquent le numéro de version du mappage (voir第一节。1.1):

  • Le bit 7-6 (les 2 msb du champ numéro de version de mappage) indique Le numéro de version principale。
  • Le bit 5-4 (Le champ 2 lsb du numéro de version de mappage) indique Le numéro de version mineure。

À l 'intérieur d 'une étiquette MIFARE经典et MIFARE Plus, le ou les securs NFC内容le message NDEF义务TLV DOIVENT être réglés avec une条件d 'accès en lecture égale à 00h et des条件d 'accès en écriture égales à 00b ou 11b (voir第一节)。3.).

Le dispositif Reader metttant en enchuvre cette note d 'application DOIT gérer les balises MIFARE Classic et MIFARE Plus avec un numéro de version不可抗力égal à 01b et Le numéro de version mineure égal à 00b, c 'est -à-dire une version de mappage 1.0。

特性des版本

Le GPB des扇区NFC大陆Le numéro de version de mappage du modèle de mappage appliqué de la balise MIFARE Classic 1k/4k ou MIFARE Plus。Le numéro de version du mappage est indiqué par deux numéros: numéro de version不可抗力et numéro de version mineure。

La gestion des différents numéros de version不可抗力et mineure de La balise MIFARE Classic ou MIFARE Plus (appelée MSVNo) et de celle implémentée dans le périphérique Reader (appelée NFCDevVNo) est expliquée dans les 4 cas du12

12 -治理des是德版本文档de mappage

Cas de numéro de版本 操纵
1 Le NFCDevVNo majeur est égal au MSVNo majeur, et

NFCDevVNo mineur est supérieur ou égal à MSVNo mineur

Le lecur DOIT accéder à la balise MIFARE经典ou MIFARE Plus et UTILISER TOUTES LES FONCTIONNALITÉS DU DOCUMENT DE MAPPAGE APPLIQUÉ À CETTE balise MIFARE经典ou MIFARE Plus。
2 Si NFCDevVNo majeur est égal à MSVNo majeur, et

NFCDevVNo mineur est inférieur à MSVNo mineur

可能的que toutes les fonctionnalités de la balise MIFARE经典ou MIFARE加上ne soient pas无障碍。Le lecteur UTILISERA touttes ses fonctionnalités et ACCÉDERA à cette balise MIFARE经典ou MIFARE Plus。

Cas de numéro de版本 操纵
3. 不可抗力外加小不可抗力 格式données不兼容。Le périphérique Reader ne peut pas compprenre les données de la balise MIFARE Classic ou MIFARE Plus。Le讲师DOIT拒绝cette balise MIFARE经典ou MIFARE Plus。
4 这是最不可思议的外加最不可思议的 Le périphérique读者peut implémenter la prise en charge des versions précédentes de ceette spécification en plus de sa version principale。Dans le cas où l 'appareil Reader a le support de la version précédente, il DOIT accéder à la balise MIFARE Classic ou MIFARE Plus。反之,dans le cas où l 'appareil Reader n 'a pas de support de la version précédente, il DOIT rejeter la balise MIFARE Classic ou MIFARE Plus。

贮藏NDEF

Le format de données du message NDEF est défini dans [NDEF]。Le message NDEF DOIT être stocké dans Le champ de valeur du message NDEF TLV (voir2.6.1节) NFC(近场通信)Les sectors NFC sont identifiés par le NFC AID dans le(s) secteur(s) MAD。

生命周期

Les扇区NFC d 'une balise MIFARE经典ou MIFARE Plus PEUVENT être dans Les états suivants INITIALISÉ,讲座/ÉCRITURE ou讲座SEULE。Les sectors NFC DOIVENT être dans un seul état à un moment précis。L ' état DOIT être reflété par le contenu des sector NFC。L ' État n ' est pas lié à un seul secteur NFC, mais à tous les secteurs NFC réunis。Les états sont décrits dans Les sections suivantes。

Si la balise MIFARE经典ou MIFARE Plus大陆独特的des部门NFC, l ' état des部门NFC est appelé état de la balise MIFARE经典ou MIFARE Plus。Dans la description ci-dessous, l ' état de la balise MIFARE Classic ou MIFARE Plus est confondu avec (c ' est-à-dire égal à) l ' état des扇区NFC。

chque état a ses opérations生效appelées转换或改变état。Les过渡d ' état ne sont pertinentes que pour Les lecurs capables d ' écrire des balises MIFARE Classic ou MIFARE Plus。

Les différents états sont identifiés en comparant le GPB du segment NFC où开始le TLV obligation du message NDEF et Les champs du message NDEF obligation TLV。Notez que les bits d 'accès de la relque de sector décrits à la部分2.5Ne sont pas utilisés dans cette note d ' application pour identifier l ' état spécifique。

Si la balise MIFARE Classic ou MIFARE Plus n 'est pas dans un état valide selon cette note d 'application, les données NDEF de la balise MIFARE Classic ou MIFARE Plus dans tous les扇区NFC DOIVENT être ignorées。Les raisons PEUVENT être:

  • 部门NFC非contigus。
  • 奥昆部门NFC n ' est présent à l 'intérieur de l ' étiquette, c ' est-à-dire qu ' Aucun部门n ' est indiqué par le MAD à l ' aide du NFC AID。
  • Incompatibilité在巴黎巴黎街区的旅行中心和旅行中心réelle在巴黎巴黎特区données。
  • 集团TLV无效。

状态初始化

Une étiquette MIFARE经典ou MIFARE Plus DOIT être détectée à l ' état INITIALISÉ lorsque:

        • le GPB est défini comme décrit à la第一节。1,特殊位0-1 égal à 00b等位2-3 égal à 00b (accès讲座等écriture accordé),
        • le(s) secteur(s) NFC大陆un消息NDEF TLV(义务),等
        • la longueur du champ du message NDEF obligation TLV est égale à 00h。

Dans l ' état INITIALISÉ, l ' appareil NFC PEUT modifier le contenu du message NDEF obligation totoire TLV en y écrivant un message NDEF。L 'annexe D du chapitre 10l 'annexe E duchapitre 0l 'annexe F du chapitre 12présentent双例de MIFARE经典1k, MIFARE Plus avec 2 Ko et MIFARE经典4k ou MIFARE Plus avec 4 Ko, tous à l ' état INITIALISÉ。

状态读/写

Une balise MIFARE经典ou MIFARE Plus DOIT être détectée à l ' état读/写lorsque:

        • le GPB est défini comme décrit à la第一节。1,特殊位0-1 égal à 00b等位2-3 égal à 00b (accès讲座等écriture accordé),
        • le message obligation du NDEF TLV est présent dans le(s) secteur(s) NFC, et
        • le champ de longueur du message NDEF obligation TLV est différent de zéro。

L ' état读/写DOIT être atteint通过L ' état INITIALISÉ。Dans cet état, le périphérique NFC PEUT modifier le contenu du message NDEF obligation TLV en y écrivant un message NDEF。

État EN LECTURE SEULE

Une balise MIFARE Classic ou MIFARE Plus DOIT être détectée à l’état讲座SEULE lorsque:

        • le GPB est défini comme décrit à la第一节。1,enparticer avec le bit 0-1 égal à 11b et le bit 2-3 égal à 00b (aucun accès En écriture n 'est accordé, seul l 'accès En lecture est accordé),
        • le message obligation du NDEF TLV est présent dans le(s) secteur(s) NFC, et
        • le longgueur du message obligation du NDEF TLV EST différent de zéro。

En lecture seule, tous les sector NFC disposent d 'un accès En lecture seule。La balise MIFARE Classic ou MIFARE Plus reste en lecture seule pour le cycle de vie restant。

描述de la séquence de命令

Dans cette section, plusieurs procédures sont décrites pour gérer les données NDEF, par sample le message NDEF义务TLV Dans le(s) secteur(s) NFC。Les différents changements d ' état ou过渡entre Les états de la balise MIFARE经典ou MIFARE Plus sont également affichés en détail。

查部门impliqué丹斯莱斯procédures DOIT être authentifié à l ' aide de l 'opération d ' authentication avant de la lire ou de l ' écrire。La clé publique A DOIT être sélectionnée en function du type de sector, c 'est -à-dire le sector MAD ou le sector NFC。

Procédure de détection NDEF

La procédure de détection NDEF DOIT être utilisée pour détecter le message NDEF义务(voir [NDEF]) à l 'intérieur d 'une balise MIFARE经典ou MIFARE Plus。

La procédure de détection NDEF est basée sur La vérification de:

        • le(s) secteur(s) MAD
        • le(s)扇形(s) NFC等
        • le message NDEF义务TLV qui continental le message NDEF。

Comme nous l 'avons déjà mentionné, le message NDEF TLV trouvé par la procédure de détection NDEF est appelé message NDEF obligation TLV ou premier message NDEF TLV。Lorsque mifare Classic ou mifare Plus est à l ' état LECTURE/ÉCRITURE ou LECTURE SEULE, ce message NDEF TLV continent un message NDEF。Dans l ' état INITIALISÉ, le message NDEF TLV est vide。

NDEF图 (1) Après l ' échec d ' une opération d ' authentication ou de lecture, le MIFARE Classic ou le MIFARE Plus ne répond Plus aux commands et doit être réactivé et sélectionné pour poursuivre la procédure de détection NDEF。

倒exécuter la procédure de détection NDEF, le dispositif de lecture (ou dispositif NFC) DOIT effectuer les opérations suivantes (voir également la图6) sur le MIFARE Classic ou le MIFARE Plus:

  1. Vérifiez l 'existence du ou des sectors MAD。
  2. authenticfier et lire le(s) sector (s) MAD: sector 0 pour MAD1 ou sector 0 et 16 pour MAD2 à l 'aide de l 'opération读。
  1. Si, à l 'intérieur du MAD, une ou plusieurs AID égales à l’AID NFC liées à un ou plusieurs securs contigus sont trouvés, passez au point 4。Sinon, aucun NFC AID n 'a été détecté dans la balise MIFARE Classic ou MIFARE Plus, et la balise MIFARE Classic ou MIFARE Plus n 'est pas dans un état valide。
  2. Pour chque sector NFC, effectuez les opérations suivantes en commençant par le plus petit numéro de secur jusqu 'au plus élevé:
    1. 鉴定和lisez la band -annonce部门部门的NFC à l 'aide de la clé publique A pour les secteurs NFC (voir6).
    2. Si l ' authentication et les opérations de lecture réussissent, vérifiez la band -annonce sectorielle du sector NFC。Sinon, si l ' authentication ou l 'opération de lecture échoue, un secteur NFC propriétaire (voir la description du secteur NFC ci-dessous) est trouvé, puis passez à l ' élément f。
    3. Si les bits 4 à 7 du GPB décrivent le bon numéro de version selon les règles définies ci-dessus, passez à l ' élément d. Sinon, arrêtez la procédure car la balise MIFARE Classic ou MIFARE Plus n ' est pas dans un état valide。
    4. Si la valeur du champ de condition d 'accès讲座(比特2-3)du GPB est égale à 00b et que la valeur de la condition d 'accès en écriture déposée(比特0-1)du GPB est égale à 00b ou 11b, lisez les blocs de données du secur NFC relatif à l 'aide de l 'opération de lecture spécifiée à la5.1.3节, recherchez莱斯德消息NDEF男子将一个l 'element e。否则,如果冠军的d 'acces en讲座du加仑桶de 00 h或者是不同的si de la条件的数值d 'acces en文字deposee (0 - 1) de 00 du加仑桶是不同的b等11 b,联合国secteur NFC proprietaire(看到洛杉矶描述du secteur NFC ci-dessous)找到,然后每次l 'element f。
    5. Si un message NDEF TLV est trouvé, il s 'agit du message NDEF obligation (c 'est -à-dire le premier) TLV, puis passez au point 5。Sinon, si aucun消息NDEF TLV n ' est trouvé, allez à l ' élément f。
    6. Si disponible, vérifiez le prochain sector NFC et accédez à l’élément a. Sinon, Si aucun autre sector NFC n’est disponible, arrêtez la procédure car aucun message NDEF TLV n’est trouvé。La balise MIFARE经典ou MIFARE Plus n 'est pas dans un état valide。
  3. Si le champ de longueur du message NDEF义务TLV est différent de zéro, le message NDEF (voir [NDEF]) est détecté dans la balise MIFARE Classic ou MIFARE Plus et le périphérique Reader PEUT utiliser la procédure de lecture NDEF ou la procédure d ' écriture NDEF。Si le champ de longueur est égal à zéro, aucun message NDEF n ' est détecté dans la balise MIFARE Classic ou MIFARE Plus et le périphérique Reader PEUT utiliser la procédure d ' écriture NDEF (la balise PEUT être à l ' état INITIALISÉ)。

La procédure de détection NDEF ne concern pas un消息NDEF有效。Il lit la longueur du message NDEF à partir du champ de longueur du message NDEF TLV mais n 'analyse pas le message NDEF。

Le lecteur DOIT ignorer et sauter parddessus les sector NFC propriétaires。Le secteur NFC propriétaire est défini comme un secteur NFC qui est: soit非认证avec la clé publique A pour les secteurs NFC, soit la valeur du champ d 'accès en lecture du GPB est différente de 00b ou la valeur de la condition d 'accès en écriture déposée (bit 0-1) du GPB est différente de 00b et 11b。

chque fois qu ' une opération d ' authentication, une opération de lecture ou une opération d ' écriture échoue, le MIFARE Classic ou MIFARE Plus reste silencieux et ne répond Plus à aucun

命令。Dans ce cas, pour poursuivre la procédure de détection NDEF, le MIFARE经典ou le MIFARE Plus doit être réactivé et sélectionné。

Procédure de lecture NDEF

La procédure de lecture NDEF est utilisée par le lecteur pour lire le message NDEF à partir du message NDEF obligation TLV。Avant de lire le message NDEF, la procédure de détection NDEF DOIT être exécutée et la balise MIFARE Classic ou MIFARE Plus DOIT être dans un état valide。

enutilant la procédure de lecture NDEF, le dispositif de lecture DOIT lire l 'intégralité du message NDEF à partir du message NDEF义务TLV En utilisant une ou plusieurs opérations de lecture。La longueur du message NDEF à lire est indiquée à partir du champ de longueur du message NDEF义务TLV。

Si le TLV义务性du message NDEF est stocké dans un ou plusieurs securs NFC, le lecteur DOIT être en mesure d ' authenticfier tous ces secteurs avec la clé publique A pour les secteurs NFC (voir表6).En cas d ' échec de la procédure d ' authentication, la balise MIFARE Classic ou MIFARE Plus n ' est pas dans un état valide。

Procédure d ' écriture NDEF

La procédure d ' écriture NDEF DOIT être utilisée par le lecteur pour écrire le message NDEF义务TLV内容un message NDEF à l 'intérieur d ' une balise MIFARE经典ou MIFARE Plus。

La procédure d ' écriture NDEF利用les opérations de lecture et d ' écriture (voir5.1.3节5.1.4节).

倒écrire le message NDEF, la balise MIFARE Classic ou MIFARE Plus DOIT être à l ' état INITIALISÉ ou LECTURE/ÉCRITURE, c ' est-à-dire que le message NDEF toatoire TLV DOIT être déjà présent à l 'intérieur de la balise MIFARE Classic ou MIFARE Plus。

NDEF写入过程

倒exécuter la procédure d ' écriture NDEF, le lecteur DOIT effectuer les opérations suivantes sur la balise MIFARE经典ou MIFARE Plus:

  1. Utilisez la procédure de détection NDEF (voir1.4.1节)倒trouver le message NDEF义务TLV。Si le message obligation du NDEF TLV est trouvé, passez au point 2。Sinon, si aucun消息NDEF TLV n 'est trouvé, mettez fin à la procédure。
  2. Si la taille de mémoire disponible pour le TLV du message NDEF est égale ou supérieure à la taille du message NDEF, les opérations ci-dessous DOIVENT être effectuées dans l ' order suivant à l ' aide d ' une ou plusieurs opérations d ' écriture:
    1. le champ de longueur du message NDEF义务TLV DOIT être d 'un octet et sa valeur DOIT être fixée à 00h,
    2. le nouveau message NDEF DOIT être écrit dans le champ de valeur du message obligation NDEF TLV, et
    1. le champ de longueur du message obligation du NDEF TLV DOIT être mis à jour avec la longueur du message NDEF。

Sinon, si l 'espace mémoire disponible est insuffant dans la balise MIFARE Classic ou MIFARE Plus, le message NDEF NE DOIT PAS être écrit dans la balise MIFARE Classic ou MIFARE Plus。

  1. Si l ' élément 2 est effectué avec succès, le périphérique Reader DOIT écrire le Terminator TLV dans l ' octet suivant le message NDEF TLV à l ' aide de l 'opération Write。Le TLV终结者NE DOIT PAS être écrit lorsque Le TLV义务性的消息NDEF se termine au dernier八部部部NFC不可靠,c 'est -à-dire部部部部NFC avec Le加上大的部部。

关于第2点'opération。b, l ' écriture du champ de valeur du message NDEF trouvé TLV DOIT laisser 1 ou 3 octets pour le champ de longueur qui sont nécessaires pour l 'opération suivante point 2。c pour stocker la longueur du message NDEF。

La procédure d ' écriture NDEF ne modifie pas La position de départ du message NDEF obligation TLV。

La procédure d ' écriture NDEF PEUT écrire le消息NDEF TLV sur les扇区NFC contigus, à l ' exception du扇区MAD 16 dans le cas où MIFARE Classic 4k et MIFARE Plus avec 4 Ko sont utilisés。

La taille de mémoire disponible pour le TLV de message NDEF obligation est calculée à partir de La position du message NDEF obligation TLV comme La somme de:

  • l 'espace mémoire libre du sector NFC content le message NDEF obligation TLV义务TLV。L 'espace mémoire自由开始au début du message NFC obligation TLV et se termine à la fin du sector NFC, et
  • tout l 'espace mémoire des secteurs NFC suivant le sector content le message NDEF obligation TLV义务TLV。Les扇形NFC suivants PEUVENT avoir une taille de 48八位(3块)或240八位(15块)。Les information sur Les securs NFC disponibles suivants DOIVENT être extraites des securs MAD。

Pour l 'opération Write, la lecture de blos non complètement mis à jour est nécessaire en premier lorsque, par example, le message NDEF TLV démarre au milieu d 'un bloc。

政变变化

赛特节décrit les changements d ' état可能de la balise MIFARE经典ou MIFARE Plus。拉图8Montre les états et le changement d ' état (également appelé过渡)entre eux。Dans cette note d 'application, la seule transition spécifiée est de INITIALISÉ à读/写。

Le périphérique读者PEUT émettre une balise MIFARE经典ou MIFARE Plus à l ' état INITIALISÉ, EN LECTURE/ÉCRITURE ou même EN LECTURE seule。生命周期事务

Le通道初始化一个读/写

Pour effectuer la transition de INITIALISÉ à LECTURE/ÉCRITURE, le dispositif Lecteur DOIT effectuer l 'opération suivante: un message NDEF TLV non vide (champ de longueur différent de zéro) REMPLACE le message NDEF TLV vide précédent à l ' aide de la procédure d ' écriture NDEF。Le message NDEF TLV est Le message obligation détecté à l 'aide de la procédure de détection NDEF。

Le message NDEF vide PEUT être utilisé pour remplacer un message NDEF non vide。

Baidu
map