
Organisation à but non lucratif en collaboration avec Google et d'autres sponsors le 5 novembre 2019 le projet , qui se décrit comme « le premier projet open source pour créer une architecture de circuit intégré ouverte et de qualité avec une racine de confiance (RoT) au niveau matériel ».
OpenTitan basé sur l'architecture RISC-V — un circuit intégré dédié destiné à être installé sur des serveurs dans des centres de données et dans tout autre équipement requérant l'authentification au démarrage, protégeant le firmware contre les modifications et éliminant la possibilité de rootkits : cela inclut les cartes mères, les cartes réseau, les routeurs, les appareils IoT, les gadgets mobiles, etc.
Bien sûr, de tels modules existent dans les processeurs modernes. Par exemple, le module matériel Intel Boot Guard est la racine de confiance dans les processeurs Intel. Il vérifie, via une chaîne de confiance, l'authenticité du BIOS UEFI avant le démarrage du système d'exploitation. Mais la question est de savoir à quel point nous pouvons faire confiance aux racines de confiance propriétaires, étant donné que nous n’avons aucune garantie d’absence de bugs dans la conception et qu'il n'est pas possible de le vérifier ? Voir l'article qui décrit comment une erreur clignée pendant des années sur la production de plusieurs fournisseurs permet à un potentiel attaquant d'utiliser cette technologie pour créer un rootkit caché dans le système qui ne peut pas être supprimé (même par un programmeur).
La menace de compromission de l'équipement dans la chaîne d'approvisionnement est étonnamment réelle : apparemment, n'importe quel amateur d'électronique , en utilisant un matériel coûtant pas plus de 200 dollars. Certains experts soupçonnent que « des organisations avec un budget de plusieurs centaines de millions de dollars ont pu s'y adonner depuis de nombreuses années ». Bien qu'il n'y ait aucune preuve, cela est théoriquement possible.
« Si vous ne pouvez pas faire confiance au chargeur de démarrage matériel, tout est fini, — Gavin Ferris, membre du conseil d'administration de lowRISC. — Peu importe ce que fait le système d'exploitation — si à l момент où le système d'exploitation démarre vous êtes compromis, il ne reste plus qu'à compléter la tâche. C'est déjà fini pour vous. »
Ce problème est ce que la première plateforme matérielle ouverte de son genre, OpenTitan, doit résoudre (, , ). S'éloigner des solutions propriétaires permettra de changer « l'industrie RoT, lente et imparfaite », estime Google.
La société Google a commencé à développer Titan après avoir découvert le système d'exploitation Minix intégré dans les puces Intel Management Engine (ME). Ce système complexe augmentait de manière imprévisible et incontrôlable la surface d'attaque. Google , mais sans succès.
Qu'est-ce que la racine de 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.
La racine de confiance (Root of Trust, RoT) est une vérification matérielle de l'authenticité qui garantit que la source de la première instruction exécutable dans la chaîne de confiance ne peut pas être modifiée. La RoT constitue une protection de base contre les rootkits. C'est une étape clé du processus de démarrage qui participe au lancement ultérieur du système — du BIOS au système d'exploitation et aux applications. Elle doit vérifier l'authenticité de chaque étape subséquente du démarrage. Pour ce faire, un ensemble de clés avec signature numérique est utilisé à chaque étape. L'un des standards de protection matérielle des clés les plus populaires est le TPM (Trusted Platform Module, module de plateforme fiable).

Établissement de la racine de confiance. La figure ci-dessus présente un démarrage en cinq étapes qui forme une chaîne de confiance et commence par le chargeur, qui se trouve en mémoire immuable. À chaque étape, une clé publique est utilisée pour authentifier le composant à charger suivant. Illustration tirée du livre de Perry Lee
La RoT peut être lancée de différentes manières :
- chargement d'une image et d'une clé racine depuis le firmware ou la mémoire immuable ;
- stockage de la clé racine dans une mémoire programmable une fois à l'aide de bits de fusion ;
- chargement de code depuis une zone de mémoire protégée dans un stockage sécurisé.
La racine de confiance est réalisée de manière différente dans divers processeurs. Intel et ARM
sont compatibles avec les technologies suivantes :
- ARM TrustZoneARM vend aux fabricants de puces un bloc silicium propriétaire qui fournit une racine de confiance et d'autres mécanismes de sécurité. Ainsi, le microprocesseur est dissocié du noyau non sécurisé ; il exécute un système d'exploitation Trusted OS — un système d'exploitation sécurisé avec une interface d'interaction clairement définie avec des composants non sécurisés. Les ressources sécurisées se trouvent dans le noyau de confiance et doivent être aussi légères que possible. Le passage entre des composants de différents types se fait grâce à un commutateur de contexte matériel, éliminant ainsi le besoin d'un logiciel sécurisé de surveillance.
- Intel Boot Guard est un mécanisme matériel pour authentifier le bloc de démarrage initial par des moyens cryptographiques ou via un processus de mesure. Pour vérifier le bloc de démarrage 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 « détonant » des bits 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 la phase de démarrage.
La plateforme OpenTitan ouvre les parties clés d'un tel système matériel-logiciel, comme indiqué dans le diagramme ci-dessous.

Plateforme OpenTitan
Le développement de la plateforme OpenTitan est géré par l'organisation à but non lucratif lowRISC. L'équipe d'ingénieurs est basée à Cambridge (Royaume-Uni), et le principal sponsor est Google. Les partenaires fondateurs incluent l'École polytechnique fédérale de Zurich, G+D Mobile Security, Nuvoton Technology et Western Digital.
Google du projet sur le blog d'entreprise de Google Open Source. La société a déclaré que OpenTitan vise à « fournir des recommandations de conception et d'intégration de RoT de haute qualité pour une utilisation dans des serveurs de centres de données, du stockage, des périphériques 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 de calcul de confiance, en lequel le système a toujours une confiance totale.
Le RoT est crucial pour les applications, notamment pour 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 compréhensible que Google soutienne ce projet. Actuellement, elle dispose de 19 centres de données sur cinq continents. Les centres de données, les stockages 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.
pour les centres de données Google a été présentée pour la première fois lors de la conférence Google Cloud Next. « Nos ordinateurs effectuent une vérification cryptographique de chaque paquet de logiciel, puis décident d'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 expliqué les représentants de Google lors de cette présentation.

La puce Titan dans le serveur Google
L'architecture Titan était la propriété de Google, mais elle devient maintenant un bien public dans le cadre d'un projet open source.
La première étape du projet consiste à créer une conception logique du RoT au niveau de la puce, y compris un microprocesseur open source , des processeurs cryptographiques, un générateur de nombres aléatoires matériel, une hiérarchie de clés et d'une mémoire pour le stockage non volatile et volatile, des mécanismes de protection, des périphériques d'entrée-sortie et des processus de démarrage sécurisés.
Google affirme qu'OpenTitan repose sur trois principes clés :
- chacun a la possibilité de vérifier la plateforme et d'y contribuer ;
- une flexibilité accrue grâce à l'ouverture d'une conception logiquement sécurisée qui n'est pas bloquée par des restrictions propriétaires du fournisseur ;
- la qualité, assurée non seulement par la conception elle-même, mais aussi par le firmware de référence et la documentation.
«Les circuits intégrés actuels avec des racines de confiance sont très propriétaires. Ils prétendent être sécurisés, mais en réalité, vous devez prendre cela pour acquis et ne pouvez pas les vérifier vous-même, déclare Dominic Rizzo, expert en sécurité du projet Google Titan. — Pour la première fois, il y a une possibilité d'assurer la sécurité sans croire aveuglément aux concepteurs de racines de confiance propriétaires. Ainsi, la fondation n'est pas seulement solide, elle est vérifiable.»
Rizzo a ajouté qu'OpenTitan peut être considéré comme «un design radicalement transparent, par rapport à la situation actuelle».
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 ouvert les spécifications et le design au milieu du développement, afin que tout le monde puisse le vérifier, contribuer et améliorer le système avant le début de la production.
Pour commencer la production des puces OpenTitan, il est nécessaire de soumettre une demande et de passer une certification. Apparemment, aucun droit de licence n'est requis.
Source : habr.com
