کلیدهای RSA پر از صفر، یه ضعف تازه
خلاصهٔ کاملتر
به گفتهٔ بروس اشنایر، این یه تحقیق جالب روی یه کلاس تازه از کلیدهای ضعیف RSAست: کلیدهایی که کلی صفر دارن. معلوم شده این کلیدها واقعاً تو دنیای واقعی وجود دارن.
طبق نقلقول از تحقیق، پروژهٔ متنبازِ badkeys کلیدهای عمومی رو برای آسیبپذیریهای شناختهشده بررسی میکنه. موقع ساخت این ابزار، پژوهشگری به اسم Hanno تعداد عظیمی کلید واقعی از منابع عمومی جمع کرد؛ از جمله لاگهای Certificate Transparency، اسکنهای سراسریِ TLS و SSH و کلیدهای PGP. با جستوجو تو این مجموعه دنبال ماژولهای RSA که بهطور غیرمنتظره تُنُک بودن، تعداد زیادی کلید با این الگوها پیدا شد.
تحقیق دو الگو رو توصیف میکنه که هر دو چند بلوک صفرِ منظم رو با دادهٔ بهظاهر تصادفی درهمتنیده دارن. الگوی اول تو لاگهای CT برای گواهیهای صادرشده به چند سازمان بزرگ از جمله Yahoo و Verizon و روی بعضی دستگاههای NetApp دیده شد؛ خوشبختانه این گواهیها منقضی شدن. الگوی دوم روی هاستهای SSH با نرمافزار CompleteFTP از EnterpriseDT ظاهر میشه و کلیدهای RSA ساختهشده با نسخههای ۱۰ تا ۱۲ (دسامبر ۲۰۱۶ تا مارس ۲۰۱۹) رو تحت تأثیر قرار میده.
طبق تحقیق، این آسیبپذیریها فقط اقلیت کوچیکی از هاستهای اینترنت رو درگیر میکنن، ولی نکتهٔ جالبتر اینه که پیادهسازیهای رمزنگاریِ مستقل به شکل مشابهی خراب شدن. ممکنه پیادهسازیهای بیشتری همین باگها رو داشته باشن، برای همین ارزششو داره که الگوریتمهای تحلیل رمز رو مخصوص همین نوع خرابی تنظیم کنن.
نویسنده میگه خودِ تحقیق حدس و گمانی نمیزنه، ولی اشنایر یه گمانهزنی خودش اضافه میکنه: این میتونه یه بکدورِ عمداً طراحیشده باشه، از همون نوعی که تو سال ۲۰۱۳ دربارهٔ طراحیش نوشته بود. به نظرش میشه تصور کرد یه نهاد دولتی راهی برای شکستن این کلاس از کلیدهای RSA پیدا کرده و بعد ارائهدهندههای مختلف رو راضی کرده که این کلیدها رو دست کاربرها بدن.
نکات کلیدی:
- یه کلاس تازه از کلیدهای ضعیف RSA شناسایی شده: کلیدهای پر از بلوک صفر
- پروژهٔ badkeys نمونههای واقعیِ این کلیدها رو تو منابع عمومی پیدا کرد
- الگوها تو گواهیهای چند سازمان بزرگ و هاستهای SSH با CompleteFTP دیده شدن
- پیادهسازیهای رمزنگاریِ مستقل به شکل مشابهی دچار همین خرابی شدن
- اشنایر گمانهزنی میکنه که این میتونه یه بکدور عمدی باشه




