مایکروسافت اعلام کرده که بزودی کلیدهای RSA کوتاهتر از 2048 در Windows TLS رو ، برای امنیت بیشتر منسوخ میکنه .
رمزنگاری RSA، یک سیستم رمزنگاری نامتقارن هستش که از دو جفت کلید عمومی و خصوصی استفاده میکنه و قدرتش مستقیما به طول کلید بستگی داره. هر چقدر طول کلید بیشتر باشه، شکستنش سختتر میشه یا به بیان دیگه هر چقدر تعداد بیت هاش بیشتر باشه، شکستن اون سختتر میشه.
کلیدهای RSA با طول 1024، تقریبا معادل 80 بیت قدرت دارن ، در حالیکه کلیدهای با طول 2048 بیت، تقریبا معادل 112 بیت قدرت دارن. در نتیجه شکستن کلیدهای RSA با طول 2048 ، 4 میلیارد برابر به زمان بیشتری ، نسبت به شکستن کلیدهای 1024 نیاز داره. کارشناسان معتقدن که کلیدهای 2048 بیتی تا سال 2023 امن هستن.
کلیدهای RSA در ویندوز با اهداف مختلفی مانند احرازهویت سرور، رمزنگاری داده و اطمینان از یکپارچگی ارتباطات مورد استفاده قرار میگیره.
این تصمیم مایکروسافت، بیشتر روی گواهینامه های استفاده شده در احرازهویت سرور TLS ،برای سازمانهایی که از رمزنگاری ضعیفی استفاده میکنن، میتونه مهم باشه.
استانداردهای اینترنت و نهادهای نظارتی در سال ۲۰۱۳ ، استفاده از کلیدهای ۱۰۲۴ بیتی رو ممنوع اعلام کردن و بطور خاص توصیه کردن که کلیدهای RSA باید طول کلیدی برابر با ۲۰۴۸ بیت یا بیشتر داشته باشن.
این حرکت مایکروسافت، درسته که به لحاظ امنیتی خوبه اما مشکلی که این وسط وجود داره اینه که ، سازمانهایی که از برنامه های قدیمی (مثلا بدلیل تحریمها) یا دستگاههای متصل به شبکه مانند چاپگرهایی استفاده میکنن که از کلیدهای 1024 بیتی استفاده میکنن، تاثیر میزاره و از احرازهویت اونا با سرورهای ویندوزی جلوگیری میکنه. در نتیجه این سازمانها یا مجبورن که هزینه کنن تا محصولات جدید تهیه کنن، یا محصولات جایگزین و مقرون به صرفه تهیه کنن و یا از نسخه های قدیمی ویندوز استفاده کنن ،که در همه ی حالات، میتونه روی امنیت اون سازمان حداقل برای یک دوره ی کوتاه ، تاثیر منفی بزاره.
زمان دقیق منسوخ شدن مشخص نشده، اما احتمالا این کار با یک اعلامیه رسمی شروع میشه و بعدش یک مهلت زمانی داده میشه، مثل زمانیکه در سال 2012 میخواستن کلیدهای زیر 1024 رو منسوخ کنن.
در این مهلت زمانی ، ادمینها میتونن با بررسی لاگ های ویندوز، متوجه بشن که چه دستگاههای با کلیدهای منسوخ شده سعی در اتصال دارن و تحت تاثیر این تغییر هستن.
مایکروسافت تصمیم داره برای حداقل کردن مشکلات احتمالی، تغییر رو طوری مدیریت کنه که روی گواهینامه های TLS سایر شرکت ها تاثیر نزاره.
در آخر مایکروسافت به سایر سازمانها هم توصیه کرده که از کلیدهایی با طول 2048 یا بیشتر استفاده کنن.
چطوری متوجه بشیم که چه دستگاههایی با کلید 1024 متصل هستن :
روش های مختلفی وجود داره ولی دو تا روش ساده میتونه این موارد باشه :
روش اول – استفاده از Event Viewer :
Event Viewer رو باز کنید و به مسیر زیر برید :
1 |
Applications and Services Logs > Microsoft > Windows > TLS |
در پنل وسط، به دنبال Operational بگردید و اونرو باز کنید.
در پنل سمت راست، به دنبال رویدادهای Error یا Warning با ID 4625 بگردید.
جزئیات رویداد رو باز کنید. در تب General، در قسمت Details، به دنبال Cipher Suite بگردید.
اگه Cipher Suite شامل RSA_1024 باشه، نشان میده که دستگاه از کلید RSA 1024 برای احراز هویت با سرور استفاده کرده .
نکته : Event Viewer فقط رویدادهای مربوط به TLS connections ناموفق رو لاگ میکنه.
روش دوم استفاده از پاورشل:
یک پاورشل با امتیاز ادمین باز کنید و دستور زیر رو اجرا کنید :
1 |
Get-TlsSession | Where-Object {$_.CipherSuite -match 'RSA_1024'} | Select-Object CipherSuite, LocalAddress, LocalPort, RemoteAddress, RemotePort, SslProtocol, HasSessionKey |
این دستور تمام جلسات TLS فعال رو که از کلید RSA 1024 استفاده میکنن، رو لیست میکنه.
نکته : PowerShell فقط اطلاعات مربوط به TLS sessions فعلی رو نمایش میده.
راههای جایگزین :
- می توانید از ابزارهای شخص ثالث مانند Wireshark برای مشاهده تمام TLS connections و Cipher Suites مورد استفاده اونا استفاده کنید.
- برای فیلتر کردن TLS ها میتونید در نوار فیلتر ، tls رو وارد کنید.
- برای مشاهده Cipher Suite ، روی هر اتصال کلید کنید و در تب Details دنبال Cipher Suite بگردید.
- میتونید از Microsoft Message Analyzer برای مشاهده جزئیات بیشتر در مورد رویدادهای TLS استفاده کنید.
نکات مهم :
- این روش ها فقط دستگاه هایی رو که بطور مستقیم به سرور ویندوز شما متصل میشن، شناسایی میکنن.
- اگر از VPN یا proxy در سازمانتون استفاده میکنید، ممکنه شناسایی دستگاه ها دشوارتر باشه.
همچنین برای مشاهده محصولات منسوخ شده ی مایکروسافت برای سالهای 2022، 2023، 2024 میتونید از این لینک استفاده کنید.