La puce à puce ouverte OpenTitan remplace les racines de confiance propriétaires Intel et ARM



Le 5 novembre 2019, l'organisation à but non lucratif lowRISC , avec la participation de Google et d'autres sponsors, a présenté le projet OpenTitan , qu'elle appelle «le premier projet open source à créer une architecture ouverte et de haute qualité de puces avec la racine de confiance (RoT) au niveau matériel».

L'architecture OpenTitan sur RISC-V est une puce à usage spécial pour une installation sur des serveurs dans des centres de données et dans tout autre équipement où il est nécessaire d'assurer l'authenticité du téléchargement, de protéger le micrologiciel contre les modifications et d'éliminer la possibilité de rootkits: ce sont des cartes mères, des cartes réseau, des routeurs, des dispositifs IoT , gadgets mobiles, etc.

Bien sûr, ces modules sont dans des processeurs modernes. Par exemple, le module matériel Intel Boot Guard est la racine de la confiance dans les processeurs Intel. Il vérifie l'authenticité du BIOS UEFI via la chaîne de confiance avant de démarrer le système d'exploitation. Mais la question est, dans quelle mesure pouvons-nous faire confiance aux racines propriétaires de la confiance, étant donné que nous n'avons pas de garanties pour l'absence de bogues dans la conception, mais qu'il n'y a aucun moyen de le vérifier? Voir l'article «Téléchargement sécurisé Schrödinger. Intel Boot Guard " avec une description de" comment au fil des ans un bogue cloné dans la production de plusieurs fournisseurs permet à un attaquant potentiel d'utiliser cette technologie pour créer un rootkit caché dans un système non effaçable (même programmeur) ".

La menace de compromettre l'équipement dans la chaîne d'approvisionnement est étonnamment réelle: il semble que tout ingénieur en électronique amateur puisse souder un bogue dans la carte mère du serveur en utilisant un équipement ne valant pas plus de 200 $. Certains experts soupçonnent que "les organisations disposant d'un budget de centaines de millions de dollars peuvent le faire pendant de nombreuses années". Bien qu'il n'y ait aucune preuve, c'est théoriquement possible.

"Si vous ne pouvez pas faire confiance au téléchargeur de matériel, le jeu est terminé", a déclaré Gavin Ferris, membre du conseil d'administration de lowRISC. - Peu importe ce que fait le système d'exploitation - si vous avez été compromis au moment du chargement du système d'exploitation, le reste est une question de technologie. Vous avez déjà terminé. "

Ce problème devrait être résolu par la première plate-forme matérielle ouverte OpenTitan ( référentiel GitHub , documentation , spécifications matérielles ). Éviter les solutions propriétaires changera «l'industrie RoT maladroite et imparfaite», a déclaré Google.

Google lui-même s'est lancé dans le développement du Titan, découvrant le système d'exploitation Minix intégré aux puces Intel Management Engine (ME). Ce système d'exploitation complexe d'une manière imprévisible et incontrôlable a étendu la surface d'attaque. Google a tenté de se débarrasser d'Intel Management Engine (ME) , mais a échoué.

Quelle est la racine de la confiance?


Chaque étape du processus de démarrage du système vérifie l'authenticité de l'étape suivante, formant ainsi une chaîne de confiance .

Root of Trust (RoT) est une authentification matérielle qui garantit que la source de la première instruction exécutable dans la chaîne de confiance ne peut pas être modifiée. RoT est la protection de base contre les rootkits. Il s'agit d'une étape clé du processus de démarrage, qui est impliquée dans le démarrage ultérieur du système - du BIOS au système d'exploitation et aux applications. Il doit vérifier l'authenticité de chaque étape de téléchargement suivante. Pour cela, à chaque étape, un jeu de clés avec signature numérique est utilisé. TPM (Trusted Platform Module) est l'une des normes de protection des clés basées sur le matériel les plus populaires.


Établir la racine de la confiance. Ci-dessus est un téléchargement en cinq étapes, qui forme une chaîne de confiance et commence par un chargeur de démarrage situé dans la mémoire immuable. À chaque étape, une clé publique est utilisée pour authentifier le prochain composant téléchargeable. Illustration de l' architecture IoT de Perry Lee

RoT peut être lancé de plusieurs façons:

  • charger l'image et la clé racine à partir du micrologiciel ou de la mémoire immuable;
  • stocker la clé racine dans une mémoire programmable unique à l'aide de bits de fusible;
  • chargement de code à partir d'une zone de mémoire protégée dans un stockage protégé.

