• Aucun résultat trouvé

Chapitre 2 : Stade TA1 - Pr´ esentation

2.5 Introduction aux mod`eles de s´ecurit´e

En pratique, les diff´erents audits pass´es par equensWorldline (PCI, Visa, Mastercard,. . . )

s’attachent `a v´erifier les bons usages de la cryptographie classique (mod`ele en boˆıte noire)

et s´ecuritaire (mod`ele en boˆıte blanche). Jusqu’au d´ebut des ann´ees 90, les sch´emas

cryptographiques propos´es respectaient le traditionnel mod`ele en boˆıte noire pour lequel

les plateformes ex´ecutant les calculs ´etaient suppos´ees s´ecuris´ees. Un adversaire n’avait

alors acc`es qu’aux entr´ees sorties d’un syst`eme mais pas `a son ´etat interne [118]. Les

travaux de P. Kocher [119] ont exhib´e les limitations de telles consid´erations puisqu’un

adversaire aura potentiellement acc`es `a des informations que laissent fuiter des dispositifs

physiques. ´Etendant ces consid´erations, la cryptographie en boˆıte blanche a ´et´e introduite

en 2003 par Chow et al. [120]. Le domaine de la cryptographie en boˆıte blanche peut se

voir comme un cas particulier du domaine de l’obfuscation de programme [121] dont

les consid´erations restent th´eoriques et ´eloign´ees de consid´erations pratiques [122, 123].

Cependant, contrairement `a l’obfuscation de programme, la cryptographie en boˆıte

blanche n’a pas pour objectif – mˆeme si cela peut en ˆetre une cons´equence– de rendre

inintelligible un programme mais seulement s’assurer que les cl´es secr`etes sont inaccessibles

`a un attaquant logiciel [124]. D’autre part, les tentatives d’impl´ementations dans le mod`ele

en boˆıte blanches ont ´et´e cass´ees [125, 124] de sorte que d’un point de vue industriel, les

solutions sont g´en´eralement prot´eg´ees par des impl´ementations ad hoc.

Ainsi, equensWorldline consid`ere deux mod`eles de s´ecurit´e dans sa conception de

logiciels, :

Mod`ele Blackbox. Mod`ele de s´ecurit´e classiquement d´epeint d’un point de vue

cryptographique : l’attaquantApeut voir les ´echanges entre l’utilisateurU utilisant

Appinstall´ee surT et un serveur d’authentification. Aaura acc`es `a certains oracles

lui permettant de simuler cette vue ;

Mod`ele Whitebox. Par le requis R1, notre solution doit ˆetre logiciellement

prot´eg´ee. Dans ce mod`ele, un attaquant whitebox A0 peut se voir comme un

attaquant logiciel qui a potentiellement acc`es `a ”tout ce qui se passe” sur les

terminauxT de l’utilisateurU. Plus pr´ecis´ement, toute donn´ee charg´ee en m´emoire

(e.g. cl´e ou profil utilisateur) par T est accessible `a A0.

2.5.1 Mod`ele en boˆıte blanche

Pr´ecisions sur la cryptographie en boˆıte blanche

Comme la cryptographie en boˆıte noire, la cryptographie en boˆıte blanche est un domaine

`a part enti`ere de la cryptographie. Cependant, les techniques propos´ees dans la litt´erature

sont soit cass´ees [125,124] ou pas (encore) applicables au monde industriel [121,122,123].

Ainsi, nous proc´edons aux pr´ecisions suivantes :

• le mod`ele en boˆıte blanche est commun `a la cryptographie acad´emique et aux

probl´ematiques industrielles et jouit de mod`eles proches [118] ;

• les solutions de la litt´erature ne sont pas utilisables dans le monde industriel ;

• des impl´ementations d’algorithmes cryptographiques adapt´ees aux contraintes

industrielles et r´epondant aux contraintes du mod`ele en boˆıte blanche existent ;

elles sont commercialis´ees sous le nom de whiteboxes.

Ces whiteboxes constituent des impl´ementationsad hoc pour lesquelles les principes de

Kerckhoffs [21] ne s’appliquent pas. En effet, lors des audits notamment, la consistance

des algorithmes est v´erifi´ee sans qu’aucune sp´ecification sur leur fonctionnement interne

ne soit requise.

Description du mod`ele en boˆıte blanche

Un attaquant logicielA0 a potentiellement acc`es `a toutes les donn´ees charg´ees en m´emoire

et pourra mˆeme en modifier certaines. Par exemple, il pourra acc´eder `a la valeur d’un

attribut. L’accession/modification d’une valeur d’un programme s’appelle un exploit.

Comme son nom l’indique, un exploit n’est pas simple `a r´ealiser et l’accession par A0 `a

un attribut n’implique pas que tous les autres attributs seront menac´es. Par exemple,

