ЭФФЕКТИВНОЕ УПРАВЛЕНИЕ ГЕНЕРАЦИЯМИ КРИПТОГРАФИЧЕСКИХ КЛЮЧЕЙ Российский патент 2009 года по МПК H04L9/32 G06F12/14 G06F21/22 

Описание патента на изобретение RU2351078C2

ОБЛАСТЬ ТЕХНИКИ

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

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

Защита информации является сферой существенной значимости в современной области информационных технологий.

Управление криптографическими ключами играет принципиальную роль как основа для множества методов защиты информации, включающих в себя, среди других, конфиденциальность, проверку подлинности объекта, целостность данных и цифровую подпись. Для введения в тему криптографии, в целом, и управление ключами, в частности, можно сослаться соответственно на [1] и [5] (глава 13). Ниже приводится краткое изложение управления ключами, релевантное для рассматриваемого контекста, частично основанное на стандартной справочной информации [5].

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

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

1) главные ключи - ключи долговременного пользования на самом высоком уровне в иерархии;

2) ключи шифрования других ключей - симметричные ключи, используемые для переноса ключа или хранения других ключей;

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

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

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

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

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

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

Другая причина может быть существенной в контексте управления группой ключей. Предположим, данные совместно используются в безопасном режиме группой объектов, причем различные объекты в группе могут иметь отличающееся представление о том, что составляет текущую или самую последнюю генерацию ключей, что приводит к использованию разных генераций ключей различными участниками процесса при взаимодействии. Несмотря на то, что легко указать используемую генерацию ключей, может быть затруднено или даже нежелательно требовать от всех объектов поддерживать самую последнюю генерацию ключей, приводя к необходимости позволить некоторую степень параллельного использования новых и прежних ключей. Примером этого является Персональная Сеть (ПС), состоящая из пользовательских устройств (мобильный телефон, переносной компьютер, карманный компьютер, mp3-плеер, цифровая (видео-) камера и т.д.), соединенных с использованием какой-либо сетевой технологии/ий, причем устройства совместно используют в безопасном режиме пользовательские персональную информацию, данные, приложения или контент, а пользователь применяет политику безопасности, заключающуюся в автоматическом регулярном обновлении ключей. Может иметь место ситуация, когда некоторые устройства выключены или по другим причинам не доступны во время обновления ключей, но по-прежнему должны иметь возможность безопасного взаимодействия с другими обновленными устройствами до получения возможности обновления.

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

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

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Настоящее изобретение преодолевает эти и другие недостатки устройств предыдущего уровня техники.

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

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

Эти и другие цели выполняются настоящим изобретением как определено прилагаемой формулой изобретения.

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

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

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

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

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

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

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

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

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

Настоящее изобретение может быть применено во множестве различных приложений, включающих в себя, но не ограничиваясь этим, Цифровое Управление Правами в системе распространения цифрового контента, интерактивных играх, совместном использовании файлов в Локальной Вычислительной Сети или в Персональной Сети (ЛВС/ПС), приложениях передачи данных с промежуточным хранением и обеспечении безопасности сетевых сеансов.

Настоящее изобретение имеет следующие преимущества:

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

обеспечивает возможность эффективной генерации ключей: итерации эффективной функции;

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

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

производители могут реализовать и использовать с выгодой для себя настоящее изобретение независимо от своей реализации и применения потребителями;

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

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

Другие преимущества, предлагаемые настоящим изобретением, поясняются в приведенном ниже описании вариантов осуществления настоящего изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

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

фиг.2A - иллюстрация способа формирования генераций ключей на формирующей ключи стороне в соответствии с предпочтительным вариантом осуществления настоящего изобретения;

фиг.2B - иллюстрация способа формирования генераций ключей на формирующей ключи стороне в соответствии с альтернативным вариантом осуществления настоящего изобретения;

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

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

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

ДЕТАЛЬНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ

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

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

Со ссылкой на фиг.1 рассмотрим информационную среду, представленную здесь в контексте системы связи с, по меньшей мере, одним источником S секретных ключей, например выпускающий ключи сервер, по меньшей мере, одним поставщиком P контента или услуг и, по меньшей мере, одним потенциальным получателем R. Пользуясь терминами из раздела уровень техники, S является "производителем", а P и R являются "потребителями" ключевого материала. Предполагается, что любой S априори имеет защищенный (например, конфиденциальный) канал связи с P и R. Одной целью для поставщика(ов) Р является надежная и эффективная передача данных получателю(ям) R, используя информацию, предоставленную S. Другая цель состоит в эффективном управлении секретной информацией в S, P и R. Защищенные каналы связи между S, P, и S, R предназначены для распределения ключей и сопутствующей информации, например генерации ключей, ключевых стратегий, включающих в себя периоды действительности, область действия и т.д. Функции S и P могут совпадать. Функция источника секретных ключей может отличаться от роли создателя секретных ключей (см. ниже; участник процесса, сформировавший главный ключ и, факультативно, генерации ключей), но такое различие естественно для специалиста в данной области техники и, следовательно, нет необходимости особо выделять это в настоящем изобретении.

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

