ПРОВЕРКА КОДА МАС БЕЗ ЕГО РАСКРЫТИЯ Российский патент 2012 года по МПК H04L9/32 

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

Область техники

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

Уровень техники

В этой области в зависимости от природы коммуникационной сети-носителя мультимедийной информации и от типа предоставляемой услуги, как правило, применяемые системы защиты содержимого могут быть системами контроля доступа (или CAS от "Conditional Access Systems") или системами управления цифровыми правами (или DRM от "Digital Rights Management").

Типовыми вариантами применения являются, например:

- передача/прием мультимедийных данных, передаваемых в реальном времени (или "TV live"),

- или воспроизведение хранящихся в памяти мультимедийных данных при помощи цифрового терминального записывающего устройства (часто на базе жесткого диска), находящегося в распоряжении пользователя (или PVR от "Personal Video Recorder"),

- или варианты применения типа видео по запросу (или VOD от "Video On Demand").

Защита таких систем основана, в частности, на обеспечении (то есть на проверке) аутентичности и целостности сообщений контроля доступа.

Как правило, в контексте контроля доступа CAS такими сообщениями могут быть специфические сообщения контроля доступа, называемые "messages EMM” (от "Entitlement Management Message") или "messages ECM" (от "Entitlement Control Message"). Описание со ссылками на фиг.1 поясняет пример контекста использования таких сообщений.

Более подробное представление о системах контроля доступа можно получить из документа:

"FUNCTIONAL MODEL OF A CONDITIONAL ACCESS SYSTEM", EBU REVIEW-TECHNICAL EUROPEAN BROADCASTING UNION. BRUSSELS, BE, №26, 21 декабря 1995 г.

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

В системах контроля доступа (CAS) или управления DRM, применяющих симметричную криптографию с секретными ключами, криптографический резерв, передаваемый вместе с сообщениями типа EMM, ECM (для контроля доступа) или соответственно с сообщениями лицензии для обеспечения их аутентичности и целостности, классически применяют при помощи кода MAC (от "Message Authentification Code").

Вместе с тем, изобретение можно применять в любом контексте, когда взломщик может иметь доступ к устройству, осуществляющему проверку кода аутентификации сообщения (или MAC от "Message Authentification Code").

Далее следует описание осуществления такой проверки MAC в контексте контроля доступа CAS, а затем в контексте управления DRM.

Контекст контроля доступа CAS

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

Перестановочное кодирование 10

Перестановочное кодирование (обозначение 10 на фиг.1) позволяет сделать программу нечитаемой во время ее передачи, хотя ее можно принимать без ограничений. Можно применять различные решения перестановочного кодирования/декодирования. Речь идет о специально разработанных или стандартных алгоритмах шифрования/дешифрирования, выбираемых в зависимости от контекста.

Чтобы сделать перестановочное кодирование непредсказуемым и, следовательно, случайное декодирование практически невозможным, алгоритмы шифрования/ дешифрирования используют ключ, обычно называемый «контрольным словом» (обозначение CW от "Control Word" на фиг.1). Обычно произвольно изменяют значение контрольного слова в соответствии с изменением стратегии, выбираемой в зависимости от контекста. Например, контрольное слово можно классически изменять каждые 10 секунд в вещательном телевидении или, в крайнем случае, только по каждому фильму, например, в контексте VOD с индивидуальным назначением для каждого абонента.

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

Контроль доступа

Применение перестановочного кодирования/декодирования с индивидуализацией при помощи динамичного контрольного слова требует точной синхронизации устройства кодирования и устройства декодирования (обозначение 11 на фиг.1) относительно текущего контрольного слова CW и момента его замены.

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

Передача контрольных слов и описание условия доступа являются двумя из функциональных возможностей типовой системы условного доступа, разработанной, в частности, заявителем. Они материально выражаются специфическими сообщениями контроля доступа, называемыми «сообщениями ЕСМ», вычисляемыми подсистемой «Использование» 12, показанной на фиг.1. Эти сообщения ЕСМ предназначены для обработки защитным процессором 13, взаимодействующим с декодирующим терминалом 11 (в обиходе называемым часто «декодером»). На практике защитный процессор 13 часто представляет собой электронную карточку, находящуюся у абонента и взаимодействующую с терминалом 11.

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

Управление правами доступа

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

Таким образом, правами доступа или средствами приобретения прав доступа (например, «жетоны» для импульсных систем PPV - от "Pay Per View") управляет оператор и затем дистанционно записывает их в энергонезависимую память (обозначение 15) защитного процессора 13 абонента.

Дистанционные действия оператора на права доступа абонента представляют собой другой набор функциональных возможностей системы условного доступа, показанной на фиг.1. Они материально выражаются специфическими сообщениями контроля доступа, называемыми «сообщениями EMM», вычисляемыми подсистемой «Управление» (обозначение 14 на фиг.1) и защитным процессором 13.

Криптографическая защита

Однако система контроля доступа выполняет свою роль, только если она не подверглась взлому или краже. В частности, сообщения, предназначенные для принимающей системы (сообщения ЕСМ и EMM), должны генерироваться и использоваться только устройствами, должным образом удостоверенными оператором службы.

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

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

Обработка сообщений контроля доступа принимающей системой

Большинство рабочих решений систем контроля доступа основано на принимающей системе, состоящей из двух элементов:

- терминал 11, обеспечивающий, в частности, прием сигнала, содержащего услугу/услуги, его демультиплексирование, его декодирование, а также декодирование компонента услуги, выбранной пользователем,

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

Защитный процессор 13 обрабатывает сообщения EMM и ЕСМ с целью контроля доступа к услугам, запоминания/управления/проверки прав доступа к этим услугам, запоминания/управления/использования секретных криптографических ключей и применения к принятым сообщениям защитной криптографической обработки и контроля.

Принимающий терминал 11 и защитный процессор 13 ведут между собой диалог через интерфейс, чаще всего соответствующий стандарту ISO 7816.

В этой архитектуре некоторые функции, связанные с контролем доступа, могут обрабатываться терминалом 11 во взаимодействии с защитным процессором 13. В частности, речь идет о функциях выбора обрабатываемых сообщений ЕСМ и EMM, функциях диалога с пользователем и связи с частью терминала, включающей модуль декодирования.

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

Контекст управления DRM

Современные системы управления DRM работают в соответствии с принципами архитектуры и кинематики, представленными на фиг.2, где:

- сервер 21 обеспечивает формирование (или "packaging") мультимедийного содержимого в «формате DRM» и передает защищенное содержимое (например, в режиме широкого вещания, или "streaming", или в режиме индивидуальной дистанционной загрузки),

- сервер 22 лицензий обеспечивает управление и контроль за использованием: лицензия (или RO от "Rights Object") соответствует присоединению к содержимому данных, в частности, его идентификатора и, в случае необходимости, криптографического ключа, позволяющего произвести его декодирование, и данных о разрешениях и требованиях к использованию содержимого (число разрешенных воспроизведений, права копирования, конечная дата использования, период использования и т.д.),

- клиентская программа DRM 23 на терминале клиента разрешает доступ к защищенному содержимому и обеспечивает контроль за лицензией (и даже, в случае необходимости, ее возобновление), и

- наконец, программа-редактор содержимого, или "player", 24 на выходе клиентской программы DRM 23 обеспечивает воспроизведение содержимого в незашифрованном виде.

Таким образом, в большинстве современных систем управления DRM лицензия использования RO, зашифрованная при помощи единственного ключа, присвоенного клиентской программе DRM (чаще всего получаемого в соответствии с инфраструктурными механизмами открытого ключа или PKI), может быть считана/подтверждена только для рассматриваемой клиентской программы DRM 23. Иначе говоря, лицензия использования структурно связана с «идентификацией» терминала (в котором установлена клиентская программа DRM 23). Понятие «идентификации» в данном случае следует понимать в совокупности с использованием криптографического ключа (секретного или индивидуального), присвоенного терминалу.

Важным элементом лицензии использования является язык описания прав (или REL от "Rights Expression Language"), присоединенный к словарю прав и позволяющий выражать требования/условия и специальные разрешения, связанные с использованием содержимого.

Детально система DRM (например, OMA-DRM) представлена в нижеуказанных документах консорциумом "Open Mobile Alliance", таких как:

- "ОМА DRM Approved Version 2.0-23" (март 2007 г.) или

- "ОМА DRM Specification V2.0 Draft Version 2.0-21" (июнь 2004 г.).

Вычисление кода MAC

Классически код MAC вычисляют на основании функции Е шифрования по блокам длиной L. Речь идет о поблочном шифровании и сцеплении данных, или "СВС-МАС", (CBC от "Cipher Bloc Chaining"). Кроме предназначенного для защиты сообщения М какой-либо длины, эта функция учитывает на входе симметричный ключ К и вектор инициализации IV длиной L. Данные К и IV распределены между головной частью сети и терминальной частью, при этом данная К является секретной, а данная IV - открытой.

В этом случае вычисление кода MAC состоит в дополнении М до длины, кратной L, затем в применении к полученному таким образом сообщению М' шифрования в режиме CBC. Кодом MAC сообщения М является полученный таким образом последний зашифрованный блок. Таким образом, алгоритм осуществляемого вычисления может быть представлен следующим образом:

Temp2=IV

При i, равном от 1 до n, получают:

Temp1=Temp2 XOR M'i

Temp2=E(K,Temp1)

В конечном счете

MAC=Temp2,

где n является числом блоков длиной L.

Таким образом, сообщение М' представляет собой логическое объединение этих n блоков, и полученным кодом MAC является:

MAC=Е(K,M'nXOR E(K,M'n-1XOR…Е(K,M'2XOR E(K,M'1XOR IV))…))

Этот способ вычисления кода MAC показан на фиг.3, где рассмотрено сообщение М', образованное логическим объединением n блоков (при n=4 в представленном примере) длиной L, обозначенных М'1, М'2, М'3 и М'4.

Проверка кода MAC

Чтобы убедиться в аутентичности и целостности сообщения М, проверяют код MAC, принятый вместе с этим сообщением М.

Классически эта проверка кода MAC включает в себя повторное вычисление этого кода MAC, затем сравнение (повторно) вычисленного таким образом значения кода MAC со значением, принятым вместе с сообщением М. Если эти значения равны, принятое сообщение является аутентичным и целостным.

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

Возникающие проблемы

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

Естественно, это раскрытие происходит во всех случаях, в том числе когда рассматриваемое сообщение принято с ошибочным кодом MAC.

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

Такая атака может, например, привести к нарушениям ("glitches") в компоненте и позволить извлечь изображение (или "dump") из энергосберегающей памяти системы, содержащей буферную память (или "buffer") вычисления кода MAC.

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

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

Сущность изобретения

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

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

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

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

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

a) применение к криптографическому резерву, по меньшей мере, первого дешифрирования при помощи функции дешифрирования, соответствующей функции шифрования, и при помощи ключа,

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

c) сравнение результата комбинирования, произведенного на этапе b), с секретным значением, хранящимся в памяти принимающего объекта, и

d) принятие решения на признание принятого сообщения в качестве аутентичного и/или целостного в случае идентичности значений, сравненных на этапе с).

Предпочтительно вышеуказанное комбинирование содержит применение булевой функции «исключающее ИЛИ» (или "XOR").

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

Предпочтительно этап b) в рамках настоящего изобретения дополнительно содержит, по меньшей мере, следующие операции:

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

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

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

- преобразование передаваемого сообщения путем добавления или исключения данных таким образом, чтобы размер преобразованного сообщения был равен nL, при этом n является выборочным целым числом, превышающим или равным 2,

- разделение преобразованного сообщения на n последовательных блоков длиной L согласно первой выбранной последовательности,

- первое шифрование комбинации между вектором инициализации и первым блоком указанной первой последовательности, и

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

Предпочтительно в этом случае этапы а) и b) в соответствии с настоящим изобретением содержат:

- преобразование принятого сообщения путем добавления или исключения данных таким образом, чтобы размер преобразованного сообщения был равен nL,

- разделение преобразованного сообщения на n последовательных блоков длиной L согласно второй выбранной последовательности,

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

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

Предпочтительно изобретение применяет шифрование в режиме СВС (от "Cipher Block Chaining"), при этом вычисление кода аутентификации содержит:

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

- применение к преобразованному сообщению поблочного шифрования в режиме СВС.

Предпочтительно в этом случае вычисление вектора инициализации содержит:

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

- поблочное дешифрирование в режиме СВС преобразованного сообщения.

Вместе с тем, следует отметить, что способ можно применять для любого алгоритма проверки кода MAC путем инверсивной конструкции таким образом, чтобы проверить синтаксическое свойство на исходном сообщении (например, виды обработки, обозначаемые как ХСВС-МАС, ОМАС, ЕМАС и т.д.).

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

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

- результата применения однонаправленной функции, и

- самого сообщения.

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

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

В контексте контроля доступа (CAS), в частности, к телевизионным данным предпочтительный вариант применения способа предусматривает проверку криптографического резерва, сопровождающего сообщения контроля доступа, в частности, такие как сообщения ЕСМ и EMM.

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

Краткое описание чертежей

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

фиг.1 (уже описана выше) - схема принципов архитектуры контроля доступа CAS;

фиг.2 (уже описана выше) - схема принципов архитектуры управления DRM;

фиг.3 (уже описана выше) - схема вычисления кода MAC согласно известным техническим решениям, применяемая также для проверки этого кода МАC;

фиг.4 - вычисление вектора инициализации для обратной проверки кода МАC в соответствии с настоящим изобретением;

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

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

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

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

фиг.9а и 9b - сравнение решений согласно предшествующему уровню техники (фиг.9а) и в соответствии с настоящим изобретением (фиг.9b).

Подробное описание

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

В контексте, представленном ранее со ссылками на фиг.3, но применяемом в рамках настоящего изобретения, вычисление (повторное) производят не для кода MAC, a для значения вектора инициализации на основании принятого сообщения и значения его кода MAC, а также ключа К. Это (повторное) вычисление использует, в частности, функцию D дешифрирования, соответствующую функции Е шифрования (фиг.4).

Если (повторно) вычисленный вектор инициализации IV равен вектору, использованному передающим объектом для вычисления кода МАC, то этот принятый код МАC считается правильным, и, следовательно, сообщение определяют как аутентичное и целостное.

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

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

Обратная проверка кода MAC, показанная на фиг.4 при тех же предположениях и с теми же обозначениями, что и на фиг.3, основана на (повторном) вычислении значения IV' вектора инициализации, где MAC обозначает переданный код MAC.

Так, входными параметрами на фиг.4 являются код MAC и сообщение М, тогда как на выходе получают значение IV′ проверяемого вектора инициализации, в то время как входными параметрами на фиг.3 для (повторного) вычисления и проверки кода MAC согласно известным решениям были известное значение IV' вектора инициализации и сообщение М, тогда как на выходе получали значение проверяемого кода MAC.

Как показано на фиг.4, в рамках настоящего изобретения вычисление значения IV' состоит в дополнении М до длины, кратной L, затем в применении к полученному таким образом сообщению М дешифрирования в режиме СВС с использованием функции дешифрирования D, соответствующей функции шифрования Е, показанной на фиг.3. Вектором инициализации является полученный таким образом зашифрованный блок.

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

Temp1=MAC

При i, составляющем от 0 до n-1, получают:

Temp2=D(K,Temp1)

Temp1=Temp2 XOR M'n-i

Наконец,

IV'=Temp1

В этом случае полученным значением вектора инициализации является:

IV'=M'1XOR D(K,M'2XOR…D(K,M'n-1XOR D(K,M'nXOR D(K,MAC)))…)

Таким образом, на фиг.4, где представлен пример такого вычисления вектора инициализации для обратной проверки кода MAC, сообщение М' представляет собой логическое объединение n блоков (при n=4 в представленном примере) длиной L, обозначенных M'1, M'2, М'3 и М'4.

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

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

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

В дальнейшем тексте описания в рамках настоящего изобретения выражением «обратная проверка кода MAC» будет называться операция, состоящая в проверке значения IV' вектора инициализации. Эта проверка, производимая принимающим объектом, идентична проверке, показанной на фиг.4. Она состоит в (повторном) вычислении значения IV' вектора инициализации в зависимости от принятого сообщения и от его кода MAC и в его сравнении с ожидаемым значением IV вектора инициализации.

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

Таким образом,

- предъявляя системе выборочное сообщение М со случайным кодом MAC,

- извлекая эти значения,

- затем заменяя первый блок M1 своего сообщения на величину:

N=M1XOR IV' XOR IV,

взломщик получает сообщение [N M2…Mn], которое можно успешно предъявить системе с выбранным случайным кодом MAC, то есть при котором (повторное) вычисление вектора инициализации дает ожидаемый результат IV.

В этом случае обратная проверка кода MAC будет положительной, и будет рассматриваться принятое сообщение.

Однако поскольку взломщик изначально не контролирует вышеуказанный результат IV' вычисления, то он не контролирует и величину N, поэтому представляется очень маловероятным, что синтаксис нового сообщения [N M2…Mn] будет соответствовать достоверному сообщению.

Невозможность контроля результатов вычислений значения IV' и величины N означает также, что невозможно изменить случайный код MAC с учетом вышеуказанных ошибочных первых результатов, чтобы получить новое сообщение [N М2…Mn] с достоверным синтаксисом.

В любом случае в предпочтительном варианте выполнения получают возможность изначально уберечь себя от описанной выше остаточной слабости.

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

Эта префиксация может быть:

- «имплицитной»: в этом случае префикс учитывают только для вычисления кода MAC и его проверки через вычисление значения IV' (в дальнейшем называемой «обратной проверкой») в принимающем объекте, но не передают вместе с сообщением,

- или «эксплицитной»: в этом случае префикс тоже передают вместе с сообщением и кодом MAC.

При использовании однонаправленной функции Н вычисляют:

- величину Н(М)||М, где «||» является оператором логического объединения;

- код MAC полученного таким образом логически объединенного сообщения.

Сообщение М'=(M'1, M'2, …M'n) получают путем дополнения (или "padding") на величину Н(М)||М.

После этого сам код МАC вычисляют аналогично схеме, показанной на фиг.3.

Следует отметить, что защита обработки ослабляется, если длина выражения Н(М) меньше длины L. Предпочтительно выбирают однонаправленную функцию Н таким образом, чтобы выражение Н(М) было больше или равным длине L.

В частности, в случае, когда выражение Н(М) имеет длину L, получают M'1=H(M). В этом предпочтительном случае длины блоков могут оставаться без изменения и не нуждаются в изменении путем добавления или исключения данных.

В этом случае вычисление кода MAC является следующим:

Temp2=Е(K,IV XOR H(М))

При i, составляющем от 2 до n, получают:

Temp1=Теmр2 XOR M'i

Temp2=Е(K,Temp1)

Наконец,

MAC=Temp2,

где n является числом блоков длиной L. Сообщение образовано логическим объединением этих блоков, и полученный код МАС выражается как:

MAC=Е(K,M'nXOR E(K,M'n-1XOR…Е(K,M'2XOR E(K,M'2XOR E(K,IV XOR

Н(М))))…))

Вычисление кода MAC показано на фиг.5, где сообщение М' образовано логическим объединением n блоков (при n=5 в представленном примере) длиной L, обозначенных Н(М)=M'1, M'2, М'3, М'4 и M'5.

После этого передающий объект передает:

- значение вектора инициализации IV, в случае необходимости, сообщение М в вышеуказанном «имплицитном» варианте выполнения и вычисленный таким образом код MAC;

- значение вектора инициализации IV, в случае необходимости, сообщение М в вышеуказанном «эксплицитном» варианте выполнения и вычисленный таким образом код MAC.

Разумеется, предпочтительными являются также случаи, когда выражение Н(М) имеет длину, кратную длине L.

В других случаях предпочтительно осуществлять дополнение "padding".

После этого в принимающем объекте обратная проверка кода MAC, предназначенная для проверки значения IV' вектора инициализации, следует тому же принципу, что и схема, показанная на фиг.4. Она состоит в повторном вычислении значения IV' вектора инициализации в зависимости от принятого сообщения и от его кода MAC и в его сравнении с ожидаемым значением IV вектора инициализации.

В этом случае можно представить следующий пример алгоритма обратной проверки:

Temp1=MAC

При i, равном от 0 до n-1, получают:

Temp2=D(K,Temp1)

Temp1=Temp2 XOR M'n-1

В конечном счете

IV'=Н(М)XOR D(K,Temp1)

Таким образом, полученным значением вектора инициализации является:

IV'=Н(М)XOR D(K,M'1XOR D(K,M'2XOR D(K,M'n-1XOR D(K,M'nXOR D(K,MAC)))…))

Это вычисление вектора инициализации для обратной проверки кода MAC показано на фиг.6, где сообщение M' образовано логическим объединением n блоков (при n=4 в представленном примере) длиной L, обозначенных Н(М)=M'1, М'2, М'3 и М'4.

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

Эта вторая проверка помешает взломщику изменить начало сообщения M, как было указано выше, и, таким образом, вышеуказанная остаточная слабость устраняется. Действительно, изменение начала сообщения M, даже если оно будет правильным, приведет к другому, уже неконтролируемому изменению величины Н(М).

Далее следует описание предпочтительного варианта выполнения в контексте (часто встречающемся в случаях контроля доступа CAS или управления DRM), когда сообщение по тем или иным причинам можно передавать фрагментами.

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

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

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

Осуществляемое вычисление кода MAC изменяют на обратное следующим образом:

Temp2=IV

При i, равном от 0 до n-1, получают:

Temp1=Temp2 XOR M'n-1

Temp2=E(K,Temp1)

В конечном счете

MAC=Temp2

где n является числом блоков длиной L. Сообщение М' образовано логическим объединением этих n блоков М'=[M'1,M'2…M'n], и в данном случае полученным кодом MAC является:

MAC=E(K,M'1XOR E(K,M'2XOR…Е(K,M'n-1XOR E(K,M'nXOR IV))…))

тогда как обычно он выражается:

MAC=Е(K,M'nXOR E(K,M'n-1XOR…Е(K,M'2XOR E(K,M'1XOR IV))…))

Это вычисление кода MAC показано на фиг.7, где сообщение М' образовано логическим объединением n блоков (n=4 в представленном примере) длиной L, обозначенных M'1, M'2, М'3 и М'4.

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

Temp1=MAC

При i, равном от 1 до n, получают:

Temp2=D(K,Temp1)

Temp1=Temp2 XOR M'i

В конечном счете

IV'=Temp1

Полученный вектор инициализации в этом случае выражается следующим образом:

IV'=M'nXOR D(K,M'n-1XOR…D(K,M'2XOR D(K,M'1XOR D(K,MAC)))…)

Это вычисление вектора инициализации для инверсивной обратной проверки кода MAC показано на фиг.8, где сообщение М' образовано логическим объединением n блоков (n=4 в представленном примере) длиной L, обозначенных M'1, M'2, М'3 и М'4.

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

Положение результата Н(М) однонаправленной функции Н можно перенести в любое выборочное положение: в префикс или в суффикс посередине блоков и т.д.

Наиболее предпочтительными являются положения в префиксе и в суффиксе.

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

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

Кроме того, для применения изобретения рекомендуется предусмотреть несколько указанных ниже мер предосторожности.

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

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

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

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

Для этого можно (в нисходящем порядке предпочтения):

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

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

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

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

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

На этих двух фигурах 9а и 9b передающие объекты (соответственно обозначенные 91 и 95) выполняют одинаковую роль, то есть вычисляют при помощи таких средств, как процессор вычисления PROC и оперативная память (не показана), код МАС на основании:

- предназначенного для отправки сообщения М,

- вектора инициализации IV

- и применяя ключ К и функцию Е шифрования.

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

Как показано на фиг.9а и 9b, сообщение М и код MAC передаются в направлении принимающего объекта, например, через сеть 90. В известных способах (фиг.9а) принимающий объект 92 повторно вычисляет код MAC' на основании принятого сообщения М, вектора инициализации IV и применяя ключ К и функцию Е шифрования. После этого принимающий объект 92 сравнивает вычисленный таким образом код MAC' с принятым кодом MAC и принимает решение о достоверности принятого сообщения М в случае идентичности сравненных кодов.

В другом подходе в соответствии с настоящим изобретением принимающий объект 96 (фиг.9b) вычисляет при помощи таких средств, как процессор вычисления PROC и оперативная память (не показана), значение вектора инициализации IV' на основании принятых сообщения М и кода MAC и применяя ключ К и функцию D дешифрирования. После этого принимающий объект 96 сравнивает вычисленное таким образом значение IV' с хранящимся в памяти контрольным значением IV. После этого принимающий объект 96 принимает решение о достоверности принятого сообщения М в случае идентичности между сравниваемыми значениями.

В этой связи объектом настоящего изобретения является также принимающий объект 96 (фиг.9b), предназначенный для приема сообщений, каждое из которых принимается вместе с криптографическим резервом MAC, и содержащий средства, такие как процессор PROC, для проверки криптографического резерва, сопровождающего принятое сообщение М.

В предпочтительном варианте применения изобретения для системы контроля доступа (CAS) принимающий объект может быть, например, декодером, принимающим сообщения, например, типа EMM или ЕСМ, вместе с криптографическим резервом, таким как код MAC. В этом случае защитный процессор 13 (фиг.1) такой системы содержит средства (процессор, оперативная память и т.д.) для проверки криптографического резерва, сопровождающего принятое сообщение, согласно способу в соответствии с настоящим изобретением. В этой связи объектом изобретения является также такой защитный процессор.

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

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

название год авторы номер документа
ГЕНЕРАЦИЯ КРИПТОГРАФИЧЕСКОГО КЛЮЧА 2008
  • Норрман Карл
  • Неслунд Матс
RU2480925C2
СПОСОБ АУТЕНТИФИКАЦИИ ДЛЯ СТАЦИОНАРНЫХ РЕГИОНАЛЬНЫХ СИСТЕМ БЕСПРОВОДНОГО ШИРОКОПОЛОСНОГО ДОСТУПА 2004
  • Гармонов Александр Васильевич
  • Савинков Андрей Юрьевич
  • Меловатский Андрей Юрьевич
  • Мурсалимов Евгений Александрович
  • Пак Юнсан
  • Хьон Та-Ин
  • Ким Юнсан
  • Пак Санвук
RU2278477C2
Повышение неоднозначности 2016
  • Фигуеира, Хелдер Сильвестре Паива
RU2737917C1
УЛУЧШЕННЫЙ ДОСТУП К ДОМЕНУ 2007
  • Костер Роберт П.
  • Монтанер Хавьер
  • Якоб Сорин М.
  • Корайхи Найиб
RU2447498C2
СПОСОБЫ СКРЕМБЛИРОВАНИЯ И ДЕСКРЕМБЛИРОВАНИЯ ЕДИНИЦ ДАННЫХ 2006
  • Ван Дер Вен Антониус Йоханнес Петрус Мария
RU2439668C2
СПОСОБ И МОДУЛЬ ДЛЯ ОБНОВЛЕНИЯ КОДА КРИПТОГРАФИЧЕСКОГО АЛГОРИТМА, СПОСОБ И МОДУЛЬ ДЛЯ ГЕНЕРАЦИИ НАЧАЛЬНОГО ЧИСЛА, ПРОЦЕССОР СИСТЕМЫ БЕЗОПАСНОСТИ И ЗАПИСЫВАЮЩЕЕ УСТРОЙСТВО ДЛЯ ЭТИХ СПОСОБОВ 2009
  • Соке Патрик
RU2534965C2
ЗАЩИТА ЦИФРОВОГО МУЛЬТИМЕДИА С РАЗЛИЧНЫМИ ТИПАМИ СОДЕРЖИМОГО 2006
  • Клеметс Андерс Э.
  • Алкоув Джеймс М.
  • Бхатт Санджай
  • Оливейра Эдуарду П.
  • Пака Ананд
RU2427898C2
УПРАВЛЕНИЕ ДОСТУПОМ С ИСПОЛЬЗОВАНИЕМ ПАРАМЕТРИЗИРОВАННОЙ ХЭШ-ФУНКЦИИ 1996
  • Дэвид В.Оксмит
  • Роберт К.Науэрхейз
RU2142674C1
БЛОК, ИСПОЛЬЗУЮЩИЙ ОПЕРАЦИОННУЮ СИСТЕМУ, И УСТРОЙСТВО ФОРМИРОВАНИЯ ИЗОБРАЖЕНИЙ, ИСПОЛЬЗУЮЩЕЕ ЕЕ 2009
  • Ли Дзае-Сунг
  • Ли Йоон-Тае
  • Чо Вон-Ил
RU2452009C1
БЛОК, ИСПОЛЬЗУЮЩИЙ ОПЕРАЦИОННУЮ СИСТЕМУ, И УСТРОЙСТВО ФОРМИРОВАНИЯ ИЗОБРАЖЕНИЯ, ИСПОЛЬЗУЮЩЕЕ ЭТОТ БЛОК 2009
  • Ли Дзае-Сунг
  • Ли Йоон-Тае
  • Чо Вон-Ил
RU2463655C2

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

Реферат патента 2012 года ПРОВЕРКА КОДА МАС БЕЗ ЕГО РАСКРЫТИЯ

Изобретение относится к передаче данных, а именно к проверке аутентичности сообщения (М), передаваемого от передающего объекта (95) на принимающий объект (96) вместе с криптографическим резервом, соответствующим коду (MAC) идентификации сообщения, вычисленному при помощи поблочного шифрования. Техническим результатом является предотвращение возможности несанкционированного раскрытия кода MAC. Технический результат достигается тем, что проверка принимающим блоком криптографического резерва, сопровождающего принятое сообщение, содержит следующие этапы: а) применение к криптографическому резерву (MAC), по меньшей мере, первого дешифрирования при помощи функции (D) дешифрирования, соответствующей функции (Е) шифрования, и при помощи ключа (К), b) комбинирование (XOR) результата этого первого дешифрирования с первым блоком (M'n), характеризующим, по меньшей мере, первую часть данных принятого сообщения, с) сравнение результата комбинирования, произведенного на этапе b), с секретным значением (IV'), хранящимся в памяти принимающего объекта, d) и принятие решения о признании принятого сообщения в качестве аутентичного и/или целостного в случае идентичности значений, сравненных на этапе с). 4 н. и 11 з.п. ф-лы, 10 ил.

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

1. Способ, применяемый средствами информатики и предназначенный для проверки аутентичности и/или целостности сообщения (EMM, ECM; RO), переданного вместе с криптографическим резервом (MAC) передающим объектом (10; 22) в направлении принимающего объекта (11; 23),
в котором криптографическим резервом является код (MAC) аутентификации сообщения, вычисляемый при помощи функции (Е) поблочного шифрования и при помощи ключа (К) на основании, по меньшей мере, первого шифрования комбинации (XOR) вектора инициализации (IV) и первого блока (M'1), характеризующего, по меньшей мере, первую часть данных сообщения,
при этом ключ (К) шифрования и вектор инициализации (IV) имеют значения, записанные в памяти передающего и принимающего объектов,
отличающийся тем, что проверка принимающим блоком криптографического резерва, сопровождающего принятое сообщение, содержит следующие этапы:
a) применение к криптографическому резерву (MAC), по меньшей мере, первого дешифрирования при помощи функции (D) дешифрирования, соответствующей функции (Е) шифрования, и при помощи ключа (К),
b) комбинирование (XOR) результата этого первого дешифрирования с первым блоком (M'n), характеризующим, по меньшей мере, первую часть данных принятого сообщения,
c) сравнение результата комбинирования, произведенного на этапе b), с секретным значением (IV), хранящимся в памяти принимающего объекта, и
d) принятие решения о признании принятого сообщения в качестве аутентичного и/или целостного в случае идентичности значений, сравненных на этапе с).

2. Способ по п.1, в котором вычисление кода (MAC) аутентификации сообщения содержит, по меньшей мере, второе шифрование, - при помощи функции (Е) шифрования и ключа (К), - комбинации (XOR) результата первого шифрования и второго блока (М'2), характеризующего вторую часть данных сообщения,
отличающийся тем, что этап b) в рамках настоящего изобретения дополнительно содержит, по меньшей мере, следующие операции:
b1) применение для комбинации между результатом первого дешифрирования и первым блоком (M'n), по меньшей мере, второго дешифрирования при помощи функции (D) дешифрирования и при помощи ключа (К), и
b2) комбинирование (XOR) результата этого второго дешифрирования с вторым блоком (M'n-1), характеризующим, по меньшей мере, вторую часть данных принятого сообщения.

3. Способ по п.2, в котором функция (Е) шифрования соответствует длине блока L, и вычисление кода (MAC) аутентификации сообщения содержит:
- преобразование передаваемого сообщения (М) путем добавления или исключения данных таким образом, чтобы размер преобразованного сообщения (М') был равен nL, при этом n является выборочным целым числом, превышающим или равным 2,
- разделение преобразованного сообщения (М') на n последовательных блоков длиной L согласно первой выбранной последовательности,
- первое шифрование комбинации (XOR) между вектором инициализации (IV) и первым блоком (M'1; М'4) указанной первой последовательности, и
- по меньшей мере, одно следующее шифрование комбинации (XOR) между результатом первого шифрования и вторым блоком (М'2; М'3), следующим за первым блоком в первой последовательности,
отличающийся тем, что этапы а) и b) содержат:
- преобразование принятого сообщения (М) путем добавления или исключения данных таким образом, чтобы размер преобразованного сообщения (М') был равен nL,
- разделение преобразованного сообщения (М') на n последовательных блоков длиной L согласно второй выбранной последовательности, комбинирование (XOR) между первым дешифрированием принятого криптографического резерва (MAC) и первым блоком (M'1) указанной второй последовательности, и
- по меньшей мере, одно следующее дешифрирование комбинации (XOR) между результатом первого дешифрирования и вторым блоком (М'2), следующим за первым блоком (M'1) в указанной второй последовательности.

4. Способ по п.3, в котором вычисление кода (MAC) аутентификации сообщения содержит:
- применение к передаваемому сообщению (М) дополнения до длины, кратной длине L, с целью получения преобразованного сообщения (М'), образованного логическим объединением n блоков (M'1, М'2, М'3, М'4) длиной L каждый, при этом n является целым числом, превышающим или равным 2, и
- применение к преобразованному сообщению (М') поблочного шифрования в режиме СВС,
отличающийся тем, что вычисление вектора инициализации содержит:
- дополнение принятого сообщения (М) до длины, кратной длине L, с целью получения преобразованного сообщения (М'), образованного логическим объединением n блоков (M'1, М'2, М'3, М'4) длиной L каждый, при этом n является целым числом, превышающим или равным 2, и
- поблочное дешифрирование в режиме СВС преобразованного сообщения (М').

5. Способ по п.3, отличающийся тем, что для вычисления кода (MAC) аутентификации сообщения указанный первый блок (Н(М)) в первой последовательности получают в результате применения к сообщению (М) однонаправленной функции.

6. Способ по п.5, отличающийся тем, что результат применения однонаправленной функции направляют в принимающий объект вместе с сообщением (М) в виде логического объединения (Н(М)||М):
- результата применения к сообщению (М) однонаправленной функции, и
- указанного сообщения (М).

7. Способ по п.5, отличающийся тем, что однонаправленной функцией является хэш-функция, и результат ее применения (Н(М)) имеет длину, превышающую или равную длине L.

8. Способ по п.3, в котором сообщение может быть передано фрагментами от передающего объекта к принимающему объекту,
отличающийся тем, что первую последовательность блоков (М'4, М'3, М'2, M'1) и вторую последовательность блоков (M'1, M'2, М'3, М'4) изменяют путем перестановки,
и тем, что принимающий объект начинает вычисление вектора инициализации сразу после получения первого фрагмента сообщения.

9. Способ по п.1, отличающийся тем, что указанные операции комбинирования содержат применение булевой функции «исключающее ИЛИ» (XOR).

10. Способ по п.1, в котором передаваемое сообщение содержит зашифрованные конфиденциальные данные (CW), отличающийся тем, что ключ (К) дешифрирования и/или функция (D) шифрования, используемые для проверки криптографического резерва, являются средствами, отличными от средств дешифрирования конфиденциальных данных (CW).

11. Способ по п.1, отличающийся тем, что в контексте контроля доступа (CAS), в частности, к содержимому аудио и/или видеопрограммы его применяют для проверки криптографического резерва, сопровождающего сообщения (ЕСМ, EMM).

12. Способ по п.1, отличающийся тем, что в контексте контроля управления цифровыми правами (DRM), в частности, к содержимому аудио и/или видеопрограммы его применяют для проверки криптографического резерва, сопровождающего лицензии на указанное содержимое (RO).

13. Принимающий объект, предназначенный для приема сообщений (EMM, ЕСМ; RO), каждое из которых принимается вместе с криптографическим резервом (MAC), отличающийся тем, что содержит средства проверки криптографического резерва, сопровождающего принятое сообщение, при помощи способа по одному из предыдущих пунктов.

14. Защитный процессор в принимающем объекте системы контроля доступа (CAS), при этом принимающий объект принимает сообщения (EMM, ЕСМ) вместе с криптографическим резервом (MAC), отличающийся тем, что защитный процессор (13) содержит средства проверки криптографического резерва, сопровождающего принятое сообщение, при помощи способа по п.11.

15. Передающий объект, предназначенный для передачи сообщений (EMM, ЕСМ; RO), направляемых вместе с криптографическим резервом (MAC), отличающийся тем, что содержит средства вычисления кода аутентификации сообщения, сопровождающего каждое направляемое сообщение, при помощи способа по одному из пп.5-8.

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

RU 2005104953 А, 20.07.2005
СПОСОБ ПОЛУЧЕНИЯ САХАРНЫХ ВАФЕЛЬ 2009
  • Квасенков Олег Иванович
RU2401008C1
Смазочный состав для глинистых буровых растворов 1985
  • Дадашев Назим Гаджи Оглы
  • Мамедов Ахмед Узеир Оглы
  • Тагиев Ислам Ибрагим Оглы
  • Разуваев Поликарп Федосеевич
  • Караш Эдуард Борисович
SU1257084A1
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек 1923
  • Григорьев П.Н.
SU2007A1
Способ приготовления мыла 1923
  • Петров Г.С.
  • Таланцев З.М.
SU2004A1

RU 2 457 624 C2

Авторы

Шьез Кентен

Лепорини Давид

Даты

2012-07-27Публикация

2008-07-08Подача