Защита программного обеспечения путем внедрения проверки файла лицензии | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 26 октября, печатный экземпляр отправим 30 октября.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №41 (175) октябрь 2017 г.

Дата публикации: 12.10.2017

Статья просмотрена: 1673 раза

Библиографическое описание:

Бушев, Ю. В. Защита программного обеспечения путем внедрения проверки файла лицензии / Ю. В. Бушев. — Текст : непосредственный // Молодой ученый. — 2017. — № 41 (175). — С. 4-7. — URL: https://moluch.ru/archive/175/45895/ (дата обращения: 17.10.2024).



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

В мире коммерческого программного обеспечения существуют несколько популярных видов защиты от несанкционированного использования [1]:

– Локальная программная защита. В том числе защита с последующей активацией продукта через Интернет.

– Защита путем переноса части программы в облако. Известный также как подход SaaS (“Software As A Service” — программное обеспечение как услуга).

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

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

Файл лицензии (License file) — текстовый файл, содержащий информацию об условиях использования программного продукта в открытом виде. А также цифровую подпись, гарантирующую целостность и достоверность этой информации.

Рассмотрим пример файла лицензии (Рис. 1). В данном примере мы имеем четыре информационных поля и цифровую подпись (“xxxxxxxxxxxxxxxxxxxxx”) вычисленную по алгоритму RSA-SHA256.

Рис. 1. Файл лицензии

– Version — Версия программного обеспечения для интерпретации файла лицензии.

– App version — Версия программного продукта, подлежащего защите.

– E-mail — Персональная информация пользователя программного обеспечения.

– Valid — Срок действия приобретенной лицензии.

В основе создания и проверки цифровой подписи файла лицензии лежит использование пары криптографических ключей — открытого и закрытого. Закрытый ключ хранится у владельца программного продукта (разработчика ПО) и ни при каких обстоятельствах не должен передаваться третьим лицам. Открытый же ключ, наоборот, распространяется вместе с программным продуктом и доступен всем пользователям программного продукта.

Рассмотрим процесс получения (генерации) файла лицензии на конкретном примере. Будем использовать Open Source библиотеку (с открытым исходным кодом) “nodejs-license-file” для защиты программного обеспечения, разработанного на платформе Electron. Electron — фреймворк позволяющий создавать кроссплатформенные приложения используя веб-технологии, такие как Node.js, HTML, CSS и JavaScript. [2]

Прежде всего установим библиотеку “nodejs-license-file”:

> npm install nodejs-license-file --save --save-exact

Для подключения требуется всего одна строка программного кода:

const licenseFile = require('nodejs-license-file');

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

Рис. 2. Программный код для генерации файла лицензии

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

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

На Рис. 3 показан программный код, необходимый для проверки и извлечения информационных данных из лицензионного файла, при использовании библиотеки “nodejs-license-file”.

Рис. 3. Программный код для проверки и извлечения данных из файла лицензии

Из Рис. 3 следует, что для проверки достоверности и получение информации из файла лицензии необходим только один ключ из пары криптографических ключей, а именно открытый ключ. Результат выполнения кода (изображен на Рис. 4) будет выведен в консоль и будет включать в себя информацию о проверке и все данные из лицензионного файла.

Рис. 4. Результат проверки и разбора лицензионного файла на клиенте

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

Литература:

  1. Анализ рынка средств защиты от копирования и взлома программных средств. // Citforum. URL: http://citforum.ru/security/articles/analis/ (дата обращения: 09.10.2017).
  2. About Electron. // Electron. URL: https://electron.atom.io/docs/tutorial/about/ (дата обращения: 09.10.2017).
Основные термины (генерируются автоматически): программный продукт, файл лицензии, программное обеспечение, программный код, лицензионный файл, цифровая подпись, CSS, конечный пользователь, локальная программная защита, несанкционированное использование.


Похожие статьи

Выявление современных тенденций совершенствования программного обеспечения как составной части информационных технологий на примере программного продукта Statgraphics

В статье приводится анализ модернизации программного продукта c течением времени на примере программы Statgraphics с целью выявления современных тенденций совершенствования программного обеспечения. Программное обеспечение — составная часть информаци...

Реклама в компьютерных играх как инструмент продвижения бренда

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

Разработка модуля анализа данных в интеллектуальных системах

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

Концепция контроллинга в организации системы метрологического обеспечения фармацевтического предприятия

В статье рассматривается применение концепции контроллинга в организации системы метрологического обеспечения фармацевтического предприятия. Отражены вопросы по реализации стратегических и оперативных целей и задач контроллинга в рамках метрологическ...

Использование кластерной системы как одного из видов педагогических технологий

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

Опасность использования примитивных средств разграничения доступа Windows на предприятии. Средства защиты информации

В статье описаны стандартные способы разграничения прав доступа в Windows и опасность их использования. Даны основные понятия, касаемо средств защиты информации (СЗИ). Выделены преимущества использования средств защиты информации на предприятиях.

MES как фактор развития бережливого производства

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

Применение демонстрационных материалов на лекциях по физике

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

Типизация ИСПДн государственных учреждений

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

Алгоритм сжатия текстовых файлов

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

Похожие статьи

Выявление современных тенденций совершенствования программного обеспечения как составной части информационных технологий на примере программного продукта Statgraphics

В статье приводится анализ модернизации программного продукта c течением времени на примере программы Statgraphics с целью выявления современных тенденций совершенствования программного обеспечения. Программное обеспечение — составная часть информаци...

Реклама в компьютерных играх как инструмент продвижения бренда

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

Разработка модуля анализа данных в интеллектуальных системах

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

Концепция контроллинга в организации системы метрологического обеспечения фармацевтического предприятия

В статье рассматривается применение концепции контроллинга в организации системы метрологического обеспечения фармацевтического предприятия. Отражены вопросы по реализации стратегических и оперативных целей и задач контроллинга в рамках метрологическ...

Использование кластерной системы как одного из видов педагогических технологий

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

Опасность использования примитивных средств разграничения доступа Windows на предприятии. Средства защиты информации

В статье описаны стандартные способы разграничения прав доступа в Windows и опасность их использования. Даны основные понятия, касаемо средств защиты информации (СЗИ). Выделены преимущества использования средств защиты информации на предприятиях.

MES как фактор развития бережливого производства

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

Применение демонстрационных материалов на лекциях по физике

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

Типизация ИСПДн государственных учреждений

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

Алгоритм сжатия текстовых файлов

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

Задать вопрос