Электронные документы, циркулирующие в информационном обществе, должны обеспечивать не только представление данных в цифровой форме для их передачи по сети, но и обладать определенной юридической силой. В бумажных документах для этой цели могут использоваться личная подпись и печать, являющиеся юридическим гарантом авторства документа, и специальная бумага с защитными знаками, гарантирующая подлинность документа. Для придания электронным документам юридической силы потребовалось решить проблему, имеющую математический и организационно-правовой аспекты. Математическая проблема состояла в том, чтобы, во-первых, найти электронный эквивалент собственноручной подписи автора, обеспечивающий однозначную идентификацию автора документа, а во-вторых, надежные средства защиты электронного документа от подделки. Для решения этой проблемы математики У. Диффи и М. Э. Хеллман во второй половине 70-х годов прошлого столетия предложили использовать электронную цифровую подпись (ЭЦП). Организационно-правовая проблема ЭЦП заключалась в разработке нормативных актов, содержащих юридическое определение правовых условий, при соблюдении которых ЭЦП в электронном документе может быть признана равнозначной собственноручной подписи в документе на бумажном носителе. Решением этой проблемы в России стал принятый в январе 2002 г. Федеральный Закон «Об электронной цифровой подписи».
Математической основой электронной цифровой подписи являются методы криптографии с несимметричными ключами. Суть этих методов стоит в том, что по специальному алгоритму генерируются два связанные между собой ключа, обладающие следующим свойством: текст, зашифрованный одним ключом, может быть дешифрован только вторым ключом и наоборот. Один ключ объявляется открытым, а другой – закрытым. Закрытый ключ должен браться абсолютно случайно, например, с датчика случайных чисел, а открытый – вычисляться из закрытого таким образом, чтобы получить второй из первого было невозможно. Открытый ключ делают доступным всем партнерам, закрытый – сохраняют в тайне. Простейшей ЭЦП могут являться зашифрованные закрытым ключом автора документа сведения о себе: фамилия, имя, отчество, должность и т. д. Все, кто владеет открытым ключом, смогут эти сведения прочитать и идентифицировать автора документа
Однако для того чтобы обеспечить защиту электронного документа от подделки, в состав ЭЦП кроме сведений об авторе необходимо включить дайджест документа. Дайджест документа – это уникальная последовательность символов, полученная в результате применения к документу специальной хэш-функции. Дело в том, что электронные документы могут иметь самый разный размер – от пустого сообщения (непонятно, правда, зачем его нужно подписывать) до объемного файла, включающего, к тому же, графику. Алгоритмы же ЭЦП предназначены для подписи сообщений определенной длины, в частности, в соответствии с ГОСТ Р34.10 – 94 – 32 байта. Поэтому задача хэш-функции заключается в том, чтобы для каждого документа, имеющего произвольную длину, получить уникальную строку символов заранее заданной длины, однозначно соответствующую этому документу. Однозначное соответствие дайджеста документу в данном случае означает, что любое изменение в содержании документа обязательно приведет к изменению дайджеста Получив документ, принимающая сторона проверяет ЭЦП, обрабатывает документ той же хэш-функцией, что и отправитель, после чего сличает полученный дайджест с тем, который содержался в ЭЦП. Если дайджесты совпали, значит, документ не подвергался несанкционированным изменениям.
Математической основой криптографических систем с открытым ключом являются односторонние функции, которые обладают следующим свойством: при заданном значении аргумента х легко вычисляется значение функции f(х), однако по известному значению функции f(х) невозможно вычисление аргумента х. Так как ни для одной функции пока не удалось строго доказать, что она является односторонней, под невозможностью вычисления аргумента х из значения f(х) понимается практическая невозможность этого вычисления за обозримый интервал времени. В связи с этим выбор односторонней функции является одним из наиболее ответственных этапов использования ЭЦП, т. к. если функция окажется не односторонней, это означает возможность вычисления закрытого ключа на основе открытого, а значит – возможность подделки ЭЦП.
Все предлагаемые на сегодняшний день криптосистемы с открытым ключом опираются на один из следующих типов односторонних преобразований, для которых доказано, что они являются так называемой трудновычислимой математической задачей:
- разложение больших чисел на простые множители;
- вычисление логарифма в конечном поле;
- вычисление корней алгебраических уравнений.
Так, один из первых алгоритмов криптографической системы с открытым ключом, названный по первым буквам его разработчиков – RSA (Rivest Shamir Adleman), был основан на том факте, что можно легко перемножить два больших простых числа, но разложить на множители произведение двух таких чисел практически невозможно. В настоящее время также широко используются алгоритмы Эль-Гамаля и Диффи-Хелмана, основанные на вычислении логарифма в конечном поле. В России в 1994 г. были разработаны стандарты ГОСТ Р34.11 – 94 «Функция хэширования» и ГОСТ Р34.10 – 94 «Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма». Первый из этих ГОСТов определяет функцию преобразования любой конечной последовательности двоичных бит (т. е. любого электронного документа) в двоичное число длиной 256 битов. Второй стандарт определяет функцию и алгоритм вычисления электронной цифровой подписи, а также алгоритм проверки подлинности подписи. Все эти алгоритмы могут быть реализованы на программном и аппаратном уровнях. Для всех этих алгоритмов при заданной длине ключа можно получить нижнюю оценку числа операций, необходимых для раскрытия ключа, и тем самым оценить их защитные свойства от подделки, называемые криптостойкостъю. Чем больше длина ключа, тем выше его крипто-стойкость. При обосновании требований к уровню криптостойкости ЭЦП обычно исходят из принципа экономической целесообразности: ключ считается надежно защищенным, если затраты на его подделку в несколько раз превышают «выгоду» от взлома.
Следует отметить, что криптосистемы с открытыми ключами применяются не только для создания и проверки ЭЦП, но и для шифрования документов (например, в электронной коммерции). В отличие от ЭЦП, которая зашифровывается закрытым ключом отправителя, документ шифруется открытым ключом получателя. Зашифрованный открытым ключом получателя документ может быть расшифрован только с помощью его закрытого ключа Взаимный обмен открытыми ключами между партнерами позволяет создать между ними защищенные от постороннего проникновения каналы обмена зашифрованными и подписанными ЭЦП электронными документами (протоколы SSL. и SET).
Далеко не все проблемы применения ЭЦП могут быть решены математическими методами. Существуют проблемы, которые должны решаться организационно-правовыми способами. Одна из таких проблем – организация распространения открытых ключей, исключающая возможность их подмены.
Решением данной проблемы является создание специальных удостоверяющих центров, которые должны осуществлять сертификацию открытых ключей. Сертификат открытого ключа представляет собой документ на бумажном носителе или электронный документ с электронной цифровой подписью уполномоченного лица удостоверяющего центра и включающий в себя открытый ключ электронной цифровой подписи.
Сертификат ключа подписи должен содержать следующие сведения:
- уникальный регистрационный номер сертификата ключа подписи;
- даты начала и окончания срока действия сертификата ключа подписи, находящегося в реестре удостоверяющего центра;
- фамилию, имя и отчество владельца сертификата ключа подписи или псевдоним владельца;
- открытый ключ электронной цифровой подписи;
- наименование средств электронной цифровой подписи, с которыми используется данный открытый ключ электронной цифровой подписи;
- наименование и место нахождения удостоверяющего центра, выдавшего сертификат ключа подписи;
- сведения об отношениях, при осуществлении которых электронный документ с электронной цифровой подписью будет иметь юридическую силу.
Удостоверяющим центром, выдающим сертификаты ключей подписей, является юридическое лицо, обладающее необходимыми материальными и финансовыми возможностями, позволяющими ему нести гражданскую ответственность перед пользователями сертификатов ключей подписей за убытки, которые могут быть понесены ими вследствие недостоверности сведений, содержащихся в сертификатах ключей подписей.
Удостоверяющий центр должен:
- изготавливать сертификаты ключей подписей;
- создавать ключи электронных цифровых подписей при обращении пользователей, гарантируя сохранение в тайне закрытого ключа электронной цифровой подписи;
- приостанавливать и возобновлять действие сертификатов ключей подписей, а также аннулировать их;
- вести реестр сертификатов ключей подписей, обеспечивать его актуальность и возможность свободного доступа к нему пользователей;
- проверять уникальность открытых ключей электронных цифровых подписей в реестре сертификатов ключей подписей и в архиве удостоверяющего центра;
- выдавать сертификаты ключей подписей в форме документов на бумажных носителях и (или) в форме электронных документов с информацией об их действии;
- осуществлять при обращении пользователей сертификатов ключей подписей подтверждение подлинности электронной цифровой подписи центра в электронных документах, являющихся выданными им сертификатами ключей подписей.
Другой проблемой применения ЭЦП является определение правовых условий, при которых ЭЦП является равнозначной собственноручной подписи. Правовое регулирование отношений в области использования ЭЦП в настоящее время осуществляется в соответствии с Гражданским кодексом Российской Федерации, Федеральными законами «Об электронной цифровой подписи», «Об информации, информатизации и защите информации», «О связи», а также соглашениями сторон.
В соответствии со ст. 160 Гражданского кодекса РФ «использование при совершении сделок факсимильного воспроизведения подписи с помощью средств механического или иного копирования, электронно-цифровой подписи либо иного аналога собственноручной подписи допускается в случаях и в порядке, предусмотренных законом, иными правовыми актами или соглашением сторон». Федеральным законом «Об информации, информатизации и защите информации» определено, что «юридическая сила документа, хранимого, обрабатываемого и передаваемого с помощью автоматизированных информационных и телекоммуникационных систем, может подтверждаться электронной цифровой подписью» (ст. 5 п. 3).
Принятый в январе 2002 г. закон «Об электронной цифровой подписи» существенно конкретизировал правовые условия использования ЭЦП в электронных документах.
Во-первых, данный закон определил, что «электронная цифровая подпись – реквизит электронного документа, предназначенный для защиты данного документа от подделки, полученный в результате криптографического преобразования информации с использованием закрытого ключа электронной цифровой подписи и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствие искажения информации в электронном документе».
Во-вторых, законом устанавливается, что электронная цифровая подпись в электронном документе равнозначна собственноручной подписи в документе на бумажном носителе при одновременном соблюдении следующих условий:
- сертификат ключа подписи, относящийся к этой электронной цифровой подписи, не утратил силу на момент проверки или на момент подписания электронного документа при наличии доказательств, определяющих момент подписания;
- подтверждена подлинность электронной цифровой подписи в электронном документе;
- электронная цифровая подпись используется в соответствии со сведениями, указанными в сертификате ключа подписи.
В-третьих, закон требует, чтобы для создания ЭЦП использовались только сертифицированные средства.
В-четвертых, закон определяет состав сертификата ключа подписи и статус удостоверяющих центров.
Закон также предписывает уполномоченным федеральным органам исполнительной власти вести единый государственный реестр сертификатов ключей подписей, которыми удостоверяющие центры заверяют выдаваемые ими сертификаты ключей подписей. Удостоверяющий центр обязан представить в уполномоченный федеральный орган исполнительной власти сертификат своего ключа ЭЦП до начала его использования.
В-пятых, законом устанавливаются следующие обязательства владельца сертификата ключа подписи:
- не использовать для ЭЦП открытые и закрытые ключи, если ему известно, что эти ключи используются или использовались ранее;
- хранить в тайне закрытый ключ электронной цифровой подписи;
- немедленно требовать приостановления действия сертификата ключа подриси при наличии оснований полагать, что тайна закрытого ключа электронной цифровой подписи нарушена.
В-шестых, законом определены условия приостановления действия и аннулирования сертификата ключа подписи, а также прекращения деятельности удостоверяющего центра.
В-седьмых, закон определяет особенности использования ЭЦП в сфере государственного управления и в корпоративных системах. В частности, сертификация ЭЦП государственных учреждений и организаций, участвующих в документообороте с государственными учреждениями, может осуществляться только уполномоченными лицами государственных органов. Для внутрикорпоративного использования ЭЦП закон разрешает определять порядок использования подписи владельцу корпоративной системы или ее участникам по соглашению.