SSHیک مطالعه جدید نشان داده است که مهاجمان شبکه passive می‌توانند کلیدهای میزبان خصوصی RSA را از یک سرور آسیب‌پذیر SSH با مشاهده خطاهای محاسباتی[۱] طبیعی که هنگام برقراری اتصال رخ می‌دهند، به دست آورند.

پروتکل Secure Shell (SSH) روشی برای انتقال ایمن دستورات و ورود به رایانه از طریق یک شبکه ناامن است. بر اساس معماری مشتری-سرور، SSH از رمزنگاری برای احراز هویت و رمزگذاری ارتباطات بین دستگاه‌ها استفاده می‌کند.

کلید میزبان[۲] یک کلید رمزنگاری است که برای احراز هویت رایانه‌ها در پروتکل SSH استفاده می‌شود. کلیدهای میزبان جفت‌هایی هستند که معمولاً با استفاده از سیستم‌های رمزنگاری کلید عمومی مانند [۳]RSA تولید می‌شوند.

گروهی از دانشگاهیان از دانشگاه کالیفرنیا سن دیگو و MIT در مقاله‌ای در این ماه گفتند[۴]: “اگر پیاده‌سازی امضا با استفاده از CRT-RSA در حین محاسبه امضا خطا داشته باشد، مهاجمی که این امضا را مشاهده می‌کند ممکن است بتواند کلید خصوصی امضاکننده را محاسبه کند.”

به‌عبارت‌دیگر، یک دشمن passive می‌تواند بی‌سروصدا ارتباطات قانونی را بدون خطر شناسایی پیگیری کند تا زمانی که امضای معیوب را مشاهده کند که کلید خصوصی را فاش کند. سپس بازیگر بد می‌تواند به‌عنوان میزبان در معرض خطر ظاهر شود تا داده‌های حساس را رهگیری کند و حملات adversary-in-the-middle یا AitM را اجرا کند.

محققان این روش را به‌عنوان یک حمله خطای بازیابی کلید مبتنی بر شبکه توصیف کردند که به آنها اجازه می‌داد کلیدهای خصوصی مربوط به ۱۸۹ کلید عمومی منحصر به فرد RSA را بازیابی کنند که متعاقباً در دستگاه های چهار سازنده ردیابی شدند: Cisco، Hillstone Networks، Mocana و Zyxel.

شایان‌ذکر است که انتشار نسخه ۱٫۳ TLS در سال ۲۰۱۸ با رمزگذاری handshake که ارتباط را برقرار می کند، به عنوان یک اقدام متقابل عمل می کند، بنابراین از دسترسی استراق سمع کنندگان منفعل به امضاها جلوگیری می کند.

محققان می‌گویند: «این حملات تصویری ملموس از ارزش چندین اصل طراحی در رمزنگاری را ارائه می‌دهند: رمزگذاری handshake پروتکل به‌محض مذاکره با کلید جلسه برای محافظت از ابرداده، تأیید اعتبار به یک جلسه، و جداسازی احراز هویت از کلیدهای رمزگذاری».

این یافته‌ها دو ماه پس از افشای حمله ماروین[۵]، گونه‌ای از حمله [۶]ROBOT (مخفف  Return Of Bleichenbacher’s Oracle Threat”) است که به یک عامل تهدید اجازه می‌دهد تا متن رمز RSA را رمزگشایی کند[۷] و امضاها را با سوءاستفاده از ضعف‌های امنیتی در PKCS #1 نسخه [۸]۱٫۵ جعل کند.

  منابع

[۱] https://www.redhat.com/en/blog/factoring-rsa-keys-tls-perfect-forward-secrecy

[۲] https://csrc.nist.gov/glossary/term/host_key

[۳] https://en.wikipedia.org/wiki/RSA_(cryptosystem)

[۴] https://eprint.iacr.org/2023/1711

[۵] https://people.redhat.com/~hkario/marvin

[۶] https://apa.aut.ac.ir/?p=3368

[۷] https://thehackernews.com/2022/06/researchers-uncover-ways-to-break.html

[۸] https://en.wikipedia.org/wiki/PKCS_1

[۹] https://thehackernews.com/2023/11/experts-uncover-passive-method-to.html