ДЕТЕРМИНИСТИЧЕСКОЕ ПРЕДВАРИТЕЛЬНОЕ РАСПРЕДЕЛЕНИЕ КЛЮЧЕЙ И ФУНКЦИОНАЛЬНОЕ УПРАВЛЕНИЕ КЛЮЧАМИ ДЛЯ СЕТЕЙ МОБИЛЬНЫХ ДАТЧИКОВ НА ТЕЛЕ
DETERMINISTIC KEY PRE-DISTRIBUTION AND OPERATIONAL KEY MANAGEMENT FOR MOBILE BODY SENSOR NETWORKS

Уровень техники
Последующее относится к беспроводным сетям. Оно находит конкретное применение с установкой безопасной передачи информации в пределах беспроводной сети датчиков на теле. Однако следует принять во внимание, что изобретение может также найти применение в обеспечении безопасной передачи данных между другими беспроводными устройствами и другими беспроводными повторителями сигналов.
Мобильные сети датчиков на теле (BSN) привлекли внимание из-за медицинского применения и в целом используются для контроля за пациентом и наблюдения. BSN включает в себя узлы сбора данных и, по выбору, узлы управления. Узлы датчиков питаются от аккумулятора, имеют ограниченные вычислительные возможности и память и основываются на прерывистой беспроводной связи по радиочастоте. Традиционно большая группа (например, тысячи) имеющих возможность взаимодействия узлов разворачивается в медицинском помещении, например больнице, и затем, разным образом, спонтанно соединяются для создания различных разъединенных BSN. BSN обычно состоит из небольшого подмножества (от 2 до 50 узлов) от всех узлов, например узлы, назначенные конкретному пациенту в медицинском помещении. Априори размер и членство BSN неизвестно: узлы BSN могут присутствовать в момент создания BSN или могут быть впоследствии добавлены или удалены. Некоторые узлы имеют ограниченную мобильность после создания BSN, а другие являются высоко мобильными и часто перемещаются по разным независимым BSN, созданным в том же самом помещении (например, узлы сбора данных и управления, переносимые людьми, датчики, одетые на отдельных лиц и т.д.). Некоторые узлы могут быть оставлены без присутствия оператора. Время жизни BSN ограничено несколькими днями, неделями, месяцами и т.д. Время жизни узлов датчиков обычно дольше, чем время жизни экземпляра BSN. BSN создают в общественных помещениях или помещениях с враждебной средой, где передача данных может мониторироваться и узлы датчиков подвержены захвату и манипуляции недобросовестного лица. Перекрестное взаимодействие между узлами сетей BSN, ассоциированных с различными пациентами, может подвергнуть риску медицинскую достоверность регистрируемых данных.
Эти сложные функциональные требования равным образом накладывают сложные ограничения безопасности на конструкцию BSN. Службы безопасности для BSN включают в себя аутентификацию и конфиденциальность передачи данных. Обычно службы управления ключами предоставляют и управляют основными данными безопасности для удовлетворения ранее упомянутых служб безопасности. Вычислительные ограничения и ограничения на передачу данных узлов датчиков BSN делают непрактичным использование любого решения безопасности на основе криптографии с открытым ключом. Узкоспециализированная сущность BSN и функциональные требования BSN делают обычные интерактивные решения на основе серверов неподходящими.
Управление ключами на основе схем предварительного распределения ключей (KPS) является одним вариантом для BSN. Необходимость однозначной аутентификации узла и установки ключей, независимо от членства BSN и размера, налагает строгие требования на KPS для сетей BSN. Однако существующие предложения KPS ограничены для BSN. Во-первых, предварительное распределение ключей по всей сети не предлагает достаточной безопасности или не может управляться в BSN. Во-вторых, простая KPS не является ни масштабируемой, ни управляемой в BSN. В-третьих, устойчивость и масштабируемость KPS Блундо (Blundo)
ограничена памятью и вычислительной мощностью узлов датчиков. В-четвертых, предварительное случайное распределение ключей не предлагает хороших свойств связи для BSN с ограниченным числом узлов. В конечном счете, детерминистическая KPS Кемтепа (Camtepe) и Йенера (Yener) на основе теории комбинаторной схемы
имеет соответствующие свойства связи и небольшую устойчивость для BSN, но не предоставляет уникальных парных ключей.
Басани (Basagni) и др.
представляет схему управления ключами для обеспечения безопасности передач данных датчиков с помощью периодического обновления группового симметричного ключа, совместно используемого всеми узлами датчиков. Эта схема предполагает устойчивые к вмешательству датчики и инфраструктуру управления, соединенную с распределенными сетями датчиков (DSN), предположения, которые не применимы для сетей BSN (крупномасштабная DSN может рассматриваться как соединение многочисленных сетей BSN с одиночными функциональными и сетевыми отличиями. Альтернативно BSN рассматриваются как многочисленные разъединенные части крупномасштабной DSN).
Перриг (Perrig) и др.
предлагает SPINS, архитектуру безопасности, специально спроектированную для сетей датчиков. В SPINS каждый узел датчика совместно использует секретный ключ с базовой станцией. Два узла датчика не могут непосредственно установить секретный ключ. Однако они могут использовать базовую станцию как надежную третью сторону для установления секретного ключа. В сетях BSN базовая станция может не быть доступной в момент установки ключа.
Блундо и др. предлагает KPS на полиномиальной основе для извлечения групповых ключей. Для групп из двух пользователей схема предварительного распределения ключей Блундо может использоваться для установки парных ключей в BSN. Сервер настройки случайно формирует симметричный двумерный со степенью λ полином  над конечным полем Fq, где q - это простое число, достаточно большое, чтобы вмещать криптографический ключ. По свойству симметрии . Сервер настройки вычисляет и распределяет полиномиальную часть  для каждого датчика u, т.е.  Каждый датчик u имеет уникальный идентификатор. После фазы внедрения для двух произвольных узлов u и v узел u может вычислить общий ключ , вычисляя  в точке v, и узел v может вычислить тот же самый ключ , вычисляя  в точке u.
q
Устойчивость α KPS Блундо равна , т.е. злоумышленнику необходимо осуществить взлом α датчиков, чтобы суметь сформировать парные ключи невзломанных датчиков. Каждый узел u датчика требует хранения полиномиальной части со степенью λ, которая занимает  области памяти. Следует принять во внимание, что λ ограничено памятью m, доступной в датчиках, т.е.  ключей. Во время процесса установки парных ключей нет коммуникационных накладных расходов. Для того, чтобы установить парный ключ, оба узла датчика должны вычислить полином в идентификаторе (ID) другого узла датчика. Это требует λ умножений по модулю и λ сложений по модулю в F, что может быть затратным в датчиках с ограниченными возможностями центрального процессора (CPV).
Лиу (Liu) и др.
k
описывают модификацию полиномиального вычисления для приспособления к ограничениям, накладываемым центральными процессорами с низкой битовой скоростью без команды деления, и, таким образом, уменьшают вычислительные требования на датчики. Это достигается уменьшением длины в битах коэффициентов двумерного полинома степени λ до logq' и с помощью выбора q' формы q'=2+1.
Лиу и др. показывают, что ключ из logq бит может компоноваться с помощью конкатенации t частичных ключей, сформированных с помощью двумерных полиномиальных частей  степени λ с коэффициентами в Fq', где , без значительной потери безопасности, т.е. результирующий logq-битовый ключ обладает аналогичной энтропией, как если он был сформирован с помощью двумерного полинома степени λ с коэффициентами из Fq. Объединенное множество t двумерных полиномов степени λ с коэффициентами из Fq' упоминается как t-полиномиальное множество . T-полиномиальное множество , вычисленное в точке u, в дальнейшем в данном документе это часть t-полиномиального множества.
8
Недостатком этой методики является то, что полиномиальная функция над Fq' может вмещать только максимальное число q'-1 датчиков (вместо q-1). Конкретно, t полиномов над Fq', скомбинированных параллельно (т.е. t-полиномиальное множество) могут лишь вмещать максимум N'=q'-1 узлов. Например, для 8-битовых центральных процессоров, q'=2+1 предлагает оптимальную вычислительную производительность, но тогда число N' максимальных узлов равно 256. Еще сохраняющееся свойство - это то, что каждый двумерный полином  над Fq' и, таким образом, t-полиномиальное множество является устойчивым против λ- объединения. Технология полиномиального разбиения может применяться к любой основанной на полиномах KPS при некоторой нижней границе по λ, налагаемой q, q' и полным числом полиномов над Fq', используемым схемой KPS.
Сбалансированная схема неполных блоков (BIBD) является расположением v отдельных объектов в b блоках из условия, что каждый блок содержит точно k отдельных объектов, каждый объект присутствует точно в r разных блоках, и каждая пара отдельных объектов присутствует вместе в точно t блоках. Схема может быть выражена как (v, k, t) или эквивалентно (v, b, r, k, t), где: r(v-1)=r(k-1) и bk=vr.
В симметричной BIBD (SPIBD) b=v и, таким образом, k=r. SPIBD имеет четыре свойства: каждый блок содержит k=r элементов, каждый элемент присутствует в k=r блоках, каждая пара элементов присутствует в t блоках и каждая пара блоков пересекается в t элементах.
1
2
b
При заданной схеме D=(v, k, t) блока с множеством S из │S│=v объектов и множеством B ={B, B,…B} из │B│=b блоков, где каждый блок включает в себя в точности k объектов, комплементарная схема  имеет комплементарные блоки  в качестве своих блоков для 1≤i≤b.  является BIBD с параметрами (v, b, b-r, v-k, b-2r+t), где b-2r+t>0. Если D=(v, k, t) является SBIBD, тогда  является также SBIBD.
2
2
2
Конечные проективные плоскости (FPP) являются подмножеством SPIBD особого интереса для предварительного распределения ключей. FPP является SPIBD с параметрами (n+n+1, n+1, 1). FPP существует для любой простой степени n, где n≥2. FPP порядка n имеет четыре свойства: (i) каждый блок содержит в точности n+1 точек, (ii) каждая точка присутствует в точности в n+1 блоках, (iii) существует в точности n+n+1 точек, и (iv) существует в точности n+n+1 блоков. Камтеп и Йенер
применяют схему SBIBD для предварительного распределения ключей в SN.
2
2
Рассмотрим FPP с параметрами (n+n+1, n+1, 1), с элементами, принадлежащими множеству S, где │S│=n+n+1. Используя терминологию Эсченауэра (Eschenauer) и Глигора (Gligor)
S ассоциируется с совокупностью ключей, т.е. каждый элемент в S ассоциируется с отдельным случайным ключом. Дополнительно каждый блок FPP ассоциируется с кольцом ключей. Свойства FPP гарантируют, что любая пара колец ключей (блоков) имеет 1 случайный ключ (элемент) совместно.
2
2
Для сети датчиков (SN) из N узлов с общим числом N колец ключей, FPP с n+n+1≥N блоков должна строиться посредством использования множества S. Это предоставляет n+n+1≥N колец ключей, при этом каждое имеет K=n+1 ключей и один ключ совместно. Размер памяти, необходимый на узлах, равен тогда (n+1)×logq (эквивалентно m=n+1). Умному злоумышленнику нужно захватить α=K=n+1 узлов, чтобы суметь взломать SN.
2
Каждый узел датчика SN численности N принимает разное кольцо ключей. Заметим, что каждые два узла совместно используют совместный конкретный ключ. Действительно, из-за свойств плоскостей FPP, каждые n+1 датчиков совместно используют один и тот же конкретный ключ. Следовательно, ключи этой KPS не могут использоваться для однозначной аутентификации узла. Второй связанной проблемой является то, что не всегда возможно отыскать FPP, в которой (i) n является простой степенью и (ii) n+n+1≥N, с ограничением m≥n+1.
2
2
2
2
2
2
2
2
2
Камтеп и Йенер решают вышеуказанную проблему созданием гибридной схемы, которая включает в себя n+n+1 блоков плоскости FPP (n+n+1, n+1, 1), где n<m-1 (т.е. теперь размер кольца ключей m≥K>n+1) и N-n+n+1 произвольно выбранных (n+1) - элементных подблоков плоскости  (n+n+1, n, n-n). Побочными эффектами являются: (i) K>n+1, (ii) некоторые конкретные ключи совместно используются более, чем n+1 узлами, (iii) некоторые пары узлов могут совместно использовать до совместных n-n ключей и (iv), по меньшей мере, N-n+n+1 блоков не имеют совместного ключа. Таким образом, из-за (iv), по меньшей мере, N-n+n+1 не могут непосредственно установить совместный ключ, и из-за (i), (ii) и (iii) α≤n+1<K≤m, т.е. устойчивость сети снижается.
Недавно было предложено множество схем управления случайными ключами на основе предварительного распределения ключей для обеспечения безопасности инфраструктуры передачи данных крупномасштабных DSN. Такие схемы управления предполагают возможность соединения со всей DSN на основе предположений, что узел датчика может беспроводным образом соединяться с минимальным уровнем соседних узлов (например, узлами в диапазоне беспроводной передачи данных) и что узлы датчиков имеют очень ограниченную мобильность после применения. Эти схемы нацелены на максимальную безопасную связь по всей DSN и устойчивость сети при удовлетворении функциональным ограничениям сетей DSN. В схемах управления предварительным распределением случайных ключей каждый узел принимает до применения случайное подмножество ключей из большой совокупности ключей. Для того чтобы согласовать ключ для безопасной передачи данных с некоторой вероятностью, два соседних узла находят один общий ключ в их подмножествах и используют этот ключ как их совместно используемый секретный ключ. Два узла датчиков, которые не находят общий ключ, используют другие надежные узлы в своем окружении и даже некоторые непрямые передачи, чтобы помогать устанавливать общий ключ. Схемы предварительного распределения случайных парных ключей, основанные на схемах Блома (Blom)
или Блундо, улучшают предшествующее с помощью повышения устойчивости сети и дополнительного предоставления аутентификации узлов.
Однако схемы предварительного распределения случайных ключей не подходят для обеспечения безопасности BSN. Во-первых, из-за малой степени соседствующих узлов, BSN не всегда позволяет двум произвольным узлам прямо или косвенно устанавливать общий ключ. Во-вторых, из-за возможности захватов узлов, аутентификация узлов должна выполняться напрямую без каких-либо посредников.
Так как независимые BSN не соединены, централизованные или распределенные глобальные системы обнаружения проникновения (IDS), предлагаемые для DSN или для специальных сетей, не могут использоваться в BSN. Взломанный узел может быть обнаружен в BSN, но традиционные системы и способы не распространяют эффективно эту информацию остальным узлам в других BSN. Следовательно, BSN намного более уязвимы к атакам репликации узлов, чем крупномасштабная DSN. В больницах, например, атаки интеллектуального злоумышленника являются наибольшей угрозой для безопасности BSN. Хотя в литературе не четко сформулировано, устойчивость сети в отношении захватов узлов и репликации узлов предыдущих схем предварительного распределения ключей сильно зависит от существования IDS, эффективной по всей DNS. Отсутствие устойчивости сети определяется как число λ узлов, которые злоумышленнику необходимо захватить, чтобы взломать некоторую часть всех передач данных DSN. Интеллектуальный злоумышленник не беспокоится о захвате и вмешательстве в λ узлов, чтобы осуществить атаку. Интеллектуальный злоумышленник лишь захватывает один или малую часть узлов и использует расшифрованные ключи для атаки на сеть. В действительности, чтобы продолжать быть необнаруженным, злоумышленник не пытается прерывать сетевые операции сети, но пытается считать или модифицировать конфиденциальную информацию или даже ввести ложные сообщения. Таким способом злоумышленник может получить и/или ввести требуемую информацию даже без необходимости затрат своих собственных ресурсов, чтобы взломать другие сетевые передачи данных.
В конечном итоге механизм установки ключей, поддерживаемый соседями, необходим в некоторых схемах для достижения высокой степени безопасного соединения DSN. Злоумышленник с соответствующими ключами может получить помощь от одного или более прилегающих узлов, узлов, смежных с такими узлами, и так далее, чтобы установить ключи с полным окружением соседей. Если безопасное соединение жертвуется, чтобы улучшить безопасность посредством ограничения помощи установки ключей для окрестности соседей узла, злоумышленник все еще может продвигаться и пытаться атаковать настолько много соседних узлов, насколько это возможно. Эффективная и безопасная схема управления ключами должна принимать во внимание интеллектуального злоумышленника, особенно в установках BSN.
Что необходимо, это схема предварительного распределения ключей, которая дает возможность аутентификации, конфиденциальности и целостных услуг и обеспечивает улучшенное безопасное сетевое соединение, устойчивость и масштабируемость, связанные с оптимальным уровнем производительности. Также необходима схема управления ключами, которая управляет использованием предварительно распределяемых ключей, подходящая для функциональных условий BSN. Настоящее изобретение рассматривает улучшенное устройство и способ, которые преодолевают вышеупомянутые ограничения и другие.
Краткое описание изобретения
Согласно одному аспекту беспроводная сеть для контроля пациента содержит сеть датчиков на теле, состоит из одного или более беспроводных датчиков, оперативно соединенных с пациентом, которые собирают и передают информацию, связанную со здоровьем пациента, в беспроводную сеть. Сервер настройки конфигурирует один или более беспроводных датчиков с помощью материала ключей до того, как один или более датчиков будут использованы в беспроводной сети. Мобильная базовая станция распределяет сертификат ключа в один или более датчиков, ассоциированных с сетью датчиков не теле, при этом два датчика формируют уникальный парный ключ, базируясь, по меньшей мере, частично на предварительно распределенном материале ключей и сертификате ключей, распределяемом базовой станцией.
Согласно другому аспекту беспроводная сеть включает в себя сеть, которая состоит из одного или более беспроводных узлов, и сервер настройки, который конфигурирует один или более беспроводных узлов с помощью материала ключей до того, как один или более узлов будут использоваться в беспроводной сети. Базовая станция распределяет сертификат ключей в один или более датчиков, ассоциированных с сетью, при этом два узла формируют уникальный парный ключ, базируясь частично, по меньшей мере, на предварительно распределенном материале ключей и сертификате ключей, распределяемом базовой станцией.
Согласно другому аспекту способ вычисляет и распределяет части t-полиномиальных множеств, используя комбинаторное распределение, для того, чтобы максимизировать масштабируемость, устойчивость и уровень производительности беспроводной системы, которая включает в себя предварительное распределение ключа безопасности через сервер настройки в узел u датчика и узел v датчика, которые передают данные в беспроводной системе.
2
Согласно еще одному аспекту способ определяет датчик u в системе мобильных датчиков, что включает в себя образование конечной проективной плоскости (n+n+1, n+1, 1) из множества n-1 взаимно ортогональных Латинских квадратов порядка n, где n является простой степенью. Общая часть t-полиномиального множества эффективно обнаруживается, и точка вычисления части t-полиномиального множества эффективно выводится датчиком v из идентификатора датчика u.
Одним преимуществом настоящего изобретения является то, что оно предоставляет ключи безопасности большому множеству узлов датчиков, оптимизируя передачу данных, эффективность вычислений и хранения для аккумулятора, мощности центрального процессора и узлов с ограниченной памятью.
Другим преимуществом является то, что оно обеспечивает улучшенную силу защиты для предварительно распределяемых безопасных ключей большому множеству узлов датчиков.
Другим преимуществом является то, что безопасность предусмотрена прозрачной для пользователей беспроводной сети.
Другим преимуществом является то, что обеспечивается безопасность, которая допускает однозначную идентификацию идентичности любой произвольной пары узлов датчиков (большого множества датчиков) и установку надежных связей независимо от плотности беспроводного окружения соседей датчиков или размера.
Другим преимуществом является то, что безопасность уменьшает степень, до которой может быть взломана беспроводная сеть.
Многочисленные дополнительные преимущества и выгоды станут видны специалистам в данной области техники при прочтении последующего подробного описания предпочтительных вариантов осуществления.
Краткое описание чертежей
Изобретение может принимать форму в различных компонентах и конфигурациях компонентов и в различных этапах и конфигурациях этапов. Чертежи приводятся лишь для целей иллюстрации предпочтительных вариантов осуществления и не должны толковаться как ограничивающие изобретение.
Фиг.1 иллюстрирует систему мобильных датчиков, которая использует сервер настройки для конфигурирования материала ключей во множестве датчиков во время фазы предварительного применения.
Фиг.2 иллюстрирует способ для обеспечения безопасной передачи данных между парой беспроводных датчиков, используя уникальные парные ключи.
Фиг.3 также показывает, как использовать идентификатор датчика в системе мобильных датчиков, например системе на фиг.1.
Фиг.4 иллюстрирует другой способ для идентификации датчика в системе мобильных датчиков, например в системе на фиг.1. Фиг.4 также показывает, как использовать идентификатор датчика в системе мобильных датчиков, например в системе на фиг.1.
Фиг.5 иллюстрирует способ обнаружения общей части t-полиномиального множества.
Фиг.6 иллюстрирует способ для извлечения точки вычисления части t-полиномиального множества.
Фиг.7 иллюстрирует систему мобильных датчиков, которая использует сервер настройки для конфигурирования материала ключей во множестве датчиков во время фазы предварительного применения.
Фиг.8 иллюстрирует систему мобильных датчиков, которая использует сервер безопасности и базовые станции, чтобы делать возможной безопасную передачу данных между множеством датчиков и соответствующими сетями датчиков на теле в системе мобильных датчиков во время фазы последующего применения.
Фиг.9 иллюстрирует способ предварительного распределения ключей, который использует симметричную схему Блома предварительного распределения ключей.
Фиг.10 иллюстрирует способ предварительного распределения ключей, который использует схему Блундо для предварительного распределения ключей.
Фиг.11 иллюстрирует способ для сертификации предварительно распределенных ключей.
Фиг.12 иллюстрирует способ управления предварительно распределенными ключами.
Фиг.13 иллюстрирует способ управления предварительно распределенными ключами.
Фиг.14 иллюстрирует способ управления предварительно распределенными ключами.
Фиг.15 иллюстрирует способ управления предварительно распределенными ключами.
Подробное описание предпочтительных вариантов осуществления
Система детерминистического предварительного распределения парных ключей (DPKPS) и способы
Фиг.1 иллюстрирует систему 2 мобильных датчиков, которая включает в себя сервер 4 настройки, множество беспроводных датчиков 6, 8, 10, 12, 14, 16, 18 и 20 и множество сетей 22, 24 и 26 датчиков на теле. Сервер 4 настройки является выделенным сервером безопасности, который активно участвует в безопасности лишь до применения датчиков. Беспроводные датчики 6-20 соединяются с сервером 4 настройки в начальной фазе конфигурирования (например, предварительного применения) до того, как используются датчики 6-20. Сервер 4 настройки обычно постоянно находится в пределах физически защищенного периметра, доступный лишь авторизованному персоналу. Во время фазы применения беспроводные датчики не имеют никакого средства соединения с сервером настройки. Обычно участок применения публично доступен. Беспроводные датчики 6-20 являются узлами, отвечающими за сбор и перемещение медицинских данных пациентов. Любой из датчиков 6-20 устанавливает беспроводные передачи данных с одним или более датчиков 6-20. Узлы датчиков имеют ограничения памяти, аккумуляторов и центрального процессора (CPV). Сети 22-26 датчиков на теле (BSN) являются множеством беспроводных сетевых узлов датчиков, которые могут присоединяться к одному или более пациентам (не показаны). BSN 22-26 обычно ограничены по пропускной способности из-за большого числа узлов в системе. Например, в среде больницы могут быть сотни или тысячи BSN (например, одна для каждого пациента).
Применение BSN требует ключей из logq бит. Согласно варианту осуществления , при этом t≥1. При фиксированном q для требуемого уровня безопасности (например, 64 бита), полиномы в Fq' могут вычисляться и применяют оптимизацию полиномов Лиу и др. для получения ключа из logq бит. Объединенное множество из t двумерных полиномов  степени λ с коэффициентами над Fq' упоминается как t-полиномиальное множество . T-полиномиальное множество , вычисленное в точке u, в дальнейшем является частью t-полиномиального множества.
uv
Фиг.2 иллюстрирует способ 30, который состоит из способа 32 настройки, способа 34 предварительного применения ключей, способа 36 обнаружения частей t-полиномиального множества и способа 38 установки ключей, используемого для установки уникальных парных ключей между датчиками, например, с помощью системы 2, приведенной выше. В 32, сервер настройки формирует части t-полиномиального множества и комбинаторную схему, которая может использоваться, чтобы вмещать N датчиков, где N является размером группы узлов, имеющих возможность взаимодействовать, и является целым числом, большим, чем или равным единице. В 34 сервер настройки распределяет части t-полиномиального множества в каждый датчик согласно комбинаторному распределению. Если были применены на 36, два произвольных датчика u и v обнаруживают, какую часть t-полиномиального множества они имеют совместно. На 38 два произвольных датчика u и v формируют уникальный парный ключ Kс помощью вычисления их общей части t-полиномиального множества.
2
2
i
i
k
Один аспект настоящего варианта осуществления увеличивает масштабируемость KPS на основе t-полиномиальных множеств без снижения ее устойчивости при поддержке оптимального узлового уровня производительности. В одном подходе n+1 t-полиномиальных множеств распределяются в каждый узел u, следуя FPP (n+n+1, n+1, 1), т.е. с помощью ассоциирования N'/(n+1) отдельных частей каждого t-полиномиального множества  с каждым элементом , j=1…n+1, принадлежащим блокам B, i=n+n+1, плоскости FPP. Из-за свойств FPP два произвольных узла u и v относительно n+1 частей t-полиномиальных множеств, распределяемых согласно элементам различных блоков B, , i≠j, совместно используют одно t-полиномиальное множество F(x,y), которое они могут использовать для вычисления уникального парного ключа из logq бит. Аналогично, два узла с соответствующими n+1 частями t-полиномиального множества, распределяемыми согласно элементам одного и того же блока , имеют n+1 частей t-полиномиального множества совместно. Таким образом, узлы могут использовать любую из n+1 частей t-полиномиального множества для вычисления уникального парного ключа из logq бит.
Этот способ разрешает увеличивать масштабируемость схем KPS Блундо и др., а также Кемтепа и Йенера без какой-либо потери в сетевой устойчивости и в то время как сохраняют вычислительную производительность на оптимуме и вероятность единица совместного использования уникального парного ключа. Кроме того, подобный подход решает проблему существования плоскости FPP схемы KPS Кемтепа и Йенера без понижения в сетевой устойчивости или прямом надежном соединении.
2
2
2
2
j
j
k
В 32 сервер настройки случайно формирует множество из двумерных полиномов  степени λ над Fq'. Впоследствии для j=1…n+n+1 сервер настройки последовательно выбирает полиномы из  и формирует n+n+1 t-полиномиальных множеств F(x,y). Затем он формирует FPP (n+n+1, n+1, 1) с элементами, которые принадлежат множеству S, где │S│=n+n+1. Множество S ассоциировано связано с полиномиальной совокупностью, т.е. каждый элемент j в S ассоциирован с отдельным t-полиномиальным множеством F(x,y). Дополнительно, каждый блок FPP ассоциирован с полиномиальным кольцом. Свойства FPP гарантируют, что любая пара полиномиальных колец (блоков FPP) имеет одно t-полиномиальное множество F(x,y) (элемент к) совместно.
u,j
u,j
k
k
j
j
j
2
В 34 каждый узел u датчика принимает от сервера настройки n+1 частей  t-полиномиального множества, где ,  и j=1…n+1. Точка pдолжна браться из конечного поля Fq'. Это ограничивает pдо q'-1 различных возможных значений. Однако число датчиков N для вмещения может быть больше, чем q'-1. Для того, чтобы гарантировать уникальность парных ключей, два различных датчика u и v не могут иметь то же самое t-полиномиальное множество F(x,y), вычисляемое в той же самой точке p. Так как каждое t-полиномиальное множество F(x,y), j=1…n+n+1, может быть вычислено в N'=q'-1 различных точках и индекс j от F(x,y) появляется в n+1 блоках FPP, то каждый из этих блоков (где встречается j) используется для предварительного распределения отдельных частей F(x,y) не в более чем N'/(n+1) различных датчиках. Процесс предварительного распределения ключей для смещения N≤N'n(1-1/(n+1))+N' узлов использует следующие этапы:
1
1
1
2
2
N'/(n+1)
N'/(n+1)
1. Начиная с первого блока Bплоскости FPP с элементами  первый узел (u) принимает части  по  t-полиномиального множества, вычисленные в точке pиз Fq'; второй датчик (u) принимает  по , вычисленные в точке p; и так далее; до тех пор, когда N'/(n+1)-ый датчик (u) принимает  по  вычисленные в точке p.
2
1+N'/(n+1)
1+N'/(n+1)
1
N'/(n+1)
1
2. Следуя со вторым блоком Bиз FPP с элементами , предположим, что , датчик uпринимает , которая вычисляется в точке p(так как  уже вычислено в нижних точках для датчиков u… u), и  по  вычислены в точке p; и так далее, и
3. Повтор первого и второго этапов, чтобы вместить N узлов системы, используя все блоки FPP.
k
u
v
В 36 обнаруживаются части t-полиномиального множества. После применения до установки парного ключа каждый узел u датчика должен обнаружить, какое t-полиномиальное множество он совместно использует с его соседним узлом v. Для этого узлы u и v обмениваются своими идентификаторами (ID), которые явно содержат индексы n+1 частей t-полиномиального множества, которые они несут с собой и точки , , где вычисляются соответствующие n+1 частей t-полиномиального множества. В конечном итоге, они находят индекс к (соответствующий общему t-полиномиальному множеству F(x,y) и соответствующие точки pи pвычисления.
uv
k
u
v
uv
В 38 устанавливается ключ. Для того, чтобы вычислить парный ключ K, узел u вычисляет t двумерных полиномов  степени λ (включенных в F(p,y) для i=1…t в точке p(т.е.  для получения t частичных ключей. Затем узел u усекает упомянутые t частичных ключей до logq' бит и конкатенирует t сегментов ключей для образования конечного парного ключа Kиз logq бит.
Простой ID датчика
i,1
i,n+1
Фиг.3 иллюстрирует способ 50, который определяет датчик u в DPKPS. В 52 n+1 индексов b,…bn+1 частей t-полиномиального множества, которые он несет, конкатенируются с n+1 точками , где они вычисляются. В 54 такой ID однозначно определяет датчик u и в 56 делает возможным очень простое обнаружение общих частей t-полиномиального множества и точки вычисления части t-полиномиального множества.
В 58 общая часть t-полиномиального множества обнаруживается с помощью использования простого ID датчика, два датчика u и v находят, какой индекс является общим в соответствующих ID, например индекс k. В 60 точка части t-полиномиального множества вычисления выводится получением k-той точки, включенной в простой ID датчика.
Оптимизированный ID датчика
Так как использование простых ID датчика значительно увеличивает затраты на хранение и передачу данных DPKPS, когда возрастает n, может применяться альтернативный способ оптимизированного ID датчика с помощью использования свойств FPP, основанных на взаимно ортогональных латинских квадратах (MOLS). Этот оптимизированный способ строит ID датчиков с очень короткой длиной для фактических значений n.
Фиг.4 показывает способ 70, используемый для идентификации датчика в системе мобильных датчиков, например системе 2 выше.
выводится из множества n-1 взаимно ортогональных латинских квадратов (MOLS) порядка n. Латинский квадрат является квадратной n×n матрицей L, элементы которой состоят из n символов так, что каждый символ появляется точно один раз в каждой строке и каждом столбце. Символы используются как целые значения от 1…n. Очень простым способом построить L является размещение целых чисел 1,2,…n в их обычном порядке в первой строке и для последовательных строк с помощью циклического вращения предыдущей строки вправо.
2
1
2
t
В 72 выводятся взаимно ортогональные латинские квадраты (MOLS). Два латинских квадрата  и  по n символам 1,2…n являются ортогональными, если при наложении каждая из nпар символов , i=1,2…n; j=1,2…n появляется точно один раз. Множество латинских квадратов L, L,…L одного и того же порядка n, каждый из которых является ортогональным соквадратом каждого из других, называется множеством квадратов MOLS. Множество n-1 MOLS порядка n является полным множеством.
1
При заданной паре ортогональных латинских квадратов  и , ячейки в первом квадрате содержат один конкретный символ l. Из-за свойств латинских квадратов имеется только одна из этих ячеек в каждой строке и каждом столбце. Из-за ортогональности n вхождений в ячейках ортогонального соквадрата, которые соответствуют ячейкам в первом квадрате, формируют трансверсаль в ортогональном соквадрате, например, n вхождений содержат каждый символ, точно один, и каждая из этих ячеек находится в разных строках и столбцах.
a
1
2
n
n
m
Для простой степени n множество полиномов формы f(x,y)=ax+y, a≠0 представляет полное множество n-1 MOLS порядка n. Это приводит к очень простому способу построения: допустим e, e, … eявляются элементами F, т.е. целыми числами 1…n. Тогда для каждого элемента e, m=1,2,…n, элементы  матрицы  последовательно вычисляются с помощью:
(Уравнение 1)
m
Параметры n и e достаточны для воспроизведения конкретного ортогонального латинского квадрата .
1
2
n-1
2
2
(2,n)
2
2
2
2
2
m
В 74 конечная проективная плоскость (FPP) строится из MOLS. Пусть L, L,…L будет полным множеством MOLS порядка n и M n×n матрица. Первоначально матрица M должна строиться посредством размещения n целых чисел 1…n в их обычном порядке с первой по n-ю строку. Во-вторых, аффинная плоскость AG порядка n формируется из MOLS следующим образом: (i) первые n блоков являются строками M, (ii) вторые n блоков являются столбцами M и (iii) оставшиеся n-n блоков формируются с помощью последовательного наложения каждого  на M, и беря в качестве блоков элементы M, которые соответствуют единственному символу  в каждом . Так как каждый  содержит n разных символов, каждая суперпозиция :M дает n блоков. В конечном счете, чтобы получить FPP(n+n+1,n+1,1), необходимо (i) добавить новое целое число n+1 к первым n блокам аффинной плоскости, (ii) добавить новое целое число n+2 ко вторым n блокам, (iii) добавить целое число n+2+eк n блокам, построенным из каждого , и (iv) добавить новый блок к схеме, который содержит n+1 новых добавленных целых чисел.
3×3
2
2
2
m,
m
i
12
i
Пусть даны n и i, легко воспроизвести блок , 1<i≤2n. Например, для n=3 блок B4 строится из первого столбца M и целого числа 11, т.е. B4=(1,4,7,11). Для блока , 2n <i≤n+n, индекс i также явно идентифицирует индекс e1≤e≤n-1, латинского квадрата , из которого формируется B. Например, для n=3 блок B формируется из L. Для того чтобы воспроизвести один из этих блоков B, 2n <i≤n+n, дополнительно необходим элемент .
p
p
m
p
i
i
i
2
В 76 датчик u идентифицируется конкатенацией трех чисел i, iи , где 1≤i≤n+n+1, 1≤ i≤N'/(n+1) и 1≤e≤n. Первое, i, идентифицирует блок , согласно которому выбираются части t-полиномиального множества для u, второе, преобразование i в распределении частей t-полиномиального множества датчику u в пределах B и третье, элемент латинского квадрата L, из которого выводится B. Такой ID однозначно определяет датчик u и делает возможным намного более эффективное обнаружение общих частей t-полиномиального множества и точки t-полиномиального множества вычисления, чем с помощью простого ID.
В 78 часть t-полиномиального множества обнаруживается для оптимизированного ID датчика. В 80 точка вычисления t-полиномиального множества выводится для оптимизированного ID датчика.
2
k
u
Фиг.5 показывает способ 100 для обнаружения общей части t-полиномиального множества с помощью использования информации, содержащейся в оптимизированном ID датчика. В 102 оптимизированный ID датчика позволяет узлу u датчика вычислить индексы своих собственных частей t-полиномиального множества и индексы узла-партнера v. В 104 с помощью сопоставления этой информации узел u может выводить индекс k, 1≤k≤n+n+1, общей части t-полиномиального множества F(p,y) с узлом v.
i
i
i
i,
i
i
m
i
m
2
Индексы частей t-полиномиального множества , j=1…n+1, которые несет датчик u, являются один к одному соответствующими элементам  из . Как отмечено выше, при заданных n, индексе i B и целом числе , является возможным однозначно воспроизвести =B. Здесь мы должны различать два случая: в 106 блоки B, 1≤i≤2n, и , чье воспроизведение является тривиальным. Альтернативно в 108 блоки B 2n<i≤n+n, чье воспроизведение является также простым, но требует последующего анализа. В 108 известно по этапу (iii) построения аффинных плоскостей (на этапе 54 из фиг.3а), что элементы  из B берутся из позиций в M, отмеченных с помощью 2n координат , где  появляется в . Таким образом, определяя эти координаты, мы получим элементы B. В 110 из индекса i непосредственно выводится e, которое определяет латинский квадрат , используемый для выбора n из элементов B. В 112 позиции элемента  определяют трансверсаль в , тогда  появляется один раз в каждой строке . Таким образом,  появляется в позициях . Предполагая  и eизвестными, используя уравнение 1, имеем:
…
1
2
n
n
1
2
3
j3
3
В 114 решаем эти уравнения, что дает вектор V из n отдельных значений . Как отмечено, элементы e,e,…eиз Fпоследовательно используются для вычисления каждого элемента  матрицы , т.е. элемент eиспользуется для вычисления элементов в позициях , элемент e используется для вычисления элементов в позициях  и так далее. Иначе говоря, каждое значение  определяет координаты , где появляется , например, если i=3, e=2, то j=2 ( появляется в ).
i
m
i
n
2
В конечном итоге, в 116 эти координаты сопоставляются с элементами матрицы M, теперь можно непосредственно определить n из n+1 элементов B. Теперь имеется блок аффинной плоскости. Добавляя целое значение n+2+e в блок, мы получаем блок =B. Формирование блока из FPP с помощью этого способа требует (самое большее) n сложений и n умножений в F.
v
k
u
uv,
Фиг.6 иллюстрирует способ 130 для извлечения точки вычисления t-полиномиального множества. Для извлечения точки p, где узел u вычисляет свою часть F(p,y) для формирования ключа K узел u должен следовать простому процессу, который возможен благодаря свойствам FPP.
p
k
k
v
k
k
2
Как отмечено выше, iявляется порядком узла v в распределении частей t-полиномиального множества согласно блоку , 1≤i≤n+n+1. Предположим, что часть t-полиномиального множества F(x,y) распределена v. Процесс, описанный ниже, дает возможность извлечения точки , где вычисляется часть F(p,y) узла v. Предполагается, что  где s определяет число появлений F(x,y) в блоках , j=1…i.
2
2
2
2
2
1+t
2+t
n+t
k
i+n(j-1)
k
v
k
u
В 132, так как FPP строится из MOLS, его первые nэлементов появляются один раз в каждой группе n последовательных блоков B, B,…B, t=0,n,2n,3n…n×n. Затем в 134, при заданном индексе i блока, 1≤i≤n+n, и индексе k t-полиномиального множества, k≤n, извлечение счетчика s его появления является тривиальным, т.е. . Каждый элемент вида k=n+j, j=1…n+1, появляется n раз в группе блоков B, i=1…n. В этом случае s=i-n(j-1). В 136 элементы k= n+j, j=1…n+1, блока  появляются в n+1-й раз в FPP. Таким образом, при заданном индексе k t-полиномиального множества, индексе i блока и порядке n FPP, можно непосредственно извлечь для узла u точку p, чтобы вычислить его общую часть F(p,y) с узлом v.
В отличие от предыдущих способов предварительного распределения случайных ключей, варианты осуществления дают возможность двум случайно выбранным узлам датчиков напрямую находить общий ключ для аутентификации, независимой от размера и плотности BSN (или окрестности соседства в терминах DSN). Кроме того, узлы датчиков могут перемещаться через различные BSN и все еще аутентифицировать и/или устанавливать безопасные передачи данных. Безопасность BSN функционирует без необходимости активного или сознательного участия пользователя-человека BSN.
Функциональное управление ключами
Фиг.7 и 8 иллюстрируют систему 150, которая включает в себя сервер 152 безопасности, сервер 154 настройки, множество беспроводных датчиков 156, 158, 160, 162, 164, 166, 168, 170, множество сетей 172, 174, 176 датчиков на теле и мобильные базовые станции 178 и 180. Фиг.7 показывает систему 150 до применения датчиков 156-170. Фиг.8 показывает систему 150 после применения датчиков. В одном примере сервер 152 безопасности и/или сервер 154 настройки являются выделенными серверами, используемыми для безопасности. Сервер 152 безопасности является выделенным сервером безопасности, который активно участвует в безопасности до и после применения датчиков. Сервер 154 настройки является выделенным сервером безопасности, который активно участвует в безопасности только до применения датчиков. После применения датчиков 156-170 и базовых станций 178, 180, он имеет непрерывное или спорадическое соединение исключительно с мобильными базовыми станциями. Как проиллюстрировано на фиг.8, один раз примененные, датчики 156-170 не соединяются с сервером безопасности 152. Как проиллюстрировано на фиг.7, мобильные базовые станции 178, 180 и датчики 156-170 могут соединяться с сервером 154 настройки только в фазе предварительного применения, т.е. в начальной фазе конфигурации до того, как используются устройства.
Беспроводные датчики 156-170 отвечают за сбор и передачу медицинских данных пациентов. В одном примере датчик 156 может устанавливать беспроводные соединения со вторым произвольным датчиком 158 и/или с базовой станцией 180. Узлы датчиков ограничены по памяти, аккумулятору и центральному процессору (CPV). В больнице могут быть тысячи датчиков. Одна или более BSN являются совокупностью беспроводных сетевых узлов датчиков. Узлы BSN могут быть присоединены к одному или более пациентам. BSN обычно ограничены по пропускной способности. В больнице могут быть сотни или тысячи сетей BSN (например, одна для каждого пациента). Мобильные базовые станции 178, 180 (BS) являются мобильными устройствами, используемыми для доступа к данным в и для конфигурирования сетей BSN. BS являются обычно устройствами с умеренными ресурсами и мощностью. В больнице могут быть сотни или тысячи BS.
Решение функционального управления ключами состоит из следующих способов.
1. Предварительное распределение ключей. Сервер настройки/безопасности распределяет основной материал ключей в каждый датчик, следуя основной схеме предварительного распределения ключей, и в каждую мобильную базовую станцию, следуя различным подходам. Это выполняется в фазе конфигурации до того, как применяются датчики или базовые станции в больнице.
l
l
2. Сертификация предварительно распределенных ключей. Произвольная BS осуществляет доступ к датчикам, формирующим произвольную BSN, для распределения сертификатов KC ключей, которые проверяют достоверность предварительно распределенного материала ключей на предыдущем этапе для заданного будущего интервала I.
uv
3. Установка ключей. Два произвольных датчика u и v формируют уникальный парный ключ K, с помощью использования предварительно распределяемого материала ключей и действительных сертификатов ключей.
Основные схемы предварительного распределения ключей
Могут применяться различные способы для реализации симметричных схем предварительного распределения ключей (например, Блома, Блундо и др. или DPKPS), которые могут использоваться как принципиальная основа схем, здесь описанных.
Фиг.9 иллюстрирует способ 230 предварительного распределения, который использует симметричную схему Блома предварительного распределения ключей. Схема Блома позволяет любой паре узлов в сети выводить парный секретный ключ. На основе работы Ду (Du) и др.
были добавлены некоторые незначительные изменения в исходную схему Блома согласно варианту осуществления, чтобы сделать ее подходящей для BSN.
q
q
uv
vu
uv
uv
vu
T
T
Схема Блома может использоваться следующим образом. Во время фазы предварительного применения в 232 сервер настройки строит (λ+1)×N матрицу G над конечным полем F, где N является размером группы имеющих возможность взаимодействия узлов, которая потенциально встречается в различных BSN, и q является достаточно большим числом, чтобы вмещать криптографический ключ. G рассматривается как публичная информация, т.е. любой датчик может знать содержимое G, включая потенциально недобросовестных пользователей. В 234 сервер настройки строит случайную секретную симметричную (λ+1)×(λ+1) матрицу D над F, и в 236 вычисляет N×(λ+1) матрицу A=(DG), где (DG) является транспонированной из матрицы DG. Так как D является симметричной, K=AG является симметричной матрицей. Следовательно, K=K, где K является элементом, расположенным в K в u-той строке и v-том столбце. K(или K) используется как парный ключ между узлом u и узлом v. В конечном счете, для k=1,2,…N, сервер настройки распределяет:
1. в 238 k-тую строку матрицы A в узел k, и
2. в 240, k-тый столбец матрицы G в узел k. Альтернативно, чтобы сохранить требования памяти, начальное число G(k) для формирования k-того столбца матрицы G может быть распределено в узел k.
uv
vu
В 242 определяется, были ли распределены начальные числа. Если нет, то после фазы применения, в 242, когда узлам u и v необходимо найти парный ключ между ними, они сперва обмениваются своими столбцами из G. Альтернативно в 244, если начальные числа распределены, узлы u и v обмениваются начальными числами и вычисляют другой столбец G узла. Затем в 246, используя свои частные строки из A, узлы u и v могут соответственно вычислить K и K. Так как G является публичной информацией, ее столбцы (или начальные числа) могут передаваться незашифрованным текстом.
Альтернативно, как проиллюстрировано на фиг.10, способ 250 использует схему Блундо для предварительного распределения ключей. Блундо и др. предлагает протокол предварительного распределения ключей на основе полиномов для извлечения групповых ключей. Для групп из двух пользователей схема Блундо является конкретным случаем схемы Блома с единственным преимуществом: нет коммуникационных накладных расходов во время процесса установки парных ключей. Конкретный случай установки парных ключей на основе полиномов в контексте BSN рассматривается ниже.
В 252 сервер настройки случайно формирует двумерный полином  степени λ над конечным полем Fq, где q является достаточно большим простым числом для вмещения криптографического ключа, из условия, что он имеет свойство f(x,y)=f(y,x). Предполагается, что каждый датчик имеет уникальный идентификатор (ID). В 254 сервер настройки вычисляет и распределяет полиномиальную часть f(x,y) для каждого датчика u, т.е. f(u,y).
uv
vu
В 256 для любых двух узлов u и v датчиков узел u может вычислять общий ключ K=f(u,v) с помощью вычисления f(u,y) в точке v, и узел v может вычислять тот же самый ключ K=f(v,u)=f(u,v) с помощью вычисления f(v,y) в точке u. Доказательство безопасности в Блундо и др. гарантирует, что эта схема является безусловно безопасной и стойкой к " λ-сговору". То есть объединение не более чем λ взломанных узлов датчиков ничего не знает о парном ключе между любыми двумя невзломанными узлами.
Как предпочтительная альтернатива, DPKPS может использоваться для первоначального предварительного распределения парных ключей в датчики.
Упреждающие способы используются для увеличения надежности и управления использования ключей, предварительно распределенных в помощью любой из основных схем предварительного распределения ключей, и таким образом снижения эффекта взломанных узлов.
0
1
2
n
Будем предполагать, что время действия всех узлов датчиков разделено на n+1 общих длинных интервалов продолжительностью T, обозначаемых как I, I, I,… и I, т.е. узлы датчиков все слабо синхронизированы с глобальным начальным моментом времени, даже когда соединены в различных BSN.
l-1
l
l
l
l
l
Фиг.11 иллюстрирует способ 260 для сертификации предварительно распределенных ключей и является итогом способов сертификации ключей на фиг.12-15 ниже. В 262 во время каждого временного интервала I мобильные базовые станции (BS) время от времени связываются с датчиками (где бы они не находились) и, в 264, после проверки целостности датчиков, в 266, распределяют сертификат KC ключа в каждый невзломанный узел датчика. В 268 сертификат KC ключа проверяет достоверность целостности предварительно распределяемых ключей датчиков для единственного интервала I, т.е. предварительно распределяемые ключи достоверны для временного интервала I. Аналогично в 270 взломанный узел u не принимает сертификат KC ключа и, таким образом, его предварительно распределяемые ключи аннулируются.
В дальнейшем представлена последовательность способов 280, 310, 330 и 370; каждая последующая схема улучшает предыдущую, устраняя некоторые из ее ограничений. Разница между способами 280, 310, 330 и 370 находится на уровне соединения среди базовых станций и между базовыми станциями и сервером безопасности. Эти способы также различаются в том, как сертификат ключа формируется или согласовывается.
Фиг.12 иллюстрирует способ 280, используемый для централизованной выдачи глобальных сертификатов ключей. В этой части сервер безопасности находится в безопасном месте, отличном от области применения BSN. Как отмечено выше, сервер безопасности является выделенным сервером безопасности, который активно участвует в безопасности до и после применения датчиков. Сервер настройки является выделенным сервером безопасности, который активно участвует в безопасности только до применения датчиков. Следовательно, сервер настройки остается в отключенном от сети состоянии после того, как датчики применены. Также предполагается, что одна или более мобильных базовых станций присутствуют спорадически и кратковременно в BSN. Базовые станции также спорадически соединяются с сервером безопасности. Так как базовые станции являются дорогостоящими узлами, используют устойчивое к внешним воздействиям аппаратное обеспечение и не ограничиваются в вычислительной мощности или памяти. Таким образом, число мобильных базовых станций намного меньше числа узлов датчиков. Так как базовые станции обычно не оставляются без обслуживания, и они лишь спорадично представлены в области применения BSN, их не склонны захватывать или взламывать.
Так как узлы датчиков являются мобильными, нельзя предполагать, что базовая станция будет всегда в беспроводной области BSN (например, пациент с парой датчиков, присоединенных к его телу, который прогуливается в саду больницы). Тем не менее, так как целью BSN является сбор данных, которые необходимо доставить конечному пользователю, предполагается, что BSN спорадически будут находиться в беспроводной области базовой станции. Это важное требование для BSN, иначе информация, собранная с помощью узлов, может быть утеряна из-за ограничения объема памяти в узлах датчиков. Ограничения статичных выделенных серверов для сетевой безопасности датчиков хорошо известны. Например, недобросовестное лицо может попытаться совершить атаки «отказ от обслуживания» (DoS) на выделенные серверы. Такие ограничения исчезают, если выделенные серверы является дублированными, мобильными и не всегда присутствуют в BSN. В средах BSN предполагается существование мобильных базовых станций. Например, в одном подходе доктор загружает данные из BSN пациента в саду. В дальнейшем термины базовые станции относятся к мобильным базовым станциям, которые могут использоваться для безопасности.
i
0
1
n
n
k
k+1
0
k
m
m
0
1
Следуя любой из базовых схем предварительного распределения ключей (например, Блома, Блундо и др., DPKPS) до применения, в 282 узлы датчиков инициализируются с помощью уникального идентификатора и данных безопасности. Основные схемы предварительного распределения ключей не используются для предоставления парных ключей между узлами датчиков и базовыми станциями, чтобы избежать риска, что объединение λ взломанных узлов может выдавать себя за базовую станцию. Кроме того, групповой ключ не предлагается для совместного использования между базовой станцией BSi и узлами датчиков, так как взлом единичного узла сделает возможным взлом безопасности оставшихся узлов и, таким образом, приведет базовую станцию в нефункциональное состояние в отношении безопасности. Вместо этого, в 284, следуя тривиальной схеме предварительного распределения ключей, для каждой базовой станции BSi =1,…,M и каждого узла u датчика, u=1,…,N, N>>M, сервер безопасности случайно выбирает и распределяет парный ключ . Эта схема дает возможность каждому узлу датчика безопасно осуществлять связь с базовой станцией BS. Это безусловно безопасно и дополнительный объем памяти, необходимый в узлах, равен лишь M×logq. В конечном итоге, в 286 сервер безопасности формирует цепочку ключей из n+1 элементов K, K,…,Kс помощью случайного выбора секретного Kи формирования K=F(K) для k=0,1,…,n-1, где F является псевдослучайной функцией. В 288 сервер безопасности распределяет начальный элемент последовательности ключей Kв каждый узел u датчика, u=1,…,N. С помощью псевдослучайной функции F, при заданном K в последовательности ключей, любой узел датчиков может вычислить все предыдущие ключи K; 0≤m≤k, но последующие ключи K; k+1≤m≤n не могут быть вычислены. Таким образом, с помощью знания начального ключа K узел датчика может аутентифицировать любой ключ в последовательности ключей с помощью простого выполнения операций псевдослучайной функции. Второй элемент цепочки ключей Kначально распределяется в каждую базовую станцию BSi.
0
1
n
1
2
n
0
1
n
Базовые станции имеют аналогичную роль делегированным центрам сертификации инфраструктуры публичных ключей с сервером безопасности в качестве доверенного корня. В 290 базовая станция выпускает сертификат ключа (KC) в невзломанный узел, который подтверждает достоверность ее предварительно распределяемых ключей для ограниченного интервала времени T. После временного интервала T предварительно распределяемые ключи более не достоверны. Элементы цепочки ключей K, K,…,K используются последовательно как сертификат ключа для каждого интервала I, I,… и I. В последующем элементы цепочки ключей упоминаются как сертификаты ключей KC, KC,…,KC.
l
l+1
l+1
i
В 292 в течение временного интервала I каждая и любая базовая станция BSi спорадически связывается с сервером безопасности. Так как базовые станции и серверы безопасности являются мощными узлами, они могут использовать криптографию с открытым ключом для обеспечения безопасности их передач данных. Сервер безопасности распределяет следующий сертификат KC ключа в каждую базовую станцию BSi, BSi=1,…,M. Следует заметить, что в невероятном событии взлома базовой станции раскрывается только один сертификат без риска будущих раскрытий сертификатов ключей, т.е. взломанная базовая станция сама по себе не может вычислить следующий сертификат ключа. Взлом базовой станции легко обнаружить, так как она не будет обращаться к серверу безопасности в следующем временном интервале I. Таким образом, раскрытая базовая станция не получит сертификатов ключей в последующие интервалы за интервалом взлома. Однако в подобном событии оставшиеся базовые станции должны информировать все узлы датчиков об идентификационной информации, взломанной базовой станции BS. Каждый узел u датчика сотрет его совместно используемый ключ с BSi и, таким образом, удалит BSi из своего списка надежных базовых станций.
l
l+1
l+1
l+1
l
l+1
В 294 в течение временного интервала I, по меньшей мере, одна произвольная базовая станция BSi спорадически и кратковременно обращается к BSN. В 296, используя соответствующие ключи , базовая станция BSi аутентифицирует и устанавливает безопасную связь с каждым невзломанным узлом датчика, формирующим часть BSN. В 298 в каждый аутентифицированный узел датчика базовая станция распределяет сертификат KCключа, соответствующий временному интервалу I. В-третьих, узел датчика проверяет, что h(K) равняется сохраненному K. В отрицательном случае узел датчика может определенно сделать вывод, что базовая станция BSi была взломана и, таким образом, отвергнуть поддельный сертификат KC' ключа.
В 300 устанавливается ключ. Если двум узлам необходимо установить парный ключ, они сначала выводят парный ключ, как объяснено выше. Затем проверяют, чтобы оба имели действительный сертификат ключа от базовой станции BSi. Процесс проверки достоверности сертификата ключа, выполняемый двумя узлами u и v датчиков, должен быть безопасным для предотвращения получения недобросовестным пользователем действительного сертификата ключа. Следовательно, этот процесс не может требовать изначального обмена соответствующими сертификатами ключей и затем проверки достоверности сертификатов ключей с помощью внутренней проверки, что они были выпущены для текущего временного интервала Il и что они могут быть аутентифицированы с помощью начального ключа K0 (или извлеченных аутентифицированных ключей Km; m<l) последовательности ключей. Вместо этого оба узла датчиков выполняют протокол нулевого знания (ZK), чтобы доказать, что оба имеют действительный сертификат без его действительного показа. Протокол ZK указан ниже:
U→V:Nu
(1)
V→U:Nv
(2)
U:KZNPuv=MACKCl(Nu││Nv)
(3)
V:KZNPvu=MAC KCl(Nv││Nu)
(4)
U:MACKuv(KZNPuv)
(5)
V:MACKvu(KZNPvu)
(6)
U→V:MACKuv(KZNPuv)
(7)
V→U:MACKvu(KZNPvu)
(8)
В (1) узел u отсылает самосформированный для данного случая элемент Nu в узел v. В (2) узел v отсылает самосформированный для данного случая элемент Nv в узел u. В (3) u использует сертификат KCl и оба для данного случая элемента Nu и Nv для вычисления кода аутентификации сообщения (MAC). Оба элемента для данного случая должны быть включены в сообщение (3) и (4) для избежания атак отражения, т.е. v, в случае, если он не знает KCl, обманом добивается от u вычислений KZNP, что v может затем использовать для успешного запуска протокола ZK с третьим узлом w. Вычисленный MAC составляет ключ для протокола ZK KZNPuv. С помощью аналогичной процедуры в (4) v вычисляет тот же самый ключ KZNPvu протокола ZK. Заметим, что KZNPuv≠KZNPvu. Оба ключа протокола ZK должны быть разными, чтобы избежать, что v, в случае, если он не знает KCl, лишь повторно воспроизводит сообщение (7) для успешного исполнения протокола ZK. В (5) u вычисляет MAC KZNPuv, используя парный ключ Kuv. В (6) v вычисляет MAC KZNPvu, используя парный ключ Kvu. Эти два этапа необходимы для ассоциирования сообщения KCl с u и v соответственно. Они также противостоят против перехвата сообщений злоумышленником, которыми обмениваются на (7) и (8). В конечном итоге, u проверяет действительность, что v известно KCl: следуя этапам, которые v выполняет в (4) и (7), u может вычислить часть информации для сравнения с информацией, принятой от v в (8). Узел v может следовать аналогичной процедуре для проверки действительности знания u о KCl. Следует заметить, что так как обмениваемые сообщения (7) и (8) являются MAC, вычисляемыми с помощью информации, хранящейся внутри узлов u и v, соответственно, и никакой дополнительной информации не раскрывается, никакая информация о KCl не открывается.
i
Фиг.13 иллюстрирует способ 310 для предоставления централизованно согласованных глобальных сертификатов ключей. Способ 280 из фиг.12 имеет важный недостаток для некоторых приложений: требование от базовой станции BS осуществлять связь с сервером безопасности может быть невыполнимо в таких приложениях. Однако во многих приложениях базовые станции будут иметь взаимное спорадическое соединение некоторое время до следующего визита в BSN. Например, для глобального обмена информацией, собранной в различных BSN. В способе 310 мы используем такой факт.
В способе 310 мы делаем предположение об автономном сервере настройки, который находится в безопасном месте, отличном от области применения BSN. Также предполагаем существование множества мобильных базовых станций BSi, BSi=1,…,M, присутствующих спорадически и кратковременно в BSN. Однако в способе 310 базовые станции не обращаются спорадически к серверу настройки после фазы применения. Вместо этого они спорадически и кратковременно взаимно связываются. Оставшиеся предположения для базовых станций, обсужденные в способе 280, содержатся в способе 310.
В 312, следуя какой-либо из базовых схем предварительного распределения ключей, до применения, узлы датчиков инициализируются с уникальным идентификатором и данными безопасности. В 314, следуя тривиальной схеме предварительного распределения ключей, для каждой базовой станции BSi=1,…,M, и каждого узла датчика u=1,…,N, N>>M, сервер безопасности случайно выбирает и распределяет парный ключ .
l-1
i
l+1
l+1
Базовые станции имеют аналогичную роль перекрестно связанным центром сертификации инфраструктуры публичных ключей. В 316 базовая станция выпускает сертификат ключа в невзломанный узел, который проверяет достоверность его предварительно распределяемых ключей для ограниченного периода T времени. После периода T времени предварительно распределяемые ключи узла более не достоверны. В 318 во время временного интервала Iкаждая и любая базовая станция BS спорадически взаимно соединяются. Так как базовые станции являются мощными узлами, они могут использовать криптографию с открытым ключом для обеспечения безопасности своих передач данных. В 320 базовые станции согласовывают сертификат ключа KC, соответствующий временному интервалу I.
l
l+1
l+1
В течение временного интервала I, по меньшей мере, одна произвольная базовая станция BSi спорадически и кратковременно обращается к BSN. В 322, используя соответствующие ключи , базовая станция BSi аутентифицирует и устанавливает безопасную связь с каждым невзломанным узлом датчика, формирующим часть BSN. В 324 каждому аутентифицированному узлу датчика базовая станция распределяет сертификат KCключа, соответствующий временному интервалу I.
l
l+1
l+1
l-1
l
l
l+1
l+1
l+1
l+1
l+1
u,BSi
обновленный
После временного интервала I каждая базовая станция BSi отбрасывает сертификат ключа K. Следовательно, максимум базовая станция BSi сохранит сертификат ключа KCдва временных интервала Iи I. Следует заметить, что в маловероятном событии взлома базовой станции, только два сертификата ключей KCи KCраскрываются без риска будущих раскрытий сертификатов ключей, т.е. взломанная базовая станция не может предвидеть следующий сертификат ключа за KC. Взлом базовой станции легко обнаружить, так как она не обращается к оставшимся базовым станциям в следующем временном интервале I. Хотя в подобном событии оставшиеся базовые станции должны информировать все узлы датчиков об идентификационной информации взломанной базовой станции BSi и, если возможно, распределять обновленный сертификат KC  ключа для в настоящий момент текущего временного интервала I. Каждый узел u датчика стирает свой совместно используемый ключ Kс BSi и, таким образом, удаляет BSi из своего списка надежных базовых станций.
В 326 устанавливается ключ. Если двум узлам необходимо установить парный ключ, они сначала выводят парный ключ, как объяснено выше. Затем они проверяют, что оба имеют действительный сертификат ключа с помощью исполнения протокола ZK, как объясняется в способе 280.
l
Фиг.14 иллюстрирует способ 330, который позволяет локально согласовывать глобальные сертификаты ключей. Способ 300 имеет важный недостаток для некоторых приложений: требование взаимного соединения всех базовых станций BSi в течение временного интервала Iможет быть невыполнимо или непрактично в этих приложениях. Кроме того, базовые станции определенно спорадически соединяются в малых множествах за некоторое время до следующего визита в BSN. Например, для обмена информацией, собранной в различных BSN. В способе 330 используется такой факт.
u,Bsi
1
2
M
i
В 332, следуя какой-либо основной схеме предварительного распределения ключей, до применения, узлы датчиков инициализируются с помощью уникального идентификатора и данных безопасности. В 334 следуя тривиальной схеме предварительного распределения ключей, для каждой базовой станции Bsi=1,…,M, и каждого узла u датчика, u=1,…,N, N>>M, сервер настройки случайно выбирает и распределяет парный ключ K. В 336 сервер безопасности формирует секретное S. В 338, следуя пороговой схеме (t,M) (t≤M), сервер настройки формирует M частей S, S,…,S из секретного S, и безопасно распределяет S в каждую базовую станцию BSi. Любые t или более базовых станций, объединяющие свои части, легко восстанавливают S, но любая группа базовых станций, знающая только t-1 или менее частей, не может. Следует заметить, что в конкретном случае t=1, каждая базовая станция BSi сохраняет действительное секретное S.
В этом конкретном подходе базовые станции имеют аналогичную роль с перекрестно связанными полномочиями сертификации инфраструктуры публичного ключа. В 340 базовая станция выпускает сертификат ключа в невзломанный узел, который проверяет действительность ее предварительно распределяемых ключей для ограниченного периода времени T. После временного периода T предварительно распределяемые ключи узла более не действительны.
l-1
g
1
2
g
g
g
g
g1
gk
g
g
1
2
3
3
3
g1
g2
g
g1
gk
g
l+1
l+1
l+1
В 342 в течение временного интервала I, каждая и любая базовая станция BSi спорадически безопасно соединяются, создавая малые несвязанные группы G, G, G… g<M. Каждая базовая станция BSi соединяется с, по меньшей мере, одной группой G. Следовательно, число членов каждой группы равно │G│≥M/g, где  является самым большим натуральным числом y, меньшим, чем или равным x. Группа G может быть представлена как G={G,…,G; k=│G│}. Например, с M=7 базовых станций и g=3, тогда │G│≥2 и расположение групп может быть G={BS2, BS3, BS6} и G={BS1, BS4, BS5} и G={BS1, BS7}. Следует заметить, что для группы G│G│=2 и G=BS1 и G=BS7. Необходимым условием для того, что сейчас последует, является то, что │G│≥t для всех g. В 344 члены G,…,Gгруппы G объединяют и части … для вычисления S. Затем каждый член группы независимо вычисляет сертификат KC ключа для интервала I с помощью вычисления KC=F(S,l+1). В конечном итоге, каждый член группы отбрасывает S.
l
l+1
l+1
l
l+1
В течение временного интервала I, по меньшей мере, одна произвольная базовая станция BSi спорадически и кратковременно обращается к BSN. В 346, используя соответствующие ключи  базовая станция аутентифицирует и устанавливает безопасную связь с каждым невзломанным узлом датчика, формирующим часть BSN. В 348 в каждый аутентифицированный узел датчика базовая станция распределяет сертификат KC ключа для временного интервала I. Как в способе 300, после временного интервала I каждая базовая станция BSi отбрасывает сертификат KC ключа.
В 350 устанавливается ключ. Если двум узлам необходимо установить парный ключ, они сначала выводят парный ключ, как объясняется в способе 300. Затем они проверяют, что оба имеют действительный сертификат ключа с помощью выполнения протокола ZK, как объясняется в способе 270.
Фиг.15 иллюстрирует способ 370, который позволяет локально согласовывать отдельные сертификаты ключей. Способ 330 имеет значительное функциональное улучшение относительно способов 270 и 300: каждая малая часть базовых станций может управлять сертификатами ключей независимо и без необходимости обращения к серверу настройки. Более того, в маловероятном событии взлома базовой станции безопасность всех BSN не взламывается для оставшихся временных интервалов.
l
l
l
l
l+1
l+1
l+1
Предыдущие схемы имеют важное преимущество: все узлы датчиков могут взаимно аутентифицировать и/или устанавливать безопасные передачи данных в течение временного интервала I, независимо от их мобильности, т.е. в течение временного интервала I узел датчика может перемещаться по различным BSN и он все еще может безопасно передавать данные во всех из них. Другими словами, способы 270, 300 и 330 дают возможность логического безопасного соединения узлов в различных BSN через единственную защищаемую зону. Это, в свою очередь, имеет противоречивый эффект для безопасности: необнаруженный взломанный узел может все еще соединяться с BSN в оставшееся время интервала I взлома, потому что он сохраняет KC и, возможно, также в следующем интервале I, если он уже имеет KC. Следует принять во внимание, что взломанный узел не может обмануть базовую станцию. Таким образом, единственным способом взломанного узла получить K - это принять его до того, как его взломают.
В некоторых приложениях датчиков, однако, степень защищенности системы менее важна. Мы ссылаемся здесь на приложения, где датчики имеют очень низкую мобильность. Представим, например, множество датчиков, присоединенных к человеческому телу. Тело естественно мобильно, но прикрепленные датчики не двигаются в отношении друг друга.
l
l,
l
l
l
l
l
1
2
m
i
j
В способе 370 BSN не являются логически безопасно связанными тем, что совместно используют тот же самый сертификат KC ключа. Скорее в данном варианте осуществления, разные BSN могут иметь разные сертификаты KC KC …KC  ключей, выделяя узлы датчиков, принадлежащие некоторой BSN из оставшихся узлов, принадлежащих сетям BSN с другими сертификатами ключей KC  и KC , i≠j. Другими словами, множество датчиков теперь принадлежит разным и динамичным защищаемым зонам, причем каждая защищаемая зона определяется сертификатом ключа исключительно согласованного группой базовых станций. Два узла датчиков могут безопасно передавать данные, если и только если они принадлежат к одной и той же защищаемой зоне в заданный временной интервал I.
BSi
BSj
l
l
В 372 ключ предварительно распределяется, как описано в способе 330. В 374 предварительно распределяется сертификация ключей. Базовые станции имеют аналогичную роль корневым центрам сертификации инфраструктуры публичных ключей. В 376 базовая станция выпускает сертификат ключа в невзломанный узел, который проверяет достоверность его предварительно распределенных ключей для ограниченного периода времени T. После временного периода T предварительно распределяемые ключи узла более недействительны. Сертификаты KC  и KC  ключей от различных базовых станций BSi и BSj, i≠j, не могут быть равными.
l-1
g
1
2
g
g1
gk
g
l+1
l+1
g
l+1
g
В 378 в течение временного интервала I, каждая и любая базовая станция BSi спорадически безопасно соединяется, создавая малые несвязанные группы G,G,G…g<M. Каждая базовая станция BSi соединяется, по меньшей мере, с одной группой G. В 380 члены G,…,G группы G объединяют свои части … для вычисления S. В 382 каждый член группы независимо вычисляет сертификат KC  для интервала I с помощью вычисления  где  является элементом для данного случая единственным для группы G для интервала I. В 384 каждый член группы отбрасывает S.
l
u,Bsi
l+1
l+1
l
l+1
g
g
В 386 в течение временного интервала I, по меньшей мере, одна произвольная базовая станция BSi спорадически и кратковременно обращается к BSN. В 388, используя соответствующие ключи K, базовая станция BSi аутентифицирует и устанавливает безопасную передачу данных с каждым невзломанным узлом датчика, формирующим часть BSN. В 390 в каждый аутентифицированный узел датчика базовая станция распределяет сертификат KC  для временного интервала I. Как и в предыдущих схемах, после временного интервала Iкаждая базовая станция BSi отбрасывает сертификат KC  ключа.
g
l+1
g
i
1
2
n
l+1
l+1,
l+1
g
1
2
n
Существует три отдельных случая в способе 370: первоначально, если каждой базовой станции BSi разрешается присоединиться только один раз к группе G, то она выводит единственный сертификат KC ключа. Результатом становится столько разных защищаемых зон, сколько групп G. В конкретном случае t=1, каждая базовая станция BSi создает свою собственную группу G и, таким образом, результатом становится столько разных защищаемых зон, сколько базовых станций BSi. Во-вторых, если базовой станции BSi разрешено присоединяться к n различным группам G,G…G, 1<n≤g, то она выводит n разных сертификатов ключей KC , KC KC . Результатом становится наличие разных защищаемых зон, некоторые из которых логически соединены. В-третьих, если все базовые станции соединяются с одной и той же и единственной группой, то они все согласовывают один и тот же сертификат ключа и, таким образом, результатом является глобальная защищаемая зона, как в способе 330.
В 392 устанавливается ключ. Если двум узлам необходимо установить парный ключ, они сначала выводят парный ключ, как объясняется в способе 300. Затем они проверяют, что оба имеют действительный сертификат ключа с помощью выполнения протокола ZK, как объясняется в способе 270. Два узла датчиков с разными сертификатами ключей не могут установить ключ.
В способе 370 взломанные узлы датчиков не могут использоваться для атаки на датчики с другими сертификатами ключей, нежели сертификат, хранимый взломанным узлом. Однако используя способ 370, узлы датчиков с разными сертификатами ключей не могут безопасно передавать данные в одной той же BSN. Эта система управления ключами улучшила устойчивость в отношении захватов узлов без опоры на какие-либо глобальные ID для сетей BSN и использует немного больше памяти датчиков, чем это необходимо основным схемам предварительного распределения ключей.
Изобретение описано со ссылкой на предпочтительные варианты осуществления. Модификации и изменения могут возникать для других при прочтении и понимании предшествующего подробного описания. Подразумевается, что изобретение следует толковать как включающее все подобные модификации и изменения в такой мере, как они попадают в объем прилагаемой формулы изобретения или ее эквивалентов.