Научная статья на тему 'Безопасные способы обмена информацией в системах радиочастотной идентификации'

Безопасные способы обмена информацией в системах радиочастотной идентификации Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
321
142
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
RFID-МЕТКА / ХЭШ-КОД / ГЕНЕРАТОР ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ / ИДЕНТИФИКАЦИЯ / RFID / RFID-TAG / HASH CODE / PSEUDO-RANDOM NUMBER GENERATOR / IDENTIFICATION

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

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

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

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

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

This paper deals with two ways of data transmission in RFID-systems: the method of data transmission in RFID-systems based on simple identification and the protocol for RFID-tags with inbuilt pseudo-random number generator.

Текст научной работы на тему «Безопасные способы обмена информацией в системах радиочастотной идентификации»

МИХАЙЛОВ1 Дмитрий Михайлович, кандидат технических наук, доцент ХОЛЯВИН2 Виталий Борисович ЕГОРОВ3 Алексей Дмитриевич ПРОНИЧКИН4 Алексей Сергеевич

БЕЗОПАСНЫЕ СПОСОБЫ ОБМЕНА ИНФОРМАЦИЕЙ В СИСТЕМАХ РАДИОЧАСТОТНОЙ ИДЕНТИФИКАЦИИ

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

Ключевые слова: RFID, RFID-метка, хэш-код, генератор псевдослучайных чисел, идентификация.

This paper deals with, two ways of data transmission, in RFID-systems: the method, of data transmission, in RFID-systems based, on simple identification and the protocol for RFID-tags with, inbuilt pseudo-random, number generator. Keywords: RFID, RFID-tag, hash, code, pseudo-random, number generator, identification.

Метод обмена информацией в RFID-системе, базирующийся на простейшей идентификации

Данный метод предназначен для ЯРГО-меток, которые не обладают какими-либо средствами криптографии, а только позволяют хранить и передавать данные, находящиеся в памяти метки, ЯРЮ-считывателям. Структура данных ЯРГО-меток, представленная в табл. 1, состоит из трех полей: серийного номера, зашифрованного хэш-кода и информации производителя об объекте.

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

ключом. Зашифрованный хэш-код генерируется с использованием закрытого ключа метки и хэш-функции. Так как серийный номер каждой метки отличен от других, то хэш-код каждой метки в системе уникален. Третье поле — информация производителя, которая содержит различные виды данных в зависимости от требований. Использование идентификатора как открытого ключа называется криптографией, базирующейся на идентификации. Криптографическая схема, базирующаяся на идентификации, была впервые предложена Shamir в 1984 г. [1]. Но только к 2001 г. благодаря Дену Боне (Dan Boneh) и Мэтью Франклину (Matthew Franklin) [2], а также Клиффорду Коксу (Clifford Cocks) [3] была

разработана эффективная схема шифрования, базирующаяся на идентификации.

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

Таблица 1. Структура данных RFID-метки

Серийный номер Зашифрованный хэш-код Информация производителя

1 - НИЯУ МИФИ, доцент;2 - НИЯУ МИФИ, студент;

3 - НИЯУ МИФИ, студент;4 - НИЯУ МИФИ, аспирант.

Генерация PUpkg и PRpkg

1 (1)

PUpkg , PRta PKG PUpkg

1 г 1 Аутентификация (4) k J к Аутентификация (2) (3) Г

Метка IDta IDre Считыватель

Рис.1. Создание и распределение ключей

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

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

Процесс создания закрытого ключа и распределения ключей показан на рис. 1.

Л РКС создает «основной» открытый ключ Риркд и связанный «основной» закрытый ключ РЯркд и сохраняет их в своей памяти; ЯРШ-считыватель аутентифициру-ет себя в РКС со своим идентификатором ГОге;

Если считыватель может пройти аутентификацию, РКС отправит ему

Риркд;

Каждая метка аутентифицирует себя в РКС со своим идентификатором ГО1а;

Если метка может пройти аутентификацию, РКС создает уникальный закрытый ключ РЯ1а для метки

и отправляет PRta вместе с PUpkg метке.

После создания и распределения ключей каждая метка в системе будет обладать своим собственным закрытым ключом. Этот закрытый ключ будет использоваться для создания шифрованного хэш-кода метки. Для создания шифрованного хэш-кода система применяет алгоритм SHA-1 (Secure Hash Algorithm 1 — алгоритм криптографического хеширования) [4] к информации производителя метки и создает хэш-код метки. Потом система зашифрует этот хэш-код, используя закрытый ключ метки, и сохранит серийный номер, информацию производителя и зашифрованный хэш-код в памяти метки. RFID-считыватель после сканирования RFID-метки получит всю информацию, хранящуюся в ее памяти.

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

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

Одной из проблем ЯРЮ-меток, которые используют память с возможностью перезаписи, является то, что злоумышленники могут легко изменить информацию, хранящуюся в метках. В рассматриваемой структуре данных злоумышленники могут изменять информацию ЯРШ-меток. Но, не зная правильного закрытого ключа метки, злоумышленник не может создать правильный шифрованный хэш-код и, следовательно, не может пройти аутентификацию на считывателе. В данной схеме каждая ЯРГО-метка обладает своим собственным закрытым ключом, и эти ключи отличаются друг от друга. Если закрытый ключ метки будет известен злоумышленнику, это не окажет большого влияния на систему целиком, так как мошенник не сможет узнать закрытые ключи других меток по этому ключу. В приведенной схеме шифрованный хэш-код может рассматриваться как цифровая подпись метки. Эта цифровая подпись создается с использованием закрытого ключа метки и, следовательно, каждая подпись отличается от других. ЯРШ-считыватель может легко проверить эту цифровую подпись, используя открытый ключ метки. Так как серийный номер ЯРШ-меток может использоваться для создания их открытых ключей в рассматриваемых ЯРЮ-системах, РКС не нужно хранить директорию ключей, таким образом можно уменьшить требования к ресурсам системы. Другим преимуществом является то, что считывателю не нужно знать открытые ключи ЯРГО-меток заранее. Если считыватель хочет проверить подлинность цифровой подписи ЯРГО-метки, он может считать серийный номер метки и использовать открытый ключ, созданный из этого серийного номера, для проверки цифровой подписи.

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

Протокол для RFID-меток со встроенным генератором псевдослучайных чисел

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

♦ непредсказуемость (по сути, криптографическая стойкость);

♦ хорошие статистические свойства (последовательность псевдослучайных чисел по своим статистическим свойствам не должна отличаться от истинно случайной последовательности);

♦ большой период формируемой последовательности, учитывая, что при преобразовании больших массивов данных каждому элементу входной последовательности необходимо ставить в соответствие свой элемент псевдослучайной последовательности;

♦ эффективная программная и аппаратная реализация.

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

♦ определение предыдущего (г—1)-го элемента у—1 последовательности на основе известного фрагмента последовательности у1 у1+1 у1+2 ... у1+ь-1 конечной длины Ь (непредсказуемость влево);

♦ определение последующего (г+Ь)-го элемента у+Ь последовательности на основе известного фрагмента гаммы у, у++1 у+2 ... у,+ь-1 конечной длины Ь (непредсказуемостьвправо);

♦ определение ключевой информации по известному фрагменту последовательности конечной длины.

Непредсказуемый влево ГПСЧ является криптостойким.

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

Непредсказуемость ГПСЧ чрезвычай-

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

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

♦ ни один статистический тест не обнаруживает в псевдослучайной последовательности каких-либо закономерностей, иными словами не отличает эту последовательность от истинно случайной;

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

♦ при инициализации случайными значениями генератор порождает статистически независимые псевдослучайные последовательности.

При описании протокола использованы следующие обозначения: Щх) — хеш-функция, отображающая последовательность битов длиной I в последовательность битов длиной I; Б = Ек(т) — код аутентификации сообщения;

Ек — функция вычисления МАС; N — общее количество меток; I — длина идентификатора метки; Т — метка с номером I (1 < I < N1; Д — информация, записываемая в метке Т;

и — строка из I битов, ассоциированная с меткой;

^ = Щи) — строка-идентификатор метки Т;

г — строка длиной I битов. Производитель меток должен присвоить каждой метке Т строку и1 длиной I битов, вычислить ti = Щи) и записать ^ в метку, причем длина I должна быть достаточной для того, чтобы злоумыш-

ленник не мог подобрать пару значений ti и ut .

Значения ( u,, t)new, (u ti)oid, Di хранятся отдельно для каждой метки. Первая пара — это новые значения u и tir вторая пара ui и ti — это прежде записанные значения, Dt — информация, записываемая в метку (произвольные данные). Если в метке еще никакие данные не записывались, то паре (u,, t)new присваиваются новые сгенерированные значения, а пара (u,, ti)old устанавливается в нули.

Далее приводится процесс аутентификации по шагам.

Л Считыватель генерирует псевдослучайную строку r1 е R{0, 1}' и отправляет ее метке T.

Л Метка Ti генерирует случайную строку r2 е R{0, 1}' и вычисляет M1 = ti XOR r2 и M2 = Eti(r, XOR r2). После этого метка T отправляет Mt и M2 считывателю.

^З Считыватель отправляет M1, M2 и r1 серверу.

14 Сервер получает переданные ему от считывателя данные и выполняет следующую последовательность действий.

4.1. Сервер осуществляет поиск в базе данных на основе значений Mt, M2 и rt:

а) сначала сервер выбирает ti из значений ti new или ti old, которые хранятся в базе данных;

б) на основании выбранного значения сервер вычисляет M'2 = Eti(r1 XOR r2), где r2 = Mi XOR t;

в) если M'2 = M2, то тег T успешно идентифицирован и выполняется шаг (4.3). Если же совпадение не выявлено, то осуществляется переход к шагу (а).

4.2. Если совпадений не найдено, то сервер посылает считывателю сообщение о неудачном завершении процесса аутентификации.

4.3. Сервер вычисляет M3 = u XOR r2и посылает это значение с Di считывателю.

4.4. Сервер обновляет значение (u, t)old для тега T,, заменяя их значением (u, tU, и устанавливает новые значения u new = u XOR ti XOR r1 XOR r2

и ti new h(ui new).

15 Считыватель направляет M3 метке Ti.

£ Метка вычисляет ui = M3 XOR r2 и проверяет, что A(u,) = t. Если про-

Сервер

Считыватель

Тег

(Mi, t,)new, («i. t,)old,Di

Mi, М2ИГ1

Выбор tj из значений U new или ti0

M'2 = Eti(riXORr2), где r2 = Mi XOR if, Мъ = UiXOR r2

ЩоЫ-Щ

Mold

Ui new = Ui XOR t, XOR r 1 XOR r2

ti new ' = Kuinew)

M3,A

£

fieJl{0,l}'

МЪМ2

M>

Ml = UXOR r2 M2 = E„ XOR r2)

u, =M3XORr2 Кщ) ?= t, U = h(u,)XOR UXOR n XOR r2.

Рис. 2. Схема протокола для меток со встроенным ГПСЧ

верка прошла успешно, это означает, что метка аутентифицировала сервер. После этого метка устанавливает ^ = Щи) ХОЯ ^ ХОЯ т, ХОЯ т2. Если проверка не прошла, то метка не изменяет текущее значение ti. Схема протокола приведена на рис. 2. Данный протокол позволяет решить целый ряд следующих проблем современных ЯРШ-систем.

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

♦ Сервер и считыватель обмениваются данными по закрытому каналу. Только сервер, авторизованный на считывание информации, может извлечь идентификатор ^ из информации, переданной меткой. Сервер же немедленно предоставит считывателю данные О, в случае успешной идентификации.

♦ С внедрением данного протокола аутентификации становится невозможным несанкционированное отслеживание перемещения тега. Ведь все, что считыватель может получить при запросе к тегу — это псевдослучайные числа. Эти псевдослучайные числа неавторизован-

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

♦ Алгоритм является стойким к перехвату и повторной отправке значений М,, М2 и М3, так как эти значения каждый раз генерируются псевдослучайным образом.

♦ Еще одна возможная уязвимость ЯРЮ-систем, связанная с БоЯ-ата-кой, решена с помощью хранения на сервере как новых, так и старых значений и1 и Таким образом, если злоумышленник захочет помешать с помощью БоЯ-атаки передаче параметров, вызвав тем самым рас-синхронизацию, на сервере все же останется пара старых значений.

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

♦ Злоумышленник, даже обладая мощными вычислительными ресурсами и зная его текущее состояние, не сможет рассчитать предыдущие итерации изменения T. Они являются хеш-значениями от величин, к которым тег не имеет доступа. Протокол для RFID-меток со встроенным генератором псевдослучайных чисел требует расчета хэш-функции и MAC (Media Access Control — управление доступом к среде) в метке. Хотя хэш-функции можно эффективно вычислять на маломощном оборудовании, они все еще остаются за пределами текущей способности большинства бюджетных RFID-меток. Таким образом, данный протокол требует, чтобы метка обладала достаточно мощными криптографическими операциями

Литература

1. Shamir, Identity-based Cryptosystems and Signature Schemes. Advances in Cryptology: Proceeding of CRYPTO 84, LNCS, 1984. - PP. 47 - 53.

2. D. Boneh, M.Franklin: Identity-based. Encryption, from, the Weil Pairing. In: Kilian, J. (ed.) CRYPTO 2001. LNCS, Springer, Heidelberg, 2001. - V. 2139. - PP. 433 - 439.

3. Cocks: An. Identity-based. Encryption. Scheme Based, on Quadratic Residues. In: Proceeding of 8th IMA International Conference on Cryptography and Coding, 2001.

4. Eastlake, P. Jones. US Secure Hash Algorithm 1 (SHA1), 2001. URL: http://tools.ietf. org/html/rfc3174.

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