Схемы распределения ключей с доверенным центром: схемы Жиро и Блома

    Предисловие
    Данный текст будет являться одной из переписанных глав для учебного пособия по защите информации кафедры радиотехники и систем управления, а также, с этого учебного кода, кафедры защиты информации МФТИ (ГУ). Полностью учебник доступен на github (см. также draft releases). На Хабре планирую выкладывать новые «большие» куски, во-первых, чтобы собрать полезные комментарии и замечания, во-вторых, дать сообществу больше обзорного материала по полезным и интересным темам. Предыдущие разделы главы «Криптографически протоколы»: 1, 2, 3, 4

    Схемы распределения ключей с доверенным центром состоят из трёх этапов.

    1. На первом этапе доверенный центр создаёт некоторый секрет, известный только ему. Это может быть некоторая секретная матрица с особыми свойствами, как в схеме Блома, или пара из закрытого и открытого ключей, как в схеме Жиро.
    2. Для каждого нового легального участника сети доверенный центр, используя свою секретную информацию, вырабатывает некоторый отпечаток или сертификат, который позволяет новому участнику вырабатывать сеансовые ключи с другими легальными участниками.
    3. Наконец, на третьем этапе, когда начинается протокол общения двух легальных участников, они предъявляют друг-другу идентификаторы и/или дополнительную информацию от доверенного центра. Используя её, без дополнительного обращения к центру, они могут сгенерировать секретный сеансовый ключ для общения между собой.

    Схема Жиро


    В схеме Жиро (фр. Marc Girault) надёжность строится на стойкости криптосистемы RSA (сложности факторизации больших чисел и вычисления дискретного корня).

    Предварительно:
    • Доверенный центр (Трент, $T$):
      • выбирает общий модуль $n = p \times q$, где $p$ и $q$ — большие простые числа;
      • выбирает пару из закрытого и открытого ключей $K_{T, \text{public}}: (e, n)$ и $K_{T, \text{private}}: (d, n)$;
      • выбирает элемент $g$ поля $\mathbb{Z}_n^{\times}$ максимального порядка;
      • публикует в общедоступном месте параметры схемы $n$, $e$ и $g$.
    • Каждый из легальных участников:
      • выбирает себе закрытый ключ $s_i$ и идентификатор $I_i$;
      • вычисляет и отправляет доверенному центру $v_i = g^{-s_i} \bmod n$;
      • используя протокол аутентификации сторон (см. ниже) легальный участник доказывает доверенному центру, что владеет закрытым ключом, не раскрывая его значение;
      • получает от доверенного центр свой открытый ключ:

    В результате для каждого участника, например, Алисы, которая владеет $P_A, I_A, s_a$ будет выполняться утверждение:

    $ P_A^e + I_A = g^{-s_A} \mod n. $


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

    1. Алиса выбирает случайное $R_A$.
      $Alice \to \left\{ I_A, P_A, t = g^{R_A} \right\} \to Bob$
    2. Боб выбирает случайное $R_B$.
      $Bob \to \left\{ R_B \right\} \to Alice$
    3. $Alice \to \left\{ y = R_A + s_A \times R_B \right\} \to Bob$
    4. Боб вычисляет $v_A = P_A^e + I_A$;
      Боб проверяет, что $g^ y v_A^{R_B} = t$.

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

    1. $Alice \to \left\{ P_A, I_A \right\} \to Bob$
    2. Боб вычисляет $K_{BA} = (P_A^e + I_A)^{s_B} \bmod n$.
      $Bob \to \left\{ P_B, I_B \right\} \to Alice$
    3. Алиса вычисляет $K_{AB} = (P_B^e + I_B)^{s_A} \bmod n$.

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

    $K_{AB} = (P_A^e + I_A)^{s_B} = (g^{-s_A})^{s_B} = g^{-s_As_B} \mod n;$


    $K_{BA} = (P_B^e + I_B)^{s_A} = (g^{-s_B})^{s_A} = g^{-s_As_B} \mod n;$


    $K = K_{AB} = K_{BA} = g^{-s_As_B} \mod n.$


    Схема обеспечивает аутентификацию ключа (цель G7), так как только легальные пользователи смогут вычислить корректное значение общего сессионного ключа.

    Схема Блома


    Схема Блома (англ. Rolf Blom) используется в протоколе HDCP (англ. High-bandwidth Digital Content Protection) для предотвращения копирования высококачественного видеосигнала. Предполагается, что некоторый доверенный центр распределит ключи таким образом, что легальные производители видеокарт, мониторов высокого разрешения и других компонент будут передавать видеоконтент по защищённому каналу, а «пиратские» устройства не смогут эти данные перехватить, и, например, записать на другой носитель.

    На этапе инициализации доверенный центр выбирает симметричную матрицу $D_{m,m}$ над конечным полем $\mathbb{GF} p$. Для присоединения к сети распространения ключей, новый участник либо самостоятельно, либо с помощью доверенного центра выбирает новый открытый ключ (идентификатор) $I_i$, представляющий собой вектор длины $m$ над $\mathbb{GF} p$. Доверенный центр вычисляет для нового участника закрытый ключ $K_i$:

    $K_i = D_{m,m} I_i.$


    Симметричность матрицы $D_{m,m}$ доверенного центра позволяет любым двум участникам сети создать общий сеансовый ключ. Пусть Алиса и Боб — легальные пользователи сети, то есть они обладают открытыми ключами $I_A$ и $I_B$ соответственно, а их закрытые ключи $K_A$ и $K_B$ были вычислены одним и тем же доверенным центром по формуле выше. Тогда протокол выработки общего секретного ключа выглядит следующим образом.
    Взаимодействие участников в схеме Блома

    1. $Alice \to \left\{ I_A \right\} \to Bob$
    2. Боб вычисляет $K_{BA} = K^T_B I_A = I^T_B D_{m,m} I_A$.
      $Bob \to \left\{ I_B \right\} \to Alice$
    3. Алиса вычисляет $K_{AB} = K^T_A I_B = I^T_A D_{m,m} I_B$.

    Из симметричности матрицы $D_{m,m}$ следует, что значения $K_{AB}$ и $K_{BA}$ совпадут, они же и будут являться общим секретным ключом для Алисы и Боба. Этот секретный ключ будет свой для каждой пары легальных пользователей сети.

    Присоединение новых участников к схеме строго контролируется доверенным центром, что позволяет защитить сеть от нелегальных пользователей. Надёжность данной схемы основывается на невозможности восстановить исходную матрицу. Однако для восстановления матрицы доверенного центра размера $m \times m$ необходимо и достаточно всего $m$ пар линейно независимых открытых и закрытых ключей. В 2010-м году компания Intel, которая является «доверенным центром» для пользователей системы защиты HDCP, подтвердила, что криптоаналитикам удалось найти секретную матрицу (точнее, аналогичную ей), используемую для генерации ключей в упомянутой системе предотвращения копирования высококачественного видеосигнала.
    Послесловие
    Автор будет благодарен за фактические и другие замечания к тексту.

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 0

    Only users with full accounts can post comments. Log in, please.