قویترین سیستم رمزگذاری جهان


نزدیک به ۲۰ سال از پیاده‌سازی OpenPGP گذشته اما هنوز چندان رایج و عمومی نیست! فکر کردم مهمترین دلیلش کمی پیچیده بودن و از طرف دیگه نبود یک معرفی و آموزش ساده باشه.
OpenPGP یک پروتکل رمزنگاری بسیار پیشرفته و فوق‌العاده قویه! با اینکه ۲۰ سال از معرفیش گذشته اما هنوز یک گزارش هم در مورد شکستن اون دیده نشده! حتی گزارش‌هایی وجود داره که سازمان‌های امنیتی بزرگ مثل FBI و NSA در مواردی که نیاز بوده، نتونستن فایل‌های رمز شده با این روش رو باز کنند! خلاصه اگه از من می‌شنوید این سیستم کاملا قابل اطمینانه و از بزرگ‌ترین هکرها تا سازمان‌ها و کشورها نمیتونن کاری در مقابلش بکنن! آخر این مطلب لینک‌هایی در این مورد هست.

OpenPGP استانداردی برای نوعی از رمزگذاری به نام «رمزگذاری نامتقارن» هست. عموما اگر شما احتیاج به رمزگذاری داشته باشید، فایل رو Zip می‌کنید و روی اون پسورد می‌گذارید. این روش متقارنه چون برای رمز کردن و رمزگشایی از یک کلید استفاده شده. در روش نامتقارن دو کلید وجود داره. یکی کلید عمومی و دیگری کلید خصوصی. هر چیزی که با یکی از این کلیدها رمز بشه، فقط با کلید دیگه باز خواهد شد. هر کسی یک جفت کلید مخصوص خود دارد. شما کلید عمومی رو به همه‌ی دوستان و کسانی که ارتباط دارید میدین و حتی روی اینترنت یا سرورهای مخصوصِ این کار آپلود می‌کنید اما کلید خصوصی رو برای خودتون و در جایی امن نگه می‌دارید.
روش کار به این شکله که وقتی من می‌خوام برای آقای الف فایلی رمز شده رو بفرستم، در مرحله اول باید کلید عمومی آقای الف رو بدست بیارم. برای این کار یا از خودش می‌خوام که برام بفرسته، یا ID کلیدش رو بهم بده تا کلید رو از اینترنت بگیرم، یا اسم یا ایمیلش رو توی یکی از سرورها سرچ می‌کنم تا کلیدش رو پیدا کنم. در مرحله دوم، فایل مورد نظر رو با «کلید عمومی آقای الف» که گرفتم رمز می‌کنم و فایل رمز شده رو براش می‌فرستم. در مرحله سوم و آخر آقای الف فایل رمز رو با کلید خصوصی خودش باز می‌کنه. البته ماجرا در عمل خیلی ساده‌تره چون همه‌ی کارها رو برنامه‌ها خودکار انجام می‌دن! برای فهم راحت‌تر، این شکل رو ببینید
کار دیگه‌ای که با این روش انجام میشه، امضا کردن هست. امضا کردن برای اینه که طرف مقابل مطمئن باشه چیزی که براش فرستاده شده حتما از طرف شما و نه از هیچ کس دیگه‌ای فرستاده شده. روش کار برعکس بالاست. عکس رو ببینید
توضیح دیگه اینکه PGP یا GnuPG که بهش GPG میگن هر دو برنامه‌های پیاده‌سازی OpenPGP هستند و تنها با این تفاوت که اولی پولی و دومی رایگانه!

خوب حالا که توضیحات اولیه رو دادم بریم سراغ برنامه که خودش همه‌ی این کارها رو انجام میده. ما اینجا از برنامه‌ای به اسم GPA استفاده میکنیم که تقریبا راحت‌ترینه! برای ویندوز به سایت www.gpg4win.org برید و فایل برنامه رو دانلود کنید و نصب کنید و در آخر، برنامه GPA رو اجرا کنید. چون شما الان کلید ندارید، همون اول بهتون پیشنهاد میده که کلیدهاتون رو بسازید! قبول کنید! در پنجره‌ای که میاد، تنظیمات بالای صفحه رو رها کنید و اسم کاملتون رو در جای خودش بنویسید. ایمیل رسمی خودتون رو هم زیرش بنویسید. Expire رو علامت نزنید و Ok کنید. برنامه از شما Passphrase می‌خواد. یک عبارت رمز درست و حسابی بنویسید. اگه برای همچین امنیتی میخواین رمزتون رو بگذارید ۱۲۳۴۵، بهتره همین الان این صفحه رو ببندید و کلمه security رو تو گوگل سرچ کنید! لطفا password ندین! passphrase بدین! حداقل چیزی شبیه به این "#109 Hamishe_shomare-YEKE?!" . بعد از این مرحله برنامه شروع به تولید کلیدها میکنه. این کار ممکنه زمان‌بر باشه و از طرف دیگه چون برنامه به مقدار زیادی عدد تصادفی نیاز داره، از حرکات موس و دکمه‌های کیبورد که شما میزنید استفاده میکنه. پس راحت برید کارهای دیگه رو مثل تایپ یا اینترنت‌گردی انجام بدین!
کلید شما آماده شده. روی اون یک کلیک کنید و نگاهی به خصوصیاتش در پایین صفحه بندازید. هر کلیدی یک fingerprint داره که این اثر انگشت کاملا منحصر به فرده و برای چک کردن کلید استفاده میشه. هشت کاراکتر آخر اون به اسم Key ID خونده میشه که اکثرا منحصر به فرده و بیشتر برای گرفتن کلید از اینترنت استفاده میشه. مثلا Key ID من 109F2591 هست. برای گرفتن کلید عمومی من در حالی که به اینترنت وصل هستید از منوی Server گزینه‌ی Retrieve Keys رو بزنید و ID بالا رو بدین تا کلید عمومی من به مجموعه کلیدهای شما اضافه بشه!
روی کلیدتون کلیک راست کنید و گزینه‌ی Export رو بزنید و مسیر ذخیره رو به برنامه بدین. این فایل کلید عمومی شماست! میتونید با Notepad بازش کنید و ببینیدش! این فایل رو میتونید به دوستانتون بدین.
دوباره روی کلید کلیک راست کنید و گزینه‌ی Backup رو بزنید و مسیری به برنامه بدین. این فایل کلید عمومی به اضافه کلید خصوصی شماست! این فایل رو در یک جای امن نگه دارید و مواظب باشید دست کسی بهش نرسه!
دوباره روی کلیدتون کلیک کنید و از منوی Server روی گزینه Send Keys کلیک کنید تا کلید عمومی شما برای سرورهای اینترنتی فرستاده بشه و در دسترس همه قرار بگیره.
اگر از ویندوز XP استفاده میکنید، روی هر فایلی که کلیک راست کنید، گزینه‌های Encrypt و Decrypt و غیره رو میبینید. (اگه ندیدین یه ریستارت کنید!) توی ویندوز سون ممکنه این گزینه‌ها نیاد که در این صورت از File Manager خود برنامه استفاده کنید.
خوب آموزش تموم شد! البته خیلی موضوعات جالب دیگه هم وجود داره که اگه بخوام اینجا بنویسم دیگه خیلی طولانی میشه و البته کم کم خودتون یاد میگیرید!
فقط چند نکته پایانی:
۱- سعی کنید کلید عمومی رو در اختیار همه دوستان و کسانی که باهاشون ارتباط دارید قرار بدین. ۲- از کلید خصوصی و عبارت رمزتون حسابی مراقبت کنید تا دست کسی نیفته وگرنه تمام فایل‌هایی که تا حالا رمز کردین قابل باز کردن هست. (البته راه‌هایی برای لغو یک کلید برای بعد وجود داره!) ۳- عبارت رمز رو هیچ جا ننویسید! به خصوص توی یک فایل توی کامپیوتر!! حتی برای یک لحظه! فقط اون رو توی مغزتون نگه دارید و فقط وقتی برنامه ازتون خواست، مستقیم توی کادر مربوطه وارد کنید. ۴- روی کامپیوتر آنتی‌ویروس و فایروال قوی و آپدیت بگذارید تا مطمئن باشید هیچ Key-logger یا Trojan کلید شما رو نمی‌دزده یا عبارت رمزتون رو نمی‌خونه.

لینک‌ها:
Wikipedia PGP
Security quality
How secure is PGP
Gpg4win 2.0.4
My Public Key

::samic::

نوشته شده در شهریور 89

مطالب گذشته