حيث يوجد أكثر من 20 مليون بطاقة نقل معرضة للخطر في روسيا: نقوم بتفكيك وتطوير MIFARE Classic

تم إنشاء معيار بطاقة MIFARE Classic بدون تلامس منذ أكثر من 20 عامًا ، وعلى الرغم من عدد من الثغرات الموجودة منذ ذلك الحين ، فإنه لا يزال يستخدم على نطاق واسع (لا سيما في موسكو وسانت بطرسبرغ). في هذه المقالة ، سوف نتذكر نقاط الضعف التي تم العثور عليها ووصف كيفية إصلاحها.


المصدر: Instagram @ pro.ticketing

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

هيكل MIFARE الكلاسيكي


تعد MIFARE Classic القياسية من NXP عائلة من البطاقات. ويشمل MIFARE Classic 1K ، 4K ، EV1 1K ، EV1 4K ، MIFARE ID ، MIFARE Mini. أيضًا ، يمكن محاكاة هذا المعيار بواسطة بطاقات NXP أحدث وأحدث (MIFARE Plus و JCOP وغيرها).

تعتمد عملية تشغيل البطاقات مع القراء على معيار ISO 14443A ، بتردد 13.56 ميجاهرتز.
توفر بطاقات MIFARE Classic 1K منطقة ذاكرة منظمة في قطاعات من 64 بايت. يتم تقسيم كل قطاع إلى 4 كتل من 16 بايت في الحجم:



بالنسبة لبطاقات 4K ، يتم تنظيم أول 2048 بايت في 32 قطاعًا من 64 بايت ، والباقي في 8 قطاعات من 256 بايت (أو 16 كتلة). تسمى الكتلة الأخيرة من كل قطاع بمقطورة قطاعية ، وهي تحتوي على مفاتيح ومعلمات وصول إلى القطاع. كتلة الصفر لقطاع الصفر عبارة عن كتلة خاصة ، مقفلة للكتابة ، وتحتوي على معرّف ومعلومات الشركة المصنعة للبطاقة. لكي تحتوي البطاقة الواحدة على العديد من التطبيقات المختلفة - على سبيل المثال ، للحصول على بطاقة اجتماعية تحتوي على معلومات حول الفوائد ، وتذاكر المترو والقطار - تسجل الكتل المتبقية في القطاع صفر كيفية استخدام كل قطاع - دليل تطبيق MIFARE (MAD) .

قبل الوصول إلى القطاع للقراءة أو الكتابة ، من الضروري السماح باستخدام مفتاح مكون من 6 بايتات. يتم التفويض وفقًا لبروتوكول من ثلاث خطوات مماثل للبروتوكول الموضح في الفصل 5.2.2. معيار ISO / IEC 9798-2: 1999. تستخدم خوارزمية تشفير تدفق الملكية CRYPTO1:



  1. يرسل القارئ طلب تفويض ، يشير إلى عدد القطاع الذي يحدث فيه التفويض.
  2. تقرأ البطاقة مفتاح الوصول من الذاكرة الداخلية ، وتقوم بإنشاء تسلسل عشوائي وإعادته إلى القارئ.
  3. يحسب القارئ الاستجابة باستخدام مفتاح الوصول للقطاع وخوارزمية تشفير CRYPTO1 ، ثم يرسلها بتسلسل عشوائي جديد تم إنشاؤه.
  4. تتحقق البطاقة من الاستجابة المحسوبة بواسطة القارئ. ثم يحسب الرد على دعوة القارئ ويعيدها.
  5. يتحقق القارئ من استجابة البطاقة.

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

نقاط الضعف المعروفة الكلاسيكية


