رمزگذاری (Encryption) اصطلاحی است که بسیاری از کاربران بارها با آن مواجه شده‌اند، اما دقیقا چه معنایی دارد؟ همان‌طور که از اسم آن پیداست، در این فرایند اطلاعات مختلف از شکل اصلی خارج شده و به صورت رمزی درمی‌آیند. انواع و اقسام سرویس‌های آنلاین برای ایمن نگه داشتن اطلاعات، از فرایند رمزگذاری بهره می‌برند. در این مقاله، به انواع رمزگذاری، تأثیر این روش برای حفاظت از اطلاعات کاربران و علت اهمیت این موضوع می‌پردازیم.

رمزگذاری چیست؟

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

رمزگذاری

امروزه هم پایه و اساس رمزگذاری بر مبنای همین رویکرد قرار دارد. رمزگذاری دیجیتال، متن قابل خواندن (که اصطلاحاً به آن plaintext می‌گویند) را می‌گیرد و آن را رمزگذاری می‌کند. البته برای انجام چنین کاری، الگوریتم‌های بسیار پیچیده‌تر و قدرتمندتر نسبت به روش‌های باستانی مورد استفاده قرار می‌گیرند.

این الگوریتم‌ها از متغیرهایی به نام کلید بهره می‌برند که پیچیدگی رمزگذاری را چندین برابر می‌کنند. این کلیدها به طور تصادفی تولید می‌شوند و منحصربه‌فرد هستند. این یعنی اگر یک هکر بخواهد با نفوذ به یک بانک داده اطلاعات کارت اعتباری کاربران را بدزدد، نه‌تنها باید از الگوریتم مورد استفاده خبر داشته باشد بلکه باید بداند کدام کلید مورد استفاده قرار گرفته است. چنین کاری به هیچ عنوان کار راحتی نیست و به همین خاطر رمزگذاری‌های دیجیتال در برابر حملات جستجوی فراگیر (brute force) مقاومت بسیار بالایی دارند.

انواع رمزگذاری‌

الگوریتم‌های رمزگذاری به دو دسته‌ی اصلی متقارن و نامتقارن تقسیم می‌شوند که تفاوت اصلی آن‌ها به نحوه‌ی استفاده از کلیدها برمی‌گردد. در روش متقارن، فرستنده و گیرنده از یک کلید مشترک برای رمزنگاری و رمزگشایی استفاده می‌کنند.

رمزگذاری

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

الگوریتم‌های رمزگذاری

الگوریتم‌های رمزگذاری‌

همان‌طور که گفتیم، برای رمزگذاری الگوریتم‌های مختلفی استفاده می‌شوند که مبتنی بر روش متقارن یا نامتقارن هستند. در ادامه به ۵ الگوریتم رمزنگاری رایج و نحوه‌ی کارکرد آن‌ها می‌پردازیم:

  • AES – استاندارد رمزنگاری پیشرفته که به طور خلاصه AES نام دارد، یکی از امن‌ترین الگوریتم‌های مربوط به این حوزه محسوب می‌شود. این الگوریتم برای رمزگذاری از بلاک ۱۲۸ بیتی و کلیدهای متقارن در ۳ اندازه‌ی ۱۲۸، ۱۹۲ و ۲۵۶ بیتی استفاده می‌کند. روی هم رفته چندین سازمان از جمله دولت آمریکا برای رمزگذاری از این الگوریتم استفاده می‌کنند.
  • Triple DES – زمانی که نقاط ضعف الگوریتم اصلی DES کشف شد، الگوریتم Triple DES را جایگزین آن کردند. این الگوریتم از سه کلید ۵۶ بیتی مجزا استفاده می‌کند و از نوع متقارن به حساب می‌آید. البته طی سال‌های اخیر با ظهور گزینه‌های ایمن‌تری مانند AES، دیگر کمتر کسی از این الگوریتم استفاده می‌کند.
  • Blowfish – این الگوریتم رمزنگاری توسط یک متخصص امنیت کامپیوتر به نام بروس اشنایر طراحی شده است. مانند الگوریتم Triple DES، این روش هم به‌عنوان جایگزینی برای الگوریتم DES مورد استقبال قرار گرفت. Blowfish یک الگوریتم متقارن محسوب می‌شود که امنیت بسیار بالایی دارد. در ضمن از آنجایی که یک الگوریتم انحصاری محسوب نمی‌شود، هر کسی می‌تواند از آن بهره ببرد.
  • Twofish – این الگوریتم هم یکی دیگر از ابداعات بروس اشنایر به حساب می‌آید که جانشین پیشرفته‌تر Blowfish است. این الگوریتم متقارن از کلیدهای ۲۵۶ بیتی استفاده می‌کند و نه‌تنها سریع و ایمن است، بلکه مانند نسل قبلی خود تحت مالکیت عمومی قرار دارد.
  • RSA – این الگوریتم رمزنگاری نامتقارن یکی از قدیمی‌ترین و محبوب‌ترین استانداردهای رمزنگاری آنلاین محسوب می‌شود. اگرچه سرعت کمی دارد، اما در عوض از امنیت بسیار بالایی بهره می‌برد.

کاربردهای رمزگذاری

کاربردهای رمزگذاری‌

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

بسیاری از سرویس‌های آنلاین از الگوریتم‌های رمزنگاری بهره می‌برند و در این میان شاید بسیاری از کاربران از این موضوع خبر نداشته باشند. در ادامه به برخی کاربردهای رایج رمزگذاری و نحوه‌ی کارکرد آن‌ها می‌پردازیم.

رمزگذاری دوطرفه

رمزگذاری دوطرفه‌

به دلیل افزایش محبوبیت رمزگذاری دوطرفه در سال‌های اخیر، احتمالاً نام این روش را شنیده‌اید. اما نحوه‌ی کارکرد آن دقیقا چگونه است؟ به طور معمول، بیشتر اطلاعاتی که به صورت آنلاین ارسال می‌کنید (مانند ایمیل‌ها)، از طریق سرویس‌های ثالث مانند تأمین‌کننده‌ی خدمات ایمیل شما ارسال و ذخیره می‌شوند. حتی اگر این داده‌های رمزگذاری شده باشند، این فرایند تنها در حین انتقال رخ می‌دهد. اما زمانی که ایمیل موردنظر به مقصد می‌رسد، اغلب آن‌ها از سطح حفاظت مشابهی بهره نمی‌برند.

اما چنین نقطه‌ضعفی برای رمزگذاری دوطرفه وجود ندارد. این نوع رمزنگاری، اطلاعات را فقط گروه‌های مرتبط با یکدیگر قابل خواندن می‌کند. این یعنی حتی شرکت‌های خدمات اینترنتی و تأمین‌کننده‌ی ایمیل شما هم نمی‌تواند به محتویات آن‌ها دسترسی پیدا کند. بنابراین برای افراد نگران حریم خصوصی و امنیت، یک روش عالی محسوب می‌شود. البته این روش هم ۱۰۰ درصد ایمن نیست، اما در هر صورت بسیار بهتر از گزینه‌های جایگزین عمل می‌کند.

تعدادی از سرویس‌های محبوب در زمینه‌ی پیام‌رسان‌ها و ارائه‌ی دهندگان خدمات ایمیل مانند سیگنال، تلگرام، واتس‌اپ و پروتون میل از رمزگذاری دوطرفه برای محتوای کاربران خود استفاده می‌کنند.

HTTPS

HTTPS

اگر می‌خواهید اطلاعات مربوط به وب‌گردی‌های شما خصوصی و ایمن باقی بماند، باید با HTTPS آشنا شوید. این پروتکل در اینترنت مورد استفاده قرار می‌گیرد و اغلب اوقات با یک آیکون قفل در کنار نوار آدرس مرورگر نمایش داده می‌شود.

HTTPS اتصال شما را با درخواست یک گواهی کلید دیجیتالی با عمومی تائید می‌کند که باید توسط یک بخش ثالث مورد اعتماد امضا شود. با این حال، برخلاف رمزگذاری دوطرفه، HTTPS معمولاً از داده‌های در حین انتقال محافظت می‌کند. این یعنی امنیت کمتری نسبت به رمزگذاری دوطرفه دارد اما برای هر کسی که می‌خواهد از داده‌های آنلاین خود محافظت کند، یک پروتکل بسیار مهم محسوب می‌شود.

آسان‌ترین راه برای اطمینان از وجود HTTPS برای تمام ارتباطات وب، استفاده از افزونه‌هایی مانند HTTPS Everywhere است. این افزونه برای تمام مرورگرهای اصلی ارائه شده است.

رمزگذاری‌ فضای ذخیره‌سازی ابری

رمزگذاری‌ فضای ذخیره‌سازی ابری

