مدتی پیش درمورد هشدارهای رمزنگاری (مانند چک های MD5 و SH1) صحبت کردیم ، و اینکه چگونه آنها به اطمینان حاصل می کنند که پرونده ای که بارگیری می کنید ، همان پرونده ای است که سازنده آن برای ایجاد آن با ایجاد یک اثر انگشت منحصر به فرد از پرونده ای که می تواند به شما اطمینان دهد ، اطمینان داد. در برابر اصل بررسی شد.


امکان تأیید صحت تقریباً هر پرونده ای مهم است ، اما وقتی نرم افزار حفظ حریم خصوصی و امنیتی را از اینترنت بارگیری می کنیم ، بسیار مهم است. از این گذشته ، اطمینان از حریم خصوصی و امنیت شما به برنامه ای که ممکن است ویروس داشته باشد ، چیست ، به خصوص هنگامی که فکر می کنید چنین نرم افزاری و کاربران آن بدون شک اهداف اولویت بالایی برای NSA و ilk آن هستند.?

حتی وقتی شما نرم افزار را مستقیماً از وب سایت یک فروشنده یا توسعه دهندگان بارگیری می کنید ، ممکن است قربانی حمله Man-in-the-Middle (MitM) شوید ، یا خود این وب سایت به روش های مختلفی به خطر بیفتد.

استفاده از هش رمزنگاری تلاشی برای حل این مشکل است ، اما متأسفانه این تکنیک دارای یک ضعف بزرگ است - به عنوان مثال ، ممکن است وب سایت توسعه دهنده هک شود تا نمایش هش یک فایل به خطر بیفتد به جای نسخه اصلی ، یا آسیب پذیری های ریاضی می تواند آنها را ناامن کند. بنابراین هشها در تأیید عدم خراب بودن فایده مفید هستند ، اما فقط در استفاده از این اطمینان که پرونده ای که بارگیری می کنید همان فایلی است که توسعه دهندگان آن قصد بارگیری آنها را دارند استفاده محدودی دارند..

برای اطمینان بیشتر از این ، توسعه دهندگان می توانند پرونده های خود را با امضاهای دیجیتالی امضا کنند ، که از نوعی رمزنگاری نامتقارن (کلیدهای عمومی و کلیدهای خصوصی) استفاده می کنند تا تأیید کنند که یک پرونده دقیقاً همان چیزی است که ادعا می کند..

دیاگرامی که نشان می دهد چگونه یک امضای دیجیتال اعمال می شود و سپس تأیید می شود.

امضاهای دیجیتال PGP

سیستم های رمزنگاری مختلف برای ایجاد و اعتبار امضاهای دیجیتال از مکانیزم های مختلفی استفاده می کنند. به عنوان مثال ویندوز از فناوری زیرساخت کلید عمومی مایکروسافت (PKI) برای تأیید خودکار امضاها هنگام نصب نرم افزار استفاده می کند.

نرم افزار منبع باز نمی تواند از مایکروسافت PKI مناسب استفاده کند ، بنابراین به جای آن از امضاهای دیجیتالی PGP استفاده می کند. که پس از آن باید به صورت دستی تأیید شود. اینها بسیار شبیه به جفت های کلیدی مورد استفاده برای تأیید اعتبار ایمیل های PGP هستند و همانطور که خواهیم دید ، تأیید امضاهای دیجیتال PGP نیاز به استفاده از یک برنامه نامه سازگار با PGP دارد..

متأسفانه ، این بدان معنی است که مانند استفاده از PGP برای ایمن سازی ایمیل ، استفاده از امضاهای دیجیتالی PGP بسیار پیچیده است.

نحوه تأیید امضای دیجیتالی با استفاده از GUI Kleopatra

برای تأیید امضای دیجیتالی PGP یک فایل ، باید از یک مشتری PGP استفاده کنید (یا دقیق تر GnuPG - کلون منبع باز آن). نسخه های GnuPG برای ویندوز (Gpg4win) ، Mac OSX و Linux موجود است (معمولاً از پیش نصب شده).

