Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Алгоритмы цифровой подписи

С какими целями используется цифровая подпись? Для предотвращения следующих ситуаций при электронном документообороте:

1) отказ: абонент А заявляет, что не посылал документа абоненту В, хотя на самом деле он его послал;

2) модификация: абонент В изменяет документ и утверждает, что именно таким получил его от абонента А;

3) подмена: абонент В сам формирует документ и заявляет, что получил его от абонента А;

4) активный перехват: нарушитель (подключившийся к сети) перехватывает документы (файлы) и изменяет их;

5) "маскарад": абонент С посылает документ от имени абонента А;

6) повтор: абонент С повторяет посылку документа, который абонент А ранее послал абоненту В.

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

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

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

 

1) D[E(x)] = x для любого возможного х;

 

2) Е и D должны быть легко вычислимы;

 

3) задача нахождения Е по известному D должна быть трудной.

 

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

 

Цифровая подпись = D+h(D),

где D – исходный документ;

h(D) – хэш – функция

 

Перечислим наиболее известные математические схемы ЭЦП: RSA (названа по первым буквам фамилий авторов: R. L. Rivest, A. Shamir, L. Adleman), OSS (H. Ong, C. P. Schnorr, A. Shamir), Эль-Гамаля (T. ElGamal), Рабина (M. Rabin), Окамото Сираиси (T. Okamoto, A. Shiraishi), Мацумото Имаи (T. Matsumoto, H. Imai), схемы с использованием эллиптических кривых и др.

В схемах RSA, Рабина, Эль-Гамаля и Шнорра (C. P. Schnorr) трудность задач подделки подписи обусловлена вычислительной сложностью задач факторизации или дискретного логарифмирования.

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

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

Чтобы поставить ЭЦП под конкретным документом, необходимо проделать довольно большой объем вычислительной работы. Эти вычисления разбиваются на два этапа.

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

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

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

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

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

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

Если рассматриваемое соотношение оказывается выполненным, то подпись признается правильной, а сам документ подлинным, в противном случае документ считается измененным, а подпись под ним недействительной.

<== предыдущая лекция | следующая лекция ==>
Гамирование и блочные шифры | Сжатие данных
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 619; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.