PGP с момента его создания становится все более популярным и представляет собой наиболее важный инструмент шифрования, доступный сегодня частным лицам.
* * *
БЕЗОПАСНОСТЬ ДЛЯ ВСЕХ
Филипп Циммерман, родившийся в 1954 г., американский физик и инженер-программист, стоявший у истоков движения, которое стремится сделать современную криптографию доступной для всех. Кроме разработки системы PGP он в 2006 г. создал Zfone — программу для безопасной голосовой связи через Интернет. Он является президентом альянса OpenPGP, выступающего за открытое программное обеспечение.
Проверка подлинности сообщений и ключей
Различные системы шифрования с открытым ключом — или сочетающие открытые и закрытые ключи, как, например, PGP — обеспечивают высокий уровень конфиденциальности при передаче информации. Тем не менее, безопасность сложных систем связи, таких как интернет, заключается не только в конфиденциальности.
До появления современных коммуникационных технологий подавляющее большинство сообщений приходило от известных адресатов: от членов семьи, от друзей или от партнеров по бизнесу. Сегодня, однако, на каждого человека обрушивается лавина сообщений из множества источников. Подлинность этих сообщений часто невозможно определить исходя лишь из их содержания, со всеми вытекающими проблемами. Например, как мы можем предотвратить фальсификацию адреса электронной почты отправителя?
Диффи и Хеллман сами предложили гениальный способ использования шифрования с открытым ключом для проверки подлинности сообщения. В криптографических системах такого типа отправитель шифрует сообщение с помощью открытого ключа получателя, который в свою очередь использует свой закрытый ключ для расшифровки сообщения. Диффи и Хеллман заметили, что RSA и другие подобные алгоритмы обладают интересной симметрией. Закрытый ключ также можно использовать для шифрования сообщения, а открытый — для расшифровки. Этот подход не усиливает безопасность — ведь открытый ключ доступен для всех — зато получатель может убедиться, что сообщение пришло от определенного отправителя, владельца закрытого ключа. Чтобы проверить подлинность отправителя сообщения, теоретически достаточно добавить к нормальному шифрованию дополнительные шаги.
1. Отправитель шифрует сообщение с помощью открытого ключа получателя. Этот первый шаг гарантирует конфиденциальность.
2. Отправитель снова шифрует сообщение, на этот раз с помощью своего закрытого ключа. Таким образом удостоверяется подлинность сообщения, оно «подписано».
3. Получатель использует открытый ключ отправителя, чтобы расшифровать шифр шага 2. Таким образом проверяется подлинность сообщения.
4. Получатель теперь использует свой закрытый ключ, чтобы расшифровать шифр шага 1.
Хеш-функции
Одна из проблем теоретического процесса, о котором говорилось выше, заключается в том, что шифрование открытым ключом требует значительной вычислительной мощности и времени, и повторять этот процесс для подписания и проверки каждого сообщения было бы чрезвычайно невыгодно. Именно поэтому на практике подписание сообщения осуществляется с помощью математических ресурсов, называемых хеш-функциями. Для каждого оригинального сообщения эти функции генерируют простую цепочку битов (обычно 160), называемых хешем или хеш-кодом. Алгоритм работает таким образом, что вероятность того, что различные сообщения получат один и тот же хеш-код, почти равна нулю. Кроме того, практически невозможно обратить процесс и получить исходное сообщение, имея только хеш-код. Хеш каждого сообщения отправитель шифрует своим закрытым ключом и отправляет вместе с зашифрованным обычным образом исходным сообщением. Получатель расшифровывает с помощью открытого ключа отправителя ту часть сообщения, которая содержит хеш. Далее, определив таким образом хеш-код отправителя, получатель применяет хеш-функцию к полученному основному сообщению и сравнивает два хеша. Если они совпадают, личность отправителя подтверждается, и, кроме того, получатель теперь уверен, что никто не изменил исходное сообщение.
Небольшие различия в содержании сообщения приводят к совершенно разным хеш-кодам. Таким образом, получатель может быть уверен, что текст не был изменен.
Читать дальше