Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсова зпз_шевчук.docx
Скачиваний:
33
Добавлен:
24.12.2018
Размер:
629.15 Кб
Скачать
    1. Захист на основі генерації коду активації програмного забезпечення

Захист на основі генерації коду активації в залежності від імені (компанії) користувача – також досить слабкий спосіб, хоча іноді і зустрічаються досить вдалі реалізації цього типу захистів. У цю ж групу можна включити захисти, засновані на генерації коду активації залежності від відбитка, створеного програмою при першому її запуску. Причому відбиток генерується програмою в залежності від того, які параметри має “залізо” комп'ютера. Тут набагато більше вдалих рішень, але сам спосіб не зручний для користувачів, що купили таку програму, – адже при модернізації “заліза” йому знову прийдеться звертатися до автора, а це не завжди можливо і зручно [4].

Захисти, що базуються на так званих “key-file” захисту, – це коли програма при кожному запуску шукає такий файл у своїй директорії, і якщо знаходить, то зчитує зашифровану інформацію з нього, розшифровує її, по­рівнює контрольну суму, отриману при розшифруванні. Якщо все гаразд, то програма працює як зареєстрована, якщо ж такого файлу немає або інформація при порівнянні є критичною, то програма не запускається або працює в демо-режимі.

Тут недоліком або основною помилкою є або використання занадто простих алгоритмів генерації серійного номера, що приводить до написання “кейгена”, або навпаки – алгоритм досить складний, але залишено занадто багато лазівок.

Рекомендацією з покращення захисту даного типу може бути те, що при використанні подібних захистів слід використовувати кілька алгоритмів генерації з можливо більшою довжиною ключа. Треба включити більше перевірок правильності коду активації інтегрувати ці перевірки в основні функції програми. При цьому бажаним є використання шифрування коду програми.

При використанні даного методу надані розробнику дані для генерації коду активації можуть бути будь-якими. Для зменшення можливості підбору коду активації потрібно будь яким чином ускладнити цей процес. Виробникові ефективно використовувати параметри комп’ютера щоб створити можливість перевірки коду активації під час встановлення програми [5].

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

    1. Розробка алгоритму захисту програмного забезпечення від несанкціонованого копіювання

Виходячи з особливостей методу, захист має бути реалізований у вигляді модуля захисту, який інтегровано у виконуваний файл захищуваної програми.

Захист програмного забезпечення буде здійснюватися шляхом прив’язки до унікальних параметрів вінчестера. Розробник згідно свого алгоритму захисту програмного забезпечення може обрати будь-які параметри вінчестера: назву, модель, розмір т.д Для ускладнення захисту доцільно використовувати декілька параметрів На основі цих параметрів розробник має згенерувати код активації та надавати його користувачу як необхідну складову програмного забезпечення.

При активації програма має запитати у користувача код активації. Програма зчитує із комп’ютера назву вінчестера, його модель, розмір та кількість доріжок. На основі цього генерує код на порівнює його із введеним. У разі співпадіння програма активується і код активації записується у файл. Важливим завданням є надійно зашифрувати та заховати даний файл для уникнення розкриття алгоритму генерації коду активації зловмисником. Для цього варто застосувати криптографічні методи захисту даних.

Криптографічні методи захисту інформації − це спеціальні методи шифрування, кодування або іншого перетворення інформації, в результаті якого її зміст стає недоступним без пред'явлення ключа криптограми і зворотного перетворення. Криптографічний метод захисту, безумовно, достатньо надійний метод захисту, так як охороняється безпосередньо сама інформація, а не доступ до неї. В даний час не існує загальноприйнятої класифікації криптографічних методів захисту інформації. Проте, коли піддається перетворенню (шифровці) кожен символ переданого повідомлення (симетричний метод закриття інформації), можна умовно виділити чотири основні групи:

  • підстановка − символи шифрованого тексту замінюються символами того ж або іншого алфавіту відповідно до заздалегідь певним правилом;

  • перестановка − символи шифрованого тексту переставляються по деякому правилу в межах заданого блоку переданого тексту;

  • аналітичне перетворення − текст, що шифрується перетворюється за певним аналітичним правилом;

  • комбіноване перетворення − вихідний текст шифрується двома або більшою кількістю способів шифрування [6].

При наступних запусках програма самостійно перевіряє наявність коду активації та його вірність і успішно виконується.

У разі несанкціонованого копіювання програмного забезпечення воно не буде працювати на іншому комп’ютері, так програма не буде активованою.

Якщо зловмисник зуміє знайти код активації на комп’ютері, де програма вже була активована і скопіює необхідний файл на інший комп’ютер, дані дії не виявляться ефективними. Код активації генерується по параметрах, збіг яких на різних комп’ютерах неможливий.

Рисунок 2.1 – Схема алгоритму виконання програми

Програма працюватиме за алгоритмом:

Крок 1. Запуск програми.

Крок 2. Перевірка активації програми.

2. 1 Якщо програма не активована відбувається активація

  • введення коду активації;

  • зчитування параметрів вінчестера;

  • перетворення параметрів вінчестера у послідовність для порівняння із кодом активації;

  • перевірка правильності введеного коду активації;

  • активація програми;

  • запис коду активації у файл.

2. 2 Якщо програма уже була активована, відбувається перевірка коду активації

  • зчитування параметрів вінчестера;

  • перетворення параметрів вінчестера у послідовність для порівняння із кодом активації;

  • порівняння згенерованої послідовності із кодом активації, записаної у файл.

Крок 3. Виконання програми.

Блок-схема (рис 2.1) відображає етапи виконання алгоритму захисту програмного забезпечення від несанкціонованого доступу.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]