Безопасность электронной почты с помощью цифровых сертификатов (часть 3)

Опубликовано: 11 Марта, 2023
Безопасность электронной почты с помощью цифровых сертификатов (часть 3)

  • Безопасность электронной почты с помощью цифровых сертификатов (часть 5)

Введение в S/MIME

Протокол безопасных многоцелевых расширений почты Интернета (S/MIME) давно стал стандартом де- факто для зашифрованной электронной почты. S/MIME использует алгоритм шифрования RSA и получил поддержку основных игроков отрасли, включая RSA Security. Благодаря S/MIME у администраторов есть вариант электронной почты, который является более безопасным и общепринятым. S/MIME является таким же важным стандартом, как и SMTP, потому что он выводит SMTP на новый уровень: позволяет широкое подключение к электронной почте без ущерба для безопасности.

Первая версия S/MIME была разработана в 1995 году несколькими поставщиками средств защиты. Это была одна из нескольких спецификаций безопасности сообщений. Pretty Good Privacy (PGP) был примером другой спецификации безопасности сообщений. Во времена S/MIME версии 1 не существовало признанного единого стандарта для защищенных сообщений, а было несколько конкурирующих стандартов.

В 1998 году ситуация начала меняться с введением версии 2 S/MIME, которая была представлена Инженерной группе Интернета (IETF) для рассмотрения в качестве стандарта Интернета. Это превратило S/MIME из одного возможного стандарта среди многих в главного претендента на звание стандарта безопасности сообщений.

В 1999 году IETF предложила версию 3 S/MIME для расширения возможностей S/MIME. В нем улучшена обработка сертификатов и расширены общие возможности за счет добавления дополнительных сервисов к S/MIME, таких как безопасные квитанции, тройная упаковка (обсуждается далее в этой серии) и метки безопасности. S/MIME версии 3 получил широкое признание в качестве стандарта безопасности сообщений и поддерживался Outlook 2000 (с применением SR-1) и более поздних версий, Outlook Express 5.01 и более поздних версий, а также Exchange 5.5 и более поздних версий. S/MIME версии 3.2 был опубликован в 2010 году.

S/MIME использует сертификаты X.509 для обмена криптографическими ключами. Открытые ключи, содержащиеся в этих сертификатах, используются для цифровых подписей и для обмена симметричными ключами, используемыми для более длительных сеансов связи (более подробно обсуждается далее). RSA — единственный криптографический протокол с открытым ключом, поддерживаемый S/MIME. Протокол поддерживает алгоритмы симметричного шифрования AES и 3DES.

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

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

Цифровые подписи

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

  • Аутентификация: подпись служит для подтверждения личности. Он проверяет ответ на вопрос «кто вы», предоставляя средства, отличающие эту сущность от всех остальных и доказывая ее уникальность. Поскольку в SMTP нет аутентификации, невозможно узнать, кто на самом деле отправил сообщение. Аутентификация в цифровой подписи решает эту проблему, позволяя получателю узнать, что сообщение было отправлено лицом или организацией, которые утверждают, что отправили сообщение;
  • Неотказуемость: уникальность подписи не позволяет владельцу подписи отказаться от подписи. Эта возможность называется неотказуемость. Таким образом, аутентификация, обеспечиваемая подписью, дает средства для обеспечения неотказуемости. Поскольку SMTP не предоставляет средств аутентификации, он не может обеспечить неотказуемость. Отправителю легко отказаться от владения электронным письмом;
  • Целостность данных: дополнительная услуга безопасности, которую обеспечивают цифровые подписи, — это целостность данных. Когда получатель электронного письма с цифровой подписью проверяет цифровую подпись, получатель уверен, что полученное электронное письмо на самом деле является тем же самым электронным письмом, которое было подписано и отправлено, и не было изменено во время передачи. Любое изменение электронного письма во время его передачи после того, как оно было подписано, делает подпись недействительной.

Подписание писем

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

  1. Линда генерирует дайджест сообщения исходного открытого текста, используя алгоритм хеширования;
  2. Затем Линда шифрует только дайджест сообщения, используя свой закрытый ключ. Этот зашифрованный дайджест сообщения является цифровой подписью;
  3. Линда добавляет дайджест подписанного сообщения к сообщению с открытым текстом;
  4. Линда передает все сообщение Нуно.

Изображение 1845
фигура 1

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

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

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

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

Текущие решения электронной почты, соответствующие стандартам S/MIME, обычно не изменяют тело сообщения. Однако многие клиенты не могут читать сообщения электронной почты с непрозрачной подписью. Поэтому рекомендуется отправлять сообщения с четкой подписью.

Проверка цифровых подписей

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

  1. Nuno использует ту же функцию хеширования для создания дайджеста полного открытого текста сообщения, полученного от Линды;
  2. Нуно расшифровывает цифровую подпись с помощью открытого ключа Линды;
  3. Затем Нуно сравнивает дайджест расшифрованного сообщения, полученный им от Линды, с дайджестом сообщения, который он вычислил сам. Если два дайджеста совпадают, он может быть уверен, что полученное им сообщение было отправлено Линдой и не было изменено между ними. Если они не совпадают, это означает, что сообщение не было отправлено Линдой или оно было изменено во время передачи.

Изображение 1846
фигура 2

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

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

Вывод

В этой статье мы представили S/MIME и рассмотрели, как работают цифровые подписи и что они нам дают. В следующей статье мы рассмотрим шифрование сообщений.

  • Безопасность электронной почты с помощью цифровых сертификатов (часть 5)