پژوهشگران امنیت روشی سریعتر برای تضعیف برخی پیادهسازیهای RSA را نمایش دادهاند که بدون نیاز به تجزیه (Factoring) پیمانه عمومی (Public Modulus) عمل میکند. این یافته، این فرض رایج را که قدرت عملی RSA همواره با هزینه تجزیه اعداد صحیح متناسب است، به چالش میکشد.
مکانیسم حمله و تحلیل فنی
این حمله دسترسی موقت به یک سرویس رمزگشایی یا امضای RSA خام و بدون Padding را به یک قابلیت دائمی برای جعل امضاها یا رمزگشایی متون رمزگذاری شده به صورت آفلاین تبدیل میکند. پژوهشگران این تکنیک را روی یک کلید RSA با اندازه 1,024 بیت پیاده کردند. محاسبات این عملیات طی پنج ماه، حدود 1,380 سال-هسته CPU (Core-years) زمان برد و به 232 پرسوجو از Oracle نیاز داشت. برای مقایسه، تخمین زده میشود که تجزیه یک پیمانه RSA 1,024 بیتی به حدود 500,000 تا یک میلیون سال-هسته نیاز داشته باشد.
این متد که توسط محققان eNFS نامیده شده، متعلق به خانواده Number Field Sieve است. برخلاف General Number Field Sieve که برای تجزیه پیمانههای RSA استفاده میشود، این روش با جایگزینی بخشی از محاسبات ریاضی با پاسخهای دریافتی از Signing Oracle، به پیچیدگیهای «ویژه» (Special) و سریعتر دست مییابد. نکته کلیدی این است که در این روش، عوامل اول یا کلید خصوصی RSA هرگز بازیابی نمیشوند.
مراحل اجرای حمله
- پیشمحاسبه: یک مرحله پیشمحاسبه با هزینه حدود 1,200 سال-هسته که تنها به پیمانه و توان (Exponent) عمومی وابسته است.
- جمعآوری دادهها: مهاجم مقادیر منتخب را به Raw RSA Oracle ارسال کرده و پاسخها را جمعآوری میکند.
- عملیات آفلاین: پس از جمعآوری پاسخها، دسترسی به Oracle میتواند قطع شود؛ چرا که جعل هر امضا یا رمزگشایی هدف، تنها حدود 180 سال-هسته دیگر زمان میبرد و میتواند به صورت آفلاین تکرار شود.
دامنه اثرگذاری و محدودیتها
این یک شکست سراسری برای RSA نیست. مهاجم نیاز به دسترسی موقت به یک Raw Exponentiation Oracle دارد؛ قابلیتی که امضاهای متداول RSA با استفاده از Paddingهای PKCS#1 v1.5 یا RSA-PSS معمولاً آن را فراهم نمیکنند. اهداف احتمالی این حمله شامل رابطهای HSM که عملیات خام PKCS#11 RSA را اجازه میدهند و پروتکلهای Blind-signature مانند Privacy Pass هستند.
تأثیر بر استانداردهای امنیتی
پژوهشگران تخمین میزنند که در این مدل، برای RSA 2,048 بیتی، مقدار $2^{90}$ واحد کاری و $2^{43}$ پرسوجوی Oracle مورد نیاز است (در حالی که قدرت تجزیه آن معمولاً 112 بیت تخمین زده میشود). برای RSA 4,096 بیتی نیز هزینه حدود $2^{119}$ پیشبینی شده است که همچنان کمتر از هدف امنیتی مدرن 128 بیتی است. اگرچه این هزینهها برای اکثر مهاجمان خارج از دسترس است، اما برای عوامل تهدید (Threat Actor) با منابع بالا و پروتکلهایی با کلیدهای عمومی طولانیمدت، مخاطرهآمیز خواهد بود.
توصیههای امنیتی برای مدیران SOC و CISO
سازمانها نیازی به رها کردن فوری RSA با Padding صحیح ندارند، اما اقدامات زیر توصیه میشود:
- غیرفعال کردن مکانیسمهای غیرضروری Raw RSA.
- حسابرسی (Audit) سیاستهای HSM و محدود کردن دسترسی به Oracle.
- چرخش (Rotation) سریعتر کلیدهای آسیبپذیر در پروتکلهای Blind-signature.
- مهاجرت بلندمدت به طرحهای امضای مدرن و رمزنگاری پساکوانتوم (Post-Quantum Cryptography) به جای تکیه صرف بر افزایش اندازه کلیدهای RSA.