مدیریت هویت و دسترسی مشتری محور یا Customer Based Identity And Access Management (CIAM) طی دو سال اخیر پیشرفت قابل توجهی داشته است. بسیاری از تحلیلگران این حوزه، مبحث مدیریت هویت و دسترسی مشتری محور را به عنوان زیر مجموعه جدیدی از سیستمهای مدیریت هویت و دسترسی (IAM) که نیازمند تحلیل محصول و بازار فروش مستقلی است مورد بررسی قرار دادهاند.
تفاوت اصلی IAM و CIAM در این است که نیازمندیها و مراحل عملیاتیسازی پروژههای مدیریت هویت و دسترسی مشتری محور نسبت به راهکارهای مدیریت هویت و دسترسی متداول که مبتنی بر سیستمهای داخلی سازمان یا کارکنان بودند بسیار متفاوت است.
براساس پیشبینی کارشناسان این حوزه، طی سالهای آینده، حتمالا شاهد تحولاتی در اجزای کلیدی همه بسترهای ارائه هویت دیجیتال خواهیم بود:
اینترنت اشیا نیازمند مدیریت هویت و دسترسی مشتری محور
این روزها اصطلاح اینترنت اشیا یا به اختصار loT کم و بیش همه جا به گوش میرسد و به نظر میرسد این مفهوم قرار است با امکاناتی که به همراه میآورد، کره زمین را نجات دهد. از طرفی به نظر میرسد، اینترنت اشیا با گسترش شخصیسازی خدمات و در نتیجه ایجاد حجم وسیعی از دادهها، در حوزه امنیت اطلاعات و امنیت شبکه چالشهای جدیدی بوجود آورده است. اما استفاده از راهکار مدیریت هویت و دسترسی مشتری محور، استفاده امن از این تکنولوژی را فراهم کرده است. در ادامه این بخش کمی توضیحات تخصصیتر در مورد اینترنت اشیا و نحوه کنترل دسترسی روی آن را شرح میدهیم.
در بحث اینترنت اشیا، مفهومی به عنوان جفت کردن ابزارها یا Device Pairing وجود دارد و به این معنی است که ابزارهای مختلف با یکدیگر مرتبط شوند. “ابزارهای هوشمند” زمانی که به هویت یک انسان مرتبط و به اصطلاح جفت شوند؛ میتوانند بسیار مفید باشند. مثلا ساعتهای هوشمند که فعالیتهای روزمره ما را ثبت میکنند، تلویزیون هوشمند یا پوشافزارهای طبی (ابزارهای سنجش سلامتی پوشیدنی) را در نظر بگیرید. هنگامی که این ابزارها را به تن میکنیم، این ابزارها میتوانند از طرف ما به سرویسهای ابری و API ها دسترسی پیدا کنند. همچنین به وسیله اطلاعاتی که دریافت میکنند تجربه کاربری را برایمان شخصیتر و ملموستر میکنند. اما مدیریت مجوزهای دسترسی در این ابزارها با روشهای احزار هویت عادی امکانپذیر نیست.
احراز هویت در سامانهها یا سرویسها عادی، توسط مجوزهایی که از طرف سرور تعیین میگردید مدیریت میشد. در نتیجه برای دسترسی به نرمافزارها یا سرویسهای دیگر در همان اپلیکیشن، مجوزهای کاربر با این نرمافزارها و سرویسها به اشتراک گذاشته میشد. این روش مشکلات امنیتی زیادی ایجاد میکرد، از جمله این مشکلات ذخیره مجوزها درون پکیجها، پشتیبانی سرورها از احراز هویت گذرواژهها و عدم امکان محدود کردن دسترسی به یک نرم افزار یا پکیج خاص بود.
یکی از روشهای ساده برای مدیریت مجوزها در این ابزارهای هوشمند، استاندارد IETF است. این استاندارد، از پروتکل مجوزدهی OAuth2 استفاده میکند. بستر احراز هویت OAuth 2.0 برای مدیریت دسترسی به سرویسهای HTTP ایجاد شده است. احراز هویت با روش OAuth این موضوع را بدین صورت حل کرد که یک لایهی مجوزدهی ایجاد کرد تا نقش کاربر را از مجوز دسترسی آن جدا کند. در نتیجه به جای استفاده از مجوزهای دسترسی، از “توکن دسترسی” استفاده میشود که دارای زمان انقضاء، محدوده مجاز و سایر ویژگیها است. این توکنهای دسترسی توسط یک سرور احراز هویت به نرمافزارها، پکیجها یا کاربران اختصاص داده میشوند. در نتیجه کاربر یا کلاینت با استفاده از این توکن دسترسی بدون آنکه لازم باشد اطلاعات هویتنامه خود را وارد کند، به منابع و بخشهای معین دسترسی دارد.
به این ترتیب، هر ابزار میتواند یک توکن دسترسی محدود را دریافت کند که برای معرفی هویت وی به سرویسهای دیگر استفاده شود. مهمتر اینکه این مجوز دسترسی، زمانی که ابزار فروخته و یا گم شود قابل لغو و ابطال است.
توکنهای حامل در مدیریت هویت و دسترسی مشتری محور
توکنهای دسترسی، توکنهای حامل هستند. این یعنی شما به محض این که صاحب یک توکن معتبر شوید، به آن دسترسی خواهید داشت. مشکل اصلی توکنهای حامل این است که در صورت به سرقت رفتن این توکنها (مثلاً از طریق کانالهای ارتباطی ناامن، MITN یا حمله مرد میانی و …) امکان سواستفاده از آن فراهم است. سرورهای منبع، فقط اعتبار توکنهای دسترسی و اینکه آیا دارای مجوز و محدوده صحیحی هستند را بررسی میکنند. آنها اینکه آیا فرد یا برنامه کاربردی یا ابزاری که توکن را در اختیار دارد صاحب اصلی آن است را چک نمیکنند.
به عنوان راهکار، استاندارد IETF بر تولید توکنهایی تمرکز دارد که در صورت به سرقت رفتن امکان استفاده مجدد از آنها وجود ندارد. هر توکن صادر شده حاوی اطلاعات درخواست کننده است (مثلاً یک رمز عمومی). در ادامه برای ارزیابی اعتبارصاحب توکن، رمز عمومی از توکن دسترسی استخراج شده و طی یک پرسش و پاسخ بررسی میشود که آیا ارائه دهنده توکن صاحب اصلی رمز خصوصی متناظر با آن هست یا خیر. در صورت مثبت بودن جواب که مشکلی نیست و دسترسی داده میشود. در صورتی که جواب منفی باشد دسترسی داده نشده و مشخص میگردد ارائه دهنده توکن صاحب اصلی آن نیست.
گسترش ثبتنام و ورود به سایتها با حساب کاربری شبکههای اجتماعی
همه ما این تجربه را داریم که برای ورود یا ثبت نام در یک سایت یا شبکه اجتماعی، از ما درخواست میشود با حساب گوگل یا فیسبوک خود وارد شویم. در حقیقت، یکی از راهکارها برای ثبت نام و ورود به سایتهای مختلف، واگذاری مدیریت یکپارچه هویت کاربران و احراز هویت آنها با حساب کاربری آنها در شبکههای اجتماعی -از قبل توییتر، فیس بوک و گوگل- است. البته این روش را نمیتوان به طور کامل جایگزین مدیریت هویت و دسترسی مشتری محور داتست، اما به هر صورت برای سهولت کاربران توسعه یافته است.
امروزه کاربرد واگذاری مدیریت هویت به شبکههای اجتماعی به قدری رایج شده است که شرکتهای ارائه دهنده خدمات دولتی و خصوصی مانند شرکتهای خدمات بانکی و بیمهای و حتی شرکتهای کوچک هم نمیتواند از مزایای آن چشمپوشی کنند. این روش نه تنها به فرایند ثبت نام کاربران سرعت میبخشد، بلکه سربار هزینههای مربوط به مدیریت هویت را کاهش میدهد.
اما بخش چالش برانگیز واگذاری مدیریت هویت به شبکههای اجتماعی این است که سازمانهای دیگر ناچار به پذیرش قوانین بررسی، ثبت نام و ذخیرهسازی اطلاعات توسط این شبکههای اجتماعی هستند. شبکههای اجتماعی پر است از حسابهای کاربری غیرواقعی یا حسابهایی که دیگر مالکی ندارند. علاوه بر این شبکههای اجتماعی از اطلاعات کاربران برای جنبههای درآمدزایی و تبلیغات هدفمند نیز بهره میبرند.
احراز هویت مجدد به صورت پیشفرض
امروزه بسیاری از کاربران با سایتها و شبکههای اجتماعی روبرو میشوند که آنها را در مراحل مختلف وادار به احراز هویت مجدد میکنند. این مسئله در برنامههای کاربردی تلفنهای هوشمند بسیار رایج است. به عنوان مثال، زمانی که کاربر میخواهد وارد این برنامهها شود، حتی اگر قبلا بارها وارد این برنامه شده باشد، یک سری هشدار ظاهر میشودکه از وی میخواهد برای اثبات اینکه صاحب اصلی حساب است یک کار ساده انجام دهد (مثلا اسکن اثر انگشت یا باز کردن قفل صفحه).
فرایند تایید هویت اجباری، یکی از راهکارهای بسیار مناسب برای اطمینان از هویت واقعی کاربر است و احتمالا در آینده در سیستمهای احراز هویت سازمانها، این روش جایگزین احراز هویت مبتنی بر رمز یکبار مصرف یا OTP خواهد شد.
ترکیب توکنهای بدون وضعیت یا stateless با میکروسرویسها
یکی از روشهای جدید برای ایجاد سرویسهای پیچیده و بزرگ، این است که آن را به چندین سرویس مستقل و کوچکتر میشکنند تا مدیریت و راهاندازی آن سادهتر باشد. میکروسرویسها در واقع سرویسهای کاربردی کوچکی هستند که قادرند آزادانه با دیگر برنامهها همگام و به طور پیوسته به روزرسانی شوند و خدمت رسانی کنند.
توکن بدون وضعیت هم در اصل یک توکن دسترسی (غالبا از نوع JSON Web ) است که کلیه دسترسیها، اعتبارها و مجوزهای دادهها را در یکجا گردآوری میکند.
با گسترش استفاده از میکروسرویسها، چالشها و مسائل جدیدی در حوزه احراز هویت و مجوزدهی بوجود خواهد آمد. ولی با اضافه شدن “توکنهای بدون وضعیت” به قابلیتهای میکروسرویسها، علاوه بر حل این چالشهای مربوط به مدیریت هویت، امکان پشتیبانی زیر ساختهایی با چند میلیون تراکنش نیز فراهم میشود.
زیرساختهای میکروسرویسها در محیطهایی که حجم تراکنشها بسیار بالاست، کاملا آسیبپذیر هستند. زیرا ممکن است روزانه چندین میلیون درخواست ارائه شود که اجرای متدهای فراخوانی(GET) جهت بازیابی یا متدهای به روز رسانی(POST) دادهها، برای هر تراکنش تعداد 10 یا 20 یا حتی 100 میکروسرویس مستقل را به کار گیرند. در این حجم بسیار بالای درخواست و تراکنش، امکان عبور دادن یک توکن دسترسی داخل هدر مجوزدهی HTTP قدرت و انعطافپذیری زیادی به همراه خواهد داشت که در صورت استفاده از توکنهای دسترسی بدون وضعیت، چهارچوبی قابل توسعه فراهم خواهد آمد.
توکنهای بدون وضعیت، به دلیل مکانیسمهایی که برای کاهش مراجعه به منبع دارند، در حجم بالای تراکنشها کارایی را بسیار بهبود میبخشند. این توکنها را هم شاید بتوان نوعی از سیستمهای مدیریت هویت و دسترسی مشتری محور به شمار آورد.