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

Материал из testwiki
Перейти к навигации Перейти к поиску

Дистанционно-ограниченные протоколы (Шаблон:Lang-en) — криптографический протоколы аутентификации, основанные на определении расстояния между взаимодействующими лицами. Впервые протокол был разработан Стефаном Брандсом (Шаблон:Lang-en) и Дэвидом Чаумом (Шаблон:Lang-en) в 1993 годуШаблон:Sfn.

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

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

Описание

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

Идея дистанционно-ограниченного протокола Брандсона-ЧаумаШаблон:Sfn основана на принципе «вызов-ответ». Пусть имеется два участника: 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=maxk(ti), где ti- время между отправлением αi бита и получением βi.

Данный протокол предотвращает обман, выполненный мафией с вероятностью 12k.Шаблон:Sfn

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

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

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

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

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

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

В 2005 году Герхард Ханке(Шаблон:Lang-en) и Маркус Кун(Шаблон:Lang-en)Шаблон:Sfn предложили свою версию дистанционно-ограниченного протокола, широко применяемая в RFID-системахШаблон:Sfn.

Пусть имеются две стороны: V («RFID-reader») и P («RFID-token»). Сторона V генерирует случайным образом одноразовый ключ Nv и отправляет стороне P. Использовав псевдослучайную функцию (MAC или криптографическую хеш-функцию) обе стороны генерируют последовательность бит: h(k,Nv)=R0||R1,где R0=(R10,...,Rn0),R1=(R11,...,Rn1), a k - секретный ключ, известный обеим сторонам.

После этого, начинается серия из n мгновенных обменов битами между двумя сторонами: сгенерированное случайным образом стороной V бит Ci(«отклик») отправляется стороне P, при этом, если бит Ci=0, то сторона P отправляет в ответ бит Ri0, в противном случае, бит Ri1. Сторона V же проверяет полученный бит на равенство со своим битом RiCi, а также для каждого i вычисляет расстояние d между P и V, и проверяет, чтобы d<d, где d=c*tm2 , tm- время между обменом битами, c - скорость света, d - фиксированная величина.

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

Вероятность атаки выполненной мафией и обмана с расстоянием при использовании данного протокола равна (34)n.Шаблон:Sfn

Также, на основе данного протокола, был создан протокол Ту-Пирамуту(Шаблон:Lang-en), который снижает вероятность успешной атаки до 916 (для одного обмена битами).Шаблон:Sfn

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

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

Для уменьшения вероятности мошенничества, на основе протокола Ханке-Куна, в 2008 году Ортиз Мунилья(Шаблон:Lang-en) и Пейнадо(Шаблон:Lang-en)Шаблон:Sfn создали свою версию дистанционно-ограниченного протокола. Главной особенностью протокола является возможность обнаружения атаки вовремя обмена битовШаблон:Sfn. Обмен битами разбивается на две категории:

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

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

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

Далее, в медленной фазе, стороны P и V после генерации одноразовых ключей Np и Nv, соответственно, обмениваются этими ключами, для вычисления H4n=H(x,Np,Nv). Получившаяся последовательность 4n-бит разбивается на последовательность R0=(H1,...,H2n) размера 2n бит, R1=(H2n+1,...,H3n)и R2=(H3n+1,...,H4n) по n бит каждый. Бит Ti устанавливает, какой отклик вовремя быстрой фазы будет пустым или полным: если H2i1H2i=00, 01 или 10, то Ti=0 - пустой отклик, в противном случае Ti=1 - полный отклик, где биты H2i1H2iR0.

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

Вероятность успешной криптоатаки равна p=(58)n.Шаблон:Sfn

Недостатком протокола является сложная реализация трех (физических) состояний протокола.Шаблон:Sfn

Протокол Хитоми

В 2010 году Педро Перис-Лопес (Шаблон:Lang-es), Хулио Эрнандес-Кастро (Шаблон:Lang-es) и др. на основе протокола «Швейцарского-ножа» создали протокол ХитомиШаблон:Sfn. Протокол обеспечивает аутентификацию между считывателем и передатчиком и гарантирует конфиденциальностьШаблон:Sfn.

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

В ходе подготовительной фазы R выбирает случайное число NR и отравляет его стороне T. После этого, T генерирует 3 случайных числа NT1, NT2, NT3и вычисляет временные ключи k1=Fx(NR,NT1,W) и k2=Fx(NT2,NT3,W), где Fx()- псевдослучайная функция, зависящая от секретного ключа x, а W и W два постоянных параметра. Далее, постоянный секретный ключ x разделяется на два регистра R0=k1 и R1=k2x. И в завершении фазы, T отправляет стороне R числа NT1, NT2, NT3.

Дальше наступает фаза из n быстрых обменов битами: на i итерации, R генерирует случайный бит ci и отравляет T, зафиксировав, при этом, время t1. Сторона T получает бит ci, который может не равняться биту ci, из-за ошибок в канале связи или стороннего вмешательства. В ответ, T отправляет бит ri=Rici, и незамедлительно, после получение бита ri, который не обязан равняться ri, сторона R фиксирует время t2 и вычисляет время Δti=t2t1.

В финальной фазе, T отправляет сообщение m=(c1,...,cn,r1,...,rn) и TB=Fx(m,ID,NR,NT1,NT2,NT3) стороне R, где ID - уникальный идентификатор передатчика. В конечном итоге, R разбивает ошибки на три типа:

  • cici
  • ci=ci, но riRici
  • ci=ci, но Δti>tmax

Если суммарное количество ошибок удовлетворяет начальным условиям стороны R, и, в случае необходимости аутентификации, стороне T удовлетворяет число TA=Fx(NR,k2) , полученное от R, то протокол является надежным для обмена.

Вероятность криптоатаки выполненной мафией или мошенничества с расстоянием p=(12)n.Шаблон:Sfn

Примечания

Шаблон:Примечания

Литература