СПОСОБ ПЕРЕДАЧИ ИСПОЛНЯЕМОГО КОДА В ПРИЕМНОЕ УСТРОЙСТВО И СПОСОБ ВЫПОЛНЕНИЯ ТАКОГО КОДА

1. Способ пересылки исполняемого кода модулю безопасности, непосредственно соединенному с приемным устройством, причем модуль безопасности содержит микроконтроллер и запоминающее устройство, включающее в себя, по меньшей мере, одну исполнительную область, выполненную с возможностью сохранения в ней команд, которые могут быть исполнены микроконтроллером, и, по меньшей мере, одну неисполнительную область, в которой микроконтроллер не может исполнять команды, отличающийся тем, что включает в себя следующие стадии:
a. разбивают исполняемый код на блоки;
b. присоединяют к каждому из блоков, по меньшей мере, один управляющий код блока с образованием расширенного блока, причем размер такого расширенного блока не превышает размера исполнительной области запоминающего устройства;
c. вводят содержимое расширенного блока в сообщение типа, пригодного к обработке в приемном устройстве, так, что весь исполняемый код содержится в нескольких сообщениях;
d. пересылают приемному устройству сообщение, содержащее один из расширенных блоков, отличных от первого расширенного блока, который содержит начало исполняемой программы;
e. обрабатывают указанное сообщение с обеспечением извлечения из него расширенного блока;
f. сохраняют в исполнительной области запоминающего устройства исполняемый код и, по меньшей мере, один из управляющих кодов полученного блока;
g. производят исполнение, по меньшей мере, одного из управляющих кодов расширенного блока, причем этот управляющий код осуществляет перемещение содержимого блока в неисполнительную область запоминающего устройства;
h. повторяют шаги от d) до g) до тех пор, пока все расширенные блоки, кроме указанного первого расширенного блока, не будут сохранены в неисполнительной области запоминающего устройства;
i. пересылают приемному устройству сообщение, содержащее первый расширенный блок;
j. обрабатывают указанное сообщение с обеспечением извлечения из него расширенного блока;
k. сохраняют исполняемый код полученного блока в исполнительной области запоминающего устройства.
2. Способ по п.1, отличающийся тем, что пересылаемые сообщения представляют собой управляющие сообщения типа EMM.
3. Способ по п.1, отличающийся тем, что сообщения для нескольких пользователей идентичны.
4. Способ по п.1, отличающийся тем, что сообщения для каждого пользователя различны и уникальны.
5. Способ по п.1, отличающийся тем, что размер расширенных блоков меньше объема исполнительной области запоминающего устройства.
6. Способ по п.1, отличающийся тем, что управляющий код содержит команды, осуществляющие, по меньшей мере, одно из следующих действий: проверку подлинности и/или целостности, по меньшей мере, одного блока исполняемого кода; перемещение или копирование содержимого блока из исполнительной области запоминающего устройства в неисполнительную область запоминающего устройства; перемещение содержимого блока из неисполнительной области запоминающего устройства в исполнительную область запоминающего устройства; установку указателя завершения программы; удаление ранее исполненного управляющего кода.
7. Способ по п.1, отличающийся тем, что управляющий код содержит, по меньшей мере, один указатель, причем исполнение управляющего кода включает в себя исполнение исполняемого кода, связанного с этим указателем.
8. Способ исполнения исполняемого кода модулем безопасности, непосредственно соединенным с приемным устройством, причем модуль безопасности содержит микроконтроллер и запоминающее устройство, включающее в себя, по меньшей мере, одну исполнительную область, выполненную с возможностью сохранения в ней команд, которые могут быть исполнены микроконтроллером, и, по меньшей мере, одну неисполнительную область, в которой микроконтроллер не может исполнять команды, причем исполняемый код пересылается в соответствии со способом по п.1, отличающийся тем, что включает в себя следующие стадии:
a. производят исполнение исполняемого кода, сохраненного в исполнительной области запоминающего устройства;
b. производят исполнение, по меньшей мере, одного управляющего кода, который осуществляет перемещение блока из неисполнительной области запоминающего устройства в исполнительную область запоминающего устройства, причем указанный блок представляет собой блок, следующий за последним исполненным до этого блоком;
c. повторяют шаги a) и b) до завершения исполнения кода.
9. Способ по п.8, отличающийся тем, что включает в себя проверку целостности и/или подлинности кода, которую выполняют до первого исполнения кода, сохраненного в исполнительной области запоминающего устройства.
10. Способ по п.9, отличающийся тем, что включает в себя проверку целостности и/или подлинности кода, которую выполняют до последующих исполнений кода, сохраненного в исполнительной области запоминающего устройства.
11. Способ по п.9 или 10, отличающийся тем, что проверка целостности и/или подлинности кода включает в себя сравнение сигнатуры и/или показателя целостности, вычисленного в соответствии с предназначенными к исполнению командами, с сигнатурой, сохраненной в блоке.
12. Способ по п.8, отличающийся тем, что, по меньшей мере, один из блоков содержит команду завершения исполнения, которая прекращает исполнение кода.