6.3. Настройка электронно-цифровой подписи

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

6.3.1. Назначение и применение ЭЦП

Электронная подпись предназначена для идентификации лица, подписавшего электронный документ, и является полноценной заменой (аналогом) собственноручной подписи в случаях, предусмотренных законом Республики Казахстан «Об электронном документе и электронной цифровой подписи»

Использование электронной подписи позволяет осуществить:

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

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

  • Невозможность отказа от авторства. Так как создать корректную подпись можно, лишь зная закрытый ключ, а он известен только владельцу, он не может отказаться от своей подписи под документом.

  • Доказательное подтверждение авторства документа: Так как создать корректную подпись можно, лишь зная закрытый ключ, а он известен только владельцу, он может доказать свое авторство подписи под документом. В зависимости от деталей определения документа могут быть подписаны такие поля, как «автор», «внесенные изменения», «метка времени» и т.д.

ARTA Synergy поддерживает:

  • контейнеры ключей java-криптопровайдера IOLA;

  • контейнеры ключей с типом хранилища ключей «файловая система» (PKCS12) java-криптопровайдера Kalkan Crypt версия 1.0.

К ЭЦП документа Synergy введены следующие требования:

  • Подпись хранится отдельно от подписываемых данных (detached signature).

  • Подпись документа является краткосрочной (short term signature) — верификация подписи имеет смысл только в период действия сертификата подписывающего.

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

  • Дата и время создания подписи (берется с сервера Synergy) должны входить в подписываемые данные.

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

  • Данные о получателе сертификата:

    • имя (Common Name)

    • организация (Organisation).

  • Данные об учреждении, выдавшем сертификат:

    • название (Common Name)

    • организация (Organization)

    • местонахождение (Location)

    • страна (Country)

  • Данные о сертификате:

    • формат сертификата (Format)

    • дата его создания (Creation Date)

    • дата окончания срока действия (Expiration Date)

    • статус по действительности (действителен или просрочен)

  • Данные об алгоритме, которым созданы ключи (Algorithm).

Также при подписании на стороне сервера Synergy сертификат, которым будет подписан документ, подвергается следующим проверкам:

  • Проверка действительности сертификационного пути - подтверждает действительность всех сертификатов, задействованных при подписании сертификата.

  • Проверка срока действия сертификата.

  • Проверка статуса сертификата (действителен или отозван) — по методу проверки с помощью CRL, а также с помощью OSCP.

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

6.3.2. Настройка ЭЦП

6.3.2.1. Настройка конфигурационного файла

Сохранить (например, в папке /etc) корневые сертификаты:

а также:

6.3.2.2. Настройка ЭЦП в конфигурационном файле

Ввести в терминале команду:

nano /opt/synergy/jboss/standalone/configuration/arta/security/digital-signature.xml

Затем отредактировать конфигурационный файл, включив использование цифровой подписи и указав путь до каталога с доверенными корневыми сертификатами.

Пример конфигурационного файла:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration >
        <!-- Включить использование цифровой подписи -->
        <enable>
          true
        </enable>
        <!-- Блок, описывающий доверенный сертификационный центр -->
        <!-- Таких блоков может быть несколько -->
        <ca>
          <!-- Описание CA -->
          <description>Корневой сертификат НУЦ РК</description>
          <!-- Поддерживаемые схемы URI: file и http -->
          <!-- Путь до файла с корневым сертификатом -->
          <certificate-uri>
            file:///etc/pki_rsa.crt
          </certificate-uri>
          <!-- Алгоритм цифровой подписи, который использует
               этот сертификационный центр. Название алгоритма
               чувствительно к регистру. -->
          <!-- Поддерживаемые ARTA Synergy алгоритмы:
               SHA1withRSA
               MD5WithRSA
               SHA256withRSA
               SHA512withRSA
               ECGOST3410
          -->
          <algorithm>
            SHA1withRSA
          </algorithm>
          <!-- Основной список CRL -->
          <base-crl>
            <!-- Включить использование основного CRL -->
            <enable>
              true
            </enable>
            <!-- Путь до основного CRL -->
            <uri>
              file:///etc/pki.gov.kz.crl
            </uri>
            <!-- Период обновления основного CRL, в минутах
                 Значение по умолчанию - 1 неделя -->
            <period>
              10080
            </period>
          </base-crl>
          <!-- Список Delta CRL -->
          <delta-crl>
            <!-- Включить использование Delta CRL -->
            <enable>
              true
            </enable>
            <!-- Путь до Delta CRL -->
            <uri>
              file:///etc/pki.gov.kz_delta.crl
            </uri>
            <!-- Период обновления основного CRL, в минутах -->
            <period>
              60
            </period>
          </delta-crl>
        </ca>
        <ca>
          <!-- Описание CA -->
          <description>Корневой сертификат НУЦ РК</description>
          <!-- Поддерживаемые схемы URI: file и http -->
          <!-- Путь до файла с корневым сертификатом -->
          <certificate-uri>
            file:///etc/pki_gost.crt
          </certificate-uri>
          <!-- Алгоритм цифровой подписи, который использует
               этот сертификационный центр. Название алгоритма
               чувствительно к регистру. -->
          <!-- Поддерживаемые ARTA Synergy алгоритмы:
               SHA1withRSA
               MD5WithRSA
               SHA256withRSA
               SHA512withRSA
               ECGOST3410
          -->
          <algorithm>
            ECGOST3410
          </algorithm>
          <!-- Основной список CRL -->
          <base-crl>
            <!-- Включить использование основного CRL -->
            <enable>
              true
            </enable>
            <!-- Путь до основного CRL -->
            <uri>
              file:///etc/pki.gov.kz.crl
            </uri>
            <!-- Период обновления основного CRL, в минутах
                 Значение по умолчанию - 1 неделя -->
            <period>
              10080
            </period>
          </base-crl>
          <!-- Список Delta CRL -->
          <delta-crl>
            <!-- Включить использование Delta CRL -->
            <enable>
              true
            </enable>
            <!-- Путь до Delta CRL -->
            <uri>
              file:///etc/pki.gov.kz_delta.crl
            </uri>
            <!-- Период обновления основного CRL, в минутах -->
            <period>
              60
            </period>
          </delta-crl>
        </ca>
      </configuration>

После редактирования нужно перезагрузить Jboss командой /etc/init.d/arta-synergy-jboss restart.

6.3.2.3. Настройка при работе по https

В случае работы по https-каналу нужно проверить/добавить соответствие имени сервера его IP-адресу вида IP hostname. Для GNU/Linux это соответствие задаётся в файле/etc/hosts, например: 192.168.1.218 ikpd.org

Рисунок 6.11. Файл hosts

Файл hosts