نگاهي دوباره به رمزنگاري داده و ايميل (قسمت سوم)

محفاظت از اطلاعات شخصی و حفظ حریم خصوصی، همواره از بزرگ ‌ترین چالش‌هاي موجود در شبکه‌ها، به‌خصوص شبکه جهانی اینترنت بوده‌است. یکی از راه‌های حفاظت از اطلاعات شخصی رمزنگاری و استفاده از قابلیت‌های امضا کردن پیام‌ها و رمز کردن متن‌ها بوده‌است که در این مقاله به این موضوع پرداخته شده‌است...
پنجشنبه، 21 مهر 1390
تخمین زمان مطالعه:
موارد بیشتر برای شما
نگاهي دوباره به رمزنگاري داده و ايميل (قسمت سوم)

نگاهي دوباره به رمزنگاري داده و ايميل (قسمت سوم)
نگاهي دوباره به رمزنگاري داده و ايميل (قسمت سوم)


 





 

ايجاد تأييدنامه واگذاري كليد
 

در این مرحله انجام فرآيند واگذاري تأييدنامه بسيار اهميت دارد. اين كار به شما امكان مي‌دهد تا كليد خود را واگذار كنيد، به اين معني كه روي كليد علامتي گذاشته شود كه نشان دهد آن كليد منقضي شده و به عبارتي به ديگران بگوييد كه ديگر از اين كليد استفاده نكنند. اگر كليد شما مورد سوءاستفاده قرار گرفت يا سرقت شد، فرآيند واگذاري تنها راهي است كه به دنيا بگوييد، ديگر از اين كليد استفاده نکنند. اما بايد از اين تأييدنامه مراقبت كنيد. اگر تأييدنامه سرقت شود، سارق مي‌تواند كليد شما را دراختيار گرفته و آن‌را در يك سرور رمز بارگذاري کرده و آن‌را براي شما غيرقابل استفاده كند. او براي انجام اين كار به كليد محرمانه شما يا Mantra نيازي ندارد. شما نيز نمي‌توانيد تأييدنامه واگذاري كليد را بعد از بارگذاري و توزيع آن حذف كنيد. براي توليد تأييدنامه واگذاري شخصي خود دستور زير را وارد كنيد:

...> gpg --gen-revoke <your key-ID>
 

در ادامه اطلاعات درخواستي را در اختيار برنامه قرار دهيد. به‌طور معمول، يك تأييدنامه واگذاري در اختيار شما قرار مي‌گيرد كه كليد را بدون هيچ دليل خاصي باطل مي‌كند، به‌گونه‌اي که ديگر نمي‌توانيد از آن كليد دوباره استفاده كنيد.بعد از ثبت Mantra برنامه GnuPG تأييدنامه را در خروجي نمايش مي‌دهد. بهترين كار اين است كه اين تأييدنامه را روي يك كاغذ بنويسيد و آن‌را در جايي امن نگه داريد. اگر مي‌خواهيد تأييدنامه را پرينت كنيد، در اين صورت توجه داشته‌باشيد كه سرور پرينتر ممكن است نسخه‌اي از سندهاي پرينت‌شده را در خود نگهداري كند. مي‌توانيد تأييدنامه را روي ديسك ذخيره کرده و آن را در جايي نگه‌داريد، اما فراموش نكنيد كه ديسك‌ها نيز به مرور زمان داده‌هاي خود را از دست مي‌دهند.
در صورتي كه با كليد خود مشكلي داريد (به‌عنوان مثال، آن‌را گم كرديد يا آن‌که سرقت شد يا آن‌که صرفاً نمي‌خواهيد از آن استفاده كنيد)، تنها كافي است تأييدنامه را در زنجيره رمز وارد كنيد و آن‌را به سرور نگهداري رمز ارسال كنيد. در قسمت بعدي در مورد وارد كردن و استخراج كليدها اطلاعات بيشتري در اختيار شما قرار مي‌گيرد. فرآيند واگذاري تأييدنامه مي‌تواند همانند ارسال فايل كليد عمومي انجام شود (اما اين كار را الان انجام ندهيد).

> gpg --import
<rev_certificate_filename>
 

سرور كليدها
 

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

> gpg --send-keys <key-ID>
 

براي دريافت كليد از سرور كليدها از دستور زير استفاده كنيد:

> gpg --recv-keys <key-ID>
 

شايد مشخص كردن سرور كليدها، ضروري باشد. وِرنر کارچ پيشنهاد مي‌كند، از سرورهاي كليد نوع SKS استفاده كنيد، زيرا آن‌ها مي‌توانند همه اطلاعات فايل كليد را نگهداري كنند. سرور كليد را با استفاده از گزينه keyserver--مشخص کنيد. به‌عنوان مثال، در لهستان از sks.keyserver.penguin.pl و در آلمان از sks.keyserver.penguin.de استفاده كنيد. سرور كليدها، اطلاعات خود را با يكديگر مبادله مي‌كنند و در نتيجه كليدها به‌طور خودکار توزيع مي‌شوند.

