Электронная цифровая подпись (ЭЦП) позволяет определить, вносились ли в содержание электронного документа какие-то изменения с момента его подписания и удостовериться, что автором является именно то лицо, за которое оно себя выдает.
Шифрование, в отличие от ЭЦП, позволяет лишь защитить передаваемую информацию от ее модификации посторонними лицами, но не позволяет надежно определить автора сообщения.
Пример: Алиса посылает сообщение Бобу. Боб должен иметь возможность совершенно точно удостовериться, что Алиса — это на самом деле Алиса. Ему надо быть уверенным, что отправителем не стала Ева, которая этой Алисой притворилась.
Цифровая подпись не обеспечивает защищенности переписки. Если требуется обеспечение секретности, то необходимо использовать любые методы шифрования информации.
Между обычной подписью на обычном документе и электронной цифровой подписью есть различия, которые нужно рассмотреть перед обсуждением механизма работы системы ЭЦП.
- Обычная подпись – это часть документа. Когда кто-то подписывает документ, то он ставит свою подпись на том же листе бумаге, на котором располагается визированный текст.
ЭЦП – это не часть документа. Получатель принимает данные и ЭЦП раздельно и с помощью определенного алгоритма проверяет, что подпись принадлежит отправителю.
- При применении обычной подписи получатель должен сравнить подпись на документе с ранее полученным образцом подписи. При использовании ЭЦП у получателя такого ранее полученного образца подписи отправителя не хранится.
- У обычной подписи всегда один вид. Для любых документов человек применяет одну и ту же подпись. ЭЦП в корне отличается по этому признаку от обычной подписи – для каждого документа формируется уникальная цифровая подпись.
Система электронной цифровой подписи построена на системе шифрования с открытым ключом. В такой системе работают два ключа – это закрытый (секретный) ключ, которым отправитель подписывает сообщение и открытый (публичный) ключ, с помощью которого получатель проверяет достоверность ЭЦП.
В системе ЭЦП помимо непосредственных участников переписки имеется третье действующее лицо — это удостоверяющий центр (УЦ).
Удостоверяющий центр нужен для того, чтобы решить проблему свободного распространения открытых ключей.
Пример: Алиса хочет проверить переданный Бобом документ, и ей надо каким-то образом получить открытый ключ Боба. Однако сделать это напрямую, особенно по незащищенным каналам связи, не так просто, так как Ева может перехватить открытый ключ, сфальсифицировать его и незаметно передать уже поддельный ключ Алисе. В результате Алиса будет получать письма от Евы, считая их сообщениями Боба. Так вот УЦ является тем лицом, которому доверяют и Боб, и Алиса. В его записях хранится открытый ключ Боба, и Алиса может безопасно получить его. В случае же компрометации закрытого ключа Боба, он легко отзовет соответствующий ему открытый ключ и опубликует новый.
Получение сертификата открытого ключа
Допустим, у Боба есть открытый ключ и ему надо безопасно его опубликовать. Для этого Боб должен обратиться в удостоверяющий центр и подтвердить, что он действительно является тем лицом, за которое себя выдает. Как только УЦ убеждается в достоверности данных, он забирает открытый ключ Боба, подписывает его своей ЭЦП и публикует подписанный открытый ключ Боба в своем общедоступном хранилище.
Теперь Алиса может безопасно получить открытый ключ Боба. Для этого она сначала принимает по любому каналу открытый ключ УЦ, проверяет ЭЦП удостоверяющего центра и если ЭЦП верна, то она использует открытый ключ в качестве ключа Боба.
Открытый ключ, подписанный удостоверяющим центром, часто называют сертификатом открытого ключа или просто сертификатом.
Выбор удостоверяющего центра
УЦ должен обладать четырьмя характеристиками:
- Ему должны доверять большинство пользователей ЭЦП.
- Обновление корневых УЦ должно поддерживаться самыми распространенными программными продуктами.
- Стоимость владения сертификатом для Боба должна быть минимальной.
- Алиса должна легко получить доступ к УЦ, чтобы получить открытый сертификат Боба.
Автор рекомендует воспользоваться услугами удостоверяющего центра компании VeriSign. На конец 2010 года стоимость Сертификата в этом УЦ составляет всего 600 руб./год. Из бесплатных центров можно предложить УЦ Comodo.
Получение личного сертификата (закрытого и открытого ключа ЭЦП) VeriSign
Для получения Сертификата в УЦ VeriSign пройдите по ссылке: http://www.verisign.com/authentication/digital-id/index.html. По указанному адресу зарегистрируйтесь в системе: заполните информацию о себе, подтвердите платежные данные. Через несколько минут на вашем компьютере будет создан сертификат закрытого ключа. Он размещается в хранилище сертификатов, используемого вами интернет-браузера. Одновременно открытый сертификат открытого ключа будет опубликован в УЦ VerSign.
Для Microsoft Internet Explorer сертификаты доступны через «Свойства Обозревателя» → закладка «Содержание» → «Сертификаты» → закладка «Личные сертификаты».

Для Mozilla FireFox версии 3.5 доступ к хранилищу осуществляется через меню «Инструменты» → «Настройки» → «Дополнительно» → «Просмотр сертификатов». Личные сертификаты (открытые и закрытые ключи ЭЦП) видны на закладке «Ваши сертификаты».

Получение сертификата открытого ключа VeriSign
Чтобы проверить верность ЭЦП, нужен публичный ключ отправителя, подписанный удостоверяющим центром, так называемый сертификат открытого ключа.
Если ключ подписи ЭЦП был выдан отправителю в VeriSign, то его открытый ключ адресат может легко получить на сайте компании по адресу: https://digitalid.verisign.com/services/client/index.html. По указанной ссылке в поле поиска вводится электронная почта отправителя (Enter the E-mail Address) и включается поиск (Search). В новом окне надо выбрать действительный ключ респондента и по кнопке «Download» скачать бесплатный Сертификат в нужном формате для нужной программной среды. Лучше всего использовать формат PKCS#7, так как он является стандартом обмена открытыми ключами и понимается всеми программами. Теперь загруженный Сертификат открытого ключа надо импортировать в хранилище сертификатов, после чего можно приступать к рассмотрению способов применения ЭЦП.
В Microsoft Internet Explorer импортирование происходит следующим образом: «Свойства Обозревателя» → закладка «Содержание» → «Сертификаты» → закладка «Личные сертификаты» → «Другие пользователи» → кнопка «Импорт».
В Mozilla FireFox импорт ключа осуществляется через меню «Инструменты» → «Настройки» → «Дополнительно» → «Просмотр сертификатов» → закладка «Люди».
Электронная почта
Получая письма по незащищенным каналам электронной почты, можно легко стать жертвой обмана, когда злоумышленник фальсифицирует автора сообщений (отправителя). Использование средств ЭЦП позволяет избежать этой опасности. Рассмотрим, как можно настроить электронную цифровую подпись в двух наиболее популярных почтовых клиентах — MS Outlook 2010 и Mozilla Thunderbird 3.1. Они оба используют протокол S/MIME, необходимый для пересылки писем с ЭЦП, без установки дополнительных программных продуктов.
Настройка Mozilla Thunderbird 3.1
- Устанавливаем личный сертификат (открытый и закрытые ключи): меню «Инструменты» → «Настройки» → Сертификаты → Просмотр сертификатов → закладка «Ваши сертификаты» → кнопка «Импортировать».

- Устанавливаем сертификаты людей, чью подпись необходимо проверить: меню «Инструменты» → «Настройки» → Сертификаты → Просмотр сертификатов → закладка «Люди» → кнопка «Импортировать».
- Настраиваем учетную запись: меню «Инструменты» → «Параметры учетной записи». Откроется раздел «Защита», где кнопкой «Выбор» указать ранее установленный личный сертификат.
Использование ЭЦП в Mozilla Thunderbird 3.1
По окончании составления/редактирования письма в панели инструментов выбрать иконку «Защита» и поставить галочку в пункте «Цифровая подпись», после чего отослать сообщение обычным образом.

Настройка MS Outlook 2010
- Устанавливаем личный сертификат (открытый и закрытые ключи): меню «Файл» → «Параметры» → «Центр управления безопасностью» → «Параметры центра управления безопасностью» → «Защита электронной почты» → в разделе «Цифровые удостоверения» импортируйте имеющийся личный сертификат в формате PKCS#12, используя кнопку «Импорт/Экспорт». Предварительно укажите имя файла (можно через «Обзор») и пароль, придуманный Вами при создании личного сертификата. В поле «Цифровое удостоверение» впишите имя файла, выбранного по кнопке «Обзор».

- Устанавливаем сертификаты людей, чью подпись нужно проверить: адресная книга → создать контакт. Указываем ФИО и e-mail адресата, с которым планируем обмениваться документами с использованием ЭЦП. На ленте с функциональными иконками находим «Сертификаты» и загружаем Сертификат открытого ключа, нажав кнопку «Импорт».

Использование ЭЦП в MS Outlook 2010
После редактирования письма в меню «Параметры» выбрать иконку «Подписать». Далее отослать сообщение обычным образом.
Проверка корректности ЭЦП
При отправке письма с ЭЦП и в Mozilla Thunderbird, и в MS Outlook 2010 в заголовке сообщения автоматически появляется иконка с уведомлением о корректности ЭЦП или каких-то других ошибках.
Документооборот в офисных пакетах с использованием ЭЦП
Использовать ЭЦП можно также в обычных офисных пакетах, как MS Office или Open Office. Однако эти программы, имея поддержку форматов файлов, не совместимы друг с другом на уровне ЭЦП. В результате, подписав документ в одной системе невозможно проверить подпись в другой.
Использование ЭЦП в MS Word 2007
Для использования ЭЦП в MS Word 2007 какой-то дополнительной настройки не нужно. Для подписи документов существует личный сертификат, установленный в системе: открываем «Офис» → «Подготовить» → «Добавить цифровую подпись». Сразу хотим предупредить, что после подписи документа его редактирование будет запрещено. Если вам необходимо внести какие-то изменения, сначала придется удалить ЭЦП.
Использование ЭЦП в OpenOffice Writer
Для использования ЭЦП в OpenOffice Writer также не требуется дополнительной настройки. Сертификаты берутся из системного хранилища: сохраняем файл в формате ODT, после чего подписываем документ через меню «Файл» → «Цифровые подписи» → «Добавить».