Comprendre la cryptographie en White Box
Transcription
Comprendre la cryptographie en White Box
THE DATA PROTECTION COMPANY Comprendre la cryptographie en White Box LIVRE BLANC Les méthodes conventionnelles de cryptographie ne sont pas en mesure de fournir une solution de sécurisation qui réponde totalement aux divers scénarios d’attaque qui tentent d’exploiter les vulnérabilités inhérentes à ces méthodes. Introduction Traditionnellement, la cryptographie offre un moyen de communiquer des informations sensibles (secrètes, confidentielles ou privées) tout en les rendant inintelligibles pour tout le monde, sauf pour le destinataire du message. La cryptographie, telle qu’elle était utilisée à l’époque biblique, était une technique consistant à remplacer manuellement le texte à l’intérieur d’un message afin d’en masquer le contenu d’origine. Bien des années plus tard, pendant la seconde guerre mondiale, la cryptographie a été utilisée à une grande échelle dans des machines électromécaniques (telles que la fameuse machine Enigma). De nos jours, la cryptographie de plus en plus envahissante, s’appuyant essentiellement sur des ordinateurs utilisant une puissante base mathématique. La cryptographie, comme le nom l’implique, essaie de dissimuler aux yeux malveillants des sections de texte en utilisant diverses méthodes. En théorie, le principe paraît idéal, mais l’expérience de la vie réelle a prouvé qu’une multitude de facteurs et d’aspects environnementaux entrent en jeu et peuvent avoir un impact négatif sur la solidité de la clé cryptographique. Les méthodes conventionnelles ne sont pas en mesure de fournir une solution de sécurisation qui réponde totalement aux divers scénarios d’attaque qui tentent d’exploiter les vulnérabilités inhérentes à la cryptographie. Le Professeur Peter G. Neumann, un expert en fiabilité et sécurité de fonctionnement des systèmes et réseaux informatiques, a dit un jour : « Si vous pensez que la cryptographie est la réponse à votre problème, vous ne savez pas quel est votre problème. » 2 La présente note décrit les techniques traditionnelles en mettant l’accent sur la mise en œuvre de la cryptographie en White Box. La cryptographie à la loupe Dans les mises en œuvre classiques de la gestion des droits numériques (DRM), les algorithmes cryptographiques font partie de la solution de sécurité qui emploie un algorithme solide connu, qui repose sur le secret de la clé cryptographique. Dans la plupart des cas, cette méthode est très inappropriée, car les plates-formes sur lesquelles nombre de ces applications sont exécutées sont exposées au contrôle d’utilisateurs finals potentiellement hostiles. L’hypothèse conventionnelle sur laquelle repose la cryptographie est une configuration de Black Box qui suppose que l’agresseur n’a pas accès à la clé de chiffrement, qu’il peut uniquement contrôler l’entrée du chiffrement (le texte en clair) et qu’il a accès à la sortie qui en résulte (le texte chiffré). Pendant longtemps, on a supposé que cela était vrai également pour les périphériques matériels tels que les cartes à puce, mais des attaques malveillantes exploitant les « fuites » d’informations d’une Black Box (par exemple les 1. Peter G. Neumann, propos rapportés par le New York Times du 20 février 2001. Comprendre la cryptographie en White Box 1 Des normes de chiffrement très répandues dans le monde professionnel, telles qu’AES, n’ont pas été conçues pour fonctionner dans des environnements où leur exécution pourrait être observée. En fait, les modèles cryptographiques standard supposent que les terminaux, les PC et les jetons de protection matériels, par exemple, sont fiables. attaques par analyse de puissance différentielle, également appelées DPA) ont été mises au point pour permettre aux pirates de reconstituer les clés secrètes utilisées à l’intérieur de la Black Box. Cette méthode a permis aux pirates de conduire efficacement des attaques non dirigées contre la Black Box et de transformer ainsi ces mises en œuvre en « nuance de gris » au lieu d’une véritable Black Box. 2 La nécessité d’une cryptographie en White Box Des normes de chiffrement très répandues dans le monde professionnel, telles qu’AES, n’ont pas été conçues pour fonctionner dans des environnements où leur exécution pourrait être observée. En fait, les modèles cryptographiques standard supposent que les terminaux, les PC et les jetons de protection matériels, par exemple, sont fiables. Si ces terminaux se trouvent dans un environnement potentiellement hostile, alors les clés cryptographiques peuvent être directement visibles pour les agresseurs qui surveillent l’exécution de l’application et tentent d’extraire les clés intégrées ou bien générées par l’application à partir de la mémoire. C’est un problème courant pour les applications reposant sur un logiciel qui sont exécutées sur des PC, des boîtiers décodeurs IPTV et d’autres périphériques utilisant des données qui essaient de mettre en œuvre la DRM. En surveillant activement les API cryptographiques standard ou les vidages de mémoire, les pirates sont alors en mesure d’extraire la ou les clés chaque fois qu’elles sont utilisées. Un exemple d’attaque réussie reposant sur l’extraction d’une clé basée sur la mémoire a permis à l’outil BackupHDDDVD de copier le contenu d’un DVD protégé et de supprimer la DRM du contenu d’un support protégé sous Windows. Le dilemme de la White Box Le principe consistant à tenir dissimulées des informations précieuses telles que les informations de licence et d’autres secrets commerciaux tout en opérant dans un environnement totalement transparent pose divers dilemmes: • Comment chiffrer ou déchiffrer le contenu sans révéler directement aucune partie de la clé ni des données? • Comment mettre en place des mécanismes de chiffrement solides sachant que les pirates peuvent observer et/ou modifier le code lors de l’exécution? Les divers modèles cryptographiques La cryptographie (traditionnelle) en Black Box Le scénario de la Black Box, qui est un modèle traditionnel, suppose que l’agresseur n’a aucun accès physique à la clé (l’algorithme exécutant le chiffrement ou le déchiffrement), ni à aucun traitement interne, mais peut seulement observer des informations et un comportement externes. Ces informations sont constituées soit par le texte en clair (entrée), soit par le texte chiffré (sortie) du système, en supposant une visibilité nulle des opérations d’exécution du code et de chiffrement dynamique. Black Box Texte en clair Texte chiffré Clé 2. Amitabh Saxena, Brecht Wyseur et Bart Preneel, Towards Security Notions for White-Box Cryptography (Vers des notions de sécurité pour la cryptographie en WhiteBox) Comprendre la cryptographie en White Box 2 La cryptographie en Grey Box Le scénario de la Grey Box suppose que l’agresseur a un accès physique partiel à la clé ou qu’il subit des « fuites » de ce que l’on appelle les informations du canal auxiliaire. Les attaques par analyse du canal auxiliaire (SCA) exploitent les fuites d’informations lors de la mise en œuvre physique d’un système cryptographique. La fuite est observée passivement à travers les informations de temporisation, la consommation électrique, les rayonnements électromagnétiques, etc. La protection contre les attaques du canal auxiliaire est importante, car ces attaques peuvent être mises en œuvre rapidement et à un faible coût. Les informations du canal auxiliaire qui sont disponibles publiquement permettent aux pirates de révéler efficacement des parties de la clé et, en conséquence, d’en réduire considérablement l’efficacité et d’affaiblir la protection globale. 3 La cryptographie en Grey Box est en fait un produit dérivé de la mise en œuvre de la Black Box traditionnelle. Il a été constaté que même les cartes à puce, qui sont perçues comme permettant d’assurer une sécurité solide, lorsqu’elles exécutent une cryptographie interne, subissent en réalité des fuites d’information vers le monde extérieur. Il est donc clair que les scénarios censés constituer une Black Box ne sont en réalité qu’une nuance de gris. Gray Box Texte en clair Texte chiffré Informations du canal auxiliaire Clé Rayonnement électromagnétique Consommation électrique Temporisation Le principe de la cryptographie en White Box La cryptographie en White Box prend le contre-pied des modèles de sécurité traditionnelle présentés plus haut. Contrairement aux mises en œuvre précédentes où l’agresseur se voyait uniquement accorder une Black Box, c’est-à-dire un accès aux entrées et sorties et à l’algorithme cryptographique à attaquer et où l’on supposait une visibilité nulle des traitements internes, la White Box offre une visibilité totale. Les techniques de cryptographie en White Box visent à protéger les mises en œuvre des algorithmes cryptographiques contre une récupération de la clé, même lorsque l’agresseur a le contrôle total de la machine qui réalise le chiffrement, ce qui est particulièrement utile dans le domaine de la DRM. La cryptographie en White Box Le scénario de boîte White Box, contrairement aux méthodes traditionnelles décrites plus haut, traite des menaces beaucoup plus graves tout en supposant que les pirates ont une visibilité et un contrôle complet de l’ensemble de l’opération. Les pirates peuvent observer librement l’exécution du code dynamique (avec des clés cryptographiques instanciées) et les détails de l’algorithme interne sont totalement visibles et modifiables à volonté. Malgré cette méthode totalement transparente, la cryptographie en White Box est construite de telle manière qu’elle intègre le chiffrement sans en révéler la clé. Il est donc clair que les algorithmes construits aussi bien pour les modèles de Black Box que pour les modèles de Grey Box sont irréalisables dans le contexte d’une utilisation 3. S. Chow, P. Eisen, H. Johnson, P.C. van Oorschot, A White-Box DES Implementation for DRM Applications (Mise en œuvre d’une WhiteBox DES pour les applications de DRM) Comprendre la cryptographie en White Box 3 sur des ordinateurs centraux non fiables. On comprend bien que les pirates n’essaieront pas de casser le chiffrement en utilisant uniquement les moyens disponibles dans les scénarios de Black Box et de Grey Box, mais observeront l’exécution lorsque la clé non protégée sera utilisée, en la volant directement. Choisir le modèle cryptographique le plus approprié, le plus sûr est donc la seule ligne de défense contre les menaces malveillantes et c’est précisément ce que la cryptographie en White Box essaie de réaliser. White Box Texte en clair φ(n ) λ= lcm ) n φ( od Texte chiffré m La méthode sur laquelle repose la mise en œuvre de la White Box Comment est-il donc possible de « dissimuler » la clé d’une manière sûre à l’intérieur du code exécuté en admettant que quiconque peut contrôler et modifier totalement chaque instruction ? Sur le plan abstrait, cela est réalisé en combinant l’effet de la clé secrète avec un certain nombre de données spécifiques à la mise en œuvre en utilisant une opération mathématique, en veillant à ce que cette opération mathématique soit virtuellement impossible à inverser. 4 Par exemple, la force intrinsèque de l’algorithme RSA provient d’une simple exponentiation en grands nombres, alors que la factorisation du résultat en ses nombres premiers est un problème mathématique ardu. En outre, et cela est tout aussi important, la mise en œuvre d’un algorithme de cryptographie en White Box permet uniquement soit de chiffrer, soit de déchiffrer. La mise en œuvre repose, comme indiqué plus haut, sur une opération mathématique extrêmement difficile à inverser. Ce fait permet de construire un système qui fonctionne d’une manière similaire à un schéma clé publique/clé privée, mais à un niveau de performances beaucoup plus proche d’un chiffrement symétrique standard. La fonction de déchiffrement peut être mise en œuvre à l’intérieur de l’application distribuée, mais la clé ne peut pas être extraite et le déchiffrement ne peut pas être inversé afin d’exécuter une opération de chiffrement. L’agresseur n’a aucun moyen de créer les données chiffrées correctes dont le déchiffrement redonnerait la valeur voulue. Cette méthode spécifique est particulièrement utile pour garantir un canal de communication protégé avec un dispositif matériel, tel qu’un jeton de protection matériel. L’agresseur ne peut pas extraire la clé utilisée pour le canal de communication sécurisé et il ne peut donc ni déchiffrer les données qui passent à travers le canal, ni injecter des données dans le canal, car il n’a aucun moyen de les chiffrer correctement. Le dilemme dans le cadre de la conception Bien qu’initialement décrite comme un dilemme, la cryptographie en White Box lit de façon aléatoire toutes les cartes et offre une méthode extrêmement sûre de réalisation 4. Amitabh Saxena, Brecht Wyseur et Bart Preneel, Towards Security Notions for White-Box Cryptography (Vers des notions de sécurité pour la cryptographie en WhiteBox) Comprendre la cryptographie en White Box 4 d’un chiffrement tout en opérant dans un environnement totalement transparent. Bien que totalement transparentes, aussi bien l’opération de chiffrement que l’opération de déchiffrement permettent de gérer des données sensibles sans révéler aucun élément de la clé ou des données elles-mêmes. En outre, la White Box permet l’exécution de mécanismes de chiffrement solides (en liaison avec d’autres techniques) tout en sachant que des yeux malveillants observent potentiellement le code pendant l’exécution. Une partie intégrante des mesures de sécurité de SafeNet Le canal de communication sécurisé qu’offrent les produits Sentinel de SafeNet garantit que la communication entre l’application protégée et la clé matérielle est chiffrée et ne peut pas être reproduite. Contrairement à la mise en œuvre antérieure, qui cherchait à dissimuler la clé de chiffrement, la nouvelle mise en œuvre est centrée sur la cryptographie en White Box, qui suppose que l’agresseur peut suivre l’application protégée et l’exécution pour rechercher la clé de chiffrement. Cette hypothèse prise en compte lors de la conception a entraîné le remplacement de l’algorithme et des clés de chiffrement par des bibliothèques spécifiques à l’éditeur qui mettent en place le même chiffrement, mais qui intègrent la clé de chiffrement dans l’algorithme, d’une manière qui garantit que la clé n’est jamais présente dans la mémoire et ne peut donc pas être extraite. La génération de bibliothèques spécifiques à l’éditeur est réalisée sur les serveurs de SafeNet avec la mise en œuvre de plusieurs secrets commerciaux. En outre, chaque bibliothèque d’application est générée et obfusquée pour un éditeur de logiciels précis, ce qui rend un piratage général virtuellement impossible. Une solution véritablement pionnière SafeNet est le seul et unique fournisseur proposant la cryptographie en White Box dans sa gamme de solutions de distribution de licences logicielles Sentinel. Cette nouvelle technologie permet de protéger la clé cryptographique en toutes circonstances, au lieu de la décomposer et d’en révéler seulement une partie à la fois. Du point de vue de la sécurité, cela garantit que la clé protégée reste dissimulée aux pirates et empêche donc toute possibilité de reconstitution pendant une procédure d’attaque potentielle. La cryptographie en White Box est un élément supplémentaire essentiel qui permet aux développeurs de protéger leurs applications contre l’ingénierie inverse, la manipulation et les attaques automatiques. La méthodologie de cryptographie en White Box de SafeNet s’intègre au processus de conception logicielle, permettant l’incorporation d’une couche supplémentaire de protection directement au niveau du code source, pour une méthode ajustable, hautement efficace de protection des logiciels. Conclusion La sécurité globale d’une application protégée dépend dans une très large mesure de la mise en œuvre elle-même. L’emploi d’un solide algorithme cryptographique n’apporte donc aucune sécurité s’il n’est pas utilisé dans le contexte pour lequel il a été conçu. Le fait de ne pas utiliser des algorithmes de boîte blanche dans une configuration en boîte blanche serait mortel. Les attaques les plus courantes ont tenté d’exploiter les défauts de la sécurité logicielle et non les faiblesses des algorithmes cryptographiques. Dernièrement, cependant, les agresseurs ont pris conscience de la vulnérabilité de la cryptographie classique dans l’environnement PC ouvert. Il va de soi que la protection logicielle doit non seulement être ajustée dans le cadre du cycle de vie du produit et de l’édition de nouvelles versions, mais qu’une attention particulière doit, en outre, y être portée à tous les stades de la conception et de la mise en œuvre. Outre la cryptographie en White Box, des mesures de sécurité complémentaires supplémentaires doivent être appliquées pour renforcer encore le système de protection global. La sécurité a un coût et ne peut donc pas être absolue. Il est donc crucial d’évaluer correctement le niveau de sécurité requis tel qu’il est imposé par l’application elle-même, c’est-à-dire la valeur de ce qui a besoin d’être protégé en fonction des préjudices estimés en cas de négligence de risques potentiels. Comprendre la cryptographie en White Box 5 REJOIGNEZ LA DISCUSSION! ≥ Sentinel en ligne safenet-inc.com/sentinel ≥ Twitter twitter.com/LicensingLive ≥ LinkedIn http://bit.ly/ LinkedInLicensingLive ≥ YouTube youtube.com/user/ LicensingLive ≥ LicensingLive licensinglive.com BrightTalk brighttalk.com Publications supplémentaires Vous trouverez des informations complémentaires et des publications techniques détaillées sous les liens suivants: 1.Towards Security Notions for White box Cryptography (Vers des notions de sécurité pour la cryptographie en White Box) http://www.cosic.esat.kuleuven.be/publications/article-1260.pdf 2.La cryptographie en White Box : Notions formelles et résultats des (im)possibilités http://eprint.iacr.org/2008/273.pdf 3.White Box (ingénierie logicielle) sur Wikipedia http://en.wikipedia.org/wiki/White_box_(software_engineering) 4.Qu’est-ce que la mise en œuvre en White Box d’un algorithme cryptographique? http://crypto.stackexchange.com/questions/241/what-is-a-white-box-implementation-of-acryptographic-algorithm 5.Portable Executable Automatic Protection (protection automatique portable et exécutable), Wikipedia http://en.wikipedia.org/wiki/Portable_Executable_Automatic_Protection Solutions de monétisation logicielle Sentinel de SafeNet Avec plus de 25 ans d’expérience, SafeNet est un fournisseur mondial de solutions de distribution de licences logicielles et de gestion des droits innovantes et fiables pour les fournisseurs de logiciels et de produits technologiques. Faciles à intégrer et à utiliser, innovantes et fonctionnelles, les solutions logicielles de monétisation Sentinel® sont conçues pour répondre aux exigences spécifiques en matière d’activation, d’application et de gestion de licences de toute entreprise, indépendamment de sa taille, de ses exigences techniques ou de sa structure organisationnelle. Grâce à SafeNet, les clients sont en mesure de relever les défis de la protection contre le piratage et contre le vol de leur propriété intellectuelle et de l’activation et de la gestion des licences mais aussi d’augmenter leur rentabilité globale, d’optimiser leur fonctionnement interne, de maintenir leur compétitivité sur le marché et de renforcer leurs relations avec leurs clients et utilisateurs finaux. Avec une expérience avérée dans l’adaptation aux nouvelles exigences et dans l’introduction de nouvelles technologies pour répondre à l’évolution du marché, SafeNet compte plus de 25.000 clients dans le monde entier qui savent qu’en choisissant Sentinel, ils choisissent la liberté dans la manière dont ils veulent faire évoluer leur activité commerciale aujourd’hui, demain, et dans l’avenir. Nous contacter : Pour savoir où se trouvent nos filiales et pour obtenir leur coordonnées, veuillez vous rendre sur www.safenet-inc.com Nous suivre: www.safenet-inc.com/connected ©2012 SafeNet, Inc. Tous droits réservés. SafeNet et le logo SafeNet sont des marques déposées de SafeNet. Tous les autres noms de produits sont des marques commerciales appartenant à leurs détenteurs respectifs. WP (FR)-04.04.12 Comprendre la cryptographie en White Box 6