Portage de l architecture sécurisée CryptoPage sur un microprocesseur x86



Documents pareils
Les crypto-processeurs et l informatique de confiance. Guillaume Duc Encadrant : Ronan Keryell

Cryptoprocesseurs et virtualisation

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Limitations of the Playstation 3 for High Performance Cluster Computing

La sécurité dans les grilles

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Initiation à la sécurité

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Architecture des ordinateurs

Authentification de messages et mots de passe

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Communications performantes par passage de message entre machines virtuelles co-hébergées

INF 4420: Sécurité Informatique Cryptographie II

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010.

A propos de la sécurité des environnements virtuels

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Authentification. Règles et recommandations concernant les mécanismes d authentification de niveau de robustesse standard

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Sécurité des réseaux IPSec

Sécuristation du Cloud

Les fonctions de hachage, un domaine à la mode

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

Sécurité des réseaux sans fil

Présentation. LogMeIn Rescue. Architecture de LogMeIn Rescue

Université d Aix-Marseille Master Réseaux & Télécoms Cryptographie

Gestion des clés cryptographiques

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Le protocole SSH (Secure Shell)

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Contributions à l expérimentation sur les systèmes distribués de grande taille

Concept de machine virtuelle

Recommandations pour la protection des données et le chiffrement

La prise de conscience de la Cyber Sécurité est en hausse

Pascal Gachet Travail de diplôme Déploiement de solutions VPN : PKI Etude de cas

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

«Le malware en 2005 Unix, Linux et autres plates-formes»

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Bibliographie. Gestion des risques

Sécurité des systèmes informatiques Introduction

La carte à puce. Jean-Philippe Babau

COMMUNIQUER EN CONFIANCE

Concilier mobilité et sécurité pour les postes nomades

Devoir Surveillé de Sécurité des Réseaux

Systèmes d exploitation

TP 2 : Chiffrement par blocs

Sanity Check. bgcolor mgcolor fgcolor

Protocoles cryptographiques

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

Métriques de performance pour les algorithmes et programmes parallèles

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

La sécurité dans un réseau Wi-Fi

Eric Bertrand 08/11/06 Maître de conférence 1

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Routeur Chiffrant Navista Version Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.

Initiation au HPC - Généralités

Christophe Pagezy Directeur Général Mob:

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

D31: Protocoles Cryptographiques

Auditer une infrastructure Microsoft

Virtualisation & Sécurité

INSTALLATION D'OPENVPN:

Club Utilisateurs 2 ème Réunion, 8 Octobre 2014 International RFID Congress, Marseille. Diffusion Restreinte

Rapport d activité. Mathieu Souchaud Juin 2007

SRS Day. Attaque BitLocker par analyse de dump mémoire

SUJET EPREUVE ECRITE. JURY ASI Bap E Gestionnaire de parc informatique et Télécom.

Cryptographie. Cours 3/8 - Chiffrement asymétrique

SYSTÈME DE GESTION DE FICHIERS

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

IPSEC : PRÉSENTATION TECHNIQUE

Extraction de données authentifiantes de la mémoire Windows

«ASSISTANT SECURITE RESEAU ET HELP DESK»

Virtual Private Network WAFA GHARBI (RT4) CYRINE MAATOUG (RT4) BOCHRA DARGHOUTH (RT4) SALAH KHEMIRI (RT4) MARWA CHAIEB (RT3) WIEM BADREDDINE (RT3)

Chapitre 1 Windows Server

EVault Endpoint Protection en détails : Gestion de l entreprise, Sauvegarde, Restauration et Sécurité

La mémorisation des mots de passe dans les navigateurs web modernes

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

Cours A7 : Temps Réel

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

Présentation d HyperV

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

La citadelle électronique séminaire du 14 mars 2002

Mise en place d une politique de sécurité

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

Programmation C. Apprendre à développer des programmes simples dans le langage C

Sécurité du cloud computing

GESTION DE LA MEMOIRE

Nouvelles stratégies et technologies de sauvegarde

Transcription:

Portage de l architecture sécurisée CryptoPage sur un microprocesseur x86 Guillaume Duc Ronan Keryell Département Informatique École Nationale Supérieure des Télécommunications de Bretagne Symposium en Architecture de Machines, 2005 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 1 / 36

Plan de la présentation 1 Introduction 2 3 4 5 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 2 / 36

Plan Introduction 1 Introduction 2 3 4 5 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 3 / 36

Sécurité Informatique Problème d actualité Nombreuses solutions au niveau logiciel : Algorithmes (chiffrement, signatures numériques, etc.) Protocoles (IPsec, Kerberos, etc.) Applications (DRM, etc.) Mais support matériel d exécution non sécurisé (sauf applications restreintes comme les cartes à puces) et donc vulnérable à des attaques physiques G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 4 / 36

Les Besoins de Sécurité Grilles de calcul De plus en plus utilisées par les centres de recherche et les entreprises Mais sécurité des nœuds non garantie : Divulgation du code Divulgation des résultats Production de faux résultats Gestion des droits des œuvres numériques Applications en ligne (e-vote, banque, etc.) Code mobile G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 5 / 36

Plan Introduction 1 Introduction 2 3 4 5 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 6 / 36

Plan Introduction 1 Introduction 2 3 4 5 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 7 / 36

de sécurité de CryptoPage Architecture matérielle permettant l exécution de processus sécurisés : Confidentialité : un attaquant doit pouvoir obtenir le moins d information possible sur le code ou les données Intégrité : la bonne exécution d un processus ne peut pas être altérée par une attaque En parallèle avec des processus (sécurisés ou non) Avec un système d exploitation non sécurisé (mais adapté à CryptoPage) G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 8 / 36

de sécurité CryptoPage Tout ce qui est à l extérieur du processeur est considéré comme étant sous le contrôle d un attaquant Attaques physiques contre le processeur non étudiées ici (injection de fautes, attaques par mesure de consommation, etc.) Attaques par déni de service inévitables... Garder des performances raisonnables Différents compromis sécurité performance (zone lecture seule, zone lecture-écriture, zone en clair,... ) G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 9 / 36

Plan Introduction 1 Introduction 2 3 4 5 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 10 / 36

Propriété de Confidentialité données et instructions des processus sécurisés Utilisation algorithme de chiffrement symétrique par bloc Deux clés par processus sécurisé Effectué entre le cache et la mémoire sur des lignes de cache Si interruption : chiffrement puis effacement du contexte matériel du processus sécurisé en cours G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 11 / 36

Propriété d Intégrité Protection des données et des instructions : mécanisme de vérification de l intégrité mémoire par fonction de hachage hiérarchique (arbres de Merkle) Protection des contextes matériels : Message Authentication Code (mac) G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 12 / 36

Survol de l architecture CryptoPage/x86 Cœur du processeur Cache Données E Kd,pid mmu Unité CryptoPage Tampons de contexte Registres de contrôle Cache Instructions E Ki,pid Vérification intégrité Mémoire Clé secrète Puce G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 13 / 36

Tampons de contexte cb 1 cb n cb cur F F Non chiffré Chiffré ecb 1 ecb n Bus de donnée G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 14 / 36

Nouvelles instructions Instruction IRETS SIG SIGEND cb i MOV src,ecb i,j MOV ecb i,j,dest MOV cb i,cb j MOVNE reg,dest MOVNE src,reg MOV reg,cpcr i MOV cpcr i,reg Description Retour d interruption en mode sécurisé Déclenchement d un signal Fin d un signal Charge un contexte matériel Sauvegarde un contexte matériel Déplacement d un contexte matériel Écriture mémoire non sécurisée Lecture mémoire non sécurisée Manipulation des registres de contrôle Manipulation des registres de contrôle G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 15 / 36

Plan Introduction 1 Introduction 2 3 4 5 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 16 / 36

Introduction Projet Tcpa / Ngscb Puce (tpm), indépendante du processeur, offrant des mécanismes de sécurité Noyau sécurisé (Nexus) de sécurité différents de CryptoPage Isolation forte entre processus Stockage sécurisé Attestations cryptographiques Chemin sécurisés pour l utilisateur Vulnérable à certaines attaques (attaques physiques sur le bus) G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 17 / 36

Introduction aegis Intégrité mémoire : arbres de Merkle et hachage sur des multi-ensembles Confidentialité : chiffrement en mode compteur xom Intégrité mémoire : mac, vulnérable à des attaques par rejeu Confidentialité : chiffrement en mode compteur Description d un système d exploitation non sécurisé G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 18 / 36

Plan Introduction 1 Introduction 2 3 4 5 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 19 / 36

Plan Introduction 1 Introduction 2 3 4 5 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 20 / 36

Les modes d opération des algorithmes de chiffrement Algorithmes de chiffrement par blocs travaillent sur des blocs de données de taille fixe (128 bits pour l aes) Si la taille du message est différente de celle d un bloc, utilisation d un mode d opération Exemples : ecb : Electronic CodeBook cbc : Cipher-Block Chaining G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 21 / 36

Exemple de ecb Introduction P 0 P 1 P 2 Données en clair E K E K E K C 0 C 1 C 2 Données chiffrées E 1 K E 1 K E 1 K Déchiffrement P 0 P 1 P 2 Données en clair Mode ecb G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 22 / 36

Problème avec ecb... Non chiffré Chiffré en mode ecb G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 23 / 36

Exemple de cbc Introduction P 0 P 1 P 2 Données en clair E K E K E K IV C 0 C 1 C 2 Données chiffrées E 1 K E 1 K E 1 K Déchiffrement P 0 P 1 P 2 Données en clair Mode cbc G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 24 / 36

Exemple de cbc Introduction Non chiffré Chiffré en mode cbc G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 25 / 36

Plan Introduction 1 Introduction 2 3 4 5 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 26 / 36

Stockage des Vecteurs d Initialisation Problème : stockage transparent des Vecteurs d Initialisation Modification de la mmu afin de cacher ce stockage : Manipulation d adresses virtuelles par processus sécurisés Adresses virtuelles dilatées en adresses logiques par la mmu Allocation de mémoire logique supplémentaire afin de stocker les iv Manipulation des adresses logiques par os (sans distinction données/iv) G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 27 / 36

Stockage des Vecteurs d Initialisation a b a iv b iv 0 0xFFFFFFFF A v mmu A l mmu A ϕ G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 28 / 36

Plan Introduction 1 Introduction 2 3 4 5 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 29 / 36

du chiffrement Latence supplémentaire lors d un défaut de cache Parallélisation du déchiffrement en mode cbc Unités de déchiffrement pipelinées Latence supplémentaire lors de l écriture en mémoire en mode cbc non parallélisable Pipeline possible... Mais latence peu gênante Si ligne à nouveau nécessaire : récupération directement dans le pipeline G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 30 / 36

Plan Introduction 1 Introduction 2 3 4 5 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 31 / 36

Appels systèmes : besoin de passer/récupérer arguments mécanisme d effacement et de restauration sélectif des registres Signaux Unix : mécanisme d autorisation de branchement d un processus à une adresse particulière à la demande du système d exploitation Chargement initial d un programme sécurisé : contexte initial du programme chiffré à l aide de la clé publique du processeur G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 32 / 36

Plan Introduction 1 Introduction 2 3 4 5 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 33 / 36

Simulations Implémentation partie confidentialité dans simulateur de pc complet Bochs Programmes fonctionnent chiffrés dans Bochs avec noyau Linux 2.6.10 adapté pour tourner sur CryptoPage/x86 Bochs (100 000 lignes en tout) : + 800 lignes pour le cache + 2 000 lignes pour CryptoPage/x86 Noyau Linux (plusieurs millions lignes en tout) : + 500 lignes dietlibc : + 150 lignes des fichiers elf : 1 500 lignes G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 34 / 36

Travaux Futurs Mesures plus précises de l impact en terme de performance Implémentation des mécanismes d intégrité mémoire dans Bochs Multiprocesseurs Adaptation des concepts de CryptoPage à un processeur sparc sur fpga G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 35 / 36

Portage de l architecture sécurisée CryptoPage sur un microprocesseur x86 Guillaume Duc Ronan Keryell Département Informatique École Nationale Supérieure des Télécommunications de Bretagne Symposium en Architecture de Machines, 2005 G. Duc, R. Keryell (ENST Bretagne) CryptoPage/x86 SympAAA 2005 36 / 36