راهنمای توسعه دهنده Passkeys برای طرف های متکی

بیاموزید که چگونه می توانید کلیدهای عبور را در سرویس خود ادغام کنید.

آناتومی یک سیستم رمز عبور

یک سیستم رمز عبور از چند جزء تشکیل شده است:

  • طرف متکی : در زمینه رمز عبور، یک طرف متکی (به اختصار RP) صدور کلید عبور و احراز هویت را انجام می دهد. RP باید یک کلاینت - وب سایت یا برنامه ای که کلیدهای عبور ایجاد می کند یا با کلیدهای عبور احراز هویت می کند - و یک سرور برای ثبت، ذخیره و تأیید اعتبار تولید شده توسط کلیدهای عبور روی مشتری، راه اندازی کند. یک برنامه تلفن همراه کلید رمز باید با استفاده از مکانیسم ارتباطی ارائه شده از سیستم عامل مانند پیوندهای دارایی دیجیتال به دامنه سرور RP متصل شود.
  • Authenticator : یک دستگاه محاسباتی مانند تلفن همراه، تبلت، لپ تاپ یا رایانه رومیزی که می تواند کلیدهای عبور را با استفاده از ویژگی قفل صفحه ارائه شده توسط سیستم عامل ایجاد و تأیید کند.
  • مدیریت رمز عبور : نرم افزار نصب شده بر روی دستگاه(های) کاربر نهایی که کلیدهای عبور را سرویس، ذخیره و همگام می کند، مانند Google Password Manager .

جریان ثبت نام

از WebAuthn API در یک وب سایت یا کتابخانه Credential Manager در یک برنامه Android برای ایجاد و ثبت یک رمز عبور جدید استفاده کنید.

برای ایجاد یک رمز عبور جدید، چند مؤلفه کلیدی برای ارائه وجود دارد:

  • شناسه RP : شناسه طرف متکی را در قالب یک دامنه وب ارائه کنید.
  • اطلاعات کاربر : شناسه کاربر، نام کاربری و نام نمایشی.
  • اعتبار برای حذف : اطلاعات مربوط به کلیدهای عبور ذخیره شده قبلی برای جلوگیری از ثبت تکراری.
  • انواع رمز عبور : آیا از خود دستگاه ("تأیید کننده پلتفرم") به عنوان احراز هویت استفاده می شود، یا یک کلید امنیتی قابل جدا شدن ("تأیید کننده اعتبار بین پلت فرم / رومینگ"). علاوه بر این، تماس‌گیرندگان می‌توانند مشخص کنند که آیا اعتبارنامه قابل شناسایی باشد تا کاربر بتواند حسابی را برای ورود به سیستم انتخاب کند.

هنگامی که یک RP درخواست ایجاد یک رمز عبور را می دهد و کاربر آن را با باز کردن قفل صفحه تأیید می کند، یک رمز عبور جدید ایجاد می شود و یک اعتبار کلید عمومی بازگردانده می شود. آن را به سرور ارسال کنید و شناسه اعتبار و کلید عمومی را برای احراز هویت بعدی ذخیره کنید.

جریان ثبت نام

نحوه ایجاد و ثبت رمز عبور را با جزئیات بیاموزید:

جریان احراز هویت

از WebAuthn API در یک وب سایت یا کتابخانه Credential Manager در یک برنامه Android برای احراز هویت با یک رمز عبور ثبت شده استفاده کنید.

برای احراز هویت با یک رمز عبور، چند مؤلفه کلیدی وجود دارد که باید ارائه شوند:

  • شناسه RP : شناسه طرف متکی را در قالب یک دامنه وب ارائه کنید.
  • چالش : یک چالش ایجاد شده توسط سرور که از حملات مجدد جلوگیری می کند.

هنگامی که یک RP احراز هویت با یک رمز عبور درخواست می کند و کاربر آن را با باز کردن قفل صفحه تأیید می کند، یک اعتبار کلید عمومی برگردانده می شود. آن را به سرور ارسال کنید و امضا را با کلید عمومی ذخیره شده تأیید کنید.

جریان احراز هویت

نحوه احراز هویت با رمز عبور را با جزئیات بیاموزید:

ادغام سمت سرور

پس از ایجاد یک رمز عبور، سرور باید پارامترهای کلیدی مانند چالش، اطلاعات کاربر، شناسه‌های اعتبار برای حذف و غیره را ارائه کند. سپس اعتبار کلید عمومی ایجاد شده ارسال شده از مشتری را تأیید می کند و کلید عمومی را در پایگاه داده ذخیره می کند. برای احراز هویت با یک رمز عبور، سرور باید اعتبار را به دقت تأیید کند و امضا را تأیید کند تا کاربر اجازه ورود به سیستم را بدهد.

در راهنماهای سمت سرور ما بیشتر بیاموزید:

مکانیسم‌های احراز هویت (میراث) موجود

وقتی از کلیدهای عبور در سرویس موجود خود پشتیبانی می کنید، انتقال از مکانیسم احراز هویت قدیمی مانند رمزهای عبور به کلیدهای عبور در یک روز اتفاق نمی افتد. ما می دانیم که شما تمایل دارید که روش احراز هویت ضعیف را در اسرع وقت حذف کنید، اما ممکن است باعث سردرگمی کاربر شود یا برخی از کاربران را پشت سر بگذارد. توصیه می کنیم فعلاً روش احراز هویت موجود را حفظ کنید.

دلایل کمی وجود دارد:

  • کاربرانی در یک محیط ناسازگار با رمز عبور وجود دارند : پشتیبانی از Passkey به طور گسترده در چندین سیستم عامل و مرورگر گسترش می یابد، اما کسانی که از نسخه های قدیمی تر استفاده می کنند هنوز نمی توانند از کلیدهای عبور استفاده کنند.
  • اکوسیستم رمز عبور هنوز به بلوغ نرسیده است : اکوسیستم رمز عبور در حال تکامل است. جزئیات UX و سازگاری فنی بین محیط های مختلف می تواند بهبود یابد.
  • ممکن است کاربران هنوز برای زندگی با یک رمز عبور آماده نباشند : افرادی هستند که در مورد چیزهای جدید تردید دارند. همانطور که اکوسیستم کلید عبور بالغ می شود، آنها متوجه می شوند که کلیدهای عبور چگونه کار می کنند و چرا برای آنها مفید است.

مکانیسم احراز هویت موجود خود را دوباره بررسی کنید

در حالی که کلیدهای عبور احراز هویت شما را ساده تر و ایمن تر می کنند، حفظ مکانیسم های قدیمی مانند ترک یک سوراخ است. توصیه می کنیم مکانیسم های احراز هویت موجود خود را مجدداً بررسی کرده و بهبود بخشید.

رمزهای عبور

ایجاد رمزهای عبور قوی و مدیریت آنها برای هر وب سایت، وظایف چالش برانگیزی برای کاربران است. استفاده از یک مدیر رمز عبور تعبیه شده در سیستم یا یک مدیر مستقل به شدت توصیه می شود. با ایجاد یک تغییر کوچک در فرم ورود، وب سایت ها و برنامه ها می توانند تفاوت زیادی در امنیت و تجربه ورود به سیستم ایجاد کنند. بررسی کنید که چگونه می توانید آن تغییرات را ایجاد کنید:

احراز هویت دو مرحله ای

اگرچه استفاده از مدیر رمز عبور به کاربران در مدیریت رمز عبور کمک می کند، اما همه کاربران از آنها استفاده نمی کنند. درخواست یک اعتبار اضافی به نام رمز عبور یک بار مصرف (OTP) یک روش معمول برای محافظت از چنین کاربرانی است. OTP ها معمولاً از طریق ایمیل، پیامک یا یک برنامه احراز هویت مانند Google Authenticator ارائه می شوند. از آنجایی که OTP ها معمولاً متن کوتاهی هستند که به صورت پویا فقط برای یک بازه زمانی محدود تولید می شوند، احتمال هک کردن حساب را کاهش می دهند. این روش‌ها به اندازه یک رمز عبور قوی نیستند، اما بسیار بهتر از اینکه کاربران را تنها با یک رمز عبور نگه دارید.

اگر پیامک را به‌عنوان راهی برای ارائه OTP انتخاب می‌کنید، بهترین روش‌های زیر را برای ساده‌سازی تجربه کاربر برای ورود به OTP بررسی کنید.

فدراسیون هویت

فدراسیون هویت گزینه دیگری است که به کاربران اجازه می دهد به راحتی و ایمن وارد سیستم شوند. با فدراسیون هویت، وب سایت ها و برنامه ها می توانند به کاربران اجازه دهند با استفاده از هویت کاربر از یک ارائه دهنده هویت شخص ثالث وارد سیستم شوند. برای مثال، ورود به سیستم با Google تبدیل‌های بسیار خوبی را برای توسعه‌دهندگان ارائه می‌دهد و کاربران آن را آسان‌تر و ارجح به احراز هویت مبتنی بر رمز عبور می‌دانند. فدراسیون هویت مکمل کلیدهای عبور است. برای ثبت نام عالی است زیرا وب سایت یا برنامه می تواند اطلاعات اولیه نمایه کاربر را در یک مرحله به دست آورد، در حالی که کلیدهای عبور برای ساده سازی احراز هویت عالی هستند.

به خاطر داشته باشید، پس از حذف تدریجی کوکی‌های شخص ثالث توسط Chrome در سال 2024، برخی از سیستم‌های فدراسیون هویت ممکن است بسته به نحوه ساخت آنها تحت تأثیر قرار گیرند. برای کاهش تأثیر، یک API مرورگر جدید به نام Federated Credential Management API (به طور خلاصه FedCM) در حال توسعه است. اگر یک ارائه دهنده هویت دارید، جزئیات را بررسی کنید و ببینید آیا نیاز به پذیرش FedCM دارید یا خیر.

ورود به سیستم لینک جادویی یک روش احراز هویت است که در آن یک سرویس یک پیوند ورود به سیستم را از طریق ایمیل ارائه می دهد تا کاربر بتواند برای احراز هویت روی آن کلیک کند. در حالی که این به کاربران کمک می کند بدون به خاطر سپردن رمز عبور وارد سیستم شوند، جابجایی بین مرورگر/برنامه و سرویس گیرنده ایمیل مشکل ساز خواهد بود. همچنین، از آنجایی که مکانیسم احراز هویت به ایمیل متکی است، امنیت ضعیف ارائه‌دهنده ایمیل می‌تواند حساب‌های کاربر را در معرض خطر قرار دهد.

منابع یادگیری

وب

برای ادغام کلیدهای عبور در وب سایت خود، از Web Authentication API (WebAuthn) استفاده کنید. برای کسب اطلاعات بیشتر، منابع زیر را بررسی کنید:

اندروید

برای ادغام کلیدهای عبور در برنامه Android خود، از کتابخانه Credential Manager استفاده کنید. برای کسب اطلاعات بیشتر، منابع زیر را بررسی کنید:

UX

توصیه های تجربه کاربری رمز عبور را بیاموزید: