Электронная подпись в OpenOffice.org

From Apache OpenOffice Wiki
< RU‎ | security
Jump to: navigation, search


В OpenOffice.org есть возможность подписывать своей цифровой подписью создаваемые документы. Причём это делать достаточно легко.


Но прежде, чем подписывать документы OpenOffice.org, необходимо получить (или создать) личный цифровой сертификат (digital certificate) и установить его на свою машину. Digital certificate - это защищённый паролем файл, в котором хранится различная информация - имя владельца, его e-mail адрес, ключ шифрования, а также наименование организации, выдавшей этот сертификат, и дату, после которой цифровой сертификат считается недействительным (expiration period). Большинство организаций, выдающие сертификаты, делают это на коммерческой основе и требует оплаты за их выдачу. Большинство, но не все. Существует некоммерческая ассоциация CACert[1], которая выдаёт цифровые сертификаты бесплатно.


Так же можно выдать сертификат самому себе - так называемый "самоподписанный цифровой сертификат" (self-signed certificate).


Рассмотрим оба варианта получения сертификата.


Вариант 1. CACert

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

Documentation note.png Вся обработка производится на Java, поэтому в браузере должна быть разрешена его работа.


Щёлкнув по ссылке, указывающей на инсталляцию сертификата, Java установит сертификат на машину. Точнее - в браузер.

Рассмотрим проверку сертификата и создание его копии отдельным файлом на примере ОС MS Windows и браузера Mozilla Firefox. Файл сертификата нам понадобится в дальнейшем.

В меню Firefox откроем Инструменты → Настройки → Дополнительно → Просмотр Сертификатов. Там будет виден только что установленный сертификат, подписанный сервером CACert. Следует сохранить его в отдельном файле. В открытом окне нужно щёлкнуть по кнопке "Резервная копия", дать имя файлу и выбрать место на диске. Двойной щелчок на этом файле приведёт к запуску мастера Windows, который начнёт процедуру инсталляции сертификата на компьютер.


Вариант 2. Самоподписанный сертификат

Смотподписанный сертификат можно изготовить самому если использовать бесплатную программу SELFCERT[2]. Установка SELFCERT и создание с её помощью сертификата является простой задачей. В окне программы необходимо заполнить поля с личными данными - Имя, фамилия, е-майл. Придумать пароль и сохранить сертификат файлом на диске. Методика установки такого self-signed certificate в систему ничем не отличается от метода описанного выше.

Установленные сертификаты в системе можно посмотреть. Для этого нужно выполнить в командной строке MS Windows команду certmgr.msc – она запустит программу управления всеми сертификатами, присутствующими в системе. Новые сертификаты будут расположены в папке "Личные".


Как подписать документ OpenOffice.org

Предположим, вы работаете в OpenOffice.org Writer и готовите важный документ, который следует заверить электронной цифровой подписью. Для этого есть меню Файл → Цифровые подписи, далее щёлкнуть кнопку  Добавить . Откроется диалоговое окно, показывающее установленные в операционной системе сертификаты. Нужно выбрать свой сертификат и щёлкнуть  OK .

На этом всё - документ подписан.

В строке статуса OpenOffice.org Writer должно появиться изображение (Seal icon), говорящее о том, что этот документ подписан. Двойной клик по этой пиктограмме откроет окно, в котором будет показан сертификат автора документа.

Как относиться к сертификату

В обычной жизни люди не выписывают сами себе сертификаты. Например, сертификаты качества товаров или сертификаты специалистов. Этим занимается некоторая сторонняя организация, чаще всего всего государственная. Сертификат, выданный такой третьей независимой ни от кого стороной, гарантирует подлинность заверяемого объекта.

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

В IT роль государственных сертифицирующих органов выполняют Центры Сертификации (CA, Certificate Authorization). Выше мы говорили о том, что получение сертификата требует оплаты у большинства CA. Это не касается Центра CACert.


