Klucz sprzętowy ochrony oprogramowania — Software protection dongle

Dongle ochrony oprogramowania (powszechnie znany jako klucza lub klucza ) jest elektronicznym zabezpieczenia przed kopiowaniem i zawartość urządzenie zabezpieczające. Po podłączeniu do komputera lub innej elektroniki odblokowują funkcje oprogramowania lub dekodują zawartość . Klucz sprzętowy jest programowany za pomocą klucza produktu lub innego mechanizmu ochrony kryptograficznej i działa za pośrednictwem złącza elektrycznego do zewnętrznej magistrali komputera lub urządzenia.

W ochronie oprogramowania klucze sprzętowe to dwuinterfejsowe tokeny zabezpieczające z przejściowym przepływem danych z komunikacją ściąganą, która odczytuje dane zabezpieczające z klucza sprzętowego. W przypadku braku tych kluczy pewne oprogramowanie może działać tylko w trybie ograniczonym lub wcale. Oprócz ochrony oprogramowania, klucze sprzętowe mogą realizować funkcje w urządzeniach elektronicznych, takie jak odbieranie i przetwarzanie zakodowanych strumieni wideo na telewizorach.

Klucz sprzętowy HASP (Hardware Against Software Piracy) dla portu LPT

Etymologia

Słownik Merriam-Webster stwierdza, że ​​„pierwsze znane użycie klucza sprzętowego ” miało miejsce w 1981 r. i że etymologia była „być może zmiana dynda”.

Płytka PCB adaptera portu równoległego Rainbow Tech, strona przednia. Zwróć uwagę, że liczby zostały wytarte z żetonów, aby utrudnić inżynierię odwrotną
Płytka PCB adaptera portu równoległego Rainbow Tech, tylna strona

Klucze sprzętowe szybko ewoluowały w aktywne urządzenia, które zawierały szeregowe urządzenie nadawczo-odbiorcze ( UART ), a nawet mikroprocesor do obsługi transakcji z hostem. Późniejsze wersje przyjęły interfejs USB , który stał się preferowanym wyborem w stosunku do interfejsu szeregowego lub równoległego.

W 1992 roku reklama Rainbow Technologies twierdziła, że ​​słowo klucz pochodzi od nazwy „Don Gall”. Choć nieprawdziwe, dało to początek miejskiemu mitowi .

Stosowanie

Klucze zabezpieczające przed kopiowaniem połączone szeregowo.

Wysiłki zmierzające do wprowadzenia ochrony przed kopiowaniem przez klucz sprzętowy na rynku oprogramowania głównego nurtu spotkały się z silnym oporem ze strony użytkowników. Taka ochrona przed kopiowaniem jest częściej stosowana w przypadku bardzo drogich pakietów i oprogramowania dla rynku pionowego , takiego jak oprogramowanie CAD / CAM, oprogramowanie flasher/debugger JTAG dla telefonów komórkowych , oprogramowanie hotelarskie i specjalne oprogramowanie MICROS Systems , cyfrowe stacje robocze audio i niektóre pakiety pamięci tłumaczeniowej .

W takich przypadkach, jak oprogramowanie do przygotowywania do druku i drukowania, klucz sprzętowy jest kodowany za pomocą określonego klucza licencyjnego na użytkownika, co umożliwia korzystanie z określonych funkcji w aplikacji docelowej. Jest to forma ściśle kontrolowanego licencjonowania, która pozwala dostawcy na uzależnienie od dostawcy i pobieranie opłat wyższych niż w innym przypadku za produkt. Przykładem jest sposób, w jaki firma Kodak udziela klientom licencji na Prinergy : W przypadku sprzedaży klientowi urządzenia drukującego typu computer-to-plate , koszt własnej licencji Prinergy jest dostarczany klientowi oddzielnie, a cena podstawowa zawiera niewiele więcej niż wymagane licencje na wydruki. pracować z urządzeniem.

Klucze USB są również dużą częścią systemów produkcji i edycji dźwięku firmy Steinberg , takich jak Cubase , WaveLab, Hypersonic , HALion i inne. Klucz używany przez produkty Steinberga jest również znany jako klucz Steinberg. Klucz Steinberg można kupić oddzielnie od jego odpowiedników i zazwyczaj jest dostarczany w pakiecie z aplikacją „Syncrosoft License Control Center”, która jest kompatybilna z wieloma platformami zarówno z Mac OS X, jak i Windows.

Niektórzy programiści używają tradycyjnych dysków flash USB jako kluczy licencyjnych oprogramowania, które zawierają numery seryjne sprzętu w połączeniu z przechowywanymi ciągami identyfikatorów urządzeń, które zazwyczaj nie są łatwo zmieniane przez użytkownika końcowego. Deweloper może również użyć klucza do przechowywania ustawień użytkownika, a nawet pełnej „przenośnej” wersji aplikacji. Nie wszystkie dyski flash nadają się do tego zastosowania, ponieważ nie wszyscy producenci instalują w swoich urządzeniach unikalne numery seryjne.

Chociaż takie średnie zabezpieczenia mogą zniechęcić przypadkowego hakera, brak rdzenia procesora w kluczu sprzętowym do uwierzytelniania danych, wykonywania szyfrowania/deszyfrowania i wykonywania niedostępnego kodu binarnego sprawia, że ​​taki pasywny klucz sprzętowy jest nieodpowiedni dla wszystkich programów z wyjątkiem najtańszych programów. Prostszą i jeszcze mniej bezpieczną opcją jest użycie niepartycjonowanej lub nieprzydzielonej pamięci w kluczu do przechowywania danych licencyjnych. Popularne dyski flash USB są stosunkowo niedrogie w porównaniu z dedykowanymi urządzeniami zabezpieczającymi, ale odczytywanie i przechowywanie danych na dysku flash jest łatwe do przechwycenia, zmiany i pominięcia.

Zagadnienia

Istnieją potencjalne słabości we wdrażaniu protokołu między kluczem sprzętowym a oprogramowaniem kontrolowanym przez kopiowanie. Utrudnienie jej złamania wymaga znacznego sprytu . Na przykład prosta implementacja może definiować funkcję sprawdzania obecności klucza, zwracając odpowiednio „prawda” lub „fałsz”, ale wymóg klucza można łatwo obejść, modyfikując oprogramowanie, aby zawsze odpowiadało „prawda”.

Nowoczesne klucze sprzętowe zawierają wbudowane silne szyfrowanie i wykorzystują techniki wytwarzania mające na celu udaremnienie inżynierii wstecznej . Typowe klucze sprzętowe zawierają teraz również pamięć nieulotną — istotne części oprogramowania mogą być faktycznie przechowywane i wykonywane na kluczu sprzętowym. Tak więc klucze sprzętowe stały się bezpiecznymi kryptoprocesorami, które wykonują instrukcje programu, które mogą być wprowadzane do kryptoprocesora tylko w postaci zaszyfrowanej. Oryginalny bezpieczny kryptoprocesor został zaprojektowany do ochrony przed kopiowaniem oprogramowania komputerów osobistych (patrz patent USA 4 168 396, 18 września 1979), aby zapewnić większe bezpieczeństwo niż klucze sprzętowe. Zobacz także szyfrowanie magistrali .

Klonowanie sprzętu, w którym klucz sprzętowy jest emulowany przez sterownik urządzenia, stanowi również zagrożenie dla tradycyjnych kluczy sprzętowych. Aby temu zapobiec, niektórzy dostawcy kluczy sprzętowych w swoich produktach z kluczami sprzętowymi zastosowali produkt w postaci karty inteligentnej, który jest szeroko stosowany w bardzo sztywnych środowiskach wymagających bezpieczeństwa, takich jak wojsko i bankowość.

Bardziej innowacyjny, nowoczesny klucz sprzętowy jest zaprojektowany z procesem przenoszenia kodu , który przenosi zaszyfrowane części kodu programu dostawcy oprogramowania lub egzekwowanie licencji do bezpiecznego środowiska sprzętowego (takiego jak wspomniany powyżej system operacyjny z kartą inteligentną). Niezależny dostawca oprogramowania może przenieść do klucza tysiące linii ważnego kodu programu komputerowego .

Ponadto klucze sprzętowe zostały skrytykowane, ponieważ jako sprzęt , łatwo je zgubić i podatne na uszkodzenia, potencjalnie zwiększając koszty operacyjne, takie jak koszt urządzenia i koszt dostawy.

Konsole gier

Niektóre nielicencjonowane tytuły na konsole do gier (takie jak Super 3D Noah's Ark lub Little Red Hood ) używały kluczy sprzętowych do łączenia się z oficjalnie licencjonowanymi wkładami ROM , w celu obejścia chipu uwierzytelniającego wbudowanego w konsolę.

Niektóre urządzenia do oszukiwania , takie jak GameShark i Action Replay, używają klucza sprzętowego. Zazwyczaj podłącza się go do gniazda karty pamięci systemu, a oprogramowanie oparte na dysku odmawia pracy, jeśli klucz sprzętowy nie zostanie wykryty. Klucz służy również do przechowywania ustawień i przechowywania nowych kodów, dodanych przez użytkownika lub w ramach oficjalnych aktualizacji, ponieważ płyta będąca tylko do odczytu nie może ich przechowywać. Niektóre klucze sprzętowe mogą również działać jako zwykłe karty pamięci.

Zobacz też

Bibliografia

Zewnętrzne linki