بیاموزید که چگونه می توانید کلیدهای عبور را در سرویس خود ادغام کنید.
آناتومی یک سیستم رمز عبور
یک سیستم رمز عبور از چند جزء تشکیل شده است:
- طرف متکی : در زمینه رمز عبور، یک طرف متکی (به اختصار RP) صدور کلید عبور و احراز هویت را انجام می دهد. RP باید یک کلاینت - وب سایت یا برنامه ای که کلیدهای عبور ایجاد می کند یا با کلیدهای عبور احراز هویت می کند - و یک سرور برای ثبت، ذخیره و تأیید اعتبار تولید شده توسط کلیدهای عبور روی مشتری، راه اندازی کند. یک برنامه تلفن همراه کلید رمز باید با استفاده از مکانیسم ارتباطی ارائه شده از سیستم عامل مانند پیوندهای دارایی دیجیتال به دامنه سرور RP متصل شود.
- Authenticator : یک دستگاه محاسباتی مانند تلفن همراه، تبلت، لپ تاپ یا رایانه رومیزی که می تواند کلیدهای عبور را با استفاده از ویژگی قفل صفحه ارائه شده توسط سیستم عامل ایجاد و تأیید کند.
- مدیریت رمز عبور : نرم افزار نصب شده بر روی دستگاه(های) کاربر نهایی که کلیدهای عبور را سرویس، ذخیره و همگام می کند، مانند Google Password Manager .
جریان ثبت نام
از WebAuthn API در یک وب سایت یا کتابخانه Credential Manager در یک برنامه Android برای ایجاد و ثبت یک رمز عبور جدید استفاده کنید.
برای ایجاد یک رمز عبور جدید، چند مؤلفه کلیدی برای ارائه وجود دارد:
- شناسه RP : شناسه طرف متکی را در قالب یک دامنه وب ارائه کنید.
- اطلاعات کاربر : شناسه کاربر، نام کاربری و نام نمایشی.
- اعتبار برای حذف : اطلاعات مربوط به کلیدهای عبور ذخیره شده قبلی برای جلوگیری از ثبت تکراری.
- انواع رمز عبور : آیا از خود دستگاه ("تأیید کننده پلتفرم") به عنوان احراز هویت استفاده می شود، یا یک کلید امنیتی قابل جدا شدن ("تأیید کننده اعتبار بین پلت فرم / رومینگ"). علاوه بر این، تماسگیرندگان میتوانند مشخص کنند که آیا اعتبارنامه قابل شناسایی باشد تا کاربر بتواند حسابی را برای ورود به سیستم انتخاب کند.
هنگامی که یک RP درخواست ایجاد یک رمز عبور را می دهد و کاربر آن را با باز کردن قفل صفحه تأیید می کند، یک رمز عبور جدید ایجاد می شود و یک اعتبار کلید عمومی بازگردانده می شود. آن را به سرور ارسال کنید و شناسه اعتبار و کلید عمومی را برای احراز هویت بعدی ذخیره کنید.
نحوه ایجاد و ثبت رمز عبور را با جزئیات بیاموزید:
- در وب : برای ورودهای بدون رمز عبور یک کلید عبور ایجاد کنید
- در Android : با استفاده از Credential Manager API احراز هویت یکپارچه را با کلیدهای عبور به برنامه های خود بیاورید
جریان احراز هویت
از WebAuthn API در یک وب سایت یا کتابخانه Credential Manager در یک برنامه Android برای احراز هویت با یک رمز عبور ثبت شده استفاده کنید.
برای احراز هویت با یک رمز عبور، چند مؤلفه کلیدی وجود دارد که باید ارائه شوند:
- شناسه RP : شناسه طرف متکی را در قالب یک دامنه وب ارائه کنید.
- چالش : یک چالش ایجاد شده توسط سرور که از حملات مجدد جلوگیری می کند.
هنگامی که یک RP احراز هویت با یک رمز عبور درخواست می کند و کاربر آن را با باز کردن قفل صفحه تأیید می کند، یک اعتبار کلید عمومی برگردانده می شود. آن را به سرور ارسال کنید و امضا را با کلید عمومی ذخیره شده تأیید کنید.
نحوه احراز هویت با رمز عبور را با جزئیات بیاموزید:
- در وب : با یک کلید عبور از طریق تکمیل خودکار فرم وارد شوید
- در Android : با استفاده از Credential Manager API احراز هویت یکپارچه را با کلیدهای عبور به برنامه های خود بیاورید
ادغام سمت سرور
پس از ایجاد یک رمز عبور، سرور باید پارامترهای کلیدی مانند چالش، اطلاعات کاربر، شناسههای اعتبار برای حذف و غیره را ارائه کند. سپس اعتبار کلید عمومی ایجاد شده ارسال شده از مشتری را تأیید می کند و کلید عمومی را در پایگاه داده ذخیره می کند. برای احراز هویت با یک رمز عبور، سرور باید اعتبار را به دقت تأیید کند و امضا را تأیید کند تا کاربر اجازه ورود به سیستم را بدهد.
در راهنماهای سمت سرور ما بیشتر بیاموزید:
مکانیسمهای احراز هویت (میراث) موجود
وقتی از کلیدهای عبور در سرویس موجود خود پشتیبانی می کنید، انتقال از مکانیسم احراز هویت قدیمی مانند رمزهای عبور به کلیدهای عبور در یک روز اتفاق نمی افتد. ما می دانیم که شما تمایل دارید که روش احراز هویت ضعیف را در اسرع وقت حذف کنید، اما ممکن است باعث سردرگمی کاربر شود یا برخی از کاربران را پشت سر بگذارد. توصیه می کنیم فعلاً روش احراز هویت موجود را حفظ کنید.
دلایل کمی وجود دارد:
- کاربرانی در یک محیط ناسازگار با رمز عبور وجود دارند : پشتیبانی از Passkey به طور گسترده در چندین سیستم عامل و مرورگر گسترش می یابد، اما کسانی که از نسخه های قدیمی تر استفاده می کنند هنوز نمی توانند از کلیدهای عبور استفاده کنند.
- اکوسیستم رمز عبور هنوز به بلوغ نرسیده است : اکوسیستم رمز عبور در حال تکامل است. جزئیات UX و سازگاری فنی بین محیط های مختلف می تواند بهبود یابد.
- ممکن است کاربران هنوز برای زندگی با یک رمز عبور آماده نباشند : افرادی هستند که در مورد چیزهای جدید تردید دارند. همانطور که اکوسیستم کلید عبور بالغ می شود، آنها متوجه می شوند که کلیدهای عبور چگونه کار می کنند و چرا برای آنها مفید است.
مکانیسم احراز هویت موجود خود را دوباره بررسی کنید
در حالی که کلیدهای عبور احراز هویت شما را ساده تر و ایمن تر می کنند، حفظ مکانیسم های قدیمی مانند ترک یک سوراخ است. توصیه می کنیم مکانیسم های احراز هویت موجود خود را مجدداً بررسی کرده و بهبود بخشید.
رمزهای عبور
ایجاد رمزهای عبور قوی و مدیریت آنها برای هر وب سایت، وظایف چالش برانگیزی برای کاربران است. استفاده از یک مدیر رمز عبور تعبیه شده در سیستم یا یک مدیر مستقل به شدت توصیه می شود. با ایجاد یک تغییر کوچک در فرم ورود، وب سایت ها و برنامه ها می توانند تفاوت زیادی در امنیت و تجربه ورود به سیستم ایجاد کنند. بررسی کنید که چگونه می توانید آن تغییرات را ایجاد کنید:
- بهترین شیوه های فرم ورود به سیستم (وب)
- بهترین شیوه های فرم ثبت نام (وب)
- با Credential Manager (اندروید) کاربر خود را وارد کنید
احراز هویت دو مرحله ای
اگرچه استفاده از مدیر رمز عبور به کاربران در مدیریت رمز عبور کمک می کند، اما همه کاربران از آنها استفاده نمی کنند. درخواست یک اعتبار اضافی به نام رمز عبور یک بار مصرف (OTP) یک روش معمول برای محافظت از چنین کاربرانی است. OTP ها معمولاً از طریق ایمیل، پیامک یا یک برنامه احراز هویت مانند Google Authenticator ارائه می شوند. از آنجایی که OTP ها معمولاً متن کوتاهی هستند که به صورت پویا فقط برای یک بازه زمانی محدود تولید می شوند، احتمال هک کردن حساب را کاهش می دهند. این روشها به اندازه یک رمز عبور قوی نیستند، اما بسیار بهتر از اینکه کاربران را تنها با یک رمز عبور نگه دارید.
اگر پیامک را بهعنوان راهی برای ارائه OTP انتخاب میکنید، بهترین روشهای زیر را برای سادهسازی تجربه کاربر برای ورود به OTP بررسی کنید.
فدراسیون هویت
فدراسیون هویت گزینه دیگری است که به کاربران اجازه می دهد به راحتی و ایمن وارد سیستم شوند. با فدراسیون هویت، وب سایت ها و برنامه ها می توانند به کاربران اجازه دهند با استفاده از هویت کاربر از یک ارائه دهنده هویت شخص ثالث وارد سیستم شوند. برای مثال، ورود به سیستم با Google تبدیلهای بسیار خوبی را برای توسعهدهندگان ارائه میدهد و کاربران آن را آسانتر و ارجح به احراز هویت مبتنی بر رمز عبور میدانند. فدراسیون هویت مکمل کلیدهای عبور است. برای ثبت نام عالی است زیرا وب سایت یا برنامه می تواند اطلاعات اولیه نمایه کاربر را در یک مرحله به دست آورد، در حالی که کلیدهای عبور برای ساده سازی احراز هویت عالی هستند.
به خاطر داشته باشید، پس از حذف تدریجی کوکیهای شخص ثالث توسط Chrome در سال 2024، برخی از سیستمهای فدراسیون هویت ممکن است بسته به نحوه ساخت آنها تحت تأثیر قرار گیرند. برای کاهش تأثیر، یک API مرورگر جدید به نام Federated Credential Management API (به طور خلاصه FedCM) در حال توسعه است. اگر یک ارائه دهنده هویت دارید، جزئیات را بررسی کنید و ببینید آیا نیاز به پذیرش FedCM دارید یا خیر.
- API مدیریت اعتبار فدرال (وب، FedCM)
- مروری بر ورود به سیستم با Google برای وب (وب، ورود به سیستم با Google)
- نمای کلی ورود با یک ضربه در اندروید (اندروید، ورود با یک ضربه)
"پیوندهای جادویی"
ورود به سیستم لینک جادویی یک روش احراز هویت است که در آن یک سرویس یک پیوند ورود به سیستم را از طریق ایمیل ارائه می دهد تا کاربر بتواند برای احراز هویت روی آن کلیک کند. در حالی که این به کاربران کمک می کند بدون به خاطر سپردن رمز عبور وارد سیستم شوند، جابجایی بین مرورگر/برنامه و سرویس گیرنده ایمیل مشکل ساز خواهد بود. همچنین، از آنجایی که مکانیسم احراز هویت به ایمیل متکی است، امنیت ضعیف ارائهدهنده ایمیل میتواند حسابهای کاربر را در معرض خطر قرار دهد.
منابع یادگیری
وب
برای ادغام کلیدهای عبور در وب سایت خود، از Web Authentication API (WebAuthn) استفاده کنید. برای کسب اطلاعات بیشتر، منابع زیر را بررسی کنید:
- ایجاد یک رمز عبور برای ورود بدون رمز عبور : مقاله ای که در مورد چگونگی اجازه دادن به کاربران برای ایجاد رمز عبور برای یک وب سایت بحث می کند.
- ورود به سیستم با کلید عبور از طریق تکمیل خودکار فرم : مقاله ای که در مورد نحوه طراحی ورود بدون رمز عبور با کلیدهای عبور و در نظر گرفتن کاربران رمز عبور موجود بحث می کند.
- پیادهسازی کلیدهای عبور با تکمیل خودکار فرم در یک برنامه وب : یک برنامه کد که به شما امکان میدهد یاد بگیرید چگونه کلیدهای عبور را با تکمیل خودکار فرم در یک برنامه وب پیادهسازی کنید تا یک ورود سادهتر و ایمنتر ایجاد کنید.
- نحوه پیادهسازی کلیدهای عبور با تکمیل خودکار فرم در یک برنامه وب : یک ویدیوی کارگاهی که روی لبه کد میرود کلیدهای عبور را با تکمیل خودکار فرم در یک برنامه وب پیادهسازی کنید تا کلیدهای عبور را با تکمیل خودکار فرم در یک برنامه وب پیادهسازی کنید تا ورود سادهتر و ایمنتری ایجاد کنید.
- اولین برنامه WebAuthn خود را بسازید : آزمایشگاه کدی که به شما امکان می دهد یاد بگیرید چگونه یک عملکرد ساده احراز هویت مجدد با یک رمز عبور در وب سایت خود ایجاد کنید.
اندروید
برای ادغام کلیدهای عبور در برنامه Android خود، از کتابخانه Credential Manager استفاده کنید. برای کسب اطلاعات بیشتر، منابع زیر را بررسی کنید:
- کاربر خود را با Credential Manager وارد کنید : مقاله ای که به نحوه ادغام Credential Manager در اندروید می پردازد. Credential Manager یک API Jetpack است که از چندین روش ورود به سیستم مانند نام کاربری و رمز عبور، کلیدهای عبور و راه حل های ورود به سیستم فدرال (مانند ورود با Google) در یک API واحد پشتیبانی می کند.
- آوردن احراز هویت یکپارچه به برنامههایتان با کلیدهای عبور با استفاده از Credential Manager API : مقالهای که درباره نحوه ادغام کلیدهای عبور از طریق Credential Manager در Android بحث میکند.
- نحوه ساده کردن سفرهای تأیید اعتبار با استفاده از Credential Manager API در برنامه Android خود را بیاموزید : با نحوه پیاده سازی Credential Manager API برای ارائه تأییدیه یکپارچه و ایمن در برنامه خود با استفاده از کلیدهای عبور یا رمز عبور آشنا شوید.
- Credentials Manager Sample App : کد نمونه ای که با کلیدهای عبور Credential Manager اجرا می شود.
- Credential Manager را با راه حل ارائه دهنده اعتبار خود ادغام کنید | توسعه دهندگان اندروید
UX
توصیه های تجربه کاربری رمز عبور را بیاموزید: