در حالی که سالهاست پیشبینی میشود با ظهور محاسبات کوانتومی (Quantum Computing)، سیستم رمزنگاری RSA به طور کامل منسوخ شود، تحقیقات جدید روشی نوآورانه را معرفی کرده است که با استفاده از محاسبات کلاسیک (Classical Computing)، سطح امنیت RSA را به مقادیر غیرقابل قبولی کاهش میدهد.
تغییر پارادایم در شکستن کلیدها
این پژوهش که توسط پروفسور Nadia Heninger و تیمش انجام شده، جامعه رمزنگاران را شگفتزده کرده است؛ زیرا روشی برای جعل امضا (Signature Forgery) معرفی میکند که امکان شکستن RSA را بدون نیاز به تجزیه اعداد (Factoring) فراهم میسازد. پیش از این تصور میشد تنها راه تولید امضاهای دیجیتال معتبر در RSA، استخراج کلید خصوصی از طریق تجزیه اعداد باشد که برای کلیدهای ۲۰۴۸ بیتی کاملاً غیرممکن و برای کلیدهای ۱۰۲۴ بیتی بسیار هزینهبر (در حد دهها میلیون دلار) ارزیابی میشد.
کاهش سطح امنیت و پیچیدگی محاسباتی
حمله جدید باعث میشود سطح امنیت کلیدها به شدت افت کند. در حالی که استانداردهای سازمانهایی مانند NIST و ENISA سطح امنیتی حداقل ۱۲۸ بیت (عملیات بیش از $2^{128}$) را الزامی میدانند، این متد سطح امنیت را برای کلیدهای مختلف به شرح زیر کاهش میدهد:
- کلیدهای ۱۰۲۴ بیتی: کاهش به $2^{65}$
- کلیدهای ۲۰۴۸ بیتی: کاهش به $2^{90}$
- کلیدهای ۴۰۹۶ بیتی: کاهش به $2^{119}$
نکته قابل توجه این است که این نتایج با کدنویسی دستی به دست آمده و استفاده از GPU یا هوش مصنوعی (AI) میتواند این سطوح امنیتی را باز هم پایینتر بیاورد.
دامنه تاثیر و نقاط آسیبپذیر
این حمله تنها علیه پیادهسازیهای Blind-Signature (که به RSA کتابخانهای یا Textbook RSA معروف است) موثر است. اکثر سیستمهای مدرن از Paddingهای استاندارد مانند PKCS یا PSS استفاده میکنند که دادهها را پیش از رمزنگاری تغییر داده و از حالت قطعی (Deterministic) خارج میکنند؛ بنابراین این سیستمها در برابر این حمله ایمن هستند.
با این حال، برخی پروتکلهای فعال مانند Privacy Pass (که توسط Apple و Cloudflare استفاده میشود) همچنان از Blind-Signature بهره میبرند. اگرچه حمله به این پروتکل نیازمند دسترسی به سرور و تولید تعداد زیادی امضا است، اما با توجه به حجم ترافیک شبکه در سازمانهای بزرگ، این تهدید در محیطهای خاص قابل توجه است.
تحلیل فنی: استفاده از Number Field Sieve
این تکنیک از نسخهای تغییریافته از الگوریتم Number Field Sieve (معرفی شده در سال ۲۰۰۷) علیه یک Oracle (ضعفی در سیستمهای رمزنگاری که پاسخهای بله/خیر به پرسوجوها میدهد) استفاده میکند. برای مقایسه، تجزیه یک کلید ۱۰۲۴ بیتی نیازمند $2^{80}$ عملیات و حدود ۵۰۰ هزار تا یک میلیون سال-هسته CPU است، در حالی که جعل امضا با این روش جدید تنها به $2^{65}$ عملیات و ۱۳۸۰ سال-هسته نیاز دارد.