اصول طراحی سیستم مدیریت هویت و دسترسی
مدیریت هویت و دسترسی خوب مبتنی بر اصول طراحی سیستم مدیریت هویت و دسترسی میتواند یک عامل کلیدی برای موفقیت کسبوکار در عصر تحول دیجیتال باشد. مدیریت هویت و دسترسی، نیازهای حیاتی مأموریت را به منظور اطمینان از دسترسی درست به منابع در محیطهای فناورانه ناهمگن را مشخص کرده و امکان برآوردهسازی الزامات انطباقپذیری را فراهم مینماید. مدیریت هویت و دسترسی به عنوان یک روش امنیتی، یک مسئولیت حیاتی در سازمانهای امروزی به شمار میرود. مدیریت هویت و دسترسی به طور فزآیندهای همراستا با اهداف کسبوکار است و علاوه بر تخصص فنی، نیازمند مهارتهای تجاری است.
مؤلفههای مختلفی در سیستمهای مدیریت هویت و دسترسی وجود دارد که از آن جمله میتوان به تأمین کاربر، مدیریت دسترسی، حاکمیت هویت، شناسایی یا احراز هویت، کنترل دسترسی یا مجوزدهی و همپیمانی (فدرالیسازی) هویت اشاره کرد. مدیریت هویت و دسترسی یک حوزه بسیار گسترده است از این رو، این مؤلفهها میتوانند به زیر مؤلفههای دیگری تقسیم شوند. در ادامه، فهرستی از اصول طراحی سیستم مدیریت هویت و دسترسی مورد نیاز برای پیریزی زیرساخت مدیریت هویت و دسترسی آورده شده است.
- اصل یک: ایجاد شناسههای خصوصی غیرقابل تغییر/ شناسههای عمومی تغییرپذیر
- اصل دو: جداسازی اطلاعات قابل شناسایی شخصی هسته/ ایستا از دادههای تراکنشی
- اصل سه: جداسازی خصیصههای بیومتریک از اطلاعات قابل شناسایی شخصی (PII)
- اصل چهار: تحقق بخشیدن به قوانین کنترل دسترسی
- اصل پنج: اطمینان از نبود دسترسی نوشتاری برای سطوح اعتماد پایین
- اصل شش: جداسازی مدیریت هویت B2C از B2B و B2E
- اصل هفت: اطمینان از وجود اسامی مستعار ماندگار برای اشتراک خصیصه
- اصل هشت: قوانین استاندارد
- اصل نه: ایجاد اعتبارنامههای خود-بیانگر
- اصل ده: در نظر گرفتن حسابهای کاربری ممتاز به عنوان یک دسته جدا
در ادامه هر یک از اصول طراحی سیستم مدیریت هویت و دسترسی به صورت مختصر مورد بررسی قرار میگیرند. لازم به ذکر است قواعد مورد بررسی کامل نیستند ولی مبنای اولیه قوانین کلیدی مورد نیاز برای پیریزی معماری مدیریت هویت و دسترسی را ارائه میدهند.
اصل یک: ایجاد شناسههای خصوصی غیرقابل تغییر/ شناسههای عمومی تغییرپذیر
کاربران در هر سیستم مدیریت هویت و دسترسی با یک یا چند شناسه هویتی شناسایی میشوند. این شناسه میتواند شامل نام کاربری، آدرس ایمیل، شماره تلفن، شماره تأمین اجتماعی یا هر شناسه منحصر به فرد در سراسر سیستم باشد. کاربر میتواند از هر از این شناسهها برای دسترسی به سیستم استفاده نماید. برای مثال، کاربر برای ورود به یک وبسایت میتواند از آدرس ایمیل یا شماره تلفن استفاده نماید. در عین حال، کاربر میتواند چندین آدرس ایمیل داشته باشد و از هر کدام از آنها استفاده نماید. آدرس ایمیل جزو شناسههای عمومی کاربر محسوب میشود و کاربر به راحتی میتواند آن را در اختیار دیگران قرار دهد. شناسههای عمومی تغییرپذیر هستند و کاربر باید امکان تغییر آنها را داشته باشد.
شناسههای عمومی منحصر به فرد نیستند و این امر ایجاد شناسههای خصوصی غیرقابل تغییر را اجتنابناپذیر مینماید. شناسههای خصوصی توسط سیستم ایجاد میشوند و برای همیشه در سراسر سیستم منحصربهفرد میباشند و هیچگاه با کاربران دیگر به اشتراک گذاشته نمیشوند. کاربر باید جایگاه واحدی در سیستم داشته باشد تا امکان نگاشت شناسه خصوصی به یک یا چند شناسه عمومی وجود داشته باشد. این امر موجب ایجاد یک جدول نگاشت در داخل سیستم میشود که استفاده از شناسههای عمومی در داخل سیستم را امکانپذیر مینماید.
بیشتر بخوانید: سیر تکامل مدلهای مدیریت هویت
در زمان ورود به سیستم از تطابق شناسه عمومی ارائه شده با شناسه خصوصی متناظر آن برای احراز هویت کاربر استفاده میشود. تمامی ممیزی و تحلیلهای انجام شده در سیستم بر اساس شناسه خصوصی کاربر انجام میشود. با این وجود، برای ایجاد داشبورد و ارائه گزارشهای معنادار میتوان از نگاشت دوباره شناسههای کاربر استفاده کرد. تا زمانی که تمامی رویدادهای داخلی سیستم با استفاده از شناسههای غیرقابل تغییر نگهداری میشوند تغییر شناسه عمومی هیچ تأثیری بر سیستم نخواهد داشت.
اصل دو: جداسازی اطلاعات قابل شناسایی شخصی (PII) هسته/ ایستا از دادههای تراکنشی
اطلاعات قابل شناسایی شخصی (Personally Identifiable Information-PII) بنابر تعریف مؤسسه ملی استاندارد و فناوری (NIST) به اطلاعاتی در مورد یک فرد اشاره دارد که توسط آژانس نگهداری میشوند و شامل هر گونه اطلاعاتی است که میتواند برای تمیز دادن و رهگیری هویت افراد (مانند نام، شماره تأمین اجتماعی، تاریخ و محل تولد، رکوردهای بیومتریک) مورد استفاده قرار گیرد. همچنین اطلاعات قابل شناسایی شخصی شامل هر گونه اطلاعاتی (مانند اطلاعات دارویی، تحصیلی، مالی یا کارمندی) است که به فرد مرتبط شده یا قابل اتصال به یک فرد است.
اطلاعات قابل شناسایی شخصی استاتیک یا نزدیک به استاتیک شامل نام، نام خانوادگی، ایمیل، شماره تلفن، شماره تأمین اجتماعی میباشد. دیگر اطلاعات قابل اتصال به فرد شامل رکوردهای پزشکی، رکوردهای تحصیلی/ مالی، الگوهای ورود به سیستم و غیره میباشد. در زیرساخت سیستم مدیریت هویت و دسترسی، دادههای تراکنشی باید از اطلاعات قابل شناسایی شخصی استاتیک جداسازی شوند و امکان ایجاد ارتباط مابین آنها و شناسه سیستمی غیرقابل تغییر و تولید شده به صورت خودکار وجود داشته باشد (اصل یک).
این جداسازی به پردازش مستقل دادههای تراکنشی از اطلاعات قابل شناسایی شخصی استاتیک کمک میکند. جداسازی کمک میکند تا ملزومات پردازش دادههای غیراستاتیک بر اساس نوع داده انتخاب شود. به علاوه، این عمل نگرانیهای مربوط به حریم خصوصی داده را نیز برطرف مینماید. با استفاده از این روش، نیازی به رمزنگاری دادههای تراکنشی وجود ندارد و تنها باید اطلاعات قابل شناسایی شخصی و جدول نگاشت رمزگذاری شوند. زمانی که نیاز به حذف کاربری وجود داشته باشد تنها باید اطلاعات قابل شناسایی شخصی استاتیک و فیلدهای موجود در جدول نگاشت پاک شوند. این امر دادههای تراکنشی مرتبط را غیرقابل شناسایی مینماید.

اصل سه: جداسازی خصیصههای بیومتریک از اطلاعات قابل شناسایی شخصی
Aadhaar، طرح ابتکاری دولت هند برای صیانت از حقوق بنیادی ساکنین این کشور به منظور برخورداری از هویت غیرقابل جعل به عنوان بزرگترین مخزن دادههای بیومتریک در جهان شناخته میشود. در این مخزن داده، اطلاعات مربوط به اثر انگشت و عنبیه بیش از یک میلیارد نفر از ساکنین هند نگهداری میشود. Aadhaar علاوه بر اطلاعات بیومتریک، نام، تاریخ تولد، جنسیت، آدرس و موبایل/ ایمیل (اختیاری) هر کدام از ساکنین کشور هند را جمعآوری کرده است.
سیستم اثر انگشت یکپارچهسازی شده خودکار ایالات متحده که توسط پلیس فدرال این کشور ایجاد شده است یک مخزن بزرگ دیگر از اطلاعات بیومتریک به شمار میرود که اطلاعات مربوط به اثر انگشت، تصویر صورت و دیگر ویژگیهای فیزیکی فرد شامل وزن، قد، رنگ مو و چشم و حتی زخمها و خالکوبیها در آن نگهداری میشود. در این پایگاه علاوه بر اطلاعات 70 میلیون مجرم، اطلاعات 34 میلیون شهروند عادی نگهداری میشود که عوامل اجرای قانون به صورت تمام وقت به آن دسترسی دارند.
شناسایی و احراز هویت دو مورد از کاربردهای اصلی بیومتریک میباشند. شناسایی هویت معمولاً در پاسخ سؤال “شما چه کسی هستید؟” مورد استفاده قرار میگیرد و در صورت لزوم شناسایی هویت یک فرد مورد استفاده قرار میگیرد. احراز هویت بیومتریک سؤال “میتوانید اثبات کنید چه کسی هستید” را مطرح میکند و عمدتاً با اثبات هویت در سناریوهای دیجیتال در ارتباط است. احراز هویت یک مقایسه یک به یک برای اطمینان از تطابق بیومتریک فرد با هویت مورد ادعای او به شمار میرود. بسیاری از سازمانها از بیومتریک به عنوان عامل دوم در احراز هویت چند عاملی استفاده میکنند.
ذخیرهسازی دادههای بیومتریک یکی از معیارهای اساسی در بکارگیری خصیصههای بیومتریک به شمار میرود. ثبت اطلاعات بیومتریک و کنترل انطباق آن با استفاده از موتورهای بیومتریک تخصصی انجام میشود. موتورهای بیومتریک، قالبهای بیومتریک را برای هر کاربر ذخیره میکنند. دادههای بیومتریک و اطلاعات قابل شناسایی شخصی باید در زمان ذخیرهسازی از یکدیگر جدا شوند. تولید هش (فایل درهمسازی شده) شناسه شخصی غیرقابل تغییر (نام مستعار کاربر) و ذخیرهسازی آن به همراه دادههای بیومتریک، سادهترین راه برای انجام این کار است.
اصل چهار: تحقق بخشیدن به قوانین کنترل دسترسی
قوانین کنترل دسترسی بازتابی از نیازهای کسبوکار هستند. این قوانین باید به نحوی تهیه شوند که به راحتی و با کمترین تأثیر/ تلاش، تغییرات ایجاد شده نیازمندیهای کسبوکار را پوشش دهند. تحقق بخشیدن به قوانین کنترل دسترسی کلیدیترین نکته در دستیابی به این امر است که میتواند مستقل از کد برنامه کاربردی حاصل شود. جداسازی وظایف نکته مهم دیگری است که باید مورد توجه قرار گیرد. در یک سازمان، توسعهدهنده برنامه کاربردی یا حتی معماری هویت نمیتوانند قوانین مربوط به کنترل دسترسی را تعیین نمایند بلکه خود کسبوکار است که الزامات مورد نیاز را مشخص میکند. چرا که این موضوع، یک تصمیم فنی نیست بلکه یک تصمیم مربوط به کسبوکار به شمار میرود.
علاوه بر این، در زمان استقرار محصول نیز راهبر مدیریت هویت و دسترسی یا راهبر سیستم هستند که پیکربندی قوانین کنترل دسترسی را انجام میدهند. تحقق بخشیدن به قوانین کنترل دسترسی در کاهش موانع پیش رو و دستیابی به هدف تعیین شده بسیار مؤثر است.زمانی که قوانین نمود خارجی پیدا کرد باید بهترین روش برای ارائه و اجرای آنها انتخاب شود. معمار هویت باید یک معماری برای راهبری/ مدیریت سیاست، اجرای سیاست، ارزیابی و ذخیرهسازی سیاست ایجاد کند. اگر قرار است این معماری از مبنا توسعه داده شود بهتر است از XACML استفاده شود. XACML متشکل از یک معماری مرجع، یک زبان برای سیاست و یک پروتکل درخواست/ پاسخ است. معماری مرجع XACML یک نقطه راهبری سیاست (Policy Administration Point-PAP)، یک نقطه تصمیمگیری در مورد سیاست، یک نقطه اجرای سیاست، یک نقطه اطلاعات در مورد سیاست و نقطهای برای تعامل بین آنها ایجاد کرده است. زبان سیاست XACML بر مبنای XML است.
بیشتر بخوانید: امنیت تعریف شده با هویت
مدل درخواست/ پاسخ XACML میتواند مبتنی بر XML یا JSON باشد. همچنین تعاملات مابین نقطه تصمیمگیری در مورد سیاست و نقطه اجرای سیاست میتواند با استفاده از REST API استانداردسازی شود.
اصل پنج: اطمینان از نبود دسترسی نوشتاری برای سطوح اعتماد پایین
هر کدام از مؤلفههای موجود در شبکه دارای سطح اعتماد مشخصی میباشند. اصول طراحی سیستم مدیریت هویت و دسترسی و مؤلفههای کلیدی در استقرار مدیریت هویت و دسترسی شامل تأمینکننده هویت (IdP)، مخزن هویت، مخزن سیاست/ متادیتا، یک دروازه (نقطه اجرای سیاست) و تأمینکننده سرویس میباشد. هر کدام از این مؤلفهها میتوانند در دامنههای اعتمادی متفاوتی قرار داشته باشند.
US WSO2 یکی از بزرگترین ارائهدهندگان سرویسهای زیرساخت شبکه و ارتباط است که تأمینکننده هویت مورد نیاز خود را بر روی مخزن هویتی شرکت ایجاد کرده است. تأمینکننده هویت و مخزن هویتی مورد بحث در سطح اعتماد یکسانی قرار دارند. تأمینکننده هویت به عنوان ستون فقرات و مبنای زیرساخت هویتی شرکت [تنها نقطه اعتماد] فعالیت میکند. اگر یکی از بخشهای وابسته این شرکت از تأمینکننده هویت و ارائهدهنده سرویس جداگانهای استفاده نماید تنها برنامههای کاربردی مستقر در آن بخش از سطح اعتماد مربوط به سرویسهای جدید قرار میگیرند. برای تسهیل ارتباط مابین تأمینکنندگان هویت میتوان از SAML 2.0 Web SSO استفاده کرد.
اگر تأمینکننده هویت و ارائهدهنده سرویس در سطوح اطمینان متفاوتی قرار داشته باشند میتوان از کنترل فقط-خواندن برای کنترل دسترسیهای اعطا شده بهره گرفت. طراحی و ساخت زیرساخت مدیریت هویت و دسترسی در سطوح اعتماد مختلف به غیرمتمرکزسازی مسئولیتها و مالکیت بر اساس سطح اعتماد منجر خواهد شد.
اصل شش: جداسازی مدیریت هویت B2C از B2B و B2E
در مدیریت هویت و دسترسی کسبوکار با کارمندان (B2E)، روند استخدام و کنترلهای مربوط به آن از مسئولیتهای کارفرما است در حالی که در مدیریت هویت کسبوکار با مشتری (B2C) این روند بیشتر در اختیار خود فرد است. به عبارت دیگر، بخش نیروی انسانی روند مربوط به استخدام کارمند را آغاز میکند و مالک اصلی حساب کاربری کارمند است ولی در مورد مشتری چنین روندی وجود ندارد و خود مشتری نسبت به ثبتنام اقدام میکند. مشتری میتواند یک مشتری کاملاً جدید بوده یا از مشتریان سابق سازمان باشد که برای استفاده از سرویسهای آنلاین سازمان اقدام کرده است. سازمانهای مختلف از روشهای متفاوتی برای ثبتنام مشتریان جدید خود استفاده میکنند.
مدیریت هویت و دسترسی کسبوکار با کارمند (B2E)/ کسبوکار با کسبوکار (B2B) به طور کلی با عنوان مدیریت هویت و دسترسی نیروی کار شناخته میشوند که یک فرآیند درون سازمانی به شمار میرود. کاهش ریسکهای مرتبط با استخدام و قطع همکاری با کارکنان قبلی، پیمانکاران و تأمینکنندگان، هدف اصلی مدیریت هویت و دسترسی نیروی کار است؛ در حالی که هدف اصلی مدیریت هویت و دسترسی مشتری (B2C)، کمک به رشد درآمد از طریق بکارگیری دادههای هویتی برای به دست آوردن و نگهداری مشتری است.
یکپارچهسازی سیلوهای هویتی موجود در سازمان مهمترین چالش مدیریت هویت و دسترسی نیروی کار به شمار میرود. یکپارچهسازی هویت علاوه بر کاهش هزینه و ریسکهای تعامل B2B و B2E، موجب بهبود بهرهوری، امنیت، حاکمیت، نظارت و انطباقپذیری میشود.

