Алиса отправляет используя rsa сообщение бобу она шифрует это сообщение

Обновлено: 07.07.2024

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

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

Может ли кто-нибудь четко объяснить, почему такое решение уязвимо?

Случай пользователя:

О чем вопрос

Я не могу использовать другую терминологию, даже если она вводит в заблуждение в данном частном случае.

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

  1. сгенерировать секретный ключ
  2. извлеките открытый ключ из секретного.

Короткий ответ из длинного выбранного ответа

Теоретический закрытый ключ из теории RSA обладает математической симметричностью с открытым ключом:

  • Вы не можете вывести одно из другого
  • Шифрование одинаково надежно в любом случае

Практический закрытый ключ из инструментов RSA (например, openssl) содержит дополнительную информацию по соображениям эффективности, и часто часть открытого ключа даже устанавливается по соглашению. Эти предположения нарушают симметричность:

Подробнее см. Выбранный ответ! Пожалуйста, прокомментируйте, если заблуждения остаются .

Изменить примечание:

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

Есть много способов сделать это - в зависимости от требований безопасности.

Вопрос, даже с поправками, внесенными примерно в 2009-09-05T13: 00-07: 00, не совсем логичен, ИМНШО.

Обозначения для шифрования и дешифрования

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

В системе асимметричного шифрования E a и D a являются методами шифрования и дешифрования для алгоритма A. Ключевой отличительной чертой асимметричного криптографического шифра является то, что ключ K encrypt , используемый E a , отличается от ключа K decrypt , используемого D a . Кроме того, чтобы быть практичным, должно быть невозможно вычислить K decrypt , даже если вы знаете K encrypt и наоборот.

При асимметричном шифровании Алиса создает пару ключей (S alice , P alice ). Обычно S alice является секретным ключом, а P alice - открытым ключом. Обратите внимание, что Алиса знает оба ключа. Все, что имеет значение, это:

  1. S alice и P alice разные.
  2. Алиса никому не сообщает об одном из ключей (S alice ); очень важно, чтобы эта информация никому не была известна.
  3. Алиса может сообщить другим людям о другом ключе (P alice ) без ущерба для безопасности системы.

Точно так же Боб создаст пару ключей (S bob , P bob ). Обратите внимание, что:

  • Боб знает ключи S bob , P bob и P alice .
  • Алисе известны ключи S alice , P alice и P bob .

Алиса отправляет C2 alice-bob Бобу (вместе с некоторой подписью или MAC, чтобы подтвердить, что он не был поврежден при передаче), а затем Боб вычисляет:

Если все прошло по плану, D2 alice-bob = M alice-bob .

Механика пар ключей RSA

При использовании схемы шифрования RSA вы начинаете работу с двумя (большими) случайно определенными простыми числами, p и q , и их результатом является n . Алгоритм RSA основан на том факте, что очень трудно разложить на множители n (определить p и q , имея только n ); если кто-нибудь когда-нибудь найдет простой способ разложения больших чисел на множители, алгоритм RSA мгновенно сломается.

Как только у вас будет n , вам необходимо определить показатели e и d так, чтобы:

  • ed = 1 mod t , где t = LCM (p-1, q-1), а LCM - наименьшее общее кратное.

OpenSSL и генерация ключей

Я считаю, что ваше описание того, как ключи RSA генерируются OpenSSL, запутано.

Процесс генерации сначала должен генерировать большие случайные простые числа, p и q в обозначениях выше. Существуют стохастические методы определения того, является ли данное большое число (вероятно) простым; вычисление двух таких простых чисел занимает некоторое время. Взятые вместе, они используются для вычисления сначала n , а затем d (при условии, что e установлено некоторым соглашением). В OpenSSL вы видите два этапа: определение n , а затем определение d .

Рассмотрение пользовательского кейса

Когда Боб и Алиса встретились, Алиса дала Бобу свой открытый ключ P alice . Предположительно, Боб также дал Алисе свой открытый ключ P bob . И оба открытых ключа имеют очень ограниченное публичное распространение - это хорошо, но не критично для безопасности системы.

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

Я не могу использовать другую терминологию, даже если она вводит в заблуждение в данном частном случае.

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

Просто потому, что, когда вы что-то шифруете, вы маскируете это, чтобы только один человек мог прочитать это (человек с закрытым ключом). У вас нет личного ключа этого человека, у вас есть только его открытый ключ.

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

Я думаю, что вам не хватает точки шифрования с открытым / закрытым ключом (по крайней мере, как я это понимаю).

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

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

Итак, опять же, речь идет о масштабируемости. Количество ключей, необходимых для симметричных схем, составляет N^2-N , тогда как в асимметричных схемах это только 2*N .

Не знаю, есть ли опасения по поводу авторских прав, но процитирую Валерия Прямикова. из этого форума .

Вы неправильно употребляете здесь термины.

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

Давайте проигнорируем это.

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

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

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

УСТОЯВШИЕСЯ ИМЕНА В КРИПТОГРАФИИ:

ШИФРОВАНИЕ

ОБМЕН КЛЮЧАМИ

ЦИФРОВАЯ ПОДПИСЬ

https://cyberdeveloper.pro/wp-content/uploads/2017/01/handshake.jpg

Процесс обмена ключами, в зависимости от выбранных криптографических примитивов.

PUBLIC-KEY INFRASTRUCTURE

Сертификат этого блога

—–BEGIN CERTIFICATE—–
MIIFIDCCBAigAwIBAgISA+j52PcHG8GWTXRGgAt7hI3oMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAxMTYyMDQwMDBaFw0x
NzA0MTYyMDQwMDBaMB0xGzAZBgNVBAMTEmN5YmVyZGV2ZWxvcGVyLnBybzCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL2kXQmE3s/uNJJo8WVU1XDHyLz1
4a/ObmTdxojuLt4Ssa0h5rBKasX7Z4taCdfuBk88gBDWJ98ISy7UirosKT1DReOh
j2/uKBcdSqjItZOctkxa0yRlANB0IBvITTHEi6i0VvqJL2a//bfSku/vxQj9KM0j
9IuLbPrNy6HLDsjnpQjM8/phSdqobWy+Pbu27n58tmUnvTnLM7mn2iMrdx02VGJv
xRnrSY/2OQRtSXt0nnSTH/BE7zecDREa2NG0a8PvGZKdjzDVCXBR+zJxu6uUlx0H
W/zlNnggaEwHh705Whrtj4ZmROt+P2zoyl0DnKb9OpNPk4/uICe37x4orHECAwEA
AaOCAiswggInMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYI
KwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU3S6XTXoE5dKEjDO88J7B
k7Xf1VgwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYBBQUH
AQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2VuY3J5
cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNlbmNy
eXB0Lm9yZy8wNQYDVR0RBC4wLIISY3liZXJkZXZlbG9wZXIucHJvghZ3d3cuY3li
ZXJkZXZlbG9wZXIucHJvMIH+BgNVHSAEgfYwgfMwCAYGZ4EMAQIBMIHmBgsrBgEE
AYLfEwEBATCB1jAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5jcnlwdC5v
cmcwgasGCCsGAQUFBwICMIGeDIGbVGhpcyBDZXJ0aWZpY2F0ZSBtYXkgb25seSBi
ZSByZWxpZWQgdXBvbiBieSBSZWx5aW5nIFBhcnRpZXMgYW5kIG9ubHkgaW4gYWNj
b3JkYW5jZSB3aXRoIHRoZSBDZXJ0aWZpY2F0ZSBQb2xpY3kgZm91bmQgYXQgaHR0
cHM6Ly9sZXRzZW5jcnlwdC5vcmcvcmVwb3NpdG9yeS8wDQYJKoZIhvcNAQELBQAD
ggEBADO+xKwYlsiGphrJmkWXopHljBVDObFqXjWvF9Cdm+YWPForLw5wO9k/O3qP
5mg72VlUJTbgNd8wlK/iMysOi3jmme0eA3zt5qDzFTs6qbejkOXySUItnEek9z6E
SwbeG0woQ7wqZZix7uUpfsOOYjcQxwgBsC8kru7sIAPTDGJz7td8n2n7XPbwqiv9
k5R9XK5OECAGSQg5gbkOJNUg+nPZkUs0T0rlMtFPPvM1pE6E8OYCxAHymU1kNeNM
QnMNqaI6Z/9LOFRYanMrnLH2d44IoaWvylZnoZm5xgEDAPDSZ2NCRuS+80lpSqJ3
k5E9BVz/fziDABz3PuynEpaWrug=
—–END CERTIFICATE—–

