اعتبارنامههای دیجیتال، اسنادی هستند که به صورت رمزنگاریشده قابل تأیید میباشند و میتوانند برای احراز هویت، تأیید اعتبار یا ارائه اطلاعات در مورد کاربر استفاده شوند. این موارد معمولاً مواردی مانند گواهینامه رانندگی موبایل، گذرنامههای دیجیتال، کارتهای پرواز و غیره هستند. آنها در محفظههای مجازی به نام کیف پول دیجیتال قرار دارند و بخشی از استاندارد W3C هستند که نحوه دسترسی و بازیابی آنها را مشخص میکند. این استاندارد برای موارد استفاده وب با API مدیریت اعتبارنامه W3C و در اندروید با API اعتبارنامه دیجیتال مدیر اعتبارنامه پیادهسازی شده است.
آشنایی با اعتبارنامههای دیجیتال
در دنیای فیزیکی، یک فرد ممکن است هویت خود را در کیف پولش نگه دارد و در صورت درخواست، آن را به طرف درخواستکننده ارائه دهد:
در این حالت، کاربر معمولاً یک کیف پول واحد دارد و اعتبارنامه (های) درخواستی را از کیف پول بازیابی میکند تا به درخواستکننده ارائه دهد. کیف پولها عمدتاً قابل تعویض هستند و عموماً میتوانند موارد یکسانی را ذخیره کنند.
اعتبارنامههای دیجیتال چند تفاوت اصلی دارند:
- انتظار میرود کاربران چندین کیف پول - که به عنوان نگهدارنده نیز شناخته میشوند - داشته باشند که میتوانند شامل اعتبارنامههای مختلف باشند. کیف پولها تعیین میکنند که کدام اعتبارنامهها میتوانند در داخل آنها ذخیره شوند.
- درخواستکننده اکنون یک درخواست است و نه یک شخص حقیقی، و به عنوان تأییدکننده شناخته میشود.
- ارائه اعتبارنامه در نرمافزار اتفاق میافتد، به این معنی که یک سطح API اعتبارنامهها را بازیابی و ارائه میکند - در اندروید، این همان Credential Manager است.
به این ترتیب، Credential Manager چندین نقش را که قبلاً توسط کاربر انجام میشد، بر عهده میگیرد:
- در اندروید، کیف پولها باید ابردادههای اعتبارنامههای خود را در Credential Manager ثبت کنند تا در رابط کاربری Credential Manager فهرست شوند.
- مدیر اعتبارنامه، اعتبارنامهها را بر اساس درخواست در کیف پولهای مختلف تطبیق میدهد و فهرستی را برای انتخاب به کاربر ارائه میدهد.
- وقتی کاربر یک اعتبارنامه را در لیست انتخاب میکند، Credential Manager کیف پول را فراخوانی میکند که بقیه تراکنش (نمایش رابطهای کاربری و غیره) را انجام میدهد و اعتبارنامه را به برنامه برمیگرداند.
این جریان در اینجا نشان داده شده است:
تجربه کاربری
همانطور که در جریان اندروید نشان داده شده است، کاربر فقط باید یک بار با رابط کاربری مدیریت اعتبارنامه (Credential Manager UI) تعامل داشته باشد تا اعتبارنامه مناسب را انتخاب کند. در اینجا مثالی از نحوه نمایش انتخابگر (selector) آورده شده است:

استانداردها
درخواستهای اعتبارنامههای دیجیتال با استفاده از استاندارد OpenID4VP ایجاد میشوند. میتوانید نمونه درخواستها را در سایت Digital Credentials Demo مشاهده کنید.
پاسخهای مربوط به اعتبارنامههای دیجیتال معمولاً در قالب یک اعتبارنامه استاندارد برگردانده میشوند. این قالبها توسط نهادهای استاندارد مختلفی نگهداری میشوند و شامل W3C Verifiable Credentials ، sd-jwt و mdoc میشوند.
پروتکلهای سفارشی نیز امکانپذیر هستند، اگرچه توصیه میکنیم از یکی از پروتکلهای استاندارد در برنامه خود استفاده کنید.
امتحانش کن.
شما میتوانید جریان اعتبارنامههای دیجیتال را در پلتفرمهای مختلف با یک کیف پول اندروید و تأییدکننده مبتنی بر وب آزمایش کنید:
- نمونه عمومی CMWallet را روی گوشی اندروید خود نصب کنید. میتوانید این کار را با استخراج از مخزن و نصب مستقیم از اندروید استودیو یا رفتن به آدرس https://github.com/digitalcredentialsdev/CMWallet/actions و انتخاب آخرین نسخه برای دسترسی به آخرین فایل
app-debug.apkانجام دهید. - برای ثبت فرادادهها در Credential Manager، CMWallet را باز کنید. مطمئن شوید که بلوتوث فعال است تا دستگاههای شما بتوانند به یکدیگر متصل شوند.
- به آدرس https://digital-credentials.dev/ بروید و
Request Credentials (OpenID4VP)را انتخاب کنید. - پیامهای هشدار را بپذیرید و کد QR را با تلفن خود اسکن کنید، سپس «استفاده از رمز عبور» را انتخاب کنید و برای نمایش اعتبارنامههای موجود، روی تأیید ضربه بزنید.
- برای بازگشت به مرورگر، اعتبارنامهی CMWallet را انتخاب کنید. مرورگر باید اعتبارنامهی بازگردانده شده را نمایش دهد.
همچنین ببینید
- برای کسب اطلاعات بیشتر در مورد استفاده از Credential Manager برای درخواست اعتبارنامههای دیجیتال در برنامه خود، صفحه Credential Manager - Verifier API را مطالعه کنید.
- برای کسب اطلاعات بیشتر در مورد ساخت کیف پول دیجیتال با استفاده از Credential Manager، صفحه Credential Manager - Holder API را مطالعه کنید.