در این آموزش امضای دیجیتالی Pidgin + OTR را با استفاده از Gpg4win تأیید خواهیم کرد ، اما این روند برای سایر نسخه های GnuPG بسیار مشابه است.

ما در مورد استفاده از Gpg4win یک مقاله دو بخشی داریم و اکیدا توصیه می کنیم حداقل قسمت اول آن را بخوانید تا خود را با مفاهیم کلیدی آشنا کنید که در زیر استفاده می شود.

بارگیری Gpg4win به صورت دیجیتالی با کلید امضا شده است که توسط یک مجوز معتبر (CA) تأیید شده است ، و با استفاده از یک نسخه قدیمی قدیمی از GnuPG قابل اطمینان ، می توان به طور مستقل برای تأیید بررسی کرد (یک هش SHA1 نیز موجود است). شما هرگز نباید به نسخه ای از Gpg4win که تأیید نکرده اید اعتماد کنید.

پس از نصب GnuPG ، برای تأیید امضای دیجیتال به سه مورد نیاز داریم:

  • پرونده ای که می خواهیم تأیید کنیم (duh!) به عنوان مثال نصب کننده pidgin-otr-4.0.1.exe
  • پرونده امضای PGP / GPG (.asc) به عنوان مثال pidgin-otr-4.0.1.exe.asc
  • کلید عمومی / گواهی PGP که برای ایجاد این امضا به عنوان مثال استفاده می شود. gpgkey.asc

این پرونده ها باید توسط توسعه دهنده ای که پرونده های امضا شده دیجیتالی خود را که می خواهید تأیید کنید ، تهیه شود. گواهینامه های کلید عمومی / PGP غالباً در سرور کلید ذخیره می شوند ، اما افراد ناشناس باید دستورالعمل هایی را برای دسترسی به آنها ارائه دهند..

کلوپاترا

Kleopatra یک برنامه مدیریت کلیدی است که همراه با Gpg4win است.

1. برای تأیید گواهینامه PGP به یک کلید خصوصی شخصی نیاز دارید. اگر قبلاً یکی را ایجاد کرده اید (برای مثال با استفاده از GPA) ، می توانید آن را وارد کنید (File -> صدور گواهینامه ها ...) ، یا می توانید یک جفت کلید جدید (پرونده) ایجاد کنید -> گواهینامه جدید…).

جادوگران بقیه مراحل را به شما راهنمایی می کنند

2. مجوز کلید عمومی / PGP را در Kleopatra وارد کنید - با استفاده از "وارد کردن گواهینامه ها" ، یا کلیک راست بر روی پرونده و انتخاب "کلیدهای وارداتی".

3. با استفاده از کلید خصوصی خود گواهی PGP را تأیید کنید - این به GnuPG می گوید که به شخصی که گواهی نامه را امضا کرده اید اعتماد دارید.

a) در Kleopatra بر روی کلید راست کلیک کرده و "گواهی گواهی" را انتخاب کنید..

b) گواهی را انتخاب کنید و تأیید کنید که اثر انگشت آن را تأیید کرده اید (امیدوارم که این مورد در وب سایت توسعه دهنده منتشر شود).

ج) مگر اینکه در مورد صحت گواهینامه بسیار اطمینان داشته باشید ، پس باید فقط برای خودتان گواهی دهید (گواهینامه ها روی اصل وب اعتماد کار می کنند - هرچه افراد به آنها اعتماد بیشتری داشته باشند ، اطمینان بیشتری می دهید که اصالت دارند)..

د) کلمه عبور کلید خصوصی خود را وارد کنید تا تأیید گواهی به پایان برسد.

4- اکنون که گواهی مورد استفاده در ساخت امضا برای پرونده ای که بارگیری کرده اید را تأیید کرده اید (whew!) ، می توانید از آن برای تأیید امضا استفاده کنید.

a) در Kleopatra به File بروید -> رمزگشایی / تأیید پرونده ها و مرور فایل امضا ، یا کلیک راست بر روی آن و رفتن به گزینه های MoreGpgEX -> تأیید کنید.

b) اطمینان حاصل کنید که "پرونده ورودی" پرونده امضا است ، و فیلد "داده های امضا شده" حاوی برنامه یا پرونده مورد نظر برای تأیید است ، سپس "رمزگشایی / تأیید" را بزنید..

