شکسته شدن الگوریتم رمزنگاری RSA-1024 توسط محققین در آزمایشگاه رمزنگاری GnuPG
یک تیم تحقیقاتی در حوزه امنیت در آزمایشگاه رمزنگاری GuPG موفق به کشف یک آسیب پذیری بسیار جدی شدند که این امکان را به آن ها داد تا الگوریتم RSA-1024 را به طور کامل شکسته و با موفقیت کلید RSA را برای بازیابی داده های رمز شده، استخراج کنند.
نرم افزار GPG یا GnuPG (Gnu Privacy Guard) یک نرم افزار شناخته شده متن باز است که نسخه های مختلف آن در سیستم عامل های لینوکس و FreeBSD تا ویندوز و MacOSX استفاده میشود. این نرم افزار همانی است که توسط پیمانکار سابق و افشاگر سازمان امنیت ملی آمریکا برای امن کردن ارتباطاتش در برابر قانون استفاده می شد.
این آسیب پذیری که با برچسب CVE-2017-7526 مشخص شده در کتابخانه (برنامه نویسی) رمزنگاری Libgcrypt استفاده شده توسط نرم افزار GnuPG یافت شده که زمینه ساز حمله ی Side-Chanel از نوع FLUSH+RELOAD است.
یک تیم تحقیقاتی مرکب از دانشگاه های Eindhoven، Illinois، Pennsylvania، Maryland و Adelaide، پی بردند روش موسوم به “left-to-right sliding window” (چپ به راست) که توسط کتابخانه مذکور برای انجام محاسبات ریاضی این الگوریتم رمزنگاری به کار گرفته میشود، موجب نشت اطلاعات بیشتری در خصوص بیت های توانی نسبت به “راست به چپ” میشود که همین امر منجر به بازیابی کلید RSA به طور کامل میگردد.
در مقاله ای که توسط تیم تحقیق منتشر شده آمده است: “ما در این مقاله راجع به شکسته شدن RSA-1024 که در کتابخانه Libgcrypt پیاده سازی شده، توضیح کاملی ارائه میدهیم. حمله ما استفاده از واقعیتی است که کتابخانه مذکور برای متد چپ به راست برای محاسبه “Sliding window” انجام میدهد.”
“الگوی جذر و توان در متد چپ به راست اطلاعات زیادی درخصوص توان نسبت به راست به چپ نشت میدهد. چگونگی بازکردن الگوریتم Heininger-Shacham برای بازسازی بخشی از کلید خصوصی را به شما نشان میدهیم تا بتوانیم با استفاده از این اطلاعات به روشی بسیار کارا برای بازسازی کامل کلید RSA-1024 دست پیدا کنیم.”
حمله L3 Cache Side-Channel نیازمند این است که حمله کننده در سخت افزاری که کلید خصوصی RSA در آن استفاده شده برنامه دلخواه خود را اجرا کند. این حمله به حمله کننده اجازه میدهد از طریق تحلیل الگوی استفاده از حافظه و یا تشعشعات الکترومغناطیس ساطع شده از دستگاه در فرایند رمز گشایی، کلید خصوصی RSA (secret key) را استخراج کند.
به عقیده مشاوران Libgrcypt “در عمل راه ساده تر از پیاده سازی حمله Side-Channel برای دستیابی به کلید خصوصی وجود دارد. اما به هر حال در زیرساخت مجازی، ممکن است یک ماشین مجازی از طریق اجرای این حمله بتواند کلید های خصوصی درماشین مجازی دیگری را سرقت نماید.”
محققین همچنین مدارکی را دال بر کارکرد این حمله برروی RSA-2048 که البته نیازمند انجام محاسبات بیشتری در این الگوریتم است، ارائه دادند.
مقاله تحقیقی مذکور تحت این عنوان منتشر شده است: سرراست به طرف فاجعه: نشت محاسباتی چپ به راست” نوشته شده توسط Daniel J. Bernstein, Joachim Breitner, Daniel Genkin, Leon Groot Bruinderink, Nadia Heninger, Christine van Vredendaal, Tanja Lange and Yuval Yarom.
کتابخانه Libcrypt برای نسخه ۱٫۷٫۸ آن برای رفع این معضل به روز رسانی ارائه داده است. سیستم عامل های Ubuntu و Debian نیز پیش ازاین خود را به آخرین نسخه از کتابخانه مذکور به روز رسانی کرده اند. بنابراین به شما مواکدا توصیه میشود که توزیع های مختلف لینوکس خود را بررسی کرده و مطمئن شوید آخرین نسخه کتابخانه Libgcrypt در حال اجرا است.
دیدگاه هایی که در این مقاله ارائه شده اند، متعلق به نویسنده می باشند و لزوماً مربوط به Coiniran نمی باشد و نباید به آن نسبت داده شود.
Source & Image via thehackernews