Klucz sprzętowy

Klucze sprzętowe w postaci podłączanej do USB.
Elektronika klucza sprzętowego do portu LPT (klucz przelotowy pozwalający na tworzenie tzw. daisy chain).

Klucz sprzętowy (ang. dongle) – zabezpieczenie sprzętowe używane w zamkniętym oprogramowaniu; małe urządzenie podłączane zwykle do portu USB (wcześniej do portu równoległego lub szeregowego), którego obecność jest wymagana do uruchomienia danego programu.

Klucze sprzętowe mają w zamierzeniu uniemożliwić jednoczesne używanie programu na większej liczbie stanowisk niż liczba przewidziana w wykupionej licencji. Są relatywnie mocnym zabezpieczeniem, jednak istnieje wiele metod ich łamania. Klucz sprzętowy składa się z urządzenia elektronicznego oraz oprogramowania niezbędnego do jego prawidłowego funkcjonowania[1]. Oprogramowanie to składa się z trzech części:

  1. oprogramowania zawartego w urządzeniu elektronicznym klucza,
  2. oprogramowania łącza komunikacyjnego,
  3. oprogramowania po stronie zabezpieczanego systemu.

W starszych rozwiązaniach oprogramowanie nie było instalowane po stronie elektroniki klucza. Bezpieczeństwo zabezpieczanego systemu gwarantowane jest przez prawidłowe współdziałanie wszystkich składowych części programowych i elektronicznych. Oprogramowanie po stronie zabezpieczanego systemu składa się najczęściej z bibliotek zawierających podstawowe procedury ochrony wywoływane z poziomu zabezpieczanej aplikacji. Oprogramowanie interfejsu klucza jest najczęściej oparte na typowych sterownikach zawartych w systemie operacyjnym. Dla osiągnięcia lepszego bezpieczeństwa stosuje się szyfrowanie pomiędzy kluczem sprzętowym a bibliotekami procedur ochrony klucza oraz pomiędzy tymi bibliotekami a zabezpieczanym oprogramowaniem.

Klucze sprzętowe stanowią zabezpieczenie nie tylko przed naruszeniem praw autorskich lub interesów ekonomicznych producenta. Stosuje się je coraz powszechniej do zabezpieczania systemów o szczególnych wymaganiach co do bezpieczeństwa użytkowników lub grup użytkowników. Przykładem mogą tu być rozwiązania stosowane do ochrony systemów czasu rzeczywistego[2] oraz maszyn mechanicznych i elektromechanicznych[3].

Przypisy

[edytuj | edytuj kod]
  1. I. J. Jozwiak, A. Liber, K. Marczak. A hardware-based software protection systems-analysis of security dongles with memory, Proc. the International Multi-Conference on Computing in the Global Information Technology (ICCGI'07), Washington: IEEE Computer Society 2007, 28-38 (http://dl.acm.org/citation.cfm?id=1259866&CFID=323907096&CFTOKEN=64661217).
  2. A. Liber, K. Marczak: Sprzętowe zabezpieczenie oprogramowania w systemach czasu rzeczywistego. W: Modele i zastosowania systemów czasu rzeczywistego : praca zbiorowa / pod red. Zygmunta Mazura i Zbigniewa Huzara. Warszawa : Wydawnictwa Komunikacji i Łączności, 2008. s. 137-146. ISBN 978-83-206-1702-3
  3. A. Venckauskas, N. Jusas N., L. Kizauskiene, E. Kazanavicius, V. Kazanavicius. Security method of embedded software for mechatronic systems MECHANIKA Issue: 2 Pages: 196-202 DOI: 10.5755/j01.mech.18.2.1572 Published: 2012 https://web.archive.org/web/20140422233307/http://zurnalas.mechanika.ktu.lt/files/Venckauskas182.pdf