Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
uch.doc
Скачиваний:
42
Добавлен:
18.08.2019
Размер:
18.41 Mб
Скачать

8.6. Электронная цифровая подпись

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

Отказ от выполненных действий. Субъект утверждает, что не посылал электронный документ, хотя на самом деле отослал его.

Модификация документа. Получатель модифицирует (изменяет) полученный документ и утверждает, что именно такую версию документа он получил.

Подделка. Субъект фабрикует сообщение и утверждает, что оно ему прислано.

П ерехват. Злоумышленник перехватывает сообщение, например, из канала связи.

Маскировка. Посылка сообщения от чужого имени.

Повтор. Злоумышленник посылает повторно сообщение, перехваченное им ранее.

Идея цифровой подписи как законного средства подтверждения подлинности и авторства электронного документа впервые была явно сформулирована в 1976 г. в статье американских специалистов по вычислительным наукам из Стэндфордского университета (США) Уитфилда Диффи (Witfield Diffie) и Мартина Хеллмана (Martin Hellman).

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

В настоящее время практически все системы ЭЦП основываются на асимметричных алгоритмах шифрования, зародившихся в криптологии.

Криптология – наука о защите информации путем ее преобразования (от греческих слов «cryptos» – тайный, «logos» – сообщение).

Их суть заключается в том, что для шифрования и расшифрования сообщения используются разные ключи. В зависимости от применения один из ключей, как правило, открытый (ОК), а другой – закрытый или секретный (СК). Структура несимметричной (асиметричной) криптографической системы защиты приведена на рисунке 8.28.

В таких системах генератор ключей часто находится на приемной стороне (либо в независимом центре генерации и сертификации ключей), и нет необходимости в организации закрытого канала связи. ОК и СК однозначно взаимосвязаны и генерируются в паре. Открытый ключ может передаваться по общедоступному каналу и часто даже просто публиковаться. Такие системы основаны на так называемых «односторонних» функциях. Это такие функции, в которых по значению аргумента легко найти значение самой функции, однако обратная операция (вычисление значения аргумента по значению функции) – задача достаточно трудоемкая.

Для генерации ключей используется так называемая задача дискретного логарифмирования. В простейшем варианте ее можно сформулировать так. Если заданы три больших целых положительных числа a, n, x, то, располагая даже несложными вычислительными устройствами типа карманного калькулятора или просто карандашом, можно быстро вычислить число ax, как результат умножения числа a на себя x раз. Затем легко найти остаток b от деления этого числа нацело на n, записываемый как b = ax mod n. Задача же дискретного логарифмирования состоит в том, чтобы по заданным числам a, b, n найти x, удовлетворяющий условию b = ax mod n. Задача дискретного логарифмирования при правильном выборе целых чисел столь сложна, что позволяет надеяться на практическую невозможность восстановления числа x по числу b за приемлемое время.

Общая схема реализации ЭЦП показана на рисунке 8.29. и включает ряд последовательных процедур (этапов).

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

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

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

И тоговое значение этого преобразования и является ЭЦП. Электронная подпись – это число фиксированной длины. Значение этого числа S зависит от содержимого документа и секретного ключа отправителя.

S = f(h(M),СК),

где: h(M) — хэш – функция;

М – заверяемый ЭЦП электронный документ;

СК – секретный ключ.

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

Задача хэш – функции заключается в том, чтобы из электронного документа произвольного объема вычислить цифровую последовательность стандартного размера (дайджест сообщения). Дайджест сообщения – это обычно 160 – или 128 – битная односторонняя хэш – функция. Отличительная особенность любого хорошего алгоритма хэширования заключается в том, что генерируемые с его помощью значения настолько уникальны и трудноповторимы, что вряд ли кто – то даже с помощью суперкомпьютеров за реальное время (менее 30 лет) сможет найти два набора входных данных, имеющих одинаковые значение хеширования.

Таким образом, хэш – функция h(M) должна удовлетворять следующим условиям:

  • исходный документ М может быть произвольного объема;

  • само значение h(M) имеет фиксированную длину;

  • значение функции h(M) легко вычисляется для любого аргумента;

  • восстановить аргумент М по значению h(M) с вычислительной точки зрения – практически невозможно;

  • функция h(M) – однозначна.

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

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

Если абоненты самостоятельно обмениваются ключами, эта уверенность может подкрепляться связью по телефону, личным контактом или любым другим способом.

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

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

Результат проверки ЭЦП обычно выводится на дисплей, например в таком виде:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]