Электронная подпись в SAP – это просто

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

    image



    Немного истории

    В 1977 г. Ronald Rivest, Adi Shamir, и Len Adleman публикуют свою статью “Метод получения электронной подписи и криптосистемы с открытым ключом” (здесь и далее мой перевод):

    Вероятно, эра электронной почты уже близко. Мы должны быть уверены, что можем сохранить два важных свойства текущей “бумажной почты”: письма должны остаться персональными и – могут быть подписаны лично. В нашей статье мы продемонстрируем как внедрить эти свойства в систему электронной почты. Сердцем нашего предложения будет новый метод шифрования. Он применяет элегантную концепцию “криптосистем с открытым ключей” предложенной Diffie и Hellman.

    “Элегантная концепция Diffie и Hellman”, о которой пишут авторы, действительно была важным шагом в области криптографии. К середине семидесятых NSA (National Security Agency) уже контролировало широкое использование криптографии за счет контроля средств распределения ключей шифрования. Однако, принцип распределения открытых ключей, предложенный Diffie и Hellman позволил уйти от этого, и теперь физические и юридические лица получили способ безопасно обмениваться зашифрованными сообщениями, не получая общий секретный (“симметричный”) ключ шифрования от сторонней правительственной организации.

    Принцип, предложенный Diffie и Hellman можно проиллюстрировать на примере “красок”. Каждая из сторон обладает своей собственной “секретной” краской, но обменивается с партнером только смесью красок (Alice – оранжевым и Bob – голубым в качестве “приветствия”; второй раз – коричневым в качестве ключа шифрования). Предполагается, что найти “секретную” краску в смеси не представляется возможным.



    В оригинале, конечно, криптографическая стойкость алгоритма предложенного Diffie и Hellman, основана на математике – а именно – сложности проблемы дискретного логарифмирования (https://ru.wikipedia.org/wiki/Дискретное_логарифмирование)

    Это еще была не электронная подпись, но в той же статье, Diffie и Hellman предлагают использовать закрытый ключ (“секретную краску”) для шифрования сообщений и выдавать открытый ключ для проверки сообщений:
    Если пользователь А хочет послать сообщение пользователю B, он “дешифрует” его с помощью своего закрытого ключа и отправляет партнеру результат “дешифровки”. Пользователь B может прочитать сообщение и быть уверен в его подлинности (authenticity), применив функцию шифирования открытым ключом. Кто угодно может использовать данную функцию и получить в итоге исходное сообщение.
    Всемирно известный теперь алгоритм RSA в области электронной подписи (по первым буквам фамилий Ronald Rivest, Adi Shamir, and Len Adleman) полностью реализует принцип, предложенный Diffie и Hellman.

    Фактически, в двух упомянутых статьях в 1976–1977 гг была заложена основа для 95% используемой на сегодня криптографии. Клиент-серверное шифрование, межсерверное шифрование, электронная подпись и пр., – все это результат использования предложенных 39 лет назад принципов.

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

    Иронично, но не смотря на то, что прошло уже почти 40 лет с момента публикации алгоритмов RSA, мы до сих пор вынуждены хранить абсолютное большинство документов в бумажном виде.

    Тем не менее, мир не стоит на месте, и с каждым годом законодательство разрешает все больше и больше документов переводить в электронную форму, используя электронную подпись для придания документам юридической значимости. Нет сомнений, что в перспективе на 20 лет вперед, все законодательные барьеры будут устранены и необходимость хранить бумажные документы отпадет вовсе. Опыт Эстонии, в которой функции электронной подписи используются даже в таких тонких сферах как при проведении голосования (в т.ч. в парламент), хороший тому пример.

    На сегодня, область применения ЭП в Российской Федерации можно разделить на пять больших областей:
    • Электронные торги
    • Внутренний юридически значимый электронный документооборот
    • Внешний юридически значимый электронный документооборот
    • Электронная отчетность в государственные органы
    • Информационный обмен с органами государственной власти

    Главные преимущества использования электронной подписи – это значительное ускорение документооборота (особенно в масштабе глобальных корпораций) и повышение безопасности обмена информацией в целом.

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

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

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

    К модулям FI (Финансы), SD (Сбыт), HR (Персонал), и другим, уже подключен стандартный криптопровайдер SAP:

    image

    Таким образом, функция ЭП уже реализована на уровне платформы SAP NetWeaver, это означает, что функции подписи и верификации документов уже доступны для бизнес-процессов предприятия. Остается их только подключить.

    Как известно, российским законодательством (№ ФЗ-63 “Об электронной подписи” от 06 апреля 2011 года) определено три вида электронной подписи:
    • Простая ЭП. Предназначена для внутреннего документооборота, позволяет подтвердить авторство, но не гарантирует неизменность документа после его подписания и не обеспечивают юридическую значимость.
    • Неквалифицированная ЭП. Позволяет определить автора подписанного документа и доказать неизменность содержащейся в нем информации. В неквалифицированную электронную подпись заложены криптографические алгоритмы, которые обеспечивают защиту документов. Подписанные документы обладают юридической значимостью при наличии регламентов, устанавливающих правила использования и признания электронных подписей. Такая подпись подойдет для внутреннего и внешнего документооборота и в некоторых случаях участия в электронных торгах.
    • Квалифицированная ЭП. Может быть получена только в удостоверяющем центре, аккредитованном Минкомсвязи России, а используемое ПО должно быть сертифицировано ФСБ. Квалифицированная ЭП безусловно наделяет документы всей полнотой юридической силы, и поэтому используется для информационного обмена с органами государственной власти и для участия в электронных торгах.

    Простая и неквалифицированная ЭП могут быть реализованы в стандартной поставке SAP NetWeaver. При это объем доступных функций достаточно широк:
    1. Подпись и верификация на сервере и на тонком клиенте
    2. Поддержка PKCS#7, XML, S/MIME, Adobe PDF Forms
    3. Поддержка NetWeaver ABAP и NetWeaver Java
    4. Работа в SAP GUI и веб-приложениях
    5. Поддержка кириллических сертификатов
    6. Использование защищенного хранилища сертификатов Microsoft Keystorage (уровень ОС Windows)
    7. Использование USB-токенов и смарткарт
    8. Проверка наличия подписи доверенного выдающего удостоверяющего центра (проверка цепочки сертификатов)
    9. Проверка сертификатов на отозванность (по Certificate Revokation List — CRL)
    10. Возможность архивного хранения ЭП (с версионностью)
    11. Получение сертификатов Active Directory (по протоколу LDAP)
    12. Управление сертификатами (Public Key Infrastructure — PKI)

    (для использования некоторых функций могут потребоваться дополнительные лицензии)

    Говоря о квалифицированной ЭП, надо понимать, что требования к такому типу ЭП отличаются от страны к стране. Так, например, немецкий Акт об Электронной подписи (“Signaturgesetz”) от 1997 года требует, чтобы используемые в ЭП сертификаты выдавались квалифицированным удостоверяющим центром, для подписания использовались только отдельные устройства – смарткарты или токены, а сами подписываемые электронные документы должны записываться только на неизменяемые носители (например, на оптические диски).

    Поэтому в вопросах реализации квалифицированной ЭП, SAP полагается на помощь партнеров-разработчиков СКЗИ.

    Принципиальным требованием ФСБ при сертификации ПО для квалифицированной ЭП является использование ГОСТ 28147-89, ГОСТ Р 34.11-94, ГОСТ Р 34.10-2001 в реализации криптографических алгоритмов (на июнь 2015 года требования на применение ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012 до конца не регламентированы)

    Технически, применение криптоалгоритмов ГОСТ в SAP достигается простым переключением «обертки» (wrapper) СКЗИ. “Обертка” подменяет собой использование стандартной библиотеки sapcryptolib обращением к любому стороннему СКЗИ, построенному на ГОСТ. Например, СКЗИ «ЛИССИ-CSP», “КриптоПро CSP”, “Валидата CSP” – если мы говорим об интерфейсе MS CSP; ПБЗИ «СКЗИ LirSSL», если используется интерфейс OpenSSL; ruTokenЭЦП/eTokenGOST если мы говорим об токенах/смарт-картах с интерфейсом PKCS11. В частности, решение ООО «ЛИССИ-Софт» под названием «FoxSSF» позволяет использовать СКЗИ с поддержкой всех трех вышеперечисленных интерфейсов. В следующей нашей статье мы более подробно поговорим о решениях, позволяющих подписывать документы SAP квалифицированной электронной подписью.

    В заключение необходимо упомянуть проблему архивного хранения документов, подписанных ЭП. Т.к. в отличие от бумажной подписи, алгоритмы и сертификаты электронной подписи имеют свойство устаревать, необходимо заранее озаботиться получением долгосрочных сертификатов, от наиболее стабильных и уважаемых удостоверяющих центров. Если планируется более чем пятилетний срок хранения, то на подписываемых документах необходимо ставить штамп времени. Такой подход позволяет фиксировать время подписи, поэтому:
    • по истечении срока действия сертификата или алгоритма не нужно “переподписывать” документ
    • исключается техническая возможность сдвинуть время подписания назад и использовать скопрометированный сертификат/алгоритм – по причине наличия подписи службы штампов времени (Time Stamp Protocol – TSP) на архивированных документах.

    Если штампы времени не используются, то по истечении определенного срока возникнет необходимость переподписывать документы, что, само собой, довольно затратная процедура в масштабе больших организаций. С точки зрения законодательства тонкости долгосрочного хранения пока еще до конца не проработаны, так, например, вопрос о том, можно ли просто разом переподписать все документы одной подписью остается открытым.
    При этом технически в каком виде вы храните подпись: в виде таблицы базы данных, архива или файла – не имеет значения. Для архивного хранения в SAP есть три хранилища: ArchiveLink, Archive Development Kit и Knowledge Warehouse. Для документов (PDF, DOC и т.д.) мы рекомендуем использовать ArchiveLink, а для таблиц баз данных – Archive Development Kit. В свою очередь, только Knowledge Warehouse позволяет записывать данные в фоновом задании. Все три варианта могут представлять данные для проверки (аудита) и работают с внешними устройствами, чтобы не нагружать сервер приложений.

    Автор — Даниил Лузин
    Консалтинговое подразделение ООО «САП СНГ»
    Космодамианская наб. 52/7, 113054 Москва
    Т. +7 495 755 9800 доп. 3045
    М. +7 926 452 0425
    Ф. +7 495 755 98 01
    SAP
    73,00
    Лидер рынка корпоративных приложений
    Поделиться публикацией

    Комментарии 12

      +2
      Как мне кажется, из-за минимума деталей, данную статью следует поместить в хаб «Я пиарюсь». Заявленная автором в начале статьи цель
      Этой статьей я хочу показать, что применение ЭП – это просто.
      не достигнута абсолютно. Технических деталей в статье не обнаруживается (да, сразу же скажу, я сам применял реализацию ЭЦП в SAP).
        0
        каких бы технических деталей вы хотели?
          0
          Полагаю, что HowTo по настройке ЭП в SAP был бы воспринят положительно.
          Что-то вроде раскрытия этого вашего предложения: «Остается их только подключить.»

          Замечу, что с точки зрения обзора ЭП статья довольно неплохая.
            0
            SSF работает из коробки.
            В случае когда нужна квалифицированная ЭП — используем расширения от сторонних разработчиков.
            Например для случая подписи на рабочем месте это будет просто копирование DLL и указание к ней пусть в настоечном файле ssfrfc.ini в папке с SAP GUI.
            0
            1) Как указал коллега nmk2002, HowTo настройки смотрелось бы более интересно
            2) для меня, как для разработчика, интересен был бы пример использования ЭЦП в своих разработках на ABAP
              0
              В следующей статье по ЭП опишем пример вызова подписания/верификации ЭП с помощью ActiveX контрола и SSF-API, пока примеры можно посмотреть в отчетах se38-> ssfsdemo, ssftest
            0
            Присоединяюсь к оратору, было бы интересно. Сами реализовали все по средствам вызова консольных команд.
            –2
            Например, можно использовать КриптоПро SSF.
              0
              Для создания обертки SSF у SAP есть спецификация.
              ftp.sap.com/pub/icc/bc-ssf45/SSF_Specifications.zip

              На правах рекламы
              kontur.ru/erp-crypto

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое