CommuniGate Pro
Версия 5.1
 
Веб Почта
 
 
S/MIME

Веб Почта: Безопасная Почта (S/MIME)

Работа с Безопасной Почтой (S/MIME) в CommuniGate Pro основывается на технологии Открытых Ключей. Используя S/MIME, вы можете:

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

Инфраструктура Открытых Ключей (PKI)

В технологии Открытых Ключей используется так называемая ассиметричная криптография. При использовании обычной, симметричной криптографии, обе стороны должны знать некоторый "ключ" или "пароль" (называемый также "общим секретом"). До того, как стороны смогут безопасно обмениваться защищёнными данным, им необходимо передать друг другу этот "общий секрет" и это является главной проблемой в симметричной криптографии: "общий секрет" может быть украден или перехвачен.

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

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

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

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

На практике PKI не используется для шифрования реальных данных. Вместо этого генерируется "обычный ключ" ("общий секрет", "пароль"), реальные данные зашифровываются при помощи этого "общего секрета", а PKI используется для шифрования этого "общего секрета". Зашифрованный "общий секрет" передаётся вместе с данными. Получатель использует свой Закрытый Ключ для расшифровки "общего секрета", а затем этот "общий секрет" используется как и в обычной, симметричной криптографии, для расшифровки реальных данных.

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

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

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


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

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

Дайджест - это относительно короткое (16-40 байт) число с "контрольной суммой" сообщения. Алгоритмы, используемые для создания "дайджестов" таковы, что очень трудно создать 2 различных сообщения, которые имели бы одинаковый дайджест.

Для создания подписи сообщения, отправляющая его программа:

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

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


Сертификаты

Как методы шифрования, так и методы подписывания предполагают, что стороны могут свободно обмениваться информацией об Открытых Ключах. PKI снимает риск "кражи ключа": предполагается, что Открытый Ключ может быть известен всем (может быть "известен публично").
Но всегда существует другой риск - когда сторона получает Открытый Ключ, она должна быть уверенной, что этот ключ в действительности принадлежит тому, кому надо. В противном случае третья сторона может сгенерировать свою собственную пару Закрытый/Открытый Ключ и отправить в центр Открытый Ключ, притворившись, что этот Открытый Ключ принадлежит шпиону. Если центр не заметит эту подделку, то он будет использовать этот ключ для шифрования информации, передаваемой шпиону. Шпион будет не в состоянии прочитать её (она зашифрована неверным Открытым Ключом), но третья сторона, выпустившая эту пару ключей, сможет расшифровать информацию, так как она обладает соответствующим Закрытым Ключом.

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

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

По получении сертификата, получающая сторона может проверить, выпущен ли сертификат "доверенным центром сертификации": проверяется, является ли имя "эмитента" Сертификата одним из "Доверенных Центров Сертификации" и используется заранее известный Открытый Ключ этого Центра для проверки подписи Сертификата. Если подпись проверена, то сторона может доверять тому, что Открытый Ключ в Сертификате действительно принадлежит стороне, указанной в Теме Сертификата.

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


Закрытый Ключ и Хранение Сертификата

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

CommuniGate Pro хранит Сертификаты в Установках Пользователя (в элементе "userCertificate"), а также, если включена Интеграция со Справочником, копирует Сертификат в Справочник.

CommuniGate Pro хранит Закрытый Ключ в Установках Пользователя, но он шифрует Закрытый ключ при помощи Пароля Функций Защиты. Для того, что бы использовать любую из функций Безопасной Почты, вы должны сначала ввести Пароль Функций Защиты, что позволит серверу расшифровать ваш Закрытый Ключ.

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

Обратите внимание: Хотя очень важно, что бы вы помнили ваш Пароль Функций Защиты, сделать это не так сложно: Пароль Функций Защиты может быть фразой на любом языке (длинной до 100 символов).

