اصالتسنجی برای دسترسیهای اولیه
در انتقال محتوای اچتیتیپی (HTTP) تشخیص هویت پایه و اصالتسنجی برای دسترسیهای اولیه (Basic access authentication) یکی از روشهای مرورگرها و رایانهها در هنگام درخواستهایشان است.
قبل از انتقال نام کاربری به اضافه یک دو نقطه به رمز عبور اتصال داده میشود. رشتهٔ حاصل بر اساس یک الگوریتم ۶۴ بیتی کدگذاری میشود. برای مثال نام کاربری "Aladdin" و رمز عبور "open sesame" به صورت رشته "Aladdin:open sesame" متصل میگردد. نتیجه کد شده رشته حاصل برابر با "QWzhZGRpbjpvcGVuIHNlc2FtZQ==" خواهد بود.
اگر چه رشته کد شد نام کاربری و رمز عبور را غیرقابل خواندن میکند اما نرمافزارها به سادگی میتوانند آن را کدگشایی نمایند. اچتیتیپی هیچ ضمانتی در مورد امنیت اطلاعات انتقالی مانند HTTPS فراهم نمیکند. تشخیص هویت پایه در ۱۹۹۶ در RFC 1945 تعریف شد. اطلاعات بیشتر در مورد مسائل امنیتی را میتوانید در RFC 2616 و RFC 2617 بیابید. HTTP/1.1 تشخیص هویت پایه و تشخیص هویت خلاصه را پشتیبانی میکند.
مزایا
تمامی مرورگرها تشخیص هویت پایه را پشتیبانی میکنند. اما نام کاربری و رمز عبور را به صورت متن بدون رمزنگاری ارسال میکند و به همین خاطر در دسترسیهای عمومی وب مورد استفاده قرار میگیرد. اگر چه میتوان آن را با SSL/TLS ترکیب نمود. کاربرد SSL/TSL برای این است که تمام محتوای انتقالی را رمز نماید به همین دلیل کمتر از تشخیص هویت پایه استفاده میشود. بیشتر مرورگرهای یه هشدار در مورد سایتهایی که از تشخیص هویت پایه بدون SSL/TSL استفاده میکنند به کاربر نمایش میدهند، اما در هنگام استفاده همزمان آنها با یکدیگر هشداری نمایش نمیدهند. مکانیزم جایگزین، تشخیص هویت خلاصه، توسعه داده شد تا روشی برای عبور دسترسیها در ارتباطات غیر امن باشد. نرمافزارها و سیستمهای مدیریتی بعضی اوقات از تشخیص هویت پایه (در شبکههای مورد اعتماد) استفاده میکنند. این فرایند دست و پا گیر است، اما ترافیک شبکهاست که توسط انسان قابل خواندن برای اهداف اشکال زدایی است. یکی از مزیتهای دیگر تشخیص هویت پایه این است جلوگیری از مشکلاتی پروتکلهایی از قبیل NTLM است.
معایب
اگرچه این طرح به راحتی اجرا شود، اما بر این فرض که ارتباط بین کامپیوتر مشتری و سرور امن است و میتواند قابل اعتماد باشد، متکی است. بهطور خاص، اگر SSL / TLS استفاده نشود، دسترسی به عنوان متنی ساد عبور میکند. مرورگرهای موجود اطلاعات احراز هویت را تا زمانی که تب یا مرورگر بسته نشدهاست یا کاربر تاریخچه مرورگر را پاک نکند حفظ مینماید. اچتیتیپی یک روش برای اینکه سرور بتواند به کاربر دسترسی مستقیم برای حذف این اطلاعات کش شده بدهد، ندارد. این به این معنی است که هیچ روش مؤثری برای خروج از یک سرور بدون بستن مرورگر وجود ندارد. این یک نقص قابل توجهاست که نیاز خروج را به تولید کنندگان مرورگر تحمیل میکند که میتوانند از API مانند جاوا اسکریپت، که به اچتیتیپی اضافه میشود، یا از تکنیکهای موجود از قبیل SSL / TLS که یک رشته را غیرقابل حدس میکند استفاده نماید.
مثال
مراحلی که در انتقال داده بین یک کاربر و یک سرور اچتیتیپی قرار دارد:
- سرویس گیرنده درخواست یک صفحه که نیاز به احراز هویت نام کاربری و رمز عبور ندارد را میکند، معمولاً به این دلیل است که کاربر به سادگی وارد آدرس شده یا به دنبال یک لینک به این صفحه وارد شود.
- پاسخ سرور با کد۴۰۱ کاربر را صفحه احراز هویت هدایت میکند.
- در این مرحله، قلمرو احراز هویت به کاربر ارائه داده میشود و بیدرنگ نام کاربری و رمز عبور از او درخواست، کاربر میتواند این مرحله را لغو کند.
- کاربر یک نام کاربری و رمز عبور را به صورت رمز شده به سوی سرور ارسال میکند.
- در این مثال، سرور احراز هویت را میپذیرد و صفحه برگردانده میشود، اگر نام کاربر نامعتبر باشد یا رمز عبور نادرست باشد، سرور ممکن است پاسخ کد ۴۰۱ و بازگشت مشتری به صفحه تشخیص هویت است.
منابع
Wikipedia contributors، "Basic access authentication،" Wikipedia، The Free Encyclopedia، http://en.wikipedia.org/w/index.php?title=Basic_access_authentication&oldid=501934063 (accessed July 14، 2012).