česky english Vítejte, dnes je středa 25. prosinec 2024

Embedded systémy umožňují autentizaci zdravotnických prostředků

DPS 3/2016 | Články
Autor: Jonathan Dillon, Microchip Technology

V oblasti zdravotnických prostředků je důležitá metoda prokazující použití správného homologovaného příslušenství, ať už jednorázového, nebo určeného pro opakované použití. Pokud je použito nesprávné příslušenství, například takové, které je určeno pro jiný model zařízení nebo pro zařízení jiného výrobce, mohou vzniknout závažné problémy. Opakované použití jednorázového příslušenství pak může mít za následek nižší účinnost a také je pravděpodobné, že nebude dostatečně hygienické. Vážným rizikem je pak používání padělaného příslušenství, které nemusí splňovat náročné standardy a může mít podstatně horší výkon.

Digitální autentizace může poskytnout vysoký stupeň jistoty, že daný prostředek zdravotnického příslušenství je správný a vhodný. Takový systém je schopen předepsaným způsobem reagovat na zjištění, že dané příslušenství není možné bezpečně ověřit. Typ reakce se přitom může lišit od jednoduchého informování uživatele, že se příslušenství nepodařilo ověřit, až po úplné zabránění jeho použití.

Digitální autentizace

Jednoduché ID systémy s výměnou digitálních podpisů mohou obsáhnout celou škálu digitálních ověřovacích schémat. Digitální ověřování však vyžaduje přidaný inteligentní prvek jak v pracovním zařízení, tak i prověřovaném příslušenství. Embedded procesory již bývají běžnou součástí mnoha moderních systémů a mohou být použity k zajištění ověření. V případě příslušenství lze jeho konstrukci také upravit za účelem podpory ověřování. Pokud autorizované příslušenství ještě neobsahuje inteligentní embedded prvek, je obvykle relativně snadné přidat malý levný mikrokontrolér s nízkým příkonem.

Dalším požadavkem je vytvoření obousměrného komunikačního kanálu pro výměnu dat mezi zařízením a příslušenstvím. Při tom lze použít již existující komunikační kanály nebo sběrnici fungující uvnitř zařízení, která by mohla být rozšířena tak, aby zajistila komunikaci s připojeným příslušenstvím. Pokud je potřeba přidat přenosový kanál zařízení s hardwarovou podporou, mohou být použity standardní rozhraní typu UART, I2C, SPI a single-wire protokoly (například protokol UNI/O), a to i vzhledem k omezenému počtu konektorů, podpoře široké nabídky zařízení či požadavku na snadnou implementaci. Pro některé lékařské aplikace může být s výhodou využita i technologie RFID, protože nevyžaduje vnější elektrické připojení. Ta značně zjednodušuje proces čištění a sterilizace, neboť tyto systémy mohou být zcela uzavřeny.

Obr. 1 I malé levné mikrokontroléry splňují požadavky na bezpečnost

Přenos ID může na požádání přinést do systému jednoduché ověřování. MCU může být v příslušenství nahrazen i sériovou pamětí EEPROM s uloženým ID, které je v systému čteno jiným mikrokontrolérem. Řešení otázky použití nesprávného příslušenství nebo jeho náhodného opětovného použití lze provést ukládáním dat. Úroveň zabezpečení je ale v tomto případě velmi nízká. Padělatelům stačí k výrobě pouze zkopírovat ID nahrané z originálního příslušenství.

Implementace typu odpověď/autentizace a jeho deriváty nabízejí mnohem bezpečnější řešení. Systém do připojeného příslušenství vyšle v tomto schématu takový dotaz, na který zná odpověď jen originální produkt. Jedině ten do systému odešle správnou odpověď, zatímco padělané zboží dotaz sice může vyhodnotit, ale správnou odpověď logicky nezná.

Celý postup probíhá takto:

  1. Hlavní systém vygeneruje náhodné číslo nebo požadavek.
  2. Dotaz je přenesen do příslušenství.
  3. Příslušenství modifikuje výzvu dle předem uspořádaného, utajeného způsobu a připraví odpověď.
  4. Příslušenství odešle odpověď zpět do systému.
  5. Systém dle uchované kopie dotazu vytvoří odpověď.
  6. Systém porovná odpověď s odpovědí z příslušenství. Pokud se shodují, je připojené příslušenství správné.

Systém ovšem musí také zohlednit celou řadu možných problémů, a tak na obranu proti padělatelům nevytváří look-up tabulky autentických reakcí bezpečné autentizace. Stejně tak i z pohledu nákladů na ukládání rozsáhlých tabulek je mnohem výhodnější výpočet odpovědi za běhu než uchovávání správné odpovědi v příslušenství.

U deterministického digitálního systému není ovšem generování náhodných čísel snadným úkolem. Jen málo externích zdrojů je opravdu nahodilých, nepředvídatelných a rovnoměrně rozdělených. Omezený počet potenciálních kombinací snižuje počet reakcí, které mají zabránit použití padělků. Pseudonáhodné číslo generované algoritmem je robustnější metodou v každém systému, který obsahuje unikátní sériové číslo, případně své sériové číslo systému umožňuje modifikovat. Ověřené algoritmy generování pseudonáhodných čísel produkují neopakující se sekvence čísel, které jsou rovnoměrně rozmístěny ve svém rozsahu potenciálních výstupních hodnot. Spouštěcí hodnota slouží k inicializaci algoritmu a určuje sled výstupních hodnot. Každý systém by přitom měl mít tuto hodnotu jedinečnou tak, aby byla i výsledná číselná sekvence jedinečná. Proměnné algoritmy by měly být uloženy v energeticky nezávislé paměti, aby jejich hodnoty byly zachovány i po odpojení napájení systému. Tím se rovněž zabraňuje opakovanému aktivování algoritmu a opakování stejných pořadových čísel.

Šifrování jednotkou nebo průchodem přes jednosměrné matematické funkce, tzv. Secure Hash, může představovat zajímavou výzvu. V obou případech je výsledný kód modifikován tak, že není čitelný a nepřináší žádný identifikační zdroj v oblasti výstupu pro sekvenční vstupy. Postup přitom musí být utajen, neboť dotaz i následná odpověď mohou být sledovány pomocí odposlechu přímo na komunikačním kanálu. Pokus pro určení modifikace pomocí šifrování a Secure Hash algoritmů vyžaduje obrovské množství výpočtů a velký počet zachycených párů výzva-odpověď. AES, TDES a XTEA jsou symetrické, blokově založené šifry vhodné pro aplikace s mikrokontroléry, kde vyžadují určité množství RAM a programového prostoru. Samotné algoritmy jsou však výpočetně poměrně nenáročné, takže lze použít i levnějších MCU. Malé nároky na výpočet umožňují provést šifrování malým počtem instrukcí. To zároveň snižuje celkovou spotřebu proudu, protože mikrokontrolér může být po dokončení uveden do stavu nízké spotřeby. Algoritmy založené na blokových šifrách zpracovávají určitý počet bajtů najednou a produkují výsledek rovněž odpovídající velikosti. Všechny tři uvedené šifrovací algoritmy jsou ve veřejném vlastnictví, a navíc odolaly mezinárodním analýzám jejich bezpečnosti, takže jsou dnes obecně přijímaným standardem. Algoritmy Secure Hash pracují podobně jako kontrolní součet vstupních dat, s tajnou hodnotou jejich průběžné modifikace, což zajišťuje způsob určení, zda byly výpočty provedeny na základě autentického zařízení. Algoritmy typu Hash, na rozdíl od klasického šifrování, nepatří do skupiny one-to-one algoritmů. Původní vstup nelze obnovit z výsledku, protože mohl být generován s více než jednou sadou vstupních dat. Secure Hash algoritmy, jako jsou např. HMAC-SHA-1 a HMAC-SHA-256, jsou rovněž vhodnými kandidáty, ovšem ty vyžadují pro svou implementaci mnohem více RAM i programové paměti, a tím i použití dražšího MCU.

Způsob modifikace vstupních dat je určen na základě klíče shodného pro obě zařízení a použitého šifrovacího algoritmu. Klíč, nikoliv ovšem samotná šifrovací procedura, určuje bezpečnost systému, a proto musí být držen v tajnosti. Tento způsob, známý jako princip Kerchoff, uvádí, že znalost použitého algoritmu nesnižuje úroveň bezpečnosti, protože až samotný klíč určuje, jak jsou vstupní data modifikována. Klíč je obvykle uchováván v systémové paměti, jako je paměť flash nebo EEPROM, které jsou integrované přímo v MCU. Uložením klíče v on-chip paměti mikrokontroléru lze poměrně dobře zabránit jeho stažení a použití v padělaných zařízeních. V každém případě by měla být zajištěna i bezpečnost při manipulaci a práci s klíčem, ať už při návrhu systému, nebo jeho použití v provozu, aby se zabránilo úniku informací.

Obr. 2, 3

Některé algoritmy mohou umožňovat změnu velikosti klíče. Větší délka klíče pak nabízí vyšší bezpečnost, ovšem na úkor náročnějších výpočtů a více zdrojů potřebných pro šifrování. Všechna šifrovací schémata jsou náchylná k útoku typu brute-force, kdy použití známé dvojice vstupních a výstupních dat umožňuje šifrovat vstup s progresivní sekvencí klíčů tak dlouho, dokud není produkován odpovídající výstup. Navzdory skutečnosti, že tato technika může i pro menší klíče vyžadovat značné výpočetní nároky, doporučuje se používat dlouhé klíče až do limitů použitých mikrokontrolérů, jejichž výpočetní výkon se navíc neustále zvyšuje. Počet kombinací klíčů roste s jeho délkou exponenciálně, a tím se také zvyšuje doba potřebná pro prolomení klíče. Klíče by měly být vybrány navíc náhodně tak, aby se při brute-force útoku zabránilo jejich snadnému prozrazení již po několika pokusech. Matematicky není vyloučené, že brute-force útok najít klíč vyjde hned na první pokus. V praxi je to však téměř nemožné právě vzhledem k obrovskému množství kombinací.

Aby se dále zabránilo útoku na klíč, je možné dodatečně zvýšit dobu potřebnou pro vytvoření tabulky správných odpovědí. Implementace funkce time-out, jako například v délce pěti sekund mezi ověřováním, zajistí umělé omezení maximální rychlosti vyhodnocení dat a komunikace. Tím se neúměrně zvyšuje doba potřebná pro prolomení. Podobně je tomu i v případě velikosti jednotlivých výzev, které exponenciálně zvyšují velikost tabulky a její uchovávání se pro padělky stává neúměrně nákladné. Existují také metody pro dotazy větší, než je velikost šifrovacího bloku. Pravidelným znovu ověřováním lze navíc systému zabránit v inicializaci s originálním příslušenstvím a následné výměně za padělek.

Vybavit každé originální příslušenství šifrovacími klíči je upgrade, který jim dává schopnost zaslat svou vlastní a jedinečnou odpověď na výzvu, ale vyžaduje, aby systém buď uložil šifrovací klíče pro všechna ověřená příslušenství, nebo aby bylo možné požadované odpovědi odvodit. Obě metody vyžadují příslušenství s vlastním sériovým číslem a schopností určit požadovanou odpověď na dotaz, ale odvození požadovaného klíče je efektivnější z hlediska uchovávání hodnot. Dalším možným řešením je systém šifrování sériového čísla příslušenství pomocí tajného hlavního klíče, tzv. Master Key, jak je znázorněno na obr. 3. Výsledkem této operace je klíč, který se následně používá pro ověření. Pokud je ovšem hlavní klíč vyzrazen, program již není schopen detekovat duplikáty. Proto musí být přijata taková opatření, která by zajistila vysoký stupeň ochrany hlavního klíče. Pouze systém musí uchovávat klíče, které jsou známé, jako jsou sériová čísla jednotlivých příslušenství z jejich výroby a hlavní klíč (Master Key), který spravuje šifrovací klíče pro každé příslušenství. Díky tomu může být příslušenství naprogramováno pouze se svým sériovým číslem a šifrovacím klíčem, nikoliv však s klíčem hlavním.

Výhodou uvedeného systému je skutečnost, že více zařízení nelze napadnout paralelně, neboť ta budou reagovat různě. Také lze zajistit odolnost systému v případě, kdy dojde k výrobě klonů příslušenství se shodnými sériovými čísly. Systémy mohou být schopny uchovávat jednoduchou černou listinu výrobních čísel, jakmile je detekováno jejich opakované použití.

Sériové číslo použitého příslušenství může být systémem automaticky zaznamenáno spolu s libovolnými digitálními daty a může umožnit správu jeho platnosti, stejně jako zamítnutí autorizace po jeho vypršení. Systém lze také zjednodušit i s použitím jednoduchých pořadových čísel. Digitální autentizace používá pro zabezpečení dat pouze jednosměrné šifrování, takže funkce dešifrování není implementována. Nicméně dešifrování může představovat podobné zdroje a segmenty kódu, takže jeho přidání pro další zabezpečené komunikace mezi systémem a příslušenstvím není vyloučené. Další data mohou být uložena v energeticky nezávislé paměti uvnitř mikroprocesoru, pevně provázaná například procesem kalibrace s příslušenstvím a umožnit jejich využití, případně změnu během provozu.

Shrnutí

Bezpečnost zdravotnických doplňků může být v mnoha ohledech zvýšena použitím digitální autentizace. Především jde o schopnost předcházení nehodám, nehygienickému opětovnému použití jednorázových doplňků a používání padělků. I velmi malé, levné mikrokontroléry s nízkým příkonem mohou snadno splnit hardwarové požadavky, přičemž existuje celá řada stávajících komunikačních rozhraní, která mohou být použita. Blokové šifry vyžadují minimální velikost RAM a mohou být jednoduše implementovány i v malém mikrokontroléru.