Online Store

MIFARE Classic ve MIFARE Plus IC bellek NDEF veri eşleme yöntemleri

MIFARE Uygulama Dizini #

MIFARE Classic ve MIFARE Plus IC'nin bellek verileri eşleme NDEF yöntemleri, MIFARE uygulama dizini yapısını (MAD) kullanır.

MIFARE uygulama dizini (MAD), her bellek kesiminde depolanan bilgilerin hangi uygulamaya ait olduğunu tanımlar.

İki MIFARE uygulama dizini belirtilmiştir:

      1. MIFARE uygulama dizini 1 (MAD1): MAD1, MIFARE Classic uyumlu herhangi bir üründe KULLANILABİLİR. MAD1, MAD sektöründe (sektör 00h) bulunur, MAD1'in bellek boyutu 1Kbayt'tan büyük olan ürünlerde kullanılması durumunda, MAD1 tarafından yalnızca 1Kbayt bellek kullanılabilir ve adreslenebilir. Bu nedenle kalan bellek NDEF depolama için kullanılmaz ve boş kalır.
      2. MIFARE uygulama dizini 2 (MAD2): MAD1, bellek boyutu 1Kbayt'tan büyük olan herhangi bir MIFARE Classic uyumlu üründe KULLANILABİLİR. MAD2, bellek boyutu daha küçük veya 1Kbayt'a eşit olan ürünler için geçerli değildir. MAD2, MAD sektörlerinde (sektör 00h ve 10h) yer almaktadır.

MAD her uygulama için benzersiz bir uygulama tanımlayıcısı (AID) ilişkilendirir. Uygulama tanımlayıcıları (AID'ler) 00h MAD kesim(ler)i içinde depolanır.

AID iki bayt uzunluğundadır ve her biri bir baytlık 2 alana bölünmüştür:

  1. uygulamanın ait olduğu kümeyi tanımlayan işlev kümesi kodu (1 bayt) ve
  2. küme içindeki uygulamayı tanımlayan uygulama kodu (1 bayt). MAD1 ve MAD2 hakkında daha fazla bilgi için.

MAD sektörünün Genel Amaçlı Baytı (GPB), 1b'ye eşit bir DA biti ile ayarlanmalıdır (DA biti, GPB'nin mevcut MAD bitidir).

Şu anda kullanılmayan tüm sektörler, erişim koşullarının ve anahtarların istenmeyen şekilde yeniden tanımlanmasını önlemek için etiketi veren kuruluş tarafından tanımlanan gizli anahtarlarla yazmaya karşı korumalı OLMALIDIR. Tüm serbest sektörler için farklı anahtarların kullanılması TAVSİYE EDİLMELİDİR. Bu, bazı sektörlerin gelecekte tüm serbest sektörleri serbest bırakmaya gerek kalmadan yeni hizmet sağlayıcılara serbest bırakılmasını sağlar.

MAD Sektör Erişimi #

MAD1 ve MAD2'nin depolandığı bellek sektörleri (bkz. [MAD]), A ve B tuşu kullanılarak korunur. Bellek sektörlerine [MAD] göre:

        • MAD1: MAD sektörü 00h (sektör 0) ve
        • MAD2: MAD sektörleri 00h ve 10h'dir (sektör 0 ve sektör 16).

Herkesin MAD sektörlerini okumasına izin verilecektir. Bu, Tablo 1'de açıklanan bir ortak anahtar A kullanılarak elde edilir (ayrıca [MAD]bkz. ).

Tablo 1. Ortak Anahtar MAD sektör(ler)inin bir değeri

Bayt 0 Bayt 1 Bayt 2 Bayt 3 Bayt 4 Bayt 5
A0h A1h A2h A3s A4 saat A5 saat

MAD sektörleri için erişim bitleri şunlardan birine ayarlanır:

        • Tablo 2'de açıklandığı gibi, MAD sektörüne okuma ve yazma erişimi verilmişse, veya
        • MAD kesimine salt okunur erişim izni verilmişse Tablo 3'te açıklandığı gibi (ayrıca [MF1K, MF4K, MFPLUS]bkz. ).

Bu bağlamda, verilen okuma ve yazma erişimi terimi, daha önce B gizli anahtarıyla kimliği doğrulanmış MAD sektörleri için, sektör römork bloğu dışındaki tüm sektör bloklarını okumanın ve yazmanın mümkün olduğu anlamına gelir (daha fazla ayrıntı için Tablo 2'ye bakın).

Bunun yerine, verilen salt okunur erişim terimi, daha önce Tablo 1'in A ortak anahtarı veya gizli anahtar B ile kimliği doğrulanmış MAD sektörleri için, sektör römork bloğu dışındaki tüm sektör bloklarını yalnızca okumanın mümkün olduğu anlamına gelir (daha fazla ayrıntı için bkz. Tablo 5 ).

A tuşunu kullanarak sadece MAD sektörünün bloklarını okumak her zaman mümkündür. Sektör römorkları, okuma/yazma erişimi veya salt okunur erişim verildiğinde belirli bir erişim yapılandırmasına sahiptir (bkz. Tablo 2 ve Tablo 3).

MAD sektörleri, B gizli anahtarı (örneğin, etiketi veren tarafından tanımlanan) aracılığıyla veya MIFARE Classic ve MIFARE Plus etiketini erişim bitleri kullanılarak salt okunur olarak ayarlayarak yazmaya karşı korumalı OLMALIDIR.

Tablo 2. Okuma ve yazma erişimi verilmiş olarak MAD sektörü için erişim bitleri ayarı

MAD1 veya MAD2 sektör 0 ve MAD2 sektör 16 için erişim bitleri ayarı
Erişim Bitleri Değer Açıklamalar
C1 0 C20 C30 100bi Blok 0, A tuşu veya B tuşu ile okunur ve B tuşu ile yazılır
C1 1 C21 C31 100b Blok 1, A tuşu veya B tuşu ile okunur ve B tuşu ile yazılır
C1 2 C22 C32 100b Blok 2, A tuşu veya B tuşu ile okunur ve B tuşu ile yazılır
C1 3 C23 C33 011b Sektör treyler bloğu:

  • A tuşu, B tuşu ile yazılır ve asla okunmaz,
  • Erişim bitleri A tuşu veya B tuşu ile okunur ve B tuşu ile yazılır,
  • B anahtarı, B anahtarıyla yazılır ve asla okunmaz.
i. Sektör 0'ın C1 0 C20 C30 erişim bitleri için önerilen değer (üretici bloğu).

Tablo 3. Salt okunur erişim izni verilen MAD sektörü için erişim bitleri ayarı

MAD1 veya MAD2 sektör 0 ve MAD2 sektör 16 için erişim bitleri ayarı
Erişim Bitleri Değer Açıklamalar
C1 0 C20 C30 010b Blok 0, A tuşu veya B tuşu ile okunur
C1 1 C21 C31 010b Blok 1, A tuşu veya B tuşu ile okunur
C1 2 C22 C32 010b Blok 2, A tuşu veya B tuşu ile okunur
C1 3 C23 C33 110b Sektör treyler bloğu:

  • A Anahtarı asla yazılmaz ve okunmaz,
  • Erişim bitleri A tuşu veya B tuşu ile okunur ve asla yazılmaz,
  • B anahtarı asla yazılmaz ve okunmaz.
i. Sektör 0'ın C10 C20 C30 erişim bitleri için önerilen değer (üretici bloğu).

TLV blokları #

TLV bloğu bir ila üç alandan oluşur:

T (etiket alanı veya T alanı) TLV bloğunun türünü tanımlar (bkz. Tablo 9) ve SHALL 00h ile FFh arasında bir sayı kodlayan tek bir bayttan oluşur. 01h, 02h, 04h – FCh ve FFh etiket değerleri ileride kullanılmak üzere ayrılmıştır.

L (uzunluk alanı veya L alanı), değer alanının bayt cinsinden boyutunu SAĞLAMALIDIR. Bir veya üç bayttan oluşan iki farklı biçime sahiptir. Okuyucu cihazı tüm iki uzunluktaki alan biçimlerini anlayacaktır. Şekil 5, iki farklı uzunluk alanı yapısını göstermektedir. Ancak, etiket alanı değerine bağlı olarak, uzunluk alanı mevcut OLMAYABİLİR.

  • Bir baytlık biçim: Bir baytlık biçim, değer alanının uzunluğunu 00h ile FEh bayt arasında KODLAYACAĞIZ. Bu bayt, değer 00h ile FEh arasındaysa bir kardinal olarak yorumlanacaktır. FFh içeriyorsa, değer, uzunluk alanının birden fazla bayttan oluştuğunu belirten bir bayrak olarak yorumlanacaktır.
  • Üç ardışık bayt biçimi: Bu biçim, değer alanının uzunluğunu 00FFh ile FFFEh bayt arasında KODLAYACAĞDIR. İlk baytın, FFh'ye eşit bir bayrak olduğu varsayılır ve iki bayt uzunluğunun bir sözcük olarak yorumlanacağını gösterir. Bu kelime, değer 00FFh ile FFFEh arasındaysa kardinal olarak yorumlanacaktır. FFFFh değeri gelecekteki kullanım (RFU) için ayrılmıştır.

V (değer alanı veya V alanı) Uzunluk alanı 00h'ye eşitse veya uzunluk alanı yoksa, değer alanı OLMAMALIDIR, yani TLV bloğu boştur. Uzunluk alanı varsa ve N değer alanının uzunluğunun sıfırdan (N>0) büyük olduğunu gösteriyorsa, değer alanı N ardışık bayttan OLUŞACAKTIR.

Tablo 4, aşağıdaki bölümlerde açıklanan bu belge tarafından belirtilen TLV bloklarını listeler.

Tablo 4. Tanımlı TLV blokları

TLV Blok Adı Etiket Alanı Değeri Kısa Açıklama
NULL TLV 00 saat Bellek alanlarının doldurulması için kullanılabilir ve Okuyucu cihazı bunu görmezden GELECEKTİR.
NDEF İletisi TLV 03 saat NDEF İletisini içerir
Tescilli TLV cesaret Özel bilgileri etiketleme
Terminatör TLV FEh Veri alanındaki son TLV bloğu

Okuyucu cihazı, TLV bloklarını aşağıdaki kuralları izleyerek veri alanı içinde belirli bir sırada YAZACAKTIR:

  • TLV blokları, NFC Sektörünün (NDEF verilerini içeren sektör) 0. bloğunun 0 baytından başlayarak en küçük adrese sahip sırayla yazılmalıdır.
  • Bir TLB bloğu iki veya daha fazla NFC Sektöründe ezberlenebilir.
  • Varsa Terminatör TLV, MIFARE Classic ve MIFARE Plus etiketindeki son TLV bloğudur.

NULL TLV ve Terminator TLV, 1 bayt uzunluğundaki tek TLV bloklarıdır (örneğin, yalnızca Etiket alanından oluşur, aşağıya bakın).

Okuyucu cihazları, ayrılmış etiket alanı değerlerini kullanan TLV bloklarını yok sayacak ve üzerinden atlayacaktır (yukarıya bakın). Ayrılmış etiket alanı değerlerine sahip bir TLV bloğunun üzerinden atlamak için, Okuyucu cihazı değer alanının uzunluğunu anlamak için uzunluk alanını OKUMALIDIR.

Yalnızca etiket alanından oluşan TLV bloklarının gelecekteki tanımları bu uygulama notuyla geriye dönük olarak uyumlu değildir.

NDEF İletisi TLV #

MIFARE Classic ve MIFARE Plus etiketlerinin içinde her zaman en az bir NDEF Mesajı TLV bulunacaktır. NDEF İletisi TLV'si, NDEF İletisini Değer alanında depolar. Okuyucu cihazı, NDEF Algılama Prosedürü (zorunlu NDEF İleti TLV veya ilk NDEF İleti TLV'si olarak da adlandırılır) tarafından bulunan NDEF İleti TLV'sini OKUYABILMELİ ve işleyebilmelidir; her neyse, daha fazla NDEF İletisi TLV blokları mevcut OLABİLİR. NDEF İletisi TLV'nin 3 TLV alanının kodlamasının altında gösterilmiştir:

T, 03 saate eşit olmalıdır (bakınız Tablo 4).

L, depolanan NDEF İletisinin bayt cinsinden boyutuna eşit OLACAKTIR.

V , NDEF Mesajını SAKLAYACAKTIR.

Boş bir NDEF İletisi TLV'si, L alanı 00h'ye eşit olan ve V alanı olmayan bir NDEF İletisi TLV olarak tanımlanacaktır (yani, V alanında NDEF İletisi yoktur, bkz [NDEF]. ).

Boş olmayan bir NDEF İletisi TLV, boş veya boş olmayan NDEF İletileri İÇEREBİLİR.

Tescilli TLV #

Özel TLV, özel bilgiler içerir. Bir MIFARE Classic ve MIFARE Plus etiketi sıfır, bir veya daha fazla Özel TLV içermelidir. Reader aygıtı bu TLV bloğunda bulunan verileri yok sayabilir. Özel TLV'nin 3 TLV alanının kodlanmasının altında gösterilmiştir:

T, FDh'ye eşit olmalıdır (bakınız Tablo 4).

L, Vale alanındaki tescilli verilerin bayt cinsinden boyutuna eşit olacaktır.

V, herhangi bir mülkiyet verisi İÇERMEZ.

NULL TLV #

NULL TLV, veri alanının doldurulması için kullanılabilir. MIFARE Classic ve MIFARE Plus etiketi sıfır, bir veya daha fazla NULL TLV içerebilir. Okuyucu cihazı bu TLV bloğunu yok sayacaktır. NULL TLV, 1 baytlık bir etiket alanından oluşacaktır. NULL TLV'nin etiket alanının kodlamasının altında gösterilmiştir:

T, 00 saate eşit olmalıdır (bakınız Tablo 4).

L BULUNMAYACAĞINIZ.

V mevcut olmayacaktır.

Terminatör TLV #

Terminatör TLV, MIFARE Classic ve MIFARE Plus etiketlerinin içinde bulunabilir ve bir Okuyucu cihazı bunu okuyabilir/işleyebilir. Terminatör TLV, veri belleği alanındaki son TLV bloğudur. Terminatör TLV, 1 baytlık bir etiket alanından oluşacaktır. Terminatör TLV'nin etiket alanının kodlanmasının altında gösterilmiştir:

T, FEh'ye eşit olmalıdır (bakınız Tablo 4).

L BULUNMAYACAĞINIZ.

V mevcut olmayacaktır.