В современных программах часто используется стандарт OpenPGP. Одна из его реализаций, GnuPG, предоставляет инструменты для работы с ключами, шифрования и подписания файлов.
Как работают ключи
У пользователя есть два связанных ключа:
Публичный ключ можно передавать другим. Он нужен для шифрования сообщений получателю и проверки его подписей.
Закрытый ключ необходимо хранить в секрете. Он позволяет расшифровывать полученные сообщения и создавать подписи.
Пример: Анна передаёт Борису публичный ключ. Борис шифрует для неё сообщение. Прочитать его Анна сможет своим закрытым ключом. Публичного ключа для расшифровки недостаточно.
Зачем проверять отпечаток
Имя и адрес почты в ключе сами по себе не доказывают, кому он принадлежит. Злоумышленник может создать другой ключ с такими же данными.
Для проверки используют отпечаток, последовательность символов, идентифицирующую ключ. Его сверяют с владельцем через независимый доверенный канал. Проверка подписи имеет смысл только тогда, когда проверен сам ключ.
Что делать после создания ключей
Защитите закрытый ключ парольной фразой и сделайте его защищённую резервную копию. Отдельно сохраните сертификат отзыва.
В GnuPG при стандартной генерации ключа сертификат отзыва создаётся автоматически. Он позволяет сообщить другим, что ключ больше нельзя считать действующим, например после компрометации.
Отзыв не возвращает украденный ключ и не отменяет уже произошедшую утечку. Поэтому защита резервных копий остаётся важной частью работы с PGP.
Чего подпись не доказывает
Корректная подпись подтверждает связь данных с соответствующим закрытым ключом. Она не гарантирует, что содержание сообщения правдиво, а его автор заслуживает доверия.
Подписанное сообщение также не обязательно зашифровано: текст может быть полностью открытым.
Источники: руководство GnuPG, управление ключами OpenPGP.

Комментарии