УСТРОЙСТВО ДЛЯ БЕСПРОВОДНОЙ СВЯЗИ С ДРУГИМИ УСТРОЙСТВАМИ
DEVICE FOR WIRELESS COMMUNICATION WITH OTHER DEVICES

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится к устройству, выполненному с возможностью беспроводной связи с другими устройствами. Устройство содержит приемопередатчик для беспроводной связи в соответствии с протоколом связи, содержащим протокол обнаружения, и процессор, выполненный с возможностью исполнения последовательности соединения для обнаружения по меньшей мере одного другого устройства в пределах дальности действия беспроводной связи в соответствии с протоколом обнаружения и с возможностью соединения с обнаруженным устройством для обмена данными. Протокол связи может требовать, чтобы соединенные устройства работали в соответствующем кластере, имеющем ведущее устройство кластера, применяющего главный ранг и время синхронизации, при этом кластер имеет соответствующие идентификационные признаки кластера и обеспечивает соответствующее окно обнаружения в соответствующее время окна обнаружения.
[0002] Настоящее изобретение относится к области систем ближней беспроводной связи, например, связи внутри помещений с использованием мобильных устройств, и, более конкретно, в нем представлены устройства и способы установки одноранговых беспроводных связей, а также соответствующие компьютерные программные продукты.
УРОВЕНЬ ТЕХНИКИ
[0003] Ссылочный документ [1] под названием «Построение сетей связи для узнаваемости соседей, Техническая спецификация версии 2.0» (“Neighbor Awareness Networking, Technical Specification Version 2.0”), опубликованный альянсом Wi-Fi и датированный 20.10.2017, является технической спецификацией альянса Wi-Fi для протокола связи для Neighbor Awareness Networking (NAN). Эта спецификация определяет архитектуру, протоколы и функционал для совместимости устройств, поддерживающих Wi-Fi Aware. NAN обеспечивает одноранговым устройствам возможность обнаружения друг друга в пределах дальности действия беспроводной связи и соединения друг с другом для обмена данными (например, изображениями, фильмами, документами, личными данными, данными датчиков, данными специфического для сервиса протокола и т.д.) без необходимости в промежуточной точке доступа. В системе Wi-Fi Aware соединения для обнаружения и обмена данными основаны на распределенном механизме синхронизации временных слотов, за счет чего группа устройств автоматически образуют кластеры, и так называемый ведущее устройство кластера (cluster master) NAN определяет идентификационные признаки кластера и синхронизацию временных окон (которые называются окнами обнаружения), в которых устройства могут обнаружить друг друга.
[0004] В настоящее время безопасность таких каналов передачи данных требует знания заранее разделенного секретного ключа, например, основанного на кодовой фразе, введенной/отображенной на одноранговом устройстве, или некоторый другой внеполосный механизм. Такой механизм неудобен, так что для обеспечения большей гибкости выполняется поиск других механизмов безопасности. Пример такого механизма заключается в обмене общедоступным ключом в ходе выполнения измерения расстояния и использовании этого общедоступного ключа на последующих этапах установки безопасного соединения, что описано в WO2017089247 под названием «Система для верификации измерений расстояния».
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
[0005] В приведенных выше примерах представлена некоторая степень безопасности, обеспечиваемая в ходе установки беспроводного соединения между устройством и некоторым другим устройством. Однако существует риск вмешательства вредоносного устройства или выполнения им манипуляций с сообщениями в ходе установки соединения, в результате чего оно может получить доступ к обмениваемым данным.
[0006] Задача настоящего изобретения заключается в представлении системы для надежной установки безопасного беспроводного соединения между устройством и еще одним устройством, когда это еще одно устройство находится в пределах дальности действия беспроводной связи.
[0007] Для этой цели представлены устройства и способы, охарактеризованные в прилагаемой формуле изобретения. В соответствии с аспектом настоящего изобретения представлено устройство, охарактеризованное в пункте 1 формулы изобретения. В соответствии с еще одним аспектом настоящего изобретения представлен способ, охарактеризованный в пункте 14 формулы изобретения. В соответствии с еще одним аспектом настоящего изобретения представлен компьютерный программный продукт, загружаемый из сети и/или хранящийся на компьютерочитаемом носителе информации, и/или исполняемом на микропроцессоре носителе информации, при этом продукт содержит инструкции программного кода для реализации вышеуказанного способа при его исполнении на компьютере.
[0008] В контексте настоящего изобретения, устройством (которое далее называется устройством D) может быть любое электронное устройство, выполненное с возможностью установки соединения с еще одним устройством (которое также называется устройством E) по беспроводной связи в соответствии с протоколом связи, содержащим протокол обнаружения.
[0009] В контексте настоящего документа, устройство D и еще одни устройства, доступные для установки указанного соединения, считаются одноранговыми, т.е. оба выполнены с возможностью установки безопасного беспроводного соединения в соответствии с указанным протоколом связи, при этом одно из устройств изначально не выступает в роли главного, тогда как каждое из устройств выполнено с возможностью использования беспроводной связи и может иметь соответствующий интерфейс пользователя. Устройством D может быть стационарное устройство, такое как ПК или точка доступа, или беспроводная стыковочная станция, или беспроводной USB-концентратор, или беспроводной видео- или AV-монитор, однако устройством D также может быть портативное устройство, такое как ноутбук, или мобильное устройство, такое как смартфон. Еще одни устройства, которые участвуют в указанной беспроводной связи, описанной в настоящем документе, могут быть подобны устройству D и иметь подобные блоки, такие как процессор и приемопередатчик для беспроводной связи в соответствии с протоколом связи.
[0010] Устройство D имеет приемопередатчик для беспроводной связи в соответствии с протоколом связи и процессор, выполненный с возможностью исполнения последовательности соединения для обнаружения по меньшей мере одного другого устройства в пределах дальности действия беспроводной связи. Каждое устройство выполнено с возможностью связи в соответствии с протоколом беспроводной связи и с возможностью участия в протоколе обнаружения для установки соединения и обмена данными. Процессор в устройстве выполнен с возможностью исполнения операций в соответствии с протоколом обнаружения для соединения с обнаруженным устройством для обмена данными. Последовательность соединения может быть выполнена с возможностью исполнения любого действия, относящегося к управлению соединениями.
[0011] Протокол связи может требовать, чтобы соединенные устройства работали в соответствующем кластере, имеющем ведущее устройство кластера, применяющего главный ранг и время синхронизации, при этом кластер имеет соответствующие идентификационные признаки кластера и обеспечивает соответствующее окно обнаружения в соответствующее время окна обнаружения. Пример такого протокола связи и протокола обнаружения описан в ссылке [1] для спецификации NAN.
[0012] Указанные выше признаки обеспечивают результат, заключающийся в том, что последовательность соединения определяет идентификационные признаки текущего кластера и время текущего окна обнаружения, используемые самим устройством. При обнаружении по меньшей мере одного другого устройства в пределах дальности действия беспроводной связи для каждого обнаруженного устройства определяются идентификационные признаки обнаруженного кластера и время обнаруженного окна обнаружения у обнаруженного другого устройства. Далее выполняется обнаружение того, функционирует ли обнаруженное другое устройство в другом кластере, нежели устройство D, путем сравнения идентификационных признаков текущего кластера с идентификационными признаками обнаруженного кластера или сравнения времени текущего окна обнаружения с временем обнаруженного окна обнаружения. После обнаружения указанного другого кластера последовательность соединения прерывается, и выполняется процесс обеспечения безопасности. Процесс обеспечения безопасности может включать исполнение дополнительных этапов для того, чтобы удостовериться в том, что соединение с обнаруженным устройством является целевым, и, если это так, для дальнейшего исполнения последовательности соединения, или в противном случае он может прервать последовательность соединения.
[0013] Помимо прочего, настоящее изобретение основано на следующем замысле. С учетом способа функционирования механизмов обнаружения, таких как Wi-Fi Aware, существует возможность того, что вредоносное устройство (далее называемое устройством M) может стать главным устройством в кластере NAN и принуждать окна обнаружения у одного или более устройств, находящихся поблизости, стать синхронизированными таким неперекрывающимся образом, что они могут больше не иметь возможности обнаружения друг друга при нормальной работе, например, путем отправки/приема маячков синхронизации NAN в течение окна обнаружения. Если это так, то устройство M может представить само себя для установки соединения вместо целевого устройства E. Кроме того, вредоносное устройство может быть способно выполнять манипуляции с измерениями расстояния в механизме ранжирования NAN, например, путем отправки неправильных временных меток FTM. Поэтому даже в случае, если пользователь устройств D и E держит в своих руках оба устройства, а устройство D определяет, что только одно устройство находится в пределах дальности действия беспроводной связи и даже в непосредственной близости к устройству D (например, путем использования механизма ранжирования NAN для определения того, что расстояние между устройством D и устройствами, обнаруженными устройством D, составляет не более 1 метра), нет уверенности в том, что устройство D в действительности соединится с устройством E, а не с вредоносным устройством M, которое взяло на себя управление синхронизацией устройства E. Поэтому при обнаружении другого кластера авторы настоящего изобретения обнаружили, что это является указанием на возможное присутствие вредоносного устройства. Поэтому после такого обнаружения улучшенное устройство D исполняет указанный процесс обеспечения безопасности.
[0014] В варианте реализации процессор выполнен с возможностью обнаружения того, работает ли обнаруженное устройство в другом кластере, путем обнаружения изменений во времени обнаружения или ранге ведущего устройства кластера, и выполнения процесса обеспечения безопасности, если количество изменений в течение заданного периода превышает заданное пороговое значение. Предпочтительно, будет выполняться обнаружение вредоносного устройства, выполняющего манипуляции с временем обнаружения и/или рангом ведущего устройства кластера.
[0015] В варианте реализации процессор выполнен с возможностью исполнения процесса обеспечения безопасности, включающего обнаружение еще одного устройства в пределах дальности действия беспроводной связи, установление того, имеют ли обнаруженное другое устройство и еще одно устройство одну или более перекрывающихся характеристик, и дальнейшее исполнение последовательности соединения после установления того, что указанные устройства не имеют указанных характеристик. Поэтому перекрытие может быть обнаружено в комбинации с другими исполняемыми этапами в процессе обеспечения безопасности.Предпочтительно, путем комбинации информации о перекрытии, например, обнаруженных отличий во времени окна обнаружения, может быть обнаружено вредоносное устройство, которое предпринимает попытку выдать себя за другое устройство. Кроме того, при отсутствии перекрывающихся характеристики предотвращается ложный сигнал тревоги.
[0016] Способ в соответствии с настоящим изобретением может быть реализован на компьютере в виде реализуемого на компьютере способа или в специализированном аппаратном обеспечении, или в их комбинации. Исполняемый код для способа в соответствии с настоящим изобретением может храниться на компьютерном программном продукте. Примеры компьютерных программных продуктов включают в себя запоминающие устройства, такие как карта памяти, оптические запоминающие устройства, такие как оптический диск, интегральные схемы, сервера, программное обеспечение, работающее в режиме онлайн, и т.д. Компьютерный программный продукт может содержать энергонезависимые средства программного кода, хранящиеся на компьютерочитаемом носителе информации, для выполнения способа в соответствии с настоящим изобретением при исполнении указанного программного продукта на компьютере. В варианте реализации компьютерная программа содержит средства компьютерного программного кода, выполненные с возможностью реализации всех этапов или стадий способа в соответствии с настоящим изобретением при запуске компьютерной программы на компьютере. Предпочтительно, компьютерная программа реализована на компьютерочитаемом носителе информации. Представлен компьютерный программный продукт, загружаемый из сети и/или хранящийся на компьютерочитаемом носителе информации, и/или исполняемом на микропроцессоре носителе информации, при этом продукт содержит инструкции программного кода для реализации описанного выше способа при его исполнении на компьютере.
[0017] В другом аспекте настоящего изобретения представлен способ обеспечения доступности загрузки компьютерной программы. Данный аспект используется, когда компьютерная программа загружается, например, в магазин App Store от Apple, Play Store от Google, или Windows Store от Microsoft, и когда компьютерная программа доступна для загрузки из такого магазина.
Дополнительные предпочтительные варианты реализации устройств и способов в соответствии с настоящим изобретением представлены в прилагаемой формуле изобретения, раскрытие которой включено в настоящий документ ссылкой.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0018] Эти и другие аспекты настоящего изобретения будут очевидны и разъяснены со ссылкой на варианты реализации, описанные в качестве примера в представленном далее описании и со ссылкой на сопроводительные чертежи, на которых:
на фиг. 1 изображены устройства для беспроводной связи и установки соединения в соответствии с протоколом связи, содержащим протокол обнаружения,
на фиг. 2 изображен пример системы, содержащей различные типы устройств для беспроводной связи в пределах дальности действия беспроводной связи,
на фиг. 3 изображен способ беспроводной связи между устройством и другими устройствами в соответствии с протоколом связи, содержащим протокол обнаружения,
на фиг. 4a изображен компьютерочитаемый носитель информации, и
на фиг. 4b изображено схематическое представление системы процессора.
[0019] Фигуры представлены лишь в качестве иллюстрации и не выполнены в масштабе. Элементы на фигурах, которые соответствуют уже описанным элементам, могут иметь одинаковые ссылочные обозначения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
0
n
i
j
[0020] Основными элементами в улучшенной системе беспроводной связи в соответствии с протоколом связи, содержащим протокол обнаружения, являются следующие. Протокол связи может представлять собой, например, вариант реализации технологии Wi-Fi, описанной в ссылке NAN [1], или подобный протокол беспроводной связи. Протокол может требовать, чтобы соединенные устройства работали в соответствующем кластере, имеющем ведущее устройство кластера, применяющего главный ранг и время синхронизации, при этом кластер имеет соответствующие идентификационные признаки кластера и обеспечивает соответствующее окно обнаружения в соответствующее время окна обнаружения. Устройство D Wi-Fi Aware выполнено с возможностью обнаружения одного или более устройств X… X. Такое другое устройство X представляет собой любое устройство в пределах дальности действия беспроводной связи, с которым не было сопряжено устройство D. Устройство D выполняет последовательность соединения, которая включает следующие действия. Сначала выполняется обнаружение по меньшей мере одного другого устройства (X) в пределах дальности действия беспроводной связи. Далее выполняется определение идентификационных признаков текущего кластера и времени текущего окна обнаружения, используемых самим устройством D. Кроме того, для каждого из обнаруженных других устройств устройство D выполняет следующие действия. Сначала оно определяет идентификационные признаки обнаруженного кластера и время обнаруженного окна обнаружения у обнаруженного другого устройства. Далее устройство D обнаруживает то, функционирует ли обнаруженное другое устройство в другом кластере, нежели устройство, путем сравнения идентификационных признаков текущего кластера с идентификационными признаками обнаруженного кластера или сравнения времени текущего окна обнаружения с временем обнаруженного окна обнаружения. Наконец, после обнаружения указанного другого кластера выполняется процесс обеспечения безопасности.
j
i
[0021] В процессе обеспечения безопасности устройство D может отображать пользователю предупреждающее сообщение и/или прерывает процедуру установки соединения, если какое-либо другое обнаруженное устройство X (0 ≤ j ≤ n), находящееся в пределах дальности действия беспроводной связи устройства D, работает в другом кластере или использует другое время окна обнаружения (Discovery Window, DW), нежели устройство D и/или устройство X.
[0022] Указанное выше улучшенное устройство D, например, может обнаруживать следующую ситуацию. Устройство M, которому предстоит сделать выбор, работает в синхронизации с устройством D и еще одним устройством E, и выполняет манипуляции с обнаружением устройства E. С устройством E могут выполняться манипуляции для функционирования в кластере, управляемом устройством M. Например, для поддержания устройства E в синхронизации, устройство M может перемещать его в направлении и далее поддерживать его в неглавном несинхронизированном состоянии, в котором оно прекращает отправлять свои собственные навигационные кадры синхронизации NAN. Устройство M может продолжать отправку навигационных кадров синхронизации NAN на устройство E. Устройство D может перехватывать такие кадры для обнаружения указанного другого кластера.
j
i
k
[0023] В примере варианта реализации устройство D может определять, что устройство device X имеет одну или более похожих характеристик с устройством X перед отображением предупреждающего сообщения пользователю и/или прерывания процедуры установки соединения. Процесс обеспечения безопасности не отображает предупреждающее сообщение и не прерывает процедуру установки соединения, если ни одно из обнаруженных устройств X (0 ≤ k ≤ n, k≠i) не имеет одну или более перекрывающихся характеристик.
[0024] В протоколе обнаружения, последовательности соединения и/или протоколу безопасности может быть определено расстояние между устройством D и другими устройствами с использованием протокола ранжирования, который сам по себе известен. Например, система для измерения расстояния была недавно разработана в версии протокола беспроводной связи, определенной в IEEE 802.11-2016. Новая версия содержит протокол ранжирования для определения расстояния между двумя устройствами, а также обеспечивает возможность точного измерения расстояния и определения местоположения устройств с разрешением вплоть до 1 метра или даже меньше. Протокол ранжирования, называемый процедурой точного измерения времени (Fine Timing Measurement, FTM), определен в IEEE 802.11-2016, Раздел 10.24.6 [ссылка 2] и точно измеряет время приема-передачи (Round-Trip Time, RTT) сигнала с использованием сообщений измерения, а также получает расстояние на основе измеренного времени передачи сообщений. В таком беспроводном протоколе ранжирования происходит обмен сообщениями и определение интервалов между отправкой и/или приемом таких сообщений для определения времени приема-передачи. Расстояние определяется на основе времени передачи сообщений между первым устройством и вторым устройством. Еще один пример, в котором также учитываются действия вредоносных устройств, описан в WO2017089247 под названием «Система для верификации измерений расстояния».
[0025] Установка, модификация или прекращение беспроводных соединений могут происходить в различных контекстах применения, например, между мобильными телефонами или во время соединения мобильного устройства с хостом. В предложенной системе достигается управление установкой беспроводного соединения между двумя устройствами таким образом, чтобы пользователь был уверен в том, что соединение установлено между правильными устройствами. Несмотря на то, что еще одни примеры, как правило, относятся к системе NAN, определенной в [1], система также может быть применима к другим беспроводным устройствам с функцией беспроводного соединения, таким как устройства Miracast.
[0026] На фиг. 1 изображены устройства для беспроводной связи и установки соединения в соответствии с протоколом связи, содержащим протокол обнаружения. Система 100 для беспроводной связи содержит устройство 110, называемое устройством D, и еще одни устройства 120, 120, которые физически находятся на расстоянии 140. Еще одни устройства 120’ обозначены схематически и подобны устройству D, а также представляют собой составляющие одноранговые устройства относительно беспроводной связи, как было указано выше. Устройство D содержит приемопередатчик 111 и процессор 112. Подобным образом, каждое другое устройство содержит приемопередатчик 121 и процессор 122. Каждое устройство выполнено с возможностью беспроводной связи, что схематически обозначено очертанием 130 и стрелками, которые соединяют приемопередатчики 111, 121. Устройства выполнены с возможностью беспроводной связи в соответствии с протоколом связи.
[0027] На фиг. 1 устройство D также может содержать интерфейс 113 пользователя, имеющий элемент 115 ввода пользователя. Например, элемент ввода пользователя может содержать сенсорный экран, различные кнопки, манипулятор-мышь или сенсорную панель и т.д. Кнопки могут представлять собой обычные физические кнопки, тактильные датчики или виртуальные кнопки, например, на сенсорном экране, или значки, активируемые с помощью манипулятора-мыши. Интерфейс пользователя также может представлять собой удаленный интерфейс пользователя. Процессор 112 выполнен с возможностью исполнения последовательности соединения в соответствии с протоколом беспроводной связи для обнаружения по меньшей мере одного другого устройства в пределах дальности действия беспроводной связи в соответствии с протоколом обнаружения и с возможностью соединения с обнаруженным устройством для обмена данными.
[0028] Протокол связи требует, чтобы соединенные устройства работали в соответствующем кластере, имеющем ведущее устройство кластера, применяющего главный ранг и время синхронизации, при этом кластер имеет соответствующие идентификационные признаки кластера и обеспечивает соответствующее окно обнаружения в соответствующее время окна обнаружения. Пример такого протокола связи описан в ссылке [1].
j
[0029] Последовательность соединения включает в себя последовательность действий. Сначала выполняется обнаружение по меньшей мере одного другого устройства (X) в пределах дальности действия беспроводной связи путем связи с соответствующими устройствами в пределах дальности действия беспроводной связи. Далее выполняется определение идентификационных признаков текущего кластера и времени текущего окна обнаружения, используемых самим устройством D. Кроме того, для каждого из обнаруженных других устройств устройство D выполняет следующие действия. Сначала оно определяет идентификационные признаки обнаруженного кластера и время обнаруженного окна обнаружения у обнаруженного другого устройства. Далее устройство D обнаруживает то, функционирует ли обнаруженное другое устройство в другом кластере, нежели устройство, путем сравнения идентификационных признаков текущего кластера с идентификационными признаками обнаруженного кластера или сравнения времени текущего окна обнаружения с временем обнаруженного окна обнаружения. Наконец, после обнаружения указанного другого кластера выполняется процесс обеспечения безопасности.
j
i
[0030] В процессе обеспечения безопасности устройство D может отображать пользователю предупреждающее сообщение, если какое-либо другое обнаруженное устройство X (0 ≤ j ≤ n), находящееся в пределах дальности действия беспроводной связи устройства D, работает в другом кластере или использует другое время окна обнаружения (DW), нежели устройство D и/или устройство X. В качестве альтернативы, после обнаружения указанного другого кластера, устройство D может немедленно прервать процедуру установки соединения.
[0031] В варианте реализации процессор в устройстве D выполнен с возможностью исполнения процесса обеспечения безопасности, включающего запрос ввода пользователя, представляющего подтверждение продолжения соединения, и, после приема указанного подтверждения, дальнейшее исполнение последовательности соединения. Однако, если пользователь не подтверждает целевое соединение после указанного отображения предупреждающего сообщения и/или запроса подтверждения, устройство D может прервать процедуру установки соединения или может исполнить дополнительные этапы обеспечения безопасности, например, запросить кодовую фразу.
[0032] В варианте реализации процессор в устройстве D выполнен с возможностью обнаружения того, работает ли обнаруженное устройство в другом кластере следующим образом. Процессор может сначала обнаружить изменения во времени обнаружения и/или изменения в ранге ведущего устройства кластера. Такое обнаружение может выполняться в течение заданного периода или количество изменений может быть нормализовано для заданного периода, например, путем вычисления среднего значения. Далее выполняется процесс обеспечения безопасности, если количество изменений в указанном заданном периоде превышает заданное пороговое значение.
i
i
[0033] В варианте реализации процессор в устройстве D выполнен с возможностью исполнения процесса обеспечения безопасности, включающего обнаружение еще одного устройства (X) в пределах дальности действия беспроводной связи. Поэтому, в дополнение к обнаруженному другому устройству, обнаруживается по меньшей мере еще одно устройство, которое теперь называется X. Далее процессор устанавливает, имеют ли обнаруженное другое устройство и еще одно устройство одну или более перекрывающихся характеристик. После установления того, что указанные устройства не имеют указанных характеристик, последовательность соединения возобновляется и далее приводится в исполнение.
[0034] В варианте реализации процессор в устройстве D выполнен с возможностью исполнения процесса обеспечения безопасности, включающего следующие этапы. Сначала происходит отправка сообщения обнаружения в течение обнаруженного окна обнаружения с использованием времени синхронизации обнаруженного другого устройства. Затем процессор ожидает приема одного или более ответов обнаружения от одного или более дополнительных устройств, отвечающих на сообщение обнаружения. Далее устанавливается, имеют ли обнаруженное другое устройство и дополнительные устройства одну или более перекрывающихся характеристик. После установления того, что указанные устройства не имеют указанных характеристик, последовательность соединения возобновляется и далее приводится в исполнение.
[0035] В варианте реализации процессор в устройстве D выполнен с возможностью исполнения процесса обеспечения безопасности, включающего следующие этапы. Сначала происходит отправка сообщения синхронизации кластера в течение обнаруженного окна обнаружения с использованием главного ранга, который равен или выше чем обнаруженный главный ранг обнаруженного устройства. Кроме того, может быть применено время синхронизации, которое выше чем обнаруженное время синхронизации обнаруженного другого устройства. Затем процессор ожидает приема одного или более ответов обнаружения от одного или более дополнительных устройств, отвечающих на сообщение синхронизации кластера. Далее устанавливается, имеют ли обнаруженное другое устройство и дополнительные устройства одну или более перекрывающихся характеристик. После установления того, что указанные устройства не имеют указанных характеристик, последовательность соединения возобновляется и далее приводится в исполнение.
[0036] Однако в любом из представленных выше вариантов реализации, если имеются перекрывающиеся характеристики, то процесс обеспечения безопасности исполняется дальше, например, путем отображения указанного предупреждения, запроса подтверждения через ввод пользователя или прерывания последовательности соединения, как было описано выше. Кроме того, процесс обеспечения безопасности может продолжаться путем отображения еще одного предупреждения, например, с указанием перекрывающихся характеристик, и/или отображения пользователю дополнительных устройств, или прерывания текущей последовательности соединения, или даже разрыва существующего соединения для передачи данных с устройством, соединение с которым было установлено ранее. Кроме того, если обнаружено более чем одно дополнительное устройство, то указанные действия могут выполняться для всех обнаруженных устройств.
[0037] В варианте реализации процессор в устройстве D выполнен с возможностью исполнения процесса обеспечения безопасности, включающего, после обнаружения указанного другого кластера, прерывание последовательности соединения до тех пор, пока не будет установлено соответствие процесса обеспечения безопасности по меньшей мере одному дополнительному критерию безопасности. Дополнительный критерий безопасности может быть традиционным критерием, таким как запрос пароля, отпечатка пальца или распознавание лица. Теперь запрашивается дополнительный критерий, поскольку указанное обнаружение другого кластера накладывает дополнительный риск нарушения безопасности.
[0038] В варианте реализации процессор в устройстве D выполнен с возможностью исполнения процесса обеспечения безопасности, включающего выполнение измерения расстояния посредством обнаруженного другого устройства или дополнительных устройств, указанных ранее. Устройства, изображенные на фиг. 1, также могут быть выполнены с возможностью выполнения измерения расстояния в соответствии с протоколом ранжирования для определения расстояния между двумя устройствами, например, как указано выше со ссылкой на [2], однако также могут быть использованы другие протоколы беспроводной связи, такие как Bluetooth, при обеспечении соответствующим протоколом ранжирования на основе измерения времени приема-передачи, мощности принятого сигнала и т.д. На основании указанного/указанных измеренного/измеренных расстояния или расстояний может быть применен критерий расстояния, при этом могут быть соединены только устройства, находящиеся в пределах заданного расстояния.
[0039] На фиг. 2 изображен пример системы, содержащей различные типы устройств для беспроводной связи в пределах дальности действия беспроводной связи. В указанном примере хост-устройство W 210, например персональный компьютер (ПК), соединено с различными периферийными устройствами {P1,..,Pn}. Примеры периферийных устройств включают в себя дисплей, клавиатуру, манипулятор-мышь, веб-камеру, запоминающее устройство, микрофон, аудиодинамики. Интерфейс 213 пользователя в хост-устройстве может содержать клавиатуру, дисплей, манипулятор-мышь, чувствительную панель, сенсорную панель, датчик отпечатка пальца или любой другой датчик или исполнительное устройство. Устройство W может обладать функцией беспроводного стыковочного сервера, выполненного с возможностью обеспечения того, чтобы периферическими устройствами ввода/вывода управляло портативное устройство по беспроводному соединению, установленному между устройством W и портативным устройством, например, с использованием любого одного из указанных выше протоколов беспроводной связи.
[0040] На указанной фигуре также показано множество устройств {D1, …., Dn}, в том числе мобильный телефон 220, первый ноутбук 220’ и второй ноутбук 220’’. Кроме того, на фигуре схематически изображена дальность 250 действия беспроводной связи с помощью стрелки и пунктирной граничной линии 251. Второй ноутбук 220’’ находится за пределами дальности 250 действия беспроводной связи. Кроме того, устройство-хост W выполнено с возможностью обнаружения ряда устройств {D1, …, Dn} в пределах дальности действия беспроводной связи, которые выполнены с возможностью установки соединения в соответствии с протоколом связи, содержащим протокол обнаружения. Соединение может быть установлено путем представления функции беспроводной стыковки с использованием механизма обнаружения службы предассоциации, с использованием, например, механизма платформы прикладной службы выполнения сопоставления хэша наименования службы посредством устройства для поиска службы с сигнальным устройством, которое хранит службу с этим наименованием, с использованием, например, кадров 802.11 пробного запроса/ответа, навигационных кадров 802.11, кадров запроса/ответа GAS 802.11, Bluetooth, NFC, кадров службы обнаружения Wi-Fi Aware. Кроме того, обнаружение службы может быть выполнено путем использования механизма обнаружения службы постассоциации, например, с использованием UPnP или mDNS. Механизм обнаружения службы предассоциации, как правило, обеспечивает представление дополнительной информации о службе.
[0041] В варианте реализации процесса обеспечения безопасности устройство W может быть выполнено с возможностью реализации измерения расстояния до устройств {D1, …, Dn}. Измерение расстояния может быть выполнено, например, путем использования механизма измерения расстояния с точным измерением времени (FTM) 802.11, например, определенного в пределах местоположения Wi-Fi или ранга Wi-Fi Aware, или путем выполнения процедуры FTM непосредственно между устройством W и устройствами D1… Dn, или путем направления устройством W запроса другому устройству (например, находящейся поблизости точке доступа WLAN, с которой соединено устройство W) на выдачу данных о расстоянии/местоположении устройств D1…Dn. Кроме того, расстояние может быть определено, например, путем использования маячков iBeacon или путем извлечения GPS-данных, связанных с D1, … Dn, которые могут быть представлены этими устройствами устройству W, или любого другого механизма, который может обеспечить точное расположение в пределах помещения (предпочтительно, с минимальной точностью, составляющей приблизительно 1 метр, или лучше). Основываясь на этих изменениях расстояния, устройство W определяет то, какой поднабор S из набора устройств {D1, …, Dn} имеет расстояние в пределах заданной дальности R.
[0042] Кроме того, в варианте реализации процесса обеспечения безопасности процессор в устройстве D может быть выполнен с возможностью запроса дополнительного этапа обеспечения безопасности или этапа аутентификации, например, традиционного критерия, такого как запрос пароля, отпечатка пальца или распознавания лица. В качестве дополнительного этапа обеспечения безопасности, пользователю устройства D и/или устройства E может быть необходимо ввести кодовую фразу, отображенную пользователю другого устройства, для установки безопасного соединения. Кроме того, этап обеспечения безопасности может быть выполнен с использованием предварительного ключа, доставленного ранее. Кроме того, процесс обеспечения безопасности может включать аутентификацию нового обнаруженного устройства в соответствии с протоколом связи, что само по себе известно, например, из WO2017089247. Устройство D может определять то, какие устройства являются частью перечня аутентифицированных устройств. Кроме того, после успешной аутентификации устройств, перечень аутентифицированных устройств может быть обновлен. После определения того, что новое обнаруженное устройство является частью перечня аутентифицированных устройств, ранее установленные параметры доступа для установки соединения могут быть использованы повторно.
[0043] Кроме того, в варианте реализации процессор в устройстве D может быть выполнен с возможностью выдачи сигналов в приложение или службу более высокого уровня для обеспечения безопасности. Далее происходит исполнение самой последовательности соединения без дополнительной безопасности.
[0044] В варианте реализации процессор в устройстве D выполнен с возможностью исполнения процесса обеспечения безопасности, включающего поддержание защищенного соединения в наборе устройств. Такой набор содержит устройства, для которых предстоит установить доверие, поскольку на более ранних этапах обеспечения безопасности такое доверие было построено. После обнаружения того, что обнаруженное другое устройство находится в наборе доверенных устройств, последовательность соединения возобновляется и исполняется дальше. При необходимости, в таком варианте реализации процессор может быть выполнен с возможностью исполнения процесса обеспечения безопасности, включающего установление того, имеет ли обнаруженное другое устройство одну или более перекрывающихся характеристик с любыми другими устройствами в пределах дальности действия беспроводной связи, и добавление обнаруженного другого устройства в набор доверенных устройств после установления того, что обнаруженное устройство не имеет указанных перекрывающихся характеристик. Поэтому набор доверенных устройств формируется в ходе рабочего использования устройства D. При необходимости, в таком варианте реализации процессор может быть выполнен с возможностью исполнения процесса обеспечения безопасности, включающего установление количества перекрывающихся характеристик у обнаруженного другого устройства с любыми другими устройствами в пределах дальности действия беспроводной связи, и добавление обнаруженного другого устройства в набор доверенных устройств после установления того, что количество перекрывающихся характеристик не превышает заданное пороговое значение. Например, может быть обеспечено несколько перекрывающихся характеристик, или некоторые специфические перекрывающиеся характеристики могут быть менее важны, так что ими можно пренебречь в доверенных устройствах.
[0045] На практике, устройство D и его работу может описать на следующем примере. Устройство D может иметь радиоустройство с Wi-Fi, работающее в соответствии с протоколом Wi-Fi Aware. Если второе устройство X также поддерживает протокол Wi-Fi Aware и только что было включено или входит в пределы дальности действия устройства D, то устройство X может предложить службу по Wi-Fi Aware (например, через так называемую функцию публикатора NAN), которую желает использовать устройство D (т.е. путем управления так называемой функцией публикатора NAN). Затем устройству D может понадобиться установка так называемого соединения пути передачи данных NAN с устройством X после обнаружения. Для того чтобы это сделать, устройству D сначала необходимо обнаружить устройство X и его службы. Для того чтобы два устройства обнаружили друг друга, им необходимо подогнать свои окна обнаружения, например, как указано в Разделе 3 спецификации Wi-Fi Aware, и отправить, а также, соответственно, принять кадры обнаружения службы. Для экономии энергии, эти кадры обнаружения службы, как правило, отправляются в течение окон обнаружения, например, как указано в Разделах 3.5 и 4.2 спецификации Wi-Fi Aware.
[0046] Если подробно, то обнаружение службы и установка соединения выполняется следующим образом. Если устройство D желает использовать службу/приложение Wi-Fi Aware (например, отправить файл другому устройству) на другом устройстве, оно должно подписаться на одну или более служб Wi-Fi Aware, в которой/которых оно заинтересовано (как указано в Разделе 4 спецификации Wi-Fi Aware). Для обнаружения того, какие другие устройства в пределах дальности действия поддерживают эти службы, устройство D отправляет кадры обнаружения службы NAN с информацией о подписке («SUBSCRIBE») на другие устройства Wi-Fi Aware в пределах кластера NAN в течение окна обнаружения или еще одного интервала обнаружения службы NAN, или принимает кадры обнаружения службы NAN с информацией о публикации («PUBLISH»). PUBLISH-информация содержит такую информацию, как наименование службы, экземпляр службы, MAC-адрес однорангового устройства и специфическую для службы информацию. Вероятно, специфическая для службы информация содержит некоторую информацию, понятную для пользователя для управления службой. В случае отправки файла, эта информация может содержать понятное имя устройства или имя пользователя, известное в пределах службы, который хочет отправить файл или другую информацию для идентификации того, какое одноранговое устройство следует выбрать, если обнаружено множество экземпляров похожих служб.
[0047] В типичном варианте реализации устройство D может содержать встроенный дисплей или может быть соединено с дисплейным устройством для отображения перечня обнаруженных экземпляров службы Wi-Fi Aware, предлагаемых устройствами Wi-Fi Aware в пределах дальности действия, и имеет средство ввода для обеспечения пользователю возможности выбора желаемого экземпляра службы Wi-Fi Aware для установки с ней соединения. После выбора желаемого экземпляра службы, устройство D отправит кадр запроса пути передачи данных NAN на устройство, предлагая желаемый экземпляр службы.
[0048] В варианте реализации дисплей отображает запрос для пользователя на ввод кодовой фразы для установки безопасного соединения. В другом варианте реализации дисплей отображает кодовую фразу для пользователя другого устройства, которая должна быть введена для установки безопасного соединения. Еще в одном другом варианте реализации ввод какой-либо кодовой фразы не предусмотрен, однако безопасная ассоциация выполняется с использованием предварительного ключа, доставленного по некоторому другому каналу, или с использованием другого механизма обеспечения безопасности. Кроме того, Wi-Fi Aware обеспечивает возможность установки соединения без безопасности, при этом оставляя дальнейшие меры по обеспечению безопасности на службу/приложение более высокого уровня.
[0049] Следует отметить, что вместо соединения пути передачи данных NAN, устройство D может установить инфраструктуру Wi-Fi, Wi-Fi P2P (которая также известна, как Wi-Fi Direct), TDLS, Mesh, IBSS-соединение, Bluetooth-соединение или другой тип соединения для передачи данных в зависимости от поддерживаемых способов соединения, указанных атрибутом функционала соединения NAN, который определен в Разделе 9.5.5 спецификации Wi-Fi Aware.
[0050] В альтернативном варианте реализации устройство D может принимать запрос пути передачи данных NAN от другого устройства и отображать информацию о входящем запросе, например, специфическую для службы информацию, указанную в атрибутах специфической информации NDP или контейнера элементов. Поэтому пользователь проинформирован и может предоставить ввод для отклонения или принятия этого входящего запроса. Если входящий запрос принят, то пользователю может быть необходимо ввести кодовую фразу.
[0051] Как было указано ранее, обнаружение службы, как правило, выполняется в течение окна обнаружения, в котором работают устройства в пределах кластера NAN. Для подгонки времени окон обнаружения, каждое устройство Wi-Fi Aware имеет главный ранг NAN, а также отправляет и перехватывает кадры синхронизации NAN. Устройства Wi-Fi Aware автоматически формирует кластеры, и ведущее устройство кластера (также называемое привязочным ведущим устройством (anchor master)) определяет время путем использования функции временной синхронизации (как указано в Разделе 3 спецификации Wi-Fi Aware). Если окна обнаружения не подогнаны, то существует возможность того, что устройства NAN могут не обнаружить друг друга.
[0052] В следующем разделе разъясняется то, каким образом вредоносное устройство M может действовать для выполнения манипуляций с последовательностью соединения, и то, каким образом улучшенное устройство D может противостоять таким манипуляциям. Предположим, что устройство D и устройство X являются легализованными устройствами, которые могут захотеть обнаружить друг друга и установить связь друг с другом с использованием Wi-Fi Aware. Если устройство X было только что включено, то устройство X по умолчанию начнет с главной привилегии NAN 0 в течение по меньшей мере 120 секунд. Если вблизи устройства X присутствуют другие устройства Wi-Fi Aware, то оно обнаружит их и присоединится к существующему кластеру NAN. Если устройство D функционирует в пределах кластера NAN C1 (в качестве ведущего устройства кластера или под управлением синхронизацией другого устройства, функционирующего в качестве ведущего устройства кластера C1), то устройство X присоединится к кластеру NAN, которым управляет устройство D, если только устройство X не обнаружит другой кластер NAN с более высокой ступенью кластера (как указано в Разделе 3.4.1 спецификации Wi-Fi Aware). Подобным образом, если устройство X функционировало в пределах другого кластера NAN C2 (в качестве ведущего устройства кластера или под управлением синхронизацией другого устройства, функционирующего в качестве ведущего устройства кластера C1) перед переходом в близость к устройству D или вредоносному устройству M, то оно проверит, имеет ли кластер C1 или кластер, которым управляет вредоносное устройство, имеет более высокую ступень ведущего устройства кластера чем ведущее устройство кластера C2.
[0053] Поэтому вредоносное устройство M может предпринять попытку управления кластером NAN с более высокой ступенью кластера, чем устройство D и X. В этом случае устройство X присоединится к кластеру устройства M, в момент чего устройство D может (временно) упустить из виду устройство X (например, вследствие другого времени окна обнаружения и/или перемещения в направлении неглавного несинхронизированного состояния, в течение которого устройство X временно прекращает отправку кадров синхронизации NAN). Таким образом, вредоносное устройство может временно взять на себя управление обнаружением устройства X путем умышленной отправки, например, маячков обнаружения или кадров синхронизации NAN с очень высоким главным рангом, как только оно обнаружило, что новое устройство X было включено (например, после того, как устройство X отправило свой первый кадр синхронизации NAN). Как только устройство M стало ведущим устройством кластера для устройства X, это может привести к перемещению устройства X в несинхронизированное состояние неведущего устройства (Non-Master Non-Sync), в котором устройство X прекратит отправку своих собственных кадров маячков синхронизации NAN и в котором оно может «засыпать» на более длительное время, и, следовательно, затруднять обнаружение устройства X устройством D. В случае, когда устройство X NAN использует прокси-обнаружение путем регистрации своих служб для другого устройства, что обеспечивает возможность обнаружения этих служб от имени устройства X, устройство X может «заснуть» даже на более длительное время. Если вредоносное устройство M будет действовать в качестве прокси для устройства X, то оно может прекратить обнаружение службы у прокси-серверов устройства X, и, следовательно, они могут быть не обнаружены устройством D.
[0054] Устройство M может предотвратить то, что обычное устройство D увидит сообщения от устройства M, в которых устройство M запрашивает очень высокий главный ранг. Это привело бы к тому, что устройство D присоединилось бы к кластеру устройства M (как указано в Разделе 3.4.2 спецификации Wi-Fi Aware), что может быть нежелательно для устройства M по меньшей мере временно до тех пор, пока устройство M не возьмет на себя управление синхронизацией устройства X. Возможными путями достижения этого устройством M являются следующие:
- Умышленное создание помех в течение окна обнаружения устройства D или при отправке устройством M маячка обнаружения;
- Использование (критическое) формирования пучка, когда устройство M находится в связи с устройством X;
- Устройство M берет на себя управление временем устройства D путем взятия на себя роли привязочного ведущего устройства и позволяя устройству M присоединиться к его кластеру NAN, и умышленную отправку другой информации о времени устройству D и X (например, с использованием двух различных радиоустройств);
- Устройство M может отправить кадр синхронизации NAN или кадр обнаружения с использованием MAC-адреса устройства D или устройства X в качестве адреса назначения такого кадра вместо широковещательного адреса. Невозможно предсказать, что может выполнить устройство X или устройство D (например, игнорировать эти сообщения, если широковещательный адрес не используется, или принять/отклонить их исходя из сопоставления MAC-адреса назначения у принятого кадра со своим собственным MAC-адресом). Вероятно, это может привести к возможным эксплойтам на некоторых устройствах с учетом того, каким образом обычно работает программный стек Wi-Fi.
[0055] С учетом того, что функцию времени синхронизации активирует привязочное ведущее устройство кластера NAN, это также влияет на дополнительные окна доступности (Further Availability Windows, FAW), используемые для передачи данных на канале передачи данных NAN/пути передачи данных NAN. Как только у устройства M появляется управление синхронизацией, это упрощает выполнение атак с необходимостью выбора. Например, это может упростить выполнение атак повторением, т.е. действие/реагирование от имени устройства X в течение связи безопасности (например, 4-стороннее «рукопожатие»), при установке соединения пути передачи данных NAN. Если устройство D и X отправляет/перехватывает в течение полностью отличающихся интервалов, и предполагая, что устройства «спят» и не выполняют активное прослушивание в течение других интервалов, то они могут не видеть сообщения друг друга, и, следовательно, счетчик повторений может не функционировать должны образом. Например, если устройство M выдает себя за устройство X, например, с использованием такого же имени устройства, публикации таких же служб, то устройство D (его пользователь) может не знать о том, что им была выбрана связь с неправильным устройством (поскольку оно может быть отображено первым или только один раз в перечне новых устройств на интерфейсе пользователя устройства D). Если устройство D действительно неправильно выбирает начало связи безопасности с устройством M, то устройство M может действовать от имени устройства X путем «повторения» сообщений, принятых от устройства D и X в течение других временных интервалов. И, следовательно, даже устройство X может не подозревать, что что-то идет не так. Устройство M может умышленно разорвать соединение с одним устройством, принудительно выполнять некоторые повторения, принудительно выполнять повторное направление данных и т.д. Оно также может использовать возможную путаницу и, например, путем выдачи себя за устройство D в направлении устройства X, запросить незащищенный канал передачи данных между устройством X и устройством M, и, например, отправить вредоносные данные (например, вирус) на устройство X, при этом пользователь не будет думать ни о чем подозрительном, поскольку он ожидал входящее соединение от устройства D (например, после нескольких неудачных попыток).
0
n.
i
j
i
0
n
i
[0056] В варианте реализации устройство D может быть улучшено для предотвращения обнаружения и соединения с вредоносным устройством M вместо целевого легализованного устройства X следующим образом. Сперва, устройство D выполнено с возможностью поиска устройств в пределах дальности действия беспроводной связи D, и, предположительно, оно нашло и обнаружило набор других устройств X… X Затем, после или во время установки соединения передачи данных с устройством X (0 ≤ i ≤ n) устройство D обнаруживает то, работает ли устройство X (0 ≤ j ≤ n) в другом кластере ID или использует другое время окна обнаружения (DW), нежели устройство D и устройство X. Для того чтобы обеспечить это, устройство D должно выполнять перехват за пределами своего собственного окна обнаружения на канале обнаружения (канале Wi-Fi 6 в полосе 2,4 ГГц и/или каналах Wi-FI 44 или 149 в полосе 5 ГГц) и/или другом канале для кадров синхронизации NAN и маячков обнаружения NAN, предпочтительно, непрерывно в течение временного интервала, начинающегося за несколько секунд до и после инициирования процедуры установки соединения с устройством Xi. После получения таких кадров, устройство D должно проверить значение атрибута кластера ID (например, значение поля A3 кадров маячков синхронизации и обнаружения NAN или значение поля кластера ID в атрибуте обнаружения кластера) и атрибута временной метки (в кадрах маячков синхронизации и обнаружения NAN) и/или время, в которое каждый из этих кадров был получен устройством D, и его сравнения с временем окна обнаружения, в котором устройство D работает само по себе, относительно ведущего устройства кластера, в котором работает устройство D. Оно также должно коррелировать его с кластером ID и временной меткой и/или получить время кадров синхронизации NAN и маячков обнаружения NAN от всех других устройств X….X, отличных от устройства X.
j
i
j
i
k
[0057] Предусмотрен еще один вариант реализации для предотвращения ложноположительных результатов и излишнего обременения пользователя предупреждающими сообщениями или излишнего прекращения процедуры установки соединения в случае, если не все устройства NAN в пределах дальности действия являются частью одного и того же кластера и отсутствует вредоносное устройство. Устройство D выполнено с возможностью определения того, имеет ли устройство X одну или более перекрывающихся характеристик с устройством D или X. Только если X имеет одну или более перекрывающихся характеристик с устройством D или X, устройство D отображает предупреждающее сообщение пользователю и/или прерывает последовательность соединения. Устройство D не отображает предупреждающее сообщение или не прерывает процедуру установки соединения, если ни одно из обнаруженных устройств X (0 ≤ j ≤ n, k≠i) имеет по меньшей мере одну перекрывающуюся характеристику.
[0058] Как правило, перекрывающиеся характеристики могут включать в себя одно или более из следующего:
- поддержка одной и той же службы (т.е. совпадение ID одной и той же службы) в кадрах маячков NAN или кадрах обнаружения службы NAN.
- использование такого же MAC-адреса или адреса интерфейса управления NAN в кадрах маячков NAN или кадрах обнаружения службы NAN.
- использование такого же MAC-адреса в атрибуте инфраструктуры WLAN, атрибуте работы P2P, атрибуте IBSS, атрибуте Mesh.
- публикация одной и той же специфической информации о службе (которая может содержать, например, понятное имя экземпляра устройства или службы) в кадрах обнаружения службы NAN или значительное перекрытие специфической информации о службе (например, использование сопоставления подстрок, сопоставления синонимов, сопоставление приблизительных строк).
- использование одного и того же ID экземпляра службы в кадрах обнаружения службы NAN.
- использование одних и тех же специфических атрибутов поставщика в кадрах обнаружения службы NAN.
[0059] Чем больше характеристик перекроются, тем выше будет уровень достоверности для устройства D о том, что другое устройство пытается выдать себя за целевое устройство. При необходимости, для уменьшения количества ложноположительных результатов, устройство D может использовать пороговое значение, определяющее то, сколько из этих характеристик перекрываются с устройством D или Xi, и только если это пороговое значение превышено, отобразить предупреждающее сообщение пользователю или прервать последовательность установки соединения, а если нет, то переместить соответствующее устройство в набор доверенных/исключенных устройств.
0
n
j
[0060] Кроме того, устройство D может поддерживать набор доверенных устройств Y…Y, в который добавляется X, если оно не имеет перекрывающихся характеристик с любым из других обнаруженных устройств. Подобным образом, может поддерживаться перечень исключенных устройств, например, на основе значительного перекрытия или внешних доверительных данных.
i
i
[0061] Предполагаемый риск заключается в том, что устройство M, которому предстоит сделать выбор, весьма вероятно оповестит о поддержке такой же службы и/или такого же понятного имени устройство, с которым оно выполняет манипуляции для обнаружения (т.е. устройство Xi), в противном случае, устройство D не установило бы соединение передачи данных с ним. Вредоносное устройство M также может выполнять манипуляции с устройством X с использованием направленных и/или модифицированных инструкций от устройства D, поскольку в противном случае оно не будет замечено пользователем устройства D, если устройство X не отреагирует на какое-либо из этих действий, и, следовательно, устройство M должно поддерживать такую же службу.
i
[0062] Для обеспечения возможности обнаружения таких манипуляций, устройство D может осуществлять мониторинг кадров маячков NAN (т.е. кадров синхронизации NAN и кадров маячков обнаружения NAN) для идентификации этих подобных характеристик, получаемых за пределами своего собственного рабочего интервала окна обнаружения. Кроме того, устройство D перехватывает кадры обнаружения службы NAN. Даже если синхронизацией устройства X управляет вредоносное устройство M, оно может случайно отправить кадр обнаружения службы NAN для публикации службы (или по собственному желанию, или в ответ на кадр обнаружения службы NAN, отправленный устройством M), и, следовательно, устройство D может обнаружить этот кадр. Для того чтобы идентифицировать поддержку такой же службы, устройству D необходимо проверить поле ID службы в атрибуте дескриптора службы в кадре обнаружения службы, полученном за пределами окна обнаружения, и сравнить его со значениями ID службы, полученными в течение его интервала окна обнаружения. Подобным образом, ему необходимо сравнить поле ID экземпляра для идентификации перекрывающегося ID экземпляра службы и сравнить поле информации о службе и/или специфический для поставщика атрибут в пределах атрибута дескриптора службы для верификации того, что используется такая же или значительно перекрывающаяся специфическая информация о службе (такая как понятное имя экземпляра устройства или службы) и/или специфическая для поставщика информация.
j
i
i
j
i
j
[0063] Еще в одном варианте реализации устройство D может отображать более выразительные или дополнительные предупреждающие сообщения или всплывающие диалоги (например, «Вы уверены, что хотите установить соединение да/нет») в случае, если больше характеристик X перекрываются с X и/или если устройство X или X работает в качестве ведущего устройства кластера и/или если устройство X или X представляет службы через прокси-обнаружение.
[0064] Еще в одном варианте реализации устройство D может сравнивать обнаруженную информацию с ранее сохраненной информацией об устройствах, обнаруженных в течение более ранних встреч (например, перед взятием управления синхронизацией устройством M на себя) и с которыми оно успешно соединилось (например, ввиду того, что два устройства знают друг друга с более раннего обмена данными, например, телефоном друга). Сравнение может включать поиск возможного перекрытия с одним из MAC-адресов, используемых в кадрах маячка или обнаружения службы NAN, MAC-адреса в пределах атрибута инфраструктуры WLAN, атрибута работы P2P, атрибута IBSS, атрибута Mesh или с использованием, например, такого же понятного имени экземпляра устройства или службы.
i
i
[0065] Кроме того, может быть определено то, что некоторые возможности изменились, такие как поддержка ранжирования NAN или намного более высокий главный ранг NAN. Если это так, то эта информация используется для дальнейшего определения того, следует ли отображать предупреждающее сообщение или прерывать процедуру установки соединения или нет в случае, если X поддерживает намного более высокий главный ранг NAN или не поддерживает ранжирование NAN по сравнению с информацией об устройстве X, сохраненной ранее. Такое изменение может указывать на необходимость выбора, поскольку вредоносное устройство M, вероятно, может использовать очень высокий главный ранг. Устройство M может захотеть предотвратить участие в процедуре ранжирования NAN и, следовательно, предотвратить определение своего физического расстояния, а также предотвратить отображение расстояния пользователю устройства D.
i
[0066] При необходимости, в варианте реализации процессор может быть выполнен с возможностью исполнения процесса обеспечения безопасности, включающего отсоединение текущего соединения передачи данных на основе изменений. Устройство D может претерпевать значительное изменение с ранее сохраненной информацией об устройстве X на основе обменов протокола более высокого уровня (например, выше IP-уровня), например, идентификатора общего устройства более высокого уровня, после установки соединения передачи данных с Xi. Кроме того, в случае, если устройство D получает тип устройства из, например, специфической для службы информации или ранее сохраненной информации, оно может получить доступ к базе данных, например, для извлечение перечня возможностей для этого конкретного типа устройства, а затем его корреляции с возможностями устройства, обнаруженного путем обнаружения службы, и определения отличий, например, проверки того, было ли выключено ранжирование.
j
j
[0067] В примере варианта реализации процесса обеспечения безопасности, активируемого после обнаружения устройства X, работающего в другом кластере, устройство D может использовать информацию о времени синхронизации и главный ранг NAN устройства X для выполнения одной из следующих процедур:
j
j
j
а) Отправка кадра обнаружения службы NAN или кадра запроса ранжирования NAN в течение окна обнаружения X и перехват реагирования дополнительными устройствами на эти кадры. Следовательно, процесс обеспечения безопасности может верифицировать то, имеют ли эти дополнительные устройства одну или более перекрывающихся характеристик с устройством X. Эта процедура может показать, что X выдает себя за одно из этих дополнительных устройств.
j
j
j
b) Отправка кадра синхронизации NAN в течение окна обнаружения X с таким же или более высоким главным рангом NAN, что и у устройства X, и более высоким значением таймера TSF. Эта процедура может принудить устройства, синхронизация которых в настоящий момент находится под управлением X, к выполнению слияния кластера, как указано в Разделе 3.4.2 спецификации Wi-Fi Aware, так что устройство D может обнаружить эти устройства и вывести их под управление устройством D.
[0068] В результате, если дополнительные устройства найдены на основе их ответных сообщений, то устройство D может:
- отобразить дополнительные обнаруженные устройства пользователю или
0
n
- добавить их в набор X…X для дальнейшей оценки в соответствии с другими процедурами безопасности, или
- прервать текущую процедуру установки соединения, или
- разорвать текущее соединение передачи данных, или
- отобразить дополнительные предупреждающие сообщения.
j
i
[0069] Еще в одном варианте реализации, учитывая TSF обнаруженного ведущего устройства кластера NAN, в котором работает X, устройство D может ожидать до тех пор, пока DW0, определенное в Разделе 3.3.2 Wi-FI Aware, не станет DW, в котором нижние 23 бита TSF равняются нулю, для выполнения операций а) или б), указанных выше. При необходимости, устройство D ожидает до конца DW0 перед инициированием этапа установки соединения или безопасного сопряжение с устройством X для обеспечения времени на обработку поступающих результатов в соответствии с описанными ранее процедурами.
i
j
i
[0070] В альтернативном варианте реализации устройство D ожидает до тех пор, пока все устройства в пределах дальности действия не будут синхронизованы с одним и тем же ведущим устройством кластера, который используется устройством D, перед инициированием этапа установки соединения или безопасного сопряжение с устройством X. Еще в одном другом альтернативном варианте реализации устройство D ожидает до тех пор, пока не истечет время прокси-обнаружения, связанного с TSF устройства X, перед инициированием этапа установки соединения или безопасного сопряжение с устройством Xдля того, чтобы убедиться в том, что любое дополнительное устройство, которое «спало» в течение длительного периода времени ввиду регистрации его служб для прокси-обнаружения, «проснулось» и может отправлять кадр синхронизации NAN, кадр обнаружения службы NAN, запрос ранжирования NAN, кадр маячка обнаружения NAN. Если это занимает слишком много времени, то устройство D может отобразить дополнительное предупреждающее сообщение/всплывающий диалог (например, информируя пользователя о том, что время ожидания для того, чтобы убедиться в том, что все устройства «проснулись», еще не истекло).
0
n
i
j
i
j
[0071] В другом альтернативном варианте реализации устройство D осуществляет мониторинг устройства X..X в течение некоторого временного интервала для обнаружения того, что время окна обнаружения устройства X или X и/или ID кластера, связанного с устройством X или X(например, как обнаружено за счет ID кластера NAN в поле A3 кадров синхронизации и маячков обнаружения NAN) меняется несколько раз в течение временного интервала, и выполняет одно из следующих действий, если количество раз превышает некоторое максимальное пороговое значение:
1) отображение предупреждающего сообщения (например, о невозможности выполнения надлежащей синхронизации),
i
j
2) начало нового временного интервала до тех пор, пока количество изменений находится ниже порогового значения, перед инициированием этапа установки соединения или безопасного сопряжения с устройством X или X,
i
j
3) отмена текущей установки безопасного соединения с устройством X или X.
0
n
j
i
i
i
i
i
[0072] Еще в одном варианте реализации, при отправке кадра обнаружения службы NAN в течение окна обнаружения Xj и перехвата дополнительных устройств для реагирования, как описано в процедуре а) выше, устройство D может запросить применение функции ранжирования NAN, использования протокола измерения расстояния на основе точного измерения времени (FTM), как определено в IEEE802.11-2016, после чего устройство D управляется своим компонентом ранжирования NAN для измерения расстояния между D и дополнительными найденными устройствами. Устройство D также делит устройства (т.е. X…X, и дополнительные устройства, найденные в течение окна обнаружения X) на набор S устройств, для которых может быть определено расстояние посредством ранжирования NAN, и набор T устройств, для которых расстояние не может быть определено. Если устройство D также поддерживает одну или более стратегий подавления для обеспечения уверенности в том, что измерению расстояния можно доверять, например, с использованием опорного интервала или обмена параметрами доступа в ходе измерения FTM или с использованием обнаружения движения. Далее, устройство D может обеспечить возможность установки соединения передачи данных с устройством X без отображения предупреждения пользователю или прерывания процедуры установки соединения, если устройство X является частью набора S, и отобразит предупреждение пользователю или прервет процедуру установки соединения, если устройство X является частью набора T. Еще в одном варианте реализации устройство D сначала определяет то, является ли расстояние между устройством D и устройством X меньше чем заданное расстояние A перед тем, как позволить устройству D установить соединение передачи данных с устройством X без отображения предупреждения пользователю или прерывания процедуры установки соединения.
[0073] На фиг. 3 изображен способ беспроводной связи между устройством и другими устройствами в соответствии с протоколом связи, содержащим протокол обнаружения. Способ может выполняться, например, интегральной схемой и программным обеспечением в процессоре в стационарном или мобильном вычислительном устройстве. Протокол связи был описан выше.
[0074] Способ начинается в узле START 401. На первой стадии CON_SEQ 402 инициируется исполнение последовательности соединения для обнаружения по меньшей мере одного другого устройства в пределах дальности действия беспроводной связи в соответствии с протоколом обнаружения и для соединения с обнаруженным устройством для обмена данными. Последовательность соединения включает следующие этапы. На этапе CU_ID-DW 403 выполняется определение идентификационных признаков текущего кластера и времени текущего окна обнаружения, используемых текущим устройством. На этапе DET_OD 404 выполняется обнаружение по меньшей мере одного другого устройства в пределах дальности действия беспроводной связи. Следует отметить, что этот этап и последующие этапы повторяются для каждого обнаруживаемого устройства, что обозначено стрелкой 420. После обнаружения другого устройства, на этапе OD_ID-DW 405 выполняется определение идентификационных признаков обнаруженного кластера и времени обнаруженного окна обнаружения у обнаруженного другого устройства. Далее, на этапе CMP_CLU 406 выполняется обнаружение того, функционирует ли обнаруженное устройство в другом кластере, нежели устройство, путем сравнения идентификационных признаков текущего кластера с идентификационными признаками обнаруженного кластера или сравнения времени текущего окна обнаружения с временем обнаруженного окна обнаружения. Затем, после обнаружения указанного другого кластера на этапе SEC_PRO выполняется процесс обеспечения безопасности. Кроме того, если другой кластер не обнаружен, то последовательность соединения возобновляется на этапе CONN 407 для соединения с обнаруженным другим устройством для обмена данными, и последовательность соединения, как правило, завершается в узле END 408.
[0075] В процессе обеспечения безопасности может, например, отображаться предупреждение, запрашиваться подтверждение от пользователя или могут выполняться дополнительные этапы обеспечения безопасности, как было упомянуто выше. Если в процессе обеспечения безопасности подтверждается, что другому устройству можно доверять для соединения, то последовательность соединения возобновляется на этапе CONN 407. Однако, если в процессе обеспечения безопасности определено, что обнаруженному устройству нельзя доверять, то последовательность соединения прерывается на этапе ABORT 410.
[0076] В процессе обеспечения безопасности может быть выполнено измерение расстояния между работающим устройством и обнаруженным устройством в соответствии с протоколом ранжирования. Устройства физически находятся на расстоянии 140 друг от друга. Протокол ранжирования предназначен для определения расстояния между устройствами, как показано на фиг. 1, и дополнительно описан со ссылкой на фиг. 1 и 2.
[0077] Как будет ясно специалисту в данной области техники, способ может быть реализован множеством различных путей. Например, порядок выполнения стадий или этапов может варьироваться, или некоторые стадии могут выполняться параллельно. Более того, между этапами могут быть включены другие этапы способа. Включенные этапы могут представлять собой уточнения способа, как те, что описаны в настоящем документе, или могут быть не связаны со способом.
[0078] Представлены компьютерные программные продукты, загружаемые из сети и/или хранящиеся на компьютерочитаемом носителе информации, и/или исполняемом на микропроцессоре носителе информации, которые содержат инструкции программного кода для реализации вышеуказанного способа, последовательности соединения, процесса обеспечения безопасности и других операций при его исполнении на вычислительном устройстве. Поэтому способ согласно изобретению может быть исполнен с использованием программного обеспечения, которое содержит инструкции для обуславливания выполнения процессором соответствующего способа.
[0079] Как правило, каждое из устройства D и других устройств, которые взаимодействуют для исполнения последовательности соединения, содержит процессор, соединенный с памятью, хранящей соответствующий программный код, хранящийся на устройствах; например, это программное обеспечение может быть загружено и/или сохранено в соответствующей памяти, например, энергозависимой памяти, такой как ОЗУ, или энергонезависимой памяти, такой как флэш-накопитель (не изображен). Устройства могут быть снабжены, например, микропроцессорами и запоминающими устройствами (не изображено). В качестве альтернативы, устройства могут быть полностью или частично реализованы в программируемой логической схеме, например, в виде программируемой пользователем вентильной матрице (FPGA). Устройства и сервер могут быть полностью или частично реализованы в виде так называемой специализированной интегральной схемы (ASIC), т.е. интегральной схемы (IC) специального назначения. Например, схемы могут быть реализованы в CMOS, например, с использованием языка описания аппаратных средств, такого как Verilog, VHDL и т.д.
[0080] Программное обеспечение может включать в себя лишь те этапы, которые выполняются конкретным подобъектом системы. Программное обеспечение может храниться на подходящем носителе информации, таком как жесткий диск, дискета, память и т.д. Программное обеспечение может быть отправлено в виде сигнала по проводной связи или беспроводной связи, или с использованием сети передачи данных, например, сети Интернет. Программное обеспечение может быть доступно для загрузки и/или для удаленного использования на сервере. Способ согласно изобретению может выполняться с использованием битового потока, выполненного с возможностью конфигурирования программируемой логической схемы, например, программируемой пользователем вентильной матрицы (FPGA), для выполнения способа. Следует понимать, что программное обеспечение может быть в форме исходного кода, объектного кода, промежуточного источника кода и объектного кода, как в частично компилированной форме, или в любой другой форме, подходящей для использования при реализации способа в соответствии с настоящим изобретением. Вариант реализации, относящийся к компьютерному программному продукту, содержит исполняемые с помощью компьютера инструкции, соответствующие каждому из этапов обработки по меньшей мере одного из способов, изложенных в настоящем документе. Эти инструкции могут быть подразделены на подпрограммы и/или могут храниться в одном или более файлов, которые могут быть связаны статическим или динамическим образом. Еще один вариант реализации, относящийся к компьютерному программному продукту, содержит исполняемые с помощью компьютера инструкции, соответствующие каждому средству по меньшей мере одной из систем и/или продуктов, изложенных в настоящем документе.
[0081] На фиг. 4a изображен компьютерочитаемый носитель 1000 информации, имеющий перезаписываемую часть 1010, содержащую компьютерную программу 1020, при этом компьютерная программа 1020 содержит инструкции для обуславливания выполнения системой процессора одного или более из указанных выше способов и процессов в системе, как описано со ссылкой на фиг. 1-3. Компьютерная программа 1020 может быть реализована на компьютерочитаемом носителе 1000 информации в виде физических меток или посредством намагничивания компьютерочитаемого носителя 1000 информации. Однако может быть предусмотрен также и любой другой подходящий вариант реализации. Кроме того, следует понимать, что несмотря на то, что компьютерочитаемый носитель 1000 информации здесь показан в виде оптического диска, компьютерочитаемый носитель 1000 информации может представлять собой любой подходящий компьютерочитаемый носитель информации, такой как жесткий диск, твердотельная памяти, флэш-накопитель и т.д., и может быть неперезаписываемым или перезаписываемым. Компьютерная программа 1020 содержит инструкции для обуславливания выполнения системой процессора указанных способов.
[0082] На фиг. 4b изображено схематическое представление системы 1100 процессора в соответствии с вариантом реализации устройства или сервера, как описано со ссылкой на фиг. 1-4b. Система процессора может содержать схему 1110, например, одну или более интегральных схем. Архитектура схемы 1110 схематически изображена на фигуре. Схема 1110 содержит блок 1120 обработки, например, центральный процессор, для запуска компонентов компьютерной программы для выполнения способа в соответствии с вариантом реализации и/или реализации его модулей или блоков. Схема 1110 содержит память 1122 для хранения программного кода, данных и т.д. Часть памяти 1122 может быть предназначена только для чтения. Схема 1110 может содержать элемент 1126 связи, например, антенну, соединители или и то, и то, и тому подобное. Схема 1110 может содержать специализированную интегральную схему 1124 для выполнения части или всей обработки, определенной в способе. Процессор 1120, память 1122, специализированная интегральная схема 1124 и элемент 1126 связи могут быть соединены друг с другом посредством взаимного подключения 1130, например, шины. Система 1110 процессора может быть выполнена с возможностью осуществления проводной и/или беспроводной связи с использованием соединителей и/или антенн, соответственно.
[0083] Следует понимать, что в приведенном выше описании для ясности варианты реализации настоящего изобретения представлены со ссылкой на различные функциональные блоки и процессоры. Однако очевидно, что может быть использовано любое подходящее распределение функциональных возможностей между различными функциональными блоками или процессорами без ущерба для настоящего изобретения. Например, функциональные возможности, показанные как выполняемые отдельными блоками, процессорами или контроллерами, могут быть выполнены одним и тем же процессором или контроллерами. Следовательно, ссылки на конкретные функциональные блоки следует рассматривать только как ссылки на пригодные средства для обеспечения описанных функциональных возможностей, а не как указание на строгую логическую или физическую структуру или организацию. Настоящее изобретение может быть реализовано в любой подходящей форме, включая аппаратное обеспечение, программное обеспечение, аппаратно реализованное программное обеспечение или любую их комбинацию.
[0084] Следует отметить, что в настоящем документе слово «содержащий» не исключает наличия элементов или этапов, отличающихся от перечисленных, а грамматический показатель единственного числа у элемента не исключает наличия множества таких элементов, что все ссылочные обозначения не ограничивают объем формулы изобретения, что изобретение может быть реализовано с помощью аппаратного и программного обеспечения, и что несколько «средств» или «блоков» может быть представлено одним и тем же элементом аппаратного или программного обеспечения, а процессор может выполнять функцию одного или более блоков, возможно находясь во взаимодействии с элементами аппаратного обеспечения. Кроме того, настоящее изобретение не ограничено вариантами реализации, и в основе изобретения лежит каждый обеспечивающий/ая новизну признак или комбинация признаков, которые были описаны выше или указаны в отличающихся между собой зависимых пунктах формулы изобретения.
[0085] Вкратце, система беспроводной связи содержит устройство, выполненное с возможностью осуществления беспроводной связи в соответствии с протоколом связи, а также процессор для исполнения последовательности соединения в соответствии с протоколом обнаружения. Последовательность соединения включает определение идентификационных признаков текущего кластера и времени текущего окна обнаружения, используемых устройством. Затем выполняется обнаружение по меньшей мере одного другого устройства в пределах дальности действия беспроводной связи, при этом также определяя идентификационные признаки обнаруженного кластера и время обнаруженного окна обнаружения у обнаруженного другого устройства. Далее выполняется обнаружение того, функционирует ли обнаруженное устройство в другом кластере, нежели устройство, путем сравнения идентификационных признаков текущего кластера с идентификационными признаками обнаруженного кластера или сравнения времени текущего окна обнаружения с временем обнаруженного окна обнаружения. Наконец, после обнаружения указанного другого кластера выполняется процесс обеспечения безопасности, на котором пользователю может быть направлено предупреждение или последовательность соединения может быть прервана. Таким образом, происходит обнаружение вредоносного устройства, предпринимающего попытку выполнения манипуляций с последовательностью соединения.
Ссылочные документы:
[1] «Построение сетей связи для узнаваемости соседей, Техническая спецификация версии 2.0» (“Neighbor Awareness Networking, Technical Specification Version 2.0”), опубликованный альянсом Wi-Fi и датированный 20.10.2017
(также называемый «NAN»).
[2]IEEE 802.11-2016
Стандарт IEEE по информационным технологиям
Телекоммуникации и обмен информацией между системами
Локальные и городские сети
Специфические требования
Часть 11: Спецификации по управлению доступом к среде (MAC) беспроводной LAN и физическому уровню (PHY)
Раздел 10.24.6 Процедура точного измерения времени, страницы 1773-1784
(также называемая «FTM»).