Научная статья на тему 'Протокол безопасного обмена данными, базирующийся на синхронизации, для class i generation 2 RFID-устройств'

Протокол безопасного обмена данными, базирующийся на синхронизации, для class i generation 2 RFID-устройств Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
432
221
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
GEN-2 RFID-МЕТКА / ГЕНЕРАТОР ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ / КОНТРОЛЬНАЯ СУММА CRC / GEN-2 RFID-TAG / RANDOM NUMBER GENERATOR / CRC CHECKSUM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Стариковский Андрей Викторович, Смирнов Александр Сергеевич, Жорин Федор Валериевич, Холявин Виталий Борисович, Григоренко Андрей Валентинович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Стариковский Андрей Викторович, Смирнов Александр Сергеевич, Жорин Федор Валериевич, Холявин Виталий Борисович, Григоренко Андрей Валентинович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

This paper focuses on the protocol for secure communication between devices built on radio frequency identification technology, which is based on synchronization. The use of a random number generator and the calculation of cyclic redundancy key are considered.

Текст научной работы на тему «Протокол безопасного обмена данными, базирующийся на синхронизации, для class i generation 2 RFID-устройств»

СТАРИКОВСКИЙ1 Андрей Викторович СМИРНОВ2 Александр Сергеевич ЖОРИН3 Федор Валериевич ХОЛЯВИН4 Виталий Борисович ГРИГОРЕНКО5 Андрей Валентинович

ПРОТОКОЛ БЕЗОПАСНОГО ОБМЕНА ДАННЫМИ, БАЗИРУЮЩИЙСЯ НА СИНХРОНИЗАЦИИ, ДЛЯ CLASS I GENERATION 2 RFID-УСТРОЙСТВ

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

Ключевые слова: Gen-2 RFID-метка, генератор псевдослучайных чисел, контрольная сумма CRC.

This paper focuses on the protocol for secure communication, between devices built on radio frequency identification, technology, which, is based, on synchronization. The use of a random, number generator and the calculation of cyclic redundancy key are considered. Keywords: Gen-2 RFID-tag, random, number generator, CRC checksum..

Протокол безопасного обмена данными, базирующийся на синхронизации, использует устройства радиочастотной идентификации (RFID), соответствующие RFID-стандарту, ратифицированному EPCglobal и названому EPCglobal Class-1 Gen-2 RFID версии 1.09 (Gen-2 RFID) [1]. Основными свойствами Gen-2 RFID-метки являются:

♦ Gen-2 RFID-метка пассивна, т.е. она получает электропитание от считывателя;

♦ Gen-2 RFID-метка связывается с RFID-считывателем в дециметровом УКВ-диапазоне (800 - 900 МГц), и ее дальность связи может быть вплоть до 2...10 м;

♦ Gen-2 RFID-метка поддерживает встроенный в кристалл генератор псевдослучайных чисел (ГПСЧ) и вычисление циклически избыточного кода (CRC);

♦ механизм защиты конфиденциальности Gen-2 RFID предназначен для того, чтобы сделать метку навсегда непригодной для использования, как только она получит команду на уничтожение с 32-битным уничтожающим паролем команды «доступа» (PIN) (например, метка может быть уничтожена в пункте продаж);

♦ чтение/запись памяти Gen-2 RFID-метки разрешена только в том случае, если метка находится в защищенном режиме (т.е. после получения команды доступа с 32-битным PIN-кодом доступа) [2].

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

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

Единственно надежной является RFID-система, в которой есть внутренний сервер и вся секретная информация хранится только в метке и базе данных внутреннего сервера. Кроме того, RFID-считыватель не может узнать самостоятельно никакой секретной информации, содержащей PIN и электронный код изделия (EPC), из данных, названных мета-идентификатором (meta-ID), отправленных меткой. Meta-ID должен быть передан внутреннему серверу, и внутренний сервер может найти детальную информацию об объекте, снабженном этим Meta-ID. Преимущество этого метода заключается в следующем:

' - ФГУП «ЦНИИ ЭИСУ», зам. начальника отдела;2 - НИЯУ МИФИ, аспирант; 345 - НИЯУ МИФИ, студенты.

♦ учет и контроль доступа: метод дает возможность легкого учета и контроля доступа, потому что внутренний сервер ответственен за поиск информации об объекте, таким образом, он решает, кто и какую информацию может получить, а также ведет некоторую статистику (например, сколько раз от объекта производился запрос).

♦ аутентификация считывателя в метке: очевидно, что запрос к метке будет происходить очень часто. Поэтому считывателю необходимо установить связь с внутренним сервером, чтобы узнать полезную информацию об объекте, в этом случае не требуется аутентификация считывателя в метке. Вместо этого, можно потребовать, чтобы считыватель прошел аутентификацию на внутреннем сервере до отправки Ме1а-ГО.

Генератор псевдослучайных чисел

При проектировании протокола безопасности часто возникают следующие проблемы:

♦ значение не должно использоваться более двух раз, например, запрос в аутентификационном протоколе по схеме «вопрос-ответ»;

♦ значение не должно быть предсказуемо, например, секретный ключ.

В таких случаях необходимо использовать число, выбранное случайным образом, а именно генератор случайных чисел. В идеале случайное число — это число, которое поступает из группы п чисел с вероятностью, равной и-'. Другими словами, каждое из и чисел имеет равный шанс быть выбранным. Однако невозможно реализовать настолько правильный генератор случайных чисел. Вместо этого, предложены генераторы с хорошим приближением (в вычислительном смысле), которые называются генераторами псевдослучайных чисел.

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

зависит от интервала и распределения вероятностей последовательности выходных значений. Популярный класс ГПСЧ имеет конгруэнтную форму

X = ax1 + b mod N,

где x0 — начальное значение, a, b и N — параметры ГПСЧ. Другой популярный класс ГПСЧ основан на регистре сдвига с обратной линейной связью (LFSR, Linear Feedback Shift Register) [3], который мог бы эффективно выполняться на бюджетных RFID-метках [4].

В данном протоколе ГПСЧ используется, чтобы разделять новый сессионный ключ между RFID-меткой и считывателем для каждой сессии. В спецификации EPC Class-1 Gen-2 метка Gen-2 RFID способно создавать 16-битное псевдослучайное число со следующими свойствами:

♦ вероятность того, что единственное 16-битное число j создастся, находится в интервале:

♦ 0,8 х 2-16 < P[j] < 1,25 х 2-16;

♦ шанс того, что при 10 000 меток какие-то две метки одновременно создадут одинаковое 16-битное псевдослучайное число, меньше 0,1%;

♦ вероятность угадать следующее псевдослучайное число, созданное меткой, меньше 0,025% в предположении, что все предыдущие значения известны злоумышленнику [2].

Так как стандарт Gen-2 требует только 16-битные случайные числа, запас надежности использования протокола безопасности такого ГПСЧ, т.е. вероятность успеха злоумышленника, обычно ограничен 2-16.

Контрольная сумма CRC

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

используется хорошо известный, эффективный алгоритм контрольной суммы, называемый CRC. Этот вид алгоритма контрольной суммы на текущий момент утвержден спецификацией EPCglobal Class-1 Gen-2 RFID версии 1.09 [1].

Алгоритм CRC работает с бинарными данными как с полиномом, коэффициенты которого — поле Галуа GF(2) (т.е. 1 или 0). Для л-битного CRC выбирается неприводимый и примитивный многочлен степени л (называемый CRC-многочленом) на GF(2). Контрольная сумма CRC часто вычисляется как остаток от деления исходных данных на CRC-многочлен.

В спецификации EPCglobal Class-2 Gen-2 16-битная контрольная сумма CRC используется для обнаружения ошибок в передаче данных и

x16 + x12 +x5 + 1 -

это соответствующий CRC-многочлен 16-ой степени [2].

Несмотря на то, что вычисление контрольной суммы CRC требует операции деления полиномов, на самом деле, она может быть осуществлена очень эффективно за счет использования регистра сдвига в устройстве и справочной таблицы в программе. Как правило, если алгоритм CRC настроен как полагается, то можно ожидать, что вероятность коллизии л-битной контрольной суммы CRC порядка 2-n. Контрольная сумма CRC 0*||s, где s — некоторая битовая строка, является такой же, как контрольная сумма CRC самой s. Чтобы избежать этого, надо специально требовать, чтобы битовая строка s начиналась с 1. Для защиты данных, передаваемых между меткой и считывателем, от их перехвата используется их шифрование/дешифрование, и самая простая функция шифрования — сложение по модулю два, которое обычно используется при шифровании потока. Решение проблемы распределения ключей, а именно слежения за тем, чтобы новые ключи шифрования использовались для каждой сессии, также оказывается решением проблемы защиты конфиденциальности, так как RFID-метка может выполнять сложение по модулю два с различными ключами в каждой сессии, следовательно, не позволяет

Метка

seed *

/С) д.)

Сервер

seed К!

до

Ki

1

t

Ki

Рис. 1. Использование ГПСЧ для создания сессионного ключа

Т(ЕРС, PIN, K¡)