ج) کلئوپاترا به خوبی ، امضا را معتبر اعلام می کند.

چگونه می توانم به یک گواهی اعتماد کنم?

ساده ترین روش برای تأیید صحت گواهی PGP ، بررسی وب سایت شخصی است که قرار است این گواهی را امضا کرده باشد ... با کمی شانس ، اثر انگشت گواهی را منتشر می کند.

با این حال ، اگرچه آسان است ، اما این صحت امضای را تضمین نمی کند ، زیرا ممکن است وب سایت توسط دولت هک شده یا مجبور شده است اثر انگشت جعلی را نمایش دهد (همان مشکلی که باعث آشفتگی هش های رمزنگاری می شود)..

اینجاست که وب اعتماد وارد می شود ، در جایی که کاربران گواهی نامه را تضمین می کنند. در عمل ، این فرایندی دشوار است که هم بسیار پیچیده است و هم برای بسیاری از کاربران مبهم است ، بنابراین بهترین چیزی که اکثر ما می توانیم به آن امیدوار باشیم این است که این گواهینامه توسط یک مجوز شناخته شده گواهینامه تهیه شده است ، یا توسط توسعه دهندگان شناخته شده امضا شده است. کسانی که کلیدهای امضای خود را منتشر می کنند (به عنوان مثال توسعه دهندگان Tor انجام می دهند).

Pidgin + OTR به نوعی نمونه ای بد از نحوه عملکرد امضای دیجیتال است ، زیرا صفحه وب OTR تقریباً هیچ راهنمایی در مورد چگونگی استفاده از کلیدهای منتشر شده خود ندارد ، و گواهی PGP آن نه تنها یافتن کار دشوار بلکه غیر از در دسترس بودن بود. از https://otr.cypherpunks.ca/gpgkey.asc هیچ راهی آسان برای تأیید صحت آن وجود ندارد (این واقعیت که از یک کلید RSA با استفاده از 1024 بیتی استفاده می کند نیز نمایش ضعیفی در این عصر است که NSA احتمالاً می تواند چنین رمزنگاری ضعیفی را ترک کند ).

با این حال ، این یک مثال خوب است که چرا کل مفهوم امضاهای دیجیتال چنین آشفتگی است! بحث جالب در مورد نحوه تلاش برای تأیید گواهی OTR در اینجا موجود است.)

نتیجه

همانطور که مشاهده می کنید ، تأیید یک امضای دیجیتالی واقعاً یک درد است ، بنابراین جای تعجب نیست که حتی کسانی که روند قوس سنگین ژارگون را درک می کنند ، بندرت زحمت می کشند. این مسئله توسط بسیاری از جانبازان که نتوانسته اند نحوه تأیید صحت پرونده های آنها را توضیح دهند ، و یا صدور گواهینامه های PGP شلخته که تأیید صحت آنها بسیار سخت است ، بدتر می شوند. واقعی هستند (تیم OTR ، ما به دنبال شما هستیم!)

این واقعیت که امضاهای دیجیتال تنها راه معنی دار برای تضمین اینکه فایلهایی که بارگیری می کنید همانهایی هستند که قصد بارگیری آنها را دارید (یا اینکه برنامه های آنها برای بارگیری شما در نظر گرفته شده است) ، برای امنیت اینترنت خوب نیست..

با این حال ، تا زمانی که کسی سیستم بهتر و کاربر پسندتری را اختراع نکند ، بهترین امید ما برای ترغیب جانبازان به ارائه دستورالعمل های واضح در مورد نحوه استفاده از امضاهای دیجیتالی خود و انتشار تضمین های معنادار در مورد صحت گواهینامه های PGP خود است ... (آه)

"نمودار امضای دیجیتال" توسط Acdx - کار خود. دارای مجوز تحت CC BY-SA 3.0 از طریق Wikimedia Commons - https://commons.wikimedia.org/wiki/ پرونده: Digital_Signature_diagram.svg#mediaviewer/File:Digital_Signature_diagram.svg

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me