Это не официальный сайт wikipedia.org 01.01.2023

Дистанционно-ограниченные протоколы — Википедия

Дистанционно-ограниченные протоколы

Дистанционно-ограниченные протоколы (англ. Distance-bounding protocols) — криптографический протоколы аутентификации, основанные на определении расстояния между взаимодействующими лицами. Впервые протокол был разработан Стефаном Брандсом (англ. Stefan Brands) и Дейвидом Чаумом (англ. David Chaum) в 1993 году[1].

Основная идея заключается в достоверности знаний доказывающего участника («Prover»), путем проверки подлинности этих знаний проверяющим участником («Verifier») и в необходимости, что доказывающий участник находится на расстоянии от проверяющего, не более определенного[2].

Данные протоколы позволяют предотвратить такие виды криптографических атак на RFID-системы, как: атака посредника; обман, выполненный мафией; обман, выполненный террористами; мошенничество с расстоянием[3].

ОписаниеПравить

Протокол Брандсона-ЧаумаПравить

Идея дистанционно-ограниченного протокола Брандсона-Чаума[1] основана на принципе «вызов-ответ». Пусть имеется два участника: P   - доказывающая сторона, которая доказывает свое знание секрета. V   - проверяющая сторона, которая проверяет подлинность этого секрета. Перед обменом сообщений, стороны V   и P   генерируют случайную последовательность k  -бит, α = ( α 1 , . . . , α k )   и β = ( β 1 , . . . , β k )   соответственно. Параметр k   является секретным параметром протокола. Данный протокол разбивается на две части:

  • Сначала происходит k   мгновенных обменов битами - сторона P   после получение бита α i   от V   отправляет ответный бит β i   незамедлительно(«low-level distance-bounding exchange»).
  • После этого P   отправляет сообщение m = α 1 | β 1 | . . . | α k | β k   с его секретным ключом стороне V  . Далее проверяющая сторона V   с помощью протокола идентификации проверяет достоверность секрета, а также вычислить расстояние(«upper-bound distance») между участниками L = m a x k ( t i )  , где t i  - время между отправлением α i   бита и получением β i  .

Данный протокол предотвращает обман, выполненный мафией с вероятностью 1 2 k  .[4]

Измененная версия протокола Брандсона-ЧаумаПравить

При реализации протокола Брандсона-Чаума в случае когда, сторона P   знает через какое время придет следующий α i   бит, ответный β i   бит стороне V   может отослать заранее, тем самым, совершив мошенничество с расстоянием между участниками[1].

Один из вариантов предотвращении данного обмана, заключается в случайном изменении времени отправления бита стороной V  .

Другой вариант - это измененная версия протокола Брандсона-Чаума, предотвращающая сразу два вида мошенничества. Как и в основной версии, обе стороны генерируют случайную последовательность k  -бит. При k   мгновенных обменов битами сторона V   отсылает α i   бит стороне P  , в свою очередь, сторона P   отсылает бит m i = β i α i   стороне V  . После обмена, сторона P   должна отправить биты β = ( β 1 , . . . , β k )   с секретным ключом стороне V  по защищенному протоколу. Сторона V   проверяет равенство β i = m i α i , i = 1 , k ¯   и после этого с помощью протокола идентификации проверяет достоверность секрета.

Недостаток протокола в том, что он не обрабатывает ошибки, связанные с потерей бита при обмене.[5]

Протокол Ханке-КунаПравить

В 2005 году Герхард Ханке(англ. Gerhard P. Hancke) и Маркус Кун(англ. Markus G. Kuhn)[2] предложили свою версию дистанционно-ограниченного протокола, широко применяемая в RFID-системах[6].

Пусть имеются две стороны: V   («RFID-reader») и P   («RFID-token»). Сторона V   генерирует случайным образом одноразовый ключ N v   и отправляет стороне P  . Использовав псевдослучайную функцию(MAC или криптографическую хеш-функцию) обе стороны генерируют последовательность бит: h ( k , N v ) = R 0 | | R 1  ,где R 0 = ( R 1 0 , . . . , R n 0 ) , R 1 = ( R 1 1 , . . . , R n 1 )  , a k   - секретный ключ, известный обеим сторонам.

После этого, начинается серия из n   мгновенных обменов битами между двумя сторонами: сгенерированное случайным образом стороной V   бит C i  («отклик») отправляется стороне P  , при этом, если бит C i = 0  , то сторона P   отправляет в ответ бит R i 0  , в противном случае, бит R i 1  . Сторона V   же проверяет полученный бит на равенство со своим битом R i C i  , а также для каждого i   вычисляет расстояние d   между P   и V  , и проверяет, чтобы d < d  , где d = c t m 2   , t m  - время между обменом битами, c   - скорость света, d   - фиксированная величина.

Если сторону V   удовлетворяют условия, то обмен считается успешным.

Вероятность атаки выполненной мафией и обмана с расстоянием при использовании данного протокола равна ( 3 4 ) n  .[4]

Также, на основе данного протокола, был создан протокол Ту-Пирамуту(англ. Tu-Piramuthu), который снижает вероятность успешной атаки до 9 16   (для одного обмена битами).[7]

