معرفي انواع حملات آناليز رمزنگاري ( Cryptanalysis ) به زبان ساده
قبلا مفصل در خصوص الگوريتم هاي رمزنگاري اطلاعات صحبت كرده ايم. بد نيست بدانيد كه حملاتي نيز بصورت ويژه براي شكستن كليدهاي رمزنگاري اطلاعات طراحي شده اند كه حملات يا مدل هاي حمله Cryptanalysis معروف هستند.
البته به عنوان يك كارشناس امنيت اطلاعات يا امنيت سايبري ، الزامي نيست كه شما دانش عميقي در حوزه رمزنگاري و الگوريتم هاي آن داشته باشيد و خودتان را درگير رياضيات و محاسبات آن كنيد. بلكه همين كه نوع حملاتي كه به اين الگوريتم ها ممكن است انجام شود را بشناسيد و درك كنيد كفايت مي كند.
شناخت اين نوع حملات براي آزمون هاي بين المللي Security Plus ، CCSP و CISSP الزامي است . در اين مقاله هدف ما معرفي كردن انواع حملات آناليز رمزنگاري يا Cryptanalysis است.
به زبان ساده تر شما قرار است متوجه شويد كه يك كارشناس تجزيه و تحليل گر الگوريتم هاي رمزنگاري ( ترجمه واژه Cryptanalyst به همين بركت !! ) چگونه الگوريتم هاي رمزنگاري را تحليل و آسيب پذيري هاي آنها را كشف مي كنند . در واقع حملات كرك پسورد و به دست آوردن اطلاعات محرمانه از چنين روش هايي انجام مي شود.
باز هم ساده تر بگوييم كه از در زمان جنگ جهاني دوم يكي از همين آناليزور ها بود كه توانست كليد رمزگشايي كدهاي جنگ را شناسايي كند و ماشين هاي كدساز را عملا بي مصرف كند.
شما صرفا قرار است روشها ، مفاهيم و تجزيه و تحليل كلي كه روي اين الگوريتم ها انجام شده است را كمي درك كنيد و فقط بدانيد كه نبايد از اين الگوريتم هاي آسيب پذير استفاده كنيد.
در حال حاضر اكثر اين آسيب پذيري ها با استفاده كردن از روش هاي جديد رمزنگاري عملا غير قابل استفاده هستند اما فراموش نكنيد كه انسان جايزالخطاست ( به روح طرف قسم !! ) و ممكن است به سرش بزند از الگوريتم هاي قديمي هم استفاده كند ( كه تا دلتون بخاد ! علي بركت الله ) . پس تا انتهاي مقاله با ما باشيد.
واژه هايي كه بايد در حملات رمزنگاري بشناسيد
- Plaintext : متن يا رشته اي كه رمزنگاري نشده است و خام است ( بعضي اوقات Cleartext هم گفته ميشه )
- Ciphertext : متن يا رشته اي كه رمزنگاري شده است
- Cryptanalyst: شخصي كه دانش شكستن الگوريتم هاي رمزنگاري بدون داشتن كليد را دارد !
- Cipher : روشي كه به وسيله آن پيام هاي Plaintext مخفي مي شوند ( رمز شدن )
خوب ما حالا روشهاي حمله به الگوريتم هاي رمزنگاري را به چهار نوع و دو كلاس Active و Passive طبقه بندي مي كنيم و در ابتدا به بررسي حملات Passive مي پردازيم ( به زبان ساده وقتي در حملات هكري از واژه Passive استفاده مي شود يعني مهاجم ارتباط مستقيم با سيستم هاي هدف نمي گيرد و بيشتر درگير شنود ترافيك مي شود و اگر Active باشد يعني به يكي از سيستم هاي مبدا يا مقصد رمزنگاري حمله مي كند )
حمله Passive نوع 1 : حمله COA يا Ciphertext Only Attackers
در اين نوع حمله ، مهاجم فقط Ciphertext را در اختيار دارد. به زبان ساده تر ، مهاجم تنها آن چيزي را مي تواند ببيند كه همگان مي توانند مشاهده كنند و متن رمزنگاري شده اي كه به نظر غير قابل رمزگشايي مي رسد را صرفا شنود كرده و در اختيار دارد.
مهاجم با تجريه و تحليل كردن كدهاي رمزنگاري شده سعي در پيدا كردن مفهوم Ciphertext و رمزگشايي آن مي كند. همچنين مهاجم هيچ اطلاعاتي در خصوص Plaintext اي كه تبديل به اين Ciphertext شده است نيز ندارد. درصد موفقيت اين حمله بسيار بسيار كم است و در عين حال الگوريتم هاي به روز و جديد اصلا چنين آسيب پذيري هايي ندارند.
حمله Passive نوع 2 : حمله KPA يا Known Plaintext Attack
در اين نوع حمله ، مهاجم Plaintext اي كه از طريق آن Ciphertext توليد شده است را در اختيار دارد. مهاجمين در چنين حالتي امكان انتخاب Plaintext جديدي براي رمزنگاري ندارند تا كليد را پيدا كنند اما به دليل داشتن يك بخش از قضيه و امكان مقايسه كردن نتايج رمزگشايي ، احتمال موفقيت اين حمله بسيار بيشتر از حملات COA است.
اگر بخواهيم نمونه اي از اين حمله را عنوان كنيم بايد بگوييم الگوريتم PKZIP و Ciphertext هايي كه با آن ساخته مي شد با استفاده از يك XOR امكان رمزگشايي و شكسته شدن كليد داشت.
اين همان روشي است كه در جنگ جهاني دوم شخصي به نام Alan Turing براي رمزگشايي پيام هاي آلمان نازي كه با دستگاه Enigma ارسال مي شد استفاده كرد. از نظر رياضيات و علوم كامپيوتر و منطق ، آلن تورينگ ( Alan Turing *) يكي از نخبگان قرن بيستم به حساب مي آمد.
حمله Active نوع 1 : حمله CPA يا Chosen Plaintext Attack
در اين نوع حمله مهاجم مي تواند Plaintext ورودي الگوريتم مورد استفاده در رمزنگاري را تغيين كند و خروجي Ciphertext را توليد كند. با توجه به اينكه براي انجام چنين حمله اي مهاجم بايد Plaintext را به عنوان ورودي الگوريتم رمزنگاري وارد كند بنابراين يك حمله Active يا فعال در نظر گرفته مي شود.
با توجه به اينكه مهاجم مي تواند Plaintext هاي مختلف را براي تبديل به Ciphertext و مقايسه كردن آنها آزمايش كند ، احتمال موفقيت اين حمله به نسبت ساير حملات به نسبت بالاتر است . در نهايت با آزمون و خطاهاي بسيار امكان به دست آوردن روش كار الگوريتم و البته خارج كردن و به دست آوردن كليد رمزگشايي هم بسيار است .
در اين نوع حمله براي اينكه درصد موفقيت بالاتر برود ، مهاجم يك بانك اطلاعاتي از انواع Plaintext هاي معروف را تبديل به Ciphertext مي كند و جفت هاي Plaintext و Ciphertext وردي و خروجي را با هم مقايسه مي كند تا در نهايت به راز كار پي ببرد.
حمله Active نوع 2 : حمله CCA يا Chosen Ciphertext Attack
در اين نوع حمله مهاجم هم مي تواند رمزنگاري كند و هم رمزگشايي !! اين يعني اينكه مهاجم مي تواند Plaintext را رمزنگاري كند و متعاقبا Ciphertext مرتبط با آن را ببينيد و فرآيند معكوس را نيز انجام دهد.
به اين موضوع دقت كنيد كه يك مهاجم قرار نيست الزما Plaintext را پيدا كند ، بلكه هدفش از رمزنگاري و رمزگشايي بصورت مرتب و منظم اين است كه بتواند از درون اين فرآيند كليد رمزگشايي را پيدا كند و به كلي به الگوريتم نفوذ كند. اين مدل نيز درجه محبوبيت و موفقيت به نسبت بالايي دارد.
خلاصه
بدون تعارف اكثر الگوريتم هايي كه امروزه طراحي شده و مورد استفاده قرار مي گيرند ، آسيب پذيري هايي كه اعلام كرديم را ديگر ندارند و به ندرت با چنين روشهايي مي توان كليدهاي الگوريتم ها را پيدا كرد. اما به عنوان يك كارشناس امنيت بايد با تاريخچه و روش كاركرد حملات آشنايي داشته باشيد ، هر چند كه اين حملات قديمي شده باشند.
بد نيست بدانيد كه برخي از حملاتي كه امروزه به نظر خيلي ها مسخره و منسوخ شده به نظر مي رسد با توجه به محدوده استفاده گسترده اي كه از ديرباز داشته اند ، هنوز هم قابل استفاده و هك شدن هستند.
براي مثال سالهاست كه پروتكل WEP در شبكه هاي وايرلس منسوخ شده و آسيب پذير است و عملا در نسخه هاي جديد تجهيزات بيسيم استفاده نمي شود . اما شما شاهد استفاده گسترده از اين الگوريتم در تجهيزات قديمي هستيد كه هنوز به روز رساني نشده اند.براي يادگيريو آشنايي بيشتر به دوره اموزشي هك قانونمند و دوره آموزش سكيوريتي پلاس مراجعه كنيد.
برچسب: , آموزش هك ،آموزش هك قانونمند،آموزش CEH ،آموزش سكيوريتي پلاس،آموزش Security،آموزش امنيت شبكه،