تم تشفير الخريطة بدقة. تم العثور على ثغرة أمنية في تنفيذ بطاقة مولد الأرقام العشوائية الزائفة (PRNG) وضعف خوارزمية CRYPTO1. في الممارسة العملية ، يتم استخدام هذه الثغرات الأمنية في الهجمات التالية:

  1. الجانب المظلم - الهجوم يستغل الضعف PRCH. يعمل على بطاقات MIFARE Classic حتى الجيل EV1 (في EV1 ، تمت إزالة ثغرة PRNG بالفعل). للهجوم لا تحتاج إلا إلى خريطة ، لا تحتاج إلى معرفة المفاتيح.
  2. متداخل - الهجوم يستغل الضعف CRYPTO1. يتم الهجوم بناءً على تصاريح ثانوية ، لذلك يجب أن تعرف مفتاح بطاقة صالحًا للهجوم. في الممارسة العملية ، بالنسبة لقطاع الصفر ، يستخدمون غالبًا مفاتيح قياسية للعمل مع MAD - فهي تبدأ من ذلك. يعمل على أي بطاقات على CRYPTO1 (MIFARE Classic ومضاهاة). وقد تجلى الهجوم في مقالة "الضعف من خريطة سيلليوم: الضعف في بطاقة النقل البري سانت بطرسبرغ".
  3. الهجوم من خلال الاستماع للتبادل - يستخدم الهجوم ثغرة أمنية CRYPTO1. للهجوم ، تحتاج إلى التنصت على التفويض الأساسي بين القارئ والبطاقة. هذا يتطلب معدات خاصة. يعمل على أي بطاقات على CRYPTO1 (MIFARE Classic ومضاهاة). وقد ظهر الهجوم في مقال "اختراق بطاقات نقل Citycard (نيجني نوفغورود)".

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

بالإضافة إلى ذلك ، هناك ثغرة أمنية في البنية الأساسية لمفتاح الوصول. نظرًا لتطبيق التشفير على CRYPTO1 على جانب قارئ البطاقات (يتم تطبيق CRYPTO1 في الأجهزة فقط) ، يتبع ذلك مفاتيح الوصول:

  • إما نقلها إلى قارئ قبل العمل مع البطاقة ،
  • إما المخزنة على القارئ نفسه في تخزين آمن للأجهزة (على سبيل المثال ، MIFARE SAM ) ،
  • إما المخزنة في ذاكرة القراءة فقط للقارئ.

وإذا كنت تستخدم معدات خاصة مثل محطات المعلومات أو البوابات ، فيمكنك استخدام تخزين آمن لمفاتيح الأجهزة ، وفي حالة تطبيقات Android ، لا يوجد سوى خيار نقل المفاتيح وتخزينها في ذاكرة الجهاز. هذا يجعل من الممكن اعتراض هذه المفاتيح عن طريق اختراق التطبيق أو تحليل حركة مرور التطبيق. ما تجلى في مقال "دراسة أمن بطاقة الترويكا".

أساليب إدارة الثغرات MIFARE Classic


تنويع مفتاح الوصول


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

على سبيل المثال ، قد يعمل هذا كما يلي:

  1. كمدخل للتنويع ، يتم استخدام معرف البطاقة ورقم القطاع ، والمفتاح الذي نريد استلامه ؛
  2. يتم تشفير هذه البيانات (في وحدة SAM أو برنامج التطبيق) باستخدام مفتاح رئيسي ، ويتم اقتطاع النتيجة إلى 6 بايت واستخدامها كمفتاح وصول إلى القطاع المقابل.



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

الانتقال إلى مستوى الأمان MIFARE Plus و SL3


لحل الثغرات الأمنية في CRYPTO1 ، تم تطوير مجموعة البطاقات MIFARE Plus. تتشابه الخرائط في الهيكل مع MIFARE Classic ، ويتم تحديث تشفير الخرائط فقط. يمكنهم العمل في وضعين:

  1. وضع محاكاة MIFARE Classic (يطلق على وضع التشغيل هذا مستوى الأمان 1 أو SL1) ، والذي يسمح باستخدامها على البنية التحتية الحالية لقارئات البطاقات ولا يتطلب تعديلات على البرنامج الذي يعمل مع البطاقات ؛
  2. وضع مستوى الأمان 3 (SL3) ، الذي يتطلب تفويضًا للقطاعات وتشفير تبادل البيانات باستخدام خوارزمية AES مع إضافة اختيارية لإدراج أمان.

تم التخلص من مشكلة عدم حصانة PRNG على هذه البطاقات ، وبالتالي ، في وضع SL1 ، لا تزال هذه البطاقات عرضة للهجمات على CRYPTO1 ، وفي وضع SL3 لا توجد هجمات معروفة حاليًا.

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

لا تنس أنه بالنسبة إلى مفاتيح AES ، يمكن إجراء التنويع عن طريق تعديل الخوارزمية للمفاتيح بطول 16 بايت.

يمكن تحويل بطاقات النقل الحالية القائمة على بطاقات MIFARE Plus SL1 إلى وضع SL3 على مرحلتين:

  1. يتم الآن إعداد البنية الأساسية للأجهزة التي تعمل بالبطاقات (البوابات ، مكاتب الصراف الآلي ، آلات البيع ، الأجهزة الطرفية) للعمل مع MIFARE Plus. يتم الآن وضع اللمسات الأخيرة على برنامج القراء من حيث التعامل مع البطاقات.
  2. يتم نقل بطاقات النقل التي تم إصدارها بالفعل والتي تستند إلى MIFARE Plus إلى وضع SL3 - يمكن أن يحدث هذا أثناء الاستخدام العادي للبطاقة ، على سبيل المثال ، المرور عبر الباب الدوار أو توصيل البطاقة إلى محطة المعلومات. عملية نقل البطاقة غير مرئية للركاب وتستغرق حوالي 100 مللي ثانية.

قم بالتبديل إلى MIFARE DESFire


تشفير بطاقة MIFARE DESFire يشبه MIFARE Plus - قبل العمل مع التطبيق ، يتم إجراء تفويض من ثلاث خطوات وفقًا لإحدى الخوارزميات لاختيار مُصدر البطاقة: DES ، 3DES ، AES. يحدث تبادل آخر مع البطاقة في شكل مشفر مع إدراج تقليد اختياري.

تختلف البطاقة وظيفيًا عن MIFARE Classic. يتم تنظيم ذاكرة البطاقة في نظام الملفات. قد يكون هناك العديد من التطبيقات على الخريطة ؛ قد يكون لكل تطبيق عدة ملفات.



يبدأ العمل باستخدام البطاقة باختيار التطبيق من خلال معرفه والتفويض له. التالي هو العمل مع الملفات - إنشاء وحذف وقراءة وكتابة. يمكن أن تكون الملفات من أنواع مختلفة ، على سبيل المثال ، مساحة مسطحة من الذاكرة ، وتوازن المحفظة ، وملف قابل لإعادة الكتابة دوريًا.

تتمثل الصعوبة الرئيسية لعملية الانتقال في أنك بحاجة إلى ترقية البرنامج الذي يعمل مع البطاقات. من الضروري الانتقال من استخدام الذاكرة المقسمة إلى قطاعات إلى التطبيقات والملفات ، وبالتالي ، لتغيير ترتيب التفويض من القطاعات إلى التخويل إلى التطبيق و / أو الملفات. فيما يتعلق بالأجهزة ، تفرض البطاقات نفس القيود على البنية التحتية للقراء مثل MIFARE Plus.
تتمثل الميزة مقارنة بـ MIFARE Plus في أنه من الأسهل تطبيق بطاقات متعددة العلامات التجارية على أساس MIFARE DESFire - مجموعات مختلفة من البطاقات في وسيط واحد: Troika-Strelka ، Troika-Podorozhnik ، بطاقات اجتماعية مع إمكانية تسجيل تذاكر النقل). في MIFARE Plus ، يتم تحقيق ذلك من خلال التخصيص الإداري للقطاعات على الخريطة لمختلف التطبيقات. هنا ، يمكن لكل نظام العمل مع التطبيق الذي يحتاجه ، وقد لا يعرف أن هناك أي تطبيقات أخرى على الخريطة. الميزة الثانية هي أن الأنواع الإضافية من الملفات تسمح لك بتنفيذ بعض السيناريوهات الخاصة - على سبيل المثال ، لتجديد رصيد المحفظة مع مفتاح وصول واحد ، وإنفاق الأموال من الرصيد على الآخر أو استرداد المبلغ المنفق.

