Zobacz artykuł

Czym jest cyfrowy Fingerprint urządzenia?

Zespół TrafficWatchdog

07.01.2020 r.

fingerprint, cryptographic methods, Rabin algorithm

Czym jest cyfrowy Fingerprint urządzenia?

źródło: opracowanie własne

Cyfrowy Fingerprint to nic innego jak wirtualny odcisk palca, a więc charakterystyczny dla danego urządzenia zbiór danych mogących zidentyfikować urzytkownika przy ponownym wejściu na daną stronę. Pod tym względem przypominają pliki cookies, są jednak znacznie bardziej zaawansowane, a użytkownik, nie może sam ich usunąć. Specjalnie przygotowane algorytmy zadają pytania danemu urządzeniu i gromadzą informacje pochodzące z przeglądarki, systemu operacyjnego, a nawet poszczególnych programów.

Jak działa Fingerprinting?

Fingerprinting w informatyce to procedura oparta na dokładnie tworzonych algorytmach. Pozwalają one na przetwarzanie dużych zbiorów danych ( jak na przykład pliki komputerowe) na znacznie krótsze ciągi bitów, stanowiacych poniekąd cyfrowy odcisk palca. Dzięki temu możliwe jest wierne odtworzenie oryginalnego zbioru danych. Bardzej zaawansowane algorytmy umożliwiają stworzenie odcisku palca całego urządzenia, na podstawie fingerprintów jego części składowych.

Techniki oparte na cyfrowych fingerprintach bazują na założeniu o wirtualnej wyjątkowości, co oznacza, że prawdopodobieństwo, że algorytm stworzy taki sam fingerprint dla innego zbioru danych musi być minimalne. Często dane pliki dokumentów, różnią się między sobą jedynie niuansami - prawidłowy algorytm pobierania odcisków palców powinien gwarantować, że generowane przez niego fingerprinty mają pożądany poziom pewności. Gdyby doszło do tego, że dwa pliki dały ten sam odcisk palca mielibyśmy bowiem do czynienia z kolizją i jednoznaczne zidentyfikowanie danych byłoby niemożliwe. Dlatego wirtualne odciski palca mają najczęściej co najmniej 64-bitową długość - ma to być gwarantem ich wirtualnej unikalności.

Algorytm Rabina i metody kryptograficzne

Prototypem dzisiejszych rozwiązań fingerprintingowych był algorytm Rabina, wyposażony w dokładną matematyczną analizę prawdopodobieństwa zderzenia. Jest to asymetryczny szyfr, oparty o trudność obliczeń. Wymaga wcześniejszego określenia w-bitowego „klucza” oraz dokonania wyboru ciągów r i s bez jego znajomości, dzięki czemu może on zagwarantować unikalność. Metoda Rabina nie zabezpiecza jednak przed złośliwymi atakami, można łatwo odkryć klucz i użyć go do modyfikacji plików nie zmieniając przy tym odcisku palca.

Innym prekursorem dla fingerptintingu były algorytmy kryptograficzne, jak na przykład MD5 i SHA. Wykonanie ich zajmuje znacznie więcej czasu niż algorytmu Rabina, ale zapewniają większe bezpieczenieństwo w przypadku złośliwych ataków. Brakuje w nich jednak sprawdzonych gwarancji prawdopodobieństwa kolizji.

Na czym polega Fingerprinting w praktyce?

Narzędzie zainstalowane na konkretnej stronie internetowej zadaje przeglądarce serię pytań – o zainstalowane wtyczki i oprogramowanie, o wielkość i rozdzielczość ekranu, kartę graficzną, strefę czasową, listę obsługiwanych czcionek i wiele innych zmiennych.

Zastosowanie

Cyfrowe odciski palców pojawiły się by umożliwić porównywanie i przesyłanie dużych zbiorów danych, ale także jako rozwiązania zapewniające ochronę praw autorskich, wykrywanie fraudów i śledzenie przestępców. Cyfrowe odciski palca można również wykorzystywać do deduplikacji danych. Najczęściej jednak fingerprinty używane są w celu identyfikacji danego urzytkownika lub jego urządzenia - podobnie jak zwykłe odciski palców jednoznacznie identyfikują ludzi.

Przykłady

Dzięki cyfrowym odciskom przeglądarka internetowa lub serwer proxy może sprawdzić, czy plik źródłowy został zmodyfikowany, tworząc fingerprint i porównując go z wcześniej pobraną kopią.

Baza danych HashKeeper, prowadzona przez National Drug Intelligence Center, posiada bazę odcisków palców plików komputerowych „dobrych” i „złych” i udostępnia ją w aplikacjach organów ścigania.

Fingerprinting jest też stosowany w internetowych systemach płatniczych typu card not present, aby wykryć i zablokować tych użytkowników, którzy próbują dokonać płatności kradzionymi kartami.

Wirtualne odciski palców są też często używane w systemach antyfraudowych. Przykładem może być tutaj ich używanie przez nasz serwis. Stworzony (i systematycznie udoskonalany) przez zatrudnianych przez TrafficWatchdog ekspertów algorytm składa się z ponad 200 różnych zmiennych i pozwala zidentyfikować i zablokować fraudowych wydawców oraz innych internetowych oszustów.

Wady rozwiązań Fingerprintingowych

Nie ma doskonałych technologii, dlatego tworzenie cyfrowych odcisków palców również wiąże się z pewnymi problemami. Jeśli zastosowany w nim algorytm jest stabilny,a więc mało podatny na wprowadzane na urządzeniu zmiany, może wiązać się z niewielką odpornością na kolizję. Tego typu rozwiązania stosowane są przeważnie na stronach o niewielkim ruchu. Natomiast jeśli algorytm zapewnia dużą unikalność swoich fingerprintów, zapewne składa się z wielu zmiennych, co znacznie skraca żywotność tworzonych przez niego odcisków. Problem ten rozwiązuje się poprzez połączenie ze sobą wielu typów fingerprintów, należy jednak zachować umiar – bo użycie zbyt wielu różnych rozwiązań również obniży stabilność. Największa trudność związana z metodami stosującymi technikę fingerprintingu to stałe określanie złotego środka, tak aby system był stabilny, ale również zapewniał różnorodność tworzonych przez niego odcisków.