زنجيره كليدها
 

زنجيره كليدهاي عمومي و محرمانه را مي‌توان در مسير gnupg~/. پيدا كرد. مطمئن شويد كه هيچ كاربر ديگري نمي‌تواند به داده‌هاي اين مسير دسترسي داشته‌باشد.

Import و Export كردن كليدها
 

براي Export كردن يك كليد به فايلي مانند mykey.txt از دستور زير استفاده كنيد:

> gpg --export --armor
<your key-ID> > mykey.txt
 

گزينه armor-- تضمين مي‌كند كه فايل كليد براي كاربر قابل خواندن باشد. شماره شناسايي كليد با اطلاعات هر كاربري كه در كليد ذخيره شده‌، جايگزين مي‌شود. به‌عنوان مثال، با نام يا آدرس ايميل شما.
براي Import كردن كليد يك كاربر ديگر، كافي است فايلي را كه به روش فوق تهيه شده، دريافت كنيد و آن‌را در زنجيره كليدهاي عمومي خود Import كنيد. در اينجا اين كار با كليدي كه Alice از Bob دريافت كرده، انجام مي‌شود (در اين مثال كليد در فايل bobpublic.txt قرار دارد).

نگاهي دوباره به رمزنگاري داده و ايميل (قسمت سوم)

> gpg --import bobpublic.txt
gpg: key 20ACB216:
public key "Bob B <bob@example.com>"
imported
gpg: Total number processed: 1
gpg: imported: 1
 

ويرايش، اطمينان و امضاي كليدها
 

مسئله ظریفی که در این باره وجود دارد، این است که آليس نه‌تنها بايد از كليد باب استفاده كند، بلكه بايد ابتدا اطمينان خود را به اين كليد اعلام کند. براي اين كار GnuPG يك ويرايشگر كليد دارد. دستور مرتبط با عبارت<gpg --edit-key <key-ID آغاز مي‌شود. دوباره يادآور مي‌شوم كه قسمت key-ID مي‌تواند با نام باب يا آدرس ايميل او جايگزين شود. دستور فوق با استفاده از گزينه Help مروري بر ريزدستورات موجود را ارائه مي‌دهد. براي اطمينان به كليد باب، آليس ويرايشگر را بازكرده و كليد باب را وارد مي‌كند. اطلاعات اصلي در قسمت زير فهرست شده كه شامل سطح اعتبار و اعتماد نوع ناشناخته (unknown trust) است.

pub 1024D/20ACB216
created: 2006-03-17
expires: never usage: CS
trust: unknown
validity: unknown
sub 2048g/6B99CC08
created: 2006-03-17
expires: never usage: E
[ unknown] (1). Bob B <bob@example.com>
 

بسيار مهم است كه مطمئن شويم، كليد ارسالي براي آليس واقعاً به شخصي تعلق دارد كه ادعا مي‌كند باب نام دارد. به عبارت ديگر، آيا باب واقعاً همان شخصي است كه آليس درنظر دارد؟ همچنين ممكن است يك شخص سوم نظير ملري كه وانمود مي‌كند همان باب است، يك كليد اشتباه در اختيار آليس قرار ‌دهد. حال اگر آليس به آن كليد اعتماد كرده و پيام‌هايي را براي باب رمزنگاري كند، در اين صورت مَلري به جاي باب آن پيام‌ها را رمزگشايي كرده و مي‌خواند. براي اجتناب از اين روش نفوذ آليس مي‌تواند از باب بخواهد كارت شناسايي خود را نشان دهد و آن‌را شخصاً در اختيار او قرار دهد يا آن‌که آليس مي‌تواند اثر انگشت باب را كنترل كند و سپس از باب بخواهد تا اعتبار و صحت اثر انگشت خود را تأييد كند، يعني:

> gpg --fingerprint bob
[..]
Key fingerprint
= 6871 3E47 AEEE 7424 10EF
B544 3EC0 383B 20AC B216
 

هنگامي‌که آليس هويت و كليد باب را شناسايي كرد، دستور Trust را اجرا مي‌كند. با اجراي اين دستور از آليس خواسته مي‌شود تا ميزان اعتماد او را به كليد طرف مقابل بيان كند (با بررسي گذرنامه، كنترل اثر انگشت از منابع مختلف و ...):

1 = I don't know or won't say
2 = I do NOT trust
3 = I trust marginally
4 = I trust fully
5 = I trust ultimately
m = back to the main menu
 

