La puce open source OpenTitan remplacera les racines de confiance propriétaires d'Intel et d'ARM

La puce open source OpenTitan remplacera les racines de confiance propriétaires d'Intel et d'ARM

Organisation à but non lucratif faibleRISC avec Google et d'autres sponsors 5 novembre 2019 présenté projet OuvertTitan, qui qualifie de « premier projet open source visant à créer une architecture de puce ouverte de haute qualité avec une racine de confiance (RoT) au niveau matériel ».

OpenTitan basé sur l'architecture RISC-V est une puce spéciale destinée à être installée sur des serveurs dans des centres de données et dans tout autre équipement où il est nécessaire de garantir l'authenticité du démarrage, de protéger le firmware des modifications et d'éliminer la possibilité de rootkits : ce sont des cartes mères, cartes réseau, routeurs, appareils IoT, gadgets mobiles, etc.

Bien entendu, des modules similaires existent dans les processeurs modernes. Par exemple, le module Intel Hardware Boot Guard est la racine de confiance dans les processeurs Intel. Il vérifie l'authenticité du BIOS UEFI via une chaîne de confiance avant de charger le système d'exploitation. Mais la question est de savoir dans quelle mesure pouvons-nous faire confiance aux racines de confiance propriétaires, étant donné que nous n’avons aucune garantie qu’il n’y aura pas de bugs dans la conception et qu’il n’y a aucun moyen de le vérifier ? Voir l'article « Téléchargement fiable de Schrödinger. Protection de démarrage Intel" avec une description de « comment un bug cloné depuis des années dans la production de plusieurs fournisseurs permet à un attaquant potentiel d'utiliser cette technologie pour créer un rootkit caché dans le système qui ne peut pas être supprimé (même avec un programmeur).

La menace d'une compromission des équipements dans la chaîne d'approvisionnement est étonnamment réelle : apparemment, tout ingénieur électronicien amateur peut souder un bug dans la carte mère du serveuren utilisant du matériel ne coûtant pas plus de 200 $. Certains experts soupçonnent que « des organisations dotées de budgets de plusieurs centaines de millions de dollars pourraient faire cela 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 chargeur de démarrage matériel, c'est fini" dit Gavin Ferris, membre du conseil d'administration de lowRISC. - Peu importe ce que fait le système d'exploitation - si au moment du chargement du système d'exploitation, vous êtes compromis, le reste est une question de technique. Vous avez déjà terminé.

Ce problème devrait être résolu par la première plate-forme matérielle ouverte du genre, OpenTitan (Dépôt GitHub, documentation, spécifications matérielles). S’éloigner des solutions propriétaires contribuera à changer « l’industrie RoT lente et imparfaite », affirme Google.

Google lui-même a commencé à développer Titan après avoir découvert le système d'exploitation Minix intégré aux puces Intel Management Engine (ME). Ce système d’exploitation complexe a élargi la surface d’attaque de manière imprévisible et incontrôlable. Google essayé de se débarrasser d'Intel Management Engine (ME), mais sans succès.

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, générant ainsi 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 de 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 ultérieure. Pour ce faire, un ensemble de clés signées numériquement est utilisé à chaque étape. L'une des normes les plus populaires en matière de protection des clés matérielles est le TPM (Trusted Platform Module).

La puce open source OpenTitan remplacera les racines de confiance propriétaires d'Intel et d'ARM
Établir une racine de confiance. Ci-dessus se trouve un processus de démarrage en cinq étapes qui crée une chaîne de confiance, en commençant par le chargeur de démarrage dans une mémoire immuable. Chaque étape utilise une clé publique pour vérifier l'identité du prochain composant à charger. Illustration tirée du livre de Perry Lee "Architecture de l'Internet des objets"

RoT peut être lancé de différentes manières :

  • 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 à usage unique à l'aide de bits de fusible ;
  • Chargement du code d'une zone mémoire protégée dans un stockage protégé.