Сценарий 1

S сформировал первую генерацию секретного ключа k1, который распределяется защищенным образом к P и R. P обеспечил защиту данных x1 с помощью k1 и послал их к R, который затем может выполнить соответствующие действия (расшифровка, проверка правильности и т.д.) над данными x1, используя секретный ключ k1. При обновлении ключей следующая генерация ключа k2 распределяется для P и R, и последующие данные от P могут быть защищены с использованием нового ключа, обеспечивающего более высокую надежность. Процедура повторяется для прежних генераций ключей. Прежний ключ, тем не менее, может быть использован для случая, когда искомый потребитель не имеет (физически или логически) доступа к новому ключу. После некоторого количества обновлений ключей производитель(и) и потребитель(и) имеют дело с потенциальным множеством действительных ключей и данных, зашифрованных с различными ключами, и все они должны надежно сохраняться и управляться.

Как известно специалистам в данной области техники, возможны некоторые различные процедуры и порядок действий для распределения ключей и данных, например:

1) сначала k1 посылается к R. Когда R запрашивает x1 от P, k1 посылается к P от S, и данные x1, защищенные ключом k1, посылаются к R от P. При обновлении ключей k2 посылается к R и т.д.;

2) когда R запрашивает x1 от P, k1 посылается к P от S, и данные x1, защищенные ключом k1, посылаются от P к R. Затем k1 распределяется к R. Когда R запрашивает x1 от Р, если было обновление ключей, k2 посылается к P от S и т.д.

Сценарий 2

В этом примере P и S совпадают. В предыдущем примере данные могли быть защищены и распределены независимо от распределения ключей, например, в случае передачи данных с промежуточным хранением. В этом примере S(=P) и R хотят установить защищенный сеанс передачи данных с обновлениями ключей, допускающими множество параллельных сеансов связи. Дополнительно встроенный в протокол сигнализации между S и R, S посылает к R первую генерацию ключа сеанса связи k1 по защищенному каналу связи. Используя первую генерацию ключа сеанса связи, S и R могут обмениваться данными защищенным образом, без использования защищенного канала (тем самым, выполняя разделение ключей на уровни: априори защищенный канал связи находится уровнем выше, чем канал передачи данных). Защищенный канал связи используется для обновлений ключей в тех случаях, когда начат новый сеанс связи. Поскольку прежние сеансы связи могут по-прежнему параллельно использоваться, теоретически может иметься множество ключей сеансов связи для надежного управления.

Сценарий 3

Случай больше чем одного потенциального получателя представляет особый интерес и подробно исследован в этом сценарии. В качестве примера примем сценарий, в котором имеется группа, также называемая объединением C, содержащая ряд объектов или устройств, d1, ..., dN, выпускающий секретные ключи сервер SC, который выпускает секретные ключи, которые должны совместно использоваться объединением устройств, и поставщик PC защищенных данных для этого объединения. Предполагается, что PC и SC работают совместно, так что SC может сообщить PC о текущем действительном секретном ключе совместного использования. Третьей и последней используемой функцией является пользователь/владелец/администратор UC объединения устройств. Источник секретных ключей является производителем ключей, а остальные являются потребителями ключей. Функции S, P и U не обязательно должны быть обособленными.

Для простоты обозначений в явном виде не включается взаимозависимость в объединении, хотя обычно предполагается, что такая взаимозависимость существует. Кроме того, для простоты в иллюстративном сценарии и без потери общности, предполагается, что есть только четыре устройства, т.е. N=4.

Чтобы оценить и в то же время выделить некоторые из задач, связанных с традиционным управлением ключами, ссылка сначала будет сделана на предшествующий уровень техники, как показано на фиг.4. S сформировал первый секретный ключ k1, который совместно используется с d1, d2, и d3. Устройство d4 еще не является членом объединения. Предположим также, что имеются данные x1, защищенные ключом k1 на d1, а также имеются данные x2, также защищенные ключом k1 на устройстве d2. В момент времени t1 устройство d3 добровольно или вынужденно покидает объединение. В первом случае d3 сообщает S об уходе, в последнем случае S получает эту информацию из какого-то другого источника или принимает решение самостоятельно. S ставит P в известность об этом уходе, подразумевая, что P больше не должен предоставлять новые данные объединению устройств так, чтобы у d3 была возможность получить к ним доступ.

В момент времени t2 (t2 > t1) устройство d1 запрашивает новые данные x3 от P. На этом этапе P будет знать, что он уже не может предоставлять данные, защищенные ключом k1, поэтому он запросит у S новый ключ k2 и предоставит x3 для d1, защищенные ключом k2. Устройство d1, определив, что не обладает k2, обратится к S, чтобы приобрести его. После установления подлинности d1 k2 передается защищенным образом к d1. Если позже d1 захочет предоставить данные x3 для d2, произойдет то же самое; устройство d1 определит, что оно не обладает ключом k2 (если только оно недавно не запрашивало новые защищенные данные у P), и свяжется с S, чтобы приобрести эти данные.

В момент времени t3 (t3 > t2) d2 передает данные x2 для d1. Когда это происходит, существует два варианта:

a) устройство d1 не удаляет k1 после того, как приняло k2, а сохраняет k1 для будущего использования;

b) устройству d1 больше не известно о k1.

В случае a, устройствам необходимо хранить все используемые совместно секретные ключи k1,..., kM для всех объединений C1, ..., CL, членами которых они были. В случае b, d1 должно связаться с S и запросить ключ k1. Затратами в этом случае становятся увеличенное число взаимодействий с S и требование для S хранить все совместно используемые секретные ключи для всех объединений, с которыми взаимодействует.

Также предположим, что в момент времени t4 (t4 > t3) устройство d4 регистрируется у S как член объединения. Чтобы d4 получило доступ ко всем данным, предоставленным объединению, S должен иметь возможность обеспечить d4 ключами k1,..., kM, или непосредственно, или через некоторое количество итераций, опять же подразумевая необходимость локального хранения предыдущих ключей на источнике ключей S.

Настоящее изобретение применимо к этим сценариям, смешанным вариантам и другим процедурам распределения ключей/данных. В частности иллюстративным приложением настоящего изобретения является совместное использование контента или лицензирование устройств в сценарии Цифрового Управления Правами (DRM - Digital Rights Management), когда P может быть поставщиком контента, S источником лицензий, а R одним или более потребляющими контент устройствами. Другим приложением является управление групповыми ключами для совместного использования файлов в Персональной Сети, для этого случая S = U = P. Как было указано, другие приложения включают в себя приложения передачи данных с промежуточным хранением и приложения для обеспечения безопасности сетевых сеансов. Кроме того, также возможны многие другие приложения.

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

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

Ниже приводится описание некоторых основных этапов в первом иллюстративном варианте осуществления настоящего изобретения.

1. Предпочтительно, чтобы производитель ключей генерировал и хранил случайный главный ключ kn (псевдослучайное двоичное число с заданной разрядностью) и выводил, путем итерационного применения функции F выведения ключей достаточно много (n) генераций ключей шифрования данных/сеанса связи для имеющегося ввиду приложения (фиг.2A).

2. Для простоты желательно, чтобы генерации ключей нумеровались в обратном порядке, начиная с последнего выведенного ключа, обозначенного как генерация 1, и далее вплоть до n-й генерации; k1, k2, ..., kn.

3. Источник ключей распределяет первую генерацию ключей, используя любой подходящий метод распределения ключей, например ISO 11770-3 [7] или ANSI X9.44 [8].

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

5. На принимающей стороне прежняя генерация ключей удаляется и заменяется самой последней генерацией ключей. Прежние ключи эффективно выводятся с помощью заданной функции выведения ключей, всякий раз, когда необходимо. Если объект на потребляющей ключи стороне имеет доступ к ключу kj генерации j, то ключ ki генерации i, где i < j, может быть выведен при использовании функции F выведения ключей (фиг.3).

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

Функция, используемая для выведения прежних ключей из новых ключей, должна предусматривать, чтобы у потребителя не было возможности вывести новые ключи из прежних ключей (фиг.3). Это означает, что это должна быть функция, обратное значение которой очень трудно вычислить, или "односторонняя". Криптографические хеш-функции, такие как SHA-256 ([6]), отвечают этому требованию. Более того, эффективная функция выведения ключей исключает любую проблему определения размеров, обеспечивая хороший резерв для того, что понимается как "достаточно много генераций".

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

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

1. Производитель ключей генерирует первую генерацию ключей k1 (псевдослучайное двоичное число с заданной разрядностью).

2. Источник ключей распределяет первую генерацию ключей, используя любой подходящий метод распределения ключей, например ISO 11770-3 [7] или ANSI X9.44 [8].

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

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

Как указано выше, важным аспектом настоящего изобретения является определение зависимости между различными генерациями совместно используемых ключей k1, k2, ..., ki, ..., kn. Настоящее изобретение учитывает разнообразие доверительных моделей. Впрочем, в качестве общей особенности, если объект является доверенным на доступ к ключу kj генерации j, тогда, с соблюдением определенных дополнительных ограничений, объект также является доверенным на доступ к ключу ki генерации i, где i < j.

Настоящее изобретение включает в себя применение эффективной функции так, что допускается доверенное устройство, предоставляющее j-ю генерацию ключей как входные данные, используемые этой функцией, как и, возможно, другие параметры, чтобы получить прежние ключи k1, ..., kj в качестве результатов вычислений, но при этом невозможно получить никакие более новые ключи km, m > j на основе данной или полученной информации. Другие входные параметры могут включать в себя код доступа/личный идентификационный номер (PIN), известный доверенному администратору/владельцу/пользователю U. Например, код доступа может быть предоставлен пользователю устройства поставщиком контента или промежуточным участником процесса, например, при приобретении услуг или некоторого цифрового контента. Код доступа может отображаться на экране в интерактивном режиме или передаваться защищенным образом на устройство пользователя или даже высылаться пользователю обычной почтой или факсом. Чтобы активизировать услугу или получить доступ к цифровому контенту, пользователь должен затем ввести код доступа. Без этого параметра или с параметром, которому присвоено значение по умолчанию, если значение не предоставлено, функция может быть не в состоянии вывести ключ или выводит неверный ключ. Другие варианты включают в себя ограниченный доступ к ключам определенной давности, значит существует срок отключения, после которого нет возможности вывести ключи без соответствующего кода или PIN. Задача таких параметров может состоять в том, чтобы оставить доступ к прежним генерациям ключей только доверенным администраторам/владельцам/пользователям U устройств, например, в случае, когда устройства украдены, потеряны или проданы. Еще одним входным параметром может быть непосредственно текущий номер генерации ключей, эффективно создающий новую функцию выведения ключей для каждой генерации ключей.

Иллюстративное раскрытие сущности этого изобретения заключается в определении вычислительно эффективной функции F зависимости между последовательными генерациями kj-1 = F(kj, ...), 1 < j < n, где многоточие означает другие возможные параметры, которые упомянуты выше. В таком исполнении доверенное устройство может неоднократно итерационно применять функцию F, чтобы получить любой требуемый прежний ключ ki, 1 ≤ i < j.

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

В качестве примера используется понятие цепочки хеширования. Пусть F является криптографической хеш-функцией f с одним параметром, которая выводит m-разрядные двоичные числа для заданного входного числа. Обозначим через n предполагаемую нижнюю границу необходимого числа генераций для соответствующей системы. Допустим, что kn - случайное m-разрядное двоичное число, и рекурсивно определим kj-1 = f(kj) для 1 < j ≤ n.

Применением этого примера может быть f = SHA-256, m = 256 (бит), и n много больше ожидаемого числа отмены действия ключей или периодических обновлений ключей в одном множестве устройств. Заметим, что это число может вполне быть большим, чем число устройств в объединении в любой данный момент времени. Так как объединение является динамическим, новые устройства могут присоединиться (и покинуть или стать лишенными полномочий) в любой момент времени существования объединения.

В качестве другого примера используется итерация функции выведения ключей. Пусть F является функцией KDF выведения ключей, которая является односторонней и принимает произвольное число входных параметров. Обозначим через n предполагаемую нижнюю границу необходимого числа генераций для соответствующей системы. Допустим, что kn - случайное m-разрядное двоичное число, и рекурсивно определим kj-1 = KDF(kj, ...) для 1 < j ≤ n.

Применением этого примера может быть KDF = kdConcatenation, m = 128(бит), и n много больше ожидаемого числа отмены действия ключей в одном множестве устройств так же, как и выше.

Определение функции выведения ключей kdConcatenation содержится в [1], и имеет то преимущество, что допускает использование другой информации, например, PIN, при выводе ключей:

"Дополнительная входная переменная OtherInfo может использоваться, когда целесообразно, например, чтобы разграничивать планируемое использование ключа..." (ANSI X9.42-2000 [1])

В качестве третьего примера используется комбинация понятий цепочки хеширования и итерационного применения односторонней функции выведения ключей. Снова, пусть F является функцией KDF выведения ключей, и пусть f является криптографической хеш-функцией с одной переменной, которая выводит m-разрядные двоичные числа для заданного входного числа. Обозначим через n предполагаемую нижнюю границу необходимого числа генераций для соответствующей системы. Допустим, что kn - случайное m-разрядное двоичное число, и рекурсивно определим kj-1 = KDF(f(kj), ...) для 1 < j ≤ n.

Применением этого примера может быть KDF = kdConcatenation, f = SHA-1, m = 160(бит), и n много больше ожидаемого числа отмены действия ключей в одном множестве устройств так же, как и выше.

Опять, определение функции выведения ключей kdConcatenation содержится в [1] и имеет то преимущество, что допускает использование другой информации, например PIN, при выводе ключей.

Альтернативным вариантом осуществления является вариант осуществления, использующий реализацию криптографической односторонней функции F с так называемым секретным параметром FT, чтобы гарантировать невозможность получения информации более поздних генераций ключей, чем уже известная потребителю, но в то же время иметь возможность для производителя использовать секретный параметр для получения следующей генерации ключей. На практике такая функция в целом менее эффективна, чем простая односторонняя функция. Однако преимуществом может быть то, что производителю не требуется предварительно вычислять цепочку генераций ключей, а можно при предоставлении текущей генерации ключа и функции с секретным параметром вычислить следующую генерацию ключей, т.е., kj+1 = FT(kj, ...). Это также дает то дополнительное преимущество, что число генераций не ограничено как, например, в примере, основанном на цепочке хеширования (где максимальное число генераций ограничено длиной цепочки хеширования).

Понятно, что ключевая информация, сформированная итерационным применением общей функции F выведения ключей, может впоследствии быть преобразована в конкретный криптографический ключ. Это может включать в себя изменение размера ключа и/или другие преобразования ключевого материала. Например, 160-битный ключ, сформированный с использованием SHA-1 хеш-функции, может быть преобразован в 128-битный ключ стандарта AES.

Понятие цепочки хеширования, как таковое, известно, например, из документов [1], [3] и [4], но в совершенно различных областях применения. Система отзыва сертификатов Микали главным образом рассматривает задачу эффективной проверки аннулирования как избавление от повторных трудоемких проверок подписей, вместо этого подвергая инверсии образы в цепочке хеширования, образы, которые надежно проверены. Система цепочки хеширования Лампорта, описанная в [3] и [4], позволяет серверу проверки подлинности хранить набор элементов <n, hashn(password)> для каждого клиента, и после приема запроса от клиента на проверку подлинности передать n-1 клиенту (hashn(.) обозначает n-кратно повторенную композицию хеш-функций: hashn(x) = hash(hash(... hash(x) ...))). Затем клиент вычисляет s = hashn-1(password) и посылает s серверу проверки подлинности. Сервер проверки подлинности подтверждает подлинность клиента, проверяя, что hash(s) = hashn(password), и в случае успеха замещает набор элементов на <n-1, hashn-1(password)>.

Возвращаясь к иллюстративным сценариям 1, 2 и 3, представленным выше, теперь можно видеть, как должно применяться изобретение.

Приложение к сценарию 1:

Для выполнения целей этого сценария достаточно, если S хранит главный ключ kn, соотнесенный номер генерации n и текущий номер генерации i; или, если используется вариант с секретным параметром, тогда S должен хранить только ключ текущего сеанса связи ki и соответствующий номер генерации i. В любом случае R должен хранить только ключ текущего сеанса связи ki и соответствующий номер генерации i.

Приложение к сценарию 2:

Используя тот же вариант осуществления настоящего изобретения, который описан в приложении к сценарию 1, достаточно, если S хранит n, kn, и текущий номер генерации i, и если R хранит ключ текущего сеанса связи ki и номер генерации i. Реализация заданной односторонней функции выведения ключей на потребляющей ключи стороне дает возможность R организовывать связь, основанную на любой прежней генерации ключей, даже если одно или более предыдущих обновлений ключей были пропущены.

Приложение к сценарию 3 (со ссылкой на фиг.5):

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

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

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

- В момент времени t2, d1 обращается к P, чтобы запросить x3. P, зная о потребности в новом ключе, запрашивает k2 у S, который в свою очередь генерирует k2, применяя F к kn на один раз меньше, чем это делалось для k1, или, в качестве варианта, применяя функцию FT с секретным параметром к k1. Затем P защищает x3 ключом k2 и передает защищенные данные x3 к d2.

- Получив x3, d1 устанавливает, что ему необходим доступ к k2. Поэтому устройство d1 связывается с S и принимает, возможно, после проверки подлинности, k2. На этом этапе d1 заменяет k1 на k2 в своем встроенном запоминающем устройстве и записывает номер генерации k2.

- Когда d1 позже пересылает данные x3 к d2, d2 таким же образом должно будет связаться с S, чтобы запросить k2, и как только получит, заменить k1 в своем встроенном запоминающем устройстве на k2 и записать его номер генерации.

- В момент времени t3, d2 пересылает данные x2 к устройству d1. Устройство d1 устанавливает, что x2 защищены ключом k1 более ранней генерацией k2 и просто применяет F(k2,...), чтобы получить k1 и затем расшифровать x2.

- В момент времени t3 новое устройство d4 регистрируется в домене. Устройство d4 примет k2 и информацию о его номере генерации от S - заметим, что S не должен присылать информацию о более раннем ключе k1. Благодаря настоящему изобретению любые данные в объединении, которые пересылаются к устройству d4 после этого момента (и до тех пор, пока d4 является зарегистрированным членом объединения), будут читаемыми для d4 (но не для d3). Если предоставленные данные защищены более ранним ключом, таким как k1, d4 применяет F(k2,...), чтобы получить этот ключ, таким образом завершая сценарий 3.

ИСТОЧНИКИ ИНФОРМАЦИИ

[1] ANSI X9.42-2000, Public Key Cryptography for The Financial Services Industry: Agreement of Symmetric Keys Using Discrete Logarithm Cryptography,American National Standards Institute, 2000.

[2] US Patent№ 5666416, Certificate revocation system, by Micali, S.

[3] Password Authentication with Insecure Communication, by Lamport, L. Communications of the ACM 24, 11, November 1981, pp. 770-772. Available at http://research.microsoft.com/users/lamport/pubs/password.pdf.

[4] US Patent № 5751812, Re-initialization of an iterated hash function secure password system over an insecure network connection by Anderson, M.

[5] Handbook of Applied Cryptography, pp. 543-590, by A. Menezes, P. van Oorschot and S. Vanstone.

[6] Federal Information Processing Standards Publication 180-2, "Specifications for the SECURE HASH STANDARD", February 2004. Available at:

http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf.

[7] ISO/TEC 11770-3:1999, Information technology - Security techniques - Key management - Part 3: Mechanisms using asymmetric techniques.

[8] ANSI X9.44-2003 (Draft 6): Public Key Cryptography for the Financial Services Industry: Key Establishment Using Integer Factorization Cryptography, Draft 6, 2003.

Похожие патенты RU2351078C2

название год авторы номер документа
СПОСОБ ДЕЦЕНТРАЛИЗОВАННОГО РАСПРЕДЕЛЕНИЯ КЛЮЧЕВОЙ ИНФОРМАЦИИ 2019
  • Решотка Александр Владимирович
  • Чижиков Владимир Иванович
  • Сабин Владислав Олегович
RU2716207C1
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБЕСПЕЧЕНИЯ ЗАЩИТЫ В СИСТЕМЕ ОБРАБОТКИ ДАННЫХ 2002
  • Хокес Филип
  • Леунг Николай К.Н.
  • Роуз Грегори Г.
RU2333608C2
Повышение неоднозначности 2016
  • Фигуеира, Хелдер Сильвестре Паива
RU2737917C1
СПОСОБ УПРАВЛЕНИЯ ДЕКОДЕРАМИ ПО МЕНЬШЕЙ МЕРЕ ОДНОЙ ГРУППЫ ДЕКОДЕРОВ, ИМЕЮЩИХ ДОСТУП К АУДИОВИЗУАЛЬНЫМ ДАННЫМ 2011
  • Мореион Ги
  • Карлов Александр
RU2541914C2
СЕТЕВОЕ УПРАВЛЕНИЕ НАБОРАМИ ЗАЩИЩЕННЫХ ДАННЫХ 2013
  • Новак Марк Ф.
  • Леймэн Эндрю Джон
  • Нюстрем Магнус
  • Том Стефан
RU2640653C2
СЕТЕВАЯ СИСТЕМА ДЛЯ БЕЗОПАСНОЙ СВЯЗИ 2016
  • Бернсен Йоханнес Арнольдус Корнелис
RU2738808C2
СПОСОБ ПЕРЕДАЧИ ДАННЫХ, ХРАНЯЩИХСЯ В БАЗЕ ДАННЫХ 2008
  • Деграв Мишель
  • Акерман Натанаель
  • Маркович Оливье
RU2457631C2
УПРАВЛЕНИЕ СЕКРЕТАМИ ГРУППЫ ЧЛЕНАМИ ГРУППЫ 2012
  • Бернсен Йоханнес Арнольдус Корнелис
RU2596597C2
Система контроля целостности журналов непрерывно ведущихся записей данных 2015
  • Савин Сергей Владимирович
  • Финько Олег Анатольевич
  • Елисеев Николай Иванович
RU2637486C2
ЗАЩИЩЕННЫЕ ЗАГРУЗКА И ХРАНЕНИЕ ДАННЫХ В УСТРОЙСТВЕ ОБРАБОТКИ ДАННЫХ 2005
  • Германн Кристиан
  • Сметс Бернард
RU2408071C2

Иллюстрации к изобретению RU 2 351 078 C2

Реферат патента 2009 года ЭФФЕКТИВНОЕ УПРАВЛЕНИЕ ГЕНЕРАЦИЯМИ КРИПТОГРАФИЧЕСКИХ КЛЮЧЕЙ

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

Формула изобретения RU 2 351 078 C2

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

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

заменяют, на потребляющей ключи стороне, ключевую информацию прежней генерации ключей на ключевую информацию новой генерации ключей;

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

2. Способ по п.1, в котором формирующая ключи сторона генерирует ключевую информацию упомянутой новой генерации ключей, итерационно применяя копию заданной односторонней функции выведения ключей, исходя из ключевой информации заданной генерации.3. Способ по п.2, в котором упомянутая заданная генерация ключей является генерацией главного ключа.4. Способ по п.1, в котором формирующая ключи сторона генерирует ключевую информацию упомянутой новой генерации ключей, применяя функцию с секретным параметром заданной односторонней функции выведения ключей, исходя из ключевой информации любой прежней генерации ключей.5. Способ по п.1, в котором упомянутый этап итерационного применения заданной односторонней функции выведения ключей для выведения ключевой информации, по меньшей мере, одной прежней генерации ключей дает возможность потребляющей ключи стороне использовать любую прежнюю генерацию ключей в информационной среде, даже если одно или более предыдущих обновлений ключей были пропущены.6. Способ по п.1, в котором формирующая ключи сторона содержит выпускающий ключи сервер, выпускающий ключевую информацию защиты, которая должна совместно использоваться, по меньшей мере, одним устройством связи и поставщиком защищенных данных для упомянутого, по меньшей мере, одного устройства связи.7. Способ по п.6, в котором упомянутое, по меньшей мере, одно устройство связи содержит группу устройств, каждое из которых реализует копию заданной односторонней функции выведения ключей, тем самым предоставляя каждому устройству группы доступ к новой генерации ключей для взаимодействия также на основе любой прежней генерации ключей.8. Способ по п.7, в котором устройствам группы с доступом к новой ключевой генерации обеспечивают возможность совместно использовать защищенные данные также на основе любой прежней генерации ключей.9. Способ по п.6, в котором потребляющая ключи сторона содержит упомянутое, по меньшей мере, одно устройство связи и упомянутого поставщика защищенных данных.10. Способ по п.6, в котором упомянутый выпускающий ключи сервер и упомянутый поставщик защищенных данных объединены.11. Способ по п.1, в котором упомянутая односторонняя функция выведения ключей реализована в устройстве на формирующей ключи стороне для генерирования ключевой информации упомянутой, по меньшей мере, одной прежней генерации ключей из ключевой информации новой генерации ключей при условии, что дополнительные данные в виде заданного кода доступа используются в функции выведения ключей.12. Способ по п.1, в котором ключевая информация, выведенная итерационным применением упомянутой односторонней функции выведения ключей, представляет собой непосредственно криптографический ключ.13. Способ по п.1, дополнительно содержащий этап, на котором упомянутую выведенную ключевую информацию преобразуют в криптографический ключ.14. Способ по п.1, в котором упомянутая функция выведения ключей основана на криптографической хеш-функции.15. Способ по п.1, в котором упомянутая ключевая информация защиты используется для Цифрового Управления Правами в системе распространения цифрового контента, интерактивных играх, совместном использовании файлов в Локальной Вычислительной Сети или в Персональной Сети (ЛВС/ПС), приложениях передачи данных с промежуточным хранением и обеспечении защиты сетевых сеансов.16. Устройство для управления генерациями ключевой информации защиты в информационной среде, имеющей формирующую ключи сторону, которая генерирует и распределяет ключевую информацию для стороны, потребляющей ключи, причем упомянутое устройство содержит:

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

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

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

17. Устройство по п.16, дополнительно содержащее средство для генерации, на формирующей ключи стороне, ключевой информации упомянутой новой генерации ключей итерационным применением копии заданной односторонней функции выведения ключей, исходя из ключевой информации заданной генерации ключей.18. Устройство по п.17, причем упомянутая заданная генерация ключей является генерацией главного ключа.19. Устройство по п.16, дополнительно содержащее средство для генерации, на формирующей ключи стороне, ключевой информации упомянутой новой генерации ключей, используя функцию с секретным параметром заданной односторонней функции выведения ключей, исходя из ключевой информации любой прежней генерации ключей.20. Устройство по п.16, в котором упомянутое средство итерационного применения заданной односторонней функции выведения ключей для выведения ключевой информации, по меньшей мере, одной прежней генерации ключей предоставляет возможность потребляющей ключи стороне использовать любую прежнюю генерацию ключей в информационной среде, даже если одно или более предыдущих обновлений ключей были пропущены.21. Устройство по п.16, в котором формирующая ключи сторона содержит выпускающий ключи сервер, выпускающий ключевую информацию защиты, которая должна совместно использоваться, по меньшей мере, одним устройством связи и поставщиком защищенных данных для упомянутого, по меньшей мере, одного устройства связи.22. Устройство по п.21, причем упомянутое, по меньшей мере, одно устройство связи содержит группу устройств, каждое из которых содержит средство для итерационного применения упомянутой односторонней функции выведения ключей, тем самым предоставляя возможность каждому устройству группы доступ к новой ключевой генерации для взаимодействия также на основе любой прежней генерации ключей.23. Устройство по п.22, в котором устройства группы, имеющие доступ к новой генерации ключей имеют возможность совместно использовать защищенные данные, также на основе любой прежней генерации ключей.24. Устройство по п.21, в котором потребляющая ключи сторона содержит упомянутое, по меньшей мере, одно устройство связи и упомянутого поставщика защищенных данных.25. Устройство по п.21, в котором упомянутый выпускающий ключи сервер и упомянутый поставщик защищенных данных объединены.26. Устройство по п.16, в котором упомянутое средство для итерационного применения односторонней функции выведения ключей реализовано в устройстве на потребляющей ключи стороне и выполнено с возможностью генерации ключевой информации упомянутой, по меньшей мере, одной прежней генерации ключей из ключевой информации новой генерации ключей при условии, что дополнительные данные в виде заданного кода доступа используются в функции выведения ключей.27. Устройство по п.16, в котором упомянутое средство для итерационного применения односторонней функции выведения ключей имеет возможность вывода ключевой информации, которая соответствует непосредственно криптографическому ключу.28. Устройство по п.16, дополнительно содержащее средство для преобразования упомянутой выведенной ключевой информации в криптографический ключ.29. Устройство по п.16, в котором упомянутая функция выведения ключей основана на криптографической хеш-функции.30. Устройство по п.16, в котором упомянутая ключевая информация защиты используется для Цифрового Управления Правами в системе распространения цифрового контента, интерактивных играх, совместном использовании файлов в Локальной Вычислительной Сети или в Персональной Сети (ЛВС/ПС), приложениях передачи данных с промежуточным хранением и обеспечении защиты сетевых сеансов.31. Потребляющий ключи защиты объект в информационной среде, причем упомянутый потребляющий ключи защиты объект содержит:

средство для приема, при обновлении ключей, ключевой информации новой генерации ключей;

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

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

32. Формирующий ключи защиты объект в информационной среде, причем упомянутый формирующий ключи защиты объект содержит:

средство для итерационного применения односторонней функции выведения ключей данное число раз, исходя из ключевой информации генерации главного ключа, для вывода ключевой информации заданной генерации ключей; и

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

Документы, цитированные в отчете о поиске Патент 2009 года RU2351078C2

A
Menezes et al, Handbook of Applied Cryptography, 1997, pp.543-590
СПОСОБ ОБМЕНА КРИПТОГРАФИЧЕСКИМИ КЛЮЧАМИ МЕЖДУ КОМПЬЮТЕРНЫМ БЛОКОМ ПОЛЬЗОВАТЕЛЯ И СЕТЕВЫМ КОМПЬЮТЕРНЫМ БЛОКОМ 1996
  • Хорн Гюнтер
  • Мюллер Клаус
  • Кесслер Фолькер
RU2175465C2
US 5666416 A, 09.09.1997
US 5751812 A, 12.05.1998
RU 2000126765 A, 27.01.2003
Разборный с внутренней печью кипятильник 1922
  • Петухов Г.Г.
SU9A1

RU 2 351 078 C2

Авторы

Селандер Йеран

Линдхолм Фредерик

Нюстрем Магнус

Даты

2009-03-27Публикация

2004-10-13Подача