Схема Блома

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Схема Блома — в криптографии, схема распределения ключей. Данная схема была представлена Рольфом Бломом в начале 1980-х[1][2].

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

Присоединение новых участников к схеме строго контролируется доверенной стороной, что позволяет защитить сеть от нелегальных пользователей. Надёжность данной схемы основывается на сложности восстановления секретной матрицы. Для восстановления матрицы необходимо иметь число ключей, равное количеству строк матрицы[3]

Схема Блома используется в протоколе HDCP в целях защиты видео от копирования[4].

Описание протокола[править | править код]

Инициализация[править | править код]

Доверенная сторона выбирает симметричную матрицу над конечным полем [3].

Добавление участника[править | править код]

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

Открытый и закрытый ключ сообщаются участнику по надёжному каналу без прослушивания[3].

Установление сессии[править | править код]

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

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

Надёжность схемы[править | править код]

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

Пример работы протокола[править | править код]

Инициализация

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

Алиса и Боб выбирают себе идентификаторы (также могут выдаваться доверенным центром):

Доверенный центр вычисляет Алисе и Бобу закрытые ключи:

Вычисление общего секретного ключа

Алиса передаёт Бобу свой идентификатор, а Боб — свой Алисе. После чего каждая из сторон вычисляет секретный ключ, умножая свой закрытый ключ на идентификатор второй стороны:

Примечания[править | править код]

  1. Rolf Blom. Non-Public Key Distribution // Advances in Cryptology. — Boston, MA: Springer US, 1983. — С. 231–236. — ISBN 978-1-4757-0604-8, 978-1-4757-0602-4.
  2. Rolf Blom. An Optimal Class of Symmetric Key Generation Systems (англ.) // Advances in Cryptology / Thomas Beth, Norbert Cot, Ingemar Ingemarsson. — Berlin, Heidelberg: Springer Berlin Heidelberg, 1985. — Vol. 209. — P. 335–338. — ISBN 978-3-540-16076-2. — doi:10.1007/3-540-39757-4_22.
  3. 1 2 3 4 5 Владимиров С.М. и др. Учебное пособие по защите информации кафедры радиотехники и систем управления МФТИ. — 2019. — С. 220-222.
  4. Scott Crosby, Ian Goldberg, Robert Johnson, Dawn Song, David Wagner. A Cryptanalysis of the High-Bandwidth Digital Content Protection System // Security and Privacy in Digital Rights Management. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2002. — С. 192–200. — ISBN 978-3-540-43677-5, 978-3-540-47870-6.

Литература[править | править код]