wersja mobilna | kontakt z nami

Ochrona danych w systemach wbudowanych zasilanych akumulatorowo

Numer: Luty/2016

Rosnąca liczba urządzeń przenośnych, podłączonych do Internetu i zasilanych z akumulatorów sprawia, że inżynierowie coraz częściej potrzebują dobrych rozwiązań, umożliwiających zabezpieczenie danych. Problemem jest nie tylko ochrona informacji przed niepowołanym dostępem, ale również zapewnienie ich poprawności przechowywania także wtedy, gdy nastąpi utrata zasilania. Mikrokontrolery Microchip PIC24F serii GB2 zawierają mechanizm kryptograficzny, generator liczb losowych oraz pamięć jednorazowo programowalną, które pomagają zachować bezpieczeństwo w aplikacjach.

Pobierz PDF

Mikrokontrolery PIC24F serii GB2 są też przystosowane do tworzenia aplikacji o ekstremalnie małym poborze prądu, dzięki implementacji technologii Microchip XLP (eXtreme Low Power). Pobierają nawet jedynie 18 nA prądu w trybie uśpienia o 180 mA w przeliczeniu na megaherc w trakcie normalnej pracy.

Nowoczesne systemy wbudowane nierzadko wymagają licznych interfejsów komunikacyjnych. Układy GB2 mają zintegrowaną obsługę USB, co pozwala bardzo łatwo podłączać je do peryferiów elektronicznych i komputerów. Można też zastosować moduły Microchipa do interfejsów Wi-Fi, ZigBee czy Bluetooth Smart o niskim poborze mocy.

Rysunek 1. Schemat blokowy przykładowego układu z omawianej rodziny

Polecane zastosowania

Dzięki małemu poborowi prądu oraz mechanizmom bezpieczeństwa danych, seria układów GB2 znajduje zastosowanie w szerokim zakresie komputerów przemysłowych oraz w sprzęcie medycznym i sportowym. Może posłużyć do tworzenia elektronicznych zamków do drzwi i systemów kontroli dostępu, niezależnie od tego, czy pracują w oparciu o klawiaturę, karty magnetyczne, czy interfejsy bezprzewodowe. Inne typowe aplikacje obejmują kamery bezpieczeństwa oraz zautomatyzowane systemy sprzedaży - gdyż oba te rodzaje projektów wymagają zapewnienia wysokiego stopnia bezpieczeństwa.

Układy GB2 będą też użyteczne w inteligentnych czujnikach, wpisujących się w trend Internetu Przedmiotów, np. do monitorowania ciśnienia, temperatury, natężenia światła czy wilgotności i przesyłania zebranych informacji bezprzewodowo.

Układy PIC24F GB2 mogą też zostać użyte do produkcji peryferiów komputerowych o małym poborze mocy, zasilanych przez USB lub z baterii i łączących się bezprzewodowo; zestawy słuchawkowe i bezprzewodowe drukarki mają takie właśnie cechy.

W przypadku urządzeń medycznych i związanych z fitnessem, mikrokontrolery serii GB2 mogą przetwarzać dane w krokomierzach oraz wszelkich urządzeniach, które gromadzą wrażliwe dane i łączą się z smartfonami i tabletami.

Bezpiecznie zapisane dane mogą też zawierać informacje konfiguracyjne, zarówno w pamięci na tej samej płytce drukowanej, jak i w zewnętrznych urządzeniach, choćby podłączanych bezprzewodowo przez szyfrowane łącza.

Tabela 1. Liczba cykli potrzebnych na poszczególne operacje kryptograficzne przy użyciu jednostek kryptograficznych układów z serii GB2

Mechanizm kryptograficzny

Układy PIC24 serii GB2 zawierają w pełni sprzętowy mechanizm szyfrowania, wspierający algorytmy AES, DES i 3DES. Obsługuje wiele opcji konfiguracyjnych, a w tym szyfrowanie i deszyfrowanie 128-, 196- i 256-bitowego AESu oraz wszystkie tryby pracy (ECB, CBC, CFB, OFB i CTR) w ramach tych algorytmów. Fakt, że funkcje te są realizowane sprzętowo, znacząco zmniejszone jest zapotrzebowanie na moc obliczeniową.

