احراز هویت پایه در HTTP

Basic access authentication
📅 14 تیر 1405 📄 278 کلمه 🔗 منبع اصلی

چکیده

احراز هویت پایه (Basic Authentication) در HTTP روشی ساده برای کنترل دسترسی به منابع وب است. این روش از طریق ارسال نام کاربری و رمز عبور در هدر درخواست HTTP و با استفاده از کدگذاری Base64 عمل می‌کند. با وجود سادگی، به دلیل عدم رمزنگاری داده‌ها، معمولاً همراه با HTTPS استفاده می‌شود.

در یک تراکنش HTTP، احراز هویت پایه روشی است که در آن کاربر از طریق ارسال نام کاربری و رمز عبور در هدر درخواست، هویت خود را تأیید می‌کند. در این روش، اطلاعات ورود با استفاده از کدگذاری Base64 ارسال می‌شوند، اما این داده‌ها رمزنگاری یا هش نمی‌شوند. به همین دلیل، معمولاً از این روش همراه با HTTPS برای تأمین امنیت استفاده می‌شود.

این مکانیزم برای اولین بار در سال ۱۹۹۳ توسط آری لوتونن در CERN پیاده‌سازی شد و در سال ۱۹۹۶ در مشخصات HTTP 1.0 تعریف گردید. با وجود سادگی، احراز هویت پایه به دلیل عدم نیاز به کوکی، شناسه جلسه یا صفحه ورود، همچنان در برخی سناریوها مورد استفاده قرار می‌گیرد.

ویژگی‌ها

احراز هویت پایه به دلیل استفاده از فیلدهای استاندارد در هدر HTTP، ساده‌ترین روش برای کنترل دسترسی به منابع وب است. با این حال، به دلیل عدم رمزنگاری داده‌ها، امنیت کافی را فراهم نمی‌کند.

امنیت

داده‌های ارسالی در این روش تنها با Base64 کدگذاری می‌شوند و فاقد هرگونه رمزنگاری یا هش هستند. بنابراین، استفاده از HTTPS برای تأمین محرمانگی ضروری است. همچنین، مرورگرها برای جلوگیری از درخواست مکرر نام کاربری و رمز عبور، این اطلاعات را به صورت موقت ذخیره می‌کنند که سیاست‌های ذخیره‌سازی بین مرورگرها متفاوت است.

پاکسازی گذرواژه‌های ذخیره‌شده

HTTP روشی برای خروج کاربر از سیستم فراهم نمی‌کند، اما روش‌هایی برای پاکسازی گذرواژه‌های ذخیره‌شده وجود دارد. یکی از این روش‌ها، هدایت کاربر به یک URL با اعتبارنامه نادرست است. در مرورگرهای مدرن، پاکسازی تاریخچه مرور معمولاً گذرواژه‌های ذخیره‌شده را نیز پاک می‌کند.

پیاده‌سازی

در سمت سرور، هنگام دریافت درخواست بدون احراز هویت، سرور باید پاسخ 401 Unauthorized همراه با هدر WWW-Authenticate ارسال کند. در سمت کاربر، نام کاربری و رمز عبور با یک علامت دو نقطه ترکیب و با Base64 کدگذاری می‌شوند و در هدر Authorization ارسال می‌گردند.

جمع‌بندی

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