TAHA
10-28-2009, 09:11 PM
MD5 روش برای تولید یک چکیده از یک پیام است ( Message Digest ) . چه یک کلمه ، یک عدد ، یک جمله ، یک کتاب چند صد صفحه ای ، یک فایل و ... به او بدهید ، یک چکیده با طول ثابت 128بیتی تولید میکند . حالا این به چه دردی میخورد ؟ فرض کنید در حاشیه ء انتخابات پر شور مجلس ( که قرار دوباره ملت یک حماسه دیگه توش خلق کنند ! و براستی این مردم جز خلق کردن حماسه به درد دیگری هم میخورند ؟ :roll: ) قراره وزیر کشور نامه ای محرمانه به تمام استانداری های کشور ارسال کنه . ( حالا به چه روشی زیاد مهم نیست ) اگر این نامه بین راه توسط افرادی تغییر داده بشه ، دریافت کننده چطور ممکنه بفهمه ؟ اون ماموره و مجبور به اطاعت . خیلی بعیده به تهران تلفن بزنه و استعلام کنه ، شاید اصلا بالاش نوشته باشه محرمانه و اون مجبور باشه بدون اطلاع دیگران بهش عمل کنه ... اگر حالا متن اصلی وزیر با مطلب دیگری تغییر داده شده باشه ( مثلا" : نمایندگان شورای نگهبان رو به حوزه های انتخابیه راه ندید ! :twisted: 8) ) چه دردسر بزرگی ایجاد میشه ...!
یکی از راههای اعتماد سازی در یک تبادل اطلاعات دو طرفه استفاده از امضاهای دیجیتال است و چکیده پیام یا همون Message Digest نقش مهمی در این مهم ایفا میکنه . پیام شما ( هر چی که میخواد باشه ) همیشه دارای یک چکیده 128 بیتی است که با متدی یکتا تهیه شده و پس از رمزنگاری به انتهای نامه الصاق میشود ، دریافت کننده ( که به عنوان مثال در یک معماری مبتنی بر PKI دارای کلید خصوصی - Private Key - خودش هست ) میتونی با کلید خصوصی خودش چکیده پیام رو ( که با کلید عمومی - Public key - کد شده ) باز کنه ، بعد متن پیام رو با همون الگوریتم یکتا درهم ریزی کنه ( Hashing ) و بعدش محصول رو با آنچه که به پیام الصاق شده بود مقایسه کنه . با تکیه به معماری غیر متقارن ( Asymmetric ) شناسائی و تصدیق هویت ( Authentication ) این یکی از روشهای مناسب برای اعتماد سازی است .
MD5 یا Message Digest version 5 در دانشگاه MIT و توسط پروفسور
Ronald L. Rivest طراحی شده و متن کامل داستان MD5 رو میتونید در آر اف سی شماره 1321 مطالعه کنید : RFC 1321 (rfc1321) - The MD5 Message-Digest Algorithm (http://www.faqs.org/rfcs/rfc1321.html)
این صفحه وب هم حاوی مقداری سورس کد به زبانهای مختلف از جمله سی و دلفی و جاوا است که میتونی تولید چکیده پیام به روش ام دی فایو رو حمایت کنه :
http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html (http://userpages.umbc.edu/%7Emabzug1/cs/md5/md5.html)
نکته پایانی : شاید موقع دریافت نرم افزار از برخی سایتهای معتبر دیده باشید که کنار فایلهای مربوطه نوشته اند MD5 و کنار آن هم رشته ای مثل این :
900150983cd24fb0d6963f7d28e17f72
( این رشته خروجیه abc است )
اینگونه سایتهای برای ایجاد اعتماد ، از فایلهای خود با برنامه هائی که چکیدهء MD5 تولید میکنند ، امضای مربوطه را ایجاد و اعلام میکنند ، شما هم بعد از دریافت میتونید با یکی از ابزارهای متداول همینکار ( روی لینوکس اصلا دستوری به همین نام و به همین مقصود وجود داره ) فایل مربوطه رو چک کنید تا از صحت محتوای اون مطمئن بشید . مدتها قبل فردی توانست سایت حمایت کننده SendMail که میل سروری معروف روی پلت فرمهای مبتنی بر یونیکس است را هک کرده و بجای تغییر صفحات وب آن ، نسخه ای حاوی یک تروجان را به عنوان نسخه جدید آپلود کرد و بعد هم با راسال خبرنامهء رسمی سایت SendMail باعث شد تعداد زیادی از مدیران سرورها جهت نصب نسخه جدید هجوم بیارن و در واقع نسخه محتوی تروجان را دریافت و نصب کنند ( و براستی وقتی سورس باز است چه کسی به خودش زحمت چک کردن اون رو میده ؟ بقول یکی از اساتید مرحومم ، مخفی ترین چیز ، چیزیه که اصلا برای مخفی کردنش تلاش نشده ! ) و این حرکت زیرکانه اون هکر باعث شد صدها سایت تحت سیطره اون قرار بگیرن که البته ناگفته پیداست برای برقراری یک حملهء DDOS ( یا Distributed Denail of service ) به اونها احتیاج داشت . :arrow:
امیدوارم این مطلب کوتاه مفید بوده باشه . خیلی خوبه دوستان ابتدای کار حوزه های مورد علاقه خودشون رو مشخص کنند تا فعالیت و ارائه مطلب بهتر و مفیدتر باشه
خوش باشید
یکی از راههای اعتماد سازی در یک تبادل اطلاعات دو طرفه استفاده از امضاهای دیجیتال است و چکیده پیام یا همون Message Digest نقش مهمی در این مهم ایفا میکنه . پیام شما ( هر چی که میخواد باشه ) همیشه دارای یک چکیده 128 بیتی است که با متدی یکتا تهیه شده و پس از رمزنگاری به انتهای نامه الصاق میشود ، دریافت کننده ( که به عنوان مثال در یک معماری مبتنی بر PKI دارای کلید خصوصی - Private Key - خودش هست ) میتونی با کلید خصوصی خودش چکیده پیام رو ( که با کلید عمومی - Public key - کد شده ) باز کنه ، بعد متن پیام رو با همون الگوریتم یکتا درهم ریزی کنه ( Hashing ) و بعدش محصول رو با آنچه که به پیام الصاق شده بود مقایسه کنه . با تکیه به معماری غیر متقارن ( Asymmetric ) شناسائی و تصدیق هویت ( Authentication ) این یکی از روشهای مناسب برای اعتماد سازی است .
MD5 یا Message Digest version 5 در دانشگاه MIT و توسط پروفسور
Ronald L. Rivest طراحی شده و متن کامل داستان MD5 رو میتونید در آر اف سی شماره 1321 مطالعه کنید : RFC 1321 (rfc1321) - The MD5 Message-Digest Algorithm (http://www.faqs.org/rfcs/rfc1321.html)
این صفحه وب هم حاوی مقداری سورس کد به زبانهای مختلف از جمله سی و دلفی و جاوا است که میتونی تولید چکیده پیام به روش ام دی فایو رو حمایت کنه :
http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html (http://userpages.umbc.edu/%7Emabzug1/cs/md5/md5.html)
نکته پایانی : شاید موقع دریافت نرم افزار از برخی سایتهای معتبر دیده باشید که کنار فایلهای مربوطه نوشته اند MD5 و کنار آن هم رشته ای مثل این :
900150983cd24fb0d6963f7d28e17f72
( این رشته خروجیه abc است )
اینگونه سایتهای برای ایجاد اعتماد ، از فایلهای خود با برنامه هائی که چکیدهء MD5 تولید میکنند ، امضای مربوطه را ایجاد و اعلام میکنند ، شما هم بعد از دریافت میتونید با یکی از ابزارهای متداول همینکار ( روی لینوکس اصلا دستوری به همین نام و به همین مقصود وجود داره ) فایل مربوطه رو چک کنید تا از صحت محتوای اون مطمئن بشید . مدتها قبل فردی توانست سایت حمایت کننده SendMail که میل سروری معروف روی پلت فرمهای مبتنی بر یونیکس است را هک کرده و بجای تغییر صفحات وب آن ، نسخه ای حاوی یک تروجان را به عنوان نسخه جدید آپلود کرد و بعد هم با راسال خبرنامهء رسمی سایت SendMail باعث شد تعداد زیادی از مدیران سرورها جهت نصب نسخه جدید هجوم بیارن و در واقع نسخه محتوی تروجان را دریافت و نصب کنند ( و براستی وقتی سورس باز است چه کسی به خودش زحمت چک کردن اون رو میده ؟ بقول یکی از اساتید مرحومم ، مخفی ترین چیز ، چیزیه که اصلا برای مخفی کردنش تلاش نشده ! ) و این حرکت زیرکانه اون هکر باعث شد صدها سایت تحت سیطره اون قرار بگیرن که البته ناگفته پیداست برای برقراری یک حملهء DDOS ( یا Distributed Denail of service ) به اونها احتیاج داشت . :arrow:
امیدوارم این مطلب کوتاه مفید بوده باشه . خیلی خوبه دوستان ابتدای کار حوزه های مورد علاقه خودشون رو مشخص کنند تا فعالیت و ارائه مطلب بهتر و مفیدتر باشه
خوش باشید