CERTIFICATE PINNING

  1. Алиса посылает Бобу запрос на соединение.
  2. Его перехватывает Мэллори и отправляет свой запрос на соединение Бобу.
  3. Боб отсылает свой сертификат Мэллори.
  4. Мэллори отсылает свой сертификат Алисе.
  5. Алиса успешно проводит проверку сертификата Мэллори и устанавливает с ней соединение.
  6. Мэллори без особых проблем тоже проверяет сертификат Боба и устанавливает с ним соединение.

Certificate pinning – это способ предотвращения успешной проверки сертификата Мэллори. Способ можно описать так – Алиса и Боб встречаются в кафе, для того, чтобы Боб лично отдал Алисе свой публичный ключ. Этот лайфхак используется, в основном, мобильными приложениями и заключается в сохранении публичного ключа в коде клиента. Это позволяет не зависеть от третьей стороны, такой как CA, при принятии решений касающихся безопасности. Проверка проходит по следующему алгоритму:

  1. Алиса получает чей-то сертификат.
  2. Сверяет с сертификатом Боба(который получила при личной встрече в кафе).
  3. Если проверка проходит успешно Алиса устанавливает соединение с Бобом.
  4. Если проверка заканчивается неудачей, разрывает соединение.

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

MAC-коды

TCP REPLAY

  • Идентификатор сессии (session token).
  • Метка времени (timestamp).
  • Nonce вставка.

Теперь общение между Алисой и Бобом будет выглядеть так(трафик зашифрован):

  1. Алиса посылает Бобу запрос на соединение.
  2. Боб отправляет Алисе случайное число.
  3. Алиса отвечает ее аутентификационными данными и этим же случайным числом.
  4. Боб проверяет, то же ли это число, что он отправил Алисе и делает решение на основе аутентификационных данных Алисы.

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

РЕЗЮМЕ

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

полезные ссылки:

Practical Cryptography: Niels Ferguson, Bruce Schneier – лучшая книга по криптографии, которую я читал. Рассказывает не только про математическую основу, но так же где это применить. Полезно для понимания того, на чем основана современная криптография, для чего она применима и как ей пользоваться.


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


С принципом работы алгоритма Диффи — Хеллмана на примере банок с краской можно ознакомиться на рисунке ниже или в ролике Art of the Problem. Алисе и Бобу удается договориться о секретном цвете, который и является ключом к шифру, таким образом, чтобы Ева (любопытная работница почтового отделения) не смогла его получить.


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

Помимо множества исследований в области ИБ, Уитфилд Диффи знаменит своими высказываниями, в частности о принципиальных изъянах систем безопасности и контроля, которые легко могут превращаться в оружие, направленное в сторону своих создателей.

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


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

WARNING

Виды защиты почты

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

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

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

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

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

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

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

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

Предложение сменить тип шифрования

Предложение сменить тип шифрования

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

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

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

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

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

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

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

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

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

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

Геометрия шифрования

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

CryptoData

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

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

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

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

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

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

Mailvelope и аналоги

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

Расширение Mailvelope для Google Chrome

Расширение Mailvelope для Google Chrome

Текущая версия Mailvelope встраивается непосредственно в код страниц при работе с веб-почтой и уже содержит автоматические настройки для самых популярных почтовых сервисов.

Недоступные функции Mailvelope

Недоступные функции Mailvelope

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

Генерирование пары ключей PGP в Mailvelope

Генерирование пары ключей PGP в Mailvelope

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

Импортирование открытого ключа в Mailvelope

Импортирование открытого ключа в Mailvelope

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

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

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

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

Keybase.io

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

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

Запрос кода приглашения

Запрос кода приглашения

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

От алгоритмов к стандартам

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

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

OpenPGP

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

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

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 или другая крупная компания. Простейший сертификат, подтверждающий только адрес электронной почты, можно получить бесплатно.

Веб-почта и мобильные клиенты

WARNING


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

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

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

Читайте также: