Що таке GnuPG і навіщо воно потрібно

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

Навіщо потрібні два ключі?

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

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

Навіщо потрібні відбитки (fingerprint) ключів?

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

Навіщо потрібні підписи GnuPG?

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

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

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

Навіщо потрібні підключі?

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

Навіщо відкликати ключі?

Яке типи шифрування підтримує GnuPG?

GnuPG підтримує два типи шифрування:

  • асиметричне - шифрується публічним ключем і розшифровується приватним;
  • симетричне - шифрується і розшифровується публічним ключем, або шифрується і розшифровується парольною фразою.

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

Як було сказано вище, можна одночасно і шифрувати, і підписувати та шифрувати більше ніж одним ключем, поєднувати кілька варіантів шифрування одночасно (наприклад, симетрично шифрувати публічним ключем та паролем і для розшифровки на вибір можна використовувати публічний ключ або пароль).

Навіщо потрібні апаратні носії для ключів GnuPG?

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

08.12.2021
Tags: gpg