جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
Message digest 5چيست؟
-(8 Body) 
Message digest 5چيست؟
Visitor 412
Category: دنياي فن آوري
MD5 روش براي توليد يک چکيده از يک پيام است ( Message Digest ) . چه يک کلمه ، يک عدد ، يک جمله ، يک کتاب چند صد صفحه اي ، يک فايل و ... به او بدهيد ، يک چکيده با طول ثابت 128بيتي توليد ميکند . حالا اين به چه دردي ميخورد ؟ فرض کنيد در حاشيه ء انتخابات قراره وزير کشور نامه اي محرمانه به تمام استانداري هاي کشور ارسال کنه . ( حالا به چه روشي زياد مهم نيست ) اگر اين نامه بين راه توسط افرادي تغيير داده بشه ، دريافت کننده چطور ممکنه بفهمه ؟ اون ماموره و مجبور به اطاعت . خيلي بعيده به تهران تلفن بزنه و استعلام کنه ، شايد اصلا بالاش نوشته باشه محرمانه و اون مجبور باشه بدون اطلاع ديگران بهش عمل کنه ... اگر حالا متن اصلي وزير با مطلب ديگري تغيير داده شده باشه ( مثلا" : نمايندگان شوراي نگهبان رو به حوزه هاي انتخابيه راه نديد ! :twisted: 8) ) چه دردسر بزرگي ايجاد ميشه ...!
يکي از راههاي اعتماد سازي در يک تبادل اطلاعات دو طرفه استفاده از امضاهاي ديجيتال است و چکيده پيام يا همون Message Digest نقش مهمي در اين مهم ايفا ميکنه . پيام شما ( هر چي که ميخواد باشه ) هميشه داراي يک چکيده 128 بيتي است که با متدي يکتا تهيه شده و پس از رمزنگاري به انتهاي نامه الصاق ميشود ، دريافت کننده ( که به عنوان مثال در يک معماري مبتني بر PKI داراي کليد خصوصي - Private Key - خودش هست ) ميتوني با کليد خصوصي خودش چکيده پيام رو ( که با کليد عمومي - Public key - کد شده ) باز کنه ، بعد متن پيام رو با همون الگوريتم يکتا درهم ريزي کنه ( Hashing ) و بعدش محصول رو با آنچه که به پيام الصاق شده بود مقايسه کنه . با تکيه به معماري غير متقارن ( Asymmetric ) شناسائي و تصديق هويت ( Authentication ) اين يکي از روشهاي مناسب براي اعتماد سازي است .
MD5 يا Message Digest version 5 در دانشگاه MIT و توسط پروفسور
Ronald L. Rivest طراحي شده و متن کامل داستان MD5 رو ميتونيد در آر اف سي شماره 1321 مطالعه کنيد : http://www.faqs.org/rfcs/rfc1321.html
اين صفحه وب هم حاوي مقداري سورس کد به زبانهاي مختلف از جمله سي و دلفي و جاوا است که ميتوني توليد چکيده پيام به روش ام دي فايو رو حمايت کنه :
http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html
نکته پاياني : شايد موقع دريافت نرم افزار از برخي سايتهاي معتبر ديده باشيد که کنار فايلهاي مربوطه نوشته اند MD5 و کنار آن هم رشته اي مثل اين :
900150983cd24fb0d6963f7d28e17f72
( اين رشته خروجيه abc است )
اينگونه سايتهاي براي ايجاد اعتماد ، از فايلهاي خود با برنامه هائي که چکيدهء MD5 توليد ميکنند ، امضاي مربوطه را ايجاد و اعلام ميکنند ، شما هم بعد از دريافت ميتونيد با يکي از ابزارهاي متداول همينکار ( روي لينوکس اصلا دستوري به همين نام و به همين مقصود وجود داره ) فايل مربوطه رو چک کنيد تا از صحت محتواي اون مطمئن بشيد . مدتها قبل فردي توانست سايت حمايت کننده SendMail که ميل سروري معروف روي پلت فرمهاي مبتني بر يونيکس است را هک کرده و بجاي تغيير صفحات وب آن ، نسخه اي حاوي يک تروجان را به عنوان نسخه جديد آپلود کرد و بعد هم با راسال خبرنامهء رسمي سايت SendMail باعث شد تعداد زيادي از مديران سرورها جهت نصب نسخه جديد هجوم بيارن و در واقع نسخه محتوي تروجان را دريافت و نصب کنند ( و براستي وقتي سورس باز است چه کسي به خودش زحمت چک کردن اون رو ميده ؟ بقول يکي از اساتيد مرحومم ، مخفي ترين چيز ، چيزيه که اصلا براي مخفي کردنش تلاش نشده ! ) و اين حرکت زيرکانه اون هکر باعث شد صدها سايت تحت سيطره اون قرار بگيرن که البته ناگفته پيداست براي برقراري يک حملهء DDOS ( يا Distributed Denail of service ) به اونها احتياج داشت.
يکي ديگر از کاربردهاي الگوريتم هاي hashing مانند MD5 و يا SHA1 و ... رمزگذاري يک طرفه ي پسوردهاي کاربران عضو شده در يک سايت است.
مانند همين فوروم phpBB .
الگوريتم هاي هش کردن يک طرفه هستند يعني اگر شما عبارتي را هش کرديد ديگر هيچ الگوريتمي براي توليد عبارت اوليه وجود ندارد. حالا شايد اين سوال پيش بيايد که خوب به چه دردي مي خورند؟!
يکي از خاصيت هاي هش کردن اين است:
هر عبارتي که هش مي شود فقط و فقط معادل با يک عبارت منحصر بفرد 16 بايتي ( MD5 ) است . ( همان بحث امضاي ديجيتال و غيره )
يعني وقتي شما وارد سايت مي شويد و پسورد خود را وارد مي کنيد ابتدا هش مي شود و سپس با مقادير هش شده ي موجود در ديتابيس مقايسه مي گردد.
خاصيت هش کردن پسوردها در يک سايت اين است که اگر کسي به ديتابيس سايت نفوذ کرد ابدا نمي تواند از پسوردهاي موجود پسوردهاي اصلي را بدست آورد. ( مهندسي معکوس اين الگوريتم ها با کامپيوترهاي معمولي تقريبا غير ممکن است )

منبع: www.barnamenevise.ir الف
Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image