Защищенная электронная почта S/MIME
Защищенная электронная почта S/MIME
Спецификация Secure Multipurpose Internet Mail Extension (S/MIME) предназначена для защиты наиболее популярного Интернет-сервиса - электронной почты. В силу важности этого сетевого сервиса предпринималось много попыток стандартизовать решения защищенной электронной почты. Одна из первых схем защиты - Privacy Enhanced Mail (PEM) - была предложена в 1985 году. Следующая схема защиты появилась в 1995 году и получила название MIME Object Security Services (MOSS). Несмотря на то, что в них содержалось множество хороших идей, негибкость и отсутствие совместимости отодвинули PEM и MOSS на вторые роли в сфере создания защищенного обмена сообщениями и были вытеснены системами Secure/MIME (S/MIME) и Pretty Good Privacy (PGP).
Протоколы S/MIME и PGP поддерживаются большинством программных продуктов, предназначенных для коллективной работы и защиты электронной почты. Наиболее распространенным и широко признанным стандартом обмена сообщениями стал разработанный в 1996 году стандарт S/MIME. Первоначально компанией RSA Data Security была предложена вторая версия спецификации S/MIME v2 [169], [170], позднее она была доработана рабочей группой организации IETF и в результате появилась новая, третья версия - S/MIME v3 [158], [159].
S/MIME обеспечивает защиту от трех типов нарушений безопасности: "подслушивания", или перлюстрации, искажения сообщений и фальсификации [22]. Защита от перлюстрации достигается путем шифрования сообщений. Для защиты от искажения почтового сообщения или фальсификации в S/MIME применяют цифровые подписи. Цифровая подпись гарантирует, что сообщение не было изменено в процессе передачи. Кроме того, ее наличие не позволяет отправителю сообщения отказаться от своего авторства.
Однако цифровая подпись не гарантирует конфиденциальность сообщения. В S/MIME эту функцию выполняет цифровой конверт. Шифрование осуществляется с помощью симметричного криптографического алгоритма типа DES, Triple-DES или RS2. Симметричный ключ шифруется с помощью открытого ключа получателя, а зашифрованное сообщение и ключ передаются вместе.
Спецификация S/MIME определяет два типа MIME-конверта: один для цифровых подписей, другой - для шифрованных сообщений. Оба типа базируются на синтаксисе криптографических сообщений стандарта PKCS#7 [198]. Если сообщение должно быть зашифровано, а шифртексту должны быть присвоены некоторые атрибуты, используются вложенные конверты. Внешний и внутренний конверт предназначаются для защиты цифровых подписей, а промежуточный конверт - для защиты шифртекста.
Помимо обеспечения целостности сообщения во время передачи, S/MIME идентифицирует обладателя конкретного открытого ключа с помощью сертификата X.509. Цифровой сертификат удостоверяет, что открытый ключ действительно принадлежит тому, кто является субъектом сертификата.
S/MIME v3 поддерживает следующие важные свойства, которые отсутствуют в S/MIME v2:
* заверенные цифровой подписью квитанции;
* метки безопасности;
* списки рассылки;
* гибкое управление ключами.
Заверенные цифровой подписью квитанции позволяют отправителю сообщения удостовериться в том, что оно было получено адресатами без изменений. Получатель сообщения не может сгенерировать валидную квитанцию до тех пор, пока не проверит подпись отправителя на полученном сообщении.
Метки безопасности позволяют отправителю задавать управляющие требования к содержанию сообщения. Чаще всего метка безопасности свидетельствует о включении в содержание сообщения частной или конфиденциальной информации.
Обычно отправитель сообщения шифрует его один раз при помощи симметричного ключа. Затем отправитель должен зашифровать симметричный ключ отдельно, используя открытый ключ того адресата, которому он направляет свое сообщение. Если количество адресатов велико, возникает необходимость делегировать функции шифрования доверенному серверу. Такой сервер называют агентом списка рассылки (Mail List Agent - MLA). Если имеется агент MLA, то отправитель может послать зашифрованное сообщение ему, а тот, в свою очередь, после выполнения соответствующих операций выполняет рассылку сообщения всем адресатам из списка отправителя. При этом MLA не получает доступ к ключу шифрования сообщения и не расшифровывает пересылаемое сообщение.
Если адресаты сообщения территориально распределены (например, находятся на разных континентах), то отправитель посылает зашифрованное сообщение главному агенту MLA, главный агент пересылает его региональным агентам MLA, и, наконец, каждый региональный агент доставляет зашифрованное сообщение локальным получателям [70]. В этом случае сообщение участвует в каждой межконтинентальной коммуникации только один раз. Правда, если в списки рассылки каждого регионального MLA включены адреса всех других региональных агентов, может происходить многократная пересылка сообщения по кругу. Для обнаружения циклов анализируется атрибут "история распространения списка рассылки", содержащийся во внешнем конверте сообщения. Когда агент MLA получает сообщение, то проверяет историю распространения, чтобы определить, не обрабатывалось ли уже данное сообщение. Если сообщение обрабатывалось, оно просто удаляется. Внешний конверт с цифровой подписью обеспечивает целостность истории распространения списка рассылки.
S/MIME v2 обеспечивает только транспортировку ключей шифрования сообщений, а S/MIME v3 дополнительно поддерживает механизмы согласования ключей и внешнего распространения симметричных ключей шифрования ключей.