Les processeurs vont-ils nous trahir ?
Dimanche 19 novembre 2006Tout le monde sait combien la sécurité est importante surtout dans le monde virtuel des ordinateurs. Dans ce domaine il y a la cryptographie qui nous permet de protéger des messages permettant notamment de garantir la confidentialité ainsi que l’ authenticité à l’aide de l’utilisation de clés ou secret.
Un récent d’article publié sur Le Monde samedi annonce qu’une équipe allemande dirigé par Jean-Pierre Seifert, a découvert une grosse faille au plus bas niveau de l’ordinateur : le processeur.
En effet, le processeur travaillant en parallèles avec un pipeline d’exécution inclut un système de prédiction d’embranchements qui lui permet de commencer à traiter les instructions qui ne sont pas encore fini en essayant de « prédire » leurs résultats. Si la valeur deviner était la bonne : tant mieux ont a gagné du temps, par contre si la valeur prédit n’est pas correcte, le processeur doit revenir en arrière mais statistiquement cela fait gagner beaucoup de temps et donc de performance. (Plus d’info sur Wiki Cublic)
La faille se base donc sur cet élément du processeur, qui nous permettrait en écoutant de manière synchrone le processeur de prédire la clé privé quand celui ci l’utiliserait. La faille sera présenté à la conférence RSA en début d’année 2007 mais Mr Seifert estime qu’il ne serait une question de semaine avant de voir arriver dans la toolbox des hackers des petites taupes observant les calculs du processeur pour récupérer les clés.
Ce type de faille est bien connu par l’armée américaine qui mettent en garde depuis longtemps contre les attaques fondées sur l’analyse des temps de calcul. Ces attaques sont déjà possibles sur des cartes à puce, avec lequel ont peu mesurer tout un tas de paramètres comme sa consommation pour tenter de deviner la série de bit utilisée lors d’un simple calcul RSA. Mais d’âpres certain expert, les systèmes d’exploitation eux même inclut une couche de sécurité en faisant du bruit au niveau du processeur lors de l’accès aux clés.
Un document plus technique d’un expert en la matière disponible ici, affirme que ce genre d’attaque est très difficile à mettre en oeuvre car elle dépends de nombreux facteurs (type de processeur, sa fréquence, etc..). Il serait donc difficile pour certains de voir généraliser ce genre d’attaque dans la vie courante sur tout type de processeur. De plus, comme stipulé dans l’article, David Naccache de l’ université Paris II estime qu’il n’y a pas d’opération à coeur ouvert possible, en d’autre terme, difficile de pouvoir toucher/observer le système de prédiction sans perturber l’activité normale du processeur.
En clair, je pense qu’il faut mieux attendre la présentation de cette « faille » début 2007 à la conférence RSA pour vraiment savoir de quoi il s’agit avant de monter sur ces grands chevaux en criant que la sécurité informatique ne vaut plus rien comme l’affirme le titre son article : Les puces ne garantissent pas la sécurité des échanges en ligne… Certe il y a un problème de sécurité, après il faut voir comment elle pourra être exploitée. Dans le long terme, les processeurs vont surement eux même intégré une notion plus forte de sécurité, à court terme ce genre d’attaque peut être contré en désactivant le système de prédiction (qui réduit tout de même les performances de près du quart)…
Bref, attendons la suite…. Qui vivra verra
[UPDATE du 23/11/06] : J’ai trouvé un article publié sur Indexel qui confirme ma position prise sur le sujet : Cryptographie : fausse faille ou véritable intox ?. Je vous cite la conclusion :
Toutes ces réservent ne remettent cependant pas en cause la publication de Jean-Pierre Seifert : en tant qu’amélioration d’une technique connue, la découverte est passionnante. Mais il faut la replacer dans son contexte : d’une attaque difficile à mettre en oeuvre et qui exige par ailleurs un scénario improbable, l’universitaire en a fait une attaque plus simple à mettre en oeuvre dans certains cas particuliers mais qui exige toujours un scénario aussi improbable. Ce n’est donc pas la fin des achats sur internet, comme ont pu le croire certains médias généralistes.
HDCP
Mercredi 8 février 2006HDCP !! késako ??? High-bandwidth Digital Content Protection !!
Retenez bien ce nom, dans les prochaines années il sera partout dans votre maison ! C’est une technologie développée par Intel qui vise a protéger les contenus multimédia par le biais des DRM (Digital Rights Management) entre l’emetteur et le recepteur par un cable HDMI (High-Definition Multimedia Interface) !!
Avant d’aller plus loin, si vous achetez une nouvelle TV, vérifiez bien qu’elle soit compatible HDCP sinon vous serez bon pour la changer quelques années plus tard^^
Donc, le but du HDCP, c’est d’envoyer un flux video vers un diffuseur de ‘confiance’ (ex : ecran lcd) qui permettra de diffuser l’image. (et seulement de diffuser – pas de stocker)
Pour cela l’emetteur (ex: lecteur blu-ray, démodulateur satellite) va crypter le flux video en HDCP et le diffuseur le decryptera.
C’est l’emetteur qui va ‘tester’ si le diffuseur est un terminal ‘agrée’ HDCP. Si oui les flux sont envoyées ‘cryptée’ ! Chaque terminal ‘agréé HDCP’ recoit d’un organisme ‘ad-hoc’ un jeu de 2 clés : 1 publique et 1 secrete qui vont ‘participer’ au mecanismes d’authentification.
Mais comment ca marche dans le concret ?
Comme dis ci-dessus, chaque terminal renferme une clé publique (noté P) et une clé secrete (noté S).
Prennons un exemple pour bien comprendre :
Je dispose d’un lecteur DVD blu-ray (emetteur : noté 1) et d’un ecran LCD (diffuseur : noté 2) !
Chacun dispose d’une clé publique et secrete : P1/S1 et P2/S2.
Ce qui va se passer dans notre cable HDMI entre notre lecteur blu-ray et notre TV, c’est qu’ils vont se mettre d’accord sur une clé commune (un peu comme l’algo de Diffie-hellman utilisé pour le SSL) pour crypter/décrypter le flux.
Chacun vont s’echanger leur clé publique et la multiplier avec leur clé secrete pour obtenir une clé commune :
S1.P2 = S2.P1 = clé commune
Pour information, la clé secrete (S) est un vecteur de 40 contenant des clés de 56bits et la clé publique une clé de 40bits.
S1.P2 = S2.P1 : magie ?
Il faut savoir que les clés secretes ne sont pas générées au hasard, elles sont issue de la MasterKey, une matrice de 40×40 contenant des clés de 56bits qui est gardée très très secretement par un organisme (notons la M) ! C’est a partir de cela qu’ils générent des clés par la formule :
S = P.M
Exemple :
Prennons 2 vecteurs de 2 bits pour nos 2 clés publiques P1 (0 1) et P2 (1 0) et une MasterKey, matrice de 2×2 pour faire simple. On a :
P1 x M = S1
( 0 1 ) x ( 0 1 ) = ( 2 3 )
( 2 3 )
Donc S1 ( 2 3 ) notre 1er clé secrete
M x P2 = S2
( 0 1 ) x ( 1 ) = ( 0 )
( 2 3 ) ( 0 ) ( 2 )
Et S2 ( 0 2 ) notre 2eme clé secrete
Echange des clés publiques puis multiplication avec les clés secrètes, ce qui donne :
S1 x P2 = clé commune
( 2 3 ) x ( 1 ) = 2
( 0 )
S2 x P1 = clé commune ( 0 ) x ( 0 1 ) = 2 ( 2 )
On trouve donc de chaque coté la meme clé commune (ici 2) pour crypter/décrypter grâce a un petit échange de clé publique.
Ce n’est donc pas de la magie, juste des proprietes mathematiques sur des calculs matricielles (associativité,commutativité,…)
Systeme de revoquation des clés
Autre point important de ce nouveau systeme c’est la révoquation des clés ! En effet, une liste contiendra les clés publique des terminaux a banir ! Celle ci sera diffusé par le satellite par exemple et/ou contenu dans les HD-DVD/Blu-ray ! En clair, si votre terminal HDCP est suspect (terminal capable de contourner le HDCP par exemple en renvoyant en clair le flux vers une sortie dvi), il se peut que ce dernier soit référencé dans la liste de révoquation des clés ! Votre terminal sera desactivé et vous pourrez plus rien faire avec !! Genial non ?
HDCP sûr à 100% ??
Mathématiquement parlant, le systeme est très bien pensé (enfin du moins d’après mon père ^^) ! A moins de découvrir la MasterKey (dans ce cas tout le systeme est foutu) c’est du solide !!
Mais apparament un cryptanaliste hollandais pretend pouvoir casser le systeme en disposant de 40 terminaux aggrée HDCP… Mais il n’ose pas publier ses recherches par peur de ne plus pouvoir aller aux USA !!!!
Affaire a suivre…
Nom: Sébastien Warin
