در یک تراکنش HTTP، احراز هویت پایه روشی است که در آن کاربر از طریق ارسال نام کاربری و رمز عبور در هدر درخواست، هویت خود را تأیید میکند. در این روش، اطلاعات ورود با استفاده از کدگذاری Base64 ارسال میشوند، اما این دادهها رمزنگاری یا هش نمیشوند. به همین دلیل، معمولاً از این روش همراه با HTTPS برای تأمین امنیت استفاده میشود.
این مکانیزم برای اولین بار در سال ۱۹۹۳ توسط آری لوتونن در CERN پیادهسازی شد و در سال ۱۹۹۶ در مشخصات HTTP 1.0 تعریف گردید. با وجود سادگی، احراز هویت پایه به دلیل عدم نیاز به کوکی، شناسه جلسه یا صفحه ورود، همچنان در برخی سناریوها مورد استفاده قرار میگیرد.
ویژگیها
احراز هویت پایه به دلیل استفاده از فیلدهای استاندارد در هدر HTTP، سادهترین روش برای کنترل دسترسی به منابع وب است. با این حال، به دلیل عدم رمزنگاری دادهها، امنیت کافی را فراهم نمیکند.
امنیت
دادههای ارسالی در این روش تنها با Base64 کدگذاری میشوند و فاقد هرگونه رمزنگاری یا هش هستند. بنابراین، استفاده از HTTPS برای تأمین محرمانگی ضروری است. همچنین، مرورگرها برای جلوگیری از درخواست مکرر نام کاربری و رمز عبور، این اطلاعات را به صورت موقت ذخیره میکنند که سیاستهای ذخیرهسازی بین مرورگرها متفاوت است.
پاکسازی گذرواژههای ذخیرهشده
HTTP روشی برای خروج کاربر از سیستم فراهم نمیکند، اما روشهایی برای پاکسازی گذرواژههای ذخیرهشده وجود دارد. یکی از این روشها، هدایت کاربر به یک URL با اعتبارنامه نادرست است. در مرورگرهای مدرن، پاکسازی تاریخچه مرور معمولاً گذرواژههای ذخیرهشده را نیز پاک میکند.
پیادهسازی
در سمت سرور، هنگام دریافت درخواست بدون احراز هویت، سرور باید پاسخ 401 Unauthorized همراه با هدر WWW-Authenticate ارسال کند. در سمت کاربر، نام کاربری و رمز عبور با یک علامت دو نقطه ترکیب و با Base64 کدگذاری میشوند و در هدر Authorization ارسال میگردند.