جنگ بر سر رمزنگاری

زمانی که شما به رمزنگاری فکر می‌کنید، احتمالاً چیزی که به فکر شما خطور می‌کند فیلم‌ها و نمایش‌های تلویزیونی هستند که درون آنها پر از پیام-های هک و عجیب و غریب است. شاید هم اولین چیزی که به فکر شما می‌رسد داستان جنگ بین کمپانی اپل و سازمان FBI به علت این که این کمپانی حاضر به بازکردن قفل گوشی iPhone مجرم دستگیر شده به وسیله FBI نشده است، باشد. اما این بحث خیلی ساده تر از این حرف‌هاست: رمزنگاری یک تکنیک است که به وسیله آن عبارت‌های نامفهوم و گنگ و غیرقابل فهم را ارائه می‌دهیم-یعنی این عبارات تنها برای افرادی نامفهوم است که کلید مورد نظر را در دست ندارند. جاسوس‌ها برای ارسال اطلاعات از رمزنگاری استفاده می‌کنند، همچنین در جنگ‌های مختصاتی، و استفاده‌های جرم شناسی این رمزنگاری کاربرد فراوان دارد.
همچنین سیستم‌های رمزنگاری در همه جنبه‌های فناوری امروزی وارد شده‌اند، و نه تنها برای مخفی کردن اطلاعات از مجرمان، دشمنان و جاسوسان بلکه برای تایید و شفاف سازی اطلاعات اولیه و شخصی افراد کاربرد دارند. داستان رمزنگاری به قرن‌ها پیش بازمی‌گردد، و به همان اندازه‌ علم ریاضی، که به این سیستم معنا داده است، مشکل و پیچیده است. و دیدگاه‌ها و ایده‌های متفاوت می‌توانند به طور کلی سیستم رمزنگاری را تغییر دهند.
ما در این زمنیه با چند متخصص صحبت کردیم تا برای فهمیدن جنبه‌های فراوان رمزنگاری به ما کمک کنند: هدف ما فهمیدن تاریخ رمزنگاری، وضعیت کنونی آن، و آینده‌ی احتمالی آن بود. صحبت‌های این متخصصان به این گونه بود:
تولد رمزنگاری مدرن
پروفسور مارتین هلمن یک شب در ماه مه، سال ۱۹۷۶، یعنی ۴۰ سال پیش، بر روی میز کار خود مشغول کار بود، در همین زمان با من تماس گرفت تا به من بگوید که در آن چه چیزهایی نوشته است. او مقاله مشهور ‘New Directions in Cryptography’ را نوشته بود که به طور کامل نحوه-ی نگه‌داری اطلاعات محرمانه را تغییر می‌داد و کم و بیش، اینترنت را به این صورتی که امروز می‌بینیم قادر به نگه داری این اطلاعات می‌کرد.
قبل از منتشر کردن این مقاله، رمزنگاری یک نظم مشخصی داشت و سرراست بود. شما یک کلید داشتید که وقتی برای یک سری داده به کار می-بردید باعث می‌شد این داده برای افرادی که این کلید را ندارند غیرقابل خواندن باشد. برخی از ارکان آن هنوز هم وجود دارند، مثل پازل‌هایی که از شما می‌خواهند یک حرف را با حرف دیگر جایگزین کنید. زمانی که شما این حرف را بیابید و جانشین‌سازی را انجام دهید، خواندن بقیه پیام موردنظر برای شما ممکن می‌شود.
برای این که یک رمز کار کند، باید کلید آن محرمانه بماند. این قانون حتی بعد از پیچیده و پیچیده‌تر شدن روش‌های رمزنگاری نیز ثابت ماند. پیچیدگی فناوری و شدت زیاد و کشنده جنگ جهانی دوم باعث ساخته شدن دستگاه‌های رمزنگاری زیادی شد، که در حالی که چالش‌هایی هم داشتند ولی بازهم بر پایه همین قانون عمل می‌کردند.
متحدین دارای سیستم SIGSALY، سیستمی که می‌توانست ارتباطات صوتی را به صورت real-time تجزیه و تحلیل کند، بودند. کلیدهای این سیستم شبیه به رکوردهای تصویری مشابهی بودند که زمانی که یک مکالمه در حال انجام بود به صورت همزمان با هم عمل می‌کردند. زمانی که فردی با تلفن صحبت می‌کرد، حرف‌های او دیجیتالی شده و به وسیله نویزهای به خصوصی بر روی رکورد نگه داری می‌شدند. سپس سیگنال رمزگشایی شده به یک ایستگاه SIGSALY دیگر ارسال می‌شد، در آنجا به وسیله دستگاه‌های مخصوص کدشکنی می‌شدند و صدای فرد موردنظر از بلندگوها مجدداً تولید می‌شد. بعد از هر مکالمه، این رکوردها را نابود می‌کردند. پس برای هر تماس جدید از رمزها و کدهای جدید استفاده می‌کردند. پس هر پیام به وسیله‌ی یک کد متفاوت از قبلی تولید می‌شد و رمزگشایی آن هم به مراتب سخت‌تر می‌شد.
ارتش آلمان هم از یک سیستم مشابه اما پیچیده‌تر برای ارتباطات متنی استفاده می‌کرد. نام این ماشین Enigma بود و از صفحه‌کلید، سیم، یک بورد مشابه سوئیچ‌‌بورد تلفن، چرخ‌های چرخنده، و یک بورد خروجی تشکیل شده بود. با فشردن یک دکمه، این ماشین شروع به برنامه‌ریزی‌های ریاضی خود می‌کرد و هربار یک حرف را خارج می‌کرد، که این لغت بر روی بورد خروجی روشن می‌شد. سپس پیام‌ها به محض تایپ شدن می‌توانستن رمزگذاری یا رمزگشایی شوند اما رمز موفقیت این دستگاه این بود که رمز و کد مربوط به هر حرف، بعد از هربار فشردن عوض می‌شد. با فشردن A دستگاه حرف E را نشان می‌داد، اما اگر بازهم A را فشار می‌دادید این ماشین یک حرف کاملاً متفاوت از قبلی را نشان می‌داد.
سیستم‌ ماشین‌های Enigma و SIGSALY تقریباً شبیه به یک الگوریتم (یا چندین الگوریتم) بودند، به طوری که یک تابع ریاضی را چندین و چند بار اجرا می‌کردند. اولین بار زمانی که Alan Turing به اتفاق همکاران کدشکن خود در محوطه‌ی Bletchley Park در انگلستان توانستند کدهای Enigma را بشکنند، باعث شد قادر باشند که روش کار این ماشین را درک کنند و بر نحوه کدگذاری آن واقف شوند.
اما کار آقای هلمن بر روی رمزنگاری از چند نظر کاملاً متفاوت بود. یکی از این دلایل این بود که او و آقای Diffie (که هردو ریاضیدانانی از دانشگاه استنفورد بودند) تحت نظر سازمان‌های دولتی کار نمی‌کردند و از کسی دستور نمی‌گرفتند، و همه به او می‌گفتند که تو دیوانه‌ هستی. طبق تجربه آقای هلمن، این کار جدیدی نبود. او می‌گوید: «زمانی که همکاران من به من گفتند که بر روی رمزنگاری کار نکن- به جای اینکه من را از عواقب آن بترسانند، این حرف‌ها مرا بیشتر جذب این زمینه می‌کرد».
رمزگذاری‌های عمومی
Hellman و Diffie، با کمک یک فرد سوم به نام Ralph Merkle، یک نوع متفاوت از رمزگذاری را پیشنهاد کردند. به جای این که برای قفل کردن یک سیستم از یک کلید استفاده کنند، آنها از دو کلید استفاده کردند. یکی از این کلیدها، همان کلید خصوصی، که به وسیله سیستم رمزگذاری سنتی قرار داده می‌شد بود و دیگر کلید به صورت عمومی (public) قرار داده می‌شد.
برای این که شما یک پیام برای هلمن ارسال می‌کردید از کلید عمومی او برای کدگذاری بر روی پیام استفاده می‌کردید و سپس آن را ارسال می-کردید. به این ترتیب هرکس که بدون اجازه این پیام را مشاهده می‌کرد تنها مقداری متن به هم ریخته و ناخوانا را می‌دید. ‌مزیت این نوع از کدگذاری شاید بلافاصله مشخص نباشد، اما SIGSALY را به یاد بیاورید، برای این که سیستم این ماشین کار کند باید هردوی ارسال‌کننده و دریافت کننده دارای کلیدهای رمز مشابه باشند. اگر دریافت‌کننده کلید رمز خود را گم می‌کرد، هیچ راهی برای رمزگشایی کردن پیام وجود نداشت. اگر کلید رکورد موردنظر دزدیده یا کپی می‌شد، به راحتی افراد سودجو یا دشمن می‌توانستند پیام‌ها را باز کرده و بخوانند. به این ترتیب با باز کردن و خواندن و تجزیه و تحلیل کردن چند پیامی که به وسیله این ماشین تولید شده می‌توانستند نحوه کدگذاری آن را یاد بگیرند و هر پیامی را در آن کدشکنی کنند. پس اگر شما می‌خواستید یک پیام ارسال کنید و کلید رمز موردنظر را گم کرده بودید، نمی‌توانستید از ماشین SIGSALY استفاده کنید.
سیستمی که آقای هلمن طراحی کرده بود می‌گفت که کلید رمز کدگذاری نیازی نیست محرمانه باشد. هر فردی می‌تواند کلید عمومی را داشته باشدو به وسیله آن پیام‌ها را ارسال کند، اما فقط دارند کد خصوصی و محرمانه می‌توانست پیام را کدگشایی کند.
روش رمزگذاری عمومی همچنین توانست نیاز به ابزار امن جهت نگه داری کدهای رمزنگاری را از بین ببرد. ماشین‌های Enigma و بسیاری از دستگاه‌های کدگذاری دیگر نیاز شدیدی به امنیت فیزیکی داشتند، و اگر به دست دشمن می‌افتادند باید به سرعت نابود می‌شدند. با استفاده از یک سیستم کلید عمومی، می‌توان کلیدهای عمومی را به صورت عمومی و برای همه رد و بدل کرد، و هیچ خطری در این کار نیست. پس هلمن می-توانست کلید عمومی مربوط به خودش را بلند به همه اعلام کند. سپس ما می‌توانیم کلیدهای عمومی همدیگر را گرفته و آنها ترکیب کرده و به عنوان کلید رمز خصوصی خود قرار دهید که به این کار امنیت مشترک (shared secret) گفته می‌شود. این کلید ترکیبی سپس می‌تواند برای کدگشایی کردن پیام‌هایی که به همدیگر ارسال می‌کنیم، مورد استفاده قرار گیرد. هلمن به من گفت که از پتانسیل کار خود در سال ۱۹۷۶ آگاه بوده است. او گفت: «به یاد دارم که داشتم با Horst Feistel، یک فرد فوق‌العاده باهوش در زمینه رمزنگاری که با همکاری که با کمپانی IBM داشت منجر به استاندارد کدگذاری بر روی داده‌ها شد، صحبت می‌کردم، و سعی کردم که کار خودم یعنی «کلید عمومی رمزنگاری» را برای او توضیح دهم. که او بلافاصله حرف من را قطع کرد و گفت تو نمی‌توانی».
این حرف Fiestel تنها دلیل برای هلمن جهت استفاده عمقی از ریاضیات در کار خود، نبود، چون عشق او به ریاضیات هم تاثیر داشت. او گفت: «زمانی که من برای اولین بار به کتاب ‘mathematical systems’ نگاه کردم حس آلیس در سرزمین شگفتی‌ها به من دست داد».

شهرت بد رمزگذاری
رمزنگاری از نظر آقای هلمن و همکارانش مانند یک سرزمین عجایب ریاضیات است، اما شاید دید عوام به این قضیه این باشد که رمزگذاری تعدادی از کارهایی است که عجیب و غریب است.
آقای Phil Dunkelberger فردی است که سال‌ها بر روی رمزگذاری کار کرده است. او کار خود را بنیانگذاری شرکت PGP شروع کرد، و کار خود بر اساس پروتوکل Pretty Good Privacy که توسط Phil Zimmerman اختراع شده بود آغاز کرد و با روزنامه‌نگار مشهور آمریکایی به نام ادوارد اسنودن همکاری کرده بود. Dunkelberger اکنون مدیرعامل و رئیس Nok Nok Labs است، شرکتی که بر روی سیستم ‌هایFIDO کار می‌کند تا به خوبی شناسایی افراد را انجام دهند- و البته امیدوار هستند که استفاده از پسورد را از بین ببرند.
Dunkelberger گفت مشکلی که برای استفاده از رمزگذاری وجود دارد واضح است، و آن مشکل این است که به صورت گسترده‌ای غیرقابل دیدن است، و با وجود این که قسمتی از زندگی روزمره برای ما شده است هنوز کسی از نحوه کار کردن آن مطلع نیست. اکثر مردم زمانی که شما یک PIN را وارد می‌کنید چیزی بیشتر از اجرای یک طرح رمزگذاری، و تبادل کلیدها، و حفاظت از داده‌های شما جهت دزدیده نشدن آنها، اتفاق نمی‌افتد، و به این طریق است که به راحتی می‌توانید پول‌های خود را جابه‌جا کنید.
Dunkelberger افزود: «رمزگذاری، به موازات پیشرفت فناوری محاسباتی گسترش پیدا کرده است. رمزگذاری باید قادر باشد از داده‌های شما محافظت کند تا نیازهای قانونی و اعتمادی که سال‌هاست در دنیا وجود دارد را برای شما فراهم کند.»

اهمیت ریاضیات قوی در رمزنگاری
آقای Bruce Schneier تخصص ریاضی در زمینه رمزنگاری دارد، اما بیشتر به دلیل تخمین‌های صحیح در مسائل مربوط به امنیت کامپیوتر شهرت دارد. این فرد برای خیلی‌ها حکم یک اسطوره را دارد. برای مثال، یکی از همکاران من یک تی‌شرت دارد که بر روی آن تصویر آقای Schneier حک شده است و آن را به تن می‌کند.
او از لحاظ شخصیتی خیلی روراست و بی‌پروا است. مثلاً در کنفرانس RSA سال ۲۰۱۳ در مورد رمزگذاری گفت «سازمان امنیت ملی نیز نمی‌تواند این رمز را بشکند و همین امر باعث عصبانیت مقامات آن خواهد شد» او همچنین عنوان کرد که احتمالاً سازمان امنیت ملی در نوع خاصی از سیستم رمزگذاری توانسته یک ضعف پیدا کند و با دست کاری کردن همان ضعف سعی در اعمال تغییرات در آن داشته است تا به این ترتیب این ضعف بیشتر رخ دهد. پس کارهایی که NSA (سازمان امنیت ملی) برای شکستن این رمزها می‌کند بیشتر یک کار مهندسی است نه کار ریاضی. او همچنین گفت که شاید بتوانند رمزنگاری را بشکنند اما بازهم نیاز به کدشکنی پیام ها در این سیستم دارند.
Schneier فردی است که به خوبی به ارزش ریاضی قوی، در این زمینه واقف است. او به من گفت که رمزنگاری ترکیبی از ریاضیات و درهم و برهم کردن، و درنهایت ساختن یک منطق خیلی قوی است اما در عین حال بسیار کار پیچیده‌ای است. او گفت: «این کار نظریه اعداد، یعنی همان نظریه پیچیدگی در ریاضیات است، و بسیاری از رمزنگاری‌های ضعیف در دنیا توسط افرادی صورت گرفته است که ریاضیات ضعیفی دارند».

امضاهای دیجیتالی
یکی از رایج‌ترین استفاده‌ها از رمزگذاری، خصوصاً رمزگذاری کلید عمومی (public key) که هلمن به وجود آورد و به مشهور شدن آقای Dunkelberger کمک کرد، تایید مشروع بودن داده‌ها و اطلاعات است. امضاهای دیجیتالی دقیقاً همان چیزی هستند که می‌توان از نام آنها برداشت کرد. مانند یک امضا که با دست انجام می‌دهید، این امضا برای فرد موردنظری که امضا را زده است راحت بوده و برای فردی که می‌خواهد آن را کپی کند سخت می‌باشد، و به راحتی و با یک نگاه قابل تشخیص هویت فرد نخواهد بود. هلمن گفت: «یک امضای دیجیتالی نیز بسیار شبیه به امضای دست است. برای من امضا کردن یک پیام کار راحتی است. و برای شما نیز بررسی کردن این که من این امضا را زده ام کار راحتی است، اما شما قادر نخواهید بود پیام من را تغییر دهید یا یک پیام جدید را با نام و امضای من ایجاد کنید.»
به طور طبیعی، زمانی که شما یک پیام را با استفاده از رمزگذاری کلید عمومی امن می‌کنید، از کلید عمومی دریافت‌کننده برای رمزگذاری بر روی پیام استفاده می‌کنید تا اینکه هرفردی که فاقد کلید خصوصی دریافت‌کننده است قادر به خواندن این پیام نباشد. امضاهای دیجیتالی در جهت عکس این موضوع عمل می‌کنند. هلمن برای من یک مثال شرح داد و یک قرارداد فرضی را در نظر گرفت که من بابت این مصاحبه باید به او پولی را پرداخت کنم، که البته گفت من در واقع قصد گرفتن پولی را ندارم و این فقط یک مثال برای درک این مطلب خواهد بود.
پس با این فرض که من باید به هلمن پول پرداخت کنم، از من می‌خواست که یک قرارداد بنویسم و سپس با استفاده از کلید خصوصی خودم آن را رمزگذاری کنم. این امر باعث به وجود آمدن یک متن رمزگذاری شده می‌شود. سپس هر فردی با استفاده از کلید عمومی من، که بدون هیچ ترسی از لو رفتن کلید خصوصی خودم، می‌توانم آن را به همه بدهم، می‌تواند این متن را رمزشکنی کرده و متوجه نوشته‌های من شود. اگر رمز خصوصی من لو نرود هیچ کس قادر به اعمال تغییرات در این متن نخواهد بود. حال یک امضای دیجیتالی، نویسنده‌ی این متن را تایید می‌کند، اما مانند یک نامه معمولی کسی حق دخل و تصرف در آن را ندارد.

ظهور بلاکچین (Blockchain)
درحالی که اطلاعاتی که به وسیله‌ی رمزنگاری امضا شده‌اند غیرقابل خواندن هستند، با این حال کلیدهای نهفته‌ای (رمزنگاری شده) وجود دارند که می‌توانند این اطلاعات را باز کنند و امضای موردنظر را تایید هویت کنند. بنابراین می‌توان از رمزنگاری برای تایید اطلاعات استفاده کرد، و به جای مبهم کردن اطلاعات، آنها را شفاف تر کرد. این کلیدی به بلاکچین، یعنی یک فناوری که با رمزگذاری مشکل دارد، می‌باشد.
سردبیر مجله‌ی PCMag آقای Rob Marvin که چند صندلی آن طرف تر از من کار می‌کند، گفت: «بلاکچین یک دفتر توزیع شده و غیرقابل تغییر است که بدون درنظر گرفتن دلیل استفاده شما از آن، وظیفه ایمن کردن اسناد دیجیتالی را برعهده دارد- این اسناد ممکن است مبلغی پول، قراردادها یا میلیون‌ها دلار نقد باشند. به این دلیل که این رمز در بین کاربران و شریکان مختلفی تقسیم شده است، هیچ خطری برای حمله به آن وجود ندارد. قدرت این سیستم در اعداد آن است.»
همه بلاکچین‌ها مانند هم نیستند. مشهورترین کاربرد این فناوری قدرت دادن به انتقال پول‌ها توسط رمزنگاری (Cryptocurrency) مانند Bitcoin، است.

رمزشناسی کاربردی
آقای Matt Green که استادیار رشته‌ی علوم کامپیوتر در دانشگاه است و بیشتر در زمینه‌ی رمزنگاری فعالیت می‌کند می‌گوید: «اگر من بخواهم به شما یک پیام محرمانه ارسال کنم، این کار را می‌توانم با رمزگذاری بر روی آن انجام دهم. این کار یکی از ابتدایی ترین فناوری‌های روز است اما اکنون رمزنگاری برای هر نوع کاری استفاده می‌شود. یعنی کاربرد رمزنگاری بسیار گسترده‌تر از قبل شده است».
او افزود : «رمزنگاری در نوشتن ریاضیات بر روی یک وایت‌برد وجود دارد. رمزنگاری در انواع پروتوکل‌های پیشرفته تئوری که دیگران در حال کار کردن بر روی آنها هستند کاربرد دارد. چیزی که من بر روی آن تمرکز دارم درواقع این است که این تکنیک‌های رمزنگاری را انتخاب کنم و آن ها را کاربردی می‌کنم.» منظور او از کاربردها، مانند خرید کالاها، کارهایی که است که شما با آن ها سروکار دارید.
تمامی جنبه‌های انتقال‌ وجه‌های مالی شامل نوعی از رمزگذاری در خود، یا نوعی تشخیص هویت می‌باشند، که ابتدا تایید می‌کنند که این پیام را شما ارسال کرده‌اید. یک مثال دیگر مبهم از این دسته مربوط به محاسبات خصوصی است، جایی که گروهی از مردم می‌خواهند چیزی را با هم محاسبه کنند و این کار بدون به اشتراک گذاشتن ورودی‌هایی که در این محاسبات وارد شده است انجام دهند.
آقای Green گفت: زمانی که شما از یک وب‌سایت بانک بازدید می‌کنید، آن بانک دارای یک کلید رمزنگاری است که این کلید رمز را تنها کامپیوترهای آن بانک دارند. این همان کلید خصوصی است که قبلاً در مورد آن گفتیم. او گفت: «مرورگر اینترنتی من راهی برای تبادل اطلاعات با این کامپیوترها دارد، و می‌تواند بگوید که این کلید خصوصی مربوط به کدام بانک است و به نوعی خیال من را از این بابت که سایت تقلبی است یا نه راحت می‌کند».
برای اکثر مردم، باز شدن کامل یک وب‌سایت و مشاهده کردن چند آیکن بر روی آن که در مقابل آدرس URL قرار دارد به این معنی است که سایت امن است. اما در پشت صحنه در کامپیوترهای ما، سروری که از وب‌سایت میزبانی می‌کند، و یک قدرت صلاحیت‌دار که این کلید را به وب‌سایت داده است، یک تبادل رمزنگاری صورت می‌گیرد.
رمزنگاری کوانتومی، می‌تواند همه چیز را متحول کند
به دلیل علاقه مشتاقانه‌ای که برخی افراد به این مبحث نشان داده‌اند، آقای هلمن در مورد محدودیت‌های سیستم رمزنگاری که او کشف کرد، باعث روی آوردن بسیاری از محققان در این زمینه و کار کردن بر روی این موضوع شد. پس آقای هلمن وقتی می‌گوید سیستم رمزنگاری با چالش‌های هیجان‌برانگیزی روبه‌رو است، باید به حرف او اعتماد کرد.
او گفت که در سال ۱۹۷۰ در زمینه ریاضی یک نقطه عطف شکل گرفت و آن نقطه عطف به دلیل پیدایش توابع پیوسته بود. سختی موجود در فاکتورگیری از اعداد بزرگ، همان پیچیدگی موجود در سیستم‌های رمزنگاری است. سپس در سال ۱۹۸۰ این فاکتورگیری کمی جلوتر رفت و به این ترتیب هم عمل رمزنگاری پیشرفت بیشتری کرد و به همان نسبت هم کرک کردن رمزهای تولید شده توسط آن، سخت‌تر از قبل شد.
آقای Phil Dunkelberger گفت این مسئله خیلی پیچیده‌تر از آنی است که به نظر می‌رسد. او گفت در زمینه رکوردهای بانکی، ممکن است ده‌ها رکورد با کلیدهای رمزگذاری تکی وجود داشته باشند، و سپس و هر کلید هم به قسمتی از این اطلاعات ذخیره شده اختصاص داشته باشد. این امر، اصطلاحی به نام master key را به وجود می‌آورد که با ضعیف کردن ریاضیات در قلب این سیستم توانسته این لایه‌ها بردارد.
و شاید آسیبی که این کار به بدنه‌ی علم رمزنگاری وارد می‌کند حتی بیشتر از خطرهای آینده آن باشد. آقای Dunkelberger گفت: ما نباید همان مشکلات قبلی را بازنگری کنیم. به این ترتیب باید به دنبال راه‌های خلاقانه برای از سر راه برداشتن مشکلات و پیش‌برد این علم به سمت جلو با سرعت بیشتر بگردیم. تنها در این صورت است که کاربران احساس امنیت کامل خواهند کرد و به زندگی آرام روزمره خود ادامه می‌دهند.

منبع : در شبکه و امنیت, مجله شماره 279 - آذر 95 بهمن ۲۵, ۱۳۹۵