شما در مورد رمزگذاری شنیده اید، اما دقیقا چیست؟ اگر مجرمان از آن استفاده کنند، آیا استفاده از رمزگذاری امن است؟ در اینجا نحوه کارکرد رمزگذاری و آنچه انجام می دهد آورده شده است.
برای بسیاری، کلمه «رمزگذاری» احتمالاً تصاویری شبیه به جیمز باند از یک شخصیت شرور با کیف دستی بسته به مچ دستش با کدهای پرتاب هستهای یا برخی از فیلمهای اکشن دیگر را تحریک میکند.
در واقعیت، همه به طور روزانه از فناوری رمزگذاری استفاده می کنند. در حالی که احتمالاً بیشتر «چگونه» یا «چرا» را نمیدانند، اما واضح است که امنیت داده مهم است و رمزگذاری بخش اصلی آن است.
تقریباً هر دستگاه محاسباتی که ما روزانه با آن تعامل داریم از رمزگذاری استفاده میکند. بنابراین، رمزگذاری چگونه کار می کند، و آیا رمزگذاری امن است؟
رمزگذاری چیست؟
رمزگذاری شکل مدرن رمزنگاری است که به کاربر اجازه می دهد اطلاعات را از دیگران پنهان کند.
رمزگذاری از یک الگوریتم پیچیده به نام رمز استفاده می کند تا داده های معمولی (معروف به متن ساده) را به مجموعه ای از کاراکترهای به ظاهر تصادفی (متن رمزی) غیرقابل خواندن توسط کسانی که کلید خاصی برای رمزگشایی آن ندارند، تبدیل کند. کسانی که کلید را در اختیار دارند می توانند داده ها را رمزگشایی کنند تا دوباره متن ساده را ببینند، نه رشته کاراکتر تصادفی متن رمزی.
دو مورد از پرکاربردترین روش های رمزگذاری رمزگذاری کلید عمومی (نامتقارن) و رمزگذاری کلید خصوصی (متقارن) است.
هر دو روش رمزگذاری به کاربران این امکان را می دهند که داده ها را رمزگذاری کنند تا آن ها را از دیگران پنهان کنند و سپس برای دسترسی به متن اصلی، رمزگشایی کنند. با این حال، آنها در نحوه مدیریت مراحل بین رمزگذاری و رمزگشایی متفاوت هستند.
رمزگذاری کلید عمومی
رمزگذاری کلید عمومی یا نامتقارن از کلید عمومی گیرنده و یک کلید خصوصی منطبق (از نظر ریاضی) استفاده می کند.
مثلا:
- جو و کارن هر دو کلید یک جعبه دارند.
- جو کلید عمومی را دارد و کارن یک کلید خصوصی مشابه دارد.
- جو میتواند از کلید عمومی خود برای باز کردن قفل جعبه و قرار دادن چیزها در آن استفاده کند، اما او نمیتواند مواردی را که قبلاً در آنجا هستند مشاهده کند، و همچنین نمیتواند چیزی را بیرون بیاورد.
- کلید خصوصی کارن میتواند جعبه را باز کند، همه اقلام داخل آن را مشاهده کند و آنها را به دلخواه حذف کند.
توجه داشته باشید که کارن میتواند موارد را از جعبه مشاهده و حذف کند، اما نمیتواند موارد جدیدی را در جعبه قرار دهد تا جو ببیند.
جو و کارن برای این کار باید مجموعه جدیدی از کلیدها را با جعبه جدید عوض کنند. در این حالت، کارن کلید عمومی را نگه می دارد و می تواند قفل جعبه را باز کند تا یک آیتم جدید را در آن قرار دهد، در حالی که کلید خصوصی جو به او اجازه می دهد جعبه را باز کند و موارد را مشاهده کند.
رمزگذاری کلید خصوصی
رمزگذاری کلید خصوصی یا متقارن با رمزگذاری کلید عمومی در هدف کلیدها متفاوت است. هنوز دو کلید برای برقراری ارتباط مورد نیاز است، اما هر یک از این کلیدها اکنون اساساً یکسان هستند.
به عنوان مثال، جو و کارن هر دو دارای کلیدهای جعبه فوق هستند، اما در این سناریو، کلیدها همان کار را انجام می دهند. هر دوی آنها اکنون میتوانند چیزهایی را از جعبه اضافه یا حذف کنند.
با صحبت دیجیتالی، جو اکنون می تواند پیامی را رمزگذاری کند و همچنین آن را با کلید خود رمزگشایی کند. کارن می تواند همین کار را با او انجام دهد.
این یک راه ساده برای در نظر گرفتن رمزگذاری کلید خصوصی است. اغلب، سایتها و سرویسهای آنلاین از رمزگذاری کلید عمومی و خصوصی برای ایمن کردن ویژگیهای مختلف استفاده میکنند و لایههای امنیتی در این فرآیند ایجاد میکنند.
تاریخچه مختصری از رمزگذاری
هنگام صحبت در مورد رمزگذاری، مهم است که این تمایز را قائل شویم که تمام فناوری های رمزگذاری مدرن از رمزنگاری مشتق شده اند.
رمزنگاری در هسته خود عمل ایجاد و (تلاش برای) رمزگشایی یک کد است. در حالی که رمزگذاری الکترونیکی در طرح بزرگتر چیزها نسبتاً جدید است، رمزنگاری علمی است که قدمت آن به یونان باستان بازمیگردد.
یونانیان اولین جامعهای بودند که از رمزنگاری برای پنهان کردن دادههای حساس در قالب کلام نوشتاری، هم از چشم دشمنان و هم از دید عموم استفاده میکردند.
با این حال، یونانی ها در توسعه روش های رمزنگاری بدوی تنها نبودند. رومیها با معرفی چیزی که به عنوان «رمز سزار» شناخته میشد، پیروی کردند، رمزی جایگزین که شامل جایگزینی یک حرف به جای حرف دیگری بود که بیشتر در الفبا جابجا شد.
به عنوان مثال، اگر کلید شامل یک جابجایی سه به راست باشد، حرف A تبدیل به D، حرف B می شود و غیره. رمز سزار یکی از اولین اشکال رمزنگاری است که بسیاری از ما در کودکی با آن آشنا شده ایم.
3 نمونه از فناوری رمزگذاری مدرن
فناوری رمزگذاری مدرن از الگوریتم های پیچیده تر و اندازه های کلید بزرگتر برای پنهان کردن بهتر داده های رمزگذاری شده استفاده می کند. هرچه اندازه کلید بزرگتر باشد، یک حمله brute force باید برای رمزگشایی موفقیت آمیز متن رمز، ترکیبات احتمالی بیشتری را اجرا کند.
همانطور که اندازه کلید همچنان در حال بهبود است، زمان لازم برای شکستن رمزگذاری با استفاده از یک حمله brute-force افزایش می یابد.
به عنوان مثال، در حالی که یک کلید 56 بیتی و یک کلید 64 بیتی از نظر ارزش مشابه به نظر می رسد، کلید 64 بیتی در واقع 256 برابر سخت تر از کلید 56 بیتی شکسته می شود.
اکثر رمزگذاری های مدرن حداقل از یک کلید 128 بیتی استفاده می کنند و برخی از آنها از کلیدهای 256 بیتی یا بیشتر استفاده می کنند. برای درک این موضوع، شکستن یک کلید 128 بیتی به یک حمله brute force برای آزمایش بیش از 339,000,000,000,000,000,000,000,000,000,000,000,000 کلید ترکیبی نیاز دارد.
یکی از بزرگترین نامهای اشتباه زبان رمزنگاری از تفاوتهای بین انواع رمزگذاری (الگوریتمهای رمزگذاری) و نقاط قوت مربوطه ناشی میشود.
- نوع رمزگذاری: نوع رمزگذاری مربوط به نحوه تکمیل رمزگذاری است. به عنوان مثال، رمزنگاری نامتقارن یکی از رایج ترین انواع رمزگذاری در اینترنت است.
- الگوریتم رمزگذاری: وقتی درباره قدرت رمزگذاری بحث می کنیم، در مورد یک الگوریتم رمزگذاری خاص صحبت می کنیم. الگوریتمها جایی هستند که نامهای جالبی مانند Triple DES، RSA یا AES از آن میآیند. نام الگوریتم های رمزگذاری اغلب با یک مقدار عددی مانند AES-128 همراه است. این عدد به اندازه کلید رمزگذاری اشاره دارد و قدرت الگوریتم را بیشتر مشخص می کند.
چند اصطلاح رمزگذاری دیگر وجود دارد که باید با آنها آشنا شوید که به گسترش دانش شما در مورد رمزگذاری کمک می کند.
چندین الگوریتم رمزگذاری رایج به دلیل قدرت و امنیت آنها ترجیح داده می شود. شما احتمالاً بیشتر از آنچه فکر می کنید در مورد رمزگذاری می دانید، به خصوص برخی از نام ها.
1. استاندارد رمزگذاری داده ها (DES)
استاندارد رمزگذاری داده ها یک استاندارد اصلی رمزگذاری دولت ایالات متحده است. در ابتدا تصور می شد که نشکن است، اما افزایش قدرت محاسباتی و کاهش هزینه سخت افزار، رمزگذاری 56 بیتی را اساساً منسوخ کرده است. این به ویژه در مورد داده های حساس صادق است.
2. RSA
RSA یکی از اولین الگوریتمهای رمزنگاری کلید عمومی است. از تابع رمزگذاری نامتقارن یک طرفه که در بالا توضیح داده شد (و همچنین در قسمت اصطلاحات رمزگذاری پیوند شده در بالا) استفاده می کند.
RSA یک الگوریتم رمزگذاری برجسته است. این ویژگی اصلی بسیاری از پروتکل ها از جمله SSH، OpenPGP، S/MIME و SSL/TLS است. علاوه بر این، مرورگرها از RSA برای ایجاد ارتباطات ایمن در شبکه های ناامن استفاده می کنند.
RSA به دلیل طول کلیدش بسیار محبوب است. یک کلید RSA معمولاً 1024 یا 2048 بیت است. با این حال، کارشناسان امنیتی بر این باورند که دیری نمیگذرد که RSA 1024 بیتی کرک میشود و بسیاری از سازمانهای دولتی و تجاری را وادار به مهاجرت به کلید قویتر 2048 بیتی میکند. جالب اینجاست که توسعه دهندگان RSA در ابتدا فکر می کردند که RSA 1024 بیتی بین سال های 2006 تا 2010 کرک می شود، اما بیش از یک دهه بعد، دست نخورده باقی مانده است.
3. استاندارد رمزگذاری پیشرفته (AES)
استاندارد رمزگذاری پیشرفته (AES) اکنون استاندارد رمزگذاری مورد اعتماد دولت ایالات متحده است.
این یک الگوریتم کلید متقارن است که می تواند کلیدها را در سه اندازه مختلف تولید کند: 128، 192 یا 256 بیت. علاوه بر این، برای هر اندازه کلید، دورهای مختلفی از رمزگذاری وجود دارد. “گرد” فرآیند تبدیل متن ساده به متن رمزی است. برای 128 بیت، ده دور وجود دارد. 192 بیتی دارای 12 دور و 256 بیتی دارای 14 دور است.
AES یکی از قوی ترین اشکال رمزگذاری موجود در حال حاضر است. وقتی روی یک محصول «رمزگذاری درجه نظامی» را میخوانید، به AES اشاره میکند. در حالی که حملات نظری علیه AES وجود دارد، همه به سطحی از قدرت محاسباتی و ذخیره سازی داده نیاز دارند که در عصر کنونی غیرممکن است. اینکه چگونه رمزگذاری AES در دوران کوانتومی باقی میماند، هنوز مشخص نیست، اما بسیاری معتقدند AES-256 یک الگوریتم رمزگذاری مقاوم در برابر کوانتومی است.
آیا استفاده از رمزگذاری ایمن است؟
بدون تردید، پاسخ مثبت است.
مقدار زمان، مصرف انرژی و هزینه محاسباتی برای شکستن بیشتر فناوریهای رمزنگاری مدرن، تلاش برای شکستن رمزگذاری (بدون کلید) را به یک تمرین گرانقیمت تبدیل میکند که نسبتاً بیهوده است.
گفته میشود، رمزگذاری آسیبپذیریهایی دارد که عمدتاً خارج از قدرت فناوری است.
- درهای پشتی: مهم نیست که رمزگذاری چقدر امن است، اگر شخصی یک درب پشتی را در کد وارد کند، کسی می تواند امنیت را نفی کند. درهای پشتی رمزگذاری یک موضوع دائمی برای دولتها در سراسر جهان است که پس از هر حمله تروریستی به موضوعی داغ تبدیل میشود. دلایل متعددی وجود دارد که چرا ما هرگز نباید به دولت اجازه دهیم رمزگذاری را بشکند.
- مدیریت کلید خصوصی: رمزنگاری مدرن کلید بسیار امن است. با این حال، خطای انسانی همچنان بزرگترین عامل در اکثر مسائل امنیتی است. یک خطا در مدیریت یک کلید خصوصی می تواند آن را در معرض اشخاص خارجی قرار دهد و رمزگذاری را بی فایده کند.
- افزایش قدرت محاسباتی: با قدرت محاسباتی فعلی، شکستن اکثر کلیدهای رمزگذاری مدرن غیرممکن است. گفته می شود، با افزایش قدرت پردازش، فناوری رمزگذاری باید سرعت خود را حفظ کند تا از منحنی جلوتر بماند.
- فشار دولت: همراه با درهای پشتی رمزگذاری، برخی از دولت ها قوانین اجباری رمزگشایی را اجرا می کنند که شهروندان بازداشت شده را مجبور به تحویل کلیدهای رمزگذاری خصوصی می کند. ماهیت قوانین افشای کلید بسته به کشور متفاوت است. در ایالات متحده، متمم پنجم از شاهدان در برابر خود مجرمی محافظت می کند و افشای اجباری کلید را غیرقانونی می کند.
آیا باید از رمزگذاری استفاده کنید؟
این واقعاً موردی نیست که آیا باید از رمزگذاری استفاده کنید یا خیر. شما هر روز از رمزگذاری برای دسترسی به بانکداری آنلاین خود، ارسال پیام در واتس اپ و دسترسی ایمن به وب سایت ها بدون استراق سمع استفاده می کنید.
یک سوال بهتر برای بررسی این است که “بدون رمزگذاری چه اتفاقی می افتد؟”