نظرة عامة على بيانات الاعتماد الرقمية

بيانات الاعتماد الرقمية هي مستندات يمكن التحقّق منها باستخدام التشفير، ويمكن استخدامها للمصادقة أو منح الإذن أو تقديم معلومات عن المستخدم. وتشمل هذه المستندات عادةً رخص القيادة على الأجهزة الجوّالة وجوازات السفر الرقمية وبطاقات صعود الطائرة وغيرها. وهي مخزّنة في حاويات افتراضية تُعرف باسم المحافظ الرقمية، وتشكل جزءًا من معيار W3C الذي يحدّد كيفية الوصول إليها واستردادها. يتم تنفيذ هذا المعيار لحالات استخدام الويب من خلال واجهة برمجة التطبيقات W3C Credential Management API وعلى أجهزة Android من خلال واجهة برمجة التطبيقات DigitalCredential API في Credential Manager.

التعرّف على المستندات الرقمية

في العالم الواقعي، قد يحتفظ الشخص بمستند التعريف في محفظته ويقدّمه إلى الجهة الطالبة عند الطلب:

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

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

تختلف بيانات الاعتماد الرقمية عن بيانات الاعتماد في العالم المادي في ما يلي:

  1. من المتوقّع أن يكون لدى المستخدمين محافظ متعدّدة، تُعرف أيضًا باسم حسابات، يمكن أن تحتوي على بيانات اعتماد مختلفة. تحدّد المحافظ بيانات الاعتماد التي يمكن تخزينها بداخلها.
  2. يُطلق على التطبيق أو الخدمة اللذين يطلبان بيانات الاعتماد لمنح إذن الوصول أو إثبات الهوية اسم الجهة التي تتحقّق من صحة بيانات الاعتماد.
  3. يُشار إلى الجهة التي تنشئ مستند التعريف وتؤكّد صحة المعلومات الخاصة بصاحب المستند (مثل جامعة أو جهة حكومية أو شركة تكنولوجية) باسم جهة الإصدار.
  4. تتم عملية عرض بيانات الاعتماد في البرنامج، ما يعني أنّ مساحة عرض واجهة برمجة التطبيقات تسترجع بيانات الاعتماد وتعرضها، وفي نظام Android، تكون هذه المساحة هي Credential Manager.

وبناءً على ذلك، يتولّى "مدير بيانات الاعتماد" عدة أدوار كان يتولّاها المستخدم سابقًا، وهي:

  1. على أجهزة Android، يجب أن تسجّل المحافظ البيانات الوصفية لبيانات الاعتماد في Credential Manager ليتم إدراجها في واجهة مستخدم Credential Manager.
  2. يُطابق Credential Manager بيانات الاعتماد في جميع المحافظ استنادًا إلى الطلب، ثم يعرض قائمة ليختار منها المستخدم.
  3. عندما يختار المستخدم مستند تعريف في القائمة، يستدعي "مدير بيانات الاعتماد" المحفظة التي ستتولّى بقية المعاملة (عرض واجهات المستخدم وما إلى ذلك) وتعيد مستند التعريف إلى التطبيق.

يظهر هذا المسار هنا:

صورة توضّح مسار التفاعل مع مستند تعريف رقمي
الشكل 2. نموذج التفاعل للتحقّق من صحة المستند الرقمي. يستخدم Credential Manager بيانات وصفية لبيانات الاعتماد المسجَّلة مسبقًا في محافظ المستخدمين لمطابقة طلب مقدّم خدمة والطلب من المستخدم اختيار بيانات اعتماد. بعد ذلك، يوجّه "Credential Manager" مسار النشاط إلى المحفظة المعنية التي تتولّى بقية المعاملة وتعيد بيانات الاعتماد إلى خدمة التحقّق. ملاحظة: على خدمة التحقّق التعامل مع ردّ بيانات الاعتماد والتحقّق منه بعد إرجاعه.

بيانات الاعتماد القابلة للتحقّق

