Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебник по информатике.doc
Скачиваний:
402
Добавлен:
10.02.2016
Размер:
18.35 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. Проверка подписи. При проверке подписи проверяющий должен располагать ОК абонента, поставившего подпись. Этот ключ должен быть аутентифицирован, т.е. проверяющий должен быть полностью уверен, что данный ключ соответствует именно тому абоненту, который и поставил подпись.

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

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

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

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