Перейти к содержимому


Фотография

БИНАР В Высоких технологиях!


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 nasdaq

nasdaq

    Претендент

  • Пользователи+
  • PipPip
  • 14 сообщений

Отправлено 04 Сентябрь 2007 - 10:13

Мало кто конечно здесь что то для себя подчерпнет :D

Но практически по такой-же СХЕМЕ работает и Intway!


Статья взята с http://www.ak-cent.ru/?parent_id=14571

Копия на моем сайте Ссылка

CPRM II
В основе CPRM II лежит схема распределения ключей устройств, основанная на полном бинарном дереве (вместо "мастер-таблицы" CPRM I). В этой схеме устройства (u) представлены в виде листочков бинарного дерева.
На этапе инициализации каждому узлу бинарного дерева присваивается случайная метка (LABELi).
Затем для каждого узла вычисляется множество вторичных меток (LABELi,j). Вторичная метка вычисляется для каждой пары узел-предок (Vi) – узел-наследник (Vj). Таким образом, количество вторичных меток, приписанных каждому узлу, равно количеству предков этого узла. Назначение вторичных меток производится при помощи специальной рекурсивно используемой функции G, исходным значением для которой является первичная метка узла-родителя (LABELi). Сама функция (точнее, тройка криптографически стойких функций G = [G_L, G_M, G_R]), вычисляет вторичные метки для левых (G_L) и правых (G_R) узлов-детей, а также на основе полученных вторичных меток генерирует (G_M) ключи (Li,j).Изображение

В основе CPRM II лежит схема распределения ключей устройств, основанная на полном бинарном дереве (вместо "мастер-таблицы" CPRM I). В этой схеме устройства (u) представлены в виде листочков бинарного дерева.
На этапе инициализации каждому узлу бинарного дерева присваивается случайная метка (LABELi).
Затем для каждого узла вычисляется множество вторичных меток (LABELi,j). Вторичная метка вычисляется для каждой пары узел-предок (Vi) – узел-наследник (Vj). Таким образом, количество вторичных меток, приписанных каждому узлу, равно количеству предков этого узла. Назначение вторичных меток производится при помощи специальной рекурсивно используемой функции G, исходным значением для которой является первичная метка узла-родителя (LABELi). Сама функция (точнее, тройка криптографически стойких функций G = [G_L, G_M, G_R]), вычисляет вторичные метки для левых (G_L) и правых (G_R) узлов-детей, а также на основе полученных вторичных меток генерирует (G_M) ключи (Li,j).

Изображение

Вторичная метка соответствует паре поддеревьев, вложенных одно в другое [корнем первого поддерева является узел-предок (Vi), а корнем второго поддерева является узел-наследник(Vj)]. Вложенное поддерево покрывает все отозванные устройства, а оставшиеся непокрытыми устройства внутри большего поддерева считаются неотозванными. Таким образом, каждая вторичная метка (LABELi,j) соответствует потенциальному подмножеству неотозванных устройств (Si,j).
В приведенной схеме, как и в CPRM I, контент шифруется ключом сессии, а заголовком контента считается ключ сессии [связанный с ID-носителя], зашифрованный ключами Li,j. Набор ключей Li,j, которыми шифруется ключ сессии, выбираются таким образом, чтобы число соответствующих этим ключам подмножеств Si,j было минимальным.



Изображение

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

Изображение

Пример: ключ сессии зашифрован ключом L0,4. Устройства 9 и 10 в данном случае оказываются отозванными.
Рассмотрим случаи для устройств u8, u10 и u13.
Устройство u8 получило метки LABEL (0,2; 0,4; 1,4; 0,7; 1,7; 3,7).
Устройство u10 получило метки LABEL (0,2; 0,3; 1,3; 0,9; 1,9; 4,9).
Устройство u13 получило метки LABEL (0,1; 0,5; 2,5; 0,14; 2,14; 6,14).
u8 сможет вычислить L0,4, поскольку имеет метку LABEL0,4 в явном виде. т.е. L0,4 = G_M(LABEL0,4).
u13 сможет вычислить L0,4, поскольку имеет метку LABEL0,1, из которой может получить LABEL0,4. т.е. L0,4 = G_M(G_R(LABEL0,1)).
u10 не может вычислить L0,4, поскольку среди имеющихся у устройства меток нет LABEL0,4, и её значение невозможно вычислить, используя другие метки, полученные устройством u10 (подобно тому, как это удалось для u13).

#2 CzechRepublic

CzechRepublic

    Эксперт

  • Пользователи+
  • PipPipPipPipPipPipPipPipPip
  • 1 143 сообщений

Отправлено 04 Сентябрь 2007 - 12:32

:D
прикольно




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных