المزايا الرئيسية
كيفية تفعيل التحقق عبر NFC
التكامل مع SDK الأصلي (موصى به)
يتوفر التحقق عبر NFC من خلال حزم SDK الأصلية الخاصة بنا، والتي تتيح الوصول الكامل إلى إمكانيات NFC في الجهاز:
يتولى iOS SDK جميع إعدادات NFC تلقائياً، بما في ذلك:
- معرّفات تطبيقات ISO7816 لجوازات السفر الإلكترونية
- إعداد الصلاحيات والإمكانيات
- قراءة الشريحة في الوقت الفعلي مع تقديم استجابة بصرية
تكامل الويب
⚠️ قيود المتصفح إن التحقق عبر NFC غير متوفر في متصفحات الويب بسبب قيود المنصة:بالنسبة لتكاملات الويب، يتم تخطي التحقق عبر NFC تلقائياً ويتابع المستخدمون إجراءات التحقق القياسية من المستند + صورة سيلفي.
آلية العمل
بدء الجلسة
يبدأ المستخدم عملية التحقق من خلال تطبيقك أو منصتك:
- SDK الأصلي: إطلاق سير عمل التحقق مباشرة داخل تطبيقك
- الويب/ويب الأجهزة المحمولة: يتم توجيه المستخدم لاستخدام تطبيق Didit App للتحقق عبر NFC، أو المتابعة باستخدام التحقق القياسي
التقاط صورة المستند
يلتقط المستخدم صورة لمستند الهوية الخاص به، مع التقاط:
- MRZ (المنطقة المقروءة آلياً) — تُستخدم لاشتقاق مفاتيح الوصول إلى الشريحة
- صور الوجهين الأمامي والخلفي للمستند — البيانات المرئية وميزات الأمان
- ميزات الأمان المرئية — الصور المجسمة (الهولوغرام)، والعلامات المائية، والطباعة الدقيقة
اكتشاف دعم NFC
يتحقق النظام تلقائياً من توافق الجهاز والمستند:
إذا كان NFC غير متاح، تستمر عملية التحقق بسلاسة عبر التحقق القياسي من المستندات والتحقق البيومتري.
قراءة شريحة NFC
بالنسبة للأجهزة والمستندات المتوافقة:
- يتم توجيه المستخدم لوضع مستنده بالقرب من قارئ NFC في الهاتف
- توفر استجابة مرئية توضح تقدم القراءة في الوقت الفعلي
- يتم إنشاء اتصال آمن مع الشريحة باستخدام بروتوكولات PACE/BAC
استخراج البيانات
يستخرج النظام بيانات شاملة من الشريحة وفقاً لمعايير ICAO 9303:
التحقق التشفيري
تخضع البيانات المستخرجة لعملية تحقق تشفيري صارمة:
التحقق من التوقيع الرقمي
التحقق من التوقيع الرقمي
يتم التحقق من تجزئة كل مجموعة بيانات مقابل التوقيعات المخزنة في SOD، مما يضمن سلامة البيانات.
التحقق من صحة سلسلة الشهادات
التحقق من صحة سلسلة الشهادات
يتم التحقق من صحة سلسلة الثقة: شهادة المستند ← جهة تصديق توقيع الدولة ← الجذر الخاص بـ ICAO PKD، مع المطابقة مقابل القوائم الرئيسية لـ CSCA ودليل المفاتيح العامة لـ ICAO.
فحص إلغاء الشهادات
فحص إلغاء الشهادات
يتم فحص الشهادات مقابل قوائم إلغاء الشهادات (CRLs) للتأكد من عدم إلغائها وعدم الإبلاغ عن سرقة المستند أو اختراقه.
التحقق المتبادل
التحقق المتبادل
تتم مطابقة البيانات المستخرجة عبر NFC والتحقق منها تبادلياً مقابل بيانات OCR المستخرجة من صور المستند، والمقارنة البيومترية للوجه، والتحقق من المجموع الاختباري لـ MRZ.
النتيجة ودرجة الثقة
تتضمن نتيجة التحقق النهائية ما يلي:
المستندات المدعومة
يعمل التحقق عبر NFC مع جوازات السفر الإلكترونية (ePassports) وبطاقات الهوية الإلكترونية (eIDs) التي تحتوي على شريحة NFC، وعادةً ما يُشار إليها بهذا الرمز على المستند:
بطاقة ماي نمبر اليابانية (JPKI)
تحتوي بطاقة ماي نمبر اليابانية (マイナンバーカード) على شريحة، ولكنها ليست شريحة ICAO 9303. فهي تحمل شهادات صادرة بموجب JPKI، وهي البنية التحتية للمفاتيح العامة في اليابان، ومفاتيح خاصة لا توقّع إلا بعد إدخال حامل البطاقة لرمز PIN الخاص بها. تقرأ Didit هذه البطاقة في خطوة NFC نفسها، عبر JPKI بدلاً من ICAO 9303، وتوضّح كل نتيجة NFC البروتوكول المستخدم فيchip_protocol (سواء icao أو jpki).
المتطلبات
ما يفعله الشخص
تصوير البطاقة
يلتقط الشخص صورة لبطاقة ماي نمبر في خطوة التحقق من الهوية، كما هو الحال مع أي مستند. تتعرف Didit على البطاقة وترسل خطوة JPKI NFC بدلاً من قراءة شريحة جواز السفر.
إدخال رمز PIN للبطاقة
يطلب الـ SDK رمز PIN المكون من 4 أرقام للبطاقة (利用者証明用電子証明書の暗証番号). وعند تفعيل إعداد
jpki_request_attributes في عقدة NFC (وهو الإعداد الافتراضي)، فإنه يطلب أيضاً كلمة مرور التوقيع، وتسمى أيضاً رمز PIN للتوقيع (署名用電子証明書の暗証番号، من 6 إلى 16 محرفاً من الأحرف الكبيرة والأرقام).تقريب البطاقة من الهاتف
يقرأ الـ SDK شهادات البطاقة، وتقوم البطاقة بتوقيع تحدٍّ لمرة واحدة من Didit باستخدام مفتاحها الخاص. يرفع الـ SDK الشهادات والتوقيعات. ولا تُرسل رموز PIN إلا إلى البطاقة فقط، ولا تصل إلى Didit على الإطلاق.
تحسب البطاقة عدد المحاولات الخاطئة: إذ تقفل رمز PIN المكون من 4 أرقام بعد 3 محاولات متتالية خاطئة وكلمة مرور التوقيع بعد 5 محاولات، ويجب إعادة تعيين الرمز المقفل في المكتب البلدي التابع له حامل البطاقة. بعد أي إدخال خاطئ، يعرض الـ SDK عدد المحاولات المتبقية. ولا ينفذ أبداً المحاولة الأخيرة: فعندما تتبقى محاولة واحدة فقط، يتوقف ويخبر الشخص بالمكان الذي يمكنه إعادة التعيين فيه. اطلب من المستخدمين تجهيز رمز PIN وكلمة مرور التوقيع قبل البدء.
ما تتحقق منه Didit
كل إجراء هو عبارة عن إعداد في عقدة NFC، لذا يمكنك تغييره إلى لا يوجد إجراء أو المراجعة أو رفض. راجع تحذيرات NFC وتهيئة ميزة NFC.
ما تعنيه حالة الإلغاء غير المفحوصة (unchecked)
تعنيrevocation_status: "unchecked" أن Didit تحققت من سلسلة الشهادات وتوقيع البطاقة، ولكنها لم تتلقَّ أي رد حول ما إذا كانت الشهادة قد أُلغيت أم لا. تُلغى الشهادة على سبيل المثال عند الإبلاغ عن فقدان البطاقة. ونظراً لأنه لا يمكن استبعاد أن تكون البطاقة ملغاة، فلا تُعامل حالة unchecked على أنها good على الإطلاق. وتؤدي إلى إطلاق JPKI_REVOCATION_UNCHECKED، مما يرسل خطوة NFC إلى المراجعة افتراضياً. يمكنك اختيار نتيجة مختلفة باستخدام jpki_revocation_unchecked_action.
عندما تكون سلسلة الشهادات غير صالحة أو يكون التوقيع غير صالح، لا تستفسر Didit عن الإلغاء: فتبقى الحالة unchecked ويتم إطلاق تحذير السلسلة أو التوقيع فقط.
بيانات حامل البطاقة والخصوصية
- عند تفعيل
jpki_request_attributes، يتضمن القرار اسم حامل البطاقة وتاريخ ميلاده وجنسه وعنوانه من شهادة التوقيع تحتjpki.attributes. وعند إيقاف تفعيله، يدخل الشخص رمز PIN المكون من 4 أرقام فقط: ولا تزال القراءة تثبت حيازة البطاقة ومعرفة رمز PIN، ولكنها لا تتضمن بيانات حامل البطاقة ولا تجري مقارنتها بصورة البطاقة. - لا تقرأ خطوة NFC أبداً الرقم الفردي المكوّن من 12 رقماً (My Number) من الشريحة.
- يُبلغ القرار عما أثبتته البطاقة، ولا يُبلغ أبداً عن الشهادات نفسها أو أرقامها التسلسلية أو التوقيعات.