Инфраструктура простой электронной подписи. Часть 1: Моделирование использующих систем
Предыдущая статья о простой электронной подписи (ПЭП) сделала акцент на юридические нюансы, и только вскользь затрагивала технические решения. Первый же комментарий к статье отметил этот момент. Отсутствие описания технических решений среди «подводных камней ПЭП» не случайно, так как на законодательном уровне вопросы практического применения ПЭП регламентированы только для сферы государственных услуг. Для частного бизнеса применение ПЭП не стандартизируется, поэтому практический опыт отражает лишь личное видение заинтересованных сторон конкретного проекта. Это сильно ограничивает, но, судя по комментариям, не стандартизированное описание также востребовано. Родилось продолжение статьи, с целью компенсировать этот информационный пробел. Продолжение состоит из нескольких частей, каждая из которых кратко рассматривает шаги анализа и проектирования функциональности ПЭП. Описание базируется на реальных проектах, в частности, на успешном внедрении ПЭП в информационную систему крупного поставщика технологических услуг.
Цели анализа
ПЭП сильно упрощает электронный документооборот при предоставлении сложных, многоступенчатых электронных услуг, в которых имеет значение юридически значимый документооборот. К таким электронным услугам, например, можно отнести услуги технологического проектирования, телемедицинские услуги. Упрощение документооборота заключается в том, что пользователю, для удаленного получения услуги, не нужно разбираться с инфраструктурой открытых ключей и устанавливать на свое устройство дополнительное лицензионное криптографическое ПО. Целью всей статьи является чек-лист необходимых шагов для создания инфраструктуры ПЭП в коммерческой организации, занимающейся или планирующей заняться удаленным предоставлением сложных электронных услуг.
Базовые термины и определения
Анализ и проектирование будет вестись на основе подходов системной инженерии. Системная инженерия — это междисциплинарный подход и способы обеспечения воплощения успешной системы (Guide to the Systems Engineering Body of Knowledge). Такое проектирование не является общепринятым, поэтому необходимы краткие пояснения к используемой терминологии и данную статью можно воспринимать и как вольное введение в системную инженерию. Я не буду использовать строгие определения и изложение, стараясь дать общее понимание.
Система — Комбинация взаимодействующих элементов, организованных для достижения одной или нескольких поставленных целей (ГОСТ Р ИСО/МЭК 12207–2010).
Важным признаком системы является ее цель (цели) существования. В системной инженерии принято говорить о целях, как о функциях. Любая система для чего-то существует в окружающем мире, а значит, является частью чего-то «большего», выполняет в этом «большем» какую-то функцию. Например, часы используются для получения информации о времени, и используются в этом качестве как людьми, так и разнообразными устройствами. В системной инженерии «большее» имеет специальное название — использующая система. Наш разум устроен таким образом, что, передавая информацию об окружающем мире, мы говорим о функциях систем в использующих системах. Использующие системы, в свою очередь, тоже являются функциональной частью еще более крупной системы и образуется иерархия систем. И первой задачей является задача анализа, как же устроена эта иерархия — какую функцию будет выполнять проектируемая система в иерархии использующих систем или какую функцию выполняет рассматриваемая система в иерархии использующих систем. Система, которая является предметом нашего интереса, либо которая проектируется с учетом чьих-либо выявленных интересов, называют целевой системой, и эта система находится на самом нижнем уровне этой иерархии. Люди, проявившие явный или неявный интерес к целевой системе, либо люди, на чью жизнь может повлиять целевая система, называются заинтересованными лицами или стейкхолдерами. И важнейшей задачей проектирования успешной целевой системы является выявление полного круга стейкхолдеров, определения их интересов и потребностей и максимально полный учет выявленных интересов и потребностей в функциях целевой системы.
Следующим важным признаком системы является наличие «комбинации взаимодействующих элементов», как заложено в определении. Элементы представляют собой системы, выполняющие свои функции в целевой системе, которая в этом аспекте рассмотрения становится использующей системой. Логично, что функции элементов целевой системы отличаются от собственно функции целевой системы в использующей системе, иначе не было бы смысла в существовании целевой системы. Например, функции шестеренок или микросхем в часах никак не связаны с понятием «информация о времени», а основной функцией часов является предоставление информации о времени. Общий термин, который используется при обозначении того, что система состоит из взаимодействующих элементов — термин »конструкция». Важный нюанс состоит в том, что при описании конструкции любой системы используется терминология функций (целей). Понятия «функция» и «конструкция» очень сильно взаимосвязаны, и эта связь имеет особое название — архитектура. Архитектура является центральным звеном систем, источник информации о том, какие функции выполняет каждый конструктивный элемент системы. На архитектуре базируются многочисленные описания систем. Существует специальная графическая нотация, позволяющая компактно передать все вышеопределенные понятия. Система в этой нотации изображается в виде «гамбургера», верхняя половина которого передает информацию о функции системы в использующей системе, а нижняя половина передает информацию о конструкции системы — из каких элементов она состоит и какие функции они выполняют. «Начинкой» в этом «гамбургере» является архитектура системы. Диаграмма «гамбургера» представляет собой функциональную декомпозицию системы и позволяет одновременно держать в мысленном фокусе функции, конструкцию и архитектуру системы, думать о системе о нечто триедино целом.
Для понимания, в чем состоит триединость системы, можно упрощенно определить элементы диаграммы «гамбургера» в архитектурных терминах: верхние половинки диаграммы «гамбургера» образуют основу для функциональных спецификаций системы, нижние половинки диаграммы «гамбургера» образуют основу для конструктивных (технических) спецификаций системы. Набор функциональных и технических спецификаций образуют базовое описание архитектуры системы.
Важнейшим условием, при которой некоторую часть мира можно назвать системой, является условие материальности конструкции. Конструктивные элементы должны обязательно существовать в материи и полях, либо должны появиться в материи и полях после того, как проектируемая система будет воплощена. Кроме всего прочего, это означает система всегда индивидуальна, является индивидом. Все абстрактные понятия не являются системами. Систему условно можно «потрогать», воспринять с помощью органов чувств или измерить приборами. Слова, термины, рисунки, чертежи, диаграммы, исходный код — это не системы, это описания систем и эти термины четко различаются. Описаний может быть много и в самых разных аспектах, при этом система, как индивидуальность, для этих описаний только одна. Системой является только реальное воплощение описаний. Среди описаний выделяются модели — описания в виде прототипов системы различной степени абстракции, т.е. текст, расчеты, диаграммы, алгоритмы, собственно прототипы в виде экспериментального воплощения. Степень абстракции модели иногда подчеркивают в виде приставок «мета», чем больше таких приставок, тем больше абстрактности в модели.
Условие материальности конструкции добавляет в рассмотрение аспектов системы такой неотъемлемый атрибут реальности, как время. Системы когда-то появляются в пространстве, их что-то создает. Системы, которые являются «создателями» других систем имеют особое название — обеспечивающие системы. Условно говоря, они обеспечивают начало «жизни» другой системы, ее существование.
Для того, чтобы в конструкции некоторой использующей системы выделить окружение целевой системы, в системной инженерии принято говорить об операционном окружении целевой системы.
Моделирование использующих систем для инфраструктуры подписи
Поясним вышесказанное на примере, который является предметом нашего анализа, то есть на примере подписи. Пока не будем специализировать подпись понятиями «личная собственноручная» или «электронная», договоримся только что подпись материальна и может быть элементом системы.
Подпись передает информацию, отсюда напрашивается вывод, что использующей системой будет являться система приема/передачи информации. В информатике этот процесс называют коммуникациями и выделяют следующие элементы:
- Отправитель
- Сообщение
- Получатель
Легко видеть, что «коммуникации» — это обобщающий термин для огромного количества сущностей. Общение людей, передача информации между электронными устройствами и т.д., и т.п. — все это можно назвать коммуникациями. Поэтому коммуникации — это не система, это метамодель для огромного количества реальных систем. У «коммуникаций» нет реальной конструкции. Мышление в терминах реального мира приводит к пониманию того, что передача информации — это не главная функция подписи, так как сама по себе передача информации в реальном мире бесполезна без ее использования. Кто использует информацию? Получатель. Таким образом, получатель, кем бы или чем бы он не являлся в реальном мире — это использующая система. А отправитель и сообщение являются элементами этой использующей системы. Этот факт становится очевидным, если добавить время в коммуникации, тем самым переходя к понятиям жизненного цикла и 4D моделирования (пространство+время). В реальном мире существует получатель, который готов к коммуникациям. В некоторые моменты времени существования получателя, в его «жизни» появляется отправитель и отправляет ему сообщение, которое получатель затем использует в своем мире. Это взаимодействие показано на следующем графике:
- Получатель (существует и готов к использованию коммуникаций в своей «жизни»)
- Коммуникация (для своего существования использует отправителя и его сообщения)
- Отправитель (обеспечивающая система для коммуникаций, обеспечивает «рождение» сообщения.
- Сообщение (после завершения коммуникации сообщение используется получателем в своей деятельности)
- Коммуникация (для своего существования использует отправителя и его сообщения)
В этом, кстати, и состоит громадная польза применения принципов системного мышления — оно заставляет думать в терминах жизненного цикла систем в реальном мире.
Продолжим строить модель нашей системы. В реальности получателями документа с подписью могут быть как отдельный человек, так и организация, так и корпорация с многочисленными филиалами, так и целое государство в лице органов власти, так и весь мир в лице граждан, организаций, органов власти разных государств. Получатель представляет собой систему систем, но во всех этих разнообразных системах можно выделить общую часть — правила делопроизводства. Под получателем понимается система делопроизводства, конструктивные элементы которой перечисляются в немного устаревшем нормативном акте: ГОСТ Р 51141–98 «Делопроизводство и архивное дело. Термины и определения».
Если попытаться выделить реальную конструкцию для подписи, то, в первую очередь, речь идет о подписи на документах. Таким образом, мы специализируем абстрактное понятие «коммуникации» реальным понятием «обмен документами». В системе делопроизводства такой обмен называется документооборотом (ГОСТ Р 51141–98), и имеет сущности, специализирующие понятия «отправитель, сообщение, получатель». Например, сообщение в метамодели коммуникаций, мы специализируем понятием документ, которое раскрывается в Федеральном Законе 77-ФЗ «Об обязательном экземпляре документов»:
Документ — материальный носитель с зафиксированной на нём в любой форме информацией в виде текста, звукозаписи, изображения и (или) их сочетания, который имеет реквизиты, позволяющие его идентифицировать, и предназначен для передачи во времени и в пространстве в целях общественного использования и хранения.
Для отправителя и получателя в документообороте существуют специальные термины «контрагент» и «агент».
Суммируя все вышесказанное, мы построим диаграмму «гамбургера» для системы, использующей подпись как необходимый конструктивный элемент:
Условно, схему можно прочитать следующим образом: система делопроизводства в своей деятельности использует документооборот, который, в свою очередь, использует документы, созданные контрагентом. Как данная схема поможет нам в проектировании инфраструктуры ПЭП? Мы всегда будем помнить о делопроизводстве и его правилах, как элементе схемы. Если ставится задача добиться юридической значимости подписи — это очень важно. Если есть задача развернуть инфраструктуру ПЭП, то начинать надо с адаптации системы делопроизводства. Об этом часто забывают, а без системы делопроизводства, адаптированной к ПЭП, доказать, например, судебной власти, юридическую значимость электронной подписи, очень нелегко.
В следующей части я продолжу моделирование и определю место нашей целевой системы — системы подписи — в построенной иерархии использующих систем.