Электронная подпись на основе алгоритма RSA

Наиболее простым и распространенным инструментом электронной подписи является уже знакомый алгоритм RSA. Ниже оно будет рассмотрена в качестве примера. Кроме этого существуют еще десятки других схем цифровой подписи.

Предположим, что

d, p, q - секретные, а е, n = pq - открытые.

Замечания.

1. Разложение по n дает: j(n)=(p-1)(q-1); зная j(n) и e, можно найти d.

2. Из e и d можно найти кратность j(n); кратность j(n) позволяет определить делители n.

Пусть DATA - передаваемое Александром Борису сообщение.

Александр подписывает DATA для Бориса при передаче:

EeB,nB { EdA,nA {DATA}}.

При этом он использует:

* закрытый ключ EdA,nA Александра,

* открытый ключ EeB,nB Бориса.

Борис может читать это подписанное сообщение сначала при помощи закрытого ключа EdВ,nВ Бориса с целью получения

EdA,nA {DATA} = EdB,nB {EeB,nB {EdA,nA {DATA}}}

и затем - открытого ключа EeA,nA Александра для получения

DATA = EeA,nA { EdA,nA {DATA}}.

Таким образом, у Бориса появляется сообщение DATA, посланное ему Александром.

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

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

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

Данная схема позволяет при решении многих конфликтных ситуаций обходиться без посредников.

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

В 1991 г. Национальный институт стандартов и технологии (NIST)предложил для появившегося тогда алгоритма цифровой подписи DSA (Di g ital Si g natu r e Al g o r ithm) стандарт DSS (Di g ital Si g natu r e Standa r d), в основу которого положены алгоритмы Эль-Гамаля и RSA. [6]


Исследование создания сеансовых ключей на основе алгоритма Диффи-Хеллмана

Цель работы

Изучить принципы генерации сеансовых ключей шифрования в ИС

Домашнее задание

1. Изучить алгоритм генерации сеансовых ключей в соответствии с пунктом 5.6 настоящего руководства

2. Записать номер варианта N соответствующий младшей цифре студенческого билета

3. Определить простое число P по Таблица 6.1 следующим образом: номер числа P в таблице равен N+30

4. Зарисовать в протоколе Таблица 5.1 и заполнить в соответствии с номером варианта

5. Выбрать произвольные не совпадающие значения чисел D, X1, X2 и

Таблица 5.1 Генерация сеансового ключа по алгоритму Диффи-Хеллмана

Исследуемая величина Домашнее задание Лабораторное задание
Простое число P    
Мантисса 1<D<(P-1)    
Пользователи Первый Второй Первый Второй
Случайное 1<Xi<(P-1)        
и        
Сеансовый ключ        

Ключевые вопросы

1. Из каких трёх элементов состоит процесс управления ключами

2. Какие методы генерации ключей применяют в информационных системах

3. Какие требования к задаче распределения ключей

4. Опишите методы подтверждения подлинности сеанса связи

5. Как происходит сеанс связи с использованием сеансового ключа шифрования.

6. Объяснить причину целесообразности использования симметричного шифра в ходе сеанса связи.

7. Рассказать алгоритм распределения ключевой информации Диффи-Хеллмана.

8. Преимущества алгоритма Диффи-Хеллмана

9. Недостатки алгоритма Диффи-Хеллмана

10. Как вычислить ключ злоумышленнику на основании открытых данных (D, P, Y1, Y2), и почему это сделать трудно?

Содержание протокола

1. Название работы.

2. Цель работы.

3. Выполненное домашнее задание согласно номеру варианта

4. Результаты выполнения лабораторного задания

5. Выводы

Лабораторное задание

1. Предъявить преподавателю выполненное домашнее задание.

2. Найти в каталоге STUDENT файл под именем LabCrypt.exe и запустить эту программу.

3. Из появившегося меню вызвать форму для лабораторной работы №6

4. Записать в форму и таблицу своё число Р согласно номеру варианта

5. Записать значения D, X1, X2 и занести в таблицу

6. Вычислить в форме значения Y1 и Y2, занести их в таблицу

7. Вычислить в форме значения ключа K12 и занести в таблицу

8. Записать выводы, подготовить протокол к защите.

Ключевые положения

Управление ключами

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

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

Управление ключами - информационный процесс, включающий в себя три элемента:

* генерацию ключей;

* накопление ключей;

* распределение ключей.

Рассмотрим, как они должны быть реализованы для того, чтобы обеспечить безопасность ключевой информации в ИС.

Генерация ключей

В самом начале разговора о криптографических методах было сказано, что не стоит использовать неслучайные ключи с целью легкости их запоминания. В серьезных ИС используются специальные аппаратные и программные методы генерации случайных ключей. Как правило используют датчики ПСЧ. Однако степень случайности их генерации должна быть достаточно высоким. Идеальным генераторами являются устройства на основе «натуральных» случайных процессов. Например, появились серийные образцы генерации ключей на основе белого радиошума. Другим случайным математическим объектом являются десятичные знаки иррациональных чисел, например p или е, которые вычисляются с помощью стандартных математических методов.

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

Накопление ключей

Под накоплением ключей понимается организация их хранения, учета и удаления.

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

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

В достаточно сложной ИС один пользователь может работать с большим объемом ключевой информации, и иногда даже возникает необходимость организации мини-баз данных по ключевой информации. Такие базы данных отвечают за принятие, хранение, учет и удаление используемых ключей.

Итак, каждая информация об используемых ключах должна храниться в зашифрованном виде. Ключи, зашифровывающие ключевую информацию называются мастер-ключами. Желательно, чтобы мастер-ключи каждый пользователь знал наизусть, и не хранил их вообще на каких-либо материальных носителях.

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

Вопрос обновления ключевой информации связан и с третьим элементом управления ключами - распределением ключей.

Распределение ключей

Распределение ключей - самый ответственный процесс в управлении ключами. К нему предъявляются два требования:

Оперативность и точность распределения

Скрытность распределяемых ключей.

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

Распределение ключей между пользователями реализуются двумя разными подходами:

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

2. Прямой обмен ключами между пользователями информационной системы. В этом случае проблема состоит в том, чтобы надежно удостоверить подлинность субъектов.

В обоих случаях должна быть гарантирована подлинность сеанса связи. Это можно обеспечить двумя способами:

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

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

В обоих случаях следует использовать шифрование, чтобы быть уверенным, что ответ послан не злоумышленником и штемпель отметки времени не изменен.

При использовании отметок времени встает проблема допустимого временного интервала задержки для подтверждения подлинности сеанса. Ведь сообщение с «временным штемпелем» в принципе не может быть передано мгновенно. Кроме этого компьютерные часы получателя и отправителя не могут быть абсолютно синхронизированы. Какое запаздывание «штемпеля» считать подозрительным.

Поэтому в реальных ИС, например в системах оплаты кредитных карточек используется именно второй механизм установления подлинности и защиты от подделок. Используемый интервал составляет от одной до нескольких минут. Большое число известных способов кражи электронных денег, основано на «вклинивании» в этот промежуток с подложными запросами на снятии денег.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: