رمزگذاری چگونه از اطلاعات ما محافظت میکند و آیا قابل نفوذ است؟
آشنایی با فناوری رمزگذاری
همه ما کاربران فضای مجازی در طول روز بارها و بارها از این فناوری استفاده میکنیم، بدون آنکه واقعاً بدانیم در حال بهکارگیری فناوری رمزگذاری هستیم. گوشیهای هوشمند، سرویسهای پست الکترونیکی که دسترسی به ایمیلها را امکانپذیر میسازند، ارتباطات ایمنی که بر مبنای پروتکلهای رمزنگار کار میکنند، سایتهایی که برچسب پروتکل انتقال ابرمتن را نشان میدهند، همه و همه به ما این موضوع را یادآور میشوند که دادههای ما نباید بهشکل متن خام ارسال شوند.
رمزگذاری و رمزنگاری چیست؟
اولین نکتهای که باید به آن توجه داشته باشید این است که دو واژه رمزنگاری (Cryptography) و رمزگذاری (Encryption) اطلاعات دو معنای متفاوت از هم دارند. رمزگذاری نگارش پیشرفتهتر و بهروزتر رمزنگاری اطلاعات است. این فناوری به هر کاربری اجازه میدهد تا اطلاعات خود را از دسترسیهای غیرمجاز دور نگه دارد و در واقع آنها را پنهان سازد.
یونانیان جزء اولین مللی بودند که فناوری رمزنگاری را برای پنهانسازی دادههای حساسی که در نامههای مکتوب ارسال میکردند مورد استفاده قرار دادند. آنها از یک شیوه ابتدایی رمزنگاری که بر مبنای وسیلهای شبیه به یک سیلندر کار میکرد و به آن Scytale گفته میشد، برای رمزنگاری و رمزگشایی کدها استفاده میکردند.
رمزگذاری از الگوریتمها و محاسبات ریاضی پیچیدهای بهنام سایفر برای کد کردن دادهها استفاده میکند. مکانیسمی که در عمل کاراکترهای درون فایلها را به مجموعهای از کاراکترهای مبهم که خواندن آنها نهتنها برای انسانها بلکه برای برنامههای کاربردی نیز امکانپذیر نیست تبدیل میکند. در این حالت کاربر تنها زمانی میتواند چنین اطلاعاتی را رمزگشایی و مشاهده کند که کلید مخصوص را در اختیار داشته باشد. این کلید درست نقشی همانند کلیدهای فیزیکی دارد و برای باز کردن قفل و بازگرداندن متون به حالت اولیه مورد استفاده قرار میگیرد.
دارندگان کلید رمزگشایی میتوانند کاراکترهای تصادفی را دو مرتبه به یک نوشته خام متنی تبدیل کنند. در حال حاضر در حوزه رمزگذاری اطلاعات از دو شیوه رمزگذاری کلید عمومی (نامتقارن) و رمزگذاری کلید خصوصی (متقارن) استفاده میشود. درست است که هر دو رویکرد به کاربران اجازه میدهند تا دادههای خود را رمزگذاری کنند و به این شکل مانع از آن شوند تا افراد غیرمجاز به دادههای آنها دسترسی داشته باشند، اما در عمل فرآیند رمزگذاری و رمزگشایی دو رویکرد متفاوت از هم هستند.
رمزگذاری دادهها به روش کلید عمومی
در الگوی کلید عمومی که بهنام رمزگذاری نامتقارن نیز از آن نام برده میشود، از ترکیب دو کلید عمومی و خصوصی (بر مبنای محاسبات ریاضی) برای کدگذاری اطلاعات استفاده میشود.
به طور مثال، دو کاربر به نامهای جو و کارن را تصور کنید که هر دو کلید مربوط به جعبهای را در اختیار دارند. جو کلید عمومی و کارن کلید خصوصی که بهمنظور تطابق مورد استفاده قرار میگیرد را دارد. جو میتواند از کلید خود برای باز کردن قفل جعبه استفاده و محتوایی را به آن اضافه کند، اما این توانایی را ندارد تا محتوایی که درون جعبه قرار گرفته است را مشاهده کند. در نتیجه نمیتواند هیچگونه محتوایی را بازیابی کند. در طرف دیگر این داستان کارن قرار دارد که قادر است جعبه را باز کند و محتوایی که درون جعبه قرار دارد را مشاهده و محتوایی را حذف کند. بهواسطه آنکه کلید خصوصی که برای تطابق مورد نیاز است را در اختیار دارد. با وجود این، کارن نمیتواند محتوایی را به جعبه اضافه کند، بهواسطه آنکه کلید عمومی را در اختیار ندارد.
درست مشابه مثالی که به آن اشاره داشتیم، در دنیای دیجیتال نیز همین قاعده وجود دارد. فردی که کلید عمومی در اختیار او است این توانایی را دارد تا یک متن ساده را رمزگذاری و برای کاربران دیگر ارسال کند. اما کاربران دیگر تنها از طریق داشتن کلید خصوصی که برای تطابق مورد استفاده قرار میگیرد قادر هستند پیامهای ارسال شده را رمزگشایی کنند.
در مثال یاد شده، اگر کارن در نظر داشته باشد یک متن ساده را رمزنگاری و ارسال کند، به کلید عمومی نیاز دارد. به عبارت دقیقتر، کارایی این دو کلید متفاوت از یکدیگر هستند و هیچکدام کار دیگری انجام نمیدهند.
رمزگذاری به روش کلید خصوصی
در الگوی کلید رمزگذاری خصوصی که بهنام رمزگذاری متقارن نیز از آن نام برده میشود، باز هم از دو کلید برای برقراری ارتباط استفاده میشود، اما هر دو کلید خصوصی و عمومی در اصل یکسان هستند. جو و کارن هر دو کلیدهای مربوط به جعبه را در اختیار دارند، اما کلیدهایی که هر دو در اختیار دارند عملکردی یکسان دارند. در نتیجه هر دو کاربر میتوانند از طریق کلیدهای خود محتوایی را به جعبه اضافه یا حذف کنند. در دنیای دیجیتال، جو میتواند یک پیام را رمزنگاری و رمزگشایی کند. کارن نیز میتواند همین کار را انجام دهد.
سه رویکرد سنتی رمزنگاری در دنیای قدیم (روش های قدیمی)
در حالی که یونانیان در زمینه رمزنگاری جزء پیشگامان این حوزه به شمار میروند، اما رومیها نیز در پیشبرد و تکامل فناوری رمزنگاری بیتأثیر نبودند. آنها از یک الگوی رمزنگاری خاص بهنام رمز سزار استفاده میکردند. در این الگو حروف درون نامه بهسمت حروف دیگری که پایینتر از حرف اصلی قرار داشت حرکت میکردند و جایگزین میشدند.
به طور مثال، حرف A جای خود را به D میداد، حرف B جای خود را به E میداد و این رویکرد ادامه پیدا میکرد. نکته جالب توجهی که وجود دارد این است که این الگوی رمزنگاری تا پنج سال پیش نیز از سوی یکسری سایتهای تورنت به کار گرفته میشد تا درنهایت برنامهنویسی از طریق یک برنامه ساده چند خطی که به زبان سی شارپ نوشته شده بود نشان داد این الگوریتم رمزنگاری بهسادگی قابل شکسته شدن است.
مربع Polybius
یکی دیگر از پیشرفتهای رمزنگاری در عهد یونان باستان رخ داد که روی یک شبکه ۵x5 کار میکرد که کاراکتر A در سمت چپ بالا و Z در پایین سمت راست (“J”, “I”) مربع قرار میگرفت. اعداد ۱ تا ۵ بهصورت افقی و عمودی در بالای ردیفهای بالای ستونها قرار میگرفتند. برای رمزگشایی شما به شمارهها و سپس قرار دادن درست شمارهها در این شبکه متکی بودید. به طور مثال، واژه Ball متناظر به ۱۲,۱۱,۳۱,۳۱ بود.
ماشین انیگما
دستگاهی که در جنگ جهانی دوم سر و صدای زیادی پیدا کرد، در واقع یک ماشین رمزنگاری الکترومکانیکی مبتنی بر روتور بود. این دستگاه شبیه به یک ماشین تحریر بزرگ بود که اپراتورها قادر به تایپ متون ساده در آن بودند. این دستگاه پیامها را رمزگذاری و برای واحدهای دیگر ارسال میکرد. گیرنده رشتههای تصادفی از حروف رمزنگاری شده را دریافت و در ادامه از طریق تنظیم و تطابق الگوها با کدهایی که در اختیار داشت کدها را رمزگشایی میکرد.
استاندارد رمزگذاری دادهها (DES)
استاندارد رمزنگاری دادهها (DES) اولین الگوریتم رمزگذاری متقارن متمرکز بود که برای رمزگذاری دادههای دیجیتال مورد استفاده قرار گرفت. این استاندارد اولین بار در دهه ۷۰ میلادی از سوی آیبیام توسعه پیدا کرد و در سال ۱۹۷۷ بهعنوان یک استاندارد پردازش و رمزگذاری اطلاعات از سوی ایالات متحده در قالب یک فناوری مدرن رمزنگاری اطلاعات به کار گرفته شد.
فناوریهای رمزگذاری جدید (روش های مدرن)
فناوریهای رمزگذار مدرن امروزی از الگوریتمهای اغواگرانهای همراه با کلیدهایی که اندازهای طولانی داشته و در نتیجه فرآیند شکستن کدها و دسترسی به دادهها را سخت میکنند استفاده میکنند. اندازه بزرگ دادهها باعث شده است تا حملاتی نظیر یک حمله جستوجوی فراگیر بهمنظور شکستن کدها و رمزگشایی در عمل راه به جایی نبرد. با توجه به اینکه اندازه کلیدها بهطور مستمر بهبود پیدا کرده است، در نتیجه مدت زمانی که برای شکستن رمزگذاری از طریق یک حمله هکری سپری میشود، در عمل طولانی خواهد شد.
به طور مثال، در حالی که یک کلید ۵۶ بیتی در ظاهر تفاوت چندانی با کلید ۶۴ بیتی ندارد، ولی در عمل باز کردن قفل یک کلید ۶۴ بیتی ۲۵۶ مرتبه سختتر از کلید ۵۶ بیتی است. در اکثر الگوریتمهای رمزنگاری امروزی از حداقل کلیدهای ۱۲۸ بیتی استفاده میشود و در بعضی موارد نیز از کلید ۲۵۶ بیتی یا بیشتر برای رمزگذاری دادهها استفاده میشود.
به طور مثال، پروتکل رمزنگاری WPA3 که قرار است اواخر سال جاری میلادی دستگاههایی بر مبنای آن به بازار عرضه شود، وعده داده است که از کلیدهای ۱۹۲ بیتی برای رمزگذاری دادهها استفاده کند. اگر هکری در نظر داشته باشد یک کلید ۱۲۸ بیتی را بشکند، باید یک حمله جستوجوی فراگیر را پیادهسازی کند و در عمل ۳۳۹,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰ کلید مختلف را حدس بزند. در این حالت هکر تقریباً به یک میلیون سال زمان نیاز دارد تا بتواند ترکیب درست را حدس بزند. در نتیجه کمی دور از عقل به نظر میرسد که فردی در نظر داشته باشد از یک روش ساده برای شکستن کلیدهای ۱۲۸ بیتی یا بالاتر استفاده کند.
الگوریتم ۳DES
استانداردهای رمزگذاری دادهها از زمانی که DES اولین با در سال ۱۹۷۷ به تصویب رسید تا به امروز تغییرات بسیاری را تجربه کردهاند. این تحولات درنهایت باعث شد تا فناوری رمزنگاری مدرن
Triple DES که بهنام ۳DES شناخته میشود، جایگزین DES شود. در حالی که فناوری DES تنها محدود به ۵۶ بیت بود، اما اندازه کلیدها در ۳DES برابر با ۱۶۸ بیت بودند. طولانی شدن اندازه کلیدها باعث شد تا در عمل شکستن کدها به فرآیندی دشوار و وقتگیر تبدیل شود.
الگوریتم AES
استاندارد رمزگذاری پیشرفته (AES) یک استاندارد رمزنگاری متقارن است که بر اساس رمزگذاری بلوک سایفر ریندال (Rijndael) کار و برعکس استاندارد DES که از رمزگذاری فیتسل استفاده میکند، از ریندال استفاده میکند. به طوری که اندازه بلاک ثابت ۱۲۸ بیتی و اندازه کلیدهای ۱۲۸، ۱۹۲ و ۲۵۶ بیتی دارد.
AES بهعنوان وارث استاندارد DES امروزه در سراسر جهان به کار گرفته میشود. در حالی که گزارشهایی از دستیابی هکرها به روشهای سریعی برای شکستن کدها منتشر شده است، با وجود این فناوری AES هنوز هم بهعنوان یک فناوری رمزگذاری نفوذناپذیر مورد استفاده قرار میگیرد.
این فناوری بهواسطه آنکه سرعت بالایی دارد و حافظه اصلی کمی را مورد استفاده قرار میدهد، گزینه ایدهآلی برای استفاده در برنامههای کاربردی به شمار میرود. اگر از یک کامپیوتر مک و ابزار رمزگذاری محبوب FileVault در آن استفاده میکنید، باید بدانید این برنامه از استاندارد AES استفاده میکند.
الگوریتم رمزنگاری RSA
RSA یکی از اولین الگوریتمهای رمزنگار نامتقارن برای انتقال دادهها است. این الگوریتم اولین بار در سال ۱۹۷۷ میلادی معرفی شد و از کلیدهای عمومی با دو عدد اول بزرگ و یک رقم کمکی برای رمزگذاری یک پیام استفاده میکند. هر شخصی که کلید عمومی را در اختیار داشته باشد، قادر است پیامها را رمزگذاری کند، اما تنها فردی که اعداد اول مربوط به کلید دوم را در اختیار داشته باشد قادر است اطلاعات را رمزگشایی کند.
RSA درهای متعددی را به روی پروتکلهای رمزگذاری همچون امضای دیجیتال و حتی رأیگیری الکترونیکی باز کرد. حتی در فناوریهای متن بازی همچون PGP نیز نشانههایی از بهکارگیری RSA را مشاهده میکنید. این الگوریتم بهعنوان بهترین الگوی رمزنگار شناخته میشد تا اینکه در سال گذشته میلادی آسیبپذیری کتابخانه رمزگذاری و بازیابی کلیدهای خصوصی RSA نشان داد این الگوریتم دیگر نفوذناپذیر نیست.
الگوریتم ECC
بدون اغراق باید بگوییم الگوریتم رمزگذاری ECC معروف به رمزگذاری منحنی بیضوی هنوز هم بهعنوان یکی از قویترین و کمتر شناخته شدهترین الگوریتمهای حال حاضر جهان است. این الگوریتم نهتنها سرعت بالایی دارد، بلکه کارایی بسیار بالایی داشته و قادر است سطح بالایی از ایمنی را در قالب ارائه مجموعه کلیدهای کوچکی ارائه کند.
استانداردهای عملکردی بالای این الگوریتم که بر مبنای الگوی منحنی بیضوی کار میکنند، به شرکتها اجازه داده است تا از این الگوریتم در سامانههای توکار همچون کارتهای هوشمند استفاده کنند. الگوریتم ECC بهعنوان جایگزینی برای الگوریتم RSA به کار گرفته میشود.
لازم به توضیح است آیبیام نیز از اواسط تابستان سال ۲۰۱۷ میلادی مینفریمهای جدیدی را به بازار عرضه کرد که بر مبنای رمزگذاری فراگیر کار میکنند. مینفریمهایی که از الگوریتمهای رایج از جمله ECC بهره میبرند.
الگوریتمهای رمزگذاری تا چه حد ایمن هستند؟
در شرایط خاص باید بگوییم هیچ الگوریتمی شکستناپذیر نیست. اگر شما زمان زیادی را صرف کنید، انرژی (مصرف برق) زیادی را به کار ببرید و هزینه بالایی در این خصوص انجام دهید، این شانس را دارید که بتوانید مدرنترین فناوریهای رمزگذار را بدون در اختیار داشتن کلید مغلوب سازید. اما همان گونه که ممکن است حدس زده باشید این کار فرآیندی است که ارزش چندانی نداشته و در کل بیهوده است. اما فناوریهای رمزگذار بهواسطه آسیبپذیریهایی که در نرمافزارها وجود دارد ممکن است راه نفوذ را هموار سازند. از جمله این آسیبپذیریها به موارد زیر میتوان اشاره کرد.
در پشتی
فرقی نمیکند شما از چه الگوریتم قدرتمند رمزگذاری استفاده کرده باشید، همواره درهای پشتی (Backdoor) وجود دارند که دسترسی به کلیدهای خصوصی را امکانپذیر میسازند. درهای پشتی راهکارهایی هستند که به توسعهدهندگان اجازه میدهند به بخشهای مختلفی از یک نرمافزار (کاربردی یا سیستم عامل) دسترسی پیدا کنند.
کلیدهای خصوصی به کار گرفته شده
بهلحاظ تئوری و ریاضی الگوریتمهای رمزگذار ایمن هستند، اما بعضی از کاربران اطلاع کمی درباره اهمیت کلیدهای خصوصی دارند. اگر شما از یک کلید خصوصی در محیطی که ایمن نبوده استفاده یا کلید خصوصی را گم کنید، این احتمال وجود دارد که افراد غیرمجاز بتوانند به اطلاعات رمزگذاری شده دست پیدا کنند.
قدرتمند شدن تجهیزات محاسباتی
در حال حاضر تجهیزات سختافزاری رایج این توانایی را ندارند تا الگوریتمهای رمزنگار مدرن را مغلوب سازند. اما با توجه به پیشرفتهای انجام گرفته در عرصه سختافزار بهویژه ارائه کارتهای گرافیک قدرتمند این احتمال وجود دارد تا فناوریهای رمزنگاری امروزی مغلوب شوند.
دیدگاهتان را بنویسید