Недостатком протокола является потеря производительности при передаче подписанного сообщения, так как из-за возможности потери битов вследствие шума, сообщение нельзя послать через канал быстрого обмена битами.[5]

Протокол Мунильи-ПейнадоПравить

Для уменьшения вероятности мошенничества, на основе протокола Ханке-Куна, в 2008 году Ортиз Мунилья(англ. Ortiz Munilla) и Пейнадо(англ. Peinado)[8] создали свою версию дистанционно-ограниченного протокола. Главной особенностью протокола является возможность обнаружения атаки вовремя обмена битов[9]. Обмен битами разбивается на две категории:

  • Полный отклик («full challenge») - стандартный обмен битами.
  • Пустой отклик («void challenge») - никакого обмена битами не происходит.

Стороны P   и V   заранее договариваются, на какой итерации произойдет пустой отклик. Если во время пустого отклика, сторона P   получает бит 0   или 1  , то P   заключает, что протокол ненадежный.

Перед началом медленной фазы стороны разделяют секрет x  , получают секретный ключ протокола n   и псевдослучайную функцию H  , выдающую случайную последовательность бит размера 4 n  , и устанавливают временной порог одиночного обмена битами Δ t m a x  .

Далее, в медленной фазе, стороны P   и V   после генерации одноразовых ключей N p   и N v  , соответственно, обмениваются этими ключами, для вычисления H 4 n = H ( x , N p , N v )  . Получившаяся последовательность 4 n  -бит разбивается на последовательность R 0 = ( H 1 , . . . , H 2 n )   размера 2 n   бит, R 1 = ( H 2 n + 1 , . . . , H 3 n )  и R 2 = ( H 3 n + 1 , . . . , H 4 n )   по n   бит каждый. Бит T i   устанавливает, какой отклик вовремя быстрой фазы будет пустым или полным: если H 2 i 1 H 2 i = 00  , 01   или 10  , то T i = 0   - пустой отклик, в противном случае T i = 1   - полный отклик, где биты H 2 i 1 H 2 i R 0  .

После этого, в быстрой фазе, происходит аналогичный обмен битами, с помощью последовательностей R 1   и R 2  , как и в протоколе Ханке-Куна. В конечном итоге, если сторона P   считает протокол надежным, то она отправляет H ( x , R 1 , R 2 )   стороне V  .

Вероятность успешной криптоатаки равна p = ( 5 8 ) n  .[8]

Недостатком протокола является сложная реализация трех (физических) состояний протокола.[10]

Протокол ХитомиПравить

В 2010 году Педро Перис-Лопес (исп. Pedro Peris-Lopez), Хулио Эрнандес-Кастро (исп. Julio C. Hernandez-Castro) и др. на основе протокола «Швейцарского-ножа» создали протокол Хитоми[11]. Протокол обеспечивает аутентификацию между считывателем и передатчиком и гарантирует конфиденциальность[12].

Протокол разбивается на 3 части: две медленные фазы - подготовительная и финальная; и быстрая фаза - быстрый обмен битами между считывателем R   (он же V  ) и передатчиком T   (он же P  ).

В ходе подготовительной фазы R   выбирает случайное число N R   и отравляет его стороне T  . После этого, T   генерирует 3 случайных числа N T 1  , N T 2  , N T 3  и вычисляет временные ключи k 1 = F x ( N R , N T 1 , W )   и k 2 = F x ( N T 2 , N T 3 , W )  , где F x ( )  - псевдослучайная функция, зависящая от секретного ключа x  , а W   и W   два постоянных параметра. Далее, постоянный секретный ключ x   разделяется на два регистра R 0 = k 1   и R 1 = k 2 x  . И в завершении фазы, T   отправляет стороне R   числа N T 1  , N T 2  , N T 3  .

Дальше наступает фаза из n   быстрых обменов битами: на i   итерации, R   генерирует случайный бит c i   и отравляет T  , зафиксировав, при этом, время t 1  . Сторона T   получает бит c i  , который может не равняться биту c i  , из-за ошибок в канале связи или стороннего вмешательства. В ответ, T   отправляет бит r i = R i c i  , и незамедлительно, после получение бита r i  , который не обязан равняться r i  , сторона R   фиксирует время t 2   и вычисляет время Δ t i = t 2 t 1  .

В финальной фазе, T   отправляет сообщение m = ( c 1 , . . . , c n , r 1 , . . . , r n )   и T B = F x ( m , I D , N R , N T 1 , N T 2 , N T 3 )   стороне R  , где I D   - уникальный идентификатор передатчика. В конечном итоге, R   разбивает ошибки на три типа:

  • c i c i  
  • c i = c i  , но r i R i c i  
  • c i = c i  , но Δ t i > t m a x  

Если суммарное количество ошибок удовлетворяет начальным условиям стороны R  , и, в случае необходимости аутентификации, стороне T   удовлетворяет число T A = F x ( N R , k 2 )   , полученное от R  , то протокол является надежным для обмена.

Вероятность криптоатаки выполненной мафией или мошенничества с расстоянием p = ( 1 2 ) n  .[4]

ПримечанияПравить

ЛитератураПравить