یک وب API برای فدراسیون حفظ حریم خصوصی.
FedCM چیست؟
FedCM (مدیریت اعتبار فدرال) یک رویکرد حفظ حریم خصوصی برای سرویسهای هویت فدرال (مانند "ورود به سیستم با...") است که به کوکیهای شخص ثالث یا تغییر مسیرهای ناوبری متکی نیست.
وضعیت پیاده سازی
- Chrome 平台状态
- Chrome 108 中已提供 FedCM。
- FedCM 提案可供公开讨论。
- 其他浏览器尚不支持 FedCM。
- Mozilla 正在实现 Firefox 的原型,并且 Apple 已表示对就 FedCM 提案展开合作的普遍支持和兴趣。
در حرکت رو به جلو، قصد داریم تعدادی ویژگی جدید را بر اساس بازخوردی که از ارائه دهندگان هویت (IdP)، طرف های متکی (RP) و فروشندگان مرورگر دریافت کردیم، معرفی کنیم. در حالی که امیدواریم ارائه دهندگان هویت از FedCM استفاده کنند، آگاه باشید که FedCM هنوز یک API در حال توسعه فعال است.
برای به حداقل رساندن چالشهای اعمال تغییرات ناسازگار به عقب، دو توصیه برای ارائهدهندگان هویت داریم:
- در خبرنامه ما مشترک شوید که در آن بهروزرسانیها را با تکامل API ارسال خواهیم کرد.
- ما IdP ها را تشویق می کنیم تا زمانی که API در حال بلوغ است، FedCM API را با استفاده از SDK های جاوا اسکریپت توزیع کنند و RP ها را از میزبانی SDK خود منصرف کنند. این تضمین میکند که IdPها میتوانند با تکامل API تغییراتی ایجاد کنند، بدون اینکه از همه طرفهای متکی خود بخواهند که دوباره مستقر شوند.
چرا به FedCM نیاز داریم؟
در طول دهه گذشته، فدراسیون هویت از نظر قابلیت اعتماد، سهولت استفاده (به عنوان مثال، ورود به سیستم بدون رمز عبور) و امنیت (به عنوان مثال، مقاومت بهبود یافته) نقش اصلی را در بالا بردن سطح اعتبار در وب ایفا کرده است. به حملات فیشینگ و پر کردن اعتبار) در مقایسه با نام کاربری و رمز عبور هر سایت.
با فدراسیون هویت، یک RP (طرف متکی) به یک IdP (ارائهدهنده هویت) برای ارائه یک حساب کاربری بدون نیاز به نام کاربری و رمز عبور جدید متکی است.
متأسفانه، مکانیسمهایی که فدراسیون هویت بر آنها تکیه کرده است (iframe، تغییر مسیرها و کوکیها) به طور فعال برای ردیابی کاربران در سراسر وب مورد سوء استفاده قرار میگیرد. از آنجایی که عامل کاربر نمی تواند بین فدراسیون هویت و ردیابی تمایز قائل شود، اقدامات کاهشی برای انواع مختلف سوء استفاده، استقرار فدراسیون هویت را دشوارتر می کند.
API مدیریت اعتبار فدرال (FedCM) با نمایش یک گفتگوی میانجی مرورگر که به کاربران اجازه میدهد حسابهایی را از IdPها برای ورود به وبسایتها انتخاب کنند، یک انتزاع خاص مورد استفاده را برای جریانهای هویت فدرال در وب فراهم میکند.
FedCM یک سفر چند مرحله ای برای بهتر کردن هویت در وب است. در اولین گام آن، ما بر کاهش تأثیر محدودیتهای کوکی شخص ثالث بر هویت فدرال متمرکز شدهایم (برای چند مرحله بیشتر به بخش نقشه راه مراجعه کنید).
انتظار داریم چه چیزی تحت تاثیر قرار گیرد؟
از طریق تلاش جامعه و تحقیقات ما، متوجه شدیم که چند ادغام مرتبط با فدراسیون هویت وجود دارد که تحت تأثیر محدودیتهای کوکی شخص ثالث قرار دارند:
- OpenID Connect Front-Channel Logout
- مدیریت جلسه OpenID Connect
- تمدید توکن پس زمینه مبتنی بر Iframe
- ویجت های لاگین مبتنی بر Iframe
اولین هدف FedCM کاهش تأثیر محدودیتهای کوکی شخص ثالث بر فدراسیون هویت است و اینها مناطقی هستند که ما انتظار داریم تحت تأثیر قرار گیرند. اگر موارد استفاده دیگری فهرست نشده است، میتوانید درگیر شده و بازخورد خود را به اشتراک بگذارید .
FedCM به عنوان یک سیگنال اعتماد برای سایر APIها
همراه با مدیریت هویت فدرال، FedCM همچنین به عنوان یک سیگنال اعتماد برای سایر APIهای Privacy Sandbox عمل می کند.
از Chrome 131، API دسترسی به فضای ذخیرهسازی (SAA) از FedCM بهعنوان یک سیگنال اعتماد استفاده میکند. این ادغام برای وبسایتهایی مفید است که به FedCM برای احراز هویت و SAA برای فعال کردن iframe های متقاطع برای دسترسی به فضای ذخیرهسازی ضروری متکی هستند.
وقتی کاربر با FedCM احراز هویت میکند، با انتخاب RP، محتوای IdP تعبیهشده در وبسایت RP میتواند روش requestStorageAccess()
را فراخوانی کند تا به طور خودکار به کوکیهای سطح بالای خودش دسترسی به فضای ذخیرهسازی را بدون نیاز به درخواست کاربر اضافی دریافت کند . این مجوز فقط تا زمانی که کاربر با FedCM وارد شده باشد و وضعیت ورود به سیستم FedCM فعال باشد، به طور خودکار اعطا می شود. برای جزئیات بیشتر، اسناد Storage Access API را بخوانید.
چه کسی باید از FedCM استفاده کند؟
ما انتظار داریم که FedCM فقط در صورتی برای شما مفید باشد که همه این شرایط اعمال شود:
- شما یک ارائه دهنده هویت (IdP) هستید.
- شما تحت تأثیر محدودیت های کوکی شخص ثالث هستید.
- RP های شما سایت های شخص ثالث هستند. اگر RP های شما سایت های مرتبط معنی داری هستند، ممکن است مجموعه های وب سایت های مرتبط بهتر به شما کمک کنند.
شما یک IdP هستید
FedCM به پشتیبانی از یک ارائه دهنده هویت نیاز دارد. یک طرف متکی نمی تواند به طور مستقل از FedCM استفاده کند. اگر شما یک RP هستید، می توانید از IdP خود بخواهید دستورالعمل هایی را ارائه دهد.
شما تحت تأثیر محدودیت های کوکی شخص ثالث هستید
فقط در صورتی باید از FedCM استفاده کنید که ادغام فعلی شما تحت تأثیر محدودیتهای کوکی شخص ثالث قرار گرفته باشد.
اگر مطمئن نیستید که فدراسیون هویت شما زمانی که کوکیهای شخص ثالث در دسترس نیستند به کار خود ادامه میدهد، میتوانید با مسدود کردن کوکیهای شخص ثالث در 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 روی دسکتاپ انجام دهند.
دوره خنک شدن سریع
اگر کاربر UI را به صورت دستی ببندد، یک ورودی به طور موقت به تنظیمات UI اضافه می شود و رابط کاربری برای مدتی در همان وب سایت نمایش داده نمی شود. رابط کاربری پس از این دوره مجدداً فعال می شود، اما مدت زمان بسته شدن متوالی به طور تصاعدی افزایش می یابد. به عنوان مثال، در کروم:
بارهای متوالی بسته شد | دوره زمانی که درخواست FedCM سرکوب می شود |
---|---|
1 | دو ساعت |
2 | یک روز |
3 | یک هفته |
4+ | چهار هفته |
مرورگرهای دیگر ممکن است دوره های زمانی خنک کننده خود را تعریف کنند.
کاربران میتوانند با رفتن به صفحه تنظیمات یا کلیک بر روی PageInfo UI (یک نماد قفل در کنار نوار URL) و تنظیم مجدد مجوز، FedCM را در RP به صورت دستی فعال کنند.
نقشه راه
ما در حال کار بر روی ایجاد تعدادی تغییرات در FedCM هستیم. برای جزئیات بیشتر به به روز رسانی ها مراجعه کنید.
- گزارش تغییرات : بهروزرسانیهای 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 در Chrome نیاز دارید.
برای ادغام با FedCM باید یک فایل شناخته شده، فایل پیکربندی و نقاط پایانی برای لیست حساب ها، صدور ادعا و (در صورت تمایل) ابرداده مشتری ایجاد کنید. از آنجا، FedCM API های جاوا اسکریپت را نشان می دهد که RP ها می توانند برای ورود به سیستم با IdP از آنها استفاده کنند.
برای یادگیری نحوه استفاده از API FedCM، راهنمای توسعه دهنده FedCM را بررسی کنید.
مشارکت کنید و بازخورد را به اشتراک بگذارید
- GitHub : توضیح دهنده را بخوانید، مسائل را مطرح کنید و بحث را دنبال کنید .
- پشتیبانی برنامهنویس : سؤال بپرسید و به بحثهای مربوط به مخزن پشتیبانی توسعهدهنده Privacy Sandbox بپیوندید.
رعایت قوانین حفظ حریم خصوصی الکترونیکی
استفاده از FedCM، چه به عنوان یک IdP یا یک RP، شامل ذخیره سازی اطلاعات در تجهیزات پایانه کاربر یا دسترسی به اطلاعاتی است که قبلاً در آن ذخیره شده است، و بنابراین فعالیتی مشمول قوانین حفظ حریم خصوصی الکترونیکی در منطقه اقتصادی اروپا (EEA) و بریتانیا است. به طور کلی به رضایت کاربر نیاز دارد. این مسئولیت شماست که تعیین کنید آیا استفاده شما از FedCM برای ارائه سرویس آنلاینی که به صراحت توسط کاربر درخواست شده است، ضروری است یا خیر، و بنابراین از شرط رضایت معاف است. برای اطلاعات بیشتر، ما شما را تشویق میکنیم تا پرسشهای متداول مربوط به رعایت حریمخصوصی مربوط به جعبه ایمنی حریم خصوصی را بخوانید.