GnuPG انتظار دارد، آليس ميزان قابل اعتماد بودن باب را با بررسي و تبادل كليدها درجه‌بندي کرده و تعيين كند كه آيا طرف مقابل قابل‌اطمينان است يا خير. ميزان اعتماد با ضريب پنج براي كليدهاي خود شخص است نه براي ساير كاربران. در اين مورد آليس به طرف مقابل كاملاً اطمينان دارد.

pub 1024D/20ACB216
created: 2006-03-17
expires: never usage: CS
trust: full
validity: unknown
sub 2048g/6B99CC08
created: 2006-03-17
expires: never usage: E
[ unknown] (1). Bob B <bob@example.com>
Please note that the shown key validity
is not necessarily correct
unless you restart the program
.
 

البته، هنوز كليد معتبر نيست. براي معتبركردن آن، آليس اين فرصت را دارد كه آن كليد را با استفاده از كليد محرمانه خود امضا كند. اين كار را مي‌توان با استفاده از ويرايشگر كليد و دستور Sign انجام داد. در ادامه مطابق قسمت قبلي مقاله، مي‌توان اين كليد را به يك فايل Export كرد و آن‌را براي باب ارسال كرد تا او اين كليد را به مجموعه كليدهاي عمومي خود Import كند. امضاي كليد ساير كاربران به اين منظور است تا شبكه مبادلات قابل اعتمادي به وجود آورد؛ چيزي كه با نام web of trust شناخته مي‌شود. اگر آليس نمي‌خواهد كليد امضاشده را براي باب ارسال كند و فقط مي‌خواهد اين كليد در زنجيره كليدهاي خود او موجود و معتبر باشد، در اين صورت مي‌تواند آن‌را به صورت محلي با استفاده از دستور lsign امضا كند.

> lsign pub 1024D/20ACB216
created: 2006-03-17
expires: never usage: CS
trust: full
validity: unknown
Primary key fingerprint:
6871 3E47 AEEE 7424 10EF
B544 3EC0 383B 20AC B216
Bob B <bob@example.com>
Are you sure that you want to sign
this key with your
key "Alice C <alice@example.com>"
(E7318B79)
The signature will be marked
as non-exportable.
Really sign? (Y/N)
 

آخرين اطلاعات به امضاي محلي
 

مربوط مي‌شود. آليس با تايپ حرف Y آن‌را امضا مي‌كند و او بايد اين كار را در Mantra متعلق به خود اعمال كند تا كليد محرمانه او نيز از حالت قفل‌شده خارج شده‌باشد.

You need a passphrase
to unlock the secret key for
user: "Alice C <alice@example.com>"
1024-bit DSA key,
ID E7318B79, created 2006-03-17
Enter passphrase
 

بعد از وارد كردن عبارت رمز درست يا Mantra كليد باب براي آليس معتبر مي‌شود. شايد لازم باشد كه ويرايشگر كليد با استفاده از quit دوباره راه‌اندازي شود تا پايگاه‌داده داخلي نگهداري اطلاعات مربوط به كليدهاي قابل اطمينان در برنامه GnuPG به‌روزرساني شود.
شكل 1- خطي که با «Open GP» شروع شده، وضعيت امضا را نشان مي‌دهد. اين پيام رمزنگاري و امضا شده‌است كه اين دو مورد با توجه به آيكون‌هاي كليد و قلم در سمت راست قابل تشخيص است. با كليك روي اين موارد، اطلاعات بيشتري را درباره کلیدهای مورد استفاده دریافت خواهید کرد.

pub 1024D/20ACB216
created: 2006-03-17
expires: never usage: CS
trust: full
validity: full
sub 2048g/6B99CC08 created:
2006-03-17
expires: never usage: E
[ full ] (1). Bob B bob@example.com
 

اگر باب نيز مطابق الگوي فوق، كليد آليس را Import كرده و امضا كند (مثلاً با استفاده از يك امضاي غيرمحلي)، در اين صورت آن‌ها مي‌توانند پيام‌هاي محرمانه را براي يكديگر ارسال كنند. به طور كلي، ارسال پيام‌هاي محرمانه به اين صورت است كه آن پيام نوشته شده و با كليد عمومي گيرنده پيام رمزنگاري مي‌شود. اگر شما از برنامه‌هاي اصلي داراي قابليت GnuPG استفاده مي‌كنيد (نظير Mozilla Thunderbird مجهز به Enigmail plugin) در اين صورت همان برنامه اين كار را براي شما انجام مي‌دهد. اما ما ابتدا از رابط كاربري متني GnuPG استفاده مي‌كنيم.

منبع:http://www.shabakeh-mag.com
ارسال توسط کاربر محترم سایت :hasantaleb




 



ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط