Системы и способы для воссоединения второй группы узлов с первой группой узлов с использованием общего ключа группы

Иллюстрации

Показать все

Изобретение относится к радиотехнике, а именно к системам и способам для воссоединения второй группы узлов с первой группой узлов. Техническим результатом является повышение надежности связи между группами узлов. Технический результат достигается тем, что согласно способу для воссоединения второй группы узлов с первой группой узлов принимается первое состояние первого ключа группы, ассоциированного с первой группой узлов. Первое состояние первого ключа группы передается посредством групповой передачи ко второй группе узлов. Первый ключ группы заменяется на второй ключ группы, ассоциированный со второй группой узлов. Второе состояние, включающее в себя второй ключ группы, подготавливается и передается посредством групповой передачи ко второй группе узлов. Принимается третье состояние, включающее в себя третий ключ группы, ассоциированный с первой группой узлов. Команда повторного ввода ключа передается посредством групповой передачи ко второй группе узлов, если третье состояние отличается от второго состояния. Второй ключ группы заменяется на третий ключ группы. 3 н. и 17 з.п. ф-лы, 7 ил.

Реферат

Область техники

Настоящее изобретение относится к компьютерам и связанной с компьютерами технологии. Более конкретно, настоящее изобретение относится к системам и способам для воссоединения второй группы узлов с первой группой узлов с использованием общего ключа группы.

Область техники

Компьютерные и коммуникационные технологии продолжают развиваться быстрыми темпами. Действительно, компьютерные и коммуникационные технологии связаны с многими аспектами повседневной жизни. Например, многие устройства, используемые в настоящее время потребителями, имеют небольшой компьютер внутри устройства. Такие малые компьютеры поставляются с различными размерами и степенями сложности. Эти малые компьютеры включают все, от микроконтроллера до полнофункциональной компьютерной системы. Например, эти малые компьютеры могут быть однокристальным компьютером, таким как микроконтроллер, одноплатным компьютером, таким как контроллер, типовым настольным компьютером, таким как IBM совместимый персональный компьютер, и т.д.

Компьютеры в типовом виде имеют один или более процессоров в качестве основного элемента компьютера. Процессоры обычно взаимосвязаны с различным внешними входами и выходами и функционируют для управления конкретным компьютером или устройством. Например, процессор в термостате может быть связан с кнопками, используемыми для выбора температурной настройки, с печью или кондиционером для изменения температуры и с температурными датчиками для считывания и индикации текущей температуры на дисплее.

Многие приборы, устройства и т.д. включают в себя один или более малых компьютеров. Например, термостаты, печи, системы кондиционирования воздуха, холодильники, телефоны, пишущие машинки, автомобили, торговые автоматы и многие различные типы промышленного оборудования теперь обычно содержат небольшие компьютеры или процессоры. Компьютерное программное обеспечение управляет процессорами этих компьютеров и инструктирует процессоры, как выполнять определенные задачи. Например, компьютерное программное обеспечение, исполняемое на термостате, может заставить кондиционер остановить функционирование, когда конкретная температура достигнута, или может заставить нагреватель включиться, когда необходимо.

Эти типы небольших компьютеров, которые являются частью устройства, прибора, инструмента и т.д., часто упоминаются как встроенные устройства или встроенные системы. (Термины "встроенное устройство" и "встроенная система" будут использоваться здесь взаимозаменяемо). Встроенная система обычно относится к компьютерным аппаратным средствам и программному обеспечению, которые является частью большей системы. Встроенные системы могут не иметь типовых устройств ввода и вывода, таких как клавиатура, мышь и/или монитор. Обычно, основу каждой встроенной системы составляет один или более процессоров.

Встроенные системы могут использоваться, чтобы контролировать или управлять многими различными системами, ресурсами, продуктами и т.д. С ростом Интернета и Всемирной Паутины, встроенные системы все в большей степени связываются с Интернетом, так что они могут дистанционно контролироваться и/или управляться. Другие встроенные системы могут быть соединены с компьютерными сетями, включая локальные сети, глобальные сети и т.д. Термин "компьютерная сеть" (или просто "сеть"), как он используется в настоящем документе, относится к любой системе, в которой ряд узлов связан коммуникационными каналами. Термин "узел" относится к любому устройству, которое может быть подсоединено как часть компьютерной сети.

