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

LPC54000. 2-rdzeniowe mikrokontrolery Cortex-M

Numer: Listopad/2017

Mikrokontrolery z serii LPC54000 są unowocześnionymi następcami popularnej rodziny LPC1700. Nowe mikrokontrolery charakteryzuje innowacyjna konstrukcja, bazująca na dwurdzeniowej jednostce CPU, integrującej Cortex-M4 i Cortex-M0+. Obecnie rodzina mikrokontrolerów LPC54000 jest podzielona na trzy główne podrodziny: LPC5410x, LPC5411x, LPC546xx. Kolejno omówimy ich parametry i możliwości.

ADAU1466 - nowy procesor DSP z rodziny Sigma DSP

Numer: Listopad/2017

Analog Devices ponownie rozszerza rodzinę Sigma DSP. Przedstawione na łamach EP procesory ADAU1452 doczekały się modyfikacji w postaci układu ADAU1466, który jest pierwszym przedstawicielem nowej linii Sigma DSP ADAU146x.

STM8S001J3 (2). Projekt referencyjny zestawu ewaluacyjnego

Numer: Listopad/2017

W sierpniu firma STMicroelectronics rozszerzyła 8-bitową rodzinę mikrokontrolerów STM8 o pierwszy układ w 8-pinowej obudowie ? STM8S001J3. Celem artykułu jest pokazanie, jak łatwe jest projektowanie urządzeń elektronicznych w oparciu o ten mikrokontroler. Jako przykład niech posłuży projekt referencyjny zestawu ewaluacyjnego, który składa się z dwóch płytek: płytki z mikrokontrolerem i płytki rozszerzeniowej.

Protokoły i moduły bezprzewodowe dla IoT (2)

Numer: Listopad/2016

Rozwój technologii IoT wymaga wsparcia przez odpowiednie protokoły i oprogramowanie. Można tworzyć własne standardy i sieci sensorów, jednak jest to nieopłacalne, ponieważ - myśląc globalnie - pojawi się problem spięcia naszej sieci z całą "resztą świata". Dlatego idąc w sukurs konstruktorom budującym urządzenia dla IoT firmy - producenci podzespołów wręcz prześcigają się tworząc różnego rodzaju udogodnienia. Do takich, ...

8-bitowa kontrofensywa (1). Nowe peryferie mikrokontrolerów PIC

Numer: Listopad/2016

Microchip, jeden z największych na świecie graczy w obszarze projektowania i produkcji mikrokontrolerów, wymyślił strategię, dzięki której użytkownicy poszukujący nieskomplikowanych mikrokontrolerów chętnie sięgną po 8-bitowe, sprawdzone mikrokontrolery PIC. Zastosowano pomysłowe połączenie starego, ale sprawdzonego i bardzo popularnego rdzenia PIC16 z nietypowymi, nowatorskimi peryferiami, pracującymi niezależnie od rdzenia (core ...

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Grudzień 2017

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym