یک وب API برای فدراسیون حفظ حریم خصوصی.
FedCM چیست؟
FedCM (مدیریت اعتبارات فدرال) یک رویکرد حفظ حریم خصوصی برای خدمات هویتی فدرال (مانند "ورود به سیستم با...") است که به موجب آن کاربران می توانند بدون به اشتراک گذاشتن اطلاعات شخصی خود با سرویس هویت یا سایت وارد سایت ها شوند.
وضعیت پیاده سازی
- وضعیت پلتفرم کروم
- FedCM در کروم 108 ارسال شد.
- پیشنهاد FedCM برای بحث عمومی باز است.
- FedCM هنوز در سایر مرورگرها پشتیبانی نمی شود.
- موزیلا در حال پیاده سازی یک نمونه اولیه برای فایرفاکس است و اپل حمایت عمومی و علاقه خود را برای همکاری روی پیشنهاد FedCM اعلام کرده است .
در حرکت رو به جلو، قصد داریم تعدادی ویژگی جدید را بر اساس بازخوردی که از ارائه دهندگان هویت (IdP)، طرف های متکی (RP) و فروشندگان مرورگر دریافت کردیم، معرفی کنیم. در حالی که امیدواریم ارائه دهندگان هویت FedCM را اتخاذ کنند، لطفاً توجه داشته باشید که FedCM هنوز یک API در حال توسعه فعال است و تا سه ماهه چهارم سال 2023 تغییرات ناسازگاری پیش بینی می شود.
برای به حداقل رساندن چالشهای اعمال تغییرات ناسازگار به عقب، ما در حال حاضر دو توصیه برای ارائهدهندگان هویت داریم:
- در خبرنامه ما مشترک شوید که در آن بهروزرسانیها را با تکامل API ارسال خواهیم کرد.
- ما IdPها را تشویق میکنیم تا زمانی که API در حال بلوغ است، FedCM API را از طریق JavaScript SDK توزیع کنند و RPها را از میزبانی SDK خود منصرف کنند. این تضمین میکند که IdPها میتوانند با تکامل API تغییراتی ایجاد کنند، بدون اینکه از همه طرفهای متکی خود بخواهند که دوباره مستقر شوند.
چرا به FedCM نیاز داریم؟
در طول دهه گذشته، فدراسیون هویت از نظر قابلیت اعتماد، سهولت استفاده (به عنوان مثال، ورود به سیستم بدون رمز عبور) و امنیت (به عنوان مثال، مقاومت بهبود یافته) نقش اصلی را در بالا بردن سطح اعتبار در وب ایفا کرده است. به حملات فیشینگ و پر کردن اعتبار) در مقایسه با نام کاربری و رمز عبور هر سایت.
با فدراسیون هویت، یک RP (طرف متکی) به یک IdP (ارائهدهنده هویت) برای ارائه یک حساب کاربری بدون نیاز به نام کاربری و رمز عبور جدید متکی است.
متأسفانه، مکانیسمهایی که فدراسیون هویت بر آنها تکیه کرده است (iframe، تغییر مسیرها و کوکیها) به طور فعال برای ردیابی کاربران در سراسر وب مورد سوء استفاده قرار میگیرد. از آنجایی که عامل کاربر نمی تواند بین فدراسیون هویت و ردیابی تمایز قائل شود، اقدامات کاهشی برای انواع مختلف سوء استفاده، استقرار فدراسیون هویت را دشوارتر می کند.
API مدیریت اعتبار فدرال (FedCM) با نمایش یک گفتگوی میانجی مرورگر که به کاربران اجازه میدهد حسابهایی را از IdPها برای ورود به وبسایتها انتخاب کنند، یک انتزاع خاص مورد استفاده را برای جریانهای هویت فدرال در وب فراهم میکند.
FedCM یک سفر چند مرحلهای برای بهتر کردن هویت در وب است و در اولین گام آن بر کاهش تأثیر حذف تدریجی کوکیهای شخص ثالث بر هویت فدرال متمرکز شدهایم (برای دیدن چند مرحله بیشتر به بخش نقشه راه مراجعه کنید) .
انتظار داریم چه چیزی تحت تاثیر قرار گیرد؟
از طریق تلاش های جامعه و تحقیقات ما، متوجه شدیم که چند ادغام مرتبط با فدراسیون هویت وجود دارد که تحت تأثیر حذف تدریجی کوکی های شخص ثالث قرار دارند:
- OpenID Connect Front-Channel Logout
- مدیریت جلسه OpenID Connect
- تمدید توکن پس زمینه مبتنی بر Iframe
- ویجت های لاگین مبتنی بر Iframe
اولین هدف FedCM کاهش تأثیر حذف تدریجی کوکی های شخص ثالث بر فدراسیون هویت است و در بالا لیستی از مناطقی است که انتظار داریم تحت تأثیر قرار گیرند. اگر موارد استفاده دیگری وجود دارد که ما فهرست نکردهایم، شما را تشویق میکنیم که درگیر شوید و بازخورد خود را به اشتراک بگذارید .
چه کسی باید از FedCM استفاده کند؟
ما انتظار داریم که FedCM فقط در صورتی برای شما مفید باشد که همه این شرایط اعمال شود:
- شما یک ارائه دهنده هویت (IdP) هستید.
- شما تحت تأثیر مرحله حذف کوکی شخص ثالث هستید.
- RP های شما سایت های شخص ثالث هستند. اگر RP های شما سایت های مرتبط معنی داری هستند، ممکن است مجموعه های وب سایت های مرتبط بهتر به شما کمک کنند.
شما یک IdP هستید
FedCM به پشتیبانی از یک ارائه دهنده هویت نیاز دارد. یک طرف متکی نمی تواند به طور مستقل از FedCM استفاده کند. اگر شما یک RP هستید، می توانید از IdP خود بخواهید دستورالعمل هایی را ارائه دهد.
شما تحت تأثیر مرحله حذف کوکی شخص ثالث هستید
فقط در صورتی باید از FedCM استفاده کنید که ادغام فعلی شما تحت تأثیر حذف تدریجی کوکی شخص ثالث قرار گرفته باشد.
اگر مطمئن نیستید که فدراسیون هویت شما پس از حذف تدریجی کوکی شخص ثالث Chrome به کار خود ادامه دهد، میتوانید با مسدود کردن کوکیهای شخص ثالث در Chrome، تأثیر آن را روی یک وبسایت آزمایش کنید.
اگر بدون کوکی های شخص ثالث هیچ تأثیر قابل کشفی بر فدراسیون هویت شما وجود ندارد، می توانید بدون FedCM به استفاده از یکپارچه سازی فعلی خود ادامه دهید.
اگر مطمئن نیستید که چه چیزی را بررسی کنید، درباره ویژگی های شناخته شده ای که انتظار می رود حذف تدریجی بر آنها تأثیر بگذارد، بیشتر بخوانید.
RP های شما شخص ثالث هستند
اگر شما یک ارائهدهنده هویت هستید که RPهای آن رابطه شخص اولی با IdP دارند، انتظار داریم Related Website Sets گزینه بهتری باشد. مجموعههای وبسایت مرتبط (RWS) راهی است برای سازمان برای اعلام روابط بین سایتها، به طوری که مرورگرها اجازه دسترسی محدود به کوکی شخص ثالث را برای اهداف خاص میدهند. این به کوکیهای شخص ثالث اجازه میدهد تا در میان مجموعهای از سایتهای مرتبط با معنی، حتی پس از حذف تدریجی کوکیهای شخص ثالث، کار کنند.
کاربران چگونه با FedCM تعامل خواهند داشت؟
در حال حاضر، تمرکز اصلی FedCM کاهش تأثیر حذف تدریجی کوکی های شخص ثالث است. کاربران میتوانند FedCM را در تنظیمات کاربر Chrome فعال یا غیرفعال کنند.
FedCM به گونه ای طراحی شده است که پروتکل-آگنوستیک باشد و عملکردهای مرتبط با احراز هویت زیر را ارائه می دهد.
نسخه ی نمایشی ما را بررسی کنید تا ببینید چگونه کار می کند.
به یک حزب متکی وارد شوید
هنگامی که کاربر در وب سایت طرف متکی (RP) قرار می گیرد، اگر کاربر وارد IdP شده باشد، یک گفتگوی ورود به سیستم FedCM ظاهر می شود.
اگر کاربر حسابی در RP با IdP نداشته باشد، یک گفتگوی ثبت نام با متن افشای اضافی مانند شرایط خدمات RP و یک خط مشی رازداری در صورت ارائه ظاهر می شود.
کاربر می تواند با ضربه زدن روی Continue as... وارد سیستم شود. در صورت موفقیت آمیز بودن، مرورگر این واقعیت را ذخیره می کند که کاربر یک حساب فدرال در RP با IdP ایجاد کرده است.
انتظار می رود RP ها روی مرورگرهایی کار کنند که از FedCM پشتیبانی نمی کنند. کاربران باید بتوانند از یک فرآیند ورود به سیستم موجود و غیر FedCM استفاده کنند. درباره نحوه عملکرد ورود به سیستم در FedCM بیشتر بدانید.
تنظیم برای فعال یا غیرفعال کردن FedCM
کاربران میتوانند FedCM را در تنظیمات Chrome در Android فعال یا غیرفعال کنند. به تنظیمات > تنظیمات سایت > ورود به سیستم شخص ثالث بروید، سپس کلید را تغییر دهید.
آنها میتوانند با رفتن به chrome://settings/content/federatedIdentityApi
همین کار را برای Chrome روی دسکتاپ انجام دهند.
نقشه راه
ما در حال کار بر روی ایجاد تعدادی از تغییرات در FedCM هستیم.
چندین به روز رسانی قبلاً بر اساس بازخورد اعمال شده است. و همچنین انتظار می رود که حداقل تا سه ماهه چهارم سال 2023 به تکامل خود ادامه دهد تا تثبیت شود. لطفا برای جزئیات بیشتر به به روز رسانی ها مراجعه کنید.
- گزارش تغییرات : بهروزرسانیهای API مدیریت اعتبار فدرال.
چند چیز وجود دارد که می دانیم هنوز باید انجام شود، از جمله مسائلی که از IdP ها، RP ها و فروشندگان مرورگر شنیده ایم. ما معتقدیم که می دانیم چگونه این مسائل را حل کنیم:
- پشتیبانی از iframe متقاطع : IdPها میتوانند با FedCM از داخل یک iframe متقاطع تماس بگیرند ( بهروزرسانی ).
- دکمه شخصی سازی شده : IdP ها می توانند هویت کاربر بازگشتی را در دکمه ورود به سیستم از داخل یک iframe متقاطع متعلق به IdP نشان دهند ( به روز رسانی ).
- نقطه پایانی متریک : معیارهای عملکرد را به IdP ها ارائه می دهد.
علاوه بر این، مسائل حلنشدهای وجود دارد که ما فعالانه در حال بررسی آن هستیم، از جمله پیشنهادات خاصی که در حال ارزیابی یا نمونهسازی اولیه هستیم:
- CORS : ما در حال گفتگو با اپل و موزیلا هستیم تا از بهبود مشخصات واکشی FedCM اطمینان حاصل کنیم.
- Multiple-IdP API : ما در حال بررسی راههایی برای پشتیبانی از چندین IdP برای همزیستی در انتخابگر حساب FedCM هستیم.
- IdP Sign-in Status API : Mozilla یک مشکل حمله زمانبندی را شناسایی کرده است و ما در حال بررسی راههایی هستیم تا یک IdP به طور فعال وضعیت ورود کاربر را به مرورگر اطلاع دهد تا مشکل را کاهش دهد. ( به روز رسانی )
- ورود به IdP API : برای پشتیبانی از سناریوهای مختلف ، زمانی که کاربر وارد IdP نشده است، مرورگر یک UI برای کاربر فراهم میکند تا بدون خروج از RP وارد سیستم شود.
در نهایت، کارهایی وجود دارد که ما معتقدیم هنوز باید انجام شود، بر اساس بازخورد موزیلا ، اپل و بازبینان TAG . ما در حال کار برای ارزیابی بهترین راه حل ها برای این سوالات باز هستیم:
- بهبود درک کاربر و هدف تطبیق : همانطور که موزیلا اشاره کرد ، ما میخواهیم به بررسی فرمولهای مختلف UX و مناطق سطحی و همچنین معیارهای راهاندازی ادامه دهیم.
- ویژگیهای هویت و افشای انتخابی : همانطور که بازبینان TAG ما اشاره کردند ، ما میخواهیم مکانیزمی برای اشتراکگذاری انتخابی بیشتر یا کمتر ویژگیهای هویت (مانند ایمیلها، براکتهای سنی، شماره تلفن و غیره) ارائه کنیم.
- افزایش ویژگیهای حریم خصوصی : همانطور که موزیلا در اینجا پیشنهاد کرد، مایلیم به بررسی مکانیسمهایی برای ارائه تضمینهای حفظ حریم خصوصی بهتر، مانند نابینایی IdP، شناسههای جهت دار ادامه دهیم.
- ارتباط با WebAuthn : همانطور که توسط اپل پیشنهاد شده است، ما بسیار هیجان زده هستیم که پیشرفت رمز عبور را ببینیم و روی ارائه یک تجربه منسجم و منسجم بین FedCM، Passwords، WebAuthn و WebOTP کار کنیم.
- وضعیت ورود : همانطور که اپل با API وضعیت ورود به سیستم Privacy CG پیشنهاد کرده است، ما این تصور را به اشتراک می گذاریم که وضعیت ورود به سیستم کاربر اطلاعات مفیدی است که می تواند به مرورگرها در تصمیم گیری آگاهانه کمک کند، و ما هیجان زده هستیم که ببینیم چه فرصت هایی از آن به وجود می آید. ( به روز رسانی )
- شرکت ها و آموزش : همانطور که در FedID CG مشخص است، هنوز موارد استفاده زیادی وجود دارد که توسط FedCM به خوبی ارائه نمی شود و ما می خواهیم روی آنها کار کنیم، مانند خروج از کانال جلو (قابلیت ارسال یک IdP) سیگنالی به RP ها برای خروج از سیستم) و پشتیبانی از SAML.
- ارتباط با mDL/VCs/و غیره : به کار ادامه دهید تا بفهمید چگونه اینها در FedCM جا میشوند، مثلاً با API درخواست سند موبایل .
با استفاده از FedCM API
برای استفاده از FedCM به یک زمینه امن (HTTPS یا localhost) هم در IdP و هم در RP در کروم نیاز دارید.
برای ادغام با FedCM باید یک فایل شناخته شده، فایل پیکربندی و نقاط پایانی برای لیست حساب ها، صدور ادعا و به صورت اختیاری ابرداده مشتری ایجاد کنید. از آنجا، FedCM API های جاوا اسکریپت را نشان می دهد که RP ها می توانند برای ورود به سیستم با IdP از آنها استفاده کنند.
برای یادگیری نحوه استفاده از API FedCM ، راهنمای توسعه دهنده FedCM را بررسی کنید.
مشارکت کنید و بازخورد را به اشتراک بگذارید
- GitHub : توضیح دهنده را بخوانید، مسائل را مطرح کنید و بحث را دنبال کنید .
- پشتیبانی برنامهنویس : سؤال بپرسید و به بحثهای مربوط به مخزن پشتیبانی توسعهدهنده Privacy Sandbox بپیوندید.
رعایت قوانین حفظ حریم خصوصی الکترونیکی
استفاده از FedCM، چه به عنوان یک IdP یا یک RP، شامل ذخیره سازی اطلاعات در تجهیزات پایانه کاربر یا دسترسی به اطلاعاتی است که قبلاً در آن ذخیره شده است، و بنابراین فعالیتی مشمول قوانین حفظ حریم خصوصی الکترونیکی در منطقه اقتصادی اروپا (EEA) و بریتانیا است. به طور کلی به رضایت کاربر نیاز دارد. این مسئولیت شماست که تعیین کنید آیا استفاده شما از FedCM برای ارائه سرویس آنلاینی که به صراحت توسط کاربر درخواست شده است، ضروری است یا خیر، و بنابراین از شرط رضایت معاف است. برای اطلاعات بیشتر، ما شما را تشویق میکنیم تا پرسشهای متداول مربوط به رعایت حریمخصوصی مربوط به جعبه ایمنی حریم خصوصی را بخوانید.