Dans le cadre d’un projet de recherche soutenu par l’Etat, la communauté de communes du Grésivaudan et la région Auvergne-Rhône-Alpes (*), les français GreenWaves Technologies, concepteur de processeurs d’application IoT à basse consommation, et Tiempo Secure, fournisseur d’éléments sécurisés (SE, Secure Element) sous forme d'IP et de bibliothèques logicielles sécurisées, ont démontré l'avantage de donner le rôle de maître à un Secure Element intégré dans une puce-système SoC. Une architecture qui, selon les deux sociétés, améliore significativement la sécurité système, tout en rendant l'implantation plus efficace.
Alors que dans une architecture classique, les développeurs de SoC utilisent généralement le Secure Element comme un périphérique du processeur principal, le partenariat entre Tiempo Secure et GreenWaves Technologies inverse les rôles avec un architecture dans laquelle le Secure Element contrôle le processus de démarrage du système. Le prototype réalisé au cours du projet combine ainsi un Secure Element de Tiempo Secure avec un processeur d'application à ultrabasse consommation à architecture RISC-V de GreenWaves.
Pour rappel, un Secure Element (SE) est un petit composant fondé sur une architecture sécurisée et utilisé traditionnellement sur les cartes SIM et les cartes bancaires. Il dispose d'entrées/sorties limitées et contrôlées, d'une mémoire limitée et protégée, et intègre des fonctions de sécurité physiques. En tant que tel, il constitue un environnement sécurisé qui peut être certifié selon les niveaux les plus élevés des Critères communs.
Dans le cadre des travaux de GreenWaves et Tiempo, le Secure Element, en tant que maître du circuit SoC, est le premier à démarrer au lancement de l'appareil, ce qui garantit que seul un logiciel valide peut être utilisé pour démarrer le circuit et ce qui le rend de facto plus résistant aux tentatives de piratage. Le fait que le démarrage de l'ensemble de la puce soit contrôlé par le Secure Element la protège aussi des attaques dites par canal auxiliaire et des attaques par injection de fautes.
Le code de démarrage du SE de Tiempo (baptisé Tesic IP) s’appuie sur l’algorithme de chiffrement numérique symétrique AES-256 (la clé de chiffrement est la même que la clé de déchiffrement), ce qui signifie, selon Tiempo, qu'il est d’ores et déjà capable d’être à l’épreuve d’attaques issues d'ordinateurs quantiques.
L'accès à la mémoire de masse, généralement de la flash contrôlée par le SE, empêche tout accès non autorisé aux données. Par exemple, les coefficients d'un réseau de neurones pour la réduction de bruit, stockés dans la mémoire flash externe d'un processeur GreenWaves, peuvent être ainsi protégés par les clés secrètes contenues de manière sécurisée dans le SE.
Au-delà, cette architecture permet de stocker le code de démarrage dans une mémoire réinscriptible, et non dans une ROM, permettant de le mettre à jour de manière sécurisée pendant le cycle de vie de l'objet. Plus généralement, les données nécessaires au SoC sont enregistrées dans une mémoire non volatile partagée entre le Secure Element et le processeur d'application, ce qui apporte plus de flexibilité pour l'allocation de la mémoire et réduit la surface et donc le coût.
« Le Secure Element de Tiempo Secure intégré au démarrage d'un SoC permet de simplifier considérablement l'architecture de sécurité, en remplaçant par une seule IP de nombreuses parties critiques telles que le code ROM, l'IP PUF (Physically Unclonable Function) et le générateur de nombres aléatoires TRNG », ajoute Éric Flamand, cofondateur et CTO de GreenWaves Technologies.
(*) Le projet Secure-RISC-V est mené avec le soutien du Programme d'investissements d'avenir - Action Renforcement des pôles de compétitivité de l'Etat, co-porté par la communauté de communes du Grésivaudan et l'appel à projets PSPC-Régions n°1 de la région Auvergne-Rhône-Alpes.
Vous pouvez aussi suivre nos actualités sur la vitrine LinkedIN de L'Embarqué consacrée à la sécurité dans les systèmes embarqués : Embedded-SEC