Програма шифрування PGP від ​​компанії Nexus. оптимізація оподаткування

  1. Програма шифрування PGP "Параноїк - це людина, яка дещо розуміє в тому, що відбувається" Вільям...
  2. Як захиститися?
  3. Принцип шифрування PGP
  4. Проілюструємо принцип роботи PGP
  5. Що робить PGP?
  6. Як працює PGP?
  7. ключі
  8. Цифровий підпис
  9. Підтвердження цілісності повідомлення - хеш-функція
  10. пароль
  11. Як почати використовувати PGP
  12. Ще по темі
  13. Програма шифрування PGP
  14. Навіщо це потрібно?
  15. Як захиститися?
  16. Принцип шифрування PGP
  17. Проілюструємо принцип роботи PGP
  18. Що робить PGP?
  19. Як працює PGP?
  20. ключі
  21. Цифровий підпис
  22. Підтвердження цілісності повідомлення - хеш-функція
  23. пароль
  24. Як почати використовувати PGP
  25. Ще по темі
  26. Програма шифрування PGP
  27. Навіщо це потрібно?
  28. Як захиститися?
  29. Принцип шифрування PGP
  30. Проілюструємо принцип роботи PGP
  31. Що робить PGP?
  32. Як працює PGP?
  33. ключі
  34. Цифровий підпис
  35. Підтвердження цілісності повідомлення - хеш-функція
  36. пароль
  37. Як почати використовувати PGP
  38. Ще по темі
  39. Програма шифрування PGP
  40. Навіщо це потрібно?
  41. Як захиститися?
  42. Принцип шифрування PGP
  43. Проілюструємо принцип роботи PGP
  44. Що робить PGP?
  45. Як працює PGP?
  46. ключі
  47. Цифровий підпис
  48. Підтвердження цілісності повідомлення - хеш-функція
  49. пароль
  50. Як почати використовувати PGP
  51. Ще по темі
  52. Програма шифрування PGP
  53. Навіщо це потрібно?
  54. Як захиститися?
  55. Принцип шифрування PGP
  56. Проілюструємо принцип роботи PGP
  57. Що робить PGP?
  58. Як працює PGP?
  59. ключі
  60. Цифровий підпис
  61. Підтвердження цілісності повідомлення - хеш-функція
  62. пароль
  63. Як почати використовувати PGP

Програма шифрування PGP

"Параноїк - це людина, яка дещо розуміє в тому, що відбувається"

Вільям Берроуз

Навіщо це потрібно?

Електронні повідомлення (E-mail, ICQ) легко можуть прочитати і скопіювати всі, хто має доступ до сервера інтернет-провайдера або до комп'ютерів, через які ці повідомлення проходять.

В результаті боротьби з тероризмом і відмиванням грошей у багатьох країнах, в тому числі і в Україні, були прийняті закони, які зобов'язують інтернет-провайдерів архівувати всю переписку своїх клієнтів В результаті боротьби з тероризмом і відмиванням грошей у багатьох країнах, в тому числі і в Україні, були прийняті закони, які зобов'язують інтернет-провайдерів архівувати всю переписку своїх клієнтів. Спецслужби великих держав регулярно сканують електронну пошту в пошуку підозрілих ключових слів і фраз. Ось лише кілька таких державних програм: міжнародна система ECHELON (США та інші), проект Carnivore (США), системи СОРМ і СОРМ-2 (Росія).

Агенти спецслужб або інші зацікавлені особи можуть не тільки перехопити будь-яке ваше повідомлення а й змінити його зміст, а потім відправити його так, як ніби з ним нічого не сталося. Зворотна адреса та службові заголовки листи легко підробляються і модифікуються. Науково-технічний прогрес полегшив завдання стеження за електронним листуванням, але цей же прогрес дозволяє цю переписку надійно захистити.

Відповідно, якщо ви є власником офшорної компанії або плануєте зареєструвати офшор , Вам слід приділяти особливу увагу захисту конфіденційності листування.

Як захиститися?

В Інтернеті можна знайти масу засобів захисту даних. Розібратися в цьому різноманітті нелегко. Ось кілька простих порад:

  1. Вибирайте програми, які існують як можна довше.
  2. Віддавайте перевагу програмам, вихідний код яких є відкритим (Open Source).
  3. Стійкість програми повинна грунтуватися на неможливості підібрати ключ, а не на таємності алгоритму шифрування.
  4. Намагайтеся знайти про програму якомога більше відгуків незацікавлених осіб.

Криптографія дуже консервативна. Нові засоби шифрування не зважають надійними доти, поки їх ретельно не розібрався "по кісточках" професійні криптоаналитики. Для цього їм повинен бути доступний вихідний код цих програм. Розробники комерційних програм цей код не публікують через побоювання, що конкуренти скористаються їхніми ідеями. Тому програми з закритим вихідним кодом не користуються довірою у фахівців. Небезпека застосування таких програм полягає в тому, що гіпотетично за закритим кодом розробниками може бути захований потайний "чорний хід" (backdoor) - можливість зламати шифр, навіть не знаючи пароля. Саме виходячи з цих міркувань набагато краще користуватися для цілей шифрування програмами з відкритим вихідним кодом.

Найпоширенішим засобом захисту інформації в останні роки стали програми реалізації стандарту шифрування PGP (Pretty Good Privacy) Найпоширенішим засобом захисту інформації в останні роки стали програми реалізації стандарту шифрування PGP (Pretty Good Privacy). Стійкість PGP базується на деяких фундаментальних невирішених математичних задачах.

Творець першої програми PGP, Філіп Циммерман, відкрито опублікував її код в 1991 році. З тих пір програму неодноразово досліджували криптоаналитики найвищого класу і жоден з них не знайшов в використовуваних методах шифрування слабких місць. При дотриманні простих правил зламати її практично неможливо.

Згодом даний проект був комерціалізовані. У 2010-му році корпорація Symantec викупила PGP у розробників за 300 млн. Доларів і з тих пір пропонує користувачам комерційні версії програми з розширеною функціональністю. Ми настійно не рекомендуємо використовувати комерційну версію PGP, оскільки її вихідний код, природно, вже закритий.

В якості альтернативи ще в 1999 році Фондом вільного програмного забезпечення була створена вільна реалізація шифрування PGP під назвою GnuPG . Дана програма має відкритий вихідний код і повністю сумісна з іншими версіями PGP. Проект GnuPG знаходиться в процесі розвитку і група розробників-ентузіастів до цього дня продовжує роботу над її удосконаленням.

Завантажити дистрибутив програми GnuPG можна за наступними посиланнями:

Принцип шифрування PGP

Шифрування PGP побудовано на принципі несиметричною криптографії. Коротенько це означає наступне. Повідомлення, зашифроване одним ключем, може бути розшифровано тільки іншим, взаємопов'язаним ключем. Ці два ключа утворюють пару - публічний і секретний. Така пара ключів є у кожного учасника листування. Головна перевага PGP полягає в тому, що для обміну зашифрованими повідомленнями користувачам немає необхідності передавати один одному таємні ключі.

Хоча ключ, яким шифрується текст повідомлення, доступний стороннім, з його допомогою це повідомлення розшифрувати неможливо. Цей ключ називається публічним. Користувачі можуть відкрито посилати один одному свої публічні ключі через Інтернет. При цьому ризику несанкціонованого доступу до їх конфіденційної листуванні не виникає.

Секретний ключ ретельно оберігається від сторонніх. За допомогою секретного ключа одержувач дешифрує повідомлення, які були зашифровані його публічним ключем. Але навіть отримавши секретний ключ, противник не зможе ним скористатися, не знаючи пароля.

Проілюструємо принцип роботи PGP

Є два співрозмовника, що бажають зберегти конфіденційність своєї переписки. Назвемо їх Аліса і Борис.

1. Обидва співрозмовники встановили програму і кожен з них згенерував по парі ключів - один публічний і один секретний.

2. Після чого Аліса і Борис по відкритому каналу обмінюються своїми публічними ключами. В результаті у кожного співрозмовника виходить наступний набір ключів:

3. Аліса пише повідомлення, зашифровує його публічним ключем Бориса і відправляє адресату. Борис отримує зашифроване повідомлення і відкриває його своїм секретним ключем:

4. Борис пише відповідь, зашифровує його публічним ключем Аліси і відправляє Алісі. Аліса отримує зашифрований відповідь і відкриває його своїм секретним ключем:

Що робить PGP?

Шифрування PGP вирішує три завдання конфіденційного обміну інформацією:

  1. Захищає текст повідомлень від сторонніх. Тобто прочитати повідомлення може тільки людина, у якого є секретний ключ і який знає пароль.
  2. Підтверджує одержувачу цілісність приходить повідомлення. Тобто дає впевненість в тому, що при передачі зміст повідомлення не змінилося.
  3. Підтверджує особу відправника. Вбудована в PGP електронний підпис однозначно ідентифікує відправника, оскільки тільки він має доступ до секретного ключа і знає пароль.

Як працює PGP?

