کد اصالت‌سنجی پیام

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

در رمزنگاری، یک کد اصالت سنجی پیام یا کد احراز هویت پیام (به انگلیسی: MAC، کوته‌نوشت Message authentication code) عبارتست از تکه ی کوچکی از اطلاعات که برای اصالت سنجی یک پیام استفاده میشود.

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

مقدار MAC همزمان از صحت داده ی پیام و اصالت آن محافظت میکند. بدین ترتیب که فرد دارای کلید رمز میتواند هرگونه تغییرات را در محتوای پیام تشخیص دهد.

امنیت[ویرایش]

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

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

کدهای صحت پیام[ویرایش]

عبارت کد صحت پیام ( MIC) اغلب و مخصوصا در ارتباطات – جایی که MAC به عنوان کوته نوشت Media Access Control استفاده می شود - به جای MAC به کار برده می شود. گرچه برخی از نویسندگان MIC را با معنایی متفاوت از MAC به کار می برند؛ در استفاده آنها از عبارت MIC ، از کلیدهای رمز استفاده نمی شود. این کمبود بدین معناست که هر MIC مورد نظر برای سنجش صحت پیام باید رمزگذاری شود یا در غیر این صورت در برابر مداخلات محافظت شود. الگوریتم های MIC چنین هستند که اگر یک پیام چندین بار به آن ها داده شود ، با فرض استفاده از همان الگوریتم، همواره یک MIC تولید می شود. برعکس، الگوریتم های MAC اینگونه طراحی شده اند که برای یک پیام واحد، همان کلید رمز و همان بردار ارزش دهی اولیه ، همان الگوریتم MAC یکسان تولید کند.

الگوریتم MIC از کلیدهای رمز استفاده نمی کند، بنابراین نسبت به MAC قابلیت اعتماد بسیار کمتری برای صحت پیام ایجاد می کند.

از آنجا که MAC از کلیدهای رمز استفاده می کند، لزوما برای ارائه ی همان سطح از اطمینان، نیاز به رمزگذاری ندارد.

پیاده سازی[ویرایش]

الگوریتم های MAC را می توان از روی دیگر بنیان های رمزنگاری ایجاد کرد مثل توابع درهم ساز رمزنگاری (HMAC) یا الگوریتم های قطعه رمز (OMAC, CBC-MAC , PMAC). اگر چه بسیاری از الگوریتم های MAC سریع مانند UMAC و VMAC بر مبنای درهم سازی جهانی (universal hashing) ساخته شده اند.

استانداردها[ویرایش]

استانداردهای گوناگونی وجود دارد که الگوریتم های MAC را تعریف می کنند.مانند:

  • FIPS PUB 113 اصالت سنجی داده ی کامپیوتری – الگوریتمی بر مبنای DES تعریف می کند.
  • ISO/IEC 9797-1 مکانیزم هایی که از یک قطعه رمز استفاده می کنند.
  • ISO/IEC 9797-2 مکانیزم هایی که از یک تابع درهم ساز اختصاصی استفاده می کنند.

استانداردهای ISO/IEC 9797-1 و ISO/IEC 9797-2 مدل ها و الگوریتم های عمومی را تعریف می کنند که با هر قطعه رمز یا تابع درهم ساز و طیف گسترده ای از پارامترهای مختلف ، می توانند مورد استفاده قرار گیرند. این مدل ها و پارامترها امکانی را فراهم می کنند که الگوریتم های بسیار دقیق با انتصاب پارامترها تعریف شوند. برای مثال، الگوریتم FIPS PUB 113 از لحاظ عملی برابر است با ISO/IEC 9797-1 ،الگوریتم MAC 1 با روش پوشش 1 و یک الگوریتم قطعه رمز DES.

مراجع[ویرایش]

  1. IEEE 802.11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications[۱]
  1. Fred B Schneider, Hashes and Message Digests, Cornell University[۲]
  1. FIPS PUB 113 Computer Data Authentication[۳]
  1. Federal Information Processing Standards Publications, Withdrawn FIPS Listed by Number[۴]

پیام به همراه کد به گیرنده مورد نظر ارسال می‌شود.[۱]

منابع[ویرایش]

  1. استالینگز، ویلیام. مبانی امنیت شبکه. علوم رایانه. شابک ‎۹۷۸-۹۶۴-۸۹۹۶-۳۸-۸.