СПОСОБ ЗАЩИТЫ МУЛЬТИМЕДИЙНЫХ ДАННЫХ

1. Способ передачи данных клиенту, содержащий следующие шаги:
(а) передача данных клиенту,
(b) передача программного кода, содержащего алгоритм, с сервера защиты клиенту, причем результат алгоритма является функцией состояния клиента,
(c) выполнение кода клиентом и возврат результата на сервер защиты, и (а) определение, указывает ли полученный результат на отсутствие модификации клиента.
2. Способ по п.1, отличающийся тем, что данные представляют собой медиапродукцию.
3. Способ по п.1 или 2, отличающийся тем, что использование данных клиентом не допускают до выполнения шага (d).
4. Способ по п.1 или 2, отличающийся тем, что дополнительно содержит шаг (е) прекращения передачи данных и/или ключей, необходимых для дешифрования данных, в случае, если результат не указывает на отсутствие модификации клиента.
5. Способ по п.1 или 2, отличающийся тем, что код включает вычисление контрольной суммы, входными данными которой является код и/или отображение в памяти клиентской программы.
6. Способ по п.5, отличающийся тем, что во входные данные для вычисления контрольной суммы включено случайное число.
7. Способ по п.6, отличающийся тем, что клиент шифрует случайное число посредством открытого ключа сервера защиты, зашифрованное случайное число передают на сервер защиты вместе с запросом медиаключа и вычисленной контрольной суммой; сервер защиты дешифрует случайное число и использует его для шифрования медиаключа; сервер защиты использует случайное число для обновления собственного вычисления контрольной суммы; и сервер защиты затем сравнивает два значения контрольной суммы.
8. Способ по п.7, отличающийся тем, что зашифрованный медиаключ передают клиенту для дешифрования им медиаключа, исключительно в случае совпадения указанных двух значений.
9. Способ по п.8, отличающийся тем, что в случае несовпадения указанных двух значений клиентские средства просмотра считают подвергшимися несанкционированному вмешательству.
10. Способ по п.1 или 2, отличающийся тем, что код выполняет задачу или задачи обфускации в отношении средств просмотра.
11. Способ по п.10, отличающийся тем, что задача или задачи обфускации включают в себя рандомизацию отображения в памяти выполняющихся средств просмотра.
12. Способ по п.10, отличающийся тем, что задачи обфускации включают одну или более из следующих задач: перемещение кода, диверсификация кода, перемещение данных и скрытие данных.
13. Способ по п.1 или 2, отличающийся тем, что мобильные средства защиты подвергнуты обфускации.
14. Способ обеспечения обфускации выполняющихся средств просмотра, включающий рандомизацию отображения в памяти выполняющихся средств просмотра.
15. Способ проверки целостности клиентской программы, содержащий следующие шаги: передача программного кода из защищенного источника на клиентский компьютер, выполняющий клиентскую программу, при этом программный код содержит алгоритм, зависящий от состояния клиентской программы; выполнение программного кода; и возврат результата в указанный источник, посредством чего источник может определить целостность клиентской программы.
16. Способ по п.15, отличающийся тем, что клиентская программа используется в одной из следующих областей; банковское обслуживание через Интернет, онлайновые игры и распределенные вычисления.
17. Устройство для передачи данных клиенту, выполненное с возможностью осуществления способа, охарактеризованного в любом из п.1-13.
18. Устройство для обфускации выполняющихся средств просмотра, выполненное с возможностью осуществления способа, охарактеризованного в п.14.
19. Устройство для проверки целостности клиентской программы, выполненное с возможностью осуществления способа, охарактеризованного в п.15 или 16.