آشنایی با هدر Authentication-Info در RFC 9110

authentication info header rfc 9110
20 آبان 1403

در دنیای وب و اینترنت، امنیت همواره یکی از مهم‌ترین مواردی است که باید به آن توجه شود. یکی از روش‌های محافظت و تأمین امنیت اطلاعات، استفاده از هدرهای HTTP است که برای مدیریت فرآیند احراز هویت و تأیید ارتباطات بین مشتری و سرور به کار می‌رود. یکی از این هدرها، Authentication-Info است که در استاندارد RFC 9110 به آن پرداخته شده است.
این هدر به منظور انتقال اطلاعات خاصی درباره احراز هویت در درخواست‌های HTTP مورد استفاده قرار می‌گیرد. با استفاده از این هدر، می‌توان اطلاعات بیشتری را درباره روش احراز هویت و جلسات جاری بین سرور و کلاینت مبادله کرد.
هدر Authentication-Info معمولاً توسط سرور به عنوان بخشی از پاسخ به درخواست‌هایی استفاده می‌شود که نیاز به احراز هویت دارند. هدف اصلی این هدر ارسال اطلاعاتی همچون نشانه‌های اعتبارسنجی یا اطلاعات اضافی برای افزایش امنیت جلسات بین کلاینت و سرور است.
بعنوان مثال، در مکانیزم احراز هویت Digest، می‌توان از این هدر برای ارسال توکن‌ها یا timestamp نهایی اتوماتیک به مشتری استفاده کرد که به وسیله آن امنیت بیشتری طی احراز هویت فراهم شود.
نکته‌ای که در کار با Authentication-Info باید مدنظر قرار گیرد این است که هدرها و ساختار احراز هویت در این حوزه به شدت به پیکربندی سرور و سیستم احراز هویت شما وابسته است. بنابراین، برنامه‌ریزی صحیح و تست دقیق این هدرها برای تأمین امنیت، اهمیت ویژه‌ای دارد.
در ادامه یک مثال ساده از یک درخواست HTTP با این هدر را مشاهده می‌کنید:

GET /some/resource HTTP/1.1
Host: example.com
Authorization: Digest username="user", realm="example", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", uri="/some/resource", response="5f3778d6a1a8b695"...
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Authentication-Info: nextnonce="473fd99751c2471dcf6e99b1d4e4dbf8", qop=auth, rspauth="5340a8q9b32a85f265e8bb845abb966a"...

این کد نشان‌دهندهٔ یک درخواست GET ساده به همراه اطلاعات احراز هویت ابتدای جلسه است. پس از پردازش موفقیت‌آمیز، سرور با استفاده از هدر Authentication-Info، جزئیات جدید احراز هویت یا nonce جدید را به مشتری ارسال می‌کند تا بدین وسیله امنیت افزایش یابد.

در مثال بالا، قسمت GET /some/resource HTTP/1.1: نمایانگر یک درخواست برای دسترسی به منبع مشخصی است.
Host: example.com: نام دامنه مورد درخواست که هدف سرور است.
Authorization: Digest...: اطلاعات احراز هویت در درخواست، شامل جزئیات کاربری و چالش‌ها.
در پاسخ نیز:
HTTP/1.1 200 OK: وضعیت موفقیت درخواست که با کد ۲۰۰ مشخص شده است.
Content-Type: text/html; charset=UTF-8: نوع محتوای پاسخ که معمولاً به صورت HTML برگردانده می‌شود.
Authentication-Info: nextnonce...: شامل جزئیات جدید برای احراز هویت، همانند توکن و کلیدهای جدید.

سوالات متداول

؟

چرا باید از هدر Authentication-Info استفاده کنیم؟

؟

آیا همیشه باید از Authentication-Info استفاده کرد؟

؟

چگونه از Authentication-Info در درخواست‌های خود استفاده کنیم؟