اصل هفت: اطمینان از وجود اسامی مستعار ماندگار برای اشتراک خصیصه
فعالیت به عنوان تنها منبع اعتماد یکی از کلیدیترین مسئولیتهای تأمینکننده هویت فعال در زیرساخت مدیریت هویت و دسترسی است. تمامی دیگر مؤلفههای موجود در شبکه شرکت و حتی خارج از آن به اظهارنامههای صادره از جانب تأمینکننده هویت اعتماد میکنند. این اظهارنامهها میتوانند اظهارنامههای احراز هویت، خصیصه یا مجوزدهی باشند که به موجودیت احراز هویت شده الصاق میشوند. الصاق اظهارنامه با استفاده از شناسههای عمومی قابل تغییر امکانپذیر نیست و شناسههای خصوصی غیرقابل تغییر نیز تنها در داخل سیستم سازمان میتوانند استفاده شوند.
برای الصاق اظهارنامهها میتوان از اسامی مستعار ماندگار ارائه شده توسط کاربر یا ارائهدهنده سرویس استفاده کرد. هر کاربر، اسامی مستعار متفاوتی برای استفاده از سرویسهای هر کدام از ارائهدهندگان سرویس دارد که به شناسه شخصی غیرقابل تغییر او نزد تأمینکننده هویت نگاشت داده میشود. استفاده از اسامی مستعار میتواند مشکلاتی را نیز به همراه داشته باشد. اگر کاربر از نام یکسانی برای چندین ارائهدهنده سرویس استفاده کند امکان همکاری ارائهدهندگان سرویس برای کشف رفتار/ الگوهای دسترسی کاربر وجود دارد.
اصل هشت: قوانین استاندارد مدیریت هویت
محصولات هویتی برای ایجاد مزیت رقابتی و بهبود کسبوکار باید استانداردهای هویتی باز را پشتیبانی نمایند. استانداردها معمولاً با همکاری تعداد بالایی از افراد، نهادها، مؤسسات، سازمان و … مانند W3C، IETF، بنیاد OpenID، OASIS و Kantara Initiative ایجاد میشوند که مدت زمان زیادی را برای کشف مشکلات موجود در فضای هویت، ایجاد راهحلها و استانداردسازی آنها صرف کردهاند. پس از تعریف مسئله، در وهله نخست باید استانداردهای هویتی موجود را برای یافتن پاسخ جستوجو کرد.
بیشتر خوانید: قوانین هویت دیجیتال
کیم کامرون
اصل نه: ایجاد اعتبارنامههای خود-بیانگر (Self-Expressive)
جنبههای متفاوتی باید در توسعه سیستمهای IAM و اصول طراحی سیستم مدیریت هویت و دسترسی در نظر گرفته شوند. در صورتی که تمامی جوانب لحاظ نشوند ممکن است چالشهایی در زمان بهروزرسانی سیستم برای استفاده از الگوریتمهای هش [درهمسازی] امنتر ایجاد شود.
امنسازی اعتبارنامههای کاربران یکی از جنبههای کلیدی در هر زیرساخت مدیریت هویت و دسترسی است. اعتبارنامههای میتوانند یک گذرواژه یا هر نوع کلید دیگری باشند. دو نوع اعتبارنامه وجود دارد که در زیرساخت مدیریت هویت و دسترسی ذخیرهسازی میشوند. اعتبارنامههای که از طرف سازمان صادر شده و سازمان مالک آن است و اعتبارنامههایی که توسط کاربر مورد استفاده قرار میگیرد. مورد اول از جمله اعتبارنامههای خود-بیانگر است که گذرواژهها و کلیدهای OAuth صادره توسط سازمان را شامل میشود. اعتبارنامههای مورد استفاده برای دسترسی به سیستمهای نهادهای ثالث و ذخیرهسازی شده توسط کاربر در دسته دوم قرار میگیرند.
امنیت نوع اول اعتبارنامه را میتوان با استفاده از الگوریتمهای هش تأمین نمود ولی برای اعتبارنامههای نوع دوم باید از رمزگذاری استفاده شود. در روش بکارگیری هش، مقدار هش اعتبارنامه ذخیرهسازی میشود و در زمان استفاده، مقدار هش تولید شده با مقدار موجود مقایسه میشود و اعتبارنامه به نحوی خود-بیانگر است.
اصل ده: در نظر گرفتن حسابهای کاربری ممتاز به عنوان یک دسته جدا
حسابهای کاربری ممتاز در سیستمهای مدیریت هویت و دسترسی در موارد متفاوتی مورد استفاده قرار میگیرند. اعتبارنامههای پایگاه داده، اعتبارنامههای مربوط به مخازن هویت، اعتبارنامه راهبر/ مدیر سیستم مدیریت هویت و دسترسی، و دیگر حسابهای کاربری که عملکردهای مدیریتی را فراهم مینمایند از جمله حسابهای کاربری ممتاز میباشند. بر اساس بررسیهای انجام شده توسط Forrester، حدود 80 درصد از نشتهای امنیتی دربردارنده اعتبارنامههای ممتاز بوده است. اعتبارنامههای ممتاز دامنه وسیعی را برای سرقت حجم بالایی از اطلاعات در اختیار مهاجمین قرار میدهند.
با استفاده از این اعتبارنامهها، مهاجم میتواند کل پایگاه داده را کپی نماید، محدودیتهای مربوط به ترافیک شبکه را دور بزند، رویدادهای ثبت شده در سیستم را حذف کرده و فعالیتهای خود را پنهان نماید و دادهها را مطابق نظر خود تغییر دهد.
مدیریت دسترسی ممتاز یکی از حوزههای کلیدی در مدیریت هویت و دسترسی است. در زمان ایجاد هر گونه زیرساخت برای مدیریت هویت و دسترسی باید الزامات و امکانات مربوط به یکپارچهسازی با محصولات تجاری مدیریت هویت ممتاز در نظر گرفته شوند. همچنین برای انطباق با الزامات و فرامینی مانند SOX، PCI-DSS، HIPAA، FISMA، BASEL III و … باید سیستمهای مدیریت هویت ممتاز را در سیستم مدیریت هویت و دسترسی سازمان مورد استفاده قرار گیرند.
نویسنده: تورج اکبری

مراجع
P. Siriwardena, “Identity Architect Ground Rules: Ten IAM Design Principles,” WSO2, 2017
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.