Перш ніж зашифрувати повідомлення відправник визначає одержувача. Програма знаходить публічний ключ одержувача (для цього він повинен бути в файлі публічних ключів на комп'ютері відправника).

Перед шифруванням PGP стискає текст повідомлення. Це прискорює передачу і збільшує надійність шифрування. Потім генерується так званий сесійний (одноразовий) ключ, який являє собою довге випадкове число. За допомогою сесійного ключа шифрується текст повідомлення. Текст повідомлення шифрується за допомогою алгоритму симетричного шифрування. У цьому алгоритмі для шифрування і дешифрування використовується один ключ. Тому для дешифрування повідомлення одержувач теж повинен мати цей сесійний ключ. Однак відправляти цей ключ у відкритому вигляді небезпечно, тому він шифрується публічним ключем одержувача. Зашифрований сесійний ключ відправляється одержувачу разом із зашифрованим текстом. Необхідність використовувати симетричний алгоритм шифрування обумовлена ​​його високою швидкістю.

Розшифровка повідомлень відбувається в зворотній послідовності. На комп'ютері одержувача програма використовує його секретний ключ для розшифровки сесійного ключа. За допомогою цього ключа дешифрується текст повідомлення.

ключі

Ключ - це число, яке програма використовує для шифрування і дешифрування тексту. Розмір ключа вимірюється в бітах. Чим більше ключ, тим його складніше зламати (підібрати). Сьогодні в публічній криптографії свідомо стійкими вважаються ключі довжиною 2048 біта і більше.

Незважаючи на те, що публічний і секретний ключі пов'язані між собою, отримати закритий ключ маючи відкритий ключ, дуже складно. Це можливо якщо довжина ключа невелика і у супротивника є комп'ютери великої потужності. Тому важливо вибирати ключі великого розміру. З іншого боку, занадто довгий ключ уповільнює розшифровку повідомлень. Тому слід дотримуватися золотої середини. Цілком достатньо, якщо підбір буде займати кілька десятків або сотень років. На сучасному рівні розвитку комп'ютерних технологій ключі довжиною 2048 - 4096 біта зламати практично неможливо.

Ключі зберігаються на жорсткому диску Вашого комп'ютера у вигляді двох файлів: одного для публічних ключів, а іншого - для секретних. Ці файли називаються "зв'язками" ключів (Keyrings). Публічні ключі ваших кореспондентів будуть «чіплятися» на зв'язку публічних ключів. Ваші секретні ключі зберігаються в файлі секретних ключів. Зберігати його потрібно особливо ретельно. Втративши секретний ключ, ви не зможете розшифрувати адресовану вам інформацію, яка була зашифрована вашим публічним ключем.

Цифровий підпис

Цифровий підпис дозволяє одержувачеві упевнитися в особистості відправника повідомлення. Вона виконує ту ж саму функцію, що і звичайна підпис. Однак звичайну підпис можна підробити. Цифрову же підпис підробити практично неможливо.

Підтвердження цілісності повідомлення - хеш-функція

По дорозі від відправника до одержувача вміст повідомлення може бути змінено. У програмі передбачена перевірка цілісності повідомлення. Для цього використовується так звана хеш-функція. Це алгоритм перетворення тексту довільного розміру в деякий невеликий число. Таке перетворення абсолютно однозначно, тобто при будь-якій зміні даних, нехай навіть на один біт, результат хеш-функції теж зміниться.

Перед шифруванням повідомлення програма розраховує його хеш-функцію і шифрує її секретним ключем. Результат шифрування і є цифровим підписом. Цифровий підпис передається поштовою програмою разом з текстом. Програма на комп'ютері одержувача розшифровує хеш-функцію, після чого розраховує хеш-функцію тексту повідомлення. Якщо хеш-функція, отримана від відправника і розрахована на місці збігаються, то це означає, що повідомлення по шляху не змінювалося. Далі текст повідомлення дешифрується з допомогою секретного ключа одержувача.

Потім програма перевіряє який з публічних ключів підходить для розшифровки результату хеш-функції. Якщо це виявився ключ відправника, то одержувач може бути впевнений, що повідомлення підписав власник секретного ключа або людина, якій цей ключ і пароль стали доступні.

Витягти підпис з одного документа і вкласти в інший, або змінити зміст повідомлення так, щоб воно як і раніше відповідало цифрового підпису, неможливо. Будь-яка зміна підписаного документа відразу ж буде виявлено під час перевірки справжності підпису.

пароль

Шифрування PGP має ще одним рівнем захисту. Щоб скористатися секретним ключем недостатньо мати доступ до файлу секретних ключів. Для цього необхідно знати пароль.

У програмах реалізації PGP пароль називається "пральний фразою" (Passphrase), хоча вона може складатися і з одного слова. Однак пам'ятайте, що використання занадто коротких паролів значно збільшує ризик їх злому.

Існує три найбільш популярних методу злому пароля:

  1. Метод "словникової атаки" (Dictionary Attack) - послідовний перебір всіх слів мови в різних регістрах.
  2. Метод "грубої сили" (Brute Force) - послідовний перебір всіх можливих комбінацій всіх символів.
  3. Метод "гайкового ключа" (інші варіанти назви: метод "гумового шланга" (Rubber-hose Cryptanalysis), "терморектальний криптоаналіз", "бандитський криптоаналіз") - використання для злому пароля слабкішого ланки системи захисту інформації, яким є людський фактор. Застосовуючи цей метод, "криптоаналитик" вдається до погроз, тортур, шантажу, вимагання, хабарництва та інших некоректних заходів впливу на людину, яка знає пароль. Це можна проілюструвати карикатурою:

(Джерело карикатури: xkcd.com )

Опис заходів протидії методу "гайкового ключа" виходить за рамки даної статті. У цих питаннях вам можуть допомогти фахівці із забезпечення фізичної безпеки. А ось для боротьби з першими двома методами досить дотримуватися нескладних правил вибору пароля:

Не слід:

  • Використовувати слова, які можна зустріти в словнику будь-якого відомого мови.
  • Використовувати дати народження, прізвища та імена родичів, клички домашніх тварин та інші легко вгадуються набори символів.
  • Використовувати осмислені слова однієї мови, набрані в розкладці клавіатури для іншої мови.
  • Записувати пароль (особливо в особистих записниках або залишати його поблизу комп'ютера).

Бажано:

  • Вибирати довжину пароля більше 8 символів (якщо він складається з випадкового набору букв і цифр і розділових знаків).
  • При використанні в паролі осмислених слів збільшити її довжину до 16-20 символів. Слів при цьому має бути кілька.
  • При використанні осмислених слів робити в них помилки, вставляти знаки пунктуації, змінювати регістр.

Пароль необхідно запам'ятати. Якщо ви його забудете, то вже ніколи не зможете відновити інформацію зашифровану цим ключем. Без знання пароля ваш секретний ключ абсолютно даремний.

Існує один дуже непоганий метод генерування і запам'ятовування довгих складних паролів: ми беремо будь завчене напам'ять вірш (або слова популярної пісні) і в якості пароля використовуємо перші літери кожного слова, набрані в англійській розкладці клавіатури.

Для прикладу візьмемо уривок з вірша Еміля Верхарна "Меч":

З насмішкою над моєю гордістю безплідною
Мені хтось передбачив, що тримав меч в руці:
Нікчемність, з душею пустою і холодної,
Ти будеш минуле оплакувати в тузі.

Тепер перемикаємо розкладку клавіатури на англійську мову і, повторюючи про себе завчене вірш, набираємо перші літери кожного слова (дивлячись при цьому на російські літери клавіатури):

сннмгбмнпдмврнсдпіхтбповт

У підсумку нашим паролем буде наступна набрана послідовність символів:

cyyvu, vyglvdhyclgb [n, gjdn

Як бачимо, пароль вийшов досить довгим і дуже складним. А ось запам'ятати його не складе особливих труднощів. Від вас тільки потрібно не забути яке саме вірш (або пісня) лежить в основі вашого пароля.

Як почати використовувати PGP

  1. Встановіть програму на свій комп'ютер. Як правило, її установка утруднень не викликає.
  2. Створіть секретний і публічний ключі.
  3. Розішліть свій публічний ключ своїм кореспондентам і отримаєте їх публічні ключі. За замовчуванням після генерації ключів програма пропонує відправити свій публічний ключ на сервер ключів. Зробіть це. Ваш публічний ключ стане доступним всім бажаючим.
  4. Внесіть ключі своїх кореспондентів в файл публічних ключів. Для цього досить двічі кликнути мишею по файлу ключа. Програма сама запропонує імпортувати цей ключ.
  5. Переконайтеся в достовірності публічних ключів ваших кореспондентів. Для цього зв'яжіться з кореспондентом і попросіть його прочитати вам по телефону так званий "Відбиток" (Fingerprint) - унікальний ідентифікаційний номер його публічного ключа. Повідомте йому також відбиток свого публічного ключа. Як тільки ви переконаєтеся в тому, що ключ дійсно належить йому, ви можете помітити його як довірений. Підтвердити справжність публічного ключа також може третя особа, якій довіряє кожен з кореспондентів.
  6. Шифрування повідомлень і цифровий підпис. Після генерації пари ключів і обміну публічними ключами з вашими кореспондентами ви можете починати конфіденційне листування. Якщо ви використовуєте поштову програму, яка підтримує шифрування PGP, то процеси шифрування та дешифрування кореспонденції, а також перевірка достовірності відправника відбуваються майже автоматично. Програма тільки запитає у вас пароль вашого секретного ключа.

Завантажити наш публічний PGP-ключ для захисту кореспонденції

Ще по темі

Програма шифрування PGP

"Параноїк - це людина, яка дещо розуміє в тому, що відбувається"

Вільям Берроуз

Навіщо це потрібно?

Електронні повідомлення (E-mail, ICQ) легко можуть прочитати і скопіювати всі, хто має доступ до сервера інтернет-провайдера або до комп'ютерів, через які ці повідомлення проходять.

В результаті боротьби з тероризмом і відмиванням грошей у багатьох країнах, в тому числі і в Україні, були прийняті закони, які зобов'язують інтернет-провайдерів архівувати всю переписку своїх клієнтів В результаті боротьби з тероризмом і відмиванням грошей у багатьох країнах, в тому числі і в Україні, були прийняті закони, які зобов'язують інтернет-провайдерів архівувати всю переписку своїх клієнтів. Спецслужби великих держав регулярно сканують електронну пошту в пошуку підозрілих ключових слів і фраз. Ось лише кілька таких державних програм: міжнародна система ECHELON (США та інші), проект Carnivore (США), системи СОРМ і СОРМ-2 (Росія).

Агенти спецслужб або інші зацікавлені особи можуть не тільки перехопити будь-яке ваше повідомлення а й змінити його зміст, а потім відправити його так, як ніби з ним нічого не сталося. Зворотна адреса та службові заголовки листи легко підробляються і модифікуються. Науково-технічний прогрес полегшив завдання стеження за електронним листуванням, але цей же прогрес дозволяє цю переписку надійно захистити.

Відповідно, якщо ви є власником офшорної компанії або плануєте зареєструвати офшор , Вам слід приділяти особливу увагу захисту конфіденційності листування.

Як захиститися?

В Інтернеті можна знайти масу засобів захисту даних. Розібратися в цьому різноманітті нелегко. Ось кілька простих порад:

  1. Вибирайте програми, які існують як можна довше.
  2. Віддавайте перевагу програмам, вихідний код яких є відкритим (Open Source).
  3. Стійкість програми повинна грунтуватися на неможливості підібрати ключ, а не на таємності алгоритму шифрування.
  4. Намагайтеся знайти про програму якомога більше відгуків незацікавлених осіб.

Криптографія дуже консервативна. Нові засоби шифрування не зважають надійними доти, поки їх ретельно не розібрався "по кісточках" професійні криптоаналитики. Для цього їм повинен бути доступний вихідний код цих програм. Розробники комерційних програм цей код не публікують через побоювання, що конкуренти скористаються їхніми ідеями. Тому програми з закритим вихідним кодом не користуються довірою у фахівців. Небезпека застосування таких програм полягає в тому, що гіпотетично за закритим кодом розробниками може бути захований потайний "чорний хід" (backdoor) - можливість зламати шифр, навіть не знаючи пароля. Саме виходячи з цих міркувань набагато краще користуватися для цілей шифрування програмами з відкритим вихідним кодом.

Найпоширенішим засобом захисту інформації в останні роки стали програми реалізації стандарту шифрування PGP (Pretty Good Privacy) Найпоширенішим засобом захисту інформації в останні роки стали програми реалізації стандарту шифрування PGP (Pretty Good Privacy). Стійкість PGP базується на деяких фундаментальних невирішених математичних задачах.

Творець першої програми PGP, Філіп Циммерман, відкрито опублікував її код в 1991 році. З тих пір програму неодноразово досліджували криптоаналитики найвищого класу і жоден з них не знайшов в використовуваних методах шифрування слабких місць. При дотриманні простих правил зламати її практично неможливо.

Згодом даний проект був комерціалізовані. У 2010-му році корпорація Symantec викупила PGP у розробників за 300 млн. Доларів і з тих пір пропонує користувачам комерційні версії програми з розширеною функціональністю. Ми настійно не рекомендуємо використовувати комерційну версію PGP, оскільки її вихідний код, природно, вже закритий.

В якості альтернативи ще в 1999 році Фондом вільного програмного забезпечення була створена вільна реалізація шифрування PGP під назвою GnuPG . Дана програма має відкритий вихідний код і повністю сумісна з іншими версіями PGP. Проект GnuPG знаходиться в процесі розвитку і група розробників-ентузіастів до цього дня продовжує роботу над її удосконаленням.

Завантажити дистрибутив програми GnuPG можна за наступними посиланнями:

Принцип шифрування PGP

Шифрування PGP побудовано на принципі несиметричною криптографії. Коротенько це означає наступне. Повідомлення, зашифроване одним ключем, може бути розшифровано тільки іншим, взаємопов'язаним ключем. Ці два ключа утворюють пару - публічний і секретний. Така пара ключів є у кожного учасника листування. Головна перевага PGP полягає в тому, що для обміну зашифрованими повідомленнями користувачам немає необхідності передавати один одному таємні ключі.

Хоча ключ, яким шифрується текст повідомлення, доступний стороннім, з його допомогою це повідомлення розшифрувати неможливо. Цей ключ називається публічним. Користувачі можуть відкрито посилати один одному свої публічні ключі через Інтернет. При цьому ризику несанкціонованого доступу до їх конфіденційної листуванні не виникає.

Секретний ключ ретельно оберігається від сторонніх. За допомогою секретного ключа одержувач дешифрує повідомлення, які були зашифровані його публічним ключем. Але навіть отримавши секретний ключ, противник не зможе ним скористатися, не знаючи пароля.

Проілюструємо принцип роботи PGP

Є два співрозмовника, що бажають зберегти конфіденційність своєї переписки. Назвемо їх Аліса і Борис.

1. Обидва співрозмовники встановили програму і кожен з них згенерував по парі ключів - один публічний і один секретний.

2. Після чого Аліса і Борис по відкритому каналу обмінюються своїми публічними ключами. В результаті у кожного співрозмовника виходить наступний набір ключів:

3. Аліса пише повідомлення, зашифровує його публічним ключем Бориса і відправляє адресату. Борис отримує зашифроване повідомлення і відкриває його своїм секретним ключем:

4. Борис пише відповідь, зашифровує його публічним ключем Аліси і відправляє Алісі. Аліса отримує зашифрований відповідь і відкриває його своїм секретним ключем:

Що робить PGP?

Шифрування PGP вирішує три завдання конфіденційного обміну інформацією:

  1. Захищає текст повідомлень від сторонніх. Тобто прочитати повідомлення може тільки людина, у якого є секретний ключ і який знає пароль.
  2. Підтверджує одержувачу цілісність приходить повідомлення. Тобто дає впевненість в тому, що при передачі зміст повідомлення не змінилося.
  3. Підтверджує особу відправника. Вбудована в PGP електронний підпис однозначно ідентифікує відправника, оскільки тільки він має доступ до секретного ключа і знає пароль.

Як працює PGP?

Перш ніж зашифрувати повідомлення відправник визначає одержувача. Програма знаходить публічний ключ одержувача (для цього він повинен бути в файлі публічних ключів на комп'ютері відправника).

Перед шифруванням PGP стискає текст повідомлення. Це прискорює передачу і збільшує надійність шифрування. Потім генерується так званий сесійний (одноразовий) ключ, який являє собою довге випадкове число. За допомогою сесійного ключа шифрується текст повідомлення. Текст повідомлення шифрується за допомогою алгоритму симетричного шифрування. У цьому алгоритмі для шифрування і дешифрування використовується один ключ. Тому для дешифрування повідомлення одержувач теж повинен мати цей сесійний ключ. Однак відправляти цей ключ у відкритому вигляді небезпечно, тому він шифрується публічним ключем одержувача. Зашифрований сесійний ключ відправляється одержувачу разом із зашифрованим текстом. Необхідність використовувати симетричний алгоритм шифрування обумовлена ​​його високою швидкістю.

Розшифровка повідомлень відбувається в зворотній послідовності. На комп'ютері одержувача програма використовує його секретний ключ для розшифровки сесійного ключа. За допомогою цього ключа дешифрується текст повідомлення.

ключі

Ключ - це число, яке програма використовує для шифрування і дешифрування тексту. Розмір ключа вимірюється в бітах. Чим більше ключ, тим його складніше зламати (підібрати). Сьогодні в публічній криптографії свідомо стійкими вважаються ключі довжиною 2048 біта і більше.

Незважаючи на те, що публічний і секретний ключі пов'язані між собою, отримати закритий ключ маючи відкритий ключ, дуже складно. Це можливо якщо довжина ключа невелика і у супротивника є комп'ютери великої потужності. Тому важливо вибирати ключі великого розміру. З іншого боку, занадто довгий ключ уповільнює розшифровку повідомлень. Тому слід дотримуватися золотої середини. Цілком достатньо, якщо підбір буде займати кілька десятків або сотень років. На сучасному рівні розвитку комп'ютерних технологій ключі довжиною 2048 - 4096 біта зламати практично неможливо.

Ключі зберігаються на жорсткому диску Вашого комп'ютера у вигляді двох файлів: одного для публічних ключів, а іншого - для секретних. Ці файли називаються "зв'язками" ключів (Keyrings). Публічні ключі ваших кореспондентів будуть «чіплятися» на зв'язку публічних ключів. Ваші секретні ключі зберігаються в файлі секретних ключів. Зберігати його потрібно особливо ретельно. Втративши секретний ключ, ви не зможете розшифрувати адресовану вам інформацію, яка була зашифрована вашим публічним ключем.

Цифровий підпис

Цифровий підпис дозволяє одержувачеві упевнитися в особистості відправника повідомлення. Вона виконує ту ж саму функцію, що і звичайна підпис. Однак звичайну підпис можна підробити. Цифрову же підпис підробити практично неможливо.

Підтвердження цілісності повідомлення - хеш-функція

По дорозі від відправника до одержувача вміст повідомлення може бути змінено. У програмі передбачена перевірка цілісності повідомлення. Для цього використовується так звана хеш-функція. Це алгоритм перетворення тексту довільного розміру в деякий невеликий число. Таке перетворення абсолютно однозначно, тобто при будь-якій зміні даних, нехай навіть на один біт, результат хеш-функції теж зміниться.

Перед шифруванням повідомлення програма розраховує його хеш-функцію і шифрує її секретним ключем. Результат шифрування і є цифровим підписом. Цифровий підпис передається поштовою програмою разом з текстом. Програма на комп'ютері одержувача розшифровує хеш-функцію, після чого розраховує хеш-функцію тексту повідомлення. Якщо хеш-функція, отримана від відправника і розрахована на місці збігаються, то це означає, що повідомлення по шляху не змінювалося. Далі текст повідомлення дешифрується з допомогою секретного ключа одержувача.

Потім програма перевіряє який з публічних ключів підходить для розшифровки результату хеш-функції. Якщо це виявився ключ відправника, то одержувач може бути впевнений, що повідомлення підписав власник секретного ключа або людина, якій цей ключ і пароль стали доступні.

Витягти підпис з одного документа і вкласти в інший, або змінити зміст повідомлення так, щоб воно як і раніше відповідало цифрового підпису, неможливо. Будь-яка зміна підписаного документа відразу ж буде виявлено під час перевірки справжності підпису.

пароль

Шифрування PGP має ще одним рівнем захисту. Щоб скористатися секретним ключем недостатньо мати доступ до файлу секретних ключів. Для цього необхідно знати пароль.

У програмах реалізації PGP пароль називається "пральний фразою" (Passphrase), хоча вона може складатися і з одного слова. Однак пам'ятайте, що використання занадто коротких паролів значно збільшує ризик їх злому.

Існує три найбільш популярних методу злому пароля:

  1. Метод "словникової атаки" (Dictionary Attack) - послідовний перебір всіх слів мови в різних регістрах.
  2. Метод "грубої сили" (Brute Force) - послідовний перебір всіх можливих комбінацій всіх символів.
  3. Метод "гайкового ключа" (інші варіанти назви: метод "гумового шланга" (Rubber-hose Cryptanalysis), "терморектальний криптоаналіз", "бандитський криптоаналіз") - використання для злому пароля слабкішого ланки системи захисту інформації, яким є людський фактор. Застосовуючи цей метод, "криптоаналитик" вдається до погроз, тортур, шантажу, вимагання, хабарництва та інших некоректних заходів впливу на людину, яка знає пароль. Це можна проілюструвати карикатурою:

(Джерело карикатури: xkcd.com )

Опис заходів протидії методу "гайкового ключа" виходить за рамки даної статті. У цих питаннях вам можуть допомогти фахівці із забезпечення фізичної безпеки. А ось для боротьби з першими двома методами досить дотримуватися нескладних правил вибору пароля:

Не слід:

  • Використовувати слова, які можна зустріти в словнику будь-якого відомого мови.
  • Використовувати дати народження, прізвища та імена родичів, клички домашніх тварин та інші легко вгадуються набори символів.
  • Використовувати осмислені слова однієї мови, набрані в розкладці клавіатури для іншої мови.
  • Записувати пароль (особливо в особистих записниках або залишати його поблизу комп'ютера).

Бажано:

  • Вибирати довжину пароля більше 8 символів (якщо він складається з випадкового набору букв і цифр і розділових знаків).
  • При використанні в паролі осмислених слів збільшити її довжину до 16-20 символів. Слів при цьому має бути кілька.
  • При використанні осмислених слів робити в них помилки, вставляти знаки пунктуації, змінювати регістр.

Пароль необхідно запам'ятати. Якщо ви його забудете, то вже ніколи не зможете відновити інформацію зашифровану цим ключем. Без знання пароля ваш секретний ключ абсолютно даремний.

Існує один дуже непоганий метод генерування і запам'ятовування довгих складних паролів: ми беремо будь завчене напам'ять вірш (або слова популярної пісні) і в якості пароля використовуємо перші літери кожного слова, набрані в англійській розкладці клавіатури.

Для прикладу візьмемо уривок з вірша Еміля Верхарна "Меч":

З насмішкою над моєю гордістю безплідною
Мені хтось передбачив, що тримав меч в руці:
Нікчемність, з душею пустою і холодної,
Ти будеш минуле оплакувати в тузі.

Тепер перемикаємо розкладку клавіатури на англійську мову і, повторюючи про себе завчене вірш, набираємо перші літери кожного слова (дивлячись при цьому на російські літери клавіатури):

сннмгбмнпдмврнсдпіхтбповт

У підсумку нашим паролем буде наступна набрана послідовність символів:

cyyvu, vyglvdhyclgb [n, gjdn

Як бачимо, пароль вийшов досить довгим і дуже складним. А ось запам'ятати його не складе особливих труднощів. Від вас тільки потрібно не забути яке саме вірш (або пісня) лежить в основі вашого пароля.

Як почати використовувати PGP

  1. Встановіть програму на свій комп'ютер. Як правило, її установка утруднень не викликає.
  2. Створіть секретний і публічний ключі.
  3. Розішліть свій публічний ключ своїм кореспондентам і отримаєте їх публічні ключі. За замовчуванням після генерації ключів програма пропонує відправити свій публічний ключ на сервер ключів. Зробіть це. Ваш публічний ключ стане доступним всім бажаючим.
  4. Внесіть ключі своїх кореспондентів в файл публічних ключів. Для цього досить двічі кликнути мишею по файлу ключа. Програма сама запропонує імпортувати цей ключ.
  5. Переконайтеся в достовірності публічних ключів ваших кореспондентів. Для цього зв'яжіться з кореспондентом і попросіть його прочитати вам по телефону так званий "Відбиток" (Fingerprint) - унікальний ідентифікаційний номер його публічного ключа. Повідомте йому також відбиток свого публічного ключа. Як тільки ви переконаєтеся в тому, що ключ дійсно належить йому, ви можете помітити його як довірений. Підтвердити справжність публічного ключа також може третя особа, якій довіряє кожен з кореспондентів.
  6. Шифрування повідомлень і цифровий підпис. Після генерації пари ключів і обміну публічними ключами з вашими кореспондентами ви можете починати конфіденційне листування. Якщо ви використовуєте поштову програму, яка підтримує шифрування PGP, то процеси шифрування та дешифрування кореспонденції, а також перевірка достовірності відправника відбуваються майже автоматично. Програма тільки запитає у вас пароль вашого секретного ключа.

Завантажити наш публічний PGP-ключ для захисту кореспонденції

Ще по темі

Програма шифрування PGP

"Параноїк - це людина, яка дещо розуміє в тому, що відбувається"

Вільям Берроуз

Навіщо це потрібно?

Електронні повідомлення (E-mail, ICQ) легко можуть прочитати і скопіювати всі, хто має доступ до сервера інтернет-провайдера або до комп'ютерів, через які ці повідомлення проходять.

В результаті боротьби з тероризмом і відмиванням грошей у багатьох країнах, в тому числі і в Україні, були прийняті закони, які зобов'язують інтернет-провайдерів архівувати всю переписку своїх клієнтів В результаті боротьби з тероризмом і відмиванням грошей у багатьох країнах, в тому числі і в Україні, були прийняті закони, які зобов'язують інтернет-провайдерів архівувати всю переписку своїх клієнтів. Спецслужби великих держав регулярно сканують електронну пошту в пошуку підозрілих ключових слів і фраз. Ось лише кілька таких державних програм: міжнародна система ECHELON (США та інші), проект Carnivore (США), системи СОРМ і СОРМ-2 (Росія).

Агенти спецслужб або інші зацікавлені особи можуть не тільки перехопити будь-яке ваше повідомлення а й змінити його зміст, а потім відправити його так, як ніби з ним нічого не сталося. Зворотна адреса та службові заголовки листи легко підробляються і модифікуються. Науково-технічний прогрес полегшив завдання стеження за електронним листуванням, але цей же прогрес дозволяє цю переписку надійно захистити.

Відповідно, якщо ви є власником офшорної компанії або плануєте зареєструвати офшор , Вам слід приділяти особливу увагу захисту конфіденційності листування.

Як захиститися?

В Інтернеті можна знайти масу засобів захисту даних. Розібратися в цьому різноманітті нелегко. Ось кілька простих порад:

  1. Вибирайте програми, які існують як можна довше.
  2. Віддавайте перевагу програмам, вихідний код яких є відкритим (Open Source).
  3. Стійкість програми повинна грунтуватися на неможливості підібрати ключ, а не на таємності алгоритму шифрування.
  4. Намагайтеся знайти про програму якомога більше відгуків незацікавлених осіб.

Криптографія дуже консервативна. Нові засоби шифрування не зважають надійними доти, поки їх ретельно не розібрався "по кісточках" професійні криптоаналитики. Для цього їм повинен бути доступний вихідний код цих програм. Розробники комерційних програм цей код не публікують через побоювання, що конкуренти скористаються їхніми ідеями. Тому програми з закритим вихідним кодом не користуються довірою у фахівців. Небезпека застосування таких програм полягає в тому, що гіпотетично за закритим кодом розробниками може бути захований потайний "чорний хід" (backdoor) - можливість зламати шифр, навіть не знаючи пароля. Саме виходячи з цих міркувань набагато краще користуватися для цілей шифрування програмами з відкритим вихідним кодом.

Найпоширенішим засобом захисту інформації в останні роки стали програми реалізації стандарту шифрування PGP (Pretty Good Privacy) Найпоширенішим засобом захисту інформації в останні роки стали програми реалізації стандарту шифрування PGP (Pretty Good Privacy). Стійкість PGP базується на деяких фундаментальних невирішених математичних задачах.

Творець першої програми PGP, Філіп Циммерман, відкрито опублікував її код в 1991 році. З тих пір програму неодноразово досліджували криптоаналитики найвищого класу і жоден з них не знайшов в використовуваних методах шифрування слабких місць. При дотриманні простих правил зламати її практично неможливо.

Згодом даний проект був комерціалізовані. У 2010-му році корпорація Symantec викупила PGP у розробників за 300 млн. Доларів і з тих пір пропонує користувачам комерційні версії програми з розширеною функціональністю. Ми настійно не рекомендуємо використовувати комерційну версію PGP, оскільки її вихідний код, природно, вже закритий.

В якості альтернативи ще в 1999 році Фондом вільного програмного забезпечення була створена вільна реалізація шифрування PGP під назвою GnuPG . Дана програма має відкритий вихідний код і повністю сумісна з іншими версіями PGP. Проект GnuPG знаходиться в процесі розвитку і група розробників-ентузіастів до цього дня продовжує роботу над її удосконаленням.

Завантажити дистрибутив програми GnuPG можна за наступними посиланнями:

Принцип шифрування PGP

Шифрування PGP побудовано на принципі несиметричною криптографії. Коротенько це означає наступне. Повідомлення, зашифроване одним ключем, може бути розшифровано тільки іншим, взаємопов'язаним ключем. Ці два ключа утворюють пару - публічний і секретний. Така пара ключів є у кожного учасника листування. Головна перевага PGP полягає в тому, що для обміну зашифрованими повідомленнями користувачам немає необхідності передавати один одному таємні ключі.

Хоча ключ, яким шифрується текст повідомлення, доступний стороннім, з його допомогою це повідомлення розшифрувати неможливо. Цей ключ називається публічним. Користувачі можуть відкрито посилати один одному свої публічні ключі через Інтернет. При цьому ризику несанкціонованого доступу до їх конфіденційної листуванні не виникає.

Секретний ключ ретельно оберігається від сторонніх. За допомогою секретного ключа одержувач дешифрує повідомлення, які були зашифровані його публічним ключем. Але навіть отримавши секретний ключ, противник не зможе ним скористатися, не знаючи пароля.

Проілюструємо принцип роботи PGP

Є два співрозмовника, що бажають зберегти конфіденційність своєї переписки. Назвемо їх Аліса і Борис.

1. Обидва співрозмовники встановили програму і кожен з них згенерував по парі ключів - один публічний і один секретний.

2. Після чого Аліса і Борис по відкритому каналу обмінюються своїми публічними ключами. В результаті у кожного співрозмовника виходить наступний набір ключів:

3. Аліса пише повідомлення, зашифровує його публічним ключем Бориса і відправляє адресату. Борис отримує зашифроване повідомлення і відкриває його своїм секретним ключем:

4. Борис пише відповідь, зашифровує його публічним ключем Аліси і відправляє Алісі. Аліса отримує зашифрований відповідь і відкриває його своїм секретним ключем:

Що робить PGP?

Шифрування PGP вирішує три завдання конфіденційного обміну інформацією:

  1. Захищає текст повідомлень від сторонніх. Тобто прочитати повідомлення може тільки людина, у якого є секретний ключ і який знає пароль.
  2. Підтверджує одержувачу цілісність приходить повідомлення. Тобто дає впевненість в тому, що при передачі зміст повідомлення не змінилося.
  3. Підтверджує особу відправника. Вбудована в PGP електронний підпис однозначно ідентифікує відправника, оскільки тільки він має доступ до секретного ключа і знає пароль.

Як працює PGP?

Перш ніж зашифрувати повідомлення відправник визначає одержувача. Програма знаходить публічний ключ одержувача (для цього він повинен бути в файлі публічних ключів на комп'ютері відправника).

Перед шифруванням PGP стискає текст повідомлення. Це прискорює передачу і збільшує надійність шифрування. Потім генерується так званий сесійний (одноразовий) ключ, який являє собою довге випадкове число. За допомогою сесійного ключа шифрується текст повідомлення. Текст повідомлення шифрується за допомогою алгоритму симетричного шифрування. У цьому алгоритмі для шифрування і дешифрування використовується один ключ. Тому для дешифрування повідомлення одержувач теж повинен мати цей сесійний ключ. Однак відправляти цей ключ у відкритому вигляді небезпечно, тому він шифрується публічним ключем одержувача. Зашифрований сесійний ключ відправляється одержувачу разом із зашифрованим текстом. Необхідність використовувати симетричний алгоритм шифрування обумовлена ​​його високою швидкістю.

Розшифровка повідомлень відбувається в зворотній послідовності. На комп'ютері одержувача програма використовує його секретний ключ для розшифровки сесійного ключа. За допомогою цього ключа дешифрується текст повідомлення.

ключі

Ключ - це число, яке програма використовує для шифрування і дешифрування тексту. Розмір ключа вимірюється в бітах. Чим більше ключ, тим його складніше зламати (підібрати). Сьогодні в публічній криптографії свідомо стійкими вважаються ключі довжиною 2048 біта і більше.

Незважаючи на те, що публічний і секретний ключі пов'язані між собою, отримати закритий ключ маючи відкритий ключ, дуже складно. Це можливо якщо довжина ключа невелика і у супротивника є комп'ютери великої потужності. Тому важливо вибирати ключі великого розміру. З іншого боку, занадто довгий ключ уповільнює розшифровку повідомлень. Тому слід дотримуватися золотої середини. Цілком достатньо, якщо підбір буде займати кілька десятків або сотень років. На сучасному рівні розвитку комп'ютерних технологій ключі довжиною 2048 - 4096 біта зламати практично неможливо.

Ключі зберігаються на жорсткому диску Вашого комп'ютера у вигляді двох файлів: одного для публічних ключів, а іншого - для секретних. Ці файли називаються "зв'язками" ключів (Keyrings). Публічні ключі ваших кореспондентів будуть «чіплятися» на зв'язку публічних ключів. Ваші секретні ключі зберігаються в файлі секретних ключів. Зберігати його потрібно особливо ретельно. Втративши секретний ключ, ви не зможете розшифрувати адресовану вам інформацію, яка була зашифрована вашим публічним ключем.

Цифровий підпис

Цифровий підпис дозволяє одержувачеві упевнитися в особистості відправника повідомлення. Вона виконує ту ж саму функцію, що і звичайна підпис. Однак звичайну підпис можна підробити. Цифрову же підпис підробити практично неможливо.

Підтвердження цілісності повідомлення - хеш-функція

По дорозі від відправника до одержувача вміст повідомлення може бути змінено. У програмі передбачена перевірка цілісності повідомлення. Для цього використовується так звана хеш-функція. Це алгоритм перетворення тексту довільного розміру в деякий невеликий число. Таке перетворення абсолютно однозначно, тобто при будь-якій зміні даних, нехай навіть на один біт, результат хеш-функції теж зміниться.

Перед шифруванням повідомлення програма розраховує його хеш-функцію і шифрує її секретним ключем. Результат шифрування і є цифровим підписом. Цифровий підпис передається поштовою програмою разом з текстом. Програма на комп'ютері одержувача розшифровує хеш-функцію, після чого розраховує хеш-функцію тексту повідомлення. Якщо хеш-функція, отримана від відправника і розрахована на місці збігаються, то це означає, що повідомлення по шляху не змінювалося. Далі текст повідомлення дешифрується з допомогою секретного ключа одержувача.

Потім програма перевіряє який з публічних ключів підходить для розшифровки результату хеш-функції. Якщо це виявився ключ відправника, то одержувач може бути впевнений, що повідомлення підписав власник секретного ключа або людина, якій цей ключ і пароль стали доступні.

Витягти підпис з одного документа і вкласти в інший, або змінити зміст повідомлення так, щоб воно як і раніше відповідало цифрового підпису, неможливо. Будь-яка зміна підписаного документа відразу ж буде виявлено під час перевірки справжності підпису.

пароль

Шифрування PGP має ще одним рівнем захисту. Щоб скористатися секретним ключем недостатньо мати доступ до файлу секретних ключів. Для цього необхідно знати пароль.

У програмах реалізації PGP пароль називається "пральний фразою" (Passphrase), хоча вона може складатися і з одного слова. Однак пам'ятайте, що використання занадто коротких паролів значно збільшує ризик їх злому.

Існує три найбільш популярних методу злому пароля:

  1. Метод "словникової атаки" (Dictionary Attack) - послідовний перебір всіх слів мови в різних регістрах.
  2. Метод "грубої сили" (Brute Force) - послідовний перебір всіх можливих комбінацій всіх символів.
  3. Метод "гайкового ключа" (інші варіанти назви: метод "гумового шланга" (Rubber-hose Cryptanalysis), "терморектальний криптоаналіз", "бандитський криптоаналіз") - використання для злому пароля слабкішого ланки системи захисту інформації, яким є людський фактор. Застосовуючи цей метод, "криптоаналитик" вдається до погроз, тортур, шантажу, вимагання, хабарництва та інших некоректних заходів впливу на людину, яка знає пароль. Це можна проілюструвати карикатурою:

(Джерело карикатури: xkcd.com )

Опис заходів протидії методу "гайкового ключа" виходить за рамки даної статті. У цих питаннях вам можуть допомогти фахівці із забезпечення фізичної безпеки. А ось для боротьби з першими двома методами досить дотримуватися нескладних правил вибору пароля:

Не слід:

  • Використовувати слова, які можна зустріти в словнику будь-якого відомого мови.
  • Використовувати дати народження, прізвища та імена родичів, клички домашніх тварин та інші легко вгадуються набори символів.
  • Використовувати осмислені слова однієї мови, набрані в розкладці клавіатури для іншої мови.
  • Записувати пароль (особливо в особистих записниках або залишати його поблизу комп'ютера).

Бажано:

  • Вибирати довжину пароля більше 8 символів (якщо він складається з випадкового набору букв і цифр і розділових знаків).
  • При використанні в паролі осмислених слів збільшити її довжину до 16-20 символів. Слів при цьому має бути кілька.
  • При використанні осмислених слів робити в них помилки, вставляти знаки пунктуації, змінювати регістр.

Пароль необхідно запам'ятати. Якщо ви його забудете, то вже ніколи не зможете відновити інформацію зашифровану цим ключем. Без знання пароля ваш секретний ключ абсолютно даремний.

Існує один дуже непоганий метод генерування і запам'ятовування довгих складних паролів: ми беремо будь завчене напам'ять вірш (або слова популярної пісні) і в якості пароля використовуємо перші літери кожного слова, набрані в англійській розкладці клавіатури.

Для прикладу візьмемо уривок з вірша Еміля Верхарна "Меч":

З насмішкою над моєю гордістю безплідною
Мені хтось передбачив, що тримав меч в руці:
Нікчемність, з душею пустою і холодної,
Ти будеш минуле оплакувати в тузі.

Тепер перемикаємо розкладку клавіатури на англійську мову і, повторюючи про себе завчене вірш, набираємо перші літери кожного слова (дивлячись при цьому на російські літери клавіатури):

сннмгбмнпдмврнсдпіхтбповт

У підсумку нашим паролем буде наступна набрана послідовність символів:

cyyvu, vyglvdhyclgb [n, gjdn

Як бачимо, пароль вийшов досить довгим і дуже складним. А ось запам'ятати його не складе особливих труднощів. Від вас тільки потрібно не забути яке саме вірш (або пісня) лежить в основі вашого пароля.

Як почати використовувати PGP

  1. Встановіть програму на свій комп'ютер. Як правило, її установка утруднень не викликає.
  2. Створіть секретний і публічний ключі.
  3. Розішліть свій публічний ключ своїм кореспондентам і отримаєте їх публічні ключі. За замовчуванням після генерації ключів програма пропонує відправити свій публічний ключ на сервер ключів. Зробіть це. Ваш публічний ключ стане доступним всім бажаючим.
  4. Внесіть ключі своїх кореспондентів в файл публічних ключів. Для цього досить двічі кликнути мишею по файлу ключа. Програма сама запропонує імпортувати цей ключ.
  5. Переконайтеся в достовірності публічних ключів ваших кореспондентів. Для цього зв'яжіться з кореспондентом і попросіть його прочитати вам по телефону так званий "Відбиток" (Fingerprint) - унікальний ідентифікаційний номер його публічного ключа. Повідомте йому також відбиток свого публічного ключа. Як тільки ви переконаєтеся в тому, що ключ дійсно належить йому, ви можете помітити його як довірений. Підтвердити справжність публічного ключа також може третя особа, якій довіряє кожен з кореспондентів.
  6. Шифрування повідомлень і цифровий підпис. Після генерації пари ключів і обміну публічними ключами з вашими кореспондентами ви можете починати конфіденційне листування. Якщо ви використовуєте поштову програму, яка підтримує шифрування PGP, то процеси шифрування та дешифрування кореспонденції, а також перевірка достовірності відправника відбуваються майже автоматично. Програма тільки запитає у вас пароль вашого секретного ключа.

Завантажити наш публічний PGP-ключ для захисту кореспонденції

Ще по темі

Програма шифрування PGP

"Параноїк - це людина, яка дещо розуміє в тому, що відбувається"

Вільям Берроуз

Навіщо це потрібно?

Електронні повідомлення (E-mail, ICQ) легко можуть прочитати і скопіювати всі, хто має доступ до сервера інтернет-провайдера або до комп'ютерів, через які ці повідомлення проходять.

В результаті боротьби з тероризмом і відмиванням грошей у багатьох країнах, в тому числі і в Україні, були прийняті закони, які зобов'язують інтернет-провайдерів архівувати всю переписку своїх клієнтів В результаті боротьби з тероризмом і відмиванням грошей у багатьох країнах, в тому числі і в Україні, були прийняті закони, які зобов'язують інтернет-провайдерів архівувати всю переписку своїх клієнтів. Спецслужби великих держав регулярно сканують електронну пошту в пошуку підозрілих ключових слів і фраз. Ось лише кілька таких державних програм: міжнародна система ECHELON (США та інші), проект Carnivore (США), системи СОРМ і СОРМ-2 (Росія).

Агенти спецслужб або інші зацікавлені особи можуть не тільки перехопити будь-яке ваше повідомлення а й змінити його зміст, а потім відправити його так, як ніби з ним нічого не сталося. Зворотна адреса та службові заголовки листи легко підробляються і модифікуються. Науково-технічний прогрес полегшив завдання стеження за електронним листуванням, але цей же прогрес дозволяє цю переписку надійно захистити.

Відповідно, якщо ви є власником офшорної компанії або плануєте зареєструвати офшор , Вам слід приділяти особливу увагу захисту конфіденційності листування.

Як захиститися?

В Інтернеті можна знайти масу засобів захисту даних. Розібратися в цьому різноманітті нелегко. Ось кілька простих порад:

  1. Вибирайте програми, які існують як можна довше.
  2. Віддавайте перевагу програмам, вихідний код яких є відкритим (Open Source).
  3. Стійкість програми повинна грунтуватися на неможливості підібрати ключ, а не на таємності алгоритму шифрування.
  4. Намагайтеся знайти про програму якомога більше відгуків незацікавлених осіб.

Криптографія дуже консервативна. Нові засоби шифрування не зважають надійними доти, поки їх ретельно не розібрався "по кісточках" професійні криптоаналитики. Для цього їм повинен бути доступний вихідний код цих програм. Розробники комерційних програм цей код не публікують через побоювання, що конкуренти скористаються їхніми ідеями. Тому програми з закритим вихідним кодом не користуються довірою у фахівців. Небезпека застосування таких програм полягає в тому, що гіпотетично за закритим кодом розробниками може бути захований потайний "чорний хід" (backdoor) - можливість зламати шифр, навіть не знаючи пароля. Саме виходячи з цих міркувань набагато краще користуватися для цілей шифрування програмами з відкритим вихідним кодом.

Найпоширенішим засобом захисту інформації в останні роки стали програми реалізації стандарту шифрування PGP (Pretty Good Privacy) Найпоширенішим засобом захисту інформації в останні роки стали програми реалізації стандарту шифрування PGP (Pretty Good Privacy). Стійкість PGP базується на деяких фундаментальних невирішених математичних задачах.

Творець першої програми PGP, Філіп Циммерман, відкрито опублікував її код в 1991 році. З тих пір програму неодноразово досліджували криптоаналитики найвищого класу і жоден з них не знайшов в використовуваних методах шифрування слабких місць. При дотриманні простих правил зламати її практично неможливо.

Згодом даний проект був комерціалізовані. У 2010-му році корпорація Symantec викупила PGP у розробників за 300 млн. Доларів і з тих пір пропонує користувачам комерційні версії програми з розширеною функціональністю. Ми настійно не рекомендуємо використовувати комерційну версію PGP, оскільки її вихідний код, природно, вже закритий.

В якості альтернативи ще в 1999 році Фондом вільного програмного забезпечення була створена вільна реалізація шифрування PGP під назвою GnuPG . Дана програма має відкритий вихідний код і повністю сумісна з іншими версіями PGP. Проект GnuPG знаходиться в процесі розвитку і група розробників-ентузіастів до цього дня продовжує роботу над її удосконаленням.

Завантажити дистрибутив програми GnuPG можна за наступними посиланнями:

Принцип шифрування PGP

Шифрування PGP побудовано на принципі несиметричною криптографії. Коротенько це означає наступне. Повідомлення, зашифроване одним ключем, може бути розшифровано тільки іншим, взаємопов'язаним ключем. Ці два ключа утворюють пару - публічний і секретний. Така пара ключів є у кожного учасника листування. Головна перевага PGP полягає в тому, що для обміну зашифрованими повідомленнями користувачам немає необхідності передавати один одному таємні ключі.

Хоча ключ, яким шифрується текст повідомлення, доступний стороннім, з його допомогою це повідомлення розшифрувати неможливо. Цей ключ називається публічним. Користувачі можуть відкрито посилати один одному свої публічні ключі через Інтернет. При цьому ризику несанкціонованого доступу до їх конфіденційної листуванні не виникає.

Секретний ключ ретельно оберігається від сторонніх. За допомогою секретного ключа одержувач дешифрує повідомлення, які були зашифровані його публічним ключем. Але навіть отримавши секретний ключ, противник не зможе ним скористатися, не знаючи пароля.

Проілюструємо принцип роботи PGP

Є два співрозмовника, що бажають зберегти конфіденційність своєї переписки. Назвемо їх Аліса і Борис.

1. Обидва співрозмовники встановили програму і кожен з них згенерував по парі ключів - один публічний і один секретний.

2. Після чого Аліса і Борис по відкритому каналу обмінюються своїми публічними ключами. В результаті у кожного співрозмовника виходить наступний набір ключів:

3. Аліса пише повідомлення, зашифровує його публічним ключем Бориса і відправляє адресату. Борис отримує зашифроване повідомлення і відкриває його своїм секретним ключем:

4. Борис пише відповідь, зашифровує його публічним ключем Аліси і відправляє Алісі. Аліса отримує зашифрований відповідь і відкриває його своїм секретним ключем:

Що робить PGP?

Шифрування PGP вирішує три завдання конфіденційного обміну інформацією:

  1. Захищає текст повідомлень від сторонніх. Тобто прочитати повідомлення може тільки людина, у якого є секретний ключ і який знає пароль.
  2. Підтверджує одержувачу цілісність приходить повідомлення. Тобто дає впевненість в тому, що при передачі зміст повідомлення не змінилося.
  3. Підтверджує особу відправника. Вбудована в PGP електронний підпис однозначно ідентифікує відправника, оскільки тільки він має доступ до секретного ключа і знає пароль.

Як працює PGP?

Перш ніж зашифрувати повідомлення відправник визначає одержувача. Програма знаходить публічний ключ одержувача (для цього він повинен бути в файлі публічних ключів на комп'ютері відправника).

Перед шифруванням PGP стискає текст повідомлення. Це прискорює передачу і збільшує надійність шифрування. Потім генерується так званий сесійний (одноразовий) ключ, який являє собою довге випадкове число. За допомогою сесійного ключа шифрується текст повідомлення. Текст повідомлення шифрується за допомогою алгоритму симетричного шифрування. У цьому алгоритмі для шифрування і дешифрування використовується один ключ. Тому для дешифрування повідомлення одержувач теж повинен мати цей сесійний ключ. Однак відправляти цей ключ у відкритому вигляді небезпечно, тому він шифрується публічним ключем одержувача. Зашифрований сесійний ключ відправляється одержувачу разом із зашифрованим текстом. Необхідність використовувати симетричний алгоритм шифрування обумовлена ​​його високою швидкістю.

Розшифровка повідомлень відбувається в зворотній послідовності. На комп'ютері одержувача програма використовує його секретний ключ для розшифровки сесійного ключа. За допомогою цього ключа дешифрується текст повідомлення.

ключі

Ключ - це число, яке програма використовує для шифрування і дешифрування тексту. Розмір ключа вимірюється в бітах. Чим більше ключ, тим його складніше зламати (підібрати). Сьогодні в публічній криптографії свідомо стійкими вважаються ключі довжиною 2048 біта і більше.

Незважаючи на те, що публічний і секретний ключі пов'язані між собою, отримати закритий ключ маючи відкритий ключ, дуже складно. Це можливо якщо довжина ключа невелика і у супротивника є комп'ютери великої потужності. Тому важливо вибирати ключі великого розміру. З іншого боку, занадто довгий ключ уповільнює розшифровку повідомлень. Тому слід дотримуватися золотої середини. Цілком достатньо, якщо підбір буде займати кілька десятків або сотень років. На сучасному рівні розвитку комп'ютерних технологій ключі довжиною 2048 - 4096 біта зламати практично неможливо.

Ключі зберігаються на жорсткому диску Вашого комп'ютера у вигляді двох файлів: одного для публічних ключів, а іншого - для секретних. Ці файли називаються "зв'язками" ключів (Keyrings). Публічні ключі ваших кореспондентів будуть «чіплятися» на зв'язку публічних ключів. Ваші секретні ключі зберігаються в файлі секретних ключів. Зберігати його потрібно особливо ретельно. Втративши секретний ключ, ви не зможете розшифрувати адресовану вам інформацію, яка була зашифрована вашим публічним ключем.

Цифровий підпис

Цифровий підпис дозволяє одержувачеві упевнитися в особистості відправника повідомлення. Вона виконує ту ж саму функцію, що і звичайна підпис. Однак звичайну підпис можна підробити. Цифрову же підпис підробити практично неможливо.

Підтвердження цілісності повідомлення - хеш-функція

По дорозі від відправника до одержувача вміст повідомлення може бути змінено. У програмі передбачена перевірка цілісності повідомлення. Для цього використовується так звана хеш-функція. Це алгоритм перетворення тексту довільного розміру в деякий невеликий число. Таке перетворення абсолютно однозначно, тобто при будь-якій зміні даних, нехай навіть на один біт, результат хеш-функції теж зміниться.

Перед шифруванням повідомлення програма розраховує його хеш-функцію і шифрує її секретним ключем. Результат шифрування і є цифровим підписом. Цифровий підпис передається поштовою програмою разом з текстом. Програма на комп'ютері одержувача розшифровує хеш-функцію, після чого розраховує хеш-функцію тексту повідомлення. Якщо хеш-функція, отримана від відправника і розрахована на місці збігаються, то це означає, що повідомлення по шляху не змінювалося. Далі текст повідомлення дешифрується з допомогою секретного ключа одержувача.

Потім програма перевіряє який з публічних ключів підходить для розшифровки результату хеш-функції. Якщо це виявився ключ відправника, то одержувач може бути впевнений, що повідомлення підписав власник секретного ключа або людина, якій цей ключ і пароль стали доступні.

Витягти підпис з одного документа і вкласти в інший, або змінити зміст повідомлення так, щоб воно як і раніше відповідало цифрового підпису, неможливо. Будь-яка зміна підписаного документа відразу ж буде виявлено під час перевірки справжності підпису.

пароль

Шифрування PGP має ще одним рівнем захисту. Щоб скористатися секретним ключем недостатньо мати доступ до файлу секретних ключів. Для цього необхідно знати пароль.

У програмах реалізації PGP пароль називається "пральний фразою" (Passphrase), хоча вона може складатися і з одного слова. Однак пам'ятайте, що використання занадто коротких паролів значно збільшує ризик їх злому.

Існує три найбільш популярних методу злому пароля:

  1. Метод "словникової атаки" (Dictionary Attack) - послідовний перебір всіх слів мови в різних регістрах.
  2. Метод "грубої сили" (Brute Force) - послідовний перебір всіх можливих комбінацій всіх символів.
  3. Метод "гайкового ключа" (інші варіанти назви: метод "гумового шланга" (Rubber-hose Cryptanalysis), "терморектальний криптоаналіз", "бандитський криптоаналіз") - використання для злому пароля слабкішого ланки системи захисту інформації, яким є людський фактор. Застосовуючи цей метод, "криптоаналитик" вдається до погроз, тортур, шантажу, вимагання, хабарництва та інших некоректних заходів впливу на людину, яка знає пароль. Це можна проілюструвати карикатурою:

(Джерело карикатури: xkcd.com )

Опис заходів протидії методу "гайкового ключа" виходить за рамки даної статті. У цих питаннях вам можуть допомогти фахівці із забезпечення фізичної безпеки. А ось для боротьби з першими двома методами досить дотримуватися нескладних правил вибору пароля:

Не слід:

  • Використовувати слова, які можна зустріти в словнику будь-якого відомого мови.
  • Використовувати дати народження, прізвища та імена родичів, клички домашніх тварин та інші легко вгадуються набори символів.
  • Використовувати осмислені слова однієї мови, набрані в розкладці клавіатури для іншої мови.
  • Записувати пароль (особливо в особистих записниках або залишати його поблизу комп'ютера).

Бажано:

  • Вибирати довжину пароля більше 8 символів (якщо він складається з випадкового набору букв і цифр і розділових знаків).
  • При використанні в паролі осмислених слів збільшити її довжину до 16-20 символів. Слів при цьому має бути кілька.
  • При використанні осмислених слів робити в них помилки, вставляти знаки пунктуації, змінювати регістр.

Пароль необхідно запам'ятати. Якщо ви його забудете, то вже ніколи не зможете відновити інформацію зашифровану цим ключем. Без знання пароля ваш секретний ключ абсолютно даремний.

Існує один дуже непоганий метод генерування і запам'ятовування довгих складних паролів: ми беремо будь завчене напам'ять вірш (або слова популярної пісні) і в якості пароля використовуємо перші літери кожного слова, набрані в англійській розкладці клавіатури.

Для прикладу візьмемо уривок з вірша Еміля Верхарна "Меч":

З насмішкою над моєю гордістю безплідною
Мені хтось передбачив, що тримав меч в руці:
Нікчемність, з душею пустою і холодної,
Ти будеш минуле оплакувати в тузі.

Тепер перемикаємо розкладку клавіатури на англійську мову і, повторюючи про себе завчене вірш, набираємо перші літери кожного слова (дивлячись при цьому на російські літери клавіатури):

сннмгбмнпдмврнсдпіхтбповт

У підсумку нашим паролем буде наступна набрана послідовність символів:

cyyvu, vyglvdhyclgb [n, gjdn

Як бачимо, пароль вийшов досить довгим і дуже складним. А ось запам'ятати його не складе особливих труднощів. Від вас тільки потрібно не забути яке саме вірш (або пісня) лежить в основі вашого пароля.

Як почати використовувати PGP

  1. Встановіть програму на свій комп'ютер. Як правило, її установка утруднень не викликає.
  2. Створіть секретний і публічний ключі.
  3. Розішліть свій публічний ключ своїм кореспондентам і отримаєте їх публічні ключі. За замовчуванням після генерації ключів програма пропонує відправити свій публічний ключ на сервер ключів. Зробіть це. Ваш публічний ключ стане доступним всім бажаючим.
  4. Внесіть ключі своїх кореспондентів в файл публічних ключів. Для цього досить двічі кликнути мишею по файлу ключа. Програма сама запропонує імпортувати цей ключ.
  5. Переконайтеся в достовірності публічних ключів ваших кореспондентів. Для цього зв'яжіться з кореспондентом і попросіть його прочитати вам по телефону так званий "Відбиток" (Fingerprint) - унікальний ідентифікаційний номер його публічного ключа. Повідомте йому також відбиток свого публічного ключа. Як тільки ви переконаєтеся в тому, що ключ дійсно належить йому, ви можете помітити його як довірений. Підтвердити справжність публічного ключа також може третя особа, якій довіряє кожен з кореспондентів.
  6. Шифрування повідомлень і цифровий підпис. Після генерації пари ключів і обміну публічними ключами з вашими кореспондентами ви можете починати конфіденційне листування. Якщо ви використовуєте поштову програму, яка підтримує шифрування PGP, то процеси шифрування та дешифрування кореспонденції, а також перевірка достовірності відправника відбуваються майже автоматично. Програма тільки запитає у вас пароль вашого секретного ключа.

Завантажити наш публічний PGP-ключ для захисту кореспонденції

Ще по темі

Програма шифрування PGP

"Параноїк - це людина, яка дещо розуміє в тому, що відбувається"

Вільям Берроуз

Навіщо це потрібно?

Електронні повідомлення (E-mail, ICQ) легко можуть прочитати і скопіювати всі, хто має доступ до сервера інтернет-провайдера або до комп'ютерів, через які ці повідомлення проходять.

В результаті боротьби з тероризмом і відмиванням грошей у багатьох країнах, в тому числі і в Україні, були прийняті закони, які зобов'язують інтернет-провайдерів архівувати всю переписку своїх клієнтів В результаті боротьби з тероризмом і відмиванням грошей у багатьох країнах, в тому числі і в Україні, були прийняті закони, які зобов'язують інтернет-провайдерів архівувати всю переписку своїх клієнтів. Спецслужби великих держав регулярно сканують електронну пошту в пошуку підозрілих ключових слів і фраз. Ось лише кілька таких державних програм: міжнародна система ECHELON (США та інші), проект Carnivore (США), системи СОРМ і СОРМ-2 (Росія).

Агенти спецслужб або інші зацікавлені особи можуть не тільки перехопити будь-яке ваше повідомлення а й змінити його зміст, а потім відправити його так, як ніби з ним нічого не сталося. Зворотна адреса та службові заголовки листи легко підробляються і модифікуються. Науково-технічний прогрес полегшив завдання стеження за електронним листуванням, але цей же прогрес дозволяє цю переписку надійно захистити.

Відповідно, якщо ви є власником офшорної компанії або плануєте зареєструвати офшор , Вам слід приділяти особливу увагу захисту конфіденційності листування.

Як захиститися?

В Інтернеті можна знайти масу засобів захисту даних. Розібратися в цьому різноманітті нелегко. Ось кілька простих порад:

  1. Вибирайте програми, які існують як можна довше.
  2. Віддавайте перевагу програмам, вихідний код яких є відкритим (Open Source).
  3. Стійкість програми повинна грунтуватися на неможливості підібрати ключ, а не на таємності алгоритму шифрування.
  4. Намагайтеся знайти про програму якомога більше відгуків незацікавлених осіб.

Криптографія дуже консервативна. Нові засоби шифрування не зважають надійними доти, поки їх ретельно не розібрався "по кісточках" професійні криптоаналитики. Для цього їм повинен бути доступний вихідний код цих програм. Розробники комерційних програм цей код не публікують через побоювання, що конкуренти скористаються їхніми ідеями. Тому програми з закритим вихідним кодом не користуються довірою у фахівців. Небезпека застосування таких програм полягає в тому, що гіпотетично за закритим кодом розробниками може бути захований потайний "чорний хід" (backdoor) - можливість зламати шифр, навіть не знаючи пароля. Саме виходячи з цих міркувань набагато краще користуватися для цілей шифрування програмами з відкритим вихідним кодом.

Найпоширенішим засобом захисту інформації в останні роки стали програми реалізації стандарту шифрування PGP (Pretty Good Privacy) Найпоширенішим засобом захисту інформації в останні роки стали програми реалізації стандарту шифрування PGP (Pretty Good Privacy). Стійкість PGP базується на деяких фундаментальних невирішених математичних задачах.

Творець першої програми PGP, Філіп Циммерман, відкрито опублікував її код в 1991 році. З тих пір програму неодноразово досліджували криптоаналитики найвищого класу і жоден з них не знайшов в використовуваних методах шифрування слабких місць. При дотриманні простих правил зламати її практично неможливо.

Згодом даний проект був комерціалізовані. У 2010-му році корпорація Symantec викупила PGP у розробників за 300 млн. Доларів і з тих пір пропонує користувачам комерційні версії програми з розширеною функціональністю. Ми настійно не рекомендуємо використовувати комерційну версію PGP, оскільки її вихідний код, природно, вже закритий.

В якості альтернативи ще в 1999 році Фондом вільного програмного забезпечення була створена вільна реалізація шифрування PGP під назвою GnuPG . Дана програма має відкритий вихідний код і повністю сумісна з іншими версіями PGP. Проект GnuPG знаходиться в процесі розвитку і група розробників-ентузіастів до цього дня продовжує роботу над її удосконаленням.

Завантажити дистрибутив програми GnuPG можна за наступними посиланнями:

Принцип шифрування PGP

Шифрування PGP побудовано на принципі несиметричною криптографії. Коротенько це означає наступне. Повідомлення, зашифроване одним ключем, може бути розшифровано тільки іншим, взаємопов'язаним ключем. Ці два ключа утворюють пару - публічний і секретний. Така пара ключів є у кожного учасника листування. Головна перевага PGP полягає в тому, що для обміну зашифрованими повідомленнями користувачам немає необхідності передавати один одному таємні ключі.

Хоча ключ, яким шифрується текст повідомлення, доступний стороннім, з його допомогою це повідомлення розшифрувати неможливо. Цей ключ називається публічним. Користувачі можуть відкрито посилати один одному свої публічні ключі через Інтернет. При цьому ризику несанкціонованого доступу до їх конфіденційної листуванні не виникає.

Секретний ключ ретельно оберігається від сторонніх. За допомогою секретного ключа одержувач дешифрує повідомлення, які були зашифровані його публічним ключем. Але навіть отримавши секретний ключ, противник не зможе ним скористатися, не знаючи пароля.

Проілюструємо принцип роботи PGP

Є два співрозмовника, що бажають зберегти конфіденційність своєї переписки. Назвемо їх Аліса і Борис.

1. Обидва співрозмовники встановили програму і кожен з них згенерував по парі ключів - один публічний і один секретний.

2. Після чого Аліса і Борис по відкритому каналу обмінюються своїми публічними ключами. В результаті у кожного співрозмовника виходить наступний набір ключів:

3. Аліса пише повідомлення, зашифровує його публічним ключем Бориса і відправляє адресату. Борис отримує зашифроване повідомлення і відкриває його своїм секретним ключем:

4. Борис пише відповідь, зашифровує його публічним ключем Аліси і відправляє Алісі. Аліса отримує зашифрований відповідь і відкриває його своїм секретним ключем:

Що робить PGP?

Шифрування PGP вирішує три завдання конфіденційного обміну інформацією:

  1. Захищає текст повідомлень від сторонніх. Тобто прочитати повідомлення може тільки людина, у якого є секретний ключ і який знає пароль.
  2. Підтверджує одержувачу цілісність приходить повідомлення. Тобто дає впевненість в тому, що при передачі зміст повідомлення не змінилося.
  3. Підтверджує особу відправника. Вбудована в PGP електронний підпис однозначно ідентифікує відправника, оскільки тільки він має доступ до секретного ключа і знає пароль.

Як працює PGP?

Перш ніж зашифрувати повідомлення відправник визначає одержувача. Програма знаходить публічний ключ одержувача (для цього він повинен бути в файлі публічних ключів на комп'ютері відправника).

Перед шифруванням PGP стискає текст повідомлення. Це прискорює передачу і збільшує надійність шифрування. Потім генерується так званий сесійний (одноразовий) ключ, який являє собою довге випадкове число. За допомогою сесійного ключа шифрується текст повідомлення. Текст повідомлення шифрується за допомогою алгоритму симетричного шифрування. У цьому алгоритмі для шифрування і дешифрування використовується один ключ. Тому для дешифрування повідомлення одержувач теж повинен мати цей сесійний ключ. Однак відправляти цей ключ у відкритому вигляді небезпечно, тому він шифрується публічним ключем одержувача. Зашифрований сесійний ключ відправляється одержувачу разом із зашифрованим текстом. Необхідність використовувати симетричний алгоритм шифрування обумовлена ​​його високою швидкістю.

Розшифровка повідомлень відбувається в зворотній послідовності. На комп'ютері одержувача програма використовує його секретний ключ для розшифровки сесійного ключа. За допомогою цього ключа дешифрується текст повідомлення.

ключі

Ключ - це число, яке програма використовує для шифрування і дешифрування тексту. Розмір ключа вимірюється в бітах. Чим більше ключ, тим його складніше зламати (підібрати). Сьогодні в публічній криптографії свідомо стійкими вважаються ключі довжиною 2048 біта і більше.

Незважаючи на те, що публічний і секретний ключі пов'язані між собою, отримати закритий ключ маючи відкритий ключ, дуже складно. Це можливо якщо довжина ключа невелика і у супротивника є комп'ютери великої потужності. Тому важливо вибирати ключі великого розміру. З іншого боку, занадто довгий ключ уповільнює розшифровку повідомлень. Тому слід дотримуватися золотої середини. Цілком достатньо, якщо підбір буде займати кілька десятків або сотень років. На сучасному рівні розвитку комп'ютерних технологій ключі довжиною 2048 - 4096 біта зламати практично неможливо.

Ключі зберігаються на жорсткому диску Вашого комп'ютера у вигляді двох файлів: одного для публічних ключів, а іншого - для секретних. Ці файли називаються "зв'язками" ключів (Keyrings). Публічні ключі ваших кореспондентів будуть «чіплятися» на зв'язку публічних ключів. Ваші секретні ключі зберігаються в файлі секретних ключів. Зберігати його потрібно особливо ретельно. Втративши секретний ключ, ви не зможете розшифрувати адресовану вам інформацію, яка була зашифрована вашим публічним ключем.

Цифровий підпис

Цифровий підпис дозволяє одержувачеві упевнитися в особистості відправника повідомлення. Вона виконує ту ж саму функцію, що і звичайна підпис. Однак звичайну підпис можна підробити. Цифрову же підпис підробити практично неможливо.

Підтвердження цілісності повідомлення - хеш-функція

По дорозі від відправника до одержувача вміст повідомлення може бути змінено. У програмі передбачена перевірка цілісності повідомлення. Для цього використовується так звана хеш-функція. Це алгоритм перетворення тексту довільного розміру в деякий невеликий число. Таке перетворення абсолютно однозначно, тобто при будь-якій зміні даних, нехай навіть на один біт, результат хеш-функції теж зміниться.

Перед шифруванням повідомлення програма розраховує його хеш-функцію і шифрує її секретним ключем. Результат шифрування і є цифровим підписом. Цифровий підпис передається поштовою програмою разом з текстом. Програма на комп'ютері одержувача розшифровує хеш-функцію, після чого розраховує хеш-функцію тексту повідомлення. Якщо хеш-функція, отримана від відправника і розрахована на місці збігаються, то це означає, що повідомлення по шляху не змінювалося. Далі текст повідомлення дешифрується з допомогою секретного ключа одержувача.

Потім програма перевіряє який з публічних ключів підходить для розшифровки результату хеш-функції. Якщо це виявився ключ відправника, то одержувач може бути впевнений, що повідомлення підписав власник секретного ключа або людина, якій цей ключ і пароль стали доступні.

Витягти підпис з одного документа і вкласти в інший, або змінити зміст повідомлення так, щоб воно як і раніше відповідало цифрового підпису, неможливо. Будь-яка зміна підписаного документа відразу ж буде виявлено під час перевірки справжності підпису.

пароль

Шифрування PGP має ще одним рівнем захисту. Щоб скористатися секретним ключем недостатньо мати доступ до файлу секретних ключів. Для цього необхідно знати пароль.

У програмах реалізації PGP пароль називається "пральний фразою" (Passphrase), хоча вона може складатися і з одного слова. Однак пам'ятайте, що використання занадто коротких паролів значно збільшує ризик їх злому.

Існує три найбільш популярних методу злому пароля:

  1. Метод "словникової атаки" (Dictionary Attack) - послідовний перебір всіх слів мови в різних регістрах.
  2. Метод "грубої сили" (Brute Force) - послідовний перебір всіх можливих комбінацій всіх символів.
  3. Метод "гайкового ключа" (інші варіанти назви: метод "гумового шланга" (Rubber-hose Cryptanalysis), "терморектальний криптоаналіз", "бандитський криптоаналіз") - використання для злому пароля слабкішого ланки системи захисту інформації, яким є людський фактор. Застосовуючи цей метод, "криптоаналитик" вдається до погроз, тортур, шантажу, вимагання, хабарництва та інших некоректних заходів впливу на людину, яка знає пароль. Це можна проілюструвати карикатурою:

(Джерело карикатури: xkcd.com )

Опис заходів протидії методу "гайкового ключа" виходить за рамки даної статті. У цих питаннях вам можуть допомогти фахівці із забезпечення фізичної безпеки. А ось для боротьби з першими двома методами досить дотримуватися нескладних правил вибору пароля:

Не слід:

  • Використовувати слова, які можна зустріти в словнику будь-якого відомого мови.
  • Використовувати дати народження, прізвища та імена родичів, клички домашніх тварин та інші легко вгадуються набори символів.
  • Використовувати осмислені слова однієї мови, набрані в розкладці клавіатури для іншої мови.
  • Записувати пароль (особливо в особистих записниках або залишати його поблизу комп'ютера).

Бажано:

  • Вибирати довжину пароля більше 8 символів (якщо він складається з випадкового набору букв і цифр і розділових знаків).
  • При використанні в паролі осмислених слів збільшити її довжину до 16-20 символів. Слів при цьому має бути кілька.
  • При використанні осмислених слів робити в них помилки, вставляти знаки пунктуації, змінювати регістр.

Пароль необхідно запам'ятати. Якщо ви його забудете, то вже ніколи не зможете відновити інформацію зашифровану цим ключем. Без знання пароля ваш секретний ключ абсолютно даремний.

Існує один дуже непоганий метод генерування і запам'ятовування довгих складних паролів: ми беремо будь завчене напам'ять вірш (або слова популярної пісні) і в якості пароля використовуємо перші літери кожного слова, набрані в англійській розкладці клавіатури.

Для прикладу візьмемо уривок з вірша Еміля Верхарна "Меч":

З насмішкою над моєю гордістю безплідною
Мені хтось передбачив, що тримав меч в руці:
Нікчемність, з душею пустою і холодної,
Ти будеш минуле оплакувати в тузі.

Тепер перемикаємо розкладку клавіатури на англійську мову і, повторюючи про себе завчене вірш, набираємо перші літери кожного слова (дивлячись при цьому на російські літери клавіатури):

сннмгбмнпдмврнсдпіхтбповт

У підсумку нашим паролем буде наступна набрана послідовність символів:

cyyvu, vyglvdhyclgb [n, gjdn

Як бачимо, пароль вийшов досить довгим і дуже складним. А ось запам'ятати його не складе особливих труднощів. Від вас тільки потрібно не забути яке саме вірш (або пісня) лежить в основі вашого пароля.

Як почати використовувати PGP

  1. Встановіть програму на свій комп'ютер. Як правило, її установка утруднень не викликає.
  2. Створіть секретний і публічний ключі.
  3. Розішліть свій публічний ключ своїм кореспондентам і отримаєте їх публічні ключі. За замовчуванням після генерації ключів програма пропонує відправити свій публічний ключ на сервер ключів. Зробіть це. Ваш публічний ключ стане доступним всім бажаючим.
  4. Внесіть ключі своїх кореспондентів в файл публічних ключів. Для цього досить двічі кликнути мишею по файлу ключа. Програма сама запропонує імпортувати цей ключ.
  5. Переконайтеся в достовірності публічних ключів ваших кореспондентів. Для цього зв'яжіться з кореспондентом і попросіть його прочитати вам по телефону так званий "Відбиток" (Fingerprint) - унікальний ідентифікаційний номер його публічного ключа. Повідомте йому також відбиток свого публічного ключа. Як тільки ви переконаєтеся в тому, що ключ дійсно належить йому, ви можете помітити його як довірений. Підтвердити справжність публічного ключа також може третя особа, якій довіряє кожен з кореспондентів.
  6. Шифрування повідомлень і цифровий підпис. Після генерації пари ключів і обміну публічними ключами з вашими кореспондентами ви можете починати конфіденційне листування. Якщо ви використовуєте поштову програму, яка підтримує шифрування PGP, то процеси шифрування та дешифрування кореспонденції, а також перевірка достовірності відправника відбуваються майже автоматично. Програма тільки запитає у вас пароль вашого секретного ключа.

Завантажити наш публічний PGP-ключ для захисту кореспонденції

Ще по темі

Як захиститися?
Як працює PGP?
Як захиститися?
Як працює PGP?
Як захиститися?
Як працює PGP?
Як захиститися?
Як працює PGP?
Як захиститися?
Як працює PGP?