31954 (761874), страница 2
Текст из файла (страница 2)
Еще один аргумент, приводимый в пользу бумажного документа, заключается в том, что он осязаем (т. е. любой может физически проверить наличие документа), каждый грамотный человек может прочитать такой документ. То, что электронный документ не может быть не посредственно воспринят человеком, не является непреодолимой сложностью. Теоретически, конечно, можно предположить, что создана система ЭДО, в которой один участник вносит в документ Manchester, а другой получает на экране монитора или при распечатке Live rpool. Однако данная проблема легко решается, если предположить, что существует согласованная участниками или определенная нормативным актом уполномоченного органа процедура изготовления по электронному оригиналу традиционной (бумажной) копии документа. (Более подробно об этом мы поговорим, когда будем рассматривать процедуры разрешения конфликтов, связанных с использованием ЭДО.)
И, наконец, пожалуй, самый существенный аргумент. Бумажный документ почти невозможно изменить, в электронный же документ легко внести поправки, и очень трудно потом доказать факт их внесения. Можно, конечно, отметить, что подделка традиционных документов имеет, наверное, не меньшую историю, чем история письменности, но это не снимает проблемы идентификации электронных документов.
Решить приемлемым образом данную задачу удалось только во второй половине 1970-х годов, когда американские математики У. Диффи и М. Э. Хеллмэн предложили использовать цифровую подпись для подтверждения подлинности электронных сообщений.
С учетом изложенного электронный документ можно определить как набор данных, записанных в компьютерочитаемом виде, для которых выполнено следующее условие: существует признанная участниками ЭДО или утвержденная компетентным органом процедура, позволяющая однозначно преобразовать эти данные в документ традиционного режима. Признание указанной процедуры должно быть подтверждено участниками системы ЭДО посредством традиционного (письменного) документа, либо такая процедура должна быть санкционирована уполномоченным государственным органом.
Необходимость традиционного документа или акта уполномоченного органа для признания процедуры преобразования объясняется тем, что в противном случае возможен порочный логический круг, когда вопросы признания или непризнания юридической силы электронного документа будут решаться на основании другого электронного документа, силу которого тоже можно оспорить.
Очевидно, что для создания такой процедуры нужно, чтобы подлинность данных была подтверждена с достаточной степенью надежности (например, с помощью электронно-цифровой подписи).
Понятие электронно-цифровой подписи
В 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 систем" (по первым буквам фамилий авторов).
Попытаемся проанализировать сравнительные характеристики различных способов подтверждения подлинности как традиционных документов, так и данных, обрабатываемых с помощью ЭВМ.
Бумажные документы заверяются обычно либо собственноручной подписью компетентного лица с указанием его полного имени и должности, либо мастичной печатью юридического лица (на практике часто используют оба эти способа одновременно; иногда вместо собственноручной подписи должностного лица пользуются штампом с ее факсимильным воспроизведением). В последнее время реже применяется ранее распространенный метод оттиска отпечатка пальца под документом. В случае компьютерных данных используются цифровая (электронно-цифровая) подпись, электронные (магнитные) карты/ключи, пароли.
Подпись требуется для идентификации подписывающего лица и для подтверждения того, что информация, приведенная в документе, достоверна. Традиционно считается, что собственноручная подпись под документом имеет достаточно высокий уровень надежности. За столетия своего развития графология достигла значительных успехов, и с ее помощью можно установить с высокой степенью точности подлинность традиционной подписи. Но тем не менее специалисты по графологии никогда не делают абсолютных заключений. Например, в практике Норвежского судопроизводства используются четыре уровня достоверности заключения о подлинности подписи: возможно, вероятно, очень вероятно, с уверенностью. В российской судебной практике используются аналогичные утверждения: не исключено, с большой степенью вероятности и т. п. Таким образом, собственноручная подпись не дает абсолютной защиты от фальсификации документов. Более надежным способом в этом смысле является оттиск отпечатка пальца под документом, потому что отпечаток пальца неповторим, уникален.
Использование штампов (печатей, факсимиле подписи и т. п.) также не может гарантировать от подделок. Кроме того, в этой ситуации возможен еще один способ фальсификации документов: печать может быть похищена, либо ее оттиск поставлен неуполномоченным лицом. А так как, в отличие от предыдущего случая, здесь нет физической связи между тем, кто заверяет документ, и полученным на бумаге оттиском, выяснить, кто в действительности поставил печать, практически невозможно (аналогичная ситуация складывается и с ЭЦП).
Использование электронных документов породило еще одну проблему, кроме указанных. Если для традиционных документов подпись или штамп всегда были жестко привязаны к самому документу, то, например, указание пароля либо предъявление магнитной карточки открывает вход в некую систему создания документов, и в дальнейшем такие документы не имеют жестко увязанного с ними подтверждения их подлинности. Например, вы вставляете магнитную карточку в банкомат и вводите ваш код, после этого делаете запрос (создаете электронный документ) на получение определенной суммы наличными. Никакого документа, аналогичного расходному ордеру с вашей подписью, который вы заполняете в сбербанке, в данной ситуации не существует. Поэтому для повышения безопасности таких систем часто используются комбинации различных методов (например, при оплате товара или услуги с помощью магнитной карточки приходится подписывать бумажный документ, подтверждающий платеж).