Différents processeurs implémentent différemment la racine de confiance. Intel et ARM
prend en charge les technologies suivantes :

  • ARM TrustZone. ARM vend un bloc de silicium exclusif aux fabricants de puces qui fournit une base de confiance et d'autres mécanismes de sécurité. Cela sépare le microprocesseur du noyau non sécurisé ; 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 résident dans le noyau de confiance et doivent être aussi légères que possible. La commutation entre des composants de différents types s'effectue à l'aide d'une commutation de contexte matériel, éliminant ainsi le besoin d'un logiciel de surveillance sécurisé.
  • Garde de démarrage Intel est un mécanisme matériel permettant de vérifier l'authenticité du bloc de démarrage initial par des moyens cryptographiques ou via un processus de mesure. Pour vérifier le bloc initial, le fabricant doit générer une clé de 2048 bits, composée de deux parties : publique et privée. La clé publique est imprimée sur la carte en « faisant exploser » des fusibles lors de la fabrication. Ces bits sont à usage unique 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 expose les éléments clés d'un tel système matériel/logiciel, comme le montre le diagramme ci-dessous.

La puce open source OpenTitan remplacera les racines de confiance propriétaires d'Intel et d'ARM

Plateforme OpenTitan

Le développement de la plateforme OpenTitan est géré par l'organisation à but non lucratif lowRISC. L'équipe d'ingénierie est basée à Cambridge (Royaume-Uni) et le sponsor principal est Google. Les partenaires fondateurs comprennent l'ETH Zurich, G+D Mobile Security, Nuvoton Technology et Western Digital.

Google a publié une annonce projet sur le blog d'entreprise Google Open Source. La société a déclaré qu'OpenTitan s'engage à « fournir des conseils de haute qualité sur la conception et l'intégration de RoT pour une utilisation dans les serveurs de centres de données, le stockage, les appareils de périphérie et bien plus encore ».

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

RoT est essentiel pour les applications incluant les infrastructures à clé publique (PKI). C’est le fondement du système de sécurité sur lequel repose un système complexe tel qu’une application IoT ou un centre de données. Il est donc clair pourquoi Google soutient ce projet. Elle compte désormais 19 centres de données répartis sur cinq continents. Les centres de données, le stockage et les applications critiques pré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.

Puce Titan exclusive pour les centres de données Google a été introduit pour la première fois en mars 2017 de l'année à la conférence Google Cloud Next. « Nos ordinateurs effectuent des contrôles cryptographiques sur chaque progiciel, puis décident de lui accorder ou non l'accès aux ressources du réseau. Titan s'intègre dans ce processus et offre des couches de protection supplémentaires », ont déclaré les représentants de Google lors de cette présentation.

La puce open source OpenTitan remplacera les racines de confiance propriétaires d'Intel et d'ARM
Puce Titan dans le serveur Google

L'architecture Titan appartenait auparavant à Google, mais elle est désormais rendue publique en tant que projet open source.

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

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

  • tout le monde a la possibilité de consulter la plateforme et de contribuer ;
  • une flexibilité accrue en ouvrant une conception logiquement sécurisée qui n'est pas bloquée par les restrictions propriétaires des fournisseurs ;
  • qualité assurée non seulement par la conception elle-même, mais également par le firmware et la documentation de référence.

« Les puces actuelles fondées sur la confiance sont très exclusives. Ils prétendent être sécurisés, mais en réalité, vous le prenez pour acquis et ne pouvez pas le vérifier vous-même, explique Dominic Rizzo, spécialiste principal de la sécurité du projet Google Titan. « Désormais, pour la première fois, il est possible d’assurer la sécurité sans faire confiance aveuglément aux développeurs d’une conception propriétaire de racine de confiance. Ainsi, la fondation n’est 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 à mi-développement afin que tout le monde puisse les examiner, apporter leur contribution et améliorer le système avant le début de la production.

Pour commencer à produire des puces OpenTitan, vous devez postuler et obtenir une certification. Apparemment, aucune redevance n'est requise.

Source: habr.com

Ajouter un commentaire