Настоящая заявка испрашивает приоритет предварительной патентной заявки США № 60/908271, поданной 27 марта 2007 года, имеющей код поверенного 061886P1, имеющей того же заявителя, что и настоящая заявка, и раскрытие которой тем самым включено в настоящий документ посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящая заявка относится, в общем, к беспроводной связи и, в частности, но не исключительно, к проверкам синхронизации для аутентификации устройства.
УРОВЕНЬ ТЕХНИКИ
Беспроводные устройства могут использовать процесс образования пары при попытке сформировать уровень доверия друг к другу совместно с взаимной аутентификацией или обменом криптографическими ключами, которые могут использоваться для служб, которые защищены криптографическими способами. Например, в технологии Bluetooth аутентификация между двумя устройствами может включать в себя обмен паролем между устройствами. В некоторых реализациях такая процедура может включать в себя использование сложного пользовательского интерфейса для ввода пароля. Напротив, в вариантах реализации, которые используют относительно простые устройства пользовательского интерфейса для ввода пароля, соответствующая стоимость обеспечения может быть относительно высокой. Кроме того, типичный пароль, используемый пользователями, может иметь от четырех до восьми цифр, что не может являться достаточно надежным, чтобы воспрепятствовать угрозе нарушения безопасности устройств посредством традиционного криптографического анализа.
Технология Bluetooth v2.1 предлагает использовать эллиптическую кривую Диффи-Хеллмана (Diffie-Hellman) для обмена ключами. При этом на основе секретной информации, полученной из эллиптической кривой Диффи-Хеллмана, аутентификация устройства может основываться на числовом сравнении или вводе пароля. Однако эти способы могут использовать сложный пользовательский интерфейс и могут быть относительно восприимчивыми к атакам с активным вмешательством в образование пары.
Технология ближней радиосвязи также может использоваться для аутентификации устройства. Например, устройства ближней радиосвязи могут быть выполнены с возможностью выполнять установление связи только тогда, когда они находятся в пределах заданного "контактного" расстояния друг от друга. Однако возможно спроектировать устройство ближней радиосвязи со специализированной антенной, которая расширяет рабочее расстояние для установления связи. В этом случае посторонний человек или устройство могут иметь возможность выполнить аутентификацию с другим устройством с относительно далекого расстояния, тем самым нарушая безопасность, обеспечиваемую требованием непосредственной близости устройств. Следовательно, аутентификация, которая основана на относительно небольшом контактном расстоянии в соответствии с технологией ближней радиосвязи, не может обеспечить достаточный уровень безопасности.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Далее следует описание сущности иллюстративных аспектов раскрытия изобретения. Следует понимать, что любая ссылка на аспекты в этом описании может относиться к одному или более аспектам раскрытия изобретения.
Раскрытие изобретения в некоторых аспектах имеет отношение к аутентификации устройств или выполнению других аналогичных операций на основе способности человека синхронизировать движения своих пальцев. Например, человек может быть в состоянии одновременно или в значительной мере одновременно нажимать или отпускать две кнопки. Напротив, от наблюдателя относительно трудно ожидать синхронизации со временами движений пальцев другого человека. Следовательно, процедура образования пары для двух беспроводных устройств может включать в себя проверку синхронизации, которая основана на относительных временах приведений в действие устройств ввода на каждом из беспроводных устройств. При этом маловероятно, что наблюдатель будет в состоянии нажать или отпустить кнопку на своем собственном беспроводном устройстве в попытке вмешаться в образование пары беспроводных устройств, выполняемое другим человеком.
В некоторых аспектах в целях аутентификации устройства, управления присутствием или других операций пару беспроводных устройств можно считать доверительными по отношению друг к другу, если один и тот же человек физически удерживает два беспроводных устройства. Следовательно, когда два беспроводных устройства, удерживаемые одним и тем же человеком, взаимодействуют друг с другом, сообщение, отправленное первым беспроводным устройством, относящееся к локальному событию синхронизации (например, к приведению в действие устройства пользовательского ввода) в первом устройстве, может считаться доверительным для второго беспроводного устройства, которое принимает сообщение. Чтобы гарантировать, что устройства удерживает один и тот же человек, принимающее устройство проверяет, что время принятого сообщения в значительной степени синхронизировано с аналогичным локальным событием синхронизации во втором устройстве. Следовательно, аутентификация или другая подобная процедура могут включать в себя определение, приводится ли в действие устройство ввода на первом устройстве (например, нажатие и/или отпускание кнопки) в значительной степени в то же самое время или времена, как и приведение в действие устройства ввода на втором устройстве.
Раскрытие изобретения в некоторых аспектах имеет отношение к проверке синхронизации, которое включает в себя определение, произошли ли приведения в действие устройств пользовательского ввода на двух разных беспроводных устройствах в пределах заданного интервала времени относительно друг друга. При этом пользователь может быть проинструктирован об одновременном приведении в действие устройства пользовательского ввода на каждом беспроводном устройстве. Первое беспроводное устройство может определить время приведения в действие, соответствующее второму беспроводному устройству, на основе времени, в которое первое устройство принимает от второго устройства сообщение, относящееся к приведению в действие второго устройства. Таким образом, первое устройство может сравнить время приведения в действие своего устройства пользовательского ввода со временем, в которое оно приняло сообщение от второго устройства. Второе устройство может выполнить аналогичную проверку синхронизации. В случае, когда проверки синхронизации проходят на обоих устройствах, устройства могут выполнить аутентификацию друг друга. В некоторых аспектах совместно с проверками синхронизации может использоваться схема согласования криптографических ключей. Кроме того, в некоторых аспектах проверки синхронизации могут быть основаны на временах больше, чем одного приведения в действие каждого устройства пользовательского ввода.
Раскрытие изобретения в некоторых аспектах имеет отношение к проверке синхронизации, которая включает в себя сравнение интервалов времени между несколькими приведениями в действие устройств пользовательского ввода на двух разных беспроводных устройствах. При этом пользователь может быть проинструктирован об одновременном приведении в действие устройства пользовательского ввода на каждом беспроводном устройстве с повторениями (например, случайными). Таким образом, пользователь может неоднократно приводить в действие каждое устройство пользовательского ввода в одно и то же время. Таким образом, на каждом беспроводном устройстве будет задана последовательность интервалов времени, соответствующих временам между приведениями в действие. Каждое из устройств может затем отправить на другое устройство итоговое значение (например, хеш-код или код аутентификации сообщения), которое основано на его наборе интервалов времени. Последующее описание описывает использование значения хеш-кода, кода аутентификации сообщения или других схем для иллюстрации типовых способов реализации схемы формирования итогового значения. Следует понимать, что в соответствии с изложенными здесь идеями для формирования итогового значения могут использоваться другие криптографические способы. В качестве одного этапа процесса проверки каждое из устройств может сравнить время приведения в действие своего устройства пользовательского ввода со временем, в которое оно приняло сообщение с итоговым значением (например, хеш-кодом) от другого устройства. В предположении, что этот этап процесса проверки прошел, после прохождения времени задержки каждое из устройств может отправить свой набор интервалов времени на другое устройство. Таким образом, на другом этапе процесса проверки устройства могут определить, являются ли соответствующие пары интервалов времени каждого из двух наборов интервалов времени достаточно сходными. Кроме того, на еще одном этапе процесса проверки устройства могут сформировать итоговое значение (например, хеш-код) на основе набора интервалов времени, которые они приняли от другого устройства, и сравнить это итоговое значение с итоговым значением, которое они приняли ранее от другого устройства, чтобы проверить, что оба принятых сообщения имеют отношение к одному и тому же набору интервалов времени. В случае, когда проверки синхронизации проходят на обоих устройствах, устройства могут выполнить аутентификацию друг друга.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Эти и другие аспекты раскрытия изобретения будут более понятны при рассмотрении относительно последующего подробного описания, приложенной формулы изобретения и сопроводительных чертежей.
Фиг.1 - упрощенная блок-схема нескольких иллюстративных аспектов системы связи, содержащей беспроводные устройства;
фиг.2 - блок-схема последовательности операций нескольких иллюстративных аспектов операций, которые могут быть выполнены для аутентификации двух или более устройств;
фиг.3, включающая в себя фиг.3A и 3B, - блок-схема последовательности операций нескольких иллюстративных аспектов операций, которые могут быть выполнены для образования пары двух беспроводных устройства на основе разности времени между приведением в действие устройства пользовательского ввода каждого беспроводного устройства;
фиг.4 - упрощенная блок-схема нескольких иллюстративных аспектов беспроводного устройства;
фиг.5, включающая в себя фиг.5A и 5B, - блок-схема последовательности операций нескольких иллюстративных аспектов операций, которые могут быть выполнены для образования пары двух беспроводных устройств на основе разностей между продолжительностями времени, заданными последовательностью приведений в действие устройства пользовательского ввода каждого беспроводного устройства;
фиг.6 - упрощенная схема иллюстративной синхронизации, относящаяся к операциям, показанным на фиг.5;
фиг.7 - упрощенная блок-схема нескольких иллюстративных аспектов компонентов связи и
фиг.8 - упрощенная блок-схема нескольких иллюстративных аспектов устройства, выполненного с возможностью поддерживать проверку синхронизации.
Различные отличительные признаки, проиллюстрированные на чертежах, могут быть изображены без соблюдения масштаба и могут быть упрощены для ясности. Следовательно, чертежи могут не изображать каждый аспект конкретного устройства или способа. Кроме того, аналогичные ссылочные позиции могут использоваться здесь для обозначения аналогичных отличительных признаков.
ПОДРОБНОЕ ОПИСАНИЕ
Ниже описываются различные аспекты изобретения. Должно быть очевидно, что изложенные здесь идеи могут быть воплощены в широком разнообразии форм и что любая раскрытая здесь конкретная структура и/или функция является просто образцом для представления. На основе изложенных здесь идей специалист в данной области техники должен понять, что раскрытый здесь аспект может быть реализован независимо от любых других аспектов и что два или более из этих аспектов могут быть объединены различными способами. Например, устройство может быть реализовано или способ может быть применен на практике с использованием любого количества сформулированных здесь аспектов. Кроме того, такое устройство может быть реализовано или такой способ может быть применен на практике с использованием другой структуры и/или функциональных возможностей в дополнение к одному или более сформулированным здесь аспектам или без одного или более сформулированных здесь аспектов. В качестве упомянутого примера, как обсуждается ниже, могут быть сравнены показания, относящиеся ко времени первого и второго приведения в действие, чтобы определить, является ли по меньшей мере одно время приведения в действие первого устройства пользовательского ввода достаточно сходным по меньшей мере с одним временем приведения в действие второго устройства пользовательского ввода. В некоторых аспектах каждое время по меньшей мере из одного времени приведения в действие первого и второго устройств пользовательского ввода имеет отношение к единственному времени приведения в действие каждого устройства ввода. Напротив, в некоторых аспектах каждое время по меньшей мере из одного времени приведения в действие первого и второго устройств пользовательского ввода имеет отношение к набору интервалов времени, заданных последовательностью приведений в действие каждого из устройств ввода.
Фиг.1 показывает иллюстративные аспекты системы 100 связи, в которой первое беспроводное устройство 102 может быть объединено в пару со вторым беспроводным устройством 104. Это образование пары может быть выполнено, например, совместно с процедурой аутентификации, относящейся к установлению связи между устройствами 102 и 104, с операцией управления присутствием, которая включает в себя устройства 102 и 104, или c некоторой другой операцией, которая включает в себя взаимодействие между устройствами 102 и 104, причем взаимодействие основывается на определении, что другое устройство заслуживает доверия. Для удобства фиг.1 и последующее описание могут обычно ссылаться на процесс образования пары между двумя беспроводными устройствами. Однако следует понимать, что изложенные здесь идеи могут быть адаптированы к созданию доверия между более чем двумя устройствами и что такие устройства не обязательно должны быть беспроводными.
Иллюстративные операции системы 100 будут рассмотрены более подробно совместно с блок-схемой последовательности операций на фиг.2. Для удобства операции на фиг.2 (или любые другие операции, рассматриваемые или излагаемые здесь) могут рассматриваться как выполняемые конкретными компонентами (например, системой 100). Однако следует понимать, что эти операции могут быть выполнены компонентами других типов и могут быть выполнены с использованием другого количества компонентов. Также следует понимать, что одна или более описанных здесь операций могут не использоваться в заданной реализации.
Как представлено этапом 202 на фиг.2, в некоторый момент времени может быть принято решение объединить в пару устройства 102 и 104. В качестве примера пользователь может пожелать использовать беспроводной головной телефон (например, устройство 104) вместе с его или ее сотовым телефоном (например, устройством 102). При этом может быть желательным гарантировать, что любая связь между головным телефоном и сотовым телефоном остается частной. В соответствии с этим совместно с операцией образования пары устройства 102 и 104 могут обменяться одним или более криптографическими ключами, которые затем используются для обеспечения безопасности (например, шифрования) любых сообщений, отправляемых между устройствами 102 и 104. Однако до обмена такими ключами каждое из устройств 102 и 104 может пожелать гарантировать, что оно взаимодействует с намеченным устройством, а не некоторым другим неавторизованным устройством, которое может пытаться подвергнуть опасности взаимодействие либо одного из устройств 102 и 104, либо их обоих. Поэтому в соответствии с некоторыми аспектами раскрытия изобретения может использоваться процесс образования пары на основе одной или более проверок синхронизации, чтобы дать возможность устройствам 102 и 104 проверить, действительно ли они взаимодействуют с доверительным устройством.
В некоторых аспектах режим образования пары может быть инициирован с помощью пользовательских интерфейсов 106 и 108 устройств 102 и 104 соответственно. Например, пользователь может привести в действие устройства 110 и 112 ввода пользовательских интерфейсов 106 и 108 соответственно, чтобы инициировать режим образования пары. Совместно с этими операциями пользовательские интерфейсы 106 и 108 могут соответственно содержать устройства 114 и 116 вывода, которые обеспечивают одно или более показаний, имеющих отношение к ходу операций режима образования пары. В качестве примера, когда устройства 102 и 104 готовы инициировать проверку синхронизации, одним или обоими устройствами 114 и 116 вывода может быть сформировано соответствующее показание для сообщения пользователю о том, что он должен одновременно привести в действие устройства 110 и 112 ввода.
Пользовательские интерфейсы 106 и 108 могут быть реализованы множеством способов. Например, в некоторых реализациях каждое устройство 102 и 104 имеет устройство пользовательского ввода (например, переключатель в виде кнопки) и по меньшей мере одно из устройств 102 и 104 имеет относительно простое устройство вывода для пользователя (например, светодиод). В качестве примера, устройство 102 (например, мобильный телефон) может иметь клавиатуру и экран дисплея, который может служить устройством 110 пользовательского ввода и устройством 114 вывода для пользователя соответственно. Тогда устройство 104 может просто использовать кнопку или некоторое другое устройство 112 пользовательского ввода, которое пользователь может привести в действие совместно с приведением в действие клавиатуры. В этом на экране дисплея может быть выведено показание, чтобы сообщить пользователю, когда начинать одновременное приведение в действие устройств 110 и 112 ввода.
Обычно устройство пользовательского ввода может содержать один или более из множества компонентов, которые дают возможность пользователю обеспечить некоторую форму ввода в соответствующее устройство. Например, устройство пользовательского ввода может содержать один или более переключателей, таких как кнопка или клавиатура. Устройство пользовательского ввода также может содержать сенсорный экран, сенсорную панель или другой аналогичный механизм ввода. Устройство пользовательского ввода может содержать указательное устройство, такое как мышь, шаровой манипулятор, электронное перо, джойстик и т.д. Устройство пользовательского ввода также может быть выполнено с возможностью принимать другие формы входной информации, такие как звук (например, голос), оптический ввод, радиочастоты или какая-либо другая подходящая форма.
Как представлено этапом 204 на фиг.2, каждое из устройств 102 и 104 обеспечивает одно или более показаний, имеющих отношение к синхронизации одного или более приведений в действие соответствующего устройства ввода. Например, как будет рассмотрено более подробно в отношении фиг.3, это показание может иметь отношение к времени, в которое было приведено в действие устройство ввода. В качестве альтернативы, как будет рассмотрено в отношении фиг.5, это показание может иметь отношение к набору интервалов времени, заданных несколькими приведениями в действие устройства ввода.
Чтобы дать возможность каждому устройству сравнить свое время приведения в действие с временем приведения в действие другого устройства, каждое из устройств может передавать другому устройству одно или более показаний, имеющих отношение к их времени приведения в действие. Например, после приведения в действие устройства 110 ввода приемопередатчик 118 (например, содержащий компоненты передатчика и приемника) устройства 102 может передать сообщение аналогичному приемопередатчику 120 устройства 104 для указания того, что устройство 110 ввода было приведено в действие. Кроме того, показание может включать в себя информацию, имеющую отношение к времени этого приведения в действие (например, времени приведения в действие или набора интервалов времени, заданных несколькими приведениями в действие). Как рассмотрено ниже в отношении фиг.5, показание также может содержать итоговое значение (например, хеш-код или код аутентификации сообщения), которое основано на наборе интервалов времени, сформированных на этапе 204.
Как представлено этапом 206, устройство 104 (например, приемопередатчик 120) может, таким образом, принять от устройства 102 одно или более показаний, имеющих отношение ко времени одного или более приведений в действие для устройства 102, и наоборот. Как упомянуто выше, в некоторых реализациях показание этапа 206 может просто содержать время, в которое сообщение было принято от другого устройства.
Как представлено этапом 208, процессоры 122 и 124 аутентификации на каждом устройстве могут затем сравнить одно или более показаний, имеющих отношение к их времени приведения в действие, с одним или более принятыми показаниями, имеющими отношение к времени приведения в действие другого устройства. Например, как рассмотрено ниже в отношении фиг.3, процессор 124 аутентификации может использовать время приема сообщения от устройства 102 в качестве показания времени приведения в действие устройства 110 ввода. Процессор 124 аутентификации может затем сравнить это время приема со временем приведения в действие его устройства 112 ввода, чтобы определить, были ли приведения в действие достаточно синхронизированы. В качестве альтернативы, как рассмотрено ниже в отношении фиг.5, процессор 124 аутентификации может сравнить принятый набор интервалов времени со своим собственным набором интервалов времени и/или сравнить итоговые значения (например, хеш-коды), сформированные из этих разных наборов интервалов времени. В некоторых реализациях упомянутые выше операции сравнения могут использовать одно или более пороговых значений продолжительности, которые определяют максимальные допустимые отклонения между временами показаний этих двух устройств. Одновременно с упомянутыми выше операциями процессор 122 аутентификации может выполнить аналогичные операции сравнения для своего показания (показаний) и показания (показаний), которое он принимает от устройства 104.
Как представлено этапом 210, если результаты упомянутых выше проверок синхронизации показывают, что имеется достаточная вероятность того, что устройства 110 и 112 ввода приводились в действие одним и тем же человеком, устройства 102 и 104 могут завершить процесс образования пары. Например, в некоторых реализациях процессор 122 аутентификации устройства 102 может выполнить аутентификацию устройства 104, и процессор 124 аутентификации устройства 104 может выполнить аутентификацию устройства 102. Совместно с этой операцией или в некоторый другой момент времени устройства 102 и 104 могут выполнить обмен или иным образом взаимодействовать, чтобы создать один или более криптографических ключей для обеспечения возможности безопасной связи между устройствами или обеспечения возможности некоторой другой формы взаимодействия между устройствами.
В некоторых реализациях проверка синхронизации может быть выполнена перед началом процедуры аутентификации (например, как необходимое предварительное условие для начала процедуры аутентификации) или как часть процедуры аутентификации. Кроме того, в некоторых реализациях проверка синхронизации может служить в качестве необходимого предварительного условия для процедуры идентификации, а также являться частью процедуры аутентификации.
С учетом приведенного выше обзора будут рассмотрены дополнительные подробности, имеющие отношение к одному типу проверки синхронизации, совместно с блок-схемой последовательности операций на фиг.3. Как правило, этапы на левой стороне фиг.3 имеют отношение к операциям, которые могут быть выполнены беспроводным устройством (например, устройством 102 на фиг.1), инициирующим режим образования пары, в то время как этапы на правой стороне фиг.3 имеют отношение к операциям, которые могут быть выполнены другим беспроводным устройством (например, устройством 104 на фиг.1), отвечающим на инициирование режима образования пары. При этом следует понимать, что конкретная последовательность операций, изображенная на фиг.3, предназначена только для иллюстрации и что другие обстоятельства могут включать в себя другие последовательности операций.
В целях иллюстрации операции на фиг.3 будут рассмотрены в контексте их выполнения различными компонентами беспроводного устройства 400, как показано на фиг.4. Однако следует понимать, что проиллюстрированные компоненты беспроводного устройства 400 являются просто типичными для компонентов, которые могут использоваться, и что одна или более операций на фиг.3 могут быть выполнены посредством других подходящих компонентов или совместно с ними.
Кроме того, для удобства операции и устройства инициатора, и устройства ответчика будут обсуждаться в отношении единственного беспроводного устройства 400, изображенного на фиг.4. Таким образом, хотя представленное ниже описание ссылается на аналогичные компоненты, следует понимать, что устройство инициатора и устройство ответчика будут содержать отдельные устройства 400.
На этапах 302 и 304 эти два устройства переводятся в режим образования пары. В некоторых реализациях режим образования пары может быть инициирован пользователем с использованием пользовательского интерфейса (например, интерфейса 106 на фиг.1) для вызова соответствующей функциональной возможности на устройстве (например, устройстве 102). При этом лежащий в основе протокол может дать возможность каждому устройству (1) найти своего соседа по связи и (2) определить, какое устройство является инициатором, а какое - ответчиком. Назначения инициатора и ответчика могут быть определены различными способами. Например, в некоторых реализациях ответчиком является устройство с пользовательским интерфейсом (например, светодиодом). В некоторых реализациях каждое из устройств может формировать случайное число, посредством чего устройство, которое формирует, например, большее число, выбирается в качестве инициатора.
На фиг.4 инициирование режима образования пары может быть достигнуто, например, с помощью контроллера 402 режима образования пары, который принимает ввод от устройства 404 ввода, заставляет выдать соответствующее показание на устройстве 406 вывода (если оно применяется) и передает соответствующее показание другому устройству через передатчик 408 (если он применяется). Например, по меньшей мере одно из устройств инициатора и ответчика может сообщить пользователю, что оно находится в режиме образования пары (например, посредством мигания светодиода). В некоторых реализациях режим образования пары может быть просто инициирован пользователем посредством нажатия тех же самых устройств пользовательского ввода (например, кнопок), которые используются для операций синхронизации. В других реализациях беспроводное устройство может поддерживать другие способы (например, выбор пункта меню) активизации режима образования пары.
В некоторых реализациях аналогичные операции могут быть выполнены здесь посредством устройств ответчика. В качестве альтернативы одно из устройств может быть просто переведено в режим образования пары после приема соответствующего сообщения от другого устройства. В этом случае приемник 410 может принять сообщение от другого устройства и выдать соответствующую информацию контроллеру 402 режима образования пары, который вызывает операции режима образования пары на этом устройстве (например, устройстве 104).
Устройства 102 и 104 могут находиться в режиме образования пары в течение назначенного промежутка времени (например, в течение Tpair_enabled секунд). Этот период времени может быть определен достаточно большим, чтобы оба устройства могли войти в режим образования пары без синхронизации.
В некоторых реализациях устройство инициатора и/или устройство ответчика могут формировать показание, чтобы сообщить пользователю, когда следует начать приведение в действие устройств ввода устройств инициатора и ответчика. Такое показание может содержать, например, визуальную команду на дисплее, заданную конфигурацию светящихся элементов (например, включение или выключение светодиодов), вибрацию или звуковую команду.
На этапе 306 устройство инициатора ждет, пока его локальное устройство ввода (например, устройство 404) не будет приведено в действие. Как упомянуто выше, в некоторых реализациях это может включать в себя нажатие пользователем кнопки устройства инициатора, когда в то же самое время он или она нажимает кнопку на устройстве ответчика. Как только устройство инициатора обнаруживает локальное событие приведения в действие, на этапе 308 индикатор 412 времени и передатчик 408 устройства инициатора взаимодействуют для передачи сообщения запроса образования пары на устройство ответчика. Приемник 410 устройства ответчика принимает это сообщение запроса образования пары, как представлено этапом 310. Как упомянуто выше, это время, в которое принимается это сообщение, может служить показателем синхронизации приведения в действие на этапе 306.
Аналогично операции устройства инициатора на этапе 306, на этапе 312 устройство ответчика ожидает, пока его локальное устройство ввода (например, устройство 404) не будет приведено в действие. Практически операция обнаружения на этапе 312 может быть выполнена до или после приема сообщения запроса образования пары на этапе 310 в зависимости от относительного времени приведения в действие устройств и продолжительности обработки для каждого устройства, чтобы идентифицировать приведение в действие и обработать сообщение запроса образования пары.
На этапе 314 блок 414 сравнения устройства ответчика сравнивает время приведения в действие на этапе 312 с временем приема сообщения запроса на этапе 310. Операция может включать в себя, например, определение разности между этими двумя временами и сравнение полученной в результате разности с порогом.
Например, в предположении, что была нажата кнопка (этап 312) перед приемом сообщения запроса образования пары, после получения сообщения запроса образования пары блок 414 сравнения может сравнить текущее время t с записанным временем события нажатия кнопки на этапе 312, обозначенным Tresp_button_pressing. Таким образом, проверка синхронизации этапов 314 и 316 может содержать определение, выполняется ли неравенство: |t-Tresp_button_pressing|<Tmax.
Здесь Tmax обозначает максимальный допустимый интервал времени между t и Tresp_button_pressing, когда две кнопки нажаты одним и тем же человеком. В некоторых реализациях Tmax может быть, например, порядка меньше 0,1 секунды. При этом задержка передачи сообщения может быть проигнорирована, поскольку обычно она намного меньше, чем Tmax. Задержка обнаружения кнопки может быть в значительной степени компенсирована в другом беспроводном устройстве.
Как представлено этапом 316, если проверка синхронизации не проходит, устройство ответчика передает на устройство инициатора сообщение отказа в образовании пары на этапе 318. Операции обоих устройств могут затем возвратиться к началу процесса образования пары. В этом случае может не быть изменений в пользовательском интерфейсе (например, светодиод продолжает мигать).
Если, с другой стороны, проверка синхронизации прошла на этапе 316, процесс образования пары может продолжаться. В некоторых реализациях проверка синхронизации включает в себя несколько приведений в действие пользователем. Например, обнаруженное впоследствии приведение в действие может включать в себя отпускание кнопки пользователем. Затем одно или оба устройства могут сообщить пользователю, что нужно продолжать удерживать кнопки (например, как обозначено посредством постоянно включенного светодиода). При этом следует понимать, что аналогичная функциональность может быть обеспечена другими способами (например, посредством ожидания повторного нажатия локальной кнопки).
Затем на этапе 320 устройство ответчика ожидает в течение определенного промежутка времени, прежде чем выполнить следующую операцию (например, ожидает другого приведения в действие). Аналогично, как представлено этапом 322, устройство инициатора ожидает в течение определенного промежутка времени после передачи сообщения на этапе 308, прежде чем выполнить свою следующую операцию (например, ожидает другого приведения в действие). При этом определенный промежуток времени может содержать фиксированное время TFIXED плюс случайное время TRAND.
На этапе 324 устройство ответчика ожидает, пока его локальная кнопка не будет отпущена. При этом по истечении периода времени этапа 320 устройство ответчика может сообщить пользователю, что нужно одновременно отпустить две кнопки (например, миганием светодиода).
Как представлено этапом 326, как только локальное приведение в действие обнаружено на этапе 324, устройство ответчика передает сообщение подтверждения образования пары на устройство инициатора. Опять эта операция может быть выполнена посредством взаимодействия индикатора 412 синхронизации и передатчика 408 ответчика.
Приемник 410 устройства инициатора принимает это сообщение подтверждения взаимодействия, как представлено этапом 328. Время, в которое принимается это сообщение, может служить показанием относительно времени приведения в действие на этапе 324.
Как представлено этапом 330, устройство инициатора ожидает, пока его локальное устройство ввода (например, устройство 404) не будет снова приведено в действие. Как упомянуто выше, в некоторых реализациях это может включать в себя отпускание кнопки или совершение некоторого другого подходящего действия пользователем. На практике операция обнаружения на этапе 330 может произойти до или после того, как принято сообщение запроса образования пары на этапе 328.
На этапе 332 блок 414 устройства инициатора сравнивает время приведения в действие на этапе 330 с временем приема сообщения подтверждения на этапе 328. Опять же, эта операция может включать в себя определение разности между этими двумя временами и сравнение полученной в результате разности с порогом. Например, устройство инициатора может сравнить текущее время t с записанным временем, например, локального события отпускания кнопки, обозначенным Tinit_button_releasing. Проверка синхронизации на этапах 332 и 334, таким образом, может включать в себя определение, выполняется ли неравенство: |t-Tinit_button_releasing|<Tmax.
Как представлено этапом 334, если проверка синхронизации не прошла, на этапе 336 устройство инициатора передает сообщение отказа в образовании пары на устройство ответчика. Процесс образования пары затем может быть прерван.
С другой стороны, если проверка синхронизации прошла на этапе 334, компонент 416 криптографического процессора может, необязательно, выполнить вычисление согласования ключа на этапе 338. Эта операция может относиться, например, к обеспечению одного или более ключей для использования в последующих операциях устройств инициатора и ответчика.
На этапе 340 устройство инициатора может передать сообщение подтверждения образования пары на устройство ответчика. В некоторых реализациях это сообщение может включать в себя информацию, относящуюся к аутентификации (например, используемую для формирования ключа, который будет использоваться для последующих безопасных операций). В случае, когда это сообщение не принято в устройстве ответчика, текущая операция образования пары прерывается, как представлено этапом 342.
С другой стороны, если сообщение подтверждения принято на этапе 342, устройство ответчика может, необязательно, выполнить вычисление своего собственного согласования ключа на этапе 344. При этом сообщения запроса образования пары и подтверждения образования пары могут иметь свои собственные полезные данные. Затем из них может быть сформирован ключ, который будет использоваться для обеспечения безопасности последующих операций. Схема согласования ключа может представлять собой алгоритм Диффи-Хеллмана (Diffie-Hellman) или любую схему перемешивания энтропии (например, SHA-256 (payload1||payload2)). Когда используется алгоритм Диффи-Хеллмана, полезные данные могут содержать информацию открытого ключа отправителя, и конфиденциальность ключа обмена защищена. Например, сообщение запроса образования пары может содержать открытый ключ инициатора, и сообщение подтверждения образования пары может содержать открытый ключ ответчика.
Как представлено этапами 346 и 348, устройства инициатора и ответчика могут затем успешно завершить режим образования пары. При этом устройство ответчика может сообщить пользователю об успешном образовании пары (например, светодиод постоянно включен в течение некоторого времени и затем выключается). Компонент 418 блока аутентификации каждого из устройств может затем выполнить любые другие операции, которые должны быть выполнены совместно с аутентификацией этих устройств друг для друга.
Следует понимать, что к одной и более упомянутым выше операциям могут быть применены различные модификации. Например, удержание кнопок может не рассматриваться как необходимое или несколько нажатий кнопок могут использоваться для дополнительной страховки.
Много эффектов может быть обеспечено с помощью упомянутых выше операций образования пары. Например, если хакер хочет запустить атаку с активным вмешательством в образование пары, хакер должен отправить запрос образования пары или подтверждение образования пары, синхронизированное с двумя целевыми устройствами. Поскольку два целевых устройства физически находятся у реального владельца, очень маловероятно, что хакер сможет выяснить правильное время для отправки этих сообщений. Таким образом, один человек может нажать кнопки в пределах срока, который намного меньше времени обычной реакции человека. Следовательно, к тому времени, когда наблюдатель увидит, что нажимается кнопка, и попытается нажать кнопку на своем устройстве для вторжения, будет уже слишком поздно.
Хакер также может предпринять атаку, которая включает в себя непрерывную отправку большого количества поддельных сообщений запросов образования пары или подтверждений образования пары с намерением, что один из них будет принят в пределах разрешенного интервала времени. Чтобы помешать такой атаке, приемник целевого устройства (либо инициатора, либо ответчика) может записать только первое допустимое сообщение от другой стороны и может отклонить (например, проигнорировать или отвергнуть) повторные сообщения такого же типа. Посредством этого может быть записано только первое из этих поддельных сообщений. Однако в этом случае маловероятно, что это поддельное сообщение будет принято в пределах разрешенного интервала времени. Например, поддельное сообщение, вероятно, будет получено до приведения в действие устройства ввода приемного устройства.
Теперь со ссылкой на фиг.5 будет подробно рассмотрен другой тип проверки синхронизации, который основан на интервалах времени между приведениями в действие. Аналогичным образом, как описано выше, операции на фиг.5 будут описываться в контексте беспроводного устройства 400. Снова следует понимать, что компоненты, на которые делается ссылка, являются лишь иллюстративными, и операции на фиг.5 могут быть выполнены посредством других подходящих компонентов или совместно с ними.
Фиг.6 показывает иллюстративные временные зависимости между сообщениями, которые могут быть переданы между парой беспроводных устройств (например, устройств 102 и 104) в отношении, например, операций, показанных на фиг.5. Коротко говоря, на этапах 602 и 604 эти операции включают в себя обнаружение локального события кнопки каждым устройством (обозначенным как устройство A и устройство B на фиг.6). В этом случае локальные события кнопки в устройствах A и B имеют отношение к последовательности приведений в действие, которая определяет набор интервалов времени (обозначенных как ΔT1-ΔTN и ΔT'1-ΔT'N соответственно). В этом примере после обнаружения локального события кнопки каждое устройство формирует код аутентификации сообщения (MAC) на основе соответствующего набора интервалов времени и криптографический ключ K и передает код аутентификации сообщения на другое устройство, как представлено стрелками 606 и 608. Каждое из устройств A и B затем ожидает в течение заданного промежутка времени (Tα и T'α соответственно) принятия сообщения от другого устройства. В случае, когда тесты проверки, соответствующие этим сообщениям, проходят (как обсуждается более подробно в отношении фиг.5), устройство A и устройство B ожидают в течение другого определенного периода времени (Tβ и T'β соответственно), затем передают сообщения, относящиеся к их соответствующим наборам интервалов времени, как представлено стрелками 610 и 612.
Теперь более подробно будут описаны иллюстративные операции, которые могут быть выполнены беспроводными устройствами A и B, в отношении к фиг.5. Поскольку операции этих устройств являются взаимодополняющими, фиг.5 просто изображает операции одного из беспроводных устройств.
На этапе 502 беспроводные устройства начинают процедуру образования пары. Эти операции могут быть аналогичны операциям начала образования пары, описанным выше в отношении этапов 302 и 304.
На этапе 504 беспроводные устройства могут обменяться информацией ключей или иным образом взаимодействовать, чтобы дать возможность каждому беспроводному устройству получить один или более ключей, которые должны использоваться совместно с операцией образования пары. В некоторых реализациях операции этапа 504 выполняются перед началом процедуры образования пары. При этом криптографические процессоры 416 (фиг.4) устройств могут взаимодействовать для формирования ключа K, который должен использоваться для формирования кодов аутентификации сообщения. В общем случае устройства определяют значение K таким образом, чтобы гарантировать, что никакое другое устройство не может установить идентичный ключ с каждым из этих устройств.
Один способ формирования такого ключа использует согласование ключей Диффи-Хеллмана. Как отмечено выше, ключ K, используемый в коде аутентификации сообщения, определяется обеими сторонами обмена ключом. Таким образом, злоумышленник, совершающий вмешательство, может попытаться установить этот протокол отдельно с этими двумя устройствами. Однако, когда используется обмен ключом Диффи-Хеллмана, для злоумышленника практически невозможно установить один и тот же ключ K для двух отдельных процессов. В этом случае повторное воспроизведение того же самого кода аутентификации сообщения между двумя целевыми устройствами потерпит неудачу.
Чтобы сохранить стоимость изготовления, эти два устройства могут использовать однодневные ключи Диффи-Хеллмана для получения ключа K. Посредством этого каждое устройство может формировать пару ключей Диффи-Хеллмана, когда оно выполняет начальную загрузку, или каждый раз перед тем, когда требуется аутентификация устройства. Кроме того, в устройствах с ограниченной памятью и вычислительной мощностью для обмена ключами может использоваться эллиптическая кривая Диффи-Хеллмана.
Для выполнения аутентификации устройства или некоторой другой операции пользователь снова физически удерживает эти два устройства (например, по одному в каждой руке). Затем пользователь выбирает несколько случайных времен для одновременного нажатия и/или отпускания кнопки на каждом устройстве.
На этапе 506 индикатор 412 синхронизации каждого беспроводного устройства обнаруживает последовательность приведений в действие в своем соответствующем устройстве ввода (например, устройстве 404) и задает соответствующий набор интервалов времени. При этом имеются две последовательности времен, одна записана устройством A: (T0, T1, T2,..., TN), а другая записана устройством B: (T'0, T'1, T'2,..., T'N).
Таким образом, из этих последовательностей времен для устройства A и устройства B могут быть вычислены соответственно две последовательности разностей времен: (ΔT1, ΔT2,..., ΔTN) и (ΔT'1, ΔT'2,..., ΔT'N), где ΔTi=Ti-Ti-1 и ΔT'i=T'i-T'i-1, где (1≤i≤N).
Таким образом, каждый интервал времени в наборе указывает количество времени, которое прошло между уникальными парами последовательных приведений в действие. Например, первый интервал времени в наборе может соответствовать времени, прошедшему между первым приведением в действие и вторым приведением в действие. Второй интервал времени в наборе может соответствовать времени, прошедшему между вторым приведением в действие и третьим приведением в действие.
Хотя эти два устройства могут не иметь синхронизированных часов, две последовательности разностей времени должны содержать очень похожие значения, поскольку эти события нажатия кнопки инициируются двумя пальцами, которые хорошо синхронизируются человеком. Следовательно, их разность (ΔTi-ΔT'i) должна быть меньше порога ΔTth.
На этапе 508 генератор 420 итогового значения (например, генератор хеш-кода или кода аутентификации сообщения) каждого беспроводного устройства формирует итоговое значение (например, хеш-код или код аутентификации сообщения) или выполняет некоторую другую подходящую операцию на основе набора интервалов времени этого устройства. Например, в некоторых реализациях беспроводное устройство A формирует код аутентификации сообщения на основе (ΔT1 || ΔT2 ||... || ΔTN) и K, в то время как беспроводное устройство B формирует код аутентификации сообщения на основе (ΔT'1 || ΔT'2 ||... || ΔT'N) и K. Здесь "||" обозначает конкатенацию, и все разности времени могут быть выражены как битовые строки. Следует понимать, что в других реализациях данные интервалов времени могут обрабатываться другими способами (например, суммироваться). Кроме того, следует понимать, что генератор 420 итогового значения может реализовать другие типы алгоритмов хеширования ключей, например хеширование с ключом для аутентификации сообщения (HMAC), или может реализовать блочный шифр в режиме CBC-MAC или CMAC.
В некоторых аспектах схема формирования итогового значения может включать в себя формирование итогового значения на основе "секретной информации", такой как интервалы времени и, необязательно, другие данные, которые должны быть аутентифицированы, и обеспечения итогового значения другому устройству. Другое устройство выполняет взаимодополняющие операции. При этом для устройства может быть невозможно или нецелесообразно определять "секретную информацию" другого устройства на основе принятого итогового значения. Таким образом, заданное устройство не может использовать "секретную информацию" другого устройства для формирования своего итогового значения. После упомянутого выше обмена последующая операция проверки включает в себя отправку "секретной информации" (например, интервалов времени) на другое устройство. Таким образом, каждое устройство может использовать принятые им "секретную информацию" и итоговое значение для аутентификации другого устройства.
В общем случае операции этапа 508 (и блока 530, рассмотренного ниже) имеют отношение к выполнению криптографической операции над данными, которые должны быть переданы. Следовательно, аналогичные функциональные возможности могут быть обеспечены с помощью других криптографических способов, таких как цифровая подпись. Таким образом, в этом случае генератор 420 итогового значения может содержать генератор цифровой подписи.
На этапе 510 каждое из беспроводных устройств передает свое итоговое значение (например, код аутентификации сообщения) на другое беспроводное устройство. В некоторых аспектах это сообщение содержит показание, относящееся к временам приведения в действие на этапе 506. Эта передача может быть асинхронной по отношению к другому беспроводному устройству. Таким образом, время, в которое беспроводное устройство передает свой код аутентификации сообщения, может не быть основано на времени, в которое другое беспроводное устройство передает свой код аутентификации сообщения.
Как представлено этапом 512, каждое устройство ожидает приема итогового значения (например, кода аутентификации сообщения) от другого устройства. Например, в случае, когда код аутентификации сообщения не принят в пределах заданного промежутка времени, процесс может быть прерван, как представлено этапом 514 (и, например, процесс перезапускается от обнаружения события нажатия кнопки). В некоторых реализациях операции этапа 512 включают в себя определение с помощью блока 414 сравнения разности между временем, относящимся к временам срабатывания (например, временам TN или T'N последнего локального события нажатия кнопки), и временем приема входящего кода аутентификации сообщения на этапе 512. В некоторых аспектах это значение разности должно быть меньше предопределенного порога ΔTα. Входящий код аутентификации сообщения для устройства A, таким образом, можно считать допустимым, если выполняется неравенство: (Tα-TN)<ΔTα-max. Аналогичным образом, входящий код аутентификации сообщения для устройства B можно считать допустимым, если (T'α-T'N)< ΔTα-max.
Как представлено этапом 516, процесс может быть прерван в случае, когда эти два устройства отправляют друг другу идентичные итоговые значения (например, коды аутентификации сообщения). Таким образом, схема образования пары предотвращает случай, когда, например, другое устройство просто отправляет обратно код аутентификации сообщения, который оно приняло либо от устройства A, либо от устройства B (например, в случае предпринятого "взлома путем замещения оригинала").
Если входящий код аутентификации сообщения является допустимым, на этапе 518 каждое из устройств остается в режиме бездействия, пока после назначенного времени, имеющего отношение к соответствующим временам срабатывания (например, временам TN или T'N последнего локального события нажатия кнопки), не пройдет время, большее заданного промежутка времени (например, ΔTβ-min). При этом интервал ΔTβ-min может быть задан меньшим или равным интервалу ΔTα-max. Таким образом, для устройства A: (Tβ-TN)>ΔTβ-min, и для устройства B: (T'β-T'N)>ΔTβ-min.
Использование описанных выше ограничений времени может предотвратить атаку с активным вмешательством злоумышленника, когда атакующему не удается аутентификация на одном целевом устройстве, но он получает подлинную последовательность разностей времени. В таком случае атакующий может попытаться использовать эту последовательность, чтобы выполнить аутентификацию на другом целевом устройстве. Однако злоумышленник не пройдет проверку на промежутки времени Tα и Tβ, поскольку слишком поздно отправлять правильный код аутентификации сообщения. Таким образом, согласно изложенной выше схеме устройство не будет передавать свой набор интервалов времени (линия 610 или 612 на фиг.6), пока оно не примет итоговое значение, такое как код аутентификации сообщения (линия 606 или 608 на фиг.6) от другого устройства.
На этапе 520 каждое из беспроводных устройств передает свой набор интервалов времени на другую сторону для проверки. Как представлено этапом 522, каждое беспроводное устройство, таким образом, принимает соответствующий набор интервалов времени от другого устройства. Таким образом, это сообщение содержит показание, имеющее отношение к временам приведения в действие на этапе 506.
На этапе 524 устройство 414 сравнения вычисляет разность между соответствующими интервалами времени каждого набора интервалов времени. Например, устройство 414 определяет разность во времени между первым интервалом времени в наборе интервалов, сформированном в устройстве A, и первым интервалом времени в наборе интервалов, сформированном в устройстве B. Аналогичная разность времени затем может быть вычислена для каждого интервала времени в каждом наборе.
На этапе 526 блок 414 сравнения формирует проверочное значение на основе этих разностей времени. В качестве примера операции этапов 524-528 могут принять форму уравнения 1.
(уравнение 1),
где f (x, y) возвращает 1, если x<y, и 0, если x≥y.
При этом заданное значение m является минимальным количеством успешных проверок, которое считается приемлемым для прохождения процесса проверки (m≤n). Другими словами, эта проверка определяет, находится ли приемлемое количество разностей времени в пределах диапазона, заданного порогом ΔTth. На этапе 528 в случае, когда приемлемое количество разностей времени не находится в пределах диапазона, заданного порогом ΔTth, процесс образования пары может быть прерван.
С другой стороны, если на этапе 528 проверка синхронизации прошла, беспроводное устройство может проверить, что итоговое значение (например, код аутентификации сообщения), сформированное из набора интервалов времени, принятого на этапе 522, соответствует итоговому значению (например, коду аутентификации сообщения), принятому на этапе 512. Например, на этапе 530 генератор 420 кода аутентификации сообщения может формировать код аутентификации сообщения на основе набора интервалов времени, принятого на этапе 522, и ключа K. Блок 414 сравнения может затем сравнить этот код аутентификации сообщения с кодом аутентификации сообщения, принятым от другого беспроводного устройства на этапе 512. Обмен кодом аутентификации сообщения в начале протокола (например, на этапах 510-512), таким образом, может предотвратить обман на каждой из сторон. Например, как только код аутентификации сообщения передан, может быть невозможным найти другое входное сообщение (например, последовательность разностей времени) с таким же кодом аутентификации сообщения.
На этапе 532, если итоговое значение (например, код аутентификации сообщения) на основе входящего сообщения из этапа 522 не соответствует итоговому значению (например, коду аутентификации сообщения) из этапа 512, процесс образования пары может быть прерван. Иначе другое беспроводное устройство можно считать успешно прошедшим аутентификацию (этап 534).
С помощью изложенных здесь идей могут быть достигнуты различные эффекты. Например, в некоторых аспектах изложенные здесь способы могут использоваться для предотвращения того, чтобы вредоносное устройство захватило времена движения пальцев через подслушивание и анализ беспроводной информации во время образования пары устройств. В некоторых аспектах вариант реализации на основе изложенных здесь идей может не требовать сложного протокола или обеспечения дорогостоящих устройств.
Использование кода MAC привязывает ключ K к процессу аутентификации устройства. В результате ключ K также проходит аутентификацию на этапе 534. Другими словами, ключ K мог быть первоначально передан между устройствами, которые не доверяли друг другу. Однако при использовании ключа K в коде аутентификации сообщения ключ K аутентифицируется посредством упомянутой выше аутентификации на основе расстояния, посредством чего доверие основано на том, что устройствами управляет один и тот же человек. После прохождения аутентификации ключ K может использоваться для последующих криптографических операций (например, шифрования, аутентификации и так далее).
Следует понимать, что операция формирования итогового значения может быть реализована множеством способов. Например, могут использоваться криптографические операции, отличающиеся от операций на основе кода MAC. Кроме того, любая из изложенных здесь операций может использоваться для привязки дополнительных данных для аутентификации. Кроме того, может не требоваться общий ключ K. Например, итоговое значение может представлять собой хеш-код последовательности (интервалы времени || открытый ключ Диффи-Хеллмана || идентификатор устройства) с тем, чтобы открытый ключ Диффи-Хеллмана и идентификатор другого устройства были аутентифицированы на этапе 534. Преимущество такого подхода состоит в том, что требующий больших затрат времени и интенсивный в вычислительном отношении обмен ключами (например, операция Диффи-Хеллмана для обеспечения ключа K для каждого устройства) не обязательно должен выполняться до тех пор, пока устройства не выполнят аутентификацию друг друга. Кроме того, следует понимать, что итоговое значение может быть основано на любом типе данных, которые должны быть аутентифицированы. Таким образом, упомянутая выше операция кода MAC может быть основана на других данных или дополнительных данных, кроме одного или более элементов множества, состоящего из общего ключа K, открытого ключа и идентификатора устройства, описанных выше.
В некоторых вариантах реализации схема формирования итогового значения может использовать операции шифрования и расшифровки. Например, схема формирования итогового значения может включать в себя использование ключа для шифрования секретной информации (например, информации интервалов времени). Полученный в результате шифрованный текст передается на другое устройство. Когда взаимодополняющий шифрованный текст принят от другого устройства, на другое устройство передается ключ. Затем каждое устройство может использовать ключ, который оно принимает, для расшифровки принятого шифрованного текста, чтобы тем самым получить "секретную информацию" другого устройства. Эта восстановленная "секретная информация" затем может быть сравнена с принятой "секретной информацией" (например, интервалами времени) для аутентификации другого устройства.
В некоторых вариантах реализации итоговое значение может быть основано на информации, которая обеспечивается для предотвращения взлома путем замещения оригинала. Например, первое устройство может сформировать код MAC на основе интервалов времени и информации некоторого типа (называемой идентификатором устройства в дальнейшем описании), которая отличает первое устройство (например, инициатор) от второго устройства (например, ответчика). Первое устройство передает код MAC на второе устройство, которое, как ожидается, выполняет взаимодополняющую операцию. После приема кода MAC от другого устройства каждое из устройств передает свой идентификатор устройства (например, "0" для первого устройства и "1" для второго устройства) в открытом виде. Например, идентификатор устройства может быть передан в открытом тексте сообщения кода MAC (например, на этапе 510 на фиг.5) или вместе с информацией интервалов времени. Таким образом, если второе устройство попытается "воспроизвести" код MAC первого устройства обратно первому устройству, то это будет очевидно, поскольку код MAC от второго устройства будет основан на неправильном идентификаторе устройства (например, "0"). Аналогично, совместно с воспроизведением, второе устройство может передать идентификатор первого устройства (например, "0") в открытом виде. В этом случае первое устройство может легко определить, что это представляет собой воспроизведение, после проверки идентификатора устройства. Как показано на фиг.5, операция этапа 516 (или некоторого другого этапа) тем самым может быть заменена (или дополнена) на проверку принятого идентификатора устройства, чтобы удостовериться, что он отличается от идентификатора устройства, выполняющего проверку (например, первого устройства, упомянутого выше).
Изложенные здесь идеи могут быть внедрены в устройство, использующее различные компоненты для взаимодействия по меньшей мере с одним другим устройством. Фиг.7 изображает несколько иллюстративных компонентов, которые могут использоваться для обеспечения взаимодействия между устройствами. При этом первое устройство 702 и второе устройство 704 выполнены с возможностью взаимодействовать через беспроводную линию 706 связи в подходящей передающей среде.
Сначала будут рассмотрены компоненты, используемые при отправке информации от устройства 702 на устройство 704 (например, обратная линия связи). Процессор 708 данных передачи ("TX") принимает информационные данные (например, пакеты данных) от буфера 710 данных или некоторого другого подходящего компонента. Процессор 708 данных передачи обрабатывает (например, выполняет кодирование, чередование и символьное преобразование) каждый пакет данных на основе выбранной схемы кодирования и модуляции и выдает символы данных. В общем случае символ данных представляет собой символ модуляции для данных, и контрольный символ представляет собой символ модуляции для контрольного сигнала (который известен априорно). Модулятор 712 принимает символы данных, контрольные символы и, возможно, служебные сигналы для обратной линии связи и выполняет модуляцию (например, мультиплексирование с ортогональным частотным разделением (OFDM) или некоторую другую подходящую модуляцию) и/или другую обработку, заданную системой, и выдает поток выходных элементарных сигналов. Передатчик (TMTR) 714 обрабатывает (например, выполняет цифроаналоговое преобразование, фильтрацию, усиление и преобразование с повышением частоты) поток выходных элементарных сигналов и формирует модулированный сигнал, который затем передается с антенны 716.
Модулированные сигналы, переданные устройством 702 (вместе с сигналами от других устройств, взаимодействующих с устройством 704), принимаются антенной 718 устройства 704. Приемник (RCVR) 720 обрабатывает (например, преобразовывает и переводит в цифровую форму) принятый сигнал от антенны 718 и выдает принятые отсчеты. Демодулятор (DEMOD) 722 обрабатывает (например, демодулирует и обнаруживает) принятые отсчеты и выдает обнаруженные символы данных, которые могут представлять собой искаженную оценку символов данных, переданных на устройство 704 другим устройством (устройствами). Процессор 724 данных приема (RX) обрабатывает (например, выполняет обратное символьное преобразование, обратное чередование и декодирование) обнаруженные символы данных и выдает декодированные данные, соответствующие каждому передающему устройству (например, устройству 702).
Теперь будут рассмотрены компоненты, используемые при отправке информации от устройства 704 на устройство 702 (например, прямая линия связи). В устройстве 704 информационные данные обрабатываются процессором 726 данных передачи (TX) для формирования символов данных. Модулятор 728 принимает символы данных, контрольные символы и служебные сигналы для прямой линии связи, выполняет модуляцию (например, мультиплексирование OFDM или некоторую другую подходящую модуляцию) и/или другую подходящую обработку и выдает поток выходных элементарных сигналов, который затем преобразовывается передатчиком (TMTR) 730 и передается с антенны 718. В некоторых вариантах реализации служебные сигналы для прямой линии связи могут содержать команды регулирования мощности и другую информацию (например, имеющую отношение к каналу связи), сформированную контроллером 732 для всех устройств (например, терминалов), выполняющих передачи по обратной линии связи на устройство 704.
В устройстве 702 модулированный сигнал, переданный устройством 704, принимается антенной 716, преобразовывается и переводится в цифровую форму приемником (RCVR) 734 и обрабатывается демодулятором (DEMOD) 736 для получения обнаруженных символов данных. Процессор 738 данных приема (RX) обрабатывает обнаруженные символы данных и выдает декодированные данные для устройства 702 и служебные сигналы прямой линии связи. Контроллер 740 принимает команды регулирования мощности и другую информацию для управления передачей данных и управления мощностью передачи по обратной линии связи на устройство 704.
Контроллеры 740 и 732 управляют различными операциями устройства 702 и устройства 704 соответственно. Например, контроллер может определять соответствующий фильтр, отчетную информацию о фильтре и декодировать информацию с использованием фильтра. Блоки 742 и 744 памяти данных могут хранить программные коды и данные, используемые контроллерами 740 и 732 соответственно.
Фиг.7 также иллюстрирует, что компоненты связи могут включать в себя один или более компонентов, которые выполняют операции, имеющие отношение к изложенным здесь проверкам синхронизации. Например, компонент управления синхронизацией (SYNC) может взаимодействовать с контроллером 740 и/или другими компонентами устройства 702 для отправки и приема относящейся к синхронизации информации на другое устройство или от другого устройства (например, устройства 704). Аналогично блок 748 управления синхронизацией может взаимодействовать с контроллером 732 и/или другими компонентами устройства 704 для отправки и приема относящейся к синхронизации информации на другое устройство или от другого устройства (например, устройства 702).
Беспроводное устройство может содержать различные компоненты, которые выполняют функции на основе сигналов, которые передаются или принимаются в беспроводном устройстве. Например, беспроводной головной телефон может содержать преобразователь, выполненный с возможностью выдавать звуковой сигнал на основе сигнала, принятого через приемник. Беспроводные часы могут содержать пользовательский интерфейс, выполненный с возможностью выдавать показания на основе сигнала, принятого через приемник. Беспроводной датчик может содержать датчик, выполненный с возможностью выдавать данные, которые должны быть переданы на другое устройство.
Беспроводное устройство может взаимодействовать через одну или более беспроводных линий связи, которые основаны на любой подходящей технологии беспроводной связи или поддерживают ее. Например, в некоторых аспектах беспроводное устройство может быть связано с сетью. В некоторых аспектах сеть может содержать индивидуальную беспроводную сеть или персональную сеть (например, ультраширокополосную сеть). В некоторых аспектах сеть может содержать локальную сеть или глобальную сеть. Беспроводное устройство может поддерживать или иным образом использовать одну или более из множества технологий беспроводной связи, протоколов или стандартов, таких как, например, множественный доступ с кодовым разделением (CDMA), множественный доступ с временным разделением (TDMA), мультиплексирование с ортогональным частотным разделением (OFDM), множественный доступ с ортогональным частотным разделением (OFDMA), технология WiMAX и технология Wi-Fi. Аналогично беспроводное устройство может поддерживать или иным образом использовать одну или более из множества соответствующих схем модуляции или мультиплексирования. Таким образом, беспроводное устройство может содержать соответствующие компоненты (например, беспроводные интерфейсы) для установления одной или более беспроводных линий связи и взаимодействия по ним с использованием упомянутых выше или других технологий беспроводной связи. Например, устройство может содержать беспроводной приемопередатчик с соответствующими компонентами передатчика и приемника (например, передатчика 408 и приемника 410), которые могут содержать различные компоненты (например, генераторы сигналов и процессоры сигналов), которые обеспечивают возможность связи через беспроводную передающую среду.
В некоторых аспектах беспроводное устройство может взаимодействовать через импульсную беспроводную линию связи. Например, импульсная беспроводная линия связи может использовать ультраширокополосные импульсы, которые имеют относительно короткую длину (например, порядка нескольких наносекунд) и относительно широкую полосу пропускания. В некоторых аспектах ультраширокополосные импульсы могут иметь относительную ширину полосы порядка приблизительно 20% или больше и/или иметь ширину полосы порядка приблизительно 500 МГц или больше.
Изложенные здесь идеи могут быть внедрены во множестве устройств (например, реализованы в них или выполняться ими). Например, один или более изложенных здесь аспектов могут быть внедрены в телефон (например, сотовый телефон), персональный цифровой помощник (PDA), устройство для развлечений (например, устройство воспроизведения музыки или видео), головной телефон (например, головные телефоны, наушники и т.д.), микрофон, медицинское устройство (например, биометрический датчик, монитор пульса, шагомер, электрокардиографическое (ЭКГ) устройство и т.д.), устройство ввода-вывода для пользователя (например, часы, пульт дистанционного управления, выключатель света, клавиатура, мышь и т.д.), монитор давления шин, компьютер, торговое устройство, устройство для развлечений, слуховой аппарат, телевизионная приставка или любое другое подходящее устройство.
Эти устройства могут иметь различные требования мощности и данных. В некоторых аспектах изложенные здесь идеи могут быть адаптированы к использованию в приложениях с малой мощностью (например, с помощью импульсной схемы служебных сигналов и режимов с малой мощностью) и могут поддерживать множество скоростей передачи данных, в том числе относительно высокие скорости передачи данных (например, с помощью широкополосных импульсов).
В некоторых аспектах беспроводное устройство может содержать устройство доступа (например, точку доступа Wi-Fi) для системы связи. Такое устройство доступа может обеспечить, например, связь с другой сетью (например, глобальной сетью, такой как Интернет или сеть сотовой связи) через проводную или беспроводную линию связи. В соответствии с этим устройство доступа может дать возможность другому устройству (например, станции Wi-Fi) получить доступ к другой сети или некоторым другим функциональным возможностям. Кроме того, следует понимать, что одно или оба устройства могут быть переносными или, в некоторых случаях, относительно непереносными.
Описанные здесь компоненты могут быть реализованы множеством способов. Как показано на фиг.8, устройство 800 представлено в виде последовательности взаимодействующих функциональных блоков, которые могут представлять функции, реализованные, например, посредством одной или более интегральных схем (например, специализированных интегральных схем (ASIC)), или могут быть реализованы некоторым другим изложенным здесь способом. Как описано здесь, интегральная схема может содержать процессор, программное обеспечение, другие компоненты или некоторую их комбинацию.
Устройство 800 может содержать один или более модулей, которые могут выполнять одну или более функций, описанных выше в отношении различных фигур. Например, специализированная интегральная схема (ASIC) 802 для передачи может соответствовать, например, описанному здесь передатчику. Схема ASIC 804 для приема может соответствовать, например, описанному здесь приемнику. Схема ASIC 806 для ввода может соответствовать, например, описанному здесь устройству ввода. Схема ASIC 808 для обеспечения показания времени приведения в действие может соответствовать, например, описанному здесь индикатору времени. Схема ASIC 810 для сравнения может соответствовать, например, описанному здесь блоку сравнения. Схема ASIC 812 для вычисления согласования ключа может соответствовать, например, описанному здесь криптографическому процессору. Схема ASIC 814 для формирования итогового значения (хеш-кода, кода MAC) может соответствовать, например, описанному здесь генератору итогового значения (например, хеш-кода или кода MAC). Схема ASIC 816 для активизации режима образования пары может соответствовать, например, описанному здесь контроллеру режима образования пары. Схема ASIC 818 для формирования показания может соответствовать, например, описанному здесь устройству вывода. Схема ASIC 820 для аутентификации может соответствовать, например, описанному здесь блоку аутентификации.
Как отмечено выше, в некоторых аспектах эти компоненты могут быть реализованы через соответствующие компоненты процессора. Эти компоненты процессора в некоторых аспектах могут быть реализованы, по меньшей мере частично, с использованием изложенной здесь структуры. В некоторых аспектах процессор может быть выполнен с возможностью реализовывать часть или все функциональные возможности одного или более этих компонентов. В некоторых аспектах один или более компонентов, представленных пунктирными прямоугольниками, являются необязательными.
Как отмечено выше, устройство 800 может содержать одну или более интегральных схем. Например, в некоторых аспектах одна интегральная схема может реализовать функциональные возможности одного или более иллюстрированных компонентов, в то время как в других аспектах более чем одна интегральная схема может реализовать функциональные возможности одного или более иллюстрированных компонентов.
Кроме того, компоненты и функции, представленные на фиг.8, а также другие описанные здесь компоненты и функции могут быть реализованы с использованием любых подходящих средств. Такие средства также могут быть реализованы, по меньшей мере частично, с использованием соответствующей изложенной здесь структуры. Например, компоненты, описанные выше совместно со "схемами (ASIC) для" компонентов на фиг.8, также могут соответствовать аналогичным "средствам для" функциональных возможностей. Таким образом, в некоторых аспектах одно или более таких средств могут быть реализованы с использованием одного или более компонентов процессора, одной или более интегральных схем или другой подходящей изложенной здесь структуры.
Кроме того, следует понимать, что любая ссылка на элемент с использованием обозначения, такого как "первый", "второй" и т.д., в общем случае не ограничивает количество или порядок этих элементов. Эти обозначения используются здесь в качестве удобного способа отличия между двумя или более разными устройствами, наборами и т.д. Таким образом, ссылка на первое и второе устройства или первый и второй наборы не означает, что могут использоваться только два устройства или набора или что первое устройство или первый набор должны некоторым образом предшествовать второму устройству или набору.
Специалисты в данной области техники поймут, что информация и сигналы могут быть представлены с использованием любых из множества различных технологий и способов. Например, данные, команды, информация, сигналы, биты, символы и элементарные сигналы, которые могут упоминаться в изложенном выше описании, могут быть представлены напряжениями, токами, электромагнитными волнами, магнитными полями или частицами, оптическими полями или частицами или любой их комбинацией.
Специалисты также поймут, что различные иллюстративные логические блоки, модули, процессоры, средства, схемы и этапы алгоритмов, описанные здесь в связи с раскрытыми аспектами, могут быть реализованы как электронное аппаратное оборудование (например, цифровая реализация, аналоговая реализация или их комбинация, которые могут быть спроектированы с использованием кодирования источника или некоторого другого способа), различные формы программ или кода, включающих в себя команды (которые могут для удобства упоминаться здесь как "программное обеспечение" или "программный модуль") или их комбинация. Чтобы ясно проиллюстрировать эту взаимозаменяемость аппаратного оборудования и программного обеспечения, различные иллюстративные компоненты, блоки, модули, схемы и этапы были описаны выше в общих чертах в терминах их функциональных возможностей. Реализованы ли такие функциональные возможности как аппаратное оборудование или программное обеспечение, зависит от конкретного приложения и конструктивных ограничений, налагаемых на систему в целом. Специалисты могут реализовать описанные функциональные возможности различными способами для каждого конкретного приложения, но такие реализации не должны рассматриваться как вызывающие отход от объема настоящего раскрытия изобретения.
Различные иллюстративные логические блоки, модули и схемы, описанные здесь в связи с раскрытыми аспектами, могут быть реализованы в интегральной схеме (IC), терминале доступа или точке доступа или выполнены с их помощью. Интегральная схема может содержать процессор общего назначения, процессор цифровых сигналов (DSP), специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA) или другое программируемое логическое устройство, схему на дискретных компонентах или транзисторную логическую схему, отдельные компоненты аппаратных средств, электрические компоненты, оптические компоненты, механические компоненты или любую их комбинацию, выполненную с возможностью выполнять описанные здесь функции, и может исполнять коды или команды, которые находятся в интегральной схеме и/или вне интегральной схемы. Процессором общего назначения может являться микропроцессор, но альтернативно процессором может являться любой традиционный процессор, контроллер, микроконтроллер или конечный автомат. Процессор также может быть реализован как комбинация вычислительных устройств, например комбинация процессора цифровых сигналов (DSP) и микропроцессора, множество микропроцессоров, один или более микропроцессоров вместе с ядром процессора цифровых сигналов (DSP) или любая другая такая конфигурация.
Следует понимать, что любой заданный порядок или иерархия этапов в любом раскрытом процессе являются примером иллюстративного подхода. Основываясь на проектных предпочтениях, следует понимать, что заданный порядок или иерархия этапов в процессах могут быть изменены без отхода от объема настоящего раскрытия изобретения. Соответствующие пункты формулы изобретения, относящиеся к способу, представляют элементы различных этапов в иллюстративном порядке и не подразумевают ограничения заданным порядком или представленной иерархией.
Этапы способа или алгоритма, описанные в связи с раскрытыми здесь аспектами, могут быть воплощены непосредственно в аппаратных средствах, в программном модуле, исполняемом процессором, или в их комбинации. Программный модуль (например, содержащий исполняемые команды и соответствующие данные) и другие данные могут находиться в памяти данных, такой как оперативное запоминающее устройство (ОЗУ), флэш-память, постоянное запоминающее устройство (ПЗУ), стираемое программируемое постоянное запоминающее устройство (СППЗУ), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ), регистры, жесткий диск, съемный диск, компакт-диск, предназначенный только для чтения (CD-ROM) или любой другой носитель данных, известный в данной области техники. Иллюстративный носитель данных может быть соединен с машиной, такой как, например, компьютер/процессор (который может для удобства упоминаться здесь как "процессор"), такой процессор может считывать информацию (например, код) с носителя данных и записывать информацию на него. Иллюстративный носитель данных может быть встроен в процессор. Процессор и носитель данных могут находиться в специализированных интегральных схемах (ASIC). Схемы (ASIC) могут находиться в пользовательском оборудовании. В качестве альтернативы процессор и носитель данных могут находиться в пользовательском оборудовании в виде дискретных компонентов. Кроме того, в некоторых аспектах любой подходящий программный продукт может содержать машиночитаемый носитель, содержащий коды (например, исполняемые по меньшей мере одним компьютером), имеющие отношение к одному или более аспектов раскрытия изобретения. В некоторых аспектах программный продукт может содержать упаковочные материалы.
Предшествующее описание раскрытых аспектов представлено для того, чтобы дать возможность любому специалисту в данной области техники осуществить или использовать настоящее раскрытие изобретения. Различные модификации этих аспектов могут быть понятны специалистам в данной области техники и определенные здесь общие принципы могут быть применены к другим аспектам без отступления от объема раскрытия изобретения. Таким образом, подразумевается, что настоящее раскрытие изобретения не ограничено описанными здесь примерами и схемами, но оно должно получить самый широкий объем, совместимый с раскрытыми здесь принципами и новыми признаками.
название | год | авторы | номер документа |
---|---|---|---|
СИСТЕМА ВЗАИМНОЙ АУТЕНТИФИКАЦИИ | 2018 |
|
RU2766440C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ САМОКОНФИГУРИРОВАНИЯ БАЗОВОЙ СТАНЦИИ | 2007 |
|
RU2424634C2 |
УСТРОЙСТВО И СПОСОБ СИГНАЛИЗАЦИИ ОБ УЛУЧШЕННОМ КОНТЕКСТЕ БЕЗОПАСНОСТИ ДЛЯ СЕССИОННЫХ КЛЮЧЕЙ ШИФРОВАНИЯ И ЦЕЛОСТНОСТИ | 2011 |
|
RU2555227C2 |
СПОСОБЫ БЕЗОПАСНОГО ГЕНЕРИРОВАНИЯ КРИПТОГРАММ | 2015 |
|
RU2710897C2 |
ЗАЩИТА ИНФОРМАЦИИ НАПРАВЛЕНИЯ В СЕТЬ | 2018 |
|
RU2735089C1 |
РАЗДАТОЧНАЯ СИСТЕМА И СПОСОБ РАЗДАЧИ С РАДИОЧАСТОТНОЙ ИДЕНТИФИКАЦИЕЙ ПОТРЕБИТЕЛЯ | 1996 |
|
RU2161329C2 |
ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ ПРИ СВЯЗИ МЕЖДУ УСТРОЙСТВОМ СВЯЗИ И СЕТЕВЫМ УСТРОЙСТВОМ | 2015 |
|
RU2663972C1 |
СРЕДСТВА УПРАВЛЕНИЯ ИСПАРИТЕЛЕМ | 2018 |
|
RU2825126C2 |
СПОСОБ, МОДУЛЬ, ТЕРМИНАЛ И СИСТЕМА, ОБЕСПЕЧИВАЮЩИЕ СОГЛАСОВАННУЮ РАБОТУ ПОДСИСТЕМЫ РАДИОЧАСТОТНОЙ ИДЕНТИФИКАЦИИ И ПОДСИСТЕМЫ БЕСПРОВОДНОЙ СВЯЗИ | 2005 |
|
RU2409896C2 |
СПОСОБ И УСТРОЙСТВО, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ МУЛЬТИПЛЕКСИРОВАНИЯ МНОЖЕСТВА КАНАЛОВ ОБРАТНОЙ СВЯЗИ ОБРАТНОЙ ЛИНИИ СВЯЗИ В БЕСПРОВОДНЫХ СЕТЯХ С МНОЖЕСТВОМ НЕСУЩИХ | 2006 |
|
RU2397614C2 |
Изобретение относится к беспроводной связи, а именно к проверке синхронизации для аутентификации устройства. Техническим результатом является повышение уровня криптографической защищенности. Технический результат достигается тем, что аутентификация устройства основана на способности человека синхронизировать движения своих пальцев. Таким образом, процедура образования пары для двух беспроводных устройств может включать в себя проверку синхронизации, которая основана на относительных временах приведения в действие устройств ввода на каждом из беспроводных устройств. Проверка синхронизации включает в себя определение того, произошли ли приведения в действие устройств ввода пользователя на двух различных беспроводных устройствах в пределах заданного интервала времени. Проверка синхронизации включает в себя сравнение интервалов времени, заданных несколькими приведениями в действие устройств ввода пользователя на двух беспроводных устройствах. При этом во время проверки синхронизации после приема последнего показания, относящегося ко времени приведения в действие устройства ввода, отклоняют любые показания, предположительно представляющие по меньшей мере одно время приведения в действие устройства ввода. 7 н. и 78 з.п. ф-лы, 8 ил.
1. Способ аутентификации, содержащий этапы, на которых:
предоставляют первое показание, относящееся, по меньшей мере, к одному времени приведения в действие первого пользовательского устройства ввода, которое ассоциировано с первым устройством, причем первое показание указывает время, в которое было приведено в действие первое пользовательское устройство ввода;
принимают второе показание, относящееся, по меньшей мере, к одному времени приведения в действие второго пользовательского устройства ввода, которое ассоциировано со вторым устройством, причем второе показание относится ко времени, в которое было приведено в действие второе пользовательское устройство ввода;
сравнивают первое показание со вторым показанием для определения, является ли, по меньшей мере, одно время приведения в действие первого пользовательского устройства ввода достаточно близким, по меньшей мере, к одному времени приведения в действие второго пользовательского устройства ввода; и
выполняют аутентификацию второго устройства на основании сравнения; при этом первое показание предоставляется, и второе показание принимается, в связи с проверкой синхронизации, и
при этом во время проверки синхронизации и после приема второго показания отклоняют любые показания, предположительно представляющие, по меньшей мере, одно время приведения в действие второго пользовательского устройства ввода.
2. Способ по п.1, в котором второе показание указывает время, в которое сообщение от второго устройства было принято в первом устройстве.
3. Способ по п.1, в котором:
сравнение содержит вычисление разности времени между временем, в которое приводилось в действие первое пользовательское устройство ввода, и временем, в которое приводилось в действие второе пользовательское устройство ввода; и
аутентификация второго устройства основана на том, является ли разность времени меньшей или равной пороговому интервалу времени.
4. Способ по п.3, дополнительно содержащий этап, на котором, если разность времени меньше или равна пороговому интервалу времени, передают третье показание, имеющее отношение к другому времени, когда приводилось в действие первое пользовательское устройство ввода.
5. Способ по п.4, в котором:
первое показание указывает время, в которое было включено первое пользовательское устройство ввода; и
третье показание указывает время, в которое было выключено первое пользовательское устройство ввода.
6. Способ по п.3, дополнительно содержащий этап, на котором выполняют вычисление согласования ключей, если разность времени меньше или равна пороговому интервалу времени, причем вычисление согласования ключей основано на:
первом криптографическом ключе, ассоциированном с первым устройством; и
втором криптографическом ключе, ассоциированном со вторым устройством и принятом в связи со вторым показанием.
7. Способ по п.6, в котором вычисление согласования ключей обеспечивает криптографический ключ для обеспечения безопасности связи между первым и вторым устройствами.
8. Способ по п.1, в котором:
по меньшей мере, одно время приведения в действие первого пользовательского устройства ввода содержит множество времен приведения в действие, которые задают первый набор интервалов времени; и
по меньшей мере, одно время приведения в действие второго пользовательского устройства ввода содержит множество времен приведения в действие, которые задают второй набор интервалов времени.
9. Способ по п.8, в котором этап сравнения содержит этапы, на которых:
вычисляют последовательность разностей времени между каждым интервалом первого набора интервалов времени и соответствующим интервалом второго набора интервалов времени; и
формируют проверочное значение на основании того, сколько разностей времени меньше или равно пороговому интервалу времени.
10. Способ по п.9, в котором аутентификация второго устройства основана на том, является ли проверочное значение большим или равным пороговому значению.
11. Способ по п.8, дополнительно содержащий этап, на котором принимают первое итоговое значение, которое основано на втором наборе интервалов времени.
12. Способ по п.11, в котором первое итоговое значение содержит хеш-код или код аутентификации сообщения.
13. Способ по п.11, в котором первое итоговое значение дополнительно основано на данных, которые должны быть аутентифицированы.
14. Способ по п.13, в котором данные, которые должны быть аутентифицированы, содержат, по меньшей мере, один элемент группы, состоящей из общего ключа, открытого ключа и идентификатора устройства.
15. Способ по п.11, в котором первое итоговое значение содержит код аутентификации сообщения, который дополнительно основан на криптографическом ключе, который является общим для первого и второго устройств.
16. Способ по п.11, дополнительно содержащий этапы, на которых:
формируют второе итоговое значение на основе второго набора интервалов времени;
причем аутентификация второго устройства основана на том, равно ли второе итоговое значение первому итоговому значению.
17. Способ по п.11, дополнительно содержащий этапы, на которых: определяют разность времени между временем приема первого итогового значения и временем начала проверки, ассоциированным, по меньшей мере, с одним временем приведения в действие первого пользовательского устройства ввода;
причем аутентификация второго устройства основана на том, является ли разность времени меньшей или равной пороговому интервалу времени.
18. Способ по п.17, дополнительно содержащий этап, на котором, если разность времени меньше или равна пороговому интервалу времени, передают третье показание, относящееся, по меньшей мере, к одному времени приведения в действие первого пользовательского устройства ввода.
19. Способ по п.18, в котором третье показание передается через определенный промежуток времени после времени начала проверки.
20. Способ по п.11, дополнительно содержащий этап, на котором передают итоговое значение, относящееся к первому набору интервалов времени.
21. Способ по п.8, в котором аутентификация второго устройства основана на том, что первый набор интервалов времени отличается от второго набора интервалов времени.
22. Способ по п.8, в котором времена приведения в действие, которые задают первый набор интервалов времени, содержат случайную последовательность времен.
23. Способ по п.1, в котором каждое из приведений в действие содержит включение соответствующего одного из пользовательских устройств ввода или выключение соответствующего одного из пользовательских устройств ввода.
24. Способ по п.1, в котором первое пользовательское устройство ввода содержит кнопку, клавиатуру, переключатель или сенсорный экран.
25. Способ по п.1, дополнительно содержащий этап, на котором активируют режим образования пары первого устройства до получения первого показания.
26. Способ по п.1, дополнительно содержащий этап, на котором формируют показание для инициирования приведения в действие пользовательских устройств ввода.
27. Способ по п.26, в котором формирование показания содержит активацию или деактивацию светового элемента или обеспечение вывода на экране дисплея.
28. Устройство аутентификации, содержащее:
индикатор времени, выполненный с возможностью предоставлять первое показание, относящееся, по меньшей мере, к одному времени приведения в действие первого пользовательского устройства ввода, которое ассоциировано с первым устройством, причем первое показание указывает время, в которое было приведено в действие первое пользовательское устройство ввода;
приемник, выполненный с возможностью принимать второе показание, относящееся, по меньшей мере, к одному времени приведения в действие второго пользовательского устройства ввода, которое ассоциировано со вторым устройством, причем второе показание имеет отношение к времени, в которое было приведено в действие второе пользовательское устройство ввода;
блок сравнения, выполненный с возможностью сравнивать первое показание со вторым показанием для определения, является ли, по меньшей мере, одно время приведения в действие первого пользовательского устройства ввода достаточно близким, по меньшей мере, к одному времени приведения в действие второго пользовательского устройства ввода; и
блок аутентификации, выполненный с возможностью выполнять аутентификацию второго устройства на основании сравнения; при этом первое показание предоставляется, и второе показание принимается, в связи с проверкой синхронизации, и при этом приемник дополнительно выполнен с возможностью отклонять любые показания, предположительно представляющие, по меньшей мере, одно время приведения в действие второго пользовательского устройства ввода, во время проверки синхронизации и после приема второго показания.
29. Устройство по п.28, в котором второе показание указывает время, в которое сообщение от второго устройства было принято в первом устройстве.
30. Устройство по п.28, в котором:
блок сравнения дополнительно выполнен с возможностью вычислять разность времени между временем, в которое приводилось в действие первое пользовательское устройство ввода, и временем, в которое приводилось в действие второе пользовательское устройство ввода; и блок аутентификации дополнительно выполнен с возможностью выполнять аутентификацию второго устройства на основании того, является ли разность времени меньшей или равной пороговому интервалу времени.
31. Устройство по п.30, дополнительно содержащее передатчик, выполненный с возможностью передавать, исходя из того, является ли разность времени меньшей или равной пороговому интервалу времени, третье показание, относящееся к другому времени, когда приводилось в действие первое пользовательское устройство ввода.
32. Устройство по п.31, в котором:
первое показание указывает время, в которое было включено первое пользовательское устройство ввода; и
третье показание указывает время, в которое было выключено первое пользовательское устройство ввода.
33. Устройство по п.30, дополнительно содержащее криптографический процессор, выполненный с возможностью осуществлять вычисление согласования ключей, если разность времени меньше или равна пороговому интервалу времени, причем вычисление согласования ключей основано на:
первом криптографическом ключе, ассоциированном с первым устройством; и
втором криптографическом ключе, ассоциированном со вторым устройством и принятом в связи с вторым показанием.
34. Устройство по п.33, в котором вычисление согласования ключей обеспечивает криптографический ключ для обеспечения безопасности связи между первым и вторым устройствами.
35. Устройство по п.28, в котором:
по меньшей мере, одно время приведения в действие первого пользовательского устройства ввода содержит множество времен приведения в действие, которые задают первый набор интервалов времени; и
по меньшей мере, одно время приведения в действие второго пользовательского устройства ввода содержит множество времен приведения в действие, которые задают второй набор интервалов времени.
36. Устройство по п.35, в котором блок сравнения дополнительно выполнен с возможностью:
вычислять последовательность разностей времени между каждым интервалом первого набора интервалов времени и соответствующим интервалом второго набора интервалов времени; и
формировать проверочное значение на основании того, сколько разностей времени меньше или равно пороговому интервалу времени.
37. Устройство по п.36, в котором блок аутентификации дополнительно выполнен с возможностью осуществлять аутентификацию второго устройства на основе того, является ли проверочное значение большим или равным пороговому значению.
38. Устройство по п.35, в котором приемник дополнительно выполнен с возможностью принимать первое итоговое значение, которое основано на втором наборе интервалов времени.
39. Устройство по п.38, в котором первое итоговое значение содержит хеш-код или код аутентификации сообщения.
40. Устройство по п.38, в котором первое итоговое значение дополнительно основано на данных, которые должны быть аутентифицированы.
41. Устройство по п.40, в котором данные, которые должны быть аутентифицированы, содержат, по меньшей мере, один элемент группы, состоящей из общего ключа, открытого ключа и идентификатора устройства.
42. Устройство по п.38, в котором первое итоговое значение содержит код аутентификации сообщения, который дополнительно основан на криптографическом ключе, который является общим для первого и второго устройств.
43. Устройство по п.38, дополнительно содержащее:
генератор итогового значения, выполненный с возможностью формировать второе итоговое значение на основании второго набора интервалов времени;
причем блок аутентификации дополнительно выполнен с возможностью осуществлять аутентификацию второго устройства на основании того, равно ли второе итоговое значение первому итоговому значению.
44. Устройство по п.38, в котором:
блок сравнения дополнительно выполнен с возможностью определять разность времени между временем приема первого итогового значения и временем начала проверки, ассоциированным, по меньшей мере, с одним временем приведения в действие первого пользовательского устройства ввода; и
блок аутентификации дополнительно выполнен с возможностью осуществлять аутентификацию второго устройства на основании того, является ли разность времени меньшей или равной пороговому интервалу времени.
45. Устройство по п.44, дополнительно содержащее передатчик, выполненный с возможностью передавать, если разность времени меньше или равна пороговому интервалу времени, третье показание, относящееся, по меньшей мере, к одному времени приведения в действие первого пользовательского устройства ввода.
46. Устройство по п.45, в котором третье показание передается через определенный промежуток времени после времени начала проверки.
47. Устройство по п.38, дополнительно содержащее передатчик, выполненный с возможностью передавать итоговое значение, относящееся к первому набору интервалов времени.
48. Устройство по п.35, в котором блок аутентификации дополнительно выполнен с возможностью осуществлять аутентификацию второго устройства на основании того, что первый набор интервалов времени отличается от второго набора интервалов времени.
49. Устройство по п.35, в котором времена приведения в действие, которые задают первый набор интервалов времени, содержат случайную последовательность времен.
50. Устройство по п.28, в котором каждое из приведений в действие содержит включение соответствующего одного из пользовательских устройств ввода или выключение соответствующего одного из пользовательских устройств ввода.
51. Устройство по п.28, в котором первое пользовательское устройство ввода содержит кнопку, клавиатуру, переключатель или сенсорный экран.
52. Устройство по п.28, дополнительно содержащее контроллер режима образования пары, выполненный с возможностью активировать режим образования пары первого устройства до получения первого показания.
53. Устройство по п.28, дополнительно содержащее устройство вывода, выполненное с возможностью формировать показание для инициирования приведения в действие пользовательских устройств ввода.
54. Устройство по п.53, в котором устройство вывода дополнительно выполнено с возможностью активировать или деактивировать световой элемент или обеспечивать вывод на экране дисплея.
55. Устройство аутентификации, содержащее:
средство предоставления первого показания, относящегося, по меньшей мере, к одному времени приведения в действие первого средства ввода, которое ассоциировано с первым устройством, причем первое показание указывает время, в которое было приведено в действие первое пользовательское устройство ввода;
средство приема второго показания, относящегося, по меньшей мере, к одному времени приведения в действие второго средства ввода, которое ассоциировано со вторым устройством, причем второе показание имеет отношение ко времени, в которое было приведено в действие второе пользовательское устройство ввода;
средство сравнения первого показания со вторым показанием для определения, является ли, по меньшей мере, одно время приведения в действие первого средства ввода достаточно близким, по меньшей мере, к одному времени приведения в действие второго средства ввода; и
средство выполнения аутентификации второго устройства на основании сравнения, причем первое показание предоставляется, и второе показание принимается, в связи с проверкой синхронизации, и
при этом средство для приема дополнительно сконфигурировано для отклонения, во время проверки синхронизации и после приема второго показания, любых показаний, предположительно представляющих, по меньшей мере, одно время приведения в действие второго пользовательского устройства ввода.
56. Устройство по п.55, в котором второе показание указывает время, в которое сообщение от второго устройства было принято в первом устройстве.
57. Устройство по п.55, в котором:
средство сравнения вычисляет разность времени между временем, в которое приводилось в действие первое средство ввода, и временем, в которое приводилось в действие второе средство ввода; и
средство выполнения аутентификации осуществляет аутентификацию второго устройства на основании того, является ли разность времени меньшей или равной пороговому интервалу времени.
58. Устройство по п.57, дополнительно содержащее средство передачи, исходя из того, является ли разность времени меньшей или равной пороговому интервалу времени, третьего показания, относящегося к другому времени, в которое было приведено в действие первое средство ввода.
59. Устройство по п.58, в котором:
первое показание указывает время, в которое было включено первое средство ввода; и
третье показание указывает время, в которое было выключено первое средство ввода.
60. Устройство по п.57, дополнительно содержащее средство выполнения вычисления согласования ключей, если разность времени меньше или равна пороговому интервалу времени, причем вычисление согласования ключей основано на:
первом криптографическом ключе, ассоциированном с первым устройством; и
втором криптографическом ключе, ассоциированном со вторым устройством и принятом в связи с вторым показанием.
61. Устройство по п.60, в котором вычисление согласования ключей обеспечивает криптографический ключ для обеспечения безопасности связи между первым и вторым устройствами.
62. Устройство по п.55, в котором:
по меньшей мере, одно время приведения в действие первого средства ввода содержит множество времен приведения в действие, которые задают первый набор интервалов времени; и
по меньшей мере, одно время приведения в действие второго средства ввода содержит множество времен приведения в действие, которые задают второй набор интервалов времени.
63. Устройство по п.62, в котором средство сравнения:
вычисляет последовательность разностей времени между каждым интервалом первого набора интервалов времени и соответствующим интервалом второго набора интервалов времени; и
формирует проверочное значение на основе того, сколько разностей времени меньше или равно пороговому интервалу времени.
64. Устройство по п.63, в котором средство аутентификации выполняет аутентификацию второго устройства на основании того, является ли проверочное значение большим или равным пороговому значению.
65. Устройство по п.62, в котором средство приема принимает первое итоговое значение, которое основано на втором наборе интервалов времени.
66. Устройство по п.65, в котором первое итоговое значение содержит хеш-код или код аутентификации сообщения.
67. Устройство по п.65, в котором первое итоговое значение дополнительно основано на данных, которые должны быть аутентифицированы.
68. Устройство по п.67, в котором данные, которые должны быть аутентифицированы, содержат, по меньшей мере, один элемент группы, состоящей из общего ключа, открытого ключа и идентификатора устройства.
69. Устройство по п.65, в котором первое итоговое значение содержит код аутентификации сообщения, который дополнительно основан на криптографическом ключе, который является общим для первого и второго устройств.
70. Устройство по п.65, дополнительно содержащее:
средство формирования второго итогового значения на основании второго набора интервалов времени;
причем средство аутентификации выполняет аутентификацию второго устройства на основании того, равно ли второе итоговое значение первому итоговому значению.
71. Устройство по п.65, в котором:
средство сравнения определяет разность времени между временем приема первого итогового значения и временем начала проверки, ассоциированным, по меньшей мере, с одним временем приведения в действие первого средства ввода; и
средство аутентификации выполняет аутентификацию второго устройства на основании того, является ли разность времени меньшей или равной пороговому интервалу времени.
72. Устройство по п.71, дополнительно содержащее средство передачи, если разность времени меньше или равна пороговому интервалу времени, третьего показания, относящегося, по меньшей мере, к одному времени приведения в действие первого средства ввода.
73. Устройство по п.72, в котором третье показание передается через определенный промежуток времени после времени начала проверки.
74. Устройство по п.65, дополнительно содержащее средство передачи итогового значения, относящегося к первому набору интервалов времени.
75. Устройство по п.62, в котором средство аутентификации выполняет аутентификацию второго устройства на основании того, что первый набор интервалов времени отличается от второго набора интервалов времени.
76. Устройство по п.62, в котором времена приведения в действие, которые задают первый набор интервалов времени, содержат случайную последовательность времен.
77. Устройство по п.55, в котором каждое из приведений в действие содержит включение соответствующего одного из первого и второго средств ввода или выключение соответствующего одного из первого и второго средств ввода.
78. Устройство по п.55, в котором первое средство ввода содержит кнопку, клавиатуру, переключатель или сенсорный экран.
79. Устройство по п.55, дополнительно содержащее средство активации режима образования пары первого устройства до получения первого показания.
80. Устройство по п.55, дополнительно содержащее средство формирования показания для инициирования приведения в действие первого и второго средств ввода.
81. Устройство по п.80, в котором средство формирования показания активирует или деактивирует световой элемент или обеспечивает вывод на экране дисплея.
82. Машиночитаемый носитель, содержащий исполняемые, по меньшей мере, одним компьютером коды, которые в случае их исполнения побуждают, по меньшей мере, один компьютер:
предоставлять первое показание, относящееся, по меньшей мере, к одному времени приведения в действие первого пользовательского устройства ввода, которое ассоциировано с первым устройством, причем первое показание указывает время, в которое было приведено в действие первое пользовательское устройство ввода;
принимать второе показание, относящееся, по меньшей мере, к одному времени приведения в действие второго пользовательского устройства ввода, которое ассоциировано со вторым устройством, причем второе показание относится к времени, в которое было приведено в действие второе пользовательское устройство ввода;
сравнивать первое показание со вторым показанием для определения, является ли, по меньшей мере, одно время приведения в действие первого пользовательского устройства ввода достаточно близким, по меньшей мере, к одному времени приведения в действие второго пользовательского устройства ввода; и
выполнять аутентификацию второго устройства на основании сравнения, причем первое показание предоставляется, и второе показание принимается, в связи с проверкой синхронизации, и
дополнительно отклонять во время проверки синхронизации и после приема второго показания любых показаний, предположительно представляющих, по меньшей мере, одно время приведения в действие второго пользовательского устройства ввода.
83. Головной телефон для беспроводной связи, содержащий:
индикатор времени, выполненный с возможностью предоставлять первое показание, относящееся, по меньшей мере, к одному времени приведения в действие первого пользовательского устройства ввода, которое ассоциировано с первым устройством, причем первое показание указывает время, в которое было приведено в действие первое пользовательское устройство ввода;
приемник, выполненный с возможностью принимать второе показание, относящееся, по меньшей мере, к одному времени приведения в действие второго пользовательского устройства ввода, которое ассоциировано со вторым устройством, причем второе показание имеет отношение к времени, в которое было приведено в действие второе пользовательское устройство ввода;
блок сравнения, выполненный с возможностью сравнивать первое показание со вторым показанием для определения, является ли, по меньшей мере, одно время приведения в действие первого пользовательского устройства ввода достаточно близким, по меньшей мере, к одному времени приведения в действие второго пользовательского устройства ввода;
блок аутентификации, выполненный с возможностью осуществлять аутентификацию второго устройства на основании сравнения; и
преобразователь, выполненный с возможностью обеспечивать вывод звукового сигнала на основе сигнала, принятого через приемник;
при этом первое показание предоставляется, и второе показание принимается, в связи с проверкой синхронизации, и
при этом приемник дополнительно выполнен с возможностью отклонять любые показания, предположительно представляющие, по меньшей мере, одно время приведения в действие второго пользовательского устройства ввода, во время проверки синхронизации и после приема второго показания.
84. Часы для беспроводной связи, содержащие:
индикатор времени, выполненный с возможностью обеспечивать первое показание, относящееся, по меньшей мере, к одному времени приведения в действие первого пользовательского устройства ввода, которое ассоциировано с первым устройством, причем первое показание указывает время, в которое было приведено в действие первое пользовательское устройство ввода;
приемник, выполненный с возможностью принимать второе показание, относящееся, по меньшей мере, к одному времени приведения в действие второго пользовательского устройства ввода, которое ассоциировано со вторым устройством, причем второе показание имеет отношение к времени, в которое было приведено в действие второе пользовательское устройство ввода;
блок сравнения, выполненный с возможностью сравнивать первое показание со вторым показанием для определения, является ли, по меньшей мере, одно время приведения в действие первого пользовательского устройства ввода достаточно близким, по меньшей мере, к одному времени приведения в действие второго пользовательского устройства ввода;
блок аутентификации, выполненный с возможностью осуществлять аутентификацию второго устройства на основании сравнения; и
пользовательский интерфейс, выполненный с возможностью обеспечивать показание, исходя из сигнала, принятого через приемник;
при этом первое показание предоставляется, и второе показание принимается, в связи с проверкой синхронизации, и
при этом приемник дополнительно выполнен с возможностью отклонять любые показания, предположительно представляющие, по меньшей мере, одно время приведения в действие второго пользовательского устройства ввода, во время проверки синхронизации и после приема второго показания.
85. Датчик для беспроводной связи, содержащий:
индикатор времени, выполненный с возможностью предоставлять первое показание, относящееся, по меньшей мере, к одному времени приведения в действие первого пользовательского устройства ввода, которое ассоциировано с первым устройством, причем первое показание указывает время, в которое было приведено в действие первое пользовательское устройство ввода;
приемник, выполненный с возможностью принимать второе показание, относящееся, по меньшей мере, к одному времени приведения в действие второго пользовательского устройства ввода, которое ассоциировано со вторым устройством, причем второе показание имеет отношение к времени, в которое было приведено в действие второе пользовательское устройство ввода;
блок сравнения, выполненный с возможностью сравнивать первое показание со вторым показанием для определения, является ли, по меньшей мере, одно время приведения в действие первого пользовательского устройства ввода достаточно близким, по меньшей мере, к одному времени приведения в действие второго пользовательского устройства ввода;
блок аутентификации, выполненный с возможностью осуществлять аутентификацию второго устройства на основании сравнения; и
датчик, выполненный с возможностью предоставлять данные, которые должны быть переданы на второе устройство;
при этом первое показание предоставляется, и второе показание принимается, в связи с проверкой синхронизации, и
при этом приемник дополнительно выполнен с возможностью отклонять любые показания, предположительно представляющие, по меньшей мере, одно время приведения в действие второго пользовательского устройства ввода, во время проверки синхронизации и после приема второго показания.
US 2003005085 A1, 2003.01.02 | |||
US 20050132234 A1, 2005.07.16 | |||
US 20020111140 A1, 2002.08.15 | |||
US 20060073851 A1, 2006.04.06 | |||
RU 0097108167 A, 1999.05.27 | |||
RU 2005100782 A, 2006.02.10. |
Авторы
Даты
2011-11-10—Публикация
2008-03-27—Подача