محمد حسن پزشکیان
عاشق امنیت و نفوذ ، رد تیم و دوستدار بزن بکش :)

تفاوت بین MAC و HMAC چیست ؟ به زبان ساده

در این مطلب میخوایم اول مفهوم MAC و HMAC رو بررسی کنیم ، بعد به بررسی تفاوت های میان این دو بپردازیم

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران


فرض کنید شما یه پیام میخواید بفرستید برای یه نفری و از صحت اون فایل اطمینان حاصل کنید (Integrity) پس میایید و از Hash استفاده میکنید و از فایل مربوطه هش میگیرید و هر دو رو میفرستید برای مخاطبتون ، و مخاطب هم وقتی فایل به دستش رسید میاد و از اون هش میگیره و با هشی که شما فرستادید مقایسه میکنه و وقتی جفتشون یکی بودن اطمینان حاصل میکنه که فایلا یکی هستن

تفاوت بین MAC و HMAC چیست ؟ به زبان ساده


تا اینجا همه چیز خوبه ولی اگر یه مهاجم بخواد این وسط دیتای شمارو شنود کنه و تغییر بده (MITM) ، اونوقت جریان چی میشه؟ هکر میاد و فایلی که فرستادید رو تغییر میده و ازش هش میگیره ، و هش جدید بهمراه فایل تغییر یافته رو برای مقصد میفرسته و وقتی مقصد از فایل هش میگیره ، هیچ تغییری رو متوجه نمیشه چون با هشی که مهاجم فرستاده یکیه و درواقع گول خورده و مهاجم کارشو با موفقیت انجام داده

تفاوت بین MAC و HMAC چیست ؟ به زبان ساده

در اینجاست که ما از یه کلید استفاده میکنیم که از قبل از راه امنی به اشتراک گذاشته شده (چه In Band ، چه Out of Band) و این کلید باید حتما متقارن باشه و این کلید رو دو نفر دارن ، حالا نفر اول میخواد پیام رو بفرسته ، میاد و از پیام و کلید باهم هش میگیره ، و هش و پیام رو میفرسته برای مقصد (کلید رو نمیفرسته) و وقتی مقصد فایل و هش رو گرفت ، میاد و از فایل با کلید خودش هش میگیره و اگر هشی که خودش گفته با هشی که نفر اول فرستاده یکی باشه ، صحت پیام تایید میشه و مهاجم این وسط اگر شنودی هم بتونه بکنه نمیتونه تغییری تو فایل ایجاد کنه چون قابل شناسایی میشه

تفاوت بین MAC و HMAC چیست ؟ به زبان ساده

نکته :  اگر ما از فایل + کلید هش بگیریم یه هش داریم ، اگر از کلید + فایل هش بگیریم یه هش متفاوت دیگه داریم ، پس قبل ارتباط توافق کنید که چطوری هش گرفته بشه

حالا به اون کلیدی که دونفر به اشتراک گذاشتن میگن MAC یا Message Authentication Code یا کد اعتبار سنجی پیام که باهاش صحت پیامو تایید میکنن و به روشی که با استفاده از اون کلید + فایل ما هش میگیریم و اعتبار پیامو میسنجیم میگن HMAC یا Hash Message Authentication Code 

اگر سوالی ابهامی ، پیشنهادی یا انتقادی بود در خدمتم



محمد حسن پزشکیان
محمد حسن پزشکیان

عاشق امنیت و نفوذ ، رد تیم و دوستدار بزن بکش :)

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

نظرات