برای مطالعه قسمت قبل آموزش رایگان دوره CEH اینجا کلیک کنید.
RSA
RSA در سال 1977 توسط Ron Rivest، Adi Shamir و Leonard Adleman در MIT توسعه یافت. الگوریتم طراحی شده توسط این افراد به عنوان اولین سیستم رمزنگاری کلید عمومی است در دسترس افراد مختلف قرار گرفت. اگرچه RSA به اندازه رمزگذاری متقارن سریع نیست، اما قدرتمند است. الگوریتم فوق از دو عدد اول اصلی بزرگ برای انجام محاسبات قدرتمند استفاده میکند. این الگوریتم بر مبنای اصول فاکتورگیری از اعداد اولیه بزرگ انجام میشود. اندازه کلیدهای RSA میتوانند بسیار بزرگ شوند، هرچند در حال حاضر طول آنها محدود به 4096 بیت است. شکستن کلیدی با اندازه بزرگ به یک سامانه کامپیوتری قدرتمند و اختصاص زمان قابل توجهی نیاز دارد. RSA برای رمزنگاری و امضاهای دیجیتالی استفاده میشود. از آنجایی که رمزگذاری نامتقارن به اندازه رمزگذاری متقارن سریع نیست، این دو اغلب با هم استفاده میشوند. بنابراین، نقاط قوت هر دو در حوزه امنیت استفاده میشود. پروتکل نامتقارن برای تبادل کلید خصوصی استفاده میشود، اما ارتباط واقعی با رمزگذاری متقارن انجام میشود. رمزنگاری RSA را میتوان در بسیاری از محصولات مانند Microsoft Internet Explorer و Mozilla Firefox یافت.
دیفی هلمن
Diffie-Hellman یکی دیگر از پروتکلهای رمزگذاری نامتقارن است که بهطور گسترده استفاده میشود. این الگوریتم به عنوان یک پروتکل تبادل کلیدی ایجاد شده و به عنوان یکی از مولفههای کاربردی در پروتکلهای SSL و IPsec استفاده میشود. Diffie-Hellman بسیار با ارزش است، زیرا این امکان را میدهد که دو نفر که قبلاً با یکدیگر ارتباطی نداشتهاند به شکل نسبتا ایمنی به تبادل اطلاعات بپردازند. با این حال، مانند اکثر سیستمها، کامل نیست. الگوریتم فوق در برابر حملات مرد میانی آسیبپذیر است. آسیبپذیری موجود در این پروتکل باعث شده تا امکان بهکارگیری آن در ارتباط با تایید هویت طرفین چندان قابل اطمینان نباشد. در صورت استفاده از امضاهای دیجیتال یا فرم تبادل تأیید رمز عبور (PAKE) Diffie-Hellman میتوانید بر این آسیبپذیری غلبه کنید.
الجمل
در اوایل دهه 1980 توسعه یافت. ElGamal برای رمزگذاری و امضاهای دیجیتالی طراحی شده و شامل سه مؤلفه گسسته است: تولیدکننده کلید، الگوریتم رمزگذاری و الگوریتم رمزگشایی. الگوریتم فوق تا حدودی با سایر سیستمهای نامتقارن که مورد بحث قرار گرفتند تفاوت دارد. در رمزنگاری سیستم رمزنگاری الجمل یک الگوریتم رمزنگاری کلید عمومی است که بر پایه پروتکل تبادل کلید دیفی-هلمن ساخته شدهاست. این الگوریتم توسط طاهر الجمل در سال ۱۹۸۴ معرفی شد. الگوریتم الجمل در برنامههایی مانند گنو پرایوسی گارد یا نسخههای جدید PGP و سایر نرمافزارهای رمزنگاری استفاده میشود. الگوریتم الجمل میتواند روی هر گروه دوری مانند {\displaystyle G}G تعریف شود. امنیت آن بستگی به سختی مسئلهای خاص در {\displaystyle G}G مربوط به محاسبۀ لگاریتم گسسته دارد.
رمزنگاری منحنی بیضوی (ECC)
رمزنگاری منحنی بیضوی (ECC) یک رمزنگاری به روش کلید عمومی است که بر اساس ساختاری جبری از منحنیهای بیضوی روی میدانهای متناهی طراحی شده است. این رمزنگاری در مقایسه با سایر رمزنگاریهای مبتنی بر میدانهای گالوا برای ایجاد امنیت یکسان به کلید کوچکتری نیاز دارد. منحنیهای بیضوی برای تبادل کلید، امضاهای دیجیتال، تولیدکننده های شبه تصادفی و سایر وظایف کاربرد دارند. بهطور غیر مستقیم، آنها با ترکیب کلید تواقفی با طرح رمزنگاری متقارن میتوانند برای رمزگذاری مورد استفاده قرار گیرند. منحنیهای بیضوی همچنین در تجزیه اعداد طبیعی نیز استفاده شدهاند. این الگوریتمها دارای کاربردهایی در زمینه رمزنگاری هستند، مانند فاکتور منحنی بیضوی Lenstra.
Hashing
الگوریتمهای درهمساز یک مقدار متغیری از دادهها را گرفته و آنرا به یک مقدار طول ثابت فشرده میکنند. به این فرآیند هش گفته میشود. درهمسازی یک اثر انگشت برای پیامها ارائه میکند. الگوریتمهای درهمساز قوی به سختی قابل شکستن هستند و برای دو یا چند پیام مقدار هش یکسانی را تولید نمیکنند. درهمسازی اصل یکپارچی را تضمین کرده و در سیستمهای تأیید اعتبار نیز استفاده میشود. رویکرد فوق میتواند به تأیید صحت اینکه اطلاعات بدون تغییر ماندهاند کمک کند. شکل زیر نمای کلی فرآیند درهمسازی را نشان میدهد.
از الگوریتمهای هش معروف میتوان به SHA (160/256/512) ، MD (128) ، Tiger (192) nontruncated، Whirlpool (256) و RIPEMD (160) اشاره کرد. برنامههایی مانند Tripwire ، MD5Sum و سیستم تأیید فایل ویندوز به مکانیزم هش وابسته هستند. بزرگترین مشکل برای در ارتباط با مکانیزم هش در ارتباط با تصادم است. تصادم زمانی است که دو یا چند فایل خروجی یکسان را ایجاد میکنند. دو الگوریتم متداول هشینگ، الگوریتم هضم MD5 و الگوریتم SHA-1 هستند.
■ MD5: یک روش رمزنگاری است که به صورت گسترده به عنوان تابع درهمساز رمزنگارانه استفاده میشود. این الگوریتم یک رشته با طول متفاوت را به عنوان ورودی میگیرد و یک خلاصه پیام MD5 یا اثر انگشت با طول ۱۲۸بیت میسازد. الگوریتم MD5 توسعهای از الگوریتم MD4 است با این تفاوت که MD5 کمیکندتر از MD4 عمل میکند اما در طراحی آن بسیار محافظهکارانه عمل شدهاست.
MD5 در شرایطی طراحی شد که حس کردند MD4 به علت سرعت بالایی که دارد پذیرفته شده اما از امنیت مناسبی در شرایط بحرانی برخوردار نیست. MD5 کمی نسبت به MD4 کندتر شد، در عوض، امنیت آن بیشتر گشت. این الگوریتم حاصل تأثیر دادن نظرات تعدادی از استفاده کنندگان MD4 به همراه مقادیری تغییر در ساختار الگوریتم برای افزایش قدرت آن است.
■ : SHA تابع درهمسازی یک ورودی میگیرد و یک مقدار درهم ۱۶۰ بیتی (۲۰ بایت) به نام #تغییرمسیر message digest تولید میکند - که معمولا به عنوان یک عدد ۴۰ رقمی در مبنای ۱۶ نمایش داده میشود. از ابتدای سال ۲۰۰۵ SHA-1 نشانههایی از ضعف در این الگوریتم شناسایی شد. از سال ۲۰۱۰ سازمانهای بسیاری جایگزین برای آن پیشنهاد دادهاند. سازمان NIST به صورت رسمی استفاده از SHA-1 را در سال ۲۰۱۱ منسوخ اعلام کرد و در سال ۲۰۱۳ استفاده آن در امضای دیجیتال را ممنوع کرد. در نتیجه پیشنهاد می شود که SHA-1 را از تمام محصولات هر چه سریعتر حذف کنیم و به جای آن از SHA-256 یا SHA-3 استفاده کنیم. جایگزین کردن SHA-1 در جاهایی که برای امضای دیجیتال استفاده میشود ضروری است. تمام فروشندگان مرورگرهای اینترنتی از سال ۲۰۱۷ پذیرش گواهی ssl که با SHA-1 تولید شده را متوقف کردند.
امضای دیجیتالی
چگونه میتوان الگوریتمهای نامتقارن (و نه متقارن) برای تأیید اعتبار استفاده کرد. استفاده از رمزگذاری نامتقارن برای تأیید اعتبار به عنوان امضای دیجیتالی شناخته میشود. امضاهای دیجیتالی تقریباً مانند یک امضا در زندگی واقعی هستند، زیرا امضاء صحت سند و فرستنده را تأیید میکند. بیایید به نمونهای از چگونگی عملکرد پنج مرحلهای امضای دیجیتال نگاه کنیم:
1. جی پیامی را با استفاده از الگوریتم هشینگ ایجاد میکند.
2. پیام با استفاده از کلید خصوصی جی رمزگذاری میشود.
3. پیام به همراه پیام رمزگذاری شده برای گیرنده، آلیس ارسال میشود.
4- آلیس با همان الگوریتم هش که جی از آن استفاده میکند، پیام را پردازش میکند. سپس آلیس با استفاده از کلید عمومی جی، امضای جی را رمزگشایی میکند.
5. سرانجام، آلیس دو پیام را با یکدیگر مقایسه میکند: یکی که در ابتدا توسط جی ساخته شده و دیگری که او ایجاد کرده است. اگر دو مقدار مطابقت داشته باشند، آلیس مطمئن میشود که پیام بدون تغییر است و از طرف جی آمده است.
شکل زیر نشان میدهد که چگونه میتوان از رمزگذاری نامتقارن برای حفظ اصل محرمانگی و یکپارچگی استفاده کرد.
پنهاننگاری
پنهاننگاری (Steganography) یا استگانوگرافی هنر و علم برقراری ارتباط پنهانی است و هدف آن پنهان کردن ارتباط به وسیله قرار دادن پیام در یک رسانه پوششی است، به گونهای که کمترین تغییر قابل کشف را در آن ایجاد نماید و نتوان موجودیت پیام پنهان در رسانه را حتی به صورت احتمالی آشکار ساخت. پنهاننگاری شاخهای از دانشی به نام اختفاء اطلاعات (Data Hiding) است. دانش اختفاء اطلاعات خود شامل چندین شاخه از جمله رمزنگاری است. افرادی که میخواهند به صورت سری با یکدیگر ارتباط داشته باشند، اغلب سعی میکنند که آن ارتباط را به هر نحوی پنهان کنند. استگانوگرافی، برگرفته از دو کلمه یونانی stego به معنای پوشیده و graphy به معنای نوشتن است؛ بنابراین کل کلمه به معنای پوشیدهنویسی یا پنهاننگاری است. تفاوت اصلی رمزنگاری و پنهاننگاری آن است که در رمزنگاری هدف اختفاء محتویات پیام است و نه بهطور کلی وجود پیام، اما در پنهاننگاری هدف مخفی کردن هر گونه نشانهای از وجود پیام است. در مواردی که تبادل اطلاعات رمز شده مشکل آفرین است باید وجود ارتباط پنهان گردد. به عنوان مثال اگر شخصی به متن رمزنگاری شدهای دسترسی پیدا کند، به هر حال متوجه میشود که این متن حاوی پیام رمزی است، اما در پنهاننگاری شخص سوم ابداً از وجود پیام مخفی در متن اطلاعی حاصل نمیکند. در موارد حساس ابتدا متن را رمزنگاری کرده، آنگاه آن را در متن دیگری پنهاننگاری میکنند. شکل زیر نوعهای رایج پنهاننگاری را نشان میدهد.
یک روش استگانوگرافی با مخفی کردن اطلاعات در تصاویر یا نقشههای بیتی کار میکند. پنهاننگاری با پخش اطلاعات در بیتهای مختلف درون یک فایل، اطلاعات را در نقشه بیتی مخفی میکند. تصاویر رایانهای یا بیتمپها از نقاط زیادی تشکیل شدهاند. به هر یک از این نقاط پیکسل گفته میشود. هر پیکسل رنگ خاص خود را دارد. این رنگها میتوانند بین هیچ رنگی (باینری 0) تا رنگ کامل (دودویی 255) متغیر باشند. استگانوگرافی در فایلهای صوتی نیز به شکلی مشابه کار میکند، زیرا صدا نیز با یک مقدار باینری مربوطه نشان داده میشود. به عنوان مثال، بیایید بگوییم که فایل صوتی راهانداز ویندوز دارای 4 بایت اطلاعات زیر است:
225 38 74 130
11100001 00100110 01001010 10000010
اگر میخواهید مقدار اعشاری 7 (دودویی 0111) را در اینجا مخفی کنید، میتوانید به سادگی تغییر زیر را ایجاد کنید:
224 39 75 131
11100000 0010011 01001011 10000011
سایر تکنیکهای پنهاننگاری شامل ماسکزنی، فیلتر کردن یا تغییر شکل هستند. تکنیکهای ماسکزنی و فیلترینگ معمولاً در تصاویر 24 بیتی استفاده میشود و شبیه به الگوی Watermaking هستند. تبدیل با استفاده از توابع ریاضی انجام میشود تا دادهها با تغییر ضرایب در زیر تصویر دیگری پنهان شوند. ابزارهای پنهاننگاری در نحوه کارکرد متفاوت هستند، اما صرفنظر از تکنیک، ایده این است که برای کسی که سعی در القاء شکستن الگوریتم دارد، این فرآیند به سختی امکانپذیر باشد. مقدار واقعی دادههایی که میتوانند در هر حامل مخفی شوند به اندازه کل حامل و اندازه دادههای پنهان بستگی دارد. این حرف به چه معنا است؟ هیچ راهی برای مخفی کردن یک فایل 10 مگابایتی در یک تصویر بیتمپ 256 کیلوبایتی وجود ندارد. حاملها اغلب خیلی کوچک هستند. یکی از دلایلی که باعث شده تا فیلمها گزینه مناسبی در این زمینه باشند، وجود تصاویر با ابعاد بزرگ در فیلمها است.
ابزارهای پنهاننگاری
از ابزارهای پنهاننگاری میتوان برای مخفی کردن اطلاعات در معرض دید استفاده کرد. در این زمینه سه نوع کلی از این ابزارهای وجود دارد. گروه اول ابزارهایی هستند که اطلاعات را در اسناد به روشی غیرعادی پنهان میکنند. یکی از این برنامهها، Snow است. Snow با افزودن فضای سفید به انتهای خط، پیامها را در متن اسکی پنهان میکند. یک پیام متنی بهطور معمول حاوی موارد بسیاری است که بهطور معمول آنها را نمیبینید، مانند فضاها و زبانهها. Snow از همین تکنیکها برای قرار دادن اطلاعات در مناطقی استفاده میکند که معمولاً در برنامههای مشاهده اسناد قابل رویت نیستند. اگر از رمزگذاری استفاده شود، پیام حتی اگر تشخیص داده شود، خوانده نمیشود. اگر میخواهید این برنامه را آزمایش کنید، آنرا از سایت http://www.darkside.com.au/snow دانلود کنید.
نوع دوم برنامههای پنهاننگاری اطلاعات را در یک فایل صوتی مخفی میکنند. دو ابزاری که میتوانند اطلاعات را در فایلهای صوتی مخفی کنند Steghide و MP3Stego هستند. یکی از نگرانیهای اصلی هکر ممکن است این باشد که شخصی در مورد انتقال تعداد زیادی از فایلهای صوتی مشکوک شود. اگرچه بازیابی محتوای پیامها میتواند برای مدیر امنیتی دشوار باشد، اما او همیشه میتواند فایل MP3 را فشرده و فشردهسازی کند که باعث میشود محتوای پنهان پنهان خراب شود.
نوع سوم این ابزارها اطلاعات موجود را در تصاویر یا طرحهای گرافیکی پنهان میکند.
از جمله ابزارهای مطرح در این زمینه باید به S-Tools، ImageHide، OpenPuff و Steganography Studio: اشاره کرد. با توجه به مهم بودن این بحث پیشنهاد میکنم تحقیق جامعی در این زمینه انجام دهید. به ویژه سعی کنید نحوه کار با ابزار S-Tools را یاد بگیرید.
گواهینامههای دیجیتال
گواهینامههای دیجیتال نقش اساسی در زنجیره تامین اعتبار دارند. رمزگذاری کلید عمومی هنگام برخورد با افرادی که میشناسید خوب کار میکند، زیرا ارسال کلید عمومی به راحتی امکانپذیر است. با این حال، در مورد برقراری ارتباط با افرادی که نمیشناسید، چگونه عملکردی دارد؟ چه چیزی مانع از ارسال یک کلید عمومی توسط فردی میشود که خود را به جای فرد دیگری معرفی میکند؟ بهطور مثال، یک هکر میتواند یک کلید ساختگی را با نام یکسان و هویت یک گیرنده بالقوه ارسال کند. اگر دادهها با کلید ساختگی رمزگذاری شده باشند، توسط هکر قابل خواندن است. برای حل این مشکل باید از گواهینامههای دیجیتال استفاده کرد. آنها نقش ارزشمندی دارند، زیرا کمک میکنند تأیید کنید که یک کلید عمومی واقعاً به یک مالک خاص تعلق دارد. گواهینامههای دیجیتال شبیه گذرنامه هستند. اگر میخواهید کشور را ترک کنید باید گذرنامه داشته باشید. اگر در فرودگاه هستید، این استاندارد طلایی برای شناسایی هویت شما استفاده میشود و ثابت میکند که شما چه کسی هستید. گواهیهای دیجیتالی توسط مراجع صدور گواهینامه تولید و پشتیبانی میشوند. مرجع صدور گواهینامه مانند وزارت امور خارجه است (دفتری که گذرنامه صادر میکند). از جمله این شرکتها میتوان به Verisign ، Thawte و Entrust اشاره کرد.
اگرچه ممکن است بخواهید از یک مجوز خارجی استفاده کنید، اما اجباری نیست. شما میتوانید تصمیم بگیرید که سازمانتان مرجع صدور این گواهینامهها باشد. فقط این نکته را به خاطر داشته باشید که گواهینامههای دیجیتال تنها زمانی به رسمیت شناخته میشوند که مرجع صدور گواهی قابل اعتماد باشد. مواردی وجود داشته که مقامات صدور گواهینامه، اعتبارشان نقض شده است. در یک مورد، یک مرجع صدور گواهینامه هلندی در سال 2011 از اعتبار ساقط شد. صرفنظر از اینکه شخص ثالث یا خودتان چه وظایفی بر عهده دارید در گواهی های دیجیتالی معمولاً اطلاعات مهم زیر قرار میگیرند:
اطلاعات شناسایی که شامل نام کاربری، شماره سریال و تاریخ اعتبار گواهینامهها است.
کلید عمومی دارنده گواهینامه.
امضای دیجیتال مرجع گواهینامه. این مولفه بسیار مهم است و هرگونه خدشهای در آن اعتبار مجوز را بهطور کامل باطل میکند.
X.509 استاندارد امضاهای دیجیتال است و اطلاعات و خصوصیات لازم برای شناسایی شخص یا سیستم رایانهای را مشخص می کند. نسخه 3 جدیدترین نگارش X.509 است.
در شماره آینده مبحث فوق را ادامه میدهیم.
برای مطالعه رایگان تمام بخشهای دوره CEH روی لینک زیر کلیک کنید:
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