Исследование систем авторизованного доступа

Автор: Пользователь скрыл имя, 30 Апреля 2012 в 21:20, практическая работа

Описание работы

В представленном курсовом проекте дается общее описание систем авторизованного доступа, реализующих принцип «свой/чужой». Приводятся причины их возникновения, последовательность развития, основные алгоритмы работы. Выводятся основные критерии, которым должна удовлетворять современная система авторизованного доступа. Проводится сравнение алгоритмов двух конкурирующих фирм: Microchip и Holtec. Дается подробное описание алгоритма KeeLoq, его аппаратной реализации.

Содержание

Введение
Обзор радиоохранных систем, методов нападения и защиты
Описание современных систем авторизованного доступа
Кодеры и декодеры фирмы Microchip
Кодеры и декодеры фирмы Holtec
Подробное описание технологии KeeLoq
Микросхемы KeeLoq с технологией "прыгающего кода"
Описание алгоритма Keeloq
Экспериментальная часть
Заключение.
Приложение 1 Семейство кодеров и декодеров Microchip
Кодеры: Кодеры KeeLoq фирмы Microchip
Декодеры: Декодеры KeeLoq фирмы Microchip
Приложение 2 Примеры практических схем
Схемы типичных кодовых брелоков
Автосигнализации с брелоками-передатчиками на ИК-лучах

Работа содержит 1 файл

ПЗ.doc

— 1.17 Мб (Скачать)

5.     И, наконец, производителям охранных систем необходимо помнить, что чем лучше хранится в тайне мануфактурный код, записываемый при изготовлении в чип кодера (брелка), тем меньше вероятность вскрытия злоумышленниками охранной системы.[4]


Описание современных систем авторизованного доступа

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

Keeloq - это система алгоритмов, разработанная и запатентованная Южно-Африканской компанией Nanoteq в середине 80-х. Nanoteq была основана экспертами по кодированию и электронике из университета Претории и занималась вопросами информационной безопасности.

В настоящее время алгоритм Keeloq принят во всем мире и положен в основу тестовых критериев для систем безопасности в Великобритании, адаптирован рядом европейских производителей и использован в собственных системах, разработанных "Форд" (для Escort) и "Ягуар" (для XJS).

В 1995 году фирма MICROCHIP приобрела отделение Keeloq у фирмы Nanoteq вместе с лицензионными правами. Теоретические разработки Nanoteq в сочетании с производственными мощностями и техническими возможностями MICROCHIP (работа изделий при низких напряжениях и высокая надежность EEPROM) позволили реализовать новый ряд компактных микросхем контроля доступа, простых для пользователя, но изощренных для взломщика.

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

 

 


Кодеры и декодеры фирмы Microchip

Кодеры и декодеры используют техноло­гию прыгающего кода KeeLoq и алгоритм шифрования KeeLoq. Дадим общую характеристику алгоритма и реализующих его устройств. Более подробно они будут рассмотрены в дальнейшем.

 

Основные термины