Obliczenia w układach sprzętowych są wykonywane wiele razy szybciej niż programowo. Dokładniej - implementacje sprzętowe sprawiają, że potrzeba jedynie kilkuset cykli pracy procesora na przetworzenie bloku danych, podczas gdy w aplikacjach całkowicie programowych, taki sam blok będzie wymagał kilkunastu tysięcy cykli. Oznacza to zarazem, że procesor używając obwodów sprzętowych do kryptografii nie musi wstrzymywać wykonywania głównej części programu, na czas szyfrowania czy deszyfrowania. Pokazano to w tabeli 1, w której zawarto liczby cyklów potrzebnych na wykonanie poszczególnych operacji w układach PIC24F serii GB2 Szybsze skończenie pracy nad przetwarzanymi blokami prowadzi do ograniczenia zużycia energii, gdyż układ może pracować z pełnym obciążeniem przez krótszy czas. Alternatywnie można po prostu zastosować wolniejsze taktowanie, które zmniejsza zapotrzebowanie na moc. Oszczędność dotyczy także pamięci - sprzętowe algorytmy nie wymagają używania dużych, szybkich układów RAM, ani nie zajmują tyle miejsca w pamięci programu.

Korzyści płynące z użycia algorytmów sprzętowych łatwo obliczyć. Weźmy pod uwagę realizację 128-bitowego algorytmu AES, w którym przetworzenie każdego 16-bajtowego bloku wymaga 250 cykli pracy procesora. Przy taktowaniu 32 MHz uzyskujemy w praktyce 16 mln cykli pracy na sekundę, a więc w ciągu sekundy procesor przetwarza 1024 tysiące bajtów.

Przyjmijmy, że chcemy przetworzyć jedynie 1024 bajty danych. Przy wyliczonym tempie, potrzebna będzie jedynie 1 ms na taką operację. Maksymalny prąd, jaki układ może pobierać przy taktowaniu 32 MHz i napięciu 2 V to 7,6 mA. Ponieważ 1 ms to 1/3600000 godziny, na przetworzenie 1024 bajtów danych potrzebne będzie 4,2 nWh (nano-wato-godzin) energii.

Generowanie kluczy

Do generowania kluczy potrzebnych do szyfrowania i deszyfrowania danych oraz autentykacji wykorzystuje się liczby losowe. Mikrokontrolery serii GB2 pozwalają tworzyć zarówno liczby prawdziwie losowe, jak i pseudolosowe. Te pierwsze zapewniają większe bezpieczeństwo, gdyż nie da się ich odtworzyć, co ogranicza możliwości złamania zabezpieczeń. Ponadto liczby prawdziwie losowe są przydatne także w systemach gier. W niektórych przypadkach, np. w symulacjach i w modelowaniu, korzystne jest używanie liczb z generatora pseudolosowego. Układy serii GB2 umożliwiają swobodny wybór rodzaju generowanych liczb.

Tabela 2. Dostępne modele mikrokontrolerów PIC24FJ GB2 I GA2

Bezpieczne przechowywanie kluczy

Wbudowana pamięć jednorazowego programowania pozwala bezpiecznie przechowywać klucze zabezpieczające, uniemożliwiając ich niepowołany odczyt. Dostęp do nich ma tylko algorytm szyfrujący, a odczytanie tej pamięci z poziomu aplikacji nie jest możliwe. Ta jednokrotnie programowania pamięć mieści 512 bitów, co pozwala na przechowanie kilku kluczy. W przypadku 256-botpwegp szyfru AES, zmieszczą się tam 2 klucze, w 128-bitowym AESie - 4 klucze, a gdy używany jest 64-bitowy DES - pamięć wystarczy na 8 kluczy.

Jeśli zaistnieje potrzeba użycia większej liczby kluczy, można je bezpiecznie przechowywać dzięki koncepcji klucza szyfrującego klucze (KEK - Key Encryption Key). Polega ona na tym, że zapisany w bezpiecznej pamięci klucz służy do deszyfrowania fragmentu pamięci Flash lub RAM, w której zapisana jest dowolna liczba zaszyfrowanych kluczy. Cały algorytm został przygotowany w taki sposób, by klucze po odszyfrowaniu również nie były dostępne do bezpośredniego odczytu z poziomu oprogramowania, ale by mogły zostać użyte w dalszych sprzętowych procesach kryptograficznych. Są bowiem - po deszyfracji - przechowywane w specjalnie zarezerwowanym na ten cel rejestrze, niedostępnym dla oprogramowania.

