16 آذز 90

۱۶ آذر روزدانشجو بر همه دانشجویان عزیز گرامی باد

همه چیز درباره MD5 یا الگوریتم گوارش پیام
احتمالا در مقالات متعددی در خصوص الگوریتم های رمزنگاری اطلاعات و رمزهای عبور و یا شیوه های ویژه هش کردن اطلاعات برای نگه داری امن آنها چیزهایی شنیده باشید. همیشه هم این واژه ها تا حدی گنگ و نامفهوم باقی مانده اند. یکی از کلماتی هم که بسیار شنیده می شود، الگوریتم رمزنگاری یا هش کردن MD5 است.
در این مقاله ابتدا کمی درباره امنیت کامپیوترها و اصول پنهان سازی اطلاعات صحبت می کنیم و آنگاه به جزئیات بیشتری درباره MD5 خواهیم پرداخت.
درهم و برهم کردن رمزی و پنهانی
MD5 که مخفف عبارت Message Digest algorithm 5 یا الگوریتم شماره ۵ گوارش پیام است، در سال ۱۹۹۱ توسط یکی از حرفه ای ها و سرآمدان علم رمزنگاری آمریکا، پروفسور رونالد ریوست اختراع گردید و جایگزین استاندارد قدیمی MD4 شد. MD5 نام ساده ای برای نوعی از رمزنگاری و عملیات پنهان سازی است که رونالد از سال ۹۱ آغاز کرد.
ایده پشت درهم و برهم سازی داده ها برای پنهان سازی آنها یا cryptographic hashing، اینگونه است که یک بلوک قراردادی از داده ها گرفته شده و در پاسخ یک مقدار هش شده با اندازه مشخص برگردانده می شود. که این داده می تواند هر نوع اطلاعاتی باشد. و هر اندازه ای داشته باشد. اما داده هش شده همیشه اندازه و مقدار مشخص و ثابتی دارد. برای مثال می توانید در اینجا یک برنامه هش کننده MD5 را امتحان کنید و هر نوع داده مانند عدد و متن را که دوست دارید تبدیل به یک هش ام دی ۵ کنید.

پنهان سازی با هش کردن کاربردهای متعددی می تواند داشته باشد و الگوریتم های مختلفی برای این کار وجود دارد (که ام دی ۵ یکی از آنها است) که کار نسبتا یکسانی انجام می دهند. یکی از کاربردهای رمزنگاری با هش کردن، تایید محتوای پیام ها یا فایل ها پس از انتقال آنها است.
اگر شما یک فایل نسبتا بزرگ را دانلود کنید، معمولا یک مقدار هش شده را هم خواهید یافت که در فایل جداگانه ای این فایل را همراهی می کند. یک بار که این فایل دانلود شود، می توانید کنترل کنید که فایل دانلود شده با فایل اصلی مطابقت کامل داشته و بدون هیچ تغییری به دست شما رسیده باشد.
همین شیوه برای پیام ها هم کاربرد دارد. با استفاده از هش می توانید بازبینی کنید که پیام دریافتی با پیام ارسالی کاملا یکسان باشد. در سطوح اولیه کاربرد، اگر شما و دوست تان دو فایل خیلی حجیم دارید و می خواهید بدون جابجایی حجم بالای اطلاعات از طریق اینترنت، مطمئن شوید که هر دو فایل یکسان هستند. این شیوه به کمک تان خواهد آمد.
الگوریتم های هش کردن، همچنین به عنوان بخشی از دنیای تایید هویت فایل و اطلاعات نقش بازی می کنند. یک مثال خوب برای این مورد، شبکه های اشتراک فایل نظیر به نظیر مانند eDonkey و تورنت هستند. سیستم ای دانکی از انواعی از الگوریتم های ام دی ۴ به همراه حجم فایل مورد نظر، برای هش کردن استفاده می کند تا فایل هایش را در سیستم علامت گذاری کند.
یکی دیگر از استفاده های هش ها، نگه داری و ذخیره رمزهای عبور است. به دلایل کاملا آشکاری، دسته بندی و ذخیره کردن رمزهای عبور به صورت متن ساده شیوه بسیار بد و خطرناکی است (مثلا وقتی هکر به بانک اطلاعاتی سایت با رمزهای ذخیره شده به صورت متن ساده دست پیدا کند، بدون هیچ دردسری علاوه بر تمام اطلاعات حساب هر کاربر، به رمز مشترک بسیاری از حساب های کاربر در سایت های دیگر هم دست یافته!). پس آنها را به عبارات هش شده تبدیل می کنند. وقتی کاربری رمزعبور را وارد می کند، سیستم آن را به یک عبارت هش تبدیل می کند، و سپس آن را با مقدار هش ذخیره شده معتبر مقایسه می کند. از آنجایی که عملیات هش کردن یک فرآیند یک طرفه است، از نظر تئوری شانس بسیار کمی وجود دارد که رمزعبور اصلی از دل یک عبارت هش شده فاش شود.
الگوریتم شماره ۵ گوارش پیام
تابع MD5 یک عدد هگزادیسیمال ۳۲ رقمی را فراهم می سازد. اگر ما negahbaan.com را به مقدار ام دی ۵ آن تبدیل کنیم، چیزی شبیه 6f960c492f10646c23ef750711709a36 خواهیم داشت. این مقدار بر پایه شیوه ای به نام ساختار Merkle–Damgård (عکس پایین) تولید می شود که بیشتر با نام توابع هش ضد تصادم (collision-proof) شناخته می شوند.

البته هیچ گاه نمی توان چیزی پیدا کرد که در برابر همه حملات کاملا امن باشد. همانطور که در سال ۱۹۹۶ رخنه های بالقوه ای در الگوریتم هش کردن MD5 هم کشف شد. البته این مشکلات کشنده نبودند و ام دی ۵ همچنان به کار خود ادامه داده و مورد استفاده قرار می گیرد. در سال ۲۰۰۴ هم بعد از تحقیقات گروهی از محققان که شرح می دادند چگونه دو فایل کاملا مجزا دارای یک هش ام دی ۵ کاملا یکسانی هستند، کارشناسان متوجه یک ایراد امنیتی دیگر در این الگوریتم شدند. این مورد اولین شاهد از حمله تصادم بود که بر علیه الگوریتم ام دی ۵ به کار می رفت. یک حمله تصادم که کوشش می کرد دو خروجی مجزا را بیابد که دارای یک ارزش هش یکسان باشند.
بعد از چند سال، تلاش برای یافتن مشکلات امنیتی دیگر در ام دی ۵ باز هم نتایجی به همراه داشت. در سال ۲۰۰۸ یک تحقیق گروهی دیگر برای استفاده از شیوه حمله تصادم جهت تقلب در اعتبار سنجی مجوز SSL ترتیب داده شد. با این کار باید کاربران ساده لوح خیال می کردند که در حال وبگردی امن هستند، در حالی که این گونه نبود. اداره امنیت سرزمینی آمریکا اخطار کرده که: «کاربران باید از به کار بردن MD5 در هر کاری اجتناب کنند. همانگونه که تحقیقات قبلی هم این امر را ثابت کرده است. این باید کاملا و به صورت واضح اعلام گردد که این شیوه رمزنگاری شکسته شده است و برای استفاده بیشتر نامناسب است.»

علی رغم اخطار دولت آمریکا، بسیاری از سرویس های درون این کشور و دیگر نقاط دنیا هنوز از MD5 استفاده می کنند و هر چند که از نظر تکنیکی و فنی کاملا در معرض خطر قرار داشته باشند. هرچند که هنوز امکان نمک سود! (salt) کردن رمزهای عبور را هم برای جلوگیری از حملات فرهنگ نامه ای داریم. اگر یک هکر لیستی از رمزهای عبوری که به صورت تصادفی بیشتر استفاده می شوند را داشته باشد و همچنین نام کاربری اکانت دیتا بیس سایت شما را هم پیدا کند، می تواند به راحتی لیستی از هش های رمزهای عبور مشهور را برای ورود تست کند. Salt یک String یا رشته تصادفی است که به رمزعبور هش شده لینک می گردد و مجددا هش می شود. آنگاه مقدار سالت و نتایج هش در دیتا بیس ذخیره می گردند.
اگر یک هکر بخواهد به رمزهای عبور مرتبط با نام های کاربری شما دست پیدا کند، ابتدا باید هش های سالت را کشف کند که برای این کار حمله فرهنگ لغات تقریبا غیر قابل استفاده است.
خلاصه
MD5 یکی از شیوه های بسیار متنوع تایید هویت، امن سازی و بازبینی اطلاعات است. هش کردن رمزنگاری شده یک بخش حیاتی در تاریخ امنیت است و همه چیز را مخفی نگه می دارد. اما همانند همه چیزهایی که برای امنیت ساخته شده اند و باطن آنها بر امنیت پایه گذاری شده، این هم ممکن است شکسته شود.
شما احتمالا لازم نیست که زیاد درباره هش کردن و کنترل مقابله ای MD5 در وبگردی و زندگی آنلاین روزمره تان نگران باشید. اما حداقل هم اکنون می دانید که آنها چه کار می کنند و چگونه این کار انجام می شود.
در آینده بیشتر درباره Salt و کاربردها و شیوه عملکرد آن با شما سخن خواهیم گفت.
#C

۲۸/۰۷/۱۳۹۰
40:27- ۳۷.۷ mb
توجه: این فیلم با پسوندFLV است که شما نیاز به کدک یا برنامه فلش دارین
توجه2: این فایل 50 مگ بوده که فشرده شده است
دانشگاه خودمون
دیگه میگن کسی شرکت نمیکنه


وبلاگ تخصصی مسلم