رمز نگاری: کدهای احراز اصالت پیام (MACs)
رمز نگاری: کدهای احراز اصالت پیام (MACs) – ایران ترجمه – Irantarjomeh
مقالات ترجمه شده آماده گروه کامپیوتر
مقالات ترجمه شده آماده کل گروه های دانشگاهی
مقالات
قیمت
قیمت این مقاله: 48000 تومان (ایران ترجمه - Irantarjomeh)
توضیح
بخش زیادی از این مقاله بصورت رایگان ذیلا قابل مطالعه می باشد.
شماره | ۱۲۵ |
کد مقاله | COM125 |
مترجم | گروه مترجمین ایران ترجمه – irantarjomeh |
نام فارسی | کتاب آشنایی با رمز نگاری: فصل ۱۲ – کدهای احراز اصالت پیام (MACs) |
نام انگلیسی | Understanding cryptography: Chapter 12 – Message Authentication Code (MACs) |
تعداد صفحه به فارسی | ۳۲ |
تعداد صفحه به انگلیسی | ۱۷ |
کلمات کلیدی به فارسی | رمز نگاری, کدهای احراز اصالت پیام |
کلمات کلیدی به انگلیسی | cryptography, Message Authentication Code (MACs) |
مرجع به فارسی | پروفسور کریستوف پار، دپارتمان مهندسی برق و علوم اطلاعات، دانشگاه بوخوم، آلماندکتر جین پلزل، علوم آی تی، بوخوم، آلماناسپرینگر |
مرجع به انگلیسی | Springer |
کشور | آلمان |
کتاب آشنایی با رمز نگاری
فصل ۱۲
کدهای احراز اصالت پیام (MACs)
کد احراز اصالت پیام (MAC) که همچنین تحت عنوان مجموع مقابله ای رمز نگاشتی یا تابع درهم شده کلیدی خوانده می شود، در عمل بطور گسترده ای مورد استفاده قرار گرفته است. برحسب کاربردپذیری امنیتی، MACها برخی از خواص مشخص را با امضای دیجیتال به اشتراک می گذارند، آنها همچنین فراهم آورنده جامعیت یا یکپارچگی پیام و فرآیند احراز اصالت پیام نیز می باشند. با این وجود، برخلاف امضای دیجیتال، MACها بعنوان طرح با ویژگی کلید – متقارن بشمار آمده و خصوصیت انکارناپذیری را ارائه نمی دهند. یکی از مزیت های MACs آن است که آنها بسیار سریع تر از امضاهای دیجیتال می باشند چرا که برمبنای رمزگذاری های بلوکی یا توابع درهم شده می باشند.
در این فصل موارد ذیل آموخته می شوند:
اصول MACs
ویژگی های امنیتی که می توان آنها را با استفاده از MACs بدست آورد.
چگونگی بکارگیری MACs با توابع درهم شده و رمزگذاری بلوکی
رمز نگاری: کدهای احراز اصالت پیام (MACs)
۱۲-۱٫ اصول کدهای احراز اصالت پیام
مشابه با امضاهای دیجیتال، MACs اقدام به ضمیمه نمودن یک تگ / برچسب احراز هویت به یک پیام می نماید. تفاوت حیاتی بین MACs و امضای دیجیتال آن است که MACs از یک کلید متقارن k برای هر دو مورد ایجاد برچسب احراز هویت و تصدیق آن استفاده می نماید. یک MAC در حقیقت بعنوان تابع کلید متقارن k و پیام x بشمار می آید. بر این مبنا می توانیم ایده ذیل را بکار گیریم:
اصول محاسبه MAC و تصدیق آن در شکل ۱۲-۱ نشان داده شده است.
انگیزه استفاده از MACs را می توان با مثال استفاده از آن توسط Alice و Bob بیان داشت. در این مثال این دو فرد خواستار اطمینان از این موضوع هستند که به هنگام ارسال پیام هر نوع دستکاری پیام x در حال ارسال قابل تشخیص باشد. بر این مبنا، Bob اقدام به محاسبه MAC بعنوان تابع پیام و کلید مخفی به اشتراک گذاشته شده k نموده و هر دوی پیام و برچسب احراز اصالت پیام m را به Alice ارسال می کند. پس از دریافت پیام و m، Alice قابلیت تصدیق هر دو مورد را دارد. از آنجاییکه چنین موردی بعنوان رویه متقارن بشمار می آید، وی به سادگی اقدام به تکرار مراحلی می نماید که Alice به هنگام ارسال پیام آنها را انجام داده بود. وی صرفا برچسب احراز اصالت پیام را با پیام دریافتی و کلید متقارن مجددا محاسبه می نماید.
فرضیه اصلی این سیستم آن است که در صورتی که پیام x در حال عبور تغییر یابد محاسبه MAC سبب بروز نتیجه ای نادرست می شود. بنابراین یکپارچگی پیام بعنوان یک سرویس امنیتی فراهم آمده است. بعلاوه، Alice هم اکنون مطمئن می شود که Bob بعنوان صادر کننده اصلی پیام است چرا که تنها دو طرف گیرنده و فرستنده با داشتن کلید مخفی یکسان k قابلیت محاسبه MAC را خواهند داشت. در صورتی که یک فرد متخاصم، بطور مثال Oscar، اقدام به تغییر پیام در طی ارسال آن نماید، وی به سادگی قابلیت محاسبه یک MAC معتبر را نخواهد داشت چرا که دارای کلید مخفی نیست. هر نوع جعل پیام ها، از روی بدخواهی یا حتی تصادفی (بطور مثال بواسطه خطاهای ارسال)، بوسیله گیرنده قابل شناسایی خواهد بود که علت آن نیز عدم تصدیق MAC می باشد.
رمز نگاری: کدهای احراز اصالت پیام (MACs)
۱۲-۲٫ MACs از توابع درهم شده: HMAC
این بدان معنی می باشد که از نقطه نظر Alice’s، Bob باید اقدام به ایجاد MAC نموده باشد. برحسب سرویس های امنیتی، احراز اصالت پیام فراهم حاصل می شود.
در عمل، یک پیام x غالبا بسیار بزرگتر از MAC منطبق می باشد. بنابراین، مشابه با توابع درهم شده، خروجی محاسبه MAC بعنوان یک برچسب احراز اصالت با طول ثابت می باشدکه بصورت مستقل از طول ورودی خواهد بود.
با توجه به ویژگی های بحث شده قبلی MAC، می توانیم کلیه ویژگی های مهم را به شرح ذیل خلاصه سازیم:
رمز نگاری: کدهای احراز اصالت پیام (MACs)
ویژگی های کدهای احراز اصالت پیام
مجموع مقابله ای رمز نگاشتی. یک MAC اقدام به ایجاد یک برچسب احراز اصالت ایمن بصورت رمز نگارانه برای یک پیام خاص می نماید.
MAC متقارن برمبنای کلیدهای متقارن مخفی است. طرف های استفاده کننده و تصدیق کننده می بایست یک کلید مخفی را با یکدیگر به اشتراک گذارند.
اندازه پیام فرضی / دلخواه. MAC اقدام به پذیرش پیام های دارای طول دلخواه یا اختیاری می نماید.
طول خروجی ثابت. MACs اقدام به ایجاد برچسب های احراز اصالت با اندازه ثابت می نماید.
یکپارچگی پیام. MACs یکپارچگی پیام را فراهم می سازد: هر نوع دستکاری پیام در طی فرآیند ارسال بوسیله گیرنده تشخیص داده می شود.
احراز اصالت پیام. طرف گیرنده از مبدا پیام مطمئن می باشد
عدم انکار یا انکارناپذیری. از آنجاییکه MACs برمبنای اصول متقارن است، آنها دارای ویژگی انکارناپذیری نمی باشند.
آخرین نکته ای که توجه به آن مهم است شامل: MACs قابلیت فراهم آوردن ویژگی انکارناپذیری را نخواهد داشت. از آنجاییکه دو طرف محاسباتی کلید یکسانی را به اشتراک می گذارند، هیچگونه احتمالی جهت اثبات آنکه فرد دیگری بتواند در این سیستم مشارکت داشته باشد، همانند مورد بررسی شده ارسال پیام MACs بین Alice و Bob، وجود ندارد. بنابراین، MACs در آن دسته از سناریوهایی که هر کدام از طرفین، همانند Alice و Bob، صادق نباشند، همانند مثال خرید ماشین که در بخش ۱۰-۱-۱ بحث شد، قابلیت فراهم آوردن رویه های محافظتی وجود نخواهد داشت. یک کلید مخفی متقارن در ارتباط با یک فرد خاص نخواهد بود بلکه این کلید در رابطه با دو طرف قضیه می باشد و بنابراین قابلیت تمایز بین Alice و Bob در مورد مباحث مرتبط وجود نخواهد داشت.
علی الخصوص، کدهای احراز اصالت پیام الزاما به دو روش حاصل آمده از توابع رمزگذاری بلوکی و توابع درهم شده بوجود آمده اند. در بخش های متعاقب این فصل برای درک MACs ما هر دوی این گزینه ها را ارائه می نماییم.
۱۲-۲٫ MACs از توابع درهم شده: HMAC
یکی از گزینه های درک MACs استفاده از توابع درهم شده رمز نگاری نظیر SHA-1 بعنوان بلوک اصلی در این زمینه می باشد. یکی از ویژگی های محتمل، تحت عنوان HMAC، مخصوصا در خلال دهه اخیر بسیار معروف شده است. بطور مثال، این ویژگی هم در پروتکل امنیت لایه انتقال (TLS) (مشخص شده بوسیله علامت قفل کوچک در مرورگر وبی شما) و همچنین پروتکل IPsec بکار گرفته می شود. یکی از دلایل استفاده گسترده ساختار HMAC آن است که در صورتی که برخی از فرضیه ها اعمال شوند این مورد بعنوان یک ویژگی امنیتی اثبات شده در نظر خواهد بود.
حمله در برابر MACs پیشوند مخفی
ما MACs را تحت عنوان مورد مشخص شده در نظر می گیریم. برای این حمله ما مشخص می سازیم که مجموعه مقابله ای رمز نگاشتی m با استفاده از یک ساختار درهم همانگونه که در شکل ۱۱-۵ نشان داده شده است محاسبه گردیده است. این دیدگاه تکراری در اکثریت توابع درهم شده امروزی یافت می شود. پیام x که Bob خواستار امضاء آن است در حقیقت یک توالی از بلوک های می باشد، که در آن طول بلوک منطبق با پهنای ورودی تابع درهم شده می باشد. Bob اقدام به محاسبه برچسب احراز اصالت به شرح ذیل می نماید:
حمله در برابر MACs پسوند مخفی
پس از مطالعه حمله فوق به نظر کاربرد دیگر روش ها ایمن می باشد که عمدتا شامل خواهد بود. با این وجود، ضعف متفاوتی در اینجا وجود دارد. در نظر بگیرید که Oscar قابلیت ایجاد یک برخورد در تابع درهم شده را داشته باشد، یعنی آنکه وی قابلیت یافتن x و xO را داشته باشد بگونه ای که:
HMAC
یک کد احراز اصالت پیام مبتنی بر ویژگی های درهم شده که معرف ضعف امنیتی نمی باشد و در بالا تشریح شد را می توان بعنوان ساختار HMAC در نظر گرفت که بوسیله Mihir Bellare، Ran Canetti و Ran در سال ۱۹۹۶ پیشنهاد شد. این طرح شامل یک ویژگی درهم داخلی و خارجی می باشد که در شکل ۱۲-۲ نشان داده شده است.
۱۲-۳٫ MACs از رمز گذاری های بلوکی: CBC-MAC
بنابراین یک طول بیت b حاصل آمده است. خروجی XOR تشکیل دهنده اولین بلوک ورودی به تابع درهم شده می باشد. بلوک های متعاقب ورودی بلوک های پیام هستند.
۱۲-۳٫ MACs از رمز گذاری های بلوکی: CBC-MAC
در بخش قبلی ما مشاهده نمودیم که توابع درهم شده را می توان جهت مشخص نمودن MACs بکار گرفت. یک روش جایگزین ایجاد MACs از رمزگذاری های بلوکی می باشد. معروفترین دیدگاه مورد استفاده بهره گیری از یک رمزگذاری بلوکی نظیر AES در مود زنجیره ای بلوک رمزی (CBC)، همانگونه که در بخش ۵-۲-۱ بحث شده می باشد.
رمز نگاری: کدهای احراز اصالت پیام (MACs)
ایجاد MAC
برای ایجاد یک MAC، ما می بایست پیام x را به بلوک های xi, i = 1, …, n تقسیم کنیم با توجه به کلید مخفی k و یک مقدار اولیه IV، ما قابلیت محاسبه اولین تکرار الگوریتم MAC به شرح ذیل را خواهیم داشت:
تایید و بررسی اصالت MAC
همانند تمامی MACها، فرآیند تصدیق / تایید و احراز اصالت شامل تکرار ساده عملیاتی است که برای تولید MAC بکار گرفته شده اند. برای تصمیم ما در خصوص اثبات حقیقی در ابتدا می بایست نسبت به مقایسه MAC m’ محاسبه شده با مقدار MAC دریافتی m اقدام نماییم. در صورتی که m’ = m صادق باشد، این پیام بعنوان یک پیام درست تصدیق خواهد شد. در صورتی که صادق باشد، پیام و یا مقدار MAC، m، در طی ارسال تغییر کرده است. ما مشخص می سازیم که تصدیق MAC متفاوت از فرآیند رمزگشایی CBC می باشد، که خود در حقیقت یک عملیات برعکس فرآیند به رمز درآوری بشمار می آید.
طول خروجی MAC بوسیله اندازه بلوک رمز استفاده شده مشخص می شود. از نقطه نظر تاریخی، DES بطور گسترده ای استفاده شده است، همانند کاربردهای بانکداری. اخیرا AES نیز بطور غالب استفاده شده است. این مورد حاصل آورنده MAC طول ۱۲۸ بیتی می باشد.
۱۲-۴٫ کد احراز اصالت پیام شمارشگر گالووا (GMAC)
GMAC بعنوان نوعی از مود شمارشگر گالووا (GCM) بشمار می آید که در بخش ۵-۱-۶ ارائه شد. GMAC در مرجع [۱۶۰] بعنوان یک مورد خاص ذکر شده است و یک مود عملیاتی برای رمزگذاری بلوکی کلید متقارن می باشد. بر خلاف مود GCM، مود GMAC قابلیت به رمز درآوردن داده ها را نداشته بلکه تنها اقدام به محاسبه یک کد احراز اصالت پیام خواهد نمود. GMAC به سادگی قابل موازی سازی می باشد که برای کاربردهای دارای سرعت بالا جذاب است. استفاده GMAC در فرآیند کپسوله سازی بار مفید امنیتی (ESP) و سرآیند احراز اصالت و تصدیق (AH) در مرجع RFC 4543 [119] تشریح شده است. RFC تشریح کننده چگونگی استفاده از AES در GMAC به منظور فراهم آوردن ویژگی های احراز اصالت داده های اصلی بدون محرمانگی در IPsec ESP و AH می باشد. GMAC را می توان بطور موثر در سخت افزار بکار گرفت که قابلیت رسیدن به سرعت ۱۰ گیگابیت در ثانیه و بالاتر را خواهد داشت.
۱۲-۵٫ مباحث و تحقیقات آتی
MACs مبتنی بر رمز نگاری بلوکی
از نقطه نظر تاریخی MACهای مبتنی بر رمزگذاری های بلوکی بعنوان یک روش شایع برای ایجاد کدهای احراز اصالت پیام بشمار می آیند. در ابتدای سال ۱۹۷۷، یعنی تنها چندین سال پس از اعلام استاندارد رمزگذاری داده ها (DES)، این موضوع پیشنهاد شد که DES را می توان جهت محاسبه مجموعه های متقابل فرآیندهای رمز نگاشتی بکار گرفت [۳۹]. در خلال سالیان بعد، MACs مبتنی بر رمز نگاری بلوکی در ایالات متحده بعنوان یک استاندارد مطرح شد و جهت اطمینان از جامعیت تراکنش های مالی، همانند استاندارد ANSI X9.17، معروفیت یافت[۳]. در خلال سالیان اخیرتر، توصیه NIST [65] یک الگوریتم کد احراز اصالت پیام برمبنای رمز نگاری بلوک کلید متقارن (CMAC) را توصیه نموده است که مشابه با CBC-MAC می باشد. الگوریتم AES-CMAC در RFC 4493 مشخص شده است [۱۵۹].
در این فصل CBC-MAC معرفی شد. علاوه بر CBC-MAC، OMAC و PMAC نیز معرفی شدند که هر دو با توجه به رمز نگاری بلوکی ایجاد می شوند. CBC-MAC (CCM) بعنوان مودی برای رمز نگاری احراز هویت شده بشمار آمده و برای استفاده با یک رمز نگاری بلوکی ۱۲۸ بیتی تعریف شده است [۱۷۳]. در توصیه NIST این مورد توصیف شده است [۶۴]. ساختار GMAC در IPSec استاندارد شده است [۱۱۹] و بعلاوه در توصیه NIST برای مودهای رمز نگاری بلوکی عملیاتی نیز این رویه مشخص گردیده است [۶۶].
MACs مبتنی بر تابع درهم شده
ساختار HMAC بطور ابتدا به ساکن در کنفرانس Crypto به سال ۱۹۹۶پیشنهاد شد [۱۴]. یک فرآوری کاملا قابل دسترس را می توان در مرجع [۱۵] یافت. HMAC در قالب اینترنت RFC درآمده و به سرعت در بسیاری از پروتکل های امنیتی اینترنتی، شامل TLS و IPsec، پذیرفته شد. در هر دوی این موارد، چنین سیستمی قابلیت محافظت از جامعیت یا یکپارچگی پیام در طی ارسال آن را خواهد داشت. این مورد بطور گسترده ای با توابع درهم شده SHA-1 و MD5 استفاده شده و استفاده آن با RIPEMD-160 مورد بحث قرار گرفته است. به نظر می رسد حرکت به سمت توابع درهم شده مدرنتر نظیر SHA-2 و SHA-3 منجر به تعامل بیشتر و بیشتر ساختارهای HMAC با این توابع خواهد شد.
دیگر ساختارهای MAC
نوع دیگر کد احراز اصالت پیام بر مبنای درهم سازی کلی می باشد و تحت عنوان UMAC خوانده می شود. UMAC بوسیله تحلیل امنیتی رسمی پشتیبانی شده و تنها مولفه رمز نگاشتی داخلی بعنوان یک رمز نگاری بلوکی بشمار می آید که جهت ایجاد پدها یا لایه های شبه تصادفی و ویژگیهای کلید داخلی بکار گرفته می شوند. تابع درهم کلی جهت تولید یک مقدار درهم کوتاه با طول ثابت استفاده می شود. این تابع سپس با استفاده از یک پد یا لایه شبه تصادفی حاصل آمده از کلید XORed می شود. تابع درهم شده کلی بگونه ای طراحی شده است که در نرم افزار بسیار سریع باشد (همانند، به اندکی یک سیکل در بایت در پردازنده های معاصر) و عمدتا برمبنای اضافه نمودن اعداد ۳۲ بیتی و ۶۴ بیتی و ضرب اعداد ۳۲ بیتی می باشد. برمبنای ایده اصلی بوسیله Wegman و Carter [40] طرح های بیشماری پیشنهاد شده اند، همانند طرح های درهم شدگی – مدولار – چند خطی (MMH) و UMAC [89، ۲۳].
رمز نگاری: کدهای احراز اصالت پیام (MACs)
۱۲-۶٫ درس های فراگرفته شده
MACs فراهم آورنده دو سرویس امنیتی می باشد، جامعیت / یکپارچگی پیام و احراز اصالت پیام، با استفاده از تکنیک های متقارن. MACs بطور گسترده ای در پروتکل ها استفاده می شود.
هر دوی این سرویس ها بوسیله امضاء دیجیتال فراهم شده اند، اما MACs بسیار سریع تر است.
MACs انکار ناپذیری را ارائه نمی دهد.
در عمل، MACs یا برمبنای رمز نگاری بلوکی است یا توابع درهم شده است.
HMAC بعنوان یک MAC معروف بشمار می آید که در بسیاری از پروتکل های عملی نظیر TLS بکار گرفته می شود.
مشکلات و مسایل
۱۲-۱٫ همانگونه مشاهده نمودیم MACs را می توان در پیام های احراز اصالت شده و تایید شده بکار گرفت. با توجه به این مسئله، ما خواستار نشان دادن تفاوت بین دو پروتکل هستیم – یکی از این پروتکل ها با MAC و دیگری با امضاء دیجیتال مطرح می شوند. در این دو پروتکل، طرف فرستنده عملیات ذیل را انجام می دهد: