قبل فترة ظللت أقرأ الادّعاء نفسه عرَضًا: العلامات الفاخرة تضع شرائح NFC في منتجاتها كي تلمس حقيبة أو زجاجة بهاتفك فتعرف أنها الأصلية لا المزيّفة. كانت كل مقالة تردّد الجملة اللامعة نفسها، ولم تقل أيٌّ منها كيف. ما الذي يمنع المزوّر فعلًا من نسخ الشريحة مع الحقيبة؟
لذا فعلت ما أفعله دائمًا حين يثير فضولي وسمٌ ما. دخلت إلى AliExpress، ووجدت إعلانًا لوسوم «NTAG 424 DNA»، وطلبت دفعة صغيرة، وانتظرت وصول الظرف. بضعة يوروهات وأسبوعان، وصار السيليكون نفسه الذي تُبنى عليه أنظمة حماية العلامات على مكتبي. ثم لمست واحدًا لأرى ما يفعله.
ما هو وسم NTAG 424 DNA فعليًّا
من الخارج هو وسم NFC عادي. لن تستطيع تمييزه من كومة من الوسوم الرخيصة، وأيّ هاتف يقرأه دون تذمّر. وإن قرأت دليلي لأنواع وسوم NFC، فهو يندرج كوسم Type 4 آخر يسعد iPhone بقراءته.
الجزء «DNA» هو المختلف. ففي الداخل تحمل الرقاقة بضعة مفاتيح AES-128 ومحرّكًا تشفيريًّا صغيرًا، وتستطيع أن تفعل ما لا يستطيعه NTAG215 عاديّ ولا ملصق من عبوة متعددة: تستطيع أن تُوقّع كل لمسة على حدة. ذلك التوقيع هو بيت القصيد كله. إنه الفرق بين وسم يقول «إليك رابطًا» ووسم يقول «إليك رابطًا، وإليك إثباتًا تشفيريًّا بأنني، هذه الرقاقة الأصلية بعينها، هي من يقدّمه، الآن».
هذا ما تدفع العلامات الفاخرة مقابله فعلًا - ليس الرابط، بل الإثبات بأن رقاقة أصلية هي من يقدّمه.
كيف تعمل SUN وSDM: رابط يعيد كتابة نفسه مع كل لمسة
اللحظة التي اتّضح فيها لي الأمر جاءت حين نظرت إلى ما كان الوسم يرسله فعلًا: عندها أدركت أنني سبق أن بنيت معظم الآلية اللازمة لفهمه.
في وقت سابق من هذا العام أطلقت ميزة NFC Tap Counter: وسم يحصي كم مرة قُرئ ويضع ذلك الرقم في رابط URL، كي يعرف الرابط أنها المرة الـ٤٧ التي يمسحه فيها أحدهم. ووسم NTAG 424 DNA هو الفكرة نفسها، مع طبقة تشفير ملتفّة حولها تجعل تزييفه مستحيلًا.
تُسمّى الآلية SUN (Secure Unique NFC)، أو SDM (Secure Dynamic Messaging) إن كنت تقرأ ورقة بيانات NXP. تخزّن رابطًا عاديًّا على الوسم، شيئًا مثل https://example.com. لكنك تُملي على الرقاقة أن تعيد كتابة أجزاء من ذلك الرابط لحظيًّا في كل مرة يُلمس فيها. فما يستقبله هاتفك فعليًّا أقرب إلى:
https://example.com/?picc_data=A1B2...&cmac=9F3C...
هاتان القيمتان ليستا زينةً. فـpicc_data نسخة مشفّرة من المعرّف الحقيقي للوسم مضافًا إليه عدّاد لمسات، مُشوَّشة بمفتاح لا يغادر الرقاقة أبدًا. وcmac توقيع تشفيري على تلك البيانات. وكلتاهما تتغيّران مع كل لمسة. المس الوسم نفسه مرتين فتحصل على رابطين مختلفين تمامًا، كلٌّ منهما موقّع بختم جديد من الرقاقة.
أتخيّل وسم NFC العادي كلافتة مطبوعة في واجهة متجر. يستطيع أيّ أحد أن يصوّرها ويطبع نسخةً مطابقة. أما وسم SUN فأشبه بحارس أمن يسلّمك في كل مرة تدخل فيها إيصالًا جديدًا مرقّمًا ومختومًا على حدة. ونسخُ إيصال الأمس لا ينفعك، لأن رقم اليوم مختلف وختم الحارس وحده هو الحقيقي.
لماذا يُكشف وسم NTAG 424 DNA المستنسخ
هذا هو الجزء الذي يجيب عن سؤالي الأصلي. يستطيع المزوّر بلا شك أن يستنسخ محتوى الوسم. يقرأ الرابط، وينسخه بايتًا بايتًا، ويبرمجه على رقاقة فارغة. لطالما كان هذا صحيحًا، ولهذا فإن «ضَع رمز QR عليه فحسب» لا يُثبت شيئًا في الواقع أبدًا.
ما لا يستطيعه هو إنتاج التوقيع الصالح التالي. فمفتاح التوقيع يعيش داخل الرقاقة الأصلية ولا يخرج منها أبدًا، ولا حتى أثناء اللمسة. وهذا يعني أن اللمسة لا قيمة لها إلا لدى ما يملك المفتاح فعلًا. في إعداد حقيقي لحماية العلامة، يشير رابط الوسم إلى خادم يديره الصانع، وذلك الخادم هو ما يفكّ تشفير كل لمسة، ويعيد حساب التوقيع للتأكد من تطابق المفتاح، ويتتبّع العدّاد وهو يتصاعد.
ذلك الجزء الأخير هو ما يكشف النسخة المقلّدة. فالرابط الوحيد الذي يمكن للمزوّر وضعه على مزيّف هو رابط التقطه من لمسة أصلية، مجمّدًا مع العدّاد الذي صادف أن حملته تلك اللمسة. أعِد تشغيله فيرى الخادم رقمًا سبق أن رآه، وعدّاد الرقاقة الحقيقية لا يتحرك إلا إلى الأمام، فالتكرار أو التراجع خطوةً إلى الوراء يفضح إعادة التشغيل. ولإرسال عدّاد جديد أعلى بتوقيع لا يزال صحيحًا، سيحتاج إلى المفتاح، وللحصول على المفتاح سيحتاج إلى كسر AES أو نزع غطاء الرقاقة فيزيائيًّا. ولن يحدث أيٌّ منهما من أجل حقيبة يد مزيّفة.
تلك هي النسخة الصادقة من جملة التسويق. فالرقاقة لا تجعل نسخ المنتج مستحيلًا. بل تجعل نسخ إثبات الأصالة مستحيلًا، وتنقل ذلك الإثبات إلى شيء لا يستطيع المزوّر إعادة إنتاجه.
كيف يتحقق NFC.cool من أن الوسم أصلي
بمجرد أن فهمت الوسوم، أردت للتطبيق أن يؤدّي الأمر كاملًا كما ينبغي، لا أن يعرض تفريغًا ست عشريًّا فحسب. لذا صار NFC.cool Tools الآن يتعامل مع NTAG 424 DNA بالكامل على iPhone وAndroid، ويفحص الأصالة بطريقتين مستقلتين، إضافةً إلى طريقة ثالثة مادية في الوسوم المصنوعة لأجلها.
أصل الرقاقة. كل رقاقة NXP أصلية تحمل توقيع مصنع على معرّفها الخاص، موقّعًا بمفتاح NXP الخاص. يقرأ NFC.cool ذلك التوقيع ويتحقق منه مقابل مفتاح NXP العام، على الهاتف مباشرةً. فإن اجتاز الفحص، تحصل على نتيجة بسيطة هي «NXP أصلية». هذا الفحص لا يحتاج إلى أيّ إعداد ولا أيّ مفاتيح منك. وهو يجيب عن سؤال: «هل هذا سيليكون NXP حقيقي، أم نسخة مقلّدة مجهولة؟»
اللمسة نفسها. هذا هو فحص SUN. يفكّ NFC.cool تشفير picc_data، ويستخرج معرّف الوسم وعدّاد اللمسات، ويعيد حساب التوقيع، ويقارنه بـcmac الذي أرسله الوسم. فإن تطابقا، كانت اللمسة أصلية وجديدة، وترى «موثّقة». هذا الفحص يُثبت أكثر، لذا يطلب أكثر: فهو يحتاج إلى مفتاح الوسم. أما الوسم الجديد تمامًا الذي لا يزال على ضبط المصنع فيُتحقق منه دون أيّ إدخال إطلاقًا. والوسم الذي أقفله أحدهم بمفتاحه الخاص لا يُتحقق من كونه موثّقًا إلا إذا كان ذلك المفتاح مخزّنًا لديك.
الختم المادي، في الوسوم المصنوعة لأجله. إحدى نسخ هذه الوسوم، وهي NTAG 424 DNA TagTamper، مصنوعة لتكون ختمًا يكشف العبث. إنها ملصق يمرّ عبره سلك إضافي رفيع، وتلصقه على ما تريد حمايته، فوق لسان صندوق أو حول غطاء زجاجة، الوظيفة نفسها التي تؤدّيها اليوم ملصقات «يبطل الضمان إن كُسر». افتح العنصر فتمزّق الملصق، فينقطع السلك. يفحص NFC.cool ذلك السلك عند اللمس ويخبرك بوضوح ما إذا كان الختم لا يزال سليمًا أم قد كُسر. والجزء الأنيق أنه مزلاج أحادي الاتجاه: اقطعه مرة واحدة فتتذكّر الرقاقة ذلك إلى الأبد، فما فُتح ثم أُعيد ختمه بعناية يظهر رغم ذلك على أنه مفتوح. التشفير يُثبت أن الرقاقة أصلية؛ وهذا يُثبت أن لا أحد دخل الصندوق.
كل هذا مجاني للجميع. فقراءة الوسم - رابطه، وعدّاد لمساته، وتخطيط ملفّاته، وما إذا كان ختمه لا يزال سليمًا - وتشغيل كلا الفحصين التشفيريين لا يكلّف شيئًا. أردت أن يكون سؤال «هل هذا الشيء حقيقي؟» قابلًا للإجابة من أيّ شخص يلمس واحدًا منها.
برمجة وسومك الآمنة بنفسك
القراءة نصف الأمر. النصف الآخر أن تلك الوسوم الفارغة من AliExpress ملكك تبرمجها كما تشاء، وNFC.cool يفعل ذلك عبر قناة موثَّقة ومشفّرة كما ينبغي، وهي المراسلة الآمنة نفسها التي تصرّ عليها الرقاقة، لا مجرّد كتابة خام نأمل أن تنجح.
النسخة اللطيفة ثلاث خطوات. اكتب رابطك الخاص، وهذا مجاني. وفعّل SUN كي يبدأ الوسم بتوقيع كل لمسة. واستبدل مفتاح المصنع بمفتاحك أنت، معيَّنًا كعبارة مرور حتى لا تضطر إلى التعامل مع سلسلة ست عشرية من 32 حرفًا، ومحفوظًا في سلسلة مفاتيحك. من تلك اللحظة يصبح الوسم مقفلًا عليك: يواصل إثبات أنه أصلي لكل من يلمسه، لكن لا أحد سواك يستطيع إعادة برمجته أبدًا.
عند تلك النقطة كان بوسعي أن أتوقف. التطبيقات القليلة التي تقترب أصلًا من هذه الوسوم تتوقف عندها. لكنني لم أفعل.
هيّئ رقاقة NTAG 424 DNA بأكملها من iPhone أو Android
في مكان ما من أسبوع من السهر الطويل مع هذه الوسوم، اتخذت قرارًا: سيغطّي NFC.cool Tools 100% من مواصفة NTAG 424 DNA، لا الجزء الملائم للعروض التوضيحية الذي يتوقف عنده كل درس «المس للتحقق». إن أردت أن يكون هذا أفضل تطبيق NFC موجود، فلا يصحّ أن تعني عبارة «ندعم NTAG 424 DNA» ضمنًا «ندعم المفتاح الواحد والوضع الواحد اللذين كانا سهلين». لذا نزلت في ورقة البيانات وبنيت الباقي.
رقاقة NTAG 424 DNA لا تملك مفتاحًا واحدًا. بل تملك خمسة. وصار NFC.cool الآن يدير كلها - غيّر أيّ خانة، أو أعِدها إلى ضبط المصنع، أو أدخِل مفتاحًا عيّنته على جهاز آخر كي يتمكّن هذا الهاتف من تشغيل الوسم أيضًا. وليس على SUN أن يوقّع بذلك المفتاح الأساسي كذلك: يمكنك توجيه تشفير اللمسة إلى مفتاح وتوجيه توقيعها إلى مفتاح آخر، وأن تقرّر ما إذا كان الوسم يعكس معرّفه صريحًا أم يبقيه مشفّرًا.
كل ملف على الرقاقة يحمل قواعد وصوله الخاصة، وبإمكانك تحريرها الآن - من يجوز له قراءة ملف، ومن يجوز له الكتابة فيه، ومن يجوز له تغيير إعداداته - كلٌّ مضبوط على مفتاح معيّن، أو مفتوح على مصراعيه، أو مغلق إلى الأبد. وتحت الملفات يقبع ضبط الرقاقة نفسها، وهو هنا أيضًا: فعّل معرّفًا عشوائيًّا كي يتوقف الوسم عن بثّ الرقم التسلسلي نفسه لكل قارئ يمرّ به (مكسب حقيقي للخصوصية)، وحدّد عدد محاولات فتح القفل الفاشلة التي يحتملها قبل أن يقفل نفسه، وحفنة من الإعدادات الأدنى مستوى التي لن يحتاج معظم الناس إلى لمسها أبدًا.
بل إن الرقاقة تحتفظ بخزنة خاصة صغيرة. فعليها ملف مشفّر، مقفل على Key 0 الخاص بك، يرافق الوسم نفسه بدلًا من أن يعيش على خادم. خزّن فيه سرًّا صغيرًا، شيئًا تريده أن يسافر مع الوسم لا أن يقبع في قاعدة بيانات لدى أحدهم، ولا يستطيع قراءته سوى مفتاحك. وNFC.cool يكتبه ويقرأه لك.
إن سبق أن فعلت هذا من قبل، فقد فعلته على مكتب. فـNXP تقدّم أداة على Windows تُسمّى TagXplorer، توصّل قارئ USB بحاسوبك، وتنقر عبر ضبط الرقاقة من هناك. يفعل NFC.cool كل الأشياء نفسها، لكنه مبنيّ ليُستخدَم لا ليُحتمَل. فحيث تكون TagXplorer سطح مكتب مليئًا بالنظام الست عشري الخام والحقول الغامضة، يكون NFC.cool شاشات بلغة واضحة على الهاتف الموجود في جيبك أصلًا، مع عبارة مرور بدل المفتاح الخام وتحذير قبل أيّ شيء دائم. تقود الأمر كله بإلصاق هاتفك بالوسم لثانية أو ثانيتين.
ما هو وضع NTAG 424 DNA LRP، والتغييرات التي لا يمكنك التراجع عنها
ثم هناك LRP. في ملاحظات تصميمي للنسخة الأولى، بجانب «وضع LRP» مباشرةً، كنت قد كتبت «غير مخطّط له - غريب، لا يحتاجه تطبيق استهلاكي». تعني LRP اختصار Leakage-Resilient Primitive، وهي وضع الوسم شديد الحذر فعلًا. عادةً تحرس الرقاقة مفاتيحها بـAES عاديّ، وسرقة مفتاح تعني كسر AES نفسه. لكن هناك خطّ هجوم أكثر مكرًا: ضع رقاقة على طاولة اختبار، وراقب الاهتزاز الخفيف في سحبها للطاقة وطنينها الكهرومغناطيسي بينما تُجري التشفير، ومع ما يكفي من تلك الآثار تستطيع إعادة بناء المفتاح السري من التسرّب وحده، دون أن تمسّ الرياضيات إطلاقًا. وLRP قناة آمنة أُعيد بناؤها لتترك ذلك التسرّب بلا شيء يتمسّك به. إنها مبالغة حقيقية لأجل ملصق على زجاجة نبيذ، ولهذا لا تفعّلها معظم الوسوم أبدًا ولا تتعلّم معظم الأدوات التحدّث بها. لكنها ظلّت تلحّ عليّ رغم ذلك، و«غطِّ المواصفة كلها» لا تأتي بحاشية تقول «إلا الجزء الصعب»، لذا بنيتها. صار NFC.cool يتحدّث LRP الآن، ما يعني أنه حتى بعد أن يُقلَب وسم إلى ذلك الوضع، وهي خطوة أحادية الاتجاه لا رجعة فيها، لا يزال التطبيق قادرًا على التوثّق معه وإدارته كأيّ وسم آخر. ولا أعرف تطبيق هاتف آخر يبلغ ذلك المدى.
سأكون صريحًا بشأن الجوانب الشائكة، لأنها صارت أكثر الآن. كثير من هذه الأوامر دائم. تفعيل LRP لا يمكن التراجع عنه. تفعيل المعرّف العشوائي لا يمكن التراجع عنه. اضبط صلاحية «التغيير» لملف على «أبدًا» فتكون قد جمّدت ذلك الملف طوال عمر الوسم. ومفتاح خاطئ قد يقفل خانةً إلى الأبد. والتطبيق ينبّهك إلى ذلك بوضوح شديد في حينه، فالإجراءات التي لا رجعة فيها حقًّا تجعلك تؤكّد عبر تحذير يوضّح العاقبة بالضبط، لكن يجدر قول ذلك هنا أيضًا: تمرّن على وسم احتياطي قبل أن تمسّ وسمًا يهمّك.
أين تُستخدم وسوم NFC المضادة للتزوير فعلًا
بصراحة؟ معظم من يلمسون وسم NFC لا يحتاجون أيًّا من هذا أبدًا، ولا بأس بذلك. فالملصق الذي يفتح رابطًا شيء رائع وممل ومفيد.
لكن بمجرد أن تمسك واحدًا منها، تصبح الاستخدامات بديهية. الحقيبة الفاخرة تستطيع أن تُثبت أنها أصلية. وزجاجة نبيذ أو ويسكي تستطيع أن تُظهر أنها لم تُفتح خفيةً وتُملأ من جديد بشيء أرخص، فيحمل ختم العبث ذلك النصف. وعلبة دواء تضمن كلًّا من الدواء الحقيقي بداخلها وختمًا لم يكسره أحد. والمنتج محدود الإصدار أو القطعة الفنية يحصل على شهادة لا يستطيع أحد تزويرها، وتذاكر الفعاليات تكفّ عن كونها شيئًا يمكنك التقاط صورة له وتمريره. ضع وسمًا عند باب أو على رفّ فتُثبت اللمسة أن أحدهم وقف هناك فعلًا، بدلًا من إعادة تشغيل رابط محفوظ من أريكته. والأحذية الرياضية وبطاقات التداول تُثبت أنها الإصدار الحقيقي لا تقليدًا جيّدًا. وأيّ صانع مستقل يستطيع أن يجعل منتجه يُثبت أنه منتجه هو. إنها مشكلة الأصالة نفسها التي يدور حولها جواز المنتج الرقمي في الاتحاد الأوروبي من جهة التنظيم، محلولةً على مستوى الشيء المفرد.
لم أبنِ هذا لأن ألف مستخدم طلبوه. بنيته لأنني اشتريت بعض الوسوم الغريبة من الإنترنت بدافع الفضول، وفهمت كيف تعمل، ثم عجزت عن ترك صفحة واحدة من ورقة البيانات دون أن أقلبها. هكذا تبدأ الميزات الجيّدة عادةً.
خلاصة القول في وسوم NTAG 424 DNA
وسوم NTAG 424 DNA هي أقرب ما لدى NFC إلى ختم مقاوم للعبث. لا تستطيع منع أحد من نسخ منتج، لكنها تجعل إثبات أنه أصلي مستحيل التزييف، لأن ذلك الإثبات توقيع تشفيري جديد لا تستطيع إنتاجه إلا الرقاقة الحقيقية.
صار NFC.cool Tools الآن يقرأها، ويتحقق من الرقاقة واللمسة وختم العبث مجانًا، ويسلّمك الرقاقة كاملةً لتهيّئها - كل مفتاح، وصلاحيات كل ملف، وأدنى إعداداتها مستوًى، وحتى LRP - كي تجهّز وسومك بنفسك من هاتفك مباشرةً. وإن سبق أن تساءلت كيف تستطيع لمسة أن تميّز الحقيقي من المزيّف، فاحصل عليه على iPhone أو Android، واطلب اثنين من هذه الوسوم ببضعة يوروهات، والمس واحدًا بنفسك. إنه موضوع شيّق يستحقّ الغوص فيه.