Код Изготовителя (Manufacturer's Code) — 64-битовое слово, уникальное для каждо­го изготовителя, используется, для того чтобы произвести уникальный кодирую­щий ключ в каждом передатчике.

Серийный номер - в каждый передатчик, при изготовлении, программируется 28 или 32 битный уникальный серийный номер.

Секретный ключ - это 64-битный код формируемый функцией генератора ключей из 28/32-битного серийного номера или 32/48-битного «кодового зерна» и 64-битного заводского номера. Секретный ключ не может быть считан, он никогда не передается.

«Кодовое зерно» - это 32/ 48-битное значение программируется в кодер передатчика. При этом половина кодового значения используется при генерации ключа. Значение "кодового зерна" передается передатчиком только после нажатия на нем определенной комбинации клавиш и может выключаться по окончании процесса обучения.

Заводской ключ - программируется в декодер при изготовлении устройства, и используется для генерации секретного ключа.

Прыгающий Код — метод, при которым код, переданный с передатчика на прием­ник является различным, при каждом нажа­тии кнопки. Этот метод, вместе с длиной пе­редачи 66 битов, фактически делает невозмо­жным перехват или подбор кода.

Генерация секретного ключа - используется для формирования уникального номера передатчика. При генерации используется серийный номер и «кодовое зерно». Генерация кода производиться по нелинейному закону производится программатором при программировании кодера.

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

Безопасное обучение - передатчик активизируется через определенную комбинацию кнопок, после чего он передает 32- или 48-битную кодовую посылку ("кодовое зерно"), которая может использоваться при генерации ключа как его часть.

Величина дискриминации - величина дискриминации представляет собой 12-битную фиксированную часть зашифрованного слова. Данная величина используется приемником при расшифровке.

Счетчик синхронизации - 16-битный счетчик, который увеличивает свое значение на единицу всякий раз, когда происходит активизация передатчика. Приемник запоминает значение счетчика во внутренней памяти и сравнивает его со значением, полученным из предыдущей посылки. Если значение попадает в рабочее окно, то код принимается.

 

Принцип работы кодера

Кодирующие устройства серии HCS име­ют небольшой массив EEPROM-памяти, ко­торый должен быть загружен несколькими параметрами перед использованием.

Наиболее важный из этих величин:

кодирующий ключ

16-битовое число в счетчике синхронизации

28-битовый серийный номер, который, как предполагается, является уникаль­ным для каждого кодера.

Изготовитель программирует серийный номер для каждого кодера во время продук­ции, в то время как «Алгоритм генерирова­ния ключа» генерирует кодирующий ключ.

Исходные данные к алгоритму генериро­вания ключа включают в себя серийный но­мер кодера и 64-битного код изготовителя, который создается во время изготовления.

 

Обратите внимание: код изготовителя — самая важная часть секретности системы. Следовательно по отношению к этому коду должны приниматься все возможные предо­сторожности.

 

Счетчик синхронизации с 16-битным ос­нованием служит для модификации переда­ваемого кода, при каждой передаче и обнов­ляется каждый раз по нажатию кнопки.

 

Благодаря сложности алгоритма шифрова­ния KEELOQ, изменение в одном бите вели­чины счетчика синхронизации приводит к большим изменениям в передаваемом коде.

 

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

 

32-битовая часть с прыгающим кодом объ­единена с информацией о нажатой кнопке и серийным номером, чтобы формировать ко­довое слово, передаваемое на приемник.

 

Принцип работы декодера

Прежде, чем передатчик и приемник смо­гут работать вместе, приемник должен сначала обучиться и сохранять некоторую инфор­мацию из передатчика.

 

Эта информация включает контрольную сумму серийного номера, ключ кодирова­ния, и текущую величину счетчика синхро­низации.

 

Когда сообщение верного формата обна­ружено, приемник сначала сравнивает се­рийный номер. Если контрольная сумма серийного номе­ра соответствует запомненному ранее пере­датчику, сообщение дешифруется. Затем, приемник проверяет расшифрован­ную величину счетчика синхронизации, срав­нивая ее с тем, что сохранено в памяти. Если величина счетчика синхронизации удовле­творяет, то допустимое сообщение принима­ется.[2]


Кодеры и декодеры фирмы Holtec

Кодер НТ6Р26 обеспечивает передачу 4 битов данных к декодерам НТ6Р36.

НТ6Р26 имеет внутренний 16-битовый случайный счетчик синхронизации. При пе­редаче очередного кода величина случайно­го счетчика изменится, и величина измене­ния передается декодеру.

Передаваемое кодовое слово разделено на нечетное и четное окно. И нечетное, и чет­ное окно включает в себя 8 пилотных битов, 1/3 стартовых биты, 24 катящихся бита, 16 битов индекса, 16 случайных битов и 4 бита данных (рис. 2).

«Катящиеся» биты и «случайные» биты ге­нерируются различными алгоритмами шиф­рования (рис. 3). Биты данных устанавлива­ются по состоянию выводов данных.

 

Синхронизация системы с динамическим кодом

Для того чтобы обеспечить невозможность вскрытия сигнализации уже переданными ра­нее комбинациями в системах с динамичес­ким кодом в кодовой посылке присутствует информация о том, сколько раз нажималась кнопка брелока с момента программирова­ния микросхемы кодера изготовителем. При запоминании брелока микросхемой декоде­ра (процедура learning) состояния счетчиков в кодере и декодере уравниваются.



Каждый раз при получении кода счетчик декодера следит за тем, чтобы счетчик кодера указывал на большее или равное значение. Только тогда принятый код считается верным. Разница между счетчиком декодера и счетчиком кодера при которой код все еще считается верным различна для устройств разных изготовителей и может составлять ве­личину от единиц до сотен.

 

Синхронизация декодера НТ6Р36

В начале использования декодера, необхо­димо выполнить операцию «обучения», что­бы сохранить шифрованный код-идентифи­катор и значение счетчика синхронизации в СППЗУ.

16-разрядный счетчик синхронизации хранится в СППЗУ. Декодер автоматичес­кий создает «окно синхронизации». Шири­на «окна синхронизации» — 256. Начало — «текущее состояние счетчика», конец — «те­кущее состояние счетчика + 255».

Если декодер получает надлежащий катя­щийся код, и полученное значение счетчика синхронизации будет находиться в пределах окна синхронизации, декодер активизирует выход декодера и обновит положение «окна синхронизации».

С другой стороны, если полученный код ин­декса вне «окно синхронизации», система дис­танционного управления не будет работать и ее придется заново синхронизировать.

 

Синхронизации кодера НТ6Р60 и НТ6Р50 фирмы Holtec

В режиме дистанционного управления, ес­ли rolling-код правильно получен, и получен­ный rolling-адрес не большие чем на 6 указа­теля адреса СППЗУ, кодер и декодер счита­ются синхронизированными.

Указатель адреса декодера модифицирует­ся для согласования с полученным rolling-ад­ресом. С другой стороны, если разница меж­ду полученным rolling-адресом и внутрен­ним указателем адреса декодера больше чем 6, кодер и декодер считаются рассинхронизированными, и декодер блокируется.

Успешное распознавание кода возможно только при условии синхронизации кодера и декодера. Для этого необходимо передать декодеру два последовательных rolling-адре­са, и никакие ошибки не должны быть обна­ружены декодером внутри 3-секундного ин­тервала.

То есть вход данных кодера должен быть активирован дважды последовательно в тече­нии 3 секунд, чтобы повторно синхронизи­ровать декодер с кодером.[3]

 

 

 

 


Подробное описание технологии KeeLoq

 

Микросхемы KeeLoq с технологией "прыгающего кода"

Микросхемы KeeLoq наиболее полно соответствуют требованиям безопасной системы авторизованного доступа, сформулированным в первой главе. 

 

В технологии KeeLoq, кодовая последовательность может повториться более чем через 65 000 команд. Если пульт дистанционного управления использовать 8 раз в сутки, то пройдет 22 года, прежде чем та же самая кодовая комбинация повторится снова. При этом повторная передача кода (например при помощи устройства перехвата кода) не вызовет срабатывание системы.

 

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

 

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

 


Описание алгоритма Keeloq

KeeLoq является блочным алгоритмом шифрования, использующий 32-битный блок и 64-битный ключ. При простой аппаратной реализации он имеет высокий уровень защиты сопоставимый с алгоритмом DES. Такой уровень защиты является подходящим для систем дистанционного управления с защитой от перехвата кода. Для кодирования и декодирования передаваемой информации используется 64-битный ключ. Подобрать ключ исходя из перехваченной информации невозможно. Существуют испытания систем, которые могут быть использованы для проверки характеристик безопасности алгоритма кодирования и также для предсказания следующего передаваемого кода. На данном алгоритме были проверены такие виды атаки как: "Эффект Лавины" (Avalanche Effect) и его подмножества. Результат проверки дал хороший показатель эффективности системы безопасности:

 

Эффект Лавины (АЕ). Блочный шифр удовлетворяет критериям АЕ, если при замене одного информационного бита, в среднем меняется половина передаваемых битов. Применительно к алгоритму KeeLoq, это подразумевает, что изменение одного бита в функции и/или информации синхронизации заставит в среднем измениться 16 из 32 битов в переданном коде.

Информация о работе Исследование систем авторизованного доступа