Генерация случайного числа г M, = CRC(l||EPC®r€»-')e£¿

запроса», г

М„г

Взаимная аутентификация

S(EPC, PIN, К,)

Для каждой записи в БД:

Л/^СКС (1||ЕРС®г®г') Если для считывателя Б и данной карты Т найдена разрешающая политика, соответствующая информация отправляется считывателю

Рис. 2. Протокол запроса к метке

считывателям злоумышленников следить за меткой. Сессионный ключ может быть вычислен за счет генерации нового псевдослучайного ключа на основании текущего сессионного ключа после каждой сессии. Это вычисление требуется сделать и в RFID-метке, и в считывателе или внутреннем сервере синхронно (рис. 1). В противном случае последующий поток передаваемых данных не может восприниматься обеими сторонами.

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

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

♦ f(.) — генератор псевдослучайный чисел;

♦ CRC(.) — функция циклического контроля избыточности (рассчитывает контрольную сумму);

♦ K¡ — секретный ключ на i-ой сессии;

♦ EPC — электронный код изделия;

♦ г — случайное число, использующееся только один раз (оказия);

♦ PIN — пароль команды «доступа»;

♦ T — метка;

♦ R — считыватель;

♦ S — внутренний сервер. Протокол включает в себя три составляющие: протокол запроса к метке, протокол доступа к метке и протокол обновления ключа. В течение периода производства метку инициализируют начальным значением EPC и другими параметрами. Потом выбирается начальное значение случайного числа seed, и K1 = f(seed) сохраняется в памяти метки и в виде записи в базе данных внутреннего сервера соответствующего EPC. Аналогичным образом случайный PIN (например, PIN доступа, определенный в спецификации Gen-2) хранится и в памяти метки, и в базе данных внутреннего сервера. Протокол запроса к метке изображен на рис. 2.

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

♦ S^ R: M2 =CRC(l\\EPS\\PIN\\r) 0 K,

♦ R ^ T: передать жетон аутентификации M2 в T

♦ T: верно ли

M2 0 K = CRC(l\\EPS\\PIN\\r)? Следующим шагом после запроса к метке или сессии доступа является обновление сессионного ключа. Этот шаг может быть необязательным для приложений без криптографии, но для приложения, требующих обеспечения секретности, это должно применяться принудительно, чтобы гарантировать большую безопасность. Протокол обновления ключа описывается следующим образом:

♦ R ^ T, S: 'окончание сессии'

♦ T: K+1 = f (K¡)

♦ S: K+i = f (K¡)

Может произойти ошибка синхронизации, так как ложное сообщение «Окончание сессии» могло быть послано считывателем злоумышленника. Для предотвращения такого воздействия считыватель может объявлять «Окончание сессии» с пометкой CRC

(r'©PIN'), где г — оказия, передаваемая метке с сообщением «Окончание сессии», а PIN' — другой ключ, использующийся T и настоящим R. Контрольная сумма CRC используется внутренним сервером для поиска в базе данных из-за ее свойства устойчивости к коллизиям. Если коллизия произошла по причине короткой длины контрольной суммы, внутренний сервер может подать команду считывателю на запрос другого сообщения M¡. С двумя различными контрольными суммами CRC наверняка не будет коллизии. С другой стороны, без знания

EPC, PIN и K¡ очень трудно построить сообщение M¡, которое мог бы распознать внутренний сервер. Следовательно, протокол обеспечивает установление подлинности метки. Каждое входное значение функции CRC начинается с единичного бита. Это необходимо, чтобы избежать атаки на CRC, основанной на коллизиях. Для проверки подлинности считывателя аутентификация считывателя в метке передает полномочия аутентификации считывателя во внутреннем сервере. Данная аутентификация считывателя в метке достигается

благодаря использованию признака М2. М2 — это одноразовый признак для сессионного ключа К и оказии г. Благодаря такому аргументу трудно дублировать этот признак для другой сессии.

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

Литература

1. EPCglobal Inc.: Class 1 Generation 2 UHF Air Interface Protocol Standard Version 1.09. Available from: http://www.epcglobalinc.org.

2 Radio-Frequency Identity Protocols. Class-1 Generation-2 UHF RFID. EPCglobal Inc., 2008. P 48. URL: http://www.gs1.org/gsmp/ kc/epcglobal/uhfc1g2/uhfc1g2_1_2_0-standard-20080511.pdf.

3. Dan Healy. Understanding Linear Feedback Shift Registers — The Easy Way. URL: http://www.yikes.com/~ptolemy/lfsr_web/ index.htm.

4. Жуков И.Ю., Михайлов Д.М., Стариковский А.В. Усовершенствованный протокол аутентификации бюджетных RFID-меток. /Спецтехника и связь, 2012. — № 1. — С. 25 —27.

i Надоели баннеры? Вы всегда можете отключить рекламу.