Совместное использование цифровых подписей и шифрования



Протокол, сочетающий надежное шифрование с открытым ключом с достоверностью цифровых подписей:

1. Алиса подписывает сообщение, используя свой закрытый ключ – SA(M).

2. Алиса шифрует подписанное сообщение с помощью открытого ключа Боба и отправляет его Бобу – EB(SA(M)).

3. Боб дешифрует сообщение своим закрытым ключом DB(EB(SA(M)))= SA(M).

4. Боб проверяет подлинность подписи, используя открытый ключ А, и восстанавливает сообщение VA(SA(M))=M

Обмен ключами

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

Именно ограничение продолжительности существования ключей текущем сеансом определяют их эффективность. Однако передача сеансового ключа участникам сеанса связи – сложная задача.

Обмен ключами средствами симметричной криптографии

Предполагается, что пользователи сети Алиса и Боб совместно используют секретный ключ, получаемый от центра распределения ключей (Key Distribution Center, KDC). В нашем случае роль KDC сыграет посредник Трент.

1. А запрашивает у Т сеансовый ключ для связи с B

2. Т генерирует случайный сеансовый К и зашифровывает копии К для А и B и отправляет обе копии А

3. А дешифр. свою копию сеансового ключа

4. А отсылает B его копию сеансового ключа.

5. B дешифр. свою копию сеансового ключа.

6. А и B используют этот сеансовый К для связи.

Обмен ключами средствами криптографии с открытым ключом

1. А получает от центра KDC открытый ключ Боба

2. А генерирует случ. сеансовый К, шифрует его открытым К Боба и отправляет Бобу

3. Боб расшифровывает сообщение А своим закрытым ключом

4. Используя один и тот же сеансовый ключ, А и B шифруют свой сеанс связи.

Одновременная передача ключей и сообщений

1. А генерирует сеансовый ключ К и шифрует сообщение EK(M)

2. А извлекает из базы данных открытый ключ Боба

3. А зашифровывает К, используя открытый ключ Боба EB(K)

4. Алиса отправляет Бобу зашифр. сообщение и зашифр. ключ EK(M), EB(K)

5. Боб дешифр. сеансовый ключ К своим закрытым ключом.

6. Боб дешифр. сообщение с помощью сеансового ключа

 

Аутентификация

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

Аутентификация с помощью однонаправленных функций

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

1. Пользователь посылает свой пароль хосту.

2. Хост расчитывает значение однонаправленной функции для данного пароля.

3. Хост сравнивает результат расчета однонапр. функции со значением, хранящемся в его памяти.

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

Атака по словарю и привязка

- Злоумышленник составляет большой список из слов часто используемых в качестве паролей.

- Этот список обрабатывается однонаправленной функцией.

- Список полученных хэшей сравнивается с файлом паролей, для нахождения совпадений.

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

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

Большинство UNIX-систем используют для привязки 12 бит. При этом существующие программы взлома угадывают на реальных системах до 30% паролей. Поэтому очень важно устанавливать сложные пароли.

Недостатки:

- Возможность атаки по словарю.

- Пароли передаются в открытом виде и могут быть перехвачены.

Аутентификация средствами криптографии с открытым ключом.

В данном случае, хост хранит базу данных с открытыми ключами всех пользователей. Последовательность действий:

1. Хост отправляет пользователю случайную строку.

2. Пользователь шифрует строку с помощью своего закрытого К и отсылает обратно вместе со своим именем.

3. Хост берет из базы данных открытый ключ пользователя и расшифровывает сообщение.

4. Если расшифрованная строка совпадает с той, что хост отправил на 1-м этапе, хост открывает пользователю доступ к системе.

Разбиение секрета

Чтобы сохранить какую-то информацию в тайне, ее можно разбить на несколько частей так, чтобы каждая часть сама по себе ничего не значила. Восстановить информацию можно только собрав все части вместе. Пример – передача логина и пароля разными путями или фильм «Шестой элемент».

Простейшая реализация схемы разделения:

1. Трент генерирует строку случайных битов R, то же длины, что и сообщение M

2. Т выполняет операцию XOR над M и R, генерируя S RÅM=S

3. Трент передает Алисе R, а Бобу – S

4. А и B выполняют операцию XOR над имеющимися у них частями, реконструируя сообщение. RÅ S= M

По существу, Трент шифрует сообщение с помощью одноразового блокнота и выдает шифротекст одному человеку, а блокнот – другому. При надлежащем исполнении, данный метод абсолютно надежен. Эту схему нетрудно расширить на большее число людей.

Недостатки данного метода:

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

- Если утратить хотя бы одну часть сообщения, его невозможно будет восстановить.

Разделение секрета

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

При пороговой схеме разделения, сообщение делится на n частей, называемых долями так, чтобы по любым m долям можно было его восстановить. Такая схема называется (m, n)-пороговой схемой

Например, используя (3,4)-пороговую схему, секрет разделяется на 4 части и восстановить его можно по 3-м любым.

Службы меток времени

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

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

Цифровая метка времени должна обладать след. свойствами:

1. Не должна зависеть от физического носителя, используемого для хранения.

2. Должна изменяться при любом изменении документа.

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

Постановка метки времени с помощью посредника

В этом протоколе участвует Трент, располагающий доверенной службой меток времени.

1. Алиса пересылает копию док-та Т

2. Т записывает дату прием док-та и оставляет у себя копию док-та на хранение.

Для подтверждения времени в этом случае необходимо обращаться к Т.

Недостатки:

- Нарушается конфиденциальность, т.к. копия хранится у Т

- Требуются большие ресурсы под базу данных док-тов и для линий связи.

- Проблемы в поддержании честного и защищенного посредника. А может вступить в сговор с Т.

Улучшенный протокол с посредником.

1. Алиса генерирует необратимый хэш док-та и пересылает хэш Т

2. Т проставляет дату и время получения хэша и подписывает результат цифровой подписью.

3. Т отправляет А подписанных хэш вместе с меткой времени.

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

Протокол связывания.

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

 

Методы криптографии

Длина ключей

Выбираемая длина ключей зависит от следующих основных факторов:

- Стоимость информации

- Какое время инф. должна храниться в тайне

- Возможности противников.

Пример требований к надежности защиты: Длина ключа должна быть такой, что вероятность взлома в течении года, с учетом темпов технического прогресса 30% в год, взломщиком, готовым затратить 10 млн. долларов, не превышала бы 1 из 232.

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

Длины симметричных и открытых ключей с равной устойчивостью к лобовому вскрытию.

Длина симметричного ключа (бит) Длина открытого ключа (бит)
56 384
64 512
80 768
112 1792
128 2304

 

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

 

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

Управление ключами – труднейшая задача криптографии. Нередко для вскрытия криптосистем используют просчеты системы управления ключами. Рассмотрим некоторые проблемы управления ключами и их решения.


Дата добавления: 2018-05-12; просмотров: 377; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!