مقدمه
ماهیت ارتباطات دیجیتال امروزیمان به گونهای است که به ندرت میتوانید به طور مستقیم با طرف مقابلتان ارتباط برقرار کنید. شاید تبادل پیام میان شما و دوستانتان خصوصی به نظر برسد، ولی در حقیقت، این پیامها در سرور مرکزی ثبت و ذخیره میشوند.
شاید تمایل نداشته باشید سروری که مسئول انتقال پیامها میان شما و گیرنده است، [بتواند] پیامهایتان را بخواند. در چنین حالتی، رمزگذاری سرتاسری (یا به طور خلاصه، E2EE[1]) میتواند این نگرانی را برطرف کند.
رمزگذاری سرتاسری روشی برای رمزگذاری ارتباطات میان گیرنده و فرستنده است؛ به طوری که فقط طرفین ارتباط مورد نظر میتوانند داده را رمزگشایی کنند. منشأ این نوع رمزگذاری را میتوان در دهۀ 1990 و پس از عرضۀ نرمافزار حریم خصوصی بسیار خوب (معروف به PGP[2]) توسط فیل زیمرمن[3] جستجو کرد.
قبل از اینکه به این موضوع بپردازیم که چرا بهتر است از سیستم E2EE استفاده کنید و نحوه عملکردش چگونه است، بیایید نحوۀ عملکرد پیامهای رمزگذاری نشده را بررسی کنیم.
نحوۀ عملکرد پیامهای رمزگذاری نشده چگونه است؟
بیایید نحوهی عملکرد یک بستر پیامرسانی معمولی در گوشیهای هوشمند را بررسی کنیم. برنامه را نصب و سپس یک حساب ایجاد میکنید تا بتوانید با سایر افرادی که این برنامه را نصب کردهاند، ارتباط برقرار کنید. پیامی را مینویسید و نام کاربری دوستتان را وارد میکنید، سپس آن را به سرور مرکزی پست میکنید. سرور مشاهده میکند که این پیام را به مقصد دوستتان ارسال کردهاید، بنابراین این پیام را به مقصد مورد نظر منتقل میکند.
شاید این مدل از ارسال پیام را با نام «مدل کاربر-سرور» بشناسید. کاربر (گوشی هوشمندتان) کار چندانی نمیکند. درعوض، سرور بخش عمدهای از کار را به عهده میگیرد. اما این موضوع به این معنا است که ارائهکننده این سرویس همانند واسطهای میان شما و گیرنده [پیام] عمل میکند.
در اکثر اوقات، داده میان A <> S و S <> B در شکل بالا رمزگذاری میشود. از جمله نمونههای این مدل میتوان به امنیت لایه انتقال (TLS)[4] اشاره کرد که در ایمنسازی ارتباطات میان کاربران و سرورها کاربرد فراوانی دارد.
امنیت لایه انتقال و سایر راهکارهای امنیتی مشابه از مداخله افراد در پیامها در هنگام انتقال آنها از کاربر به سرور جلوگیری میکنند. اگرچه این اقدامات ممکن است مانع از دسترسی افراد به داده شود، ولی سرور همچنان میتواند این پیامها را بخواند، در این موقعیت است که «رمزگذاری» پا به میدان میگذارد. در صورتی که داده A با کلید رمزنگاری متعلق به B رمزگذاری شده باشد، این سرور دیگر نمیتواند پیامها را بخواند یا به آنها دسترسی پیدا کند.
در صورت نبود روشهای رمزگذاری سرتاسری، این سرور میتواند اطلاعات را در میلیونها پایگاه داده ذخیره کند. با توجه به اینکه بارها شاهد هک و نفوذ به اطلاعات مهم بودهایم، این امر میتواند تاثیرات تهدیدآمیزی بر کاربران نهایی داشته باشد.
نحوهی عملکرد رمزگذاری سرتاسری چگونه است؟
رمزگذاری سرتاسری اطمینان حاصل میکند که هیچکس، حتی سروری که شما را به دیگران متصل میکند نمیتواند به ارتباطاتتان دسترسی پیدا کند. ارتباطات مورد نظر میتوانند از هر نوع ارتباطی باشند؛ از پیام معمولی و ایمیل گرفته تا فایلها و تماسهای تصویری.
داده در برنامههایی همچون واتسآپ، سیگنال یا گوگل دو[5] (فرضاً) رمزگذاری میشود تا صرفاً فرستندگان و گیرندگان موردنظر بتوانند داده را رمزگشایی کنند. در طرحهای رمزگذاری سرتاسری میتوانید این فرآیند را با «تبادل کلید» آغاز کنید.
تبادل کلید دیفی-هلمن[6] چیست؟
رمزنگاران مشهوری نظیر وایتفیلد دیفی، مارتین هِلمن و رالف مرکل[7] ایده تبادل کلید دیفی-هلمن را ارائه کردند. تبادل کلید دیفی-هلمن یک روش قدرتمندی است که به طرفین ارتباط این امکان را میدهد که در محیط ناامن، عامل مخفی مشترکی را به وجود آورند.
به عبارت دیگر، ایجاد کلید میتواند در محیط ناامن (حتی در حضور افرادی که نظارهگر هستند) بدون به خطر افتادن پیامهای بعدی صورت بگیرد. در عصر اطلاعات، این امر بسیار ارزشمند است؛ زیرا در آن لازم نیست طرفین، جهت برقراری ارتباط، به طور فیزیکی کلیدها را تبادل کنند.
این تبادل آمیزهای از اعداد بزرگ و هنر رمزنگاری است. قصد نداریم که این موضوع را موشکافانهتر بررسی کنیم. در عوض، از تشبیه رنگهای نقاشی استفاده خواهیم کرد. فرض کنید آلیس و باب[8] در اتاقهای جداگانه یک هتل در دو طرف راهرویی هستند و میخواهند رنگ نقاشی خواصی را به اشتراک بگذارند. آنها نمیخواهند شخص دیگری از این رنگ آگاه شود.
متاسفانه، جاسوسهای زیادی در این بخش از هتل پرسه میزنند. فرض کنید آلیس و باب نمیتوانند به اتاقهای یکدیگر بروند، بنابراین، فقط میتوانند در راهرو با هم ارتباط بگیرند. کاری که از دستشان برمیآید، این است که دربارۀ رنگ مشخصی که در راهرو وجود دارد (مثلاً زرد) توافق کنند. بنابراین، آلیس و باب یک قوطی رنگ زرد تهیه و آن را بین خودشان تقسیم میکنند و سپس به اتاقهایشان برمیگردند.
آلیس و باب در اتاقهایشان این رنگ را با رنگ مخفی مخلوط میکنند (کسی درباره این رنگ مخفی اطلاعی ندارد). آلیس از طیف رنگ آبی و باب از طیف رنگ قرمز استفاده میکنند. یک نکته بسیار مهمی که وجود دارد، این است که جاسوسها نمیتوانند رنگهای مخفی که آلیس و باب استفاده میکنند را ببینند و صرفاً ترکیبهای حاصل را مشاهده میکنند، زیرا آلیس و باب با ترکیب رنگهای آبی-زرد و قرمز-زرد از اتاقهایشان خارج میشوند.
آلیس و باب در خارج از اتاق این ترکیب رنگها را تبادل میکنند. اکنون دیگر مشاهده رنگها بهوسیلهی جاسوسها اهمیتی ندارد؛ زیرا جاسوسها نمیتوانند طیف رنگ دقیق افزوده شده به رنگ زرد را تشخیص دهند. این نکته را به خاطر داشته باشید که این صرفاً یک تشبیه است و ریاضیات حقیقی که در این سیستم به کار رفتهاند، حدس زدن «رنگ مخفی» را دشوارتر میکنند.
آلیس ترکیب رنگ باب و باب ترکیب رنگ آلیس را برمیدارد و دوباره به اتاقهایشان برمیگردند. اکنون رنگهای مخفیشان را به رنگ ترکیبی اضافه میکنند.
- آلیس طیف رنگ آبی مخفیاش را با رنگ ترکیبی قرمز-زرد باب مخلوط میکند و رنگ ترکیبی قرمز-زرد-آبی را به وجود میآورد.
- باب طیف رنگ قرمز مخفیاش را با رنگ ترکیبی آبی-زرد آلیس مخلوط میکند و رنگ ترکیبی آبی-زرد-قرمز را به وجود میآورد.
این دو رنگ ترکیبی حاصل حاوی رنگهای مشابهی هستند و یکسان به نظر میرسند. آلیس و باب با موفقیت رنگ منحصربفردی را به وجود آوردند که جاسوسها از آن بیخبر هستند.
بنابراین، اینها اصولی هستند که با استفاده از آنها میتوانیم چیز مخفی و مشترکی را در فضای عمومی به وجود آوریم. وجه تمایز در این است که راهرو و رنگی در کار نیست، بلکه از کانالهای ناامن، کلیدهای عمومی و کلیدهای خصوصی استفاده میکنیم.
رمزگذاری سرتاسری (E2EE) چیست؟ (قسمت دوم)
[1] – End-to-End Encryption
[2] – Pretty Good Privacy
[3] – Phil Zimmerman
[4] – Transport Layer Security
[5] – Whatsapp, Signal, Google Duo
[6] – Diffie-Hellman
[7] – Whitefield Diffie, Martin Hellman, Ralph Merkle
[8] – Alice, Bob
دیدگاهتان را بنویسید