Rysunek 2. Przykład aplikacji szyfrowego zamka cyfrowego do drzwi

Przykładowa aplikacja: elektroniczne zamki do drzwi

Dobrym przykładem użycia omawianych mikrokontrolerów jest projekt elektronicznego zamka do drzwi. Schemat blokowy takiego rozwiązania został przedstawiony na rysunku 2. Obwody kryptograficzne mikrokontrolerów rodziny GB2 pozwalają zaszyfrować dane użytkownika, takie jak np. imiona i nazwiska pracowników, kody oraz daty i godziny czasów wejść i wyjść. Mogą być też użyte do autentykacji w trakcie prób dostępu do zabezpieczonych stref budynków, w oparciu o przedstawione przez użytkownika dane. Wszystkie krytyczne informacje są w bezpieczny sposób zapisane i wczytywane tylko wtedy, gdy procesor potrzebuje ich użyć do realizacji algorytmów szyfrowania lub deszyfrowania.

Dodatkowo, użyteczna w takim projekcie może okazać się zintegrowana jednostka CTMU (Charge Time Measurement Unit), która pozwala na wykrywanie dotyku i realizację przycisków zbliżeniowych - np.

w postaci klawiatury numerycznej. Jeśli użytkownik nie wchodzi w interakcje z systemem, urządzenie może przejść w stan spoczynku - do trybu o najmniejszym poborze mocy, by zaoszczędzić energię z baterii.

Silnik odryglowujący drzwi jest uruchamiany za pomocą prostego przerwania. Niektóre z systemów mogą być zasilane bezpośrednio, ale w przypadku większych rygli używa się czterech baterii AA. Cały system może działać tylko z zasilania bateryjnego, co w typowej aplikacji oznacza konieczność wymiany źródła zasilania co kilka lat.

Co więcej, mikrokontrolery serii GB2 mają dodatkowo wejście VBAT, które pozwala na podłączenie baterii podtrzymującej pracę kalendarza i zegara czasu rzeczywistego (RTCC - Real Time Clock Calendar), użytecznego np. do rejestracji czasu wejść i wyjść pracowników. Dzięki temu urządzenie nie wymaga aktualizacji czasu, gdy główna bateria zostanie wyczerpana i wymieniona.

Do odczytu kart magnetycznych lub komunikujących się bezprzewodowo, używany jest interfejs UART. W bardziej zaawansowanych aplikacjach użytkownik może dostawać kod potrzebny do odblokowania drzwi na telefon i używać smartfona do otwierania zamka - np. przez Bluetooth Smart lub NFC.

Przykładowa aplikacja: zabezpieczanie pamięci EEPROM

Wiele różnorodnych aplikacji wymaga przechowywania ważnych danych konfiguracyjnych, potrzebnych do pracy urządzenia, w zewnętrznej pamięci EEPROM, zlokalizowanej na płytce drukowanej. Choć dane te są przechowywane lokalnie, problem ich ochrony nie jest trywialny. Bywa tak, że użytkownicy usuwają układy EEPROM z płytek i zastępują je swoimi, w których zapisano inne parametry. Świetnym przykładem jest motoryzacja, w której w ten sposób można zmienić parametry pracy silnika, zwiększając jego maksymalną moc, ale też skracając żywotność oraz podwyższając emisję szkodliwych substancji. Podobny problem pojawia się też w grach, gdzie użytkownicy mogą zwiększyć swoje szanse, właśnie poprzez zmianę zawartości pamięci konfiguracyjnej. Wszystkich tych problemów można uniknąć, jeśli pamięć się zaszyfruje, bezpiecznie przechowywanym kluczem.

Narzędzia deweloperskie

Układy PIC24 serii GB2 współpracują z całym ekosystemem płytek deweloperskich Microchip Explorer 16. Potrzebny jest jedynie nowy moduł procesorowy (PIM - Processor plug-In Module). Dwa takie nowe moduły znalazły się w tabeli 3.

Dodatkowe karty rozszerzeń pozwalają na realizowanie połączeń USB, obsługę inteligentnych kart lub kart SIM. Dostępne są też karty z interfejsami bezprzewodowymi, w tym Wi-Fi i Bluetooth Smart.

Tabela 3. Narzędzia deweloperskie kompatybilne z omawianymi układami

Podsumowanie

Układy PIC24F serii GB2 spełniają wiele oczekiwań, stawianych przed mikroprocesorami stosowanymi w przenośnych systemach wbudowanych. Zapewniają wysoki stopień bezpieczeństwa dzięki zintegrowanym obwodom kryptograficznym, generatorom liczb losowych oraz jednorazowo programowanej pamięci. Projektanci mogą tworzyć bezpieczne systemy, bez podnoszenia zużycia energii, co pozwala tworzyć produkty o długim czasie pracy na baterii. Bogate interfejsy komunikacyjne, ułatwiają tworzenie projektów wpisujących się w trend Internetu Rzeczy.

Alexis Alcott
Senior Manager
Dział mikrokontrolerów 16-bitowych
Microchip Technology Inc.

Pozostałe artykuły

LTC4123 - miniaturowa ładowarka bezprzewodowa

Numer: Marzec/2017

Pomimo rozwoju tej techniki, ładowanie bezprzewodowe raczej z dużą trudnością adaptuje się w sprzęcie powszechnego użytku. Zbyt długie prace nad standardem, obecność kilku konkurencyjnych rozwiązań nie ułatwiają wyboru i ?doposażenia? własnych konstrukcji w funkcje ładowania bezprzewodowego. W artykule przedstawiono rozwiązanie proponowane przez Linear Technology służące do bezprzewodowego ładowania akumulatora NiMH o niewielkiej ...

Najnowsze osiągnięcia w dziedzinie przemysłowych wyświetlaczy LCD

Numer: Marzec/2016

Od dłuższego czasu obserwujemy bardzo szybki postęp w branży dużych wyświetlaczy ciekłokrystalicznych. Dotyczy on nie tylko telewizorów - nowości technologiczne z rynku konsumenckiego szybko przenoszone są do sektora przemysłowego. Pomimo znacznie ostrzejszych wymagań odnośnie do wytrzymałości urządzeń przemysłowych, wiodącym na rynku firmom udaje się wprowadzać do sprzedaży produkty o zaskakująco dobrych parametrach. Przegląd ...

MAXimator - tani zestaw startowy z Altera FPGA z rodziny MAX10

Numer: Marzec/2016

Nowoczesna elektronika nie istnieje bez układów FPGA, czego jednak nie widać na co dzień, zwłaszcza w "zarduinizowanym" świecie mikrokontrolerów. Jedną z przyczyn słabej percepcji technologii FPGA są relatywnie wysokie ceny zestawów startowych, które zniechęcają wielu początkujących. Mamy przyjemność poinformować, że sytuacja uległa zmianie i to dzięki polskiej firmie KAMAMI, której biuro konstrukcyjne opracowało i rozpoczęło ...

D32PRO - skalowalny procesor 32-bitowy

Numer: Marzec/2016

Jakiś czas temu informowaliśmy o polskim procesorze z rdzeniem 32-bitowym D32PRO, a teraz dzięki uprzejmości firmy Digital Core Design z Bytomia, możemy podać więcej szczegółów związanych z jego architekturą i listą rozkazów. Firma DCD zajmuje się projektowaniem IP Core od 1999 roku, zatem można powiedzieć, że jej najnowsze dzieło - procesor D32PRO - jest sumą doświadczeń zbieranych przez inżynierów firmy na przestrzeni ...

Renesas Synergy, czyli jak rozwijać produkty w świecie IoT

Numer: Marzec/2016

Przemysł elektroniczny wygląda obecnie zupełnie inaczej niż jeszcze 5 lat temu. Trudno precyzyjnie wskazać moment, w którym zaszła ta zmiana, ale można śmiało powiedzieć, że elektronika stała się bardzo powszechna i modna. Nie oznacza to niestety, że lutowanie i projektowanie obwodów stało się popularne, lecz że zaczęła podlegać prawom panującym w modzie. Produkt wprowadzony w ubiegłym sezonie szybko staje się passé, ...

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Marzec 2017

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym