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

Настоящая полезная модель относится к области разработки технологий защиты программного продукта от несанкционированного копирования и нелегального использования и более точно касается мобильного устройства защиты программного обеспечения и персональных данных от несанкционированного доступа.
В настоящее время для защиты программного обеспечения от несанкционированного доступа используют мобильные устройства - электронные ключи, в частности, электронные ключи типа HASP - HL - USB (см., например, А.Доля, «Выбор эффективного средства защиты программного обеспечения», ж. Компьютер Пресс. №5, 2006).
Электронный ключ указанного типа содержит микросхему памяти ПЗУ, в которой записана уникальная кодовая информация, соответствующая кодовой информации, использованной в защитном модуле защищаемого программного обеспечения, и имеет собственную программу обмена информацией в процессе работы с защитным модулем программного продукта, находящегося в компьютере. Для запуска защищаемой программы электронный ключ подсоединяют с помощью интерфейса к внешнему порту компьютера и, если в процессе обмена информацией ключ «опознается» защитным модулем программы, последняя запускается. При этом внешний порт компьютера, через который проходит, по существу, вся кодовая информация, остается доступным для злоумышленников, что позволяет им осуществлять несанкционированную запись, проходящей через этот порт информации, и в последующем использовать ее для эмуляции ключа.
В основу полезной модели поставлена задача создать мобильное устройство защиты программного обеспечения и персональных данных, в котором бы исключалась возможность несанкционированного доступа к протоколу обмена информацией между устройством защиты и защитным модулем программы.
Поставленная задача решается тем, что мобильное устройство защиты программного обеспечения и персональных данных от несанкционированного доступа, содержащее микросхему памяти ПЗУ (постоянное запоминающее устройство), хранящую кодовую информацию, соответствующую уникальной кодовой информации, использованной в защитном модуле программного обеспечения, приспособленную для обмена этой информацией с защитным модулем, и интерфейс для подключения к компьютеру, согласно настоящей полезной модели, содержит блок энергонезависимой
памяти с защищенной паролем областью, предназначенной для хранения подлежащих защите программного обеспечения, оснащенного защитным модулем, содержащим уникальную кодовую информацию, и персональных данных, при этом устройство выполнено в виде моноблока, заключенного замкнутый корпус.
С целью повышения степени защиты желательно, чтобы устройство дополнительно содержало аппаратный криптопроцессор, выполненный с возможностью, по меньшей мере, частичной дешифрации предварительно зашифрованного программного обеспечения при получении от защитного модуля этого программного обеспечения кода дешифрации, сформированного на основе использованной в защитном модуле уникальной кодовой информации.
При этом кодовая информация может представлять собой уникальный идентификационный серийный номер устройства и/или уникальную комбинацию исходных данных, и/или критичную часть исполняемого кода защищаемой программы.
В предпочтительном варианте выполнения мобильное устройство защиты дополнительно содержит часы-календарь реального времени, электрически связанный с защитным модулем программного обеспечения, выполненного с возможностью запрета запуска защищаемого программного обеспечения по истечении заданного промежутка времени.
Для дополнительного повышения степени защиты, замкнутый корпус выполнен устойчивым к взлому.
В дальнейшем полезная модель поясняется описанием конкретных вариантов ее осуществления и прилагаемыми чертежами, на которых:
фиг.1 изображает укрупненную блок схему одного из вариантов выполнения мобильного устройства защиты программного обеспечения, согласно настоящей полезной модели;
фиг.2 - блок схему другого варианта выполнения устройства защиты программного обеспечения в процессе работы в положении подключения к компьютеру;
фиг.3 - устройство защиты программного обеспечения, согласно настоящей полезной модели, в общем виде.
Представленное на фиг.1 в виде блок схемы устройство защиты программного обеспечения включает в себя интерфейс 1, например, USB интерфейс для подключения устройства к компьютеру, внутренний разветвитель 2 (hub), к которому подключены с возможностью взаимного информационного обмена энергонезависимая память 3 (флэш-память), содержащая открытую область свободного доступа и защищенную
паролем область 3а, микросхема 4 памяти ПЗУ, хранящая кодовую информацию, соответствующую уникальной кодовой информации, использованной в защитном модуле защищаемого программного обеспечения, с вычислителем ключей, например, процессором, работающим по алгоритму SHA-1, крипто-процессор 5 и энергонезависимое ОЗУ 6 со встроенными часами-календарем.
Защищенная паролем область За энергонезависимой памяти 3 предназначена для хранения компьютерной программы, которая является управляющей для компонентов устройства и, одновременно, защищаемой этими же компонентами, а также для хранения персональных данных.
Управление осуществляется с помощью защитного модуля, являющегося частью защищаемого программного обеспечения (фрагментом машинного кода) и составляющего с данным программным обеспечением единое целое. Защитный модуль содержит данные об уникальной кодовой информации, присвоенной данной программе, и путем периодического «обращения» (посылки запросов и получения ответов) то к флэш-памяти 3, то к крипто-процессору 5, то к иным элементам устройства, осуществляет взаимодействие с аппаратной частью мобильного устройства защиты, проверяет наличие и правильность электронного ключа, управляет работой крипто-процессора, проверяет целостность защищенной программы, предотвращает попытки декомпиляции и отладки программы, дешифрует и запускает защищенную программу в случае успешного прохождения всех проверок.
На фиг.2 представлена блок-схема предлагаемого устройства 7 защиты в состоянии подключения к компьютеру 8 посредством USB-интерфейса 1. В данном примере реализации в защищенной паролем области За флэш-памяти 3 содержится три защищаемых компьютерных программы 9а, 9b, 9 с и соответственно устройство включает, по меньшей мере, три блока 10а, 10b, 10 с, содержащих каждый микросхему памяти, хранящую данные уникального идентификационного номера, присвоенного соответствующей конкретной программе, и крипто-процессор. Устройство, кроме того, может содержать, по меньшей мере один, в данном примере один, запасной аналогичный блок 10d. Упомянутые блоки 10а-d подключены к внутренней шине 11, доступ к которой возможен только через промежуточный контроллер 12 при вводе присвоенного ему уникального идентификационного номера.
С помощью интерфейса 1 устройство, согласно настоящей полезной модели, подключают к компьютеру 8. В результате в рабочем интерфейсе пользователя компьютера 8 добавляется дополнительный доступный диск с единственным запускаемым файлом, т.е. добавляется открытая
незащищенная область дополнительного диска. Пользователь может запустить имеющийся в незащищенной области исполняемый файл и получить приглашение зайти в защищенную область За памяти. Доступ к защищенной области возможен при правильном вводе секретного кода-пароля инициализации (уникален для каждого экземпляра устройства защиты), который известен только допущенным пользователям.
После ввода кода-пароля и успешной инициализации возможен доступ к защищаемым программам и персональным данным, хранящимся в защищенной области 3а и запуск этих программ. Каждое защищенное программное обеспечение при запуске проверяет наличие защитного устройства по соответствующему уникальному идентификационному номеру и соответствию этого номера заданным параметрам. Если проверка проходит успешно, то осуществляется дешифрация «на лету» зашифрованного исполняемого кода запускаемой программы, хранящейся в защищенной области 3а флеш-памяти 3, с помощью соответствующего данной программе крипто-процессора 5, работающего по алгоритму SHA-1. Также, в ходе выполнения программы периодически осуществляется контроль присутствия устройства защиты, а данные, полученные от соответствующего крипто-процессора SHA-1, используются для реализации алгоритмов программы.
Таким образом, запуск и использование защищенных программ возможен только из защищенной области 3а памяти 3 устройства защиты. Скопированные и переписанные в другие места (другие области памяти, диски и носители информации на компьютере) исполняемые программы запускаться и работать не будут, поскольку они индивидуально жестко «привязаны» к конкретному устройству защиты. Для индивидуальной «привязки» к конкретному экземпляру устройства используются аппаратные ключи, входящие в состав устройства, в частности в состав микросхемы 4 памяти, и программные решения защитного модуля программного обеспечения.
Дополнительное повышение степени защиты программного обеспечения достигается благодаря применению шифрования содержимого исполняемых программ. То-есть эти программы находятся в блоке памяти 3 устройства защиты в зашифрованном (не читаемом) виде и расшифровываются «на лету» при запуске и работе программы. Быстрая и безопасная дешифрация «на лету» исполняемых программ обеспечивается благодаря использованию аппаратного независимого крипто-процессора 5, входящего в состав устройства защиты. Наличие такого крипто-процессора внутри устройства защиты значительно повышает защищенность всего устройства в целом, т.к. он является независимым от компьютера пользователя и его операционной системы и к нему вообще нет доступа извне устройства защиты.
Внутренние часы-календарь реального времени, входящие в состав устройства, позволяют определить заданный промежуток времени в течении которого может быть использовано защищаемое программное обеспечение.
По истечении этого промежутка времени с блока часы-календарь реального времени поступает сигнал на защитный модуль программы, который выдает запрет на запуск данной программы.
Устройство защиты, показанное в общем виде в комплекте с USB кабелем на фиг.3, выполнено в виде моноблока, помещенного в замкнутый металлический корпус, причем все элементы устройства залиты компаундом, благодаря чему обеспечена дополнительная физическая защита от взлома и любого вмешательства извне.
Кроме запускаемых модулей защищаемого программного обеспечения в защищенной области 3а памяти защитного устройства можно хранить и переносить данные, полученные в результате работы пользователя (любые результаты работы пользователя на защищенных программах). При этом защита этих данных обеспечивается лишь с помощью секретного кода-пароля на доступ в защищенную область 3а
памяти, т.е. эти данные, в отличие от исполняемых модулей защищаемого программного обеспечения, не «привязаны» к конкретному экземпляру устройства защиты и могут быть скопированы и переписаны допущенным пользователем в иную область памяти или на другой носитель.
Мобильное устройство защиты программного обеспечения и персональных данных от несанкционированного доступа, выполненное согласно настоящей полезной модели, обладает следующими преимуществами по сравнению с известными устройствами аналогичного назначения:
- записанная в память устройства программа может быть легко перенесена на любое рабочее место и запущена с любого компьютера, при этом программа не устанавливается на компьютер, а запускается непосредственно из мобильного устройства защиты, пользователь не привязан к конкретному компьютеру;
- высокая степень защиты программы и персональных данных, программа работает только при наличии персонального индивидуального ключа в каждом экземпляре устройства защиты, переписанная на другой носитель программа не запускается;
- в каждом устройстве идентификационный номер уникален и не повторяется, программа переписанная из одного экземпляра устройства в другой (с другим уникальным номером) не запускается, злоумышленнику необходим именно оригинальный экземпляр устройства защиты для запуска программы (программа в каждом устройстве защиты имеет уникальный код для работы именно с данного носителя);
- защищенная область памяти устройства защиты защищена кодом-паролем, что обеспечивает дополнительную защиту программ и персональных данных от несанкционированного доступа;
- в защищенную паролем область пользователь может записывать любые данные, например, исходные или полученные при использовании
программы, что позволяет переносить не только программу, но и любые файлы пользователя;
- не оставляет следов на рабочем месте после использования, после отключения устройства защиты от компьютера программа и данные остаются в устройстве, временно использованный компьютер остается «чистым»;
- при необходимости использования программы в режиме ограниченного по времени доступа устройство защиты может храниться в сейфе и выдаваться работнику только на время использования, работник не может использовать программу, переписанную им на другой носитель;
- удобство хранения программы и данных, в виду небольших габаритов и веса устройства оно может быть легко помещено в сейф;
- защита от случайной потери или кражи - для использования устройства защиты необходимо знать секретный код-пароль;
- контроль над количеством копий программ и учет персональных пользователей, каждый уникальный экземпляр устройства защиты может быть закреплен за конкретным пользователем и зарегистрирован в базе данных;
- высокая физическая надежность, устройство не имеет движущихся частей и устойчиво к ударам и взлому.
Устройство защиты с успехом может быть использовано, например, в качестве переносной бухгалтерии предприятия - программа вместе с данными не устанавливается на стационарный компьютер, а перемещается вместе с ответственным работником. При утере устройства можно не беспокоиться за нарушение конфиденциальности, т.к. секретный пароль на доступ к устройству известен только узкому кругу допущенных лиц.