Online Store

طرق تعيين بيانات MIFARE Classic و MIFARE Plus 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 على المنتجات ذات حجم الذاكرة الأكبر من 1 كيلوبايت ، يمكن استخدام ذاكرة 1 كيلوبايت فقط ومعالجتها بواسطة MAD1. وبالتالي لا يتم استخدام الذاكرة المتبقية لتخزين NDEF وتبقى حرة.
      2. دليل تطبيق MIFARE 2 (MAD2): يمكن استخدام MAD1 في أي منتج متوافق مع MIFARE Classic بحجم ذاكرة أكبر من 1 كيلوبايت. لا ينطبق MAD2 على المنتجات ذات حجم الذاكرة الأصغر أو الذي يساوي 1 كيلوبايت. يقع MAD2 في قطاعات MAD (القطاع 00h و 10h)

لكل تطبيق، يربط MAD معرف تطبيق فريد (AID). يتم تخزين معرفات التطبيق (AIDs) داخل قطاع (قطاعات) MAD 00h.

يبلغ طول AID بايتين ، وينقسم إلى حقول 2 من بايت واحد لكل منهما:

  1. رمز مجموعة الدالة (1 بايت) الذي يحدد الكتلة التي ينتمي إليها التطبيق، و
  2. رمز التطبيق (1 بايت) الذي يحدد التطبيق داخل نظام المجموعة. لمزيد من المعلومات حول MAD1 و MAD2.

يجب تعيين بايت الأغراض العامة (GPB) لقطاع MAD مع بت DA يساوي 1b (بت DA هو بت MAD المتاح من GPB).

يجب أن تكون جميع القطاعات غير المستخدمة حاليا محمية ضد الكتابة بمفاتيح سرية يحددها مصدر العلامة من أجل منع إعادة التعريف غير المقصود لشروط الوصول والمفاتيح. يوصى باستخدام مفاتيح مختلفة لجميع القطاعات المجانية. وهذا يتيح إطلاق بعض القطاعات مستقبلا لمقدمي خدمات جدد دون الحاجة إلى الإفراج عن جميع القطاعات الحرة.

الوصول إلى قطاع MAD #

تتم حماية قطاعات الذاكرة حيث يتم تخزين MAD1 و MAD2 (انظر [MAD]) باستخدام المفتاح A والمفتاح B. وفقا لقطاعات [MAD] الذاكرة هي:

        • MAD1: قطاع MAD هو 00h (القطاع 0) ، و
        • MAD2: قطاعا MAD هما 00h و 10h (القطاع 0 والقطاع 16).

يسمح لأي شخص بقراءة قطاعات MAD. يتم تحقيق ذلك باستخدام مفتاح عام A موضح في الجدول 1 (انظر أيضا [MAD]).

الجدول 1. المفتاح العام قيمة قطاع (قطاعات) MAD

بايت 0 بايت 1 بايت 2 بايت 3 بايت 4 بايت 5
A0h أ 1 ح A2h A3h أ 4 ح أ 5 ح

يتم تعيين بتات الوصول لقطاع (قطاعات) MAD على إما:

        • كما هو موضح في الجدول 2 إذا كان قطاع MAD قد منح حق الوصول للقراءة والكتابة ، أو
        • كما هو موضح في الجدول 3 إذا كان قطاع MAD لديه حق الوصول للقراءة فقط (انظر أيضا [MF1K, MF4K, MFPLUS]).

في هذا السياق ، يعني مصطلح الوصول للقراءة والكتابة الممنوح أنه بالنسبة لقطاعات MAD التي تمت المصادقة عليها مسبقا باستخدام المفتاح السري B ، من الممكن قراءة وكتابة جميع كتل القطاعات باستثناء كتلة مقطورة القطاع (انظر الجدول 2 لمزيد من التفاصيل).

بدلا من ذلك ، يعني مصطلح الوصول للقراءة فقط الممنوح أنه بالنسبة لقطاعات MAD التي تمت المصادقة عليها مسبقا باستخدام المفتاح العام A من الجدول 1 أو المفتاح السري B ، من الممكن قراءة جميع كتل القطاع فقط باستثناء كتلة مقطورة القطاع (انظر الجدول 5 لمزيد من التفاصيل).

باستخدام المفتاح A ، من الممكن دائما قراءة كتل قطاع MAD فقط. تتمتع المقطورات القطاعية بتكوين وصول معين عند منح حق الوصول للقراءة / الكتابة أو الوصول للقراءة فقط (انظر الجدول 2 والجدول 3).

يجب أن تكون قطاعات MAD محمية ضد الكتابة عن طريق المفتاح السري B (على سبيل المثال ، المحدد بواسطة جهة إصدار العلامة) أو تعيين علامة MIFARE Classic و MIFARE Plus للقراءة فقط باستخدام بتات الوصول.

الجدول 2. إعداد بتات الوصول لقطاع MAD مع منح حق الوصول للقراءة والكتابة

إعداد بتات الوصول للقطاع 0 من MAD1 أو MAD2 وللقطاع 16 من MAD2
بت الوصول القيم ملاحظات
ج1 0 ج20 ج30 100 بط تتم قراءة الكتلة 0 بالمفتاح A أو المفتاح B وكتابتها بالمفتاح B
ج1 1 ج21 ج31 100 ب تتم قراءة الكتلة 1 بالمفتاح A أو المفتاح B وكتابتها بالمفتاح B
ج1 2 ج2 2 ج32 100 ب تتم قراءة الكتلة 2 بالمفتاح A أو المفتاح B وكتابتها بالمفتاح B
ج1 3 ج23 ج33 011ب كتلة مقطورة القطاع:

  • المفتاح A مكتوب بالمفتاح B ولا يقرأ أبدا ،
  • تتم قراءة بتات الوصول بالمفتاح A أو المفتاح B وكتابتها بالمفتاح B ،
  • المفتاح B مكتوب بالمفتاح B ولا يقرأ أبدا.
i. القيمة الموصى بها لبتات الوصول C1 0 C20 C3 0 للقطاع 0 (كتلة الشركة المصنعة).

الجدول 3. إعداد بتات الوصول لقطاع MAD مع منح حق الوصول للقراءة فقط

إعداد بتات الوصول للقطاع 0 من MAD1 أو MAD2 وللقطاع 16 من MAD2
بت الوصول القيم ملاحظات
ج1 0 ج20 ج30 010ب تتم قراءة الكتلة 0 بالمفتاح A أو المفتاح B
ج1 1 ج21 ج31 010ب تتم قراءة الكتلة 1 بالمفتاح A أو المفتاح B
ج1 2 ج2 2 ج32 010ب تتم قراءة الكتلة 2 بالمفتاح A أو المفتاح B
ج1 3 ج23 ج33 110ب كتلة مقطورة القطاع:

  • المفتاح أ لا يكتب ويقرأ أبدا ،
  • تتم قراءة بتات الوصول بالمفتاح A أو المفتاح B ولا تتم كتابتها مطلقا ،
  • المفتاح B لا يكتب ويقرأ أبدا.
i. القيمة الموصى بها لبتات الوصول C10 C20 C30 للقطاع 0 (كتلة الشركة المصنعة).

كتل TLV #

تتكون كتلة TLV من حقل واحد إلى ثلاثة حقول:

يحدد T (حقل العلامة ، أو حقل T) نوع كتلة TLV (انظر الجدول 9) ، ويتكون SHALL من بايت واحد يشفر رقما من 00h إلى FFh. يتم حجز قيم العلامة 01h و 02h و 04h إلى FCh و FFh للاستخدام في المستقبل.

L (حقل الطول ، أو حقل L) يجب أن يوفر الحجم بالبايت من حقل القيمة. يحتوي على تنسيقين مختلفين يتألفان من واحد أو ثلاثة بايت. يجب أن يفهم جهاز القارئ جميع تنسيقات الحقول ذات الطولين. يوضح الشكل 5 بنيتي حقل الطول المختلفتين. ومع ذلك ، بناء على قيمة حقل العلامة ، قد لا يكون حقل الطول موجودا.

  • تنسيق بايت واحد: يجب أن يقوم تنسيق البايت الواحد بترميز طول حقل القيمة بين 00h و FEh بايت. يجب تفسير هذا البايت على أنه كاردينال إذا كانت القيمة بين 00h و FEh. إذا كان يحتوي على FFh ، فيجب تفسير القيمة على أنها علامة تحدد أن حقل الطول يتكون من أكثر من بايت واحد.
  • تنسيق ثلاثة بايت متتالية: يجب أن يقوم هذا التنسيق بترميز طول حقل القيمة بين 00FFh و FFFEh بايت. يفترض أن يكون البايت الأول علامة مساوية ل FFh تشير إلى أنه يجب تفسير طول بايتين إضافيين على أنه كلمة. يجب تفسير هذه الكلمة على أنها كاردينال إذا كانت القيمة بين 00FFh و FFFEh. القيمة FFFFh محجوزة للاستخدام المستقبلي (RFU).

V (حقل القيمة ، أو حقل V) إذا كان حقل الطول يساوي 00h أو لا يوجد حقل طول ، فلن يكون هناك حقل القيمة ، أي أن كتلة TLV فارغة. إذا كان هناك حقل طول ويشير إلى طول حقل القيمة N أكبر من الصفر (N>0) ، فإن حقل القيمة يجب أن يتكون من N بايت متتالية.

يسرد الجدول 4 كتل TLV المحددة بواسطة هذا المستند الموضحة في الأقسام التالية.

الجدول 4 – ما إذا كانت هناك كتل TLV المحددة  

اسم كتلة TLV قيمة حقل العلامة وصف قصير
فارغة TLV 00 ساعة يمكن استخدامه لحشو مناطق الذاكرة ويجب على جهاز القارئ تجاهل ذلك
رسالة NDEF TLV 03ساعة يحتوي على رسالة NDEF
TLV الملكية فد ح وضع علامة على معلومات الملكية
المنهي TLV فه آخر كتلة TLV في منطقة البيانات

يجب على جهاز القارئ كتابة كتل TLV بترتيب معين داخل منطقة البيانات باتباع القواعد أدناه:

  • يجب كتابة كتل TLV بالترتيب بدءا من البايت 0 من الكتلة 0 لقطاع NFC (القطاع الذي يحتوي على بيانات NDEF) بأصغر عنوان.
  • يمكن حفظ كتلة TLB عبر قطاعين أو أكثر من قطاعات NFC.
  • إذا كان موجودا ، فإن Terminator TLV هو آخر كتلة TLV على علامة MIFARE Classic و MIFARE Plus.

NULL TLV و Terminator TLV هما كتل TLV الوحيدة التي يبلغ طولها 1 بايت (على سبيل المثال ، تتكون من حقل العلامة فقط ، انظر أدناه).

يجب على أجهزة القارئ تجاهل والقفز فوق كتل TLV التي تستخدم قيم حقل العلامة المحجوزة (انظر أعلاه). للقفز فوق كتلة TLV بقيم حقل علامة محجوزة ، يجب على جهاز القارئ قراءة حقل الطول لفهم طول حقل القيمة.

التعريفات المستقبلية لكتل TLV المكونة من حقل العلامة فقط ليست متوافقة مع ملاحظة التطبيق هذه.

رسالة NDEF TLV #

يجب أن تكون رسالة NDEF واحدة على الأقل TLV موجودة دائما داخل علامة MIFARE Classic و MIFARE Plus. تقوم TLV لرسالة NDEF بتخزين رسالة NDEF داخل حقل القيمة. يجب أن يكون جهاز القارئ قادرا على قراءة ومعالجة TLV لرسالة NDEF التي تم العثور عليها بواسطة إجراء الكشف عن NDEF (وتسمى أيضا TLV لرسالة NDEF الإلزامية أو TLV لرسالة NDEF الأولى) ؛ على أي حال ، قد تكون كتل TLV لرسالة NDEF موجودة. يظهر أدناه ترميز حقول TLV 3 لرسالة NDEF:

T يجب أن يكون مساويا ل 03h (انظر الجدول 4).

L يجب أن يكون مساويا للحجم بالبايت لرسالة NDEF المخزنة.

V يجب تخزين رسالة NDEF.

يجب تعريف TLV لرسالة NDEF الفارغة على أنها TLV لرسالة NDEF مع حقل L يساوي 00h ، ولا يوجد حقل V (أي لا توجد رسالة NDEF موجودة في الحقل V ، انظر [NDEF]).

قد تحتوي رسالة NDEF غير الفارغة TLV على رسائل NDEF فارغة أو غير فارغة.

TLV الملكية #

يحتوي TLV الخاص على معلومات الملكية. يجب أن تحتوي علامة MIFARE Classic و MIFARE Plus على صفر أو واحد أو أكثر من TLV الخاص. قد يتجاهل جهاز Reader البيانات الموجودة في كتلة TLV هذه. يظهر أدناه ترميز حقول TLV 3 الخاصة ب TLV:

T يجب أن تكون مساوية ل FDh (انظر الجدول 4).

L SHALL مساو للحجم بالبايت لبيانات الملكية في حقل Vale.

يجب أن تحتوي V على أي بيانات خاصة.

فارغة TLV #

يمكن استخدام NULL TLV لحشو منطقة البيانات. قد تحتوي علامة MIFARE Classic و MIFARE Plus على صفر أو واحد أو أكثر من NULL TLV. يجب أن يتجاهل جهاز القارئ كتلة TLV هذه. يجب أن يتكون NULL TLV من حقل علامة 1 بايت. يظهر أسفل ترميز حقل علامة NULL TLV:

T يجب أن يكون مساويا ل 00h (انظر الجدول 4).

ل ألا يكون حاضرا.

V لن يكون حاضرا.

المنهي TLV #

قد يكون Terminator TLV موجودا داخل علامة MIFARE Classic و MIFARE Plus ، ويجب أن يكون جهاز القارئ قادرا على قراءته / معالجته. Terminator TLV هي كتلة TLV الأخيرة في منطقة ذاكرة البيانات. يجب أن يتكون Terminator TLV من حقل علامة 1 بايت. يظهر أسفل ترميز حقل علامة Terminator TLV:

T يجب أن تكون مساوية ل FEh (انظر الجدول 4).

ل ألا يكون حاضرا.

V لن يكون حاضرا.