حملات رمزنگاری (Cryptography) نوعی از حملات سایبری هستند که در سیستمهای رمزنگاریشده رخ میدهند و فرد حملهکننده تلاش میکند که الگوریتم یا کلید رمزگذاری را پیدا کرده و دادهها را کدگشایی کند. حمله Known Plaintext یا حمله متن آشکار نوعی از حملات رمزنگاری است که در آن هکر سعی میکند از الگوها و کدهای آشنا و معروف استفاده کند. در این مقاله با میهن بلاکچین همراه باشید تا توضیح بدهیم که حمله متن آشکار چیست و چگونه کار میکند.
خلاصه مطلب:
🔸 حمله متن آشکار (KPA) نوعی از حملات سایبری در سیستمهای رمزنگاریشده محسوب میشود.
🔸 در این نوع حمله، فرد مهاجم هم به حالت رمزنگاریشده دادهها (متن رمزنگاریشده) و هم به کپی متن خام منبع دادهها (حالت رمزنگارینشده) دسترسی دارد.
🔸 طی حمله Known Plaintext، هکر تلاش میکند که الگوریتم یا کلید رمزنگاری را بیابد و دادهها را کدگشایی کند.
🔸 در همین راستا، مهاجم در تلاش است تا با استفاده از کدهای معروف و شناختهشده به این هدف دست پیدا کند.
🔸 استفاده از الگوریتمهای رمزگذاری قوی، مدیریت بهبودیافته کلیدهای رمزنگاری، انتخاب کلید منحصربهفرد برای هر مرحله از رمزگذاری و افزودن انتخابهای تصادفی به روند رمزنگاری از راههای مقاومت در برابر این حمله هستند.
حمله متن آشکار چیست؟
حمله متن آشکار (Known-Plaintext Attack) یا به اختصار KPA، حملهای است که در آن هکر برای شناسایی الگوریتم یا کلید رمزگذاری، از کدهای معروف و شناختهشده استفاده میکند. در این نوع حمله، فرد مهاجم هم به حالت رمزنگاریشده دادهها (متن رمزنگاریشده) و هم به کپی متن خام منبع دادهها (حالت رمزنگارینشده) دسترسی دارد. در حمله Known Plaintext هکر تلاش میکند که با ارزیابی رابطه بین متن خام و متن رمزنگاریشده، کلید یا الگوریتم رمزگذاری را شناسایی کند.
برای مثال، اگر کلمه «CRYPTO» به صورت «XUZZA» کدگذاری شده باشد و هکر این را بداند، میتواند سایر بخشهای پیام را که با همین کلید جایگزین رمزگذاری شدهاند، رمزگشایی کند. بنابراین، در برخی از الگوریتمهای رمزگذاری حتی با دانش بسیار جزئی نیز میتوان بخش بزرگی از کد را رمزگشایی کرد.
در این نوع حمله، هکر با استفاده از یک نقص در تکنیکهای رمزگذاری، الگوها یا روابط بین متن خام و متن کریپتوگرافی را شناسایی میکند. اگر از حملات متن آشکار به صورت صحیح پیشگیری نشود، امنیت سیستمهای رمزگذاری به خطر خواهد افتاد.
دو روش متداول برای استفاده از متن خام و رمزگذاریشده برای شناسایی کلیدهای رمزگذاری، تجزیه و تحلیل فرکانس و تطبیق الگو است. در روش تحلیل فرکانس از روشهای رمزگذاری مستقیم، مثل جایگزینی یک به یک حروف یا نماد استفاده میشود. هکرها میتوانند با مقایسه فراوانی وقوع حروف یا الگوهای خاص در متن آشکار و متن رمزنگاریشده مرتبط با آن، کلید را پیدا کرده و بقیه ارتباطات را کدگشایی کنند.
اگر در روش تطبیق الگو هر دو متن خام و متن رمزنگاریشده یکسان باشند، هکر میتواند روند کدها را تشخیص دهد. در واقع فرد یا گروه مهاجم الگوریتم رمزگذاری را شناسایی میکند و با مقایسه الگوهای متن رمزگذاریشده با الگوهای متن خام، کل پیام را رمزگشایی میکند.
حمله متن آشکار چگونه کار میکند؟
در حمله متن آشکار هکر میتواند با تجزیه و تحلیل اینکه چگونه بخشهای خاصی از متن خام با کلید یا الگوریتم یکسان به متن رمزنگاری تبدیل میشوند، جزئیات بسیار مهمی را درباره روش رمزنگاری به دست بیاورد.
مراحل حمله متن آشکار به شرح زیر است:
جمعآوری جفت کدهای آشکار یا شناختهشده
در این مرحله، مهاجم جفتهایی از متن اصلی و متن رمزگذاری مرتبط به آن را که از طریق تکنیکهای مختلف، مثل ارتباطات رهگیریشده یا نشت داده به دست میآیند جمعآوری میکند.
آنالیز الگوها
زمانی که متن خام به متن رمزگذاریشده تبدیل میشود، هکر الگوها و تغییرات انجامشده را با هم مقایسه میکند. مهاجمان سعی میکنند با بررسی روابط بین متن خام و متن رمزگذاریشده، نحوه کار فرایند رمزنگاری را درک کنند.
پیدا کردن کلید یا الگوریتم
به کمک الگوهای بهدستآمده، مهاجم سعی میکند عناصر حیاتی رمزگذاری مثل کلید رمزنگاری، الگوریتم یا سایر پارامترهای فرآیند را به دست بیاورد. با این کشفیات، هکر میتواند فرایند رمزنگاری را مجددا و به صورت مستقل تکرار کند.
رمزگشایی بقیه دادهها
حملهکننده میتواند با استفاده از کلید یا الگوریتم کشفشده، تمام دادههایی را که از همان الگوریتم رمزگذاری استفاده میکنند، رمزگشایی کند. این کار ممکن است منجر به نشت اطلاعات محرمانه یا اخلال در امنیت سیستم رمزگذاری شود.
مقایسه حمله متن آشکار با حمله متن اصلی منتخب
در حملات متن اصلی منتخب (Chosen-plaintext attack)، هکر متن خام را انتخاب کرده و متن رمزنگاری مربوط به آن را آنالیز میکند؛ اما در حمله متن آشکار فرد یا گروه هکر اطلاعاتی را از متن خام در اختیار دارد.
درک تفاوتهای بین این دو نوع حمله کریپتوگرافی به تقویت استراتژیهای دفاعی در زمینه رمزنگاری کمک میکند. در جدول زیر این دو نوع حمله را با هم مقایسه کردهایم.
خصوصیتها حمله متن اصلی منتخب حمله متن آشکار محتوا هکر متن خام را انتخاب میکند هکر بخشهایی از متن خام را میشناسد نوع حمله استراق سمع یا رهگیری منفعلانه دستکاری فعال هدف کدگشایی متن رمزنگاریشده شناسایی روش رمزگذاری سطح دانش مورد نیاز نیازی به برخورداری از دانش متن خام نیست دانش کمی از متن خام لازم است پیچیدگی متوسط کم مثال تحلیل رمزنگاری تحلیل فراوانی (فرکانس)
برخلاف تحلیل رمزنگاری کلاسیک (Classic Cryptanalysis) که الگوها و نقصهای متن رمزنگاری را پیدا میکند، از تحلیل فراوانی یا فرکانس (Frequency Analysis) برای بررسی وجود حروف یا نمادها و شناسایی الگوریمهای رمزنگاری استفاده میشود.
چگونه در برابر حمله Known Plaintext محافظت کنیم؟
برای در امان ماندن در برابر حملات متن آشکار به موارد زیر توجه کنید:
- از الگوریتمهای رمزگذاری قوی استفاده کنید.
- کلیدهای رمزگذاری را با دقت بیشتری مدیریت کنید.
- برای هر مرحله از یک کلید منحصربهفرد استفاده کنید.
- انتخاب تصادفی را به فرایند رمزنگاری اضافه کنید.
الگوریتمهایی را انتخاب کنید که از تکنیکهای رمزگذاری قوی استفاده میکنند و در برابر حملات متن آشکار مقاوم هستند. الگوریتمهای کریپتوگرافی مدرن (مثل استاندارد رمزگذاری پیشرفته (AES)) با جلوگیری از ارتباط الگوهای متن خام با الگوهای متن رمزنگاری، از حمله KPA جلوگیری میکنند. الگوریتم AES یک الگوریتم رمزگذاری متقارن و پرکاربرد است که امنیت و کارایی بالایی دارد.
برای جلوگیری از دسترسیهای غیرمجاز، مدیریت کلیدهای رمزگذاری را با دقت و امنیت بیشتری انجام دهید. از مخازن امن استفاده کنید، کلیدهای خود را مرتب تغییر دهید و برای تولید کلیدها از تکنیکهای قوی استفاده کنید. علاوه بر این موارد، از رمزگذاری دادههای گسسته و قابل پیشبینی اجتناب کنید. کل پیام یا فایل را رمزگذاری کنید تا هکر نتواند از جفتهای الگوهای آشنا استفاده کند.
برای هر مرحله از یک کلید مختلف استفاده کنید. با این کار تأثیر حمله متن آشکار کاهش مییابد؛ چون در هر مرحله از یک کلید رمزگذاری متفاوت استفاده میشود. سیستمها، کتابخانهها و نرمافزار رمزگذاری خود را به جدیدترین نسخه ارتقا دهید. رفع آسیبپذیریهای امنیتی اغلب در قالب بهروزرسانیها ارائه میشود.
قبل از رمزگذاری متن خام دادهها، یک مقدار تصادفی به آن اضافه کنید. این باعث میشود که هرکدام از رمزگذاریها منحصربهفرد باشند (حتی اگر یک متن خام را چندین بار رمزگذاری کنید). از روشهای رمزگذاری آسیبپذیر استفاده نکنید و نهایتا، انتخاب الگوریتمهای رمزگذاری را با دقت و احتیاط انجام دهید.
سوالات متداول (FAQ)
حمله متن آشکار (Known-Plaintext Attack) یا KPA نوعی از حملات سایبری است که طی آن، فرد یا گروه هکر با استفاده از کدهای شناختهشده به رمزگشایی دادههای رمزنگاریشده میپردازد.
استفاده از الگوریتمهای رمزگذاری قدرتمند، مدیریت بهتر کلیدهای رمزنگاری، انتخاب یک کلید منحصربهفرد برای هر مرحله از رمزگذاری و افزودن انتخابهای تصادفی به فرایند رمزنگاری.
جمعبندی
در این مطلب توضیح دادیم که حمله متن آشکار چیست