СЕТЕВАЯ СИСТЕМА ДЛЯ БЕЗОПАСНОЙ СВЯЗИ
NETWORK SYSTEM FOR SAFE COMMUNICATION

Область техники, к которой относится изобретение
Изобретение относится к сетевой системе для беспроводной связи между сетевыми устройствами в области, причем сетевая система выполнена с возможностью безопасной связи согласно протоколу безопасности.
Настоящее изобретение в общем относится к полевой беспроводной сети (например, Wi-Fi), в частности к конфигурированию беспроводных сетей безопасным образом.
Уровень техники
За последние десятилетия беспроводные сети были обеспечены во многих местах. Обеспечение степени безопасности использования, доступа или трафика данных в сети является общим требованием. Новое устройство, которое хочет использовать сеть, то есть, устройство, стремящееся присоединиться к беспроводной сети, обычно называют участником. У участника должны быть некоторые учетные данные в связи с тем, что сеть должна отслеживать сетевой доступ. Такая функция может быть выполнена так называемым регистратором или конфигуратором, то есть, устройством, имеющим полномочия выдавать и отзывать доступ к сети, которое может быть интегрировано в точку беспроводного доступа (AP) или обеспечено в качестве отдельного устройства. Точка доступа может функционировать как посредник между регистратором и участником.
Однако, если такие учетные данные обмениваются посредством беспроводной связи, третьи стороны, также принимающие сообщения, могут осуществлять доступ к учетным данным и могут иметь возможность манипулировать правами доступа и/или получать нежелательный доступ к секретной информации участника и дополнительным данным, которые обмениваются между сетью и участником. Например, общественные места, такие как рестораны и кафе, могут оперировать такими сетями.
1
2
N
N+1
N+M
N+1
N+2
N+M
1
N
1
N
1
N
N+1
N+2
N+M
Для получения безопасного доступа к таким весьма открытым сетям были предложены различные варианты обмена идентификационными и/или учетными данными для получения доступа к сети. Такие учетные данные, например, могут содержать фразу-пароль, которая выбирается для сети, и обычно хранится в секрете, но раскрывается пользователю участника, чтобы быть введенным для участника. Такая фраза-пароль может быть использована для генерирования совместно используемого ключа между участником и сетью. Более продвинутые системы безопасности могут использовать хорошо известную систему парных наборов ключевых данных, обычно называемую общедоступным ключом и секретным ключом, такую как система общедоступных ключей RSA. Система общедоступных ключей RSA широко используется для безопасной передачи данных. В такой криптосистеме ключ шифрования является общедоступным и отличается от ключа дешифрования, который хранится в секрете. В RSA эта асимметрия основана на практической трудности факторизации произведения двух больших простых чисел, на проблеме факторизации. RSA составляется из первых букв фамилий Ron Rivest, Adi Shamir и Leonard Adleman, которые впервые общедоступно описали алгоритм в 1977 году. Пользователь RSA создает и затем публикует общедоступный ключ на основе двух больших простых чисел наряду со вспомогательным значением. Простые числа должны храниться в секрете. Любой может использовать общедоступный ключ для шифрования сообщения, но с опубликованными в настоящее время способами, если общедоступный ключ достаточно велик, только тот, кто знает простые числа, может приемлемо декодировать сообщение. Следовательно, общедоступный ключ может быть раскрыт всем, кто хочет осуществить безопасную связь с безопасным устройством, в то время как соответствующий секретный ключ известен только безопасному устройству. Обмен ключами Диффи-Хеллмана (DH) также может быть основан на паре общедоступного/секретного ключей с криптографией эллиптической кривой (ECC) или на нескольких парах ключей. Совместно используемый секрет может быть вычислен как (PubKey+PubKey +…+PubKey) * (PrivKey+…+PrivKey), что равняется (PubKey+PubKey +…+PubKey) * (PrivKey+…+PrivKey), где дополнения и умножения не являются обычными алгебраическими дополнениями и умножениями, но выполняются на точках на эллиптической кривой и где одно устройство хранит секрет {PrivKey, …, PrivKey}, но делает доступными для других устройств соответствующие общедоступные ключи {PubKey, …, PubKey} и знает {PubKey, PubKey, …, PubKey), поэтому оно может выводить совместно используемый секрет, и наоборот. Примеры ниже по тексту используют N=1 и M=2.
Дополнительная безопасность может быть достигнута на основе генерирования так называемого совместно используемого набора ключей как на участнике, так и на конфигураторе с использованием как общедоступного, так и секретного ключей с обеих сторон. Такой совместно используемый ключ генерируется на участнике на основе общедоступного сетевого ключа и секретного ключа участника, тогда как один и тот же ключ (следовательно, называемый совместно используемым ключом) может быть сгенерирован на стороне конфигуратора на основе секретного сетевого ключа и общедоступного ключа участника. Известны различные криптографические способы для генерирования таких совместно используемых ключей, например, обмен ключами Диффи-Хеллмана (DH). DH является специфическим способом безопасного обмена криптографическими ключами по общедоступному каналу и одним из самых ранних практических примеров обмена общедоступными ключами, реализованных в области криптографии. Традиционно безопасная зашифрованная связь между двумя сторонами требовала, чтобы они сначала обменялись ключами посредством какого-либо безопасного физического канала, такого как печатные списки ключей, переносимые доверенным курьером. Способ обмена ключами Диффи-Хеллмана разрешает двум сторонам, не имеющим предварительного знания друг друга, совместно устанавливать совместно используемый секретный ключ по небезопасному каналу. Затем этот ключ может быть использован для шифрования последующей связи с использованием шифра симметричного ключа.
Способ обмена ключами Диффи-Хеллмана является таковым, что тот кто не осуществляет слушание обмена протоколом, не может вычислить ключ Диффи-Хеллмана. Однако любая из сторон должна удостовериться, что общедоступный ключ, который они приняли от другой стороны, действительно принадлежит правильной стороне. Злонамеренная третья сторона, обычно называемая человеком посередине, может дать свой общедоступный ключ двум сторонам вместо намеренных соответствующих общедоступных ключей и таким образом настроить ключ Диффи-Хеллмана с каждой из этих двух сторон, в то время как эти две стороны будут думать, что они осуществляют связь непосредственно. Таким образом, в этом случае человек посередине может дешифровать связь с одной стороны, использовать ее по своему усмотрению, зашифровать ее с помощью ключа DH для другой части и отправить его другой стороне без осведомления двух сторон. Если по меньшей мере одна из двух сторон передает свой общедоступный ключ с использованием внеполосного (OOB) канала, которому они доверяют, как объяснено ниже по тексту, другой стороне, или если обе стороны обмениваются своими общедоступными ключами с использованием доверенного OOB-канала, тогда они могут убедиться, что человек посередине отсутствует, отказавшись выполнять протокол DH со стороной, чей общедоступный ключ не принял OOB. Вместо передачи общедоступного ключа через OOB, также может быть передана производная из общедоступного ключа, например, хеш общедоступного ключа. Если сторона предлагает свой общедоступный ключ другой стороне, другая сторона вычисляет хеш этого общедоступного ключа и проверяет, является ли вычисленный хеш таким же, как хеш, принятый по OOB. Примером этого является использование связи ближнего поля (NFC) в качестве канала OOB в способе "передачи обслуживания соединения" в разделе 10.1.3 технической спецификации простой конфигурации Wi-Fi версии 2.05 [ref1].
Дополнительная улучшенная сила против атакующих, пытающихся взломать секреты, может быть достигнута с использованием криптографии эллиптической кривой. Криптография эллиптической кривой (ECC) является подходом для криптографии общедоступного ключа на основе алгебраической структуры эллиптических кривых над конечными полями. ECC требует более маленьких ключей по сравнению с криптографией, отличной от ECC (на основе простых полей Галуа), чтобы обеспечить эквивалентную безопасность. Эллиптические кривые применимы для шифрования, цифровых подписей, псевдослучайных генераторов и других задач. Они также используются в нескольких алгоритмах целочисленной факторизации, которые имеют применения в криптографии, такие как факторизация эллиптической кривой Ленстры. Криптография общедоступного ключа основана на неразрешимости некоторых математических проблем. Ранние системы с общедоступным ключом являются безопасными, предполагая, что трудно разложить на множители большое целое число, состоящее из двух или более больших простых множителей. Для протоколов на основе эллиптической кривой предполагается, что поиск дискретного логарифма элемента случайной эллиптической кривой относительно общеизвестной базовой точки является невыполнимым, что называется "проблемой дискретного логарифма эллиптической кривой". Безопасность ECC зависит от способности вычислять умножение точки и неспособности вычислить множимое, учитывая исходные точки и точки произведения. Размер эллиптической кривой определяет трудность проблемы. Различные криптографические схемы были адаптированы на основе таких эллиптических кривых.
Обмен учетными данными может дополнительно управляться, чтобы быть в пределах предварительно заданного местоположения, изначально требуя использования канала связи на основе близости, отличного от беспроводной связи, обеспечиваемой посредством сети. Хорошо известным примером называется защищенное установление Wi-Fi (WPS, см. [1]), представленное в 2006 году, цель протокола заключается в том, чтобы разрешить домашним пользователям, которые мало знают о безопасности беспроводной сети и могут быть запуганы доступными параметрами безопасности, настраивать защищенный доступ Wi-Fi, а также упростить добавление новых устройств в существующую сеть без ввода длинных фраз-паролей. В стандарте WPS подчеркивается удобство использования и безопасность, а также разрешается несколько режимов в домашней сети для добавления нового устройства в сеть: PIN-код, нажимная кнопка или NFC. В способе PIN-кода персональный идентификационный номер (PIN) должен считываться с наклейки или с устройства отображения на новом беспроводном устройстве. Затем этот PIN-код необходимо ввести на устройстве, представляющем администратор сети, обычно в точке доступа сети. В качестве альтернативы, PIN-код, обеспеченный точкой доступа, может быть введен в новое устройство. В способе нажимной кнопки пользователь должен нажать кнопку, фактическую или виртуальную, как в точке доступа, так и на новом беспроводном клиентском устройстве. На большинстве устройств этот режим отыскания отключается сразу же после установления соединения или после задержки (обычно 2 минуты или менее), в зависимости от того, что наступит раньше, посредством этого минимизируя свою уязвимость. Третий способ основан на связи ближнего поля (NFC), в которой пользователь должен приблизить нового клиента к точке доступа, чтобы разрешить связь ближнего поля между устройствами. RFID-метки, совместимые с форумом NFC, также могут быть использованы в системе WPS. Поддержка этого режима является необязательной. Такой дополнительный канал связи, основанный на близости, обычно называется внеполосным каналом (OOB).
Радиочастотная идентификация (RFID) представляет собой беспроводное использование электромагнитных полей для передачи данных в целях автоматической идентификации и отслеживания меток, прикрепленных к объектам. Метки содержат электронно сохраненную информацию. Некоторые метки питаются посредством электромагнитной индукции от магнитных полей, производимых вблизи считывателя. Некоторые типы собирают энергию от запроса радиоволн и действуют как пассивный ретранслятор. Другие типы имеют локальный источник питания, такой как аккумулятор, и могут работать на сотнях метров от считывателя. В отличие от штрих-кода, метка не обязательно должна находиться в пределах видимости считывателя и может быть встроена в отслеживаемый объект.
Дополнительный пример на основе связи ближнего поля (NFC) описан в [ref1], глава 10 "Спецификация внеполосного интерфейса NFC" для конфигурации WLAN. Здесь NFC-метка должна быть обеспечена на устройстве-участнике. NFC-метка используется для физической передачи пароля устройства от участника регистратору с поддержкой NFC с близкого расстояния. Пароль устройства затем будет использоваться с протоколом внутриполосной регистрации для предоставления данных конфигурации WLAN участнику. Маркер пароля NFC может быть интегрирован в устройство, если устройство является портативным и производитель не предполагает практических трудностей для пользователя, чтобы физически переместить устройство ближе к устройству NFC регистратора. Такое сетевое устройство регистратора, которое обеспечивает возможность новому устройству получать доступ к сети, то есть, обеспечивает возможность конфигурации сети и участника посредством обеспечения безопасного обмена учетными данными между участником и сетью, называется здесь конфигуратором. В известной системе [ref1] у участника может потребоваться обеспечить пароль участника конфигуратору с близкого расстояния через OOB-канал. Имеется много способов, описанных в [ref 1], для использования OOB-канала, например, обмен хешами общедоступных ключей.
В WO2010/023506 описано безопасное составление пар и ассоциирование для беспроводных устройств, которые разрешают использование постоянного секретного значения и постоянного общедоступного ключа в первом устройстве для использования при составлении пар и ассоциировании первого устройства со вторым устройством без компрометирования прямой секретности. Первое и второе устройства могут устанавливать первый совместно используемый секретный ключ в соответствии с протоколом соглашения общедоступного ключа на основе, по меньшей мере отчасти, постоянного общедоступного ключа первого устройства и общедоступного ключа, ассоциированного со вторым устройством. Первый совместно используемый секретный ключ может быть использован для верификации второго совместно используемого секретного ключа. Второй совместно используемый секретный ключ может быть установлен на основе по меньшей мере частично общедоступного ключа, ассоциированного со вторым устройством, и нового общедоступного ключа, сгенерированного первым устройством, и может быть использован для облегчения зашифрованной связи между устройствами.
Сущность изобретения
Обмен учетными данными безопасным способом в общественных местах является необходимостью, и от участника может потребоваться предоставить его учетные данные конфигуратору. Однако, это может доставлять неудобство для пользователя в плане того, что нужно поднести его устройство в непосредственную близость к конфигуратору и/или это может доставлять неудобство для оператора сети в плане того, что нужно обеспечить физический доступ к конфигуратору для каждого клиента, который хочет получить сетевой доступ. Тем не менее, оператору такой сети хотелось бы, чтобы его клиенты могли получить безопасный доступ к его сети очень простым способом, в то время как и участник, и конфигуратор могли быть уверены, что никакая третья сторона не сможет осуществить доступ к данным, передаваемым между участником и сетью, и не сможет вмешиваться или играть роль "человека посередине".
Целью изобретения является создание системы для безопасного доступа к общедоступной беспроводной сети, которая обеспечивает возможность более удобного доступа для участников.
Для этой цели обеспечиваются сетевая система, устройства и способы, которые заданы в прилагаемой формуле изобретения.
Сетевая система выполнена с возможностью беспроводной связи между сетевыми устройствами в области и для безопасной связи согласно протоколу безопасности. Сетевая система содержит
- по меньшей мере одно сетевое устройство, выполненное с возможностью беспроводной связи и выполненное с возможностью действовать как участник согласно протоколу безопасности для получения доступа к сети, иметь первый общедоступный ключ участника и соответствующий первый секретный ключ участника и иметь второй общедоступный ключ участника и соответствующий второй секретный ключ участника,
- сетевое устройство, выполненное с возможностью действовать как конфигуратор и выполненное с возможностью обеспечения безопасной связи для участника согласно протоколу безопасности и с возможностью иметь общедоступный ключ конфигуратора и соответствующий секретный ключ конфигуратора и иметь для сетевой системы сетевой общедоступный ключ и соответствующий сетевой секретный ключ,
при этом участник содержит датчик участника и процессор участника, выполненный с возможностью
- извлечения шаблона данных через внеполосный канал посредством датчика участника, причем шаблон данных обеспечивается в упомянутой области и представляет сетевой общедоступный ключ,
- выведения первого совместно используемого ключа на основе сетевого общедоступного ключа и упомянутого первого секретного ключа участника,
- кодирования упомянутого второго общедоступного ключа участника с использованием упомянутого первого совместно используемого ключа,
- генерирования запроса сетевого доступа согласно протоколу безопасности, причем запрос сетевого доступа включает в себя упомянутый кодированный второй общедоступный ключ участника и упомянутый первый общедоступный ключ участника, и
- передачи запроса сетевого доступа в конфигуратор посредством беспроводной связи;
причем конфигуратор содержит процессор конфигуратора, выполненный с возможностью
- приема запроса сетевого доступа от участника посредством беспроводной связи,
- выведения упомянутого первого совместно используемого ключа на основе сетевого секретного ключа и упомянутого первого общедоступного ключа участника,
- декодирования упомянутого кодированного второго общедоступного ключа участника с использованием упомянутого первого совместно используемого ключа,
- верификации, был ли упомянутый кодированный второй общедоступный ключ участника закодирован упомянутым первым совместно используемым ключом, и, если это так,
- генерирования данных безопасности с использованием упомянутого второго общедоступного ключа участника и секретного ключа конфигуратора,
- выведения второго совместно используемого ключа на основе упомянутого первого общедоступного ключа участника, упомянутого второго общедоступного ключа участника и сетевого секретного ключа,
- защиты криптографически с использованием упомянутого второго совместно используемого ключа по меньшей мере одного из данных безопасности и общедоступного ключа конфигуратора, и
- генерирования сообщения сетевого доступа согласно протоколу безопасности, причем сообщение сетевого доступа включает в себя по меньшей мере одно из защищенных данных безопасности и защищенного общедоступного ключа конфигуратора;
причем процессор участника дополнительно выполнен с возможностью
- приема сообщения сетевого доступа от конфигуратора посредством беспроводной связи,
- выведения упомянутого второго совместно используемого ключа на основе упомянутого первого секретного ключа участника, упомянутого второго секретного ключа участника и сетевого общедоступного ключа,
- верификации, было ли по меньшей мере одно из защищенных данных безопасности и защищенного общедоступного ключа конфигуратора криптографически защищено упомянутым вторым совместно используемым ключом, и, если это так,
- приведения в действие безопасной связи на основе упомянутого второго секретного ключа участника и данных безопасности.
Первое сетевое устройство действует как устройство-конфигуратор, также называемое конфигуратором. Устройство-конфигуратор содержит блок связи конфигуратора, выполненный с возможностью приема от устройства-участника запроса сетевого доступа согласно протоколу безопасности, причем запрос сетевого доступа включает в себя кодированный второй общедоступный ключ участника и упомянутый первый общедоступный ключ участника, и процессор конфигуратора, содержащий память, выполненную с возможностью хранить для устройства-конфигуратора общедоступный ключ конфигуратора и соответствующий секретный ключ конфигуратора, и хранить для сетевой системы сетевой общедоступный ключ и соответствующий сетевой секретный ключ. Процессор конфигуратора выполнен с возможностью
- выведения упомянутого первого совместно используемого ключа на основе сетевого секретного ключа и упомянутого первого общедоступного ключа участника,
- декодирования упомянутого кодированного второго общедоступного ключа участника с использованием упомянутого первого совместно используемого ключа,
- верификации, был ли упомянутый кодированный второй общедоступный ключ участника закодирован упомянутым первым совместно используемым ключом, и, если это так,
- генерирования данных безопасности с использованием упомянутого второго общедоступного ключа участника и секретного ключа конфигуратора,
- выведения упомянутого второго совместно используемого ключа на основе упомянутого первого общедоступного ключа участника, упомянутого второго общедоступного ключа участника и сетевого секретного ключа,
- защиты криптографически с использованием упомянутого второго совместно используемого ключа по меньшей мере одного из данных безопасности и общедоступного ключа конфигуратора, и
- генерирования сообщения сетевого доступа согласно протоколу безопасности.
Поскольку конфигуратор конфигурирует сеть и сетевые устройства, входящие в сеть, так называемых участников, устройство-конфигуратор должно иметь возможность осуществлять связь с другими сетевыми устройствами беспроводным образом, непосредственно или опосредованно через устройство беспроводной связи, такое как точка доступа. Как таковой, конфигуратор не должен быть частью самой сети, то есть, он может участвовать или может не участвовать в связи по сети, которая конфигурируется.
Второе сетевое устройство действует как устройство-участник, также называемое участником. Устройство-участник содержит блок беспроводной связи участника для беспроводной связи; датчик участника, выполненный с возможностью извлечения шаблона данных через внеполосный канал, причем шаблона данных обеспечивается в области и представляет сетевой общедоступный ключ; и процессор участника, содержащий память, выполненную с возможностью хранить упомянутый первый общедоступный ключ участника и соответствующий первый секретный ключ участника, и хранить упомянутый второй общедоступный ключ участника и соответствующий второй секретный ключ участника. Процессор участника выполнен с возможностью
- выведения упомянутого первого совместно используемого ключа на основе сетевого общедоступного ключа и упомянутого первого секретного ключа участника,
- кодирования упомянутого второго общедоступного ключа участника с использованием упомянутого первого совместно используемого ключа,
- генерирования запроса сетевого доступа согласно протоколу безопасности, причем запроса сетевого доступа, включающего в себя упомянутый кодированный второй общедоступный ключ участника и упомянутый первый общедоступный ключ участника, и
- передачи запроса сетевого доступа устройству-конфигуратору через блок беспроводной связи участника.
Процессор участника дополнительно выполнен с возможностью
- приема сообщения сетевого доступа от конфигуратора через блок беспроводной связи участника,
- выведения упомянутого второго совместно используемого ключа на основе упомянутого первого секретного ключа участника, упомянутого второго секретного ключа участника и сетевого общедоступного ключа,
- верификации, было ли по меньшей мере одно из защищенных данных безопасности и защищенного общедоступного ключа конфигуратора криптографически защищено упомянутым вторым совместно используемым ключом, и, если это так,
- приведения в действие безопасной связи на основе упомянутого второго секретного ключа участника и данных безопасности.
В контексте текущей сетевой системы у участника есть датчик участника, который может принимать информацию через так называемый внеполосный (OOB) канал, как разъясняется выше по тексту, из так называемого шаблона данных, который представляет эту информацию, например из QR-кода, цветового шаблона или NFC-метки, содержащей шаблон данных, представляющий сетевой общедоступный ключ.
В общем, защита конфиденциальности и/или целостности данных заключает в себя форму шифрования и/или добавления криптографического хеша на основе набора ключей, что может быть выражено общим словом "кодирование". Таким образом, информация кодирования с помощью ключа может означать шифрование информации с помощью ключа, например, посредством использования AES. Например, этап "защиты криптографически по меньшей мере одного из данных безопасности и общедоступного ключа конфигуратора с использованием второго совместно используемого ключа" имеет следующую функцию. На этом этапе защита является типом кодирования, в котором данные безопасности и общедоступный ключ конфигуратора могут, но не должны храниться в секрете, поэтому этот этап может или может не заключать в себе шифрование с помощью ключа. Но принимающая сторона должна быть уверена, что "защищенные данные" являются правильными, поэтому должно быть возможно проверить их целостность. Таким образом, "защита" должна интерпретироваться как "защита целостности", например, генерирование криптографической подписи и/или "шифрование" материала, включающего в себя дополнительные данные проверки, контрольные суммы или другие уникальные данные. Защита информации криптографически с помощью ключа также может означать защиту целостности информации с помощью этого ключа, что может быть сделано посредством добавления криптографического хеша с использованием ключа в отношении этой информации, так чтобы стороны, которые знают ключ, могли проверить целостность информации. Можно также сказать, что криптографический хеш аутентифицирует информацию как создаваемую со стороны, которая знает ключ. Криптографическая хеш-функция является хеш-функцией, которая помимо данных, которые должны быть хешированы в качестве ввода, также нуждается в ключе в качестве ввода, причем полученный хеш, конечно, зависит от ключа, например AES-SIV (ссылаться на RFC 5297, [2]) совершает шифрование и защиту целостности на основе ключа. Этап "верификации, были ли..." в отношении принятых данных, воплощает проверку целостности так, чтобы достичь защиты целостности. Этот этап может заключать в себе дешифрование, в зависимости от используемого способа защиты. Если, например, AES-SIV (ссылаться на RFC 5297, [2]) используется для защиты, этап "верификации, были ли..." также заключает в себе дешифрование данных. Кроме того, "защитить по меньшей мере одно из данных безопасности и общедоступного ключа конфигуратора с использованием второго совместно используемого ключа" может быть интерпретировано как "генерировать информацию защиты целостности для по меньшей мере одного из данных безопасности и общедоступного ключа конфигуратора с использованием второго совместно используемого ключа", а затем поместить информацию защиты целостности и по меньшей мере одно из данных безопасности и общедоступного ключа конфигуратора в сообщение сетевого доступа.
Преимущественно в сетевой системе участник обеспечивается возможностью эффективно приводить в действие безопасную связь на основе своего собственного второго секретного ключа участника и данных безопасности, принятых чрез сообщение сетевого доступа. Вдобавок участник сначала устанавливает эффективный внеполосный канал, сформированный посредством использования датчика участника для извлечения шаблона данных. Шаблон данных становится доступным в той области, где администратор сетевой системы намеревается разрешить участникам доступ к сетевой системе. Затем участник инициирует протокол безопасности с использованием беспроводной связи.
Еще преимущественно администратор системы управляет областью, где участники могут входить в систему, в то время как учетные данные безопасно обмениваются с конфигуратором таким образом, чтобы предотвратить атаку "человека посередине". Благодаря процессу регистрации, инициированному самим участником через внеполосный канал, минимальное количество беспроводных сообщений, то есть, сообщение запроса сети и последующее сообщение сетевого доступа, будет достаточным для упомянутого безопасного обмена учетными данными.
В необязательном порядке, устройство-конфигуратор может настроить другое устройство для подписывания общедоступных ключей от имени устройства-конфигуратора. Такая комбинация устройств считается реализацией конфигуратора, как задано в сетевой системе. Одна из вещей, которые должны быть сделаны устройством-конфигуратором, заключается в том, чтобы предоставить этому другому устройству свой секретный ключ подписи или получить общедоступный ключ подписи другого устройства, подписать его с помощью секретного ключа подписи конфигуратора и отправить подписанный общедоступный ключ подписи другого устройства и общедоступный ключ подписи конфигуратора другому устройству. Когда другое устройство подписывает общедоступный ключ от участника, оно отправляет во втором случае свой общедоступный ключ подписи, подпись, обеспеченную конфигуратором, и общедоступный ключ подписи конфигуратора участнику, поэтому участник может проверить подпись своего общедоступного ключа и подпись над общедоступным ключом подписи другого устройства.
В необязательном порядке, в вышеуказанной сетевой системе процессор конфигуратора выполнен с возможностью генерирования временного сетевого общедоступного ключа и соответствующего временного сетевого секретного ключа, причем эти ключи составляют сетевой общедоступный ключ и соответствующий сетевой секретный ключ. Это задает создание из пары сетевых ключей эфемерной пары (временной, одноразовой). В системе, где сетевой общедоступный ключ является статическим, один из предыдущих участников мог бы выложить этот общедоступный ключ в сети Интернет, и любой мог бы контактировать с конфигуратором. Преимущество эфемерного ключа заключается в том, что если участник контактирует с конфигуратором по Wi-Fi, а сетевой общедоступный ключ был сгенерирован несколько мгновений назад, участник может знать только этот сетевой общедоступный ключ, поскольку он получил этот ключ непосредственно перед его генерированием через внеполосный механизм.
В необязательном порядке, в вышеуказанной сетевой системе процессор участника выполнен с возможностью генерирования временного общедоступного ключа участника и соответствующего временного секретного ключа участника, причем эти ключи составляют упомянутый первый общедоступный ключ участника и соответствующий первый секретный ключ участника; и/или процессор участника выполнен с возможностью генерирования дополнительного временного общедоступного ключа участника и соответствующего дополнительного временного секретного ключа участника, причем эти ключи составляют упомянутый второй общедоступный ключ участника и соответствующий второй секретный ключ участника. Преимущество такого эфемерного ключа заключается в том, что если участник осуществляет связь с конфигуратором по Wi-Fi, и ключ был сгенерирован мгновение назад, только участник и конфигуратор могут знать этот ключ, поскольку он только что был сгенерирован.
В необязательном порядке, в вышеуказанной системе данные безопасности являются информацией авторизации от конфигуратора, информация авторизации которого авторизует участника для осуществления доступа к сети. Преимущественно такие данные безопасности могут быть использованы для авторизации участника для доступа к сети.
В необязательном порядке, в вышеуказанной сетевой системе процессор конфигуратора дополнительно выполнен с возможностью генерирования данных безопасности посредством обеспечения сеансового ключа конфигуратора и передачи сеансового ключа конфигуратора участнику; и процессор участника дополнительно выполнен с возможностью приема сеансового ключа конфигуратора и приведения в действие безопасной связи на основе сеансового ключа конфигуратора. Например, сеансовый ключ конфигуратора может быть фразой-паролем Wi-Fi, известной по существу. Упомянутый вариант осуществления обеспечивает возможность передачи фразы-пароля Wi-Fi унаследованной точки доступа участнику, который реализован согласно изобретению.
В необязательном порядке, в вышеуказанной сетевой системе процессор конфигуратора дополнительно выполнен с возможностью генерирования дополнительного сообщения, включающего в себя второй общедоступный ключ участника и цифровую подпись, и передачи дополнительного сообщения дополнительному устройству для обеспечения возможности безопасной связи между участником и дополнительным устройством. Преимущественно конфигуратор также распределяет второй общедоступный ключ участника и цифровую подпись дополнительным сетевым устройствам, и таким образом управляет и авторизует безопасную связь с участником. Аналогичное сообщение может быть отправлено участнику для верификации подписи.
В необязательном порядке, в вышеуказанной сетевой системе процессор участника дополнительно выполнен с возможностью приема дополнительного общедоступного ключа и дополнительной цифровой подписи от конфигуратора или от дополнительного сетевого устройства. Преимущественно участник принимает учетные данные, которые авторизованы конфигуратором либо от конфигуратора, либо от дополнительного сетевого устройства. Когда участник принимает такие учетные данные от дополнительного сетевого устройства, обеспечивается возможность непосредственной настройки безопасной связи с дополнительным устройством.
В необязательном порядке, в вышеуказанной сетевой системе процессор конфигуратора дополнительно выполнен с возможностью генерирования данных безопасности посредством генерирования сеансового общедоступного ключа конфигуратора и соответствующего сеансового секретного ключа конфигуратора, выведения третьего совместно используемого ключа на основе сеансового секретного ключа конфигуратора и второго общедоступного ключа участника, и передачи сеансового общедоступного ключа конфигуратора участнику. Процессор участника дополнительно выполнен с возможностью приема сеансового общедоступного ключа конфигуратора, выведения третьего совместно используемого ключа на основе второго секретного ключа участника и сеансового общедоступного ключа конфигуратора и приведения в действие безопасной связи на основе третьего совместно используемого ключа. Преимущественно генерирование такой пары сеансовых общедоступного/секретного ключей конфигуратора обеспечивает возможность дополнительной безопасной связи между участником и конфигуратором на основе третьего совместно используемого ключа.
В необязательном порядке, в вышеуказанной сетевой системе процессор участника дополнительно выполнен с возможностью генерирования сеансового общедоступного ключа участника и соответствующего сеансового секретного ключа участника, выведения четвертого совместно используемого ключа на основе сеансового секретного ключа участника и общедоступного ключа конфигуратора и передачи сеансового общедоступного ключа участника конфигуратору; и процессор конфигуратора дополнительно выполнен с возможностью выведения четвертого совместно используемого ключа на основе секретного ключа конфигуратора и сеансового общедоступного ключа участника и приведения в действие безопасной связи на основе четвертого совместно используемого ключа. Преимущественно, участник может таким образом генерировать пару сеансовых ключей и использовать пару секретного/общедоступного ключей для выведения дополнительного совместно используемого ключа.
В необязательном порядке, в вышеуказанной сетевой системе упомянутая сетевая система содержит дополнительное сетевое устройство, выполненное с возможностью приема упомянутого второго общедоступного ключа участника и данных безопасности, обеспечения сеансового сетевого общедоступного ключа и соответствующего сеансового сетевого секретного ключа, выведения пятого совместно используемого ключа на основе сеансового сетевого секретного ключа и упомянутого второго общедоступного ключа участника, и передачи сеансового сетевого общедоступного ключа участнику. Процессор участника дополнительно выполнен с возможностью приема сеансового сетевого общедоступного ключа, выведения пятого совместно используемого ключа на основе второго секретного ключа участника и сеансового сетевого общедоступного ключа и приведения в действие безопасной связи с дополнительным сетевым устройством на основе пятого совместно используемого ключа. Преимущественно генерирование такой пары дополнительных сеансовых сетевых общедоступного/секретного ключей обеспечивает возможность дополнительной безопасной связи между участником и дополнительным сетевым устройством на основе пятого совместно используемого ключа.
В необязательном порядке, в вышеуказанной сетевой системе процессор конфигуратора дополнительно выполнен с возможностью генерирования данных безопасности, содержащих цифровую подпись, посредством цифровой подписи упомянутого второго общедоступного ключа участника с помощью секретного ключа конфигуратора, передачи цифровой подписи третьему устройству и/или участнику для обеспечения возможности безопасной связи между участником и упомянутым третьим устройством. Посредством передачи цифровой подписи конфигуратора на третье устройство, цифровая подпись обеспечивает возможность безопасной связи между участником и третьим устройством. Преимущественно конфигуратор обеспечивает цифровую подпись в качестве данных безопасности для второго общедоступного ключа участника, так что третье устройство может верифицировать то, что упомянутому второму общедоступному ключу участника необходимо доверять.
Кроме того, в необязательном порядке, в предшествующей сетевой системе процессор участника дополнительно выполнен с возможностью приема цифровой подписи, верификации на основе цифровой подписи и общедоступного ключа конфигуратора, был ли правильно подписан второй общедоступный ключ участника и, если это так, приведения в действие безопасной связи на основе второго секретного ключа участника. Преимущественно, участник может обнаруживать, правильно ли конфигуратор подписал второй общедоступный ключ участника.
Кроме того, в необязательном порядке, в предшествующей сетевой системе, упомянутая сетевая система содержит дополнительное сетевое устройство, выполненное с возможностью получения общедоступного ключа конфигуратора, приема цифровой подписи и второго общедоступного ключа участника, верификации на основе цифровой подписи и общедоступного ключа конфигуратора, был ли правильно подписан второй общедоступный ключ участника и, если это так, приведения в действие безопасной связи с участником на основе второго общедоступного ключа участника. Преимущественно, дополнительное сетевое устройство может обнаруживать, правильно ли конфигуратор подписал второй общедоступный ключ участника, и приводить в действие безопасную связь.
В необязательном порядке, в вышеуказанной сетевой системе процессор конфигуратора дополнительно выполнен с возможностью генерирования дополнительных данных безопасности, содержащих дополнительную цифровую подпись, посредством цифровой подписи с помощью секретного ключа конфигуратора дополнительного общедоступного ключа дополнительного сетевого устройства. Процессор участника дополнительно выполнен с возможностью использования дополнительных данных безопасности посредством приема дополнительного общедоступного ключа и дополнительной цифровой подписи, верификации на основе дополнительной цифровой подписи и общедоступного ключа конфигуратора, был ли дополнительный общедоступный ключ правильно подписан и, если это так, осуществления безопасной связи с дополнительным сетевым устройством с использованием второго секретного ключа участника и дополнительного общедоступного ключа. Преимущественно, участник может обнаруживать, правильно ли конфигуратор подписал дополнительный общедоступный ключ, и приводить в действие безопасную связь.
В необязательном порядке, в вышеуказанной сетевой системе процессор участника дополнительно выполнен с возможностью генерирования тестовых данных участника, кодирования тестовых данных участника с использованием второго совместно используемого ключа, передачи кодированных тестовых данных участника конфигуратору. Процессор конфигуратора дополнительно выполнен с возможностью декодирования кодированных тестовых данных участника с использованием второго совместно используемого ключа, верификации, были ли тестовые данные участника кодированы вторым совместно используемым ключом на участнике. Преимущественно, если участник выполнил что-то неправильно в любом месте протокола до настоящего времени, например, случайно смешивая конфигураторы и отвечая на неправильный, конфигуратор может знать ошибку на основе принятых тестовых данных и теста, который он сам вычисляет. Такие тестовые данные могут быть рассмотрены, чтобы авторизовать участника для конфигуратора.
В необязательном порядке, в вышеуказанной сетевой системе процессор конфигуратора дополнительно выполнен с возможностью генерирования тестовых данных конфигуратора, кодирования тестовых данных конфигуратора с использованием второго совместно используемого ключа, передачи кодированных тестовых данных конфигуратора участнику. Процессор участника дополнительно выполнен с возможностью декодирования кодированных тестовых данных конфигуратора с использованием второго совместно используемого ключа, верификации, были ли тестовые данные конфигуратора кодированы вторым совместно используемым ключом на конфигураторе. Преимущественно, если конфигуратор выполнил что-то неправильно в любом месте протокола до настоящего времени, например, случайно смешивая участников и отвечая на неправильного, участник может знать ошибку на основе принятых тестовых данных и теста, который он сам вычисляет. Такие тестовые данные могут быть рассмотрены, чтобы авторизовать конфигуратор для участника.
Различные операционные элементы в вышеуказанной системе могут быть реализованы посредством выполнения соответствующих способов, которые также дополнительно заданы в прилагаемой формуле изобретения.
Способ участника содержит
- хранение упомянутого первого общедоступного ключа участника и соответствующего первого секретного ключа участника и упомянутого второго общедоступного ключа участника и соответствующего второго секретного ключа участника,
- извлечение шаблона (140) данных через внеполосный канал, причем шаблона данных, обеспечиваемого в области и представляющего сетевой общедоступный ключ,
- выведение упомянутого первого совместно используемого ключа на основе сетевого общедоступного ключа и упомянутого первого секретного ключа участника,
- кодирование упомянутого второго общедоступного ключа участника с использованием упомянутого первого совместно используемого ключа,
- генерирование запроса сетевого доступа согласно протоколу безопасности, причем запроса сетевого доступа, включающего в себя упомянутый кодированный второй общедоступный ключ участника и упомянутый первый общедоступный ключ участника, и
- передачу запроса сетевого доступа устройству-конфигуратору через блок беспроводной связи участника.
Способ участника дополнительно содержит
- прием сообщения сетевого доступа от конфигуратора,
- выведение упомянутого второго совместно используемого ключа на основе упомянутого первого секретного ключа участника, упомянутого второго секретного ключа участника и сетевого общедоступного ключа,
- верификацию, было ли по меньшей мере одно из защищенных данных безопасности и защищенного общедоступного ключа конфигуратора криптографически защищено упомянутым вторым совместно используемым ключом, и, если это так,
- приведение в действие безопасной связи на основе упомянутого второго секретного ключа участника и данных безопасности.
Способ конфигуратора содержит
- хранение для устройства-конфигуратора общедоступного ключа конфигуратора и соответствующего секретного ключа конфигуратора, а для сетевой системы - сетевого общедоступного ключа и соответствующего сетевого секретного ключа,
- прием от устройства-участника запроса сетевого доступа согласно протоколу безопасности, причем запроса сетевого доступа, включающего в себя упомянутый кодированный второй общедоступный ключ участника и упомянутый первый общедоступный ключ участника,
- выведение упомянутого первого совместно используемого ключа на основе сетевого секретного ключа и упомянутого первого общедоступного ключа участника,
- декодирование упомянутого кодированного второго общедоступного ключа участника с использованием упомянутого первого совместно используемого ключа,
- верификацию, был ли упомянутый кодированный второй общедоступный ключ участника закодирован упомянутым первым совместно используемым ключом, и, если это так,
- генерирование данных безопасности с использованием упомянутого второго общедоступного ключа участника и секретного ключа конфигуратора,
- выведение упомянутого второго совместно используемого ключа на основе упомянутого первого общедоступного ключа участника, упомянутого второго общедоступного ключа участника и сетевого секретного ключа,
- защиту криптографически с использованием упомянутого второго совместно используемого ключа по меньшей мере одного из данных безопасности и общедоступного ключа конфигуратора, и
- генерирование сообщения сетевого доступа согласно протоколу безопасности.
Также, элементы или способы в вышеуказанной системе могут быть реализованы соответствующими устройствами для использования в сетевой системе, как задано выше по тексту. Устройство содержит беспроводной приемопередатчик, выполненный с возможностью беспроводной связи. Устройство выполнено с возможностью действовать как конфигуратор и содержит процессор устройства, выполненный с возможностью быть процессором конфигуратора, как задано в вышеуказанной системе. Устройство в качестве альтернативы может быть выполнено с возможностью действовать как участник и содержать процессор устройства, выполненный с возможностью быть процессором участника, как задано в вышеуказанной системе.
Способ согласно изобретению может быть реализован на компьютере в качестве реализованного компьютером способа или в выделенном аппаратном обеспечении, или в комбинации того и другого. Исполняемый код для способа согласно изобретению может быть сохранен на компьютерном программном продукте. Примеры компьютерных программных продуктов включают в себя устройства памяти, такие как модули памяти, оптические устройства хранения, такие как оптический диск, интегральные схемы, серверы, онлайновое программное обеспечение и так далее. Предпочтительно компьютерный программный продукт содержит долговременное средство программного кода, хранящееся на считываемом компьютером носителе, для выполнения способа согласно изобретению, когда упомянутый программный продукт исполняется на компьютере.
В предпочтительном варианте осуществления компьютерная программа содержит средство компьютерного программного кода, адаптированное с возможностью выполнения всех этапов или фаз способа согласно изобретению, когда компьютерная программа запускается на компьютере. Предпочтительно компьютерная программа воплощена на считываемом компьютером носителе.
Другой аспект изобретения обеспечивает способ создания компьютерной программы, доступной для загрузки, например, приложения на основе местоположения. Этот аспект используется, когда компьютерная программа выгружается, например, в App Store от Apple, в Play Store от Google или в Microsoft Windows Store и когда компьютерная программа является доступной для загрузки из такого магазина.
Дополнительные предпочтительные варианты осуществления устройств и способов согласно изобретению приведены в прилагаемой формуле изобретения, раскрытие которой включено в этом документе посредством ссылки.
Краткое описание чертежей
Эти и другие аспекты изобретения будут очевидны и дополнительно разъяснены со ссылкой на варианты осуществления, описанные в качестве примера в нижеследующем описании, и со ссылкой на сопроводительные чертежи, на которых
На фигуре 1 показана сетевая система,
На фигуре 2 показан первый пример сетевой системы и протокола безопасности,
На фигуре 3 показан второй пример сетевой системы и протокола безопасности,
На фигуре 4 показан третий пример сетевой системы и протокола безопасности,
На фигуре 5 показан четвертый пример сетевой системы и протокола безопасности,
На фигуре 6 показан пятый пример сетевой системы и протокола безопасности,
На фигуре 7 показан пример способа участника,
На фигуре 8 показан пример способа конфигуратора
На фигуре 9а показан считываемый компьютером носитель, и
На фигуре 9b показано схематическое представление процессорной системы.
Фигуры являются исключительно диаграммными и не выполнены в масштабе. На фигурах элементы, которые соответствуют уже описанным элементам, могут иметь одинаковые ссылочные позиции.
Осуществление изобретения
Чтобы получить доступ к сети, участник должен передать свою информацию одному или более другим устройствам в сети, например, конфигуратору и/или точке доступа (AP) в сети Wi-Fi. После этого участник принимает и проверяет подписанную информацию сетевого доступа и прерывает его в случае нахождения ошибки, например, в случае сбоя проверки подписи подписанной информации сетевого доступа. Другое устройство, которое принимает подписанную информацию сетевого доступа, может выполнять верификацию подписи в отношении подписанной информации сетевого доступа, чтобы выяснить, что она была правильно подписана общим конфигуратором. Если это так, другое устройство знает, что оно может доверять общедоступной информации шифрования сетевого доступа участника, содержащейся в принятой подписанной информации сетевого доступа, и что оно может использовать эту информацию в алгоритме выведения совместно используемого ключа для создания ключа связи между участником и собой. Другое устройство должно будет отправить свою подписанную информацию сетевого доступа участнику, чтобы участник мог выполнить аналогичную проверку и вывести тот же ключ связи. С этого момента участник и другое устройство могут основывать защиту своей беспроводной линии связи на выведенном ключе связи. Выведенный ключ связи, например, может быть использован в качестве парного главного ключа (PMK) в сети Wi-Fi. Общедоступная информация шифрования сетевого доступа участника может быть представлена в форме общедоступного ключа криптографии эллиптической кривой (ECC) или общедоступного ключа RSA (криптосистемы Ривеста, Шамира и Адлемана) или может быть общедоступными идентификационными данными или криптосистемой на основе идентификационных данных, такой как HIMMO [3].
Предлагаемая сетевая система, также называемая общедоступной сетевой системой, обеспечивает удобный способ настройки беспроводной связи для мобильных устройств в выбранной области, например, в магазине или в холле, зоне ожидания или на выходе на посадку аэропорта. В таких случаях владелец сети не заботится о том, кто получает доступ к его сети, но заботится о настройке сети (SSID, частотного диапазона, канала и так далее) и хочет обеспечить защиту линии связи в своей сети для защиты конфиденциальности связи всех устройств в сети. Общественные места, такие как рестораны и кафе, могут оперировать такими сетями. Оператору сети доставляет сильное беспокойство поход с устройством-конфигуратором к каждому клиенту, который желает получить доступ к сети. Типично в этом типе сети именно AP отвечает за это, но устройства, подобные AP, обычно не оснащены камерами, и даже если бы они были, это очень неудобно для пользователя, который хочет получить доступ к сети, чтобы приблизиться к такой AP (она даже может быть установлена на потолке), оперировать своей камерой и получить доступ. Использование других способов OOB также является очень обременительным в этом случае (создание соединения USB с AP, установленной на потолке? Выполнение касания NFC с AP на потолке? Настройка безопасной линии связи Bluetooth с AP?) Оператору такой сети хотелось бы, чтобы его клиенты могли получить безопасный доступ к его сети очень простым способом.
Аналогично, например, для общедоступного принтера в администрируемой среде, владелец принтера захочет администрировать использование спектра в своем помещении и устанавливать частотный диапазон и канал общедоступного принтера. Еще владелец захочет иметь доступ для каждого к этому принтеру, но безопасным способом. Такой принтер может быть оснащен камерой или сканером для считывания общедоступной информации шифрования со смартфона, с помощью которого пользователь хочет что-то напечатать, но пользовательский интерфейс принтера намного сложнее, чтобы расположить к себе пользователя и интуитивно его использовать, в отличие от пользовательского интерфейса смартфона. Однако для пользователя, который хочет что-то напечатать на своем смартфоне, было бы удобно захватить общедоступную информацию шифрования принтера, например, в форме общедоступного RSA или ECC-ключа или общедоступных идентификационных данных схемы шифрования на основе идентификационных данных с помощью камеры смартфона и затем начать работу печати на своем смартфоне с использованием информации, захваченной с помощью камеры, в качестве назначения работы печати.
Аналогично для общедоступного беспроводного стыковочного центра, беспроводной стыковочный центр может быть соединен беспроводным или проводным способом с несколькими периферийными устройствами, такими как монитор, клавиатура, мышь, громкоговорители и так далее или иметь некоторые из них в качестве встроенных периферийных устройств и может быть способен предлагать использование этих периферийных устройств по беспроводным каналам беспроводным стыковочным устройствам. Такой беспроводной стыковочный центр может быть настроен с использованием конфигуратора так, что беспроводной стыковочный центр будет безопасно соединен с беспроводными периферийными устройствами. Конфигуратор затем настроит беспроводной стыковочный центр так, что беспроводной стыковочный центр станет конфигуратором самого себя и беспроводных периферийных устройств. Конфигуратор может дать беспроводному стыковочному центру некоторые правила, по которым беспроводным стыковочным устройствам разрешено использовать беспроводной стыковочный центр. Такой беспроводной стыковочный центр может быть оснащен камерой или сканером для считывания общедоступной информации шифрования, например, общедоступного ключа ECC или RSA со смартфона, с помощью которого пользователь хочет осуществить использование беспроводного стыковочного центра, то есть, осуществить стыковку с беспроводным стыковочным центром. Однако для пользователя, который хочет осуществить стыковку своего смартфона с беспроводным стыковочным центром, было бы удобно захватить общедоступную информацию шифрования беспроводного стыковочного центра с помощью камеры смартфона, а затем использовать беспроводной стыковочный центр. Беспроводной стыковочный центр может отображать (возможно, динамическую) общедоступную информацию шифрования, например, на своем экране, или иметь статическую общедоступную информацию шифрования, напечатанную, например, на его корпусе.
В предлагаемой сетевой системе вместо того, чтобы конфигуратор считывал вне полосы общедоступную информацию шифрования участника, участник считывает внеполосную общедоступную информацию шифрования конфигуратора. Следует отметить, что для многих способов OOB устройство, чья информация OOB считывается, не должно быть осведомлено, что эта информация считывается. Это справедливо, например, когда код считывается камерой, сканером или человеком, когда NFC-метка считывается без электрического соединения с устройством и так далее.
В необязательном порядке, в начале беспроводной части протокола может быть определено, какое устройство будет конфигурировать другое устройство. Это означает, что устройства выполняют согласование того, кто будет конфигурировать и кого. Также может быть приведена в действие взаимная конфигурация. Добавление такой фазы согласования в протокол добавит (по меньшей мере) еще два сообщения, если это будет сделано прямолинейным способом.
Предлагается, чтобы участник считывал внеполосную общедоступную информацию шифрования конфигуратора, например, представляя сетевой общедоступный ключ, и инициировал беспроводную часть протокола, поскольку участник теперь является инициатором протокола. Сетевой общедоступный ключ можно также назвать "общедоступным ключом идентификационных данных конфигуратора".
Затем участник отправляет первое сообщение, включающее в себя общедоступную информацию шифрования сетевого доступа участника (позднее именуемую вторым общедоступным ключом участника), дополнительной информации, зашифрованной совместно используемым ключом, как разъясняется ниже по тексту. Это указывает другой стороне, конфигуратору или ответчику, что предполагается конфигурировать инициатора протокола. Благодаря такому действию ответчик имеет общедоступную информацию шифрования сетевого доступа, которую он должен подписать для предоставления инициатору доступа к сети, которую он администрирует.
В качестве альтернативы или дополнительно, если ответчик отправляет свою общедоступную информацию шифрования сетевого доступа инициатору, это может быть использовано для сигнализации того, что ответчик также хочет быть сконфигурированным посредством инициатора.
Беспроводные технологии обычно поддерживают способы, с помощью которых устройства могут позволить другим устройствам знать беспроводным способом то, на что они способны. Они могут, например, извещать о своих способностях, то есть, они вещают специальное сообщение с их способностями. Они могут, например, слушать сообщения выявления и после приема такого сообщения, которое по их мнению предназначено для них, отвечать сообщением, которое содержит информацию об их способностях и, возможно, другую информацию. Предлагаемое устройство-конфигуратор может иметь в своем списке способностей то, что оно может конфигурировать другие устройства (участников) согласно предлагаемому протоколу безопасности, что требует от участников считывать общедоступную информацию шифрования OOB и запрашивать конфигурацию себя.
Сетевые устройства, взаимодействующие согласно протоколу, называются участником (или инициатором) и конфигуратором (или ответчиком). В общем случае, когда неясно, кто кого будет конфигурировать, могут использоваться другие названия. Если первое сообщение сетевого доступа содержит общедоступную информацию шифрования сетевого доступа, отправитель хочет быть сконфигурированным конфигуратором на ответчике. Затем ответчик отправляет подписанную информацию сетевого доступа. Дополнительная информация о регистрации, такая как атрибуты, также может быть включена с общедоступной информацией шифрования сетевого доступа в раннем сообщении предлагаемого протокола.
На фигуре 1 показана сетевая система. Сетевая система выполнена с возможностью беспроводной связи 150, 150', такой как Wi-Fi, между сетевыми устройствами в области и выполнена с возможностью безопасной связи согласно протоколу безопасности, как объясняется ниже по тексту. Дополнительные специфические аспекты протокола описаны со ссылкой на фигуры 2-5.
Сетевая система 100 содержит несколько сетевых устройств (110, 120, 130), причем каждое сетевое устройство может взаимодействовать через сеть с использованием предварительно заданных протоколов связи и протоколов безопасности. Сеть выполнена с возможностью обеспечения доступа к дополнительным сетевым устройствам в области, например, для обеспечения сетевых служб устройствам поблизости. Например, сетевая система может включать в себя точку доступа (AP), действующую как центр образования пары для других сетевых устройств, которые ассоциированы с этой AP, например, мобильных телефонов или лэптопов, которые настроили ключ связи с AP. Связь между сетевыми устройствами с друг другом и с другими сетями, например, корпоративной интрасетью или сетью Интернет, может проходить через AP. Устройства могут непосредственно осуществлять связь, а не через устройства, такие как AP, и могут настраивать ключи связи друг с другом.
На фигуре показан участник 110, то есть, сетевое устройство, которое намерено участвовать в сети в упомянутой области, действующее как участник. Участник, как показано, имеет датчик 113 участника, процессор 111 участника и блок 112 беспроводной связи участника, которые выполнены с возможностью приведения в действие безопасной связи согласно предварительно заданным протоколам связи и протоколам безопасности.
На фигуре показан конфигуратор 130, то есть, дополнительное сетевое устройство в сетевой системе, действующее как конфигуратор. Это может быть отдельное сетевое устройство или роль, встроенная в точку доступа или другое сетевое устройство. Конфигуратор, как показано, имеет процессор 131 конфигуратора и блок 132 связи конфигуратора, причем эти блоки выполнены с возможностью связи с участником согласно предварительно заданным протоколам связи и протоколам безопасности, как объясняется ниже по тексту. Блок связи конфигуратора может быть блоком беспроводной связи. Блок связи конфигуратора также может осуществлять связь через какой-либо другой сетевой канал с точкой доступа, которая затем беспроводным образом осуществляет связь с участником. Чтобы обеспечивать возможность конфигуратору управлять доступом к сетевой системе, как разъясняется ниже по тексту, конфигуратор имеет различные учетные данные, такие как общедоступный ключ конфигуратора и соответствующий секретный ключ конфигуратора.
Сетевая система 100 может содержать по меньшей мере одно дополнительное сетевое устройство 120, которое уже является частью сети и может быть доступно для безопасной связи с участником. Дополнительное устройство имеет процессор дополнительного устройства и дополнительный блок беспроводной связи, которые выполнены с возможностью приведения в действие безопасной связи согласно предварительно заданным протоколам связи и протоколам безопасности.
Участник выполнен с возможностью действовать согласно протоколу безопасности для получения доступа к сети. При работе участник имеет в памяти процессора участника первый общедоступный ключ участника и соответствующий первый секретный ключ участника, а также второй общедоступный ключ участника и соответствующий второй секретный ключ участника. Конфигуратор выполнен с возможностью обеспечения безопасной связи для участника согласно протоколу безопасности. При работе конфигуратор имеет в памяти процессора конфигуратора общедоступный ключ конфигуратора и соответствующий секретный ключ конфигуратора для устройства-конфигуратора, а для сетевой системы - сетевой общедоступный ключ и соответствующий сетевой секретный ключ.
Датчик участника и процессор участника выполнены с возможностью извлечения шаблона 140 данных через датчик 113 участника, что обозначено пунктирной стрелкой 151 на фигуре. Шаблон данных обеспечивается в области и представляет собой сетевой общедоступный ключ. Например, шаблон данных может быть штрихкодом или QR-шаблоном. Извлечение шаблона данных через датчик составляет собой внеполосный канал (OOB). Во введении обсуждались различные примеры таких OOB-каналов и шаблонов. OOB, составленный датчиком, извлекающим шаблон, работает в одном направлении, то есть, получает информацию из сети для участника. Датчик участника может быть любым подходящим детектором или приемником, который может обнаруживать или принимать шаблон, который используется в фактической настройке системы, поскольку такой шаблон может быть обеспечен несколькими способами. Шаблон обеспечивается для сетевой системы в области, которая предназначена для пользователей других сетевых устройств, которые потенциально допускаются для доступа к сети. Область может быть офисом, магазином, общественным местом, аэродромом и так далее. Шаблон может, например, быть QR-кодом или штрих-кодом, а соответствующий датчик является камерой или детектором ИК-лучей мобильного сетевого устройства. Шаблон может быть обеспечен на бумаге, например, в меню или квитанции, или может быть показан на устройстве отображения или в какой-либо другой физической форме. Каналом OOB также может быть NFC или Bluetooth в случае, если сетевая связь (в диапазоне) основана на Wi-Fi, поэтому датчиком участника будет блок Bluetooth или детектор NFC-меток. Таким образом, датчик относится к любому подходящему детектору или приемнику для обнаружения шаблона данных с использованием внеполосного канала, то есть канала, использующего другую технологию, отличную от технологии беспроводной связи в сети.
Процессор участника выполнен с возможностью выведения первого совместно используемого ключа на основе сетевого общедоступного ключа и упомянутого первого секретного ключа участника. Таким образом, выведение совместно используемых ключей с использованием пар общедоступного/секретного ключей было известно и было разъяснено во введении. Процессор участника выполнен с возможностью последующего кодирования второго общедоступного ключа участника с использованием первого совместно используемого ключа. Затем процессор участника генерирует запрос сетевого доступа согласно протоколу безопасности. Запрос сетевого доступа включает в себя кодированный второй общедоступный ключ участника и первый общедоступный ключ участника. Процессор участника выполнен с возможностью передачи запроса сетевого доступа конфигуратору посредством беспроводной связи. Сообщение запроса сетевого доступа и последующие сообщения могут быть в форме так называемых кадров действий или самозащищенных кадров действий, как задано в IEEE 802.11(2012) [4].
Процессор 131 конфигуратора выполнен с возможностью приема запроса сетевого доступа от участника посредством беспроводной связи либо непосредственно через блок 132 связи конфигуратора, либо через какой-либо другой беспроводной приемник в сети, такой как точка доступа. Процессор конфигуратора также выводит упомянутый первый совместно используемый ключ на основе сетевого секретного ключа и упомянутого первого общедоступного ключа участника. Впоследствии процессор конфигуратора декодирует кодированный второй общедоступный ключ участника с использованием первого совместно используемого ключа, например, посредством дешифрования кодированных данных предварительно заданным криптографическим способом с использованием первого совместно используемого ключа. Далее процессор конфигуратора криптографически верифицирует, был ли кодированный второй общедоступный ключ участника кодирован первым совместно используемым ключом. Если кодирование было правильным, процессор конфигуратора решает разрешить доступ к сети для участника и переходит к генерированию данных безопасности с использованием второго общедоступного ключа участника и секретного ключа конфигуратора. Процессор конфигуратора выводит второй совместно используемый ключ на основе упомянутого первого общедоступного ключа участника, упомянутого второго общедоступного ключа участника и сетевого секретного ключа. Как несколько ключей могут быть использованы, было разъяснено ранее во введении. Далее процессор конфигуратора криптографически защищает по меньшей мере одно из данных безопасности и общедоступного ключа конфигуратора при использовании второго совместно используемого ключа. Например, в качестве данных безопасности может быть вычислена подпись или может быть сгенерирован дополнительный сеансовый ключ. Дополнительные подробные примеры обсуждаются ниже по тексту. Процессор конфигуратора затем генерирует сообщение сетевого доступа согласно протоколу безопасности. Сообщение сетевого доступа включает в себя криптографически защищенные данные, то есть, по меньшей мере одно из защищенных данных безопасности и защищенного общедоступного ключа конфигуратора.
Роль конфигуратора имеет по меньшей мере две пары ключей. Первая пара предназначена для настройки первого совместно используемого секрета с участником. Этот ключ может меняться со временем или может быть постоянным. Вторая пара является парой ключей, используемой для подписания второго общедоступного ключа участника (или общедоступного сетевого ключа) участника, так что другие устройства, которые были зарегистрированы одним и тем же конфигуратором (или устройством, которое может подписывать от имени конфигуратора) знают, что они могут доверять второму общедоступному ключу участника и использовать его для выведения ключа связи. Возможная третья пара ключей конфигуратора может быть использована для настройки дополнительного совместно используемого секрета. Эта третья пара будет эфемерной парой (то есть, временным набором ключей для одноразового использования).
Все устройства в сети, у которых есть их второй общедоступный ключ участника, подписанный конфигуратором (или одним из устройств, действующих от имени конфигуратора), могут обмениваться их вторыми общедоступными ключами и использовать их в протоколе выведения совместно используемого ключа Диффи-Хеллмана, например, с помощью 4-стороннего квитирования из IEEE 802.11 (2012) [4], чтобы вывести ключ связи для защиты их будущей беспроводной связи. Эти подписанные общедоступные ключи можно назвать "подписанной информацией сетевого доступа".
Процессор участника дополнительно выполнен с возможностью приема сообщения сетевого доступа от конфигуратора посредством беспроводной связи. Если такое сообщение принято, процессор участника переходит к процессу регистрации следующим образом. Процессор участника выводит упомянутый второй совместно используемый ключ на основе упомянутого первого секретного ключа участника, упомянутого второго секретного ключа участника и сетевого общедоступного ключа. Далее процессор участника верифицирует, было ли по меньшей мере одно из защищенных данных безопасности и защищенного общедоступного ключа конфигуратора криптографически защищено упомянутым вторым совместно используемым ключом. Если кодирование было правильным, процессор участника решает осуществить доступ к сети и переходит к приведению в действие безопасной связи на основе своего второго секретного ключа участника и данных безопасности. Безопасная связь может быть дополнительной связью с конфигуратором или с другими устройствами в сети. В настоящее время обсуждаются различные примеры вариантов осуществления, которые могут быть объединены, когда это необходимо.
В варианте осуществления вышеуказанной сетевой системы процессор участника выполнен с возможностью генерирования временного общедоступного ключа участника и соответствующего временного секретного ключа участника, причем эти ключи составляют первый общедоступный ключ участника и соответствующий первый секретный ключ участника. Такие временные ключи могут быть сгенерированы генератором случайных данных, который производит требуемое количество случайных битов, задавая секретный ключ и впоследствии вычисляя соответствующий общедоступный ключ, например, как разъясняется во введении. Использование таких временных ключей повышает безопасность, поскольку злоумышленники не могут использовать какие-либо знания предыдущих сеансов.
В варианте осуществления вышеуказанной сетевой системы процессор участника выполнен с возможностью генерирования дополнительного временного общедоступного ключа участника и соответствующего дополнительного временного секретного ключа участника, причем эти ключи составляют второй общедоступный ключ участника и соответствующий второй секретный ключ участника. Использование дополнительной пары временных общедоступного и секретного ключей участника дополнительно повышает безопасность при использовании таких временных ключей для приведения в действие безопасной связи с различными сетевыми устройствами.
В варианте осуществления вышеуказанной сетевой системы процессор конфигуратора выполнен с возможностью генерирования временного сетевого общедоступного ключа и соответствующего временного сетевого секретного ключа, причем эти ключи составляют сетевой общедоступный ключ и соответствующий сетевой секретный ключ. Использование пары временных сетевых общедоступного и секретного ключей дополнительно повышает безопасность при использовании таких временных ключей конфигуратором. Также должен быть сгенерирован и раскрыт соответствующий шаблон данных (например, напечатанный или отображенный), чтобы сделать временный сетевой общедоступный ключ доступным через OOB-канал.
В варианте осуществления вышеуказанной сетевой системы данные безопасности являются информацией авторизации от конфигуратора, информация авторизации которого авторизует участника для осуществления доступа к сети. Например, информация авторизации содержит подпись, сгенерированную конфигуратором данных, уже известную участнику, или дополнительные данные, такие как сертификат, содержащий идентификационные данные конфигуратора или сети, и одну или более соответствующих подписей, и/или соответствующий общедоступный ключ(и), или подписанный общедоступный ключ участника (также называемый соединителем).
В варианте осуществления вышеуказанной сетевой системы процессор конфигуратора дополнительно выполнен с возможностью генерирования данных безопасности посредством обеспечения сеансового ключа конфигуратора и передачи сеансового ключа конфигуратора участнику. Также, процессор участника дополнительно выполнен с возможностью приема сеансового ключа конфигуратора и приведения в действие безопасной связи на основе сеансового ключа конфигуратора. Сеансовый ключ конфигуратора может быть защищен шифрованием во время передачи. Например, сеансовый ключ конфигуратора может быть фразой-паролем Wi-Fi, известной по существу. Упомянутый вариант осуществления обеспечивает возможность передачи фразы-пароля Wi-Fi унаследованной точки доступа участнику, который реализован согласно изобретению.
В варианте осуществления вышеуказанной сетевой системы процессор конфигуратора дополнительно выполнен с возможностью генерирования данных безопасности посредством генерирования сеансового общедоступного ключа конфигуратора и соответствующего сеансового секретного ключа конфигуратора, и выведения третьего совместно используемого ключа на основе сеансового секретного ключа конфигуратора и второго общедоступного ключа участника, и передачи сеансового общедоступного ключа конфигуратора участнику. Также процессор участника дополнительно выполнен с возможностью приема сеансового общедоступного ключа конфигуратора, выведения третьего совместно используемого ключа на основе второго секретного ключа участника и сеансового общедоступного ключа конфигуратора и приведения в действие безопасной связи на основе третьего совместно используемого ключа.
В необязательном порядке, в вышеуказанной системе процессор участника дополнительно выполнен с возможностью генерирования сеансового общедоступного ключа участника и соответствующего сеансового секретного ключа участника, выведения четвертого совместно используемого ключа на основе сеансового секретного ключа участника и общедоступного ключа конфигуратора и передачи сеансового общедоступного ключа участника конфигуратору; и процессор конфигуратора дополнительно выполнен с возможностью выведения четвертого совместно используемого ключа на основе секретного ключа конфигуратора и сеансового общедоступного ключа участника и приведения в действие безопасной связи на основе четвертого совместно используемого ключа.
В варианте осуществления вышеуказанная сетевая система содержит дополнительное сетевое устройство, выполненное с возможностью приема второго общедоступного ключа участника и данных безопасности, и обеспечения сеансового сетевого общедоступного ключа и соответствующего сеансового сетевого секретного ключа. Дополнительное сетевое устройство выводит пятый совместно используемый ключ на основе сеансового сетевого секретного ключа и упомянутого второго общедоступного ключа участника и передает сеансовый сетевой общедоступный ключ участнику. Также процессор участника дополнительно выполнен с возможностью приема сеансового сетевого общедоступного ключа и выведения пятого совместно используемого ключа на основе второго секретного ключа участника и сеансового сетевого общедоступного ключа. Далее участник обеспечивается возможностью приведения в действие безопасной связи с дополнительным сетевым устройством на основе упомянутого пятого совместно используемого ключа.
В варианте осуществления вышеуказанной сетевой системы процессор конфигуратора дополнительно выполнен с возможностью генерирования данных безопасности, содержащих цифровую подпись, посредством цифровой подписи упомянутого второго общедоступного ключа участника с помощью секретного ключа конфигуратора, и передачи цифровой подписи третьему устройству и/или участнику для обеспечения возможности безопасной связи между участником и упомянутым третьим устройством. Допустимая подпись обеспечивает возможность безопасной связи, поскольку подпись дает доверие устройству. Ключ, используемый для связи, не должен быть основан на подписи как таковой. Безопасная связь может быть основана на нескольких элементах, таких как ключ, но также и на подписи над общедоступным ключом, поскольку устройство, принимающее подписанный общедоступный ключ, будет доверять этому общедоступному ключу и, например, использовать его для настройки безопасного канала с использованием Diffie-Hellman, потому что оно доверяет устройству, которое подписало общедоступный ключ. Доверенным подписчиком может быть конфигуратор.
В варианте осуществления вышеуказанной сетевой системы процессор конфигуратора дополнительно выполнен с возможностью генерирования дополнительного сообщения, включающего в себя второй общедоступный ключ участника и цифровую подпись, и передачи дополнительного сообщения дополнительному устройству и/или участнику. Поскольку в дополнительном устройстве теперь имеется второй общедоступный ключ участника и цифровая подпись, обеспечиваемая конфигуратором, обеспечивается возможность безопасной связи между участником и дополнительным устройством.
В варианте осуществления вышеуказанной сетевой системы процессор участника дополнительно выполнен с возможностью приема цифровой подписи. Процессор участника криптографически верифицирует на основе цифровой подписи и общедоступного ключа конфигуратора, был ли правильно подписан упомянутый второй общедоступный ключ участника. Если это так, то участник знает, что намеренный конфигуратор осуществил подпись, и участник может на основе второго секретного ключа участника привести в действие безопасную связь с другими сетевыми устройствами, которые были сконфигурированы через намеренный конфигуратор.
В варианте осуществления вышеуказанная сетевая система содержит дополнительное сетевое устройство, выполненное с возможностью получения общедоступного ключа конфигуратора и приема цифровой подписи и второго общедоступного ключа участника. Дополнительное сетевое устройство верифицирует на основе цифровой подписи и общедоступного ключа конфигуратора, был ли правильно подписан второй общедоступный ключ участника и, если это так, приводит в действие безопасную связь с участником на основе второго общедоступного ключа участника.
В варианте осуществления вышеуказанной сетевой системы процессор конфигуратора дополнительно выполнен с возможностью генерирования дополнительных данных безопасности, содержащих дополнительную цифровую подпись, посредством цифровой подписи с помощью секретного ключа конфигуратора дополнительного общедоступного ключа дополнительного сетевого устройства. Также процессор участника дополнительно выполнен с возможностью использования дополнительных данных безопасности посредством приема дополнительного общедоступного ключа и дополнительной цифровой подписи и криптографической верификации на основе дополнительной цифровой подписи и общедоступного ключа конфигуратора, был ли дополнительный общедоступный ключ правильно подписан. Если это так, участник может осуществлять безопасную связь с дополнительным сетевым устройством с использованием упомянутого второго секретного ключа участника и дополнительного общедоступного ключа. Также процессор участника может быть дополнительно выполнен с возможностью приема дополнительного общедоступного ключа и дополнительной цифровой подписи от конфигуратора или от дополнительного сетевого устройства.
В варианте осуществления вышеуказанной сетевой системы процессор участника дополнительно выполнен с возможностью генерирования тестовых данных участника, кодирования тестовых данных участника с использованием второго совместно используемого ключа, и передачи кодированных тестовых данных участника конфигуратору. Также процессор конфигуратора дополнительно выполнен с возможностью декодирования кодированных тестовых данных участника с использованием второго совместно используемого ключа, и криптографической верификации, были ли тестовые данные участника кодированы вторым совместно используемым ключом на участнике. Такие тестовые данные могут быть рассмотрены, чтобы авторизовать участника для конфигуратора.
В варианте осуществления вышеуказанной сетевой системы процессор конфигуратора дополнительно выполнен с возможностью генерирования тестовых данных конфигуратора, кодирования тестовых данных конфигуратора с использованием второго совместно используемого ключа, и передачи кодированных тестовых данных конфигуратора участнику. Также процессор участника дополнительно выполнен с возможностью декодирования кодированных тестовых данных конфигуратора с использованием второго совместно используемого ключа, и криптографической верификации, были ли тестовые данные конфигуратора кодированы вторым совместно используемым ключом на конфигураторе. Такие тестовые данные могут быть рассмотрены, чтобы авторизовать конфигуратор для участника.
В нижеследующем подробно описываются сетевая система и протоколы безопасности со ссылкой на фигуры 2-5.
На фигуре 2 показан первый пример сетевой системы и протокола безопасности. Аспекты системы, которые соответствуют системе, описанной выше по тексту со ссылкой на фигуру 1, здесь не повторяются. Показано, что участник 210 осуществляет связь беспроводным способом согласно протоколу 200 безопасности с конфигуратором 230. Оба показанных устройства предназначены для осуществления связи через соответствующий блок 240, 240' Wi-Fi.
k1
В этом примере протокол безопасности обеспечивает аутентификацию с использованием двух сообщений. Первое сообщение представляет собой запрос 250 сетевого доступа, который содержит следующие элементы: H(CI), EE, {E-nonce, EN, E-Attributes}
k2
Второе сообщение представляет собой ответ 260 сетевого доступа, который имеет следующие элементы: H(CI), {E-nonce, [C-name,] [C-sign-key,] SecurityData}
В сообщении приведены следующие элементы:
H(CI) в сообщениях представляет собой хеш по идентификационным данным конфигуратора, такой как общедоступный ключ конфигуратора;
k
{Information} указывает информацию, которая шифруется с помощью ключа k;
[Info] указывает необязательную информацию;
EE в сообщении является первым общедоступным ключом участника;
EN в первом сообщении является вторым общедоступным ключом участника;
E-атрибуты представляют собой данные, задающие требуемый сетевой доступ;
1
K является первым совместно используемым ключом на основе сетевого общедоступного ключа и упомянутого первого секретного ключа участника;
2
K представляет собой второй совместно используемый ключ на основе упомянутого первого общедоступного ключа участника, упомянутого второго общедоступного ключа участника и сетевого секретного ключа;
E-nonce представляет собой защитное слово, обеспечиваемое участником;
C-name представляет собой имя, обеспечиваемое конфигуратором;
C-sign-key является ссылкой на конфигуратор общедоступного ключа подписи или самого общедоступного ключа подписи конфигуратора;
SecurityData может быть подписанным общедоступным ключом участника EN, фразой-паролем Wi-Fi и так далее.
H(CI), который используется в качестве указателя того, что это сообщение предназначено для конфигуратора, без предоставления общедоступного ключа конфигуратора остальному миру. H(CI) в других сообщениях используется как простой способ связывания сообщений. Повторение защитных слов в сообщениях также предназначено для связывания сообщений, но теперь с криптографически защищенным способом, поскольку любое устройство может отвечать сообщением, начинающимся с H(CI).
Второе сообщение может содержать сертификат, который может состоять из имени конфигуратора (C-name), ссылки на конфигуратор ключа подписи (C-sign-key) и SecurityData. SecurityData может быть подписан конфигуратором. Общедоступный ключ участника (EN) может быть в SecurityData.
На фигуре 3 показан второй пример сетевой системы и протокола безопасности. Аспекты протокола, которые соответствуют системе, описанной выше по тексту со ссылкой на фигуру 2, здесь не повторяются. В этом примере протокол 300 безопасности обеспечивает аутентификацию с использованием четырех сообщений. Протокол обеспечивает аутентификацию с двумя дополнительными сообщениями для более безопасной аутентификации по сравнению с вышеуказанным протоколом 200.
k1
Первое сообщение представляет собой запрос 351 сетевого доступа, который содержит следующие элементы: H(CI), EE, {E-nonce, EN}
k1
k2
Второе сообщение представляет собой ответ 352 аутентификации и содержит следующие элементы: H(CI), {C-nonce | E-nonce}, {C-testdata}
k2
Третье сообщение предствляет собой подтверждение 353 аутентификации и содержит следующие элементы: H(CI), {E-testdata, E-Attributes}
k2
Четвертое сообщение представляет собой ответ 354 сетевого доступа и содержит следующие элементы: H(CI), {[C-name,] [C-sign-key,] SecurityData}
В примерном варианте осуществления элементы называются следующим образом:
- конфигуратор (230)
- общедоступная информация шифрования конфигуратора (CI)
- секретная информация шифрования конфигуратора (CIpr)
- первая информация авторизации (C-testdata)
- зашифрованная первая информация авторизации ({C-testdata})
- вторая информация авторизации (E-testdata)
- зашифрованная вторая информация авторизации ({E-testdata})
- беспроводное средство вывода (240')
- участник (210)
- средство ввода (113)
- общедоступная информация шифрования сетевого доступа участника (EN)
- секретная информация шифрования сетевого доступа участника (ENpr)
- зашифрованная общедоступная информация шифрования сетевого доступа участника ( {EN} )
- общедоступная временная информация шифрования участника (EE)
- секретная временная информация шифрования участника (EEpr)
- второй участник (120)
- первая подписанная информация сетевого доступа (SecurityData)
- первый совместно используемый ключ (k1)
- второй совместно используемый ключ (k2)
- вторая подписанная информация сетевого доступа (SecurityData2)
- беспроводная связь (150, 150)
В примерном варианте осуществления сетевой системы протокол выполняется следующим образом. Система беспроводной связи имеет по меньшей мере один конфигуратор (230) и по меньшей мере одного участника (210). Конфигуратор (230) и участник (210) выполнены с возможностью связи по беспроводной связи. Участник (210) содержит процессор (112) участника и средство (113) ввода с использованием технологии, отличной от беспроводной связи, для считывания или ввода общедоступной информации (CI) шифрования конфигуратора. Участник также имеет общедоступную информацию (EN) шифрования сетевого доступа участника и ассоциированную секретную информацию (ENpr) шифрования сетевого доступа участника. Процессор участника выполнен с возможностью
- генерирования общедоступной временной информации (EE) шифрования участника и ассоциированной секретной временной информации (EEpr) шифрования участника,
- вычисления первого совместно используемого ключа (k1) с использованием по меньшей мере общедоступной информации (CI) шифрования конфигуратора и секретной временной информации (EEpr) шифрования участника,
- шифрования общедоступной информации (EN) шифрования сетевого доступа участника с помощью первого совместно используемого ключа (k1) для формирования зашифрованной общедоступной информации ({EN}) шифрования сетевого доступа участника,
- отправки общедоступной временной информации (EE) шифрования участника с зашифрованной общедоступной информацией ({EN}) шифрования сетевого доступа участника конфигуратору (230) по беспроводной связи.
Отмечается, что отправка общедоступного сетевого ключа (EN) участника означает, что инициатором протокола является участник, желающий быть зарегистрированным в сети партнера-ответчика, и что инициатор протокола не действует как конфигуратор, который желает конфигурировать ответчика в качестве участника в одной из сетей, администрируемых инициатором протокола.
Впоследствии процессор участника может быть выполнен с возможностью в дополнительном сообщении
- приема по беспроводной связи зашифрованной первой информации ( {C-testdata} ) авторизации от конфигуратора (230),
- вычисления второго совместно используемого ключа (k2) с использованием по меньшей мере общедоступной информации (CI) шифрования конфигуратора, секретной временной информации (EEpr) шифрования участника и секретной информации (ENpr) шифрования сетевого доступа участника,
- дешифрования зашифрованной первой информации ( {C-testdata} ) авторизации от конфигуратора (230) для получения первой информации (C-testdata) авторизации,
- прерывания процедуры, если процесс получения первой информации (C-testdata) авторизации обнаружил ошибку.
Впоследствии процессор участника может быть выполнен с возможностью в следующем сообщении
- генерирования второй информации (E-testdata) авторизации,
- шифрования второй информации (E-testdata) авторизации с помощью второго совместно используемого ключа (k2) для формирования зашифрованной второй информации ( {E-testdata} ) авторизации,
- отправки зашифрованной второй информации ( {E-testdata} ) авторизации конфигуратору (230) по беспроводной связи.
Впоследствии процессор участника может быть выполнен с возможностью в том же или дополнительном сообщении
- отправки зашифрованной требуемой информации ( {E-attributes} ) конфигурации конфигуратору (230) по беспроводной связи.
Впоследствии процессор участника может быть выполнен с возможностью в следующем сообщении
- приема по беспроводной связи первой подписанной информации (SecurityData) сетевого доступа от конфигуратора (230),
- прерывания процедуры, если первая подписанная информация (SecurityData) сетевого доступа неправильно подписана.
Наконец, процессор участника может быть выполнен с возможностью в дополнительном сообщении
- приема второй подписанной информации (SecurityData2) сетевого доступа от второго участника (120)
- настройки безопасной связи со вторым участником (120) с использованием первой подписанной информации (SecurityData) сетевого доступа и второй подписанной информации (SecurityData2) сетевого доступа и, возможно, также своей секретной информации (ENpr) шифрования сетевого доступа.
В примерном варианте осуществления сетевой системы конфигуратор (230) содержит процессор (131) конфигуратора. Конфигуратор (230) дополнительно имеет общедоступную информацию (CI) шифрования конфигуратора и ассоциированную секретную информацию (CIpr) шифрования конфигуратора. Конфигуратор может иметь средство вывода с использованием технологии, отличной от беспроводной связи, для вывода или отображения общедоступной информации (CI) шифрования конфигуратора, такое как устройство отображения. Процессор конфигуратора выполнен с возможностью
- приема общедоступной временной информации (EE) шифрования участника с зашифрованной общедоступной информацией ( {EN} ) шифрования сетевого доступа участника от участника (210) по беспроводной связи,
- вычисления первого совместно используемого ключа (k1) с использованием по меньшей мере секретной информации (CIpr) шифрования конфигуратора и общедоступной временной информации (EE) шифрования участника,
- дешифрования зашифрованной общедоступной информации ( {EN} ) шифрования сетевого доступа участника с помощью первого совместно используемого ключа (k1) для получения общедоступной информации (EN) шифрования сетевого доступа участника,
- прерывания процедуры, если процесс получения общедоступной информации (EN) шифрования сетевого доступа участника обнаружил ошибку,
- генерирования первой информации (C-testdata) авторизации,
- вычисления второго совместно используемого ключа (k2) с использованием по меньшей мере секретной информации (CIpr) шифрования конфигуратора, общедоступной временной информации (EE) шифрования участника и общедоступной информации (EN) шифрования сетевого доступа участника,
- шифрования первой информации (C-testdata) авторизации для формирования зашифрованной первой информации ( {C-testdata} ) авторизации,
- отправки по беспроводной связи зашифрованной первой информации ( {C-testdata} ) авторизации участнику (210).
Впоследствии процессор конфигуратора может быть выполнен с возможностью в дополнительном сообщении
- приема зашифрованной второй информации ( {E-testdata} ) авторизации от участника (210) по беспроводной связи,
- дешифрования зашифрованной второй информации ( {E-testdata} ) авторизации с помощью второго совместно используемого ключа (k2) для получения второй информации (E-testdata) авторизации,
- прерывания процедуры, если процесс получения второй информации (E-testdata) авторизации обнаружил ошибку.
Впоследствии процессор конфигуратора может быть выполнен с возможностью в дополнительном сообщении
- цифровой подписи общедоступной информации (EN) шифрования сетевого доступа участника,
- использования подписанной цифровым образом общедоступной информации (EN) шифрования сетевого доступа участника для формирования первой подписанной информации (SecurityData) сетевого доступа,
- отправки по беспроводной связи первой подписанной информации (SecurityData) сетевого доступа участнику (210).
Отмечается, что различные защитные слова (C-nonce, E-nonce) могут быть сгенерированы и добавлены к сообщениям и/или зашифрованным частям таких сообщений, чтобы сделать сообщения уникальными.
На фигуре 4 показан третий пример сетевой системы и протокола безопасности. Аспекты протокола, которые соответствуют системе, описанной выше по тексту со ссылкой на фигуру 3, здесь не повторяются. В этом примере протокол 400 безопасности обеспечивает аутентификацию с использованием пяти сообщений. Упомянутый протокол обеспечивает части инициализации аутентификации и сетевого доступа в отдельных сообщениях по сравнению с вышеуказанными протоколами.
k1
Первое сообщение представляет собой запрос 451 сетевого доступа, который содержит следующие элементы: H(CI), EE, {E-nonce, EN}
k1
k2
Второе сообщение представляет собой ответ 452 аутентификации и содержит следующие элементы: H(CI), {C-nonce | E-nonce}, {C-testdata}
k2
Третье сообщение предствляет собой подтверждение 453 аутентификации и содержит следующие элементы: H(CI), {E-testdata}
k2
Четвертое сообщение представляет собой информацию 454 сетевого доступа и содержит следующие элементы: H(CI), {E-Attributes}
Пятое сообщение представляет собой ответ 455 сетевого доступа и содержит следующие элементы:
k2
H(CI), {[C-name,] [C-sign-key,] SecurityData}
Первые три сообщения обеспечивают аутентификацию, где четвертое и пятое сообщение обеспечивают инициализацию сетевого доступа.
На фигуре 5 показан четвертый пример сетевой системы и протокола безопасности. Аспекты протокола, которые соответствуют системе, описанной выше по тексту со ссылкой на фигуру 2, здесь не повторяются. Сетевое устройство NDEV 510 осуществляет связь с точкой доступа AP 530. В этом примере протокол 500 безопасности обеспечивает сетевой доступ на основе общедоступных ключей. Протокол обменивает подписанные общедоступные ключи, содержащиеся в SecurityData, и продолжает выводить парный главный ключ (PMK), например, совместно используемый секретный ключ, используемый в протоколе IEEE 802.11i-2004, для 4-стороннего квитирования с использованием Диффи-Хеллмана.
Первое сообщение 551 содержит следующие элементы: SecurityData, содержащий подписанный общедоступный ключ сетевого устройства.
Второе сообщение 552 содержит следующие элементы: SecurityData, содержащий подписанный общедоступный ключ точки доступа.
Последовательность 553 дополнительных сообщений обеспечивает следующее: 4-стороннее квитирование и безопасную связь Wi-Fi по WPA2. Защищенный доступ Wi-Fi (WPA) и защищенный доступ Wi-Fi II (WPA2) представляют собой два протокола безопасности и программы сертификации безопасности, разработанные альянсом Wi-Fi для безопасности беспроводных компьютерных сетей. Альянс задал их в ответ на серьезные недостатки, обнаруженные исследователями в предыдущей системе, конфиденциальности на уровне проводных сетей (WEP). WPA (иногда упоминаемый как проект стандарта IEEE 802.11i) стал доступен в 2003 году. Альянс Wi-Fi намеревался использовать его как промежуточную меру в ожидании доступности более безопасного и сложного WPA2. WPA2 стал доступен в 2004 году и является общим сокращением для полного стандарта IEEE 802.11i (или стандарта IEEE 802.11i - 2004); IEEE 802.11(2012) объединил IEEE 802.11i.
На фигуре 6 показан пятый пример сетевой системы и протокола безопасности. Аспекты протокола, которые соответствуют системе, описанной выше по тексту со ссылкой на фигуру 5, здесь не повторяются. В этом примере протокол 600 безопасности обеспечивает сетевой доступ на основе фразы-пароля Wi-Fi. Протокол выводит PMK для 4-стороннего квитирования с фразой-паролем Wi-Fi в SecurityData.
Последовательность 651 сообщений обеспечивает следующее: 4-стороннее квитирование и безопасную связь Wi-Fi по WPA2.
На фигуре 7 показан пример способа участника. Этот способ предназначен для использования в сетевом устройстве, действующем как участник в сетевой системе, как описано выше по тексту. Способ начинается на узле START 701 и включает в себя в качестве первой фазы ACQP 702 извлечение шаблона данных через внеполосный канал посредством датчика участника. Шаблон данных обеспечивается в области и представляет собой сетевой общедоступный ключ. На следующей фазе D_E_K1 703 первый совместно используемый ключ выводится на основе сетевого общедоступного ключа и первого секретного ключа участника, а второй общедоступный ключ участника кодируется с использованием первого совместно используемого ключа. На следующей фазе G_NAR 704 запрос сетевого доступа генерируется согласно протоколу безопасности. Запрос сетевого доступа включает в себя кодированный второй общедоступный ключ участника и первый общедоступный ключ участника. Запрос сетевого доступа передается конфигуратору посредством беспроводной связи. На следующей фазе R_NAM 705 сообщение сетевого доступа принимается от конфигуратора посредством беспроводной связи. На следующей фазе DV_K2 706 второй совместно используемый ключ выводится на основе первого секретного ключа участника, второго секретного ключа участника и сетевого общедоступного ключа. Также верифицируется, было ли по меньшей мере одно из защищенных данных безопасности и защищенного общедоступного ключа конфигуратора криптографически защищено вторым совместно используемым ключом. Если защита не является правильной, способ возвращается к началу 701. Если правильной, на следующей фазе EN_SEC 707 безопасная связь приводится в действие на основе второго секретного ключа участника и данных безопасности. Способ останавливается на узле END 708.
На фигуре 8 показан пример способа конфигуратора. Этот способ предназначен для использования в сетевом устройстве, действующем как конфигуратор в сетевой системе, как описано выше по тексту. Способ начинается на узле START 801 и включает в себя в качестве первой фазы R_NAR 802 прием запроса сетевого доступа от участника по беспроводной связи. На следующей фазе D_D_K1 803 первый совместно используемый ключ выводится на основе сетевого секретного ключа и первого общедоступного ключа участника. Также кодированный второй общедоступный ключ участника декодируется с использованием первого совместно используемого ключа. На следующей фазе V_K1 804 верифицируется, был ли кодированный второй общедоступный ключ участника закодирован первым совместно используемым ключом. Если защита не является правильной, способ возвращается к началу 801. Если правильной, на следующей фазе GSD 805 данные безопасности генерируются с использованием второго общедоступного ключа участника и секретного ключа конфигуратора. На следующей фазе D_P_K2 806 второй совместно используемый ключ выводится на основе первого общедоступного ключа участника, второго общедоступного ключа участника и сетевого секретного ключа. Также по меньшей мере одно из данных безопасности и общедоступного ключа конфигуратора криптографически защищается с использованием второго совместно используемого ключа. Затем на следующей фазе G_NAM 807 сообщение сетевого доступа генерируется согласно протоколу безопасности. Сообщение сетевого доступа включает в себя по меньшей мере одно из защищенных данных безопасности и защищенного общедоступного ключа конфигуратора. Способ останавливается на узле END 808.
Обеспечиваются компьютерные программные продукты, загружаемые из сети и/или хранящиеся на считываемом компьютером носителе и/или микропроцессорном исполняемом носителе, которые содержат инструкции программного кода для реализации вышеуказанных способов при исполнении на компьютере для защиты информации о местоположении, как дополнительно разъясняется ниже по тексту.
Типично каждая сеть содержит процессор, который исполняет надлежащее программное обеспечение, хранящееся на устройствах; например, это программное обеспечение может быть загружено и/или сохранено в соответствующей памяти, например, энергозависимой памяти, такой как RAM или энергонезависимой памяти, такой как флэш-память (не показана). Например, мобильное устройство и серверы могут быть оснащены микропроцессорами и памятью (не показано). В качестве альтернативы, участник и конфигуратор могут полностью или частично быть реализованы в программируемой логике, например, в качестве программируемой пользователем вентильной матрицы (FPGA). Мобильное устройство и серверы могут быть реализованы полностью или частично в качестве так называемой специализированной интегральной схемы (ASIC), то есть, интегральной схемы (IC), изготовленной для их конкретного использования. Например, схемы могут быть реализованы в CMOS, например, с использованием языка описания аппаратных средств, такого как Verilog, VHDL и так далее. На практике механизм местоположения может быть реализован через библиотеку программных подпрограмм, которые связаны с операционной системой мобильного устройства.
Возможны многие различные пути исполнения способа, которые будут очевидны специалисту в данной области техники. Например, порядок фаз или этапов может быть изменен или некоторые фазы могут быть исполнены параллельно. Более того, между этапами могут быть вставлены другие этапы способа. Вставленные этапы могут представлять уточнения способа, описанного в этом документе, или могут быть не связаны с этим способом. Более того, данный этап может не завершиться полностью до начала следующего этапа.
Способ согласно изобретению может быть исполнен с использованием программного обеспечения, которое содержит инструкции для побуждения процессорной системы к выполнению соответствующего способа. Программное обеспечение может включать в себя только те этапы, которые предпринимает конкретный подобъект системы. Программное обеспечение может храниться на подходящем носителе данных, таком как жесткий диск, дискета, память и так далее. Программное обеспечение может быть отправлено в качестве сигнала по проводу или беспроводным способом, или с использованием сети данных, такой как Интернет. Программное обеспечение может быть доступно для загрузки и/или для удаленного использования на сервере. Следует понимать, что программное обеспечение может быть в форме исходного кода, объектного кода, промежуточного источника кода и объектного кода, например, в частично скомпилированной форме, либо в какой-либо другой форме, подходящей для использования при реализации способа согласно изобретению. Вариант осуществления, относящийся к компьютерному программному продукту, содержит исполнимые компьютером инструкции, соответствующие каждому из этапов обработки по меньшей мере одного из изложенных способов. Эти инструкции могут быть подразделены на подпрограммы и/или храниться в одном или более файлов, которые могут быть связаны статически или динамически. Другой вариант осуществления, относящийся к компьютерному программному продукту, содержит исполняемые компьютером инструкции, соответствующие каждому из средств по меньшей мере одной из изложенных систем и/или продуктов.
На фигуре 9а показан считываемый компьютером носитель 1000, имеющий записываемую часть 1010, содержащую компьютерную программу 1020, причем компьютерная программа 1020 содержит инструкции для побуждения процессорной системы к выполнению одного или более способов в системе для защиты информации о местоположении согласно варианту осуществления способа сервера поставщика, способа сервера местоположения, способа механизма местоположения или способа приложения на основе местоположения, как описано со ссылкой на фигуры 2-8. Компьютерная программа 1020 может быть воплощена на считываемом компьютером носителе 1000 в качестве физических меток или посредством намагничивания считываемого компьютером носителя 1000. Однако также возможен какой-либо другой подходящий вариант осуществления. Кроме того, следует понимать, что хотя считываемый компьютером носитель 1000 показан здесь как оптический диск, считываемый компьютером носитель 1000 может быть любым подходящим считываемым компьютером носителем, таким как жесткий диск, полупроводниковая память, флэш-память и так далее, и может быть не записываемым или записываемым. Компьютерная программа 1020 содержит инструкции для побуждения процессорной системы к выполнению упомянутых способов.
На фигуре 9b показано схематическое представление процессорной системы 1100 согласно варианту осуществления сервера поставщика, сервера местоположения или мобильного устройства. Процессорная система содержит одну или более интегральных схем 1110. Архитектура одной или более интегральных схем 1110 схематически показана на фигуре. Схема 1110 содержит блок 1120 обработки, например CPU, чтобы запускать компоненты компьютерной программы для исполнения способа согласно варианту осуществления и/или реализации своих модулей или блоков. Схема 1110 содержит память 1122 для хранения программного кода, данных и так далее. Часть памяти 1122 может быть доступна только для считывания. Схема 1110 может содержать элемент 1126 связи, например, антенну, соединители или и то, и другое, и подобное. Схема 1110 может содержать специализированную интегральную схему 1124 для выполнения части или всей обработки, заданной в способе. Процессор 1120, память 1122, специализированная IC 1124 и элемент 1126 связи могут быть соединены друг с другом через межсоединение 1130, называемое шиной. Процессорная система 1110 может быть выполнена с возможностью осуществления контактной и/или бесконтактной связи с использованием антенны и/или соединителей соответственно.
Следует понимать, что для ясности вышеуказанное описание описало варианты осуществления изобретения со ссылкой на различные функциональные блоки и процессоры. Однако будет очевидно, что любое подходящее распределение функциональных возможностей между различными функциональными блоками или процессорами может быть использовано без отклонения от изобретения. Например, проиллюстрированные функциональные возможности, которые должны быть выполнены отдельными блоками, процессорами или контроллерами, могут быть выполнены одним и тем же процессором или контроллерами. Следовательно, ссылки на специфические функциональные блоки следует рассматривать только как ссылки на подходящие средства для обеспечения описанных функциональных возможностей, а не указывающие на точную логическую или физическую структуру или организацию. Изобретение может быть реализовано в какой-либо подходящей форме, включающей в себя аппаратное обеспечение, программное обеспечение, программно-аппаратное обеспечение или какую-либо комбинацию из этого.
Следует отметить, что в этом документе слово "содержащий" не исключает наличия элементов или этапов, отличных от перечисленных, а упоминание элемента в единственном числе не исключает наличия множества таких элементов, что любые ссылочные знаки не ограничивают объем формулы изобретения, что изобретение может быть реализовано посредством как аппаратного, так и программного обеспечения и что несколько "средств" или "блоков" могут быть представлены одной и той же единицей аппаратного или программного обеспечения, и процессор может выполнять функцию одного или более блоков, возможно, в сотрудничестве с аппаратными элементами. Кроме того, изобретение не ограничено вариантами осуществления, и изобретение относится к каждому новому признаку или комбинации признаков, описанных выше по тексту, или перечисленных во взаимно различных зависимых пунктах формулы изобретения.
Справочные документы
[1] Версия 2.0.5 технической спецификации простой конфигурации Wi-Fi, альянс 2014-08-04 Wi-Fi; доступна из https://www.wi-fi.org/file/wi-fi-simple-configuration-technical-specification-v205.
[2] RFC 5297, аутентифицированное шифрование синтетического инициализирующего вектора (SIV) с использованием продвинутого стандарта шифрования (AES).
[3] DTLS-HIMMO: эффективное обеспечение безопасности PQ-мира с полной защитой от сговора с помощью KPS, Oscar Garcia-Morchon, Ronald Rietman, Sahil Sharma, Ludo Tolhuizen, Jose Luis Torre-Arce; http://csrc.nist.gov/groups/ST/post-quantum-2015/presentations/session7-garcia-morchon.pdf.
[4] Компьютерное общество IEEE, "Стандарт IEEE для информационных технологий - Телекоммуникации и обмен информацией между системами - Локальные и столичные территориальные сети - Специфические требования, часть 11: Спецификации управления доступом к среде беспроводной LAN (MAC) и физического уровня (PHY)," (Стандарт 802.11-2012 IEEE), март 2012 года.