Dans différents processeurs, la racine de confiance est implémentée de différentes manières. Intel et ARM
Prend en charge les technologies suivantes:

  • ARM TrustZone . ARM vend un bloc de silicium propriétaire aux fabricants de puces, qui fournit la racine de la confiance et d'autres mécanismes de sécurité. Ainsi, le microprocesseur est séparé du cœur dangereux; il exécute Trusted OS, un système d'exploitation sécurisé avec une interface bien définie pour interagir avec des composants non sécurisés. Les ressources protégées sont dans un noyau fiable et doivent être aussi légères que possible. La transition entre les composants de différents types se fait à l'aide de la commutation de contexte matériel, ce qui élimine le besoin d'un logiciel de surveillance sécurisé.
  • Intel Boot Guard est un mécanisme matériel permettant d'authentifier le bloc de démarrage initial avec des outils cryptographiques ou via un processus de mesure. Pour vérifier le bloc initial, le fabricant doit générer une clé de 2048 bits, qui se compose de deux parties: publique et privée. La clé publique est imprimée sur la carte en «faisant exploser» les mèches de fusible au stade de la production. Ces bits sont uniques et ne peuvent pas être modifiés. La partie privée de la clé génère une signature numérique pour l'authentification ultérieure de l'étape de téléchargement.

La plate-forme OpenTitan révèle les éléments clés d'un tel système de micrologiciel, comme indiqué dans le diagramme ci-dessous.



Plateforme OpenTitan


Le développement de la plateforme OpenTitan est sous le contrôle de l'organisation à but non lucratif lowRISC. L'équipe d'ingénierie est basée à Cambridge (Royaume-Uni) et le principal sponsor est Google. Les partenaires fondateurs sont l'Ecole supérieure technique suisse de Zurich, G + D Mobile Security, Nuvoton Technology et Western Digital.

Google a publié l'annonce du projet dans le blog d'entreprise de Google Open Source. La société a déclaré qu'OpenTitan s'est engagé à "fournir des directives de conception et d'intégration RoT de haute qualité pour une utilisation dans les serveurs de centres de données, le stockage, les périphériques et plus encore."

La racine de confiance est le premier maillon de la chaîne de confiance au niveau le plus bas d'un module informatique de confiance, auquel le système fait toujours entièrement confiance.

RoT est essentiel pour les applications, y compris l'infrastructure à clé publique (PKI). Il s'agit de la base du système de sécurité sur lequel repose un système complexe, tel qu'une application IoT ou un centre de données. Par conséquent, il est clair pourquoi Google soutient ce projet. Elle possède désormais 19 centres de données sur les cinq continents. Les centres de données, le stockage et les applications critiques représentent une vaste surface d'attaque, et pour protéger cette infrastructure, Google a initialement développé sa propre racine de confiance sur la puce Titan.

La puce Titan propriétaire pour les centres de données Google a été introduite pour la première fois en mars 2017 lors de la conférence Google Cloud Next. «Nos ordinateurs effectuent une vérification cryptographique de chaque progiciel, puis décident de lui donner ou non accès aux ressources réseau. Titan s'intègre à ce processus et offre des couches de protection supplémentaires ", ont déclaré les représentants de Google lors de cette présentation.


Chip titan dans le serveur google

L'architecture Titan appartenait à Google, mais devient maintenant un domaine public dans le cadre d'un projet open source.

La première étape du projet est la création d'une conception logique RoT au niveau du microcircuit, comprenant le microprocesseur open source lowRISC ibex , des processeurs cryptographiques, un générateur de nombres aléatoires matériel, des hiérarchies de clés et de mémoire pour le stockage non volatile et non volatile, des mécanismes de sécurité, des périphériques d'entrée / sortie périphériques et des processus de démarrage sûrs.

Google affirme qu'OpenTitan est basé sur trois principes clés:

  • chacun a la possibilité de tester la plateforme et de contribuer;
  • flexibilité accrue grâce à l'ouverture d'une conception logiquement sûre qui n'est pas bloquée par les interdictions exclusives du fournisseur;
  • qualité assurée non seulement par la conception elle-même, mais aussi par le firmware de référence et la documentation.

«Les puces actuelles aux racines de la confiance sont très propriétaires. Ils revendiquent la sécurité, mais en réalité, vous le croyez et vous ne pouvez pas les tester vous-même ", a déclaré Dominic Rizzo, spécialiste principal de la sécurité pour le projet Google Titan. «Maintenant, pour la première fois, l'opportunité se présente de fournir une sécurité sans foi aveugle aux développeurs de racines de conception de confiance. La fondation n'est donc pas seulement solide, elle peut être vérifiée. »

Rizzo a ajouté qu'OpenTitan peut être considéré comme une «conception radicalement transparente, par rapport à l'état actuel des choses».

Selon les développeurs, OpenTitan ne doit en aucun cas être considéré comme un produit fini, car le développement n'est pas encore terminé. Ils ont délibérément ouvert les spécifications et la conception au milieu du développement afin que chacun puisse le tester, contribuer et améliorer le système avant de commencer la production.

Pour commencer à fabriquer des puces OpenTitan, vous devez postuler et être certifié. Apparemment, aucune redevance n'est requise.

Source: https://habr.com/ru/post/fr474900/


All Articles