ذخیره‌ی عکس‌ها، ویدیوها و اسناد بر روی فضای ذخیره‌سازی ابری به یک پدیده‌ی همه‌گیر بدل شده است. به همین خاطر، استفاده از الگوریتم‌های رمزنگاری برای این سرویس‌ها اهمیت بسیار زیادی دارد. ارائه‌دهندگان فضای ابری با سه نوع داده سروکار دارند. نوع اول data-at-rest نام دارد که این نوع داده‌ها در حال حاضر مورد استفاده قرار نمی‌گیرند. data-in-transit هم اطلاعاتی هستند که به یک یا چند بخش مختلف ارسال می‌شوند و در نهایت باید به نوع سوم یعنی data-in-use اشاره کنیم که توسط اپلیکیشن‌های مختلف مورد استفاده قرار می‌گیرند و به همین خاطر رمزگذاری آن‌ها کار راحتی نیست.

رمزگذاری این داده‌ها هم به سرویس‌دهنده‌ی موردنظر بستگی دارد. مثلا برخی از آن‌ها داده‌های مربوط به data-at-rest و data-in-transit را رمزگذاری می‌کنند اما برخی دیگر تنها داده‌هایی که حساس تلقی می‌شوند را رمزنگاری می‌کنند. همچنین هرکدام از این سرویس‌ها از انواع مختلفی از رمزگذاری بهره می‌برند ولی در نهایت رمزگذاری دوطرفه هنوز بین آن‌ها رایج نشده است. البته در این میان می‌توانیم مثلا به سرویس دراپ‌باکس اشاره کنیم که ابزاری برای رمزگذاری دوطرفه ارائه داده است.

رمزگذاری‌ دیسک

رمزگذاری‌ دیسک

اگر می‌خواهید حفاظت از داده‌های موجود در کامپیوتر خود را افزایش بدهید، بهتر است از رمزگذاری دیسک بهره ببرید. با این کار می‌توانید محتوای موجود در هارد دیسک یا حافظه SSD سیستم خود را رمزنگاری کنید.

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

اگر می‌خواهید در هزینه‌ها صرفه‌جویی کنید، می‌توانید از برنامه‌های مختص این کار بهره ببرید. خوشبختانه در این زمینه برنامه‌های متنوعی ارائه شده است. باید خاطرنشان کنیم این برنامه‌ها معمولا از روش رمزنگاری در لحظه (on-the-fly-encryption) استفاده می‌کنند که یعنی داده‌ها برای هر دفعه بارگذاری و ذخیره شدن، رمزنگاری و رمزگشایی می‌شوند.

با توجه به نرم‌افزار و قدرت سیستم، چنین فرایندی می‌تواند منجر به کندتر شدن عملکرد سیستم شود. با این حال افرادی که اهمیت زیادی به امنیت می‌دهند، احتمالا با این موضوع کنار می‌آیند. در این زمینه می‌توانیم به برنامه‌ی BitLocker اشاره کنیم که از الگوریتم رمزنگاری AES با کلیدهای ۱۲۸ یا ۲۵۶ بیتی استفاده می‌کند.

چرا رمزگذاری‌ اهمیت زیادی دارد؟

encryption

برخی می‌گویند ما چیزی برای پنهان کردن نداریم. اما باید خاطرنشان کنیم که امروزه، داده‌ها محور کسب‌وکارهای بسیار بزرگی محسوب می‌شوند. حتی اگر مشکلی با لو رفتن اطلاعات وب‌گردی یا عادات خریدهای اینترنتی خود نداشته باشید، مطمئناً نمی‌خواهید کسی به اطلاعات مالی یا عکس‌های خصوصی شما دسترسی داشته باشد. اهمیت رمزگذاری هم به همین موضوع برمی‌گردد. به طور کلی، دو مزیت مهم برای این موضوع می‌توان مطرح کرد:

  • حریم خصوصی – برخی مکالمات، چه شخصی باشند و چه مربوط به کار، نباید در دسترس افراد قرار بگیرند. همین موضوع برای عکس‌ها، ویدیوها، اسناد و دیگر موارد هم صدق می‌کند. اگر می‌خواهید تنها شما و افراد موردنظرتان به این داده‌ها دسترسی داشته باشند، پس رمزگذاری را باید جدی بگیرید.
  • امنیت – روزبه‌روز به حجم کارهایی که باید به صورت آنلاین انجام شوند، افزوده می‌شود. کاربران روزانه اطلاعات زیادی را در سایت‌ها و محیط‌های مختلف وارد می‌کنند و مطمئناً این افراد نمی‌خواهند این اطلاعات خصوصی و مهم فاش شوند.

البته، رمزگذاری کردن داده‌ها نمی‌تواند شما را به طور ۱۰۰ درصد در برابر حملات حفاظت کند. این پروتکل‌ها هم دارای عیب‌ها و محدودیت‌هایی هستند که می‌توان از آن‌ها سوءاستفاده کرد اما بدون استفاده از آن‌ها، بدون شک در معرض خطر بیشتری قرار خواهید گرفت.