Device Bound Session Credentials (DBSC) یک قابلیت وب جدید است که برای محافظت از جلسات کاربر در برابر سرقت کوکی و ربودن جلسه طراحی شده است. این ویژگی اکنون برای آزمایش به عنوان Origin Trial در Chrome 135 در دسترس است.
پس زمینه
کوکیها نقش مهمی در احراز هویت وب مدرن دارند و به کاربران اجازه میدهند در طول جلسات مرور، وارد سیستم شوند. با این حال، مهاجمان به طور فزاینده ای از کوکی های احراز هویت سرقت شده برای ربودن جلسات، دور زدن احراز هویت چند عاملی و سایر مکانیسم های امنیتی ورود به سیستم سوء استفاده می کنند.
اپراتورهای بدافزار اغلب کوکیهای جلسه را از دستگاههای در معرض خطر استخراج میکنند و امکان دسترسی غیرمجاز به حسابهای کاربر را فراهم میکنند. از آنجایی که کوکیها توکنهای حامل هستند، بدون نیاز به اثبات مالکیت به آنها دسترسی میدهند و آنها را به یک هدف سودآور برای مهاجمان تبدیل میکنند.
Device Bound Session Credentials (DBSC) با ایجاد یک جلسه احراز هویت که به یک دستگاه متصل است، قصد دارد سرقت کوکی را مختل کند. این رویکرد احتمال دسترسی کوکیهای استخراجشده به حسابها را از دستگاه دیگری کاهش میدهد.
چگونه کار می کند
DBSC یک API جدید معرفی میکند که به سرورها اجازه میدهد یک جلسه تأیید اعتبار ایجاد کنند که به یک دستگاه متصل است. هنگامی که یک جلسه شروع می شود، مرورگر یک جفت کلید عمومی-خصوصی ایجاد می کند و کلید خصوصی را به طور ایمن با استفاده از فضای ذخیره سازی سخت افزاری مانند ماژول پلتفرم مورد اعتماد (TPM) در صورت وجود ذخیره می کند.
سپس مرورگر یک کوکی جلسه معمولی صادر می کند. در طول عمر جلسه، مرورگر به طور دوره ای داشتن کلید خصوصی را ثابت می کند و کوکی جلسه را تازه می کند. طول عمر کوکی را می توان به اندازه کافی کوتاه کرد تا سرقت کوکی برای مهاجمان سودی نداشته باشد.
اجزای کلیدی
ثبت نام جلسه :
- هنگامی که یک کاربر وارد سیستم می شود، سرور با استفاده از هدر
Sec-Session-Registration
HTTP یک جلسه محدود به دستگاه درخواست می کند. - مرورگر یک جفت کلید جدید تولید می کند و کلید خصوصی را به صورت ایمن ذخیره می کند.
- یک کوکی احراز هویت کوتاه مدت نیز ایجاد شده و به این جفت کلید متصل می شود.
- سرور جلسه را با کلید عمومی مربوطه مرتبط میکند و اطمینان میدهد که جلسه فقط در دستگاه اصلی قابل استفاده است.
- هنگامی که یک کاربر وارد سیستم می شود، سرور با استفاده از هدر
تجدید جلسه و اثبات مالکیت :
- وقتی کوکی کوتاه مدت منقضی می شود، Chrome یک بازخوانی جلسه را راه اندازی می کند.
- مرورگر درخواستی را به یک نقطه پایانی بهروزرسانی تعریفشده توسط سرور ارسال میکند (در هنگام ثبتنام جلسه ارائه میشود)، و اگر سرور درخواستی را ارائه کند، با استفاده از سربرگ
Sec-Session-Challenge
، یک چالش امضا شده ارسال میکند. - سرور با تأیید پاسخ امضا شده با کلید خصوصی جلسه، اثبات مالکیت را تأیید می کند.
- اگر معتبر باشد، سرور یک کوکی کوتاه مدت جدید صادر می کند و به جلسه اجازه می دهد تا ادامه یابد.
یکی از مزایای این رویکرد این است که کروم درخواستهایی را که در غیر این صورت کوکی کوتاهمدت تازهسازیشده را از دست میدهند، به تعویق میاندازد. این رفتار کوکیهای مربوط به جلسه را بهطور مداوم در طول جلسه در دسترس نگه میدارد و به توسعهدهندگان اجازه میدهد با اطمینان بیشتری نسبت به روشهایی که ممکن است کوکیها بدون تمدید خودکار منقضی شوند یا ناپدید شوند، به آنها اعتماد کنند.
اجرای نمونه
یک سرور می تواند یک جلسه محدود به دستگاه مانند این درخواست کند:
HTTP/1.1 200 OK
Sec-Session-Registration: (ES256);path="/refresh";challenge="12345"
هنگامی که جلسه فعال است، سرور می تواند آن را با یک تبادل چالش-پاسخ تأیید کند:
HTTP/1.1 401 Unauthorized
Sec-Session-Challenge: "verify-session"
مرورگر با این پاسخ پاسخ می دهد:
POST /refresh
Sec-Session-Response: "signed-proof"
مزایا
- سرقت کوکی را کاهش می دهد : حتی اگر کوکی های جلسه به سرقت رفته باشند، نمی توان از دستگاه دیگری استفاده کرد.
- امنیت را بدون تغییرات عمده UX افزایش میدهد : بدون نیاز به تعامل اضافی با کاربر، بهطور شفاف در پسزمینه کار میکند.
- وابستگی به کوکیهای جلسه طولانی مدت را کاهش میدهد : تا زمانی که جلسه در دستگاه اصلی معتبر باشد، کوکیهای کوتاه مدت بهطور خودکار بازخوانی میشوند.
- از مکانیسمهای رمزنگاری استاندارد پشتیبانی میکند : در صورت موجود بودن، از ذخیرهسازی امن با پشتوانه TPM استفاده میکند و محافظت قوی در برابر نفوذ فراهم میکند.
ملاحظات حفظ حریم خصوصی و امنیتی
DBSC برای افزایش امنیت و در عین حال حفظ حریم خصوصی کاربر طراحی شده است:
- بدون بردار ردیابی اضافی : هر جلسه با یک جفت کلید منحصر به فرد همراه است که از ردیابی متقابل جلسات جلوگیری می کند.
- بدون انگشت نگاری طولانی مدت دستگاه : سرورها نمی توانند جلسات مختلف را در یک دستگاه مرتبط کنند، مگر اینکه به صراحت توسط کاربر اجازه داده شود.
- قابل پاک کردن توسط کاربران : هنگامی که کاربر داده های سایت را پاک می کند، جلسات و کلیدها حذف می شوند.
- همراستا با خطمشیهای کوکی : DBSC از محدوده مبتنی بر سایت مانند کوکیها پیروی میکند و اطمینان میدهد که نشت دادههای متقاطع را معرفی نمیکند.
آن را امتحان کنید
نسخه آزمایشی مبدأ اعتبار جلسه مربوط به دستگاه در Chrome 135 در دسترس است.
برای تست محلی
برای آزمایش DBSC به صورت محلی:
- به
chrome://flags#device-bound-session-credentials
بروید و این ویژگی را فعال کنید.
برای تست عمومی
برای آزمایش DBSC با آزمایش اولیه در یک محیط عمومی:
- از صفحه Chrome Origin Trials دیدن کنید و ثبت نام کنید.
توکن ارائه شده را به هدرهای HTTP سایت خود اضافه کنید:
Origin-Trial: <your-trial-token>
منابع
- مشخصات Device Bound Session Credentials
- مخزن GitHub برای DBSC
- راهنمای ادغام Device Bound Session Credentials (DBSC).
درگیر شوید و آینده امنیت وب را شکل دهید
به ما بپیوندید تا احراز هویت وب را ایمن تر کنیم! ما توسعه دهندگان وب را تشویق می کنیم که DBSC را آزمایش کنند، آن را در برنامه های خود ادغام کنند و بازخورد خود را به اشتراک بگذارند. میتوانید در GitHub با ما در ارتباط باشید یا در بحثها با گروه کاری امنیت برنامههای وب شرکت کنید.
با پیاده سازی DBSC، می توانیم به طور جمعی خطرات مربوط به ربودن جلسه را کاهش دهیم و امنیت احراز هویت را برای کاربران افزایش دهیم. همین امروز شروع کنید و به تعریف آینده امنیت وب کمک کنید!
،Device Bound Session Credentials (DBSC) یک قابلیت وب جدید است که برای محافظت از جلسات کاربر در برابر سرقت کوکی و ربودن جلسه طراحی شده است. این ویژگی اکنون برای آزمایش به عنوان Origin Trial در Chrome 135 در دسترس است.
پس زمینه
کوکیها نقش مهمی در احراز هویت وب مدرن دارند و به کاربران اجازه میدهند در طول جلسات مرور، وارد سیستم شوند. با این حال، مهاجمان به طور فزاینده ای از کوکی های احراز هویت سرقت شده برای ربودن جلسات، دور زدن احراز هویت چند عاملی و سایر مکانیسم های امنیتی ورود به سیستم سوء استفاده می کنند.
اپراتورهای بدافزار اغلب کوکیهای جلسه را از دستگاههای در معرض خطر استخراج میکنند و امکان دسترسی غیرمجاز به حسابهای کاربر را فراهم میکنند. از آنجایی که کوکیها توکنهای حامل هستند، بدون نیاز به اثبات مالکیت به آنها دسترسی میدهند و آنها را به یک هدف سودآور برای مهاجمان تبدیل میکنند.
Device Bound Session Credentials (DBSC) با ایجاد یک جلسه احراز هویت که به یک دستگاه متصل است، قصد دارد سرقت کوکی را مختل کند. این رویکرد احتمال دسترسی کوکیهای استخراجشده به حسابها را از دستگاه دیگری کاهش میدهد.
چگونه کار می کند
DBSC یک API جدید معرفی میکند که به سرورها اجازه میدهد یک جلسه تأیید اعتبار ایجاد کنند که به یک دستگاه متصل است. هنگامی که یک جلسه شروع می شود، مرورگر یک جفت کلید عمومی-خصوصی ایجاد می کند و کلید خصوصی را به طور ایمن با استفاده از فضای ذخیره سازی سخت افزاری مانند ماژول پلتفرم مورد اعتماد (TPM) در صورت وجود ذخیره می کند.
سپس مرورگر یک کوکی جلسه معمولی صادر می کند. در طول عمر جلسه، مرورگر به طور دوره ای داشتن کلید خصوصی را ثابت می کند و کوکی جلسه را تازه می کند. طول عمر کوکی را می توان به اندازه کافی کوتاه کرد تا سرقت کوکی برای مهاجمان سودی نداشته باشد.
اجزای کلیدی
ثبت نام جلسه :
- هنگامی که یک کاربر وارد سیستم می شود، سرور با استفاده از هدر
Sec-Session-Registration
HTTP یک جلسه محدود به دستگاه درخواست می کند. - مرورگر یک جفت کلید جدید تولید می کند و کلید خصوصی را به صورت ایمن ذخیره می کند.
- یک کوکی احراز هویت کوتاه مدت نیز ایجاد شده و به این جفت کلید متصل می شود.
- سرور جلسه را با کلید عمومی مربوطه مرتبط میکند و اطمینان میدهد که جلسه فقط در دستگاه اصلی قابل استفاده است.
- هنگامی که یک کاربر وارد سیستم می شود، سرور با استفاده از هدر
تجدید جلسه و اثبات مالکیت :
- وقتی کوکی کوتاه مدت منقضی می شود، Chrome یک بازخوانی جلسه را راه اندازی می کند.
- مرورگر درخواستی را به یک نقطه پایانی بهروزرسانی تعریفشده توسط سرور ارسال میکند (در هنگام ثبتنام جلسه ارائه میشود)، و اگر سرور درخواستی را ارائه کند، با استفاده از سربرگ
Sec-Session-Challenge
، یک چالش امضا شده ارسال میکند. - سرور با تأیید پاسخ امضا شده با کلید خصوصی جلسه، اثبات مالکیت را تأیید می کند.
- اگر معتبر باشد، سرور یک کوکی کوتاه مدت جدید صادر می کند و به جلسه اجازه می دهد تا ادامه یابد.
یکی از مزایای این رویکرد این است که کروم درخواستهایی را که در غیر این صورت کوکی کوتاهمدت تازهسازیشده را از دست میدهند، به تعویق میاندازد. این رفتار کوکیهای مربوط به جلسه را بهطور مداوم در طول جلسه در دسترس نگه میدارد و به توسعهدهندگان اجازه میدهد با اطمینان بیشتری نسبت به روشهایی که ممکن است کوکیها بدون تمدید خودکار منقضی شوند یا ناپدید شوند، به آنها اعتماد کنند.
اجرای نمونه
یک سرور می تواند یک جلسه محدود به دستگاه مانند این درخواست کند:
HTTP/1.1 200 OK
Sec-Session-Registration: (ES256);path="/refresh";challenge="12345"
هنگامی که جلسه فعال است، سرور می تواند آن را با یک تبادل چالش-پاسخ تأیید کند:
HTTP/1.1 401 Unauthorized
Sec-Session-Challenge: "verify-session"
مرورگر با این پاسخ پاسخ می دهد:
POST /refresh
Sec-Session-Response: "signed-proof"
مزایا
- سرقت کوکی را کاهش می دهد : حتی اگر کوکی های جلسه به سرقت رفته باشند، نمی توان از دستگاه دیگری استفاده کرد.
- امنیت را بدون تغییرات عمده UX افزایش میدهد : بدون نیاز به تعامل اضافی با کاربر، بهطور شفاف در پسزمینه کار میکند.
- وابستگی به کوکیهای جلسه طولانی مدت را کاهش میدهد : تا زمانی که جلسه در دستگاه اصلی معتبر باشد، کوکیهای کوتاه مدت بهطور خودکار بازخوانی میشوند.
- از مکانیسمهای رمزنگاری استاندارد پشتیبانی میکند : در صورت موجود بودن، از ذخیرهسازی امن با پشتوانه TPM استفاده میکند و محافظت قوی در برابر نفوذ فراهم میکند.
ملاحظات حفظ حریم خصوصی و امنیتی
DBSC برای افزایش امنیت و در عین حال حفظ حریم خصوصی کاربر طراحی شده است:
- بدون بردار ردیابی اضافی : هر جلسه با یک جفت کلید منحصر به فرد همراه است که از ردیابی متقابل جلسات جلوگیری می کند.
- بدون انگشت نگاری طولانی مدت دستگاه : سرورها نمی توانند جلسات مختلف را در یک دستگاه مرتبط کنند، مگر اینکه به صراحت توسط کاربر اجازه داده شود.
- قابل پاک کردن توسط کاربران : هنگامی که کاربر داده های سایت را پاک می کند، جلسات و کلیدها حذف می شوند.
- همراستا با خطمشیهای کوکی : DBSC از محدوده مبتنی بر سایت مانند کوکیها پیروی میکند و اطمینان میدهد که نشت دادههای متقاطع را معرفی نمیکند.
آن را امتحان کنید
نسخه آزمایشی مبدأ اعتبار جلسه مربوط به دستگاه در Chrome 135 در دسترس است.
برای تست محلی
برای آزمایش DBSC به صورت محلی:
- به
chrome://flags#device-bound-session-credentials
بروید و این ویژگی را فعال کنید.
برای تست عمومی
برای آزمایش DBSC با آزمایش اولیه در یک محیط عمومی:
- از صفحه Chrome Origin Trials دیدن کنید و ثبت نام کنید.
توکن ارائه شده را به هدرهای HTTP سایت خود اضافه کنید:
Origin-Trial: <your-trial-token>
منابع
- مشخصات Device Bound Session Credentials
- مخزن GitHub برای DBSC
- راهنمای ادغام Device Bound Session Credentials (DBSC).
درگیر شوید و آینده امنیت وب را شکل دهید
به ما بپیوندید تا احراز هویت وب را ایمن تر کنیم! ما توسعه دهندگان وب را تشویق می کنیم که DBSC را آزمایش کنند، آن را در برنامه های خود ادغام کنند و بازخورد خود را به اشتراک بگذارند. میتوانید در GitHub با ما در ارتباط باشید یا در بحثها با گروه کاری امنیت برنامههای وب شرکت کنید.
با پیاده سازی DBSC، می توانیم به طور جمعی خطرات مربوط به ربودن جلسه را کاهش دهیم و امنیت احراز هویت را برای کاربران افزایش دهیم. همین امروز شروع کنید و به تعریف آینده امنیت وب کمک کنید!
،Device Bound Session Credentials (DBSC) یک قابلیت وب جدید است که برای محافظت از جلسات کاربر در برابر سرقت کوکی و ربودن جلسه طراحی شده است. این ویژگی اکنون برای آزمایش به عنوان Origin Trial در Chrome 135 در دسترس است.
پس زمینه
کوکیها نقش مهمی در احراز هویت وب مدرن دارند و به کاربران اجازه میدهند در طول جلسات مرور، وارد سیستم شوند. با این حال، مهاجمان به طور فزاینده ای از کوکی های احراز هویت سرقت شده برای ربودن جلسات، دور زدن احراز هویت چند عاملی و سایر مکانیسم های امنیتی ورود به سیستم سوء استفاده می کنند.
اپراتورهای بدافزار اغلب کوکیهای جلسه را از دستگاههای در معرض خطر استخراج میکنند و امکان دسترسی غیرمجاز به حسابهای کاربر را فراهم میکنند. از آنجایی که کوکیها توکنهای حامل هستند، بدون نیاز به اثبات مالکیت به آنها دسترسی میدهند و آنها را به یک هدف سودآور برای مهاجمان تبدیل میکنند.
Device Bound Session Credentials (DBSC) با ایجاد یک جلسه احراز هویت که به یک دستگاه متصل است، قصد دارد سرقت کوکی را مختل کند. این رویکرد احتمال دسترسی کوکیهای استخراجشده به حسابها را از دستگاه دیگری کاهش میدهد.
چگونه کار می کند
DBSC یک API جدید معرفی میکند که به سرورها اجازه میدهد یک جلسه تأیید اعتبار ایجاد کنند که به یک دستگاه متصل است. هنگامی که یک جلسه شروع می شود، مرورگر یک جفت کلید عمومی-خصوصی ایجاد می کند و کلید خصوصی را به طور ایمن با استفاده از فضای ذخیره سازی سخت افزاری مانند ماژول پلتفرم مورد اعتماد (TPM) در صورت وجود ذخیره می کند.
سپس مرورگر یک کوکی جلسه معمولی صادر می کند. در طول عمر جلسه، مرورگر به طور دوره ای داشتن کلید خصوصی را ثابت می کند و کوکی جلسه را تازه می کند. طول عمر کوکی را می توان به اندازه کافی کوتاه کرد تا سرقت کوکی برای مهاجمان سودی نداشته باشد.
اجزای کلیدی
ثبت نام جلسه :
- هنگامی که یک کاربر وارد سیستم می شود، سرور با استفاده از هدر
Sec-Session-Registration
HTTP یک جلسه محدود به دستگاه درخواست می کند. - مرورگر یک جفت کلید جدید تولید می کند و کلید خصوصی را به صورت ایمن ذخیره می کند.
- یک کوکی احراز هویت کوتاه مدت نیز ایجاد شده و به این جفت کلید متصل می شود.
- سرور جلسه را با کلید عمومی مربوطه مرتبط میکند و اطمینان میدهد که جلسه فقط در دستگاه اصلی قابل استفاده است.
- هنگامی که یک کاربر وارد سیستم می شود، سرور با استفاده از هدر
تجدید جلسه و اثبات مالکیت :
- وقتی کوکی کوتاه مدت منقضی می شود، Chrome یک بازخوانی جلسه را راه اندازی می کند.
- مرورگر درخواستی را به یک نقطه پایانی بهروزرسانی تعریفشده توسط سرور ارسال میکند (در هنگام ثبتنام جلسه ارائه میشود)، و اگر سرور درخواستی را ارائه کند، با استفاده از سربرگ
Sec-Session-Challenge
، یک چالش امضا شده ارسال میکند. - سرور با تأیید پاسخ امضا شده با کلید خصوصی جلسه، اثبات مالکیت را تأیید می کند.
- اگر معتبر باشد، سرور یک کوکی کوتاه مدت جدید صادر می کند و به جلسه اجازه می دهد تا ادامه یابد.
یکی از مزایای این رویکرد این است که کروم درخواستهایی را که در غیر این صورت کوکی کوتاهمدت تازهسازیشده را از دست میدهند، به تعویق میاندازد. این رفتار کوکیهای مربوط به جلسه را بهطور مداوم در طول جلسه در دسترس نگه میدارد و به توسعهدهندگان اجازه میدهد با اطمینان بیشتری نسبت به روشهایی که ممکن است کوکیها بدون تمدید خودکار منقضی شوند یا ناپدید شوند، به آنها اعتماد کنند.
اجرای نمونه
یک سرور می تواند یک جلسه محدود به دستگاه مانند این درخواست کند:
HTTP/1.1 200 OK
Sec-Session-Registration: (ES256);path="/refresh";challenge="12345"
هنگامی که جلسه فعال است، سرور می تواند آن را با یک تبادل چالش-پاسخ تأیید کند:
HTTP/1.1 401 Unauthorized
Sec-Session-Challenge: "verify-session"
مرورگر با این پاسخ پاسخ می دهد:
POST /refresh
Sec-Session-Response: "signed-proof"
مزایا
- سرقت کوکی را کاهش می دهد : حتی اگر کوکی های جلسه به سرقت رفته باشند، نمی توان از دستگاه دیگری استفاده کرد.
- امنیت را بدون تغییرات عمده UX افزایش میدهد : بدون نیاز به تعامل اضافی با کاربر، بهطور شفاف در پسزمینه کار میکند.
- وابستگی به کوکیهای جلسه طولانی مدت را کاهش میدهد : تا زمانی که جلسه در دستگاه اصلی معتبر باشد، کوکیهای کوتاه مدت بهطور خودکار بازخوانی میشوند.
- از مکانیسمهای رمزنگاری استاندارد پشتیبانی میکند : در صورت موجود بودن، از ذخیرهسازی امن با پشتوانه TPM استفاده میکند و محافظت قوی در برابر نفوذ فراهم میکند.
ملاحظات حفظ حریم خصوصی و امنیتی
DBSC برای افزایش امنیت و در عین حال حفظ حریم خصوصی کاربر طراحی شده است:
- بدون بردار ردیابی اضافی : هر جلسه با یک جفت کلید منحصر به فرد همراه است که از ردیابی متقابل جلسات جلوگیری می کند.
- بدون انگشت نگاری طولانی مدت دستگاه : سرورها نمی توانند جلسات مختلف را در یک دستگاه مرتبط کنند، مگر اینکه به صراحت توسط کاربر اجازه داده شود.
- قابل پاک کردن توسط کاربران : هنگامی که کاربر داده های سایت را پاک می کند، جلسات و کلیدها حذف می شوند.
- همراستا با خطمشیهای کوکی : DBSC از محدوده مبتنی بر سایت مانند کوکیها پیروی میکند و اطمینان میدهد که نشت دادههای متقاطع را معرفی نمیکند.
آن را امتحان کنید
نسخه آزمایشی مبدأ اعتبار جلسه مربوط به دستگاه در Chrome 135 در دسترس است.
برای تست محلی
برای آزمایش DBSC به صورت محلی:
- به
chrome://flags#device-bound-session-credentials
بروید و این ویژگی را فعال کنید.
برای تست عمومی
برای آزمایش DBSC با آزمایش اولیه در یک محیط عمومی:
- از صفحه Chrome Origin Trials دیدن کنید و ثبت نام کنید.
توکن ارائه شده را به هدرهای HTTP سایت خود اضافه کنید:
Origin-Trial: <your-trial-token>
منابع
- مشخصات Device Bound Session Credentials
- مخزن GitHub برای DBSC
- راهنمای ادغام Device Bound Session Credentials (DBSC).
درگیر شوید و آینده امنیت وب را شکل دهید
به ما بپیوندید تا احراز هویت وب را ایمن تر کنیم! ما توسعه دهندگان وب را تشویق می کنیم که DBSC را آزمایش کنند، آن را در برنامه های خود ادغام کنند و بازخورد خود را به اشتراک بگذارند. میتوانید در GitHub با ما در ارتباط باشید یا در بحثها با گروه کاری امنیت برنامههای وب شرکت کنید.
با پیاده سازی DBSC، می توانیم به طور جمعی خطرات مربوط به ربودن جلسه را کاهش دهیم و امنیت احراز هویت را برای کاربران افزایش دهیم. همین امروز شروع کنید و به تعریف آینده امنیت وب کمک کنید!
،Device Bound Session Credentials (DBSC) یک قابلیت وب جدید است که برای محافظت از جلسات کاربر در برابر سرقت کوکی و ربودن جلسه طراحی شده است. این ویژگی اکنون برای آزمایش به عنوان Origin Trial در Chrome 135 در دسترس است.
پس زمینه
کوکیها نقش مهمی در احراز هویت وب مدرن دارند و به کاربران اجازه میدهند در طول جلسات مرور، وارد سیستم شوند. با این حال، مهاجمان به طور فزاینده ای از کوکی های احراز هویت سرقت شده برای ربودن جلسات، دور زدن احراز هویت چند عاملی و سایر مکانیسم های امنیتی ورود به سیستم سوء استفاده می کنند.
اپراتورهای بدافزار اغلب کوکیهای جلسه را از دستگاههای در معرض خطر استخراج میکنند و امکان دسترسی غیرمجاز به حسابهای کاربر را فراهم میکنند. از آنجایی که کوکیها توکنهای حامل هستند، بدون نیاز به اثبات مالکیت به آنها دسترسی میدهند و آنها را به یک هدف سودآور برای مهاجمان تبدیل میکنند.
Device Bound Session Credentials (DBSC) با ایجاد یک جلسه احراز هویت که به یک دستگاه متصل است، قصد دارد سرقت کوکی را مختل کند. این رویکرد احتمال دسترسی کوکیهای استخراجشده به حسابها را از دستگاه دیگری کاهش میدهد.
چگونه کار می کند
DBSC یک API جدید معرفی میکند که به سرورها اجازه میدهد یک جلسه تأیید اعتبار ایجاد کنند که به یک دستگاه متصل است. هنگامی که یک جلسه شروع می شود، مرورگر یک جفت کلید عمومی-خصوصی ایجاد می کند و کلید خصوصی را به طور ایمن با استفاده از فضای ذخیره سازی سخت افزاری مانند ماژول پلتفرم مورد اعتماد (TPM) در صورت وجود ذخیره می کند.
سپس مرورگر یک کوکی جلسه معمولی صادر می کند. در طول عمر جلسه، مرورگر به طور دوره ای داشتن کلید خصوصی را ثابت می کند و کوکی جلسه را تازه می کند. طول عمر کوکی را می توان به اندازه کافی کوتاه کرد تا سرقت کوکی برای مهاجمان سودی نداشته باشد.
اجزای کلیدی
ثبت نام جلسه :
- هنگامی که یک کاربر وارد سیستم می شود، سرور با استفاده از هدر
Sec-Session-Registration
HTTP یک جلسه محدود به دستگاه درخواست می کند. - مرورگر یک جفت کلید جدید تولید می کند و کلید خصوصی را به صورت ایمن ذخیره می کند.
- یک کوکی احراز هویت کوتاه مدت نیز ایجاد شده و به این جفت کلید متصل می شود.
- سرور جلسه را با کلید عمومی مربوطه مرتبط میکند و اطمینان میدهد که جلسه فقط در دستگاه اصلی قابل استفاده است.
- هنگامی که یک کاربر وارد سیستم می شود، سرور با استفاده از هدر
تجدید جلسه و اثبات مالکیت :
- وقتی کوکی کوتاه مدت منقضی می شود، Chrome یک بازخوانی جلسه را راه اندازی می کند.
- مرورگر درخواستی را به یک نقطه پایانی بهروزرسانی تعریفشده توسط سرور ارسال میکند (در هنگام ثبتنام جلسه ارائه میشود)، و اگر سرور درخواستی را ارائه کند، با استفاده از سربرگ
Sec-Session-Challenge
، یک چالش امضا شده ارسال میکند. - سرور با تأیید پاسخ امضا شده با کلید خصوصی جلسه، اثبات مالکیت را تأیید می کند.
- اگر معتبر باشد، سرور یک کوکی کوتاه مدت جدید صادر می کند و به جلسه اجازه می دهد تا ادامه یابد.
یکی از مزایای این رویکرد این است که کروم درخواستهایی را که در غیر این صورت کوکی کوتاهمدت تازهسازیشده را از دست میدهند، به تعویق میاندازد. این رفتار کوکیهای مربوط به جلسه را بهطور مداوم در طول جلسه در دسترس نگه میدارد و به توسعهدهندگان اجازه میدهد با اطمینان بیشتری نسبت به روشهایی که ممکن است کوکیها بدون تمدید خودکار منقضی شوند یا ناپدید شوند، به آنها اعتماد کنند.
اجرای نمونه
یک سرور می تواند یک جلسه محدود به دستگاه مانند این درخواست کند:
HTTP/1.1 200 OK
Sec-Session-Registration: (ES256);path="/refresh";challenge="12345"
هنگامی که جلسه فعال است، سرور می تواند آن را با یک تبادل چالش-پاسخ تأیید کند:
HTTP/1.1 401 Unauthorized
Sec-Session-Challenge: "verify-session"
مرورگر با این پاسخ پاسخ می دهد:
POST /refresh
Sec-Session-Response: "signed-proof"
مزایا
- سرقت کوکی را کاهش می دهد : حتی اگر کوکی های جلسه به سرقت رفته باشند، نمی توان از دستگاه دیگری استفاده کرد.
- امنیت را بدون تغییرات عمده UX افزایش میدهد : بدون نیاز به تعامل اضافی با کاربر، بهطور شفاف در پسزمینه کار میکند.
- وابستگی به کوکیهای جلسه طولانی مدت را کاهش میدهد : تا زمانی که جلسه در دستگاه اصلی معتبر باشد، کوکیهای کوتاه مدت بهطور خودکار بازخوانی میشوند.
- از مکانیسمهای رمزنگاری استاندارد پشتیبانی میکند : در صورت موجود بودن، از ذخیرهسازی امن با پشتوانه TPM استفاده میکند و محافظت قوی در برابر نفوذ فراهم میکند.
ملاحظات حفظ حریم خصوصی و امنیتی
DBSC برای افزایش امنیت و در عین حال حفظ حریم خصوصی کاربر طراحی شده است:
- بدون بردار ردیابی اضافی : هر جلسه با یک جفت کلید منحصر به فرد همراه است که از ردیابی متقابل جلسات جلوگیری می کند.
- بدون انگشت نگاری طولانی مدت دستگاه : سرورها نمی توانند جلسات مختلف را در یک دستگاه مرتبط کنند، مگر اینکه به صراحت توسط کاربر اجازه داده شود.
- قابل پاک کردن توسط کاربران : هنگامی که کاربر داده های سایت را پاک می کند، جلسات و کلیدها حذف می شوند.
- همراستا با خطمشیهای کوکی : DBSC از محدوده مبتنی بر سایت مانند کوکیها پیروی میکند و اطمینان میدهد که نشت دادههای متقاطع را معرفی نمیکند.
آن را امتحان کنید
نسخه آزمایشی مبدأ اعتبار جلسه مربوط به دستگاه در Chrome 135 در دسترس است.
برای تست محلی
برای آزمایش DBSC به صورت محلی:
- به
chrome://flags#device-bound-session-credentials
بروید و این ویژگی را فعال کنید.
برای تست عمومی
برای آزمایش DBSC با آزمایش اولیه در یک محیط عمومی:
- از صفحه Chrome Origin Trials دیدن کنید و ثبت نام کنید.
توکن ارائه شده را به هدرهای HTTP سایت خود اضافه کنید:
Origin-Trial: <your-trial-token>
منابع
- مشخصات Device Bound Session Credentials
- مخزن GitHub برای DBSC
- راهنمای ادغام Device Bound Session Credentials (DBSC).
درگیر شوید و آینده امنیت وب را شکل دهید
به ما بپیوندید تا احراز هویت وب را ایمن تر کنیم! ما توسعه دهندگان وب را تشویق می کنیم که DBSC را آزمایش کنند، آن را در برنامه های خود ادغام کنند و بازخورد خود را به اشتراک بگذارند. میتوانید در GitHub با ما در ارتباط باشید یا در بحثها با گروه کاری امنیت برنامههای وب شرکت کنید.
با پیاده سازی DBSC، می توانیم به طور جمعی خطرات مربوط به ربودن جلسه را کاهش دهیم و امنیت احراز هویت را برای کاربران افزایش دهیم. همین امروز شروع کنید و به تعریف آینده امنیت وب کمک کنید!