خانه - آنتی ویروس ها
PGP از مکاتبات الکترونیکی محافظت می کند. رمزگذاری PGP: چیست و چگونه از آن استفاده کنیم

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

احراز هویت تضمین می کند که اگر برخی از اطلاعات توسط شما ایجاد شده و برای دسترسی عمومی ارسال شده است، واقعاً از شما آمده است و توسط کسی در حال انتقال جعل یا تغییر نکرده است.

PGP بر اساس یک سیستم رمزنگاری معروف به کلید عمومی است که می تواند در کانال های غیر قابل اعتماد استفاده شود. این آن را برای محافظت از اطلاعات ارسال شده از طریق شبکه هایی مانند اینترنت ایده آل می کند.

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

تخصیص کلید

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

فایل شناسه pgp -kx [فایل کلید]

به عنوان مثال: "pgp -kx alex mykey" کلید عمومی شناسایی شده توسط رشته فرعی "alex" در فایل mykey را استخراج می کند.

فایل mykey.pgp تولید شده در قالب ASCII نخواهد بود. با این حال، اگر برای ارسال، به عنوان مثال، از طریق ایمیل یا افزودن اطلاعات اضافی به پایگاه داده نیاز به ایجاد یک فایل کلیدی در قالب ASCII دارید، باید از دستور زیر استفاده کنید:

فایل شناسه pgp -kxa [فایل کلید]

به عنوان مثال: "pgp -kxa alex mykey" کلید عمومی شناسایی شده توسط زیر رشته "alex" را در فایل "mykey.asc" استخراج می کند.

همراه با کلید، تمام گواهی هایی که آن را تایید می کنند نیز برجسته می شوند.

برای مشاهده کلیدهای موجود در فایل، دستور را تایپ کنید:

pgp -kv [شناسه] [فایل کلید]

مجددا توجه داشته باشید که فایل پیش فرض pubring.pgp است. اگر شناسه به صراحت مشخص نشده باشد، تمام کلیدهای فایل نشان داده می شوند. برای مشاهده همه گواهی‌ها برای هر کلید، باید تایپ کنید:

pgp -kvv [شناسه] [حلقه]

رمزگذاری پیام

حالا بیایید سعی کنیم فایل را رمزگذاری کنیم. می توانید با دستور زیر این کار را انجام دهید:

شناسه فایل pgp -e

این دستور فایلی به نام file.pgp ایجاد می‌کند که حاوی فایل اصلی است، به طوری که تنها گیرنده می‌تواند با استفاده از کلید خصوصی خود، آن را رمزگشایی کند.

به یاد داشته باشید که فایل تولید شده یک فایل ASCII نیست، بنابراین برای ارسال آن از طریق ایمیل ممکن است نیاز باشد گزینه دیگری را اضافه کنید تا مطمئن شوید که فایل کدگذاری شده خروجی در فرمت ASCII است، مانند این:

شناسه فایل pgp -ea

رمزگذاری یک پیام برای چندین گیرنده

فرض کنید باید یک نامه را رمزگذاری کنید و به چندین گیرنده ارسال کنید. در این صورت این کار را انجام خواهیم داد:

فایل pgp -ea id1 id2 id3

نحوه امضای یک پیام

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

شناسه فایل pgp -s

اگر چندین کلید خصوصی در secring.pgp خود داشته باشیم، می‌توانیم یکی از آنها را با استفاده از شناسه انتخاب کنیم. این دستور فایلی را ایجاد می کند که متن ASCII نیست زیرا PGP در تلاش است فایل را فشرده کند. از طرف دیگر، اگر بخواهید فایل را امضا کنید و متن را خوانا و با امضا در انتها بگذارید، این روش به این صورت خواهد بود:

فایل pgp -sta

این دستور آخر هنگام امضای ایمیل هایی که می توانند بدون استفاده از PGP خوانده شوند بسیار مفید است. همچنین، چنین پیامی برای کسانی که نیازی به بررسی امضا ندارند، قابل خواندن خواهد بود.

همچنین می توانید یک سند را امضا کرده و سپس با استفاده از دستور زیر آن را رمزگذاری کنید:

فایل pgp -es recipient_id my_id

برای رمزگذاری فایل، از یک کلید عمومی استفاده می شود که با زیر رشته "recipient_identifier" مشخص می شود، بنابراین فقط این کلید می تواند فایل را رمزگشایی کند. سپس کلید خصوصی را با رشته my_id شناسایی می کنیم، زیرا چندین کلید در مجموعه ما وجود دارد. حتی در این حالت، امکان ایجاد فایل با فرمت ASCII با استفاده از گزینه -a وجود دارد.

رمزگشایی

برای رمزگشایی یک فایل و/یا تایید امضای آن، از دستور زیر استفاده کنید:

pgp input_file [-o output_file]

به طور پیش فرض، فرض می شود که فایل ورودی دارای پسوند pgp. باشد. نام فایل حاصل از رمزگشایی یک پارامتر اختیاری است. اگر فایل خروجی مشخص نشده باشد، فایل رمزگشایی شده در فایل input_file بدون پسوند pgp. ذخیره می شود.

همچنین می توانید به سادگی فایل رمزگشایی شده را بدون ذخیره مشاهده کنید.

ژولیوس سزار به پیام رسان ها اعتماد نداشت. بنابراین هنگام ارسال نامه برای ژنرال های خود، هر A را در پیام خود با یک D، هر B را با E و غیره جایگزین می کرد. فقط کسی که قانون را می دانست "تغییر با 3"می تواند پیام او را رمزگشایی کند.

پس بیایید شروع کنیم.

رمزگذاری و رمزگشایی

اطلاعاتی که بدون هیچ معیار خاصی قابل خواندن، درک و درک باشد نامیده می شود در متن روشن (متن ساده، متن واضح). روش تحریف متن ساده به گونه ای که ماهیت آن پنهان شود نامیده می شود رمزگذاری 1 (رمزگذارییا رمزگذاری). رمزگذاری متن ساده منجر به تبدیل آن به gobbledygook نامفهوم می شود متن رمزی (متن رمزی). رمزگذاری اجازه می دهد تا اطلاعات از کسانی که برای آنها در نظر گرفته نشده است پنهان شود، حتی اگر آنها بتوانند خود متن رمز را ببینند. فرآیند متضاد برگرداندن متن رمز شده به شکل اصلی خود رمزگشایی نامیده می شود. رمزگشایییا رمزگشایی) 2 .

شکل 1 این را نشان می دهد.

رمزنگاری چیست؟

رمزنگاریعلم استفاده از ریاضیات برای رمزگذاری و رمزگشایی داده ها است. رمزنگاری اجازه می‌دهد تا اطلاعات حساس از طریق کانال‌های ارتباطی غیرقابل اعتماد (مانند اینترنت) ذخیره یا منتقل شوند، به‌طوری‌که برای کسی غیر از گیرنده قانونی قابل خواندن نباشد.

در حالی که رمزنگاری علم حفاظت از داده ها است، تحلیل رمزیعلم تجزیه و تحلیل و قطع ارتباطات رمزنگاری است. رمزنگاری کلاسیک ترکیبی از محاسبات تحلیلی، ریاضی و آماری و همچنین آرامش، اراده و شانس است. به کریپتانالیست ها کراکر نیز می گویند.

رمز شناسیرمزنگاری و رمزنگاری را ترکیب می کند.

استگانوگرافییک رشته مرتبط است او به جای اینکه پیام‌ها را ناخوانا کند، از تکنیک‌هایی برای پنهان کردن خود پیام‌ها استفاده می‌کند. استگانوگرافی رمزنگاری نیست، فقط یک مورد خاص است کد نویسی، که قابلیت اطمینان آن بر محرمانه بودن مکانیسم پنهان کردن پیام متکی است. مثلاً اگر تصمیم دارید پیام A را با استفاده از حروف اول اولین کلمات در هر جمله پیام B مخفی کنید، این راز باقی می ماند تا زمانی که کسی کشف کند کجا باید A را جستجو کند، در این مرحله مکانیسم دیگر هیچ محافظتی را ارائه نخواهد کرد. .

رمزنگاری قوی

دو نوع رمزنگاری در جهان وجود دارد: رمزنگاری که از خواندن فایل‌های شما توسط خواهر کوچک شما جلوگیری می‌کند و رمزنگاری که مانع از خواندن فایل‌های شما توسط دولت‌های بزرگ می‌شود. این کتاب در مورد رمزنگاری نوع دوم است."

بروس اشنایر، "رمزنگاری کاربردی: پروتکل ها، الگوریتم ها، کد منبع در C"

PGP بر اساس همان نوع رمزنگاری است.

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

برخی ممکن است فکر کنند که رمزنگاری قوی می تواند حتی در مقابل جدی ترین تحلیلگر رمزپایه مقاومت کند. اما چه کسی در این مورد صحبت می کند؟ ثابت نشده است که بهترین رمزگذاری موجود امروز در برابر قدرت محاسباتی رایانه های موجود فردا مقاومت کند. با این حال، رمزنگاری قوی موجود در PGP بهترین رمزنگاری موجود است. هوشیاری و محافظه کاری بهتر از ادعای محافظت کامل از شما محافظت می کند.

نحوه کار رمزنگاری

الگوریتم رمزنگاری یا رمزگذاری، یک فرمول ریاضی است که فرآیندهای رمزگذاری و رمزگشایی را توصیف می کند. برای رمزگذاری متن ساده، یک الگوریتم رمزنگاری در ترکیب با کلید- یک کلمه، عدد یا عبارت همان پیام با استفاده از الگوریتم مشابه، اما با کلیدهای متفاوت، به متن رمزی متفاوتی تبدیل می‌شود. امنیت یک متن رمزی کاملاً به دو چیز بستگی دارد: قدرت الگوریتم رمزنگاری و محرمانه بودن کلید.

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

رمزنگاری متعارف

در رمزنگاری سنتی، رمزگذاری نیز نامیده می شود رازیا متقارنکلید، از یک کلید هم برای رمزگذاری و هم برای رمزگشایی داده ها استفاده می شود. استاندارد رمزگذاری داده ها (DES) نمونه ای از یک الگوریتم متقارن است که از دهه 70 به طور گسترده در غرب در بخش های بانکی و تجاری مورد استفاده قرار گرفته است. در حال حاضر با استاندارد رمزگذاری پیشرفته (AES) جایگزین شده است. شکل 2 فرآیند رمزگذاری متقارن را نشان می دهد.

رمز سزار

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

فرض کنید اگر تصمیم بگیریم کلمه "SECRET" را با استفاده از کلید سزار 3 رمزگذاری کنیم، الفبای لاتین را طوری تغییر می دهیم که با حرف سوم (D) شروع شود.

بنابراین، نسخه اصلی را در نظر بگیرید

ABCDEFGHIJKLMNOPQRSTUVWXYZ،

و با جابجایی همه چیز با 3، دریافت می کنیم

DEFGHIJKLMNOPQRSTUVWXYZABC،

که در آن D=A، E=B، F=C و غیره.

با استفاده از این طرح، متن ساده "SECRET" به "VHFUHW" تبدیل می شود. برای اینکه به کسی اجازه دهید متن اصلی را بازسازی کند، به او بگویید که کلید 3 است.

بدیهی است که با استانداردهای امروزی، این یک الگوریتم بسیار ضعیف است، با این حال، حتی به سزار کمک کرد! و به خوبی نشان می دهد که رمزگذاری متقارن چگونه کار می کند.

رمزگذاری متقارن و مدیریت کلید

رمزگذاری متقارن دارای چندین مزیت است. اولین مورد سرعت عملیات رمزنگاری است. به ویژه برای رمزگذاری داده هایی که با شما باقی می ماند مفید است. با این حال، رمزگذاری متقارن، که به تنهایی به عنوان وسیله ای برای محافظت از داده های ارزشمند در حین انتقال استفاده می شود، صرفاً به دلیل پیچیدگی انتقال کلید مخفی می تواند بسیار گران باشد.

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

برای برقراری ارتباط رمزنگاری با استفاده از الگوریتم متقارن، فرستنده و گیرنده ابتدا باید روی یک کلید توافق کنند و آن را مخفی نگه دارند. اگر آنها در مکان های جغرافیایی دور افتاده قرار دارند، باید از یک واسطه قابل اعتماد مانند یک پیک قابل اعتماد استفاده کنند تا کلید در حین حمل و نقل به خطر نیفتد. مهاجمی که کلیدی را در حال انتقال رهگیری می کند، بعداً می تواند هر اطلاعاتی را که توسط آن کلید رمزگذاری شده یا احراز هویت شده است را بخواند، تغییر دهد و جعل کند. مشکل بزرگ رمزهای متقارن (از حلقه رمزگشای Captain Midnight گرفته تا DES و AES) پیچیدگی مدیریت کلید است: چگونه می‌توانید کلید را بدون خطر رهگیری به گیرنده دریافت کنید؟

رمزنگاری کلید عمومی

مشکل مدیریت کلید حل شده است رمزنگاری منبع باز، یا نامتقارن, کلیدکه مفهوم آن توسط ویتفیلد دیفی و مارتین هلمن در سال 1975 ارائه شد 3 .

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

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

دستاورد اصلی رمزگذاری نامتقارن این است که به افراد بدون توافق امنیتی موجود اجازه می دهد تا پیام های محرمانه را مبادله کنند. نیاز فرستنده و گیرنده به توافق بر سر یک کلید مخفی در یک کانال امن خاص کاملاً ناپدید شده است. همه ارتباطات فقط شامل کلیدهای عمومی هستند، در حالی که کلیدهای خصوصی امن نگه داشته می شوند. نمونه هایی از سیستم های رمزنگاری کلید عمومی هستند الگامال(به نام نویسنده، طاهر الگامال)، RSA(به نام مخترعان: ران ریوست، آدی شامیر و لئونارد ادلمن) دیفی-هلمن(به درستی به افتخار سازندگانش نامگذاری شده است) و DSA, الگوریتم امضای دیجیتال(اختراع دیوید کراویتز).

از آنجایی که رمزنگاری متقارن زمانی تنها راه برای ارسال اطلاعات محرمانه بود، هزینه کانال های تبادل کلید ایمن استفاده از آن را فقط به حلقه کوچکی از سازمان ها محدود می کرد، به ویژه دولت ها و مؤسسات بانکی بزرگ (یا کودکان کوچک با حلقه های رمزگشای مخفی). . ظهور رمزگذاری کلید عمومی یک انقلاب تکنولوژیکی بود که رمزنگاری قوی را برای توده ها به ارمغان آورد. پیکی را که کیفی به بازویش بسته بود را به خاطر دارید؟ رمزگذاری کلید عمومی به او آرامش می دهد (احتمالاً به نفع خودش).

PGP چگونه کار می کند

PGP بهترین جنبه های رمزنگاری متقارن و رمزنگاری کلید عمومی را ترکیب می کند. PGP است سیستم رمزنگاری ترکیبی.

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

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

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

بنابراین، ترکیب این دو روش رمزنگاری، راحتی رمزگذاری کلید عمومی را با سرعت یک الگوریتم متقارن ترکیب می کند. رمزگذاری متقارن هزاران بار سریعتر از رمزگذاری نامتقارن است. رمزگذاری کلید عمومی به نوبه خود راه حلی ساده برای مشکل مدیریت کلید و انتقال داده ارائه می دهد. سرعت اجرا و مدیریت کلید بدون به خطر انداختن امنیت یکدیگر را تکمیل و بهبود می بخشند.

کلیدها

کلید- این مقدار مشخصی است که با کار در ترکیب با یک الگوریتم رمزنگاری، متن رمزی خاصی را تولید می کند. کلیدها معمولاً اعداد بسیار بسیار بسیار بزرگ هستند. اندازه کلید در بیت اندازه گیری می شود. عددی که یک کلید 2048 بیتی را نشان می دهد بسیار بزرگ است. در رمزنگاری نامتقارن، هر چه کلید بزرگتر باشد، متن رمزی حاصل از امنیت بیشتری برخوردار است.

با این حال، اندازه یک کلید نامتقارن و اندازه یک کلید مخفی متقارن کاملاً غیر قابل مقایسه است. یک کلید متقارن 80 بیتی از نظر قدرت معادل یک کلید عمومی 1024 بیتی است. یک کلید 128 بیتی متقارن تقریباً برابر با یک کلید عمومی 3000 بیتی است. باز هم، یک کلید بزرگتر به معنای قابلیت اطمینان بالاتر است، اما مکانیسم های زیربنای هر نوع رمزنگاری کاملاً متفاوت است و مقایسه کلیدهای آنها به صورت مطلق غیرقابل قبول است.

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

کلیدهای بزرگتر برای مدت طولانی تری از نظر رمزنگاری محافظت می شوند. اگر آنچه را که می خواهید رمزگذاری کنید باید برای چندین سال مخفی بماند، ممکن است لازم باشد از یک کلید بسیار بزرگ استفاده کنید. چه کسی می داند که شکستن کلید شما با استفاده از رایانه های سریع تر و کارآمدتر فردا چقدر طول می کشد؟ زمانی وجود داشت که کلید متقارن 56 بیتی DES بسیار امن در نظر گرفته می شد.

طبق استانداردهای مدرن، کلیدهای متقارن 128 بیتی کاملاً ایمن هستند و حداقل تا زمانی که کسی یک ابررایانه کوانتومی کارآمد را نسازد، قابل هک نیستند. به گفته رمزشناسان، کلیدهای 256 بیتی را نمی توان حتی به صورت تئوری و حتی در یک کامپیوتر کوانتومی فرضی شکست. به همین دلیل است که الگوریتم AES از کلیدهای 128 و 256 بیتی پشتیبانی می کند. با این حال، تاریخ به ما می‌آموزد که همه این اطمینان‌ها پس از چند دهه ممکن است تبدیل به یک صحبت پوچ شود.

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

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

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

امضای الکترونیکی همان هدفی را انجام می دهد که مهر یا خودکار دست نویس روی یک تکه کاغذ. با این حال، امضای دیجیتال به دلیل ماهیت دیجیتالی خود، از چند جنبه بسیار مهم بر امضای دستی و مهر و موم برتری دارد. امضای دیجیتال نه تنها هویت امضاکننده را تایید می کند، بلکه به تعیین اینکه آیا محتوای اطلاعات امضا شده تغییر یافته است یا خیر کمک می کند. امضا و مهر دست نویس این کیفیت را ندارند و جعل آنها نیز بسیار راحت تر است. در عین حال، امضای الکترونیکی شبیه مهر فیزیکی است به این معنا که، همانطور که یک مهر می تواند توسط هر شخصی که امضا را دریافت کرده باشد، می تواند امضای دیجیتالی توسط هر کسی با یک کپی از خصوصی مورد نیاز ایجاد شود. کلید 4.

برخی افراد از امضای دیجیتال بسیار بیشتر از رمزگذاری استفاده می کنند. به عنوان مثال، اگر کسی متوجه شد که شما به تازگی 1000 دلار به حساب بانکی خود واریز کرده اید، ممکن است نگران نباشید، اما باید کاملاً مطمئن باشید که تراکنش را از طریق عابر بانک انجام داده اید.

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

تابع هش

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

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

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

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

امضای دیجیتال نقش مهمی در احراز هویت و اعتبارسنجی کلیدهای سایر کاربران PGP ایفا می کند.

گواهی های دیجیتال

یکی از مشکلات اصلی سیستم های رمزنگاری نامتقارن این است که کاربران باید دائماً نظارت کنند که آیا پیام ها را با کلیدهای واقعی خبرنگاران خود رمزگذاری می کنند یا خیر. در محیط مبادله آزاد کلیدهای عمومی از طریق سرورهای سپرده عمومی، حملات بر اساس اصل است "مردی در وسط"یک تهدید بالقوه جدی است. در این نوع حمله، مهاجم یک کلید جعلی با نام گیرنده مورد نظر به کاربر می‌دهد. داده ها با یک کلید جعلی رمزگذاری می شوند، توسط صاحب مخرب آن رهگیری می شوند و در نهایت به دست اشتباه می افتد.

در یک محیط سیستم رمزنگاری کلید عمومی، بسیار مهم است که کاملاً مطمئن باشید که کلید عمومی که می خواهید چیزی را با آن رمزگذاری کنید یک تقلید هوشمندانه نیست، بلکه ویژگی واقعی خبرنگار شما است. شما به سادگی می توانید تنها با کلیدهایی که توسط صاحبان آنها دست به دست شده در فلاپی دیسک به شما تحویل داده شده اند رمزگذاری کنید. اما فرض کنید باید با فردی که در آن سوی دنیا زندگی می کند و حتی با او آشنایی ندارید تماس بگیرید. چگونه می توانید مطمئن شوید که کلید اصلی او را دریافت کرده اید؟

گواهینامه های کلید دیجیتالکار تعیین مالکیت کلیدهای عمومی توسط صاحبان مورد نظر را ساده می کند.

گواهی نوعی شناسایی است. انواع دیگر شناسایی شامل گواهینامه رانندگی، گذرنامه دولتی، شناسنامه و غیره است. هر یک از آنها حاوی اطلاعاتی هستند که شما را شناسایی می کند و یک سابقه غیرقابل جعل وجود دارد که شخص دیگری (یک سازمان دولتی، یک شخص خصوصی) هویت شما را مشخص کرده است. برخی از گواهی‌ها، مانند پاسپورت، مدرکی برای اثبات هویت شما هستند. خیلی بد است اگر کسی آن را بدزدد تا شما را جعل کند.

یک گواهی دیجیتال از نظر هدف مشابه گواهی فیزیکی است. گواهی کلید دیجیتال اطلاعاتی است که به کلید عمومی کاربر متصل می شود و به دیگران کمک می کند تا تشخیص دهند که آیا کلید اصلی و صحیح است یا خیر. گواهی‌های دیجیتالی مورد نیاز است تا نتوان کلید یک شخص را به عنوان کلید دیگری غیرممکن کرد.

