Тип работы:
Предмет:
Язык работы:


РАЗРАБОТКА АППАРАТНОГО ТОКЕНА НА МИКРОКОНТРОЛЛЕРЕ STM32F103C8T6

Работа №37985

Тип работы

Дипломные работы, ВКР

Предмет

информационные системы

Объем работы87
Год сдачи2019
Стоимость4900 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
313
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 3
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 5
1.1. Аппаратные токены 5
1.2. Обзор существующих токенов в ПО для хранения паролей 6
1.3. Микроконтроллер STM32F103C8T6 12
1.3.1. Описание микроконтроллера 12
1.3.2. Основные характеристики платы 13
1.3.3. Использование периферийных устройств на плате STM32 15
1.4. USB-интерфейс 16
1.4.1. Определение 16
1.4.3. Типы передачи данных по USB 18
1.4.4. Транзакции 19
1.4.5. Класс коммуникационного устройства USB 21
1.5. Алгоритм симметричного шифрования Blowfish 23
1.5.1. Описание алгоритма 23
1.5.2. Сеть Фейстеля 24
1.5.3. Алгоритм «Blowfish» 26
1.6. Протокол MQV 32
1.6.1. Протокол Диффи-Хеллмана 32
2. РАЗРАБОТКА АППАРАТНОГО ТОКЕНА И ПО ДЛЯ ХРАНЕНИЯ
ПАРОЛЕЙ 37
2.1. Алгоритм работы токена и программы на ПК 37
2.2. Разработка аппаратного токена на STM32F103C8T6 40
2.2.1. Генерация исходного кода на STM32 40
2.2.2. Разработка программы на STM32 42
2.3. Разработка приложения для хранения паролей на ПК 44
2.4. Тестирование разработанного токена 50
ЗАКЛЮЧЕНИЕ 53
СПИСОК ЛИТЕРАТУРЫ 54
Приложения 55

В настоящее время более 80% людей активно используют сети Интернет в повседневной жизни. Вместе с этим, каждый должен применять большое количество паролей для доступа к различным ресурсам - аккаунтам в социальных сетях, пароли от интернет-магазинов, данные банковских карт для онлайн-оплаты товаров и т.п. Обеспечение безопасности аккаунтов требует использование одного пароля только один раз, так как, в противном случае, злоумышленник, взломав один аккаунт, может быстро получить доступ к другим. Однако, сейчас средний пользователь имеет более десятка различных аккаунтов и запоминать все пароли становится чрезвычайно сложно, а записывать в блокнот небезопасно, поэтому один из самых оптимальных вариантов - использование программ для хранения. Единственной сложностью становится запоминание мастер-пароля для получения доступа ко всем остальным. В связи с этим большое распространение получили аппаратные заменители мастер-паролей: токены, смарт-карты и т.д. В связи с этим, представленная дипломная работа, посвященная созданию ПО для хранения паролей с аппаратным токеном на базе микроконтроллера STM32F103C8T6, является актуальной.
Целью данной работы является разработка аппаратного токена на микроконтроллере. Требуется дополнительно защитить канал связи между токеном и ПК для устранения возможности перехвата данных и раскрытия мастер-пароля для дешифрования базы данных.
Для реализации поставленной цели потребовалось решение следующих
задач:
1. изучение возможностей микроконтроллера STM32F103C8T6;
2. изучение симметричного алгоритма шифрования Blowfish;
3. изучение протокола обмена ключами MQV, на основе алгоритма Диффи-Хеллмана;
4. разработка ПО хранения паролей для ОС Windows;
5. разработка программы, реализующей функции
аутентификационного токена, для микроконтроллера STM32F103C8T6.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках данной работы было разработано ПО хранения паролей для ОС Windows и прошивка, реализующая функции токена, для микроконтроллера STM32F103C8T6. Для достижения поставленной цели были решены следующие задачи:
1. изучены возможности микроконтроллера STM32F103C8T6 в обеспечении шифровании информации и передачи данных с помощью USB;
2. изучен алгоритм симметричного шифрования Blowfish. Алгоритм применялся для процесса аутентификации между микроконтроллером и ПК и шифрования локальной базы данных паролей на ПК;
3. для передачи аутентификационной информации был применен алгоритм MQV, основанный на алгоритме Диффи-Хеллмана, для создания и распределения ключей шифрования, используя незащищенный от прослушивания канал связи. Протокол дополнительно обеспечивает защиту от атаки типа «человек посередине». После генерации ключа ПК отправляет на МК зашифрованную случайную последовательность. МК ее расшифровывает, добавляет свою подпись, шифрует и отправляет обратно. Значения не передаются по открытому каналу связи;
4. разработано ПО для хранения паролей на ОС Windows. В ПО используется локальная база данных, которая хранится на диске только в зашифрованном виде;
5. разработана прошивка для микроконтроллера STM32F103C8T6, выполняющая функции мастер-пароля в виде аппаратного токена. Токен используется для аутентификации в ПО хранения паролей.


1. LastPass Home // LastPass URL: https://www.lastpass.com/ru (дата обращения: 12.11.2018г.).
2. Алладин РД. Продукты и решения // Алладин РД URL: https://www.aladdin-rd.ru/catalog (дата обращения: 23.11.2018г.).
3. KeePass Password Safe // KeePass URL: https://keepass.info (дата обращения: 01.12.2018г.).
4. STM32F103C8T6x8. Datasheet - production data // ST URL: http://www.st.com/STM32DSh (дата обращения: 15.03.2019г.).
5. Blue Pill // STM32duino wiki URL: https://wiki.stm32duino.com/index.php?title=Blue_Pill (дата обращения: 05.12.2018г.).
6. Брюс Шнайер, Нильс Фергюсон. Практическая криптография. - New Jersey, USA:Wiley Publishing, Inc. - 420 с.
7. Н. Смарт. Криптография. - Москва: Техносфера, 2005.
8. Программирование микроконтроллеров для начинающих // Delphi Component URL: https://delphicomponent.ru/135-programmirovanie-usb- ustroystv-v-delphi.html (дата обращения: 10.04.2019г.).
9. Create a USB Virtual COM Port // Jan Axelson's Lakeview Research
URL: http://janaxelson.com/usb_virtual_com_port.htm (дата обращения:
10.01.2019г.).
10. Universal Serial Bus Specification URL:
http://www.softelectro.ru/usb.html (дата обращения: 06.06.2019г.).
11. CDC: Communication Device Class // KEIL URL:
https://www.keil.com/pack/doc/mw/USB/html/_c_d_c.html (дата обращения: 15.06.2019г.).

Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