Самым эффективным способом защиты писем электронной почты от перехвата специалисты по безопасности компьютерных сетей признают их кодирование на основе «сильных» криптографических алгоритмов. Такое кодирование и формирование электронной подписи делают невозможным изменение письма и позволяют легко обнаруживать поддельные письма. Существует большое число алгоритмов и протоколов шифрования. Среди алгоритмов симметричной криптографии, которых великое множество, можно упомянуть RC4, RC5, CAST, DES, AES и т.д. Оптимальная длина ключей шифрования для этих алгоритмов — 128 разрядов. Что касается асимметричного шифрования, то тут в основном используются алгоритмы RSA, Diffie-Hellman и El-Gamal, при этом длина ключей шифрования обычно составляет 2048 разрядов. По оценкам исследовательских компаний, во всем мире лишь около 1% пользователей публичных почтовых систем использовали кодирование на основе криптографии, а среди пользователей корпоративных почтовых систем таких не более 10-15%.
В чем причина? Прежде всего, в сложности использования средств кодирования, как правило, внешними по отношению к программному обеспечению электронной почты. Даже пакеты на основе стандарта OpenPGP, наиболее популярные средства кодирования электронной переписки, достаточно простые в использовании и не вызывающие затруднений, требуют дополнительных навыков и действий. Кроме того, и эта причина представляется более существенной, открытые ключи распределены между участниками переписки, что не может быть решением для широких кругов пользователей. Возможно два концептуальных типа кодирования электронной почты.
1. Частичное кодирование. Примером системы с частичным кодированием передаваемых данных является популярный почтовый клиент Eudora (вместе с дополнительным модулем, выпущенным в 2001 году), который обеспечивает передачу закодированных писем на двух участках маршрута письма: от отправителя до ближайшего почтового сервера и от получателя до ближайшего почтового сервера. Из российских систем к этому классу относятся Hotbox и Zmail, которые осуществляют защиту переписки на основе SSL.
2. Полное кодирование. Полное или сквозное (end-to-end) кодирование заключается в том, что кодирование электронного письма выполняется на компьютер отправителя и раскодирование только на компьютере получателя, а его пересылка по Сети, включая хранение на промежуточных серверах, происходит в закодированном виде.
Основная сложность применения такого рода систем связана с необходимостью создания и сопровождения PKI (Personal Key Infrastructure) — инфраструктуры распределения, хранения и защиты ключей участников электронной переписки.
В последние годы разработано несколько систем электронной почты, в которых с учетом ряда нескольких допущений проблема развертывания PKI для пользователей решена. Во-первых, предполагается, что все участники данной системы электронной почты могут писать друг другу, во-вторых, процедура генерация секретного ключа происходит на основе пароля пользователя. Эти допущения позволили полностью автоматизировать всю работу с открытыми и секретными ключами. Нет необходимости распределять по пользователям открытые ключи: они могут храниться на открытом сервере и доступ к ним может происходить по имени пользователя. Пользователи в явном виде не работают с ключами, а выполняют только типичные операции обработки писем.
Примером такой системы является служба защищенной электронной Web-почты S-Mail.com, в которой защита данных на основе «сильных» криптоалгоритмов (для кодирования данных используется PGP с ключом RSA длиной 2048 байт; в протоколе SSL используется ключ длиной в 1024 байт) реализована изначально. Реализованы меры для предотвращения опасностей, связанных с использованием HTML для написания писем.