Zabezpieczanie klawiatur urządzeń elektronicznych przed nieuprawnionym dostępem
| TechnikaInterfejsy wejściowe niektórych urządzeń, takich jak np. terminale płatnicze, bankomaty czy zamki szyfrowe, muszą być szczególnie starannie zabezpieczone przed nieuprawnionym dostępem osób trzecich i możliwością zewnętrznej ingerencji w ich działanie. Złamanie zabezpieczeń tego typu produktów pozwoliłoby przestępcom wejść w posiadanie wrażliwych informacji użytkowników, np. danych kart płatniczych. Stosowanie specjalnych środków bezpieczeństwa pozwala w znacznym stopniu wyeliminować tego typu zagrożenia.
Jednym z najbardziej wrażliwych elementów interfejsu wejściowego urządzenia są połączenia elektryczne przycisków, klawiatur oraz ich najbliższe otoczenie. Przyciski umieszczone są zazwyczaj pod plastikową lub gumową matą, spełniającą funkcję klawiatury. Są umieszczone są dość blisko powierzchni układu, mogą stanowić łatwy cel podczas próby uzyskania nieuprawnionego dostępu.
Sposoby uzyskiwania nieuprawnionego dostępu
Jednym z typowych sposobów, w jaki przestępcy próbują uzyskać dostęp do urządzenia, jest wykonywanie niewielkich otworów w klawiaturze prowadzących do wyprowadzeń elektrycznych przycisków (rys. 1). W otworach takich umieszcza się bardzo cienkie przewody połączone z zewnętrznym układem zdolnym do przetwarzania i interpretacji sygnałów pochodzących od przycisków, ukrytym przed wzrokiem użytkownika. Po takim zabiegu dane wprowadzane przez użytkownika za pomocą klawiatury mogą zostać w łatwy sposób przechwycone przez osoby niepowołane.
Istnieje wiele innych sposobów na uzyskanie nieuprawnionego dostępu do nie dość dokładnie zabezpieczonego systemu, np. poprzez odczyt zmian pola elektromagnetycznego lub odcięcie zasilania.
Elementem przesądzającym o całkowitej odporności każdego systemu na ataki jest jego najsłabiej zabezpieczony fragment, ponieważ to właśnie ta część systemu będzie prawdopodobnie ich głównym celem.
Stosowanie środków ochronnych jedynie dla wybranych elementów urządzenia nie zapewni zatem wystarczającego poziomu bezpieczeństwa - konieczne jest objęcie spójną i kompleksową ochroną każdego podzespołu i podsystemu.
W dalszej części tekstu przedstawione zostaną wybrane sposoby zabezpieczania klawiatury, będącej zazwyczaj jednym z głównych interfejsów wejściowych systemu.
Ochrona przed fizyczną ingerencją
Do detekcji prób fizycznej ingerencji w strukturę klawiatury wykorzystuje się zazwyczaj bardzo gęstą przewodzącą siatkę umieszczoną pomiędzy matą klawiatury a przyciskami. Taka siatka jest w zasadzie pojedynczym przewodem, którą poprzez odpowiednie zwijanie formuje się w taki sposób, by stworzył warstwę ochronną przykrywającą wszystkie przyciski.
Przewód ten podłączony jest jednym z końców do źródła napięcia stałego o określonej wartości, drugim zaś do układu pomiarowego monitorującego poziom napięcia (np. do przetwornika A/C). Istnieje bardzo duże prawdopodobieństwo, że próba fizycznej ingerencji w strukturę klawiatury spowoduje przerwanie przewodu, w efekcie zaś zmieni się wartość napięcia odczytywanego przez układ monitorujący. Wykrycie takiego zdarzenia powinno skutkować wstrzymaniem dalszego działania urządzenia, co pozwoli zapobiec wyciekowi poufnych danych.
By powyższe rozwiązanie było skuteczne, należy zabezpieczyć się przed możliwością usunięcia przez przestępców zewnętrznej warstwy klawiatury i umieszczonej pod nią siatki ochronnej. W celu detekcji próby podniesienia lub manipulacji matą klawiatury można zastosować środki pokazane na rysunku 2.
W dolnej powierzchni maty klawiatury wykonuje się wyprowadzenia elektryczne połączone z takimi samymi punktami rozmieszczonymi na płytce drukowanej. Okresowe sprawdzenie ciągłości elektrycznej obwodu pozwala wykryć próbę usunięcia lub przemieszczenia zewnętrznej warstwy klawiatury.
Na rysunku 3 przedstawiono metodę, która pozwala na wykrycie obcych obiektów umieszczonych między warstwami klawiatury. Wartość mierzona przez czujnik pojemnościowy zmienia się w przypadku ulokowania w strukturze klawiatury jakiegokolwiek dodatkowego przedmiotu. Taki obcy element wnosi do układu dodatkową pojemność, która zostaje wykryta przez sensor - w ten sposób otrzymujemy informację o próbie złamania zabezpieczeń urządzenia.
Zabezpieczanie pojemnościowych przycisków dotykowych
Podczas projektowania urządzeń przeznaczonych do szerokiej sprzedaży bardzo ważnym zagadnieniem jest minimalizowanie kosztów ich produkcji, z czym wiąże się m.in. ograniczanie liczby elementów wykorzystywanych w układzie oraz stopnia skomplikowania ich montażu. Z tego powodu korzystne może okazać się zastąpienie klasycznych przycisków mechanicznych ich dotykowymi odpowiednikami.
Główny element pojemnościowego przycisku dotykowego to umieszczone na płytce pole przewodnika, połączone ścieżką z układem pomiarowym. Warstwa ochronna, wykonana np. ze szkła, zabezpiecza przed nieuprawnionym dostępem do wyprowadzeń przycisku. Podobnie jak w przypadku mechanicznej klawiatury jest ona trudna do usunięcia oraz trwała.
Klawiatura dotykowa wymaga montażu mniejszej liczby elementów niż mechaniczna, powoduje zatem obniżenie kosztów projektu. Wymaga jednak zastosowania innych zabezpieczeń niż te omówione w poprzedniej części tekstu.
W przypadku pojemnościowych interfejsów dotykowych stosowanie omówionej wcześniej siatki ochronnej nie jest możliwe, ponieważ uniemożliwiałoby detekcję jakiegokolwiek dotyku - tego typu siatka działałaby jak warstwa ekranująca. Jednym z możliwych rozwiązań tego problemu jest odpowiednie zaprojektowanie pól przycisków, co pokazano na rysunku 4.
Klasyczne pole pojemnościowego przycisku dotykowego to zwarty obszar przewodnika, najczęściej w kształcie koła, czworokąta lub innej figury geometrycznej. Możliwe jest jednak uformowanie tego obszaru na wzór spirali, tak jak na rysunku 4b. Tak skonstruowane pole również ma powierzchnię wystarczającą do detekcji dotyku, może być ponadto otoczone ochronną ścieżką ekranującą, co pokazano na rysunku 5.
Ścieżka ekranująca biegnie równolegle do pola przycisku po obu jego stronach. Odległość pomiędzy nią a ścieżką przycisku musi być na tyle mała, by wszystkie próby fizycznego dostępu do pola przycisku powodowały uszkodzenie lub zwarcie ścieżki ekranującej.
Pola wszystkich przycisków otoczone są jedną wspólną ścieżką ekranującą. Dzięki temu w rzeczywistych układach rozmieszczenie pól przycisków jest w zasadzie niewidoczne, ponieważ bardzo ciężko jest je wizualnie rozróżnić na tle ścieżki ekranującej. Przykład takiej mozaiki ścieżek przedstawiono na rysunku 6. Trudność lokalizacji pól przycisków jest kolejną korzyścią wynikającą ze stosowania ścieżki ekranującej, zwiększającą poziom bezpieczeństwa urządzenia.
Umieszczone w górnej warstwie płytki PCB przyciski pojemnościowe muszą być połączone z układem sterującym (np. kontrolerem interfejsu lub mikrokontrolerem), który znajduje się zazwyczaj w dolnej warstwie Ponieważ mogą one stanowić potencjalny cel ataku, zaleca się stosowanie przelotek zagrzebanych.
Obecność ścieżki ekranującej powoduje znaczny wzrost pojemności własnej przycisku. Wiąże się to ze zmniejszeniem czułości układu, co jest zjawiskiem negatywnym, ponieważ pogarsza również skuteczność detekcji dotyku. By umożliwić redukcję tego efektu, niektóre układy kontrolerów mają wyjście signal shield, pozwalające na przyłączenie ścieżki ekranującej.
Ścieżka ekranująca sterowana jest wtedy takim samym napięciem jak pole przycisku, co ogranicza wzajemne sprzężenie pojemnościowe. Gdy zachodzi potrzeba sprawdzenia ciągłości elektrycznej ścieżki ekranującej, konieczne jest przełączenie źródła napięcie dla tej linii - można do tego celu wykorzystać np. analogowy multiplekser.
Przykład takiego rozwiązania wykorzystującego układ PSoC przedstawiono na rysunku 8. Drugi koniec ścieżki ekranującej podłączony jest do innego z wyjść układu, połączonego z masą układu rezystancją o stałej wartości, która wraz z rezystancją ścieżki tworzy dzielnik napięcia. Sprawdzanie stanu przycisków odbywa się poprzez podłączanie każdego z nich do wejścia czujnika pojemnościowego.
Po zakończeniu skanowania przycisków możliwe jest przełączenie układu w celu sprawdzenia ciągłości elektrycznej ścieżki ekranującej, tak jak pokazano na rysunku 9. Na wejście ścieżki podawane jest napięcie o określonej wartości pochodzące z wyjścia przetwornika C/A, na wyjściu jest ono odczytywane przez przetwornik A/C. Wartość napięcia generowanego przez przetwornik C/A może zmieniać się w sekwencji pseudolosowej, co będzie stanowić kolejny poziom zabezpieczenia - uniemożliwi osobie dokonującej próby włamania generację własnego, fałszywego sygnału.
Podsumowanie
Przedstawione w tekście sposoby pozwalają zabezpieczyć przed negatywnymi skutkami potencjalnego włamania klawiaturę urządzenia, zarówno mechaniczną, jak i dotykową. Należy jednak pamiętać, że tego typu zabiegi nie są wystarczające do zapewnienia bezpieczeństwa całego produktu. W tym celu należy wdrożyć równie skuteczne zabezpieczenia dla pozostałych elementów urządzenia.
Damian Tomaszewski