Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Всеволод Стахов
Электронная почта – это одно из самых популярных средств общения в Cети. Но при всей её привлекательности в обычной схеме – это довольно небезопасная система. Единственной защитой (да и то сомнительной) являются пароли для почтовых ящиков, но почтовые сообщения могут просто подменить или послать от вашего имени. Содержимое сообщений никак не шифруется и может быть прочитано всеми, кто имеет доступ к каналу передачи данного сообщения. Но с недавнего времени электронная почта практически достигла того же уровня, что и бумажная. Электронные сообщения можно подписывать, исключая возможность их изменения. Причём подделать электронную цифровую подпись намного сложнее технически, чем рукописную. В России (и во многих других странах) был даже принят закон, по которому электронная подпись приравнивается к рукописной (хотя в данных законах обязательно оговорён алгоритм подписи, что немного неудобно). Алгоритмы асимметрического шифрования позволяют также не только подписывать сообщения, но и зашифровывать их от постороннего взора. При этом обмен ключами упрощён до минимума: намного удобнее обменяться публичными ключами через Сеть (правда публичный ключ, передаваемый через сеть, должен быть подписан либо комплементарным секретным ключом, либо неким доверенным ключом сторонней организации, но об этом далее), чем париться с симметрическим ключом и передавать его на дискетке, которую потом долго и упорно форматировать. Хотя асимметрическое шифрование медленнее, оно увеличивает размер данных, но если другой человек живёт в какой-нибудь папуасии, а вы – в каком-нибудь Мурманске, то обмен публичными ключами – единственное решение для безопасной переписки. Кроме этого, чем больше людей знает ваш публичный ключ, тем лучше, так как они уже смогут проверять подписанные вами сообщения. Для подтверждения получения именно того публичного ключа, который был отослан, можно использовать метод проверки хешей. Его идея такова: после получения публичного ключа через Сеть, вы звоните отправителю и просите его продиктовать вам его публичный ключ (4096 бит), дружно идёте в известное место и вспоминаете о хешах. Можно просто узнать у него 32-х битный хеш и сравнить с тем, что было получено. Так как у двух разных ключей не может быть одинаковых хешей, можете быть смело уверены, что ключ получен правильный. Такая схема не оставляет никаких шансов злоумышленнику (кроме брутфорса или физического на вас нападения с применением пыток), но несколько проблематична, поэтому используется только в крайних случаях. Итак, хватит теории и перейдём к практике. Я расскажу в данной статье о почтовом клиенте The Bat, системе защиты данных PGP и GnuPG, а также о сертификатах S/MIME.
Начнём с The Bat. Данный почтовый клиент имеет отличные возможности по защите вашей корреспонденции. Во-первых, The Bat поддерживает различные средства, позволяющие не передавать пароль почтового ящика в открытом виде, а передавать его MD5 хеш или производить аутентификацию средствами NTLM (для Windows NT серверов), но, к сожалению, безопасная аутентификация POP и SMTP поддерживается далеко не всеми серверами, да и сами сообщения передаются в открытом виде. Поэтому для защиты сообщений используются механизмы PGP и S/MIME. Первый из них – PGP (pretty good privacy) – служит для подписывания или шифрования почтовых сообщений (вложения не шифруются и не подписываются, для этого существует S/MIME). Данный механизм просто добавляет текстовую ЭЦП в тело сообщения. После этого модификация письма приводит к тому, что подпись становится невалидной (как я уже говорил, подпись – это хеш-функция, и невозможно подобрать два письма с одинаковым хешем (в идеале)). Шифрование сообщения осуществляется на основании генерируемого случайным образом и зашифрованного публичным ключом получателя симметрического ключа, что не очень увеличивает размер письма, особенно если используется сжатие сообщения. Фактически, при шифровании письма размером в 500 байт получилось сообщение в ~800 байт, а при шифровании письма в 24101 байт – 11270 байт (вот что сжатие животворящее делает)! Из недостатков PGP я заметил лишь один: не умеет оно шифровать и/или подписывать вложения (хотя это тоже легко лечится). Но есть ещё один недостаток PGP – его небесплатность и то, что различные его версии рассчитаны для определённых стран (это связано с законами об ЭЦП, как я уже говорил). Но Bat имеет встроенный алгоритм PGP, соответствующий rfc-1991, и что самое примечательное, он умеет генерировать пары ключей встроенным алгоритмом. Встроенное PGP использует алгоритм IDEA (128 бит) для симметрического шифрования сообщений и MD5 для составления ЭЦП. И что ещё я бы хотел отметить до перехода к непосредственно описанию всего вышесказанного, это что The Bat умеет работать со многими версиями PGP, включая GnuPG(!), которые должны быть установлены, как внешние модули; для выбора версии PGP зайдите в меню «Инструменты –> OpenPGP –> Выбор версии PGP». Теперь я бы хотел подробно описать процесс работы с ключами PGP (для встроенной версии PGP):