|
Версия 6.4 |
|
| ||||||||||||||||||||||||
Инфраструктура Открытых Ключей (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 хранит Закрытый Ключ в Установках Пользователя, но он шифрует Закрытый ключ при помощи Пароля Функций Защиты. Для того, чтобы использовать любую из функций Безопасной Почты, вы должны сначала ввести Пароль Функций Защиты, что позволит серверу расшифровать ваш Закрытый Ключ. Обратите внимание: Сервер не хранит у себя ваш Пароль Функций Защиты. Если вы забудете пароль, вам необходимо будет получить новый Закрытый Ключ и Сертификат. Это означает, что вы не сможете расшифровать сообщения, зашифрованные вашим старым Открытым Ключом. Обратите внимание: Очень важно помнить пароль Функций Защиты, и это не слишком сложно: Пароль Функций Защиты может быть фразой на любом языке (длинной до 100 символов). Вы можете использовать как обычный почтовый клиент (такой как Microsoft® Outlook или Netscape® Messenger) для получение личного Закрытого Ключа и Сертификата (также называемого Цифровым Паспортом). Вы можете экспортировать этот "Цифровой Паспорт" в .pfx файл или .p12 файл (так называемый PKCS#12-файл). Чтобы защитить ваши данные, почтовая программа попросит вас ввести пароль и зашифрует экспортированную информацию этим паролем. Соединитесь с сервером, используя Веб Интерфейс Пользователя и выберите раздел Настройки. Нажмите на ссылку S/MIME Защита, чтобы открыть страницу, содержащую следующие поля: Обратите внимание: Если вы не видите ссылку S/MIME Защита на странице Настройки, это означает, что для вашего Пользователя или в вашем Домене услуги S/MIME выключены. Вы можете экспортировать этот "Цифровой Паспорт" в .pfx файл или .p12 файл (так называемый PKCS#12-файл). Введите Пароль Файла, использованный при создании этого файла. Введите пароль, который будет Паролем Функций Защиты - этот пароль будет защищать ваш Закрытый Ключ на сервере CommuniGate Pro. Введите этот пароль дважды, в оба поля и нажмите на кнопку Импорт Ключа и Сертификата. Если вы ввели правильный Пароль Файла, то Сертификат и Закрытый Ключ будут сохранены в ваших Установках Пользователя CommuniGate Pro. В качестве альтернативы, вы можете попросить сервер CommuniGate Pro сгенерировать для вас Сертификат и Закрытый Ключ. Используйте кнопку Генерация Ключа и Сертификата: Как и при импорте Ключа и Сертификата, вам необходимо будет дважды ввести пароль, который будет вашим Паролем Функций Защиты. Созданный Сертификат будет выпущен для вашего адреса электронной почты - так, как вы указали его в Настройках Веб Интерфейса Пользователя в поле От Кого, но только если адрес указывает на вашего Пользователя. В противном случае, Сертификат выдаётся на адрес вашего Пользователя CommuniGate Pro. Созданный Сертификат подписан сертификатом сервера CommuniGate Pro. На странице S/MIME Защита теперь показываются данные вашего Сертификата и размер Закрытого Ключа. Чтобы изменить ваш Пароль Функций Защиты, дважды введите новый пароль в поле Изменить Пароль Защищённой Почты и нажмите на кнопку Изменить. Введите пароль, который будет использоваться для шифрования файлов с информацией Ключа и Сертификата (вам необходимо ввести его дважды) и нажмите на кнопку Экспортировать. Ваш браузер должен спросить вас, где следует сохранить файл CertAndKey.pfx (вы можете переименовать его). Если вы решите удалить ваш Закрытый Ключ и Сертификат, то вам необходимо скопировать его в файл. Это сделано для того, чтобы гарантировать вам возможность восстановления этой информации в случае, если вы удалили Ключ по ошибке. Помните, что, если вы полностью удалили Закрытый Ключ и не имеете файла, откуда вы могли бы восстановить его, все зашифрованные сообщения, отправленные вам ранее, станут полностью нечитаемыми. Для удаления Ключа и Сертификата введите имя файла, в котором находится ваш Ключ и Сертификат, введите пароль этого файла, а затем нажмите на кнопку Сравнить с Файлом и Удалить. CommuniGate Pro расшифрует файл при помощи указанного пароля и сравнит его содержимое с вашим текущим Закрытым Ключом. Если Ключи Совпадут, то Закрытый Ключ и Сертификат удаляются из ваших Установок Пользователя. Активация Закрытого КлючаКогда Закрытый Ключ помещается в Установки Пользователя, он активируется. Веб Интерфейс Пользователя автоматически расшифровывает все сообщения, зашифрованные вашим Сертификатом/Закрытым Ключом, и вы можете отправлять зашифрованные и подписанные сообщения. Чтобы защитить важную информацию, ваш Закрытый ключ автоматически деактивируется ("блокируется") каждые 3 минуты. Если вы заканчиваете сессию работы в Веб Интерфейсе Пользователя, а затем входите на сервер снова, ваш Закрытый Ключ не будет автоматически активирован. Чтобы снова активировать Закрытый Ключ, вам необходимо ввести Пароль Функций Защиты на любой из страниц Веб Интерфейса Пользователя CommuniGate Pro, на которой отображается панель Активирования S/MIME Ключа: Получение Подписанных СообщенийСообщение, хранящееся в папке (или часть сообщения) может иметь цифровую подпись. Когда вы открываете такое сообщение, компонент Веб Интерфейс Пользователя автоматически проверяет целостность подписанной части. Он получает данные о Подписавших сообщение из Подписей и пытается проверить подписи всех тех, кто подписал это сообщение. Затем он показывает список подписавших, чьи подписи проверены и соответствуют содержанию сообщения:
Если подпись не может быть проверена, высвечивается сообщение об ошибке. Запись СертификатовВ подписанном сообщении находится Сертификат подписавшего. На странице Сообщения появляется Кнопка Запомнить Сертификат. Нажав на эту кнопку, вы можете включить адрес электронной почты, имя подписавшего (как указано в Сертификате, а не в заголовках сообщения) и сертификат отправителя в вашу текущую Записную Книгу. При показе содержимого Записной Книги, отметка [@] свидетельствует о том, что для этих записей имеются сертификаты. На эти адреса вы можете отправлять зашифрованные сообщения. Отправка Подписанных СообщенийДля того, чтобы Отправить подписанное сообщение, убедитесь, что ваш Закрытый Ключ разблокирован. Если он разблокирован, вы увидите флажок "Подписать" на странице Создания сообщения. Отметьте этот флажок, чтобы подписать сообщение. Если вы отправляете сообщение с приложениями, то всё содержимое вашего сообщения, включая приложения, будет подписано вашим Закрытым Ключом и ваш Сертификат будет добавлен к подписи сообщения. Получатели вашего Подписанного сообщения будут в состоянии проверить, что содержимое сообщения не было изменено, а также они смогут сохранить ваш Сертификат и использовать его впоследствии для отправки вам зашифрованных сообщений. Отправка Зашифрованных СообщенийЧтобы Отправить зашифрованное сообщение, убедитесь, что ваш Закрытый Ключ разблокирован, все получатели сообщения включены в вашу Записную Книгу и что в Записной Книге имеются их сертификаты. Если ваш Закрытый Ключ разблокирован, то на странице Создания сообщения вы увидите флажок Зашифровать. Отметьте этот флажок, чтобы зашифровать сообщение. Если вы отправляете сообщение с приложениями, то всё содержимое вашего сообщения, включая приложения, будет зашифровано Открытыми Ключами получателей (полученными из Сертификатов) и вашим собственным Открытым Ключом. В результате, если копия зашифрованного сообщения сохраняется в вашей папке Sent, то вы сами сможете прочитать (расшифровать) его. Если вы выберите обе опции Подписать и Зашифровать, то сообщение будет создано как Подписанное, а затем всё его содержимое (включая заголовки сообщения и вашу подпись) будет зашифровано. Используйте настройку Методы Шифрования Веб Интерфейса Пользователя для указания "типа" шифрования. Получение Зашифрованных СообщенийКогда вы получаете зашифрованное сообщение, его содержимое не показывается: Сначала вам необходимо активировать (разблокировать) ваш Закрытый Ключ. С разблокированным Закрытым Ключом модуль Веб Интерфейс Пользователя пытается расшифровывать вашим Закрытым Ключом все зашифрованные сообщения. Если он смог расшифровать сообщение, то показывается содержимое сообщения: Если вы захотите сохранить сообщение в папке в расшифрованном виде, нажмите на кнопку Расшифровать. Сервер попытается расшифровать зашифрованное сообщение. Если он сможет его расшифровать, то он сохранит его в вашей папке расшифрованным и удалит оригинальное зашифрованное сообщение. Шифрование Хранящихся СообщенийЕсли вы получаете незашифрованное сообщение, то, возможно, вы захотите сохранить его в папке зашифрованным. Активируйте (разблокируйте) ваш Закрытый Ключ и нажмите на кнопку Зашифровать. Ваш Закрытый Ключ не используется для шифрования (используется Открытый Ключ из вашего Сертификата), так что разблокирование Закрытого Ключа необходимо только чтобы убедиться, что вы будете в состоянии расшифровать сообщение после того, как оно было зашифровано. Шифрование Входящих СообщенийВы можете автоматически шифровать некоторые из приходящих вам сообщений. Дополнительную информацию смотрите в разделе Правила, действие Записать Зашифровано в. |