Автор: Пользователь скрыл имя, 30 Апреля 2012 в 21:20, практическая работа
В представленном курсовом проекте дается общее описание систем авторизованного доступа, реализующих принцип «свой/чужой». Приводятся причины их возникновения, последовательность развития, основные алгоритмы работы. Выводятся основные критерии, которым должна удовлетворять современная система авторизованного доступа. Проводится сравнение алгоритмов двух конкурирующих фирм: Microchip и Holtec. Дается подробное описание алгоритма KeeLoq, его аппаратной реализации.
Введение
Обзор радиоохранных систем, методов нападения и защиты
Описание современных систем авторизованного доступа
Кодеры и декодеры фирмы Microchip
Кодеры и декодеры фирмы Holtec
Подробное описание технологии KeeLoq
Микросхемы KeeLoq с технологией "прыгающего кода"
Описание алгоритма Keeloq
Экспериментальная часть
Заключение.
Приложение 1 Семейство кодеров и декодеров Microchip
Кодеры: Кодеры KeeLoq фирмы Microchip
Декодеры: Декодеры KeeLoq фирмы Microchip
Приложение 2 Примеры практических схем
Схемы типичных кодовых брелоков
Автосигнализации с брелоками-передатчиками на ИК-лучах
Строгий Лавинный Критерий (SAC). Чтобы удовлетворять данному критерию необходимо, чтобы на один измененный бит зашифрованной информации изменялось половина выходных информационных битов. Следовательно, возможность угадывания любого бита информации равна 0.5, а вероятность правильного угадывания всей 32-разрядной информационной посылки равна одна к 4,300,000,000! На вход алгоритма, при проведении тестов, подавалось случайное значение 64-битного ключа, а также содержимое счетчика Грэя, который считал начиная с нуля. В каждом случае значение, появляющееся на выходе алгоритма сравнивалось с входной величиной (SAC тест) или с предыдущим кодом (АЕ тест). Оба случая дали следующие результаты: При АЕ тесте средняя величина изменяемых битов оказалась равной 16.0 (50%) со стандартным разбросом значений 2.83 (8.8%). При SAC тесте изменение одного входного бита дает изменение выходного значения в среднем на 50%, с средним разбросом значение в 8.8%.
Формирователи «прыгающего» кода KeeLoq предназначены для однонаправленных систем дистанционного управления. В функции кодера входит только формирование кодовой посылки, разработчику системы дистанционного управления необходимо позаботиться об организации канала связи. Инициализация кодера, на передачу кода, происходит по нажатию на кнопку пульта дистанционного управления. Для радиомаяка, на основе технологии KeeLoq, инициализация передачи кода может происходить и под воздействием внешнего электромагнитного поля.
В технологии KeeLoq используется своеобразная система реверсивной идентификации по принципу «свой - чужой». На основе серийного номера передатчика и заводского ключа приемника формируется 64-битный секретный ключ, по специальному алгоритму, записываемый в кодер на этапе его программирования (рис. 4). Секретный ключ не может быть считан из кодера, и он никогда не передается по каналу связи.
При каждой инициализации кодера (нажатие на кнопку пульта дистанционного управления) формируется кодовая последовательность, в которую входит 32-битный «прыгающий код» полученный из 64-битного секретного ключа. «Прыгающий код» уникален для каждой новой кодовой последовательности. Счетчик В KeeLoq кодерах используется 66/67 битный формат передачи данных. 66-разрядное кодовая последовательность состоит из:
32-битного «прыгающего кода»
28-битного серийного номера
4-битного функционального кода (нажатие кнопок)
1-битный флаг разряда батареи питания
1-битный флаг повторения
«Прыгающий код»
| Серийный номер
| Функцион. код
| Флаг разр. батареи
| Флаг повтор.
|
32 бита
| 28 бит
| 4 бита
| 1 бит
| 1 бит
|
67-разрядная кодовая последовательность состоит из:
32-битного «прыгающего кода»
28/32-битного серийного номера
4/0-битного функционального кода (нажатие кнопок)
1-битный флаг разряда батареи питания
2-битный CRC
«Прыгающий код»
| Серийный номер
| Функцион. код
| Флаг разр. батареи
| CRC
|
32 бита
| 28 бит
| 4 бита
| 1 бит
| 2 бит
|
32 бита
| 32 бита
| 0 бит
| 1 бит
| 2 бит
|
67-битная кодовая последовательность применяется в системах дистанционного управления с повышенными требованиями к помехозащищенности.
В целях энергосбережения, в схему кодера включен коммутатор питания формирователя кодовой последовательности. Если ни одна из кнопок не нажата, формирователь обесточен. В случае длительного удержания клавиши в нажатом состоянии произойдет автоматическое отключение формирователя кодовой последовательности. Для повторной инициализации передачи кода необходимо отпустить и вновь нажать кнопку на пульте.
Кодер поддерживает три скорости передачи кодовой последовательности:
833 бит/с (10Омс)
1667 бит/с (50 мс)
3333 бит/с (25 мс)
Все кодеры KeeLoq повторяют передачу кодовой последовательности до тех пор, пока остается нажатой кнопка или не сработала защита разряда батареи.
Кодовая последовательность всегда передается полностью, даже если кнопка будет отпущена, а передача еще не закончена. Кодер автоматически передаст всю сформированную кодовую последовательность и перейдет в режим ожидания. Также в кодере предусмотрена функция защиты от дребезга контактов кнопок или кратковременных, ошибочных нажатий на клавишу. Защиту от дребезга контактов можно включить/выключить на этапе программирования кодера.
Государственным Комитетом по Распределению Частот РФ определена максимальная средняя мощность радиоизлучения в 10мВт, для устройств не подлежащих регистрации в органах ГСН РФ (Правила по ввозу и эксплуатации на территории РФ радиоэлектронных средств и устройств). Для повышения надежности работы системы может быть выгодно увеличить скорость передачи кодовой посылки, увеличив при этом мощность передатчика. Другой способ снижения средней мощности передачи - это запрещение непрерывных повторов кодовой последовательности при удержании клавиши на пульте дистанционного управления. Например, повторять передачу кодовой последовательности раз в секунду или каждое четвертое кодовое слово.
Параметры кодеров KeeLoq:
Секретность
28/32-битный серийный номер
Программируемый 64-битный секретный ключ
Длина кодовой последовательности 66/67 бит
32-битный «прыгающий код»
34/35-битный фиксированный код
Защита от чтения секретного ключа
Параметры
Питание от 3.0В до 12.0В
Низкое энергопотребление
3/4 кнопки, 7/15 функций
Выбор скорости передачи
Автоматическое завершение передачи кодовой посылки
Сигнал о разряде батарей
Энергонезависимая синхронизация
Поддержка модуляция для ИК систем
Состав
Внутренняя память EEPROM
Интегрированный тактовый генератор и таймеры
Схема сброса
Подтягивающие резисторы на входах кнопок
Токовый выход для светодиода
Декодеры KeeLoq предназначены для дешифрации команд поступающие от кодера по каналу связи. После проверки принятого в кодовой последовательности серийного номера и «прыгающего кода», декодер на основании функционального кода активизирует выходы, соответствующие входам кнопок в кодере. Выходы будут удерживаться в активном состоянии до тех пор, пока нажата кнопка на кодере. Время удерживания выходов в активном состоянии после последней принятой кодовой последовательности 500 мс.
Для исполнения команд декодером, ему необходимо указать 28/32-битный серийный номер и 64-битный секретный ключ кодера. Также одним из условий выполнения команд декодером, является его синхронизация с кодером.
Технология KeeLoq позволяет использовать один секретный ключ для нескольких кодеров, работающих с данным декодером. Одно-ключевая система менее безопасна, но уменьшается сложность программы и объем необходимой памяти. В одно-ключевой системе поддерживается синхронизация с каждым из кодеров, вне зависимости от частоты использования.
В декодерах KeeLoq используется независимая ключевая система. Для каждого из передатчиков хранится свой серийный номер, секретный ключ и текущая синхронизация.
В технологии KeeLoq существуют два режима обучения декодера:
Нормальный режим.
В этом режиме, при нажатии на кнопку пульта дистанционного управления кодер формирует стандартную кодовую последовательность.
«Прыгающий код»
| Серийный номер
| Функцион, код
| Статус/ CRC
|
32 бита
| 28 бит
| 4 бита
| 2/3 бит
|
|
|
|
|
«Прыгающий код»
| Серийный номер
| Статус/ CRC
| |
32 бита
| 32 бита
| 2/3 бит
|
Декодер, получив первую кодовую последовательность, вычисляет на основании серийного номера 64-битный секретный ключ, который был запрограммирован в кодер. Декодер ожидает второй кодовой последовательности, для проверки результата вычислений. Перед записью данных декодер проверяет в полученных кодовых последовательностях - серийные номера, последовательность кода, правильность вычисления «прыгающего кода». После этого кодер считается зарегистрированным в декодере.
Безопасный режим.
После перевода кодера в режим безопасного обучения, на кодере нажимается комбинация кнопок для передачи 32/48-битного кодового зерна.
Кодовое зерно
| Серийный номер
| Функцион. код
| Статус/ CRC
|
32/48 бит
| 28/1 2 бит
| 4 бита
| 2/3 бит
|
|
|
|
|
Кодовое зерно
| Серийный номер
| Статус/ CRC
| |
32/48 бит
| 32/24 бит
| 2/3 бит
|
Информация о работе Исследование систем авторизованного доступа