Информация >> Публикации сотрудников компании >>Никонова Е., Смирнов В., Копылов Д. «Некоторые технологические аспекты реализации Закона об ЭЦП (авторская редакция)»
«Век качества», №4, 2002
«PC Week», №15, 2002 апрель

«Век качества», №4, 2002
«PC Week», №15, 2002 апрель

В свете принятия Закона об ЭЦП в статье рассматриваются некоторые проблемы стандартизации и совместимости различных протоколов и криптографических приложений, используемых для формирования электронной цифровой подписи. Предлагается переход к единому формату сертификата на основе существующих международных стандартов, а также к единому стандарту на формат представления ключевой информации и единым параметрам алгоритма ЭЦП, реализующего новый ГОСТ Р 34.10-2001.

Итак, сделан очередной серьезный шаг в построении правовой базы электронного документооборота. Принятый в январе 2002 года, Федеральный Закон РФ об ЭЦП стал первым в пакете законов, определяющих будущее развитие российской электронной коммерции и электронных финансовых технологий. Два других закона - «Об электронном документе» и «Об электронной торговле» находятся в стадии подготовки.

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

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

Много споров ведется также по поводу неправомерности конкретизации в законе определенных технических решений по созданию электронной подписи. Действительно, само название российского закона в совокупности с формулировками, приведенными в статье 3, совершенно однозначно указывают на вполне определенный способ формирования подписи - асимметричные криптографические преобразования с использованием сертификатов открытых ключей. И это автоматически исключает возможность распространения закона на те же асимметричные криптосистемы, но без сертификатов, или на технологически иные преобразования, называемые аналогами собственноручной подписи (АСП), например, такие как методы авторизации, основанные на биометрии.

Однако критика в отношении названия закона и вытекающих отсюда ограничений по его применению, представляется несколько запоздалой и бессмысленной. Закон об ЭЦП уже вступил в силу и теперь совместные усилия специалистов целесообразно направить в более конструктивное русло - на поиск разумных и эффективных решений в интересах его скорейшей реализации. Тем более, что предложенная в законе технология, ориентированная на создание инфраструктуры с открытым распределением ключей (Pubic Key Infrastructure - PKI), достаточно надежна и эффективна, имеет большой мировой опыт практического внедрения и законодательного регулирования, а последние 5-6 лет активно используется в России. И, как нам кажется, если следовать этой технологии, большой накопленный опыт позволит избежать многих ошибок, когда дело дойдет до создания конкретных прикладных систем, соответствующих требованиям закона об ЭЦП.

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

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

  • удостоверяющий центр (УЦ), обеспечивающий формирование и публикацию цифровых сертификатов и списков отозванных сертификатов;
  • владельцев и конечных пользователей цифровых сертификатов;
  • организатора PKI, обеспечивающего функционирование центра регистрации запросов на сертификацию, справочной службы на базе LDAP-совместимых протоколов, хранение электронных документов для разрешения споров и др.;
  • системы разрешения споров на основе действующего законодательства;
  • средства криптографической защиты информации (СКЗИ) для формирования и проверки ЭЦП.

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

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

В качестве алгоритмов формирования/проверки ЭЦП в законе предусматривается использование российских криптографических стандартов, на сегодняшний день это - ГОСТ Р 34.10-94, ГОСТ Р 34.11-94 и новый стандарт ГОСТ Р 34.10-2001 на основе эллиптических кривых.

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

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

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

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

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

К счастью, российским разработчикам криптографических приложений нет необходимости выдумывать в этой области что-то новое, сугубо российское, «изобретая велосипед». Международным комитетом по телекоммуникациям (ITU-T) и авторитетной общественной международной организацией Internet Engineering Task Forse (IETF) разработан стандарт X.509 и опубликованы Рекомендации RFC 2459, RFC 3739, определяющие форматы цифровых сертификатов, которые в настоящее время широко и успешно используются не только зарубежными, но и многими российскими криптосистемами на основе PKI. Учитывая этот факт, предлагается в готовящихся дополнениях и нормативных актах, регламентирующих действие Закона об ЭЦП, явно указать, что требования к формированию сертификатов должны соответствовать стандарту X.509 и указанным Рекомендациям.

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

Естественно, что для приведения формата сертификата X.509 в соответствие с положениями статьи 6 Закона об ЭЦП, потребуются некоторые согласования по составу отдельных полей и атрибутов сертификата, однако возможность реализации требований закона в соответствии с рекомендациями RFC легко обеспечивается гибкостью стандарта x.509.

К сожалению, введение единого стандарта на цифровые сертификаты само по себе еще не решает проблемы унификации PKI систем, обслуживающих несколько приложения, поддерживающие разные СКЗИ. Для России эта проблема особенно актуальна в связи с тем, что даже сертифицированные СКЗИ различных производителей, реализующие единые российские криптографические стандарты, практически несовместимы между собой. Как правило, каждое СКЗИ использует свои собственные идентификаторы алгоритмов, форматы представления их параметров и форматы хранения ключевой информации.

