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

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

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

Автор:

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

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

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

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

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

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


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

Программно-аппаратные средства защиты автоматизированных...

– Некачественное программное обеспечение.

Применение программных средств. – использование пароля для доступа к компьютеру

Средства защиты информации. Метод защиты СУБД от несанкционированного доступа.

Проблема защиты прав приобретателей при заключении...

...функционировать в принципе на данной ЭВМ из-за отсутствия программного обеспечения на ЭВМ.

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

К вопросу об использовании программных продуктов...

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

Снижение затрат на программное обеспечение...

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

Правовой режим программы для ЭВМ как объекта...

ЭВМ, программа, правовая охрана, исходный текст, объектный код, программное обеспечение, Российская Федерация, США, авторско-правовая охрана, компьютерная программа.

Обеспечение информационной безопасности предприятия от...

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

Информационная безопасность вчера и сегодня

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

Внедрение средств защиты информации при проектировании...

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

ИТ-инфраструктура предприятия на основе свободно...

Свободное программное обеспечениепрограммное обеспечение, которое пользователь имеет право неограниченно раз устанавливать, запускать, а также это свободное использование, изучение, распространение и изменение (совершенствование)...

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

Программно-аппаратные средства защиты автоматизированных...

– Некачественное программное обеспечение.

Применение программных средств. – использование пароля для доступа к компьютеру

Средства защиты информации. Метод защиты СУБД от несанкционированного доступа.

Проблема защиты прав приобретателей при заключении...

...функционировать в принципе на данной ЭВМ из-за отсутствия программного обеспечения на ЭВМ.

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

К вопросу об использовании программных продуктов...

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

Снижение затрат на программное обеспечение...

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

Правовой режим программы для ЭВМ как объекта...

ЭВМ, программа, правовая охрана, исходный текст, объектный код, программное обеспечение, Российская Федерация, США, авторско-правовая охрана, компьютерная программа.

Обеспечение информационной безопасности предприятия от...

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

Информационная безопасность вчера и сегодня

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

Внедрение средств защиты информации при проектировании...

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

ИТ-инфраструктура предприятия на основе свободно...

Свободное программное обеспечениепрограммное обеспечение, которое пользователь имеет право неограниченно раз устанавливать, запускать, а также это свободное использование, изучение, распространение и изменение (совершенствование)...

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