ГОСТ Р 57450-2017/IEC/TS 62224:2013. Национальный стандарт Российской Федерации. Серверные домашние системы мультимедиа. Концептуальная модель цифрового управления правами
7.2 Модель безопасности
7.2.1 Общие положения
В настоящем подразделе приведена модель безопасности, отвечающая требованиям, указанным в 6.1.2.
7.2.2 Рассмотрение модели безопасности
В модели безопасности (см. рисунок 2) данной концептуальной модели подлежащий защите контент шифруют и распространяют любым способом. В данной модели ключ шифрования контента и информация о правах, включая условия доступа (AC) к контенту, также защищены посредством использования TRM и криптографической системы и имеют следующий жизненный цикл в качестве лицензии:
a) лицензия создается во входном TREM;
b) лицензия является первоначально изданной в качестве защищенной лицензии из входного TREM;
c) лицензия передается в TREM декодера через промежуточные TREM, количество которых больше 0; и
d) лицензия используется для дешифровки контента в соответствии с условиями доступа (AC) в TREM декодера.
7.2.3 Функции TREM
TREM должен иметь следующие функции:
a) функцию устойчивости к вмешательству, предотвращающую утечку информации о лицензионных операциях, в качестве TRM;
b) функцию создания и поддержания сеанса SLTP;
c) функцию передачи лицензии между TREM всегда при использовании сеанса SLTP;
d) в случае промежуточного TREM - функцию дешифровки лицензии и трансфера/передачи ее другому TREM в соответствии с условиями доступа к защищенному промежуточному TREM; и
e) в случае TREM декодера - функцию дешифровки лицензии и дешифровки контента с дешифровальным ключом, соответствующим условию доступа к защищенному декодеру.
Рисунок 2 - Модель безопасности при защите контента
7.2.4 Модель протокола безопасного лицензионного соглашения SLTP
В настоящем пункте приведена модель SLTP, отвечающая требованиям, указанным в разделе 6, в качестве примера наиболее простого протокола безопасного лицензионного соглашения между TREM. Также в качестве контрмер, особенно указанных в 6.1.2.3 и 6.1.2.4, необходимы стандартизация и реализация SLTP.
SLTP является протоколом скрытной передачи информации о лицензионных операциях между TREM. Этот протокол включает форматы информации, которой обмениваются TREM между собой, и спецификацию смены состояний в рамках TREM.
В основной стандартной последовательности модели SLTP происходят обмен следующими сообщениями в соответствии с определенными шагами (см. рисунок 3) для генерации сеанса SLTP в качестве контрмер, приведенных в 6.1.2.3, и скрытная передача секретных данных в сеансе SLTP:
a) генерация сеанса SLTP:
- подготовка к обнаружению вмешательства в сообщение SLTP.
Рисунок 3 - Основная процедура модели SLTP
Для обнаружения вмешательства в сообщение SLTP из TREM - отправителя сообщения в TREM - получатель сообщения высылается сертификат открытого ключа TREM, и происходит его проверка на TREM-получателе.
Например, из TREM-отправителя в TREM-получатель высылаются сообщения: C (KR, KPCi || Ici), C (KCi, KPCj || Icj и C (KCj, KPTdk || Itdk), где C (KR, KPCi || Ici), C (KCi, KPCj || Icj - сертификаты, создающие PkiPath, а C (KCj, KPTdk || Itdk) - сертификат TREM-отправителя (TREM-отправитель - "k" TREM).
Тогда между TREM-отправителем и TREM-получателем генерируется среда для обнаружения вмешательства в сообщение за счет использования цифровой подписи;
- совместное использование сеансового симметричного ключа. Исходный TREM и TREM назначения совместно используют сеансовый симметричный ключ. Существует несколько методов совместного использования. Ниже приведены их основные примеры:
1) за счет использования скрытого ключа TREM и открытого ключа при совместном использовании временного ключа.
Сначала исходный TREM получает сертификаты C (KR, KPCi || Ici), C (KCi, KPCj || Icj и C (KCj, KPTsk1 || Itsk1) от TREM назначения "k1" и проверяет эти сертификаты. Затем исходный TREM "k2" формирует сеансовый симметричный ключ KSk1k2n и шифрует его с KPTsk1. В итоге исходный TREM посылает зашифрованный сеансовый симметричный ключ в TREM назначения,
2) за счет использования сеансового скрытого ключа и сеансового открытого ключа.
TREM назначения "k1" формирует сеансовый открытый ключ "KPTTk1n" и сеансовый скрытый ключ "KTTk1n" и аналогичным образом исходный TREM "k2" формирует сеансовый открытый ключ "KPTTk2n" и сеансовый скрытый ключ "KTTk2n". Затем оба эти TREM получают общий сеансовый симметричный ключ "KSk1k2n" путем обмена сеансовыми открытыми ключами каждого из них при использовании метода Диффи-Хеллмана (Diffie-Hellman).
b) передача/трансфер секретных данных в сеансе SLTP:
- секретные данные шифруют при совместном использовании сеансового симметричного ключа:
- секретные данные шифруют при совместном использовании сеансового симметричного ключа в TREM-отправителе, а из него эти зашифрованные секретные данные посылают в TREM-получатель.
E(KSk1k2n, SD)
SD: Секретные данные
- данные сообщения проверяют посредством использования цифровой подписи:
- данные сообщения добавляют/присоединяют к цифровым подписям TREM-отправителя, а TREM-получатель проверяет их
MD || E(KTdk1, H(MD))
KTdk1: Скрытый ключ TREM для обнаружения вмешательства
в сообщение SLTP TREM "k1"
MD: Данные сообщения;
c) закрытие сеанса SLTP.
Произведенный сеанс SLTP закрывают в явном или неявном виде [например, закрывают блокировкой по превышению лимита времени ("time out") или при новом запросе от того же TREM].
Для использования случайного числа в качестве сеансового ключа это случайное число следует формировать достаточно секретно. Секретные случайные числа должны быть особыми/разными по способу генерации и по значениям, а также трудно определимыми для хакеров за приемлемый период времени.
Если принимаемая информация не может быть должным образом интерпретирована в TREM, TREM немедленно ее отклоняет, чтобы не допустить любые возможные взломы, использующие нестабильность модуля.
Для безопасного восстановления сеанса SLTP необходимо предпринять контрмеры, указанные в 6.1.2.4.
7.2.5 Сертификационный орган
Для того чтобы определенный класс TREM мог участвовать в условиях услуг распространения контента, изготовитель (разработчик или компоновщик) класса TREM должен создавать пару открытых ключей класса и скрытых ключей класса и применять их к открытому ключу класса с соответствующей информацией для CA.
Если CA убедился, что информация приложения корректна и TREM, отвечающий критериям безопасности/секретности, выполнен (или построен) должным образом, CA формирует сертификат на открытый ключ данного класса TREM и соответствующую ему информацию согласно [RFC 3280]. К сертификату добавляют цифровую подпись со скрытым ключом CA, а затем сертификат предоставляют изготовителю.
Изготовитель TREM вкладывает в TREM сертификат и соответствующий скрытый ключ класса, и после этого TREM может принять лицензию, передаваемую от TREM другого класса, который уже авторизован тем же CA (см. рисунок 4).
Рисунок 4 - Общее представление выдачи сертификатов
классу TREM
7.2.6 Отмена ключа и окончание действия TREM
В данной безопасной модели следует поддерживать отмену ключа и окончание действия TREM через CRL (список отозванных/аннулированных) сертификатов, указанный в Рекомендации X.509 МСЭ и в ИСО/МЭК 7498-1) в соответствии с требованиями, приведенными в 6.1.2.5.
CRL - это список идентификаторов отозванных сертификатов с цифровой подписью от CA. CRL используют следующим образом:
a) после выдачи CRL сертификационным органом этот CRL вкладывается в TREM, особенно во входные TREM;
b) если TREM назначения высылает отозванный сертификат в исходный TREM (т.е. в CRL опознается идентификатор сертификата для TREM назначения), передача лицензии отменяется.
