FőoldalKonstruktőrDigitális hitelesítés orvosi eszközökön beágyazott intelligenciával
2014. április 18., péntek ::

Digitális hitelesítés orvosi eszközökön beágyazott intelligenciával

Rendkívül fontos, hogy a cserélhető vagy eldobható alkatrészeket használó orvosi eszközöknél biztos módszer álljon rendelkezésre annak érdekében, hogy a megfelelő cserealkatrész vagy bővítmény felhasználása ellenőrizhető legyen. Ha véletlenül nem így történne, a másik eszközhöz tervezett kiegészítők téves használata változó súlyú biztonsági kockázat kialakulását idézheti elő, az eldobható kellékek újrafelhasználása pedig komoly higiéniai és teljesítményromlási kockázatokat rejt

A hamisított kiegészítők szintén jelentős veszélyt jelentenek, hiszen szinte biztosan nem ugyanazon biztonsági szabványok betartásával készültek, mint az eredetiek, ezért tetemes minőségi különbség lehet közöttük.

A digitális hitelesítés nagymértékben elősegíti az orvosi eszközöknél használt kiegészítők, ill. csereanyagok eredetének és minőségének ellenőrzését amellett, hogy minimális többletszükségletet támaszt az eszközök fejlesztése során. A rendszer megbukott hitelesítés következtében keletkező válasza a tervezés során megadott szerint alakulhat, amely jelentheti a felhasználó egyszerű tájékoztatását vagy a teljes rendszer működésének letiltását is.

A digitális hitelesítés

1. ábra. A rendszer és tartozéka közötti digitális hitelesítés egyszerűsített folyamata

Az egyszerű azonosítórendszerek digitális aláírások cseréje, valamint hitelesítési sémák alapján működnek. A digitális hitelesítéshez hardverszinten beágyazott intelligenciára szükség van mind a hitelesítőrendszer, mind pedig a hitelesített tartozék esetében. Beágyazott processzorral már nagyon sok mai rendszer alapesetben is rendelkezik. Ezek a processzorok alkalmasak a hitelesítés folyamatának vezérlésére, a tartozék/kiegészítő esetében pedig a processzoros vezérlés könnyen áttervezhető vagy hozzáadható a hitelesítéstámogatás implementálása céljából (lásd 1. ábra). A tapasztalt elektronikai fejlesztők tudják, hogy egy kisméretű, alacsony bekerülési költségű, kis fogyasztású mikrokontroller rendszerbe integrálása ma már az igen egyszerű feladat olyan esetekben, amikor a tartozék/kiegészítő nem rendelkezik beágyazott intelligenciával.

A rendszer és a kiegészítő közötti kétirányú, adatcserét támogató kommunikációs csatorna további fizikai követelményt támaszt. A két kommunikáló fél között az információcsere történhet egy már kiépített csatornán is, illetve kiterjeszthető az eszközök beépített csatornáival is. Ha új csatornát kell felépítenünk, választhatunk az egyvezetékes (pl. UNI/O®), illetve UART, I2C, SPI protokollok közül is, amelyek előnyösek az alacsony implementációs követelmények és hardvertámogatás okán. Bizonyos orvosi eszközök esetében az RFID is megfelelő választás lehet, mivel nincs szükség hozzá külső fizikai elektromos csatlakozásra, amely kiváltja az eszközök tisztítási, sterilizálási és szigetelési követelményeit.

Az azonosító átvitele történhet egyszerű hitelesítéssel, mialatt a tartozék kérésre azonosítja magát a rendszer felé. Ezzel a sémával a tartozékba integrált mikrovezérlő kiváltható egy olyan soros EEPROM-mal is, amely tartalmazza az azonosítót. Az azonosító átvitelével könnyedén kideríthető, ha esetleg inkompatibilis vagy korábban már felhasznált tartozék kerülne újracsatlakoztatásra, azonban ebben az esetben nagyon alacsony szintű a védettség a hamisított eszközöket gyártókkal szemben, hiszen az azonosítók az eredeti eszközökből viszonylag egyszerűen kinyerhetőek.

2. ábra. A válaszlekérdezés-hitelesítés folyamata

Biztonságosabb megoldást jelent a válaszlekérdezés-hitelesítési folyamat és ennek változatai (lásd 2. ábra). Ebben a felállásban a rendszer olyan kérdéssel fordul a tartozékhoz, amelyre csak az eredeti tartozékok ismerik a helyes választ. Az eredeti tartozékok közlik a várt választ, míg a hamisított darabok nem, így ezek kezelése az előre meghatározott szerint történik.

A 2. ábrán látható válaszlekérdezés-hitelesítési folyamat az alábbi folyamatlépcsőkből áll össze:

  1. A rendszer előállít egy véletlenszámot, amely a válaszlekérdezés kiindulási alapja.
  2. A válaszlekérdezés elküldésre kerül a tartozékhoz.
  3. A tartozék a válaszlekérdezést egy előre meghatározott, nem nyilvánvaló módon módosítja, és előállítja a választ.
  4. A válasz elküldésre kerül a rendszerhez.
  5. A rendszer megtart egy másolatot a válaszlekérdezéssel, és módosítja az ideális válasz meghatározására.
  6. A rendszer összehasonlítja a saját maga által előállított ideális választ a tartozék által küldött válasszal. Ha egyeznek, megállapításra kerül a tartozék eredetisége és megtörténik a hitelesítése.

A rendszernek többféle válaszlekérdezést kell támogatnia, hogy megakadályozza a tartozékhamisítók hiteles válaszokat tartalmazó referenciatáblázatok létrehozására tett törekvéseit. Ez azért előnyös, mert a nagyméretű táblázatok tárolása és a válaszok menet közbeni számítása gazdaságilag és műszakilag is hátrányos a hamisítók számára.

Egy determinisztikus, digitális rendszerben nem egyszerű feladat olyan véletlenszámokat generálni, amelyek felhasználhatóak válaszlekérdezés alapjaiként. Nagyon kevés való világbeli mérés valóban véletlenszerű, megjósolhatatlan és egyenletes eloszlású, illetve a potenciális válaszlekérdezések korlátos száma csökkenti a hamisítók által tárolandó válaszok számát. Egy álvéletlen, egyedi forrásszámot (amely lehet a rendszer sorozatszámának módosított változata) használó számgeneráló algoritmus robusztusabb választás lehet. A tanúsított álvéletlenszám-generáló algoritmusok számok nem ismétlődő sorozatát állítják elő, amelyek a lehetséges kimeneti értékek tartományában egyenletes eloszlásúak. Az algoritmus inicializálására használt kezdőérték a kimeneti értékek sorozatát határozza meg, ezáltal a valóban egyedi számsorozatokhoz minden rendszernek kell rendelkeznie egy egyedi kezdőértékkel. Az algoritmus változóit nemfelejtő memóriában kell tárolni, így az értékek akkor is megmaradnak, ha a rendszerről lekerül a tápfeszültség. Így megelőzhető az algoritmus kényszerű újrainicializálása.

A válaszlekérdezés titkosítása vagy egy egyutas matematikai függvényen való átküldése (biztonságos hashelés) megfelelő megoldást jelent a válaszlekérdezés 2. ábra szerinti módosítására, egyik esetben sem nyilvánvaló módon történik, és nem produkál bármilyen azonosítható kimeneti trendet a szekvenciális bemenetnél. A változtatásnak azért kell szigorúan nem nyilvánvalónak lennie, mert a válaszlekérdezést és válaszokat lehallgathatják a kommunikációs csatornán. A módosítás visszafejtéséhez a titkosítás miatt rendkívül nagy számítási kapacitásra és nagyszámú válaszlekérdezés-válasz párra van szükség. Az AES, TDES és XTEA szimmetrikus, blokk­alapú titkosítási módszerek, amelyek alacsony RAM- és programterület-igényük, illetve jó számítási hatásfokuk okán ideálisak arra, hogy mikrokontrolleres rendszerben fussanak. Mindezen tulajdonságok folytán az alapszintű mikrovezérlők képességei is kielégítőek a normális működéshez, a jó hatásfok miatt pedig relatív kisszámú utasítás végrehajtásával is megvalósítható a titkosítás. Ez alacsony teljesítményfelvételt eredményez, a titkosítás befejeztével a mikrovezérlő kisfogyasztású módba kapcsolható. A blokkalapú titkosítás egyszerre egy adott számú bájton végez sifrírozást, a kimenete pedig a bemenettel egyező méretű blokk lesz. Mindhárom rejtjelező nyilvános, nemzetközileg kipróbált, titkosítási erősségét tekintve már bizonyított. A biztonságos hashelő algoritmusok hasonlóak a válaszlekérdezés ellenőrző összegének számításához, azzal a kiegészítéssel, hogy egy titkos érték hozzávétele is megtörténik, amely módot nyújt annak meghatározására, hogy a számításokat egy hitelesített eszköz végezte-e. A hashelő algoritmusok a titkosítókkal ellentétben nem 1:1-es leképezést végeznek. Az eredeti bemenet az eredményből egyértelműen nem fejthető vissza, mivel egy bizonyos kimenethez több lehetséges bemenet is rendelhető. A vázolt célra az olyan biztonságos hashelő algoritmusok, mint a HMAC-SHA-1 és HMAC-SHA-256 megfelelnek, jóllehet ezekhez lényegesen nagyobb operatív és programmemóriára van szükség, amely drágább hardvert igényel.

A bemeneti adatok módosítási módszerét a biztonságos hasheléshez és titkosítóalgoritmushoz egyaránt tartozó kulcs definiálja. A kulcs határozza meg a rendszer biztonságosságát, ezért feltétlenül titokban kell tartani! Ez a Kerchoff-elven is ismert módszer kimondja, hogy a felhasznált algoritmus ismerete nem rontja a rendszer biztonságát, mivel a kulcs határozza meg, hogy a bemenet hogyan kerül módosításra. Annak biztosítására, hogy a kulcs ne legyen egyszerűen kiolvasható, ajánlott a rendszermemóriában (pl. EEPROM agy processzora integrált flash-memória) tárolni. Ez megoldható úgy is, hogy a kulcsot a mikrokontroller integrált memóriájában tároljuk, és a biztonsági funkciók engedélyezésével megakadályozzuk annak letöltését. Minden esetben oda kell figyelni, hogy a kulcsokat a rendszertervezés és gyártás során is kellő diszkrécióval kezeljük.

Néhány algoritmus támogatja a változó méretű kulcsokat is, míg a nagyobb méretű kulcsok nagyobb biztonságot nyújtanak további számítási kapacitásért és egyéb erőforrásokért cserébe. Minden titkosítási séma sebezhető, ha nyers erőn alapuló támadással állunk szemben. Ha ismerünk egy bemenet-kimenet adatpárt, akkor a bemenet kulcsok progresszív sorozatával folyamatosan titkosítható addig, amíg az ismert kimenettel egyező eredményt nem kapunk. Annak ellenére, hogy a számítási igény még kisméretű kulcsok esetén is jelentős, a világszerte egyre nagyobb mértékben rendelkezésre álló számítási kapacitás indokolja, hogy a mikrokontrollerhez elérhető, lehető legnagyobb méretű kulcsokkal dolgozzunk, hiszen azok száma a mérettel exponenciálisan nő, összemérhető ütemben növelve a sikeres nyers erős támadáshoz szükséges időt. A kulcsokat célszerű véletlenszerűen megválasztani, ezáltal csökkentve annak valószínűségét, hogy a nyers erős támadás idejekorán sikerrel záruljon. Bár matematikailag lehetséges az is, hogy a nyers erős támadás akár már az első próbálkozásra megtalálja a kulcsot, a valóságalapja ennek igen csekély, tekintettel a lehetőségek nagy számára.

A támadások elleni védekezés hatékony eszköze, hogy kellő mértékben megemeljük a hiteles választáblázatok generálásához szükséges időt. Az időtúllépések beállítása (pl. hitelesítések között 5 másodperc) és a maximálisan elfogadható kommunikációs adatsebesség korlátozása (amely limitálja a válaszlekérdezések fogadásának gyakoriságát) mind alkalmasak erre a célra. Mivel a válaszlekérdezések bitszáma exponenciálisan növeli a táblázat méretét, a tárolás gyakorlatilag kivitelezhetetlenné válik. Léteznek módszerek a titkosító blokkméretnél nagyobb válaszlekérdezésekhez is. A periodikus újrahitelesítés segít megelőzni azt is, hogy az eredeti tartozékot behelyezés után egy hamisítvánnyal cseréljük ki, és úgy használjuk a berendezést. A több tartozék felé indított párhuzamos válaszlekérdezés csökkenti a jó válaszokból álló táblázat generálásához szükséges időt. A táblázathoz azonban még így is nagy tárterület kell, a szükséges idő pedig így is jelentős lehet.

3. ábra. A mesterkulcs és tartozék-sorozatszám szerepe a titkosítási kulcs létrehozásában

A hitelesített tartozékok egyedi titkosítási kulccsal való ellátása olyan bővítmény, amely minden tartozéknak egyedi választ ad egy válaszlekérdezésre, de ehhez szükség van vagy arra, hogy a fogadórendszer tárolja minden hitelesített tartozék titkosítási kulcsát, vagy képes legyen a szükséges kulcsot származtatni. Mindkét módszernél követelmény az, hogy a tartozék rendelkezzen sorozatszámmal a szükséges kulcs meghatározásához, de a szükséges kulcs származtatása tárolási szempontból jobb hatékonyságú. A rendszer ezt a tartozék sorozatszámának titkosításával teljesíti, amihez szüksége van egy „szupertitkos" mesterkulcsra (lásd 3. ábra). E művelet eredménye a hitelesítéshez használt titkosítási kulcs. Ha a mesterkulcs illetéktelen kezekbe kerül, a rendszer nem lesz képes a hamisítványok és eredeti tartozékok között különbséget tenni, így nem lehet eléggé hangsúlyozni, hogy mennyire kell ügyelni a mesterkulcs biztonságos kezelésére. Csak a rendszerben szabad a kulcsot tárolni, mivel a tartozékok sorozatszáma a gyártás során ismert, a titkos mesterkulcs pedig korábban meghatározásra került. Ez azt jelenti, hogy a tartozékokat csak a sorozatszámokkal és titkosítási kulcsaikkal kell programozni, a mesterkulccsal nem.

E hitelesítési séma előnye, hogy párhuzamosan több eszközön nem folytatható válaszlekérdezés, mivel mindegyik eltérő válasszal szolgál. Továbbá, ha egy hitelesített eszközt feltörnek, csak az érintett eszköz azonos sorozatszámmal rendelkező klónjai lesznek használhatók, amelyek könnyen szűrhetők a rendszerrel megismertetett sorozatszám-feketelista alapján.

Egy tartozék sorozatszámát a rendszer automatikusan rögzítheti, lehetővé téve a termékvisszahívások és lejárati dátumok hatékony kezelését, amennyiben ezek a sorozatszámokba implementálásra kerültek. A digitális tanúsítás titkosítást használ módosítóként, a visszafejtés pedig nincs implementálva. A visszafejtéshez hasonló erőforrások és kódszegmensek szükségesek, lehetővé téve a rendszer és tartozék közötti biztonságos kommunikáció hozzáadását. További adatok tárolhatók a mikrokontroller saját nemfelejtő memóriájában, lehetőséget adva kalibrációs és használati adatok rögzítésére.

Összefoglalás

Az orvosi eszközök biztonságos használata a digitális hitelesítés különféle módokon történő implementálása útján fokozható, így megelőzhetők a balesetek, újrahasználatból eredő higiéniai problémák és hamisított termékek terjedése. A kisméretű, alacsony bekerülési költségű és kis teljesítményfelvételű mikrokontrollerek mindenféle hardveres szempontból ideálisak erre a célra. A feladat többféle kommunikációs csatorna használatával megoldható, a titkosítóblokkos védelem életképességét a minimális memóriaigény és könnyű implementáció indokolja.

A Microchip honlapja

Legfrissebbek a szerzőtől: Jonathan Dillon

Tudomány / Alapkutatás

tudomany

CAD/CAM

cad

Járműelektronika

jarmuelektronika

Rendezvények / Kiállítások

Mostanában nincsenek események
Nincs megjeleníthető esemény