Composant Cryptographique TPM Retours d’expérience

Slides:



Advertisements
Présentations similaires
Toshiba EasyGuard – Présentation – Module 2 du cours
Advertisements

Réunion du club utilisateur Salesforce.com
L’Essentiel sur… La sécurité de la VoIP
Les Web Services Schéma Directeur des Espaces numériques de Travail
Botnet, défense en profondeur
Client Mac dans un réseau Wifi d’entreprise sécurisé
Techniques dattaques des microcircuits par pénétration partielle Bruno Kérouanton – Resp. SNT - CISSP.
Éthique de la cryptologie
Ordinateurs et soutien Technique
Guillaume CACHO Pierre-Louis BROUCHUD
Les tests et les logiciels de gestion de tests
Organiser des Tests dans un projet
Projet SeVeCom (Secure Vehicular Communications)
Vue d'ensemble Implémentation de la sécurité IPSec
Réseaux Privés Virtuels
Architecture de machines Principes généraux
Département de physique/Infotronique
Gestion automatisée des filtres d’attributs
Récupération de Données
La mise en place du Règlement sur la diffusion de linformation Un travail déquipe.
Architecture d’un ordinateur
Plateforme de gestion de données de capteurs
Public Key Infrastructure
SSL (Secure Sockets Layer) (couche de sockets sécurisée)
Restriction daccès aux logiciels et aux matériels Problème de licence Nicolas CHABANOLES Matière : SRR Lieu: UFRIMA.
L'algorithme Blowfish.
Le langage ASP Les variables d'environnement HTTP avec Request.
Sommaire Objectif de Peakup Principes de fonctionnement
0 NOUVEAUTÉS LES PREMIERS SCEAUX FRANÇAIS DÉLIVRÉS PAR WEBTRUST FRANCE.
Lycée Louis Vincent Séance 1
bons exemples / mauvais exemples
Section 4 : Paiement, sécurité et certifications des sites marchands
i-PARAPHEUR Facture VISA VISA
Mise en place d'un serveur SSL
Cryptographie Réalisé par TOUJENI Noura BEN SOUISSI Rania KARAOUD Imen
ENST 31/01/ Un environnement de test non intrusif de systèmes temps-réel distribués Claire.
Module 4 : Maintenance des pilotes de périphériques
Test dun Réseau sur puce générique (generic Network on Chip) Présenté par: David Bafumba-Lokilo & Silvio Fornera.
“Si vous ne pouvez expliquer un concept à un enfant de six ans, c’est que vous ne le comprenez pas complètement” - Albert Einstein.
Module : Technologies des serveurs réseaux : Les technologies de sécurité Présenter par : Mounir GRARI.
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI Jean-Jacques DUMÉRY -1-
Novembre – Décembre 2005 Version Conclusion État de lart de la sécurité informatique Auteurs : Stéphan GUIDARINI – Consultant Senior Sébastien DESSE.
Projet CONSULTING SA : GSA ( Gestion du suivi d’activités)
VPN - SSL Alexandre Duboys Des Termes IUP MIC 3 Jean Fesquet
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
Dématérialisation & Téléprocédures
Gestion des clés cryptographiques
Outil de volumétrie pour Quadrige² 20 mars 2009 – O. CatryDUT Informatique.
Dématérialisation & Téléprocédures
La sécurité dans les réseaux mobiles Ad hoc
Supports de formation au SQ Unifié
Stockage d’information sur un périphérique non sécurisé Stage INRIA - Projet SMIS Cryptographie et Bases de données Septembre 2006 Soutenance de Vincent.
1/13 Sécurité dans Pastis Fabio Picconi LIP6 13 février 2004 ACI MD Grid Data Services (GDS)
Architecture d’une application WEB Statique:
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Référence CNAM - RSX112 Nombre de crédits enseignements - 6 ETCS
Sécurité des données dans le cloud Miech / Thibaut 03/10/2013.
IPSec Formation.
SecretManager Présentation du SecretServer. Description générale Le SecretServer est un processus qui tourne en tâche de fond sur le même serveur que.
Installation et gestion d'un site Web avec Linux et Apache
Confidentialité : L’encryptage
V- Identification des ordinateurs sur le réseau
La recherche pour l’ingénierie de l’agriculture et de l’environnement SSI : Service des Systèmes d’Information Arcintel Administration des postes de travail.
Sécurité des Web Services
Objectifs du développement Des agendas culturels et services quotidiens de La Libre Belgique et de La Dernière Heure et proposera des services d’informations.
Cryptographie – Les couches réseau Apache - TLS/SSL
ISO 9001:2000 Interprétation Article 7 Réalisation du produit
Chapitre 8 Protection du trafic réseau à l'aide de la sécurité IPSec et de certificats Module S43.
PROJET DE SESSION DANS LE CADRE DU COURS: SCG Réalisation d’applications en SIG PRÉSENTÉ PAR: Marie-Andrée Levesque 18 AVRIL 2006.
Transcription de la présentation:

Composant Cryptographique TPM Retours d’expérience FRI 31/03/2017

Plan de l’exposé Revue du TPM et de ses services intrinsèques Positionnement dans une architecture x86 Architecture du composant (modules crypto, mémoire protégée,…) Pile logicielle utilisatrice Services intrinsèques (stockage sécurisé, scellement de données, mesure,…) Services de haut niveaux associés au composant Mesure du poste client Attestation distante Gestion des clés et des certificats Retours d’expérience sur quelques applications utilisatrices Stratégie de tests Analyse de TrouserS, Trusted Grub, IMA, eCryptfs Conclusion FRI 31/03/2017

Positionnement du TPM Puce crypto esclave connectée au bus LPC Principaux constructeurs (Infineon, Atmel, Broadcom, Intel, etc.) Soudée ou non à la carte mère Possibilité d’intégration dans le southbridge des CM Intel récentes (chipset ICH10) FRI Composant esclave : n’agit pas de son propre chef. Il est piloté par une application Infineon et Atmel sont très utilisés dans le monde du logiciel libre BUS LPC < Southbridge < Processeur Prix d’une puce =5$ 150 Millions de PC équipés en 2008 250 Millions de PC en 2010(90% du Marché) 31/03/2017

Architecture interne du TPM Les spécifications TCG prévoient : Le durcissement de la Puce : Protection logicielle face à la force brute Protection matérielles contre les attaques intrusives et non intrusives Générateur d’aléa Effacement d’urgence Communications internes chiffrées 16/24 Registres PCR de 160 bits, pouvant accueillir des mesures SHA-1 Taille des clés obligatoire pour le RSA <= 2048 bits FRI Mémoire : volatile ou non Dans la non volatile : SRK, EK, AIK Mémoire volatile : Clés chargées en mémoire pour être utilisées SRK : Storage Root Key EK : Endorsement Key (2048 bits) AIK : Attestation Identity Key (2048 bits) signature 31/03/2017

Services intrinsèques Gestion des clés (Création, utilisation et protection de clés crypto) (Dé) Chiffrement asymétrique de clés de session (Dé) Chiffrement conditionné à l’état des registres PCR (scellement) Signature RSA de clés et des registres PCR Vérification de signature RSA Stockage chainé dans les PCR de condensés SHA-1 de données Génération d’aléa FRI Scellement Les opérations chiffrement sont fait à l’intérieur du TPM Pas de service de chiffrement symétrique mis à disposition des applications 31/03/2017

Avantages / Inconvénients Opérations crypto (RSA/SHA-1/HMAC/…) réalisées à l’intérieur du TPM Stockage sécurisé des clés privées dans le TPM Protection matérielle et logicielles contre les attaques intrusives et non intrusives (selon les spécifications) En dehors des spécifications fonctionnelles publiques, l’implémentation est de type boite noire (quid de la génération d’aléa…) FRI 31/03/2017

Communications avec le TPM Les applications s’appuient sur la pile TPM Software Stack (TSS) qui prend en charge : La communication avec la puce de type challenge réponse La synchronisation des différentes requêtes La gestion des clés L’authentification Pilotes TPM différents suivant le fabricant, disponibles sous Windows / Linux Protections offertes entre la puce et la TSS Authorization Protocol : protection en intégrité + authentification mutuelle TPM/Utilisateur Transport Sessions (TPM 1.2) : protection en confidentialité FRI Opération de hachage et de chiffrement symétrique TSS : verts clairs, le pilote ne fait pas partie de la TSS Données AUTH sont des SHA1 TPM mono tâche. TSS permet de synchroniser les différentes requêtes. 31/03/2017

Service de haut-niveaux Mesure du poste client : vue d’ensemble Objectif : mesurer l’intégrité d’un poste client depuis la phase de boot et établir une chaine de confiance Le processus de mesure est initié par le CRTM : racine de confiance pour la mesure Sécurité du processus? Modification possible du CRTM GGX Transitivité des mesures Mesurer l’intégrité pour être vérifier ultérieurement Fichier SML : pour récolter les mesures Problème : comment s’assurer que les mesures sont intègres et non falsifiées ? 31/03/2017

Service de haut-niveaux Mesure du poste client Principe de la mesure : Processus d’extension d’un registre PCR : Permet de chainer l’ensemble des mesures Et donc de vérifier l’intégrité du fichier SML Le processus se focalise sur la mesure et le stockage sécurisé des mesures : pas d’attestation par un tiers GGX Qu’est-ce qu’une mesure ? SHA1 PCR : Platform Configuration Register SML : Stored Measurement Log A quoi servent les PCR ? À valider l’intégrité des mesures stockées dans le SML Chaque mesure est associée à un registre PCR La vérification se fait un réalisant le processus d’extension des mesures concernées par un registre PCR et en comparant le résultat avec le registre PCR PCR sont volatiles !!! Initialisés à chaque démarrage de la machine 31/03/2017

Service de haut-niveaux Mesure du poste client : Objectif d’un attaquant Hypothèse de l’attaque : le CRTM est de confiance Sécurité du schéma ~ Sécurité de SHA-1 (collision en 263 ) FRI Raisonnement sur un registre donné Soit un élément logiciel mesuré 31/03/2017

Mesure du poste client 31/03/2017

Service de haut-niveaux Attestation distante (principe) Offre l’opportunité à un tiers distant de vérifier l’état d’une plateforme Génération pour chaque vérifieur de clés filles RSA AIKi d’attestation d’identité (signée par EK) EK AIKi Prouveur Vérifieur (e.g. Serveur de contrôle) FRI Principe : envoyer le fichier SML avec les registres PCR signés par une AIK Pourquoi une AIK ? Pour éviter d’exposer l’EK. L’intégrité et la provenance des registres PCR est assurés par la signature AIK Le vérifieur peut vérifier l’intégrité du fichier SML Le vérifieur peut ensuite jugé si les éléments logiciels mesurés sont valides ou non à partir de la mesure 31/03/2017

Service de haut-niveaux Attestation distante. Deux types de protocole : v1.1 : Protocole avec AC privée pour la certification des AIKi. Problèmes : Anonymat. Collusion entre AC privées et vérifieurs Disponibilité. Gestion du réseau d’AC v1.2 Protocole DAA (Direct Anonymous Attestation) Principe : Protocole zero-knowledge. Aucune information sur l’identité du TPM n’est dévoilée. Pas d’implémentation fonctionnelle du protocole pour l’instant FRI Deux protocoles permettant de réaliser l’attestation distante 31/03/2017

Trousseau de clés Principaux types de clés RSA : Clé de signature Clé de chiffrement Clé de scellement / stockage Certaines clés ne sont pas transférables d’une plateforme à une autre (EK, AIK, SRK) du fait du principe d’unicité du TPM Chaque clé est protégée (scellée) par une clé mère (principe de hiérarchisation des clés) La clé racine (SRK : Storage Root Key) peut protéger une infinité de clés stockées à l’extérieur du TPM (cf. schéma) L’utilisation d’une clé peut être conditionnée : A la connaissance de son mot de passe A la connaissance du mot de passe de la clé parente A l’état des registres PCR FRI Les clefs sont utilisées dans le TPM Les clefs sont stockées chiffrés sur le disque dur Clefs migrables Données d’auth -> SHA-1 Au niveau de la TSS plusieurs choix sont possibles : SHA1, clair, UNICODE 31/03/2017

Retours d’expérience Stratégie de test Trusted Grub Integrity Measurement Architecture (IMA) Trousers eCryptfs FRI 31/03/2017

Stratégie des tests Stratégie de tests inspiré du schéma d’évaluation CSPN Méthodologie privilégiant l’expertise technique Evaluation en temps contraint Etapes de l’analyse Description des fonctionnalités, de l’environnement d’utilisation et de sécurité Analyse de la conformité Analyse de la résistance Analyse des vulnérabilités Remarque : La réalisation d’attaques matérielles ne figurait pas dans le périmètre des tests (SPA, DPA, HO-DPA). FRI 31/03/2017

