Бюллетень ЕАПВ "Изобретения (евразийские заявки и патенты)"
Бюллетень 1´2010

  

(11) 

012921 (13) B1       Разделы: A B C D E F G H    

(21) 

200802108

(22) 

2007.04.26

(51) 

G06F 21/22 (2006.01)

(31) 

2006114101

(32) 

2006.04.27

(33) 

RU

(43) 

2009.08.28

(86) 

PCT/RU2007/000219

(87) 

WO 2007/126341 2007.11.08

(71) 

(72)(73) ВСТОВСКИЙ ВЛАДИМИР НИКИТИЧ; ГОРЮНОВ ДМИТРИЙ ИГОРЕВИЧ; АХРАМЕНКО МИХАИЛ ФЕДОРОВИЧ (RU)

(74) 

Нилова М.И. (RU)

(54) 

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

(57) 1. Устройство для защиты программного обеспечения от несанкционированного использования, содержащее

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

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

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

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

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

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

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

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

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

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

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

4. Устройство по п.1 или 2, отличающееся тем, что оно выполнено в виде внешнего устройства или внутреннего модуля программируемого электронно-вычислительного устройства, выбранных из группы, включающей программно-аппаратный модуль, печатную плату, печатную плату с программируемой микросхемой, программируемым контроллером или программируемым логическим устройством.

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

6. Устройство по п.1 или 2, отличающееся тем, что указанная энергонезависимая память выбрана из группы, включающей энергонезависимую программируемую память, программируемую флэш-память, электрически стираемую программируемую постоянную память, перепрограммируемую память, неперепрограммируемую память, двустороннюю электрически программируемую интегрированную память и т.п.

7. Устройство по п.1 или 2, отличающееся тем, что указанные многоуровневые средства защиты включают следующие уровни защиты:

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

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

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

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

9. Устройство по п.1 или 2, отличающееся тем, что средства защиты выполнены в виде аппаратных средств, программных средств или программно-аппаратных средств.

10. Устройство по п.1 или 2, отличающееся тем, что оно содержит дополнительный интерфейс программирования указанной энергонезависимой памяти.

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

12. Устройство по п.1 или 2, отличающееся тем, что указанные средства защиты, по меньшей мере, частично блокируют доступ к энергонезависимой памяти, осуществляемый через интерфейс программирования и/или через процессор, или отключает интерфейс программирования.

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

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

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

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

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

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

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

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

при этом в качестве устройства для защиты программного обеспечения используют устройство по п.1 или 2.

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

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

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

21. Программный продукт, содержащий

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

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

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

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

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

25. Комплект для безопасного распространения программного обеспечения, содержащий

программный продукт, из которого изъят по меньшей мере один функциональный фрагмент, и

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

26. Комплект для безопасного распространения программного обеспечения, содержащий

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

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

27. Способ безопасного распространения программного обеспечения с использованием устройства для защиты программного обеспечения по п.1 или 2, содержащий этапы

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

приобретения устройства для защиты программного обеспечения по п.1 или 2 и его соединения с программируемым электронно-вычислительным устройством и

запуска программного обеспечения на программируемом электронно-вычислительном устройстве.

28. Читаемый программируемым электронно-вычислительным устройством носитель с записанным на нем программным продуктом, содержащим такие операторы в программном коде, что при выполнении этого программного продукта на программируемом электронно-вычислительном устройстве обеспечивается исполнение этапов способа по п.17.



наверх