جلسه 7: معرفی فرایند رمزنگاری یا Cryptography در تست امنیت
جلسه 7: معرفی فرایند رمزنگاری یا Cryptography در تست امنیت
نگهداری امن و محرمانه اطلاعات مشتریان از اولویت بالایی در تمامی سازمان ها و شرکت ها برخوردار است. متأسفانه، روزانه آسیب پذیری های جدیدی کشف شده و همگامی نگهداشت امن سازمان در برابر آن ها، تقریباً به امری محال تبدیل شده است. این آسیب پذیری ها در تاروپود زیرساخت IT قرار گرفته و گاهاً به مدت بسیار طولانی کشف نشده باقی می مانند. اگرچه راه های بسیاری برای امن سازی سیستم ها و اپلیکیشن ها در برابر آسیب پذیری ها وجود دارد، اما تنها راه کسب اطمینان واقعی از آن، تست امنیتی بستر IT سازمان به منظور یافتن این حفره های امنیتی است.
داده ها و اطلاعات کاربران و البته وبسایت ها ممکن است به سرقت برده شوند؛ مورد سوء استفاده گرفته و یا در فضای عمومی و بدون خواست صاحبان آن عرضه شوند. تست امنیت Security Testing امروزه مبحث داغ امنیت است تا آسودگی خیال افراد را در بستر اینترنت فراهم کند. راهکار “تست امنیتی” امکان تکرار حملات بر روی سیستم ها، دستگاه ها و اپلیکیشن ها را به منظور آشکارسازی زنجیره ای از مسیرهای باز و آسیب پذیر بر روی سیستم ها و داده های حساس و حیاتی سازمان، فراهم می آورد.
خلاصه جلسه قبل:
در جلسه گذشته به آشنایی با رمزگذاری و رمزگشایی در تست امنیت پرداختیم؛ Encoding یا رمزگذاری فرآیند قرار دادن دنباله ای از کاراکترها از جمله حروف، اعداد و سایر کارکتر های ویژه در قالب تخصصی برای انتقال کارآمد است. Decoding یا رمزگشایی فرایند تبدیل یک قالب رمزگذاری شده به توالی اصلی کاراکترها است. در این جلسه می خواهیم با رمزنگاری یا Cryptography در تست امنیت آشنا شویم و بدانیم که رمزنگاری یا Cryptography چیست.
رمزنگاری یا Cryptography چیست؟
رمزنگاری یا Cryptography علمی برای رمزگذاری و رمزگشایی داده ها است که به کاربران امکان می دهد اطلاعات حساس را ذخیره کنند و یا آن را از طریق شبکه های ناامن انتقال دهند، به گونه ای که فقط توسط گیرنده در نظر گرفته شده قابل خواندن باشد. داده هایی که بدون اقدامات خاص قابل خواندن و درک هستند، plaintext یا متن ساده نامیده می شوند، در حالی که روش پنهان کردن متن ساده برای مخفی کردن محتوای آن رمزنگاری یا Cryptography نامیده می شود.
متن ساده رمزنگاری شده به عنوان متن رمزنگاری شده یا cipher text شناخته می شود و روند بازگشت داده های رمزنگاری شده به متن ساده به عنوان رمزگشایی یا decryption شناخته می شود. حالا با در نظر داشتن این موارد علم تجزیه و تحلیل و شکستن ارتباطات امن نیز به عنوان رمزنگاری یا Cryptography شناخته می شود.
رمزنگاری می تواند قوی یا ضعیف باشد و در حقیقت قدرت آن در طی زمان و منابع مورد نیاز برای بازیابی متن واقعی اندازه گیری می شود. از این رو یک ابزار رمزگشایی مناسب برای رمزگشایی پیام های رمزگذاری شده قوی لازم است. برخی رمزنگاری های آنقدر قوی هستند که حتی یک میلیارد رایانه نیز که یک میلیارد پردازش را در ثانیه انجام می دهند قادر به رمزگشایی متن آن نیستند! اما از آنجا که قدرت محاسبات روز به روز در حال پیشرفت و گسترش است، باید الگوریتم های رمزگذاری را بسیار قوی کنید تا در برابر مهاجمان از داده ها و اطلاعات حساس محافظت کنید.
رمزگذاری چگونه کار می کند؟
خب حالا که آموختیم رمزنگاری یا Cryptography چیست بیایید با ساز و کار آن آشنا شویم. یک الگوریتم رمزنگاری از طریق رمزگذاری متن ساده و همان متن ساده با متن های مختلف با کلیدهای مختلف در ترکیب با یک کلید (می تواند یک کلمه، عدد یا عبارت باشد) کار می کند. از این رو ، داده های رمزگذاری شده کاملاً به پارامترهایی مانند استحکام الگوریتم رمزنگاری و پنهان بودن کلید وابسته هستند.
آشنایی با تکنیک های رمزنگاری یا Cryptography
1. رمزگذاری متقارن (Symmetric Encryption)
رمزگذاری متقارن یک رمزنگاری مرسوم است که البته به عنوان رمزگذاری معمولی شناخته می شود و روشی است که در آن فقط از یک کلید برای رمزگذاری و رمزگشایی استفاده می شود. به عنوان مثال: الگوریتم های DES ،Triple DES ،MARS توسطIBM ،RC2 ،RC4 ،RC5 ، RC6.
2. رمزگذاری نامتقارن (Asymmetric Encryption)
این رمزنگاری کلید عمومی است که از یک جفت کلید برای رمزگذاری استفاده می کند: یک کلید عمومی برای رمزگذاری داده ها و یک کلید خصوصی برای رمزگشایی. کلید عمومی در حالی که کلید خصوصی را مخفی نگه می دارد برای مردم منتشر می شود. به عنوان مثال: RSA، الگوریتم امضای دیجیتال (DSA)، الگامال و غیره.
3. هش کردن (Hashing)
Hashing یک رمزگذاری ONE-WAY است ، که یک خروجی تقسیم شده ایجاد می کند که قابل برگشت نیست یا حداقل نمی تواند به راحتی برگردانده شود. به عنوان مثال، الگوریتم MD5. برای ایجاد گواهینامه های دیجیتال، امضاهای دیجیتال، ذخیره رمزهای عبور، تأیید ارتباطات و غیره از Hashing استفاده می شود.
سخن پایانی
در این جلسه به آشنایی با رمزنگاری یا Cryptography در تست امنیت پرداختیم؛ رمزنگاری یا Cryptography علمی برای رمزگذاری و رمزگشایی داده ها است که به کاربران امکان می دهد اطلاعات حساس را ذخیره کنند و یا آن را از طریق شبکه های نا امن انتقال دهند، به گونه ای که فقط توسط گیرنده در نظر گرفته شده قابل خواندن باشد. در جلسه آینده به بررسی مفهوم SOP و آشنایی با آن می پردازیم. لطفا نظرات خود در رابطه با این مقاله را با ما به اشتراک بگذارید.
شاد و سر سبز باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.