اخیرا NIST بروزرسانی در خط مشی SP 800-63 انجام داده و نسخه ی چهارم اون رو منتشر کرده. در این پست نگاهی به این استاندارد و بطور ویژه NIST SP 800-63B انداختیم.
آشنایی با موسسه NIST:
موسسه ملی استانداردها و فناوری یا NIST (National Institute of Standards and Technology) یک موسسه ملی استانداردسازی و تحقیقات فناوری در ایالات متحده آمریکا هستش که در سال 1901 تأسیس شده. مأموریت این سازمان، ارتقای نوآوری و رقابت پذیری صنعتی از طریق ارائه استانداردها، راهنماها و تحقیقات پیشرفته در حوزههای مختلف فناوری، بویژه امنیت سایبری، فناوری اطلاعات، و اینترنت اشیا (IoT) هستش. استانداردهای NIST، به عنوان مرجع بین المللی شناخته میشن و توسط سازمانها و شرکتهای مختلف در سراسر جهان برای ارتقای امنیت و عملکرد سیستمهاشون استفاده میشن. البته معمولا رعایت این استانداردها برای سازمانهای دولتی آمریکا و پیمانکاراشون اجباری هستش.
معرفی استاندارد NIST SP 800-63 :
استاندارد NIST SP 800-63 (Digital Identity Guidelines)، مجموعه ای از اصول کلی و چارچوبهایی رو برای مدیریت هویت دیجیتال ارائه میده و شامل راهنمایی هایی در زمینه احراز هویت، مدیریت اعتبار، و تضمین امنیت در سامانه های دیجیتال هستش.
آخرین نسخه ی این استاندارد که با عنوان SP 800-63-3 شناخته میشد، مربوط به 16 اکتبر 2023 بود، اما اخیرا NIST نسخه ی چهارم این استاندارد یعنی SP 800-63-4 رو منتشر کرده و در اون یسری موارد رو بروزرسانی کرده.
بصورت کلی این استاندارد شامل اسناد زیر هستش:
- NIST SP 800-63A (Enrollment and Identity Proofing) :
- این سند بر روی فرآیند ثبت نام و تأیید هویت تمرکز داره. مواردی مانند:
- نحوه جمعآوری اطلاعات هویتی کاربران
- تأیید صحت اطلاعات (مانند مدارک شناسایی)
- اطمینان از انطباق کاربر با هویتش در دنیای واقعی
- این سند سطح اطمینان در Identity Assurance Levels (IAL) رو تعریف میکنه.
- این سند بر روی فرآیند ثبت نام و تأیید هویت تمرکز داره. مواردی مانند:
- NIST SP 800-63B (Authentication and Lifecycle Management) :
- این سند به احراز هویت و مدیریت چرخه عمر اعتبارنامهها میپردازه. شامل مواردی نظیر:
- انواع روشهای احراز هویت (پسورد، بیومتریک، توکن ها)
- مدیریت امنیت پسورد
- نحوه حفاظت از اعتبارنامه ها
- سطح اطمینان Authenticator Assurance Levels (AAL) در این سند تعریف شده.
- این سند به احراز هویت و مدیریت چرخه عمر اعتبارنامهها میپردازه. شامل مواردی نظیر:
- NIST SP 800-63C (Federation and Assertions) :
- این سند مرتبط با احراز هویت در سامانه های فدرالی یا توزیع شده هستش. مواردی نظیر:
- تبادل اطلاعات احراز هویت بین سامانه های مختلف
- مدیریت امن Assertions (اطلاعات اعتبار که میان سیستمها منتقل میشه)
- این سند سطح اطمینان در Federation Assurance Levels (FAL) رو تعریف میکنه.
- این سند مرتبط با احراز هویت در سامانه های فدرالی یا توزیع شده هستش. مواردی نظیر:
در متن بالا اشاره به سطح اطمینان شد، اما منظور از اون چیه؟
معرفی سطح اطمینان (Assurance Level):
سطح اطمینان (Assurance Level) به درجهای از اطمینان گفته میشه که یک سامانه یا فرآیند میتونه قابل اعتماد بودن خودش رو در تأیید یا انجام یک عمل مشخص نشون بده. در زمینه احراز هویت دیجیتال (مطابق استانداردهای NIST)، سطح اطمینان بیانگر میزان اعتماد به صحت هویت یک فرد یا امنیت یک روش احراز هویت هستش.
انواع سطوح اطمینان:
NIST در سری SP 800-63، سطوح اطمینان رو در سه حوزه تعریف میکنه:
1. سطح اطمینان هویتی (Identity Assurance Levels – IAL):
به میزان اطمینان از صحت هویت شخص در هنگام ثبت نام و تأیید اطلاعات اولیه اشاره داره.
- IAL1: تنها اطلاعات اولیه جمعآوری میشه، بدون تأیید رسمی.
- IAL2: هویت فرد از طریق اسناد معتبر یا فرآیندهای تأیید کننده، تأیید میشه.
- IAL3: هویت با استفاده از منابع رسمی و حضور فیزیکی تأیید میشه.
2. سطح اطمینان احراز هویت (Authenticator Assurance Levels – AAL):
به امنیت و قدرت فرآیند احراز هویت اشاره داره.
- AAL1: از روشهای ساده مانند پسورد استفاده میکنه.
- AAL2: نیاز به روشهای قویتر مانند احراز هویت دو مرحلهای (MFA) داره.
- AAL3: بالاترین سطح امنیت با استفاده از سختافزار امن (مثل توکن های فیزیکی) ارائه میشه.
3. سطح اطمینان فدرالی (Federation Assurance Levels – FAL):
به امنیت و اعتماد در انتقال اطلاعات احراز هویت بین سیستمهای مختلف میپردازه.
- FAL1: اطلاعات بصورت ساده و بدون رمزنگاری امن منتقل میشه.
- FAL2: اطلاعات بصورت رمزنگاری شده ارسال میشه.
- FAL3: از مکانیزمهای امن و امضای دیجیتال برای تأیید صحت اطلاعات استفاده میشه.
سطح اطمینان تضمین میکنه که اقدامات امنیتی متناسب با حساسیت اطلاعات یا سیستم مورد نظر باشه. مثلا، برای ورود به یک حساب کاربری بانکی، سطح بالاتری از اطمینان (مانند AAL3) مورد نیاز هستش، در حالیکه برای ورود به یک سایت خبری ممکنه، AAL1 کافی باشه.
بررسی بروزرسانی NIST SP 800-63B (Authentication and Lifecycle Management):
در بین موارد بالا، شاید مهمترین و عمومی ترین سند، مربوط به NIST SP 800-63B باشه چون درصد بالایی از کاربران اینترنت شامل میشه. موارد A و C، معمولا باید توسط افراد فنی و برنامه نویسها و .. پیاده سازی و رعایت بشن. در ادامه این پست نگاهی به موارد جدید NIST SP 800-63B انداختیم، که در حقیقت استانداردهای جدیدی برای پسوردها و … رو معرفی میکنن.
اگه در چند دهه گذشته با بهترین شیوه های سیاست پسورد همراه بودید، استانداردها و توصیه های قدیمی همیشه کاربرپسندترین نبودن. استانداردهای جدید با سیاستهای جدید که رویکردی کاربر محورتر و دوستانه تر به امنیت قوی ارائه میدن، قصد تغییر این موضوع رو دارن. اونا همچنین برخی توصیه ها رو در مورد پیکربندیهای قدیمی سیاست پسورد که دیگه توصیه نمیشه رو، ارائه میدن.
در ادامه شش نکته کلیدی از دستورالعملهای جدید NIST در مورد مدیریت پسورد رو که سازمانها باید به اونا توجه کنن رو، استخراج و ارائه کردیم. برای بررسی سند کامل، به سایت رسمی NIST مراجعه کنید.
نکته اول: طول به جای پیچیدگی:
بیشتر سازمانها سالهاست که از سیاستهای پسورد یکسانی استفاده میکنن. اونا اغلب ترکیبی از حروف بزرگ، اعداد و نمادها رو برای افزودن پیچیدگی به پسورد کاربران نهایی درخواست میکنن. با این حال، NIST اکنون سازمانها رو تشویق میکنه تا بر طول به جای پیچیدگی تمرکز کنن. اما چرا؟
ممکنه دور شدن از پیچیدگی غیر منطقی به نظر برسه، اما به پیشبینی پذیری انسان مربوط میشه. کاربران نهایی اغلب از یک الگوی مشابه پیروی میکنن، با یک حرف بزرگ شروع میکنن و با یک عدد یا کاراکتر خاص پایان میدن، یا از تعویض کاراکترهای رایج مانند @ بجای a، استفاده میکنن. بنابراین بجای دریافت رمزهای عبور پیچیده تصادفی، اغلب با تغییرات جزئی در رمزهای عبور ضعیف مواجه میشیم:
- admin -> Admin123!
- password -> P@ssword1
- welcome -> Welcome2?
هکرها با استفاده از ابزارهای کرکینگ ترکیبی، که ابتدا این ترکیبهای محبوب رو امتحان میکنن، از این پیشبینیپذیری استفاده میکنن و زمان کرکینگ رو کاهش میدن.
بنابراین، به جای پیچیدگی، NIST توصیه میکنه که کاربران عبارات عبور (Passphrases) یا رمزهای عبور طولانی تری ایجاد کنن که بخاطر سپردن اونا آسونتر باشه اما برای هکرها حدس زدن اونا دشوارتر باشه. یک عبارت عبور خوب میتونه به سادگی یک رشته از کلمات بیربط مانند “sunset”، “stopwatch” و “fence” باشه، تا یک عبارت عبور طولانی واحد ایجاد بشه. کدام یک از موارد زیر برای یک کاربر نهایی به خاطر سپردنش آسونتره؟ عبارت عبور 25 کاراکتری یا پسورد پیچیده 8 کاراکتری:
- sunset6-stopwatch-fence$
- P3*tnL@7
نکته دوم: رمزهای عبور رو خیلی زود منقضی نکنید
تغییر مکرر پسورد زمانی سنگ بنای امنیت خوب در نظر گرفته میشد. با این حال، NIST اکنون توصیه میکنه که از انقضای اجباری پسورد خودداری کنید، مگه اینکه شواهدی از نقض امنیتی وجود داشته باشه. یکی از دلایل اینه که، مجبور کردن افراد به تغییر پسورد خود، خیلی زود میتونه منجر به شیوه های ضعیف پسورد بشه، جایی که کاربران نهایی اغلب فقط چند کاراکتر رو تغییر میدن یا از الگوهای تکراری کاراکترها استفاده میکنن. معمولا توصیه شده که بطور کامل از انقضای پسورد خودداری نکنید، چون خطراتی در مورد استفاده مجدد از پسورد وجود داره. اما منطقیه که در زمانیکه کاربران نهایی دارای رمزهای عبور قوی هستن و شما ابزاری برای اسکن رمزهای عبور به خطر افتاده دارید، انقضای طولانی تری رو تنظیم کنید.
نکته سوم: فیلتر کردن رمزهای عبور رایج و به خطر افتاده
یکی از پیشنهادات جدید در پیشنویس NIST برای بهترین شیوه های پسورد اینه که سازمانها رمزهای عبوری رو که کاربران سعی در تنظیم اونا دارن رو با لیستی از رمزهای عبور رایج که به خطر افتاده، مقایسه کنن. این لیستهای پسورد حاوی رمزهای عبور رایج به خطر افتاده از نقضهای قبلی و سایر رمزهای عبور نامطلوب هستن که ضعیف یا حدس زدن اونا آسون هستش. کاربران ممکنه متوجه نشن که از پسوردی که قبلاً در نقض هایی که قبلا عمومی شدن، مجدداً استفاده میکنن و در نتیجه در برابر حملات آسیبپذیر باشن. هکرها از این لیستها برای سرعت بخشیدن به تلاشهای کرکینگ خودشون استفاده میکنن. بنابراین منطقیه که سازمانها هم از اونا در دفاع استفاده کنن.
اگه بخوایید بدونید که چند نفر از کاربران فعلی شما در حال حاضر از پسورد به خطر افتاده استفاده میکنن، میتونید Active Directory خودتون رو با ابزار رایگان Specops Password Auditor، بررسی کنید. با این ابزار گزارشی در خصوص جزئیات آسیبپذیریهای مرتبط با پسورد دریافت میکنید، که میتونه به عنوان نقاط ورود برای مهاجمان استفاده بشن.
نکته چهارم: اجازه بدید کاربران رمزهای عبور طولانی تنظیم کنن
همانطور که در اولین نکته توضیح داده شد، آخرین ویرایش NIST میگه که طول، مهمترین اقدام امنیتی پسورد هستش. با این حال، این فقط در صورتی کار میکنه که در ابتدا به کاربران اجازه بدید عبارات عبور طولانی ایجاد کنن. آخرین دستورالعملها پیشنهاد میکنه که به کاربران اجازه داده بشه رمزهای عبور یا عبارات عبور تا 64 کاراکتر ایجاد کنن (حتی اگه کاربر متوسط به احتمال زیاد نیازی به رسیدن به این حد، نداشته باشه). رمزهای عبور طولانی تر، قوی ترند، اما بخاطر داشته باشید که حتی رمزهای عبور طولانی و منحصر به فرد نیز در برابر خطر مصون نیستن.
نکته پنجم: استفاده از احراز هویت چند عاملی (MFA)
در حال حاضر این ممکنه بدیهی به نظر برسه، اما MFA هنوز هم از اینکه همه جا مورد استفاده قرار بگیره، فاصله داره. NIST قویاً توصیه میکنه که MFA رو بعنوان یک لایه محافظتی بیشتر به رمزهای عبور اضافه کنید و فکر میکنه سازمانها نباید دیگه MFA رو اختیاری در نظر بگیرن. طبق تحقیقات مایکروسافت، 99.9٪ از حسابهای به خطر افتاده، MFA نداشتن. بنابراین بصورت جدی باید یک جنبه ضروری از امنیت کلی اکانت، باشن. پیادهسازی MFA برای سازمانهایی که به دنبال تقویت وضعیت امنیتی خودشون، مطابق با آخرین دستورالعملهای NIST هستش، ضروریه.
نکته ششم: توصیه نمیشه از راهنماییهای پسورد و بازیابی مبتنی بر اطلاعات استفاده کنید
در آخرین دستورالعمل، NIST توصیه میکنه که سازمانها از مکانیسمهای بازیابی پسورد سنتی دور بشن. این شامل مکانیسمهایی مانند راهنماییهای پسورد (Password Hints) و سوالات امنیتی مبتنی بر اطلاعات هستش که ایمن در نظر گرفته نمیشن. باز هم، این به رفتار قابل پیشبینی انسان مربوط میشه. کاربران نهایی اغلب پاسخهایی رو بر اساس اطلاعاتی انتخاب میکنن که میتونن به راحتی از رسانههای اجتماعی و سایر منابع عمومی قابل کشف باشن. در عوض، NIST توصیه میکنه که از این نوع سوالات به سمت گزینه های بازیابی امنتر برید. این ممکنه شامل تنظیم مجدد پسورد با لینکی باشه که از طریق ایمیل ارسال میشه یا استفاده از MFA برای تأیید هویت کاربر در طول بازیابی پسورد باشه.
چک لیست برای همسو شدن با دستورالعملهای جدید پسورد NIST:
بروزرسانی استراتژی پسورد ممکنه برای اکثر سازمانها یک فرآیند یک شبه نباشه. با این حال، چندین مرحله وجود داره که میتونه هنگام کار برای رسیدن به دستورالعملهای NIST در ذهن داشته باشید:
- بروزرسانی سیاستهای داخلی پسورد: سازمانها میخوان مطمئن بشن که سیاستهای پسورد اونا شامل آخرین توصیه های NIST هستش، مانند اولویتبندی طول به جای الزامات پیچیدگی و تنظیم زمانبندی انقضای پسورد.
- استفاده از لیستهای فیلتر کردن پسورد: سازمانها میخوان به دنبال ابزارهایی باشن که به اونا اجازه بده از لیستهای فیلتر کردن پسورد برای جلوگیری از استفاده از رمزهای عبور بخطر افتاده شناخته شده و رمزهای عبور رایج استفاده کنن.
- حرکت به سمت عبارات عبور: کاربران نهایی احتمالاً نیاز دارن که در مورد استفاده از عبارات عبور آموزش ببینن و مزایای رمزهای عبور طولانیتر رو یاد بگیرن. از مثالهای خوب برای نشون دادن اینکه چطوری عبارات عبور طولانی تر، میتونن به یاد ماندنی تر از رمزهای عبور کوتاه پیچیده باشن استفاده کنید.
- احراز هویت چند عاملی: MFA رو برای همه سیستمهای مهم و دادههای حساس اجباری کنید. راه حلهای MFA یک لایه دفاعی اضافی در برابر حملات سایبری فراهم میکنن.
- دور شدن از راهنماییهای پسورد و سوالات مبتنی بر دانش: از روشهای بازیابی امن استفاده کنید و از فرآیندهای تنظیم مجدد پسورد ضعیفی که به اطلاعات متکی هستن که میتونن به راحتی توسط هکرها حدس زده بشن، خلاص بشید.
- آموزش امنیت سایبری کارمندان: کاربران نهایی رو در مورد اینکه چرا دستورالعملهای NIST ارزش دنبال کردن رو دارن و چطوری به حفظ امنیت همه، از حملات سایبری کمک میکنن، آموزش بدید.
منابع: