سیر تکامل فناوری اطلاعات و ارتباطات در 3 دهه گذشته، خصوصاً روابط تجاری و مالی ما را آنچنان دگرگون ساخته است که تصور بازگشت به دنیایی که برای ارسال یک مقدار وجه نقد، مجبور به ثبت درخواست حضوری در یک شعبه بانکی و انتظار چندینروزه برای دریافت تأیید دریافت در مقصد بودیم، غیرممکن به نظر میرسد.
در این میان از دورانی که مفهومی به نام اینترنتبانک در جامعه بشری شکل گرفته است تا امروزه که شاهد ورود روزافزون تلفن همراه و اینترنت اشیاء به حیطه پرداخت الکترونیکی و توسعه روشهای ابتکاری بسیار جذاب در این زمینه هستیم، همچنان یک ماهیت مشترک، قلب اعتمادبخشی بهکل این فرآیندها را تشکیل میدهد که در دنیای فناوری اطلاعات با نام الگوریتمهای hash از آن یاد میشود. انواع الگوریتمهای هش که خود در اصل از ترکیب دو عملگر xor و rotation شکل میگیرند، وظیفه مهمی در انتقال داده در شبکههای رایانهای دارند که به آن همگرایی گفته میشود؛ یعنی در جایی که لازم است اطمینان حاصل کنیم، پیامی که ارسال میکنیم تا لحظه دریافت توسط مخاطب دچار هیچ نوع دستکاری نشده و تمامیت آن حفظ شده است، در مبدأ اصل پیام را از تابع هش عبور داده و خروجی آن را به انتهای پیام اضافه میکنیم. بهاینترتیب در مقصد، فرد گیرنده پیام با عبور مجدد اصل پیام از تابع هش و مقایسه آن با مقدار ارسالشده از مبدأ، پی به حفظ تمامیت آن برده و به آن اعتماد میکند.
این پروسه تقریباً هرلحظه در دهکده جهانی در حال تکرار است و در مقایسه با سیستمهای بیولوژیکی، میتوان ازنظر اهمیت آن را مشابه عملیات دم و بازدم یا تپش قلب در موجودات زنده دانست. ولی گویا چند سالی است که ضربان قلب دنیای دیجیتال، آرامآرام در حال نامنظمشدن است. درواقع آسیبپذیری توابع هش از جایی آغاز میشود که برای دو مقدار ورودی متفاوت، یک مقدار خروجی مشترک تولید کنند که به این پدیده collision یا تلاقی گفته میشود. بهطور مثال، در حالت عادی برای تابع هش از نوع md5 احتمال بروز تصادفی یک تلاقی معادل 2^64 است و تا اینجا میتوان با اطمینان خوبی از آن در سیستمهای رایانهای استفاده کرد ولی وقتی پای امضای دیجیتالی به میان میآید که روی اسناد الکترونیکی اعمال میشود و بار حقوقی معادل امضای عادی یک شهروند را دارد، حمله از پیش تعیینشده یک مهاجم با شانس و احتمال همراه نیست، بلکه این بار با یک حمله از جنس تلاقی روبهرو هستید که فرد مهاجم در آن با استفاده از روشهای cryptanalysis راه میانبری برای پیدا کردن یک سند دستکاریشده پیدا میکند که خروجی مشابه سند اصلی داشته، ولی بهدلخواه مقدار آن را تغییر داده است.
پس از سال 2000 میلادی و در همین مورد اخبار انواع حمله به تابع md5 با زمان از چند ساعت روی چندین رایانه تا حتی یک دقیقه روی رایانه همراه معمولی گزارش شده است و البته این مشکل تنها محدود به الگوریتم md5 نبوده، بلکه انواع الگوریتمهای خانواده sha-x را نیز شامل میشود. ولی منشأ این سرعت عمل بالا در پیدا کردن تلاقی چیست؟ برای دست یافتن به یک پاسخ روشن، ابتدا باید دقت کنیم که همواره طرز فکر یک مهاجم سایبری با یک مهندس امنیت در دو زاویه 180 درجه نسبت به یکدیگر قرار دارند. در جایی که مهندس امنیت احتمال نمایش عدد 4 برای یک تاس در حال افتادن روی میز را یکششم برآورد میکند، یک مهاجم سایبری برای اینکه نمایش عدد 4 را به یک تاس دیکته کند، ابتدا کمی تاس را در دست خود حرکت داده، عدد 4 را پیدا کرده و سپس آن را روی میز قرار میدهد! لذا درحالیکه یک مهندس امنیت سطح امنیت سیستمهای دفاعی خود را بر اساس CPUهای پرسرعت برآورد میکند، یک مهاجم سایبری امکان شکستن سد دفاعی پیش روی خود را نه با پردازندههای افسانهای کوانتومی، بلکه با پردازش موازی (Cluster) روی چندین کارت گرافیکی (GPU) آزمایش میکند. در مقالهای که به شرح روش حمله روی الگوریتم sha-1 پرداخته است ارزش هر کارت گرافیک GTX970 استفادهشده را معادل 322 هسته از پردازنده اینتل core-i5 3.2GHz اعلام کرده است که این سرعت سرسامآور ارزانقیمت در کنار روشهای محاسباتی میانبر، همه شرایط برای به خطر انداختن امضاهای دیجیتالی را آماده میسازد.
بر همین اساس و در ادامه حملات صورت گرفته روی استاندارد هش از نوع sha-1 و md5، اداره استاندارد ملی آمریکا (NIST) اقدام به طراحی و معرفی نسل sha-2 در سال 2001 کرده و بهصورت دورهای طی سالهای 2007، 2010، 2011 و 2013 اقدام به حذف یکی از ویرایشهای خود نموده است تا جایی که در سال 2013 نسل جدید sha-3 را معرفی کرده که در طی تمامی این موارد گزارشهای رسمی و مقالات آکادمیک از حملات تلاقی موفق روی برخی نسخهها از همه الگوریتمهای فوق مشاهده میشود؛ و نتیجه اینکه امضای دیجیتال درعینحالی که اگر همواره بر اساس آخرین استانداردها بهروز باشد اطمینان قابل قبولی دارد، ولی به همان اندازه هم بهسادگی میتواند ناامن باشد و جعل شود، درحالیکه قانون آن را معادل امضای فرد میداند.
درواقع، توجه به این نکته که واقعاً چه چیزی در ذات الگوریتم هش وجود دارد که دیر یا زود روش سریع حمله تلاقی به آن کشف میشود، دلیل نگارش این مقاله و پژوهشهای مربوط به آن است؛ و پاسخ اینکه الگوریتمهای هش برعکس الگوریتمهای رمزنگاری که توابع منتشرشده و برگشتپذیر با یک کلید مخفی هستند، توابعی غیرقابلبرگشت (یکطرفه) با الگوریتم منتشرشده و بدون کلید هستند، بنابراین مشکلاتی که توابع هش با آنها درگیر هستند را در توابع رمزنگاری همانند AES یا RSA مشاهده نمیکنیم. در توابع رمزنگاری درنهایت با افزایش طول کلید مسائل امنیتی شما در مقابل افزایش توان پردازشی مهاجم حل میشود، ولی در توابع هش شما بهطورکلی با جایگزینی الگوریتم قدیمی با یک الگوریتم جدید بهعنوان راهحل مواجه هستید. بهطور مثال در یک مقاله از دانشگاه استنفورد گزارش 20سال حمله موفق به الگوریتم RSA و دلایل موفقیت این حملات بررسی و درنهایت کاملاً مشخص شده است که اگر الگوریتم RSA مطابق استانداردهای تعریفشده پیادهسازی شود، امکان حمله به آن وجود ندارد. و اگر تا پیشازاین الگوریتمهای هش نقش قلب بانکداری الکترونیکی را بازی میکردهاند، در آینده نزدیک نقش زیرساخت فینتک را هم بازی خواهند کرد.
- الگوریتمهای جهشیافته برای امنیت بیشتر
کشف قابلیتهای بیشمار زنجیره بلوکها در پرداخت الکترونیکی (ارزهای رمزنگاریشده) و توسعه دامنه پرداخت الکترونیکی به محدوده اینترنت اشیاء و پژوهشهایی که امکان ایجاد روشهای نوین پرداخت مبتنی بر چک الکترونیکی و پرداخت آفلاین با کمک الگوریتمهای هش را بررسی میکنند، بر اهمیت تمرکز و نوآوری در این بخش اضافه میکند. بهطور مثال، در میانه حرکت از چکهای بانکی سنتی به سمت چکهای بانکی الکترونیکی، تصویب قانون check-21-act یا چک برای قرن 21میلادی در آمریکا عملاً یک روش هایبرید را ارائه کرده است که ضمن حفظ شرایط چک سنتی، این امکان را نیز فراهم میکند که بتوانید با تصویر یک چک نوشتهشده همان رفتاری را داشته باشید که با چک سنتی روی کاغذ دارید و نیاز به ظهور این روش نشان میدهد چک الکترونیکی دامنه بخصوصی از مخاطب را پوشش داده و پاسخگوی همه سلیقهها نیست؛ خصوصاً با مطالعات صورت گرفته مشخص شده است که اعتماد به چک الکترونیکی در دنیا با کمک بیمه، خدمات حقوقی و تضمینهایی که از طرف شخص ثالث ارائهشده، شکل گرفته و روشهای حمله به این سیستم نیز در مقالات آکادمیک توضیح داده شده است.
بر همین مبنا، سامانه چکامه مدل هایبرید دیگری برای ارتقای سطح اعتماد برای چک بهعنوان یکی از قدیمیترین روشهای پرداخت برای قرن 21 را ارائه میدهد که اساس عملکرد آن بر پایه یک الگوریتم هش جهشیافته ابداعی ناشی از تلفیق اصول حاکم بر یک الگوریتم هش استاندارد با رفتار نامتقارن الگوریتم RSA شکل گرفته است و در هر مرتبه نیاز به تولید خروجی، یک الگوریتم منحصربهفرد هش را ابتدا توسط سیستم مفسر خود ساخته و سپس جهت تولید کد امنیتی در چک مورداستفاده قرار میدهد و بهاینترتیب نیاز به جایگزینی و ارتقای پیدرپی الگوریتمهای هش بر اساس استانداردهای جهانی- که بعضاً همانند sha-2 در مالکیت معنوی دولت آمریکا قرار دارد و تحت شرایط
(Royalty Free) راه انتقال فناوری به سایر کشورها را مسدود میکند – را برطرف میسازد.