OAuth (اُآت) یا احراز هویت باز، یک قرارداد باز است که به کاربران خدمات اینترنتیِ بکارگیرندهٔ آن اجازه می‌دهد اطلاعات کاربری‌شان را بدون نیاز به دادن گذرواژه و نام کاربری، به صورت امن، با خدمات دیگر به اشتراک بگذارند. برخی از وب‌گاه‌های مهم از جمله توییتر از اُآذ پشتیبانی می‌کنند، و برای ارتباط از طریق آن کتابخانه‌هایی در زبان‌های برنامه‌نویسی مختلف وجود دارد.[۱] این شیوه یک سازوکار کسب اجازه را معین می‌کند که از راه آن خدمات دیگر اجازه می‌یابند کارهای مشخصی را از طرف کاربر انجام دهند.[۲]

نشان‌وارهٔ اآذ طراحی‌شده به دست کریس مسینا

OAuth اجازه‌ها را از راه توکن‌ها دسترسی[و ۱] صادر می‌کند. این قرارداد مشخص می‌کند که یک کارخواه (کلاینت)چگونه باید از کارساز (سرور)درخواست توکن دسترسی را نماید و چگونه در زمان لازم آن را ارائه نماید.[۳]

نسخهٔ ۱ از OAuth در اواخر سال ۲۰۰۶ میلادی ایجاد شد و هم‌اکنون نسخهٔ ۲ آن نیز ارائه شده است که با نسخهٔ پیشین سازگاری عقب‌رو ندارد.[۴]

مشکلات روش‌های قدیمی‌تر

ویرایش

در گذشته توسعه‌دهندگان نرم‌افزارهای کاربردی تحت وب مجبور بودند برای ارتباط با خدمات دیگر، مانند تقویم گوگل، از کاربران بخواهند نام کاربری و گذرواژهٔ خود را به آن‌ها بدهند و سپس از طریق استانداردی مانند اصالت‌سنجی برای دسترسی‌های اولیه، یا با کمک رابط برنامه‌نویسی نرم‌افزار مختص به همان خدمت، با آن ارتباط برقرار کنند. این کار علاوه بر مشکلات امنیتی، از دید توسعه‌دهندگان که مجبور بودند روش کار با رابط‌های برنامه‌نویسی مختلف را بیاموزند نیز دشوار بود. اآذ راه حلی برای غلبه بر این مشکلات است.[۵]

دادن مستقیم گذرواژه سرویس‌های دیگر دارای مشکلات زیر است:[۶]

  • نیاز به اعتماد قوی کاربر به نرم‌افزار درخواست‌کنندهٔ گذرواژه
  • مسئولیت سنگین توسعه‌دهندهٔ نرم‌افزار برای حفظ و نگهداری امن گذرواژه و جلوگیری از لورفتن آن
  • افزایش آسیب‌پذیری کاربران در مقابل حملات فیشینگ
  • دادن دسترسی بیش از حد نیاز (در حالی که یک نرم‌افزار ممکن است تنها به بخش خاصی از اطلاعات حساب کاربری نیاز داشته باشد نه تمام آن)
  • از بین رفتن دسترسی نرم‌افزار با تغییر گذرواژهٔ حساب، توسط کاربر
  • نبود راهی ساده برای گرفتن دسترسی یک نرم‌افزار خاص (با تغییر گذرواژه همهٔ نرم‌افزارهایی که از آن گذرواژه استفاده می‌کرده‌اند از کار خواهند افتاد)
  • دشواری در پیاده‌سازی روش‌های ایمن‌سازی دیگر مانند استفاده از کپچا یا اصالت‌سنجی چندعاملی[و ۲]

حتی در روش‌های اصالت‌سنجی همبسته مانند اپن‌آی‌دی نیز همچنان نیاز است که کاربر گذرواژهٔ حساب اپن‌آی‌دی خود را در وب‌گاه واسطه وارد کند.

واژه‌نامه

ویرایش
  1. Access token
  2. Multi-factor authentication

منابع

ویرایش
  • Campesato, O.; Nilson, K. (2011). Web 2.0 Fundamentals: With AJAX, Development Tools, and Mobile Platforms. Web 2.0 Fundamentals with Ajax, Development Tools, and Mobile Platforms (به انگلیسی). Jones & Bartlett Learning. Retrieved 2013-11-26.
  • Lakshmiraghavan, B. (2013). Pro ASP.NET Web API Security: Securing ASP.NET Web API. The expert's voice in .NET (به فرانسوی). Apress. Retrieved 2013-11-26.
  • Boyd, R. (2012). Getting Started with OAuth 2.0. Oreilly and Associate Series (به انگلیسی). O'Reilly Media, Incorporated. Retrieved 2013-11-26.