Secrets à durée de vie contrôlée

par Fatima-ezzahra El Orche

Projet de thèse en Informatique

Sous la direction de David Naccache et de Peter Ryan.

Thèses en préparation à l'Université Paris sciences et lettres en cotutelle avec l'Université du Luxembourg , dans le cadre de École doctorale Sciences mathématiques de Paris centre , en partenariat avec DIENS - Département d'informatique de l'École normale supérieure (laboratoire) et de École normale supérieure (Paris ; 1985-....) (établissement opérateur d'inscription) depuis le 01-09-2017 .


  • Résumé

    Avec le temps, les supports de mémoire se dégradent inéluctablement. Beaucoup d'efforts de recherche ont été investis dans la protection des mémoires contre cette dégradation afin d'obtenir des mémoires plus robustes et durables. Ceci est particulièrement vrai dans le contexte des technologies de mémoire non volatiles (telles que les mémoires Flash, MRAM etc) et des PUFs dont la conception est extrêmement sensible et qui doivent être conçues de manière aussi stable que possible pour convenir à des applications pratiques. Dans cette thèse, au lieu de tenter de résister aux effets inévitables du temps, nous essayons de contrôler ces effets: plutôt qu'une destruction progressive de l'information nous visons un effacement contrôlé naturel et progressif de l'information et nous nous donnons pour but de concevoir des systèmes de mémoire dont la durée de vie peut être réglée approximativement. Un tel "fusible temporel" peut garantir, par exemple, qu'un secret cryptographique dans un dispositif IoT ne pourrait être récupéré au delà d'une certaine date d'expiration approximative. Nous supposons qu'il nous est donné un composant physique (e.g. PUFs ou registres de mémoire) qui vieillissent dans le temps. Nous supposons connue la probabilité $F(t)$ que la mémoire présente une faille à tout moment $t$ et nous souhaitons encoder une clé $K$ d'une manière telle que la corruption naturelle rendra la clé irrécupérable avec une probabilité spécifiée au delà d'une certaine période de temps $t_text{cible}$ écoulée depuis le date de production $t_0$. Nous développerons plusieurs modèles d'adversaire qui aboutissent en des schémas et résultats différents. Les solutions explorées seront basée sur les codes correcteurs d'erreur, le partage de secret d'autres outils ad-hoc. Par exemple, le procédé le plus simple consiste à sauvegarder dans la mémoire $n$ copies de $K$ plus un haché $H(K)$ protégé à l'aide d'un code correcteur d'erreurs. Le dispositif maintiendra périodiquement l'exactitude de $H(K)$ mais laissera les $n$ copies se corrompre naturellement. Nous supposons que $H(K)$ est donné à l'attaquant. Lorsque le dispositif souhaite utiliser $K$ il vérifie qu'il existe dans la mémoire au moins une copie valide et si tel est le cas, il utilise cette copie. Dans ce modèle, le cycle de vie du dispositif consiste en trois phases: (i) Vie: une période durant laquelle le dispositif est fonctionnel et dans laquelle un attaquant réussira d'apprendre $K$ en temps constant, (ii) Agonie: une période de temps où l'attaquant apprendra $K$ en un temps exponentiel en le temps écoulé depuis $t_0$ et (iii) Mort, une période durant laquelle une connaissance de l'état interne du dispositif n'apprendra rien sur $K$.

  • Titre traduit

    Secrets with a Foreseeable Lifespan


  • Résumé

    Over time, the physical medium on which we store information degrades. Much effort has been put into protecting against such degradations, to achieve more robust and durable storage. This is especially true in the context of nonvolatile memory technologies (e.g. Flash, MRAM etc) and PUFs, whose design is extremely sensitive, and which therefore ought to be made as stable as possible for practical applications. In this thesis, instead of resisting the unavoidable effects of time, we try to control them: rather than a natural and progressive destruction of information, we aim at a swiftly controlled erasure, and set out to design systems whose lifetime can be tuned approximately. Such a “time fuse” can guarantee for instance that a cryptographic secret in an IoT device cannot be recovered (even through a physical attack) beyond some approximate expiry date. We assume that we are given a physical component (e.g., PUFs or memory registers) that age over time, having some probability to fail $F(t)$ at any given time $t$ and we wish to encode a key $K$ in a way that the natural corruption will render the key unrecoverable with a specified probability after a given time period $t_text{target}$ elapsed since the production date $t_0$. We will try to develop several adversarial models that yield different schemes and results, the solutions are based on error correction codes, secret-sharing and other ad hoc constructions. The simplest of all consists in storing $n$ copies of $K$ plus an error-corrected hash $H(K)$. The device periodically maintains the accuracy of $H(K)$ but lets the $n$ key copies age naturally. We assume that $H(K)$ is given to the attacker. When the device needs to use $K$ it checks if there is at least one correct copy and if so, uses that key copy. In this model, the device's lifecycle consists of 3 periods: (i) Life: a period where the device is functional and in which the successful attacker will learn $K$ in constant time, (ii) Agony: a period where the device is not functional (all copies are corrupted) in which the attacker will learn $K$ with an effort exponential in the time elapsed since $t_0$ and (iii) a third period Death: in which the attacker's knowledge of the device's contents following a physical attack will not be of any use.