Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дипломный проект. А.В. Шпак.docx
Скачиваний:
146
Добавлен:
24.02.2016
Размер:
3.35 Mб
Скачать

1 Анализ существующих систем аутентификации, выбор решения для аутентификации пользователя транспортного средства

1.1 Системы со статическим и динамическим кодом

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

Ключ это секретная информация, используемая криптографическим алгоритмом при шифровании/расшифровке сообщений, постановке и проверке цифровой подписи, вычислении кодов аутентичности (MAC). При использовании одного и того же алгоритма результат шифрования зависит от ключа. Для современных алгоритмов сильной криптографии утрата ключа приводит к практической невозможности расшифровать информациюбез обладания какими-либо сторонними данными, как например в некоторых схемах ассиметричной криптографии.

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

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

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

1.2 Шифрование с открытым ключом

Рассмотрим схему шифрования с открытым ключом (рис. 1.1). На схеме не показан злоумышленник Е. В дальнейшем будем просто предполагать, что сообщения, которыми обмениваются пользователи А и Б, всегда доступны злоумышленнику Е. Пользователи А и Б не применяют один и тот же ключ шифрования. Они используют разные ключи. В этом и состоит революционная идея криптографии с открытым ключом.

Рисунок 1.1 – Общая схема шифрования с открытым ключом

Вначале пользователь Б с помощью специального алгоритма генерирует пару ключей (SB, PB). Это секретный ключ SB и открытый ключ PB . Затем пользователь Б публикует ключ PB. Когда пользователь А хочет послать сообщение пользователю Б, он находит открытый ключ PB , опубликованный пользователем Б. Пользователь А зашифровывает сообщение m с помощью открытого ключа PB и посылает пользователю Б полученный шифрованный текст c. Пользователь Б применяет к полученному тексту свой секретный ключ SB и алгоритм дешифрования, в результате он получает исходное сообщение m. Чтобы этот метод действительно работал, алгоритмы генерации пары ключей, шифрования и дешифрования должны гарантировать, что в процессе расшифровки всегда будет получено исходное сообщение. Другими словами, равенство D(SB, E(PB, m)) = m должно выполняться для всех возможных значений m.

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

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

Так же, к дополнительным функциям можно добавить открытие багажника, обратная связь автомобиля с ключом, в случае попытки злоумышленника завладеть транспортным средством и прочее. Вторая часть – это непосредственно сигнализация автомобиля и система, которая осуществляет проверку ключа и управление доступом к автомобилю. В данной работе не будут рассматриваться принципы построения систем, защиты от физического доступа злоумышленником к автомобилю.

Система с ассиметричным шифрованием – это система, в которой подразумевается, что существует два ключа, один закрытый, второй открытый и закрытый ключ знает только одна сторона. В данном устройстве закрытый ключ известен только брелоку, но в то же время автомобиль может проверить, является ли брелок, запрашивающий доступ к транспортному средству обладателем закрытого ключа, в то же время не раскрывая закрытый ключ. По открытому каналу связи всегда будут передаваться только фактически случайные последовательности и функции от них, так что по функции нельзя вычислить обратную. Более подробное описание алгоритма приведено в пункте 3 данной работы.