خلاصه: الگوریتم SHA-1 از الگوریتمهای رمزنگاری یکطرفه است که برای امضای دیجیتال استفاده میشود. از این الگوریتم به وفور استفاده میشود. اکنون محققان گوگل با همکاری موسسه هلندی CWI موفق به حمله تصادم علیه این الگوریتم شدهاند.
الگوریتم رمزنگاری امن SHA-1 از الگوریتمهای محبوب هش کننده است که در سال ۱۹۹۵ توسط آژانس امنیت ملی امریکا (NSA) به عنوان یک مرجع معتبر حوزه امنیت طراحی شد. اکنون این الگوریتم با انجام یک حمله تصادم موفق علیه آن توسط تیم تحقیقاتی گوگل و انستیتوی CWI آمستردام به صورت رسمی از بین رفت!
الگوریتم SHA-1 در سال ۱۹۹۵ توسط NSA به عنوان قسمتی از الگوریتم امضای دیجیتال ارائه شد. همانند دیگر پروتکلهای هش کننده، هر پیام ورودی به این الگوریتم به یک رشته داده نگاشت میشود. خصوصیت مهم الگوریتمهای هش، تبدیل یک طرفه این الگوریتمها است؛ به گونهای که نباید از نتیجه خروجی الگوریتم بتوان به ورودی آن پی برد. همچنین خروجی الگوریتم برای ورودیهای متفاوت نباید یکسان باشد.
حمله تصادم وقتی اتفاق میافتد که دو پیام مجزا یافت شود که نتیجه هش آنها یکسان شود. در این حالت میتوان یک پیام را به صورت جعلی امضا کرد و به هکرها اجازه میدهد که امنیت ارتباطات مبتنی بر SHA-1 را نقض کنند.
سالها پیش کارشناسان نسبت به مشکل امنیتی SHA-1 هشدار داده بودند اما همچنان این الگوریتم به صورت وسیعی مورد استفاده قرار میگیرد. در اکتبر ۲۰۱۵ تیم موسسه تحقیقاتی CWI هلند روشی را ارائه کردند که منجر به حمله تصادم علیه الگوریتم SHA-1 میشد. اما این الگوریتم نیازمند هزینهای ۷۵.۰۰۰ تا ۱۲۰.۰۰۰دلاری برای استفاده از ظرفیت محاسباتی ابری آمازون برای مدت چند ماه بود.
گوگل با همکاری با این تیم تحقیقاتی روشی را برای حمله تصادم موفق به الگوریتم SHA-1 ارائه داده است. اسم این الگوریتم SHAttered است و هزینه آن تنها ۱۱۰.۰۰۰ دلار است. برای اثبات روش خود این تیم دو فایل ارائه دادهاند که هش آنها مقدار یکسانی میشود.
بر اساس ادعای این تیم تحقیقاتی، روش ارائه شده صدهزار برابر سریعتر از حمله جستجوی کامل است. این حمله نیاز به محاسبه ۹.۲۲۳.۳۷۲.۰۳۶.۸۵۴.۷۷۵.۸۰۸ بار الگوریتم SHA-1 دارد. این میزان معادل ۶۵۰۰ سال کار یک پردازنده و یا ۱۱۰ سال کار یک پردازنده گرافیکی است. با اینکه این اعداد بسیار بزرگ هستند باز هم این الگوریتم نسبت به جستجوی کامل ۱۰۰.۰۰۰ بار سریعتر عمل میکند.
فرصت ۹۰ روزه برای مهاجرت به روشهای امنتر هش کردن
با اینکه قبلا هم در مورد امنیت پایین الگوریتم SHA-1 هشدارهای زیادی داده شده بود، همچنان از الگوریتم SHA-1 به صورت گسترده استفاده میشود. اما اکنون گواهینامهای با الگوریتم SHA-1 مورد قبول نخواهد بود. بنابراین اکنون زمان مهاجرت به الگوریتمهای هش امنتر همچون SHA-256 و SHA-3 است. سرویسهای مبتنی بر الگوریتم SHA-1 تنها ۹۰ روز مهلت خواهند داشت تا این الگوریتم را با یک الگوریتم امنتر جایگزین کنند.