Informatique légale : FPGA vs. GPU



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

Journées MATHRICE "Dijon-Besançon" DIJON mars Projet MySafeKey Authentification par clé USB

Tests de performance du matériel

Une bibliothèque de templates pour CUDA

Attaques Wi-Fi WPA. Séparer le bon grain de l ivraie dans le buzz ambiant. Cédric Blancher. sid@rstack.org Rstack Team

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

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

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Exigences système Commercial & Digital Printing

Exigences système BauBit pro

Sécurité et fiabilité des SI : Chiffrement de disques durs

Architecture des ordinateurs

Exigences système Commercial & Digital Printing

Les fonctions de hachage, un domaine à la mode

Web : Stockage de mot de passe LOG619 Automne 2011 Olivier Bilodeau

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Présentation d HyperV

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

CAHIER DES CHARGES D IMPLANTATION

Présenté par : Ould Mohamed Lamine Ousmane Diouf

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

Documentation d information technique spécifique Education. PGI Open Line PRO

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

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

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

Les Réseaux sans fils : IEEE F. Nolot

Windows Server Chapitre 1: Découvrir Windows Server 2008

Sans trop entrer dans les détails, la démarche IO Model consiste à : Pour cela, Microsoft découpe la maîtrise de l infrastructure en quatre niveaux :

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

Exigences système Edition & Imprimeries de labeur

LE DISQUE DUR : IDE (Integrated Device Electronique) : La nouvelle référence.

Livre blanc. Sécuriser les échanges

datatale Boîtier Crypté 2.5-pouces pour disque dur Manuel d utilisation USB 2.0 AES 256 bit Rev.01

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

Architecture des Ordinateurs. Partie II:

Exécution des instructions machine

á Surveillance en temps réel á Contrôle PTZ á Enregistrement

Limitations of the Playstation 3 for High Performance Cluster Computing

L51W Guide de l application

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

Guide d installation JMap 5.0

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Fonction de hachage et signatures électroniques

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

Exigences système Edition & Imprimeries de labeur

TRANSFORM IT + BUSINESS + YOURSELF

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Routeur Gigabit WiFi AC 1200 Dual Band

Sécurité des réseaux wifi. CREIX Kevin GIOVARESCO Julien

Architecture des calculateurs

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

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

HP 600PD TWR i G 4.0G 39 PC

Description de SQL SERVER. historique

Comprendre le Wi Fi. Patrick VINCENT

Séminaire RGE REIMS 17 février 2011

Initiation au HPC - Généralités

Spécifications d'impression Jusqu'à 12 ppm

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

ERP Service Negoce. Pré-requis CEGID Business version sur Plate-forme Windows. Mise à jour Novembre 2009

INF 4420: Sécurité Informatique Cryptographie II

Programmation parallèle et distribuée

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

MONNIER Marie /2009 WPA

Analyse des protections et mécanismes de chiffrement fournis par BitLocker

Cours Bases de données

Sécurité des réseaux wi fi

Equipements et Logiciels destinés aux universités/instituts de la liste 2 (voir Annexe)

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

La technologie Java Card TM

Spécifications Techniques Générales. Techno Pole Internet. Lycée Djignabo / Ziguinchor

Présence obligatoire de l administrateur réseau et de l administrateur téléphonie pendant l installation et le paramétrage.

Quoi de neuf en contrôle/commande et systèmes embarqués (RIO, WSN...)?

Encryptions, compression et partitionnement des données

Tsoft et Groupe Eyrolles, 2005, ISBN :

Suite bureautique, les enjeux d'une alternative.

Diagrammes de Package, de déploiement et de composants UML

Protection des données avec les solutions de stockage NETGEAR

Gestion des Clés Publiques (PKI)

Programmation parallèle et distribuée

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC!

LOT N 1 : ORDINATEURS BORDEREAU DE PRIX IDENTIFICATION DU FOURNISSEUR. Code DESIGNATION QTE PU HT EN EURO MONTANT TOTAL HT EN EURO MONTANT TTC EN EURO

Mode d emploi pour lire des livres numériques

Pré-requis installation

WINSCOP GESTION DES COOPERATIVES D ACTIVITES ET D EMPLOI

Adopter une approche unifiée en matière d`accès aux applications

Etat de l art du chiffrement de données

Le protocole RADIUS Remote Authentication Dial-In User Service

Etude d architecture de consolidation et virtualisation

Sécurité des réseaux sans fil

À propos de Parallels Desktop 9 pour Mac

Chapitre 4 : Les mémoires

Transcription:

Informatique légale : FPGA vs. GPU Sylvain Collange, Yoginder S. Dandass, Marc Daumas et David Defour 03/06/2008

Problématiques Analyse de disque dur Recherche de contenu illégal connu Y compris dans des fichiers effacés Nécessité de parcourir chaque secteur du disque Récupération de mot de passe Temps d'analyse limité 2

Accélérateurs matériels FPGA VHDL GPU NVidia CUDA 1.1 3

Structure d'un disque Unité de base : secteur, 512 octets Groupés en clusters par le système de fichiers, typiquement 4 Ko Un fichier peut être partiellement effacé Cluster Secteur 0 Secteur 7 Nouveau fichier Reste d'ancien fichier 4

Bibliothéque de contenu recherché Découpé en clusters, puis en secteurs Calcul d'une clef de hachage pour chaque secteur Construction d'une base de données pour chaque secteur d'un cluster (8 pour des clusters de 4Ko) Cluster C n S 0 C n S 7 C n+1 S 0? 5

Hachage : CRC64 Secteur interprété comme un polynôme dans Z/2Z Division par le polynôme Correspond à des XOR et décalages Mais nécessite un traitement bit par bit Utilisation de table x 64 x 4 x 3 x 1 Traitement octet par octet (table à 256 entrées) 6

Architecture NVidia G80 (simplifiée) Unités de calcul Multiprocesseur Registres Mém partagée Mém constantes Unité mémoire Controleur memoire Mémoire globale Cœur (cluster) x8 7

Pipeline Utilisation des streams de CUDA CPU T0 T1 T2 GPU CRC 64 Accès Lecture de secteurs Transferts DMA Table de hachage Disques durs Mémoire centrale Mémoire GPU 8

Lecture des données CUDA : peut convertir 16 requêtes mémoires 32 bits simultanées en 1 requête 512 bits (coalescing) Si les 16 threads réclament des adresses successives Avec alignement sur 512 bit T0 T1 T2 T3 Bloc de 512 bits Dans notre cas, mauvais motif d'accès T0 T1 T2 T3 Secteur n Secteur n+1 Secteur n+2 Secteur n+3 9

Transposition en mémoire partagée Traitement par blocs Lecture avec coalescing Écriture du bloc en mémoire partagée Lecture dans l'ordre transposé T0 T1 T2 T3 Mémoire partagée Secteur n Secteur n+1 Secteur n+2 Secteur n+3 10

Transposition en mémoire partagée Traitement par blocs Lecture avec coalescing Écriture du bloc en mémoire partagée Lecture dans l'ordre transposé T0 T1 T2 T3 Mémoire partagée Secteur n Secteur n+1 Secteur n+2 Secteur n+3 11

Élimination des conflits Mémoire partagée divisée en 16 bancs Conflits lors de la lecture d'une colonne T0 T1 T2 T3 Banc 0 Banc 1 Banc 2 Banc 3 0 1 2 3 4 5 6 7 Fragment secteur 0 Fragment secteur 1 Fragment secteur 2 Fragment secteur 3 Solution : décalage par ajout de padding T0 T1 T2 T3 Mémoire partagée 0 1 2 3 4 5 6 7 12

Recherche dans la table de hachage Calcul du CRC avec une table en mémoire partagée Accès à la table de hachage Re hachage à partir du CRC Accès mémoire aléatoires en mémoire globale Lancer le maximum de threads simultanés pour masquer la latence (~2000) 13

Résultats sur FPGA Virtex 4 FX 100 (~4000 ) Interfaçage direct avec le disque Calcul du CRC pipeliné Recherche binaire sur base de données en DRAM Fonctionne à la vitesse de l'interface du disque 100 Mo/s 14

Résultats sur CPU Xeon 5148 2,33 GHz (500 ) Boost.CRC, STL C++ Disque test de 512 Mo, base de données de 128Mo 50 Mo/s 15

Résultats sur GPU NVidia GeForce 8500 GT (45 ) Cuda 1.1, Pentium 4 2,8 GHz sur i945g 128 threads/bloc, 16 blocs 16

PKCS#5 v2.0 Standard de chiffrement par mot de passe RSA laboratories Password Based Key Derivation Function Utilisé dans : Wi Fi Protected Access (WPA, WPA2) Microsoft Data Protection API (DPAPI) OpenDocument encryption d OpenOffice.org Outils de cryptage de disque FileVault par Mac OS X FreeOTFE (Windows Mobile) Linux Unified Key Setup (LUKS) TrueCrypt Cryptographic disk (NetBSD) Module GEOM ELI pour FreeBSD 17

PKCS#5 : principe PBKDF2(P, S, c) U:= SHA1((P opad) SHA1 ((P ipad) S Int(1))) K:= U for (i=1; i<c; i++){ U:= SHA1((P opad) SHA1 ((P ipad) U)) K:= K U; } return K; } P : message (512 bits) S : salt (128 bits) c : nombre d itérations (~4000) K : résultat (160 bits) : concaténation 18

HMAC-SHA-1 > 280 opérations par tour ET, OU, XOR, ROTATION 4,48 millions d opérations par mot de passe 19

Résultats préliminaires Attaque par dictionnaire CPU Intel Pentium 4 100 mdp/s FPGA Xilinx Virtex 4 FX 100 Implémentation pipelinée à 162Mhz 4 unités de calcul en parallèle Accès au dictionnaire sur disque dur via un contrôleur ATA (PowerPC) 510 mdp/s GPU Nvidia GeForce 8500 GT 670 mdp/s 20

FPGA et/ou GPU? GPU Prix, disponibilité Facilité de développement Débit des interfaces FPGA Souplesse de programmation Souplesse et latence des interfaces Cryptographie maintenant possible sur GPU Complémentarité des approches? 21