برای بعضی ها احتمالا واژه رمزگذاری (Encryption) یادآور فیلم جیمزباند و شخصیت منفی بزرگی باشد که با وارد کردن کدهایی عجیب و غریب می خواهد جهان را به هم بریزد. اما در حقیقت خیلی از ما روزانه و بدون آنکه بدانیم از این تکنولوژی استفاده می کنند.
در دنیای امروزی که امنیت حرف نخست را می زند، تقریبا تمام دیوایس ها و اپلیکیشن هایی که روزانه با آن ها سر و کار داریم از همین تکنولوژی کمک می گیرند. اما اصلا رمزگذاری چیست و آیا می توان به آن اطمینان کرد؟ تا پایان همراه ما باشید تا جواب این سوال را بگیرید.
فهرست مقاله
Toggleرمزگذاری چیست؟
رمزگذاری در واقع نسخه مدرن شده سیستم رمزنگاری (Cryptography) است که به کاربر این اجازه را می دهد تا اطلاعاتش را پنهان کند. این تکنولوژی از الگوریتم پیچیده ای به نام سایفر (Cipher) استفاده می کند که به وسیله آن، داده ها به یک سری کاراکترهای تصادفی غیر قابل خواندن تبدیل می شوند که تنها در صورت داشتن یک کلید مخصوص کاربر می تواند قفل را شکسته، متن را به حالت عادی برگردانده و آن ها را بخواند.
به عبارت دیگر کسانی که کلید دارند می توانند این کاراکترهای تصادفی را دوباره به یک نوشته ساده برگردانند. در دنیای اطلاعات امروزی، دو روش رمزگذاری معمول با نام های رمزگذاری عمومی (نامتقارن) و رمزگذاری خصوصی (متقارن) وجود دارد که هر چند هر دو این الگوها به کاربران اجازه می دهند تا با رمز گذاشتن روی داده ها آن ها را از چشمان بقیه پنهان کنند ولی دارای تفاوت هایی نیز با یکدیگر هستند.
رمزگذاری با کلید عمومی (Public Key Encryption)
در رمزگذاری با کلید عمومی که به رمزگذاری نامتقارن هم مشهور است از دو کلید استفاده می شود: کلید عمومی و کلید خصوصی. کلید عمومی نوشته ها را رمزگذاری می کند و با کلید خصوصی می توان همین نوشته را رمزگشایی نمود. برای درک بهتر این مسئله فرض کنید که جویی و کارن هر دو کلید یک صندوق را دارند.
علت استفاده از نام متقارن برای رمزگذاری با کلید عمومی به این خاطر است که از دو کلید «متفاوت» استفاده می شود
کلید جویی عمومی بوده و کلید کارن هم خصوصی است. اکنون جویی می تواند با کلیدش در صندوق را باز کند و چیزهایی که می خواهد را اضافه کند ولی اجازه ندارد وسیله هایی که قبلا در صندوق قرار گرفته را نمی تواند ببیند یا حتی بردارد. در صورتی که کارن با کلیدش قابلیت این را دارد اشیاء درون صندوق را دیده و هر کدام را که خواست حذف نماید.
در دنیای دیجیتال همین مسئله دیده می شود. کسی که کلید عمومی دارد، می تواند نوشته ای ساده را رمزگذاری کرده و برای بقیه بفرستد اما تنها با داشتن کلید خصوصی می توان پیام ها را رمزگشایی کرد. البته در این مثال، کارن اگر بخواهد یک نوشته ساده را رمزنگاری نموده و بفرستد باید از کلید عمومی استفاده کند؛ کارایی دو کلید کاملا متفاوت هستند و هیچکدام کار دیگری را انجام نمی دهد.
رمزگذاری با کلید خصوصی (Private Key Encryption)
بزرگترین تفاوت رمزگذاری با کلید خصوصی و رمزگذاری با کلید عمومی در نوع کلیدها است. در رمزگذاری با کلید خصوصی همچنان از دو کلید برای ارتباط استفاده می شود ولی هر دو آن ها اساسا یکسان هستند. جویی و کارن مثال بالا را در نظر بگیرید، اکنون آن ها دو کلید مشابه برای یک صندوق دارند که هر کدام یک کار انجام می دهند. بنابراین با هر دو کلید می توان چیزهایی را به صندوق اضافه یا حذف کرد. به بیان دیجیتالی، جویی با کلیدش هم می تواند یک پیام را رمزگذاری
تکنولوژی های مدرن رمزگذاری و مهمترین الگوریتم های آن
با پیچیده تر شدن الگوریتم ها در رمزگذاری مدرن، اندازه کلیدها نیز افزایش پیدا کرده تا دسترسی به داده های رمزگذاری شده سخت تر بشود. اگر هکرها از روش «حمله غیر هوشمندانه» استفاده کنند، به خاطر پیشرفت کلیدها و بزرگ تر شدن شان آن ها باید میلیون ها حدس بزنند تا در نهایت جواب رمز را پیدا نمایند.
به عنوان نمونه کلید ۵۶ بیتی به نظر تفاوت چندانی با کلید ۶۴ بیتی ندارد ولی در اصل باز کردن قفل یک کلید ۶۴ بیتی ۲۵۶ بار سخت تر از کلید ۵۶ بیتی است. در خیلی از رمزگذاری های امروزی، حداقل از کلیدهای ۱۲۸ بیتی استفاده می شود و در بعضی موارد این رقم به ۲۵۶ بیت و بیشتر نیز می رسد.
بنابراین برای کرک کلیدهای جدید باید ۳۳۹٫۰۰۰٫۰۰۰,۰۰۰٫۰۰۰٫۰۰۰٫۰۰۰٫۰۰۰٫۰۰۰٫۰۰۰٫۰۰۰٫۰۰۰ حدس متفاوت زده شود. کاری که بیش از یک میلیون سال طول می کشد تا در نهایت ترکیب درست حدس زده شود. به بیان ساده تر، از لحاظ تئوری معقول نیست که کسی بخواهد رمزگذاری های ۱۲۸ بیتی یا بیشتر را با روش حمله غیر هوشمندانه کرک کند.
الگوریتم Triple DES
از زمان معرفی الگوریتم دی ای اس، استانداردهای رمزگذاری دستخوش تغییرات گوناگونی شده اند. همین تغییرات هم باعث شد تا در سال ۱۹۹۸ و بیست و یک سال بعد از عرضه الگوریتم دی ای اس، کمپانی سازنده از الگوریتم جدیدی تحت عنوان تریپل دی ای اس استفاده کند.
هر چند تکنولوژی اولیه دی ای اس محدودیت هایی داشت و از کلیدهای ۵۶ بیتی استفاده می کرد اما در تریبل دی ای اس اندازه کلیدها به ۱۶۸ بیت افزایش یافته که کرک کردن شان را خیلی سخت تر می کند. در صنعت پرداخت الکترونیکی از این الگوریتم استفاده می شود.
الگوریتم AES
در سال ۱۹۹۸ الگوریتم دی ای اس شکسته شد و سه سال بعد ایالات متحده آمریکا آ ای اس (استاندارد رمزنگاری پیشرفته) را به عنوان جایگزین آن انتخاب کرد. هر چند گزارشاتی مبنی بر دستیبایی بعضی هکرها به روش های سریع تر از حمله غیرهوشمندانه به دست رسیده ولی همچنان تکنولوژی AES غیر قابل نفوذ است.
به همین خاطر هم دولت آمریکا برای بعضی بخش های امنیتی خود از همین تکنولوژی کمک می گیرد. البته AES به علت مصرف رم کمتر و سرعت بالایش گزینه خوبی برای سازندگان اپلیکیشن ها نیز به حساب می آید. FileVault از جمله برنامه هایی محبوبی به شمار می رود که از آ ای اس استفاده کرده است.
الگوریتم RSA
از آر اس ای به عنوان یکی از بزرگترین پیشرفت ها در زمینه رمزنگاری یاد می شود. این روش ابتدا در سال ۱۹۷۷ مطرح شد و از کلیدی عمومی با دو رقم بزرگ و یک رقم کمکی استفاده می کند. هر کسی که کلید عمومی را داشته باشد، می تواند پیام ها را رمزگذاری کند ولی برای رمزگشایی اطلاعات شخص حتما باید رقم کمکی کلید را بدانید.
آر اس ای جزو نخستین الگوریتم های رمزنگاری متقارن است
با وجود اینکه از معرفی تکنولوژی آر اس ای سال ها می گذرد ولی همچنان از این روش در تبادل الکتریکی اطلاعات و رای گیری رمزنگاری شده استفاده می گردد. در بعضی تکنولوژی های متن باز همانند PGP نیز ردپاهایی از آر اس ای برای رمزگذاری داده های دیجیتالی دیده می شود.
الگوریتم ECC
امروزه ای سی سی (رمزنگاری منحنی بیضوی) به عنوان یکی از قدرتمندترین و پیچیده ترین ترین تکنولوژی های رمزگذاری است. به خاطر سرعت بالا و عملکرد خوب این تکنولوژی، حتی از آن در سیستم های کوچک تر نیز می توان استفاده کرد. آژانس امنیت ملی ایالات متحده آمریکا از بزرگترین پشتیبانان ECC است و در حال حاضر از این تکنولوژی به عنوان جایگزین الگوریتم RSA یاد می شود.
آیا می توان الگوریتم های رمزگذاری را شکست داد؟
از لحاظ امنیتی بگذارید خیال تان را راحت کنیم، رمزگذاری کاملا امن است. به واسطه هزینه، انرژی مصرفی و زمانی که هکرها برای باز کردن قفل های رمزنگاری باید استفاده کنند شکستن رمزگذاری ها (بدون داشتن کلید) کار سخت و گرانی است. با این وجود همچنان راه هایی برای نفوذ به الگوریتم های رمزگذاری وجود دارد که البته ارتباط خاصی هم به تکنولوژی های امروزی ندارد.
۱ – در پشتی (Backdoor): مهم نیست که الگوریتم رمزگذاری شده چه قدر امنیت دارد، همیشه در پشتی می تواند دسترسی به کلید خصوصی را فراهم کند. در پشتی راهی است که بدون اجازه گرفتن می توان به بخش های مشخصی دسترسی پیدا کرد.
۲ – استفاده از کلیدهای خصوصی: هر چند تکنولوژی های مدرن رمزگذاری امن هستند ولی بعضی ها خیلی روی این مسئله حساب باز نمی کنند. اگر در خارج از محدوده امن از کلید استفاده شده یا حتی کلید گم شود، احتمال دسترسی بقیه به اطلاعات رمزگذاری شده وجود دارد.
۳ – افزایش قدرت محاسباتی: با توجه به تکنولوژی های کنونی، شکستن قفل الگوریتم های رمزگذاری کار تقریبا غیرممکنی است ولی با پیشرفت سخت افزارها احتمال دست یابی به اطلاعات رمزگذاری شده هست. بنابراین تکنولوژی رمزگذاری باید سعی کند تا خودش را روز نگه دارد.
۴ – فشار دولت ها: به خاطر بعضی مسائل سیاسی، گاهی اوقات دولت ها به کمپانی ها فشار می آورند تا داده های رمزگذاری شده را در اختیارشان قرار دهد.