Некоторые встроенные системы могут обеспечивать данные и/или услуги другим вычислительным устройствам, используя компьютерную сеть. Альтернативно, могут иметься типовые компьютеры или вычислительные устройства, которые предоставляют данные и/или услуги другим вычислительным устройствам, используя компьютерную сеть. Узлы могут совместно использовать состояние между собой с использованием сети. Сети не являются идеальными, и иногда сети могут становиться сегментированными или разъединенными. Это может привести в результате к потере связности между наборами узлов, которые осуществляли связь, и вызвать расхождение в их совместно используемом состоянии. Когда это разделение разрешается, ранее осуществлявшие связь узлы могут испытывать затруднения в осуществлении связи вновь, ввиду такого расхождения в состоянии. Является полезным минимизировать это затруднение. Такие выгоды могли бы быть реализованы, если бы имелись системы и способы для воссоединения второй группы узлов с первой группой узлов с использованием общего ключа группы.

Сущность изобретения

Описан способ для воссоединения второй группы узлов с первой группой узлов. Принимается первое состояние ключа первой группы, ассоциированного с первой группой узлов. Первое состояние ключа первой группы передается посредством групповой передачи к второй группе узлов. Ключ первой группы вводится повторно как ключ второй группы, ассоциированный с второй группой узлов. Второе состояние ключа второй группы передается посредством групповой передачи к второй группе узлов. Принимается третье состояние ключа третьей группы, ассоциированного с первой группой узлов. Команда повторного ввода ключа передается посредством групповой передачи к второй группе узлов, если третье состояние отличается от второго состояния. Ключ второй группы повторно вводится как ключ третьей группы.

Первая группа может быть группой узлов групповой передачи. Первое состояние может быть послано от управляющего узла первой группы узлов. Второе состояние может быть послано от управляющего узла второй группы узлов. Один или более узлов первой группы узлов могут быть разделены на вторую группу узлов. Коммуникации между управляющим узлом первой группы узлов могут быть отсоединены от узлов, образующих вторую группу узлов.

В одном варианте осуществления каждое состояние может включать в себя ключ обмена ключами (КЕК). Узлы, которые включают в себя ключ обмена ключами (КЕК), могут принимать каждое состояние. Каждый ключ группы может включать в себя параметр ключа группы, причем параметр ключа группы указывает количество времени, в течение которого каждый ключ группы использовался группой узлов. Может быть выбран управляющий узел, который содержит ключ группы, с наивысшим параметром ключа группы. Каждый узел, содержащийся в первой группе узлов и второй группе узлов, может содержать идентификатор узла, причем идентификатор узла указывает порядок того, когда узел присоединился к первой группе узлов. Может быть выбран управляющий узел, который содержит самый низкий идентификатор узла.

В одном варианте осуществления команда на повторный ввод зашифрована ключом группы. Управляющий узел второй группы узлов может содержать ключ первой группы и ключ второй группы.

Также описана компьютерная система, которая конфигурирована для присоединения второй группы узлов к первой группе узлов. Компьютерная система содержит процессор и память в электронной коммуникации с процессором. В памяти сохранены инструкции. Принимается первое состояние ключа первой группы, ассоциированное с первой группой узлов. Первое состояние ключа первой группы передается посредством групповой передачи к второй группе узлов. Ключ первой группы вводится повторно как ключ второй группы, ассоциированный с второй группой узлов. Второе состояние ключа второй группы передается посредством групповой передачи к второй группе узлов. Принимается третье состояние ключа третьей группы, ассоциированного с первой группой узлов. Команда повторного ввода ключа передается посредством групповой передачи к второй группе узлов, если третье состояние отличается от второго состояния. Ключ второй группы повторно вводится как ключ третьей группы.

Также описан машиночитаемый носитель, содержащий исполняемые инструкции для присоединения второй группы узлов к первой группе узлов. Принимается первое состояние ключа первой группы, ассоциированное с первой группой узлов. Первое состояние ключа первой группы передается посредством групповой передачи к второй группе узлов. Ключ первой группы вводится повторно как ключ второй группы, ассоциированный с второй группой узлов. Второе состояние ключа второй группы передается посредством групповой передачи к второй группе узлов. Принимается третье состояние ключа третьей группы, ассоциированного с первой группой узлов. Команда повторного ввода ключа передается посредством групповой передачи к второй группе узлов, если третье состояние отличается от второго состояния. Ключ второй группы повторно водится как ключ третьей группы.

Краткое описание чертежей

Иллюстративные варианты осуществления изобретения станут более понятными из следующего описания и приложенных пунктов формулы изобретения, рассматриваемых во взаимосвязи с иллюстрирующими чертежами. Понятно, что эти чертежи изображают только иллюстративные варианты осуществления и не должны рассматриваться как ограничивающие объем изобретения, поэтому иллюстративные варианты осуществления изобретения описаны ниже с дополнительной спецификой и деталями с использованием иллюстрирующих чертежей, на которых:

Фиг. 1 - блок-схема, иллюстрирующая один вариант осуществления сервера, передающего ключ обмена ключами (KEK) к одному или более узлам в пределах группы защищенной групповой передачи;

Фиг. 2 - блок-схема, иллюстрирующая один вариант осуществления второй группы узлов, отделенной от первой группы узлов;

Фиг. 3 - блок-схема, иллюстрирующая другой вариант осуществления второй группы узлов;

Фиг. 4 - блок-схема, иллюстрирующая один вариант осуществления управляющего узла второй группы узлов, соединяющейся с первой группой узлов;

Фиг. 5 - блок-схема варианта осуществления второй группы узлов, воссоединяющейся с первой группой узлов;

Фиг. 6 - блок-схема, иллюстрирующая один вариант осуществления способа для групповой передачи команды на повторный ввод ключа к одному или более узлам во фрагментированной группе узлов; и

Фиг. 7 - блок-схема компонентов аппаратных средств, которые могут использоваться в узле, который конфигурирован согласно варианту осуществления.

Лучший режим выполнения изобретения

Различные варианты осуществления изобретения описаны ниже со ссылками на чертежи, на которых ссылочные позиции обозначают идентичные или функционально подобные элементы. Варианты осуществления настоящего изобретения, как вообще описано и проиллюстрировано на чертежах, могут конфигурироваться и разрабатываться в большом разнообразии различных конфигураций. Таким образом, следующее более детальное описание нескольких примерных вариантов осуществления настоящего изобретения, как представлено на чертежах, не предназначено для ограничения объема изобретения, как заявлено, но просто представляет варианты осуществления изобретения.

Слово "примерный" используется здесь исключительно для того, чтобы означать "служить примером, экземпляром или иллюстрацией". Любой вариант осуществления, описанный здесь как "примерный", не должен обязательно рассматриваться как предпочтительный или выгодный по отношению к другим вариантам осуществления.

Многие признаки вариантов осуществления, раскрытых здесь, могут быть осуществлены как программное обеспечение, электронные аппаратные средства или комбинации того и другого. Чтобы ясно иллюстрировать эту взаимозаменяемость аппаратных средств и программного обеспечения, различные компоненты будут описаны в общем, с точки зрения их функциональных возможностей. То, осуществлены ли такие функциональные возможности как аппаратные средства или программное обеспечение, зависит от конкретного применения и ограничений проектирования для системы в целом. Специалисты в данной области техники могут осуществить описанные функциональные возможности различными способами для каждого конкретного применения, но такие решения реализации не должны интерпретироваться как вызывающие отклонение от объема настоящего изобретения.

Если описанные функциональные возможности осуществлены как программное обеспечение, то такое программное обеспечение может включать в себя любой тип компьютерной инструкции или исполняемого компьютером кода, помещенных в устройство памяти и/или переданных как электронные сигналы по системной шине или сети. Программное обеспечение, которое реализует функциональные возможности, связанные с компонентами, описанными здесь, может содержать единственную инструкцию или много инструкций, и может быть распределено по нескольким различным сегментам кода, по различным программам и по нескольким устройствам памяти.

Используемые здесь термины, такие как "вариант осуществления", "варианты осуществления", "один или более вариантов осуществления", "некоторые варианты осуществления", "определенные варианты осуществления", "один вариант осуществления", "другой вариант осуществления" и т.п. означают "один или более (но не обязательно все) вариантов осуществления раскрытого(ых) изобретения(й)", если явно не определено иначе.

Термин "определение" (и его грамматические варианты) использован в чрезвычайно широком смысле. Термин "определение" охватывает большое разнообразие действий, и поэтому "определение" может включать расчет, вычисление, обработку, получение, исследование, поиск (например, поиск в таблице, базе данных или другой структуре данных), установление и т.п. Кроме того, "определение" может включать прием (например, прием информации), получение доступа (например, получение доступа к данным в памяти) и т.п. Кроме того, "определение" может включать разрешение, отбор, выбор, установление и т.п.

Термин "основанный на" не означает "основанный только на", если явно не определено иначе. Другими словами, термин "основанный на" описывает и "основанный только на" и "основанный, по меньшей мере, на".

Компьютерные сети могут включать в себя множество узлов. Узлы могут упоминаться как вычислительные устройства. Множество узлов могут быть организованы в одну или более групп. Один узел может осуществлять связь с другими узлами в своей группе. В одном варианте осуществления один узел выполняет групповую передачу информации к другим узлам в своей группе. Групповая передача может включать передачу информацию одновременно каждому члену группы. Один узел может передать состояние путем групповой передачи к другим узлам в пределах группы. Состояние может включать уникальную конфигурацию информации относительно программы или другого аспекта вычислительного устройства.

Групповая передача состояния может быть желательной для масштабируемых групп безопасной групповой передачи. Проблема может возникнуть, когда сеть становится фрагментированной. Например, исходная группа узлов может быть фрагментирована на различные фрагментированные группы узлов. Состояние, которое было когда-то общим между членами исходной группы, может расходиться. Например, группы узлов в типовом случае управляют своим собственным ключом. С течением времени, группа может периодически вводить новый ключ. Новый ключ может быть выбран случайным образом, так что вероятность того, что различные фрагментированные группы узлов повторно введут тот же самый ключ, будет низка.

Разделение групп может быть корректным поведением до тех пор, пока сетевая проблема не будет решена. Другими словами, группа(ы) не должна(ы) потерпеть неудачу ввиду отказа аппаратных средств, предполагая, что некоторые наборы узлов могут все еще осуществлять связь. Однако, когда сетевая проблема решена, и каждая из фрагментированных групп узлов может снова осуществлять связь друг с другом, состояние должно сходиться как можно быстрее.

Настоящие системы и способы касаются группы узлов, определяющих администратора группы. Любой узел в группе может служить администратором, и больше чем один узел может служить администратором в любой момент времени. Администратор периодически уведомляет о своем состоянии узлы в своей группе. Дополнительно администратор уведомляет о своем состоянии таким способом, что другие фрагментированные группы узлов могут извлечь его. Основная часть состояния, которое является общим для различных фрагментированных групп узлов, является ключом обмена ключами (KEK). Любые фрагментированные группы узлов, которые используют тот же самый KEK, могут осуществлять связь друг с другом. Дополнительные состояния, такие как параметры хронирования и ключ группы, могут испытывать расхождение с течением времени. Эти параметры могут уведомляться и защищаться посредством KEK. Другими словами, узлам, которые не обладают KEK, может быть не разрешено извлекать эти параметры из состояния.

Когда происходит разделение, каждая фрагментированная группа узлов может определить различного администратора. Узлы во фрагментированной группе могут определять администратора автоматически, когда они перестают прослушивать периодические уведомления состояния от своего предыдущего администратора. Если произойдет так, что будет иметься несколько администраторов для одной группы в любой момент, то несколько администраторов будут прослушивать уведомления друг друга. Если состояние в этих множественных уведомлениях будет точным дубликатом, то один из узлов прекратит быть администратором. Администратор с самым старым состоянием или более низким идентификатором узла в случае связи может продолжать быть администратором фрагментированной группы. Есть, конечно, другие методы для определения администратора группы, которые могли бы использоваться. Если разделение происходит, но разрешается перед расхождением состояния, то вышеупомянутая логика может решить проблему множества администраторов, когда фрагментированные группы узлов вновь начинают осуществлять связь.

Если разделение происходит в течение достаточно долгого времени, состояния, соответствующие различным фрагментированным группам, могут расходиться. Когда разделение разрешено и связь возобновляется, будет иметься множество администраторов фрагментированных групп, уведомляющих о различных состояниях узлы, которые принадлежали исходной группе. Узлы, принадлежащие различным фрагментированным группам, могут совместно использовать тот же самый KEK. Даже хотя администратор может знать, что конкретное уведомление действительно, он может не доверять тому, что пакет является текущим, ввиду возможности атаки воспроизведением (replay attack). Например, узел-злоумышленник может сохранить предыдущее уведомление и затем воспроизвести это уведомление в более позднее время. Этот вид воспроизведения не должен вызывать реакцию узлов.

Если администратор фрагментированной группы узлов слышит уведомление, которое содержит частичное совпадение с его состоянием, он может "присоединиться" к группе, идентифицированной другим администратором. Это присоединение может быть почти идентичным процессу, когда узел присоединяется к группе впервые, и может быть защищено против атаки воспроизведением. Если присоединение успешно, то администратор фрагментированной группы обладает обоими наборами состояния. Администратор может тогда повторно ввести ключ для своей собственной фрагментированной группы узлов, чтобы соответствовать состоянию другой группы узлов, - эффективным образом восстанавливая группу очень быстро. Та же самая логика, как описано выше (то есть какое состояние старше), может использоваться, чтобы определить, какой администратор повторно вводит ключ, поскольку ситуация симметрична (то есть оба администратора могут прослушивать уведомления друг друга).

На фиг. 1 показана блок-схема, иллюстрирующая один вариант осуществления сервера 102, передающего ключ обмена ключами (KEK) 104 к одному или более узлам в пределах группы А 106. В одном варианте осуществления сервер 102 является сервером аутентификации. Сервер аутентификации может быть сервером, который аутентифицирует узлы, желающие присоединиться к группе А 106. В одном варианте осуществления сервер 102 аутентифицирует узел, и узел получает KEK 104. Узел может присоединиться к группе А 106 с использованием KEK 104, чтобы проверить свою способность присоединить группу А 106 к другим узлам, принадлежащим к группе А 106. В одном варианте осуществления сервер 102 поддерживает минимальное состояние относительно каждого узла группы А 106. Например, сервер 102 может просто поддерживать состояние KEK 104. Сервер 102 может сообщить изменения в KEK 104 узлам группы А 106.

Как проиллюстрировано, группа А 106 включает в себя узел 108, узел B 110 и узел C 112. В то время как группа А 106 проиллюстрирована только с тремя узлами, понятно, что группа А 106 может включать в себя больше или меньше узлов. Группа А 106 может упоминаться как группа безопасной групповой передачи, потому что узлы в пределах группы А 106 могут передавать посредством групповой передачи информацию друг к другу безопасным способом. Например, информация, которая передается посредством групповой передачи между узлами группы А 106, может быть зашифрована общим ключом 114 группы А. Узлы могут использовать KEK 104 для приема ключа 114 группы А, который ассоциирован с группой А 106. Например, узел N 116 может послать запрос, чтобы стать членом группы А 106, посылая запрос 118 о группе к одному или более узлам группы А 106. Один или более узлов группы А 106 могут определить, включает ли в себя узел N 116 KEK 104. Если узел N 116 включает в себя KEK 104, то один или более узлов могут распределить ключ 114 группы А узлу N 116. Ключ А 114 группы А может позволить узлу посылать информацию к другим узлам в группе А 106 и получать информацию от других узлов в группе А 106. Узлы могут использовать ключ 114 группы А, чтобы зашифровать или расшифровать информацию, которая передается между узлами группы А 106.

Если узел N 116 не имеет KEK 104, узел N 116 может послать запрос 120 на КЕК на сервер 102, запрашивая, чтобы сервер 102 распределил KEK 104 узлу N 116. Сервер 102 может аутентифицировать узел N 116 и распределить KEK 104. Однако, если KEK 104 не распределен узлу N 116, узел N 116 не может присоединиться к группе 106 и принять ключ 114 группы А.

Коммуникации между сервером 102, группой А 106 и узлом N 116 могут осуществляться по сети 122. Сеть 122 может включать в себя любую систему связи, такую как, без ограничения указанным, сеть глобальной связи, Интернет, компьютерная сеть, телефонная сеть, пейджинговая сеть, сотовая сеть, глобальная сеть (WAN), локальная сеть (LAN) и т.д. В одном варианте осуществления сервер 102 может координировать и осуществлять связь с множеством групп узлов по сети 122. Сервер 102 может распределять KEK, который является определенным для каждой группы узлов.

На фиг. 2 показана блок-схема, иллюстрирующая один вариант осуществления второй группы узлов 246, отделенной от первой группы узлов 206. Первая группа 206 может включать в себя группу групповой передачи из узлов, такую как группа А 106. В одном варианте осуществления узел E 226, узел F 228 и узел G 230 первоначально принадлежат первой группе 206. Хотя в представленном варианте осуществления показано семь узлов, понятно, что больше или меньше узлов может быть включено в первую группу 206 и вторую группу 246.

Узлы A-G, 208, 210, 212, 224, 226, 228, 230 могут включать KEK 204 и ключ 214 группы А. В одном варианте осуществления ключ 214 группы А включает в себя параметр 240 ключа группы А. Параметр 240 может указывать количество времени, которое ключ 214 группы А был использован членами первой группы 206. Например, члены первой группы 206 могут управлять ключом 214 группы А. Ключ 214 группы А может периодически изменяться, что приводит к тому, что узлы заменяют ключ 214 группы А на измененный, новый ключ группы. Параметр 240 ключа группы А может указывать, как долго текущий ключ группы А использовался членами первой группы 206.

В одном варианте осуществления узел А 208 включает идентификатор А 238. Идентификатор А 238 может указывать порядок, в котором узел А 208 присоединился к первой группе 206. Например, если узел А 208 был третьим узлом, чтобы присоединиться к группе 206, а узел B 210 был четвертым узлом, чтобы присоединиться к группе 206, идентификатор А 238 может указать "3", а идентификатор B (не показан) может указать "4". В то время как только узел А 238 проиллюстрирован включающим в себя идентификатор, понятно, что каждый узел в группе 206 может включать соответствующий идентификатор.

В одном варианте осуществления узел А 208 определен как администратор группы для первой группы 206. Администратор группы может быть ответственным за периодическое выполнение групповой передачи информации относительно ключа группы и других параметров к остальным узлам в группе. В одном варианте осуществления узел А 208 определен как администратор группы, потому что идентификатор А 238 включает в себя самое низкое значение. В других вариантах осуществления администратор группы может быть узлом, который начинает уведомления первым, узлом, который вручную установлен в качестве администратора вышестоящим администратором, и т.д. В других вариантах осуществления узел может быть определен как администратор группы в соответствии с любыми коммерчески доступными методами.

Узел 208 может включать состояние 234. Состояние 234 может указывать текущие значения определенных параметров. Например, состояние 234 может включать KEK 204, ключ 214 группы А и параметры А 236 хронирования. Параметры А 236 хронирования могут указывать, как часто узел А 208 выполняет групповую передачу состояния 234 к узлам в группе 206. В одном варианте осуществления ключ 214 группы А и параметры А 236 хронирования защищены посредством KEK 204. Другими словами, узлам без KEK 204 не разрешено извлекать эти параметры из состояния 234.

Узел 208 может выполнить групповую передачу состояния 234 к узлу B 210, узлу C 212 и узлу D 224 с использованием маршрутизатора 242. Точно также узел 208 может выполнить групповую передачу состояния 234 к узлу E 226, узлу F 228 и узлу G 230 посредством маршрутизатора B 244. В то время как проиллюстрированный вариант осуществления изображает узел 208, выполняющий групповую передачу состояния 234 через два маршрутизатора, понятно, что узлы могут выполнять групповую передачу информации, используя любое число маршрутизаторов, коммутаторов, другого сетевого оборудования, кабелей и т.д. Узлы 210, 212, 224, 226, 228, 230 могут использовать KEK 204, чтобы извлечь ключ 214 группы А и параметры А 236 хронирования из состояния 234. Если ключ 214 группы А, включенный в узлы 210, 212, 224, 226, 228, 230, не соответствует ключу 214 группы А, включенному в состояние 234, узлы могут повторно ввести ключ 214 группы А, чтобы соответствовать ключу группы, включенному в состояние 234. Как отмечено выше, группы групповой передачи могут периодически изменять ключ группы. Частые групповые передачи состояния 234, включая ключ 214 группы А, позволяют узлам повторно ввести ключ соответственно текущему ключу группы, ассоциированному с группой 206.

В одном варианте осуществления коммуникации между узлом А 208 и маршрутизатором B 244 потеряны или ограничены 290. Например, маршрутизатор B 244 может потерпеть неудачу, и, как таковое, состояние 234, посланное от узла А 208, невозможно передать к узлам 226-230, которые связаны с маршрутизатором B 244. В одном варианте осуществления узел E 226, узел F 228 и узел G 230 отделяются от первой группы 206 во вторую группу 246. Узел А 208 может по-прежнему выполнять групповую передачу состояния 234 к узлу B 210, узлу C 212 и узлу D 224 через маршрутизатор А 242. Таким образом, исходная первая группа 206 разделена на две группы 206, 246. Хотя показаны только две группы 206, 246, понятно, что первая группа 206 может быть разделена на большее количество групп узлов.