Вы можете использовать как обычного почтового клиента (такого, как Microsoft® Outlook или Netscape® Messenger) для получение личного Закрытого Ключа и Сертификата (также называемого Цифровым Паспортом). Вы можете экспортировать этот "Цифровой Паспорт" в .pfx файл или .p12 файл (так называемый PKCS#12-файл). Для того, что бы защитить ваши данные, почтовая программа попросит вас ввести пароль и зашифрует экспортированную информацию этим паролем.
Обратите внимание: хотя формат файла допускает использование в пароле не ASCII символов, вы должны использовать только ASCII символы, так как большинство почтовых клиентов (включая Outlook) некорректно обрабатывают символы национальных алфавитов.

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

Настройки: S/MIME Защита
Общие Пароль Папки Создание Календарь Записные Книги S/MIME Защита О Себе
Новый Пароль
Повтор Нового Пароля
Импорт Ключа и Сертификата PFX Файл
Пароль Файла

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

Вы можете экспортировать этот "Цифровой Паспорт" в .pfx файл или .p12 файл (так называемый PKCS#12-файл). Введите Пароль Файла, использованный при создании этого файла.

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

Как альтернатива, вы можете попросить сервер CommuniGate Pro сгенерировать для вас Сертификат и Закрытый Ключ. Используйте кнопку Генерация Ключа и Сертификата:

Настройки: S/MIME Защита
Общие Пароль Папки Создание Календарь Записные Книги S/MIME Защита О Себе
Новый Пароль
Повтор Нового Пароля
Импорт Ключа и Сертификата PFX Файл
Пароль Файла

Как и при импорте Ключа и Сертификата, вам необходимо будет дважды ввести пароль, который будет вашим Паролем Функций Защиты.

Созданный Сертификат будет выпущен для вашего адреса электронной почты - так, как вы указали его в Настройках Веб Интерфейса Пользователя в поле От Кого, но только если адрес указывает на вашего Пользователя. В противном случае, Сертификат выдаётся на адрес вашего Пользователя CommuniGate Pro.

Созданный Сертификат подписан сертификатом сервера CommuniGate Pro.

На странице S/MIME Защита теперь показываются данные вашего Сертификата и размер Закрытого Ключа.

Настройки: S/MIME Защита
Общие Пароль Папки Создание Календарь Записные Книги S/MIME Защита О Себе
Изменить Пароль Защищенной Почты Новый Пароль
Повтор Нового Пароля
  Экспорт Ключа и Сертификата
Удаление Ключа и Сертификата PFX Файл
Пароль Файла

Для того, что бы изменить ваш Пароль Функций Защиты, дважды введите новый пароль в поле Изменить Пароль Защищенной Почты и нажмите на кнопку Изменить.

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

Экспорт Ключа и Сертификата
Общие Пароль Папки Создание Календарь Записные Книги S/MIME Защита О Себе
Экспортировать Пароль Файла
Повтор Пароля Файла

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

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

Для удаления Ключа и Сертификата введите имя файла, в котором находится ваш Ключ и иСертификат, введите пароль этого файла, а затем нажмите на кнопку Сравнить с Файлом и Удалить. CommuniGate Pro расшифрует файл при помощи указанного пароля и сравнит его содержимое с вашим текущим Закрытым Ключом. Если Ключи Совпадут, то Закрытый Ключ и Сертификат удаляются из ваших Установок Пользователя.


Активация Закрытого Ключа

Когда Закрытый Ключ помещается в ваши Установки Пользователя, он активируется. Веб Интерфейс Пользователя автоматически расшифровывает все сообщения, зашифрованные вашим Сертификатом/Закрытым Ключом, и вы можете отправлять зашифрованные и подписанные сообщения. Для того, что бы защитить важную информацию, ваш Закрытый ключ автоматически деактивируется ("блокируется") каждые 3 минуты. Если вы заканчиваете сессию работы в Веб Интерфейсе Пользователя, а затем входите на сервер снова, ваш Закрытый Ключ не будет автоматически активирован.

Для того, что бы снова активировать Закрытый Ключ, вам необходимо ввести Пароль Функций Защиты на любой из страниц Веб Интерфейса Пользователя CommuniGate Pro, на которой отображается панель Активирования S/MIME Ключа:

Настройки: S/MIME Защита
Общие Пароль Папки Создание Календарь Записные Книги S/MIME Защита О Себе
Функции Защиты заблокированы Пароль Функций Защиты

Получение Подписанных Сообщений

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

Подписано Цифровой Подписью (Text SHA1)
Уважаемые Господа, 

Мы очень благодарны вам за ваше предложение. Мы принимаем его.

Искренне ваши, 
Образцовые Посылатели
Содержимое Корректно, проверено:
Sample Sender <sender@domain.dom>

Если подпись не может быть проверена, высвечивается сообщение об ошибке.


Запись Сертификатов

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

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


Отправка Подписанных Сообщений

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

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


Отправка Зашифрованных Сообщений

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

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

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

Используйте настройку Методы Шифрования Веб Интерфейса Пользователя для указания "типа" шифрования.


Получение Зашифрованных Сообщений

Когда вы получаете зашифрованное сообщение, его содержимое не показывается:

Зашифровано
 
Пароль Функций Защиты:

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

Зашифровано (40бит)
Тема: Отчёт о проделанной работе
От Кого: The Agent <agent@company.dom>
Кому: The Center <center@company.dom>
Юстас - Алексу

За отчётный период отчитывался об отчётном периоде. Планирую закончить отчёт в следующем отчётном периоде.

Искренне Ваш,
Юстас.

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


Шифрование Хранящихся Сообщений

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


Шифрование Входящих Сообщений

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


Руководство CommuniGate® Pro. Copyright © 1998-2007, Stalker Software, Inc.