هش چیست ؟
با مقاله هش چیست و چه کاربردی در احراز هویت و امنیت اطلاعات دارد در خدمت شما دوستان همیشگی هستیم
هش چیست ؟
سلام عرض میکنم خدمت همراهان همیشگی سایت pentestcore
با مقاله هش چیست و چه کاربردی در احراز هویت و امنیت اطلاعات دارد در خدمت شما دوستان همیشگی هستیم.
در سال های اخیر که امنیت یک عضو جدایی ناپذیر از فضای سایبری شده است،
اهمیت رمزنگاری و hash روز به روز افزایش می یابد.ما امروز قصد نداریم درباره عملیات رمزنگاری صحبت کنیم.
بلکه قصد داریم در مورد hash صحبت کنیم و به این سوال جوب دهیم که هش چیست ؟
برای درک بهتر از اینکه هش چیست ما باید به مفهوم جامعیت بپردازیم.
جامعیت یعنی جلوگیری از جعل اسناد
توجه داشته باشید جامعیت با محرمانگی متفاوت است.
محرمانگی برای این است که دیگران نتوانند فایل جابه جا شده در اینترنت را بخوانند
اما جامعیت به زبان ساده یعنی اگر فایلی در فضای اینترنت جابجا شود کسی نتواند آن را تغییر دهد.
حال به موضوع message integrity یا همان جامعیت اسناد می پردازیم
در قدیم ما برای احراز هویت و جامعیت از اثر انگشت و امضا استفاده می کردیم
اما امروزه از امضا دیجیتال و digest (بجا اثرانگشت) استفاده میکنیم.
اینجا دقیقا جایی است که hash خود نمایی میکند.در اینجا digest توسط hash بر اساس پیام تولید میشود.
حال به این موضوع می پردازیم که هش چیست ؟
Hash ( در هم ساز یا چکیده ساز) به صورت کلی یک عملیات یک سویه ریاضی است که بر روی متن ساده صورت میگیرد
و متن hash شده را تولید میکنه که به آن digest می گویند.
هش چیست ؟
تا الان ما متوجه شدیم که امروز در اسناد دیجیتال ما از امضا دیجیتال و اثر انگشت دیجیتال استفاده میکنیم
و برای احراز هویت معیار ما digest تولید شده توسط الگوریتم های hashing است.
Digest وابسته به پیام است و با توجه به پیام توسط توابع hashing ساخته می شود.
یعنی اگر متن پیام یک کلمه عوض بشود، digest تغییر میکند.
hash ها دارای ویژگی های هستند:
- اگر شما 10 بار هم (یا بیشتر) عملیات Hash را بر روی یک متن ساده انجام دهید هر بار خروجی یکسان است. این ویژگی بسیار مهم است چون اگر خروجی های متفاوت تولید کنی، رهگیری ورودیها غیرممکن میشود.
- تابع یکطرفه است.یعنی از متن Hash شده نمی توان به متن اصلی رسید اما میتوان آن را کرک کرد. یعنی هش سلام همیشه ثابت است.و اگر من یک هش داشته باشم و آن را با هش سلام مقایسه کنم می توانم بفهمم متن قبل از عملیات هشینگ، سلام بوده است
- مقاوم در مقابل تصادم قوی و ضعیف.یعنی پیدا کردن 2 پیام که دارای hash یکسان باشند بسیار بسیار سخت است.
مقایسه سند و اثر انگشت و پیام و digest
اما حالا خالی از لطف نیست که مقایسه ای هرچند گذرا بر روی تفاوت (سند و اثر انگشت) و ( پیام و digest ) داشته باشیم.
سند و اثر انگشت: این 2 همیشه با هم هستند و اثر انگشت ربطی به سند ندارد و امکان جعل جداگانه آن وجود دارد.
سند و اثر انگشت اصطلاحا one-to-many است یعنی یک اثر انگشت برای تمام اسناد
پیام و digest : پیام و digest می توانند با هم ارسال شوند یا جداگانه ارسال شوند. :
پیام و digest وابسطه هم هستند و اگر هر کدام از آنها تغییر کند بر روی دیگری تاثییر می گذارد. :
پیام و digest اصطلاحا one-to-one هستند یعنی برای هر پیام یک digest بر اساس خود پیام تولید می شود.
نکته :
در عملیات بانکی پیام به شخص داده می شود اما digest از کانال امن برای مقصد ارال می شود.
سپس اگر digest تولید شده از پیام با digest موجود برابر بود، صحت پیام اعلام می شود.
حال به روش های احراز هویت می پردازیم.ما 2 نوع روش احراز هویت داریم
- MDC
- MAC
MDC: مخفف Modification Detection Code (کد شناسایی تغییر) است.
این روش برای بانک ها و سازمان ها مناسب است.در این روش 2 کانال بین فرستنده وگیرنده ایجاد میشود.
پیغام از یک کانال ارسال می شود و بعد پیام از طریق توابع hashing ، hash شده و بعد یک MDC که کد شناسایی تغییر است تولید میشود.
سپس MDC از طریق کانال دیگر ارسال می شود.سپس گیرنده پس از دریافت پیغام و MDC ، خود از طریق پیام یک MDC تولید میکند.
اگر MDC تولید شده توسط خودش و آنکه فرستنده ارسال کرده بود برابر بود پس درست است و احراز هویت صورت میگیرد.
مشکل این روش این است که مقیاس پذیر نیست و مدیریت آن سخت است.
MAC : مخفف Message Authentication Code (کد تایید پیام) است.
در این روش 1 کانال ایجاد می شود و یک کلید هم رد و بدل می شود.
MAC تولید شده از پیام رمز شده همراه با پیام ارسال می شود.
سپس سمت گیرنده این 2 از هم جدا شده و پیام رمز شده، رمز گشایی شده،عملیات hashing بر روی آن صورت میگیرد
و دوباره MAC تولید میشود.سپس MAC تولید شده توسط گیرنده با MAC ارسالی توسط فرستنده مقایسه می شود.
اگر برابر بود پس عملیات صحیح است و احراز هویت صورت میگیرد.این روش مدیریت راحت تری دارد و مقیاس پذیر است.
معروف ترین استاندارد های hash :
MD5 : یک digest 128 بیتی تولید میکنید
SHA 1 : یک digest 160 بیتی تولید میکنید
SHA 256 : یک digest 256 بیتی تولید میکنید
KECCAK-256 : یک digest 256 بیتی تولید میکنید.
هرچه که digest تولید شده بزرگتر باشد امکان تصلدم کمتر می شود و امنیت بالا تر میرود.
امروزه در ارز های دیجیتال و فناوری بلاک چین از hash ها استفاده می شود.
همچنین برای آموزش بیشتر و روش های کرک hash می توانید به آموزش های زیر مراجعه کنید:
ابزار کرک هش بسیار قدرتمند
آموزش کرک هش با استفاده از پایتون
کرک هش در سیستم عامل کالی لینوکس
۹ دیدگاه در “هش چیست ؟”
K یا shared secret key چگونه تولید و مشخص می شود.
سلام خدمت کاربر گرامی.در الگوریتم های رمزنگاری نامتقارن باید یک کلید تولید شود تا بتوان رمزنگاری و رمزگشایی کرد. ساخت این کلید بسته به نوع الگوریتم استفاده شده و پروتکل ها و قوانین متغیر است.در بعضی از الگوریتم ها هربار کلید باید ارسال شود اما در بعضی از دیگر الگوریتم ها کلید هربار توسط یکسری الگوریتم های خاص سمت ۲ طرف ساخته می شود و نیاز به ارسال نیست.
من اخیراً سایتی پیدا کردم که می گوید گیفت کارت رایگان می دهد به شرط اینکه ۷۰۰۰۰رشته ی هش بهش بدیم و شروع به استخراج می کنه است ممکنه هکم کنن
سلام و عرض ادب ایا میشه خود افراد هش تولید کنند؟مثلا در الگوریتم رمزنگاری میشه خودت ی چیز متفوت بسازی ایا در مسئله هش هم میشه یه نوع هش جدید ساخت؟
درود بر شما کاربر گرامی
بله. امکان اینکه شما از الگوریتم های رمزنگاری و هشینگ اختصاصی خودتون استفاده کنید امکان پذیر است.
مثلا تلگرام از الگوریتم رمزنگاری اختصاصی خودش استفاده می کند که ترکیب ۳ الگوریتم رمزنگاری هست.
پیروز باشید
با عرض سلام و وقت بخیر شاید سوال من سوال خیلیا بشه به همین دلیل میخوا کامل اطلاع کسب کنم
خب گفته شد هش با رزگاری فرق داره حال سات یه الگوریتم رمزنگاری اموزشش هست اموزش تولید هش اختصاصی به چه شکل از کجا میشه تهیه کرد؟
برای بحث امنی کدوم بهتره ؟
درود بر شما کاربر گرامی.
کاربرد هش و رمزنگاری میتونه کاملا متفاوت باشه.
هش برای جامعیت داده استفاده می شود اما رمزنگاری نه.
شما با هش یک دایجست تولید می کنید تا همه بتونن سند رو بخونن اما کسی دست تو سند (یا متن) نبره یا اگرسند تغییر کرد شما بتونید بفمید که سند (یا متن) عوض شده. اما رمزنگاری کلا برای این است که کسی از محتوا و متن سند خبردار نشود و با یک متن نا مفهوم روبرو باشد.
تنها آموزش الگوریتم های رمزنگاری به زبان پارسی در کشور عزیزمان را تیم امنیتی pentestcore منتشر کرده است و امیدوارم در آینده نزدیک آموزش الگوریتم های هشینگ هم خدمت کاران عزیز ارایه کنیم.
پایدار باشید…
سلام.
اگه ما بتونیم به یه اندروید دسترسی مترپرتر پیدا کنیم، برای گرفتن فایل هش اون موبایل باید از چه دستوری در مترپرتر استفاده کنیم؟؟
یعنی آیا فایل هش ها آدرسی در اندروید دارند؟
درود
دقیقا منظور شما هش چه فایلی و چه چیزی از اندروید است؟
یا دقیق تر بفرمایید چه کاری می خواهید انجام دهید که شما را کاملتر راهنمایی کنیم.