مطالب داغ
صفحه اصلی » موبایل و تبلت » AES: پرکاربردترین استاندارد رمزنگاری متقارن

AES: پرکاربردترین استاندارد رمزنگاری متقارن

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

Advanced Encryption Standard aka AES Overview

پیدایش AES

موسسه ملی استانداردها و تکنولوژی امریکا موسوم به NIST در دهه 70 میلادی استاندارد DES را به عنوان راه‌کار رسمی سازمان‌های دولتی این کشور برای رمزنگاری داده‌ها معرفی نمود. این استاندارد که توسط متخصصین شرکت IBM طراحی شده بود، از یک الگوریتم رمزنگاری متقارن با کلیدی به طول 56 بیت بهره می‌گرفت. پیشرفت تدریجی توان پردازشی کامپیوترها و طول نسبتا کوتاه کلید رمزنگاری DES، آسیب‌پذیری این استاندارد را در مقابل حملات مختلف از جمله brute force به دنبال داشت. برای اثبات این موضوع در ژانویه سال 1999 میلادی وب‌سایت distributed.net با همکاری در آزمایشی عمومی موفق به شکستن کلید رمزنگاری DES در کم‌تر از 24 ساعت گردید. برای حل این مشکل در اواخر دهه 90 میلادی به صورت موقت نسخه ارتقا یافته DES با نام 3DES یا Triple-DES در سطحی گسترده به جای این الگوریتم به کار گرفته شد. در سیستم رمزنگاری Triple-DES برای افزایش امنیت، داده‌ها 3 مرتبه با استفاده از 3 کلید متفاوت مورد رمزنگاری قرار می‌گرفت.

همچنین در همان سال‌ها انتخاب جایگزینی مناسب برای استاندارد DES در دستور کار موسسه NIST قرار گرفت. برای این منظور NIST با انتشار بیانیه‌ای عمومی اعلام نمود که فرآیند انتخاب الگوریتم رمزنگاری آینده دولت فدرال امریکا غیرمحرمانه بوده و با کمک متخصصین رمزنگاری از سرتاسر جهان انجام خواهد شد. در این بیانیه تاکید شده بود که این الگوریتم بایستی قادر باشد اطلاعات حساس و محرمانه دولتی را حتی در قرن 21 میلادی به خوبی و با امنیت بالا رمزنگاری نماید. دیگر مشخصه‌های مورد نظر برای این الگوریتم عبارت بود از پیاده‌سازی راحت در سطح نرم‌افزار و سخت‌افزار، امکان استفاده در دستگاه‌های کوچک و مقاومت بالا در برابر انواع حملات. موسسه NIST با انتشار مشخصات و شرایط لازم، از متخصصین رمزنگاری خواست تا الگوریتم‌های پیشنهادی خود را جهت شرکت در رقابت برای کسب عنوان “استاندارد پیشرفته رمزنگاری” یا همان AES – مخفف عبارت Advanced Encryption Standard — معرفی نمایند. در این فراخوان ذکر شده بود که الگوریتم‌های شرکت‌کننده بایستی عملیات رمزنگاری را با کلید متقارن و به صورت بلوکه‌ای انجام دهند. چنین الگوریتم‌هایی به جای آن‌که داده‌ها را کَرَکتِر به کَرَکتِر (character by character) رمزنگاری نمایند، این کار به صورت بلوکه‌ای انجام می‌دهند. شرایط مورد نظر NIST برای الگوریتم AES آن بود که قادر باشد داده‌ها را در قالب بلوکه‌هایی 128 بیتی و با استفاده از کلید‌های 128، 192 و 256 بیتی رمزنگاری نماید. برخی دیگر از شرایط الگوریتم‌های شرکت‌کننده در این رقابت عبارت بود از:

• امنیت: قدرت امنیتی الگوریتم‌ها به عنوان مهم‌ترین فاکتور در این رقابت مورد بررسی قرار گرفت. برای این منظور توانایی مقاومت هر الگوریتم در برابر حملات مختلف، با دیگر الگوریتم‌های شرکت‌کننده مقایسه ‌گردید.

• کارایی: الگوریتم‌های کاندید شده از نظر بهینگی در مصرف توان محاسباتی و فضای حافظه‌ مورد ارزیابی قرار گرفتند.

• هزینه: الگوریتم برگزیده در این رقابت با کسب عنوان AES به صورت غیر انحصاری، بدون حق امتیاز و کاملا رایگان در سطح جهانی عرضه می‌گردد.

• پیاده‌سازی: الگوریتم‌های شرکت‌کننده از نظر قابلیت انعطاف و سهولت پیاده‌سازی در سطح نرم‌افزار و سخت‌افزار مورد ارزیابی و مقایسه قرار گرفتند.

Advanced Encryption Standard aka AES Overview

با شروع این رقابت 15 الگوریتم رمزنگاری کلید متقارن برای تحلیل و ارزیابی اولیه توسط جامعه جهانی رمزنگاری انتخاب گردیدند. موسسه NIST در ماه آگوست سال 1999 با اتمام فرآیند ارزیابی اولیه اقدام به معرفی 5 الگوریتم برگزیده برای شرکت در مرحله دوم این رقابت نمود. الگوریتم‌های انتخاب شده توسط این موسسه عبارت بودند از:

• MARS، توسعه یافته توسط تیم بزرگ تحقیقاتی شرکت IBM امریکا

• RC6، محصول شرکت امنیتی RSA که پیش از آن نیز الگوریتم رمزنگاری موفقی از نوع نامتقارن را با نام RSA توسعه داده بود

• Rijndael، طراحی شده توسط دو متخصص رمزنگاری بلژیکی‌تبار با نام‌های Vincent Rijmen و Joan Daemen

• Serpent، طراحی شده توسط Ross Anderson، Eli Biham و Lars Knudsen

• Twofish، طراحی شده توسط Bruce Schneier و یک تیم بزرگ از محققین Counterpane Internet Security

برای بررسی همه‌جانبه الگوریتم‌های نامزد شده، متخصصین جامعه رمزنگاری از سرتاسر دنیا دست به دست هم دادند تا در فرآیندی طولانی و دقیق با انجام آزمایش‌ها، حملات مختلف، بحث‌ و تبادل نظر، نقاط ضعف و آسیب‌پذیری‌های احتمالی این الگوریتم‌ها را شناسایی نموده و بهترین گزینه‌ را انتخاب نمایند. تمامی الگوریتم‌های راه یافته به مرحله نهایی با استفاده از زبان‌های برنامه‌نویسی C و Java پیاده‌سازی گردیده و سپس تحت شرایطی یک‌سان از نظر امنیت کلید، سرعت و سهولت پیاده‌سازی، مقاومت در برابر حملات مختلف، و هم‌چنین کارایی و امنیت در عملیات رمزگذاری و رمزگشایی داده‌ها مورد ارزیابی قرار گرفتند. علاوه بر بررسی نمونه نرم‌افزاری این الگوریتم‌ها، تمامی این آزمایش‌ها و تحلیل‌ها روی نسخه پیاده‌سازی‌شده هر الگوریتم در سطح سخت‌افزار نیز انجام گرفت. سرانجام در اکتبر سال 2000 موسسه NIST با اعلام پایان رقابت میان الگوریتم‌های نامزد شده، الگوریتم Rijndael را پیروز این میدان معرفی نمود. پس از آن، بررسی‌های تکمیلی و انجام اصلاحات مختلف روی این الگوریتم 2 سال دیگر به طول انجامید. در نهایت الگوریتم Rijndael از سال 2002 میلادی با عنوان “استاندارد پیشرفته رمزنگاری” یا AES به تایید دولت فدرال امریکا، سازمان بین‌المللی استاندارد (ISO) و کمیسیون بین‌المللی الکترونیک (IEC) رسید. در سال 2003 نیز دولت امریکا اعلام نمود که از آن پس آژانس‌هایی دولتی هم‌چون NASA و NSA می‌توانند رمزنگاری اطلاعات محرمانه خود را با استفاده از AES انجام دهند. از آن زمان تا کنون این استاندارد تنها الگوریتم رمزنگاری‌ عمومی است که توسط آژانس امنیت ملی امریکا برای محافظت از اسناد محرمانه در بالاترین سطح مورد تایید قرار دارد.

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

Advanced Encryption Standard aka AES Overview

ماهیت و روش کار AES

استاندارد AES از یک الگوریتم رمزنگاری بلوکه‌ای با کلید متقارن بهره می‌گیرد که قادر است داده‌ها را در قالب بلوکه‌های 128 بیتی و با استفاده از کلیدهایی به طول 128، 192 یا 256 بیت رمزنگاری نماید. الگوریتم اصلی Rijndael به شکلی طراحی شده بود تا بتواند از اندازه بلاک‌ها و کلیدهای مختلف پشتیبانی نماید. اما در جریان فرآیند استانداردسازی و به منظور حفظ انسجام، از این قابلیت چشم‌پوشی شده و در استاندارد AES به یک اندازه بلاک ثابت و سه طول کلید مشخص اکتفا گردید. هم‌چون 3DES که داده‌ها را در 3 نوبت رمزنگاری می‌نماید، الگوریتم AES نیز از یک فرآیند چندمرحله‌ای برای این منظور بهره‌ می‌گیرد. با این تفاوت که تعداد مراحل رمزنگاری داده‌ها در AES به مراتب بیش‌تر بوده و بسته به طول کلید مورد استفاده، متغیر است. به این ترتیب که داده‌ها هنگام استفاده از کلیدهای 128، 192 و 256 بیتی به ترتیب طی 10، 12 و 14 مرحله رمزنگاری می‌گردند. متن ساده پیام به صورت بلوکه-به-بلوکه وارد رمزنگار گردیده و در هر یک از مراحل رمزنگاری دست‌خوش تغییراتی هم‌چون جابجایی، تعویض و ترکیب کَرَکتِرها (حروف، اعداد و علامت‌ها) می‌شود.

درباره مهندس رضا نقاش زاده

دیدگاهتان را بنویسید

alldigi.ir