۱۳۸۸ دی ۲۷, یکشنبه

آیا شنود امکان پذیر است؟ چگونه ایمیل ها را رمز نگاری کنیم؟


در این مطلب بررسی می کنیم که آیا اصلآ شنود ایمیل امکان پذیر است یا خیر و به شما آموزش می دهم چطور ایمیل های تان را برای امنیت بیشتر رمز نگاری کنید.
آیا شنود ایمیل امکان پذیر است؟
اگر قصد دارید به پاسخ این سوال برسید یک بار کامل وقت بگذارید و این مطلب را واقعآ با دقت بخوانید، با اسکرول کردن انتظار نداشته باشید پاسخ سوال تان را بیابید.
امکان پذیر بودن یا نبودن می تواند دو معنی مختلف داشته باشد، یکی اینکه آیا از نظر علمی و تئوری امکان پذیر است یا نه؟ و یکی اینکه آیا «قابل انجام در شرایط واقعی» است یا نه؟ پاسخ سوال اول «قطعآ بله» و پاسخ سوال دوم «تقریبآ خیر» است.
شنود ایمیل می تواند به دو صورت انجام شود، یکی در مرحله ای که ایمیل از کامپیوتر خود شما لو برود. یعنی یک برنامه مخرب روی کامپیوتر شما نصب شود که هر آنچه تایپ می کنید یا ایمیل هایی که ارسال می کنید را به طور مخفیانه به کسی بفرستد. این کاملآ امکان پذیر است اما این راه در صورتی است که شما به عنوان قربانی از قبل انتخاب شده باشید و کسی قصد شنود ایمیل های «شخص شما» را داشته باشد. اگر امنیت کامپیوتر تان را با استفاده از آنتی ویروس و فایرفال های خوب بالا نگه دارید و فایل های مشکوک و ناامن را باز نکنید احتمال این امر تا حد زیادی کاهش پیدا می کند.
راه دیگر اینکه ایمیل توسط سایر افراد موجود در شبکه خوانده شود، مثلآ اگر از اینترنت وایرلس در خانه استفاده می کنید و هم شما به اینترنت خانه وصل هستید و هم دوست تان. دوست تان در شبکه داخلی شما است و اگر از پروتوکول رمزنگاری شده استفاده نکنید دوست تان می تواند با استفاده از نرم افزار های مخصوص ایمیل های شما را بخواند (یا اصطلاحآ packet sniffing – زیاد هم آسان نیست).
راه دیگر که به نوعی مثل راه قبل هست شنود ایمیل در بین راه (در خارج از شبکه محلی شما) مثل ایستگاه های مخابراتی یا میل سرور ها و… است. احتمال انجام این کار توسط هکر های معمولی خیلی کمتر است زیرا دسترسی به این تجهیزات بسیار مشکل و تقریبآ فقط برای دولت امکان پذیر است. در صورتی که دولت قصد انجام شنود ایمیل یک شخص خاص را داشته باشد کار کمی آسان تر می شود و می شود از روش های مختلفی (مثل روش اول) یا از اطلاعات شرکت سرویس دهنده اینترنت آن شخص استفاده کرد.



حقوق تصویر: Dreamstime
اما در صورتی که قصد شنود ایمیل به صورت دسته جمعی را داشته باشد باید روشی برای جدا سازی ایمیل هایی که میخواهد شنود کند با آنهایی که نمی خواهد شنود کند داشته باشد. زیرا میلیون ها ایمیل در روز در این سرور ها رد و بدل می شود و کنترل این حجم ایمیل عملآ امکان پذیر نیست. برای این کار نرم افزار های مخصوص باید از میان میلیارد ها packet ای که ارسال و دریافت می شود آنهایی که به درد می خورد را جدا سازی کند و در متن ایمیل دنبال کلمات کلیدی خاصی که از قبل مشخص شده بگردد.
حال اگر ایمیل ها به صورت ساده یا plain text ارسال نشده باشند (که نمی شوند) ایمیل ها ابتدا باید رمزگشایی شده و سپس متن آنها مورد جستجو برای یافتن کلمات کلیدی قرار بگیرد. اگر برنامه آن ایمیل را مشکوک تشخیص داد آن ایمیل اصطلاحآ flag می شود، یعنی نشانه گذاری می شود برای اینکه یک «انسان» (!) آن را بررسی کند.
بر فرض اینکه تا اینجای کار به سادگی و خوبی انجام شود، از اینجا به بعد تازه باید صاحب آن آدرس ایمیل شناسایی شود که خود فرایندی بسیار دشوار و وقت گیر است.
نکته اینجا است که انجام مراحل بالا که توضیح داده شد حتی برای فقط یک ایمیل ارسال شده کاری بسیار دشوار، هزینه بر و وقت گیر است. در نتیجه امکان انجام آن در مقیاس بالا عملآ وجود ندارد.
در انتها خوب است بدانید که تمام تکنولوژی هایی که ما امروزه از آنها استفاده می کنیم سال ها قبل طراحی، تهیه و تنظیم شده اند و همیشه قبل از ارائه یک تکنولوژی برای دسترسی عموم ابر قدرت های دنیا که آن تکنولوژی را ابداع کرده اند راه چاره ای برای خودشان در جایی مخفی می کنند که تا زمان منسوخ شدن آن تکنولوژی کسی از آن خبر دار نمی شود. این را گفتم که بدانید از نظر تئوری قطعآ امکان شنود و شکستن خیلی از الگوریتم های رمزنگاری و راه های امنیتی که ما از ایمن بودن آنها اطمینان داریم وجود دارد و این «ایمنی» ایمنی نسبی است چون «عموم» راه نفوذ به آن را نمی داند پس برای استفاده عموم مناسب و ایمن است. اما انجام این فرایند رمزگشایی در مقیاس بزرگ معقول و عملی نیست.
قبل از هر چیز، استفاده از جیمیل را به شما توصیه می کنم. اگر آدرس جیمیل ندارید می توانید همین الان از اینجایکی برای خودتان بسازید.
مهم: از قسمت Settings (بالای صفحه سمت راست) گزینه Always use HTTPS را انتخاب کرده و روی Save changes کلیک کنید (راهنما؟). این باعث می شود شما همیشه از یک پروتوکول رمز نگاری شده استفاده کنید. اگر نمی دانید «پروتوکول رمز نگاری شده» چیست نگران نباشید، چیز خوبیه.
مهم: استفاده از HTTPS به تنهایی امکان شنود – دسته جمعی – ایمیل را نزدیک به صفر می رساند. روش زیر نیاز به استفاده از کلید یا رمزی دارد که باید در دسترس فرستنده و هم گیرنده باشد. در نتیجه مناسب برای پیام های شخصی ای است که شما با یک یا چند نفر خاص رد و بدل می کنید.
* روش زیر فقط برای ایمیل های Gmail کار می کند.
* برای استفاده از این روش باید از مرورگر Firefox استفاده کنید.
* این مراحل را باید هم فرستنده و هم گیرنده ایمیل انجام دهند.
مرحله اول، برنامه رایگان GnuPG را دانلود و نصب کنید (نسخه ویندوز).
مرحله دوم، افزونه FireGPG را روی فایرفاکس نصب کنید.
مرحله سوم، حالا باید دو نوع کلید بسازیم. یکی کلید عمومی و یکی کلید خصوصی. اگر متوجه معنی این کلمات نمی شوید نگران نباشید. فعلآ فقط طبق راهنما جلو بروید در انتها نحوه عملکرد اینها را توضیح می دهم.
برای این کار در فایرفاکس از منو Tools وارد FireGPG و سپس Key Manager شده و روی New Key کلیک کنید (راهنما؟).
حالا پنجره باز شده را طبق راهنما پر کنید و روی Generate Key کلیک کنید. این کار شاید یک دقیقه طول بکشد، باید صبر کنید. حالا کلید های شما آماده هستند. فقط باید آن را از لیست انتخاب کنید و روی Export to server کلیک کنید تا کلید عمومی شما برای استفاده فرستنده ایمیل (به شما) قابل دسترس باشد.


نکته: حالا هر کس بخواهد به شما ایمیل بفرستد باید از قسمت Key Manager ایمیل شما را سرچ کند و کلیدی که ساختید را نصب کند. این یعنی دوست شما که می خواهید بهش ایمیل رمزنگاری شده بفرستید هم باید مثل مرحله سوم کلید بسازد سپس شما باید مثل عکس زیر ایمیل او را سرچ کنید و کلیدی که ساخته است را نصب کنید. اگر متوجه نحوه عملکرد این سیستم نمی شوید نگران نباشید.


حالا وقتی وارد پنجره نوشتن ایمیل جدید در جیمیل می شوید تصویر زیر را مشاهده می کنید:


دقت کنید که اون عکس قفل همیشه موقع ارسال ایمیل روشن باشد. اگر دکمه Sign را هم روشن کنید امضای دیجیتال شما به نامه اضافه می شود که ضامن این است که این ایمیل واقعآ از طرف شما ارسال شده.
در تصویر بالا می بینید که دوست من می خواهد یک ایمیل مهم برای من بفرستد. وقتی روی Send کلیک می کند پنجره ای باز می شود و «کلید عمومی» من (گیرنده) را می پرسد. دوست من هم قبلآ کلید من را (از قسمت سرچ که در بالا توضیح داده شد) اضافه کرده. در نتیجه فقط آن را انتخاب می کند و ok می کند.
سپس در پنجره باز شده رمز ایمیل خودش (رمز جیمیل) را وارد می کند و ایمیل فرستاده می شود.
نکته: این ساخت کلید و… فقط یک بار باید انجام شود. در نتیجه ارسال این ایمیل ها اصلآ کار سخت یا وقت گیری نیست بلکه بعد از اینکه برنامه را به درستی تنظیم کنید خیلی ساده و سریع است.
حالا ببینیم من چی در ایمیلم دریافت می کنم،




همانطور که می بینید اطلاعات رمز نگاری شده، در پنجره باز شده من باید رمزی که انتخاب کردم یا همان کلید خصوصی ام را وارد کنم تا بتوانم متن اصلی را ببینم:




نکات مهم:
* در صورت دریافت پیغام خطا در رابطه با برنامه GnuPG از گزینه Options افزونه FireGPG و سپس قسمت GPG فایل برنامه GnuPG را انتخاب کنید. (راهنما؟)
* این روش برای متن های فارسی هم کار می کند.
* وقتی در حال نوشتن ایمیل هستید ایمیل به صورت رمز نشده در سرور جیمیل ذخیره می شود (قابلیت auto save). اگر نگران این موضوع هستید از قسمت Options افزونه FireGPG و سپس قسمت Gmail گزینه Disable autosave feature را تیک بزنید. (راهنما؟)
* عملیات امضا زدن یا رمزنگاری را با فایل ها هم می شود انجام داد. برای این کار از گزینه File operations استفاده کنید. (راهنما؟)
نحوه کار این روش رمز نگاری چگونه است؟
اگر اطلاعاتی راجع به رمزنگاری نداشته باشید احتمالآ با مراحل بالا کمی گیج شده اید. بگذارید با هم ببینید مرحله به مرحله چه کار کردیم؟
برنامه GnuPG را دانلود کردیم که یک برنامه رایگان است که قابلیت های رمزنگاری را به ما می دهد.
افزونه FireGPG رابط بین GnuPG و مرورگر اینترنت ما است.
در این روش رمزنگاری هر فرد دو کلید دارد. یکی عمومی که هر کسی می تواند به آن دسترسی داشته باشد ویکی خصوصی که تحت هیچ شرایطی نباید کسی آن را بداند و فقط باید در حافظه شما باشد.
وقتی نوشته ها با استفاده از کلید عمومی رمز می شود و به اون نوشته های چرت و پرت تبدیل می شود قابل رمزگشایی نیست مگر با استفاده از کلید خصوصی. در نتیجه تا وقتی کلید خصوصی ایمن باشد اطلاعات نیز ایمن است.
ما هم همین کار را کردیم، اول یک کلید عمومی ساختیم و آن را در یک سرور اینترنتی به اشتراک گذاشتیم تا دوستمان آن را دانلود کند (آنجا که روی Import selected keys کلیک کردیم). می توان به جای Export to server گزینه Export to file را انتخاب کرد تا حتی کلید عمومی هم در معرض دید نباشد و می شود کلید عمومی را به صورت یک فایل مثلآ روی یک فلش دیسک به گیرنده داد.
سپس ایمیل را نوشتیم و برنامه آن را با استفاده از کلید عمومی گیرنده رمز کرد و فرستاد.
سپس من (گیرنده) ایمیل را باز کردم، ابتدا فقط همان متن مبهم را می توانستم ببینم، اما همانطور که در عکس بالا می بینید بعد از وارد کردن کلید خصوصی ام متن رمزگشایی شد.


مسابقه!
متن زیر را رمزگشایی کنید و دستور العمل آن را اجرا کنید،
VDODP$#WDEULN#PLJDP$#JR5FRQWDFWSDJH#A#VXEMHFW=#566
(می توانید متن فوق را از این فایل بگیرید)
* این متن ربطی به کلید خصوصی و عمومی و… ندارد. خودتان را گیج نکنید، یک رمزگشایی ساده است.
زنگوله به اولین کسی که موفق شود این متن را رمزگشایی کند یک ماه اکانت ویژه رپید شیر هدیه می دهد!



آیا شنود امکان پذیر است؟ چگونه ایمیل ها را رمز نگاری کنیم؟

۱ نظر:

نظر شما بلافاصله منتشر خواهد شد. این بلاگ خبری، امکانات اندکی دارد و براساس اعتماد و خودکنترلی اداره می‌شود. لطفا از موضوع خارج نشوید و خویشتندار باشید.

Twitter Updates

Twitter Updates

    follow me on Twitter