ENGLISH / MAGYAR
Kövess
minket

Kriptográfiai kulcsok védelme TEE segítségével beágyazott eszközökön

2020-2021/I.
Dr. Buttyán Levente
Dr. Futóné Dr. Papp Dorottya

A beágyazott eszközök is gyakran alkalmaznak kriptográfiai algoritmusokat és protokollokat különböző információbiztonsági feladatok megoldására. Például távoli karbantartás lehetőségének biztosítása céljából az eszközön futhat egy szerver alkalmazás, melyre kriptográfiailag védett kapcsolaton keresztül lehet belépni és a konfigurációs feladatokat elvégezni. Ekkor meg kell oldani a kriptográfiai kulcsok védelmét az eszközön, ami alatt azt értjük, hogy ha az eszköz kompromittálódik, a támadó akkor se férjen hozzá az olyan hosszú élettartamú kulcsokhoz, melyekkel az eszköz megszemélyesíthető. A probléma megoldható biztonságos hardware modulok használatával, de ezek alkalmazása drágábbá teszi az eszközt. Ezért ez a feladat a szoftver alapú megoldásokra fókuszál, és azt feltételezi, hogy az eszközön a normál operációs rendszer és alkalmazások mellett található egy megbízható végrehajtási környezet (Trusted Execution Environment, vagy TEE) és abban futó megbízható alkalmazások is, melyek segítségével megvalósítható egy általános biztonságos tár szolgáltatás.

 

A hallgató feladata a beágyazott eszköz hosszú élettartamú titkos kulcsai védelmének megoldása a fenti feltételezések mellett. Ez magában foglalja a következőket: fenyegetettség analízis elvégzése, a kulcsok védelmével kapcsolatos követelmények azonosítása, egy TEE alapú megoldás tervezése, a TEE-ben tárolt kulcsok használatát támogató API specifikációja, a megtervezett megoldás és API implementációja és tesztelése. Az implementációnak az OP-TEE-t kell használnia mint TEE implementáció, és az mbedTLS könyvtárat mint kripto könyvtár. A megoldás működését egy az eszközön futó web szerver segítségével célszerű bemutatni, ahol a szerver privát kulcsa a megvalósított API-n keresztül használható a szerver hitelesítésére, illetve a biztonságos távoli kapcsolat felépítésére. A működés bemutatásához elegendő, ha az implementáció egy emulált környezetben (pl. QEMU) működik.


1
1