اليوم ، أصبح لدى الشركات المصنعة لبطاقة SIM (STM ، Gemalto ، G&D ، Oberthur) بطاقات SIM متوفرة تجاريا وميزات أمان مدمجة مع محاكاة MIFARE DESFire.

تم نقل بطاقة Oyster (بطاقة النقل العام في لندن) إلى MIFARE DESFire في عام 2009 ؛ ومنذ عام 2010 ، لم يتم استخدام بطاقات MIFARE Classic. بطاقة النقل SUBE (الأرجنتين) بصدد الانتقال إلى MIFARE Plus SL3. في وسائل النقل العام في دبلن ، تم بناء 3 أنواع من البطاقات: Luas (الترام) ، Dublin Bus و DART (سكة حديد الضواحي) - على أساس MIFARE Classic واستعيض عنها ببطاقة Leap واحدة بالفعل على أساس MIFARE DESFire. غالبًا ما يتم تصميم حلول النقل الحديثة في البداية على وسائط آمنة.

التبديل إلى بطاقات النقل الأخرى (CALYPSO و CIPURSE و FeliCa)


من وجهة نظر الأمان ، تشبه هذه البطاقات بطاقات MIFARE Plus و DESFire - التشفير القائم على AES ، التفويض من ثلاث خطوات ، العمل مع المحاكاة ، تخزين آمن للأجهزة - وحدة الوصول الآمن (SAM) ، يمكن لعدد من البطاقات محاكاة MIFARE Classic. كما أنها تعمل على أساس معيار ISO / IEC 14443A.

MIFARE - بطل



ABI Research Q1 2017

كانت حصة بطاقات MIFARE في مجال النقل في العالم في عام 2017 75 ٪ ، ووفقا للتوقعات ، بحلول عام 2021 لن تنخفض إلى أقل من 70 ٪.

يتم تقليل حصة MIFARE في العالم بشكل رئيسي بسبب نمو البطاقات الأخرى ، والتي تشمل في المقام الأول البطاقات المصرفية (EMV) والمحاكاة الافتراضية للبطاقة (التحول إلى الهواتف الذكية) لاستبدال وظيفة حامل التذاكر. تعتبر البطاقات المصرفية محمية بشكل أفضل من بطاقات النقل - ولكن عليك أن تدفع ثمنها. تتطلب خدمة البطاقات المصرفية عبر الإنترنت ، القراء أكثر تكلفة بسبب متطلبات الشهادات المصرفية ، يفقد مشغل النقل التدفق النقدي من تجديد بطاقات النقل الخاصة به. كل هذا يخلق توازنًا معينًا من القوى ، بفضل كلٍّ من المعايير (MIFARE و EMV) التي تجد منافذها وتحتلها.

حجم بطاقات النقل وفقًا لمعايير أخرى غير NXP (Calypso، CIPURSE) اليوم أقل من 5٪. في الأساس ، تتركز هذه التقنيات في البلدان التي تطورت فيها الخرائط تاريخيًا - اليابان وفرنسا - وحتى الآن لم تتجاوزها. هذا أمر مفهوم - إن إنشاء نظام بيئي محلي لإنتاج البطاقات ودعمها ليس دائمًا مبررًا اقتصاديًا ويجب دعمه من السوق. من المحتمل أن تنضم روسيا إلى عدد من الدول التي أيدت هذه المعايير. لهذا ، أولاً وقبل كل شيء ، هناك حاجة إلى حل سياسي.

انقر على الروابط أدناه لمزيد من المعلومات حول Mifare Classic:


الخاتمة


سنكون سعداء بالإجابة على الأسئلة في التعليقات على المقالة وعلى instagram @ pro.ticketing . في يناير 2019 ، فتحت شركتنا عددًا من الوظائف الشاغرة لمشروع جديد في مجال النقل في موسكو ، بما في ذلك إمكانية جذب فرق من 3-4 أشخاص . تم فتح مسرع للشركات الناشئة في مجال التقنيات الحديثة للدفع والتحقق من صحة النقل في وسائل النقل العام.

Source: https://habr.com/ru/post/ar437414/


All Articles