جمعه، مرداد ۳۰، ۱۳۸۸

فرستادن ایمیل رمز شده از Gmail

توضیح ضروری

  • اگر راهنمای گام به گام در نوشته‌ی قبل را تا مرحله‌ی سوم پیش رفته باشید می‌توانید از این راهنما استفاده کنید. در غیر این صورت افزونه‌ی معرفی شده کار نمی‌کند.
  • رمزیدن اطلاعات با کلیدِ گیرنده‌ی پیام انجام می‌شود نه فرستنده. بنابراین گیرنده‌ی پیام شما هم باید از مبانی رمزیدن و رمزگشایی با کلید عمومی با خبر باشد و از همه مهم‌تر، کلیدِ خودش را ساخته باشد.
  • اگر هیچ گیرنده‌ای را که آشنا به این روش باشد نمی‌شناسید این روش لااقل به شما کمک می‌کند که یک سری اطلاعات را برای خودتان محرمانه نگه دارید و نگران دستگیر شدن و بازجویی کامپیوترتان هم نباشید.
  • این راهنما برای Firefox روی Windows نوشته شده است.

راهنمای گام به گام

  1. افزونه‌ی FireGPG برای فایرفاکس را نصب کنید.
    این لینک را با فایرفاکس باز کنید و با نادیده گرفتن پیام‌های هشدار افزونه را نصب کنید.
  2. فایرفاکس را restart کنید.
  3. افزونه را تنظیم کنید:
    تنظیماتِ اولیه را (که بلافاصله بعد از restart کردن فایرفاکس دیده می‌شوند) Cancel کنید؛ سپس در منوی Tools فایرفاکس، منوی FireGPG را باز کنید و گزینه‌ی Options را انتخاب کنید. در بالای صفحه‌ی باز شده، برگه‌ی GPG را باز کنید و گزینه‌ی Enable GPG-Agent را تیک بزنید.
    می‌توانید به تنظیماتِ Gmail هم سرکشی کنید و ببینید چه گزینه‌هایی را نیاز دارید.
  4. تغییرات Gmail را ببینید:
    حالا وقتی وارد اکانت جی میل‌تان شوید و بخواهید یک ایمیل compose کنید، می‌بینید که گزینه‌های زیر به صفحه‌ی تشکیل ایمیل اضافه شده‌اند:



    اگر گزینه‌ی Encrypt و Inline را همزمان انتخاب کنید، ایمیلی که می‌فرستید به طور خودکار رمزیده می‌شود. البته پیش از ارسال ایمیل از شما پرسیده می‌شود که کدام کلید عمومی را می‌خواهید انتخاب کنید (که باید همان کلید گیرنده باشد).
    گزینه‌ی Encrypt file and attach هم می‌تواند کار شما را آسان کند. این گزینه رمزیدن و ضمیمه کردن فایل را هم‌زمان انجام می‌دهد. البته اگر این گزینه را انتخاب کنید، برای امنیت بیشتر ایمیل‌تان از طریق سرور SMTP فرستاده خواهد شد؛ در نتیجه پیش از ارسال باید پسورد اکانتِ Gmail‌تان را یک بار دیگر وارد کنید.

چهارشنبه، مرداد ۲۸، ۱۳۸۸

رمز کردن اطلاعات

اين نوشته به يک روش موثر برای رمزيدن و خصوصی کردن اطلاعات می پردازد. مخاطب این نوشته کسانی هستند که با کامپیوتر‌هایی با سیستم عامل ویندوز کار می‌کنند. استفاده از همین ابزارها در لینوکس بسیار ساده‌تر است و در اغلب توزیع‌های لینوکس به طور پیش‌فرض نرم‌افزار gnupg و دیگر ابزارهای رمزیدن را دارند. از ابزارهای موجود برای کامپیوترهای مکینتاش چیزی نمی‌دانم.

چه وقت‌هایی مفید است؟

  • وقتی که می خواهید با احتمال بسیار بالا مطمئن باشید که ایمیلی را که می‌فرستید تنها گیرنده‌ی مورد نظر می‌تواند بخواند؛ و در بين راه ارسال یا حتی پس از دریافت برای کس دیگری قابل خواندن نیست.
  • وقتی می‌خواهید اطلاعات خاصی را (نوشته، عکس و یا ویدئو) تنها برای خود یا فرد خاصی قابل دسترسی کنید.
  • وقتی می‌خواهید یک گروه زیرزمینی درست کنید و از شنود سازمان‌های اطلاعاتی دولتی در امان باشید. در واقع، ابداع‌کننده‌ی اصلی این روش، یعنی فیل زیمرمن، از فعالان ضدهسته‌ای در ایالات متحد بود که برای تدارک دیدن تظاهرات و کارشکنی در انتقال مواد هسته‌ای نیاز به حذف شنود FBI داشت. احتمالاً فعالانِ جنبشِ سبز هم برای دعوت به تظاهرات (برای مثال تظاهراتِ ضربتی یا blitz) با کمک این روش بتوانند راهی بهتر از اعلامِ عمومیِ آن در بالاترین و دعوتِ تمامِ باتوم‌به‌دستانِ شهر در محل بیابند.
  • وقتی نگران‌اید که اطلاعات و محتوای ایمیل‌تان توسط شرکت‌های فراهم‌آورنده‌ی ایمیل مجانی مثل گوگل و یاهو برای تهیه‌ی یک پروفایل تجاری از شما و هدف‌گیری تبلیغاتی‌تان - و نیت‌های شوم دیگر، کسی چه می‌داند - استفاده شود.
  • وقتی می‌خواهید مطمئن شوید نویسنده یا تولید کننده‌ی یک مطلب حتماً همان کسی است که ادعا می‌کند.
  • وقتی روزانه تعداد زیادی ایمیل و اسپم دریافت می‌کنید، می‌توانید بگویید تنها به ایمیل‌هایی جواب می‌دهید که رمزیده باشند (این کاری است که مخترع WWW، یعنی Sir Tim Berners Lee و تعدادی دیگر از همکاران‌اش در Cern انجام داده‌اند). سرورهای فرستنده‌ی اسپم به دلیلِ هزینه‌ی محاسباتی رمزیدن نمی‌توانند ایمیل رمزیده بفرستند.

بعضی از کاربردهایی که در این نوشته آمده منحصر به بروزر Firefox هستند. در هر صورت بد نیست که این بروزر را روی کامپیوتر خود داشته باشید (لینک دانلود [+]). بقیه‌ی ابزارهای لازم در راهنمای گام به گام توضیح داده شده‌اند.


راهنمای گام به گام

  1. نرم افزار رایگان gpg4win را دانلود کنید.
    برای این کار به صفحه‌ی دانلود نرم‌افزار بروید. توصیه می‌کنم نسخه‌ی light را دانلود کنید که کم‌حجم‌تر است و کاملاً نیازهای معمول را برآورده می‌کند. برای دانلود با کلیک راست روی لینک دانلود و انتخاب گزینه‌ی Save as فایل را در جایی که در خاطرتان بماند ذخیره کنید. اگر دانلود حدود 12 مگابایت (25 مگابایت نسخه‌ی کامل) برایتان مدتی طول می‌کشد شاید دوست داشته باشید در این مدت کمی از تاریخچه و مبانی نظری رمزیدن را در این مقاله‌ی طولانی بخوانید.

  2. نصب نرم‌افزار gpg4win:
    بعد از اجرای فایل و زدنِ یک بار Next می‌توانید از یک فهرست برنامه‌های جانبی را که نصب می‌شوند انتخاب کنید. GnuPG، GPA و GPEX لازم‌اند. در صورتی که برای ایمیل فرستادن از Outlook استفاده می‌کنید می‌توانید GPOL را هم نصب کنید. ClawsMail لازم نیست. برای بقیه‌ی صفحات Next بزنید تا نصب کامل شود.

  3. کلید رمزیدنِ خود را بسازید:
    در منوی Start و در بین Programs، فهرستی با نام Gpg4Win را بیابید و در آن GPA را اجرا کنید. وقتی برای اولین بار این برنامه را اجرا می‌کنید گزینه‌ی Generate Key را خواهید دید. این گزینه را انتخاب کنید و این مراحل را انجام دهید:
    • نام و ایمیلی که کلیدتان به آن مربوط می‌شود را وارد کنید
    • یک Passphrase (عبارت عبور) که طولانی، امن، غیر قابلِ حدس زدن باشد اما به یاد خودتان بماند وارد کنید. توجه کنید که این با Password متفاوت است و می‌توانید یک جمله که در بین کلمات‌اش فاصله هستند وارد کنید، که توصیه می‌شود شامل اعداد و کارکترهای غیر از حروف هم باشد.

    ساختنِ کلید مدتی طول می‌کشد. پس از ساخته شدن کلید، از شما پرسیده می‌شود که آیا کلید خصوصی را می‌خواهید در جایی ذخیره کنید یا نه. توجه کنید که کلید خصوصی ناموسی‌ترین چیزِ دنیای اطلاعات است و هیچ کس نباید به کلید خصوصی شما دسترسی داشته باشد. می‌توانید آن را روی یک USB Drive ذخیره کنید اما خاطرتان باشد که همه‌ی خلوت و امنیتی که این روش برای شما ایجاد می‌کند تا وقتی است که کلید خصوصی‌تان دست کسی نیفتد. البته پس از داشتن کلیدِ خصوصی، دانستنِ Passphrase (عبارتِ عبور) هم لازم است اما قسمتِ سخت کار برای نفوذگران، دانستنِ کلید خصوصی است.

  4. کلید عمومی‌تان را به یک Key Server بفرستید:
    در صفحه‌ی GPA اکنون می‌توانید کلید ساخته شده خودتان را ببینید. کلیدهای خصوصی در این صفحه به رنگ زرد و کلیدهای عمومی به رنگ آبی نشان داده می‌شوند. اگر به تصویر زیر یا قسمت Key Manager نرم‌افزار دقت کنید می‌بینید که در واقع یک جفت کلید ساخته شده است:

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

    برای در دسترس قرار دادنِ کلیدِ عمومی‌تان باید آن را به یک Key Server بفرستید. برای این کار روی تصویر کلیدتان در GPA کلیک راست کنید و در منوی باز شده گزینه‌ی Send Keys را انتخاب کنید. بعد از ارسالِ موفقیت‌آمیزِ کلید عمومی، هر کس خواهد توانست با جستجوی ایمیل یا Key ID شما آن را بیابد و دانلود کند (به اصطلاح، آن را به «دسته کلید» (keyring) خودش اضافه کند).
    شما هم می‌توانید کلید عمومی آشنایان‌تان را در صورت وجود در Key Server دریافت کنید. کافی است Key ID آن‌ها را بدانید. گاهی هم می‌توانید در دیتابیسِ یک Key Server برای یافتنِ یک ایمیل یا نام خاص جست‌وجو کنید.
    پس از دریافت یک کلید، باید از اصالتِ آن مطمئن شوید. برای اطمینان از اصالت، معمولاً از اثر انگشت (Fingerprint) کلید استفاده می‌شود: اگر روی کلید خودتان کلیک کنید در اطلاعات پایین صفحه این اثر انگشت را به شکل یک عبارت دراز متشکل از اعداد و حروف می‌بینید. وقتی کلیدِ عمومی یک دوست را دانلود کردید بهترین کار این است که اثر انگشت کلیدش را با او تلفنی چک کنید. وقتی مطمئن شدید کلید مالِ اوست، آن را امضا می‌کنید.

  5. نرم‌افزار رمزیدن خود را امتحان کنید:
    این قسمت در واقع آزمونِ تمامیت (integrity)ِ نرم‌افزارِ دانلود شده است که به شما اطمینان می‌دهد نسخه‌ی دانلود شده نسخه‌ای دست نخورده است.
    برای این مرحله: در همان GPA، منوی Server را انتخاب کنید و گزینه‌ی Retrieve Keys را بزنید. از شما key ID خواسته می‌شود، این مقدار را وارد کنید: 1CE0C630. این آی دی متعلق به کلید ورنر کخ (Werner Koch) است که سازنده‌ی نرم‌افزار است. اگر Key Server مربوطه سر پا باشد، می‌بینید که در فهرست کلیدها کلیدِ عمومیِ او ظاهر می‌شود:

    همان طور که در شکل بالا می‌بینید، روی کلید آقای کخ کلیک راست کنید و گزینه‌ی Sign Keys را انتخاب کنید. با تأیید این گزینه، شما در واقع کلیدِ عمومیِ آقای کخ را با کلیدِ خصوصی خودتان «امضا» می‌کنید (امضای دیجیتال) بنابراین از شما خواسته می‌شود که «عبارتِ عبور» مربوط به کلیدتان را وارد کنید، که همان عبارتی است که موقع ساختنِ کلید وارد کردید. وقتی کلید عمومیِ شخصی دیگر را امضا می‌کنید به این مفهوم است که به تعلقِ آن کلید به شخص و ایمیلِ ادعا شده اطمینان دارید.
    آقای کخ نرم‌افزارِ خودش را امضا کرده است و برای این که مطمئن شوید نسخه‌ی اصلی و دست نخورده‌ای را دانلود کرده‌اید، می‌توانید در وب‌سایتِ نرم‌افزار، امضای مرتبط را (که به شکل یک فایل با نام همان فایل قابل نصب و با پسوند SIG است) در قسمتِ OpenPGP Signatures بیابید و آن را در همان محلی که فایل قابلِ نصبِ نرم‌افزار را دانلود کرده بودید، دانلود کنید. سپس به همان محل (فولدر) بروید (مثلاً از طریقِ My Computer)، و روی نامِ فایل امضا کلیکِ راست کنید:

    مانند شکل فوق، روی گزینه با نام More GpgEX Options بروید (این گزینه بعد از نصبِ نرم‌افزار ایجاد می‌شود) که یک فهرست تازه را باز می‌کند و در آن فهرست گزینه‌ی Verify را انتخاب کنید. نتیجه باید به شکلِ زیر باشد که نشان می‌دهد نسخه‌ی دانلود شده‌ی شما دارای امضای تأیید شده‌ی آقای کخ است:

  6. چگونه یک فایل را با یک کلید عمومی برمزیم:
    ابتدا کلید عمومی من را دریافت کنید (در GPA، منوی Server را انتخاب کنید و گزینه‌ی Retrieve Keys را بزنید. از شما key ID خواسته می‌شود، این مقدار را وارد کنید F0BC834E). سپس در GPA روی آیکون Files کلیک کنید تا File Manager باز شود:
    در File Manager از دستور Open برای یافتن انتخاب فایل استفاده کنید. اگر با لینوکس کار نکرده باشید شکلِ این فایل‌یاب کمی ناآشنا به نظرتان خواهد آمد. بعد از یافتن فایل‌های مورد نظر و افزودن آن‌ها به فهرستِ File Manager، با آیکون Encrypt می توانید آن‌ها را برمزید. در یک پیام، از شما سوآل می‌شود که کدام کلیدِ عمومی را برای رمزیدن انتخاب می‌کنید، آیا می‌خواهید علاوه بر رمزیدن امضا هم بکنید (امضا تنها با کلیدهای خصوصی ممکن است) و آیا استفاده از گزینه‌ی Armor را در نظر دارید یا نه.
    • کلید عمومی، متعلق به گیرنده‌ی پیام است، و در این‌جا می‌توانید برای آزمایش فایل را با کلید عمومی من رمز کنید و برای ایمیل من بفرستید. در صورت دریافتِ پیام رمزیده و قابل رمزگشایی، به شما پاسخ خواهم داد.
    • امضا برای تأیید اصالت پیام است و این که شما آن را تهیه کرده‌اید، و تنها با کلید خصوصی‌تان قابل تهیه است. توجه کنید که عبارت عبور تنها وقتی از شما خواسته می‌شود که می‎خواهید از کلید خصوصی‌تان استفاده کنید، و این تنها در دو حالت اتفاق می‌افتد: یکی رمزگشایی از پیام‌هایی که برای شما فرستاده شده‌اند، و دیگری امضا کردن.
    • گزینه‌ی Armor برای رمزیدن فایل با کارکترهای متعارف (تنها اعداد و حروف انگلیسی) است. این گونه رمزیدن قابلیت انتقالِ رمز را در محیط‌های گوناگون بالا می‌برد و بهتر است تقریباً همیشه از این روش استفاده کنید (مگر وقتی که برای استفاده‌ی شخصی یک فایل بزرگ، مثلاً ویدئو یا عکس را با کلید عمومی خودتان رمز می‌کنید).

    اگر از گزینه‌ی فوق استفاده کنید، فایل رمزیده با پسوند asc و همان نام فایل اصلی در همان محل فایل اصلی ذخیره خواهد شد. در غیر این صورت فایل رمزیده با پسوند gpg ذخیره خواهد شد، که قابل ضمیمه کردن به ایمیل و ارسال است.

  7. چگونه فایلی را رمزگشایی (decrypt) کنیم: پس از دانلود فایل با پسوند asc یا gpg به محل فایل بروید و روی آن کلیک راست کنید، و گزینه‌ی Decrypt را انتخاب کنید. اگر فایل با کلیدِ عمومی شما رمز شده باشد و کلید خصوصی را در اختیار داشته باشید، با پرسیدنِ Passphrase از شما فایل رمزگشایی می‌شود.

در قسمت بعدی این نوشته به استفاده از یک افزونه‌ی فایرفاکس خواهم پرداخت که کار را برای رمزیدن و رمزگشایی را به وسیله‌ی این بروزر بسیار آسان می‌کند.