Таким образом, сертификаты, выдаваемые удостоверяющими центрами, поддерживающими СКЗИ различных российских производителей, оказываются несовместимы между собой, даже если они придерживаются единого формата X.509 и реализуют один и тот же криптографический стандарт ЭЦП. Соответственно, сертификаты удостоверяющего центра, построенного на базе одного СКЗИ, не смогут обслуживать криптосистемы, построенные на базе других СКЗИ, а подпись, сформированная одним СКЗИ, не может быть проверена другим СКЗИ.

Складывается абсурдная ситуация, когда приложения различных производителей прекрасно "понимают" друг друга, если используют зарубежные криптографические алгоритмы (например, RSA, DSA), тогда как при использовании российских стандартов проблемы совместимости возникают уже на уровне систем PKI, обслуживающих различные приложения: каждое из приложений должно поддерживать по крайней мере два СКЗИ - свое собственное и то, которое используется обслуживающим удостоверяющим центром. Сделать это практически возможно, но подобные решения крайне трудоемки и неэффективны. Для решения проблем совместимости целесообразнее обратиться к мировому опыту.

Как известно, в задачи упомянутой выше международной организации IETF входит координация действий по разработке протоколов, их подробное описание и присвоение унифицированных идентификаторов различным объектам, в том числе, параметрам протоколов и используемым криптографическим алгоритмам. Присвоение идентификаторов и публикация формализованного описания протоколов в виде рекомендаций RFC с разработкой соответствующих стандартов и форматов представления информации, способствует корректной интеграции криптографических алгоритмов во всевозможные криптографические протоколы (SSL/TLS, SHTTP, S/MIME, SET, IPSec и др.). Любой разработчик по номеру идентификатора может получить всю необходимую информацию о параметрах алгоритма, самом алгоритме, форматах, протоколах и пр. Если эта информация является закрытой, то, по крайней мере, публикуются данные о том, кто является ее владельцем и через какую организацию и каким образом можно получить к ней доступ.

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

Сейчас в России, в связи с введением нового государственного стандарта на ЭЦП (ГОСТ Р 34.10-2001), сложился крайне благоприятный момент для принятия единого стандарта на формат представления параметров алгоритма ЭЦП и приведения в соответствие с международными стандартами структуры и форматов представления данных в составе цифрового сертификата (включая формат представления открытого ключа и ЭЦП).

Подобная стандартизация необходима для обеспечения прозрачности исполнения статей закона об ЭЦП, независимо от используемых СКЗИ в составе средств электронной подписи. Совместимость СКЗИ на уровне PKI дает два важных преимущества по сравнению с существующим положением дел:

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

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

Принятый закон ориентирован на выдачу сертификатов открытых ключей только физическим лицам, хотя описанная в нем технология ЭЦП вполне соответствует международным стандартам и рекомендациям, в частности Х.509 v.3, RFC 2459, которые предусматривают, что владельцами сертификатов могут быть не только физические, но и юридические лица. С технической точки зрения реализация этой возможности не представляет особых проблем, так как в полях сертификата должность и принадлежность данного физического лица к какой-либо организации могут быть явно прописаны, и в случае изменения статуса этого лица сертификат может быть обновлен. Проблемы возникают на уровне УЦ, сертификат которого в соответствии с законом также должен выдаваться на уполномоченное физическое лицо. Даже не рассматривая абсурдность ситуации, когда, например, в браузере, наряду с сертификатами таких авторитетов как VeriSign, будут встречаться сертификаты какого-либо УЦ «Разумный Риск» с доверенным лицом И.И. Ивановым, использование для УЦ сертификатов физических лиц ставит под сомнение устойчивость всей конструкции. Любые обычные события в жизни И.И. Иванова, как то: смена работы, досрочное завершение земного пути и т.п., приводят к компрометации всех PKI систем, поддерживаемых данным УЦ. Во избежание этих проблем нам представляется целесообразным в качестве дополнения к закону об ЭЦП прописать возможность выдачи сертификатов юридическим лицам.

Итак, подводя итоги обсуждению, по нашему мнению для успешного технологического старта Закона об ЭЦП необходимо как минимум:

  1. утвердить соответствие формата сертификата международным рекомендациям Х.509 и RFC;
  2. разработать единый государственный стандарт на форматы представления ключей СКЗИ, хранящихся на ключевых носителях и в составе сертификата, а также унифицировать значения и форматы представления параметров нового алгоритма ЭЦП (ГОСТ Р 34.10-2001);
  3. довести до судов всех инстанций перечень сертифицированных СКЗИ, применяемых в российских PKI системах, и обеспечить суды технологической процедурой разрешения конфликтных ситуаций с организацией обучения специалистов;
  4. при подготовке нормативных документов ориентироваться на создание иерархической системы удостоверяющих центров без ограничения количества уровней.

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

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

В настоящее время силами двух компаний - «Сигнал-КОМ» и «Новый Адам» начаты работы по согласованию структуры и формата полей сертификата, удовлетворяющего положениям статьи 6 Закона об ЭЦП и максимально соответствующего международному стандарту X.509 и Рекомендациям RFC 2459, RFC 3739. Подготовленный вариант документа «Состав сертификата открытого ключа ЭЦП» в котором приведены требования к содержанию и интерпретации полей сертификата в соответствии с законом об ЭЦП, в настоящее время находится на согласовании в ФАПСИ. С ним можно познакомиться на сайтах компаний «Сигнал-КОМ» и «Новый Адам».