Апаратний захист, Апаратний захист програмного забезпечення, Електронні ключі -

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

  • апаратний захист програмного забезпечення
  • локальний апаратний захист (апаратний захист комп'ютера та інформації)
  • апаратний захист мережі (апаратний захист внутрішньої локальної мережі з одним або декількома виходами в Інтернет)

Апаратний захист програмного забезпечення

Електронні ключі

Під терміном "електронний ключ" передбачається апаратна реалізація системи захисту та відповідного програмного забезпечення. Сам ключ є платою, захищеною корпусом, в архітектуру якої обов'язково входять мікросхеми пам'яті і, іноді, мікропроцесор. Ключ може підключатися в слот розширення материнської плати ISA, або до LPT, COM, PCMCIA, USB-порту комп'ютера. У його програмне забезпечення входить модуль, який вбудовується в ПЗ (таким чином дане програмне забезпечення "прив'язується" до ключа, а не до конкретного комп'ютера), і драйвера під різні операційні системи. Ключі здебільшого засновані на одній із трьох моделей існуючих апаратних реалізацій: на основі FLASH-пам'яті, PIC або ASIC-чіпів. Крім цього, деякі ключі вбудовуються додаткові можливості у вигляді енергонезалежної пам'яті, таймерів, вибору алгоритмукодування даних.

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

Для PIC- і ASIC-ключів захист будується за іншим методом. У їхню архітектуру вже входить мікропроцесор. Крім цього, дані мікросхеми включають невелику кількість оперативної пам'яті, пам'ять команд і пам'ять для зберігання мікропрограми. У апаратній частині міститься ключ дешифрації та блоки шифрації/дешифрації даних. Ключі на цій основі набагато стійкіші до злому і є прозорішими для стандартних протоколів обміну. PIC-чіпи програмуються розробниками ключів, тому PIC-ключі є дорожчою перспективою для замовника. Апаратну копію такого ключа зробити досить проблематично за рахунок того, що мікропрограма та внутрішня пам'ять захищені від зовнішнього зчитування, але до таких ключів застосовні методи криптоаналізу. Достатньоскладною є завдання перехоплення ключа (основна обробка виробляється апаратної частиною). Однак залишається можливість збереження захищеної програми у відкритому вигляді після того, як система захисту відпрацювала.

Негативними сторонами апаратних (електронних) ключів є:

1. Можлива несумісність із програмним забезпеченням або апаратурою користувача;

2. Утруднення розробки та налагодження програмного забезпечення;

3. Підвищення системних вимог для програмного забезпечення, що захищається;

5. Неможливість використання захищеного ПЗ у портативних комп'ютерах;

6. Витрати придбання;

7. Несумісність з апаратними ключами інших фірм;

8. Зниження стійкості до відмови програмного забезпечення;

Слід зазначити, що досить часто виникають конфлікти ключа зі стандартними пристроями, що підключаються до портів комп'ютера, особливо це стосується підключення до LPT та COM. Теоретично можливий випадок, коли ключ отримує дані, не призначені йому, і інтерпретує їх як команду на читання/запис FLASH-пам'яті, що може призвести до псування інформації, що зберігається, або порушення протоколу обміну з іншим пристроєм, підключеним до того ж порту комп'ютера. Крім того, можливі загрози навантаження трафіку при конфліктах з мережевим програмним або апаратним забезпеченням.