en contournant les d´efenses du module IDE, l’attaquant A0 pourra acc´eder `a une libraire

sans pour autant ˆetre capable d’apprendre d’autres attributs. Ainsi la r´ealisation d’un

exploit, bien que pr´eoccupante, n’impliquera pas n´ecessairement la fin de vie d’un profil

utilisateur. Dans les faits, il est peu probable qu’un attaquant ait acc`es `a de nombreux

attributs sans que l’application App ne s’en aper¸coive et ne lance des contre-mesures

adapt´ees via le module IDE notamment.

Aujourd’hui, le foss´e entre th´eorie et pratique est encore trop important -d’un point de

vue des temps de calcul- pour appliquer des solutions acad´emiques au monde industriel.

Ce sont donc sont des solutionsad hocqui sont utilis´ees. equensWorldline ach`ete de telles

solutions `a une soci´et´e priv´ee Soc, qui permettent de ”whiteboxer” certains algorithmes.

Plus pr´ecis´ement, ´etant donn´e un algorithme cryptographique standard s´ecuris´e du point

de vue deA, la solution fournie parSocpermet de le transformer en un algorithme s´ecuris´e

du point de vue de A0. Ainsi, quiconque pourra constater la consistance de l’algorithme

mais comprendre ou d´eduire des informations sur son fonctionnement logiciel revient `a en

casser la s´ecurit´e.

2.5.2 Mod`ele en boˆıte noire

Comme pr´esent´e `a travers la Figure 2.5, la mise en œvre de diff´erents SDKs permet

l’articulation de l’application App. Le cœur des travaux pr´esent´es au prochain chapitre

concerne la g´en´eration de cl´es cryptographiques `a partir d’attributs utilisateurs. Cette

tˆache sera effectu´ee par le module FAST, int´egr´e au CryptoCore. Avant de la formaliser

au cours du prochain chapitre, nous consid´erons que la s´ecurit´e de FAST devra r´esister `a

un attaquant A de type blackbox ayant acc`es `a :

1. `a ce que l’application App prend en entr´ee : des donn´ees publiques relatives `a

l’utilisateurU. En revanche, le profil Ω, source de la g´en´eration de la cl´e sk n’a pas

vocation `a ˆetre divulgu´e ;

2. `a ce que l’application retourne : des param`etres publics li´es `a l’utilisateur et une

preuve de connaissance de la cl´esk. Parmi ces param`etres publics, certains d´enot´es

1. prend en entr´ee un profil utilisateur Ω (voir Figure 2.2) et des donn´ees publiques ;

ce profil (secret) est renseign´e par le SDK TA tandis qu’il est prot´eg´e par le module

IDE et des whiteboxes ;

2. g´en`ere un secret cryptographique sk, lui aussi prot´eg´e par les mˆemes outils et une

donn´ee publique hd transmise au serveur d’authentification ;

3. re-g´en`ere ledit secret cryptographique sk en s’appuyant sur hd;

Que ce soit par le jeu des mises `a jour ou par l’utilisation d’un framework autre que la

solution TA, le module FAST sera amen´e `a g´en´erer plusieurs fois des cl´es cryptographiques

pour un mˆeme utilisateur. De ce fait, de nombreuses donn´ees publiqueshds seront g´en´er´ees

et certaines cl´es pourraient ˆetre attaqu´ees par des exploits de A0 ou plus simplement par

des failles de s´ecurit´e d’applications autres que TA utilisant FAST.

Ainsi, le mod`ele de s´ecurit´e associ´e, formalis´e au prochain chapitre, requiert que ni

les publications des donn´ees auxiliaireshds ni d’´eventuelles corruptions de cl´es secr`etessk

issues d’un mˆeme profil n’impacte pas la s´ecurit´e dudit profil et des secrets non corrompus.

Un r´esum´e de la situation est propos´e en Figure 2.7.

1. Entr´ees: ρvariantes de Ω.

et des donn´ees de configurationDC.

2. Sorties: FAST g´en`ereρsecrets `a

partir de Ω, et les hdjs associ´es auxskjs.

3. S´ecurit´e:

Les donn´eeshdjs sont publiques.

Certains secretsskjs peuvent ˆetre corrompus,

sans que la s´ecurit´e des autres

ski (i6=j) ne soit pas impact´ee.

Figure 2.7: Aper¸cu du mod`ele de s´ecurit´e de FAST

ethodologie

Pour qu’une solution propos´ee satisfasse `a ces deux mod`eles de s´ecurit´e en mˆeme temps,

la m´ethodologie adopt´ee par equensWorldline est la suivante :

1. Proposer une application Apps´ecuris´ee vis `a vis de l’attaquant A.

2. Utiliser les solutions ad hoc fournies par Soc pour le rendre r´esistant `a l’attaquant

A0.

Dans la suite e ce manuscrit, nous nous focaliserons donc sur la proposition de solution

r´esistantes `a l’attaquant A