حملات تجزیه عوامل (Factoring attacks) علیه الگوریتم RSA بهطور کلی غیرقابل اجرا در نظر گرفته میشدند، اما اگر یافتههای یک مقاله پژوهشی از دانشگاه کالیفرنیا، سن دیگو (UC San Diego) در ایالات متحده و موسسه فرانسوی اینریا نانسی (Inria Nancy) پس از بررسی همتا (Peer review) درست از آب درآیند، این وضعیت ممکن است بهشدت تغییر کند.
این مقاله یک حمله جدید را تشریح میکند که الگوریتم RSA را در زمان رکوردشکنی میشکند. این موضوع نگرانکننده است زیرا رمزنگاری مبتنی بر RSA برای مدتها استفاده میشده و اگرچه به نفع ECC و الگوریتمهای پساکوانتمی (Post-quantum algorithms) کنار گذاشته شده است، اما هنوز هم در بخش قابل توجهی از خدمات مورد استفاده قرار میگیرد.
با فرض اینکه این پژوهش درست باشد و شرایط حمله فراهم شود، تعداد عملیات لازم برای کرک کردن یک کلید رمزنگاری شده با RSA (و در نتیجه بازرسی ترافیک شبکه رمزنگاری شده با آن) بهطور چشمگیری کاهش مییابد. (این تعداد از 280، 2112، 2128 و 2144 به ترتیب برای طول کلیدهای 1024، 2048، 3072 و 4096 بیتی، به مقادیر 265، 290، 2105 و 2119 کاهش مییابد.)
حتی برای کلیدهای 1024 بیتی، انجام 265 محاسبه همچنان حجم بسیار زیادی است، اما به محدودهای نزدیک میشود که برای یک نهاد دارای منابع عظیم، مانند بازیگران دولتی (State actors)، قابل اجرا است. نکته مهم این است که این مقاله نشان میدهد الگوریتمهای مورد استفاده تیم پژوهشی فاصله زیادی با بهینهسازی دارند و میتوانند بهطور فرضی پس از مراحل بهینهسازی، بهویژه با کمک ابزارهای هوش مصنوعی و بهرهگیری از پردازندههای گرافیکی (GPUs) برای این کار، بهطور قابل توجهی سرعت پیدا کنند.
این حمله فقط روی نوع کتاب درسی (Textbook) یا «خام» (Raw) از RSA کار میکند که بهطور گسترده برای محاسبات رایج مانند گواهیهای وبسایت و دسترسی راه دور استفاده نمیشود، اما با این حال در خدماتی مانند Cloudflare Privacy Pass، iCloud Private Relay و Private Cloud Compute وجود دارد. تجهیزات و خدمات با استفاده از استاندارد PKCS #11 مانند بسیاری از کارتهای هوشمند، توکنهای امنیتی USB، خطوط لوله امضای کد، ماژولهای امنیت سختافزاری (HSM) و ماژولهای پلتفرم ایمن (TPM) نیز از این نوع تغییر استفاده میکنند. اما برآورده کردن شرایط حمله بسیار راحتتر از انجام دادن آن است.
به منظور رسیدن به نقطهای که یک مهاجم بتواند دادهها را رمزگشایی کند، آنها ابتدا باید تعداد فوقالعاده زیادی پرسوجو (Queries) علیه کلیدی که به آن حمله میکنند انجام دهند و نقاط داده کافی را از اوراکل (Oracle) کلید جمعآوری کنند. در اصطلاح عملی، این کار اغلب به معنای ضربه زدن مکرر به یک سرور زنده است که از آن کلید برای رمزگذاری ترافیک استفاده میکند، میلیاردها بار، اگرچه این کار را میتوان علیه یک سختافزار مستقل نیز انجام داد.
در زمینه عملی یک الگوریتم رمزنگاری، یک اوراکل یک عدد را میگیرد، آن را از طریق یک محاسبات شامل یک کلید خصوصی اجرا میکند و بدون فاش کردن کلید، آن را پس میدهد. نوع کتاب درسی RSA که در اینجا مورد حمله قرار گرفته است به اوراکل اجازه میدهد تا با هر عددی مورد پرسوجو قرار گیرد و به مهاجم اجازه میدهد نقاط داده کافی برای انجام جادوی ریاضی شرح داده شده در مقاله را جمعآوری کند. آنها سپس میتوانند قدرت پردازشی زیادی را برای بازرسی نهایی هر ترافیکی که ضبط کردهاند و از همان کلید رمزنگاری استفاده میکرده است، به کار بگیرند.
همانطور که مدیران شبکه حتماً تا به حال متوجه شدهاند، اجرای میلیاردها پرسوجو علیه یک سرویس زنده تقریباً تضمین میکند که آنها یک بن IP در میان سایر اقدامات دریافت کنند. این یک فرض منطقی است که نهادهایی مانند Cloudflare و Apple این نوع کنترلها را در جای خود دارند. با این حال، همه این کار را نمیکنند، بهویژه در مورد خدمات مدیریت کلید که بهدقت مانیتور نمیشوند، از جمله خدمات مبتنی بر سختافزار. دانشمندان جادوی خود را روی ماژولهای امنیتی سختافزاری Thales Luna HSMs، هم در قالب سختافزار و هم سرویس آنلاین پیادهسازی کردند.
اگرچه مانع برای کاربرد عملی این حمله همچنان بسیار بالا باقی مانده است، یافته کلیدی این است که ممکن است این مانع بهطور قابل توجهی کاهش یابد. این امر این احتمال را باز میکند که دادههای اوراکل جمعآوریشده امروز ممکن است برای رمزگشایی ترافیک ذخیرهشده در عرض چند هفته یا چند ماه استفاده شود، بهویژه در آینده نزدیک با پیشرفت سختافزار. همچنین این احتمال وجود دارد که سایر دانشمندان بتوانند این ایده را گرفته و آن را گسترش دهند و نواقص اضافی را پیدا کنند.
منبع: tomshardware.com
