امروزه دو شکل اصلی از رمزنگاری دادهها وجود دارد: رمزنگاری متقارن و رمزنگاری نامتقارن. جالب است بدانید که وقتی شما از مرورگر وب استفاده میکنید، به ایمیلهایتان پاسخ میدهید یا فرمهای مختلف را در وبسایتهای متفاوت ارسال میکنید، فرآیندهای رمزنگاری متقارن و نامتقارن اتفاق میافتد و در اغلب اوقات شما حتی متوجه آنها نمیشوید.
ممکن است شما تا حدودی با رمزنگاری متقارن و نامتقارن دادهها آشنایی داشته باشید. به عنوان مثال، شاید قبلاً یک ایمیل رمزگذاری شده ارسال کرده و یا یک فایل Word یا PDF را با رمز عبور، رمزگذاری کرده باشید.
با این حال، درک تفاوتهای بین رمزنگاری متقارن و نامتقارن و نحوه عملکرد این فناوریها در انتقال امن اطلاعات اهمیت بالایی دارد. در این مقاله قصد داریم تا تفاوتهای بین رمزنگاری متقارن و نامتقارن را مورد بحث قرار دهیم. اگر شما هم به این موضوع علاقهمند هستید تا انتهای این مقاله همراه ما باشید.
رمزنگاری متقارن چیست؟
رمزنگاری متقارن (symmetric encryption) یک تکنیک رمزگذاری داده است که به طور گسترده مورد استفاده قرار میگیرد و در آن دادهها با استفاده از یک کلید رمزنگاری مخفی، رمزگذاری و رمزگشایی میشوند. جالب است بدانید که در این نوع رمزگذاری از یک کلید برای رمزگذاری و رمزگشایی استفاده میگردد. رمزنگاری متقارن یکی از پرکاربردترین و البته قدیمیترین روشهای رمزگذاری است که قدمت آن به دوران امپراتوری روم باز میگردد.
یک نمونه تاریخی معروف از رمزنگاری متقارن، «Caesar’s cipher» است که به نام جولیوس سزار که از آن برای رمزگذاری مکاتبات نظامی خود استفاده میکرد، نامگذاری شده است.
هدف رمزنگاری متقارن ایمنسازی اطلاعات حساس، سری و یا طبقهبندی شده است. امروزه در بسیاری از صنایع بزرگ، از جمله صنایع دفاعی، هوافضا، بانکداری، مراقبتهای بهداشتی و سایر صنایع که در آنها ایمنسازی اطلاعات حساس یک شخص، کسب و کار یا سازمان از اهمیت بالایی برخوردار است، مورد استفاده قرار میگیرد.
رمزنگاری متقارن چگونه کار میکند؟
رمزنگاری متقارن از یک الگوریتم رمزنگاری متقارن قالبی یا قطعهای (Block Cipher) یا الگوریتمهای رمزنگاری متقارن جریانی (Stream Cipher) برای رمزگذاری و رمزگشایی دادهها استفاده میکند. در واقع، الگوریتمهای رمزنگاری متقارن جریانی، یک متن ساده (PlainText) را به یک متن رمزنگاری شده (CipherText) تبدیل میکنند.
فرستنده و گیرندهای که از رمزنگاری متقارن برای انتقال دادهها به یکدیگر استفاده میکنند باید کلید مخفی را بدانند تا فرستنده، دادههای خود را با آن رمزگذاری کرده و از طرف دیگر، گیرنده با کمک آن، دادههای رمزگذاری شده را رمزگشایی کند.
به این مثال ساده دقت کنید: اگر سارا به عنوان فرد فرستنده بخواهد برای ژاکلین یک سند محرمانه را بفرستد باید کلید مخفی را که از آن برای رمزگذاری فایل خود استفاده کرده است در اختیار ژاکلین بگذارد تا بتواند متن را رمزگشایی کرده و به اطلاعات آن دسترسی پیدا کند. برعکس، اگر ژاکلین بخواهد تغییراتی را در سند ایجاد کند و آن را با سارا به اشتراک بگذارد، مجدداً از همان کلید برای رمزگذاری فایل استفاده میکند و آن را برای سارا میفرستد.
انواع رمزنگاری متقارن
- Data Encryption Standard (DES)
- Triple Data Encryption Standard (Triple DES)
- Advanced Encryption Standard (AES)
- International Data Encryption Algorithm (IDEA)
- TLS/SSL protocol
مزایای رمزنگاری متقارن چیست؟
امروزه از رمزنگاری متقارن به فراوانی استفاده میشود چرا که پیادهسازی آن آسان است و میتواند مقادیر زیادی از دادهها را به سرعت رمزگذاری و رمزگشایی کند. بهطورمثال، در حال حاضر، AES یکی از امنترین اشکال رمزنگاری متقارن دادهها میباشد.
برخی از مزایای رمزنگاری متقارن عبارتند از:
- امنیت: الگوریتمهای رمزنگاری متقارن مانند AES، میلیاردها سال طول میکشد تا با استفاده از حملات brute-force شکسته شوند.
- سرعت: رمزنگاری متقارن، به دلیل طول کلید کوتاهتر و سادگی نسبی آن در مقایسه با رمزنگاری نامتقارن، بسیار سریعتر اجرا میشود.
- پذیرش در صنایع: الگوریتمهای رمزنگاری متقارن مانند AES به دلیل مزایای امنیتی و سرعتی که دارند به استاندارد طلایی رمزگذاری دادهها تبدیل شدهاند و به این ترتیب، از دههها پیش مورد پذیرش صنایع مختلف قرار گرفتند.
معایب رمزنگاری متقارن چیست؟
بزرگترین نقطه ضعف رمزنگاری متقارن، استفاده از یک کلید رمزنگاری مخفی برای رمزگذاری و رمزگشایی اطلاعات است. در واقع، اگر این کلید مخفی در یک مکان ناامن در رایانه ذخیره شود، هکرها میتوانند با استفاده از حملات مبتنی بر نرمافزار به آن دسترسی پیدا کرده و در نتیجه دادهها را رمزگشایی کنند.
علاوه بر این، بعد از رمزگذاری اطلاعات توسط یک سازمان باید کلید برای رمزگشایی اطلاعات به سازمان دیگری منتقل شود و در صورت آسیبپذیری کانال انتقال، امکان شکست رمزگذاری متقارن وجود دارد.
به همین دلیل است که در رمزنگاری متقارن، اطمینان از امنیت کلید رمزگذاری اهمیت بالایی دارد. در غیر این صورت، شما فقط از مهاجمان سایبری مستقل و یا تحت حمایت دولت درخواست میکنید تا به دادههای مهم وحیاتی شما دسترسی داشته باشند. یکی دیگر از معایب مهم رمزگذاری متقارن، امنیت پایینتر آن نسبت به رمزنگاری نامتقارن میباشد چرا که رمزگذاری نامقارن عموماً امنتر و اجرای آن نسبت به رمزنگاری متقارن کندتر است.
رمزنگاری نامتقارن چیست؟
بر خلاف رمزنگاری متقارن که در آن از یک کلید برای رمزگذاری و رمزگشایی اطلاعات استفاده میگردد، در رمزنگاری نامتقارن (asymmetric encryption) که به آن رمزنگاری کلید عمومی (public-key cryptography) یا رمزگذاری کلید عمومی (public-key encryption) نیز میگویند، از جفت کلیدهای عمومی و خصوصی مرتبط، برای رمزگذاری و رمزگشایی اطلاعات استفاده میشود.
همانند رمزگذاری متقارن، در رمزنگاری نامتقارن نیز یک متن ساده به متن رمزگذاری شده و برعکس، متن رمزگذاری شده به متن ساده، تبدیل میشود اما تفاوت اصلی رمزگذاری متقارن و نامتقارن در این است که در رمزنگاری نامتقارن، دو جفت کلید منحصربهفرد برای رمزگذاریها مورد استفاده قرار میگیرد.
رمزنگاری نامتقارن چگونه کار میکند؟
به این مثال دقت کنید: اگر سارا و ژاکلین بخواهند به طور مداوم یک فایل محرمانه را برای یکدیگر ارسال کنند باید کلیدهای عمومی منحصربهفرد و مربوط به خود را در اختیار یکدیگر قرار دهند. ابتدا سارا از کلید عمومی ژاکلین ( چون این کلید عمومی فقط برای ژاکلین در نظر گرفته شده است) برای رمزگذاری فایل استفاده کرده و فایل را برای ژاکلین ارسال میکند.
سپس ژاکلین بعد از دریافت فایل از کلید خصوصی خود (یعنی هیچ کس دیگری جز ژاکلین آن را نمیداند) برای رمزگشایی فایل و دسترسی به محتوای آن استفاده میکند. توجه داشته باشید که هیچ کس به جز ژاکلین، نمیتواند این فایل را رمزگشایی کند چون هیچ کس به جز ژاکلین کلید خصوصی او را نمیداند. زمانی که ژاکلین میخواهد فایل را به سارا بازگرداند، همین روند اعمال میشود.
ژاکلین فایل را به کلید عمومی سارا متصل کرده و سارا از کلید خصوصی خود برای رمزگشایی فایل استفاده میکند.
یکی از دلایلی که رمزنگاری نامتقارن اغلب امنتر از رمزگذاری متقارن در نظر گرفته میشود، این است که رمزنگاری نامتقارن، بر خلاف همتای خود، نیازی به تبادل کلید برای رمزگشایی بین دو یا چند طرف ندارد.
درست است که دراین نوع رمزگذاری، کلیدهای عمومی رد و بدل می شوند، اما چون کلیدهای عمومی فقط برای رمزگذاری استفاده میشوند، هیچ خطری برای رمزگشایی غیرمجاز توسط هکرها ندارند. چرا که هکرها کلید خصوصی کاربران را نمیدانند و بنابراین نمیتوانند دادههای رمزگذاری شده را رمزگشایی کنند.
نکته حائز اهمیت این است که در حال حاضر از رمزنگاری نامتقارن برای احراز هویت امضای دیجیتال استفاده میشود. اساساً، این احراز هویت شامل استفاده از کلیدهای خصوصی برای امضای دیجیتال پیامها و استفاده از کلیدهای عمومی برای تأیید اینکه این پیامها از فرستنده مورد اعتماد ارسال شده، میباشد.
انواع رمزگذاریهای نامتقارن
- Rivest Shamir Adleman (RSA)
- the Digital Signature Standard (DSS), which incorporates the Digital Signature Algorithm (DSA)
- Elliptical Curve Cryptography (ECC)
- the Diffie-Hellman exchange method
- TLS/SSL protocol
مزایای استفاده از رمزنگاری نامتقارن
- توزیع کلید ضروری نیست: یکی از مشکلات اساسی رمزنگاری متقارن، ایمن کردن کانالهای توزیع کلید برای مدت طولانی است. رمزنگاری نامتقارن توزیع کلید را به طور کامل حذف کرده و کلیدهای عمومی مورد نیاز از طریق سرورهای کلید عمومی مبادله میشوند. از طرف دیگر، افشای کلیدهای عمومی برای امنیت پیامهای رمزگذاری شده مشکلی ایجاد نمیکند چون نمیتوان از آنها برای استخراج کلیدهای خصوصی استفاده کرد.
- مبادله کلیدهای خصوصی ضروری نیست: با رمزنگاری نامتقارن، کلیدهای خصوصی باید در مکانی امن ذخیره شوند تا برای اشخاصی که از آنها استفاده میکنند، خصوصی باقی بمانند. اساساً، کلیدهای مورد نیاز برای رمزگشایی اطلاعات حساس هرگز و هرگز نباید از طریق یک کانال ارتباطی رد و بدل شوند و این یک مزیت اصلی برای امنیت و یکپارچگی پیامهای رمزگذاری شده است.
- امضای دیجیتال/ احراز هویت پیام: با رمزنگاری نامتقارن، فرستندهها میتوانند از کلیدهای خصوصی خود برای امضای دیجیتال استفاده کنند و تأیید کنند که یک پیام یا فایل از طریق آنها نه شخص ثالث غیرقابل اعتماد ارسال شده است.
معایب رمزنگاری نامتقارن
بزرگترین مشکل رمزنگاری نامتقارن کند بودن آن نسبت به رمزگذاری متقارن است و از طرف دیگر، محاسبات رمزنگاری نامتقارن بسیار پیچیدهتر از رمزگذاری متقارن است. از آنجا که، در تئوری میتوان از کلیدهای عمومی برای شکستن کلیدهای خصوصی استفاده کرد در رمزنگاری نامتقارن از طول کلیدهای فوقالعاده طولانی استفاده میشود تا این کار را حداقل فعلاً غیرممکن سازند. بنابراین، بهطور خلاصه میتوان گفت که رمزنگاری متقارن سریعتر از رمزنگاری نامتقارن است یعنی در رمزنگاری نامتقارن سرعت فدای امنیت شده است. در حالیکه رمزنگاری متقارن، امنیت را فدای سرعت میکند. با این حال، این موضوع بدان معنی نیست که رمزنگاری متقارن ایمن نیست بلکه در حال حاضر، امنیت این نوع رمزگذاری نیز توسط متخصصین این حوزه تأیید شده است.