از زمان ظهور کامپیوترهای جدید همواره با مسالهی رمزنگاری روبهرو بودهایم. بنابراین وجود اولین کامپیوترهای قابل برنامهنویسی در جنگ جهانی دوم (Colossus) برای رمزگشایی پیغامهای جنگ چندان هم تصادفی نبوده است.
رمزنگاری به معنای استفاده از رمزهای مخصوص در پیغامهاست؛ به این شکل که خواندن این مطالب بدون به کاربردن کلید رمزگشا (تراشه) یا محاسبات ریاضی امکانپذیر نیست. هرچه طول تراشه (تعدادبیتها) بیشتر باشد حل معما سختتر خواهدبود. با وجود آنکه شکستن بسیاری از رمزها به شکل عملی امکان پذیر نیست، با صرف زمان و نیروی پردازش کافی تقریبا میتوانیم همهی رمزها را در بررسیهای تیوری حل کنیم.
برنادر پارسن، مدیر ارشد بخش فناوری شرکت امنیت نرمافزار BeCrypt، در اینباره توضیح میدهد که دو روش اصلی رمزگذاری مجزا وجود دارد. روش رمزنگاری متقارن که به دوران امپراطوری روم برمیگردد و رمزنگاری نامتقارن که قدمت چندانی ندارد.
در رمزنگاری متقارن یک فایل (برای مثال برای حفظ اطلاعات ذخیره شده در یک لپتاپ در ماجرای سرقت) از یک تراشهی منفرد برای رمزگذاری و رمزگشایی اطلاعات استفاده میشود. پارسن میگوید: ”با افزایش درک عمومی نسبت به فعالیتهای رمزشناسی، الگوریتمهای زیادی مبتنی بر مسایل پیچیدهی ریاضی به این حوزه سرازیر شد.“
قبل از هر چیز باید بدانیم که این مسایل با استفاده از روشهای معمول محاسبه قابل حل نیستند. همچنین بیان این نکته ضروری است که تنظیم این مسایل نه تنها به مهارتهای خاصی در حوزهی ریاضیات نیازمند است بلکه برای جلوگیری از بروز مشکلات به هنگام مبادلهی فایلها، گروههای مختلف باید برای استفاده از الگوریتمهای مشابه رمزنویسی و رمزگشایی با یکدیگر توافق داشته باشند.
درنتیجهی این محاسبات و با ظهور کامپیوترهای مدرن در اواسط دههی ۷۰ استانداردهای این رشته به بازار معرفی شد. از اولین استانداردها میتوانیم به استاندارد رمزنگاری اطلاعات (DES)، الگوریتمی که از تراشههایی به طول ۵۶ بیت استفاده میکند، اشاره کنیم. در آن زمان بانکها از DES در دستگاههای خودکار تحویل پول استفاده میکردند، اما با افزایش قدرت پردازش، DESهای سهتایی جای آنها را گرفتند. DESهای سهتایی اطلاعات مشابه را سه بار و با استفاده از الگوریتم DES اجرا میکردند، به این ترتیب عملکرد آنرا تضمین میکردند.
پارسن میگوید: ”در اواخر دههی ۸۰ شیوهی فعالیت DESهای سهتایی زیر سوال قرار گرفت. یک روش رمزنویسی جدید به نام AES (استاندارد رمزنویسی پیشرفته) در سال ۲۰۰۱ پیشنهاد شده است و هنوز هم بیهیچ مشکلی پاسخگوی مشکلات است.
رمزنویسی متقارن روش قابل قبولی است اما اگر میخواهید گیرنده، پیغام رمزی شما را رمزگشایی کند، چهگونه اطمینان حاصل میکنید که این پیغام به فرد مورد نظر برسد؟ میتوانید تراشه را با یک تراشهی دیگر رمزنویسی کنید، اما مشکل فرستادن این تراشهی دوم به گیرندهی مورد نظر هنوز هم به قوت خود باقی است. نبود امکان انتقال فیزیکی پیامها در تجارت راه را برای تجاوز و رمزگشایی بدون اجازهی آنها برای افراد فرصتطلب گشوده است و اینجا است که روش دوم؛ یعنی رمزنگاری نامتقارن (کلید عمومی رمزگشایی) قابلیتهای خود را نشان میدهد. کلید عمومی رمزگشایی از دو کلید استفاده میکند: روش عمومی و روش اختصاصی. در صورت استفادهی یک روش برای رمزنگاری با روش دیگر رمزگشایی میکنیم. اگر شرکت A قصد دارد پیغامی را به شرکت B بفرستد از کلید عمومی شرکت B استفاده میکند. این کلید رمزنویسی در اختیار همهی کارکنان این شرکت است. با یکبار رمزنگاری تنها راه برای رمزگشایی این پیغام به کاربردن کلید اختصاصی است که فقط فرد گیرنده آن را داراست. ایجادکنندگان این روش همچنین بخش امنیتی RSA را به وجود آوردند که در تولیدات فعلی خود نیز از الگوریتم فوق استفاده میکند.
مایک وگارا، رییس بخش مدیریت تولید RSA، میگوید: ”کلید رمزنویسی متقارن همواره از روش نامتقارن سریعتر عمل میکند، بنابراین کافی است برای رمزنگاری از روش متقارن استفاده کرده، الگوریتم RSA را برای رمزگشایی به کار برید. کمترین طول تراشهی AES، ۱۲۸ بیت و کمترین طول تراشهی الگوریتم RSA، ۱۰۲۴ بیت است. اما عامل برقراری توازن در این میان به گفتهی نیکو ون سومرن، رییس بخش فناوری در شرکت تولیدکنندهی تراشههای رمزنگاری، رمزگشایی RSA بسیار مشکل است. او ادعا میکند که از نظر زمانی رمزگشایی تراشههای RSA، ۳۰ هزار واحد زمانی طول میکشد. روش جایگزین الگوریتم RSA، منحنی رمزنگاری بیضوی است که با ۱۶۰ بیت کار میکند. از این منحنی به عنوان کلید رمزنگاری نامتقارن در تلفنهای هوشمند استفاده میشود.
اما استفاده از این راهحل نیز مشکل تایید را حل نمیکند. اگر شرکت A با استفاده از کلید عمومی B تراشهای را رمزنگاری نکند و آن را برای شرکت B ارسال کند، با هیچ روشی نمیتوانیم بفهمیم که این تراشه را شرکت A فرستاده است. ممکن است پای دستهی سومی در میان باشد و قصد آنها از فرستادن این پیغام گیج کردن شرکتB باشد.امضای دیجیتالی پایانی بود برای تمام این مشکلات، به این شکل که افراد تراشهها و پیغامهای ارسالی خود را امضا میکنند.
شرکت Aبا استفاده از کلید خصوصی خود امضایی دیجیتالی طراحی میکند. مانند قبل این شرکت پیغام مورد نظر خود را با استفاده از یک الگوریتم متقارن رمزنگاری میکند، سپس با به کاربردن کلید عمومی B تراشه را رمزنگاری میکند. اما شرکت A با استفاده از یک الگوریتم محاسباتی به نام تابع مخرب پیغام بدون رمز را اجرا میکند. این تابع زنجیرهای منفرد از اعداد تولید میکند. سپس این زنجیره را با کلید اختصاصی خود رمزنگاری میکند. در مرحلهی آخر همهچیز به شرکت B ارسال میشود.
مانند گذشته شرکت B از کلید اختصاصی خود برای رمزگشایی تراشهی متقارن و همچنین پیغام A استفاده میکند. در مرحلهی بعد B از کلید عمومی A برای رمزگشایی زنجیرهی تخریب استفاده میکند. در واقع B از همان الگوریتم مورد استفادهی A برای ساختن زنجیرهی یاد شده برای رمزگشایی به کار میبرد. در صورت تطابق این دو الگوریتم، B به دو نکتهی اساسی پی میبرد: اول این که این پیغام همان پیغام ارسالی A از طریق الگوریتم یاد شده است و در طول مسیر، مورد سو استفاده قرار نگرفته است. دیگر این که این پیغام، به طور قطع از جانب A ارسال شده است؛ زیرا B با کلید عمومی A آن را رمزگشایی کرده است. به این معنا که این پیغام با کلید اختصاصی مشابهی رمزنگاری شده است.
الگوریتمهای مخرب، مانند رمزنگاری متقارن ویژگیهای متنوعی دارد. MD۵ هنوز هم در بسیاری از سیستمها کاربرد دارد، اما در اواسط دههی ۹۰ آژانس امنیت ملی، SHA-۱ را جایگزین آن کرد. البته امنیت این روش نیز توسط جامعهی رمزنگاران مورد سوال قرار گرفته است.
البته باید توجه داشته باشیم که شکست یک الگوریتم تمام یک پروژه را زیر سوال نمیبرد. دیوید نکاش، نایب رییس بخش تحقیقات و نوآوری شرکت کارت هوشمند گمپلوس، میگوید: ”وقتی کل عملکرد یک تابع زیر سوال قرار میگیرد، نتایج مستقیم و بلافاصله نیستند. بسیاری از ایرادها در مرحلهی نظری باقی مانده، در دنیای واقعیت تحقق نمییابند. به طور معمول کمیتهی رمزنگاری پس از یک حملهی تیوریک همهی جوانب را بررسی و راهکارهای لازم را به اطلاع افراد میرساند.
کلید عمومی رمزگشایی هنوز هم با مشکلات زیادی روبهرو است، برای مثال همواره باید از صحت کلیدهای عمومی و اختصاصی و جلوگیری از سواستفادهی برخی افراد، از آنها مطمین شد. برخی سازمانهای تایید شده (مانند VeriSign) برای مدیریت و کنترل تولید این کلیدها (زیربنای کلیدهای عمومی(PKI)) ایجاد شده است. این سازمانها علامتهای مشخصی را برای کلیدهای شرکتها در نظر میگیرند. البته به دلیل مشکلاتی که از جانب برخی شرکتها مانند شرکت پشتیبانی فناوری بالتیمور ایجاد شد، افراد دیرتر از آنچه که انتظار میرفت به این روش اعتماد کردند.
با تمام این توضیحات چه مشکلی وجود داشت؟ اندی مالهلند، مدیر بخش فناوری روز در کپجمینی، میگوید: “در آن زمان پرداختن به چنین مسالهای هنوز خیلی زود بود. ۵ سال در زمان توسعهی PKI افراد نامناسبی به تجارت آنلاین مشغول بودند. در آن زمان حجم تجارت آنلاین بسیار کم بود.” او میگوید: “ما در واقع بدون هیچ فعالیت بازرگانی تبلیغی موفقیت زیادی در PKI به دست آوردیم. اما اگر PKI در سال ۲۰۰۵ ایجاد شده بود، عکسالعملها متفاوت بود.”
وکلای PKI مانند وگارا برای مبارزه با این نظریهی عمومی که استفاده از PKI را برای مصرفکنندگان مشکل میداند، بیشتر فناوری مربوط به کلید عمومی مانند Secure Sockets Layer و Transport Layer Security را در اختیار عموم قرار میدهد. این فناوری آیکن قفل مربوط به مرورگر امنیتی را دربر دارد. برای بهرهبرداری از این امکان نیازی به هیچ مجوزی نیست.
آرتر بارنز، مشاور ارشد موسسهی امنیتی دیاگنال، میگوید در بسیاری موارد وقتی به مجوز هر دو گروه مشتری و سرور نیاز باشد PKI برای مصرفکنندگان مشهود و کارآمد نیست.
افرادی که این مطلب را باور ندارند باید به مقالهی ”چرا جانی نمیتواند به راحتی به هر جا که میخواهد سرک بکشد؟“ نوشتهی آلما ویتن نگاهی بیندازند. این مقاله به بررسی این مطلب میپردازد که بسیاری از افراد تحمل صرف ۹۰ دقیقه برای امضا و رمزنگاری پیغامهای خود را ندارند و به همین دلیل عدهی بسیاری از شرکتکنندگان در تست ویتن در این تست شکست خوردند.
شرکتکنندگان در آزمون از PGP، یک ابزار نرمافزاری کلید عمومی رمزنگاری ساختهی فیل زیمرمن در سال ۱۹۹۱، استفاده میکردند. عملکرد PGP خارقالعاده است؛ زیرا مشکلات مجوز بسیاری از گونههای PKI را با به کار بردن ”دنیای وب تاوم با اعتماد“ پشت سر گذاشته بود. در این مدل مجوز گواهینامه جای خود را به افراد مورد اعتمادی که با امضا کردن به جای دیگران کلیدهای آنها را تایید میکنند.
PGP زیمرمن را در تعرض با دولت ایالات متحده قرار داد، مسیولان امنیتی این دولت معتقدند این روش کنترل امنیتی را دچار مشکل میکند. مساله تا جایی پیش رفت که مسیولان امنیتی ایالات متحده علیه او اقامهی دعوی کردند. مسالهی دخالت حکومتها در رمزنگاری هنوز هم مورد اعتراض بسیاری از شرکتهای خصوصی است. گذشته از کنترل خارجی آگاهی دولتها از رمزها و توانایی آنها به رمزگشایی، هستهی مرکزی این مجادلات را به خصوص در انگلستان و پس از تصویب قانون نظارتی قدرت تحقیقات در سال ۲۰۰۰، تشکیل میدهد.
گوین مکگینتی، مشاور حقوقی در مرکز مشاورهی IT پینسنت ماسنز، میگوید: این قانون دولتها را در شرایط خاصی مجاز به جستوجو در حریم خصوصی اشخاص میداند. ”اولین اصل در این مورد این است که شرکتها در صورت امکان میتوانند اطلاعات مورد نیاز ماموران دولت را در بدون کلید آن در اختیار آنها قرار دهند، در غیر این صورت رمزگشایی مجاز است.“
همهی این مسایل در بررسیهای اولیه پاسخگو به نظر میرسد، اما برخی روشهای رمزنگاری مانند steganography کارایی چنین قوانینی را زیر سوال میبرد. در این روش گونهای از اطلاعات در پسزمینهی گونهی دیگر پنهان میشود: برای مثال یک پروندهی فایل word در پسزمینهی یک فایل Jpeg.
ویژگیهای این ابزار جدید چندان مورد توجه بارنز قرار نگرفته است. او میگوید: “steganography به عنوان یک ابزار غیر قابل کشف به بازار عرضه شده است ولی در مدتی کوتاه عکس این مطلب اثبات شده است. فقط باید بدانید دنبال چه نوع اطلاعاتی میگردید.”
امروزه علم رمزنگاری به مرحلهای از رشد و پختگی رسیده است که به راحتی در معرض تغییرات گسترده قرار نمیگیرد. الگوریتمهای متقارن و نامتقارن زیادی وجود دارند که برای راضی نگاهداشتن طرفداران رمز و رمزنگاری کفایت میکنند و بسیاری از آنها برای مدیران IT قابل تشخیص نیستند.
با وجود این چالشها همچنان به قوت خود باقی است. عملکرد ضعیف PKI گودلی عمیق در بازار جهانی رمزنگاری برجای گذاشته است. برای پر کردن این فواصل به نوعی مدل مدیریت شناخت نیاز است.