گواهی دیجیتال از سه جزء تشکیل شده است:

    کلید عمومی که به آن پیوست شده است؛

    داده ها یا سوابق گواهی (اطلاعات مربوط به هویت کاربر، مانند نام، ایمیل، و غیره، و همچنین، در صورت لزوم، اطلاعات محدود کننده اضافی: حقوق دسترسی، محدودیت های کاری، و غیره)؛

    یک یا چند امضای دیجیتال که کلید را به گواهی "پیوند" می کند.

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

بنابراین، یک گواهی معمولاً یک کلید عمومی است که یک یا چند شکل شناسه به آن متصل است، به علاوه یک مهر تأیید از یک نهاد مورد اعتماد که شناسه و کلید عمومی را «پیوند» می‌کند.

توزیع گواهینامه

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

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

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

سرورهای سپرده گذاری

سرور escrow که به آن سرور گواهی یا سرور کلید نیز می‌گویند، یک پایگاه داده شبکه است که به کاربران اجازه می‌دهد گواهی‌های دیجیتال را ترک کرده و بازیابی کنند. یک سرور کلید همچنین ممکن است برخی از عملکردهای مدیریتی برای کمک به سازمان در حفظ سیاست های امنیتی خود داشته باشد. به عنوان مثال، تنها کلیدهایی را می توان ذخیره کرد که معیارهای خاصی را دارند.

زیرساخت های کلید عمومی (PKI)

PKI مانند یک سرور مخزن ساده، پایگاه داده ای برای ذخیره گواهی ها دارد، اما در عین حال، خدمات و پروتکل هایی را برای مدیریت کلیدهای عمومی ارائه می دهد. اینها شامل قابلیت های صدور (انتشار)، ابطال (ابطال) و سیستم های اعتماد گواهی می باشد. ویژگی اصلی PKI وجود اجزایی است که به نام مرجع صدور گواهینامه (مرجع صدور گواهینامه، CA) و مرکز ثبت نام (مرجع ثبت، RA).

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

به عنوان یک قاعده، مرکز ثبت (RA) سیستمی از افراد، مکانیسم ها و فرآیندهایی است که هدف ثبت نام کاربران جدید در ساختار PKI و مدیریت بیشتر کاربران عادی سیستم را انجام می دهد. CR همچنین می تواند "تأیید" را انجام دهد - روشی برای بررسی اینکه آیا یک کلید عمومی خاص متعلق به مالک مورد نظر است یا خیر.

CR یک جامعه انسانی است: یک شخص، گروه، بخش، شرکت یا انجمن دیگر. از طرف دیگر، CA معمولاً برنامه ای است که برای کاربران ثبت نام شده خود گواهی صادر می کند. همچنین پیاده‌سازی‌های سخت‌افزاری ضد هکر از CA وجود دارد که از مواد ضد گلوله ساخته شده‌اند و مجهز به یک "دکمه قرمز" هستند که همه کلیدهای صادر شده را در شرایط بحرانی باطل می‌کند.

نقش CR-CS مشابه نقش اداره گذرنامه ایالتی است: برخی از کارکنان آن بررسی می کنند که آیا گذرنامه مورد نیاز است (کار CR)، در حالی که برخی دیگر خود سند را تهیه می کنند و به صاحب آن تحویل می دهند. کار CA). داشتن یک CR برای یک CA اجباری نیست، اما جدایی از توابع را فراهم می کند که گاهی اوقات ضروری است.

فرمت گواهی

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

PGP از دو فرمت گواهی پشتیبانی می کند:

    گواهینامه های OpenPGP (که بیشتر به عنوان کلیدهای PGP شناخته می شوند)

    گواهینامه های X.509

فرمت گواهی PGP

گواهی PGP به ویژه حاوی اطلاعات زیر است:

    کلید عمومی مالک گواهی، بخش عمومی جفت کلید و الگوریتم آن است: RSA v4، RSA Legacy v3، DH یا DSA.

    اطلاعات مربوط به مالک گواهی – اطلاعاتی که کاربر را شناسایی می کند: نام، آدرس ایمیل، شماره ICQ، عکس و غیره.

    امضای دیجیتال صاحب گواهی، امضای جفت کلید مرتبط با گواهی است (به اصطلاح امضای خودکار).

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

    الگوریتم رمزگذاری ترجیحی - اطلاعات رمزگذاری شده را نشان می دهد که مالک گواهی ترجیح می دهد با کدام الگوریتم دریافت کند. موارد زیر پشتیبانی می شوند: CAST، AES، IDEA، Triple-DES و Twofish.

شما می توانید گواهی PGP را به عنوان یک کلید عمومی با یک یا چند تگ متصل به آن در نظر بگیرید (شکل 9). این «برچسب‌ها» حاوی اطلاعاتی هستند که صاحب کلید را شناسایی می‌کنند، و همچنین امضایی روی آن کلید، که تأیید می‌کند کلید و اطلاعات شناسایی مرتبط هستند. (به این نوع امضا می گویند امضای خودکار (خود امضا) هر گواهی PGP حاوی آن است.)

یک جنبه منحصر به فرد فرمت گواهی PGP این است که هر گواهی می تواند چندین امضا داشته باشد. هرکسی می تواند یک جفت کلید شناسه را امضا کند تا بر اساس باور شخصی خود گواهی دهد که کلید عمومی متعلق به کاربر مشخص شده در شناسه است. اگر در سرورهای مخزن عمومی جستجو کنید، ممکن است کلیدهایی مانند کلید متعلق به فیل زیمرمن نویسنده PGP را پیدا کنید که حاوی تعداد زیادی امضا است.

برخی از گواهی‌های PGP از یک کلید عمومی با چندین "برچسب" تشکیل شده‌اند که هر کدام حاوی اطلاعات خاص خود برای شناسایی مالک کلید هستند (به عنوان مثال، نام مالک و ایمیل کاری او، نام مستعار مالک و ایمیل خانه او، عکسی از مالک - همه در یک گواهی). لیست امضاها در هر یک از "برچسب ها" ممکن است متفاوت باشد. امضاها نشان دهنده قابلیت اطمینان یک "برچسب" خاص و تعلق آن به یک کلید عمومی است و نه اینکه همه "برچسب ها" قابل اعتماد هستند. (توجه داشته باشید که "اصالت" به شخصی که آن را ایجاد می کند بستگی دارد: امضاها نظرات هستند و افراد مختلف قبل از امضای کلید، درجات مختلفی بر تأیید صحت تاکید دارند.)

فرمت گواهی X.509

X.509 فرمت بسیار رایج دیگری است. تمام گواهینامه های X.509 با استاندارد بین المللی ITU-T X.509 مطابقت دارند. بنابراین (در تئوری)، گواهی X.509 ایجاد شده برای یک برنامه می تواند در هر برنامه دیگری که از این استاندارد پشتیبانی می کند استفاده شود. اما در عمل این وضعیت پیش آمده است که شرکت های مختلف پسوندهای مخصوص به خود را برای X.509 ایجاد می کنند که همه آنها با یکدیگر سازگار نیستند.

هر گواهی به شخصی نیاز دارد که رابطه بین کلید عمومی و اطلاعاتی را که صاحب کلید را شناسایی می کند تأیید کند. هنگام برخورد با گواهی PGP، هر کسی می تواند به عنوان شاهد بر اطلاعات موجود در آن عمل کند (به استثنای مواردی که این توانایی عمداً توسط سیاست امنیتی محدود شده است). اما در مورد گواهی‌های X.509، شاهد فقط می‌تواند یک مرجع صدور گواهینامه یا شخصی باشد که به طور خاص توسط آن برای این نقش مجاز است. (به خاطر داشته باشید که گواهینامه های PGP همچنین به طور کامل از ساختارهای اعتماد سلسله مراتبی پشتیبانی می کنند که از یک CA برای تأیید اعتبار گواهی ها استفاده می کنند.)

گواهی X.509 مجموعه ای از فیلدهای استاندارد است که حاوی اطلاعات کاربر یا دستگاه و کلید عمومی مربوط به آن است. استاندارد X.509 تعریف می کند که چه اطلاعاتی در گواهی گنجانده شده است و چگونه آن کدگذاری می شود (فرمت داده).

گواهی X.509 حاوی اطلاعات زیر است:

    نسخه X.509 – نشان می دهد که این گواهینامه بر اساس کدام نسخه از استاندارد X.509 است، که مشخص می کند چه اطلاعاتی می تواند داشته باشد.

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

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

    شناسه منحصر به فرد مالک کلید (یا DN، نام متمایز– نام منحصر به فرد) – این نام باید در کل اینترنت منحصر به فرد و منحصر به فرد باشد. DN از چندین زیرمجموعه تشکیل شده است و ممکن است چیزی شبیه به این باشد:

CN = باب دیویس [ایمیل محافظت شده]، OU=PGP Engineering، O=PGP Corporation، C=US (که به ترتیب مخفف Entity Friendly Name، Email، سازمانی واحد، سازمان و کشور است.)

    مدت اعتبار گواهی - تاریخ شروع گواهی و تاریخ انقضای اعتبار آن؛ نشان می دهد که چه زمانی گواهی نامعتبر می شود.

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

    امضای دیجیتال صادرکننده یک امضای الکترونیکی است که توسط کلید خصوصی سازمان صادرکننده گواهی ایجاد می‌شود.

    Signing Algorithm Identifier - نشان دهنده الگوریتم مورد استفاده CA برای امضای گواهی است.

تعدادی تفاوت اساسی بین فرمت های گواهی X.509 و PGP وجود دارد:

    شما شخصا می توانید گواهی PGP خود را ایجاد کنید. شما باید گواهی X.509 را از یک مرجع صدور گواهی درخواست و دریافت کنید.

    گواهینامه های X.509 فقط حاوی یک نام از صاحب گواهی هستند.

    گواهی‌های X.509 تنها حاوی یک امضای دیجیتالی است که صحت گواهی را تأیید می‌کند.

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

شما می توانید گواهی X.509 را به عنوان یک گواهی کاغذی معمولی یا گواهی که یک کلید عمومی روی آن چسبانده شده است در نظر بگیرید. نام شما و همچنین برخی اطلاعات درباره شما به اضافه امضای صادر کننده گواهی را نشان می دهد.

شاید بزرگترین مزیت گواهینامه های X.509 استفاده از آنها در مرورگرهای وب باشد.

اصالت و اعتماد

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

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

همانطور که در بخش زیرساخت‌های کلید عمومی (PKIs) بحث شد، برخی از شرکت‌ها به یک یا چند مرجع صدور گواهینامه (CAs) اجازه می‌دهند تا صحت گواهی‌ها را تأیید کنند. در سازمانی که از PKI با گواهی‌های X.509 استفاده می‌کند، کار مراجع ثبت‌نام پذیرش درخواست‌های گواهی است و کار مقامات صدور گواهی صدور گواهی‌ها برای کاربران نهایی است: فرآیند پاسخگویی به درخواست کاربر برای گواهی. در سازمانی که از گواهی‌های PGP بدون PKI استفاده می‌کند، وظیفه CA تأیید اعتبار همه گواهی‌های PGP و امضای گواهی‌های اصلی است. به عنوان یک قاعده، هدف اصلی یک CA این است که کلید عمومی را با امضای خود به اطلاعات شناسایی مندرج در گواهی "پیوند" کند، در نتیجه به اشخاص ثالث اطمینان می دهد که اقدامات خاصی برای ایجاد ارتباط بین کلید و گواهی انجام شده است. اطلاعات شناسایی

CA یک سازمان سنگ بنای اعتبار و سیستم اعتماد آن است. در برخی سازمان‌ها، مانند سازمان‌هایی که از PKI استفاده می‌کنند، هیچ گواهی معتبری در نظر گرفته نمی‌شود تا زمانی که توسط یک CA مورد اعتماد امضا شود.

احراز هویت

یکی از راه های تعیین اصالت گواهی از طریق برخی روش های مکانیکی است. چندین روش برای انجام این کار وجود دارد. به عنوان مثال، می توانید از خبرنگار خود بخواهید یک کپی از کلید عمومی خود را به صورت فیزیکی منتقل کند. ارائه بر روی رسانه هارد - دیسک مغناطیسی یا نوری و غیره. اما این اغلب ناخوشایند و بی اثر است.

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

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

یکی دیگر از روش های تشخیص اصالت گواهی شخص دیگری، تکیه بر نظر شخص ثالثی است که قبلاً اصالت آن را ثابت کرده است.

به عنوان مثال، CA مسئول بررسی کامل اینکه یک کلید عمومی متعلق به مالک مورد نظر است، قبل از صدور گواهی برای او است. هر کاربری که به CA اعتماد داشته باشد، به طور خودکار تمام گواهینامه های امضا شده توسط CA را معتبر می داند.

جنبه موازی احراز هویت و اعتبار این است که اطمینان حاصل شود که گواهی باطل نشده است (لغو). برای کسب اطلاعات بیشتر در مورد این موضوع، به بخش تحت عنوان "ابطال گواهی" مراجعه کنید.

ایجاد اعتماد

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

متا ضامن ها و ضامن های مورد اعتماد

در بیشتر موارد، کاربران برای تأیید صحت گواهینامه ها کاملاً به CA متکی هستند. به عبارت دیگر، کاربران متقاعد شده اند که CA تمام مراحل تأیید مکانیکی را برای آنها انجام داده است و از ضمانت های خود برای صحت گواهینامه های تأیید شده توسط آن اطمینان دارند. این طرح فقط تا حد معینی در تعداد کاربران PKI کار می‌کند، که فراتر از آن، CA نمی‌تواند همان سطح دقیق رویه تأیید را حفظ کند. در این حالت ، اضافه کردن "ضامن" اضافی به سیستم ضروری می شود.

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

«متا ضامن» و «ضامن مورد اعتماد» اصطلاحات PGP هستند. در محیط X.509 متا ضامن نامیده می شود مرجع گواهی ریشه (ریشه CA) و ضامن های مورد اعتماد - زیردستان، یا حد واسط, مقامات صدور گواهینامه (CAهای تابع، CAهای متوسط).

یک CA ریشه از یک کلید خصوصی مرتبط با نوع خاصی از گواهی به نام گواهی CA ریشه برای امضای کلیدها استفاده می کند. هر گواهی امضا شده توسط کلید ریشه CA توسط هر گواهی دیگر امضا شده توسط root قابل اعتماد می شود. این فرآیند احراز هویت حتی برای گواهی‌هایی اعمال می‌شود که توسط CA دیگر در سیستم [مرتبط] امضا می‌شوند - اگر کلید CA میانی توسط کلید CA ریشه امضا شده باشد، هر گواهی که ابتدا امضا شود در سلسله مراتب معتبر تلقی می‌شود. این فرآیند پیگیری در امتداد شاخه‌های سلسله مراتبی از امضاکنندگان کدام گواهی نامیده می‌شود ردیابی مسیر،یا زنجیر, گواهینامه ها.

مدل های روابط اعتماد

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

سازمان ها یکی از چندین مدل رابطه اعتماد را دنبال می کنند که اقدامات کاربران را در تعیین اعتبار گواهی ها راهنمایی می کند. سه مدل مختلف وجود دارد:

    اعتماد مستقیم

    اعتماد سلسله مراتبی

    وب اعتماد

اعتماد مستقیم

اعتماد مستقیماین ساده ترین مدل روابط اعتماد است. در این طرح، کاربر متقاعد شده است که کلید اصلی است زیرا دقیقاً می داند که کلید را از چه کسی دریافت کرده است. همه سیستم های رمزنگاری تا حدی از این شکل اعتماد استفاده می کنند. به عنوان مثال، در مرورگرهای وب، کلیدهای اصلی Certificate Authorities به طور مستقیم مورد اعتماد هستند، زیرا در بسته توزیع این محصول نرم افزاری قرار گرفتند. اگر هر نوع سلسله مراتبی وجود داشته باشد، از این گواهینامه های مستقیماً قابل اعتماد گسترش می یابد.

در PGP، کاربری که به طور مستقل کلیدها را تأیید می کند، بدون اینکه به کمک ضامن های مورد اعتماد متوسل شود، از طرح اعتماد مستقیم استفاده می کند.

اعتماد سلسله مراتبی

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

شبکه اعتماد

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

ممکن است با مفهوم "شش درجه جدایی" آشنا باشید، به این معنی که هر فردی می تواند با استفاده از شش نفر یا کمتر به عنوان واسطه، نوعی زنجیره را برای هر فرد دیگری در این سیاره ایجاد کند. این شبکه ای از نمایندگان است.

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

در یک محیط PGP، هر کاربری می تواند به عنوان یک مرجع گواهی عمل کند. هر کاربر می تواند کلید عمومی کاربر دیگر را تأیید کند. با این حال، چنین گواهی تنها زمانی توسط کاربر دیگری واقعی تلقی می شود که کاربر شاهد را به عنوان ضامن مورد اعتماد خود بشناسد. (به عبارت دیگر، تنها در صورتی به نظر من در مورد اصالت کلیدهای دیگر اعتماد می کنید که من را ضامن مورد اعتماد خود بدانید. در غیر این صورت، ارزیابی ذهنی من از اصالت کلیدهای دیگران حداقل برای شما مبهم است).

حلقه کلید عمومی هر کاربر شامل نشانگرهای زیر است:

    آیا کاربر یک کلید خاص را معتبر می داند یا خیر.

    سطح اعتمادی که کاربر به یک کلید خاص داده است و مالک آن به عنوان ضامن اصالت کلیدهای دیگر عمل می کند.

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

مدارک اعتماد به PGP

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

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

    اعتماد کامل

    اعتماد جزئی

    عدم اطمینان

برای اینکه همه چیز حتی بیشتر گیج کننده باشد، سه سطح از اصالت نیز وجود دارد:

    معتبر

    احتمالا اصیل

    نا معلوم

برای دادن اختیارات حمایتی کلیدی دیگر، شما:

    کلید اصلی را بردارید که

یا توسط شما یا ضامن مورد اعتماد دیگری امضا شده باشد و سپس

    سطح اعتمادی را ایجاد کنید که فکر می کنید مالک سزاوار آن است.

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

PGP به یک امضای کاملاً قابل اعتماد یا دو امضای جزئی قابل اعتماد نیاز دارد تا یک کلید را به عنوان اصلی تشخیص دهد. روش PGP برای معادل سازی دو جزئی به یک کامل مشابه این است که گاهی اوقات از شما خواسته می شود دو نوع مدرک شناسایی ارائه دهید. ممکن است آلیس را تا حدی قابل اعتماد بدانید و همچنین ممکن است باب را تا حدی قابل اعتماد بدانید. این خطر وجود دارد که هر یک از آنها به طور جداگانه به طور تصادفی یک کلید جعلی را امضا کنند، بنابراین احتمالاً اعتماد کامل را به هیچ یک از آنها ندهید. با این حال، احتمال اینکه هر دوی آنها یک کلید جعلی را امضا کنند بسیار کم است.

ابطال گواهی

گواهی فقط تا زمانی قابل استفاده است که معتبر باشد. این خطرناک است که اطمینان داشته باشید که یک گواهی برای همیشه امن و قابل اعتماد خواهد بود. در اکثر سازمان ها و در تمام PKI ها، یک گواهی طول عمر محدودی دارد. این دوره زمانی را که در صورت به خطر افتادن گواهینامه ممکن است در معرض خطر قرار گیرد، محدود می کند.

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

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

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

در مورد گواهی های X.509، امضای ابطال شده عملاً همان گواهی ابطال شده است، زیرا به طور کلی فقط یک امضا تضمین کننده صحت گواهی بود - امضای مرجع صدور گواهی. PGP گزینه دیگری را برای باطل کردن کل گواهی (نه فقط امضاهای روی آن) در صورتی که فکر می کنید به هر طریقی به خطر افتاده است را فراهم می کند.

فقط صاحب گواهی (صاحب کلید خصوصی مربوطه) یا شخصی که به طور خاص توسط مالک مجاز است (به اصطلاح "کنسل کننده مورد اعتماد", باطل تعیین شده)، ممکن است گواهی PGP را باطل کند. (سپردن عملکرد ابطال به شخص ثالث بسیار مفید است، زیرا از دست دادن رمز عبور کلید خصوصی، که اغلب دلیلی برای ابطال است، باعث می شود که صاحب گواهی نتواند این رویه را خودش انجام دهد.) X. گواهی 509 فقط می تواند توسط صادر کننده آن - CA - بنا به درخواست مالک باطل شود.

اطلاعیه ابطال گواهی

هنگامی که یک گواهی باطل شد، مهم است که به همه خبرنگاران احتمالی اطلاع دهید که دیگر معتبر نیستند. ساده ترین روش اطلاع رسانی در محیط PGP، قرار دادن گواهی ابطال شده در سرور escrow است. به این ترتیب، به هر کسی که ممکن است تصمیم بگیرد با شما تماس بگیرد، هشدار داده می شود که از این کلید عمومی استفاده نکند.

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

CA CRL را در فواصل منظم به روز می کند. در تئوری، این باید خطر استفاده ناخواسته از گواهی ابطال شده را به حداقل برساند. اگرچه، هنوز احتمال استفاده تصادفی از گواهی مخدوش به طور موقت وجود دارد Oفاصله متر بین انتشارات CRL.

عبارت کلیدواژه چیست

اکثر کاربران با روش محدود کردن دسترسی به رایانه یا منابع رایانه آشنا هستند کلمه عبور، که یک دنباله منحصر به فرد از کاراکترها است که به عنوان کد شناسایی وارد می شود.

عبارت کلیدییک گزینه رمز عبور طولانی تر، پیچیده تر و از نظر تئوری امن تر است. به طور معمول از چندین کلمه تشکیل شده است، یک عبارت کلیدی در برابر استاندارد بسیار قابل اعتمادتر است حملات دیکشنری، که در طی آن مهاجم تمام کلمات فرهنگ لغت را امتحان می کند تا رمز عبور شما را حدس بزند. بهترین عبارات کلیدی نسبتا طولانی و پیچیده هستند و شامل حروف بزرگ و کوچک و همچنین اعداد، علائم نگارشی و سایر نمادها هستند.

PGP از یک عبارت عبور برای رمزگذاری کلید خصوصی شما استفاده می کند. کلید خصوصی روی دیسک ذخیره می شود و با مقدار هش عبارت عبور به عنوان یک کلید مخفی متقارن رمزگذاری شده است. شما از عبارت عبور برای رمزگشایی و استفاده از کلید خصوصی استفاده می کنید. عبارت کلیدی باید به گونه ای باشد که فراموش کردن آن برای شما و حدس زدن برای دیگران دشوار باشد. این باید چیزی باشد که به مدت طولانی در حافظه بلند مدت مغز شما ذخیره شده باشد و از ابتدا اختراع نشده باشد. چرا؟ زیرا اگر عبارت کلیدی را فراموش کنید، دچار مشکل بزرگی خواهید شد.کلید خصوصی بدون رمز عبور آن کاملاً بی فایده است و هیچ کاری نمی توان در مورد آن انجام داد. نقل قول ابتدای این فصل را به خاطر دارید؟ PGP رمزنگاری است که از خواندن فایل های شما توسط دولت های قدرتمند جلوگیری می کند. و حتی بیشتر از این، او به شما اجازه نمی دهد آنها را بخوانید. اگر ناگهان تصمیم گرفتید عبارت کلیدی را به گزیده ای از حکایتی که هرگز واقعاً نمی توانید به خاطر بسپارید تغییر دهید، این را در نظر داشته باشید.

اشتراک گذاری کلید

می گویند راز وقتی دو نفر بدانند دیگر راز نیست. به اشتراک گذاری کلید خصوصیاین نظر را رد می کند. اگرچه یک روش توصیه نمی‌شود، اما اشتراک‌گذاری کلید خصوصی ممکن است در شرایط خاصی ضروری باشد. مثلا، کلیدهای امضای شرکتی (کلیدهای امضای شرکتی، CSK) کلیدهای خصوصی بسیار حساسی هستند که توسط یک سازمان مورد استفاده قرار می گیرند، به عنوان مثال، برای احراز هویت اسناد قانونی، اطلاعات شخصی کارکنان، یا بیانیه های مطبوعاتی برای تأیید نویسندگی. در این صورت دسترسی چند نفر از اعضای شرکت به کلید خصوصی مفید خواهد بود. اما این بدان معناست که هر یک از اعضای تیم می توانند آزادانه و به طور کامل از طرف شرکت صحبت کنند.

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

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

جزییات فنی

در این فصل مقدمه ای مفصل برای مفاهیم و اصطلاحات رمزنگاری ارائه شده است. فیل زیمرمن، نویسنده PGP، در فصل 2، "فیل زیمرمن در PGP"، بحث عمیق تری در مورد مسائل مربوط به حریم خصوصی، جنبه های فنی PGP، از جمله الگوریتم های مورد استفاده در برنامه، و برخی از انواع حملات را توضیح می دهد. و نحوه دفاع در برابر آنها

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

صفحه 3/4

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

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

    اکنون شواهدی وجود دارد که نشان می دهد سرویس مخفی بریتانیا چندین سال قبل از دیفی و هلمن آن را اختراع کرده است، اما آن را تحت عنوان "جغدها" نگه داشته است. راز» و به هیچ وجه از آن استفاده نکرد. جی اچ الیس، امکان رمزگذاری دیجیتال غیر سری امن، گزارش CESG، ژانویه 1970. (CESG مرکز ملی انگلستان برای کاربرد رسمی رمزنگاری است)، – تقریبا نویسنده. اولین پیاده سازی غیرنظامی مفهوم رمزنگاری کلید عمومی اختراع رالف مرکل بود که به نام "پازل مرکل"(توسط او به عنوان یک کار درسی در سال 1974 توصیف شد)، اما این طرح برای اهداف عملی قابل اجرا نبود، - تقریبا مسیر. بازگشت به متن

    بنابراین، یک امضای دیجیتال، برخلاف امضای دست‌نویس، نشان می‌دهد که یک فرد خاص (شخص طبیعی) اطلاعات را تأیید نکرده است، بلکه یک کلید رمزنگاری خاص اطلاعات را تأیید کرده است. هدف از "پیوند" یک کلید رمزنگاری و یک فرد توسط گواهی‌های دیجیتال و مکانیسم‌های حفاظت از کلید بر اساس داده‌های شخصی (بیومتریک) صاحب آن تامین می‌شود. بازگشت به متن

    مترادف ها: مقدار هش، کانولوشن، امضا، جمع چک، کد اعتبار پیام. بازگشت به متن

این فصل حاوی اطلاعات مفصلی در مورد رمزنگاری و PGP است که توسط فیل زیمرمن نوشته شده است.

چرا PGP را ایجاد کردم

"هر کاری که انجام می دهید بی اهمیت خواهد بود، اما بسیار مهم است که آن را انجام دهید."

مهاتما گاندی

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

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

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

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

البته، می توانید استدلال کنید که ایمیل شما حاوی هیچ چیز غیرقانونی نیست، پس چرا آن را رمزگذاری کنید؟ اما اگر واقعاً چنین شهروند قانونمندی هستید که چیزی برای پنهان کردن ندارید، پس چرا تمام مکاتبات کاغذی خود را فقط روی کارت پستال ارسال نمی کنید؟ چرا در صورت درخواست با آزمایش مواد مخدر موافقت نمی کنید؟ چرا از پلیس برای تفتیش منزلتان حکم بازرسی می خواهید؟ چیزی را پنهان می کنی؟ اگر نامه‌ها را در پاکت می‌فرستید، به این معنی است که شما لزوماً یک جنایتکار، یا یک فروشنده مواد مخدر یا شاید یک دیوانه پارانوئید هستید؟ آیا شهروندان قانونمند نیاز به رمزگذاری ایمیل خود دارند؟

چه می شود اگر همه ناگهان تصمیم بگیرند که شهروندان قانونمند باید فقط روی کارت پستال نامه بفرستند؟ اگر در چنین شرایطی، یک ناسازگار برای حفظ حقوق شهروندی خود از پاکت کاغذی استفاده کند، این امر ناگزیر جلب توجه می کند. حتما مسئولین نامه او را باز خواهند کرد تا ببینند او چه چیزی را پنهان می کند. خوشبختانه ما در چنین دنیایی زندگی نمی کنیم زیرا همه نامه ها را در پاکت نامه می فرستند و هیچکس فکر نمی کند عجیب است. امنیت در توده مردم است. خیلی خوب خواهد بود که همه به طور معمول تمام ایمیل‌هایی را که ارسال می‌کنند، چه خوش‌خیم و چه غیرخوش‌خیم، رمزگذاری کنند تا هیچ‌کس به سادگی با استفاده از رمزنگاری برای محافظت از حق حریم خصوصی خود در ایمیل خود مشکوک نشود. آن را نوعی همبستگی در نظر بگیرید.

لایحه 266 سنا، لایحه عمومی ضد جنایت سال 1991، حاوی یک اقدام ویرانگر بود. اگر این قطعنامه غیرالزام آور به قانون تبدیل شود، تولیدکنندگان تجهیزات ارتباطی ایمن را ملزم می کند که «درهای پشتی» ویژه ای در محصولات خود ایجاد کنند که به دولت اجازه می دهد هر پیام رمزگذاری شده را بخواند. نقل قول:

کنگره می‌خواهد که ارائه‌دهندگان خدمات ارتباطات الکترونیکی و تولیدکنندگان تجهیزات ارتباطات الکترونیکی اطمینان حاصل کنند که دولت می‌تواند محتوای متنی گفتار، دیجیتال و سایر جریان‌های ارتباطی را از سیستم‌های ارتباطی در صورت مجاز بودن قانون، به دست آورد..

همین ابتکار قانونگذاری بود که مرا بر آن داشت تا در همان سال PGP را برای دسترسی رایگان به اینترنت منتشر کنم، اندکی قبل از اینکه این اقدام در اثر اعتراض شدید گروه های صنعتی و گروه های حقوق بشر لیبرال شکست بخورد.

قانون "در مورد کمک های ارتباطی در فعالیت های اجرای قانون" (CALEA) در سال 1994 الزامی برای شرکت‌های تلفن برای نصب پورت‌های راه دور در سوئیچ‌های دیجیتال مرکزی خود برای رهگیری ارتباطات تلفنی تصویب کرد و بدین ترتیب یک زیرساخت فناوری جدید برای استراق سمع با یک کلیک ایجاد کرد. دیگر لازم نیست ماموران فدرال به صحنه بروند و با گیره های تمساح به خط تلفن وصل شوند. حالا آنها می توانند آرام با یک فنجان قهوه در دفترشان در واشنگتن بنشینند و به تماس های تلفنی شما گوش دهند. البته قانون همچنان برای انجام شنود نیاز به حکم دادگاه دارد. اما در حالی که زیرساخت های فنی برای چندین دهه ساخته شده اند، قوانین و سیاست ها در عرض چند ساعت تغییر می کنند. هنگامی که زیرساخت‌های ارتباطی بهینه‌سازی شده برای نظارت در حال حاضر وجود داشته باشد، تغییر در محیط سیاسی می‌تواند منجر به سوء استفاده از این قدرت جدید شود. زمینه سیاسی ممکن است با انتخاب رئیس جمهور جدید یا، شاید به شکلی رادیکال تر و چشمگیرتر، با بمباران ساختمان فدرال تغییر کند. 1

یک سال پس از تصویب CALEA، اف‌بی‌آی ابتکاری را رونمایی کرد تا از شرکت‌های تلفن بخواهد در زیرساخت‌های خود ظرفیت کافی برای استراق سمع یک درصد از مکالمات تلفنی در شهرهای بزرگ ایالات متحده را در یک زمان نصب کنند. این نشان دهنده افزایش بیش از هزار برابری تعداد ارتباطاتی است که رهگیری می شوند. در سال‌های گذشته، سالانه تنها حدود هزار شنود تلفنی در ایالات متحده در سطوح فدرال، ایالتی و محلی با مجوز دادگاه وجود داشت. تصور اینکه دولت چگونه قضات کافی را برای امضای تعداد مورد نیاز حکم استخدام کند، دشوار است. حتی دشوارتر است که بفهمیم کجا می‌خواهیم این همه مامور فدرال بنشینند و به این همه ترافیک در زمان واقعی گوش دهند. تنها راه ممکن برای پردازش چنین حجمی از اطلاعات، یک برنامه بزرگ تشخیص گفتار خودکار اورولی است که تمام ترافیک را در جستجوی کلمات کلیدی مورد علاقه یا صدای یک شخص خاص غربال می کند. اگر دولت در نمونه یک درصد اول هدفی پیدا نکند، شنود به شنود بعدی تغییر می‌کند و تا زمانی که هدف پیدا شود یا همه تلفن‌ها از نظر ارتباطات مشکوک رصد شوند، ادامه می‌یابد. FBI اطمینان داد که به این ظرفیت ها فقط به عنوان پایه ای برای آینده نیاز دارد. اما این ابتکار چنان خشم عمومی را برانگیخت که توسط کنگره رد شد. با این حال، این واقعیت که FBI چنین نیروی جدی را درخواست کرده است، نشان دهنده برنامه های فوری آن است.

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

برای شروع استفاده از رمزنگاری، لازم نیست ایمان خود را به قدرت از دست بدهید. ارتباطات تجاری شما ممکن است توسط رقبا، جرایم سازمان یافته و سازمان های اطلاعاتی خارجی رهگیری شود. به عنوان مثال، برخی از دولت های خارجی اجازه می دهند تا از اطلاعات فناوری اطلاعات آنها علیه شرکت های کشورهای دیگر استفاده شود تا شرکت های خود را رقابتی تر کنند. طنز این است که رژیم محدودیت های اعمال شده توسط دولت ایالات متحده در دهه 90 بر روی توزیع و استفاده از رمزنگاری قوی، حفاظت از مشاغل آمریکایی خود را در برابر این تهدیدات تضعیف کرد.

دولت می داند که قرار است رمزنگاری چقدر نقش مهمی در رابطه «قدرت» با مردم خود ایفا کند. در آوریل 1993، دولت کلینتون یک سیاست رمزنگاری رادیکال جدید را فاش کرد که از ابتدای دولت بوش در آژانس امنیت ملی ایالات متحده (NSA) ایجاد شده بود. اساس این سیاست جدید یک تراشه رمزگذاری طراحی شده توسط NSA به نام بود تراشه کلیپر، حاوی یک الگوریتم رمزگذاری طبقه بندی شده جدید NSA - جک پرش. دولت سعی کرد صنعت خصوصی را تشویق کند تا این تراشه را در تمام محصولات ارتباطی امن، مانند تلفن های رمزنگاری، cryptofax و غیره جاسازی کند. AT&T Clipper را در محصولات صوتی رمزنگاری خود نصب کرد. ترفند اینجا چیست؟ در طول فرآیند تولید، هر تراشه کلیپر با کلید منحصر به فرد خود بارگذاری می‌شود و دولت یک کپی دریافت می‌کند که آن را سپرده می‌کند. با این حال، جای نگرانی وجود ندارد - دولت وعده می دهد که از این کلیدهای امانی برای استراق سمع ارتباطات شما فقط زمانی استفاده کند که "به طور مقتضی توسط قانون مجاز است". البته، برای موثر کردن بی قید و شرط کلیپر، گام منطقی بعدی غیرقانونی کردن سایر اشکال رمزنگاری است.

در ابتدا، دولت گفت که استفاده از تراشه کلیپر داوطلبانه خواهد بود و هیچ کس مجبور نخواهد شد از آن به جای دیگر انواع رمزنگاری استفاده کند. اما واکنش عمومی علیه این تراشه قوی‌تر بود، بسیار قوی‌تر از آنچه دولت انتظار داشت. صنعت کامپیوتر مخالفت یکپارچه خود را با استفاده از تراشه اعلام کرده است. مدیر اف بی آی، لوئیس فری، به سوالی که در یک کنفرانس مطبوعاتی در سال 1994 مطرح شد، پاسخ داد که اگر کلیپر مورد پذیرش عمومی قرار نگیرد و شنود FBI به دلیل رمزنگاری غیردولتی غیرممکن شود، دفتر او چاره‌ای جز جلب حمایت قانونی نخواهد داشت. بعدها، پس از فاجعه اوکلاهاما سیتی، آقای فری در جلسه کمیته قضایی سنا استدلال کرد که در دسترس بودن رمزنگاری قوی برای عموم مردم باید به شدت توسط دولت محدود شود (حتی اگر هیچ کس ثابت نکرده باشد که بمب گذاران از رمزنگاری در برنامه ریزی استفاده کرده اند. حمله).

دولت تمایلاتی نشان داده است که به این اطمینان منجر نمی شود که هرگز آزادی های مدنی ما را نقض نخواهد کرد. برنامه FBI COINTELPROهدف آن گروه هایی بود که مخالف سیاست های دولت بودند. از جنبش های ضد جنگ و حقوق مدنی جاسوسی می کرد. تلفن مارتین لوتر کینگ را شنود کرد. نیکسون لیستی از دشمنان خود را نگه داشت. سپس رسوایی واترگیت بود. و نه چندان دور، کنگره تلاش کرد یا موفق شد قوانینی را تصویب کند که حقوق مدنی ما را در اینترنت محدود کند. برخی از عناصر کاخ سفید کلینتون در حال جمع آوری پرونده های محرمانه FBI در مورد کارمندان غیرنظامی جمهوری خواه بودند که احتمالاً برای باج گیری سیاسی بودند. و دادستان های بیش از حد متعصب تمایل خود را برای رفتن به انتهای زمین در جستجوی مطالب مجرمانه درباره "ماجراجویی" جنسی مخالفان سیاسی خود نشان دادند. در هیچ زمانی در قرن گذشته بی اعتمادی عمومی نسبت به دولت به اندازه امروز در سراسر طیف سیاسی گسترده نبوده است.

در دهه 1990، متوجه شدم که اگر می‌خواهیم در برابر این روند مخرب دولتی که رمزنگاری را غیرقانونی می‌کند، مقاومت کنیم، یکی از کارهایی که می‌توانیم انجام دهیم این بود که تا آنجا که می‌توانیم از رمزنگاری استفاده کنیم در حالی که استفاده از آن قانونی بود. زمانی که استفاده از رمزنگاری قوی رایج شود، جرم انگاری آن برای دولت ها دشوارتر خواهد بود. بنابراین، استفاده از PGP می تواند به عنوان وسیله ای برای حفظ دموکراسی عمل کند. اگر حقوق حریم خصوصی غیرقانونی باشد، تنها کسانی که خارج از قانون هستند حریم خصوصی خواهند داشت.

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

PGP به مردم این قدرت را می دهد که حقوق مدنی خود را به دست خود بگیرند. تقاضای اجتماعی بالایی برای این امر وجود دارد. به همین دلیل من PGP را ایجاد کردم.

الگوریتم های متقارن PGP

PGP دارای مجموعه ای از الگوریتم های مختلف کلید مخفی است که خود پیام را رمزگذاری می کند. منظور ما از الگوریتم های کلید مخفی، رمزهای بلوکی متقارن است که از یک کلید برای رمزگذاری و رمزگشایی استفاده می کنند. رمزهای بلوکی متقارن ارائه شده توسط PGP هستند بازیگران، Triple-DES، IDEA، Twofish، و AES. همه این الگوریتم ها "روی زانو" نوشته نشده اند - آنها نتایج تحقیقات علمی جدی توسط گروه های رمزنگاری با شهرت برجسته هستند.

برای کسانی که به رمزنگاری علاقه مند هستند، می توانیم این الگوریتم ها را با جزئیات بیشتری مورد بحث قرار دهیم. CAST، Triple-DES و IDEA بر روی بلوک های داده 64 بیتی کار می کنند. CAST و IDEA دارای کلیدهای 128 بیتی هستند، Triple-DES از یک کلید 168 بیتی استفاده می کند. مانند استاندارد رمزگذاری داده ها (DES)، این الگوریتم ها می توانند در حالت های گاما با بازخورد متن رمزی کار کنند. بازخورد رمز، CFB) و الحاق متوالی بلوک های متن رمز شده ( زنجیره بلوک رمز، CBC). PGP از آنها در حالت CFB 64 بیتی استفاده می کند.

من الگوریتم CAST را به چند دلیل به PGP اضافه کردم: این الگوریتم به عنوان یک رمز رمز قوی 128 بیتی، بسیار سریع و رایگان است. نام آن از حروف اول توسعه دهندگان، Carlisle Adams و Stafford Tavares 2، North Telecom (Nortel) گرفته شده است. نورتل CAST را اختراع کرد، اما تعهد کتبی داد که بدون پرداخت حق امتیاز حق اختراع، آن را در دسترس همه قرار دهد. به نظر می رسد CAST رمز بسیار موفقی باشد که توسط افراد دارای شهرت در حرفه خود طراحی شده است. این طرح بر اساس یک رویکرد کاملا رسمی با تعدادی از مقررات رسمی قابل اثبات است. همه اینها قویاً نشان می دهد که شکستن کلید 128 بیتی او مستلزم یک حمله جلویی است. CAST فضای کلید ضعیف یا نیمه ضعیفی ندارد. استدلال های قوی وجود دارد مبنی بر اینکه CAST به طور کامل در برابر تجزیه و تحلیل رمزنگاری خطی و دیفرانسیل غیرقابل نفوذ است، دو تا از قوی ترین شکل های تحلیل رمزی که در ادبیات عمومی توضیح داده شده است، که هر دوی آنها در شکستن DES موثر هستند. معماری رسمی DES مانند CAST و شهرت خوب نویسندگان آن توجه را به الگوریتم و تلاش برای حملات رمزنگاری از کل جامعه علمی جلب کرد که با وقار در مقابل آن ایستادگی کرد. من تقریباً همان احساس اعتماد به CAST را دارم که چند سال پیش با IDEA داشتم، رمزی که برای نسخه های اولیه PGP انتخاب کردم. در آن زمان، IDEA برای داشتن اعتبار جدی بسیار جوان بود، اما تا به امروز بسیار خوب عمل می کند.

رمز بلوک IDEA (الگوریتم رمزگذاری بین‌المللی داده‌ها) بر اساس مفهوم «اختلاط عملیات از گروه‌های جبری مختلف» است. این الگوریتم در ETH، زوریخ، توسط James Massey و Sueja Lai توسعه یافت و در سال 1990 منتشر شد. در اولین انتشارات، این الگوریتم IPES (استاندارد رمزگذاری پیشنهادی بهبودیافته) نام داشت، اما بعداً به IDEA تغییر نام داد. IDEA نسبت به رمزهای قبلی FEAL، REDOC-II، LOKI، Khufu و Khafre در برابر حملات بسیار مقاوم‌تر است. همچنین مشخص شد که IDEA نسبت به DES در برابر حمله رمزنگاری دیفرانسیل بسیار موفق Biham و Shamir و همچنین در برابر تحلیل خطی رمز بسیار مقاوم‌تر است. اعتماد به IDEA هر سال بیشتر می شود. متأسفانه، بزرگترین مانع برای پذیرش IDEA به عنوان یک استاندارد رمزگذاری، این واقعیت است که دارنده اختراع طراحی آن، AscomSystec، آن را به طور رایگان برای استفاده بدون حق امتیاز در دسترس قرار نمی دهد، همانطور که در مورد DES و CAST وجود دارد.

