Projet ANR-15-CE39-0002 – ARRAND : Arithmétiques Randomisées
Programme : Sciences et technologies pour la confiance et la sécurité numérique (DS0706) 2015
Année de financement : 2015
Coordinateur du projet : Monsieur Jean Claude Bajard (Laboratoire d'Informatique de Paris 6)
Partenaires : Laboratoire public; Laboratoire public
Montant : 423280.0 euros
Date de début : 2015
Durée : 42 mois
Résumé : Les attaques par canaux cachés ou par fautes représentent une des plus grandes faiblesses de toutes les implantations de protocoles cryptographiques. Aussi sophistiqué que puisse être le modèle mathématique utilisé pour la preuve de robustesse, une implantation non protégée peut laisser échapper des informations primordiales. Parmi les plus redoutables nous trouvons celles établissant des corrélations entre les fuites de consommation,  de rayonnements électromagnétiques, ou autres,  enregistrées lors d'exécutions successives avec le même secret. Les fuites enregistrées sont principalement dues à des variations au niveau des points de mémorisation passant de zéro à un au cours des calculs.  Le modèle couramment admis est celui des différences des poids de Hamming des états successifs de l'exécution. L'attaquant fait une supposition sur le secret; considérant les entrées il  peut établir quelle sera la transition d'état, classant ainsi, d'un côté, les expériences de faible niveau de mesure, et de l'autre, ceux de haut niveau. Si sa supposition sur le secret est bonne, il verra apparaître un pic de différence entre les deux ensembles, sinon il obtiendra un bruit  non exploitable.
 Ce type d'approche ne fonctionne qu'en prenant en compte le mode de représentation des données, il est donc assez intuitif d'imaginer que les changements d'état ont un lien étroit avec la représentation des valeurs sollicitées. Notre but est de mettre en place une arithmétique telle que tous les calculs entrant en jeu utilisent  des codages différents des variables  d'une exécution à l'autre, ne permettant pas à l'attaquant de prévoir quelles seront les transitions d'états en fonction de ses suppositions. La distance de Hamming entre deux états du système (nombre de bits différents) peut être détectée dans la consommation ou tout autre type de fuite. Ainsi, la connaissance du mode de représentation des variables aide fortement l'attaquant lorsque celui-ci fait des suppositions sur les états. Par conséquent, nous proposons de ne pas utiliser le même système de représentation entre deux exécutions, nous désirons rendre ce choix aléatoire, rendant imprévisible la représentation des données.
Dans ce projet, nous proposons de travailler directement au niveau des représentations des nombres, qui sont indépendantes du problème traité. Nous utiliserons deux systèmes de numération qui ont fait leurs preuves en cryptographie : les systèmes basés sur les restes modulaires (Residue Number Systems) et ceux adaptés au modulo (Modular Arithmetic Adapted Bases). Les numérations basés sur les restes modulaires (RNS) proviennent du Théorème des Restes Chinois où une valeur est exprimée par ses restes modulo un ensemble de premiers entre eux qui forment la base du système. L'idée principale des bases adaptées au modulaire (MAAB) est de considérer comment le calcul est fait modulo un grand nombre, de prendre une base pouvant être assez grande ayant des propriétés intéressantes vis à vis du modulo,  avec un ensemble réduit de chiffres.
Nous allons étudier pour les deux système RNS ou MAAB, l'effet du choix aléatoire du système sur les représentations des données elles-mêmes. Nous devons obtenir des suites aléatoires de représentation pour assurer une randomisation rendant difficile toute corrélation entre des exécutions successives avec un même lot de données. Cette propriété n'est pas évidente à garantir, nous aurons, probablement, à définir des familles de bases permettant de garantir ce résultat. Un de nos objectif est d'obtenir des résultats fondamentaux sur ces suites aléatoires, qui seront évaluées expérimentalement à l'aide d'extracteurs.  
Notre étude peut être considérée comme préliminaire, basée sur des résultats théoriques et des simulations, et elle devrait se poursuivre dans le futur par une validation industrielle. Notre but est de proposer une protection interne de bas niveau contre les attaques par fautes ou par canaux cachés.