هش چیست و چگونه کار می کند؟

ساخت وبلاگ

What is hashing and how does it work?

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

فهرست

  1. هشینگ چیست؟
  2. هش کردن چگونه کار می کند؟
  3. هش کردن برنامه ها
    1. مدیریت پایگاه داده
    2. امضاهای دیجیتال و چک سام
    3. رمز عبور و سایر داده های حساس

    هشینگ چیست؟

    هش کردن یک ابزار رمزنگاری مهم است که برای تبدیل داده ها به مقادیر هش استفاده می شود. در این مورد از یک تابع هش ویژه استفاده می شود که اغلب در قالب یک الگوریتم است. هدف اصلی هش کردن این است که همانطور که به نظر می رسد، همه چیز را قطع می کند. این دقیقاً همان کاری است که هش کردن انجام می دهد: مجموعه داده هایی مانند گذرواژه ها، داده های شرکت و کاربر و سایر اشکال داده ها هش می شوند و به فرم کوتاه تری تبدیل می شوند که به عنوان مقدار هش شناخته می شود. در هر فرآیند هش، مقادیر هش طول یکسانی داده می شود و مجموعه داده های اصلی را نشان می دهد. سپس مقادیر هش را می توان به شکل فشرده تری به عنوان جدول هش ذخیره کرد، به این معنی که فضای کمتری استفاده می شود.

    مزایای هش کردن: مقادیر هش را نمی توان بدون کلید به مقادیر اصلی خود تبدیل کرد. حتی اگر مجرمان بتوانند به آنها دسترسی داشته باشند، نمی توانند با مقادیر هش کاری انجام دهند. مردم اغلب بین هش و رمزگذاری اشتباه گرفته می شوند. از آنجایی که مقادیر هش رمزگذاری نمی شوند، بلکه به یک رشته کاراکتر کاملاً جدید تبدیل می شوند، نمی توان آنها را رمزگشایی کرد. برای انجام این کار، به کلید مربوطه، الگوریتم مورد استفاده و داده های اصلی که با مقادیر هش مرتبط است نیاز دارید.

    هش کردن چگونه کار می کند؟

    هش کردن در سه مرحله انجام می شود:

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

    نحوه کار هشویی بر اساس پنج ویژگی است که امنیت و قابلیت اطمینان را تضمین می کند:

    • قطعی: عملکرد هش همیشه باید یک مجموعه و مقدار هش کوتاهتر از ورودی هایی با طول های مختلف ایجاد کند.
    • غیرقابل خواندن: هشویی مقادیر اصلی را به مقادیر هش تبدیل می کند که به خودی خود "غیرقابل خواندن" هستند. هیچ راهی برای رمزگشایی مقادیر هش به معنای کلاسیک و بازآفرینی متن اصلی یا رشته شخصیت وجود ندارد.
    • مقاومت در برابر برخورد: ورودی های مختلف را نمی توان به همان مقدار هش اختصاص داد. اگر دو مقدار اصلی همان مقدار هش را بدست آورند ، این تصادف نامیده می شود. مقادیر هش غیرقابل تغییر و منحصر به فرد احتمال حمله و افزایش امنیت را کاهش می دهد. با این حال ، بسته به وضعیت ، ممکن است یک برخورد ممکن است مورد نظر باشد.
    • استمرار یا عدم تمایل: به طور کلی ، ارزش های هش در صورت عدم مداوم امنیت بیشتری را ارائه می دهند. به عبارت دیگر ، مجموعه داده های اصلی مختلف حاوی مقادیر مختلف هش متفاوت است. با این حال ، اگر از هش برای مدیریت مجموعه داده ها و ورودی های مشابه استفاده می کنید ، مقادیر هش مداوم ممکن است بهتر باشد.
    • سرعت: هش نه تنها امنیت را بهبود می بخشد بلکه امکان دسترسی سریعتر به پایگاه داده ها را نیز فراهم می کند.

    Illustration of a hashing process using passwords as an example

    هش کردن برنامه ها

    کاربردها و کارکردهای هشویی به ویژه هنگامی که به برنامه های مختلف و زمینه های استفاده نگاه می کنیم ، به ویژه مشخص است. برنامه های معمولی شامل:

    • ایجاد جداول هش
    • "رمزگذاری" داده های مهم
    • جستجوی تکراری
    • چک و امضاهای دیجیتال
    • جستجوی داده های مشابه
    • سیستم های احراز هویت
    • ذخیره سازی

    مدیریت پایگاه داده

    هشنگ از این مزیت ویژه برخوردار است که اجازه می دهد داده ها به صورت جمع و جور و کارآمدتر در قالب جداول هش ذخیره شوند. رشته های شخصیت به عنوان مقادیر هش در پایگاه داده به عنوان جداول هش خلاصه می شوند. این باعث صرفه جویی در حافظه می شود ، امنیت موجود در پایگاه داده را بهبود می بخشد و جستجوی برخی از ورودی های موجود در جداول هش را افزایش می دهد. ارزش های هش و جداول هش باعث بهبود سازمان و مدیریت شاخص و زیرساخت های داده می شود.

    مثال: پایگاه داده های مشتری اغلب حاوی اطلاعات مهمی مانند نام ، اطلاعات تماس یا آدرس مشتریان مذکور هستند. اگر یک بانک اطلاعاتی برای اطلاعات خاص جستجو شود ، با یک جستجوی عادی مدتی طول می کشد. این امر به این دلیل است که باید کل بانک اطلاعاتی را مورد بررسی قرار دهید تا ارزش مورد نظر خود را بدست آورید. با این حال ، Hashing باعث می شود بلوک های داده با یک موقعیت آدرس تعیین شده در پایگاه داده ایجاد شوند. این بدان معنی است که یک رایانه می تواند با استفاده از مقدار هش که در آن قابل استفاده است ، مستقیماً به آن موقعیت بپردازد.

    امضاهای دیجیتال و چک سام

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

    مثال: با امضاهای دیجیتال ، می توانید بررسی کنید که پیام ها ، بارگیری ها یا حتی وب سایت ها ایمن هستند. برای انجام این کار ، فرستنده مقدار هش را از پیام ها ایجاد می کند یا هنگام بارگیری یک برنامه مقدار هش را ارائه می دهد. سپس گیرنده نیز با استفاده از همان عملکرد هش ، مقدار هش را ایجاد می کند. این سپس با مقدار هش بیشتر رمزگذاری شده که همراه با آن ارسال شده است مقایسه می شود. بهترین نمونه این در وب رمزگذاری SSL/TLS است. در این حالت ، سرور وب یک گواهی سرور را به مرورگر ارسال می کند. Hashing سپس یک کلید جلسه دریافت می کند که توسط سرور دریافت می شود ، رمزگشایی و تأیید می شود. پس از این احراز هویت ، مبادلات داده HTTPS می تواند صورت گیرد. SFTP با روشی مشابه کار می کند.

    رمز عبور و سایر داده های حساس

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

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

    جوانب مثبت استفاده از هشویی چیست؟

    جوانب مثبت هش در یک نگاه:

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

    هش و blockchains

    توابع هش و هش اجزای اصلی در یک blockchain هستند. برای تأیید اعتبار معاملات با استفاده از ارزهای رمزپایه مانند بیت کوین ، هش ها در هنگام استخراج ایجاد می شوند. به عنوان مثال ، بیت کوین از الگوریتم Hashing Sha-256 استفاده می کند و هر طول رشته کاراکتر را به یک مجموعه تبدیل می کند ، به عبارت دیگر ، هش ، با 64 رشته. سپس می توان از آنها برای مشروعیت ، تأیید اعتبار و مستند سازی معاملات رسمی رمزنگاری ، ذخیره آنها در blockchain و اطمینان از امنیت بالاتری استفاده کرد.

    هشنگ دارای سه عملکرد اصلی در blockchain است:

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

    هشنگ چقدر ایمن است؟

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

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

    راه دیگر برای ایمن تر شدن هشویی ، استفاده از فرآیندهای رمزگذاری مانند نمک و فلفل است. با نمک ، هر رمز عبور منتقل شده به یک مقدار هش دارای رشته کاراکتر دیگری است که به طور تصادفی ایجاد شده است. با استفاده از نمک حداقل 16 کاراکتر ، حملات نیروی بی رحمانه را عملاً غیرممکن می کند و سطح دیگری از امنیت قابل اعتماد را ارائه می دهد. اگر یک کد 32 کاراکتر به نام "فلفل" به همه رمزهای عبور اضافه شود ، هر مقادیر هش دزدیده شده با نمک اضافه شده دشوار خواهد بود.

    • 02/22/2023
    • توسعه وب

    مقالات مرتبط

    Data mining: analysis methods for big data

    داده کاوی: روشهای تجزیه و تحلیل برای داده های بزرگ

    • 05/22/2020
    • تجزیه و تحلیل وب

    کل داده های تولید شده در سراسر جهان 40 ٪ در هر سال افزایش می یابد. بسیاری از شرکت ها به منظور افزایش تجارت تجارت الکترونیکی خود به دنبال استفاده از کوه دائما در حال افزایش داده ها هستند. اما استفاده از چنین داده های بزرگ به تنهایی هیچ مقداری اضافه نمی کند - داده کاوی را وارد کنید. در زیر می توانید بحثی در مورد رویکردهای مختلف تجزیه و تحلیل درگیر در داده کاوی پیدا کنید تا ایده ای در مورد چگونگی ...

    Data Sovereignty

    حاکمیت داده ها

    • 01/30/2023
    • امنیت

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

    How to back up data

    نحوه تهیه نسخه پشتیبان از داده ها

    • 01/30/2023
    • امنیت

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

اخبار رمز ارزها...
ما را در سایت اخبار رمز ارزها دنبال می کنید

برچسب : نویسنده : منیژه سلیمی بازدید : <-PostHit-> تاريخ : چهارشنبه 25 مرداد 1402 ساعت: 11:42