Шифрование почты в Outlook. Лучшие бесплатные программы шифрования электронной почты

13.09.2019

Кафедра физиологии человека и животных

Пигалёва Мария, группа 173Б

Поиск в Google

Ключевые слова:

ШИФРОВАНИЕ ПИСЕМ ЭЛЕКТРОННОЙ ПОЧТЫ

http://ru. wikipedia. org/wiki/Email

Электро́нная по́чта (англ. email, e-mail, от англ. electronic mail) - технология и предоставляемые ею услуги по пересылке и получению электронных сообщений (называемых «письма» или «электронные письма») по распределённой (в том числе глобальной) компьютерной сети.

Основным отличием (и достоинством е-майл) от прочих систем передачи сообщений (например, служб мгновенных сообщений) ранее являлась возможность отложенной доставки сообщения, а также развитая (и запутанная, из-за длительного времени развития) система взаимодействия между независимыми почтовыми серверами (отказ одного сервера не приводил к неработоспособности всей системы).

В настоящее время любой начинающий пользователь может завести свой бесплатный электронный почтовый ящик, достаточно зарегистрироваться на одном из интернет порталов (см. сервисы).

http://www. /security/03_01_26_Java_Crypto/Java_Crypto. html

Шифрование почты

Для шифрования почты в настоящий момент широко применяются два стандарта: S/MIME (использующий инфраструктуру открытых ключей) и Open PGP (использующий сертификаты со схемой доверия, группирующегося вокруг пользователя).

Ранее также существовали стандарты MOSS и PEM, но, из-за несовместимости друг с другом и неудобства использования, они не прижились.

Стандарты S/MIME и Open PGP позволяют обеспечить три вида защиты: защиту от изменения, неотзывную подпись и конфиденциальность (шифрование). Дополнительно, S/MIME третьей версии позволяет использовать защищённое квитирование (при котором квитанция о получении письма может быть сгенерирована успешно только в том случае, когда письмо дошло до получателя в неизменном виде).

Оба стандарта используют симметричные криптоалгоритмы для шифрования тела письма, а симметричный ключ шифруют с использованием открытого ключа получателя. Если письмо адресуется группе лиц, то симметричный ключ шифруется по-очереди каждым из открытых ключей получателей (и иногда, для удобства, открытым ключом отправителя, чтобы он имел возможность прочитать отправленное им письмо).

Криптографические методы защиты в языках программирования

Виктор Рудометов

Основные проблемы и способы их решения

По мере перехода от эпохи индустриальной цивилизации к преимущественно информационной роль накопленных и соответствующим образом обработанных знаний заметно возрастает. Появление же и стремительное развитие компьютерных сетей обеспечило эффективные способы передачи данных и быстрый доступ к информации как для отдельных людей, так и для больших организаций. Однако локальные и глобальные компьютерные сети, впрочем, как и другие способы передачи информации, могут представлять угрозу для безопасности данных, особенно при отсутствии адекватных мер их защиты от несанкционированного доступа.

Таким образом, сейчас, по мере становления информационного общества средства защиты становятся одними из основных инструментов. Они обеспечивают конфиденциальность, секретность, доверие, авторизацию , электронные платежи, корпоративную безопасность и бесчисленное множество других важных атрибутов современной жизни.

В связи с этим наличие встроенных механизмов защиты информации и эффективность их работы в прикладных системах все чаще приобретает определяющее значение при выборе потребителями оптимального решения. Поэтому данным вопросам уже давно уделяют внимание разработчики программных средств. Должный уровень защиты могут обеспечить криптографические методы.

Математическая криптография возникла как наука о шифровании - наука о криптосистемах. В классической модели системы секретной связи имеются два участника, которым необходимо передать секретную (конфиденциальную) информацию, не предназначенную для третьих лиц. Данная задача об обеспечении конфиденциальности, защиты секретной информации от внешнего противника, является одной из первых задач криптографии.

Существует несколько подходов к решению поставленной задачи.

Во-первых, можно попытаться создать абсолютно надежный и недоступный другим канал связи. К сожалению, достичь этого крайне сложно, по крайней мере, на существующем уровне современного развития науки и техники, которые предоставляют методы и средства не только передачи информации, но и несанкционированного к ней доступа.

Вторым подходом является использование общедоступных каналов связи и скрытие самого факта передачи какой-либо информации. Данным направлением занимается наука стенография. К сожалению, методы стенографии не могут гарантировать высокий уровень конфиденциальности информации.

Третий способ - это использовать общедоступный канал связи, но передавать данные в преобразованном виде, так чтобы восстановить их мог лишь адресат . Разработкой методов преобразования информации, обеспечивающей ее шифрование, и занимается криптография.

Со временем область применения криптографии расширилась и ушла далеко вперед от своей начальной цели. В качестве иллюстрации этого положения можно рассмотреть следующий пример. Допустим, клиент банка намерен переслать деньги со своего счета на счет какой-либо организации. Здесь следует отметить, что не вся передаваемая информация является конфиденциальной. Действительно, необходимо переслать лишь банковские реквизиты, которые общеизвестны и общедоступны. Однако банку важно убедиться, что деньги хочет перевести именно их обладатель, а не злоумышленник. Клиент же заинтересован в том, чтобы сумма не была изменена, и никто не смог бы переслать деньги от его имени или поменять информацию о получателе денег.

Стоит отметить, что криптосистема работает по определенной методологии (процедуре).

Эта методология предусматривает использование:

· одного или более алгоритмов шифрования, которые можно выразить в виде математических формул;

· ключей, используемых данными алгоритмами шифрования,

· системы управления ключами,

· незашифрованного текста,

· зашифрованного текста (шифртекста).

Пример схемы методологии шифрования с использованием ключей представлен на рис. 1.

Рис. 1. Пример схемы шифрования.

Классификация криптографических алгоритмов

Существуют две методологии с использованием ключей: симметричная, предусматривающая применение секретного ключа, и асимметричная - с открытым ключом. Каждая методология использует свои собственные процедуры, способы распределения ключей, их типы и алгоритмы шифрования и расшифровки.

В симметричной (symmetric) методологии с секретным ключом используется один ключ, с помощью которого производится как шифрование, так и расшифровка одним и тем же алгоритмом симметричного шифрования. Этот ключ передается двум участникам взаимодействия безопасным образом до передачи зашифрованных данных. Проблемой является тот факт, что безопасно распространять секретные ключи довольно трудно. К достоинствам данной системы можно отнести сравнительно большое быстродействие при шифровании и расшифровке передаваемых сообщений.

Примером постоянного использования симметричной методологии является сеть банкоматов ATM. Эти системы являются оригинальными разработками владеющих ими банков и не продаются.

В асимметричной (asymmetric) методологии с открытым ключом используются два взаимосвязанных ключа. Один из ключей хранится в секрете, а другой публикуется в открытых источниках. Данные, зашифрованные одним ключом, могут быть расшифрованы только другим ключом. Один из важнейших недостатков - это необходимость использования очень больших по размеру ключей для обеспечения безопасности, что, несомненно, отражается на скорости работы алгоритмов шифрования.

Часто обе методологии комбинируются. Например, генерируется симметричный (секретный) ключ, который передается с помощью алгоритмов асимметричной методологии.

К распространенным алгоритмам симметричной методологии можно отнести DES (Data Encryption Standard), 3-DES, RC2, RC4 и RC5. Примером же асимметричной являются RSA и ECC. И отдельную позицию занимает один из наиболее популярных алгоритмов цифровой подписи DSA (Digital Signature Algorithm).

Актуальность проблемы сохранения целостности или конфиденциальности информации была очевидна во все времена. Но особенно остро она проявилась с развитием информационных технологий , в частности, глобальной сети Интернет. Эта сеть обеспечивает удобный, оперативный способ связи. Использование же специальных средств обеспечивает необходимые уровни конфиденциальности. При этом в современной жизни пользователю компьютера нередко приходится встречаться с такими сложнейшими алгоритмами, как RSA или DSA. В результате уже почти ни у кого не вызывает удивления возможность использования цифровой подписи или даже шифрование писем электронной почты E-mail (рис. 2).

Асимметричная криптография в Perl

Довольно популярный Интернет-направленный язык Perl также имеет встроенные средства обеспечения защиты.

Для примера рассмотрим использование криптографического алгоритма шифрования RSA.

Алгоритм RSA

Задача, которую решает RSA, это передача секретной информации таким образом, чтобы прочитать ее смог лишь адресат.

Суть метода заключается в следующем.

Потенциальным получателем шифрованного сообщения выполняются следующие действия:

· генерируются два больших простых числа (например, 1024 бит, 308 знаков) - p и q ;

· подсчитывается их произведение n = pq ;

· выбирается случайное число e , которое взаимно просто с числом (p‑1)(q‑1) , а также не превосходит его;

· подсчитывается величина d такая, что ed = 1 mod (p‑1)(q‑1) .

· пара (n, e) становится открытым ключом (public key ), а d - закрытым ключом (private key ).

Открытый ключ публикуется в открытых источниках, например, пересылается через электронную почту.

Отправителю шифрованного сообщения для работы необходимо выполнить следующие действия:

· получить открытый ключ;

· создать сообщение в числовом виде m , не превосходящем n ;

· с и есть зашифрованное сообщение, которое отправляется создателю открытого ключа.

Получатель закодированного сообщения вычисляет m = (cd) mod n и получает сообщение в расшифрованном виде.

Стойкость алгоритма RSA обеспечивается благодаря тому, что злоумышленнику необходимо получить число d , которое можно вычислить, факторизовав число n . Однако на данный момент не существует быстрых алгоритмов, решающих задачу факторизации больших чисел.

Основные методы работы с RSA

В языке Perl вся криптография поставляется через модули CPAN. Реализация RSA находится в пакете Crypt::RSA.

Генерация 2048-битовых ключей:

$rsa = new Crypt::RSA;

$public, $private) = $rsa->keygen(Size => 2048)

Открытый ключ публикуется.

Шифрование данных (строка $message ) с использованием открытого ключа:

my $c = $rsa->encrypt(Message => $message, Key => $public);

В результате получается шифрованное сообщение $c , которое отправляется обратно адресату. Получатель использует для расшифровки ранее сгенерированный закрытый ключ $private ,:

$message = $rsa->decrypt(Ciphertext => $c, Key => $private);

Кроме представленных строк исходного текста на языке Perl, стоит отметить и некоторые дополнительные особенности пакета.

Для отправки защищенных сообщений информация должна быть представлена в виде одного или нескольких чисел, значения которых не превосходят n . При этом каждому сообщению соответствует определенное число и наоборот. Средства языка Perl позволяют дробить сообщение на последовательность таких чисел, а также в дальнейшем соединять их обратно в текст.

К сожалению, в системе RSA есть одна важная особенность, снижающая степень защищенности. Если злоумышленник может заставить отправителя закодировать уже известное ему сообщение, то величины p и q могут быть подсчитаны без факторизации n . Однако с этим можно успешно бороться, перегружая исходное сообщение “мусором” (padding). Со временем для этой операции был разработан стандарт PKCS #1. Crypt::RSA реализует не только PKCS #1, но и более современный OAEP, который использует padding по умолчанию. При использовании PKCS #1 необходимо передать соответствующий параметр конструктору.

$rsa = new Crypt::RSA (ES => "PKCS1v15)

http://*****/article/a-72.html

Если вас волнует конфиденциальность вашей переписки, то следующая часть статьи специально для вас.

Для обеспечения безопасности передаваемых данных придумано множество алгоритмов шифрования. Каждый из них по-своему хорош. Обеспечить безопасность переписки можно двумя способами:
1. Использовать шифрованный канал связи с почтовым сервером.
2. Зашифровать само сообщение.

Установление шифрованного соединения выглядит простейшим решением - достаточно поставить соответствующую галочку в настройках клиента:
Инструменты - Параметры учетной записи...

Параметры сервера - Использовать защищенное соединение:

В таком случае дальнейшая судьба нашего письма будет в руках почтового сервера: может статься, что он не поддерживает защищенное соединение. Кроме того, есть еще сервер получателя. Поэтому лучше зашифровать само сообщение.

Для шифрования почты традиционно используют PGP-шифрование. PGP (Pretty Good Privacy) представляет собой прикладную криптосистему. Данная криптосистема разрабатывалась специально для защиты электронной почты от посторонних. Представляет собой асимметричный алгоритм шифрования. Суть действия такова: каждый пользователь имеет два ключа - открытый и секретный. Открытый ключ вы отдаете (посылаете почтой, размещаете на сайте) тому, с кем будете переписываться. Данный ключ не представляет секрета - он нужен для того, чтобы ваш собеседник мог зашифровать письмо, которое хочет отправить вам. После того, как письмо будет зашифровано, расшифровать его сможет только обладатель секретного ключа. То есть вы. Таким же образом вы получаете открытый ключ своего друга для того, чтобы шифровать письма, отправляемые ему.
Сама идея асимметричного шифрования не нова, но в контексте шифрования почты это было внедрено в 1991 году. В последствии, идея так понравилась общественности, что был разработан соответствующий открытый стандарт OpenPGP. Появление стандарта привело к тому, что множество реализаций PGP-шифрования полностью совместимы между собой, независимо от того, является ли данная конкретная реализация коммерческой или свободной и общедоступной.

Для того, чтобы использовать PGP в Thunderbird, нам потребуется программа, которая будет генерировать ключи, а также шифровать и расшифровывать письма. Для этого как нельзя лучше подходит программа GNU Privacy Guard (GnuPG или GPG). Скачать ее можно непосредственно с сайта проекта:

http://www. gnupg. org/

И тут дорожки Windows и Linux расходятся. Рассматривая Linux, следует упомянуть, что GnuPG присутствует во многих дистрибутивах по умолчанию. Если же в вашем дистрибутиве GnuPG нет, то скачать инсталляционный пакет можно с фтп-сервера проекта:

ftp://ftp. gnupg. org

Кроме того, можно воспользоваться менеджером пакетов:

Для управления пакетами традиционно используется Synaptic Package Manager. В строке поиска вводим "gnupg", отмечаем пакет для установки и нажимаем "Apply".

В случае с Windows дистрибутив качаем с того же фтп сервера:

ftp://ftp. gnupg. org/

Размер - около 2.1 МБ.

Инсталлятор самый обычный:

В следующем окне можно ознакомиться с классической лицензией, сопутствующей всем свободным открытым программам:

Процедура установки тривиальна - кликаем "Next", пока программа не установится. Эта же программа используется для обеспечения шифрования не только в Thunderbird, но и в других почтовых клиентах, например, в The Bat.

На этом разница между операционными системами заканчивается и можно снова наслаждаться истинной кроссплатформенностью.
Следующим шагом будет установка дополнения для работы с только что установленным GnuPG. Дополнение называется "Enigmail". Скачать его можно по адресу:

http://enigmail. mozdev. org/download/index. php

Дополнение представляет собой. xpi файл. Размер около мегабайта. После этого выбираем строку "Дополнения" из меню "Инструменты":

А затем устанавливаем само дополнение, кликнув кнопку "Установить" и выбрав файл дополнения:

Если все сделано правильно, то в строке основного меню появится пункт "OpenPGP". Находим там "Настройки":

И указываем путь, по которому установлена GnuPG. Если вы соблюдали описанную выше последовательность действий, то система сама определит, расположение программы:

Вот и завершена предварительная подготовка. Можно переходить к созданию ключей. Идем в "OpenPGP" - "Управление ключами":

И начинаем таинство генерации своей первой пары ключей:

Настройки выбираем, как показано на скриншоте:

Тут пароль - это не тот пароль, который вы используете для доступа к почте, а просто фраза, которая будет использоваться при расшифровке. Указывать его не обязательно. Впрочем, если к вашему компьютеру имеет доступ еще кто-то, то можно и указать.
В меню "Дополнительно" выбираем длину ключа и алгоритм шифрования:

Кликаем "Создать ключ". Во время генерации можно и даже нужно не просто смотреть на индикатор прогресса, а еще и двигать мышкой и набирать что-то на клавиатуре. Для генерации ключа используются различные генераторы случайных чисел, а они зависят от того, что происходит в данный момент. Таким образом чем больше действий производится на компьютере в момент генерации, тем случайней будет наш ключ и тем сложнее его будет взломать. Это можно сравнить с тем, что подобрать пароль "" проще, чем "eR4_a#y0", несмотря на то, что первый длиннее.

Генерация ключа заканчивается сообщением, что все прошло хорошо:

Сразу же можно создать сертификат отзыва ключа. Он пригодится, чтобы сообщить всем, что ваш секретный ключ утерян, потерял актуальность или похищен.

После этого в окне управления ключами появится ваш ключ:

Теперь нужно разослать его всем, с кем вы собрались секретно переписываться. Создаем новое письмо и присоединяем к нему открытый ключ:

В ответ нам присылают свой открытый ключ, который мы импортируем в базу:

После импорта ключа идем снова в управление ключами и устанавливаем уровень доверия ключу:

Вот и все. Можно смело передавать самую секретную информацию:

Если ваше письмо перехватят, то злоумышленнику придется потратить много (в случае с 204во что-то, что можно прочитать. Зато тот, кому вы пишите, не почувствует никаких затруднений:8 битным ключем - ОЧЕНЬ МНОГО) лет для того, чтобы превратить это:

Коммерческая тайна" href="/text/category/kommercheskaya_tajna/" rel="bookmark">коммерческие тайны , то вы будете знать, как это делается, и во всеоружии встретите угрозу перехвата важной информации конкурентами.

Криптографические сервисы для электронной почты разработаны давно, но и спустя 25 лет после появления PGP они не особенно востребованы. Причина в том, что они базируются на устаревшей инфраструктуре передачи сообщений, вынуждены использовать недоверенную среду (в том числе произвольный набор почтовых серверов), имеют ограниченную совместимость, растущую массу известных недостатков, да и просто сложны для рядового пользователя. Ты-то легко разберешься в премудростях криптографии, а вот твой вечно занятой начальник однажды запутается в двух ключах и выложит секретный на сервер, разом спалив всю вашу переписку. Виноватым, конечно, назначат тебя.

Сама концепция шифрования почты разделяется на множество прикладных задач, из которых можно выделить две основные: это защита от посторонних глаз уже принятых и подготовленных к отправке писем (почтовой базы данных) и защита писем непосредственно при их пересылке - от разглашения или модификации текста при его перехвате.

Иными словами, в криптографической защите почты сочетаются методы противодействия НСД и атаке посредника, имеющие принципиально разные решения. К сожалению, их часто путают и пытаются использовать не самые подходящие методы. Я предлагаю тебе небольшой рассказ о двух известных криптографических персонажах, который должен расставить все по своим местам и наглядно продемонстрировать проблемы с шифрованием почты. Как говорится, нет повести секретнее до гроба, чем повесть про Алису и про Боба!

В два клика Боб шифрует его ключом, известным Алисе. Он надеется, что правильно ввел его по памяти при настройке CryptoData на общедоступном компе. Иначе важное сообщение так и останется мешаниной символов, которую он вставил в тело письма, скопировав из окна CryptoData.

Алиса получает странное письмо, видит в нем знакомое начало S3CRYPT и понимает, что надо использовать CryptoData с тем ключом, которым они когда-то обменялись с Бобом. Вот только с тех пор много всего произошло, и каким был этот ключ - она может не вспомнить.

Попытка расшифровать письмо

Если Алиса проявит чудеса мнемотехники и все-таки введет верный ключ, сообщение от Боба примет читаемый вид.

Письмо расшифровано

Однако девичья память далеко не EEPROM, поэтому Боб получает неожиданный ответ.

Конечно, Боб знает, как пользоваться PGP. Вот только последний раз он это делал в почтовом клиенте The Bat, который был установлен на взорванном ноутбуке. Как проверить присланный ключ? Вдруг прямо сейчас Алису пытают, а ему отвечают с ее адреса и пытаются выведать секреты? Поэтому Боб просит дополнительных гарантий подлинности ключа. Например, можно попросить Джека проверить и подписать его.

Сеть доверия PGP

Алиса реагирует немного странно. Она сообщает новость о внезапном исчезновении Джека и предлагает альтернативный способ верификации. Впрочем, не слишком надежный. Простейшая цифровая подпись S/MIME подтвердит лишь адрес отправителя, но не его личность. Поэтому Боб прибегает к хитрости: он просит подтвердить ключ по другому каналу связи, заодно проверяя общий с Алисой секрет, который знали только они.

Использование отпечатка ключа и общего секрета

Спустя некоторое время ему приходит СМС с верным отпечатком ключа и новое письмо от Алисы.

Отпечаток ключа и ответ на секретный вопрос

Письмо выглядит убедительно, отпечаток ключа совпадает, но Боб - тертый калач. Прочитав ответ на секретный вопрос, он понимает, что беседует не с Алисой.

Последнее сообщение Боба псевдо Алисе

ГЕОМЕТРИЯ ШИФРОВАНИЯ

В этой истории Алиса и Боб пытались использовать два принципиально разных типа криптографической защиты. В CryptoData для шифрования и расшифровки по алгоритму AES используется один и тот же ключ. Поэтому такую криптосистему называют симметричной.

В отличие от AES-CTR, в PGP используется пара разных, но математически связанных ключей. Это асимметричная система, устроенная по принципу замка с защелкой: захлопнуть дверь (зашифровать сообщение) может кто угодно, а вот открыть ее (расшифровать текст) - только владелец ключа.

В симметричных системах проще достигнуть высокой криптостойкости при относительно малой длине ключа, но для ведения зашифрованной переписки этот ключ надо как-то сначала передать собеседнику по надежному каналу. Если ключ станет известен посторонним, то вся ранее перехваченная переписка будет раскрыта. Поэтому симметричное шифрование используется в основном для локальной защиты почтовых баз данных, но не для пересылки писем.

Асимметричные системы как раз решают проблему передачи ключа через ненадежную среду, используя пару ключей. Открытый ключ служит для шифрования сообщений, отправляемых конкретному адресату, и проверки криптографической подписи в принятых от него письмах. Секретный - для расшифровки полученного письма и подписывания отправляемого. При организации защищенной переписки собеседникам достаточно обменяться своими открытыми ключами, а их перехват (почти) ни на что не повлияет. Поэтому такую систему называют еще шифрованием с открытым ключом. В почтовых клиентах поддержка PGP реализована давно, а вот при использовании почты через веб-интерфейс понадобятся браузерные аддоны.

В качестве примера мы выбрали CryptoData, так как из всех известных расширений на момент написания статьи только у него был актуальный статус и живой русскоязычный форум. Кстати, с помощью CryptoData можно не только шифровать почту, но и хранить локальные заметки под защитой AES и даже создавать и просматривать зашифрованные сайты.

CryptoData доступен для браузера Firefox в качестве аддона. Также он поддерживает почтовые клиенты Thunderbird и SeaMonkey. Текст шифруется по алгоритму AES. Несмотря на его блочную природу, в режиме счетчика (CTR) с его помощью реализуется потоковое шифрование.

К плюсам CryptoData можно отнести известную реализацию AES-CTR через JavaScript. Главный же недостаток CryptoData (как и любой симметричной системы) - безопасно обмениваться ключами невозможно.

При использовании CryptoData в электронной почте, помимо зашифрованного текста, надо как-то передать ключ для его расшифровки. Сделать это безопасным образом через интернет крайне сложно. Требуется создавать дове- ренный канал, а в идеале - устраивать личную встречу. Поэтому часто менять ключи не получится. При компрометации ключа им вскрывается вся перехва- ченная ранее зашифрованная переписка.

Менее значимый минус - узнаваемое начало всех зашифрованных текстов. После стандартного начала «S3CRYPT:BEGIN» открытым текстом указывается используемый алгоритм и режим шифрования (AESCTR или RC4). Это упрощает выборочный перехват зашифрованных сообщений (обычно в них пишут все самое важное) и их взлом.

Подобно CryptoData работали CryptFire, Encrypted Communication и многие другие расширения.

Для удобства обмена открытыми ключами и их подтверждения создаются специализированные репозитории. На таких серверах открытых ключей проще найти актуальный для нужного пользователя. При этом не надо регистрироваться на сомнительных ресурсах и рисковать засветить секретный ключ.

ОТ АЛГОРИТМОВ К СТАНДАРТАМ ШИФРОВАНИЯ ПОЧТЫ

Для работы с зашифрованной перепиской собеседники должны использовать одинаковые криптографические методы. Поэтому любая защита почты на уровне приложения или сервиса использует какую-то криптографическую систему в рамках общепризнанного стандарта шифрования. Например, клиент Thunderbird поддерживает через аддон Enigmail форк GnuPG как открытую реализацию криптосистемы PGP по стандарту OpenPGP.

В свою очередь, PGP и любая другая криптосистема базируется на нескольких алгоритмах шифрования, которые используются на разных этапах работы. Самым распространенным среди алгоритмов асимметричного шифрования остается RSA. Он же используется в оригинальной криптосистеме PGP Филиппа Циммерманна. В ней RSA применяется для шифрования 128-битного хеша MD5 и 128-битного ключа IDEA.

У различных форков PGP (например, у того же GnuPG) есть свои алгоритмические отличия. Но если криптосистемы удовлетворяют требованиям общего стандарта OpenPGP, то они остаются совместимыми друг с другом. Собеседники могут вести защищенную переписку с помощью разных версий криптографических программ, в том числе и предназначенных для разных платформ. Поэтому составленное в Thunderbird для Linux письмо, зашифрованное PGP, может быть прочитано в The Bat для Windows и даже через браузер с поддержкой OpenPGP на уровне дополнений.

ШИФРОВАНИЕ ПОЧТЫ С ПОМОЩЬЮ OPENPGP

OpenPGP был предложен в 1997 году, но развитие стандарта было сложным из-за судьбы самого алгоритма PGP. Права на него последовательно переходили от Циммерманна и PGP Inc. к Network Associates (McAfee), PGP Corporation и Symantec. Каждый из новых правообладателей менял конечную реализацию алгоритма. Не исключено, что в McAfee и Symantec ослабляли его криптографическую стойкость по требованию властей. Например, снижая качество генератора псевдослучайных чисел, эффективную длину ключа или даже внедряя программные закладки.

Поэтому в 1999 году появилась открытая реализация GnuPG. Считается, что за ней стоит фонд FSF, но на деле GnuPG разработал всего один человек - немецкий программист Вернер Кох, который когда-то впечатлился речью Столлмана и решил сделать «правильный, открытый PGP». Позже он неоднократно намеревался забросить поддержку GnuPG, но в решающий момент находил новые стимулы продолжать ее.

Сейчас Коху 53 года, он безработный и много раз находился на пороге нищеты до того момента, как сумел собрать более 300 тысяч долларов с помощью разных краудфандинговых кампаний. Ему перечисляли деньги из Linux Foundation и от простых пользователей, давали гранты Facebook и Stripe - просто потому, что судьба GPGTools, Enigmail, Gpg4win и многих других популярных проектов в мире СПО целиком зависит от его желания продолжать развитие GnuPG.

С таким шатким фундаментом стандарт OpenPGP до сих пор имеет известные слабости. Их проще было объявить «не багами, а фичами», чем устранять. Например, в нем есть только один способ подтвердить отправителя зашифрованного сообщения - криптографическая подпись. Однако проверить ее может кто угодно открытым ключом отправителя (вот почему я сделал оговорку «почти», указывая на безопасность перехвата открытого ключа). Следовательно, подпись, помимо аутентификации, обеспечивает и не всегда нужную неотрицаемость сообщения.

Что это значит на практике? Представь, что ты отправил Ассанжу очередную порцию интересных данных о первых лицах сильно демократической страны. Письмо перехватили, IP узнали и за тобой приехали. Даже не раскрывая содержимое зашифрованного письма, ты привлек к себе внимание самим фактом переписки с человеком, за которым давно следят. Сослаться на подделку письма или козни почтового червя уже не получится - сообщение было подписано твоим секретным ключом. Без этой же подписи Ассанж не станет читать сообщение, считая его фальшивкой или провокацией. Получается замкнутый круг: криптографические подписи лишают возможности отрицать авторство писем перед третьими лицами, а без подписей для самих собеседников не будет гарантии подлинности сообщений друг к другу.

Еще один недостаток PGP заключается в том, что зашифрованные сообщения имеют очень узнаваемый вид, поэтому сам факт обмена такими письмами уже делает собеседников потенциально интересными для спецслужб. Они легко выявляются в сетевом трафике, а стандарт OpenPGP не позволяет скрыть ни отправителя, ни получателя. Для этих целей вместе с PGP пытаются использовать или стеганографию как дополнительные слои защиты, но у луковичной маршрутизации и методов сокрытия файлов одного формата внутри другого полно своих нерешенных проблем. К тому же система получается слишком сложной, а значит, она также не будет популярной и останется уязвимой к человеческим ошибкам.

Вдобавок у PGP отсутствует свойство наперед заданной секретности, а ключи обычно имеют длительные сроки действия (как правило, год или больше) и меняются редко. Поэтому в случае компрометации секретного ключа им можно расшифровать львиную долю перехваченной ранее переписки. Происходит это в том числе потому, что PGP не защищает от человеческой ошибки и не препятствует ответу открытым текстом на шифрованное сообщение (даже с его цитированием). Имея зашифрованное сообщение, расшифрованный текст и открытый ключ, гораздо проще вычислить парный ему секретный.

S/MIME

Если у OpenPGP столько принципиальных недостатков, то есть ли ему альтернатива? И да и нет. Параллельно развиваются другие стандарты шифрования почты, в том числе и с использованием открытого ключа. Вот только пока что они устраняют одни недостатки ценой появления других. Яркий пример тому - S/MIME (Secure/Multipurpose Internet Mail Extensions). Начиная со второй версии, появившейся еще в 1998 году, S/MIME стал общепринятым стандартом. Настоящая популярность пришла к нему годом позже, когда третью версию S/ MIME стали поддерживать такие почтовые программы, как Microsoft Outlook (Express) и Exchange.

S/MIME упрощает задачу распространения публичных ключей в недоверенной среде, поскольку контейнером для открытого ключа служит цифровой сертификат, который обычно имеет одну или несколько цифровых подписей. С тяжелой руки Microsoft современная концепция криптографии с открытым ключом часто реализуется именно посредством цифровых сертификатов и цепочек доверия. Сертификаты выдаются конкретному субъекту и содержат его открытый ключ. Подлинность самого сертификата гарантируется (обычно за деньги) его эмитентом - то есть выпустившей организацией, которой изначально доверяют все участники переписки. Например, это может быть Thawte, VeriSign, Comodo или другая крупная компания. Простейший сертификат, подтверждающий только адрес электронной почты, можно получить бесплатно.

Теоретически цифровой сертификат решает сразу две проблемы: он позволяет легко найти открытый ключ нужного пользователя и убедиться в его подлинности. Однако на практике в механизме доверенных сертификатов и стандарте S/MIME до сих пор есть серьезные уязвимости, делающие возможными дополнительные векторы атак помимо тех, что актуальны для OpenPGP. Так, в 2011 году была произведена атака на сертификационные центры DigiNotar и Comodo, в результате чего были выпущены сотни поддельных сертификатов от имени самых популярных сетевых узлов: addons.mozilla.com, login.skype.com, login.yahoo.com, mail.google.com и других. В дальнейшем они использовались в разных сценариях атак, включая MITM, рассылку фишинговых писем и распространение зловредов, подписанных сертификатами известных фирм.

ШИФРОВАНИЕ ВЕБ-ПОЧТЫ И МОБИЛЬНЫЕ КЛИЕНТЫ

Все больше людей отказываются от десктопных почтовых клиентов, предпочитая работать с почтой через веб-интерфейс или мобильные приложения. Это полностью меняет правила игры. С одной стороны, при веб-подключении шифрование соединения уже обеспечивается посредством HTTPS. С другой - пользователь никак не контролирует почтовую базу на сервере и способы передачи писем с него. Остается уповать на репутацию компании, которая обычно варьируется от слегка подмо- ченной до промокшей насквозь.

Многие помнят Hushmail - первый веб-сервис электронной почты с шифрованием по стандарту OpenPGP на стороне сервера. Уверен, кто-то пользуется им до сих пор, считая надежным. Ведь все письма, как утверждается, в нем хранятся на собственном защищенном сервере и передаются на внешние адреса через другой сервер с поддержкой SSL. Почти десять лет компания уверяла, что расшифровать письма ее клиентов невозможно. Однако в 2007 году Hushmail была вынуждена признать, что имеет такую техническую возможность и предоставляет ее по требованию властей, а также протоколирует IP-адреса своих клиентов и собирает о них «другую статистику» - вдруг компетентные органы ее запросят.

Впрочем, черт бы с Hushmail. Большинство людей сегодня пользуется Gmail, который активно развивается. «Очень активно, - подсказывает Мэттью Грин, профессор криптографии из Университета Джонса Хопкинса. - Скоро исполнится два года, как Google обещала внедрить сквозное шифрование почты. Ну и где оно?»

Любопытно, что, помимо Google, в разное время это обещали сделать Yahoo, Microsoft и другие. Есть очевидное объяснение тому, почему компании с ежегодной прибылью на уровне миллиардов долларов до сих пор не смогли внедрить сквозное шифрование. Оно подразумевает выполнение криптографических операций в доверенной среде и передачу сообщений через недоверенные узлы только в зашифрованном виде. Реализовать это без контроля над устройствами практически невозможно.

Проблема в том, что шифрование и расшифровку почты приходится выполнять на совершенно разных платформах. Каждая из них имеет свои уязвимости, сводящие на нет любую криптографическую защиту уровня приложения. Критические уязвимости остаются непропатченными месяцами. Поэтому что толку шифровать письма, если их копию можно тайком стянуть открытым текстом, например из оперативной памяти или временного файла?

Именно так взломали итальянскую Hacking Team: атакующий получил удаленный доступ к одному из компьютеров в локальной сети компании, а затем просто дождался, когда кто-то из сотрудников сам откроет контейнер TrueCrypt со всей секретной перепиской и документацией. Без доверенной среды хоть шифруй, хоть не шифруй - все равно получишь лишь иллюзию защиты.

Приложения для шифрования почтовой переписки.

Mailvelope - одно из самых продвинутых расширений для шифрования почты в Google Chrome. Мы уже ранее о нем, и уже тогда это была качественная разработка.

Управление ключами в Mailvelope

Базовую функциональность PGP в браузере обещают и другие расширения, но у них полно своих недостатков. У аддона Pandor логика работы вообще странная. По замыслу, пользователи регистрируются на сайте pandor.me и генерируют ключи PGP. Все они хранятся на сервере и автоматически используются для шифрования и дешифрования. При этом обмениваться ключами не надо. Удобно? Может быть. Однако те, кто жертвуют удобством ради безопасности, в итоге лишаются и того и другого. Секретный ключ неспроста называется так, а безопасно сгенерировать пару ключей можно только локально.

Шифрование почты с помощью Keybase.io

Открытые ключи можно не только вручную переслать всем собеседникам, но и загрузить на специализированный сервер. Так их проще будет находить и подписывать, расширяя сеть доверия. Об одном из таких репозиториев открытых ключей - Keybase.io мы уже писали. После быстрого старта интерес к развитию этого сервера открытых ключей у его разработчиков угас. Репозиторий вот уже два года находится в стадии бета-тестирования, но это не препятствует его использованию.

Keybase.io подтверждает не только валидность открытого ключа собеседника и адрес его электронной почты, но и URL личного сайта, а также аккаунты пользователя в Twitter и GitHub, если они есть. Одним словом, если твои собеседники загружают свои открытые ключи на Keybase.io, то ты всегда сможешь отыскать их там вместе с актуальными контактными данными.

Наше решение позволит вам не только бесплатно шифровать ваши электронные письма, но и делать это с помощью клиентов для ПК, Интернета и смартфона.

Для шифрования почты по методу PGP с помощью клиента для ПК вам необходимы будут программы Gpg4win, Kleo­patra (входит в состав пакета Gpg4win) и Thunderbird. Прежде чем можно будет запустить шифрование, вам понадобится пара ключей. Для этого откройте программу Kleopatra, установленную вместе с Gpg4win. Затем запустите создание ключей с помощью сочетания клавиш «Ctrl+N», выберите «Create a personal OpenPGP key pair» и следуйте инструкциям на экране.

После того, как ключи будут созданы, откройте Thunderbird (и при необходимости измените свой электронный адрес). Потом через менеджер дополнений добавьте к Thunderbird дополнение Enigmail. После перезагрузки Thunderbird вас поприветствует мастер настройки Enigmail. В нем вам необходимо будет выбрать стандартные конфигурации, а затем отметить имеющийся ключ.

Прежде чем отправить зашифрованное письмо, вам нужно импортировать файл с публичным ключом получателя (который отправляется, например, по электронной почте) в программу Kleo­patra с помощью сочетания «Ctrl+I». В дальнейшем адресованные этому получателю электронные письма Thunderbird шифрует автоматически.

Использование PGP в браузере

Чтобы иметь доступ к зашифрованным электронным сообщениям через интерфейс почтового ящика, например, на рабочем месте, вам потребуется дополнение для браузера Mailvelope (доступно для Firefox и Chrome). Его можно установить с официального сайта . Дополнение Mail­velope уже по умолчанию настроено для всех наиболее часто используемых почтовых сервисов.
Чтобы работало шифрование с помощью Mailvelope, вам нужно экспортировать из программы Kleopatra свой личный ключ и публичные ключи своих контактов и импортировать их в Mail­velope. В Kleopatra вы найдете личный ключ во вкладке «My Certificates». Кликните по нему правой кнопкой мыши и выберите «Export Secret Keys». Активируйте опцию «ASCII armor» и сохраните файл с ключом.


Mailvelope работает со всеми популярными почтовыми сервисами, в число которых входит и Gmail: там сообщения шифруются в отдельном редакторе

Чтобы импортировать ключ в Mail­velope, нажмите в браузере в верхнем правом углу на значок Mailvelope, а потом на «Настройки». В разделе «Key Management | Импортировать ключи» выберите файл с ключом. В зависимости от почтового сервиса Mailvelope немного по-разному встраивается в интерфейс почтового сервиса: либо в виде кнопки в окне «Новое сообщение» (у Gmail), либо в виде отдельной опции «Написать и зашифровать» у некоторых других почтовых сервисов. Если в Mailvelope нет настроек по умолчанию для вашего почтового сервиса, вам нужно войти в него, затем нажать на значок Mailvelope и выбрать «Add new site».

Шифрование писем на устройствах с Android

С помощью бесплатных приложений OpenKeycain и K-9 Mail, которые вы можете скачать в Google Play Market, шифрование PGP можно использовать и на смартфонах с Android (для iPhone и iPad есть платное приложение iPGMail). Установите оба приложения, запустите сначала K-9 Mail и настройте там подключение к своему почтовому ящику.
Потом скопируйте свои файлы с ключами на смартфон (например, через USB-соединение) и запустите OpenKey­cain. На главном экране выберите «Импорт ключа из файла», найдите скопированный на смартфон файл и отметьте нужные ключи.

Чтобы обеспечить доступ программы K-9 Mail к ключам, сохраненным в OpenKeycain, во входящих письмах удержите палец на созданном аккаунте, чтобы открыть всплывающее меню, и перейдите к разделу «Настройки ящика | Криптография». Нажмите на запись «Провайдер OpenPGP» и выберите OpenKey­cain. При написании писем с помощью приложения К-9 Mail теперь можно подписывать и шифровать исходящие сообщения.

Мы живем во времена, где приватность это премиум признак. Кажется, что с каждым годом заголовков об очередной бреши в системах безопасности становится все больше и больше.

Соответственно многие из нас задаются вопросом, что же нам нужно для того, чтобы защитить себя? Заморозить кредитку? Использовать разные пароли для каждого нового интернет магазина, банковского аккаунта или просто логина?

А что же тогда по поводу зашифровки писем?

Ставки становятся выше, когда что-то наподобии PGP становится необходимым, чтобы защитить одну личность во время обмена важной информации.

Но что это такое? Для чего это используется и почему люди вообще это взяли на вооружение? Давайте разберемся.

Что такое PGP?

PGP расшифровывается как “Pretty Good Privacy”. Это тип зашифровки писем, который должен защищать их от прочтения кем-либо, кроме намеренного получателя. PGP используется как для зашифровки, так и для дешифровки писем, а так же как инструмент для подтверждения отправителя и контента как такогого.

Как работает PGP?

PGP основано на так называемой публичной системе ключей, в которой получатель имеет публично известный ключ – по-факту очень длинное число, которое отправитель использует для зашифровки писем, которые они получают. Чтобы расшифровать такие письма, получатель должен иметь свой собственный приватный ключ, ссылающийся на публичный. Только получатель знает приватный ключ, который хранит приватность сообщения.

Для примера, давайте представим, что кто-то хочет приватно отправить намёк журналисту. Журналист может иметь публичный ключ, который отправитель использовал для зашифровки и безопасной отправки письма ему. После того как письмо зашифруют, оно станет криптограммой, которая является текстом, которому требуется расшифровка.

После того, как криптограмма получена, журналист воспользуется своим личным, частным ключом для её расшифровки.

Есть два типа зашифровки: симметричная и асимметричная.

В симметричном шифровании, нет как такого публичного ключа. Есть только один приватный ключ используемый для расшифровки и дешифровки. Многие рассматривают подобный тип шифрования, как вполне рисковый, потому что любой кто расшифрует один ключ может прочитать, что было в зашифрованном сообщении. Это как-будто бы кто-то нашел бы ваш пароль, только ставки гораздо выше и тут гораздо сложнее сменить «пароль».

Асимметричное шифрование это то, о чем мы говорили ранее в этом посту. Есть два ключа, публичный и приватный, которые разнятся, но со связанными значениями.

Как получить PGP ключ?

PGP шифрование доступно на разных типах софта. Есть много всего доступного, но один из самых упоминаемых вариантов это GNU Privacy Guard (GPG) , бесплатный криптографический софт, который может управлять ключами и зашифровывать файлы и письма.

После того, как вы определитесь с софтом, вам понадобится сгенерировать новый PGP сертификат - совершенно новый публичный ключ с дополнительной информацией для подтверждения, такой как имя и адрес электронной почты, чтобы подтвердить получение окончания ключа.

Небольшое предостережение - вы возможно не сможете удалить ваш публичный ключ из этих директорий.

Как мне зашифровать сообщение в PGP?

Чтобы отправить зашифрованное сообщение, вам понадобится скачать софт, который позволит вам отправлять зашифрованные сообщения. CPG это как вариант, но есть ещё один - Enigmail который является аддоном для почтового клиента Thunderbird.

В GPG вы можете создавать зашифрованные письма внутри софта с различными вариантами шифровки. PGP это один пример и активируется он с «security method indicator» в программе.

Почему PGP используется?

Хоть PGP и широко применяется для шифрования писем, рост популярности и разговоры о криптовалюте могли бы объяснить, почему его стоит использовать в необычном формате.

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

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

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

Чтобы обеспечить защищенную передачу ваших данных, Яндекс.Почта использует шифрование этих данных с помощью протоколов SSL и TLS . Если в настройках вашей почтовой программы не активировано шифрование передаваемых данных, то вы не сможете получать и отправлять письма с помощью этой программы.

Инструкции по активации шифрования в разных почтовых программах:

При активации SSL-шифрования в почтовой программе вы можете получить ошибки о некорректном сертификате. Основные причины возникновения таких ошибок и способы их устранения перечислены в статье ../mail-clients.html#client-ssl-errors .

Microsoft Outlook

  1. Откройте меню Файл → Настройка учетных записей , выберите учетную запись на вкладке Электронная почта и нажмите кнопку Изменить .
  2. Нажмите кнопку Другие настройки .
  3. Перейдите на вкладку Дополнительно и укажите следующие параметры в зависимости от используемого вам протокола:

    IMAP

    • IMAP-сервер - 993 ;
    • SMTP-сервер - 465 .

    Выберите в пункте значение SSL для IMAP- и SMTP-сервера.

    Нажмите кнопку OK .

    POP3

    • POP3-сервер - 995 ;
    • SMTP-сервер - 465 .

    Включите опцию Требуется шифрованное подключение (SSL) и выберите в пункте Использовать следующий тип шифрованного подключения значение SSL .

    Нажмите кнопку OK .

  4. Чтобы завершить настройку учетной записи, нажмите в окне Изменить учетную запись кнопку Далее - будет выполнена проверка настроек учетной записи. Если проверка завершилась удачно, нажмите кнопку Готово . Если нет, убедитесь, что все параметры указаны корректно.

Outlook Express

Mozilla Thunderbird

  1. Нажмите на название учетной записи правой кнопкой мыши и выберите пункт Параметры .
  2. Перейдите в раздел Параметры сервера

    IMAP

    • Защита соединения - SSL/TLS ;
    • Порт - 993 .

    Нажмите кнопку OK .

    POP3

    • Защита соединения - SSL/TLS ;
    • Порт - 995 .

    Нажмите кнопку OK .

  3. Перейдите в раздел Сервер исходящей почты (SMTP) , выберите строку Yandex Mail и нажмите кнопку Изменить . В окне SMTP-сервер укажите следующие параметры:
    • Порт - 465 ;
    • Защита соединения - SSL/TLS .

The Bat

  1. Откройте меню Ящик → Настройки почтового ящика .
  2. Перейдите в раздел Транспорт и укажите следующие параметры в зависимости от используемого протокола:

    IMAP

    Отправка почты

    • Порт - 465 ;
    • Соединение - .
    Получение почты
    • Порт - 993 ;
    • Соединение - Безопасное на спец.порт (TLS) .

    Нажмите кнопку OK .

    POP3

    Отправка почты

    • Порт - 465 ;
    • Соединение - Безопасное на спец.порт (TLS) .
    Получение почты
    • Порт - 995 ;
    • Соединение - Безопасное на спец.порт (TLS) .

    Нажмите кнопку OK .

Opera Mail

Apple Mail

  1. Откройте меню Mail → Настройки → Учетные записи → Свойства учетной записи . Выберите в разделе Сервер исход. почты (SMTP) пункт Ред. список SMTP-серверов .
  2. Включите опцию Использовать SSL и в поле Использовать произвольный порт введите значение 465 .

    Нажмите кнопку OK .

  3. Перейдите на вкладку Дополнения и укажите следующие параметры в зависимости от используемого протокола:

    IMAP

    • Порт - 993 ;

    POP3

    • Порт - 995 ;
    • включите опцию Использовать SSL .

iOS

  1. Откройте меню Настройки → Почта, адреса, календари .
  2. В разделе Учетные записи выберите вашу учетную запись.
  3. Внизу страницы нажмите кнопку Дополнительно .
  4. В разделе Настройки входящих укажите следующие параметры в зависимости от используемого протокола:

    IMAP

    • Порт сервера - 993 .

    POP3

    • включите опцию Использовать SSL ;
    • Порт сервера - 995 .
  5. Вернитесь в меню Уч. запись и в разделе Сервер исходящей почты нажмите кнопку SMTP .
  6. В разделе Первичный сервер нажмите на строку сервера smtp.сайт .
  7. В разделе Сервер исходящей почты укажите следующие параметры:
    • включите опцию Использовать SSL ;
    • Порт сервера - 465 .

    Нажмите кнопку Готово .

  8. Вернитесь в меню Уч.запись и нажмите кнопку Готово .

Android

Windows Phone

  1. Перейдите в раздел Настройки → почта+учетные записи .
  2. Выберите вашу учетную запись.
  3. Внизу страницы нажмите дополнительные настройки и укажите следующие параметры в зависимости от используемого протокола:

    IMAP

    • Сервер входящей почты - imap.yandex.ru :993

    Отметьте пункты Для входящей почты нужен SSL и .

    Сохраните изменения.

    POP3

    • Сервер входящей почты - pop.yandex.ru :995
    • Сервер исходящей почты - smtp.yandex.ru :465

    Отметьте пункты Для входящей почты нужен SSL и Для исходящей почты нужен SSL .

    Сохраните изменения.

Другое

Если у вас другая почтовая программа, активируйте в ее настройках шифрование передаваемых данных по протоколу SSL (TLS) для получения почты (IMAP или POP3) и для отправки почты (SMTP). После этого измените значения портов для подключения к серверам на следующие.

Похожие статьи