Смекни!
smekni.com

Правовое регулирование электронного документооборота (стр. 3 из 4)

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

Понятие электронно-цифровой подписи

В 1976 г. американские математики У. Диффи и М.Э. Хеллмэн опубликовали работу под названием "Новые направления в криптографии", которая существенно повлияла на дальнейшее развитие криптографии и, в частности, привела к появлению такого понятия, как "цифровая подпись" (часто используется термин "электронно-цифровая подпись" (ЭЦП), поскольку применяется она в основном для подтверждения подлинности электронных документов).

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

Прежде всего рассмотрим понятие "односторонняя функция с секретом". Функция F(k,s), зависящая от двух числовых аргументов - k (секретный ключ) и s (цифровая подпись) - и устанавливающая соответствие между этими аргументами и документом 9, называется односторонней функцией с секретом. Ей присущи следующие свойства:

1. Для любого секретного ключа k и любой подписи s значение функции F можно вычислить достаточно просто (за приемлемое время)10, причем для вычисления по известному s значения m необязательно знать ключ k. Другими словами, зная саму функцию F и s (цифровую подпись под данным документом), легко вычислить значение m, т.е. проверить подлинность данной подписи s под данным сообщением m.

2. Если секретный ключ k неизвестен, то по известным s (подписи) и m (сообщению) невозможно достаточно просто (за приемлемое время) найти секретный ключ k11.

3. Если секретный ключ k известен, то по известному (заданному) m (сообщению) можно достаточно легко (за приемлемое время) вычислить s (подпись).

Суть использования односторонних функций для цифрового подписывания заключается в следующем. Любой документ, как отмечалось, можно рассматривать как некоторое число m. Документ, подписанный цифровой подписью, по существу, есть пара чисел m и s, где m - сообщение (договор, платежное поручение и т.п.), а s - подпись, которая получена путем решения уравнения F(k,s) = m (для каждого сообщения m вычисляется своя подпись s). Здесь F - известная всем участникам электронного документооборота односторонняя функция, а k - секретный ключ. Из третьего свойства односторонней функции следует, что существует алгоритм, позволяющий отправителю, знающему свой секретный ключ k, за приемлемое время вычислить подпись под документом m. Кто-либо другой (не знающий секретного ключа k) не сможет подписать документ (второе свойство односторонней функции), т. е. цифровую подпись практически невозможно подделать. Поэтому при возникновении спора о подлинности подписи лицо, чей секретный ключ был использован для подписывания документа, не сможет отказаться от исполнения обязательств по такому документу (если только не докажет ненадежность используемых в системе ЭЦП алгоритмов, о чем речь пойдет в следующей статье). Проверить подлинность подписи может любой участник ЭДО, знающий открытый ключ, т. е. саму функцию F (первое свойство односторонней функции).

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

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

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

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

В некоторых странах с целью минимизировать риски, связанные с выбором для систем цифровой подписи хэш-функций и функций подписывания (упомянутых односторонних функций), введены государственные стандарты таких функций. В частности, в России в 1994 г. были приняты стандарты: ГОСТ Р 34.11-94 "Функция хэширования" и ГОСТ Р 34.10-94 "Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма".

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

Второй стандарт определяет функцию и алгоритм вычисления электронно-цифровой подписи, а также алгоритм проверки подлинности подписи.

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

Функция, принятая в описанных стандартах, в качестве односторонней функции с секретом была предложена в 1977 г. американскими специалистами Р. Ривестом, А. Шамиром и Л. Адлеманом. Системы на основе этой функции получили название "RSA систем" (по первым буквам фамилий авторов).

Попытаемся проанализировать сравнительные характеристики различных способов подтверждения подлинности как традиционных документов, так и данных, обрабатываемых с помощью ЭВМ.

Бумажные документы заверяются обычно либо собственноручной подписью компетентного лица с указанием его полного имени и должности, либо мастичной печатью юридического лица (на практике часто используют оба эти способа одновременно; иногда вместо собственноручной подписи должностного лица пользуются штампом с ее факсимильным воспроизведением). В последнее время реже применяется ранее распространенный метод оттиска отпечатка пальца под документом. В случае компьютерных данных используются цифровая (электронно-цифровая) подпись, электронные (магнитные) карты/ключи, пароли.

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

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