Trusted Grub Grub modifié afin de réaliser des mesures au démarrage Trusted Grub mesure : Lui – même (stage 1.5 et stage 2. Le stage 1 (MBR) est mesuré par le BIOS) Le fichier de configuration de Grub Le noyau et le système minimal initial (initrd) Possibilité de désigner des fichiers à mesurer Remarques importantes : Trusted Grub n’assure qu’un service de mesure Pas de vérification des mesures effectuées Erreur de programmation trouvée dans l’analyse : Processus d’extension non réalisé GGX Il existe plusieurs branches de Trusted Grub 31/03/2017

IMA Patch du noyau Linux, développé par IBM Permet à l’OS de mesurer automatiquement à l’exécution : Les exécutables Les pilotes Les librairies partagées Offre une interface de mesure pour les applications Transparent pour l’utilisateur IMA peut Détecter les changements d’intégrité des binaires Détecter les violations d’intégrité GGX 31/03/2017

IMA Principe de la violation de l’intégrité pour IMA GGX 31/03/2017

IMA Bilan: Quelque bogues … IMA se focalise sur la mesure Pas de mécanismes de vérification des mesures par rapport à une base de référence Pas de prise de décision Il s’agit d’une brique du mécanisme d’attestation de la plateforme, pas d’une solution complète Nécessite une application tierce pour interpréter les résultats d’IMA Quelque bogues … GGX 31/03/2017

Trousers TSS libre sous Linux (http://trousers.sourceforge.net) Version actuelle : 3.1 Implémente à 85% les spécification 1.2 Analyse selon une métrique de cotation d’API cryptographique: Indépendance vis-à-vis des algorithmes Indépendance vis-à-vis du module cryptographique Degré d’expertise cryptographique Contrôle de flux Partage de charge, gestion de l’asynchronisme FRI 31/03/2017

Trousers Bilan : Application : Dédiée au pilotage d’un TPM (pas de réutilisation possible avec un composant tiers) Implémentation de la pile bien avancée (reste principalement le DAA) S’apparente plus à un prototype qu’à une API finalisée Pas de protection contre les principales attaques de la littérature Application : API Hooking afin de récupérer des informations sensibles : Mot de passe de la clef SRK Clef symétrique utilisée FRI 31/03/2017

eCryptfs Couche de chiffrement au niveau du système de fichiers Une clef de chiffrement symétrique par fichier Chaque clef symétrique est scellée par le TPM GGX 31/03/2017

eCryptfs Chiffrement conditionnel Accès au système de fichier conditionné à l’état de la machine Authentification avec la puce du TPM non conforme des spécifications du TCG Outil d’expert : requiert des connaissances approfondies du fonctionnement du TPM : choix des registres PCR à utiliser pour le scellement. Il s’agit d’un choix crucial ! Quelques bogues … Pas assez mature pour une utilisation dans un environnement de production GGX 31/03/2017

Conclusion Technologie prometteuse pour la sécurisation des architectures PC Services cryptographiques matériels et logiciels à bas coûts Attestation distante avec service d’anonymat Technologie souffrant néanmoins de problèmes de maturité Non-conformité des applications par rapport aux spécifications Problème de compatibilité matérielle de certains composants Opacité des spécifications (manque un niveau de spécification formel) FRI 31/03/2017

Questions ? 31/03/2017

Annexe 31/03/2017

Synoptique de Trusted Grub 31/03/2017

Exemple de contenu des PCR 31/03/2017

IMA – Fichier SML 31/03/2017

IMA – Processus de mesure 31/03/2017

Processus de certification Principe de certification chainée Ex: VeriSign -> Infineon -> HP -> TPM La concordances des signatures est vérifiée lors du mécanisme d’attestation distante, afin de s’assurer que les données signées proviennent d’un TPM physique conforme aux spécifications du TCG Génération de la clé EK (Endorsment Key) lors de l’intégration du TPM sur la carte mère Création d’un certificat contenant la signature de l’EK Ce certificat est livré avec le TPM Les autres certificats (Infineon, VeriSign) sont disponibles sur internet : http://www.infineon.com/cms/en/product/channel.html?channel=ff80808112ab681d0112ab692060011a 31/03/2017

Démonstration 31/03/2017

Démonstration 31/03/2017

Vérification locale du fichier SML Absence de mécanisme de vérification dans IMA,Trusted Grub Script développé par Amossys Permet de vérifier la cohérence des mesures Ne permet pas de valider l’intégrité d’une application (nécessiterait une mesure de référence) GGX 31/03/2017

Mesure du poste client GGX 31/03/2017