Введение 3
1 Анализ предметной области 5
1.1 Применяемые методы аутентификации 5
1.1.1 Ввод пароля в ОС 5
1.1.2 Ввод пароля на сайте электронных курсов 5
1.1.3 Ввод пароля на сайте Вконтакте 6
1.1.4 Токены 7
1.2 Постановка задачи 7
2 Выбор методов реализации 8
2.1 Шифрование 8
2.1.1 Симметричные криптосистемы 11
2.1.2 Асимметричные криптосистемы 11
2.1.2.1 Односторонний функции 11
2.1.2.2 Асимметричные алгоритмы 13
2.1.3 Алгоритм Диффи-Хеллмана 14
2.1.4 Размеры ключей 15
2.2 Эллиптические кривые 16
2.2.1 Каноничекая форма 16
2.2.2 Груповые операции 18
2.2.3 Конечные поля 18
3 Выбор средст реалицации протокола 20
3.1 Выбор библиотеки шифрования 20
3.1.1 OpenSSL 20
3.1.2 Crypto++ 21
3.2 QR code 22
3.3 Выбор параметров эллиптической кривой 23
3.4 Описание работы протокола 24
4 Пример реализации 26
4.1 Описание класса Elliptic 26
4.2 Пример работы 28
Заключение 34
Список использованных источников 35
С каждым зарегистрированным в компьютерной системе субъектом связана некоторая информация, однозначно идентифицирующая его. Это может быть число или строка символов, именующие данный субъект. Эту информацию называют идентификатором субъекта. Если пользователь имеет идентификатор он считается легальным пользователем, остальные пользователи относятся к нелегальным пользователям [1].
Для распознавания пользователя используются различные протоколы аутентификации. От них зависит решение системы: разрешить доступ к данным конкретному пользователю или процессу, или запретить. Для подтверждения своей легитимности — пользователь или процесс должен передать системе всякого рода сущности.
Передаваемая сущность должна быть известна только передавшему её субъекту. В связи с этим возникает необходимость безопасного хранения. Для решения данной проблемы, применяются различные методы шифрования, представляющие из себя симметричные и асимметричные криптосистемы.
Методы шифрования криптосистем различаются, но обладают одним сходством — вся информация шифруется и дешифруется ключами, которые, должны быть у обоих участников. Ясно, что в обоих методологиях необходимо решить проблему распространения ключей. В симметричный методах шифрования проблема возникает вследствие передачи ключа между участниками, асимметричные методы решают эту проблему путем опубликования открытого ключа.
Обозначенные проблемы определили цель выпускной квалификационной работы.
Целью выпускной квалификационной работы является создание криптографического протокола аутентификации с применением асимметричной криптографической системы.
Для достижения поставленной цели, необходимо решить следующие задачи:
- исследовать существующие методы аутентификации;
- исследовать существующие методы шифрования с применением симметричной и асимметричной схем;
- выбрать оптимальные параметры криптографических методов, применяемых при формировании аутентификационных пакетов данных;
- разработать криптографический протокол аутентификации с применением выбранных методов аутентификации и шифрования;
- реализовать разработанный криптографический протокол аутентификации.
В результате проведенных исследований была выбрана асимметричная система шифрования на основе эллиптических кривых, как наиболее оптимальная для организации аутентификации с ручным вводом данных. Применение подобной схемы обеспечивает высокий уровень криптостойкости при минимальном размере передаваемых данных. В процессе выполнения работы были изучены математические аспекты операций над эллиптическими кривыми и выбраны оптимальные параметры для применения данной криптографической системы. Был разработан и реализован криптографический протокол аутентификации с применением асимметричной криптографической системы на основе эллиптических кривых.