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