همچنین، در میان سایر موارد، Triple-DES سه کلیدی در زرادخانه رمزهای بلوکی PGP گنجانده شده است. DES در اواسط دهه 70 توسط IBM اختراع شد. اگرچه طراحی کارآمدی دارد، اما کلید 56 بیتی آن با استانداردهای امروزی بسیار کوچک است. Triple-DES بسیار قابل اعتماد است. در طول سال ها به خوبی مورد مطالعه قرار گرفته است، بنابراین ممکن است انتخاب بهتری نسبت به CAST و IDEA نسبتاً جدید باشد. Triple-DES DES است که سه بار روی یک بلوک داده با استفاده از سه کلید مختلف اعمال می شود، با این تفاوت که عملیات دوم در حالت رمزگشایی به ترتیب معکوس انجام می شود. اگرچه Triple-DES بسیار کندتر از CAST یا IDEA است، سرعت معمولاً در برنامه های ایمیل مهم نیست. اگرچه Triple-DES دارای طول کلید 168 بیتی است، اما قدرت موثر حداقل 112 بیت در برابر مهاجمی با قدرت محاسباتی فوق‌العاده بزرگی است که در حمله استفاده می‌شود. بر اساس محاسبات ارائه شده توسط مایکل وینر در Crypto96، هر منبع ذخیره سازی قابل قبولی که از راه دور در دسترس مهاجم باشد، امکان انجام حمله ای را فراهم می کند که تقریباً به اندازه شکستن یک کلید 129 بیتی به زمان/هزینه نیاز دارد. استفاده از Triple-DES با هیچ پتنت محدود نمی شود.

با شروع PGP 7.0، الگوریتم Twofish بروس اشنایر را اضافه کردیم. Twofish یکی از پنج فینالیست پروژه استاندارد رمزگذاری پیشرفته (AES) NIST بود. AES یک معماری رمزنگاری بلوکی جدید است که بر روی بلوک های 128 بیتی با اندازه های کلیدی 128، 192 یا 256 بیتی کار می کند. پانزده گروه رمزنگاری از سراسر جهان طرح های خود را هنگام راه اندازی مسابقه NIST در سال 1996 ارائه کردند که از میان آنها پنج گروه در سال 1998 انتخاب شدند.

پنج فینالیست Twofish، Serpent، Rijndael، RC6 و MARS بودند. هر پنج مورد توسط بهترین رمزنگاران جهان تحت آزمایش‌های دقیق رمزنگاری قرار گرفتند که بسیاری از آنها کار خود را در AES در رقابت با دیگران ارائه کردند. از بین این پنج الگوریتم عالی، NIST Rijndael ("دلار راین") را به عنوان برنده انتخاب کرد. Rijndael رمز بلوکی است که توسط Joan Dymen و Vincent Rijndael توسعه یافته است. Rijndael از نسخه 7.1 در PGP گنجانده شده است. برای اطلاعات بیشتر در مورد AES، به www.nist.gov/aes مراجعه کنید.

کلیدهای عمومی تولید شده در PGP 5.0 و نسخه های بعدی حاوی اطلاعاتی در مورد اینکه کدام رمزهای بلوکی توسط برنامه گیرنده شناسایی می شوند، هستند، به طوری که برنامه فرستنده بداند از کدام الگوریتم ها می توان برای رمزگذاری استفاده کرد. کلیدهای عمومی Diffie-Hellman/DSS از CAST، IDEA، AES (Rijndael)، Triple-DES و Twofish به عنوان رمزهای بلوکی با نصب AES به طور پیش فرض (در نسخه های 8.0 و بالاتر) پشتیبانی می کنند. به دلایل سازگاری با عقب، کلیدهای RSA این قابلیت را ندارند. PGP برای رمزگذاری پیام‌ها با کلیدهای RSA به الگوریتم IDEA محدود می‌شود، زیرا نسخه‌های قدیمی‌تر PGP فقط از RSA و IDEA 3 پشتیبانی می‌کنند.

درباره روش فشرده سازی داده ها در PGP

PGP متن ساده را قبل از رمزگذاری فشرده می کند زیرا داده های رمزگذاری شده بسیار کمتر فشرده می شوند. فشرده سازی داده ها زمان انتقال مودم را کاهش می دهد و فضای دیسک را ذخیره می کند و مهمتر از آن، قدرت رمزنگاری را افزایش می دهد. بیشتر تکنیک‌های رمزنگاری بر تحلیل آماری متن رمزی تکیه می‌کنند و به دنبال نشانه‌هایی از افزونگی متن ساده هستند. فشرده سازی، افزونگی اطلاعات را کاهش می دهد، که به طور قابل توجهی مقاومت در برابر تحلیل رمزی را افزایش می دهد. فشرده سازی داده ها کمی زمان بیشتری می برد، اما از منظر امنیتی ارزش آن را دارد.

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

برای افرادی که از نظر فنی کنجکاو هستند، این برنامه از الگوریتم های فشرده سازی ZIP نوشته شده توسط ژان لو گالی، مارک آدلر و ریچارد ولز استفاده می کند. برنامه ZIP از الگوریتم های فشرده سازی استفاده می کند که از نظر عملکردی با الگوریتم های مورد استفاده در PKZIP 2.x PKWare برابر هستند. این برنامه فشرده سازی برای PGP در درجه اول به دلیل نسبت فشرده سازی خوب و سرعت آن انتخاب شد.

درباره اعداد تصادفی و کلیدهای جلسه

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

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

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

درباره خلاصه پیام

خلاصه پیام یک تراکم فشرده 160 یا 128 بیتی از پیام اولیه یا جمع‌بندی فایل شما است. می توانید آن را به عنوان اثر انگشت یک پیام یا فایل در نظر بگیرید. خلاصه پیام "انعکاس" نمونه اولیه است: اگر داده های اصلی به هر طریقی تغییر کنند، خلاصه کاملاً متفاوتی از آن محاسبه می شود. این به شما امکان می دهد حتی جزئی ترین تغییرات ایجاد شده توسط مهاجم را در یک پیام شناسایی کنید. خلاصه با استفاده از یک تابع هش یک طرفه رمزنگاری قوی تولید می شود. از لحاظ محاسباتی غیرممکن است که یک پیام ساختگی ایجاد کنید که خلاصه ای مشابه با خلاصه پیام اصلی ایجاد کند. از این نظر، خلاصه پیام بسیار بهتر از چک‌سوم (CRC32 یا CRC64) است، زیرا ایجاد دو پیام مختلف که یک چک‌سوم را تولید می‌کنند بسیار آسان است. اما، مانند چک‌سام، هیچ راهی برای بازیابی داده‌های اولیه تصویر اولیه از خلاصه وجود ندارد.

الگوریتم تابع هش یک طرفه قوی مورد استفاده در PGP 5.0 و بالاتر نامیده می شود SHA-1که به معنی الگوریتم هش امن است. این توسط NSA برای موسسه ملی استاندارد و فناوری ایالات متحده (NIST) توسعه یافته است. SHA-1 یک الگوریتم هش 160 بیتی است. برخی از مردم به همه پیشرفت‌های NSA مشکوک هستند، زیرا NSA مسئول الکترونیک و سیگنال‌های اطلاعاتی و شکستن کد است. اما به خاطر داشته باشید که NSA علاقه ای به جعل امضا ندارد. دولت و نیروهای امنیتی آن از استاندارد خوبی از امضاهای دیجیتالی جعلی که به هیچ کس اجازه انکار آنها را نمی دهد، سود بیشتری خواهند برد. علاوه بر این، SHA-1 در ادبیات باز منتشر شده است و پس از تحقیقات گسترده توسط رمزنگاران برتر تابع هش در جهان، به اتفاق آرا به دلیل طراحی بسیار موفق آن مورد تحسین قرار گرفته است. این دارای برخی از نوآوری های معماری است که بر تمام مشکلات مشاهده شده قبلی از توابع هش یک طرفه که تاکنون توسط جامعه رمزنگاری غیرنظامی ایجاد شده است، غلبه می کند. همه نسخه های اخیر PGP از SHA-1 به عنوان الگوریتم هش برای تولید امضا با کلیدهای DSA جدید که با استاندارد امضای دیجیتال NIST (DSS) مطابقت دارند، استفاده می کنند. به دلایل سازگاری با عقب، نسخه های جدید PGP همچنان از MD5 برای امضا با کلیدهای RSA استفاده می کنند، زیرا نسخه های قدیمی PGP تنها از الگوریتم MD5 برای کار با امضای دیجیتال استفاده می کنند.

در نسخه های اولیه PGP، الگوریتم تابع هش بود MD5، الگوریتم خلاصه پیام، منتشر شده توسط RSA Data Security, Inc. MD5 یک الگوریتم هش با خروجی 128 بیتی است. در سال 1996، MD5 عملا توسط رمزنگار آلمانی هانس دوبرتین کرک شد. اگرچه الگوریتم به طور کامل شکست نخورد، اما چنان کاستی های جدی در آن آشکار شد (تمایل تابع فشرده سازی الگوریتم به ایجاد برخورد) که اکنون دیگر به هیچ کس توصیه نمی شود از آن برای تولید امضای دیجیتال استفاده کند. کار بیشتر در این زمینه مطمئناً امکان هک کامل آن را فراهم می کند که جعل آزادانه امضاهای الکترونیکی را ممکن می کند. اگر نمی خواهید روزی امضای الکترونیکی خود را در یک اعتراف جعلی کشف کنید، از کلیدهای جدید DSA و RSA v4 به عنوان روش ترجیحی برای تولید امضای دیجیتال استفاده کنید، زیرا آنها از SHA-1 به عنوان یک رمزنگاری قوی استفاده می کنند. تابع هش راه.

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

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

فرض کنید باید یک پیام مخفی به آلیس بفرستید. گواهینامه و کلید عمومی آن را از سرور سپرده گذاری دانلود می کنید، سپس نامه را با این کلید رمزگذاری کرده و از طریق ایمیل ارسال می کنید.

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

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

احتمالاً می‌توانید کلید آلیس را از دوست مشترک خود دیوید، که یک کپی اصلی از کلید عمومی او دارد، دریافت کنید. دیوید می‌تواند کلید عمومی آلیس را با کلید خصوصی خودش امضا کند و از این طریق صحت آن را تضمین کند.

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

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

حتی ممکن است یک فرد مشهور و محترم در خدمات میانجیگری و نمایندگی بین کاربران مختلف با امضای گواهینامه کلید عمومی خود متخصص شود. این فرد مورد اعتماد را می توان مرجع صدور گواهی نامید. گواهی دیجیتالی هر کلید عمومی که حاوی امضای آن مرجع صدور گواهی است، می‌توان پیشینی فرض کرد که معتبر است و متعلق به واقعی کاربر است که هویتش در جزئیات گواهی مشخص شده است. هر کاربری که بخواهد در چنین Web of Trust شرکت کند فقط به یک کپی معتبر از کلید عمومی CA برای تأیید امضاها نیاز دارد. در برخی موارد، یک CA همچنین ممکن است به عنوان یک سرور نگهبان عمل کند و به کاربران شبکه اجازه دهد تا کلیدهای عمومی را از آن درخواست کنند. اما نیازی به تایید کردن کلیدها توسط سرور سپرده گذاری نیست.

یک CA متمرکز قابل اعتماد مخصوصاً برای سازمان‌های دولتی و شرکت‌های بزرگ با یک سیستم مدیریت واحد مناسب است. برخی از سازمان ها از سلسله مراتب CA استفاده می کنند.

در یک محیط غیرمتمرکزتر، توانایی همه کاربران برای ایفای نقش به عنوان نمایندگان و ضامنان مورد اعتماد دوستان و همکاران خود بر منبع متمرکز گواهینامه کلیدی ارجحیت دارد.

یکی از ویژگی های جذاب PGP این است که به طور یکسان در یک محیط متمرکز با یک مرجع صدور گواهی اجرا می شود و همچنین در یک محیط غیرمتمرکزتر که در آن کاربران به طور مستقل کلیدهای شخصی خود را مبادله می کنند.

مجموعه ای از اقدامات برای محافظت از کلیدهای عمومی در برابر جعل سخت ترین مشکل در پیاده سازی عملی سیستم های رمزگذاری کلید عمومی است. این «پاشنه آشیل» تمام رمزنگاری نامتقارن است و بیشتر مکانیسم‌های PGP به طور خاص به حل این مشکل اصلی گره خورده است.

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

مهم نیست چقدر باتجربه هستید، اقدامات احتیاطی را انجام دهید و به صحت کلید عمومی دانلود شده از سرور یا وب سایت نگهبان اعتماد نکنید، مگر اینکه توسط شخصی مورد اعتماد تأیید شده باشد. این کلید عمومی تایید نشده می تواند توسط هر کسی، حتی مدیر سیستم سرور یا وب سایت، جعل یا جایگزین شود.

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

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

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

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

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

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

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

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

چگونه PGP اصالت کلیدها را تعیین می کند

قبل از ادامه این پاراگراف، لطفاً بند قبلی «چگونه از کلید عمومی خود در برابر جعل محافظت کنیم» را بخوانید.

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

PGP از دو معیار موازی برای ارزیابی اعتبار کلیدهای عمومی استفاده می کند، آنها را اشتباه نگیرید:

    آیا کلید متعلق به صاحب مورد نظر است؟ به عبارت دیگر، آیا با امضای مورد اعتماد تأیید می شود؟

    آیا کلید متعلق به شخصی است که از طرف شما مجاز به تأیید سایر کلیدها (ضامن) است؟

PGP به طور خودکار پاسخ سوال 1 را محاسبه می کند. شما پاسخ سوال 2 را خودتان در اختیار برنامه قرار می دهید. وقتی به سؤال 2 پاسخ می دهید، PGP می تواند پاسخ سؤال 1 را برای همه کلیدهای امضا شده توسط امضاکننده ای که تنظیم کرده اید محاسبه کند.

کلیدهایی که توسط یک ضامن مورد اعتماد تایید شده اند، معتبر تلقی می شوند. مطمئن ترین کلید ضامن باید توسط شما شخصاً یا توسط ضامن مورد اعتماد دیگری تأیید شود.

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

با محاسبه قابل اعتماد بودن یک کلید عمومی، PGP سطوح اعتماد همه امضاهایی که آن را تأیید می کنند بررسی می کند. سپس یک رتبه بندی قابل اعتماد کلی ارائه می دهد: به عنوان مثال، دو امضای نیمه قابل اعتماد معادل یک امضای کاملاً قابل اعتماد در نظر گرفته می شوند. شک و تردید برنامه قابل تنظیم است: می‌توانید PGP را طوری پیکربندی کنید که برای احراز هویت یک کلید به دو امضای کاملاً قابل اعتماد یا سه امضای نیمه مطمئن و غیره نیاز باشد. 6

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

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

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

به خاطر داشته باشید که تاکید بر این رویکرد انبوه توزیع شده به این معنی نیست که PGP نمی تواند در طرح های مدیریتی ساختارمندتر سلسله مراتبی پیاده سازی شود. به عنوان مثال، کاربران شرکت های بزرگ ممکن است از داشتن یک شخصیت مرکزی (شخص یا بخش) که کلید همه کارمندان را تأیید می کند، سود ببرند. PGP این سناریوی متمرکز را به عنوان یک شکل ساده شده ویژه از مدل اعتماد جهانی تر خود مدیریت می کند.

چگونه از کلید خصوصی خود در برابر به خطر افتادن محافظت کنید

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

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

رمز عبور خود را روی همان رایانه ای که کلید خصوصی خود دارید ذخیره نکنید!نگه داشتن کلمه عبور و خود کلید در یک رایانه به همان اندازه خطرناک است که پین ​​خود را در کیف پول یکسانی با کارت بانکی خود نگه دارید. تصور کنید چه اتفاقی می‌افتد اگر شخصی به دیسکی که هم کلید خصوصی و هم عبارت عبور را دارد دسترسی پیدا کند. مطمئناً امن ترین مکان برای ذخیره یک عبارت کلیدی در ذهن شماست. اگر فکر می کنید که عبارت کلیدی هنوز ارزش نوشتن را دارد، ضبط را مخفی کنید و آن را ایمن نگه دارید، شاید حتی امن تر از خود کلید.

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

رویکرد غیرمتمرکز و غیرسازمانی PGP برای مدیریت کلیدهای عمومی هم مزایا و هم معایب دارد: شما نمی‌توانید به یک لیست لغو گواهی تکیه کنید، که محدود کردن تأثیر به خطر افتادن کلید خصوصی را دشوارتر می‌کند. تنها کاری که می توانید انجام دهید این است که این خبر را منتشر کنید و امیدوار باشید که همه در مورد آن بشنوند.

اگر بدترین اتفاق بیفتد - کلید خصوصی و رمز عبور آن به خطر افتاده است (امیدواریم به نحوی از این موضوع مطلع شده باشید) - باید فوراً یک گواهی ابطال کلید صادر کنید ( گواهی ابطال کلید، KRC). این به عنوان یک اقدام احتیاطی برای جلوگیری از استفاده از کلید عمومی باطل شده استفاده می شود. می توانید با استفاده از دستور Revoke از مدیر PGPkeys یک گواهی KRC صادر کنید یا می توانید از Revoker تعیین شده خود بخواهید این کار را انجام دهد. سپس باید این گواهی را به سرور مخزن ارسال کنید. هر خبرنگار بالقوه ای که گواهی را دانلود کند، نمی تواند عمدا یا سهواً از کلید عمومی شما استفاده کند: PGP به شما اجازه نمی دهد از آن برای رمزگذاری استفاده کنید، و هنگام مقایسه امضاها به شما اطلاع می دهد که کلید باطل شده است. اکنون می توانید یک جفت کلید جدید ایجاد کنید و کلید عمومی جدید خود را به صورت آنلاین منتشر کنید.

اگر کلید خصوصی خود را گم کردید چه می شود

برای لغو یک کلید عمومی در یک وضعیت عادی، باید از دستور Revoke در مدیر PGPkeys استفاده کنید. این یک گواهی KRC را صادر می کند که با کلید خصوصی مربوطه امضا شده است.

اما اگر کلید خصوصی گم شد، از بین رفت یا به سادگی عبارت کلید را فراموش کردید، چه باید کرد؟ شما خودتان نمی توانید کلید عمومی را باطل کنید زیرا امضای گواهی ابطال به یک کلید خصوصی نیاز دارد که دیگر آن را ندارید. مگر اینکه یک "ابطال کننده قابل اعتماد" داشته باشید که بتواند به درخواست شما گواهی KRC صادر کند، باید شخصاً از هر فردی که کلید عمومی را امضا کرده است بخواهید امضای خود را در آن لغو کند. سپس در صورتی که فردی با تکیه بر نظر ضامن ها اقدام به استفاده از آن کند، به وی اخطار داده می شود که به وضعیت کلید عمومی شما اعتماد نکند.

مراقب مرهم کنعان باشید

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

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

سالها بعد، من همین الگو را در تعدادی از مقالات مشاوره ای و مواد رمزنگاری مقدماتی کشف کردم. چه خوب که دیگر رمزشناسان هم همین فکر را داشتند! متأسفانه، این طرح به‌عنوان یک تکلیف ساده با استفاده از تکنیک‌های اساسی رمزنگاری برای شکستن آن به شیوه‌ای پیش پا افتاده ارائه شد. این ایده درخشان من است ...

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

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

گاهی اوقات محصولات تجاری استاندارد رمزگذاری داده های فدرال - DES - را پیاده می کنند - رمز بلوکی بسیار خوبی (به جز اینکه کلید خیلی کوتاه است)، که توسط دولت برای استفاده تجاری توصیه می شود (اما نه برای اطلاعات طبقه بندی شده، که بسیار عجیب است. هومم). DES می تواند در چندین حالت کار کند که برخی از آنها بهتر از بقیه هستند. دولت به طور خاص اعلام می کند که هنگام ارسال پیام از ساده ترین و ضعیف ترین آنها استفاده نکنید - کتاب کد الکترونیکی ( کتاب کد الکترونیکی، ECB). در عوض، حالت‌های گامای حلقه بسته قوی‌تر و جامع‌تری را ارائه می‌کند ( بازخورد رمز، CFB) و زنجیره بلوک های متن رمز شده ( زنجیره بلوک رمز، CBC).

متأسفانه، بیشتر بسته های تجاری که در اوایل دهه 1990 بررسی کردم، زمانی که برای اولین بار PGP را منتشر کردم، از حالت ECB استفاده می کردند. در گفتگو با برخی از نویسندگان چنین تحولاتی، آنها پاسخ دادند که هرگز در مورد حالت های CBC یا CFB نشنیده اند و از نقاط ضعف ECB اطلاعی ندارند. همین محصولات گاهی اوقات پروتکل های مدیریت کلید ناکافی و ناامن را پیاده سازی می کنند. این واقعیت که آنها حتی اصول رمزنگاری را برای درک چنین مفاهیم اساسی مطالعه نکرده اند، اصلاً دلگرم کننده نیست. علاوه بر این، چنین نرم افزاری اغلب حاوی الگوریتم جایگزین و سریعتر است که می تواند به جای DES کندتر استفاده شود. توسعه‌دهنده برنامه معمولاً الگوریتم سریع خود را به اندازه DES قابل اعتماد می‌داند، اما پس از صحبت با او معمولاً متوجه می‌شدم که این فقط یک تغییر در موضوع اختراع "درخشان" من از دوران دانشجویی من است. او حتی ممکن است نفهمد که الگوریتمش چگونه کار می کند، اما مشتاقانه به من اطمینان می دهد که این یک طرح عالی است که می توان روی آن تکیه کرد. می دانم که او فکر می کند الگوریتمش بی عیب و نقص است، اما چگونه می توانم قابلیت اطمینان آن را بدون مطالعه آن آزمایش کنم؟

