gpg و ارتباط رمزنگاری‌شده(ارتباط امن) – قسمت دوم

در مطلب قبل یک مقدمه‌ای بر gpg و ارتباط امن داشتیم و این که چه کارا میشه باهاش کرد.
در این قسمت آموزش به ساخت کلید gpg می‌پردازم…

اصلا GPG چیه؟
GPG یا GnuPG مخفف GNU Privacy Guard است که نسخه‌ای آزاد از PGP می‌باشد.
یک نرم‌افزار رمزنگاری و رمزگذاریه که قرار نحوه‌ی پیاده سازیش روی چیزای مختلف رو توی یک سری مطلب سریالی بنویسم…

خب بریم سراغ نصبش؛
در همین اول چندین نکته رو باید در مورد ساخت کلید بگم که مهم هستن، در نسخه‌های اوبونتو ۱۶.۱۰ به بالا بسته‌های gpg و gpg2 یک نخسه هستند و gpg2 به gpg لینک شده و عملا هر دو از یک نگراش  کتابخانه و بسته استفاده می‌کنن.
اما در نسخه‌های قدیمی‌تر این موضوع فرق می‌کنه، یعنی بسته‌های gpg و gpg2 فرق دارن.
در طول آموزش بطور کل هم فرقاشون رو توضیح میدم هم یک سری نکات دیگه، اما بطور کل پیشنهادم برای توزیع‌های زیر ۱۶.۱۰ مثل ۱۶.۰۴ و پایین‌تر اینه که از بسته gpg2 استفاده شه چون بهتره.

به دلیل تفاوت نسخه‌ gpg و gpg2 در نگارش‌های زیر ۱۶.۱۰ من کل آموزش رو با دستور gpg2 به جلو میبرم با ذکر این نکته که gpg2 و gpg در نگراش‌های بالای ۱۶.۱۰ یه نسخه هستند.

ابتدا ما نیاز به نصب بسته‌ی gnupg و gpg2 داریم پس دستور زیر رو وارد می‌کنیم:

حالا میریم سراغ ساخت کلید:

حالا میپرسه که کدوم نوع کلید رو می‌خواید (Please select what kind of key you want) :
ما گزینه یک رو می‌خوایم که نوشته (1) RSA and RSA (default)، پس گزینه 1 رو وارد می‌کنیم و اینتر میزنیم.

حالا میگه که کلید‌های RSA میتونن بین ۱۰۲۴ تا ۴۰۹۶ بیت طول داشته باشن.
و بعد میپرسه شما چه اندازه‌ی کلیدی مد نظرتونه؟
ما میزنیم 4096. اینجا به توضیح نیازه که اگر سیستمتون ضعیفه مجبورید از ۱۰۲۴ یا ۲۰۴۸ یا مقدایر دیگه‌ای برای ساخت کلید استفاده کنید،‌ چون برای ساخت کلید ۴۰۹۶ بیتی به پردازش زیادی نیازه، یعنی شما باید برنامه‌های مختلفی رو باز کنید تا برنامه gpg2 از اطلاعات مختلف توی حافظه برای ساخت اطلاعات تصادفی کلید استفاده کنه. البته این که میگم پردازش زیاد منظورم اینه شما باید برنامه‌های زیادی باز کنید و اقدام به تایپ کردن و حرکت موس و از این دست کارا انجام بدید، خب ممکنه یه سیستم ضعیف باشه و نکشه.
حالا چرا ۴۰۹۶ گذاشتیم؟ چون که هر چی طول کلید بیشتر باشه قطعا شکستنش سخت‌تر خواهد بود پس ما هم ۴۰۹۶ رو میزنیم و میریم سراغ مرحله بعد.

حالا از ما می‌خواد که تاریخ انقضای کلید رو بهش بدیم:
من 0 زدم چون نمی‌خوام کلیدم منقضی شه پس شما هم اگر دوست داشتید ۰ بزنید.

مرحله بعد هم میپرسه اطلاعات درسته؟
میگیم بله و y مینویسیم و اینتر می‌کنیم.

در مرحله بعد هم میگه GnuPG نیاز به یک سری مشخصات ما داره برای ساخت کلید(اطلاعات شخصی نه چندان مهم):
میپرسه Real Name:
من زدم: Sosha

بعد Email Address:
من زدم: [email protected]

Comment:
Soshmak

و در آخر میپرسه اطلاعات درسته؟
که ما o مینویسم به معنی okay و اینتر میزنیم.

حالا یه صفحه گرافیکی باید به شکل زیر باز کنه و از شما بخواد Passphare رو وارد کنید:
(پیشنهاد من اینه که یک گذرواژه خیلی قوی بگذارید. من خودم از ۶۴ کاراکتر شامل حروف بزرگ و کوچیگ، عدد و نماد استفاده کردم. و راستی این گذرواژه رو باید یادتون بمونه و یا یک جا یادداشت کنید چون موقع استفاده از کلید ازتون گذرواژه می‌خواد، شاید بهترین پیشنهادم براتون این باشه که از این برنامه استفاده کنید KeePassX.)
بعد از وارد کردن گذرواژه و زدن دکمه OK به شما ممکنه همچین پیامی بده:
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
این به این معنی هست که شما باید یک سری کار انجام بدید برای ساخته شدن کلید، یعنی از حرکت دادن موس روی صفحه گرفته تا نوشتن توی یه فایل متنی یا هر چیز دیگه گرفته تا باز کردن برنامه‌های مختلف توی سیستم‌عاملتون، این کارا برای این هست که چون کلید برای ساخته شدنش از اطلاعات مختلف توی حافظه بطور تصادفی استفاده می‌کنه و شما توی این لحظه که متن بالا رو دیدید باید سریعا کار‌های گفته شده رو انجام بدید تا کلید ساخته شه. احتمالا بخاطر ۴۰۹۶ بیتی بودن کلید و هم سرعت سیستمتون ممکنه مقداری این کار زمان‌بر باشه…

در نهایت که کلید با موفقیت ساخته بشه باید با این پیام رو به رو بشید که توی عکس زیر میبینید:
بیسار خب، مرحله ساخت کلید رو با موفقیت به پایان رسوندیم.

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

بعد این دستور رو میزنید:

جای <fingerprint> باید فینگرپرینت موردنظر خودتون رو بذارید، مثلا فینگرپرینت من EEFBA44F03B125B2103D4559F6C6C216BF243ED2 هست و باید دستور رو به شکل زیر وارد کنم:

برای درک بهتر عکس زیر رو ببینید:
و بعد یه خروجی به شما میده که یه سری حروف بزرگ و کوچیک به همراه عدد و نماد داده که این کلید عمومی شماست 🙂
برای من اینه:

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

جای fingerprint که فینگرپرینت خودتون میذارید و جای my.pub هم هر اسمی که دوست داشتید، ولی .pub رو آخرش بذارید.
بعدش به شما یه پرونده میده توی همون دایرکتوری که این دستور رو زدید.
بعد میتونید همون پرونده رو به هر کسی خواستید بدید.

یا یکی از این‌جا‌ها که کلیدتون رو میتونید بذارید که همه ببینن keyserver.ubuntu.com هستش، کافیه برید به سایت و کلیدتون رو توی textbox که توی عکس زیر هست بگذارید و دکمه Submit! رو فشار بدید:

مثلا منم کلید عمومی خودم رو اینجا گذاشتم: http://keyserver.ubuntu.com/pks/lookup?op=get&fingerprint=on&search=0xF6C6C216BF243ED2
البته جا‌های دیگه هم میشه گذاشت مثل برنامه keybase.io که خودم چون در حال یادگیری کار با برنامش هستم آموزشش رو نمی‌تونم فعلا بذارم اما تا یه حدی که یاد گرفتم حتما مینویسم آموزش کار با برنامش رو. اما امکانات جالبی داشت، توی این برنامه هم میشه کلید‌هاتون رو بگذارید و حتی با دوستاتون به چت بپردازید 🙂

در مطالب بعدی باز در مورد نحوه‌ پیاده‌سازی‌های کلید gpg میپردازیم، احتمالا پیاده‌سازی روی رایانامه… 🙂

gpg و ارتباط رمزنگاری‌شده(ارتباط امن)

gpg و ارتباط رمزنگاری‌شده(ارتباط امن) – قسمت سوم

 

موفق باشید…

5 (100%) 2 votes
Print Friendly, PDF & Email
سوشا
۲۰ سالمه و عاشق رایانه و گنو هستم... تمام سعیم اینه که مطالب آموزشی گنو رو تا اونجایی که در توانم هست بنویسم و در اختیار دیگران قرار بدم. آرزوم اینه که روزی یک سایت جامع برای آموزش گنو فراهم کنم :)