الكثير من التقنيات التي نستخدمها كل يوم تختفي في الخلفية. تلمس لتدفع، لتفتح القفل، لتمسح، لتشارك - ودون أن تفكّر أبدًا في البروتوكول الكامن تحتها. إن NFC واحدة من تلك القطع الهادئة في البنية التحتية، وبعد سنوات من بناء NFC.cool، وهو تطبيق لقراءة وكتابة وسوم NFC، قضيتُ داخل تلك البنية وقتًا أطول مما سيقضيه معظم الناس على الإطلاق. إليك كيف يعمل الأمر فعلًا على جهاز iPhone لديك، بالطريقة التي أشرحها بها لصديق فضولي.
ما هي تقنية NFC فعلًا
Near Field Communication (الاتصال قريب المدى) هو بروتوكول لاسلكي قصير المدى - يمكن لجهازين تبادل البيانات عندما يكونان على بُعد نحو ٤ سم أحدهما من الآخر. أعتبره ابن عمّ مبسّطًا وأقصر مدى بكثير من Bluetooth وWi-Fi.
هذا المدى القصير يربك الناس في البداية، لكنه ليس قيدًا. إنه نموذج الأمان، وحالما استوعبتُ ذلك أصبح الكثير من خيارات تصميم NFC منطقيًا. لا يمكنك أن تلمس جهاز دفع عن طريق الخطأ من الطرف الآخر للغرفة، ولا يمكن لقارئ خبيث أن يسحب بياناتك من محفظتك بهدوء عن بُعد. إن كنتَ جديدًا على كل هذا، فقد كتبتُ دليلًا مبسّطًا لمبتدئي وسوم NFC يبدأ من نقطة أبعد مما يبدأ منه هذا المقال.
NFC على iPhone: تاريخ موجز
أطلقت Apple عتاد NFC لأول مرة مع iPhone 6 و6 Plus في ٢٠١٤، لكن الراديو كان مقفلًا على Apple Pay فقط. لم تكن تطبيقات الطرف الثالث قادرة على قراءة وسوم NFC إطلاقًا - وهو ما كان، بالنسبة لشخص سيبني لاحقًا تطبيق NFC، سنوات محبطة أراقبها.
تغيّر ذلك مع iOS 11 (٢٠١٧)، الذي قدّم إطار عمل Core NFC وسمح أخيرًا لمطوّرين مثلي بقراءة وسوم NDEF. واصلت Apple فتح الباب أكثر في الإصدارات اللاحقة - أضاف iOS 13 دعم الكتابة، وأضاف iPhone XS وما بعده قراءة الوسوم في الخلفية بشكل دائم. اليوم، على أي iPhone حديث، يمكنك لمس وسم دون فتح أي شيء: يتعرّف عليه نظام التشغيل ويعرض الإجراء المناسب.
كيف ينقل NFC البيانات فعلًا
تعمل أجهزة NFC بأحد دورين في كل تفاعل: نشط (مزوّد بالطاقة، يولّد مجالًا) أو سلبي (بلا بطارية، يستمدّ الطاقة من المجال). هذه هي الفكرة الوحيدة التي أعود إليها كلما سألني أحدهم كيف يعمل NFC.
عندما تُجري دفعة عبر Apple Pay، يكون جهاز iPhone لديك هو القارئ النشط. فهو يولّد مجالًا راديويًا بتردد 13.56 MHz. يستيقظ عنصر NFC في جهاز الدفع داخل ذلك المجال، ويعرّف عن نفسه، ويتبادل قدرًا صغيرًا من الحمولة المشفّرة مع هاتفك. لا تغادر بيانات بطاقتك أبدًا الـSecure Element - وهي شريحة مخصّصة ومعزولة عتاديًا في الهاتف. ما يخرج هو رمز مميّز يُستخدم مرة واحدة.
عندما تلمس ملصق NFC على لوحة إعلانية، تنقلب الأدوار. وسم اللوحة سلبي - لا بطارية له. يمدّه قارئ جهاز iPhone بالطاقة، فيستجيب الوسم بأي سجلات NDEF مخزّنة عليه، ويقرّر iOS ما يجب فعله (فتح URL، تشغيل تطبيق، عرض بطاقة جهة اتصال، تشغيل اختصار). ذلك النصف الثاني - جانب الوسم - هو الجزء الذي يعيش فيه NFC.cool، وإن أردتَ رؤيته أثناء العمل دون تثبيت أي شيء، فيمكنك قراءة وسوم NFC مباشرةً من متصفحك على Android.
NDEF: اللغة المشتركة
طبقة البيانات فوق راديو NFC هي NDEF - أي NFC Data Exchange Format (صيغة تبادل بيانات NFC). أصفها بأنها صيغة سجلات صغيرة ذاتية الوصف: يحمل الوسم سجلًا واحدًا أو أكثر، ولكل سجل نوع (URI، نص، vCard، بيانات اعتماد Wi-Fi، MIME مخصّص) وحمولة.
كل هاتف يدعم NFC على وجه الأرض يتحدّث NDEF، ولهذا فإن وسمًا مُبرمجًا على جهاز Android سيُقرأ بلا مشاكل على iPhone والعكس صحيح. إنه أحد الأماكن القليلة في عالم الهواتف حيث يتشارك iOS وAndroid معيارًا واحدًا فعلًا، وبصراحة فإن هذه القابلية للتشغيل البيني هي أكثر ما أشعر بالامتنان له حين أبني الميزات - فأنا أكتب للصيغة، لا للمنصّة. إن أردتَ تجربة كتابة سجلاتك الخاصة، فقد شرحتُ ذلك خطوة بخطوة في كيفية كتابة وسوم NFC على iPhone.
الخصوصية والأمان
طبقتان من الدفاع تستحقّان الذكر، وهما الطبقتان اللتان أجدني أشرحهما في أغلب الأحيان:
المدى. يصعب اعتراض بضعة سنتيمترات دون هوائي ملحوظ - هذا هو نموذج التهديد الأصلي الذي صُمّم NFC حوله.
الترميز (Tokenisation). لا ينقل Apple Pay رقم بطاقتك الحقيقي أبدًا. تستخدم كل معاملة رقم حساب خاصًا بالجهاز (Device Account Number) إضافةً إلى تعمية تُستخدم مرة واحدة (cryptogram)، تُولَّد داخل الـSecure Element. حتى الجهاز المخترَق لا يستطيع إعادة تشغيلها.
بالنسبة لقراءة الوسوم، يختلف سطح التهديد - فالوسم نفسه هو ما يُوثَق به. إذا كنتَ تتحكّم بما على الوسم (أتمتة منزلك الخاصة، بطاقة عملك)، فأنت بخير. أما إذا لمستَ وسمًا عشوائيًا في مكان عام، فينبغي أن ترى تأكيدًا في iOS قبل أن يحدث أي شيء. وحين أحتاج فعلًا إلى وسم يحمل سرًّا بدلًا من مجرد الإشارة إليه، ألجأ إلى الوسوم المشفّرة، وقد تناولتُ ذلك في تخزين أسرار آمنة ومشفّرة على وسوم NFC.
لماذا يهمّ هذا
إن NFC واحد من تلك البروتوكولات التي تختفي حين تعمل، وهذا بالضبط ما يجعل البناء عليه ممتعًا بالنسبة لي. تلمس بوابة دوّارة، أو جهاز دفع، أو بطاقة عمل، أو مكبّر صوت ذكيًا - فيحدث شيء ما. لا اقتران، ولا رمز PIN، ولا تشغيل تطبيق. مجرد إيماءة مادية مقصودة تُصرّح بتبادل واحد محدّد.
لهذا بنيتُ NFC.cool Tools - لأتيح سطح NDEF الكامل لـNFC دون أن يضطر أحد لتعلّم البروتوكول أولًا. اقرأ أي وسم، اكتب أي نوع سجل، اقفل وسمًا حين تنتهي. على iPhone أو Android.