برای مشاهده ادامه خبر به ادامه مطلب مراجعه کنید
اما واقعیت این است که هر زمانی که بشر قصد داشته چیزی را هنگام انتقال، از دید کسی پنهان کند یا طوری تغییر دهد که در هنگام کشف، مفهوم نباشد، میتوان آن را نقطه آغاز رمزنگاری دانست.
پیش از آغاز بحث لازم است توضیح دهیم که در متون مختلف گاهی «رمزگشایی» و «شکستن رمز» در یک مفهوم به کار میروند که هر دو به معنای بازگرداندن پیام به حالت اول، اما بدون در اختیار داشتن کلید و اغلب به صورت غیرقانونی است. در تعریفی دیگر، «بازگردانی» و باز همان واژه «رمزگشایی» برای بازگرداندن متعارف پیام به حالت عادی به صورت متعارف و با استفاده از کلید که معمولاً به صورت قانونی، توسط مالک یا افراد مجاز انجام میشود، به کار میرود. برای جلوگیری از ابهام، ما در این متن سعی کردهایم برای مفهوم دوم از واژه رمزگشایی استفاده نکنیم و «بازگردانی» را به کار ببریم.
یکی از مهمترین و مشهورترین رمزنگاریها به زمان جنگ جهانی دوم و ماشین انیگما باز میگردد. این ماشین که در اواخر جنگ جهانی اول توسط یک مهندس آلمانی اختراع و در جنگ جهانی دوم نیز استفاده شد، جزء نخستین نمونههایی بود که رمزنگاری را فراتر از قلم و کاغذ برده و به صورت الکترومکانیکی انجام میداد. به این ترتیب که ابتدا از میان یک مجموعه چرخدنده که با گرداندن آنها یک حرف انتخاب میشد، سه چرخدنده به تصادف انتخاب میشد (شکل1) و با توجه به حروف انتخابی آنها، هر حرف از پیام بین 7 تا 9 بار تغییر میکرد تا به یک حرف دیگر نگاشت پیدا کند. در سمت دیگر، تنها کسی میتوانست پیام را به حالت اول بازگرداند که از وضعیت ماشین در زمان ارسال اطلاع داشته باشد. در غیر این صورت، بازگرداندن پیام به حالت اول بسیار مشکل بود. آلن تورینگ، پدر علم کامپیوتر، کسی بود که برای نخستین بار موفق به شکستن رمز این ماشین شده و نقطهای پررنگ در تاریخ رمزگشایی ایجاد کرد. در عصر حاضر، پس از گذشت سالها از آن زمان، با این که رمزنگاری تغییرات بسیاری از نظر ساختاری و کاربردی داشته است، اما از نظر بنیادی از همان مفاهیم استفاده میکند. امروز انیگما جای خود را به دهها الگوریتم کوچک و بزرگ داده و کلیدهای خصوصی و عمومی جایگزین گردونههای انیگما شدهاند. ممکن است در آینده نیز ابزارهای دیگری جای کلیدهای خصوصی و عمومی را بگیرند. حتی شاید موقعیت یا شرایط یک سیستم حکم کلید آن را داشته باشد. اما میتوان گفت مفهوم کلی کلید در رمزنگاری مفهومی است که تا زمان حیات علم رمزنگاری باقی خواهد ماند و تنها، جنس یا روش بهکارگیری آن دستخوش تغییر خواهد شد.
"مفهوم کلی کلید در رمزنگاری، مفهومی است که تا زمان حیات علم رمزنگاری باقی خواهد ماند و تنها، جنس یا روش بهکارگیری آن دستخوش تغییر خواهد شد." |
در
عصر جدید روشهای مدرن رمزنگاری با بهرهگیری گسترده از علوم ریاضی،
کامپیوتر و الکترونیک، وسعت کاربرد این فناوری را بی انتها ساخته است.
الگوریتمهای بسیاری نیز با همان ایده تعیین کلید و محرمانه نگه داشتن آن
برای طرفین ، یکی برای رمزنگاری و یکی برای بازگردانی طراحی شده است. اما
با توجه به این که توان پردازشی کامپیوترها بسیار رشد کرده، طراحان این
الگوریتمها به این نکته واقف هستند که در صورت کوتاه بودن اندازه کلید،
میتوان با استفاده از روش brute force و تولید تمام حالتهای ممکن، به
راحتی آن را شکست. البته برخلاف تصور بسیاری از افراد، میزان امنیت یک روش،
با این که هرگز بیشتر از اندازه کلید آن نیست اما لزوماً برابر با آن نیز
نیست. چراکه الگوریتمهای مختلفی وجود دارند که با گذشت زمان اثبات شده
میزان امنیت آنها بسیار کمتر از چیزی است که از تعداد بیتهای کلید آن
انتظار میرفته است. با این حال،
مستقل از اندازه کلید، اشکالی که در این روشها (که به الگوریتمهای کلید
خصوصی معروف هستند) وجود دارد، لزوم حفظ کلید برای هر دوطرف یک رابطه است.
اشکالی که با مطرح شدن الگوریتمهای کلید عمومی تا حد زیادی بهبود یافت.
با
این که مفهوم رمزنگاری با کلید عمومی از سال 1975 مطرح شده بود، اما در آن
زمان کسی نمیدانست چگونه باید آن را پیادهسازی کند. رونالد ریوست (Ronald
L. Rivest)، آدی شمیر (Adi Shamir) و لئونارد آدلمن
(Leonard M. Adleman) کسانی بودند که در سال ۱۹۷۸ برای نخستینبار روشی
تحت عنوان RSA را مطرح کردند که رمزنگاری با کلید عمومی را از حالت مفهومی
به یک روش عملی قابل پیادهسازی تبدیل کرد و به واسطه آن جایزه تورینگ سال
۲۰۰۲ را که از جمله معتبرترین جوایز جهان در علوم کامپیوتر است، از آن خود
ساختند. این الگوریتم از جمله توانمندترین الگوریتمهایی است که به
الگوریتم شکستناپذیر معروف شد و در حال حاضر نیز به طور گسترده از آن
استفاده میشود. برای شکستن این الگوریتم لازم است مضارب اول یک عدد بسیار
بزرگ پیدا شود که این کار بسیار مشکل و زمانبر است. اما در حال حاضر
استفادهکنندگان RSA باید با آگاهی از میزان آسیبپذیری این روش، از آن
استفاده کنند؛ چراکه دیگر این روش نیز شکستناپذیر نیست.
در
سال 2010 تیمی متشکل ازمتخصصان شرکت NTT ژاپن، دانشگاه بن آلمان و شرکت
مایکروسافت موفق شدند با استفاده از یک الگوریتم جدید و بهکارگیری کلاستری
از کامپیوترهای شخصی تقویت شده، الگوریتم شکستناپذیر 768-bit RSA را
بشکنند و به این ترتیب، ترس از ناامنی را در محیط وب افزایش دهند. پیش
از این، تصور میشد که برای شکستن این الگوریتم روی یک کامپیوتر شخصی با
توان متوسط، حدود 1500 سال زمان نیاز است و در نتیجه آن را شکستناپذیر
تصور میکردند. اما با شکست آن، نگرانیها برای امنیت ارتباطاتی از وب که
بر پایه SSL هستند، افزایش یافته و دیگر برای برقراری امنیت در ارتباطات
مهم و نیازمند امنیت بالا استفاده از این الگوریتم توصیه نمیشود. البته
این تیم معتقد است 1024-bit RSA که فضای کلید بزرگتری دارد و اغلب در وب
امروزی از آن استفاده میشود، همچنان میتواند در برابر حملات اینچنینی
دوام بیاورد. اما به دولتها و سازمانها توصیه کرده است که به فکر روش
جایگزینی برای خود باشند زیرا 1024-bit RSA نیز به احتمال زیاد تا سه چهار
سال آینده شکسته خواهد شد.
با
این که میتوان 2048-bit RSA را که فضای کلید بسیار بزرگتری دارد، جایگزین
نسخه 1024 بیتی کرد و انجام این کار نیز چندان دور از انتظار نیست، اما به
نظر میرسد این کار بیشتر به وصله و پینه زدن شبیه است و پس از مدتی آن
نیز شکسته خواهد شد. بنابراین باید چاره اساسیتری اندیشید. به گفته ریوست
نیز، پیدا کردن مضارب اول یک عدد بزرگ لزوماً مشکل نبوده و میتواند بسیار
ساده باشد و شاید روزی فردی پیدا شود که روشی برای این کار ارائه کند. در
این صورت تمامی شرکتها و سازمانهایی که از این روش استفاده میکنند، باید
خیلی سریع سیستم رمزنگاری خود را تغییر دهند.
رویکردی دیگر
در
رمزنگاری نوین رویکرد دیگری نیز مطرح است که طی آن، امکان بازیابی
(recovery) اطلاعات در مواقع اضطراری وجود خواهد داشت. ایده کار به این
صورت است که یک الگوریتم رمزنگاری قدرتمند با یک قابلیت بازگردانی اضطراری
ترکیب میشود. این کار با استفاده از ارتباط یک کلید کشف داده با داده
رمزنگاری شده انجام میشود که میتواند بازگردانی را آسان کند. نیازی نیست
کلید بازیابی همان کلید بازگردانی معمول باشد و اغلب نیز چنین نیست. اما
باید به آن کلید دسترسی داشته باشد. در انتها کلید بازیابی داده به یک امین
سپرده میشود که میتواند یک ارگان دولتی معتبر، دادگاه یا حتی یک سازمان
خصوصی ضمانتشده باشد. البته ممکن است این کلید بین چند سازمان نیز تقسیم
شود.
روش
یادشده زمانی مطرح و به کار گرفته میشود که مانعی برای بازگردانی قانونی
یک ارتباط یا یک سری اطلاعات برای مراجع قانونی یا مامورین ذیصلاح دولتی
وجود نداشته باشد. به این ترتیب، در مواقع اضطراری میتوان از مجرای
قانونی، یک ارتباط را کنترل کرده یا به جستوجو در فایلهای یک سیستم
پرداخت. از جمله این موارد میتوان به ارتباطات و تراکنشهای بانکی و سوابق
مربوط به امور مالی و خزانهداری اشاره کرد که در مواقع لزوم نباید منعی
برای دسترسی مراجع قانونی به آن وجود داشته باشد. این رویکرد تا حد زیادی
بر امنیت رمزنگاری میافزاید اما هرگز دلیلی بر شکستناپذیری آن نخواهد
بود.
برخی فاکتورهای غنیسازی الگوریتمها
امروز
که رمزنگاری به یک دانش نوین تبدیل شده و رمزگشایی به عنوان یک تخصص مطرح
است، اگر همچنان از روشهای قدیمی استفاده شود یا برای روشهای جدید تفکر
برتری صورت نگیرد، روش ارائه شده ارزشی نخواهد داشت چراکه متخصصان با
داشتن تجربههای شکست روشهای پیشین قادر خواهند بود روش جدید را نیز مغلوب
سازند.یکی از فاکتورهای غنیسازی
الگوریتمهای رمزنگاری، استفاده توأم از نرمافزار و سختافزار است. به
عنوان مثال، در رابطه با روشی که در بخش قبل توضیح دادیم، اگر کلید را در
یک تراشه پیچیده جاسازی کنیم و به معتمد بسپاریم امکان لو رفتن را کاهش
داده یا دسترسی خارجی از طریق نفوذ شبکهای را غیرممکن ساختهایم. این روش
در حال حاضر کاملاً عملیاتی بوده و در بسیاری از مراکز معتبر دنیا مورد
استفاده قرار میگیرد.
شکل۱: نمونه ماشین انیگما
مورد
دیگری که در روشهای رمزنگاری مدرن حائز اهمیت است، مقاومت در برابر تخریب
است. گاهی یک پیام طوری رمزنگاری میشود که بازگردانی هر بخش آن، به کل
پیام وابسته خواهد بود. بنابراین کوچکترین تغییر در بخشی از پیام منجر به
این خواهد شد که کل پیام از بین برود و حتی با کلید آن نیز دیگر قابل
بازگردانی نباشد. از طرف دیگر برخی
الگوریتمها نسبت به تغییر مقاوم هستند و در صورتی که بخشی از پیام از بین
برود تنها همان بخش از دست خواهد رفت و سایر بخشها قابل بازگردانی خواهند
بود. البته در شرایط کلی هیچیک از این دو حالت بر دیگری برتری نخواهد
داشت و برتری را شرایط تعیین خواهد کرد. به عنوان مثال، اگر در یک ارتباط
اینترنتی امن بخشی از پیام ناپدید شود، باید این قابلیت وجود داشته باشد که
سایر بخشها مستقل از بخش از بین رفته قابل بازگردانی و استفاده باشند. از
طرف دیگر اگر یک دیسک پر از اطلاعات محرمانه، با استفاده از یک الگوریتم
رمزنگاری شده باشد، هرچه الگوریتم به تخریب حساستر باشد در صورت سرقت دیسک
میتوان با سرعت بیشتری اطلاعات سرقتشده را نابود کرد.
به
عنوان مثال، در سناریویی فرضی و اغراقآمیز، لپتاپی را در نظر بگیرید که
تمام یک ترابایت اطلاعات محرمانه هارددیسک آن توسط یکی از این الگوریتمهای
حساس به تخریب، رمزنگاری شده باشد. در نتیجه اگر یک نرمافزار مکمل مقیم
حافظه بتواند سرقت آن لپتاپ را تشخیص دهد، باید بتواند در کمترین زمان
ممکن کل اطلاعات را منهدم کند. حال اگر این نرمافزار مکمل، با قویترین
الگوریتمهای تخریب اطلاعات مانند روش gutmann بتواند دو کیلوبایت ابتدایی
این اطلاعات را به نحوی غیر قابل بازگشت تخریب کند، در کوتاهترین زمان
ممکن حتی بدون جلب توجه سارق، تمام اطلاعات بدون استفاده خواهد شد که البته
میزان بدون استفادهشدن اطلاعات باقیمانده به قدرت الگوریتم حساس به
تخریب، وابسته خواهد بود و طراحی الگوریتمی با این میزان حساسیت به تخریب،
کاری بسیار مشکل است. به هر حال، اگر الگوریتم رمزنگاری استفاده شده این
توانایی را نداشته باشد، برای تخریب کل اطلاعات زمان بسیار زیادی لازم
خواهد بود که در بهترین حالت حتی شارژ کامل باتری لپتاپ جوابگوی آن
نخواهد بود، چه برسد به زمانیکه سارق هوشیارانه عمل کرده و بعد از خاموش
کردن سیستم، هارددیسک آن را برای بازبینی و رمزگشایی به کامپیوتر خود متصل
کند.
پارسا ستوده نیا
ماهانه شبکه