Для того, чтобы система проверки сертификатов, выданных в CACert заработала на компьютере, необходимо, чтобы вычислительная система безоговорочно доверяла этому Центру. Для этого нужно сертификат CACert внести в список «Корневых Доверенных Центров». В ОС MS Windows это делается при помощи certmgr. В данном случае мы говорим о так называемых «Корневых Сертификатах» (Root Certificate), которым должен обладать любой Центр CA. Следует знать, что основываясь на своём «Корневом Сертификате» (Root Certificate), Центры CA выдают пользовательские сертификаты своим клиентам. В свою очередь пользователи, «завязанные» на такой Цент Сертификации, могут перепроверять сертификаты друг друга.


Круг замкнулся. Люди устанавливают в свой список «Корневых Доверенных Центров» «Корневой Сертификат» от CACert. Люди получают пользовательские сертификаты от CACert. Теперь все, кто поставил «во главу угла» CACert в качестве авторизатора, легко могут перепроверять сертификаты друг друга.


Методика установки «Корневого Сертификата» CACert

На сайте CACert следует отправиться на страницу Root Certificate. Там есть несколько различных способов установки их «Корневого Сертификата»:

  • Для Microsoft Internet Explorer. Через ActiveX будет запущен инсталлятор.
  • Root Certificate (PEM Format) – установит его в браузер Mozilla Firefox.
  • Root Certificate (DER Format) – запустит инсталлятор для его установки. Выбирайте этот метод.


Для облегчения работы

Tip.png Для случая, кода должность не позволяет "верить на слово" любому документу, полученному по Е-майл.


Предположим, вы и ваш руководитель получили сертификаты, подписанные у CACert, и внесли этот Центр в качестве Корневого Доверенного в свои системы. Теперь любой документ OpenOffice.org, подписанный руководителем, вы легко можете проверить на подлинность.


Рассмотрим ситуацию: руководитель высылает электронной почтой вам распорядительный документ, подписанный своим сертификатом. Транспорт электронной почты ненадёжен и письмо в процессе доставки легко может быть модифицировано. Хакер может перехватить письмо, отредактировать документ руководителя и переслать его на ваш адрес. Просматривая у себя на месте в OpenOffice.org Writer такой поддельный документ вы быстро обнаружите что документ не содержит цифровой подписи.


Дело в том, что цифровой сертификат, внедрённый в документ OpenOffice.org Writer, не "живёт вечно". Это отличает его от других систем, таких как PGP или GPG. Которые буквально сливают в единое и неделимое – и текст документа, и цифровую подпись. Подписанные документы можно модифицировать, но при этом теряется их «оригинальность» и, следовательно, удаляется подпись того кто его создал.


Если открыть подписанный документ OpenOffice.org и начать вносить в него исправления, то первичная цифровая подпись будет удалена из документа автоматически. У редактора останется несколько вариантов:

  • либо сохранить документ в исходном варианте с потерей изменений и сохранением оригинальной подписи первичного автора.
  • либо сохранить документ с внесёнными исправлениями. При этом авторская подпись из документа автоматически будет удалена. Поставить под документом свою подпись (или не ставить её).

Всегда полезно взглянуть на свойства документ через меню OpenOffice.org Файл → Свойства.

Documentation caution.png Отличительная функция OpenOffice.org - "стирание личной информации" удаляет все цифровые подписи.


Какой из описанных методов получения сертификата предпочтительнее

Безусловно, получение от CACert. Пользуясь его услугами, вы гарантированно расширяете зону проверки сертификатов других людей в Интернете. Отсюда вывод – чем больше людей получит сертификатов от CACert, тем проще людям проверять сертификаты друг друга.

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

Tip.png Самоподписанный сертификат во "внешнем мире" бесполезен - его никто не сможет проверить, но актуален, если у вас есть домен и документы циркулируют внутри него.










  1. [17] CACert. Центр электронных сертификатов.
  2. [18] abylonsoft.com


Personal tools