تعرف على واجهة برمجة تطبيقات بيانات الاعتماد الرقمية، ودعم الميزات الحالي في Chrome و Safari، وابق على اطلاع بآخر التحديثات القادمة من خلال دليلنا الشامل.
Vincent
Created: July 25, 2025
Updated: July 25, 2025
See the original blog version in English here.
آخر تحديث: 15 يوليو 2025 (بعد مؤتمر WWDC25)
نظرة عامة سريعة على دعم واجهة برمجة تطبيقات بيانات الاعتماد الرقمية في المتصفحات الرئيسية:
المتصفح | حالة الدعم (يونيو 2025) | الإصدار المستقر المتوقع / النظرة المستقبلية |
---|---|---|
Google Chrome | 🧪 نعم (عبر علامة الميزة) | 30 سبتمبر 2025 (Chrome 141) |
Apple Safari | ✅ نعم (في إصدار تجريبي) | خريف 2025 (iOS 26 / Safari 26، المعروف سابقًا بـ iOS 19) |
Mozilla Firefox | ❌ لا (موقف سلبي) | غير مخطط له |
Microsoft Edge | ❓ يتبع Chrome | يتبع Chrome |
عالم بيانات الاعتماد الرقمية يتطور بسرعة. إليك لمحة عن التطورات الرئيسية والتوقعات:
الأيقونة | التاريخ / الفترة | الحدث | الوصف والمصدر |
---|---|---|---|
🚀🤖 | 20 أغسطس 2024 | تجربة Origin Trial لواجهة برمجة تطبيقات بيانات الاعتماد الرقمية على Android | يطلق Chrome 128 تجربة Origin Trial لواجهة برمجة تطبيقات بيانات الاعتماد الرقمية على Android، مما يتيح إرسال الطلبات عبر نظام CredMan الخاص بـ IdentityCredential في Android. |
🚀🍏 | 27 فبراير 2025 | Safari Technology Preview 214 | يضيف WebKit (المضمن في Safari Technology Preview 214) علامة ميزة لواجهة برمجة تطبيقات بيانات الاعتماد الرقمية. (طلب سحب، مقارنة) |
🚀🤖 | 4 مارس 2025 | تجربة Origin Trial على سطح المكتب في Chrome 134 | يطلق Chrome 134 تجربة Origin Trial على سطح المكتب لواجهة برمجة تطبيقات بيانات الاعتماد الرقمية، مما يتيح الاتصال الآمن بمحافظ هواتف Android. (المصدر: ملاحظات إصدار Chrome 134) |
🚀🍏 | 31 مارس 2025 | إصدار Safari 18.4 | ميزات WebKit في Safari 18.4 تجعل أجزاء من واجهة برمجة تطبيقات بيانات الاعتماد الرقمية قابلة للاختبار عبر علامة ميزة. يتم تتبع التغييرات المستمرة هنا. |
💡 | أبريل 2025 | مجموعة عمل W3C FedID تتولى المسؤولية | ينتقل تطوير واجهة برمجة تطبيقات بيانات الاعتماد الرقمية رسميًا إلى مجموعة عمل الهوية الموحدة في W3C. |
🚀🤖 | 30 أبريل 2025 | الإعلان عن تجربة Origin Trial عبر الأجهزة في Chrome | يعلن Chrome عن تجربة Origin Trial لواجهة برمجة تطبيقات بيانات الاعتماد الرقمية عبر الأجهزة بدءًا من Chrome 136، مما يسمح لمتصفح Chrome على سطح المكتب بتقديم بيانات الاعتماد بشكل آمن من أجهزة Android. |
⚠️🤖 | 2 مايو 2025 | تغييرات جذرية في واجهة برمجة التطبيقات في Chrome | يوضح Chrome تغييرات جذرية لإصدارات واجهة برمجة التطبيقات في Chrome 136 و 138 (مثل تنسيقات الطلبات، وإضافة واجهة navigator.credentials.create() تحت علامة ميزة). |
🚀🍏 | 10 يونيو 2025 | مؤتمر WWDC25: Apple تؤكد دعم واجهة برمجة التطبيقات | تعلن Apple رسميًا عن دعم واجهة برمجة تطبيقات بيانات الاعتماد الرقمية في Safari في مؤتمر WWDC25، مؤكدة التركيز على بروتوكول org.iso.mdoc لتقديم وثائق الهوية. الميزة متاحة في Safari 26 Beta مع iOS 26. (المصدر: التحقق من وثائق الهوية على الويب) |
🚀🤖 | 30 سبتمبر 2025 (متوقع) | Chrome 141: استقرار واجهة برمجة التطبيقات | تخطط Google لشحن واجهة برمجة تطبيقات بيانات الاعتماد الرقمية كميزة مستقرة ومفعلة افتراضيًا في Chrome 141. |
🚀🍏 | خريف 2025 (مؤكد) | الإصدار العام لـ Safari و iOS 26 | ستصدر Apple بشكل عام Safari 26 مع دعم واجهة برمجة تطبيقات بيانات الاعتماد الرقمية كجزء من iOS 26 وتحديثات أنظمة التشغيل الأخرى. |
🇪🇺📅 | منتصف 2026 - أوائل 2027 (متوقع) | توفر محافظ EUDI | من المتوقع أن توفر الدول الأعضاء في الاتحاد الأوروبي محافظ EUDI، التي تدعم mdocs و VCs، وفقًا لـ لائحة eIDAS 2.0. |
تُعد بيانات الاعتماد الرقمية موضوعًا رائجًا في مجال الهوية في الوقت الحالي. فمع تزايد ارتباط حياتنا بالعالم الرقمي، أصبحت الحاجة إلى طرق آمنة تتمحور حول المستخدم وتحافظ على الخصوصية لتأكيد هويتنا ومؤهلاتنا عبر الإنترنت أكثر أهمية من أي وقت مضى. لقد بدأت الطرق التقليدية تُظهر قِدَمها، والطلب على حلول أكثر قوة أصبح ملموسًا.
في هذا المقال، نهدف إلى مناقشة الوضع الحالي لواجهة برمجة تطبيقات بيانات الاعتماد الرقمية، وهي تطور مهم يبشر بإعادة تشكيل كيفية تفاعلنا مع معلومات الهوية على الويب. سنستكشف آلياتها الأساسية، والبروتوكولات التي تدعمها، والتبني الحالي في المتصفحات، ونقدم توصيات لكل من الأطراف المعتمدة (relying parties) و issuers الذين يتنقلون في هذا المشهد سريع التطور.
Recent Articles
♟️
ضمان المحافظ الرقمية: أطر العمل في الاتحاد الأوروبي والولايات المتحدة وأستراليا
⚙️
واجهة برمجة تطبيقات بيانات الاعتماد الرقمية (2025): Chrome و Safari (مؤتمر WWDC25)
♟️
بيانات الاعتماد الرقمية ومفاتيح المرور: أوجه التشابه والاختلاف
♟️
الشهادات الرقمية والمدفوعات: استراتيجية محافظ Apple وGoogle
♟️
رخص القيادة المحمولة (mDL) وفق معيار ISO 18013-7: مستقبل تسجيل العملاء في البنوك (2025)
كان إثبات الهوية بشكل موثوق وآمن تحديًا مستمرًا في بنية الويب لسنوات عديدة. فبينما سهّل الإنترنت الاتصال وتبادل المعلومات بشكل غير مسبوق، فقد فتح أيضًا طرقًا جديدة للتحايل والاحتيال.
في بعض البلدان، ظهرت حلول مدفوعة بشكل أساسي من قبل اتحادات البنوك المبكرة التي طورت خدمات للاستفادة من العلاقات الموثوقة القائمة لتحديد الهوية عبر الإنترنت. كما تدخلت الحكومات، إما بفرض أو توفير محافظ وخدمات هوية رقمية وطنية. ومع ذلك، كانت هذه الحلول غالبًا معزولة ومحدودة جغرافيًا وغير قابلة للتشغيل البيني عالميًا.
كان البديل للتحقق من الهوية في العديد من المناطق يتضمن تقليديًا عمليات معقدة تتطلب جهدًا كبيرًا. فالتحقق المادي في مكتب بريد، على سبيل المثال، يسبب تأخيرات وإزعاجًا كبيرًا. أصبحت مكالمات الفيديو مع تحميل المستندات بديلاً أكثر رقمية، تلاها الصعود الأحدث للمسح الآلي للمستندات وفحوصات الحيوية (liveness checks). على الرغم من تطورها، فإن لهذه الأساليب عيوبًا كبيرة. يمكن أن تكون مستهلكة للوقت، وعرضة للخطأ البشري أو التحيز، وقد تم الكشف مرارًا عن كونها عرضة للتزوير المتقن.
يتصاعد التحدي بشكل كبير مع ظهور التزييف العميق (deepfakes)، وتقنيات انتحال الشخصية المتقدمة القائمة على الذكاء الاصطناعي، وهجمات التصيد الاحتيالي المتطورة بشكل متزايد. يمكن لهذه التقنيات إنشاء أدلة فيديو وصوت ومستندات واقعية للغاية ولكنها ملفقة بالكامل، مما يجعل من الصعب للغاية على الأنظمة التقليدية، وحتى أدوات التحقق المدعومة بالذكاء الاصطناعي، التمييز بين المستخدمين الحقيقيين والمحتالين. إن إمكانية إنشاء هويات اصطناعية أو التلاعب بالبيانات البيومترية لتجاوز عمليات التحقق تشكل تهديدًا خطيرًا، خاصة للمؤسسات المالية وأي خدمة تتطلب عمليات اعرف عميلك (KYC) قوية. يؤكد هذا المشهد المتصاعد للتهديدات على الحاجة الملحة لآليات هوية وتحقق عبر الإنترنت أكثر أمانًا وقابلة للتحقق بالتشفير.
لفهم كيفية عمل بيانات الاعتماد الرقمية، يجب النظر إلى اللاعبين الرئيسيين المعنيين والطبقات التكنولوجية المختلفة التي تتيح وظائفها.
في جوهره، يدور مفهوم بيانات الاعتماد الرقمية، خاصة في سياق واجهات برمجة تطبيقات الويب الجديدة، حول نموذج من ثلاثة أطراف:
هذا النموذج الثلاثي مهم لأنه يهدف إلى وضع المستخدم (الحامل) في موقع السيطرة على بياناته الخاصة. على عكس أنظمة الهوية التقليدية حيث قد يتم تخزين البيانات مركزيًا أو مشاركتها بين الأطراف دون وساطة مباشرة من المستخدم، يؤكد هذا النموذج على موافقة المستخدم والإفصاح الانتقائي. يقرر الحامل أي أجزاء من المعلومات سيشاركها من بيان اعتماد لمعاملة معينة، بدلاً من الكشف عن بيان الاعتماد بأكمله.
أحد الجوانب الأساسية لهذه الأنظمة هو استخدام أزواج المفاتيح المشفرة. يقوم issuer بالتوقيع الرقمي على بيان الاعتماد، مما يضمن أصالته وسلامته. بدوره، يستخدم الحامل مفتاحه الخاص، الذي غالبًا ما يكون مؤمنًا داخل wallet الرقمي الخاص به (والمحمي بواسطة عتاد الجهاز)، لإثبات السيطرة على بيان الاعتماد وتفويض تقديمه إلى المُحقق. يتضمن هذا عادةً قيام المُحقق بتقديم تحدٍ (قطعة عشوائية من البيانات) يقوم wallet الخاص بالحامل بتوقيعه باستخدام المفتاح الخاص المرتبط ببيان الاعتماد. يمكن للمُحقق بعد ذلك استخدام المفتاح العام المقابل لتأكيد التوقيع، وبالتالي المصادقة على التقديم.
هذا الشرح محايد من حيث البروتوكول، حيث أن المبادئ الأساسية للإصدار والحيازة والتحقق من خلال التحديات المشفرة شائعة عبر التقنيات الأساسية المختلفة.
يركز هذا المقال على التحقق من بيانات الاعتماد الرقمية ومبدأ الإفصاح الانتقائي، مما يمكّن المستخدمين من إثبات سمات محددة (على سبيل المثال، "عمري فوق 18 عامًا"، "أمتلك رخصة قيادة سارية") دون الكشف عن المستند المصدر بأكمله. في حين أن الأنظمة الأساسية لبيانات الاعتماد الرقمية قد تدعم ميزات مثل التوقيعات الإلكترونية المؤهلة (QES) وقدرات التوقيع عن بعد (كما نرى في الحلول الشاملة مثل محفظة الهوية الرقمية للاتحاد الأوروبي للتوقيعات الملزمة قانونًا)، فإن التركيز هنا، خاصة بالنسبة لواجهة برمجة تطبيقات بيانات الاعتماد الرقمية، ينصب على تأكيد (assertion) الهوية والتحقق من السمات للتفاعلات عبر الإنترنت، وليس بشكل أساسي على وظائف التوقيع الأوسع هذه.
لفهم كيفية عمل بيانات الاعتماد الرقمية، من المفيد تصور نموذج متعدد الطبقات. تعالج كل طبقة جانبًا مختلفًا من النظام البيئي، من تنسيق البيانات نفسه إلى كيفية تقديمه للمستخدم في متصفح الويب. يركز هذا المقال بشكل أساسي على واجهة برمجة تطبيقات بيانات الاعتماد الرقمية، التي تعمل في طبقة التقديم.
المصطلحات الأساسية:
فكر في VCs كنموذج بيانات، و VC API كمواصفات للأنظمة الخلفية، و DC API كتطبيق للواجهة الأمامية يقدم بيانات الاعتماد إلى الويب. كل شيء فوق الطبقة الأولى (طبقة نموذج البيانات) لا يعتمد على التنسيق؛ وكل شيء أدناه يعتمد على تنسيق بيان الاعتماد.
التدفق من البداية إلى النهاية (مثال: التحقق من العمر عبر الإنترنت):
navigator.credentials.get()
عبر DC API - موقع الويب → المتصفح): يطلب موقع متجر المشروبات: "أرني دليلاً على أن عمر المستخدم ≥ 18".لاحظ كيف أن البيانات هي VC، والنقل على الويب هو DC API، وبروتوكول التبادل الأساسي هو OpenID4VP، والتحقق من جانب الخادم يستخدم VC API.
لماذا يوجد هذا التقسيم:
النقاط الرئيسية:
بعد استكشاف المشاركين والبنية الطبقية الشاملة لبيانات الاعتماد الرقمية، سيتعمق هذا المقال الآن في طبقة التقديم، مع التركيز بشكل خاص على واجهة برمجة تطبيقات بيانات الاعتماد الرقمية وحالتها الحالية.
بصفتها المكون الحاسم في طبقة التقديم، فإن واجهة برمجة تطبيقات بيانات الاعتماد الرقمية هي معيار ويب يتم تطويره حاليًا لتوفير طريقة آمنة وموحدة لمواقع الويب لطلب واستلام معلومات الهوية الرقمية من wallets المستخدمين الرقمية. يتم هذا الجهد بشكل أساسي داخل مجموعة عمل الهوية الموحدة (FedID WG) التابعة لـ W3C، بعد أن انتقلت من مجموعة مجتمع FedID في أبريل 2025. يمكن العثور على مسودة المواصفات الرسمية هنا: https://w3c-fedid.github.io/digital-credentials/.
اعتبارًا من عام 2025، لا تزال واجهة برمجة التطبيقات توصف بأنها تخضع لتغييرات كبيرة. وهذا يسلط الضوء على مرحلة تطويرها النشطة. على الرغم من ذلك، فإن إمكاناتها كبيرة. كان Chrome أول من أطلق شيئًا عامًا، من خلال تجربة Origin Trial الخاصة به، مما سمح للمطورين بتجربة قدراته. يدعم Chrome أيضًا هذا أصليًا على Android من خلال نظام Credential Manager الخاص به، وقد نشر مؤخرًا أيضًا دعمًا لاستخدام واجهة برمجة تطبيقات بيانات الاعتماد الرقمية عبر الأجهزة على سطح المكتب.
توسع واجهة برمجة التطبيقات واجهة برمجة تطبيقات إدارة بيانات الاعتماد الحالية من خلال تمكين طلبات بيانات الاعتماد الرقمية عبر navigator.credentials.get()
. وفقًا لمشروع شرح بيانات الاعتماد الرقمية لمجموعة W3C FedID WG (https://github.com/w3c-fedid/digital-credentials/blob/main/explainer.md)، عادت واجهة برمجة التطبيقات إلى استخدام هذه الواجهة الراسخة بدلاً من navigator.identity
المقترحة سابقًا. يطلب موقع الويب بيان اعتماد رقمي عن طريق استدعاء navigator.credentials.get()
بمعلمات محددة لبيانات الاعتماد الرقمية.
إليك مثال توضيحي لكيفية استدعاء موقع ويب لواجهة برمجة التطبيقات لطلب بيان اعتماد باستخدام OpenID4VP:
async function requestCredential() { // Check for Digital Credentials API support if (typeof window.DigitalCredential !== "undefined") { try { // These parameters are typically fetched from the backend. // Statically defined here for protocol extensibility illustration purposes. const oid4vp = { protocol: "oid4vp", // An example of an OpenID4VP request to wallets. // Based on https://github.com/openid/OpenID4VP/issues/125 data: { nonce: "n-0S6_WzA2Mj", presentation_definition: { //Presentation Exchange request, omitted for brevity }, }, }; // create an Abort Controller const controller = new AbortController(); // Call the Digital Credentials API using the presentation request from the backend let dcResponse = await navigator.credentials.get({ signal: controller.signal, mediation: "required", digital: { requests: [oid4vp], }, }); // Send the encrypted response to the backend for decryption and verification // Ommitted for brevity } catch (error) { console.error("Error:", error); } } else { // fallback scenario, illustrative only alert("The Digital Credentials API is not supported in this browser."); } }
هذا المثال مأخوذ من هنا.
تعمل واجهة برمجة تطبيقات بيانات الاعتماد الرقمية بشكل أساسي كغلاف آمن أو وسيط. فهي تسمح للمتصفح بالتوسط في طلب معلومات الهوية، مستفيدة من قدرات نظام التشغيل الأساسي لاكتشاف wallets وبيانات الاعتماد المتاحة التي تتطابق مع الطلب. يمكن للمتصفح ونظام التشغيل بعد ذلك تقديم واجهة مستخدم متسقة لاختيار بيان الاعتماد والتفويض بإصداره، مما يعزز الأمان والخصوصية من خلال ضمان موافقة المستخدم ومنع مواقع الويب من الوصول بصمت إلى البيانات الحساسة. من المفترض أن تكون بيانات الاعتماد الفعلية في الاستجابة مبهمة (مشفرة) للمتصفح نفسه، مع معالجة فك التشفير والتفسير من قبل الطرف المعتمد (relying party) و wallet/الحامل.
تم تصميم واجهة برمجة تطبيقات بيانات الاعتماد الرقمية لتكون محايدة من حيث البروتوكول، مما يعني أنها يمكن أن تدعم بروتوكولات أساسية مختلفة لتبادل بيانات الاعتماد. ومع ذلك، هناك عائلتان رئيسيتان من البروتوكولات محوريتان في التطبيقات والمناقشات الحالية: org.iso.mdoc (المشتق من ISO 18013-5 وامتداده ISO 18013-7 "الملحق C") ومواصفات مؤسسة OpenID لـ OpenID for Verifiable Presentations (OpenID4VP) و OpenID for Verifiable Credential Issuance (OpenID4VCI).
الأصل والتوحيد القياسي: يشير org.iso.mdoc إلى تنسيق البيانات ونموذج التفاعل للمستندات المحمولة، وبشكل أساسي رخص القيادة المحمولة (mDLs)، التي تم توحيدها من قبل المنظمة الدولية للتوحيد القياسي (ISO) واللجنة الكهروتقنية الدولية (IEC). المعيار الأساسي هو ISO/IEC 18013-5، الذي يحدد تطبيق mDL وهيكل البيانات والبروتوكولات للتقديم الشخصي (عن قرب) باستخدام تقنيات مثل NFC أو Bluetooth أو رموز QR. يوسع ISO/IEC 18013-7 هذا لتمكين التقديم عبر الإنترنت/عن بعد لـ mDLs. تم تعريف سلسلة البروتوكول "org.iso.mdoc" على وجه التحديد في ISO/IEC TS 18013-7 (الملحق C) للاستخدام مع واجهات برمجة التطبيقات مثل واجهة برمجة تطبيقات بيانات الاعتماد الرقمية.
نموذج البيانات: تتمتع mdocs بهيكل بيانات محدد بدقة يعتمد على CBOR (تمثيل الكائنات الثنائية المختصر) للاكتناز والكفاءة. يحدد مساحات الأسماء وعناصر البيانات لسمات رخصة القيادة الشائعة ويدعم ميزات الأمان المشفرة القوية، بما في ذلك مصادقة issuer، وربط الجهاز، ومصادقة الحامل (عبر الصورة الشخصية)، وتشفير الجلسة، والإفصاح الانتقائي.
حالات الاستخدام النموذجية: بشكل أساسي وثائق الهوية الصادرة عن الحكومة مثل رخص القيادة وبطاقات الهوية الوطنية. وهي مصممة لسيناريوهات عالية الضمان، سواء شخصيًا (مثل نقاط التفتيش المرورية، والتحقق من العمر للسلع المقيدة) أو عبر الإنترنت (مثل الوصول إلى خدمات الحكومة، والتحقق من الهوية عن بعد لفتح حساب مصرفي).
الميزة | org.iso.mdoc (ISO 18013-5/7) | OpenID4VP / OpenID4VCI |
---|---|---|
الهيئة المنظمة للمعايير | ISO/IEC | مؤسسة OpenID |
التركيز الأساسي | رخص القيادة المحمولة (mDLs) والهويات الرسمية | تبادل بيانات الاعتماد القابلة للتحقق بشكل عام (أي نوع) |
تنسيق البيانات | يعتمد على CBOR، عناصر بيانات محددة بدقة | محايد؛ يشيع استخدام W3C VCs (JSON/JWT)، mdocs، SD-JWTs |
النقل | محدد للقرب (NFC، BLE، QR) وعبر الإنترنت (18013-7) | يعتمد بشكل أساسي على OAuth 2.0 عبر الإنترنت؛ يمكن بدؤه عبر QR، روابط عميقة |
الإفصاح الانتقائي | مدمج عبر مطالبات مجزأة ومملحة | عبر لغات استعلام مثل Presentation Exchange أو DCQL |
النضج | ISO 18013-5: معيار منشور. ISO 18013-7: مواصفة فنية منشورة. سلسلة ISO 23220 (mDocs عامة): قيد التطوير | OpenID4VP: مسودة متقدمة (مثل المسودة 28، أبريل 2025). OpenID4VCI: مسودة متقدمة |
Issuers النموذجيون | الوكالات الحكومية (إدارات المرور، إلخ) | الحكومات، المؤسسات التعليمية، أصحاب العمل، أي كيان |
تكلفة المعيار | مدفوع | مجاني / مفتوح |
من المهم أن ندرك أن هذه ليست دائمًا حصرية بشكل متبادل. يمكن استخدام OpenID4VP، على سبيل المثال، لطلب ونقل [org.iso.mdoc]. غالبًا ما يعتمد الاختيار على حالة الاستخدام المحددة، ونوع بيان الاعتماد، والمشاركين في النظام البيئي.
محفظة الهوية الرقمية للاتحاد الأوروبي (EUDI) هي مبادرة رئيسية تهدف إلى تزويد جميع مواطني الاتحاد الأوروبي والمقيمين فيه بـ wallet رقمي آمن لوثائق الهوية وشهادات (attestations). تخطط بنية محفظة EUDI وإطارها المرجعي بشكل صريح لدعم كل من mdoc (خاصة لرخص القيادة المحمولة) وبيانات اعتماد W3C القابلة للتحقق، باستخدام OpenID4VP و OpenID4VCI لتدفقات التقديم والإصدار. يتضمن التنفيذ المرجعي دعمًا لـ OpenID4VP لنقل mDocs و OpenID4VCI لإصدار PIDs و mDLs بتنسيقات mDoc و SD-JWT-VC. يؤكد هذا الدعم المزدوج من قبل مشروع واسع النطاق على أهمية كلتا عائلتي البروتوكولات. ومع ذلك، لا يخلو هذا الاتجاه من النقد، حيث يلاحظ بعض المراقبين أن واجهة برمجة تطبيقات بيانات الاعتماد الرقمية، المتأثرة بشدة بشركات "التكنولوجيا الكبرى الأمريكية"، قد تصبح مدمجة بعمق في مواصفات محفظة EUDI النهائية. أثيرت مخاوف بشأن التأثير المحتمل للكيانات غير الأوروبية على جزء حاسم من البنية التحتية للاتحاد الأوروبي، كما نوقش في منتديات المجتمع مثل هذه المناقشة على GitHub.
لا يزال مشهد المتصفحات لواجهة برمجة تطبيقات بيانات الاعتماد الرقمية في طور التكوين، مع وجود اختلافات ملحوظة في النهج ومستويات الدعم.
كان Google Chrome، خاصة على Android، من أوائل المتبنين والمنفذين لواجهة برمجة تطبيقات بيانات الاعتماد الرقمية. لقد أجروا تجارب Origin Trials ودمجوها مع Credential Manager الأصلي في Android. يعتمد تطبيق Chrome بشكل أساسي على OpenID4VP كبروتوكول لطلب بيانات الاعتماد عبر استدعاء واجهة برمجة التطبيقات navigator.credentials.get()
. في حين أن OpenID4VP نفسه محايد من حيث التنسيق ويمكنه حمل org.iso.mdoc أو بيانات اعتماد W3C القابلة للتحقق كحمولات، يبدو أن التركيز العملي من Google ينصب على تدفق OpenID4VP كآلية نقل. يدعم Credential Manager في Android أيضًا أصليًا OpenID4VP للتقديم و OpenID4VCI للإصدار. يسمح هذا لتطبيقات Android بالعمل كحاملي بيانات اعتماد ومحققين باستخدام هذه المعايير.
في الإصدارات السابقة من هذا المقال، توقعنا أن يختلف نهج Apple عن نهج Google من خلال التركيز على بروتوكول org.iso.mdoc
. للسياق التاريخي، كان منطقنا على النحو التالي:
أشارت الأدلة من متتبعات الأخطاء في WebKit ومساهمات المعايير إلى أن Safari سيختار التركيز على دعم org.iso.mdoc
مباشرة، بدلاً من إعطاء الأولوية لـ OpenID4VP كطبقة نقل لجميع أنواع بيانات الاعتماد. كان هذا مدفوعًا على الأرجح بالتحفظات الفنية حول تعقيد OpenID4VP في سياق المتصفح واستثمار Apple العميق في تشكيل معايير ISO mdoc لتتماشى مع نموذج الأمان لمنصتها.
وكما توقعنا بشكل صحيح، أكد مؤتمر WWDC25 هذه الاستراتيجية. في المؤتمر، أعلنت Apple رسميًا عن دعم واجهة برمجة التطبيقات في Safari 26 (الذي سيصدر مع iOS 26 وتحديثات أنظمة التشغيل الأخرى في خريف 2025)، مؤكدة أن تطبيقها يدعم حصريًا بروتوكول org.iso.mdoc
للتقديم.
تم تفصيل ذلك في جلسة WWDC25 التحقق من وثائق الهوية على الويب. تسمح واجهة برمجة التطبيقات لمواقع الويب بطلب معلومات يمكن التحقق منها من وثائق الهوية، مثل رخصة القيادة، المخزنة في Apple Wallet أو في تطبيقات مزودي المستندات التابعة لجهات خارجية.
النقاط الرئيسية من تطبيق Apple:
"org-iso-mdoc"
، استنادًا إلى معيار ISO/IEC 18013-7 الملحق C. لا يوجد دعم لـ OpenID4VP في تطبيق Safari لواجهة برمجة تطبيقات بيانات الاعتماد الرقمية.IdentityDocumentServices
الجديد وملحق تطبيق.قدمت Apple مثالًا واضحًا للكود لكيفية استخدام الطرف المعتمد لواجهة برمجة التطبيقات:
async function verifyIdentity() { try { // Server generates and cryptographically signs the request data. const response = await fetch("drivers/license/data"); const data = await response.json(); // The request specifies the 'org-iso-mdoc' protocol. const request = { protocol: "org-iso-mdoc", // data contains the cryptographically signed mdoc request. data, }; // The API must be called from within a user gesture. const credential = await navigator.credentials.get({ mediation: "required", digital: { requests: [request], }, }); // Send the encrypted response from the wallet to the server for decryption and validation. const verificationResponse = await fetch("/decrypt", { method: "POST", body: JSON.stringify(credential.data), headers: { "Content-Type": "application/json", }, }); // Display the verified details... const json = await verificationResponse.json(); presentDetails(json); } catch (err) { // Handle errors, e.g., user cancellation. } }
يؤكد هذا التأكيد على الاستراتيجيات المتباينة في سوق المتصفحات. بينما يبني Chrome على طبقة نقل OpenID4VP المرنة، تستفيد Apple من استثمارها العميق في نظام ISO mdoc البيئي لتوفير حل متكامل وآمن للغاية، وإن كان أقل مرونة، ومصمم خصيصًا لوثائق الهوية الرسمية.
أعربت Mozilla رسميًا عن "موقف سلبي" بشأن اقتراح واجهة برمجة تطبيقات بيانات الاعتماد الرقمية بصيغته الحالية. مخاوفهم شاملة ومتجذرة في مهمتهم لحماية خصوصية المستخدم، ووكالته، وضمان ويب مفتوح ومنصف.
تشمل المخاوف الرئيسية التي أثارتها Mozilla:
تعترف Mozilla بأن مثل هذه الواجهة يمكن أن توفر فائدة على الأساليب المخصصة الحالية لتقديم بيانات الاعتماد ولكنها تؤكد على أن ميزات منصة الويب الجديدة يجب أن تجعل الويب أفضل بشكل واضح بشكل عام وتعطي الأولوية لمصالح المستخدمين. بينما ألغى مجلس W3C اعتراضًا رسميًا يتعلق بهذه المخاوف (للسماح للمشروع بالاستمرار داخل W3C بدلاً من أماكن قد تكون أقل شفافية)، أوصى المجلس بأن تعمل مجموعة العمل بنشاط للتخفيف من هذه الأضرار المحتملة.
الجدول 1: دعم المتصفحات لواجهة برمجة تطبيقات بيانات الاعتماد الرقمية والبروتوكولات
الميزة / المتصفح | Google Chrome (على Android وسطح المكتب) | Apple Safari (على iOS و macOS) | Mozilla Firefox |
---|---|---|---|
واجهة برمجة تطبيقات بيانات الاعتماد الرقمية (navigator.credentials.get()) | ✅ مدعوم (تجربة Origin Trial / قيد التطوير). سيتم إطلاقه في Chrome 141. | ✅ نعم (مدعوم في Safari 26 Beta) | ❌ موقف سلبي |
دعم org.iso.mdoc (عبر API) | ✅ نعم (كتنسيق حمولة، عادة عبر OpenID4VP) | ✅ نعم (البروتوكول الحصري المدعوم) | ❌ غير متاح بسبب الموقف السلبي من API |
دعم OpenID4VP (عبر API) | ✅ نعم (البروتوكول الأساسي للتفاعل مع API) | ❌ سلبي | ❌ غير متاح بسبب الموقف السلبي من API |
OpenID4VCI (الإصدار عبر Web API) | ✅ نعم (مدعوم من قبل Android Credential Manager) | ❌ غير محتمل عبر API المتصفح (فقط تطبيق أصلي) | ❌ غير متاح بسبب الموقف السلبي من API |
التركيز الأساسي للتطوير | OpenID4VP كوسيلة نقل؛ mdoc و W3C VCs كحمولات | تنسيق org.iso.mdoc وتفاعلات البروتوكول المباشرة | معالجة المخاوف الأساسية قبل دعم API |
بالنسبة للمؤسسات (الأطراف المعتمدة أو RPs) التي تعتزم طلب والتحقق من بيانات الاعتماد الرقمية من المستخدمين، يتطلب المشهد الحالي تخطيطًا استراتيجيًا دقيقًا.
نظرًا لأن Safari، بحصته السوقية الكبيرة، من المرجح أن يعطي الأولوية لتفاعلات org.iso.mdoc المباشرة من خلال واجهة برمجة تطبيقات بيانات الاعتماد الرقمية، وأن Chrome/Android يركزان على OpenID4VP (الذي يمكن أن يحمل mdocs أو تنسيقات بيانات اعتماد قابلة للتحقق أخرى)، يجب على RPs التي تهدف إلى أوسع وصول ممكن الاستعداد لدعم التفاعلات القائمة على كلا النهجين.
وهذا يعني تصميم أنظمة يمكنها:
navigator.credentials.get()
، مع إمكانية تحديد معلمات بروتوكول مختلفة ("org.iso.mdoc" أو "openid4vp") بناءً على اكتشاف المتصفح أو قدرات وكيل المستخدم (user agent).في حين أن هذا يضيف تعقيدًا، فإن محاولة إجبار جميع المستخدمين على مسار بروتوكول واحد من المرجح أن تستبعد جزءًا كبيرًا من قاعدة المستخدمين، إما أولئك الذين يستخدمون iOS أو أولئك الذين يستخدمون Android/Chrome، اعتمادًا على المسار المختار. النهج العملي، وإن كان أكثر كثافة من حيث التطوير، هو بناء المرونة للتعامل مع كليهما.
يجب أن تكون الأطراف المعتمدة على دراية تامة بأنه حتى عند طلب نفس الجزء المنطقي من المعلومات (على سبيل المثال، "هل عمر المستخدم فوق 21 عامًا؟")، فإن كيفية تعريف ذلك في طلب وكيفية إعادته في استجابة يمكن أن تختلف اختلافًا كبيرًا بين استعلام mdoc مباشر واستعلام OpenID4VP (والذي قد يستخدم Presentation Exchange أو DCQL).
presentation_definition
للطلب. يسمح هذا لـ RPs بتحديد أنواع بيانات الاعتماد والمطالبات الفردية التي يحتاجونها. يقوم wallet بعد ذلك بإنشاء عرض تقديمي قابل للتحقق يحتوي فقط على المعلومات المطلوبة، إذا كان مدعومًا من قبل تنسيق بيان الاعتماد و wallet.تحتاج RPs إلى ربط متطلبات بياناتها المحددة بهذه الهياكل البروتوكولية المختلفة. من الأهمية بمكان فهم الفروق الدقيقة في كيفية تنفيذ وطلب الإفصاح الانتقائي في كل بروتوكول لضمان طلب ومعالجة الحد الأدنى من البيانات الضرورية فقط، وبالتالي الالتزام بأفضل ممارسات الخصوصية ومبادئ تقليل البيانات. قد يختلف أيضًا تنسيق وهيكل البيانات المفصح عنها التي يعيدها wallet، مما يتطلب منطق تحليل وتحقق متميز على الواجهة الخلفية لـ RP.
بالنسبة للكيانات التي تتطلع إلى إصدار بيانات اعتماد رقمية وتوفير تطبيقات wallet للحاملين، تلعب بيئة نظام التشغيل دورًا حاسمًا.
يواجه مصدرو wallet (issuers) بيئات مختلفة تمامًا على iOS و Android فيما يتعلق بإنشاء wallet، والتكامل مع النظام، والتفاعل مع واجهة برمجة تطبيقات بيانات الاعتماد الرقمية.
نهج "الحديقة المسورة" لشركة Apple راسخ، وتطبيقهم لبيانات الاعتماد الرقمية ليس استثناءً. ومع ذلك، أوضح مؤتمر WWDC25 مسار مشاركة الجهات الخارجية.
بينما يعد Apple Wallet هو المزود الأساسي المدمج لبيانات الاعتماد مثل mDLs الحكومية، قدمت Apple إطار عمل IdentityDocumentServices
للتطبيقات الأصلية على iOS. يسمح هذا للمطورين من جهات خارجية ببناء تطبيقات يمكنها توفير وتقديم وثائق الهوية الخاصة بها.
للمشاركة في تدفق الويب، يجب على تطبيق أصلي (native app):
IdentityDocumentProviderRegistrationStore
لتسجيل mdocs التي يديرها التطبيق مع نظام التشغيل. يتضمن هذا التسجيل نوع المستند وسلطات التصديق الموثوقة لتوقيع الطلبات.هذا يعني أنه في حين أن إنشاء wallet متكامل تمامًا على iOS يتطلب بناء تطبيق أصلي واستخدام أطر عمل Apple المحددة - وليس تقنيات الويب مثل PWAs - إلا أن هناك آلية واضحة، وإن كانت محكومة بإحكام، للتطبيقات التابعة لجهات خارجية للعمل كمزودي مستندات إلى جانب Apple Wallet. يؤكد هذا أن التفاعل مع واجهة برمجة تطبيقات بيانات الاعتماد الرقمية في Safari تتم إدارته بواسطة نظام التشغيل، الذي يرسل بعد ذلك الطلبات إلى Apple Wallet أو أي تطبيق مزود مستندات آخر مسجل ومعتمد.
تمثل واجهة برمجة تطبيقات بيانات الاعتماد الرقمية تقدمًا كبيرًا في مجال الهوية الرقمية، حيث تقدم نهجًا أكثر أمانًا وتمركزًا حول المستخدم ويحافظ على الخصوصية للتحقق من الهوية وتقديم بيانات الاعتماد. مع تطور النظام البيئي، من الأهمية بمكان لكل من الأطراف المعتمدة ومصدري wallet التكيف وتبني إمكانات هذه التكنولوجيا الجديدة. سنبقي هذا المقال محدثًا مع تغير المشهد.
ومع ذلك، لا تزال هناك تحديات. يعد تحقيق التشغيل البيني العالمي الحقيقي بين تنسيقات بيانات الاعتماد والبروتوكولات وتطبيقات wallet المختلفة مهمة كبيرة. إن معالجة المخاوف المشروعة التي أثارتها منظمات مثل Mozilla فيما يتعلق بالخصوصية والاستبعاد ووكالة المستخدم أمر بالغ الأهمية لضمان أن تخدم هذه التقنيات البشرية. يعني التجزؤ الحالي في دعم المتصفحات والتركيز على البروتوكولات أن على الأطراف المعتمدة ومصدري wallet التنقل في مشهد معقد في الوقت الحالي.
Enjoyed this read?
🤝 Join our Passkeys Community
Share passkeys implementation tips and get support to free the world from passwords.
🚀 Subscribe to Substack
Get the latest news, strategies, and insights about passkeys sent straight to your inbox.
Related Articles
Table of Contents