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

اُآذ اجازهها را از راه توکنها دسترسی[و 1] صادر میکند. این قرارداد مشخص میکند که یک کارخواه (کلاینت)چگونه باید از کارساز (سرور)درخواست توکن دسترسی را نماید و چگونه در زمان لازم آن را ارائه نماید.[3]
نسخهٔ ۱ اُآذ در اواخر سال ۲۰۰۶ میلادی ایجاد شد و هماکنون نسخهٔ ۲ آن نیز ارائه شده است که با نسخهٔ یک سازگاری عقبرو ندارد.[4]
مشکلات روشهای قدیمیتر
در گذشته توسعهدهندگان نرمافزارهای کاربردی تحت وب مجبور بودند برای ارتباط با خدمات دیگر، مانند تقویم گوگل، از کاربران بخواهند نام کاربری و گذرواژهٔ خود را به آنها بدهند و سپس از طریق استانداردی مانند اصالتسنجی برای دسترسیهای اولیه، یا با کمک رابط برنامهنویسی نرمافزار مختص به همان خدمت، با آن ارتباط برقرار کنند. این کار علاوه بر مشکلات امنیتی، از دید توسعهدهندگان که مجبور بودند روش کار با رابطهای برنامهنویسی مختلف را بیاموزند نیز دشوار بود. اآذ راه حلی برای غلبه بر این مشکلات است.[5]
دادن مستقیم گذرواژه سرویسهای دیگر دارای مشکلات زیر است:[6]
- نیاز به وجود اعتماد قوی کاربر به نرمافزار درخواستکنندهٔ گذرواژه
- ایجاد مسئولیت سنگین برای توسعهدهندهٔ نرمافزار جهت حفظ و نگهداری امن گذرواژه و جلوگیری از لورفتن آن
- بالا بردن آسیبپذیری کاربران در مقابل حملات فیشینگ
- دادن دسترسی بیش از حد نیاز (در حالی که یک نرمافزار ممکن است تنها به بخش خاصی از اطلاعات حساب کاربری نیاز داشته باشد)
- از بین رفتن دسترسی نرمافزار پس از تغییر گذرواژهٔ حساب توسط کاربر
- عدم وجود راهی ساده برای گرفتن دسترسی یک نرمافزار خاص (با تغییر گذرواژه همهٔ نرمافزارهایی که از آن گذرواژه استفاده میکردهاند از کار خواهند افتاد)
- ایجاد دشواری در پیادهسازی روشهای ایمنسازی دیگر مانند استفاده از کپچا یا اصالتسنجی چندعاملی[و 2]
حتی در روشهای اصالتسنجی همبسته مانند اپنآیدی نیز همچنان نیاز است که کاربر گذرواژهٔ حساب اپنآیدی خود را در وبگاه واسطه وارد کند.
واژهنامه
- Access token
- Multi-factor authentication
منابع
- Campesato and Nilson, Web 2.0 Fundamentals: With AJAX, Development Tools, and Mobile Platforms, 269.
- Boyd, Getting Started with OAuth 2.0, VII.
- Lakshmiraghavan, Pro ASP.NET Web API Security: Securing ASP.NET Web API, 227.
- Lakshmiraghavan, Pro ASP.NET Web API Security: Securing ASP.NET Web API, 227.
- Boyd, Getting Started with OAuth 2.0, 1.
- Boyd, Getting Started with OAuth 2.0, 3-4.
- 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. ISBN 9780763779733. Retrieved ۲۰۱۳-۱۱-۲۶.
- Lakshmiraghavan, B. (2013). Pro ASP.NET Web API Security: Securing ASP.NET Web API. The expert's voice in .NET (به فرانسوی). Apress. ISBN 9781430257820. Retrieved ۲۰۱۳-۱۱-۲۶.
- Boyd, R. (2012). Getting Started with OAuth 2.0. Oreilly and Associate Series. O'Reilly Media, Incorporated. ISBN 9781449311605. Retrieved 2013-11-26.