اگر منصف باشیم، شایان ذکر است که شرکت‌های متخصص در فناوری‌های کریپتو، چنین برنامه‌های بسیار ضعیفی را منتشر نمی‌کنند.

اما حتی برنامه های واقعاً خوبی که از DES به درستی استفاده می کنند، هنوز هم مشکل دارند. DES معمولی از یک کلید 56 بیتی استفاده می‌کند که طبق استانداردهای امروزی بسیار کوتاه است، که می‌توان آن را به راحتی با نیروی بی‌رحم در ماشین‌های مخصوص با سرعت بالا شکست. عمر DES به پایان رسیده است و عمر تمام پیاده سازی های آن نیز به پایان رسیده است.

شرکتی به نام AccessData وجود دارد که یک برنامه بسیار ارزان را می فروشد که طرح های رمزگذاری ساخته شده در WordPerfect، Lotus 1-2-3، MS Excel، Symphony، Quattro Pro، Paradox، MS Word و PKZIP را می شکند. این فقط رمز عبور را حدس نمی‌زند، بلکه رمزگذاری واقعی را انجام می‌دهد. برخی از افراد زمانی که رمز عبور فایل های خود را فراموش می کنند، آن را خریداری می کنند. سازمان‌های مجری قانون نیز برای خواندن فایل‌هایی که در حین بازرسی ضبط می‌شوند، آن را خریداری می‌کنند. من با اریک تامپسون، نویسنده برنامه صحبت کردم و او اعتراف کرد که شکستن رمز عبور فقط کسری از ثانیه طول می کشد، اما او چند حلقه تاخیر اضافه کرد تا روند را کندتر کند تا برای خریدار آنقدرها ساده به نظر نرسد. .

وقتی صحبت از تلفن ایمن می شود، انتخاب های شما محدود است. نامزد پیشرو، واحد تلفن ایمن STU-III دو تا سه هزار دلاری است که توسط موتورولا و AT&T برای عملیات طبقه بندی شده دولتی توسعه یافته است. دارای رمزگذاری قوی است، اما برای خرید این نسخه مجوز دولتی ویژه لازم است. یک نسخه تجاری از STU-III با قدرت رمزنگاری کاهش یافته برای نیازهای NSA وجود دارد. یک نسخه صادراتی، حتی ضعیف تر، نیز وجود دارد. همچنین Surity 3600 1200 دلاری AT&T نیز وجود دارد که از تراشه بدنام دولتی Clipper با کلیدهای سپرده شده برای استراق سمع استفاده می کند. البته درهم کننده های گفتاری آنالوگ (غیر دیجیتالی) وجود دارد که می توان آنها را در کاتالوگ محصولات "جاسوسی" یافت. اینها از منظر رمزنگاری واقعاً اسباب‌بازی‌های بی‌فایده هستند، اما به‌عنوان محصولات ارتباطی «ایمن» به افرادی فروخته می‌شوند که به سادگی چیز بهتری نمی‌دانند. 7

از برخی جهات، رمزنگاری شبیه به داروها است. قابلیت اطمینان آن بسیار مهم به نظر می رسد. پنی سیلین بد هیچ تفاوتی با پنی سیلین خوب ندارد. اگر مشکلی در ویرایشگر متن شما وجود داشته باشد، آن را خواهید دید، اما چگونه می توانید قدرت نرم افزار رمزنگاری خود را تعیین کنید؟ متن رمزی تولید شده توسط یک الگوریتم ضعیف به همان اندازه متقاعد کننده به نظر می رسد که متن رمزی تولید شده توسط یک الگوریتم قوی. در این مورد مرهم کنعان زیاد است. 8 معجون های دارویی زیادی وجود دارد. برخلاف فروشندگان مواد مخدر در دوران باستان، توسعه دهندگان امروزی معمولاً نمی دانند که محصولات آنها مرهم کنعان است. آنها ممکن است مهندسان نرم افزار خوبی باشند، اما، به عنوان یک قاعده، حتی با کارهای علمی در زمینه رمزنگاری آشنا نیستند. اما آنها همچنان بر این باورند که می توانند یک محصول رمزنگاری خوب بنویسند. چرا که نه؟ پس از همه، به نظر می رسد به طور مستقیم آسان است، و برنامه های آنها به نظر می رسد به طور معمول کار می کنند.

هر کسی که معتقد است یک الگوریتم رمزنگاری بی عیب و نقص اختراع کرده است، یا یک نابغه بسیار نادر است یا یک احمق ساده لوح. متأسفانه، گاهی اوقات مجبور می شوم با رمزنگاران بالقوه ای سر و کار داشته باشم که می خواهند با افزودن یک الگوریتم طراحی خود، «بهبود» خود را در PGP ایجاد کنند.

یادم می آید که در سال 1991 مکالمه ای با برایان اسنو، رمزنگار عالی رتبه در NSA داشتم. او گفت که هرگز به قابلیت اطمینان الگوریتمی که توسط شخصی که «از ابتدا دندان‌هایش را نبرد» با صرف زمان زیادی برای شکستن کدها ایجاد کرده است، باور نمی‌کرد. منطقی است. من متوجه شده ام که عملاً هیچ کس در دنیای رمزنگاری تجاری با این معیار مطابقت ندارد. با پوزخندی مغرور اضافه کرد: بله. و این کار ما را در NSA بسیار آسان‌تر می‌کند.» یه فکر ترسناک بالاخره من هم مناسب نیستم.

دولت همچنین مرهم کنعانی را فروخت. پس از جنگ جهانی دوم، ایالات متحده ماشین های رمزگذاری انیگما آلمان را به کشورهای جهان سوم فروخت. اما دولت فاش نکرد که در طول جنگ متفقین رمز انیگما را شکستند، واقعیتی که برای چندین دهه محرمانه باقی ماند. حتی امروزه، بسیاری از سیستم‌های یونیکس هنوز از الگوریتم Enigma برای رمزگذاری فایل‌ها استفاده می‌کنند، تا حدی به این دلیل که دولت موانع قانونی برای استفاده از چیزهای بهتر ایجاد کرده است. حتی سعی کرد از انتشار اولیه RSA در سال 1977 جلوگیری کند. و برای سال‌ها تقریباً تمام تلاش‌ها برای توسعه تجاری یک رمزنگاری مؤثر برای توده‌ها را مسدود کرد.

وظیفه اصلی آژانس امنیت ملی ایالات متحده جمع آوری اطلاعات است، عمدتاً از طریق استراق سمع و شنود مخفیانه ارتباطات خصوصی غیرنظامیان (به کتاب "قصر پازل ها" جیمز بامفورد مراجعه کنید). NSA مهارت ها و تجربه های قابل توجهی در زمینه رمز شکنی ایجاد کرده است. اگر مردم نتوانند از رمزگذاری قوی استفاده کنند، کار NSA را آسان تر می کند. این آژانس همچنین مسئول تایید و توصیه الگوریتم های رمزنگاری است. برخی از منتقدان این را یک تضاد منافع می دانند، مانند قرار دادن روباه برای نگهبانی از مرغداری. در دهه 1980، NSA الگوریتم رمزگذاری متقارن خود (برنامه تایید شده COMSEC) را اجرا کرد، که اصول آن را با استناد به "محرمانه بودن اطلاعات" فاش نکرد. آژانس می خواست که همه آن را فقط بر اساس ایمان بپذیرند. اما هر رمزنگاری به شما خواهد گفت که یک الگوریتم خوب طراحی شده برای قابل اعتماد ماندن نیازی به محافظت ندارد. فقط کلیدها نیاز به محافظت دارند. پس چگونه می توانید مطمئن شوید که الگوریتم مخفی NSA واقعاً ایمن است؟ توسعه الگوریتمی که فقط خودش بتواند آن را شکست دهد، برای آژانس دشوار نخواهد بود.

در زمان انتشار اولیه PGP، کیفیت محصولات ارز دیجیتال تجاری در ایالات متحده توسط سه عامل اصلی تعیین شد:

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

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

    سومین روش سرکوب، اعطای حق ثبت اختراع بر روی همه الگوریتم‌های رمزگذاری کلید عمومی به یک شرکت واحد بود، که به فشار بر این نقطه بحرانی اجازه می‌داد تا گسترش فناوری را به طور کلی محدود کند (این کارتل ثبت اختراع در نهایت در پاییز 1995 سقوط کرد).

اثر ترکیبی همه این عوامل این بود که تا زمان انتشار PGP، هیچ محصول جهانی به طور کلی در دسترس در ایالات متحده وجود نداشت که رمزگذاری بسیار امن رمزنگاری را ارائه دهد.

من به اندازه ای که زمانی به طرح رمزگذاری "درخشان" خود اطمینان داشتم، به قابلیت اطمینان PGP اطمینان ندارم. اگر اینطور بود، علامت بدی بود. در عین حال، من فکر نمی‌کنم که PGP دارای حفره‌های خالی باشد (اگرچه من متقاعد شده‌ام که دارای اشکال است). برای پیاده سازی آن، بهترین الگوریتم ها را از بین الگوریتم های منتشر شده در ادبیات رمزنگاری غیرنظامی انتخاب کردم. این الگوریتم ها به صورت جداگانه و با جزئیات مورد مطالعه قرار گرفته اند. من بسیاری از رمزنگاران برجسته جهان را می شناسم و بیشتر الگوریتم ها و پروتکل های درگیر در PGP را با برخی از آنها بحث کرده ام. این برنامه برای سال ها در حال توسعه بوده است و در حال حاضر به خوبی مطالعه شده است. و من برای NSA کار نمی کنم. اما لازم نیست من را باور کنید، زیرا متون منبع آن دقیقاً با هدف مطالعه رایگان منتشر شده است.

یک نکته دیگر به نفع قابل اعتماد بودن و یکپارچگی PGP: پس از انتشار اولیه رایگان آن در سال 1991، من سه سال تحت تعقیب کیفری توسط سرویس گمرک ایالات متحده به دلیل توزیع برنامه در خارج از کشور با چشم انداز محاکمه و چندین سال زندان بودم. به هر حال، به دلایلی دولت به سایر نرم افزارهای رمزنگاری واکنشی نشان نداد، اما فقط PGP آن را دیوانه کرد. آیا این چیزی در مورد قدرت PGP به شما می گوید؟ من شهرت خود را بر اساس یکپارچگی رمزنگاری محصولاتم ساخته ام. من به تعهد خود نسبت به حقوق مدنی و قانون اساسی خود که به خاطر آن آزادی خود را به خطر انداختم، خیانت نمی کنم. من اجازه نخواهم داد برنامه ای که من نویسنده آن هستم "معابر مخفی" داشته باشد.

آسیب پذیری ها

حتی اگر از کل پتانسیل محاسباتی سیاره - 260 میلیون کامپیوتر - برای رمزگشایی یک متن رمزی PGP استفاده کنید، باز هم به طور متوسط ​​12 میلیون برابر عمر جهان ما برای شکستن زمان لازم است.

هیچ سیستم امنیتی آسیب ناپذیری وجود ندارد. حفاظت رمزنگاری PGP را می توان به روش های مختلفی دور زد. هنگام استفاده از هر سیستم امنیتی، از خود بپرسید که آیا اطلاعات محافظت شده برای یک مهاجم ارزشمندتر از هزینه خود حمله برای به دست آوردن آن است؟ با تجزیه و تحلیل و شناسایی خطرات خود، می توانید بدون نگرانی در مورد حملات پرهزینه، خود را از ساده ترین حملات محافظت کنید.

برخی از نکات در بحث زیر ممکن است بیش از حد پارانوئید به نظر برسد، اما این رویکرد هنگام بحث در مورد مسائل امنیتی ضروری است.

به خطر انداختن کلید خصوصی و عبارت عبور

اگر رمز عبور کلید خصوصی خود را در جایی یادداشت کرده باشید، این ساده ترین و راحت ترین حمله است. اگر مهاجم ضبط شده و همچنین خود کلید خصوصی را در دست بگیرد، می تواند تمام پیام ها را رمزگشایی کرده و امضای شما را جعل کند.

در اینجا چند نکته برای محافظت از عبارت عبور شما آورده شده است:

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

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

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

کلاهبرداری با کلید عمومی

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

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

فایل ها به طور کامل پاک نشده اند

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

سازش ممکن است ناخواسته اتفاق بیفتد. اگر رایانه شما خراب شود، ممکن است دیسک آسیب ببیند و در نتیجه برخی از فایل ها آسیب ببینند یا از بین بروند. برای بازیابی آنها، می توانید از یک ابزار ویژه استفاده کنید، اما این معمولاً منجر به این واقعیت می شود که همراه با موارد ضروری، سایر فایل های حذف شده طولانی نیز "احیا می شوند". این داده‌های محرمانه تازه کشف‌شده، که فکر می‌کردید مدت‌هاست از بین رفته و غیرقابل بازیابی است، می‌تواند توسط شخصی که مشغول بازیابی درایو آسیب‌دیده است، مشاهده کند. حتی زمانی که شما یک پیام مهم را در یک واژه پرداز می نویسید، ممکن است کپی های موقت متعددی از متن را صرفاً به دلیل نحوه عملکرد داخلی آن روی دیسک ذخیره کند. وقتی کار تمام شد، این کپی های موقت به طور خودکار توسط برنامه حذف می شوند، اما قطعاتی از داده های ارزشمند در جایی روی دیسک باقی می مانند.

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

سیستم عامل های مدرن، به لطف پشتیبانی از سیستم های به اصطلاح فایل ژورنال، مشکل فایل های موقت را بیشتر تشدید می کنند. این فایل‌سیستم‌ها نسخه‌های پشتیبان از تمام ورودی‌های ایجاد شده توسط سیستم عامل به سیستم فایل را در ناحیه داخلی ویژه خود ذخیره می‌کنند - آنها یک گزارش تغییرات را نگه می‌دارند. چنین گزارشی توصیفی متوالی از تمام تغییرات ایجاد شده روی دیسک است و به منظور بازیابی قابل اعتماد FS پس از خرابی انجام می شود. سیستم فایل NTFS که توسط ویندوز NT/2000/XP پشتیبانی می‌شود، نمونه‌ای از سیستم فایل مجله است. MacOS X 10.2.2 همچنین دارای پسوندهای مجله برای سیستم فایل HFS خود است. تنها راه برای از بین بردن ورودی های گزارش FS مربوط به فایل های ارزشمند حذف شده، استفاده از تابع PGP است پاک کردن فضای آزاد.

ویروس ها و تروجان ها

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

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

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

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

بهترین منبع برای دریافت PGP وب سایت PGP Corporation است.

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

فایل صفحه و حافظه مجازی

PGP در ابتدا برای MS-DOS، یک سیستم عامل ابتدایی با استانداردهای امروزی ایجاد شد. اما زمانی که برای سیستم عامل های پیچیده تری مانند مایکروسافت ویندوز و سیستم عامل مکینتاش تطبیق داده شد، مشکل جدیدی به وجود آمد. این مشکل از این واقعیت ناشی می شود که این سیستم عامل های پیشرفته از تکنیکی به نام حافظه مجازی استفاده می کنند.

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

داده ها در ناحیه خاصی از دیسک به نام فایل swap یا فایل صفحه بندی نوشته می شوند. سپس در صورت نیاز از فایل swap خوانده می شوند، به طوری که در هر زمان معین تنها بخشی از اطلاعات یا برنامه اجرایی در حافظه فیزیکی است. همه این اقدامات برای کاربر نامرئی است، که فقط چشمک زدن نشانگر دسترسی دیسک را می بیند. مایکروسافت ویندوز بلوک‌هایی از حافظه به نام صفحات را با استفاده از الگوریتم جایگزینی صفحه که کمترین استفاده را دارد، تعویض می‌کند. کمترین استفاده اخیر، LRU). این بدان معنی است که صفحاتی که برای طولانی ترین زمان درخواست نشده اند ابتدا از حافظه تخلیه می شوند. این رویکرد خطر نوشتن داده های ارزشمند روی دیسک را کاهش می دهد، زیرا PGP آن را برای مدت طولانی در حافظه باقی نمی گذارد. ما همچنین سعی کردیم، هر زمان که ممکن بود، سیستم عامل را مجبور کنیم که چنین داده‌هایی را در حافظه فیزیکی مسدود کند، و اجازه ندهیم آن‌ها به دیسک پمپ شوند. اما ما نمی توانیم چیزی را تضمین کنیم.

هر کسی که به رایانه شما دسترسی فیزیکی دارد نیز می تواند به این فایل دسترسی داشته باشد. اگر نگران این مشکل هستید، می توانید با نصب برنامه ای برای رمزگذاری یا بازنویسی فایل صفحه، آن را حل کنید. راه حل ممکن دیگر غیرفعال کردن کامل حافظه مجازی سیستم عامل است. MS Windows، مانند سیستم عامل مک، این امکان را به شما می دهد. اما غیرفعال کردن آن مستلزم نصب مدارهای RAM اضافی برای جا دادن همه چیز در حافظه فیزیکی است.

نقض حریم امنیتی فیزیکی

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

فقط به این دلیل که رمزگذاری قوی دارید، دچار احساس امنیت کاذب نشوید. روش‌های رمزنگاری تنها زمانی از داده‌ها محافظت می‌کنند که رمزگذاری شده باشند - نقض مستقیم امنیت فیزیکی می‌تواند به راحتی متن ساده یا اطلاعات نوشتاری یا گفتاری را در معرض خطر قرار دهد.

این نوع حمله ارزان‌تر از حملات رمزنگاری است، اما اثربخشی آن کاملاً به میزان تلاش و منابع سرمایه‌گذاری شده برای تضمین امنیت فیزیکی بستگی دارد.

حمله TEMPEST

یکی دیگر از روش های هک مورد استفاده توسط یک حریف مجهز بر اساس تشخیص از راه دور امواج الکترومغناطیسی ساطع شده توسط یک کامپیوتر است. این حمله گران قیمت و وقت گیر هنوز هم ارزان تر از تحلیل رمزنگاری مستقیم است. یک ون مجهز می‌تواند در نزدیکی دفتر شما پارک کند و از راه دور تمام ضربه‌های کلید و اطلاعات نمایشگر را ضبط کند. این مطمئناً تمام رمزهای عبور، پیام ها و غیره شما را نشان می دهد. با محافظت مطمئن تجهیزات کامپیوتری و کابل های شبکه می توان از چنین حمله ای جلوگیری کرد. این فناوری امنیتی، معروف به طوفان(از جانب استاندارد انتشار پالس الکترومغناطیسی گذرااستانداردی برای انفجار تابش پالس الکترومغناطیسی متناوب) که توسط برخی سازمان های دولتی و شرکت های دفاعی استفاده می شود. شرکت هایی وجود دارند که محافظ TEMPEST را به صورت تجاری عرضه می کنند.

نسخه های جدید PGP از نسخه 6.0 و بالاتر که این گزینه را دارند نمایشگر امن، می تواند متن رونویسی شده را با استفاده از یک فونت خاص نمایش دهد که انتشار رادیویی مانیتور رایانه را کاهش می دهد و تشخیص سیگنال ها را دشوارتر می کند.

جعل تمبر زمان

یک آسیب‌پذیری PGP تا حدی نامشخص، توانایی جعل مُهرهای زمانی مخرب روی امضاهای دیجیتال و گواهی‌های کلیدی است. اگر به جزئیات برخی از پروتکل‌های سیستم رمزنگاری نامتقارن علاقه ندارید، می‌توانید این بخش را نادیده بگیرید.

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

مشکل جعل مهرهای زمانی EDS بدتر از جعل تاریخ امضاهای دست نویس نیست. یک شخص می تواند هر تاریخی را در کنار یک امضای دست نویس در یک قرارداد بنویسد، اما به نظر می رسد هیچ کس بیش از حد نگران آن نیست. نه در هر مورد، تاریخ "نادرست" امضای دستی نشان دهنده تقلب است. مهر زمان نشان می دهد که شخص چه زمانی سند را با امضای خود تأیید کرده است یا در چه مقطعی می خواهد امضای آن اثر قانونی داشته باشد.

PGP قبل از متن امضا شده با چندین خط نشان دهنده تاریخ امضا و شخصی است که متن را امضا کرده است. PGP Universal و PGP 8.0.3 و بالاتر از مکانیسم‌های خاصی برای جلوگیری از تغییر این رشته‌های سرویس استفاده می‌کنند، با این حال، یک مهاجم ممکن است به قاب‌بندی متن در ایمیل با یک تصویر زیبا متوسل شود که به شما این باور را می‌دهد که پیام را با دیگری امضا کرده است. زمان نسبت به او. یکی از راه های تشخیص فریب، برجسته کردن کل محتوای پیام (Ctrl+A) است. متن انتخاب شده معمولاً متفاوت از یک تصویر برجسته به نظر می رسد.

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

یک دفتر اسناد رسمی یا CA قابل اعتماد می تواند امضاهای ایمن با مهر زمانی قابل اعتماد ارائه دهد. 9 حتی برای این منظور نیازی به یک سرویس متمرکز نیست. هر ضامن مورد اعتماد یا شخص ثالث بی‌علاقه می‌تواند این نقش را ایفا کند، مانند دفاتر اسناد رسمی، دولتی و عمومی. هنگامی که یک سردفتر امضای شخص دیگری را تأیید می کند، یک گواهی امضا برای گواهی امضا ایجاد می کند. سپس سردفتر می تواند امضای دیجیتال قابل جابجایی (بدون خود سند تایید شده) را در بایگانی عمومی ویژه قرار دهد. امضای سردفتر با مهر زمانی قابل اعتماد، وزن و اهمیت حقوقی بیشتری نسبت به تاریخ امضای اصلی سند خواهد داشت.

برای بحث مفصل در مورد این موضوع، به مقاله کامپیوتر IEEE 1983 دنینگ مراجعه کنید. نسخه‌های آینده PGP ممکن است دارای عملکرد اضافی برای مدیریت امضاهای محضری و مهرهای زمانی معتبر باشند.

آسیب پذیری های سیستم های چند کاربره

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

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

تجزیه و تحلیل ترافیک

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

رمزنگاری

Cryptanalysis یک حمله بسیار پیچیده و پرهزینه است که تنها توسط یک حریف با ابررایانه های قدرتمند و منابع محاسباتی عظیم، مانند یک سازمان اطلاعاتی دولتی، قابل انجام است. او احتمالاً می تواند کلید عمومی را با استفاده از یک کشف محرمانه ریاضی شکست دهد. اما جامعه علمی از سال 1978 در تلاش برای شکستن رمزنگاری نامتقارن بوده است، بدون اینکه به موفقیتی دست یابد.

شاید سرویس‌های اطلاعاتی تکنیک‌های مخفی برای شکستن رمزهای بلوک پیاده‌سازی شده در PGP داشته باشند. این کابوس هر رمزنگاری است. در کاربردهای رمزنگاری عملی، هیچ تضمینی برای امنیت مطلق وجود ندارد.

با این حال، برخی خوش‌بینی‌ها موجه است. الگوریتم های کلید عمومی، توابع هش و رمزهای بلوکی موجود در PGP توسط برخی از بهترین رمزنگاران در جهان ایجاد شده اند. آنها توسط بهترین گروه از تحلیلگران غیرنظامی رمزنگاری روی کره زمین آزمایش های گسترده ای را برای قابلیت اطمینان و امنیت انجام داده اند.

حتی اگر این رمزارزهای بلوک دارای نقص های جزئی ناشناخته باشند، PGP متن ساده را قبل از رمزگذاری فشرده می کند، که هر گونه ضعف احتمالی در الگوریتم ها را به حداقل می رساند. بار محاسباتی شکستن متن رمزی احتمالاً چندین برابر بیشتر از ارزش خود پیام خواهد بود و حمله را بی‌سود و در نهایت بی‌معنا می‌سازد.

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

نتیجه

بدون حفاظت رمزنگاری خوب از ارتباطات دیجیتال، رهگیری پیام‌ها، به ویژه پیام‌هایی که از طریق مودم یا ایمیل ارسال می‌شوند، برای مهاجم تقریبا غیرممکن خواهد بود. اگر از PGP استفاده می کنید و اقدامات احتیاطی منطقی را انجام می دهید، تلاش، زمان و هزینه بسیار بیشتری برای مهاجمان لازم است تا اطلاعات شما را به دست بیاورند.

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

صفحه 4/4

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

    توسعه دهندگان ادعا می کنند که نام CAST با روند توسعه مرتبط است و باید ماهیت احتمالی فرآیند (بازیگر، انگلیسی - حدس زدن) را به یاد بیاورد و نه حروف اول نویسندگان. بازگشت به متن

    ما در مورد فرمت کلید RSA سازگار با عقب، به اصطلاح RSA Legacy v3 صحبت می کنیم. فرمت جدید کلید RSA v4 کاملاً با عملکرد کلیدهای DH/DSS v4 مطابقت دارد. بازگشت به متن

    PGP یک ژنراتور PRNG را پیاده سازی می کند که با مشخصات ANSI X9.17 برای تولید کلیدهای نشست غیرقابل پیش بینی مطابقت دارد. جزئیات بیشتر را می توان در IETF RFC 1750 یافت. به متن بازگردید

    برای دقیق تر بودن، از نظر محاسباتی تقریبا غیرممکن است که یک پیام ساختگی ایجاد کنید که خلاصه ای مشابه با خلاصه پیام هدف تولید کند و با استفاده از تابع هش SHA-1 به 2160 تکرار نیاز دارد. در عین حال، بر اساس پارادوکس تولد، می توان در 2 80 محاسبات دو پیام ایجاد کرد که یک خلاصه یکسان ایجاد می کند و اگر تئوری احتمال را در نظر بگیریم، با 50 درصد موفقیت، ترکیب مطلوب پیام ها به دست خواهد آمد. پس از 279 محاسبه پیدا شد. بازگشت به متن

    هیچ عملکردی برای تنظیم "شک و تردید" برنامه هنگام ارزیابی قابلیت اطمینان کلیدها در آخرین نسخه های آن وجود ندارد. یک کلید در صورتی معتبر تلقی می شود که گواهی آن توسط یک امضای کاملاً قابل اعتماد یا دو امضای تا حدی قابل اعتماد پشتیبانی شود. هنگام محاسبه امتیاز، امضاهای غیر قابل اعتماد در نظر گرفته نمی شوند. بازگشت به متن

    در سال‌های اخیر، وضعیت بازار تلفن امن، عمدتاً در کشورهای اتحادیه اروپا شروع به تغییر کرده است. به عنوان نمونه می توان به پلتفرم SNAP از SnapShield و GSM تلفن همراه رمزنگاری GSMK-100 از GSMK mbH آلمان به قیمت یک و نیم هزار یورو اشاره کرد. اگر بودجه شما اجازه چنین هزینه‌هایی را نمی‌دهد، می‌توانید از اشتراک‌افزار PGPfone استفاده کنید. بازگشت به متن

    در قدیم مرهم کنعان را داروی کواک می نامیدند که ظاهراً همه بیماری ها را درمان می کرد. امروزه این اصطلاحی است که برای سیستم های امنیتی غیرقابل اعتماد به کار می رود. بازگشت به متن

    سرویس مهر زمانی عمومی مبتنی بر مکانیزم PGP Stamper نامیده می شود. در اینجا می توانید در مورد آن و نحوه رسیدگی به آن اطلاعات بیشتری کسب کنید. بازگشت به متن

pgp چیست؟

سیستم رمزنگاری کاربردی PGP (Pretty Good Privacy) در سال 1991 توسط برنامه نویس و ریاضیدان MIT فیلیپ زیمرمن توسعه و منتشر شد و در واقع اولین محصول در این سطح بود که برای دسترسی رایگان به کل جهان ارائه شد (که زیمرمن بعداً هزینه آن را پرداخت کرد. چندین سال پیگرد کیفری توسط خدمات گمرکی ایالات متحده - در آن زمان صادرات فناوری های رمزنگاری قوی به خارج از ایالات متحده ممنوع بود). هدف اولیه توسعه حفاظت از حقوق مدنی کاربران شبکه جهانی بود و وظیفه اصلی برنامه حفاظت رمزنگاری ایمیل - رمزگذاری بود.

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

از آن زمان تاکنون، PGP هم مطابق با روح زمان و تهدیدات جدید دستخوش تغییرات و دگرگونی های قابل توجهی شده است و هم به این دلیل که در حال حاضر بخش قابل توجهی از کاربران این برنامه نه تنها افراد عادی، بلکه سازمان ها و مشاغل بزرگ نیز هستند. . امروزه PGP از چندین خط برنامه تشکیل شده است که از نظر هدف و لیست وظایفی که باید حل شوند، عملکرد، اصول عملیاتی و محیط اجرا متفاوت است، اما به لطف استاندارد OpenPGP و همچنین قابلیت اطمینان استثنایی آنها در تضمین اطلاعات، با سازگاری کامل با یکدیگر متحد شده اند. امنیت.

تاریخچه طولانی PGP توجه تعداد زیادی از کاربران، محققان و متخصصان را به سیستم رمزنگاری جلب کرده است. تعدادی از شرایط اضافی به این امر کمک کرد. اولا، این برنامه همیشه به اشتراک گذاشته شده است. حتی پس از اینکه توسعه به پایه تجاری تبدیل شد، نسخه‌های نرم‌افزار رایگان همچنان منتشر می‌شوند، که با نسخه‌های پولی تنها در عملکرد کمی کمتر متفاوت هستند (به طور کلی، فقط در غیاب PGPdisk). ثانیاً، توسعه دهندگان - مهندسین نرم افزار برجسته و متخصصان در زمینه امنیت اطلاعات - همیشه کد منبع برنامه را برای مطالعه رایگان منتشر کرده اند که شرط لازم برای حفظ قابلیت اطمینان بالا و شهرت برجسته سیستم است. کدهای منبع بسته فقط مطالعه برنامه را برای وجود شکاف ها، "معابرهای مخفی" و خطاها در اجرا پیچیده می کند. از سوی دیگر، این واقعیت که حتی در دسترس بودن کد منبع باز منجر به هک PGP نشده است، به خوبی گواه قابل اعتماد بودن برنامه است.

برای اطلاعات بیشتر لطفا به بخش نرم افزار مراجعه کنید.

مبانی کار با برنامه رمزنگاری PGP

هدف از این کار بررسی عملکرد برنامه رمزنگاری PGP و کسب مهارت های عملی در رمزگذاری اطلاعات است.

1. مفاهیم اساسی یک برنامه رمزنگاری

1.1. اطلاعات کلی

PGP (حریم خصوصی بسیار خوب -حریم خصوصی بسیار خوب ) یک برنامه رمزنگاری (رمزگذاری) بسیار ایمن است که به کاربران امکان می دهد اطلاعات را به صورت الکترونیکی و کاملاً محرمانه مبادله کنند.

PGP از اصل استفاده از دو کلید مرتبط استفاده می کند: کلید عمومیو کلید خصوصی. اینها اعداد بسیار بزرگی هستند که به طور تصادفی تولید می شوند (1024 بیت، 2048 بیت و غیره). فقط فرستنده پیام به کلید خصوصی دسترسی دارد و کلید عمومی از طریق شبکه های ارتباطی بین خبرنگاران خود منتشر یا توزیع می شود. در این حالت، اطلاعات با کلید عمومی رمزگذاری شده و با کلید خصوصی رمزگشایی می شود.

کلیدهای عمومی را می توان در سرور کلید عمومی منتشر کرد یا از طریق شبکه های ارتباطی بین خبرنگاران توزیع کرد. آنها در رایانه در یک فهرست ذخیره می شوند انتشارات pkrدر قالب "گواهینامه های کلید عمومی" که شامل:

1) شناسه کاربری مالک کلید (معمولاً نام کاربری)؛

2) مهر زمانی که زمان تولید جفت کلید را نشان می دهد.

3) کلیدهای واقعی

کلیدهای خصوصی (مخفی) به طور مشابه به عنوان "گواهینامه های کلید خصوصی" در فهرست ذخیره می شوند راز. skr. در این حالت، هر کلید مخفی با یک رمز عبور جداگانه رمزگذاری می شود.

توابع اصلی PGP:

ایجاد یک جفت کلید خصوصی-عمومی؛

رمزگذاری فایل با استفاده از کلید عمومی؛

رمزگشایی یک فایل با استفاده از کلید خصوصی؛

امضای دیجیتال با استفاده از کلید خصوصی؛

تأیید امضای الکترونیکی با استفاده از کلید عمومی

برنامه PGP دارای رابط کاربر پسند و سرعت نسبتا بالایی در رمزگذاری و رمزگشایی پیام است. آخرین نسخه آن (PGP 8.0) Russified است که استفاده گسترده از PGP را در بین کاربران از پیش تعیین کرده است.

1.2. PGP چگونه کار می کند

فرآیند رمزگذاری یک پیام با استفاده از PGP شامل تعدادی مرحله است (شکل 1). ابتدا برنامه متن را فشرده می کند. این امر زمان ارسال پیام از طریق مودم را کاهش می دهد و امنیت رمزگذاری را افزایش می دهد.

توجه داشته باشید : اکثر تکنیک‌های رمزنگاری (شکستن پیام‌های رمزگذاری‌شده) بر اساس بررسی «الگوهای» ذاتی در فایل‌های متنی است که به شکستن کلید کمک می‌کند. فشرده سازی این "نقشه ها" را حذف می کند.

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

امضای دیجیتال بلوکی از داده است که با استفاده از یک کلید مخفی تولید می شود. برنامه این کار را به صورت زیر انجام می دهد:

1) از سند تولید می شود خلاصه پیام(این یک 160 یا 128 بیت "فشرده" یا چک جمع فایل پیام است)، اطلاعات مربوط به امضا کننده سند و یک مهر زمانی به آن اضافه می شود.

2) کلید خصوصی فرستنده برای رمزگذاری خلاصه پیام و در نتیجه "امضا" آن استفاده می شود.

3) خلاصه پیام به همراه خود پیام به صورت رمزگذاری شده منتقل می شود. هنگام شناسایی یک امضا، یک خلاصه جدید ایجاد می شود و با خلاصه ارسال شده مقایسه می شود؛ اگر مطابقت داشته باشند، امضا تایید شده در نظر گرفته می شود. اگر پیام تحت هر گونه تغییری قرار گیرد، خلاصه دیگری با آن مطابقت دارد، یعنی تشخیص داده می‌شود که پیام اصلاح شده است.

تشخیص امضای الکترونیکی نشان می دهد که فرستنده در واقع مبدع پیام بوده و پیام بعداً تغییر نکرده است.

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

پیام با این کلید جلسه رمزگذاری می شود و کلید جلسه با استفاده از کلید عمومی گیرنده پیام رمزگذاری می شود و به همراه متن رمز برای گیرنده ارسال می شود (شکل 1.1).

کلید عمومی گیرنده

رمزگشایی به ترتیب معکوس انجام می شود. برنامه PGP گیرنده پیام از کلید خصوصی گیرنده برای استخراج یک کلید جلسه موقت استفاده می کند که برنامه سپس از آن برای رمزگشایی متن رمز استفاده می کند (شکل 1.2).

شکل 1.2. فرآیند رمزگشایی یک پیام

2. مبانی کار با یک برنامه رمزنگاری

2.1. شروع PGP

!! اجرا کن شروع/برنامه ها/PGP/ PGP دسکتاپ و منو را بررسی کنید

توجه داشته باشید . در آینده، دستورالعمل های تکمیل کارها با علامت گذاری می شوند !! و به صورت مورب ظاهر شوند.

2.2. مبانی برنامهPGP دسکتاپ

پنجره PGPدسکتاپشامل تمام عناصر استاندارد ذاتی یک پنجره برنامه ویندوز (هدر، منوی پنجره، نوار ابزار، فضای کاری برنامه، نوار وضعیت).

منوی پنجره شامل موارد زیر است:

􀂃 فایل

کلید PGP جدید (کلید PGP جدید)

جدید à PGP Zip (بایگانی ایمن فشرده).

à PGP Disk (دیسک محافظت شده. کلیدهای مورد نیاز!!!).

à رمزگذاری کل دیسک (رمزگذاری کل دیسک).

à PGP NetShare Folder (رمزگذاری داده ها در سرور).

باز (باز)

گواهی(های) شخصی را وارد کنید.

خارج شوید

􀂃 ویرایش (ویرایش)

کپی 🀄

چسباندن

حذف

انتخاب همه

􀂃 چشم انداز) - وضعیت زمینه کاری برنامه را تعیین می کند، جایی که می توانید ببینید:

-----------------کلیدها

2. ایجاد دایرکتوری های کلیدی جدید

!! برنامه را اجرا کنید PGP دسکتاپ .

دایرکتوری های کلید خود را با نام گذاری دایرکتوری کلید عمومی mykey ایجاد کنید. pkr، دایرکتوری کلیدهای مخفی mykey. skr، به دنبال دستورالعمل های بیشتر.

در پنجره PGPدسکتاپاجرای دستور فایل/جدیدPGP کلید

نام کاربری و ایمیل خود را وارد کنید...


طراحی. 2.2.2. ذکر نام کامل و آدرس ایمیل.

قابلیت های عملکرد "پیشرفته" را کاوش کنید (در گزارش توضیح دهید!)

طراحی. 2.2.3. پارامترهای کلیدی اضافی را مشخص کنید.

فشرده سازی کلید را پیکربندی کنید، کلید تا 05/01/2014 معتبر است.

کلید خصوصی معمولاً با یک رمز عبور محافظت می شود که از استفاده غیرمجاز جلوگیری می کند. برای افزایش حفاظت در برابر دسترسی غیرمجاز افراد غیرمجاز به کلید خصوصی، کلید خصوصی باید فقط در رایانه شخصی شما یا روی فلاپی دیسک ذخیره شود و فقط هنگام امضا یا رمزگشایی پیام‌های ایمیل از آن استفاده کنید. در پنجره ای که باز می شود عبارت عبور یک عبارت عبور از حداقل 8 کاراکتر که به راحتی قابل به خاطر سپردن است و کتیبه را وارد کنید مخفی کردن تایپ برای نمایش رمز عبور وارد شده در خط، نباید بررسی شود. در پنجره پایین، رمز عبور وارد شده را تایید کنید.

توجه داشته باشید: عبارت عبوربرای محافظت از کلید خصوصی در صورت دسترسی غیرمجاز استفاده می شود. توصیه می شود که از چندین کلمه یا هر نمادی تشکیل شده باشد (این قابل اطمینان تر است). این عبارت به حروف کوچک و بزرگ حساس است و نباید خیلی کوتاه یا آنقدر ساده باشد که بتوان آن را فرض کرد. نباید در جایی که هر کسی بتواند آن را ببیند نوشته شود یا در رایانه ذخیره شود.

طراحی. 2.2.3. یک رمز عبور برای محافظت از کلید مخفی مشخص کنید.

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

پس از این، از شما خواسته می شود که کلید را به دایرکتوری کلید جهانی اضافه کنید.

در نتیجه، در پنجره PGPدسکتاپیک جفت کلید جدید متشکل از سه خط نمایش داده می شود:

جفت کلید؛

شناسه کاربر؛

امضای الکترونیک.

مجموعه‌ای از کلیدهای خصوصی و عمومی در فایل‌های جداگانه ذخیره می‌شوند، که می‌توانند مانند هر فایل دیگری در پوشه دیگری روی هارد دیسک یا سایر رسانه‌های ذخیره‌سازی کپی شوند. به طور پیش‌فرض، فایل‌هایی با حلقه‌های کلید خصوصی (secring. pkr) و حلقه‌های کلید عمومی (pubring. pkr) در پوشه برنامه PGP ذخیره می‌شوند. C:\My Documents\PGP)، همراه با سایر فایل های این برنامه، اما نسخه های پشتیبان را می توان در هر جایی ذخیره کرد.

2.2.4. در حال برداشتن کلیدها

برای حذف یک کلید از زنجیره کلید (دایرکتوری کلید)، آن را در پنجره انتخاب کنید PGPدسکتاپو سپس از یکی از روش های زیر استفاده کنید:

1. کلید را فشار دهید حذف.

2. در آیتم منو ویرایش کنیدیک تیم انتخاب کنید حذف.

2.2.5. تبادل کلید عمومی

کلید صادرات

به طور معمول یک کلید عمومی فایلی است که حجم آن از 2 کیلوبایت بیشتر نباشد. نمونه ای از کلید عمومی در شکل نشان داده شده است. 2.4. می توان آن را با پیوست کردن آن به یک پیام ایمیل ایجاد شده در یک برنامه ایمیل، قرار دادن روی سرور یا کپی کردن در دیسک برای خبرنگاران شما ارسال کرد.

برای صادر کردن کلید عمومی خود به یک فایل، باید مراحل زیر را انجام دهید:

1) برنامه را اجرا کنید دسکتاپ PGPD.

2) جفت کلید را در پنجره انتخاب کنید.

3) به منو بروید فایل ، تیم را انتخاب کنید صادرات و انتخاب کنید کلید .

4) در پنجره ای که ظاهر می شود صادرات کلید به فایل بررسی کنید که کتیبه شامل کلید(های) خصوصی بررسی نشد (یعنی فقط کلید عمومی ارسال می شود).

شکل 3. فایل کلید عمومی

6) کلیک کنید خوب .

!! در پوشه اسناد منپوشه ای بسازید که نام خانوادگی خود را نام ببرید.

!! کلید عمومی خود را با ذخیره آن در پوشه ای که ایجاد کرده اید صادر کنید.

!! برنامه را باز کنید دفترچه یادداشت (شروع / برنامه ها / لوازم جانبی / دفترچه یادداشت).در یک برنامه نوت بوکبا تنظیم صفحه نمایش روی پنجره، فایل را با کلید عمومی باز کنید نوع فایل- تمام فایل های *.*.

وارد کردن کلید

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

کلید عمومی را می توان وارد کرد:

1) از سرور کلید عمومی،

2) از متن پیام ایمیل

3) از یک فایل کلید عمومی.

شما می توانید کلید به دست آمده را از یک فایل به چندین روش وارد پیوند کنید:

1) فایل کلید را با دوبار کلیک کردن روی آن در پنجره ظاهر شده اجرا کنید انتخاب کلید(های) وارد كردن .

2) از منو کلیدهاپنجره کلیدهای PGP مورد را انتخاب کنید وارد كردن، در پنجره فایل حاوی کلید را انتخاب کنید فایل را با کلید پیدا کنید و آن را انتخاب کنید، روی دکمه کلیک کنید باز کن، در پنجره ای که ظاهر می شود انتخاب کلید(های) کلید را انتخاب کرده و دستور را اجرا کنید وارد كردن با کلیک بر روی دکمه مربوطه .

3) پوشه حاوی فایل را با کلید باز کنید و آن را با دکمه سمت چپ ماوس به داخل پنجره بکشید. کلیدهای PGP .

4) فایل متنی که کلید در آن ذخیره شده است را با استفاده از ویرایشگر متن باز کنید نوت بوک ، متن را انتخاب کنید ویرایش/انتخاب همه، متن انتخاب شده را در کلیپ بورد کپی کنید ویرایش/کپی.برو به پنجره کلیدهای PGP و دستور را اجرا کنید ویرایش / چسباندن

احراز هویت کلید

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

توجه: کلیدها با یک شماره شناسایی کلید منحصر به فرد (اثرانگشت)، که مخفف کلید عمومی (160 بیت پایینی کلید عمومی) است، ارجاع داده می شوند. هنگامی که این شناسه کلید نمایش داده می شود، فقط 32 بیت پایین برای اختصار نشان داده می شود. شناسه های کلید توسط PGP برای تعیین کلید هنگام رمزگشایی یک پیام و تعیین صحت آن استفاده می شود.

با کلیک راست روی کلید و انتخاب شماره شناسایی کلید قابل مشاهده است خواص .

و سپس - نمایش ویژگی های کلیدی آواز خواندن.

اثر انگشت- شماره شناسایی کامل؛

کلیک کنید کلیدهای فرعیو شماره کلید کوتاه (ID) را تعریف کنید.

!! شماره شناسه کامل و کوتاه کلید خود را مشاهده کرده و آنها را مقایسه کنید.

2.2.6. افزودن کلیدها

می توانید کلیدهای ایجاد شده جدید را به زنجیره کلید اضافه کنید یا کلیدهای عمومی خبرنگاران خود را وارد کنید.

!! با ایجاد یک جفت کلید جدید، یک کلید به دسته کلید اضافه کنید، از نام خود به عنوان نام کلید استفاده کنید، آدرس ایمیل خود را در قالب بنویسید.<имя>@mail. ru.

2.3. رمزگذاری پیام

سه راه اصلی برای رمزگذاری اطلاعات وجود دارد:

1. یک پیام را مستقیماً در یک برنامه ایمیل پشتیبانی شده رمزگذاری کنید PGP دسکتاپ .

2. رمزگذاری با کپی کردن متن پیام در کلیپ بورد پنجره ها.

3. رمزگذاری یک فایل متنی و سپس پیوست کردن آن به یک پیام ایمیل.

ما پیام ها را در برنامه رمزگذاری می کنیم چشم انداز .

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

برای ایجاد و ارسال پیام های رمزگذاری شده، می توانید از برنامه های ایمیل مختلفی که توسط PGP پشتیبانی می شوند استفاده کنید: Outlook Express، خفاش!, اکسچنج، یودوراو غیره. ساده ترین راه برای انجام این کار در برنامه Russified است Outlook Express.

رمزگذاری و امضای پیام ها در این برنامه به صورت زیر انجام می شود .

1) Outlook Express را از طریق منوی اصلی با انتخاب Programs/Outlook Express راه اندازی کنید.

!! برنامه را اجرا کنید Outlook Express.یک پیام حاوی تبریک به بهترین دوست خود ایجاد کنید (از آدرس رایانه به عنوان آدرس ایمیل فرستنده استفاده کنید و از آدرس ایمیل گیرنده به عنوان<фамилия>@mail. ru).

6) دستور را اجرا کنید فایل/جدید/پیامیا دکمه را فشار دهید یک پیام ایجاد کنیددر نوار ابزار پنجره را به حالت تمام صفحه باز کنید.

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

https://pandia.ru/text/80/365/images/image014_31.jpg" width="619" height="294 id=">

برنج. 2.6. پنجره Outlook Express با پیام امضا شده 19

برنج. 2.7. پنجره Outlook Express با یک پیام رمزگذاری شده

!! برنامه را ببندید Outlook Express.

2.3.2. کل فایل را رمزگذاری کنید

با استفاده از برنامه PGP می توانید کل فایل متنی را رمزگذاری کنید. برای انجام این کار به صورت زیر عمل کنید:

1) متن پیام را در هر ویرایشگر متنی (مثلاً در ویرایشگر متن) بنویسید نوت بوک)و آن را در یک فایل ذخیره کنید.

!! در یک ویرایشگر متن نوت بوکیک پیام حاوی آدرس منزل خود بنویسید. متن را در یک فایل ذخیره کنید متن txtدر پوشه اسناد من.

!! کل فایل را رمزگذاری و امضا کنید (نام آن اکنون خواهد بود متن txt pgp).

2) به برنامه بروید رهبر ارکستر،فایل ایجاد شده را انتخاب کرده و روی دکمه سمت راست ماوس کلیک کنید.

3) دستور دیگری به نام PGP در منوی زمینه که باز می شود ظاهر می شود. اگر ماوس را روی یک آیتم منو قرار دهید PGP - منویی شامل چندین دستور باز می شود:

􀂃 امن است با کلید(رمزگذاری بدون امضای دیجیتال با کلید)؛

􀂃 امن است با عبارت عبور(رمزگذاری بدون امضای دیجیتال با رمز عبور - بدون کلید)؛

􀂃 امضا کردنمانند(علامت با امضای دیجیتال)؛

􀂃 PGP خرد کن- فایل را از بین ببرید (از طریق چندین بازنویسی با داده های تصادفی یا خاص).

!! فایل ها را با پیام های اصلی و رمزگذاری شده باز کنید و با هم مقایسه کنید.

!! فایل رمزگذاری شده را به یک پیام ایمیل پیوست کرده و همراه با آن ارسال کنید.

!! فایل متنی اصلی را از بین ببرید .

2.4. رمزگشایی پیام ها

با توجه به رمزگذاری پیام، دو راه اصلی برای رمزگشایی آنها وجود دارد.

2.4.1. رمزگشایی پیام ها در Outlook Express

1) پیام رمزگذاری شده دریافتی را در برنامه باز کنید Outlook Express.

2) در منو PGP، کشویی با نوار وظیفه(علامت - قفل انبار) دستور را اجرا کنید ویندوز فعلی/رمزگشایی و تأیید (شکل 2.10).

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

!! برنامه را اجرا کنید Outlook Express.پوشه را باز کنید صندوق خروجی.دوبار کلیک کنید تا پیامی که ایجاد کرده اید باز شود و آن را رمزگشایی کنید. شناسه کاربری و شناسه کلید را بررسی کنید.

2.4.2. رمزگشایی یک فایل حاوی

پیام رمزگذاری شده

1. فایل حاصل را با متن رمزگذاری شده روی آن قرار دهید دسکتاپ (فایل با پسوند .pgp ).

2. بر روی فایل انتخاب شده کلیک راست کنید.

3. در منوی زمینه که ظاهر می شود، را انتخاب کنید PGP/ رمزگشایی و تأیید.

4. در پنجره ای که ظاهر می شود PGP باید عبارت عبور را وارد کنید باید رمز عبوری را وارد کنید که از کلید مخفی گیرنده پیام محافظت کند و روی آن کلیک کنید خوب . در نتیجه، متن رمزگشایی شده پیام در فایلی با همین نام بدون پسوند ذخیره می شود .pgp.

!! پیام ذخیره شده در فایل را رمزگشایی کنید متن txt pgp. سپس این فایل را حذف کنید.

2.6. مبانی برنامه PGPdisk

دیسک PGPیک برنامه کاربردی مفید است که به شما امکان می دهد بخشی از هارد دیسک خود را برای ذخیره اطلاعات محرمانه کنار بگذارید. این فضای رزرو شده برای ایجاد فایلی به نام استفاده می شود PGPdisk. شبیه به هارد دیسک عمل می کند زیرا به عنوان یک ذخیره سازی برای فایل ها و برنامه های اجرایی عمل می کند.

منوی برنامه دیسک PGPشامل موارد زیر است:

􀂃 جدیدمجازی دیسک…(ایجاد یک دیسک مجازی جدید)

􀂃 Encrypt کلدیسک…(رمزگذاری کل دیسک)

􀂃 خرد کن رایگان فضا(فضای آزاد خالی)

2.6.1. ایجاد دیسک PGP

1) برنامه را اجرا کنید PGPdisk.

!! روی دیسک با:مال خودت را بساز دیسک PGP، فایل مربوط به دیسک را با نام خود نامگذاری کنید. اندازه دیسک را از 500 کیلوبایت تا 1 مگابایت تعیین کنید.

2) دستور را اجرا کنید جدیدمجازیدیسک، پس از آن جادوگر ایجاد دیسک PGP روی صفحه ظاهر می شود.

https://pandia.ru/text/80/365/images/image018_23.jpg" width="621" height="372">

پس از ایجاد درایو جدید، PGP به طور خودکار آن را نصب می کند تا بتوان از آن استفاده کرد.

!! پنجره را باز کن کامپیوتر منو تعیین کنید که آیا دیسک PGP متصل است یا خیر.

2.6.2. کار با دیسک PGP

یک دیسک PGP می تواند برای کار با آن متصل شود (در این صورت در پنجره نمایش داده می شود کامپیوتر من همراه با درایوهای دیگر) و پس از اتمام آن، اتصال را قطع کنید.

اتصال یک درایو

1. در منو PGPاجرای دستور نصب دیسک (دیسک را وصل کنید).

2. در پنجره مرور، فایل مربوط به دیسک PGP خود را پیدا کرده و روی آن کلیک چپ کنید. کلیک وارد.

3. یک رمز عبور وارد کنید.

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

!! از پوشه آشنایی با ویندوز 98هر سه فایل را در دیسک PGP ایجاد شده کپی کنید.

قطع کردن یک درایو

1) همه برنامه‌ها و فایل‌های روی دیسک PGP را ببندید، زیرا اگر فایل‌های روی این دیسک هنوز باز باشند، قطع اتصال دیسک غیرممکن است.

2) رفتن به کامپیوتر من، دیسک PGP را با ماوس انتخاب کنید.

3) روی دکمه سمت راست ماوس کلیک کنید یا منو را گسترش دهید PGP.

4) دستور را اجرا کنید دیسک PGP را جدا کنید در منوی ظاهر شده

به محض اینکه دیسک قطع شود، دیگر در پنجره ظاهر نمی شود کامپیوتر من.

یک دیسک PGP را می توان به گونه ای پیکربندی کرد که در صورت عدم دسترسی به آن برای مدت معینی به طور خودکار خاموش شود (به بالا مراجعه کنید).

روی دیسک کلیک راست کرده و PGP Desktop را انتخاب کنید.

– Unmount Disk – Unmount (قطع اتصال دیسک)،

– ویرایش خصوصیات دیسک – ویرایش پارامترهای دیسک.

با استفاده از Edit Disk Properties، کاربر دیسک دیگری را اضافه کنید.

1. تمام بخش های دستورالعمل ها را با دقت مطالعه کنید و وظایف مشخص شده را کامل کنید !! .

2. پس از اجازه معلم، تکمیل کار اضافی را شروع کنید.

3. کار اضافی

3.1. ایجاد کنید دسکتاپپوشه، شماره رایانه را به عنوان نام آن درج می کند. این برای ذخیره فایل های متنی ارسال شده با پیام ها استفاده می شود.

3.2. با استفاده از برنامه کلیدهای PGPیک جفت کلید (کلید عمومی و خصوصی) با استفاده از نام خانوادگی خود ایجاد کنید. آدرس ایمیل را در قالب زیر بگیرید <фамилия>@<номер компьютера>.mail. ru(مثلا: *****@****ru).شماره شناسه کلید خود را بنویسید.

3.3. کلید عمومی خود را به پوشه ای که شماره رایانه شما روی دسکتاپ قرار دارد صادر کنید.

3.4. یک فایل متنی در پوشه با شماره رایانه روی دسکتاپ با نام ایجاد کنید <номер компьютера>txtبا استفاده از یک ویرایشگر متن نوت بوکو شماره شناسایی کلید عمومی صادر شده را یادداشت کنید.

3.5. کلید عمومی و فایل شماره شناسایی خود را به همه رایانه ها ارسال کنید: فایل های مربوطه را در پوشه ها کپی کنید محیط شبکه/<номер компьютера>/C:/Windows/Desktop/پوشه با شماره کامپیوتر .

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

3.7. با استفاده از یک ویرایشگر متن، یک پیام در پوشه با شماره رایانه روی دسکتاپ بنویسید نوت بوک ، حاوی نام خانوادگی، آدرس و هر رباعی شما. پیام را با استفاده از یک کپی در کلیپ بورد و کلید عمومی خبرنگار رمزگذاری کنید و یک امضای الکترونیکی اضافه کنید. فایل را با نام ذخیره کنید نشانی_<номер компьютера>txt و آن را برای خبرنگار خود در رایانه ای نزدیک در پوشه ای با شماره رایانه موجود در دسکتاپ ارسال کنید (کپی کنید).

سعی کنید پیامی را که ایجاد کرده اید رمزگشایی کنید.

3.8. پیامی بنویسید که حاوی نام رشته و هدفتان از حضور در کالج باشد. فایل را با نام ذخیره کنید خاص _<номер компьютера>. txt. یک فایل حاوی پیام را از طریق برنامه رمزگذاری کنید رهبر ارکستربا استفاده از کلید عمومی خبرنگار و قرار دادن امضای الکترونیکی. فایل ایجاد شده را برای خبرنگار خود در رایانه مجاور در پوشه ای که شماره رایانه روی دسکتاپ او قرار دارد ارسال کنید.

3.9. پوشه را با شماره رایانه خود باز کنید. فایل را گسترش دهید نشانی _<номер компьютера>. txt،متن رمزگذاری شده پیام را در چاپگر چاپ کنید , با کپی کردن در کلیپ بورد، محتویات آن را رمزگشایی کنید، شماره شناسایی کلید و امضای الکترونیکی خبرنگار و پیام رمزگشایی شده را مقایسه کنید. متن رمزگشایی شده پیام را به چاپگر ارسال کنید.

3.10. پوشه را با شماره رایانه خود باز کنید. فایل را با پسوند رمزگشایی کنید خاص _<номер компьютера>. txt.pgp،با استفاده از برنامه آن را رمزگشایی کنید رهبر ارکستر، شماره شناسایی کلید و امضای الکترونیکی خبرنگار خود را با پیام رمزگشایی شده مقایسه کنید.

3.11. با اجازه معلم، جفت کلید خود را از کاتالوگ کلیدها و کلیدهای وارداتی خبرنگاران حذف کنید.

3.12. پوشه با شماره کامپیوتر را حذف کنید

2. فهرست کلید عمومی.

3. فهرست پیام های رمزگذاری شده و رمزگشایی شده.

4. تجزیه و تحلیل روش های مختلف رمزگذاری پیام.

5. نتیجه گیری مختصر در مورد کار انجام شده.

کنترل سوالات

1. وظایف اصلی برنامه PGP چیست؟

2. کلید چیست؟

3. هدف کلیدهای عمومی و خصوصی را توضیح دهید.

4. اصل رمزگذاری و رمزگشایی اطلاعات با استفاده از PGP را توضیح دهید.

5. امضای الکترونیکی چگونه اعمال می شود؟

6. چگونه می توانید کلیدهای عمومی را با خبرنگاران خود مبادله کنید؟

7. شناسه کلید و شناسه کاربری را کجا می توانم ببینم؟

8. راه های اصلی رمزگذاری پیام ها با استفاده از PGP را نام ببرید.

9. راه های اصلی رمزگشایی پیام ها با استفاده از PGP را نام ببرید.

10. برای رمزگذاری پیام از چه کلیدی و برای امضای امضای الکترونیکی از چه کلیدی استفاده می شود؟

11. چه کسی می تواند پیام رمزگذاری شده با کلید عمومی را رمزگشایی کند؟

12. چرا به امضای الکترونیکی نیاز دارید؟

13. دیسک PGP چیست؟

14. چگونه می توان با دیسک PGP کار کرد؟

15. روش قطع اتصال دیسک PGP را توضیح دهید.

  • ترجمه

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

موضوعات زیر در اینجا پوشش داده خواهد شد:

  • اصول و توصیه های PGP برای کار با نرم افزارهای مرتبط.
  • استفاده از PGP با Git.
  • حفاظت از حساب توسعه دهنده

در مورد ساختار مواد

هر بخش از این سری مواد به دو بخش تقسیم می شود:
  1. چک لیستی که می تواند بر اساس نیازهای یک پروژه خاص تنظیم شود.
  2. توضیحاتی در مورد عناصر چک لیست و همچنین دستورالعمل کار با برنامه ها.

ویژگی های چک لیست

موارد موجود در هر چک لیست شامل اطلاعاتی در مورد سطح اولویت آیتم است. ما امیدواریم که این به شما در تصمیم گیری در مورد نحوه استفاده از این توصیه ها کمک کند.
  • مواردی که اولویت "مهم" دارند باید مورد توجه ویژه قرار گیرند. اگر توصیه های نکات "مهم" اجرا نشود، این به معنای خطر بالای مشکلات در کد موجود در پروژه است.
  • موارد با اولویت "توصیه شده" حاوی توصیه هایی هستند که برای بهبود سطح امنیت کلی شما مفید است. اجرای آنها ممکن است بر تعامل برنامه نویس با محیط کار خود تأثیر بگذارد که ممکن است مستلزم کسب عادات جدید یا ترک عادت های قدیمی باشد.
لطفاً به یاد داشته باشید که تمام لیست های ارائه شده در اینجا فقط توصیه می شود. اگر احساس می کنید که سطوح اولویت داده شده منعکس کننده نیازهای امنیتی پروژه شما نیست، باید آنها را مطابق با نیازهای خود تطبیق دهید.

مفاهیم و ابزارهای اساسی PGP

▍چک لیست

در اینجا موضوعاتی وجود دارد که باید پس از تسلط بر مطالب در این بخش به آنها پیمایش کنید:
  1. نقش PGP در توسعه نرم افزار آزاد (مهم).
  2. مبانی رمزنگاری کلید عمومی (مهم).
  3. تفاوت بین مواد رمزگذاری و امضا (مهم).
  4. شناسه کلید PGP (مهم).
  5. اعتبار کلیدهای PGP (مهم).
  6. نصب ابزارهای GnuPG (نسخه 2.x) (مهم).

▍توضیحات

جامعه متن‌باز مدت‌هاست که برای اطمینان از صحت و یکپارچگی محصولات نرم‌افزاری توسعه‌یافته به PGP متکی بوده است. ممکن است ندانید، اما چه از لینوکس، چه مک یا ویندوز استفاده کنید، قبلاً از PGP برای اطمینان از یکپارچگی محیط محاسباتی خود استفاده کرده اید.
  • توزیع‌های لینوکس از PGP استفاده می‌کنند تا اطمینان حاصل کنند که بسته‌های باینری یا منبع از زمان ایجاد تا زمانی که کاربر نهایی آنها را نصب کند، بدون تغییر باقی می‌مانند.
  • پروژه‌های نرم‌افزار رایگان معمولاً امضاهای PGP جداگانه‌ای را برای آرشیوهای نرم‌افزار منتشر شده ارائه می‌دهند، بنابراین پروژه‌هایی که به آن‌ها تکیه می‌کنند می‌توانند یکپارچگی نسخه‌های دانلود شده را قبل از ادغام آنها در توزیع‌های خود تأیید کنند.
  • پروژه‌های نرم‌افزار رایگان معمولاً به امضاهای PGP در خود کد برای ردیابی منشأ و اطمینان از یکپارچگی کد ارائه‌شده توسط توسعه‌دهندگان آن به پروژه متکی هستند.
این بسیار شبیه به گواهی توسعه دهنده و مکانیسم های امضای کد است که توسط برنامه نویسانی که روی پلتفرم های منبع بسته کار می کنند استفاده می شود. در واقع، مفاهیم اساسی زیربنای این دو فناوری تا حد زیادی یکسان هستند. آنها عمدتاً در جزئیات پیاده سازی فنی و نحوه تفویض اعتماد متفاوت هستند. PGP به یک مرجع گواهی متمرکز متکی نیست، در عوض، این سیستم به کاربران اجازه می دهد تا به طور مستقل یک سطح اعتماد را به هر گواهی اختصاص دهند.

هدف ما این است که به شما کمک کنیم مبدا کد وارد شده به پروژه خود را کنترل کنید و یکپارچگی آن را با استفاده از PGP کنترل کنید. شما می توانید این کار را با پیروی از بهترین روش ها برای کار با PGP و درک قوانین اساسی امنیتی انجام دهید.

▍نمای کلی نحوه عملکرد PGP

شما نیازی به دانستن تمام جزئیات در مورد نحوه عملکرد PGP ندارید. برای استفاده موفق از این فناوری، کافی است مفاهیم اولیه آن را درک کنید. PGP از رمزنگاری کلید عمومی استفاده می کند. با استفاده از روش های رمزنگاری، به عنوان مثال، متن ساده را می توان به متن رمزی تبدیل کرد. این فرآیند به دو کلید مختلف نیاز دارد:
  • کلید عمومی که برای همه شناخته شده است.
  • کلید خصوصی که فقط مالک آن را می شناسد.

▍رمزگذاری

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

فرآیند رمزگذاری به صورت زیر است:

  1. فرستنده یک کلید رمزگذاری تصادفی (کلید جلسه) ایجاد می کند.
  2. فرستنده با استفاده از این کلید جلسه (با استفاده از رمز متقارن) محتوای پیام را رمزگذاری می کند.
  3. فرستنده کلید جلسه را با استفاده از کلید عمومی PGP گیرنده رمزگذاری می کند.
  4. فرستنده داده های رمزگذاری شده و یک کلید جلسه رمزگذاری شده را برای گیرنده ارسال می کند.
برای رمزگشایی یک پیام رمزگذاری شده، مراحل زیر را انجام دهید:
  1. گیرنده کلید جلسه را با استفاده از کلید خصوصی PGP خود رمزگشایی می کند.
  2. گیرنده از کلید جلسه برای رمزگشایی محتوای پیام استفاده می کند.

▍امضا کردن

برای امضای داده ها، از کلیدهای عمومی و خصوصی PGP به صورت معکوس استفاده می شود:
  1. امضاکننده یک هش جمع کنترلی از برخی داده ها تولید می کند.
  2. امضاکننده از کلید خصوصی خود برای رمزگذاری این چک جمع استفاده می کند.
  3. امضاکننده یک چک جمع رمزگذاری شده را همراه با داده ها فراهم می کند.
برای تایید امضا، مراحل زیر را انجام دهید:
  1. تأیید کننده جمع کنترلی خود را از داده ها تولید می کند.
  2. تأیید کننده از کلید عمومی امضاکننده برای رمزگشایی جمع چک ارائه شده استفاده می کند.
  3. اگر جمع‌های چک مطابقت داشته باشند، یکپارچگی محتوا تأیید می‌شود.

▍ترکیب رمزگذاری و امضا

اغلب پیام های رمزگذاری شده نیز با استفاده از کلید PGP خود فرستنده داده امضا می شوند. این رویکرد باید هر زمان که پیام‌های رمزگذاری شده رد و بدل می‌شوند، استفاده شود، زیرا رمزگذاری بدون احراز هویت چندان منطقی نیست (شاید ناشناس ماندن در چنین مواردی فقط برای ماموران مخفی و کسانی که اطلاعات حساس خاصی را در اختیار عموم قرار می‌دهند لازم باشد).

▍داده های شناسایی کلیدی

هر کلید PGP باید دارای هویت مالک کلید باشد. معمولاً این نام کامل و آدرس ایمیل شخص در قالب زیر است:

آلیس مهندس
گاهی اوقات داده های هویت همچنین حاوی نظراتی در پرانتز هستند که قصد دارند جزئیات یک کلید خاص را به کاربر نهایی اعلام کنند:

Bob Designer (کلید 1024 بیتی منسوخ شده)
از آنجایی که دارندگان کلید انسانی می توانند چندین نقش حرفه ای و شخصی ایفا کنند، مجموعه های متعددی از هویت ها می توانند در یک کلید وجود داشته باشند:

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

▍قابلیت اطمینان کلید

برای اینکه بتوانید از کلید عمومی شخصی برای رمزگذاری یا تأیید استفاده کنید، باید مطمئن شوید که واقعاً متعلق به آن شخص (در این مورد آلیس) است و نه به یک کلاهبردار (اجازه دهید نام کلاهبردار حوا باشد). در PGP به این اعتبار کلید می گویند:
  • اعتبار کلید کامل به این معنی است که سطح بسیار بالایی از اطمینان وجود دارد که کلید متعلق به آلیس است.
  • اطمینان مرزی یک کلید به این معنی است که ما اطمینان داریم که کلید متعلق به آلیس است.
  • اعتبار ناشناخته یک کلید به این معنی است که ما مطلقاً اطمینان نداریم که کلید متعلق به آلیس است.

▍شبکه اعتماد و مکانیسم "اعتماد در اولین استفاده".

PGP شامل یک مکانیسم تفویض اعتماد است که به عنوان Web of Trust (WOT) شناخته می شود. در هسته خود، تلاشی برای جایگزینی نیاز به خدمات گواهی متمرکز مانند موارد استفاده شده در HTTPS/TLS است. با این رویکرد، کاربر به طور مستقل در مورد اینکه چه کسی قابل اعتماد است تصمیم می گیرد.

متأسفانه تعداد بسیار کمی از مردم می دانند که وب اعتماد چگونه کار می کند و حتی افراد کمتری به این فناوری اهمیت می دهند. اگرچه شبکه‌های اعتماد جنبه مهمی از مشخصات OpenPGP باقی می‌مانند، نسخه‌های موجود GnuPG (2.2 و جدیدتر) یک رویکرد جایگزین را پیاده‌سازی کرده‌اند که توسط مکانیسم Trust on First Use (TOFU) ارائه شده است.

TOFU را می توان با SSH مقایسه کرد. اولین باری که با استفاده از SSH به یک سیستم از راه دور متصل می شوید، سیستم شما اثر انگشت کلید خود را به خاطر می آورد. اگر کلید تغییر کند، مشتری SSH به شما اطلاع می‌دهد و اتصال را رد می‌کند و از شما می‌خواهد درباره اینکه آیا به کلید تغییریافته اعتماد دارید یا نه، تصمیم بگیرید.

مکانیسم TOFU به روشی مشابه کار می کند. اولین باری که کلید PGP شخصی را وارد می کنید، قابل اعتماد در نظر گرفته می شود. اگر GnuPG با یک کلید جدید با اعتبار یکسان مواجه شد، هر دو کلید نامعتبر علامت‌گذاری می‌شوند و شما باید تصمیم بگیرید که کدام یک را نگه دارید.

در این آموزش از مدل اعتماد TOFU استفاده خواهیم کرد.

▍درباره اصطلاحات

در اینجا می خواهیم به اهمیت درک تفاوت بین اصطلاحاتی مانند PGP، OpenPGP، GnuPG و gpg اشاره کنیم:
  • PGP (Pretty Good Privacy) نام یک برنامه تجاری است که در سال 1991 منتشر شد.
  • OpenPGP یک استاندارد IETF است که با PGP سازگار است.
  • GnuPG (Gnu Privacy Guard) نرم افزار رایگانی است که استاندارد OpenPGP را پیاده سازی می کند.
  • ابزار خط فرمان برای GnuPG gpg نام دارد.
امروزه، اصطلاح PGP تقریباً به طور جهانی در معنای "استاندارد OpenPGP" به جای نام برنامه استفاده می شود، و بنابراین PGP و OpenPGP به جای یکدیگر استفاده می شوند. عبارات GnuPG و gpg فقط باید در هنگام اشاره به ابزارهای خاص استفاده شود و نه به استانداردها و سایر مفاهیمی که ما با آنها کار می کنیم. مثلا:
  • کلید PGP (نه GnuPG یا GPG)
  • امضای PGP (نه GnuPG یا GPG)
  • سرور کلید PGP (نه GnuPG یا GPG)
درک این تفاوت ها باید به شما در برقراری ارتباط با سایر کاربران PGP کمک کند.

▍نصب GnuPG

اگر از لینوکس استفاده می کنید، به این معنی است که نرم افزار GnuPG از قبل بر روی سیستم شما نصب شده است. در مک باید GPG-Suite را نصب کنید یا از دستور brew install gnupg2 استفاده کنید. اگر کاربر ویندوز هستید، پس GPG4Win راهی برای رفتن است و احتمالاً باید برخی از دستورات این راهنما را تغییر دهید. اگر از محیطی شبیه به یونیکس در ویندوز استفاده می کنید، دیگر نیازی به تغییر دستورات ندارید. اگر از پلتفرم های دیگری استفاده می کنید، باید پیاده سازی مناسب GnuPG را خودتان پیدا کنید.

▍GnuPG نسخه 1 و 2

هر دو GnuPG v.1 و GnuPG v.2 استاندارد یکسانی را پیاده‌سازی می‌کنند، اما کتابخانه‌ها و ابزارهای خط فرمان ناسازگاری را ارائه می‌کنند که در نتیجه توزیع‌های زیادی با نسخه قدیمی‌تر 1 و نسخه جدیدتر 2 ارسال می‌شوند. باید مطمئن شوید که همیشه از GnuPG v.2 استفاده کنید.

ابتدا برای اینکه بدانید کدام نسخه از GnuPG تحت نام gpg در سیستم شما پنهان شده است، دستور زیر را اجرا کنید:

$ gpg --نسخه | head -n1
اگر چیزی شبیه gpg (GnuPG) 1.4.x می بینید، به این معنی است که دستور gpg GnuPG v.1 را فراخوانی می کند. در این مورد، دستور gpg2 را امتحان کنید:

$gpg2 --نسخه | head -n1
اگر چیزی شبیه gpg (GnuPG) 2.x.x می بینید، همه چیز خوب است. در اینجا ما فرض می کنیم که شما GnuPG نسخه 2.2 یا بالاتر را دارید. اگر از نسخه 2.0 GnuPG استفاده می کنید، برخی از دستورات داده شده در اینجا کار نمی کنند، بنابراین باید آخرین نسخه 2.2 GnuPG را نصب کنید.

▍نام مستعار GnuPG نسخه 2

اگر سیستم شما هم دستور gpg و هم دستور gpg2 دارد، بهتر است همه چیز را طوری پیکربندی کنید که فرمان gpg GnuPG v.2 را فراخوانی کند، نه نسخه قدیمی نرم افزار. شما می توانید این کار را با ایجاد یک نام مستعار انجام دهید:

$ مستعار gpg=gpg2
این دستور را می توان در bashrc. قرار داد تا GnuPG v.2 به دستور gpg پاسخ دهد.

نتایج

در اینجا ما در مورد اصول اولیه PGP صحبت کردیم که برای استفاده موفق از PGP در حفاظت از کد باید بدانید. دفعه بعد در مورد ایجاد و محافظت از کلیدهای PGP صحبت خواهیم کرد.

خوانندگان عزیز!آیا از PGP برای محافظت از کد پروژه های نرم افزاری خود استفاده می کنید؟

برچسب ها: اضافه کردن برچسب

این مقاله یک راهنمای سریع برای استفاده از GnuPG (معروف به GPG) است. در آن دستورات اساسی، مثال‌هایی از استفاده و همچنین دستورالعمل‌هایی برای پیوست کردن GPG به کلاینت‌های ایمیل پیدا خواهید کرد. علاوه بر این، فرض بر این است که شما با اصل عملکرد GPG آشنا هستید و نیازی به توضیح نیست که مثلاً رمزنگاری نامتقارن، کلیدهای عمومی و خصوصی، امضای دیجیتال و غیره چیست. در طول چندین دهه از وجود GPG، هیچ کس در شکستن آن موفق نبوده است، که به نظر می رسد به ما اشاره می کند که راه حلی نسبتا قابل اعتماد هم برای تبادل پیام های رمزگذاری شده و هم برای رمزگذاری ساده فایل ها است.

واژه شناسی

ابهاماتی در اصطلاح وجود دارد. برای مثال، همه نمی توانند به وضوح توضیح دهند که چگونه PGP با GPG متفاوت است. بیایید همه چیز را دریابیم.

  • OpenPGPیک استاندارد رمزگذاری است که در RFC 4880 و RFC 6637 توضیح داده شده است. نباید با پیاده سازی های خاص مانند PGP و GPG اشتباه گرفته شود.
  • GnuPGیا GPG- اجرای باز خاص (GPLv3) OpenPGP که در این مقاله مورد بحث قرار خواهد گرفت.
  • PGPیک پیاده سازی بسیار اختصاصی OpenPGP از شرکت PGP است. در سال 2010، این شرکت توسط سیمانتک خریداری شد و محصولات آن به چیزی شبیه رمزگذاری ایمیل دسکتاپ سیمانتک تغییر نام دادند.

اغلب، وقتی مردم می گویند "PGP"، منظور آنها روش رمزگذاری توصیف شده در OpenPGP و بنابراین هر یک از پیاده سازی های آن است.

دستورات اساسی GnuPG

تولید کلید:

gpg --gen-key

انتخاب الگوریتم RSA و طول کلید 4096 بیت ایده خوبی است.

مهم!رمز عبور کلید خصوصی را فراموش نکنید.

یک مشکل رایج پیامی مانند این است:

بایت های تصادفی کافی در دسترس نیست. لطفا یک کار دیگر برای دادن انجام دهید
سیستم عامل فرصتی برای جمع آوری آنتروپی بیشتر! (نیاز به 204 بایت بیشتر)

با نصب دیمون برای جمع آوری آنتروپی می توان آن را حل کرد:

sudo apt-get install rng-tools

مشاهده لیست کلیدها:

gpg --list-keys
gpg --list-secret-keys
gpg --list-public-keys

گرفتن اثر انگشت کلید:

gpg --fingerprint afiskon@ example.ru

خروجی نمونه:

pub 4096R/8640D6B9 2016-09-27
اثر انگشت = DB5E AA39 0745 427D ED31 D189 3197 3F00 8640 D6B9
uid الکساندر آلکسیف
زیر 4096R/5982B4BF 2016-09-27

اثر انگشت در درجه اول برای تأیید اینکه کلید صحیح واقعاً از سرور کلید وارد شده است استفاده می شود (به زیر مراجعه کنید). آنها برای جستجو استفاده نمی شوند.

gpg --armor --output privkey.txt --export-secret-keys 8640D6B9

وارد کردن کلید عمومی:

gpg --import key.txt

وارد کردن کلید خصوصی:

gpg --allow-secret-key-import --import privkey.txt

اگر --allow-secret-key-import را مشخص نکنید، فقط کلید عمومی وارد می شود، و وقتی می خواهید چیزی را امضا کنید، با خطاهای عجیب و غریب مانند:

gpg: کلید مخفی پیش‌فرض وجود ندارد: کلید مخفی در دسترس نیست
gpg: msg.txt: sign+encrypt ناموفق بود: کلید مخفی در دسترس نیست

صدور یک کلید عمومی به سرور کلید:

gpg --keyserver pgp.mit.edu --send-keys 8640D6B9

مهم!هنگامی که کلیدی را در سرور کلید آپلود کردید، حذف آن غیرممکن خواهد بود، فقط می توانید آن را باطل کنید. مطمئن شوید که یک نسخه پشتیبان قابل اعتماد از کلید تهیه کرده اید. اگر قبلا با PGP/GPG کار نکرده اید، خیلیمن به شما توصیه می کنم ابتدا روی آدرس های پستی در منطقه example.ru تمرین کنید.

واقعاً مهم نیست که کدام سرور را مشخص می کنید. به عنوان مثال، keys.gnupg.net و سایر موارد نیز وجود دارد. همه آنها هر از گاهی با یکدیگر تبادل اطلاعات می کنند. منطقی است که کلیدهای ارسال را به چندین سرور به طور همزمان بسازید تا همه کاربران PGP/GPG بتوانند آنها را سریعتر ببینند. مطابق مشاهدات من، همگام سازی سرور 10-15 دقیقه طول می کشد.

نکته: برای جلوگیری از مشخص کردن --keyserver همیشه کافیست به ~/.bashrc اضافه کنید:

نام مستعار gpg = "gpg --keyserver pgp.mit.edu"

وارد کردن کلید عمومی از سرور کلید:

gpg --keyserver pgp.mit.edu --search-keys afiskon@ example.ru

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

برای رفع این مشکل می گوییم:

gpg --edit-key afiskon@ example.ru

سپس در گفتگو می گوییم اعتماد، 5 را فشار دهید ("در نهایت اعتماد دارم") و می گوییم ترک. کلیدهای دیگر را می توان با دستور tsign امضا کرد. به هر حال، در آنجا می توانید رمز عبور کلید خود را نیز تغییر دهید (فرمان passwd)، تاریخ انقضای کلید را در هر جهت تغییر دهید (فرمان انقضا)، نام/ایمیل (فرمان adduid) اضافه کنید، نام/ایمیل (فرمان revuid) را حذف کنید. ، الگوریتم های رمزگذاری مورد استفاده پیش فرض (showpref) را ببینید و کارهای جالب دیگری انجام دهید.

توجه داشته باشید:وقتی کلید منقضی شده است چه باید کرد؟ در این صورت می توانید تاریخ انقضا را به تاریخ دیگری تغییر دهید و کلید را دوباره آپلود کنید. یا یک کلید جدید ایجاد کنید، آن را با کلید قدیمی امضا کنید و کلید جدید را در سرور کلید آپلود کنید. نیازی به ابطال نیست.

می‌توانید کلید هر کسی را امضا کنید و کلید امضا شده را در سرور آپلود کنید، در نتیجه تأیید کنید که کلید واقعاً متعلق به شخصی است که در توضیحات مشخص شده است:

gpg --sign-key 7EFE74E5

در دستگاه دیگری می توانید کلید را دوباره دانلود کنید و ببینید چه کسی آن را امضا کرده است:

gpg --keyserver pgp.mit.edu --search-keys eax@ example.ru
gpg --list-sigs eax@ example.ru
gpg --check-sigs eax@ example.ru

در صورتی که کلیدها دارای امضاهای جدیدی هستند یا برخی از کلیدها باطل شده اند، هر از گاهی ارزش به روز رسانی کلیدها را دارد:

gpg --keyserver pgp.mit.edu --refresh-keys

نمونه ای از رمزگذاری و امضای یک فایل برای یک گیرنده معین (سوئیچ -r را می توان چندین بار مشخص کرد):

gpg --encrypt --sign --armor -r eax@ example.ru msg.txt

رمزگشایی فایل و بررسی امضا با دستور زیر انجام می شود:

نمونه ای از امضا و تأیید امضای یک فایل باینری (به عنوان مثال، یک تصویر دیسک ISO):

gpg --detach-sign file.iso
gpg --verify file.iso.sig

رمزگذاری/رمزگشایی متقارن فایل (مثلاً برای ذخیره رمزهای عبور مفید است):

gpg -o nonsense.gpg --cipher-algo AES -a -c nonsense.txt
gpg -o nonsense2.txt -d nonsense.gpg

رمزگذاری متقارن با ذخیره سازی در فرمت باینری (مناسب برای رمزگذاری پشتیبان):

tar -cvzf - /home/eax | \
gpg --symmetric --cipher-algo AES256 --digest-algo SHA256 \
--compression-algo غیر فشرده > backup.tgz.gpg

رمزگشایی یک فایل رمزگذاری شده به این روش:

gpg --decrypt backup.tgz.gpg | tar -xvzf -

با این حال، به طور پیش فرض GPG از طریق رابط کاربری گرافیکی رمز عبور را درخواست می کند، که من شخصا آن را چندان راحت نمی دانم. می توانید این رفتار را به صورت زیر تغییر دهید:

اکو "pinentry-program /usr/bin/pinentry-tty" >> \
~/ .gnupg/ gpg-agent.conf
killall gpg-agent

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

gpg --gen-revoke --armor --output =revocation.crt eax@ example.ru

با استفاده از آن، کلید را می توان به صورت زیر باطل کرد:

gpg --import revocation.crt
gpg --keyserver pgp.mit.edu --send-keys 7EFE74E5

مهم!گواهی ابطال رمزگذاری نشده است و هر کسی می تواند از آن استفاده کند. اطمینان حاصل کنید که آن را در یک مکان امن (ترجیحا در چندین مکان) و به صورت رمزگذاری شده ذخیره کنید!

پیوست کردن GnuPG به Claws Mail

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

sudo apt-get install claws-mail-pgpinline claws-mail-pgpmime

در Configuration → Plugins → Load ما pgpcore.so، pgpinline.so و pgpmime.so را بارگذاری می کنیم. بعد، ما به سادگی پلاگین ها را از طریق تنظیمات مشتری پیکربندی می کنیم. در تنظیمات حساب کاربری خود، می توانید تعیین کنید که از کدام کلیدها استفاده کنید و همچنین کلیدهای جدیدی تولید کرده و به سرور کلید ارسال کنید. هنگام نوشتن نامه، چک باکس های رمزگذاری و امضا در گزینه ها در دسترس خواهند بود.

در ویژگی‌های حساب در تب Privacy، می‌توانید افزونه‌ها را طوری پیکربندی کنید که پیام‌ها همیشه امضا شوند، هنگام پاسخ دادن به پیام‌های رمزگذاری‌شده رمزگذاری شوند و غیره. من به شما توصیه می کنم از PGP/MIME استفاده کنید، زیرا PGP/Inline می تواند برای کاربرانی که از PGP/GPG استفاده نمی کنند بسیار آزاردهنده باشد. یعنی تقریبا همه.

تنها مشکلی که با افزونه مواجه شدم این بود که در تنظیمات باید مسیر کامل فایل اجرایی gpg را مشخص کنید، بعد از آن همه چیز درست شد.

پیوست کردن GnuPG به Mutt

نتیجه

GPG به خیلی چیزهای دیگر گیر کرده است. فرض کنید یک افزونه Enigmail برای Thunderbird وجود دارد. برنامه های موبایلی وجود دارند که از GPG پشتیبانی می کنند. به عنوان مثال، برای iPhone oPenGP و iPGMail وجود دارد. علاوه بر این، پلاگین هایی برای مشتریان IM، به ویژه برای Psi وجود دارد. متأسفانه نمی توان همه آنها را در یک مقاله در نظر گرفت.

به عنوان تکلیف، می توانید من را به جا کلیدی خود اضافه کنید، کلیدهایم را امضا کنید و یک نامه رمزگذاری شده از طریق ایمیل برای من ارسال کنید.

آیا از PGP/GPG استفاده می کنید؟



 


خواندن:



کدهای تبلیغاتی و کوپن های eBay کوپن های تخفیف eBay

کدهای تبلیغاتی و کوپن های eBay کوپن های تخفیف eBay

eBay یک حراج آنلاین برای فروش کالا از دسته های موضوعی مختلف است. علایق فروشگاه های آنلاین محبوب و...

شارژر پاور بانک شیائومی: بررسی ها، توضیحات و ویژگی های نحوه تشخیص پاور بانک اصلی شیائومی از تقلبی

شارژر پاور بانک شیائومی: بررسی ها، توضیحات و ویژگی های نحوه تشخیص پاور بانک اصلی شیائومی از تقلبی

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

توابع هش: مفهوم و مبانی

توابع هش: مفهوم و مبانی

هش کردن یک روش خاص برای آدرس دهی داده ها (الگوریتم آرایش معین) با استفاده از کلیدهای منحصر به فرد آنها (کلید) برای یافتن سریع ...

دستورالعمل استفاده از sqlmap

دستورالعمل استفاده از sqlmap

تزریق SQL حمله ای است که از عبارات SQL پویا با اظهار نظر بخش های خاصی از عبارات یا اضافه کردن ...

فید-تصویر RSS