Управление секретами группы членами группы

Иллюстрации

Показать все

Изобретение относится к области шифрования. Технический результат - эффективная защита соединения группы устройств за счет использования особого ключа группы устройств, известного всем устройствам группы. Способ добавления нового устройства в группу устройств, причем группа устройств включает в себя множество устройств, каждое устройство при этом обладает ключом группы устройств и ключами устройств всех других устройств в группе устройств для шифрования сообщений, кроме своего собственного ключа устройства, при этом устанавливают защищенное соединение между новым устройством и первым устройством в группе устройств; отправляют, посредством первого устройства, ключ группы устройств и ключи устройств всех других устройств в группе устройств на новое устройство; распространяют, посредством одного из упомянутых других устройств, ключ устройства первого устройства в группе устройств на новое устройство; генерируют и распространяют, посредством одного из упомянутых устройств в группе устройств, ключ устройства нового устройства на все другие устройства в группе устройств. 4 н. и 15 з.п. ф-лы, 7 ил., 7 табл.

Реферат

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

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

Известные схемы шифрования сообщений могут базироваться, например, на рассылке нулевых сообщений (ZMB) или шифровании при циркулярной передаче; см., например, Amos Fiat and Moni Naor, Broadcast Encryption, 1993 (далее Fiat & Naor). В работе Fiat & Naor рассмотрено шифрование при циркулярной передаче. В общем случае термин 'шифрование при циркулярной передаче′ может означать просто шифрование рассылок. Однако введенный в работе Fiat & Naor термин имеет конкретный смысл.

Шифрование при циркулярной передаче, предложенные в работе Fiat & Naor было разработано для того, чтобы вещатель мог безопасно рассылать сообщение на подмножество (поднабор) заранее заданной группы устройств. Заранее заданная группа называется группой устройств.

Центральная идея в простейшем варианте шифрования при циркулярной передаче, предложенного Fiat & Naor, состоит в том, что каждое устройство в группе устройств обладает ключами устройств всех других устройств в группе устройств, кроме своего собственного ключа устройства. Как показано на фиг. 1, в таблице 100 перечислены ключи, которыми обладает каждое устройство. Например, устройство 1 включает в себя ключ группы устройств и ключи устройств с 2 по N. Для больших групп существуют процедуры управления ключами, что позволяет каждому устройству выдавать меньше ключей, чем размер группы минус один, и вычислять из этих ключей все необходимые ключи.

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

С этим связан принцип k-эластичности. В “Broadcast Encryption,″ Krishnaram Kenthapadi, November 11, 2003, автор определяет k-эластичность следующим образом:

В системе, состоящей из множества U, содержащего n пользователей, схема рассылки эластична к множеству пользователей S, если для каждого подмножества T, не пересекающегося с S, ни один перехватчик, который имеет все секреты S, не может получить “знание″ о секрете, общем для T. Можно рассматривать либо теоретико-информационное, либо вычислительное определение безопасности. Схема является k-эластичной, если она эластична к любому множеству S ⊂ U размера k.

Другой подход к определению k-эластичности состоит в том, что схема рассылки является k-эластичной, если, по меньшей мере, k+1 членов должны сговориться (работать вместе) для получения всех секретов группы. Такая атака объединения знания группой именуется атакой сговора.

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

Примеры существующих k-эластичных схем шифрования рассылок можно найти в Amos Fiat and Moni Naor, Broadcast Encryption, 1993 и Krishnaram Kenthapadi, Broadcast Encryption, November 11, 2003.

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

ОТПРАВКА СООБЩЕНИЯ НА ВСЕ УСТРОЙСТВА В ГРУППЕ УСТРОЙСТВ

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

Если член группы устройств хочет отправить сообщение на все другие устройства в группе устройств, возникает такая же проблема. Поэтому, помимо ключей устройств для всех других устройств в группе устройств, каждое устройство также получает ключ группы устройств (см. Фиг. 1). Таким образом, для отправки сообщения всем членам группы устройств, вещатель будет использовать ключ группы устройств.

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

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

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

Другой преимущественный вариант осуществления предусматривает схему, согласно которой устройство, которое не является членом группы устройств, может становиться членом, осуществляя связь только с некоторыми членами группы устройств, например, k+1 членами для схемы k-эластичного шифрования при циркулярной передаче.

Дополнительные преимущественные варианты осуществления предусматривают схемы, согласно которым устройство может лишаться членства группы устройств по решению других членов группы устройств.

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

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

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

Фиг. 1 - таблица ключей, которыми обладает каждое устройство в группе устройств.

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

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

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

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

Фиг. 6 - блок-схема операций управления ключами устройств, когда устройство присоединяется к группе устройств согласно k-эластичной схеме.

Фиг. 7 - блок-схема операций управления ключами устройств, когда устройство покидает группу устройств согласно k-эластичной схеме.

Ниже приведено описание варианта осуществления изобретения для 1-эластичной схемы.

1. ЗАДАНИЕ КЛЮЧЕЙ УСТРОЙСТВ И КЛЮЧА ГРУППЫ УСТРОЙСТВ ПРИ ДОБАВЛЕНИИ УСТРОЙСТВА В ГРУППУ УСТРОЙСТВ.

Согласно фиг. 2, старая группа 210 устройств включает в себя устройства-члены: Device_1 211, Device_2 212, Device_3 213,..., Device_N 21N. Когда новое устройство Device_N+1 221 присоединяется к группе устройств, формируется новая группа 220 устройств. Для наглядности, исходная группа из N устройств обозначена как старая группа 210 устройств, и расширенная группа обозначена как новая группа 220 устройств. Следует понимать, что каждое устройство в группе устройств включает в себя, по меньшей мере, сетевой интерфейс для осуществления связи с другими устройствами, и блок обработки, имеющий аппаратные и программные компоненты для осуществления шифрования, дешифрования сообщений и обработки, кратко описанной ниже.

Как показано на фиг. 2, в старой группе 210 устройств существуют множественные устройства Device_1 211, Device_2 212, Device_3 213,..., Device_N 21N. Для этого общего случая группы устройств размера N>1, каждое из 2...N устройств обладает ключами устройств других N-1 устройств и ключом группы устройств, но не своим собственным ключом устройства, как показано, например, в таблице 100 на фиг. 1.

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

Для особого случая N=1, т.е. когда старая группа 210 устройств состоит из одного устройства, поскольку устройство не должно знать свой собственный ключ устройства и поскольку не существует других устройств для поддержания собственного ключа устройства для устройства, в этой схеме особого случая не существует ни одного ключа устройства. Прежде чем новое устройство Device_N+1 221 присоединится к группе, единичное устройство генерирует, предпочтительно, случайный ключ группы устройств. После генерации случайного ключа группы устройств, процедуры для добавления устройства Device_N+1 221 в группу аналогичны общему случаю N>1. Поэтому рассмотрение продолжается со ссылкой на фиг. 3.

На Фиг. 3 показана последовательность операций процесса добавления нового устройства в группу устройств, как для общего случая N>1, так и для особого случая N=1. Несмотря на конкретный порядок следования блоков, не обязательно осуществлять этапы в конкретном показанном порядке.

Этот вариант осуществления имеет 2 варианта, как показано на фиг. 3,

- генерация нового ключа группы устройств на этапе 330, и

- генерация новых ключей устройств на этапе 350.

Если применяется особый случай, когда N=1, то новый ключ группы устройств генерируется, как указано выше. Когда N>1, если требуется, чтобы новое устройство (Device_N+1) 221 не было способно дешифровать сообщения, которыми ранее обменивались между собой члены старой группы 210 устройств, новое устройство (Device_N+1) 221 не выучивает старые ключи, поэтому все ключи необходимо генерировать заново, и нужно использовать оба варианта.

Если используется по меньшей мере один из этих вариантов, распространение на этапе 380 ключа устройства нового устройства (Device_N+1) 221 не требует установления дополнительных защищенных каналов.

На этапе 310, устанавливается защищенное соединение между Device_1 211 и новым устройством Device_N+1 221. Защищенное соединение может представлять собой, например, безопасное сопряжение с использованием Near Field Communication (NFC), с использованием безопасного простого сопряжения Bluetooth или защищенного установления Wi-Fi для специализированного Wi-Fi или прямого соединения Wi-Fi, или любое другой надлежащее безопасное сопряжение. В одном варианте осуществления, новое device_N+1 221 'безопасно сопрягается′ с Device_1 211 из старой группы 210 устройств, где 'безопасно сопрягается′ означает здесь, что соединенные устройства аутентифицируются как сопряженные, и никакое другое устройство не может дешифровать сообщения, которыми обмениваются между собой сопряженные устройства.

На этапе 320, если N=1, особый случай, или требуется, чтобы новое устройство (Device_N+1) 221 не было способно дешифровать сообщения, которыми ранее обменивались между собой члены старой группы 210 устройств, осуществляется переход к этапу 330 и генерируется новый ключ группы устройств.

Как упомянуто выше, для особого случая, когда N=1, т.е. старая группа 210 устройств состоит из одного устройства, единичное устройство генерирует, предпочтительно, случайный ключ группы устройств.

Для N>1, для генерации нового ключа группы устройств, Device_1 211, Device_2 212, Device_3 213,..., Device_N 21N используют одностороннюю функцию в отношении ключа группы устройств старой группы 210 устройств для создания ключа группы устройств для новой группы 220 устройств. Конкретная односторонняя функция должна быть известной, но не должна быть секретом. Заметим, что несоздание нового ключа группы устройств означало бы, что новое устройство 221 сможет затем дешифровать сообщения, посредством которых его ключ устройства распространяется на Device_2 212, Device_3 213,... Device_N 21N на этапе 360, если это сообщение было зашифровано старым ключом группы устройств.

На этапе 340, если N>1, и требуется, чтобы новое устройство (Device_N+1) 221 не было способно дешифровать сообщения, которыми ранее обменивались между собой члены старой группы 210 устройств, осуществляется переход к этапу 350 и генерируются новые ключи устройств. Другими словами, устройства старой группы 210 устройств получают новые ключи.

На этапе 350, Device_1 211, Device_2 212, Device_3 213,..., Device_N 21N осуществляют действие смены ключей в отношении ключей устройств, которыми они обладают. Действие смены ключей может использовать ту же одностороннюю функцию, которая использовалась на этапе 330, или другой метод. Процесс на этапе 350 является необязательным в зависимости от конкретной реализации, например, если требуется, чтобы новое устройство (Device_N+1) 221 было неспособно дешифровать сообщения, которыми ранее обменивались между собой члены старой группы 210 устройств.

На этапе 360, ключи распространяются на новое устройство, кроме ключа устройства для Device_1 211. Device_1 211 отправляет ключ группы устройств для новой группы 220 устройств на новое устройство 221 по защищенному каналу. Это осуществляется в обоих случаях N=1 и N>1.

Для N>1, Device_1 211 отправляет ID и (возможно, смененные) ключи устройств для Device_2 212, Device_3 213,..., Device_N 21N по частному защищенному каналу на новое устройство 221. Это не требуется для N=1. Не все из этих ID и ключей устройств отправляются устройством Device_1 211 по частному защищенному каналу. Любую комбинацию из одного или более ключей устройств, отправленных по частному защищенному каналу, можно использовать для шифрования остальных ключей устройств для безопасной отправки их на новое устройство 221 по другому каналу, а не по частному защищенному каналу. Это может давать преимущество, если затратно отправлять информацию по частному защищенному каналу. Частный защищенный канал может иметь, например, низкую битовую скорость или его необходимое шифрование может занимать много времени ЦП.

На этапе 370, ключ устройства для Device_1 211 распространяется на новое устройство 221.

Новое устройство 221 все же должно выучивать ключ устройства для Device_1 211. Однако Device_1 211 не может осуществлять этот этап, поскольку оно не знает свой собственный ключ устройства.

В случае N=1, новое устройство 221 просто генерирует случайное число и начинает использовать его как ключ устройства для Device_1 211.

Для N>1, новое устройство 221 создает защищенное соединение с любыми другими устройствами (Device_2 212, Device_3 213,..., Device_N 21N), но не использует выученные им до этого ключи, поскольку это новое соединение должно быть таким, чтобы Device_1 211 не могло дешифровать сообщения для получения своего собственного ключа. Это защищенное соединение может быть того же типа, который новое устройство 221 использовало для своего первого защищенного соединения с Device_1 211 на этапе 310.

Устройство, с которым новое устройство 221 теперь безопасно осуществляет связь, отправляет (возможно, смененный) ключ устройства для Device_1 211 на новое устройство 221. Предпочтительно, может потребоваться аутентификация устройства, чтобы гарантировать, что это новое устройство 221, устанавливающее защищенное соединение с любыми другими устройствами, а не Device_1 211, чтобы гарантировать, что Device_1 211 не получает свой собственный ключ. Можно использовать любой способ аутентификации.

Новое устройство 221 может обращаться к любому из устройств (Device_2 212, Device_3 213,..., Device_N 21N) по защищенному каналу, установленному им с Device_1 211, чтобы запрашивать ключ устройства для Device_1 211. Через этот канал, новое устройство 221 может устанавливать защищенный канал с любым из устройств (Device_2 212, Device_3 213,..., Device_N 21N). Однако этот подход потребует дополнительной аутентификации для различения, что это новое устройство 221, устанавливающее этот новый защищенный канал, а не Device_1 211.

На этапе 380, генерируется и распространяется ключ устройства нового устройства 221.

Любое из устройств в старой группе устройств может осуществлять эту функцию. Без потери общности, предполагая, что Device_1 211 осуществляет этот этап, Device_1 211 генерирует случайное число, которому предстоит стать ключом устройства нового устройства 221. Device_1 211 отправляет информацию о новом устройстве 221 (например, ID, имя и т.д.) совместно с ключом устройства нового устройства всем членам старой группы 210 устройств (не требуется, чтобы N=1). Это означает, что все устройства новой группы 220 устройств, кроме самого нового устройства 221, обладает ключом нового устройства 221.

Для передачи этой информации Device_1 211 предпочтительно шифровать информацию таким образом, чтобы новое устройство 221 не выучивало свой собственный ключ. В одном варианте осуществления ключ, который Device_1 211 использует для шифрования этой передачи, является ключом группы устройств старой группы 210 устройств. В этом случае, новый ключ группы устройств должен генерироваться на этапе 320. Если ключи устройств сменены на этапе 330 фиг. 3, ключи устройств старой группы 210 устройств также можно использовать для шифрования этой передачи. В последнем случае, передача отправляется на по меньшей мере две подгруппы старой группы 210 устройств, поскольку устройству Device_1 211 нужен свой собственный ключ устройства, которого оно не имеет, для отправки зашифрованного сообщения на устройства 2...N в одной передаче.

Если не выполнять необязательные действия 320 и 330, благодаря чему, ни ключ группы устройств, ни ключи устройств не генерируются заново, устройству Device_1 211 нужно использовать другие режимы защищенной связи для передачи ключа устройства нового устройства (Device_N+1) 221 на другие устройства в старой группе 210 устройств.

Заметим, что на вышеописанных этапах 330 и 350, при смене ключей используется односторонняя функция. Это дает преимущество в том, что новые ключи не нужно распространять. Однако также возможно, что новые ключи (ключ группы устройств и/или ключи устройств) генерируются случайно и безопасно распространяются по устройствам старой группы 210 устройств с использованием старых ключей. Аналогичный подход к случайной генерации новых ключей и безопасному их распространению по устройствам старой группы 210 устройств используется ниже на этапах 520 и 530.

2. ЗАДАНИЕ КЛЮЧЕЙ УСТРОЙСТВ И КЛЮЧА ГРУППЫ УСТРОЙСТВ ПРИ УДАЛЕНИИ УСТРОЙСТВА ИЗ ГРУППЫ УСТРОЙСТВ

На фиг. 4 показана группа 410 устройств из N устройств (Device_1 411, Device_2 412, Device_3 413,..., Device_N 41N) с N>1, где Device_N подлежит удалению из старой группы устройств. Устройства, оставшиеся в старой группе 410 устройств, образуют новую группу 420 устройств. Примеры устройств, подлежащих удалению, включают в себя устройство, которое разбито, продано или удалено, и т.д.

На Фиг. 5 показана высокоуровневая последовательность операций процесса удаления устройства из группы устройств. Хотя блоки следуют в конкретном порядке, не обязательно осуществлять этапы в конкретном показанном порядке.

Любое из оставшихся устройств можно использовать для инициирования этого процесса. Без потери общности, предположим, что используется Device_1 411.

На этапе 510, генерируются и распространяются новые ключи устройств для Device_2 412, Device_3 413,..., Device_N-1 41N-1.

Для генерации и распространения новых ключей устройств, Device_1 411 случайно генерирует новые ключи устройств для Device_2 412, Device_3 413,..., Device_N-1 41N-1. Заметим, что новые ключи не должны генерироваться с использованием известной односторонней функции, поскольку Device_N, которое должно быть удалено, также может генерировать новые ключи таким же образом. Device_1 411 отправляет новые ключи на Device_2 412, Device_3 413,..., Device_N-1 41N-1, таким образом, что каждое из Device_2 412, Device_3 413,..., Device_N-1 41N-1 не принимает свой собственный новый ключ устройства. Новые ключи устройств шифруются перед отправкой с использованием ключа устройства для подлежащего удалению Device_N 41N, поскольку это устройство не имеет своего собственного ключа.

На этапе 520, генерируется и распространяется новый ключ устройства для Device_1 411.

Для генерации и распространения нового ключа устройства для Device_1 411, любое другое устройство из оставшихся в новой группе 420 устройств (Device_2 412, Device_3 413,..., Device_N-1 41N-1) случайно генерирует новый ключ устройства для Device_1 411. Устройство отправляет этот новый ключ устройства на другие устройства с использованием старых ключей устройств для Device_1 411 и Device_N 41N, так что Device_1 411 не выучивает свой новый ключ устройства, и удаленное устройство Device_N 41N также не выучивает новый ключ устройства для Device_1 411.

На этапе 530 генерируется и распространяется новый ключ группы устройств.

Для генерации и распространения нового ключа группы устройств, любое из оставшихся устройств можно использовать для осуществления этого действия. Без ущерба для общности, предположим, что Device_1 411 осуществляет это действие, Device_1 411 случайно генерирует новый ключ группы устройств и отправляет новый ключ группы устройств на Device_2 412, Device_3 413,..., Device_N-1 41N-1 с использованием ключа устройства для подлежащего удалению Device_N 41N. Как упомянуто выше, Device_1 411 не генерирует новый ключ группы устройств, поскольку устройство, которое должно быть удалено, также может генерировать новый ключ группы устройств таким же образом.

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

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

K-ЭЛАСТИЧНОСТЬ

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

При удалении члена, k устройств генерируют новые секреты группы и отправляют их на N-k-1 других устройств с использованием надлежащих ключей старой группы устройств.

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

В этом случае, подмножества в группе устройств, которые имеют, самое большее, k-1 членов, пополняются новым устройством для расширения подмножеств из, самое большее, k устройств-членов.

На этапе 610 устанавливается k+1 защищенных соединений между новым устройством и k+1 устройствами в группе устройств.

На этапе 620, каждое устройство в группе устройств осуществляет смену материала ключа с помощью односторонней функции.

На этапе 630, k+1 устройств отправляют материал смененных ключей на новое устройство через k+1 защищенных соединений.

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

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

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

ДОБАВЛЕНИЕ УСТРОЙСТВА (K=2)

В ситуации инициирования, существует 4 устройства D1, D2, D3 и D4. Каждое из этих устройств имеет ключи для всех подмножеств из 1 и 2 устройств, членом которых оно не является. Ключи, которые имеет каждое устройство, указаны в Таблице 1.

Таблица 1
Устройство Ключи, известные устройству
D1 K0, K2, K3, K4, K23, K24, K34
D2 K0, K1, K3, K4, K13, K14, K34
D3 K0, K1, K2, K4, K12, K14, K24
D4 K0, K1, K2, K3, K12, K13, K23

В таблице 1, K0 это ключ группы устройств, K2 это ключ для подмножества, состоящего только из устройства D2, и K23 это ключ для подмножества, состоящего из устройств D2 и D3.

При адресации сообщения подмножеству, ключ, который должен быть использован, является функцией ключей всех подмножеств размера 2, которые не являются адресуемыми. Например, когда только устройство D1 адресовано устройством D4, ключ, который должен быть использован, является функцией K23, ключ, которого не имеют ни D2, ни D3. В случае, когда только одно устройство не является адресуемым, ключом, который должен быть использован, является ключ не являющегося адресуемым устройства.

При добавлении устройства D5 выполняются следующие этапы. Для облегчения понимания этого процесса, рассмотрим блок-схему операций, приведенную на фиг. 6, применительно к особому случаю, когда k=2.

На этапе 610, 2+1=3 защищенных соединений устанавливается между D5 и тремя устройствами в группе устройств. В этом примере и без потери общности, предполагается, что тремя устройствами являются D1, D2 и D3.

На этапе 620, каждое устройство в группе устройств осуществляет смену материала ключа с помощью односторонней функции. Смененные ключи обозначены здесь апострофом (′).

На этапе 630, устройства D1, D2 и D3 отправляют материал смененных ключей, который они имеют, т.е. K0′, K1′, K2′, K3ʹ, K4′, K12′ K13′, K14′, K23′, K24′, K34′, на новое устройство D5.

В Таблице 2 показаны ключи, которые содержат все устройства в этой точке процедуры добавления устройства.

Таблица 2
Устройство Ключи, известные устройству
D1 K0, K2, K3, K4, K23, K24, K34K0′, K2′, K3′, K4′, K23′, K24′, K34′
D2 K0, K1, K3, K4, K13, K14, K34K0′, K1′, K3′, K4′, K13′, K14′, K34′
D3 K0, K1, K2, K4, K12, K14, K24K0′, K1′, K2′, K4′, K12′, K14′, K24′
D4 K0, K1, K2, K3, K12, K13, K23K0′, K1′, K2′, K3′, K12′, K13′, K23′
D5 K0′, K1′, K2′, K3', K4′, K12′, K13′, K14′, K23′, K24′, K34′

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

Это означает, что D1 генерирует K5′, K25′, K35′ и K45′. Устройство D1 распространяет K5′ на D2, D3 и D4, с использованием старого ключа группы устройств K0, который новое устройство D5 не знает. Устройство D1 распространяет K25′ на D3 и D4, с использованием старого ключа устройства K2, так что, и D2, и новое устройство D5 не способны выучить K25′. Ключи K35′ и K45′ аналогично распространяются устройством D1. Также возможно, что устройство D1 по отдельности отправляет на каждое устройство нужные ему новые ключи с использованием надлежащих ключей шифрования, например, D1 может отправлять на устройство D2 ключи K5′, K35′ и K45′ с использованием ключа K34 в качестве ключа шифрования. Устройства D3, D4 и D5 не имеют этого ключа. Аналогичным образом, новые ключи для D3 и D4 могут распространяться устройством D1.

В Таблице 3 показаны ключи, которые содержат все устройства в этой точке процедуры добавления устройства.

Таблица 3
Устройство Ключи, известные устройству
D1 K0, K2, K3, K4, K23, K24, K34K0′, K2′, K3′, K4′, K5′, K23′, K24′, K25′, K34′, K35′, K45′
D2 K0, K1, K3, K4, K13, K14, K34K0′, K1′, K3′, K4′, K5′, K13′, K14′, K34′, K35′, K45′
D3 K0, K1, K2, K4, K12, K14, K24K0′, K1′, K2′, K4′, K5′ K12′, K14′, K24′, K25′, K45′
D4 K0, K1, K2, K3, K12, K13, K23K0′, K1′, K2′, K3′, K5′, K12′, K13′, K23′, K25′, K35′
D5 K0′, K1′, K2′, K3', K4′, K12′, K13′, K14′, K23′, K24′, K34′

На последнем этапе, устройство D2 генерирует K15′, ключ единственного недостающего подмножества и распространяет на устройства D3 и D4. Для этого устройство D2 использует ключ K1, так что, ни D1, ни новое устройство D5, не способно выучить K15′.

Устройство D2 также может генерировать ключи K5′, K35′ и K45′ вместо устройства D1. Требуется некоторая схема, чтобы оба устройства согласились разделить работу.

В Таблице 4 показаны ключи, которые содержат все устройства в конце процедуры добавления устройства.

Таблица 4
Устройство Ключи, известные устройству
D1 K0, K2, K3, K4, K23, K24, K34K0′, K2′, K3′, K4′, K5′, K23′, K24′, K25′, K34′, K35′, K45′
D2 K0, K1, K3, K4, K13, K14, K34K0′, K1′, K3′, K4′, K5′, K13′, K14′, K15′, K34′, K35′, K45′
D3 K0, K1, K2, K4, K12, K14, K24K0′, K1′, K2′, K4′, K5′ K12′, K14′, K15′, K24′, K25′, K45′
D4 K0, K1, K2, K3, K12, K13, K23K0′, K1′, K2′, K3′, K5′, K12′, K13′, K15′, K23′, K25′, K35′
D5 K0′, K1′, K2′, K3', K4′, K12′, K13′, K14′, K23′, K24′, K34′

УДАЛЕНИЕ УСТРОЙСТВА (K=2)

Удаление устройства будет показано применительно к особому случаю 2-эластичной схемы. Ситуация инициирования представляет собой (расширенную) группу из 5 устройств из предыдущего примера. При удалении устройства из группы устройств согласно 2-эластичной схеме, 2+1=3 оставшихся устройств в группе устройств генерируют, для всех подмножеств группы устройств, которые имеют, самое большее, 2 членов, и которые не включают в себя ни само устройство генерации, ни устройство, которое должно быть удалено из группы устройств, новый материал ключа для каждого подмножества для шифрования сообщений, которые могут дешифровываться всеми устройствами в подмножестве группы устройств и распространяют материал ключа для каждого подмножества на все устройства в группе устройств, которые не являются частью подмножества группы устройств. В этом примере, D5 является устройством, которое должно быть удалено. Без потери общности, здесь предполагается, что устройства D1, D2 и D3 осуществляют этап 710 удаления устройства.

D1 генерирует ключи K0″, K2″, K3″, K4″, K23″, K24″ и K34″.

Устройство D1 распространяет K0″, K3″, K4″ и K34″ на D2 с использованием ключа, который является функцией ключей K34′, K35′ и K45′, так что устройства D3, D4 и D5 не способны выучить