- •Содержание
- •Введение
- •1 Анализ существующих систем аутентификации, выбор решения для аутентификации пользователя транспортного средства
- •1.1 Системы со статическим и динамическим кодом
- •1.2 Шифрование с открытым ключом
- •1.3 Схема проверки подлинности ключа
- •1.4 Вывод
- •2 Разработка структурной схемы
- •2.1 Упрощённая структурная схема системы
- •2.2 Структурная схема модуля аутентификации
- •2.3 Генерация случайной последовательности
- •2.4 Структурная схема модуля радиоключа
- •2.5 Вывод
- •3 Разработка программного обеспечения
- •3.1 Выбор языка программирования
- •3.2 Выбор параметров математического метода
- •3.3 Тестирование скорости выполнения протокола
- •3.4 Проектирование алгоритма работы системы
- •3.5 Разработка общего алгоритма работы системы
- •3.6 Проектирование программной части генератора случайных чисел
- •3.6.3 Программный пул.Пул – программный блок памяти, осуществляющий накопление случайных данных перед их использованием в генераторе псевдо случайных чисел.
- •3.6.4 Rc4. Rc4 – потоковый шифр, широко применяющийся в различных системах защиты информации в компьютерных сетях (например, в протоколах ssl и tls, алгоритме безопасности беспроводных сетей wep).
- •3.6.6 Блок-схема алгоритма модуля генератора случайных чисел.Блок схема конечного алгоритма модуля генератора случайных чисел изображена на рисунке 3.8.
- •3.6 Вывод
- •4 Разработка принципиальной схемы системы
- •4.1 Выбор микроконтроллера
- •4.2 Выбор приёмопередатчика
- •4.3 Схема понижения напряжения из бортовой сети автомобиля
- •4.4 Схема генератора случайных чисел
- •4.5 Выбор источника питания радиоключа
- •4.6 Проектирование принципиальной схемы радиоключа
- •4.7 Проектирование принципиальной схемы системы автомобиля
- •4.8 Вывод
- •5 Энергосбережение при проектировании систем радиоэлектронной связи
- •5.1 Анализ энергозатрат при эксплуатации указанных систем
- •5.2 Поиск инженерно-технических и конструкторско-технологических решений экономии энергозатрат разрабатываемой системы
- •5.3 Вывод
- •6 Технико-экономическое обоснование эффективности разработки системы аутентификации пользователя транспортного средства
- •6.1 Характеристика программного продукта
- •6.2 Расчет затрат и отпускной цены программного средства
- •6.3 Расчет стоимостной оценки результата
- •6.4 Расчет показателей эффективности использования программного продукта
- •6.5 Вывод
- •Заключение
- •Список использованных источников
- •Приложение а
3.6.6 Блок-схема алгоритма модуля генератора случайных чисел.Блок схема конечного алгоритма модуля генератора случайных чисел изображена на рисунке 3.8.
Рисунок 3.8 – Блок-схема алгоритма модуля генератора случайных чисел
Микроконтроллер начинает свою работу с инициализации периферийных модулей и разрешения прерываний, далее он входит в цикл, ожидания накопления данных в пуле, как только в пул накопится достаточное количество данных, микроконтроллере инициализирует состояние ГПСЧ данными из пула, перемешанными с состоянием, считанным из памяти и входит в основной цикл работы. Результаты тестов dieharder генератора случайных чисел представлены на схеме.
В основном цикле микроконтроллер проверяет глобальную переменную bytesToSend, если она не равна нулю, то по интерфейсу USART отправляются случайные числа, сгенерированные генератором псевдослучайных чисел в количестве, которое записано в переменную bytesToSend. На время отправки данный останавливаются все прерывания, чтобы микроконтроллер мог максимально быстро ответить на запрос главного модуля. Далее проверяется не заполнился ли снова пул и, если пул полон, то с помощью него обновляется состояние ГПСЧ.
Прежде чем закончить цикл генерируется одно случайное число впустую, это опять-таки вносит в работу системы долю случайности, потому что выдаваемые случайные числа будут зависеть ещё и от времени обращения к модулю генератора. Так же в системе работают два обработчика прерываний. По событию окончания преобразования АЦП вычисляется случайный бит и добавляется в пул, помимо этого обновляется глобальная переменная, хранящая количество битов в пуле. И по событию приёма данных по интерфейсу USART обновляется глобальная переменная bytesToSend, отвечающая за количество случайных байтов, которое необходимо переслать в главный модуль.
3.6 Вывод
Имея спроектированные блок-схемы алгоритмов и, выбрав подходящую библиотеку для работы с эллиптическими кривыми, был разработан программный код системы на языке Си. Размер файла прошивки для микроконтроллера автомобильного брелока составил 42 килобайта, что позволяет использовать микроконтроллеры младшего семейства, например Atmega 8. Размер прошивки для микроконтроллера системы автомобиля составил 44 килобайта, что так же позволяет использовать микроконтроллеры младшего семейства. В частности можно использовать вычислительное устройство с 32-битной шиной данных, что позволит уменьшить время выполнения программы со стороны автомобиля и уменьшить так же дискомфорт со стороны пользователя транспортного средства.
Вместо реализации криптографических алгоритмов на базе эллиптических кривых в виде программного кода можно использовать готовое устройство фирмы Atmel, например ATECC508A, данное устройство компактно, обладает небольшим энергопотреблением и позволяет эффективно производить криптографические операции в поле эллиптической кривой. Однако данное устройство было выпущено совсем недавно, и на момент начала разработки данного проекта отсутствовала какая-либо документация на это устройство. Однако, в будущем возможно применение этой микросхемы с целью увеличения скорости работы системы, а так же упрощения её разработки.
Разработанный же код был написан с ориентацией на микроконтроллерыAtmegaфирмыAtmel. В разделе «Разработка принципиальной схемы системы» обоснован выбор микроконтроллера, а так же спроектирована электрическая схема конечного устройства, как радиоключа, так и запирающей системы автомобиля.
При проектировании программного кода для системы генератора случайных чисел, был спроектирован алгоритм работы программы генератора, позволяющий получение энтропии с различных подключаемых источников. Некоторые источники могут быть не подключены. Соответственно, при проектировании принципиальной схемы устройства необходимо позаботиться, чтобы хотя бы некоторое количество источников случайных данных было обеспечено модулю генератора случайных чисел, иначе спроектированная система окажется уязвимой в связи с отсутствием случайности при осуществлении сеанса протокола аутентификации.