هشینگ در امنیت اطلاعات چیست؟ – به زبان ساده

۱۷۸
۱۴۰۵/۰۲/۷
۸ دقیقه
PDF
آموزش متنی جامع
امکان دانلود نسخه PDF

عملیات هشینگ نوعی بهم‌ریختن اطلاعات با هدف تضمین امنیت یا ناخوانا شدن پیام‌ها برای افراد غیر مجاز است. در زمان برقراری هر نوع ارتباطی در بستر اینترنت امکان لو رفتن پیام‌ها و هک شدن داده‌ها وجود دارد. هدف مهندسان کامپیوتر از عملیات هشینگ در امنیت اطلاعات این است که هم داده‌های خود را برای هکر‌ها ناخوانا کنند و هم از درستی و دستکاری نشدن این اطلاعات در مقصد مطمئن بشوند. بنابراین شناخت مفهوم هشینگ و تکنیک‌های مربوط به رمزنگاری داده‌ها تاثیر بسیار زیادی در مدیریت و حفظ امنیت ارتباطات دارد.

آنچه در این مطلب می‌آموزید:
  • به شکل کامل با مفهوم هشینگ در امنیت اطلاعات آشنا شده و کاربردهای هش را می‌شناسید.
  • متوجه می‌شوید که عملیات هشینگ از چند بخش تشکیل شده است و این بخش‌ها چه هستند.
  • با انواع دسته‌بندی الگوریتم‌های هشینگ آشنا شده و در هر دسته چند مورد را می‌شناسید.
  • دو شرط مهم برای کار با توابع هش در امنیت سایبری را یاد می‌گیرید.
  • الگوریتم‌های MD5 یا SHA را به شکل کامل شناخته و می‌توانید آن‌ها را با هم مقایسه کنید.
  • چند مورد از ابزارهای رایج‌ هش کردن داده‌ها و کاربرد آن‌ها را می‌شناسید.
هشینگ در امنیت اطلاعات چیست؟ – به زبان سادههشینگ در امنیت اطلاعات چیست؟ – به زبان ساده
997696

در این مطلب از مجله فرادرس به بررسی هشینگ در امنیت اطلاعات پرداخته‌ایم. ابتدا خود هشینگ را تعریف می‌کنیم. سپس انواع الگوریتم‌های پرکاربرد و عملیاتی مربوط به این حوزه را بررسی کرده و با هم مقایسه می‌کنیم. در بخش انتهایی هم چند مورد از ابزارهای هشینگ را معرفی خواهیم کرد.

هشینگ در امنیت اطلاعات چیست؟

هشینگ به عملیاتی گفته می‌شود که برای رمزنگاری اطلاعات در دنیای کامپیوتر به کار برده می‌شود. این عملیات، یک‌طرفه است. یعنی داده‌‌ها را گرفته و به رمز تبدیل می‌کند، ولی نمی‌تواند رمز تولید شده را به داده تبدیل کند. در عملیات هشینگ، ورودی می‌‌تواند هر اندازه‌ای داشته باشد اما طول خروجی، همیشه ثابت است. برای هر چیزی می‌توان مقدار هش را حساب کرد. برای مثال، فیلم، عکس یا پیام متنی، بدون محدودیت می‌توانند به هش تبدیل بشوند.

در هشینگ سه بخش مهم وجود دارد.

  • پیام: این بخش به همان داده‌ای اشاره می‌کند که می‌‌خواهیم هش شود. همین‌طور که اشاره کردیم هر نوع داده‌ای را می‌توان به هش تبدیل کرد.
  • تابع هش: تابع هش یا «H» تابع یک‌طرفه‌ای است که داده‌ها را دریافت کرده و مقدار هش آن را محاسبه می‌کند. این تابع امکان برعکس انجام دادن عملیات، یعنی رسیدن از هش به پیام را ندارد.
  • کد هش: به بخش آخر یا نتیجه بدست آمده از این تابع، نتیجه، خلاصه پیام، اثر انگشت دیجیتال، کد هش یا موارد دیگر گفته می‌شود. همیشه طول کد هش ثابت است.

تا به اینجای کار شناخت کلی از مفهوم هش و هشینگ بدست آورده‌اید. در ادامه با کاربرد‌ها و مهم‌ترین الگوریتم‌های این حوزه هم آشنا می‌شوید. در صورت تمایل به مطالعه مطالبی مانند این مورد، پیشنهاد می‌کنیم که حتما از اپلیکیشن مجله فرادرس استفاده کنید.

برای نصب اپلیکیشن رایگان مجله فرادرس، کلیک کنید.

کاربرد‌های هشینگ در امنیت اطلاعات

هشینگ در امنیت اطلاعات چند کاربرد مهم دارد. در این قسمت از مطلب مهم‌ترین آن‌ها را معرفی می‌کنیم.

  • هشینگ برای بررسی درستی پیام‌های ارسال شده به کار برده می‌شود. یعنی اگر خطایی در پیام به وجود آمده باشد یا اصل پیام دستکاری شده باشد، گیرنده آن می‌تواند این مسئله را متوجه شده و مشکل را حل کند.
  • این تکنیک با هدف طراحی پروتکل‌هایی برای اطمینان از محرمانگی و احراز هویت گیرنده و فرستنده پیام نیز به کار برده می‌شود.
  • هشینگ، کاربرد‌های وسیعی در الگوریتم‌های رمزنگاری مانند امضای دیجیتال، «PGP» و «SSL» و «Kerberos» و غیره دارد.
  • این تکنیک پرکاربرد‌ترین روش برای ذخیره کلمه‌های عبور در پایگاه داده است. یعنی اینکه هیچ‌گاه خود اصل کلمه عبور در پایگاه داده ذخیره نمی‌شود. بلکه نسخه هش شده آن را ذخیره می‌کنیم. سپس هربار که کاربر کلمه عبور خود را وارد می‌کند، ابتدا آن را هش کرده و سپس با نسخه ذخیره شده مقایسه می‌کنیم. اگر برابر بودند یعنی کاربر، کلمه عبور درست را وارد کرده است.
  • در امنیت سایبری یا جرم‌شناسی سایبری از هشینگ به عنوان وسیله‌ای برای بررسی دستکاری دیجیتالی استفاده می‌کنند. با کمک هشینگ می‌توان دستکاری شدن پیام در فضای مجازی را بررسی کرد.

در بخش‌های بعد، مهم‌ترین الگوریتم‌های هش در امنیت سایبری را بررسی می‌کنیم.

یادگیری امنیت سایبری با کمک فرادرس

همین‌طور که در ابتدای مطلب اشاره کردیم، داشتن مهارت حفظ امنیت در دنیای سایبری از چند جهت مختلف اهمیت دارد. نکته اصلی این است که آمار جرایم سایبری در دنیای امروز هر لحظه بیشتر می‌شود. بنابراین باید با حداقل مهارت‌ها برای محافظت از خودمان و سیستم‌های تحت مدیریتمان آشنا شویم. به غیر از این موارد، فرصت‌های شغلی بسیار زیادی هم در مقابل متخصص امنیت سایبری قرار دارند. بنابراین افراد زیادی به منظور دستیابی به این موقعیت‌های شغلی، تلاش می‌کنند مهارت‌ها و توانایی‌های خود را افزایش بدهند.

مجموعه آموزش امنیت سایبری – مقدماتی تا پیشرفته
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش امنیت سایبری هدایت شوید.

از طرف دیگر با توجه به کمبود نیرو‌های متخصص امنیت سایبری، نسبت به نیاز کشور، فرادرس تلاش کرده است تا مهم‌ترین و مفید‌ترین دوره‌های مرتبط با این حوزه را تهیه کرده و در اختیار علاقه‌مندان به آن قرار دهد. در این دوره‌ها تمام جنبه‌های مختلف امنیت بررسی شده‌اند. در پایین چند مورد از فیلم‌های آموزشی مربوط به حوزه امنیت سایبری را مشاهده می‌کنید.

الگوریتم‌های هشینگ در امنیت اطلاعات

الگوریتم‌های مختلفی برای هشینگ استفاده می‌شوند. اما برای استفاده در حوزه امنیت سایبری لازم است که دو شرط مهم را داشته باشند.

  1. یک‌طرفه باشند: یعنی با داشتن نتیجه H(M) دسترسی به مقدار M غیرممکن باشد.
  2. در برابر برخورد، مقاوم باشند: یعنی با فرض اینکه دو ورودی مجزای M1 و M2 را داریم، احتمال برقرار بودن تساوی H(M2) = H(M1) غیرقابل محاسبه باشد. به زبان ساده‌تر به هیچ‌وجه امکان برابر شدن مقدار هش دو پیام مختلف وجود نداشته باشد.

خود توابع مورد استفاده برای هشینگ به دو دسته اصلی تقسیم می‌شوند.

  • هش‌های کلید نشده یا MDCs: برای مثال الگوریتم‌های MD5 یا SHA در این دسته قرار می‌گیرند.
  • هش‌های کلید شده یا MACs: برای مثال الگوریتم‌های HMAC یا CMAC در این دسته قرار می‌گیرند.

انواع الگوریتم‌های هش کلید نشده

الگوریتم‌های هش کلید نشده ساختار اصلی تمامی الگوریتم‌های دیگر را تشکیل می‌دهند. حتی الگوریتم HMAC خودش از الگوریتم SHA استفاده می‌کند. بنابراین لازم است که با این الگوریتم‌ها به شکل بهتری آشنا بشویم.

الگوریتم‌های متنوعی برای هش کردن به کار برده می‌شوند. دو دسته از این الگوریتم‌ها پیشرفته‌تر و کاربردی‌تر از دیگر گزینه‌ها هستند. در فهرست پایین این الگوریتم‌ها را معرفی کرده‌ایم.

  • MD5
  • SHA
مهم‌ترین انواع الگوریتم‌های هش
دو نوع از مهم‌ترین و کاربردی‌ترین الگوریتم‌های هش

در بخش بعدی هر دوی این الگوریتم‌ها را با جزئیات بیشتری توضیح می‌دهیم. برنامه نویس‌ها باید بیشتر از همه با تکنیک‌های مختلف رمزنگاری آشنا باشند. نکته مهم در تفاوت سینتکس‌هاست. وگرنه برای مثال، الگوریتم‌ها و تکنیک‌های رمزنگاری در پایتون با زبانی مانند جاوا تفاوت چندانی ندارد. برای آشنایی با این تکنیک‌ها می‌توانید مطلب مربوط به آن را در مجله فرادرس مطالعه کنید.

MD5

این الگوریتم نسخه ارتقایافته‌ای از الگوریتم «MD4» است. کاربرد گسترده‌ای دارد اما در مقابل بعضی از حملات آسیب‌پذیر است. بنابراین بیشترین محل استفاده آن در بررسی خرابی‌های غیرعمدی بر روی پیام‌ها است. خروجی این الگوریتم، بلوک هش شده ۱۲۸ بیتی است.

روش استفاده از الگوریتم MD5

در این بخش چند راه حل برای هش کردن داده‌ها با کمک الگوریتم MD5 را معرفی کرده‌ایم.

  • روش اول: در لینوکس می‌توانیم به کمک دستور md5sum<space>filename  پیام‌های خود را با کمک MD5 هش بکنیم.
  • روش دوم: کاربران ویندوز می‌توانند از فایل «Microsoft File Checksum Integrity Verifier» برای انجام این کار کمک بگیرند. البته این فایل باید قبل از استفاده دانلود شود.
  • روش سوم: برای تبدیل متن‌های ساده و گذرواژه‌ها به کد هش با این الگوریتم می‌توان از ابزار‌های آنلاین و رایگانی مانند «Tools4noobs» هم استفاده کرد.
  • روش چهارم: برنامه نویسان کامپیوتر می‌‌توانند از کتابخانه‌های تخصصی و ابزارهای خاص این زبان‌ها مانند «Input Stream Decorator» در جاوا استفاده کنند.

معایب MD5

در فهرست زیر، رایج‌ترین معایب MD5 را نوشته‌ایم.

  • MD5 تابع آسیب‌پذیری است. به خصوص در حوزه کریپتوگرافی زیاد از این تابع استفاده نمی‌شود.
  • در برابر حملات برخوردی بسیار ضعیف عمل می‌کند. یعنی امکان تولید کد هش یکسان برای دو پیام مختلف بیشتر است.
  • پیشتر از این تابع برای مقایسه رشته‌ها و بررسی صحت آن‌ها براساس تکنیک هزینه-فایده استفاده می‌شد. بنابراین چندان به درد عملیات هشینگ نمی‌خورد.

SHA

کلمه SHA مخفف عبارت «Secure Hash Algorithm» به معنای «الگوریتم هش ایمن» است. تابع SHA از خانواده توابع هش کریپتوگرافی است. در این خانواده چند الگوریتم مختلف مانند «SHA-0» و «SHA-1» و «SHA-2» و «SHA-3» و «SHA-4» وجود دارد.

این تابع می‌تواند پیام‌هایی را با طول‌های مختلف دریافت کرده و بر روی آن‌ها عملیات خاص خود را اجرا بکند. در نهایت خروجی را به صورت بلوک ۲۵۶ بیتی ارائه می‌دهد.

روش استفاده از الگوریتم SHA

در این بخش چند روش برای هش کردن داده‌ها با کمک الگوریتم SHA را معرفی کرده‌ایم.

  • روش اول: در ترمینال لینوکس هم می‌توان از تابع SHA و الگوریتم‌های مختلف آن استفاده کرد. به این منظور دستور sha256sum<space><filename> را تایپ می‌کنیم. در این دستور عبارت <space> به معنی فضای خالی است. عبارت <filename> هم نام و آدرس کامل فایل یا متن یا هر چیزی است که باید هش شود.
  • روش دوم: کاربران ویندوز می‌توانند از فایل « Microsoft File Checksum Integrity Verifier» برای دسترسی به SHA-1 کمک بگیرند. البته این فایل باید قبل از استفاده دانلود شود.
  • روش سوم: برای تبدیل متن‌های ساده و گذرواژه‌ها به کد هش (با این الگوریتم) می‌توان از ابزار‌های آنلاین رایگانی مانند وب‌سایت «Tools4noobs» هم استفاده کرد.
  • روش چهارم: برنامه نویسان کامپیوتر می‌‌توانند از کتابخانه‌های تخصصی و ابزارهای خاص این زبان‌ها مانند «java.security.MessageDigest» یا کتابخانه «Bouncy Castle» در جاوا استفاده کنند. برنامه نویسان PHP هم می‌توانند از تابع sha(variable_name) برای هش کردن اطلاعات در PHP مختلف استفاده کنند.

مزایای استفاده از الگوریتم SHA

در فهرست زیر مهم‌ترین مزیت‌های استفاده از الگوریتم SHA را نوشته‌ایم.

  • در برابر حملات برخوردی بسیار مقاوم است.
  • در پروتکل‌های کریپتوگرافی زیادی مانند «SSI» و «PGP» و «SSH» و «S-MIME» و غیره استفاده می‌شود.
  • برای بررسی صحت و درستی فایل‌های سیستمی، رشته‌های متنی و کدها قابل استفاده است.

مقایسه الگوریتم های MD5 و SHA

در جدول پایین، تمام ویژگی‌های مهم الگوریتم‌های MD5 و SHA را به شکل خلاصه مقایسه کرده‌ایم.

پارامترMD5SHA
اندازه خروجی128 بیت160 بیت
تعداد تلاش لازم برای شکستن رمز21282^{128} بیت عملیات21602^{160} بیت عملیات
تعداد تلاش لازم برای حملات برخوردی2642^{64} بیت عملیات2802^{80} بیت عملیات
امنیتکمتر از SHAبیشتر از MD5
سرعتکمی سریع‌ترکندتر
احتمال هکچندبار گزارش حمله موفقهیچ گزارشی از حمله موفق نشده است.

ابزارهای هشینگ در امنیت اطلاعات

در این بخش از مطلب سه مورد از رایج‌ترین ابزارها در حوزه هشینگ را معرفی کرده‌ایم.

  • Hash Calculator: این دسته از ابزارها با کمک الگوریتم‌های MD5 و SHA کار می‌کنند. «Hash Calculator» از هشینگ فایل‌هایی با فرمت‌های مختلف به پشتیبانی می‌کند. وظیفه این ابزارها فقط تولید کد هش انواع پیام‌های ورودی است.
  • FTK-Access Data: این ابزار بیشتر برای جرم‌شناسی سایبری به کار برده می‌شود. توانایی هش کردن کل هارد دیسک به شکل کامل و یکپارچه را هم دارد.
  • SIFT: این ابزار هم از نوع الگوریتم‌های جرم‌شناسی است. SIFT به وسیله جامعه SANS به وجود آمده است و می‌تواند کل هارددیسک را به صورت یکجا هش بکند.

یادگیری نکات مهم امنیت شبکه در فرادرس

امنیت شبکه، بخشی از امنیت سایبری است. هدف در این حوزه برقراری امنیت و تضمین انتقال صحیح اطلاعات در بستر شبکه‌های کامپیوتری است. با توجه به نیاز روز افزون دنیای کامپیوتر، صنایع مدرن و بازار به متخصصین این حوزه، فرادرس تلاش دارد تا بهترین فیلم‌های آموزشی را در این‌باره تولید و منتشر کند. به همین دلیل مجموعه آموزشی با نام مجموعه آموزش امنیت شبکه توسط فرادرس تولید شده است. تمام فیلم‌های این حوزه در این مجموعه جمع‌آوری شده‌اند.

برای مشاهده فیلم‌های بیشتر بر روی تصویر زیر کلیک کنید. این مجموعه آموزشی به صورت مداوم و از جهت محتوا در حال غنی‌تر شدن خواهد بود.

مجموعه آموزش امنیت شبکه (Network Security) – مقدماتی تا پیشرفته
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش امنیت شبکه هدایت شوید.

جمع‌بندی

در این مطلب از مجله فرادرس هشینگ در امنیت اطلاعات را بررسی کردیم. هشینگ، تکنیک امنیتی و بسیار مهمی است که اطلاعات را به کد یکتا (هش) تبدیل می‌کند. این عملیات، فرآیندی یک‌طرفه است. یعنی بازگشت به داده اصلی غیرممکن است. هشینگ برای محافظت از داده‌ها در برابر دست‌کاری و اطمینان از صحت آن‌ها نیز به کار برده می‌شود. اما هدف اصلی آن مخفی کردن داده‌هایی است که افراد دیگر نباید به آن‌ها دسترسی داشته باشند.

الگوریتم‌های مختلفی مانند MD5 و SHA وجود دارند. البته استفاده از MD5 به دلیل آسیب‌پذیری‌های مختلف کمتر توصیه می‌شود، در حالی که SHA امنیت بالاتری ارائه می‌دهد. هش کردن کاربردهای گوناگونی از ذخیره امن رمزهای عبور گرفته تا بررسی یکپارچگی فایل‌ها و تحلیل جرم‌شناسی سایبری دارد. به طور خلاصه، هشینگ عنصری اساسی در حفظ امنیت اطلاعات و اطمینان از صحت آن‌هاست.

بر اساس رای ۱ نفر
آیا این مطلب برای شما مفید بود؟
اگر پرسشی درباره این مطلب دارید، آن را با ما مطرح کنید.
منابع:
Faradars
PDF
مطالب مرتبط
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *