Спосіб завантаження коду щонайменше одного програмного модуля

 

Даний винахід відноситься до способу завантаження коду щонайменше одного програмного модуля в головну пам'ять допомогою процесора системи безпеки.

Метою справжнього винаходу є також:

- спосіб прийому скремблированного вмісту мультимедіа,

- носій запису інформації для реалізації зазначених способів,

- термінал для реалізації зазначених способів.

Головна пам'ять відома також як «запам'ятовуючий пристрій з довільною вибіркою» ("random-access memory"), що позначається також скороченням ЗУПВ (RAM). Зазвичай це енергозалежна пам'ять, тобто пам'ять, в якій відбувається стирання елементів інформації при вимиканні живлення. Головна пам'ять забезпечує швидкий доступ для зчитування та запису інформації. Саме тому команди програми, яку повинен виконати процесор системи безпеки, завантажують в цю пам'ять з одного або більше запам'ятовуючих пристроїв великої ємності, де ці команди спочатку записані. Запам'ятовуючі пристрої великої ємності зазвичай є незалежними запам'ятовуючими пристроями, що володіють великою ємністю для зберігання інформації, але працюють повільно в режимах зчитування і запису. Тому неможливо �винахід може бути застосоване особливо в області управління доступом при наданні оплачуваних програм мультимедіа, таких, як платне телебачення.

У цьому описі термін «мультимедіа контент» ("multimedia content") більш конкретно позначає аудіо - та/або відео, які потрібно відобразити у формі, безпосередньо сприйманої і зрозумілою для людини. Зазвичай контент мультимедіа відповідає послідовності зображень, складовою кінофільм, програмі телевізійного мовлення або рекламі. Контент мультимедіа може також являти собою інтерактивний контент, такий як гра.

Для захисту контентів мультимедіа і накладення на можливість перегляду деяких умов, таких як, наприклад, платна підписка, такі контенти мультимедіа передають по каналах мовлення в скремблированном вигляді, а не в незашифрованому або відкритій формі. У цьому описі канал називається «скремблированним», коли передається в цьому каналі контент мультимедіа скремблирован.

Більш конкретно, кожен мультимедіа контент розбитий на послідовність криптопериодов. Протягом усього криптопериода умови доступу до скремблированному вмісту мультимедіа залишаються незмінними. Зокрема, протягом усього криптопериода контент мультимедіа скремблирован одним і тим же керуючим словом. В заг�, �правляющее слово в загальному випадку є специфічним для будь-якого контенту мультимедіа, це керуюче слово формують випадковим або псевдовипадковим чином. Таким чином, якщо в якийсь момент N контентів мультимедіа передають в режимі мовлення одночасно за N каналах, тут мають місце N різних незалежних керуючих слів, кожне з яких використовується для скремблювання тільки одного з контентів мультимедіа.

Тут терміни «скремблировать» і «шифрувати» вважаються синонімами. Те ж саме відноситься до термінів «дескремблировать» і «розшифрувати».

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

Керуючі слова, необхідні для дескремблирования контентів мультимедіа, передають синхронно з цими контентами мультимедіа. Наприклад, керуючі слова, необхідні для дескремблирования t-го криптопериода, кожен термінал приймає під час (t-1)-го криптопериода. З цією метою, наприклад, керуючі слова мультиплексируют з скремблированним контентом го�сований в повідомленні управління правами (ЄСМ (entitlement control message)).

Тут нижче термін «криптограма» сегмента даних позначає сегмент інформації, якого самого по собі недостатньо для вилучення цього сегмента даних в незашифрованому або відкритій формі. Для вилучення сегмента відкритих даних, наприклад керуючого слова, яке може бути використане для безпосереднього дескремблирования вмісту мультимедіа, криптограмму цього сегмента необхідно з'єднати з сегментом секретної інформації. Наприклад, криптограма сегмента даних може бути отримана шляхом шифрування сегмента відкритих даних із застосуванням криптографічного ключа. У такому разі зазначений сегмент секретної інформації являє собою криптографічний ключ, що використовується для розшифровки цієї криптограми. Криптограма може бути також посиланням на сегмент даних, записаний в таблиці, що містить безліч можливих елементів даних. У такому разі зазначений сегмент секретної інформації являє собою таблицю, яка встановлює відповідність між сегментом відкритих даних і кожної посиланням.

Такий сегмент секретної інформації необхідно зберігати в безпечному місці. Для цього вже було запропоновано зберігати сегмент секретної інформації в процессораспользование смарт-карт має низку недоліків. Зокрема, якщо в таких смарт-картах буде виявлена велика пролом в системі безпеки, ці смарт-карти необхідно фізично замінити новими смарт-картами. Таку операцію важко здійснити при великій кількості замінних смарт-карт.

Для подолання цього недоліку було запропоновано замінити термінали, оснащені смарт-картами, бескарточними терміналами.

У цих терміналах смарт-карта може бути замінена програмним модулем, що виконуються процесором системи безпеки у складі терміналу. Такі відомі термінали можуть бути оснащені:

- головною пам'яттю,

- процесором системи безпеки, що мають форму інтегральної схеми, в якій реалізовані мікропроцесор, який може виконувати команди, записані в головній пам'яті, співпроцесор безпеки, енергонезалежне запам'ятовуючий пристрій і запам'ятовуючий пристрій з довільною вибіркою, доступні виключно для співпроцесора безпеки, цей процесор з'єднаний з головною пам'яттю за допомогою шини даних,

- кодом багатозадачної операційної системи, здатної планувати одночасне виконання декількох програм користувача, коли ця операційна система виконується процесором,

- командами код завантаження, який завантажує код головного завантажувача в головну пам'ять, коли ці команди виконує процесор, ці команди записані в енергонезалежне запам'ятовуючий пристрій співпроцесора, починаючи з першого адреси, на який вказує порядковий лічильник процесора відразу ж після кожної початкової установки цього процесора,

- одним або кількома незалежними пристроями пам'яті, що містять код програмного модуля.

Таким чином, подібні термінали мають архітектуру, близьку до звичайного комп'ютера. Зокрема, для того щоб програмний модуль можна було виконати, код програмного модуля необхідно завантажити в головну пам'ять терміналу. Термін «код» позначає код, виконуваний або інтерпретується в microsoft або власним інтерпретатором, або віртуальною машиною низького рівня, реалізованої в процесорі системи безпеки.

Для цього у відповідності з відомими технологіями процесор системи безпеки виконує:

- зазначений код завантаження, який завантажує код головного завантажувача в головну пам'ять і потім запускає виконання головного завантажувача з головної пам'яті, далі< ця операційна система конфігурована для використання тільки однієї скороченою області адрес в головній пам'яті і потім для запуску виконання операційної системи з головної пам'яті,

- операційну систему для планування одночасного виконання декількох програм користувача зазначеним процесором.

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

Операційні системи стають все більш складними. Тому є велика ймовірність порушень та аномалій у роботі цих операційних систем. Ці порушення і аномалії відомі під назвою «серйозні помилки» або «жучки» (bugs). Такі дефекти можуть бути використані для видалення механізмів безпеки, що захищають програмний модуль. Тому при завантаженні програмного модуля засобами операційної системи важко гарантувати, що в його системі безпеки немає дірок. Такі гарантії надати тим важче, оскільки операційні системи, з одного боку, і програмний модуль з іншого боку розробляють різні люди.

Стан справ у цій галузі відомо з наступних документів-заявок на видачу патентів: US 2009/257595 A1, ЕР 1868127 А1, US 2009/193230 A1, US 2007/113088 A1.

Даний винахід спрямовано на усунення щонайменше одного з перерахованих недолі� головну пам'ять, відрізняється тим, що:

- головний завантажувач здійснює завантаження, також в головну пам'ять, коду програмного модуля перед тим, як запустити виконання операційної системи, в діапазон адрес головної пам'яті, що знаходиться поза межами діапазону адрес, що використовується операційною системою, і

- після запуску операційна система переадресує виклик програмного модуля з користувацької програми за адресою головної пам'яті, куди був завантажений код програмного модуля перед запуском виконання операційної системи, з використанням особливої файлової системи операційної системи, яка автоматично асоціює адресу програмного модуля у віртуальному просторі пам'яті користувальницької програми з фізичною адресою програмного модуля в головній пам'яті.

Згідно з описаним вище способом відповідальність за завантаження програмного модуля не передається операційній системі. Це означає, що порушення і аномалії в операційній системі вже не можна використовувати для недопущення завантаження програмного модуля або ж для завантаження модифікованого програмного модуля в головну пам'ять.

Більш того, програмний модуль записують в діапазоні адрес, який не може бути использокоду програмного модуля, не проходячи через зазначену особливу файлову систему. Дійсно, якщо користувальницька програма намагається здійснити читання або запис за межами діапазону адрес, використовуваних файловою системою без використання особливої файлової системи, це просто викличе помилку, перешкоджає такому зчитування або запису. В результаті доступ до коду даного програмного модуля виявляється захищений самою операційною системою. Зокрема, помилки («жучки») в операційній системі вже неможливо експлуатувати для доступу до коду програмного модуля. Таким чином, криптоаналіз коду програмного модуля зроблений більш скрутним.

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

- перед запуском виконання головного завантажувача код завантаження, що виконується процесором, перевіряє автентичність коду головного завантажувача на основі сигнатури цього коду та криптографічного ключа і запускає виконання цього головного завантажувача, тільки якщо код виявився автентичним;

- в процесі виконання головний завантажувач конфігурує співпроцесор безпеки, що входить до складу інтегральної схеми процесора, так що співпроцесор модуля, і криптографічного ключа, а після запуску виконання операційної системи співпроцесор безпеки автоматично і через задані інтервали перевіряє автентичність завантаженого програмного коду модуля і блокує виконання програмного модуля, якщо він виявився неаутентичним, причому співпроцесор використовують для цього своє власне незалежне запам'ятовуючий пристрій і своє власне запам'ятовуючий пристрій з довільною вибіркою з метою виконання, без залучення ресурсів головної пам'яті, такої перевірки автентичності програмного коду модуля, так що ці енергонезалежне запам'ятовуючий пристрій і запам'ятовуючий пристрій з довільною вибіркою доступні виключно для співпроцесора безпеки;

- головний завантажувач конфігурує співпроцесор безпеки, що входить до складу інтегральної схеми процесора, щоб приховати команди, записані в першому діапазоні адрес головної пам'яті, куди був завантажений код програмного модуля, таке приховування полягає в зберіганні в закодованому вигляді, з використанням криптографічного ключа Koc1, команд коду програмного модуля, записаного в цьому діапазоні адрес, а після запуску виконання операційної системи з�з цього першого діапазону адрес, перед виконанням цієї команди процесором, причому співпроцесор використовує для цієї мети своє власне незалежне запам'ятовуючий пристрій і своє власне запам'ятовуючий пристрій з довільною вибіркою, щоб виконати, без залучення ресурсів головної пам'яті, таку розшифровку з використанням ключа Koc1, так що ці енергонезалежне запам'ятовуючий пристрій і запам'ятовуючий пристрій з довільною вибіркою доступні виключно для співпроцесора безпеки;

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

- головний завантажувач конфігурує співпроцесор безпеки, що входить до складу інтегральної схеми процесора, щоб приховати дані, записані у другому діапазоні адрес головної пам'яті, причому приховування полягає в шифруванні цих даних

і потім, під час виконання програмного модуля після запуску операційної системи, програмний модуль записує дані в зазначений другий діапазон адрес, а Ѳ, перед тим як передати цей сегмент даних на шину даних, що з'єднує процесор з головною пам'яттю, і розшифровує кожен сегмент даних, зчитаний процесором з другого діапазону адрес, коли процесор отримує цей сегмент даних з шини даних, перед використанням цього сегмента даних процесором, так що кожен сегмент даних, записаний у другому діапазоні адрес головної пам'яті, є поза інтегральної схеми, що містить процесор, виключно в зашифрованому вигляді, причому зазначений співпроцесор для виконання такого шифрування і розшифровки даних використовує своє власне незалежне запам'ятовуючий пристрій і своє власне запам'ятовуючий пристрій з довільною вибіркою, не залучаючи для цього ресурсів головної пам'яті, ці енергонезалежне запам'ятовуючий пристрій і запам'ятовуючий пристрій з довільною вибіркою доступні виключно для співпроцесора безпеки;

- в процесі виконання головний завантажувач конфігурує співпроцесор безпеки, що входить до складу інтегральної схеми процесора, так що співпроцесор перевіряє автентичність завантаженого коду операційної системи на основі сигнатури, що надається разом з ко�опроцессор безпеки автоматично і через задані інтервали перевіряє автентичність завантаженого коду операційної системи і блокує виконання операційної системи, якщо цей код виявився неаутентичним, розглянутий співпроцесор використовують для цього своє власне незалежне запам'ятовуючий пристрій і своє власне запам'ятовуючий пристрій з довільною вибіркою з метою виконання, без залучення ресурсів головної пам'яті, цієї перевірки автентичності коду операційної системи, так що енергонезалежне запам'ятовуючий пристрій і запам'ятовуючий пристрій з довільною вибіркою доступні виключно для співпроцесора безпеки;

- головний завантажувач здійснює завантаження коду програмного модуля в безперервний діапазон адрес головної пам'яті, не розбитий на сторінки операційною системою;

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

- операційна система після запуску налаштовує механізм віртуальної пам'яті для взаємодії між використовуваної користувачем подсекцией головної пам'яті і одним або декількома пристроями пам'яті великої ємності;

- програмний модуль включає сегменти даних або код бібліотеки умовного доступу, такий у складі ЄСМ (повідомлення управління правами).

Ці варіанти способу завантаження володіють наступними перевагами:

- те, що код завантаження, записаний в фіксованої пам'яті, здійснює аутентифікацію головного завантажувача, робить марними будь-які спроби змінити головний завантажувач;

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

- те, що розшифровка команд коду програмного модуля, записаного в головній пам'яті, відбувається тільки всередині інтегральної схеми процесора, захищає конфіденційність цього коду;

- факт запису, в запам'ятовуючому пристрої великої ємності, програмного модуля безпосередньо в зашифрованому вигляді з ключем, що використовується для приховання цього коду програмного модуля, запобігає здійснення операції розшифровки під час завантаження цього коду програмного модуля з накопичувач великої ємності в головну пам'ять;

- те, що сегменти даних, що генеруються програмним модулем в процесі його виконання, записують до головної пам'яті в діапазоні адрес, приховуване співпроцесором, �нтифицирован кодом завантаження, активізує аутентифікацію коду операційної системи, дуже ускладнює здійснення будь-яких зловмисних модифікацій коду цієї операційної системи, щоб замінити звернення до розглянутого програмного модулю зверненнями до іншої програми;

- завантаження коду програмного модуля в безперервний діапазон адрес сприяє перевірці автентичності цього коду і приховування коду програмного модуля в головній пам'яті.

Метою справжнього винаходу є також спосіб прийому вмісту мультимедіа, скремблированного з використанням керуючого слова CWi,tцей спосіб містить:

- прийом повідомлення ЄСМ (повідомлення управління правами), що містить криптограммуCWi,tкеруючого слова CWi,t;

- завантаження програмного модуля в головну пам'ять приймального терміналу, причому приймальний модуль виконаний з можливістю розшифруватиCWi,tдля отримання керуючого слова, при виконанні цього програмного модуля процесором, з'єднаний�вкі криптограмиCWi,t;

- дескремблювання контентів мультимедіа, скремблированних з використанням керуючого слова CWi,tу відкритій формі;

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

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

Метою справжнього винаходу є також термінал, забезпечений:

- головною пам'яттю,

- процесором системи безпеки, що має вигляд інтегральної схеми, в якій реалізований мікропроцесор, виконаний з можливістю виконувати команди, записані в головній пам'яті, співпроцесор безпеки, енергонезалежне запам'ятовуючий пристрій і запам'ятовуючий пристрій з довільною вибіркою, доступні виключно через співпроцесор безпеки, причому цей процесор з'єднаний з головною пам'яттю за допомогою шини даних,

- кодом багатозадачної операційної системи, виконаної з возмоих користувацьких програм,

- кодом головного завантажувача, виконаного з можливістю при виконанні зазначеним процесором завантажувати в головну пам'ять код багатозадачної операційної системи, а потім запускати виконання цієї операційної системи з головної пам'яті,

- командами код завантаження, який, коли ці команди виконує процесор, здійснює завантаження коду головного завантажувача в головну пам'ять, причому ці команди записані в енергонезалежному запам'ятовуючому пристрої співпроцесора, починаючи з першого адреси, на який вказує порядковий лічильник процесора безпосередньо після кожної початкової установки цього процесора,

- одним або кількома незалежними пристроями пам'яті, що містять код програмного модуля,

при цьому

- головний завантажувач також виконаний з можливістю, коли головний завантажувач виконується процесором, завантажувати код програмного модуля в головну пам'ять до запуску виконання операційної системи, а

- після запуску операційна система, при виконанні операційної системи мікропроцесором, виконана з можливістю переадресовувати виклик програмного модулю від користувальницької програми за адресою в головній пам'яті, куди був завантажений код �такі характеристики:

- термінал містить приймач повідомлень ЄСМ,

- програмний модуль виконаний з можливістю, при виконанні програмного модуля процесором, приймати повідомлення ЄСМ, розшифровувати криптограммуCWi,tдля отримання керуючого слова CWi,t, що міститься у повідомленні ЄСМ, і

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

Інші ознаки і переваги цього винаходу стануть зрозумілі з подальшого опису, наведеного виключно в якості ілюстрації, жодним чином не є вичерпним і складеного з посиланнями на що додаються креслення, на яких:

фіг.1 являє спрощену схему, що ілюструє систему для передачі і прийому 1 скремблированного вмісту мультимедіа;

фіг.2 представляє спрощену схему, що ілюструє блок центрального процесора, виконаний в системі, показаної на фіг.1;

фіг.3 являє логічну схему способу загрузедставляет логічну схему способу прийому скремблированного вмісту мультимедіа; і

фіг.5 являє логічну схему варіанти способу, показаного на фіг.3.

На цих кресленнях однакові позиційні позначення вказують однакові елементи.

В решті частини цього опису характеристики та функції, добре відомі фахівцям в даній області, докладно не обговорюються. Крім того, використовувана тут термінологія являє собою звичайну термінологію, вживану для систем умовного доступу до контентам мультимедіа. За додатковою інформацією щодо цієї термінології читач може звернутися до наступного документа:

«Функціональна модель системи умовного доступу» ("Functional Model of Conditional Access System", EBU Review, Technical European Broadcasting Union, Brussels, BE, n° 266, 21 December 1995).

На фіг.1 представлена система 2 для передачі і прийому скремблированних контентів мультимедіа. Передаються контенти мультимедіа являють собою лінеаризовані контенти мультимедіа. Наприклад, такий контент мультимедіа відповідає послідовності аудіовізуальної програми, як програма телевізійного мовлення чи кінофільм.

Один або кілька джерел 4 генерують відкриті контенти мультимедіа і передають мовному пристрою. Це устропередачи інформації. Передані в такому режимі мовлення контенти мультимедіа синхронізовані у часі один з іншими таким чином, щоб, наприклад, відповідати заздалегідь складеною програмою передач.

Мережа 8 зазвичай являє собою мережу передачі інформації на великі відстані, такий як Інтернет або мережу супутникового зв'язку або яка-небудь інша мережа мовлення, така як мережа, використовується для передачі сигналів цифрового наземного телебачення (digital terrestrial television (DTTV)).

На фіг.1 для простоти показані тільки три прийомних терміналу з 10 по 12.

Пристрій 6 містить блок 16 кодування, який стискає одержувані їм контенти мультимедіа. Цей блок 16 кодування опрацьовує цифрові контенти мультимедіа. Наприклад, такий блок кодування працює у відповідності зі стандартом MPEG2 (група експертів по кінематографії - 2) або стандартом UIT-T Н264.

Стислі контенти мультимедіа направляють на вхід блоку 20 22 скремблювання. Цей блок 22 скремблювання здійснює скремблювання кожного стисненого вмісту мультимедіа, щоб зробити його перегляд зумовленим певними умовами, такими як придбання права доступу користувачами приймальних терміналів. Отримані скремблированние контенѽия здійснює скремблювання кожного стисненого вмісту мультимедіа з застосуванням керуючого слова CWi,t, наданого цього блоку, так само як і 28 системі умовного доступу, генератором 32 ключа. Така система 28 умовного доступу відома також під скороченою назвою CAS. Тут індекс i являє собою ідентифікатор каналу, в якому відбувається мовлення скремблированного вмісту мультимедіа, а індекс t являє собою порядковий номер, що ідентифікує криптопериод, скремблированний з використанням цього керуючого слова.

Зазвичай цей блок скремблювання відповідає стандарту, DVB-CSA (цифрове видеовещание - узагальнений алгоритм скремблювання), ISMA Cryp (Internet streaming media alliance Cryp (Альянс по розробці рішень потокової передачі даних в Інтернет)), SRTP (secure real-time transport protocol (протокол захищеної передачі даних в реальному часі)), AES (передовий стандарт шифрування), ... і т. п.

Для кожного каналу i система 28 генерує повідомлення ЄСМ (повідомлення управління правами), позначені ECMi,tі містять щонайменше одну попередньо обчислену криптограммуCWi,tкеруючого слова CWi,t, сформованого генератором 32 і используемЀемблированние контенти мультимедіа мультиплексируют допомогою мультиплексора 26, одержує зазначені вхідні дані від системи 28 умовного доступу і від блоку 22 скремблювання, і потім передають в мережу 8.

Система 28 вставляє також в кожне повідомлення ЄСМ наступні дані:

- криптограмиCWi,tіCWi,t+1, обчислені системою 28, для керуючих слів CWi,tі CWi,t+1, дозволяють дескремблировать наступні відразу один за іншим криптопериоди t і t+1 в каналі i,

- умови СА доступу для порівняння з правами доступу, придбаними користувачем, і

- криптографічну сигнатуру MAC (код аутентифікації повідомлення) або надмірність, які використовуються для перевірки цілісності повідомлень ЄСМ.

Повідомлення ЄСМ, що містить пару керуючих слів CWi,t/CWi,t+1в решті частині опису позначено як повідомлення ECMi,t.

Тут індекс t ідентифікує також криптопериод CPi,t, який може бути дескремблирован допомогою керуючого слова CWi,t, що міститься у повідомленні ECMi,t. Цей ін�вання і мультиплексування контентів мультимедіа здійснюється у відповідності з протоколом DVB-Simulcrypt (ETSI TS 103197).

У розглянутому прикладі термінали з 10 по 12 ідентичні. Тому тут нижче тільки термінал 10 описано більш докладно.

Термінал 10 тут описаний для конкретного випадку, коли він може одночасно дескремблировать тільки один канал i. Для цієї мети термінал 10 містить:

- блок 60 центрального процесора для дескремблирования каналу i і

- приймач 70 мовних контентів мультимедіа.

Блок 60 дескремблирует сигнал каналу i для подання його на екрані дисплейного пристрою 84.

Таким дисплейним пристроєм 84 може бути, наприклад, телевізор, комп'ютер або знову стаціонарний телефон або стільниковий телефон. Тут в якості дисплейного пристрою використовується телевізор.

На фіг.1 різні функції блоку 60 представлені у вигляді функціональних блоків. Архітектура апаратури блоку 60, використовувана для реалізації цих різних функціональних блоків, описана з посиланнями на фіг.2. Блок містить 60 демультиплексор 70, який передає, з одного боку, мультимедіа контент в блок 74 дескремблирования і, з іншого боку, повідомлення ECMi,tі EMM (повідомлення про санкціонуванні прийому (entitlement management message)) в блок 76 для забезпечення умовного доступу до контенту мультимедіа.

Зазначений �ристанням керуючого слова, переданого блоком 76. Отриманий дескремблированний контент мультимедіа передають у декодер 80, який здійснює декодування вмісту. Розширений або декодований контент мультимедіа передають графічній карті 82, яка управляє поданням цього вмісту мультимедіа на дисплейному пристрої 84, оснащеному екраном 86.

Дисплейне пристрій 84 контент мультимедіа у відкритій формі на екрані 86.

Блок 76 обробляє крім усього іншого конфіденційну інформацію, таку як криптографічні ключі. Для збереження конфіденційності цієї інформації такий блок конструюють таким чином, щоб він був наскільки можливо стійким проти атак, що вживаються комп'ютерними хакерами.

Блок 60 з'єднаний з запам'ятовуючим пристроєм 78 великої ємності, в якому записано, що в незалежній формі, конкретні дані та коди різних програм, які необхідно виконати, щоб розшифрувати криптограмиCWi,t.

На фіг.2 представлена більш докладна схема блоку 60. Тут цей блок містить 60:

- електронний процесор 90 системи бачи даних і адрес, сполучає процесор 90 з запам'ятовуючими пристроями 78, 92, 94 і з приймачем 70.

Зазначений процесор 90 являє собою програмований процесор, здатний виконувати команди, записані в запам'ятовуючому пристрої 78. З цією метою процесор 90 містить головний мікропроцесор 19 і різні співпроцесори, кожен з яких спеціально призначений для вирішення своєї конкретної задачі.

У розглянутому варіанті в якості ілюстрації процесор 90 містить свій спеціальний співпроцесор для кожного з функціональних блоків 72, 74, 80, 82, показаних на фіг.1. На фіг.2 кожен з співпроцесорів має таке ж цифрове позиційне позначення, як і відповідний функціональний блок, показаний на фіг.1. Таким чином, процесор 90 містить:

- співпроцесор 72 для мультиплексування потоків мультимедіа, прийнятих допомогою приймача 70,

- співпроцесор 74 для дескремблирования контентів мультимедіа,

- співпроцесор 80 для декодування контентів мультимедіа і

- співпроцесор 82 для відеодисплея.

Кожен їх цих співпроцесорів здатний виконувати команди паралельно з командами, виконуваних мікропроцесором 99. В результаті такі співпроцесори дозволяють виконувати завдання більш льної схеми, в якій виконані мікропроцесор 99, так само як різні співпроцесори. Ця інтегральна схема змонтована в одному корпусі. Зазвичай мікропроцесор 99 і різні співпроцесори формують в одному і тому ж кремниевом кристалі. Такий співпроцесор відомий також під назвою «система на кристалі» ("system on chip") або SoC.

Розглянутий мікропроцесор 99 має всі елементи класичного мікропроцесора. Зокрема, мікропроцесор 99 містить арифметично-логічний пристрій і різні регістри для виконання команд, записаних у головній пам'яті 92. Один з цих регістрів містить адресу наступної команди, яку потрібно виконати. Цей регістр відомий також як порядковий лічильник.

Процесор 90 класифікований тут в якості процесора системи безпеки, оскільки він містить також співпроцесор 100 безпеки. Приклад співпроцесора безпеки описаний у заявці на видачу патенту США US 20050169468.

Зазначений співпроцесор 100 може бути конфігурований для автономного виконання деякого числа завдань, таких як здійснення криптографічних функцій. Наприклад, розглянутий співпроцесор 100 оснащений для цієї мети наступним:

- своїм власним арифметично-логічним вуст� запам'ятовуючим пристроєм 103 з довільною вибіркою.

Запам'ятовуючі пристрої 102 і 103 доступні виключно для співпроцесора 100. Зокрема, жодна з виконуваних процесором 90 програм, код якої завантажений з зовнішньої пам'яті в процесор 90, не може отримати доступ до вмісту цих запам'ятовуючих пристроїв 102 і 103.

Запам'ятовуючий пристрій 102 містять криптографічні ключі та виконувані коди криптографічних функцій, використовуваних в ході реалізації способу, представленого на фіг.3.

Тут запам'ятовуючий пристрій 102 містить, зокрема, такі криптографічні ключі:

- ключі Koc1і Koc2, що використовуються для приховування інформації у першому діапазоні адрес і другому діапазоні адрес, відповідно, в пам'яті 92,

- ключ KACSдля розшифровки коду модуля ACS,

- відкриті ключі KPubOS, KPubBLі KPubACSасоційовані відповідно з секретними ключами KPrivOS, KPrivBLі KPrivACS, використовуються для перевірки підпису.

Запам'ятовуючий пристрій 102 містить, зокрема, виконувані коди для:

- аутентифікації вмісту головної пам'яті 92 або запам'ятовуючих пристроїв 78 94

- приховування вмісту головної пам'яті 92.

Більш конкретно, запам'ятовуючий пристрій 102 містить исполе сторінки даних, зберігається в пам'яті 92 або запам'ятовуючому пристрої 94. Ця функція, іменована тут динамічної перевіркою цілісності, використовує, зокрема, такі дані в якості вхідних параметрів:

- фізичні адреси початку і кінця діапазону адрес сегментів даних у запам'ятовуючому пристрої і

- адреса, за якою знаходиться сигнатура, що використовується для перевірки автентичності даних, укладених між адресами початку і закінчення діапазону адрес.

Процедура динамічної перевірки цілісності дає в результаті «істина» ("true"), якщо контент в діапазоні даних між початковим і кінцевим адресами ефективно відповідає зазначеній сигнатурі. Якщо не відповідає, ця функція дає в результаті «брехня» ("false").

Після параметризації співпроцесор 100 активізує виконання такої динамічної перевірки цілісності через регулярні проміжки часу. Коли ця функція конфігурована і активізована, кажуть, що діапазон даних, позначений початковим і кінцевим адресами в пам'яті, був підданий динамічної перевірці цілісності.

Запам'ятовуючий пристрій 102 містить виконуваний код функції приховування даних, що містяться в безперервному діапазоні адрес в головній пам'яті 9�са діапазону. Коли ця функція активована, то кожен раз, коли процесор 90 записує сегмент даних в цей діапазон адрес, співпроцесор 100 виконує цю функцію приховування даних, щоб зашифрувати аналізований сегмент даних перед тим, як передати його в шину 96. Потім цей сегмент даних записують в зашифрованому вигляді в пам'ять 92. Таким чином, поза процесора 90 циркулюють тільки зашифровані дані. Аналогічно, коли процесор 90 зчитує сегмент даних з зазначеного діапазону адрес, співпроцесор 100 розшифровує зашифровані дані, прийняті по шині 96 перш, ніж вони будуть передані для обробки, наприклад, мікропроцесор 99 або в один з співпроцесорів 72, 74, 80 або 82.

В результаті діапазон даних, прихований за допомогою співпроцесора 100, виявляється повністю прозорий для мікропроцесора 99 і для будь-якого іншого з співпроцесорів у складі процесора 90. Дійсно, мікропроцесор 99, як і інші співпроцесори, повністю звільнений від цих операцій шифрування і розшифрування даних, записуваних або прочитуваних з пам'яті 92. Приховування даних, що містяться у головній пам'яті, робить можливим збереження конфіденційності даних, навіть якщо яке-небудь шпигунське програмне забезпечення�вона даних, цей діапазон або сектор пам'яті називається прихованим.

Коди і дані, записані в запам'ятовуючому пристрої 102, захищені, оскільки вони записані в постійному запам'ятовуючому пристрої, а це запам'ятовуючий пристрій є енергонезалежним. Більш того, вміст запам'ятовуючого пристрою 102 немає необхідності копіювати в головну пам'ять 92, щоб можна було виконати ці алгоритми шифрування і розшифровки. Дійсно, співпроцесор 100 сам містить всі компоненти, необхідні для того, щоб виконувати виконувані коди, записані в запам'ятовуючому пристрої 102, не вимагаючи для цього обов'язково копіювати ці коди в яке-небудь інше зовнішнє запам'ятовуючий пристрій, таке як, наприклад, головна пам'ять 92.

Запам'ятовуючий пристрій 94 являє собою незалежне запам'ятовуючий пристрій. Наприклад, це флеш-пам'ять. Це запам'ятовуючий пристрій 94 містить код 104 головного завантажувача, так само як сигнатуру 106 цього головного завантажувача, отриману з використанням секретного ключа KPrivBL. Цей головний завантажувач 104 описано більш докладно з посиланнями на фіг.3.

Головна пам'ять 92 зазвичай являє собою ЗУПВ (RAM (запам'ятовуючий пристрій з довільною вибіркою)). Ця пам'ять 92 зазвичай фіг.2 показано конкретне розбиття пам'яті 92. Більш конкретно, пам'ять 92 розбита на:

- секцію 110, зарезервовану для операційної системи,

- секцію 112, зарезервовану для запису в ній коду модуля ACS, який описано більш докладно нижче з посиланнями на фіг.3 і 4.

- секцію 114, зарезервовану для збереження даних, що генерується модулем ACS в процесі його виконання, і

- в ряді конкретних випадків одну чи кілька додаткових секцій 116, використовуваних для інших програм, таких як операції обробки відеоданих.

Секція 110 сама по собі розбита на дві підсекції 118 і 120. Підсекція 118 містить код ядра. Підсекція 120 використовується операційною системою для задоволення різних вимог до пам'яті і, зокрема, вимог користувацьких програм до пам'яті.

Запам'ятовуючий пристрій 78 являє собою запам'ятовувальний пристрій великої ємності, таке як накопичувач на жорсткому диску або інший аналогічний пристрій. Це енергонезалежне запам'ятовуючий пристрій, з якого неможливо прямо виконувати виконуваний код програми.

Тут це запам'ятовуючий пристрій 78 містить:

- код 126 модуля ACS,

- код 128 операційної системи,

- сигнатуру 130 коду 126 модуля ACS, отриману із застосуванням секретного клѼинающем пристрої 78 код 126 записаний в зашифрованою з використанням ключа KACSформі.

В якості операційної системи тут використана система Linux® версії 2.6.23, що об'єднує різні функції, які будуть далі описані. Ці функції не вимагають модифікації всіх існуючих джерел ядра Linux. Вони можуть бути додані до ядра за допомогою повторної компіляції або у вигляді модулів ядра Linux.

Операційна система Linux управляє механізмом віртуальної пам'яті. Такі механізми добре відомі, тому тут будуть надані лише деякі пояснення. Зазвичай цей механізм віртуальної пам'яті представляє собою в розглянутому випадку механізм розділення головної пам'яті на 92 сторінки. Дійсно, адреси даних користувача програми кодують у вигляді N біт, так що віртуальне адресний простір програми простягається від 0 до 2N, де N - ціле число. У загальному випадку N-ціле число не менше 16 або 32. Таким чином, число адрес у віртуальному адресному просторі набагато більше числа фізичних адрес, доступних у головній пам'яті 92. Для подолання цього недоліку операційна система завантажує з запам'ятовуючого пристрою 78 в головну пам'ять 92 тільки ті сторінки, на яких знаходяться сегменти даних або команди, необхідні для викон�рамму, залишаються в запам'ятовуючому пристрої 78. Більш конкретно, у системі Linux сторінки програм завантажують виключно у підсекцію 120. Програми, що виконуються з користувацької підсекції, тут називаються програмами.

Механізм розбиття на сторінки, таким чином, відповідає за:

- автоматичне завантаження сторінок, необхідних для виконання користувацької програми, в головну пам'ять, і

- перетворення віртуальних адрес, представлених у віртуальному адресному просторі користувача програми, у фізичні адреси в пам'яті 92, де знаходяться необхідні дані.

Коли програмі потрібна яка-небудь сторінка, механізм розбиття на сторінки призначає недетерминистским чином вільну фізичну сторінку і копіює дані з сторінки, що зберігається в запам'ятовуючому пристрої 78, на призначену сторінку пам'яті.

Таким чином, коли виконання користувацької програми відбувається операційної системи, важко передбачити наперед, де саме будуть розташовані в головній пам'яті різні сегменти, що утворюють таку програму. Тому дуже важко використовувати співпроцесор 100 для приховування тільки цих сегментів, приховування цих сегр>

В якості ілюстрації, в системі Linux віртуальний адресний простір користувацького програми розбито на п'ять сегментів:

- «текстовий» сегмент, що містить виконуваний код програми. Цей сегмент доступний тільки при виконанні або при зчитуванні;

- сегмент даних», що містить инициализированние дані програми. Цей сегмент доступний при читанні і запису;

- сегмент "bss", що містить неініціалізовані дані програми;

- має змінний розмір сегмент динамічної пам'яті ("heap"), використовуваний для призначення пам'яті програмою, яку потрібно виконати;

- «стековий» сегмент ("stack"), що використовується для запису локальних змінних програми в стеку.

Операційна система містить планувальник, здатний автоматично планувати виконання різних програм користувача в часі. Наприклад, у терміналі 10 планувальник розподіляє час використання мікропроцесора 99 між різними програмами, щоб імітувати одночасне виконання цих програм користувача.

Нарешті, подібно будь-якій операційній системі розглянута операційна система має одну або кілька файлових систем або систеругой боку, в пристрої для зберігання інформації, такому як запам'ятовуючий пристрій 78. Операційна система, така як система Linux, також робить можливим визначення файлової системи, яке необов'язково асоційоване з яким-небудь фізичним пристроєм для зберігання даних.

Така можливість використовується для визначення конкретної файлової системи, що зветься тут «файлова система VMAPPER», в доповнення до традиційних файлових систем, що застосовуються для доступу до вмісту накопичувача 78. Код файлової системи VMAPPER інтегрований код 128 операційної системи. В результаті завантаження файлової системи відбувається одночасно із завантаженням операційної системи в секцію пам'яті 92.

Ця файлова система VMAPPER ставить у відповідність наступне:

- шлях доступу до файлу і ім'я файлу «LibACS» в секції 112 пам'яті і

- адреса файлу і ім'я файлу «DataACS» в секції 114 пам'яті.

Ця файлова система VMAPPER управляє відкриттям і закриттям цих двох файлів LibACS і DataACS, а також записом даних у ці файли і зчитуванням з цих файлів. Більш того, файлова система VMAPPER може також керувати правами доступу до цих файлів. Приклад варіанту цієї файлової системи описано більш докладно з посиланнями на фіг.3.<ня даних, генеруються в процесі виконання модуля. З цією метою в коді 126 модуля ACS функції запису та управління пам'яттю перевантажені або записані заново. В якості ілюстрації, якщо модуль ACS написаний на мові С, функції malloc" і "free" замінено відповідно власними функціями VA-OS-alloc() та VA-OS-free(). Ці дві останні функції можуть зробити можливим виділення зони пам'яті у файл DataACS для запису в ній сегментів даних і потім видачі цих сегментів. Ці функції VA-OS-alloc() та VA-OS-free(), таким чином, роблять можливим використання секції 114 пам'яті 92 для управління сегментом динамічної пам'яті для модуля ACS. Таким чином, сегмент динамічної пам'яті модуля ACS фізично локалізована в секції 114.

Завантаження коду 126 модуля ACS в пам'ять 92 тепер буде описана з посиланнями на фіг.3.

Спочатку на етапі 150 включають харчування або здійснюють початкову установку (скидання) терміналу 10.

У відповідь на етапі 152 відбувається ініціалізація порядкового лічильника в сопроцессоре 100. Будучи ініціалізований, цей лічильник вказує на перший рядок команди завантаження коду, записаного в запам'ятовуючому пристрої 102 цього співпроцесора. Таким чином, ця перша рядок відповідає початковому значенню за замовчуванням у порядковому лічильнику.

Виконання коду завантаження співпроцесором 100 веде до здійснення наступних етапів.

На етапі 156 співпроцесор 100 завантажує код 104 головного завантажувача і сигнатуру 106 в пам'ять 92.

Потім на етапі 158 він перевіряє автентичність коду 104, завантаженого в пам'ять 92. З цією метою на етапі 158 код завантаження має заданий формат, що дає сопроцессору 100 початковий і кінцевий адреси діапазону адрес, який був записаний код 104 в пам'яті 92, а також адреса сигнатури 106.

Перевірка автентичності діапазону даних здійснюється, наприклад, наступним чином. Насамперед, співпроцесор застосовує задану функцію хешування до даних, що містяться в розглянутому діапазоні адрес, для отримання першого образу цих даних. Потім співпроцесор 100 з використанням відкритого ключа розшифровує розглядається сигнатуру для отримання другого способу. Далі, співпроцесор порівнює перший і другий образи. Якщо ідентичні образи, вміст діапазону даних вважається аутентифікованим. Якщо немає, зміст цього�ет ключ KPubBL.

Якщо вміст діапазону даних не було точно аутентифицировано, здійснюють початкову установку (скидання) терміналу 10 і спосіб повертається до етапу 150.

Потім на етапі 162, якщо код 104 був правильно аутентифікований, співпроцесор 100 ініціалізує мікропроцесор 99, щоб останній виконав програму головного завантажувача, який тільки що був аутентифікований в головній пам'яті. З цією метою, наприклад, він поміщає порядковий лічильник мікропроцесора 99 на адресу фізичної пам'яті, де знаходиться перша команда головного завантажувача, і звільняє вхід сигналу початкової установки (скидання мікропроцесора 99.

З цього моменту починається виконання етапу 166, на якому відбувається виконання коду головного завантажувача мікропроцесором 99.

Спочатку на етапі 168, головний завантажувач конфігурує співпроцесор 100 для приховування даних в секціях 112 і 114 пам'яті 92. В цьому конкретному випадку алгоритм шифрування, вибраний для приховування даних в секції 112, є більш надійним і стійким порівняно з алгоритмом, обраним для приховування даних в секції 114. Однак найбільш стійкий і надійний алгоритм має також більша кількість команд, які необхідно виконати, щоб зашифроватѼентами шифрування, використовуються для приховування даних в секціях 112 і 114, є відповідно ключі Koc1і Koc2.

Потім на етапі 170 головний завантажувач здійснює завантаження коду 126 модуля ACS в пам'ять 92.

На етапі 172 головний завантажувач розшифровує код 126, завантажений в пам'ять 92, з використанням ключа KACSі копіює розшифрований таким чином виконуваний код у секцію 112. Зазвичай операції розшифровки із застосуванням ключа KACSвиконує співпроцесор 100.

Оскільки дані в секції 112 повинні бути приховані, співпроцесор 100 з використанням ключа Koc1зашифровує кожну команду, розшифровану із застосуванням ключа KACSі потім копіює цю команду в секцію 112. Таким чином, в кінці етапу 172 виконуваний код модуля ACS виявляється записаний в секції 112 в зашифрованому з використанням ключа Koc1вигляді.

На етапі 176 головний завантажувач конфігурує співпроцесор 100, щоб піддати дані в секції 112 динамічної перевірці цілісності. З цією метою в співпроцесор 100 направляють початковий і кінцевий адреси секції 112, а також адреса сигнатури 130.

На етапі 178 конфигурированний таким чином співпроцесор 100 перевіряє автентичність коду модуля ACS, що міститься в секції 112. В ході до� застосовує задану функцію хешування для отримання першого способу коду 126, нарешті,

- порівнює цей перший спосіб коду модуля ACS з другим чином, отриманим за допомогою розшифровки сигнатури 130 з використанням відкритого ключа KPubACS.

Якщо код модуля ACS в секції 112 виявився неаутентичен, спосіб повертається до етапу 150. В іншому випадку виконання способу триває. Слід зазначити, що виконання етапу 178 автоматично повторюється через регулярні інтервали співпроцесором 100. Це забезпечує автентичність коду модуля ACS протягом усього часу, поки цей код залишається завантажений в пам'ять 92.

На етапі 180 головний завантажувач здійснює завантаження коду 128 операційної системи в секцію 118. Ця секція 118 відмінна від секцій 112 та 114.

На етапі 182 головний завантажувач конфігурує співпроцесор 100, щоб піддати дані в секції 118 динамічної перевірці цілісності. З цією метою в співпроцесор 100 направляють початковий і кінцевий адреси цієї секції, а також адреса сигнатури 132.

На етапі 184 співпроцесор 100 перевіряє автентичність коду 128, завантаженого в секцію 118, з використанням сигнатури 132 і відкритого ключа KPubOS, зберігаються в запам'ятовуючому пристрої 102. Оскільки файлова система VMAPPER входить до складу зазначеного коду 128, цей етап перевірки аутен�но повторює таку перевірку через задані інтервали, щоб бути впевненим у цілісності коду 128 протягом усього часу, поки цей код залишається завантажений в секцію 118.

Якщо код 128, завантажений в секцію 118, виявився неаутентичен, відбувається початкова установка (скидання) терміналу і спосіб повертається до етапу 150.

В іншому випадку спосіб переходить до етапу 186. На етапі 186 головний завантажувач запускає виконання операційної системи, передаючи інформацію про розміри і місцезнаходження секцій 112, 114 та 120 в якості параметрів в головну пам'ять. Таким чином, операційна система визначає користувальницьке простір в секції 120, а також поза секцій 112, 114 і 116. Після цього головний завантажувач вже більше не використовується, поки не відбудеться початкова установка (скидання) терміналу, тобто до тих пір, поки не відбулося повернення до етапу 150. Таким чином, для звільнення простору у пам'яті 92 переважно перуть код головного завантажувача або роблять простір, зайняте кодом головного завантажувача, доступними в режимі запису, так що інші програми можуть записати інформацію в цьому просторі і тим самим стерти весь або частину коду головного завантажувача.

Потім починається новий етап 190, на якому відбувається виконання операційної системи.

На ого випадку операційної системи Linux 2, версія 2.6.23. Опис дано з посиланнями на функції і примітиви, відомі в цій операційній системі. Ці примітиви і функції виділені нижче жирним шрифтом, а докладний опис їх наведено не буде. У розглянутому прикладі, функції, виконувані файловою системою VMAPPER, компилировани в ядрі. Тому етап 192 активізується за допомогою ініціалізації ядра.

Етап 192 починається з запису файлової системи, визначеної у файловій системі VMAPPER. Цю файлову систему записують в операційній системі Linux шляхом звернення до функції register_filesystem().

Компоненту get_sb структури file_system_type, яке передане в якості параметра функції register_filesystem() присвоюють значення get_sb_single. Ця характеристична функція системи Linux використовується для декларування, що файлова система може бути задано лише один раз. Тим самим забезпечується існування тільки однієї реалізації цієї файлової системи у складі операційної системи.

Потім задають файлову систему. З цією метою функцію, визначену в коді файлової системи VMAPPER під назвою V_fill_super(), передають якості параметра get_sb_single і потім викликають.

Функція V_fill_super() заповнює структуру типу super_block, присвоює елементу s_flags цієї структури значення�системи підтримувала її в режимі тільки для читання.

Функція V_fill_super() створює новий індексний дескриптор mode з використанням функції new_inode. Цей дескриптор inode являє кореневої директорій.

Функція V_fill_super() створює новий код з використанням функції new_inode. Цей дескриптор inode відповідає секції 112 і, тим самим, модулю ACS. Тут він несе ім'я "LibACS" файлу. В цьому файлі подані тільки права читання. Більш того, тільки чотири операції авторизовані для виконання у файлі LibACS: відкриття, читання, застосування функції ММАР і застосування функції "release" (звільнити).

Під час використання файлу необхідно прочитати деякі байти файлу LibACS, що містить модуль ACS. З цією метою функція "read" дозволяє читати файл LibACS з операційної системи Linux. Під час цієї операції зчитування секцію 112 приводять у відповідність з діапазоном адрес секції операційної системи за допомогою функції ioremap. Вміст перших байтів секції 112 копіюють допомогою функції memcpy_fromio. Потім усувають раніше встановлену відповідність адрес за допомогою виклику функції iounmap. Це дає можливість отримати перші байти файлу LibACS з метою отримання інформації, необхідної для завантаження модуля ACS.

Нарешті завантажують код модуля ACS. Завантажити модуль ACS зазвичай пропонують, ко етапі 194 завантажують власну програму допомогою завантажувача програм. Цей завантажувач програм декларує, що бібліотека LibACS повинна бути присутнім у віртуальному просторі програми, шляхом виклику функції mmap. Цей виклик здійснюється у файловій системі VMAPPER допомогою функції remap_pfn_range. Таким чином, файлова система VMAPPER асоціює віртуальний діапазон адрес, зарезервований завантажувачем програм для бібліотеки LibACS, з діапазоном фізичних адрес в секції 112, куди скопійований модуль ACS. Таким чином, кожен раз, коли користувальницька програма викликає модуль ACS module, цей модуль виявляється позначений як такий, що перебуває у головної пам'яті. Такий підхід тому не припускає яких-небудь дефектів сторінок і, тим самим, будь-яких спроб з боку операційної системи перезавантажити код 126 сторінку секції 120. Таким чином, хоча код 126 був завантажений в головну пам'ять до виконання операційної системи, призначені для користувача програми можуть запускати виконання цього модуля ACS, як якщо б він був завантажений самою операційною системою. З цією метою користувальницькі програми викликають файл LibACS.

Більше того, тут модуль ACS піддається динамічної перевірки цілісності, а його код прихований. Тому безпека терміналу 10 виявляється посилена. Нарешті, тдет завантажений навіть при наявності прогалин у системі безпеки операційної системи і що механізми захисту коду 126 налаштовані правильно.

Функція V_fill_super() створює новий дескриптор mode з використанням функції new_inode, що відповідає сегменту динамічної пам'яті. Цей дескриптор inode несе ім'я файлу "DataACS" і відповідає секції 114. У цьому дескрипторі авторизовані тільки три операції, а саме відкриття, закриття та застосування функції ММАР.

При виконанні модуля ACS сегменти конфіденційних даних, що генеруються модулем ACS, записують у динамічну пам'ять і зчитують з неї допомогою функцій VA-OS-alloc() та VA-OS-free(). Ці функції VA-OS-Alloc() та VA-OS-free() дозволяють призначати і звільняти блок пам'яті у файл DataACS. Таким чином, сегменти конфіденційних даних, що генеруються модулем ACS, записують в секції 114 і, тим самим, захищають, оскільки співпроцесор 100 автоматично приховує ці дані.

На фіг.4 дано більш докладний опис приклад роботи модуля ACS, що виконується процесором 90.

На етапі 200 модуль ACS приймає повідомлення ECMi,t. На етапі 202 він порівнює права доступу, що містяться в цьому повідомленні ЄСМ, з попередньо записаними правами доступу, що містяться, наприклад, в коді 126 цього модуля. Якщо права доступу в повідомленні не відповідають прав доступу у складі модуля, спосіб повертається до етапу 200 для прийому але�ограммуCWi,t, що міститься в прийнятому повідомленні ECMi,t. На етапі 206 модуль ACS розшифровує цю криптограммуCWi,tдля отримання керуючого слова CWi,tу відкритому вигляді. З цією метою модуль ACS використовує, наприклад, ключ, записаний в процесорі 90. На етапі 208 це керуюче слово CWi,tу відкритому вигляді передають сопроцессору 74.

Далі, цей сопроцесор 74 використовує отримане керуюче слово у відкритому вигляді для дескремблирования розглянутого скремблированного мультимедіа контенту. Це дозволяє представити зазначений скремблированний контент мультимедіа у відкритому вигляді на екрані 86.

На фіг.5 представлений альтернативний варіант способу, показаного на фіг.3. Для реалізації способу, зображеного на фіг.5, застосовується термінал 10, ідентичний терміналу, описаного з посиланнями на фіг.1 і 2, за винятком того, що операційна система містить модифіковану файлову систему VMAPPER, а також новий завантажувач VBinLoader програм. Ці дві функції интегагрузкой операційної системи в секцію 118.

Функція VBinLoader являє собою завантажувач програм, призначений для завантаження програми, що викликає модуль ACS, коли потрібно його виконати. Завантажувач програм призначений для запису даних у головну пам'ять в правильний сегмент цієї пам'яті. Такий завантажувач програм здатний зрозуміти місцезнаходження у файлі програми інформації, яка вказує, де розташовано виконуваний код, дані і інші елементи. Він також здатний копіювати програму в головну пам'ять і ініціалізувати регістри і запустити виконання цієї програми.

Тут завантажувач VBinLoader програм не копіює модуль ACS в головну пам'ять, але:

- асоціює віртуальний адресу виконуваного коду (сегмент «текст») в областях віртуальної пам'яті для користувача програми, яка викликає модуль ACS з адресою в секції 112, за яким знаходиться виконуваний код модуля ACS,

- асоціює адреса сегмента "bss" в просторі віртуальної пам'яті для користувача програми з діапазоном фізичних адрес в секції 114

- асоціює адресу стека в просторі віртуальної пам'яті для користувача програми з діапазоном фізичних адрес в секції 114.

Таким чином, при виконанні модуля ACS всі сегмен�і 114 і внаслідок цього приховані.

Файлова система VMAPPER є спрощеною, щоб поставити у відповідності ім'я файлу LibACS тільки з секцією 112. У цьому варіанті немає необхідності ставити ім'я файлу DataACS у відповідність з секцією 114 пам'яті.

Крім того, код 126 модифікують, щоб ініціалізувати конфіденційні змінні в режимі тільки читання. Наприклад, їх оголошують в коді константами допомогою команди "const".

Код 126 також модифіковано, що б призначити змінні великого розміру, іменовані тут VTas, в сегмент "bss". Більш того, всі функції призначення і звільнення пам'яті в області динамічної пам'яті, такі як функції malloc, free та інші, що використовуються у коді модуля ACS, замінені функціями, що здійснюють розподіл пам'яті в області пам'яті, зарезервованої для змінних VTas. Таким чином, навіть сегменти даних, які записуються в області динамічної пам'яті модулем ACS, виявляються захищені, оскільки їх записують в область змінних VTas в секції 114. Такі модифікації використовують, щоб захистити динамічну пам'ять без необхідності модифікувати операційну систему з метою управління динамічною пам'яттю відмінно від того, як це робиться зазвичай.

Спосіб, представлений на фіг.5, ідентичний способу, показерационная система ініціалізує і модифіковану файлову систему VMAPPER, і завантажувач VBinLoader програм.

На етапі 222, коли користувальницька програма викликала виконання модуля ACS, завантажувач VBinLoader програм асоціює діапазон віртуальних адрес, зарезервовані для сегменту "bss" і для стека в просторі віртуальної пам'яті для користувача програми, з діапазонами адрес в секції 114. Таким чином, в ході виконання модуля ACS сегменти даних, які генеруються цим модулем, записують в секції 114, внаслідок чого вони виявляються автоматично приховані співпроцесором 100. В результаті забезпечується збереження конфіденційності цих даних.

Завантажувач VBinLoader програм асоціює також адреси модуля ACS в просторі віртуальних адрес користувача програми з адресами в секції 112.

Можливо безліч інших варіантів. Наприклад, в одному з варіантів код 126 записують в енергонезалежне запам'ятовуючий пристрій у зашифрованому з використанням ключа Koc1вигляді. В результаті головний завантажувач може безпосередньо копіювати зашифрований таким способом код в секцію 112. Тим самим, можна виключити етапи розшифровки коду 126 із застосуванням ключа KACSперед записом цього коду у розглянуту секцію 112. Дійсно, оскільки код 126 нЂройстве 78.

Операційну систему можна зберігати в зашифрованому вигляді і потім розшифровувати із застосуванням головного завантажувача.

Операційна система може містити в складі свого коду дані про розміри і місцезнаходження секцій 112 та 114. Таким чином, немає необхідності передавати ці сегменти інформації як параметрів при запуску операційної системи.

Запам'ятовуючий пристрій 102 може бути замінено кількома незалежними пристроями пам'яті, розподіленими в межах інтегральної схеми, що утворює процесор 90.

Аналогічно, співпроцесор 100 може бути реалізований у формі асоціації кількох співпроцесорів, розподілених у межах інтегральної схеми, що утворює процесор 90. Наприклад, співпроцесор 100 може включати один подсопроцессор, щоб приховувати дані головної пам'яті, і інший подсопроцессор, щоб налаштовувати динамічну перевірку цілісності даних. Кожен з цих подсопроцессоров може утримувати своє власне арифметично-логічний пристрій, щоб виконувати команди паралельно з командами, виконуваними головним мікропроцесором 99.

В іншому варіанті всі функції або принаймні частина функцій співпроцесора 100 виконують сварок 99 виконує функції динамічної перевірки цілісності та/або приховування даних. З цією метою код відповідної функції завантажують в пам'ять 92. Якщо код завантажують в пам'ять 92, необхідно перевірити автентичність коду. Перевірку автентичності коду здійснюють:

- за допомогою коду завантаження або

- за допомогою функцій, які самі аутентифицируются кодом завантаження.

Дійсно, якщо код завантаження недоступний ззовні інтегральної схеми і якщо його виконання відбувається виключно всередині процесора 90 без використання зовнішніх запам'ятовуючих пристроїв, це дозволяє домогтися високого рівня безпеки.

Секції 112 і 114 необов'язково повинні розташовуватися в головній пам'яті впритул одна до іншої. Аналогічно, секції 112, 114, 118, 120 і 116 необов'язково повинні знаходитися впритул одна до іншої. Ці секції можуть також розташовуватися в пам'яті 92 порядку, відмінному від порядку, показаного на фіг.2.

Якщо співпроцесор 100 замінити співпроцесором безпеки, здатним приховувати дискретний діапазон адрес або піддавати його динамічної перевірки цілісності, тоді немає необхідності, щоб кожна з секцій 112 і 114 відповідала якого-небудь безперервного діапазону фізичних адрес у головної пам'яті.

Відкриті ключі, які використовуються для перевірки підпису, можуть �е ключі можуть бути записані у запам'ятовуючому пристрої 78. В останньому випадку відкриті ключі повинні бути переважно захищені секретним ключем, відповідний якому відкритий ключ записаний у запам'ятовуючому пристрої 102.

В іншому варіанті замість використання відкритих ключів для перевірки сигнатур застосовують секретні криптографічні ключі. Наприклад, надмірність коду шифрують з використанням симетричного криптографічного алгоритму і секретного ключа.

Код 104 також може бути записаний у запам'ятовуючому пристрої 78, а не в запам'ятовуючому пристрої 94. Навпаки, код 126 може бути записаний у запам'ятовуючому пристрої 94 замість запам'ятовуючого пристрою 78. Ці коди 104 і 126 також можуть бути при необхідності записані в запам'ятовуючому пристрої 102. Код 104 або 126 також може бути виконаний прямо з пристрою 94.

Згідно способу, представленому на фіг.5, немає необхідності перезавантажувати або перезаписувати код модуля ACS, щоб використовувати область динамічної пам'яті, розташовану в секції 114. Дійсно, в якості варіанту, код модуля ACS записаний таким чином, щоб запис конфіденційних даних, що генерується модулем ACS під час його виконання, відбувалася виключно або в стек, або в сегмент "bss".

Те, що було , �ля якого вимагається, щоб:

- бути впевненим, що модуль правильно завантажений в головну пам'ять,

- бути впевненим в автентичності модуля,

- бути впевненим, що процесор реально виконує автентичний код, а не копію цього коду та/або

- зберігати конфіденційність коду модуля.

Таким чином, пропонований спосіб завантаження програмного модуля може бути також застосований в інших областях техніки, таких як область управління цифровими правами (digital rights management (DRM) або антивірусні програми.

Нарешті, перевірка цілісності програмного модуля може бути реалізована незалежно від приховування коду або даних цього програмного модуля.

1. Спосіб завантаження коду щонайменше одного програмного модуля в головну пам'ять допомогою процесора системи безпеки, що характеризується тим, що виконують за допомогою процесора системи безпеки:
код завантаження, який здійснює завантаження (156) коду головного завантажувача в головну пам'ять і потім запускає (162) виконання цього головного завантажувача з головної пам'яті, причому код завантаження записаний в енергонезалежному постійному запам'ятовуючому пристрої процесора, починаючи з першого адреси, на який вказує порядковий рахунок�коду багатозадачної операційної системи, виконаної з можливістю використання тільки одного зменшеного діапазону адрес в головній пам'яті, і для подальшого запуску виконання операційної системи з головної пам'яті,
операційну систему для планування одночасного виконання декількох програм користувача зазначеним процесором,
при цьому
головний завантажувач також здійснює завантаження (170) в головну пам'ять коду зазначеного програмного модуля перед запуском виконання операційної системи в діапазон адрес головної пам'яті, що знаходиться поза межами діапазону адрес головної пам'яті, що використовується операційною системою, а
після запуску операційна система переадресує (194) звернення до цього програмного модулю з користувацької програми за адресою в головній пам'яті, до якої був завантажений код програмного модуля перед запуском виконання операційної системи, з використанням особливої файлової системи операційної системи, яка автоматично асоціює адресу програмного модуля в просторі віртуальної пам'яті для користувача програми з фізичною адресою програмного модуля в головній пам'яті.

2. Спосіб за п. 1, в якому перед запуском виконання головного завантажувача код завантаження�иптографического ключа і запускає виконання головного завантажувача тільки у випадку автентичності коду.

3. Спосіб за п. 2, в якому:
в процесі виконання головний завантажувач конфігурує (176) співпроцесор безпеки, наявний у складі інтегральної схеми процесора, причому співпроцесор перевіряє автентичність коду програмного модуля на основі сигнатури, що надається разом з кодом зазначеного модуля, і криптографічного ключа,
після запуску виконання операційної системи співпроцесор безпеки автоматично перевіряє (178) через задані інтервали автентичність завантаженого програмного коду модуля, так що виконання програмного модуля не допускається у разі його автентичність, при цьому зазначений співпроцесор використовує для цієї мети власне незалежне запам'ятовуючий пристрій і власне запам'ятовуючий пристрій з довільною вибіркою для виконання без звернення до головної пам'яті перевірки автентичності програмного коду модуля, причому зазначені енергонезалежне запам'ятовуючий пристрій і запам'ятовуючий пристрій з довільною вибіркою доступні виключно для співпроцесора безпеки.

4. Спосіб за п. 2, в якому:
головний завантажувач конфігурує (168) співпроцесор безпеки, наявний в інтегральній схемі, складовою процес�про модуля, причому зазначене приховування полягає в збереженні в закодованому вигляді, з використанням криптографічного ключа Koc1, команд коду програмного модуля, записаного в зазначеному діапазоні адрес, і
після запуску виконання операційної системи зазначений співпроцесор безпеки автоматично розшифровує з використанням ключа Koc1кожну команду, зчитану з зазначеного першого діапазону адрес, перед виконанням команди процесором, причому зазначений співпроцесор використовує для цієї мети власне незалежне запам'ятовуючий пристрій і власне запам'ятовуючий пристрій з довільною вибіркою для виконання без звернення до головної пам'яті зазначеної розшифровки з використанням ключа Koc1, причому зазначене енергонезалежне запам'ятовуючий пристрій і зазначене запам'ятовуючий пристрій з довільною вибіркою доступні виключно для зазначеного співпроцесора безпеки.

5. Спосіб за п. 4, в якому записують виконуваний код програмного модуля в зашифрованому з використанням ключа Koc1вигляді в енергонезалежне запам'ятовуючий пристрій, а головний завантажувач здійснює завантаження зазначеного коду програмного модуля, зашифрованй завантажувач конфігурує (168) співпроцесор безпеки, наявний в інтегральній схемі процесора, для приховання даних, записаних у другому діапазоні адрес головної пам'яті, причому зазначене приховування полягає в шифруванні зазначених даних, а потім
у процесі виконання (194), після запуску операційної системи, програмний модуль записує дані у другий діапазон адрес та
у відповідь на це співпроцесор безпеки шифрує кожен сегмент даних, що підлягає запису у другій діапазон адрес, перед передачею зазначеного сегмента даних на шину даних, що з'єднує процесор з головною пам'яттю, і розшифровує кожен сегмент даних, зчитаний процесором з другого діапазону адрес, при отриманні зазначеного сегмента даних процесором з шини даних перед використанням зазначеного сегмента даних процесором, так що кожен сегмент даних, записаний у другому діапазоні адрес головної пам'яті, знаходиться поза інтегральної схеми, складовою процесор, виключно в зашифрованому вигляді, при цьому зазначений співпроцесор використовує для цієї мети власне незалежне запам'ятовуючий пристрій і власне запам'ятовуючий пристрій з довільною вибіркою для виконання без звернення до головної пам'яті зазначеного шифровинающее пристрій з довільною вибіркою доступні виключно для зазначеного співпроцесора безпеки.

7. Спосіб за п. 2, в якому:
в процесі виконання головний завантажувач конфігурує (182) співпроцесор безпеки, наявний в інтегральній схемі процесора, з тим щоб співпроцесор перевірив автентичність завантаженого коду операційної системи на основі сигнатури, наданої разом з кодом цієї операційної системи, і криптографічного ключа,
при цьому після запуску виконання операційної системи співпроцесор безпеки автоматично і через задані проміжки часу перевіряє автентичність коду операційної системи і не допускає виконання операційної системи у випадку автентичність коду, причому співпроцесор використовує для цієї мети власне незалежне запам'ятовуючий пристрій і власне запам'ятовуючий пристрій з довільною вибіркою для виконання без звернення до головної пам'яті зазначеної перевірки автентичності коду операційної системи, при цьому зазначене енергонезалежне запам'ятовуючий пристрій і зазначене запам'ятовуючий пристрій з довільною вибіркою доступні виключно для зазначеного співпроцесора безпеки.

8. Спосіб за будь-яким із пп. 1-7, в якому головний завантажувач здійснює завантаження (170) коду програмного модул�по кожному з пп. 1-7, у якому код головного завантажувача припиняє виконуватися після запуску операційної системи і не виконується до тих пір, поки не відбудеться скидання процесора системи безпеки.

10. Спосіб за будь-яким із пп. 1-7, в якому запущена операційна система встановлює механізм віртуальної пам'яті між виділеної користувачеві подсекцией головної пам'яті і одним або більше пристроями пам'яті великої ємності.

11. Спосіб за будь-яким із пп. 1-7, в якому програмний модуль включає в себе сегменти даних або код бібліотеки умовного доступу, причому зазначені сегменти даних або зазначений код дозволяють розшифрувати криптограмму керуючого слова, наявну в повідомленні ЄСМ (повідомлення управління правами).

12. Спосіб прийому вмісту мультимедіа, скремблированного з використанням керуючих слів CWi,t, що містить етапи, на яких:
приймають (200) повідомлення ЄСМ (повідомлення управління правами), що містить криптограмму CW*i,tкеруючого слова CWi,t;
завантажують програмний модуль в головну пам'ять приймального терміналу, причому програмний модуль виконаний з можливістю розшифровки криптограми CW*i,tдля отримання керуючого слова CWi,tпри испЂ зазначений програмний модуль процесором для розшифровки (200) криптограми CW*i,t;
дескремблируют контенти мультимедіа, скремблированние з використанням керуючого слова CWi,tу відкритій формі;
при цьому завантаження зазначеного програмного модуля здійснюють у відповідності зі способом по кожному з пп. 1-7.

13. Носій запису інформації (78, 94, 102), що містить команди для реалізації способу по кожному з пп. 1-7 при виконанні зазначених команд електронним процесором системи безпеки.

14. Термінал, оснащений:
головною пам'яттю (92)
процесором системи безпеки (90), мають вигляд інтегральної схеми, в якій реалізовані мікропроцесор (99), виконаний з можливістю виконувати команди, записані в головній пам'яті, співпроцесор безпеки (100), енергонезалежне запам'ятовуючий пристрій (102) і запам'ятовуючий пристрій з довільною вибіркою (103), доступні виключно для зазначеного співпроцесора безпеки, причому зазначений процесор з'єднаний з головною пам'яттю за допомогою шини даних,
кодом (128) багатозадачної операційної системи, виконаної з можливістю при виконанні процесором операційної системи планувати одночасне виконання декількох програм користувача,
кодом (104) головного завантажувача, виконаного з�перационной системи, виконаної з можливістю використання тільки одного зменшеного діапазону адрес в головній пам'яті, і потім запускати виконання операційної системи з головної пам'яті,
командами код завантаження, який при виконанні зазначених команд процесором виконаний з можливістю завантажувати код головного завантажувача в головну пам'ять, причому зазначені команди записані в енергонезалежне запам'ятовуючий пристрій (102) співпроцесора, починаючи з першого адреси, на який вказує порядковий лічильник процесора відразу після кожного скидання процесора,
одним або кількома незалежними пристроями пам'яті (73, 74), що містять код (125) програмного модуля,
при цьому головний завантажувач (104) додатково виконаний з можливістю при виконанні процесором завантажувати код програмного модуля в головну пам'ять перш запуску виконання операційної системи в діапазон адрес головної пам'яті, розташований поза діапазону адрес, що використовується операційною системою, і
після запуску операційна система (128) виконана з можливістю при виконанні мікропроцесором переадресовувати звернення до зазначеного програмного модулю від користувальницької програми за адресою в головній памванием особливої файлової системи операційної системи, причому зазначена файлова система автоматично асоціює адресу програмного модуля в просторі віртуальної пам'яті для користувача програми з фізичною адресою програмного модуля в головній пам'яті.

15. Термінал по п. 14, характеризується тим, що:
містить приймач (70) повідомлень ЄСМ,
причому програмний модуль (126) виконаний з можливістю при його виконанні процесором приймати повідомлення ЄСМ, розшифровувати криптограмму CW*i,tдля отримання керуючого слова CWi,t, що міститься у повідомленні ЄСМ,
при цьому термінал містить блок дескремблирования, виконаний з можливістю дескремблировать контент мультимедіа, скремблированний з використанням керуючого слова CWi,t, розшифрованого програмним модулем.



 

Схожі патенти:

Спосіб і система виконання послуг на сервері і клієнті клієнт-серверної архітектури

Винахід відноситься до засобів виконання послуг на сервері і клієнті клієнт-серверної архітектури. Технічний результат полягає в забезпеченні можливості змінювати послідовність дій по виконанню послуг на сервері. При виконанні в заздалегідь заданій точці прийняття користувальницького рішення під час процесу виконання послуг призупиняють на сервері виконання послуг і ініціюють відправку запиту користувача рішення клієнта. При цьому запит користувальницького рішення включає в себе інформацію, запитуючу користувача приймати рішення щодо дії по виконанню послуг після точки прийняття користувальницького рішення. Після прийому інформації про інтерфейсу рішенні, сформованої клієнтом у відповідь на запит користувача рішення, визначають дію по виконанню послуг, що відповідає прийнятої інформації про інтерфейсу рішенні, на підставі відповідного зв'язку між інформацією про інтерфейсу рішенні та інструкцією по виконанню послуг. Виконують послуги згідно з певною дією на виконання послуг. 3 н. і 8 з.п. ф-ли, 6 іл.

Система і спосіб збереження стану емулятора і його подальшого відновлення

Винахід відноситься до антивірусним рішенням, а більш конкретно до способів збереження стану емулятора і його подальшого відновлення. Технічний результат полягає в скороченні часу на емуляцію файлу шляхом завантаження необхідних образів стану емулятора і обході антиэмуляционних прийомів при емуляції файлу. Отримують файл на емуляцію. Перевіряють, чи виконується емуляція в перший раз. Визначають спосіб стану емулятора, що включає, щонайменше, образ емуліруемой системи, який завантажується в емулятор для подальшої емуляції файлу. Виробляють емуляцію файлу. Створюють образи стану емулятора, при цьому кожен образ стану емулятора включає, щонайменше, образ емуліруемой системи. Перевіряють некоректне завершення емуляції файлу. Вибирають необхідний образ стану емулятора для продовження емуляції у випадку некоректного завершення емуляції файлу. Завантажують обраний образ стану емулятора для продовження емуляції файлу. 2 н. і 12 з.п. ф-ли, 6 іл.

Система і спосіб розгортання попередньо настроєний програмного забезпечення

Винахід відноситься до області розгортання програмного забезпечення корпоративної обчислювальної мережі. Технічним результатом є оптимізація конфігурації програмного забезпечення. Спосіб розгортання попередньо настроєний програмного забезпечення містить етапи, на яких на сервері адміністрування формують завдання установки програмного забезпечення на пристрій користувача; завантажують із засобу зберігання атрибутів комп'ютерної мережі атрибути об'єктів, відповідних облікового запису користувача, та атрибути об'єктів, відповідних пристрою користувача, при цьому, щонайменше, обліковий запис або пристрій користувача вказані в сформованій задачі установки; конфігурують інсталяційний пакет програмного забезпечення і канал передачі даних, при цьому параметри конфігурації визначають по завантаженим атрибутів у відповідності з політикою безпеки, встановленої для даного користувача і для даного пристрою; запускають завдання установки на виконання, при цьому завантажують сконфігурований інсталяційний пакет на пристрій користувача згаданого каналу передачі даних і встановлюють програмне забезпечений�

Спосіб автоматизованого зміни інтерфейсу (варіанти)

Винахід відноситься до комп'ютерної техніки, а саме до способів автоматизованого зміни інтерфейсу прикладного програмного додатка. Технічним результатом є здійснення автоматизованої налаштування інтерфейсу прикладного застосування як на етапі розробки, так і на етапі впровадження програми. Запропоновано спосіб автоматизованого зміни користувальницького інтерфейсу на етапах розробки, впровадження або виконання прикладних бізнес-додатків. Згідно способу, здійснюють створення на етапі розробки програми окремого елемента системи, вказуючи в ньому складу залежних елементів, із збереженням окремого елемента в запам'ятовуючому пристрої. Залежні елементи являють собою довідник або документ. Далі здійснюють створення елемента, параметризующего значення окремого елемента із збереженням його запам'ятовуючому пристрої. А також вказують в параметризующем елементі елемент, такий як довідник або регістр відомостей, що зберігає відповідності значень і значень окремого елемента. 2 іл.

Спосіб передачі програмних кодів у пам'ять приладу управління, зокрема, автомобілів

Винахід відноситься до області передачі програмних кодів у пам'ять приладу управління. Технічним результатом є скорочення тривалості часу, необхідного для передачі програмних кодів у пам'ять приладу управління. Для передачі програмних кодів у програмну пам'ять приладу управління, зокрема, автомобілів, спочатку перуть дані у всіх комірках програмної пам'яті і записують в них переважно недійсний програмний код (некоректний код операції). Спосіб упаковки даних без втрат, зокрема кодуванням за Хаффманом, упаковують дійсні програмні коди, передають на прилад управління, відповідно розпаковують в ньому записують в програмну пам'ять приладу управління. Значення недійсних програмних кодів зберігають в якості стандартного значення (значення за замовчуванням) у пам'яті приладу управління або передають не більше одного разу з пристрою програмування на прилад керування. Завдяки таким прийомам істотно скорочується передається обсяг даних і, отже, тривалість часу передачі програмних кодів. 2 з.п. ф-ли, 14 іл.

Пристрій керування, система обробки інформації, спосіб управління і носій зберігання

Винахід відноситься до засобів управління додатком пристроїв формування зображення. Технічний результат полягають у можливості використання програми пристрої формування зображення при зміні конфігурації пристрою. Служба керування пристроями приймає запит на отримання інформації про програму для додатка, яке має застосовуватися, пристрої формування зображення, генерує та передає інформацію про програму, відповідну пристрою формування зображення, коли інформація про конфігурацію пристрою для пристрої формування зображення задовольняє умові застосування програми, що міститься в інформації додатка основного набору, і присутній ліцензія для використання, щоб застосовувати додаток в пристрої формування зображення. 4 н. і 4 з.п. ф-ли, 25 іл.

Спосіб і пристрій для здійснення операції вводу/виводу в середовищі віртуалізації

Винахід відноситься до області середовищ віртуалізації. Технічним результатом є підвищення ефективності операції вводу/виводу в середовищі віртуалізації. В деяких варіантах здійснення винаходу система містить апаратну машину, що включає в себе пристрій вводу/виводу; і монітор віртуальних машин для сполучення апаратної машини і декількох віртуальних машин. В деяких варіантах здійснення винаходу віртуальна машина містить гостьову віртуальну машину для запису інформації вводу/виводу, що стосується операції вводу/виводу, і обслуговуючу віртуальну машину, яка містить модель пристрою і драйвер пристрою, при цьому модель пристрою запускає драйвер пристрою з метою управління деякою частиною пристрою вводу/виводу для реалізації операції вводу/виводу з використанням інформації вводу/виводу і при цьому модель пристрою, драйвер пристрою і ця частина пристрою вводу/виводу закріплені за гостьовий віртуальною машиною. 4 н. і 22 з.п. ф-ли, 8 іл.

Інтегральна мікросхема, апарат для обробки інформації, спосіб управління модулем програмного забезпечення, система обробки інформації, спосіб обробки інформації і програма

Винахід відноситься до засобів управління завантаженням програмного забезпечення. Технічний результат полягає в підвищенні безпеки перед встановленням програмного забезпечення. Зчитуючий/записуючий пристрій і мобільний телефонний термінал, до якого за допомогою зв'язку, що здійснюється в межах близькості, виконує доступ зчитуючий/записуючий пристрій. У мобільному телефонному терміналі модуль програмного забезпечення передає команди модулів і програмного забезпечення. Модуль програмного забезпечення управляє станами модулів і програмного забезпечення. Якщо під час початкового завантаження модуля програмного забезпечення починається і закінчується обробка модуля програмного забезпечення, то модуль програмного забезпечення відновлює початкову завантаження модуля програмного забезпечення. 3 н. і 5 з.п ф-ли, 7 іл.

Конфігурування і керування розширеннями до цифрових прикладним програмам для мережевого розповсюдження

Винахід відноситься до області розширень до цифрових продуктів. Технічним результатом є підвищення ефективності управління розширеннями до цифрових продуктів, раніше запропонованим на сайт розповсюдження продуктів. Розширення до цифрових продуктів можуть управлятися і робитися доступними для онлайнової покупки і поширення на сайті розповсюдження продуктів. Розширення до цифрового продукту, по суті, може пропонуватися зацікавленій особі і купуватися особою, яка раніше купувала асоційований цифровий продукт, завдяки використанню самого цифрового продукту, який може взаємодіяти з сайтом розповсюдження продуктів. Сайт поширення продуктів може згадуватися як сайт онлайнового розміщення продуктів. В одному з варіантів здійснення, цифрові продукти є комп'ютерними програмними продуктами (наприклад, комп'ютерними програмно реалізованими програмами). 2 н. і 17 з.п. ф-ли, 17 іл.

Система і спосіб цільової установки настроєний програмного забезпечення

Винахід відноситься до галузі встановлення програмного забезпечення корпоративної обчислювальної мережі. Технічним результатом є підвищення рівня безпеки установки програмного забезпечення на пристрій користувача, під яких дане програмне забезпечення було налаштовано, і досягається за рахунок авторизації користувача та перевірки відповідності пристроїв. Спосіб цільової установки настроєний програмного забезпечення містить етапи, на яких: завантажують із засобу зберігання атрибутів комп'ютерної мережі атрибути об'єктів, відповідних облікового запису користувача, та атрибути об'єктів, відповідних першого пристрою, керованого користувачем, на якому планують провести установку програмного забезпечення; конфігурують інсталяційний пакет програмного забезпечення, при цьому параметри конфігурації визначають по завантаженим атрибутів у відповідності з політикою безпеки, встановленої для згаданого користувача і для першого пристрою; завантажують сконфігурований інсталяційний пакет програмного забезпечення на другий пристрій; встановлюють програмне забезпечення на другий пристрій, керований користю�ие встановлено; проводять авторизацію користувача, керуючого другим пристроєм, і продовжують установку, якщо авторизація пройшла успішно. 2 н. і 21 з.п. ф-ли, 5 іл.
Винахід відноситься до обчислювальної техніки і може бути використане для захисту інформації планшетного комп'ютера від витоку оброблюваної чи зберігається на ньому інформації щодо побічних електромагнітних випромінювань і наведенням (ПЕМІН). Технічним результатом є забезпечення захисту планшетного комп'ютера від витоку інформації без використання генератора шуму. За рахунок використання принципу маскування ПЕМІН основного планшетного комп'ютера подібним помилковим ПЕМІН другого планшетного комп'ютера створюють невіддільні від основних ПЕМІН ідентичні помилкові ПЕМІН, що маскують роботу основного планшетного комп'ютера. При цьому використовують повністю однакові по елементній базі і внутрішньої топології основний і додатковий планшетні комп'ютери. Додатковий планшетний комп'ютер розташовується своїм екраном під днищем основного планшетного комп'ютера паралельно і симетрично по однойменних сторонам без взаємного торкання на відстані менше чверті довжини хвилі коливань однакової тактової частоти процесорів.

Спосіб і радіотехнічна система ідентифікації літальних апаратів

Винахід відноситься до радіотехнічним системам вилучення інформації, а саме до радіолокаційних систем з активною відповіддю, і може бути використане для віддаленого ідентифікування літальних апаратів при вирішенні різних завдань, пов'язаних з контролем знаходження літальних апаратів в охоронюваних зонах та/або їх впізнання. Технічний результат - висока захищеність процесу ідентифікації за рахунок інваріантності до перехоплення конфіденційної інформації, а також підвищення завадостійкості системи. Зазначене досягається, головним чином, за рахунок введення інформації про код розпізнавання ідентифікованих об'єктів у відносний часовий зсув шумоподібних сигналів, використовуваних як запитальний і відповідь. Система складається з ідентифікатора, що розміщується на літальному апараті і наземного пристрою розпізнавання. Основними частинами зазначених пристроїв є кореляційні вимірники, службовці для визначення відносних часових зсувів псевдовипадкових сигналів, використовуваних для ідентифікації. 2 н. і 2 з.п. ф-ли, 3 іл.

Спосіб запобігання несанкціонованого використання обладнання транспортного засобу

Винахід відноситься до обчислювальної техніки. Технічний результат полягає в ефективному перешкоджання несанкціонованого використання вкраденого обладнання в іншому транспортному засобі. Спосіб запобігання несанкціонованого використання обладнання транспортного засобу, заснований на використанні програмного забезпечення, в якому визначають за допомогою комп'ютерної системи транспортного засобу, що інформаційно-розважальна система була включена; отримують унікальний ідентифікаційний номер транспортного засобу від мережі транспортного засобу, пов'язаної з транспортним засобом, в якому встановлена інформаційно-розважальна система; порівнюють унікальний ідентифікаційний номер транспортного засобу з збереженим ідентифікаційним номером транспортного засобу, раніше пов'язаним з інформаційно-розважальною системою; надають доступ до інформаційно-розважальної системи тільки у разі, якщо унікальний ідентифікаційний номер транспортного засобу збігається з збереженим ідентифікаційним номером транспортного засобу; в іншому випадку, блокують використання інформаційно-розважально�
Винахід відноситься до обчислювальної техніки. Технічний результат полягає в підтвердженні факту надсилання документа або файлу з зазначенням дати та часу відправлення по електронній пошті. Спосіб електронного нотаріального засвідчення текстової інформації, в якому попередньо проводять реєстрацію контрагента в системі «електронний нотаріус», при відправленні інформації по електронній пошті в полі «копія» вказують адресу автоматичної системи «електронний нотаріус», за отримання копії відправленої інформації автоматична пошта поміщає її в особисті кабінети відправника і одержувача з зазначенням часу відправлення, відправника, адресата, якому направлена інформація, і всіх вкладень, складових інформацію, при цьому автоматична пошта додатково повідомляє адресатові про фіксації факту надсилання інформації та зберіганні завіреної копії відправленої інформації на сайті у вашому особистому кабінеті контрагента. 3 з.п. ф-ли.

Браузер складається з двох частин машиною обробки сценаріїв для захисту конфіденційності

Винахід відноситься до області обробки даних. Технічним результатом є забезпечення захисту конфіденційних даних користувача. Система обробки даних має браузер з засобом машини обробки сценаріїв для виконання сценарію. Засіб машини обробки сценаріїв здійснює відкриту машину обробки сценаріїв і приватну машину обробки сценаріїв. Браузер налаштований для виконання сценарію загальнодоступній машиною обробки сценаріїв, якщо сценарій не вимагає доступу до заздалегідь певного ресурсу в системі. Браузер налаштований для виконання сценарію приватною машиною обробки сценаріїв, якщо сценарій вимагає доступу до заздалегідь певного ресурсу. Тільки приватна машина обробки сценаріїв має інтерфейс для забезпечення можливості сценарієм здійснити доступ до заздалегідь певного ресурсу. Засіб машини обробки сценаріїв конфігурований для запобігання передачі даних приватною машиною обробки сценаріїв у відкриту машину обробки сценаріїв або сервер, зовнішній до системи обробки даних, якщо така передача інформації не була підтверджена. 2 н. і 3 з.п. ф-ли, 1 іл.

Спосіб і пристрій для безпечної передачі даних

Винахід відноситься до способу пам'яті даних для зберігання комп'ютерного програмного продукту і пристрою для безпечної передачі даних. Технічний результат полягає в підвищенні безпеки передачі даних. Пристрій містить блок (2) надання для надання сполук (DV) даних від різних початкових компонентів (SK) через, відповідно, щонайменше, один проміжний компонент (ZK) до загального цільового компоненту (ZK'), блок (3) об'єднання для об'єднання проміжних компонентів (ZK) в залежності від криптографічного захисту інформації (KI) в один проміжний компонент (ZK) через, щонайменше, одного обміну повідомленнями, причому обмін повідомленнями виконується згідно способу з спільно використовуваних ключем, способу http-Дайджест Автентифікації способом запиту-відповіді, ключового хеш-способу, хеш-функції, способу Діффі-Хеллмана і/або способу цифрового підпису та блок (4) передачі для передачі даних (D) від початкових компонентів (SK) через об'єднаний проміжний компонент (ZK) до цільового компоненту (ZK). 3 н. і 11 з.п. ф-ли, 12 іл.

Активація послуги з використанням алгоритмічно заданого ключа

Винахід відноситься до області активації послуг з використанням алгоритмічно заданих ключів. Технічний результат - запобігання порушення безпеки системи обробки даних. Спосіб підписки користувача на послугу містить: ідентифікацію в комп'ютері емітента користувача, який авторизований для підписки на послугу на основі визначених емітентом критеріїв; витяг допомогою комп'ютера емітента даних, асоційованих з користувачем, і спільно використовуваного елемента даних, який спільно використовується комп'ютером емітента та комп'ютером постачальника послуг; формування першого коду активації за допомогою комп'ютера емітента та відправку першого коду активації користувачеві; причому користувач надсилає перший код активації і дані, асоційовані з користувачем комп'ютера постачальника послуг; причому комп'ютер постачальника послуг формує другий код активації і авторизує користувача для підписки на послугу, якщо перший і другий коди активації однакові. 7 н. і 13 з.п. ф-ли, 9 іл.

Управління доступом користувача до мультимедійного контенту

Винахід відноситься до мультимедійного пристрою і системі для управління доступом користувача до мультимедійного контенту. Технічним результатом є управління доступом користувача до мультимедійного контенту, причому доступ дозволяється саме на обраному мультимедійному обладнанні. Запропоновано мультимедійний пристрій (100, 200) для управління доступом користувача до мультимедійного контенту, що містить: засіб виведення (102, 103, 202) ідентифікуючого коду для забезпечення ідентифікуючого коду користувачеві, причому ідентифікуючий код ідентифікує мультимедійний пристрій; генератор (104, 204) керуючого коду для генерації керуючого коду в залежності від згаданого ідентифікуючого коду і права доступу; засіб вводу (106, 107, 206) коду доступу для приймання коду доступу від користувача. Код доступу згенерований в залежності від ідентифікуючого коду і права доступу деяким пристроєм коду доступу, а контролер (108, 208) доступу забезпечує порівняння коду доступу з керуючим кодом і, коли код доступу збігається з керуючим кодом, що дозволяє доступ користувача до мультимедійного контенту у відповідності з правом доступу. 4 н. і 10 з.п. ф-ли, 6 іл.

Зв'язок між пристроями

Винахід відноситься до засобів надання можливості одного пристрою зв'язку одержувати доступ до даних, таким як набір мультимедійних об'єктів, доступних за допомогою іншого пристрою зв'язку. Технічний результат полягає в забезпеченні можливості отримувати доступ до набору мультимедійних об'єктів, доступних за допомогою другового пристрої зв'язку. Передають інформацію розпізнавального коду між першим пристроєм зв'язку, другим пристроєм зв'язку і сервером. Асоціюють, першим пристроєм зв'язку, розпізнавальний код або подання цього розпізнавального коду з набором мультимедійних об'єктів, доступних за допомогою першого пристрої зв'язку, при цьому набір мультимедійних об'єктів асоційований з правами доступу. Відправляють першим пристроєм зв'язку інформацію, що стосується згаданого набору мультимедійних об'єктів, сервера, при цьому інформація включає права доступу. Приймають сервером інформацію, що стосується згаданого набору мультимедійних об'єктів. Генерують сервером облікові дані, що стосуються згаданого набору мультимедійних об'єктів та прав доступу, пов'язаних з ними. Відправляють сервером облікові дані другого пристрою зв'язку. Приймають другим вус�мультимедійних об'єктів. 11 м. та 28 з.п. ф-ли, 9 іл.

Система і спосіб збереження стану емулятора і його подальшого відновлення

Винахід відноситься до антивірусним рішенням, а більш конкретно до способів збереження стану емулятора і його подальшого відновлення. Технічний результат полягає в скороченні часу на емуляцію файлу шляхом завантаження необхідних образів стану емулятора і обході антиэмуляционних прийомів при емуляції файлу. Отримують файл на емуляцію. Перевіряють, чи виконується емуляція в перший раз. Визначають спосіб стану емулятора, що включає, щонайменше, образ емуліруемой системи, який завантажується в емулятор для подальшої емуляції файлу. Виробляють емуляцію файлу. Створюють образи стану емулятора, при цьому кожен образ стану емулятора включає, щонайменше, образ емуліруемой системи. Перевіряють некоректне завершення емуляції файлу. Вибирають необхідний образ стану емулятора для продовження емуляції у випадку некоректного завершення емуляції файлу. Завантажують обраний образ стану емулятора для продовження емуляції файлу. 2 н. і 12 з.п. ф-ли, 6 іл.

Карта з інтегральною мікросхемою з захищеним вхідним/вихідним буфером

Винахід відноситься до обчислювальної техніки. Технічний результат полягає в забезпеченні захисту карти. Карта з інтегральною мікросхемою містить блок обробки, пов'язаний з оперативним запам'ятовуючим пристроєм і з засобами обміну даними із зовнішнім пристроєм, причому оперативне запам'ятовуючий пристрій містить єдину зону пам'яті, виділену для обміну даних, при цьому блок обробки виконаний з можливістю записувати дані, які призначені для обміну між вказаною карткою з інтегральною мікросхемою і зазначеним зовнішнім пристроєм, зазначену в єдину виділену зону пам'яті і з можливістю обмежувати ризик потрапляння в цю єдину виділену зону пам'яті даних, які здатні порушити захист карти, при цьому блок обробки программирован таким чином, щоб скремблировать дані, містяться у зазначеній єдиною виділеній зоні пам'яті, перед передачею даних із зовнішнього середовища, з тим щоб дані, послідовно прийняті картою, не могли бути рекомбинировани або використані для створення несанкціонованої команди. 2 н. і 6 з.п. ф-ли, 1 іл.
Up!