المستندات القابلة للتحقّق هي مجموعة فرعية من المستندات الرقمية التي تخضع لمعايير صارمة (مثل نموذج بيانات المستندات القابلة للتحقّق من W3C). تحتوي بيانات الاعتماد هذه على ادعاءات محمية بالتشفير، ما يجعلها مقاومة للتلاعب ويثبت هوية الجهة التي أصدرتها.

ليست كل بيانات الاعتماد الرقمية بيانات اعتماد يمكن التحقّق منها، ولكن كل بيانات الاعتماد التي يمكن التحقّق منها هي بيانات اعتماد رقمية.

المقصود بتأكيد صحة الادعاء

عندما تصل بيانات اعتماد من خلال واجهة برمجة التطبيقات Android Credential Manager ويتم وضع علامة "تم التحقّق منها" على مطالبة ضمنها، يعني ذلك أنّ الجهة المصدرة تؤكّد أنّها تحقّقت من صحة هذه البيانات المحدّدة. ومع ذلك، لا يعني ذلك أنّ البيانات هي حقيقة مطلقة وعالمية. تشير حالة "تم التحقّق" إلى أنّنا اتّبعنا إجراءات التحقّق، ولكنّها لا تضمن تلقائيًا أنّ الحساب موثوق به.

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

تجربة المستخدم

كما هو موضّح في مسار Android، يحتاج المستخدم إلى التفاعل مرة واحدة فقط مع واجهة مستخدم Credential Manager لاختيار بيانات الاعتماد المناسبة. في ما يلي مثال على شكل أداة الاختيار:

صورة تعرض واجهة مستخدم بيانات الاعتماد الرقمية في "مدير بيانات الاعتماد"
الشكل 3. واجهة مستخدم بيانات الاعتماد الرقمية

المعايير

يتم إنشاء طلبات بيانات الاعتماد الرقمية باستخدام معيار OpenID4VP. يمكنك الاطّلاع على نماذج الطلبات في الموقع الإلكتروني للعرض التوضيحي لبيانات الاعتماد الرقمية.

يتم عادةً عرض ردود بيانات الاعتماد الرقمية بتنسيق موحّد لبيانات الاعتماد. وتتولّى هيئات معايير مختلفة الحفاظ على هذه التنسيقات، وتشمل مستندات الاعتماد القابلة للتحقّق من W3C وsd-jwt وmdoc.

يمكن أيضًا استخدام بروتوكولات مخصّصة، ولكن ننصحك باستخدام أحد البروتوكولات العادية في تطبيقك.

للتجربة:

يمكنك تجربة مسار بيانات الاعتماد الرقمية على جميع المنصات باستخدام محفظة Android وأداة تحقّق مستندة إلى الويب:

  1. ثبِّت العيّنة العامة من CMWallet على هاتف Android. يمكنك إجراء ذلك من خلال سحب البيانات من المستودع وتثبيتها مباشرةً من استوديو Android أو الانتقال إلى https://github.com/digitalcredentialsdev/CMWallet/actions واختيار أحدث إصدار للوصول إلى أحدث ملف app-debug.apk.
  2. افتح CMWallet لتسجيل البيانات الوصفية في "إدارة بيانات الاعتماد". تأكَّد من تفعيل البلوتوث للسماح لأجهزتك بالاتصال ببعضها البعض.
  3. انتقِل إلى https://digital-credentials.dev/‎ واختَر Request Credentials (OpenID4VP).
  4. اقبل طلبات التحذير وامسح رمز الاستجابة السريعة ضوئيًا باستخدام هاتفك، ثم انقر على "استخدام مفتاح المرور" وأكِّد العملية لإظهار بيانات الاعتماد المتاحة.
  5. اختَر بيانات الاعتماد من CMWallet للرجوع إلى المتصفّح. من المفترض أن يعرض المتصفّح بيانات الاعتماد التي تم إرجاعها.

انظر أيضًا

  • لمزيد من المعلومات حول استخدام Credential Manager لطلب مستندات تعريف رقمية في تطبيقك، يُرجى الاطّلاع على صفحة Credential Manager - Verifier API.
  • لمزيد من المعلومات حول إنشاء المحفظة الرقمية باستخدام Credential Manager، يُرجى الاطّلاع على صفحة Credential Manager - Holder API.