SHA-1 یا همان الگوریتم هشِ ایمن ۱(۱) یک تابع هشینگ رمزنگاری بسیار محبوب است که در سال ۱۹۹۵ و توسط NSA طراحی شده است. این تابع رمزنگاری عملاً بلااستفاده خواهد بود چراکه یک گروه از محققان گوگل و شرکت CWI در آمستردام در تاریخ ۲۳ فوریه ۲۰۱۷ اولین حمله برخورد موفقیت‌آمیز SHA-1 را گزارش کردند.

SHA-1

SHA-1 در سال ۱۹۹۵ و توسط آژانس امنیت ملی(۲) به‌عنوان الگوریتم امضای دیجیتال طراحی شده بود. مانند دیگر هش‌ها، SHA-1 نیز هر پیام ورودی را به یک رشته طولانی از اعداد و حروف تبدیل می‌کرد که به‌عنوان یک اثر انگشت رمزنگاری شده برای پیام دریافت شده شناخته می‌شد.

حملات برخورد هنگامی ظاهر می‌شوند که مقدار هش مشابه یا همان اثر انگشت برای ۲ پیام مختلف تولید شوند که بعد از آن می‌توانند برای جعل کردن امضاهای دیجیتال مورد استفاده قرار گیرند و به مهاجمان اجازه می‌دهند تا ارتباطاتی که با SHA-1 رمز شده‌اند را بشکنند.

توضیح دقیق این حمله از لحاظ فنی دشوار است اما شما می‌توانید تصور کنید که یک مهاجم از طریق عمل جراحی اثر انگشت خود را تغییر داده تا مانند اثر انگشت شما شود و سپس از آن برای وارد شدن به تلفن همراه هوشمند شما استفاده کند.

محققان در ارتباط با فقدان امنیت در SHA1 بیش از یک دهه پیش هشدار داده بودند اما این تابع هش همچنان به طور گسترده مورد استفاده قرار می‌گیرد.

در ماه اکتبر ۲۰۱۵ یک تیم از محققان به ریاست Marc Stevens از شرکت Centrum Wiskunde & Informatica در هلند یک مقاله منتشر کرده بودند که در آن یک رویکرد عملی برای ساختن یک حمله برخورد SHA-1 مشخص شده بود.

در آن موقع، کارشناسان هزینه یک حمله برخورد SHA-1 را بین ۷۵٫۰۰۰ تا ۱۲۰٫۰۰۰ دلار تخمین زده بودند که از توان پردازش EC2 cloud که متعلق به آمازون است استفاده می‌کرد و چند ماه طول می‌کشید.

گوگل در آن موقع به این تیم تحقیقاتی پیوست و با کمک یکدیگر جزئیات تحقیقاتی جدیدی در ارتباط با یک حمله برخورد موفق SHA-1 منتشر کردند که آن را SHAttered نام‌گذاری کرده و تنها به ۱۱۰٫۰۰۰ دلار برای انجام شدن بر روی پلتفرم پردازش cloud آمازون نیاز دارد.

گوگل

به‌عنوان اثبات این ادعا، این تحقیق جدید ۲ فایل PDF را ارائه داد که دارای هش SHA1 مشابه بوده اما محتویات کاملاً متفاوتی را نمایش می‌دادند[۱و۲].

بر طبق گفته محققان، حمله SHAttered  ۱۰۰ هزار بار سریع از حملهbrute force  است.

محققان توضیح می‌دهند[۳]: “این حمله نیاز به ۹,۲۲۳,۳۷۲,۰۳۶,۸۵۴,۷۷۵,۸۰۸ محاسبات SHA1 دارد. این میزان محاسبات نیازمند توان ارزیابی معادل ۶۵۰۰ سال توسط محاسبات یک CPU و ۱۱۰ سال محاسبات یک GPU است. بااینکه این اعداد بسیار بزرگ به نظر می‌رسند، حمله SHA-1 shattered همچنان ۱۰۰٫۰۰۰ بار سریع‌تر از یک حمله brute force است که غیرعملی باقی مانده است.”

به سرویس‌دهنده‌ها ۹۰ روز مهلت داده شده تا از هش‌های رمزنگاری ایمن‌تر استفاده کنند.

با وجود اعلام شدن غیر ایمن بودن SHA-1 در طی یک دهه گذشته توسط محققان و همچنین اعلام شرکت مایکروسافت مبنی بر نپذیرفتن گواهی‌های SHA1 بعد از سال ۲۰۱۶، متأسفانه SHA1 همچنان به طور گسترده در اینترنت در حال استفاده است.

بنابراین الان موقع مناسبی است تا هش‌های رمزنگاری مانند SHA-256 و SHA-3 جایگزین SHA1 شوند.

گوگل قصد دارد تا کد اثبات ادعای این حمله را ۹۰ روز دیگر منتشر کند که این شرکت به‌منظور انجام حمله برخورد استفاده کرده بود و این بدان معنی است که هرکسی می‌تواند یک جفت فایل PDF بسازد تا به یک  SHA-1 مشابه، هش شده و نتیجه آن دو تصویر مجزا با یک سری پیش شرایط خواهد بود.

بنابراین، تعداد زیادی از سرویس‌های ناشناخته  که همچنان بر پایه الگوریتم غیر ایمن SHA1 هستند، ۳ ماه مهلت دارند تا این الگوریتم را با دیگر الگوریتم‌های ایمن جایگزین کنند.

در همین حال، گوگل و محققان یک ابزار تشخیص رایگان منتشر کردند که توانایی تشخیص فایل‌هایی که به‌عنوان بخشی از حمله برخورد مورد استفاده قرار می‌گیرند را دارد. شما می‌توانید این ابزار رایگان و اطلاعات تکمیلی بیشتر را در ارتباط با اولین حمله برخورد موفقیت‌آمیز را در[۴] پیدا کنید.

منابع

[۱] https://shattered.io/static/shattered-1.pdf

[۲] https://shattered.io/static/shattered-2.pdf

[۳] https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html

[۴] https://shattered.io/

[۵] http://thehackernews.com/2017/02/sha1-collision-attack.html


(۱) Secure Hash Algorithm 1
(۲) National Security Agency (NSA)