Способ обеспечения защиты программного обеспечения и данных от копирования, нелегального использования, несанкционированного распространения и доступа с использованием распределенного электронного ключа
Изобретение относится к вычислительной технике, а именно к защите программного обеспечения (ПО) и данных от копирования, нелегального использования, несанкционированного распространения. Техническим результатом изобретения является повышение защиты ПО и данных от копирования, нелегального использования, несанкционированного распространения и доступа. Согласно данному способу защиты ПО и данных электронный ключ делается распределенным, то есть включает в себя главный модуль и вспомогательные модули. Главный модуль присоединяется к определенному интерфейсу компьютера (например, USB, LPT или PCMCIA) или встраивается в устройство хранения ПО или данных. Далее защищенная программа или данные через специальный драйвер отправляет главному модулю информацию, которая обрабатывается в соответствии с заданным алгоритмом и возвращается обратно. Если ответ ключа правильный, то программа продолжает свою работу. В противном случае она может выполнять любые действия, заданные разработчиками, например переключаться в демонстрационный режим, блокируя доступ к определенным функциям. Главный модуль при формировании ответа обращается к вспомогательным модулям, которые жестко привязаны к конкретному физическому месту (встраиваются в стены, пол и т.д.) или к определенному движущемуся объекту. 11 з.п. ф-лы.
Реферат
Область техники
Изобретение относится к вычислительной технике, а именно к защите программного обеспечения (ПО) и данных от копирования, нелегального использования, несанкционированного распространения.
Уровень техники
В настоящее время на рынке вычислительной техники прилагаются усилия, направленные на создание надежных систем по защите интеллектуальной собственности. Такие системы призваны обеспечить соблюдение авторских прав и не допустить несанкционированного копирования и использования информации. Тем не менее, даже самые последние системы защиты нельзя назвать совершенными. Предлагаемый способ призван существенно повысить надежность системы противодействия несанкционированному копированию информации за счет принципиального нового подхода к реализации электронного ключа и его использованию.
Электронный ключ является наиболее близким аналогом к предлагаемому изобретению и рассматривается в качестве прототипа. Электронный ключ - аппаратное средство, предназначенное для защиты программного обеспечения (ПО) и данных от копирования, нелегального использования и несанкционированного распространения.
Электронный ключ - небольшое по размерам аппаратное устройство.
Основой данной технологии является специализированная микросхема ASIC, либо специализированный защищенный микроконтроллер, имеющие уникальные для каждого ключа алгоритмы работы. Донглы также имеют защищенную энергонезависимую память небольшого объема, более сложные устройства могут иметь встроенный криптопроцессор (для аппаратной реализации шифрующих алгоритмов), часы реального времени. Аппаратные ключи могут иметь различные форм-факторы, но чаще всего они подключаются к компьютеру через USB-, LPT- или PCMCIA-интерфейсы.
Принцип действия электронных ключей заключается в следующем: ключ присоединяется к определенному интерфейсу компьютера, далее защищенная программа через специальный драйвер отправляет ему информацию, которая обрабатывается в соответствии с заданным алгоритмом и возвращается обратно. Если ответ ключа правильный, то программа продолжает свою работу. В противном случае она может выполнять любые действия, заданные разработчиками, например переключаться в демонстрационный режим, блокируя доступ к определенным функциям.
Для обеспечения безопасности сетевого ПО служат специальные электронные ключи. Для защиты и лицензирования (ограничения числа работающих в сети копий программы) сетевого продукта достаточно одного ключа на всю локальную сеть. Ключ устанавливается на любой рабочей станции или сервере сети.
Недостатком данного подхода является уязвимость данной технологии. Злоумышленник, покупая защищенное программное средство и электронный ключ к нему, имеет возможность перехватывать все обращения к ключу, протоколировать и анализировать эти обращения, посылать запросы к ключу и получать на них ответы, протоколировать и анализировать эти ответы, посылать ответы от имени ключа и т.д. Все это позволяет создать эмулятор ключа и в дальнейшем пиратские копии программных продуктов.
Привязка к серийным номерам компонентов компьютера также является близким аналогом к рассматриваемому изобретению. Ее достоинство в том, что не требуется никакого специфического аппаратного обеспечения, и программу можно распространять посредством цифровой дистрибуции. Если пользователь производит модернизацию компьютера, защита отказывает. Авторы многих программ, защищенных привязкой, в подобных случаях готовы дать новый регистрационный код. В качестве привязки используются серийный номер BIOS материнской платы, серийный номер винчестера. Недостатком данного подхода является то, что злоумышленник может «перепрошить» BOIS или использовать псевдоапргейд компьютера для того, чтобы получить новый регистрационный код, который будет использоваться уже для пиратской версии продукта.
Раскрытие изобретения
Заявленное изобретение направлено на решение указанных недостатков известных из уровня техники решений защиты ПО и данных от копирования, нелегального использования, несанкционированного распространения и доступа.
Техническим результатом изобретения является повышение защиты ПО и данных от копирования, нелегального использования, несанкционированного распространения и доступа.
Технический результат достигается заявленным способом обеспечения зашиты программного обеспечения и данных от копирования, нелегального использования, несанкционированного распространения и доступа за счет того, что значительно снижается вероятность подделки электронного ключа или разработки его эмулятора, так как работа программного обеспечения или доступ к данным ограничен физически только тем местом, где расположены физические части ключа.
Согласно настоящему изобретению способ обеспечения зашиты программного обеспечения (ПО) и данных от копирования, нелегального использования, несанкционированного распространения и доступа содержит этапы, на которых:
посылают запрос к электронному распределенному ключу, построенному на базе устройства проводного или беспроводного считывателя, подключаемого к вычислительной машине или устройству, на котором выполняется работа ПО и хранятся данные, и совокупности вспомогательных модулей, при этом вспомогательные модули жестко привязаны к физическому месту путем встраивания в жестко фиксированные составные части места привязки;
формируют детерминированный ответ на запрос с помощью вспомогательных модулей;
получают, а при необходимости анализируют, ответ от электронного распределенного ключа, причем
запрещают или ограничивают доступ к данным и работе ПО при отсутствии сигнала хотя бы от одного вспомогательного модуля.
В другом аспекте настоящего изобретения вспомогательные модули, хранящие составные части алгоритма формирования ответа на запрос от ПО и данных, могут перемещаться с пользователем или быть встроенными в перемещающийся объект.
Еще в одном аспекте настоящего изобретения вспомогательные модули могут хранить уникальную информацию, на основе которой формируется ответ электронного ключа на запрос от ПО или хранимых данных.
В другом аспекте настоящего изобретения считыватель может не подключаться к вычислительной машине, на которой установлено ПО или хранятся данные, а быть встроенным в жесткий диск, работающим в режиме только чтение или чтение и запись, с данными или программами.
Еще в одном аспекте настоящего изобретения данные или ПО могут храниться в зашифрованном виде, а для отображения или работы с ними, должны быть расшифрованы с использованием аппаратного, программного или аппаратно-программного механизма дешифрования, осуществляемого с помощью считывателя, который для успешного выполнения данной операции должен считать содержимое каждого из совокупности используемых вспомогательных модулей.
В другом аспекте настоящего изобретения каждый из вспомогательных модулей выполняет расшифровку данных.
Еще в одном аспекте настоящего изобретения ПО и данные полностью или частично хранятся на вспомогательных модулях, причем без хранимой на вспомогательных модулях информации ПО или данные, находящиеся на других носителях теряют свою актуальность, работоспособность или целостность.
В другом аспекте настоящего изобретения ПО и данные могут защищаться как на отдельной вычислительной машине, так и будучи расположенными на различных машинах, соединенных в локальную сеть.
Еще в одном аспекте настоящего изобретения в качестве вспомогательных модулей используются RFID метки.
В другом аспекте настоящего изобретения в качестве вспомогательных модулей используются Bluetooth устройства.
Еще в одном аспекте настоящего изобретения в качестве вспомогательных модулей используются WI-FI устройства.
В другом аспекте настоящего изобретения защищаемое ПО и данные посылают запрос к электронному распределенному ключу при каждом запуске защищаемой программы или обращения к защищаемым данным, а также через некоторые интервалы времени.
Осуществление изобретения
Способ обеспечения зашиты программного обеспечения и данных от копирования, нелегального использования, несанкционированного распространения и доступа включает в себя принципиально новый подход к реализации электронного ключа, подключаемого к вычислительной машине, на которой установлено защищаемое ПО или хранятся данные.
Согласно данному способу защиты ПО и данных, электронный ключ делается распределенным, то есть включает в себя главный модуль и вспомогательные модули. Главный модуль присоединяется к определенному интерфейсу компьютера (например: USB, LPT или PCMCIA) или встраивается в устройство хранения ПО или данных. Далее защищенная программа или данные через специальный драйвер отправляет главному модулю информацию, которая обрабатывается в соответствии с заданным алгоритмом и возвращается обратно. Если ответ ключа правильный, то программа продолжает свою работу. В противном случае она может выполнять любые действия, заданные разработчиками, например переключаться в демонстрационный режим, блокируя доступ к определенным функциям. Главный модуль при формировании ответа обращается к вспомогательным модулям, которые жестко привязаны к конкретному физическому месту (встраиваются в стены, пол и т.д.) или к определенному движущемуся объекту.
Таким образом, главный модуль может выдать правильный ответ только, если в его окружении будет находиться вся совокупность вспомогательных модулей. Технологии связи главного модуля и вспомогательных модулей может быть реализованы на основе проводных технологий (например: USB) или беспроводных технологий RFID, Bluetooth, WI-FI, или других технологий. Причем вспомогательные модули могут как сами выполнять часть алгоритма формирования правильного ответа, так и просто хранить некоторые уникальные данные, без которых главный модуль не сможет сформировать верный ответ.
Основным преимуществом данного способа является то, что значительно снижается вероятность подделки электронного ключа или разработки его эмулятора, так как работа программного обеспечения или доступ к данным ограничен физически только тем местом, где расположены физические части ключа.
Обычно, для создания копии электронного ключа или создания его эмулятора, необходимо иметь возможность перехватывать все обращения к ключу, протоколировать и анализировать эти обращения, посылать запросы к ключу и получать на них ответы, протоколировать и анализировать эти ответы, посылать ответы от имени ключа и т.д. Однако невозможность работы главного модуля ключа без вспомогательных модулей, а также невозможность физического извлечения вспомогательных модулей ключа, делают указанные выше необходимые действия возможными только в пределах указанного места, что легко исключает доступ к защищаемому контенту с помощью поддельного ключа.
Для осуществления предлагаемого способа защиты программного обеспечения необходимы следующие компоненты:
программное обеспечение или данные, нуждающиеся в защите;
электронный ключ (донгл) со встроенным считывателем, работающим по беспроводной или проводной технологиям связи;
вспомогательные модули, передающие данные, жестко встроенные в стены, пол или другие привязанные к конкретному месту физические компоненты.
Для осуществления предлагаемого способа защиты данных необходимо выполнение следующей последовательности действий.
1. Во вспомогательные модули записываются части распределенного ключа, который используется в алгоритме обработки запроса от защищаемой программы.
2. Вспомогательные модули жестко привязываются к конкретному физическому месту (встраиваются в пол, стены).
3. В защищаемое программное обеспечение правообладатели помещают программную вставку, которая при каждом запуске защищаемой программы, а также через некоторые интервалы времени обращается к электронному ключу, подключаемому к одному из физических портов компьютера, на котором используется программное обеспечение.
4. Электронный ключ реализует уникальный алгоритм обработки данных от защищаемого программного продукта на основе распределенных в физических компонентах частей ключа. При выполнении алгоритма электронный ключ опрашивает все вспомогательные модули и собирает по частям уникальный ключ для выработки верного ответа. Ответ, который является результатом выполнения заложенного в электронный ключ алгоритма, отправляется программному обеспечению. Верный ответ является доказательством того, что у пользователя есть права на выполнение программы или на обращение к данным.
Области применения и примеры использования
Документы с грифами ДСП (для служебного пользования), секретно, совершенно секретно.
Часто в организациях используются документы, вынос которых за пределы здания строго запрещен. Обычно таким документам присваивается статус ДСП (для служебного пользования). Организация заинтересована, чтобы с документами могли ознакомиться только люди, допущенные в периметр здания. Для того чтобы электронные документы могли получить такой статус, видится целесообразным использование описанного устройства. При этом документы могут быть записаны на память типа RO (read only) с контролем физической привязки хранителя информации по описанной в патенте схеме.
Программное обеспечение служебного пользования
В ряде организаций используется программное обеспечение, которое предназначено, например, для генерации ключей активации лицензионных копий продаваемого программного продукта. Зачастую такие механизмы генерации ключей передаются мошенникам инсайдерами внутри компании. Службы безопасности IT-компаний не могут контролировать тот факт, что специальное программное обеспечение по выработке ключей не выносится из закрытого помещения. При этом специалисты в области безопасности могут контролировать работу специалиста внутри закрытого помещения. Исходя из описанного, видится целесообразным разместить подобное программное обеспечение в закрытой области жесткого диска специального компьютера и сделать привязку использования компьютера в выделенном помещении. Таким образом, можно быть уверенным в том, что указанное программное обеспечение не будет вынесено за пределы помещения.
Система контроля документооборота в распределенной структуре компании
Некоторые компании имеют распределенную структуру: имеют офисы в различных частях страны и в разных городах. При условии, что в компании есть необходимость использовать секретные документы или программные средства, существует потребность в физическом перемещении тех или иных данных/документов без использования возможностей электронной почты. В таких случаях видится возможным использование специальных накопителей, которые будут иметь привязку к тем или иным помещениям, в которых можно будет открыть документ/запустить программу.
Система обеспечения защиты конфиденциальных данных
Согласно законодательству, компании, которые обрабатывают конфиденциальные данные, должны обеспечивать должную защиту хранимой информации. В настоящее время часто бывают случаи, когда подобные данные даже в весьма крупных компаниях становятся доступны в пиратских копиях. Ситуацию можно изменить в случае, когда данные будут храниться на описанных носителях со строгой привязкой к помещению. При этом должно быть обеспечено физическое отсутствие внешних приводов для записи информации на них.
1. Способ обеспечения защиты программного обеспечения (ПО) и данных от копирования, нелегального использования, несанкционированного распространения и доступа, содержащий этапы, на которых:посылают запрос к электронному распределенному ключу, построенному на базе устройства проводного или беспроводного считывателя, подключаемого к вычислительной машине или устройству, на котором выполняется работа ПО и хранятся данные, и совокупности вспомогательных модулей, при этом вспомогательные модули жестко привязаны к физическому месту путем встраивания в жестко фиксированные составные части места привязки;формируют детерминированный ответ на запрос с помощью вспомогательных модулей;получают, а при необходимости анализируют, ответ от электронного распределенного ключа, причемзапрещают или ограничивают доступ к данным и работе ПО при отсутствии сигнала хотя бы от одного вспомогательного модуля.
2. Способ по п.1, отличающийся тем, что вспомогательные модули, хранящие составные части алгоритма формирования ответа на запрос от ПО и данных, могут перемещаться с пользователем или быть встроенными в перемещающийся объект.
3. Способ по п.1 или 2, отличающийся тем, что вспомогательные модули могут хранить уникальную информацию, на основе которой формируется ответ электронного ключа на запрос от ПО или хранимых данных.
4. Способ по п.1 или 2, отличающийся тем, что считыватель может не подключаться к вычислительной машине, на которой установлено ПО или хранятся данные, а быть встроенным в жесткий диск, работающий в режиме только чтение или чтение и запись, с данными или программами.
5. Способ по п.1 или 2, отличающийся тем, что данные или ПО могут храниться в зашифрованном виде, а для отображения или работы с ними должны быть расшифрованы с использованием аппаратного, программного или аппаратно-программной реализации механизма дешифрования, осуществляемого с помощью считывателя, который для успешного выполнения данной операции должен считать содержимое каждого из совокупности используемых вспомогательных модулей.
6. Способ по п.5, отличающийся тем, что каждый из вспомогательных модулей выполняет расшифровку данных.
7. Способ по п.1 или 2, отличающийся тем, что ПО и данные полностью или частично хранятся на вспомогательных модулях, причем без хранимой на вспомогательных модулях информации ПО, или данные, находящиеся на других носителях, теряют свою актуальность, работоспособность или целостность.
8. Способ по п.1 или 2, отличающийся тем, что ПО и данные могут защищаться как на отдельной вычислительной машине, так и будучи расположенными на различных машинах, соединенных в локальную сеть.
9. Способ по пп.1, 2 или 6, отличающийся тем, что в качестве вспомогательных модулей используются RFID метки.
10. Способ по пп.1, 2 или 6, отличающийся тем, что в качестве вспомогательных модулей используются Bluetooth устройства.
11. Способ по пп.1, 2 или 6, отличающийся тем, что в качестве вспомогательных модулей используются WI-FI устройства.
12. Способ по п.1, отличающийся тем, что защищаемое ПО и данные посылают запрос к электронному распределенному ключу при каждом запуске защищаемой программы или обращения к защищаемым данным, а также через некоторые интервалы времени.