На фиг. 3 представлена блок-схема, иллюстрирующая другой вариант осуществления второй группы 346 узлов. В одном варианте осуществления вторая группа 346 включает узел E 326, узел F 328 и узел G 330. Узлы 326, 328, 330 могут определить второго администратора группы, когда они 326, 328, 330 прекращают принимать периодические групповые передачи состояния от администратора первой группы 206. Например, узлы E-G 326-330 могут определить второго администратора группы, когда они прекращают принимать состояние 234 от узла А 208. В одном варианте осуществления любой узел в пределах второй группы 346 может функционировать как администратор второй группы. В изображенном варианте осуществления узел F 328 определен как второй администратор группы, потому что узел F 328 начинает выполнять групповую передачу состояния 334 к узлам, принадлежащим второй группе 346. Узел F 328 может включать идентификатор F 352, который указывает порядок, в котором узел F 328 присоединился к исходной первой группе 206.

Узлы 326-330 второй группы 346 могут первоначально использовать тот же самый ключ группы, который они ранее использовали в качестве членов первой группы 206. Например, узлы 326-330 могут продолжать использовать ключ 314 группы А. В другом варианте осуществления администратор второй группы, узел F 328, может немедленно изменить ключ 350 группы B, когда он становится администратором группы. В более позднее время члены второй группы 346 могут ввести повторно 354 ключ 314 группы А как случайный новый ключ группы, такой как ключ 350 группы В. В другом варианте осуществления, участники, все еще принадлежащие первой группе 206 (не показано), могут также повторно ввести ключ 314 группы А как случайный новый ключ группы. Поскольку каждая группа 206, 346 случайным образом повторно вводит ключ 314 группы А, вероятность, что первая группа 206 и вторая группа 346 повторно введут ключ 314 группы А как идентичный новый ключ группы низка.

В одном варианте осуществления ключ 350 группы В теперь используется членами второй группы 346, чтобы выполнить групповую передачу информации друг к другу. Ключ 350 группы В может включать параметр 341 ключа группы В, который указывает количество времени, в течение которого ключ 340 группы В был использован второй группой 346.

В качестве администратора второй группы 346, узел F 328 может выполнить групповую передачу состояния 334 другим членам второй группы 346. В одном варианте осуществления состояние 334 включает KEK 304 и ключ 350 группы В. KEK 304 может защищать ключ 350 группы В таким образом, чтобы узлы, которые не обладают KEK 304, не могли извлечь ключ 350 группы В из состояния 334. Узел E 326 и узел G 330 могут извлечь ключ 350 группы В из состояния 334, чтобы проверить, что они обладают текущим ключом группы для второй группы 346.

На фиг. 4 показана блок-схема, иллюстрирующая один вариант осуществления управляющего узла второй разделенной группы узлов, присоединяющихся к первой разделенной группе узлов. В одном варианте осуществления узел А 408 является управляющим узлом первой группы 206 (не показано), и узел F 428 является управляющим узлом второй группы 246 (не показано). Как ранее объяснено, узлы в пределах второй группы 246 выделяются из первой группы 206, когда коммуникации между администратором первой группы и узлами второй группы 246 так или иначе потеряны или ограничены. В одном варианте осуществления коммуникации между узлом А 408 и маршрутизатором B 444 потеряны; узел А 408 как таковой не способен выполнить групповую передачу состояния 434 к узлу E 426, узлу F 428 и узлу G 430. В более позднее время коммуникации между узлом 408 и второй группой 246 могут быть восстановлены через маршрутизатор B 444.

Как ранее объяснено, когда вторая группа 246 отделяется от первой группы 206, каждая группа 206, 246 может все еще использовать тот же самый ключ группы, такой как ключ 114 группы А. Некоторое время спустя, каждая группа 206, 246 может случайным образом повторно ввести ключ 114 группы. Например, первая группа может случайным образом повторно ввести ключ 114 группы А как ключ 415 группы С, и вторая группа 246 может случайным образом повторно ввести ключ 114 группы А как ключ 450 группы В.

Когда коммуникации между узлом А 408 и узлами второй группы 246 восстановлены, узел А 408 может выполнить групповую передачу состояния 434, которое включает KEK 404, ключ 415 группы С и параметры С 437 хронирования. Ключ 415 группы С и параметры С 437 хронирования могут быть защищены посредством KEK 404. В одном варианте осуществления каждый из узлов E-G 426-430 принимает состояние 434 от узла А 408. Каждый из узлов E-G 426-430 может включать KEK 404, который позволяет им извлекать защищенные ключ 415 группы С и параметры С 437 хронирования из состояния 434. Однако узлы E-G 426-430 включают ключ 450 группы В, который может отличаться от ключа 415 группы С. Узел E 426 и узел G 430 могут игнорировать состояние 434, посланное от узла А 408, потому что состояние 434 не было послано от администратора второй группы 246 (то есть узла F 428).

В одном варианте осуществления администратор второй группы 246, узел F 428, может принять состояние 434 от узла 408. Узел F 428 может использовать KEK 404, чтобы извлечь параметры из состояния 434. Ключ 415 группы С может включать параметр 440 ключа группы С, и ключ 450 группы B включает параметр 441 ключа группы В. Как ранее объяснено, параметр ключа группы может указывать, как долго ключ группы был использован. В одном варианте осуществления узел F 428 сравнивает параметр 440 ключа группы С и параметр 441 ключа группы В. Если параметр 440 ключа группы С указывает, что ключ 415 группы С использовался большее количество времени, чем ключ 450 группы В, узел F 428 может сохранить ключ 415 группы С. Узел F 428 может тогда присоединиться к группе, идентифицированной состоянием 434, чтобы подтвердить, что оно является текущим и не копируемым. В одном варианте осуществления узел F 428 теперь принадлежит первой группе 206 и второй группе 246. В другом варианте осуществления узел F 428 повторно вводит ключ 450 группы В как ключ 415 группы C. Путем повторного ввода ключа 415 группы С, узел F 428 определяет, что узел А 408 должен продолжать действовать как управляющий узел. Также узел А 408 ответственен за последующие групповые передачи состояния 434.

В одном варианте осуществления параметр 440 ключа группы С и параметр 441 ключа группы В идентичны, что указывает, что ключ 415 группы С и ключ 450 группы В использовались в течение того же самого количества времени. Узел А 408 и узел F 428 могут определить, какой узел продолжает действовать как узел администратора, оценивая идентификатор А 438 и идентификатор F 452. В одном варианте осуществления узел с самым низким идентификатором продолжает действовать как администратор. Например, идентификатор А 438 может включать более низкое значение, чем идентификатор F 452. Также, узел F 452 может повторно ввести ключ 450 группы В как ключ 415 группы С. В другом варианте осуществления узел А 408 и узел F 438 используют другие методы, чтобы определить, который продолжит действовать как администратор. Узел, который не будет продолжать действовать как администратор, повторно вводит ключ своей группы как ключ 114 группы для другой группы.

На фиг. 5 показана блок-схема, иллюстрирующая один вариант осуществления второй группы 546, повторно присоединяется к первой группе 206. В одном варианте осуществления ключ группы, связанный со второй группой 546, повторно вводится как ключ группы, связанный с первой группой 206. Администратор второй группы 546 может выполнить групповую передачу команды 560 повторного ввода к узлам во второй группе 546. Например, узел F 528 может быть администратором второй группы 546. Как ранее объяснено, узел F 528 может принять состояние 434 относительно соответствия ключа группы первой группе 206 (то есть ключу 415 группы С) и может проверить, что состояние 434 является действительным в текущее время и не повторно копируемым. Узел F 528 может выполнить групповую передачу пакета 532, включающего KEK 504 и команду 560 повторного ввода ключа. В одном варианте осуществления узлы, которые не включают KEK 504, могут не принимать пакет 532. Далее, команда 560 повторного ввода ключа может быть зашифрована, используя общий ключ группы второй группы 546 (то есть ключ 550 группы В).

Узел E 526 и узел G 530 могут принимать пакет 532 и дешифровать команду 560 на повторный ввод ключа, используя ключ 550 группы В. Команда 560 повторного ввода ключа может включать команду на повторный ввод общего ключа группы как отличающегося общего ключа группы. Например, узел E 526 и узел G 530 могут принять команду на повторный ввод 554 ключа 550 группы В как ключа 515 группы С. Узел F 528 может также повторно ввести 554 ключ 550 группы В как ключ 515 группы С после того, как команда на повторный ввод была передана путем групповой передачи к узлам второй группы 546. Повторны