thesis/chap-resume.tex

247 lines
31 KiB
TeX

Les cinquante dernière années, l'utilisation de la cryptographie s'est éloignée de ses origines militaires et de son usage pour le secret commercial afin de se démocratiser à un public plus large.
Par exemple, la machine Enigma initialement conçue pour un usage militaire a été déclinée pour un usage commercial (la machine Enigma A26).
Aujourd'hui, environ $60\%$ du premier million des sites les plus visités dans le monde propose une connexion chiffrée et authentifiée (à l'aide du protocole \texttt{https}), tout comme les canaux de communication des appareils électroniques portatifs (comme la norme \texttt{WPA}, en anglais \textit{Wifi Protected Access}).
Dans le même temps, la croissance des données échangée en ligne et la sensibilité de ces informations rendent de plus en plus urgent la protection de ces communications.
Pendant que la loi de Moore\footnote{La loi qui prédit la puissance de calcul des processeurs modernes.} atteint ses limites, d'autres menaces existent sur nos cryptosystèmes actuels.
Par exemple, l'existence d'un ordinateur quantique possédant suffisamment de mémoire~\cite{Sho99} rendrait risqué l'utilisation de la majorité des constructions cryptographiques actuellement déployées, puisqu'elles reposent sur des hypothèses issues de l'arithmétique modulaire classique dont la structure algébrique peut-être exploitée par un adversaire quantique.
Dans cette situation, il devient alors crucial de construire des schémas cryptographiques qui résisteraient à une menace quantique.
Pour répondre à ce problème, la \textit{cryptographie post-quantique} est née au début des années 2000.
Les différents candidats reposent sur différents objets mathématiques, comme les réseaux euclidiens, les codes, les systèmes polynomiaux multivariés, les isognénies, etc.
Récemment, le NIST (\textit{National Institude of Standards and Technology}) a organisé une compétition pour évaluer les différentes solutions post-quantiques pour le chiffrement et la signature~\cite{NIS17}.
Dans cette compétition, 82 protocoles ont été proposés, parmi lesquels 28 reposent sur les réseaux euclidiens, 24 sur les codes correcteurs, 13 sur des systèmes multi-variés, 4 sur des fonctions de hachages et 13 sur d'autres objets.
Si la cryptographie pratique vise principalement à fournir des schémas de signature et de chiffrement, comme l'atteste la compétition du NIST,
la recherche théorique propose des solutions à des problèmes plus précis, comme la construction de systèmes de monnaie électronique\footnote{À ne pas confondre avec les cryptomonnaies\ldots}~\cite{CFN88}, qui sont l'équivalent numérique de notre monnaie échangée. Les pièces sont délivrées par une autorité centrale (la banque), et les dépenses restent intraçables. En cas de comportement malhonnête (comme une double-dépense), l'identité de l'utilisateur malicieux est révélée.
Les constructions cryptographiques doivent en plus vérifier des propriétés de sécurités.
Par exemple, un schéma de chiffrement doit être en mesure cacher un message en présence d'un attaquant passif voire actif (c'est-à-dire un attaquant qui est capable de modifier certains messages).
Pour garantir ces exigences, les cryptographes fournissent des preuves de sécurité dans le cadre de modèles de sécurité précis.
Une preuve de sécurité nous dit principalement qu'une construction cryptographique est au moins aussi difficile qu'un problème supposé difficile par la littérature.
Finalement, l'importance de la préservation de la vie privé et la protection des données ont été des sujets qui ont fait couler beaucoup d'encres, comme en atteste le développement du règlement général sur la protection des données (RGPD) en 2016, mis en application ce 25 mai.
Il est donc intéressant pour les cryptographes de fournir des solutions qui resisteraient, dans le meilleurs des mondes, à un adversaire quantique.
Néanmoins, la construction de ces protocoles repose de manière décisive sur les «\,preuves à divulgation nulles de connaissances\,».
Ce sont des protocoles interactifs entre un prouveur et un vérifieur où le prouveur cherche à convaincre le vérifieur d'une affirmation sans rien divulguer de plus sur celle-ci que sa valeur de vérité.
Dans le contexte de la cryptographie post-quantique, de tels systèmes de preuves sont limités en terme d'expressivité ou en terme de coût de calcul (en temps ou en mémoire).
\section*{Cryptographie préservant la vie privée}
Dans ce contexte, la «\,préservation de la vie privée\,» décrit la capacité d'une primitive cryptographique à fournir certaines fonctionnalités tout en gardant certaines informations privées.
Par exemple, l'accréditation anonyme~\cite{Cha85,CL01} est un exemple d'une telles primitives.
De manière informelle, cette primitive permet à un utilisateur de garantir ses droits d'accès à un vérifieur, sans lui divulguer son identité, ni le motif de ses accès.
Pour réaliser cette primitive, le système est composé d'un (ou plusieurs) fournisseur(s) d'accréditations ainsi que d'un ensemble d'utilisateurs qui possèdent leurs propres clefs secrètes ainsi qu'un ensemble d'attributs.
Les utilisateurs peuvent obtenir ces accréditations dynamiquement depuis un fournisseur qui ne connaît d'eux qu'un pseudonyme et qui signe de manière inconsciente les clefs secrètes des utilisateurs ainsi que leur attributs.
Après avoir obtenu leurs accréditations, les utilisateurs peuvent s'authentifier sous des pseudonymes différents, et prouver la possession d'une certification de la part du/d'un fournisseur, sans divulguer ni la signature, ni la clef secrète.
Cette primitive permet ainsi à un utilisateur de s'identifier vis-à-vis du système (par exemple dans le cadre d'un contrôle d'accès anonyme) tout en préservant l'anonymat des utilisateurs.
De plus, ce système garantit que les utilisateurs possèdent un droit d'accès suffisant.
L'intérêt pour la cryptographie préservant la vie privée est contemporain de la naissance de la cryptographie à clef publique~\cite{Rab81,Cha82,GM82,Cha85}.
Une raison pouvant expliquer cela serait la similitude entre les motivations de la cryptographie et les exigences de la protection de la vie privée.
De plus, le travail des cryptographes dans ce domaine ont des conséquences directes en terme de services qui pourraient être développés dans le monde réel.
En effet, un système d'accréditation anonyme pourrait débloquer le contrôle d'accès anonyme et limiter ainsi le risque de brèches de sécurité.
Alors que, actuellement, les systèmes mis en places reposent sur des briques de bases plus élémentaires, comme des signatures, dont la manipulation peut amener différents problèmes de sécurité~\cite{VP17}.
De manière similaire, les \textit{primitives avancées} sont construites à partir de briques de bases simples.
La principale différence réside en le fait que leur sécurité a été prouvée, ce qui offre une confiance plus forte dans la sécurité de ces constructions.
Comme expliqué précédemment, ces preuves permettent de lier la sécurité des systèmes à des hypothèses de sécurité.
Ainsi, la sécurité repose sur la validité de ces hypothèses, qui peuvent être étudiées indépendamment des systèmes cryptographiques par les \textit{cryptanalystes}.
Dans ce cas contraire, cela peut mener à différents problèmes, comme dans le cas de applications multilinéaires, dont plusieurs candidats ont été rendus caduques par~\cite{CHL+15}.
Cet exemple montre ainsi l'importance pour la cryptographie de reposer sur des hypothèses simples et robustes comme nous l'expliqueront dans le chapitre~\ref{ch:proofs}.
Les schémas développés dans cette thèse reposent sur des hypothèses de réseaux euclidiens et des applications bilinéaires sur les groupes cycliques (ou couplages).
La cryptographie à base de réseaux euclidiens est utilisées pour aller d'avant vers la cryptographie post-quantique, tandis que les applications bilinéaires sont utiles pour la réalisation de schémas pratiques.
Les détails de ces deux structures sont présentés dans le chapitre~\ref{ch:structures}.
\subsection*{Preuves sans divulgation de connaissance}
Comme nous l'avons expliqué précédemment, les preuves sans divulgation de connaissance sont une brique de base pour la cryptographie préservant la vie privée.
Elles exigent les propriétés de complétude, de robustesse et de non divulgation de connaissance.
La complétude exprime la correction du protocole dans le cas où tout le monde agit honnêtement.
Dans le cas d'un prouveur malhonnête, la robustesse demande à ce que le vérifieur ne peut être convaincu qu'avec une probabilité négligeable.
Au contraire, si le vérifieur essaye de tricher, la non divulgation de connaissance assure au prouveur que son secret reste protégé.
Dans le cadre de l'identification, la nature du secret reste simple, et des solutions qui reposent sur différentes hypothèses de sécurité existent déjà~\cite{Sch96,Ste96,KTX08,Lyu08}.
Pour des affirmations plus complexes, comme prouver l'exécution correcte d'un calcul, il existe un écart entre ce qu'on peut prouver dans le cadre de la cryptographie post-quantique et celle qui repose sur le l'arithmétique modulaire classique.
Dans le cadre des couplages, il existe des preuves sans divulgation de connaissance non interactives qui permettent de prouver une large classe d'affirmation~\cite{GOS06,GS08} sans idéaliser le modèle de sécurité.
De telles preuves sont, à ce jour, manquantes dans le cadre de la cryptographie post-quantique.
Pour les réseaux euclidiens, il y a principalement deux familles de preuves: les preuves à la Schnorr~\cite{Sch96,Lyu09} et les preuves à la Stern~\cite{Ste96}, nommés d'après leurs découvreurs respectifs.
Les preuves à la Schnorr reposent sur des réseaux structurés en exploitant cette structure pour fournir des preuves compactes au détriment de l'expressivité de ces preuves.
Au contraire, les preuves à la Stern reposent sur la combinatoire de la représentation des réseaux généraux en tant que matrices et vecteurs.
Par nature, ces preuves sont coûteuses en terme de complexité de communication.
En revanche, elles sont suffisamment versatiles pour prouver une large variété d'affirmations, comme nous l'expliqueront plus en détail dans cette thèse, et plus particulièrement dans le chapitre~\ref{sse:stern}.
Les preuves à divulgation nulle de connaissance sont détaillées dans le chapitre~\ref{ch:zka}.
\subsection*{Signatures avec protocoles efficaces}
Pour rendre possible la cryptographie à base de réseaux euclidiens, une approche possible est de coupler les preuves sans divulgation de connaissance avec un schéma de signature.
De telles signatures sont dites «\,avec protocoles efficaces\,».
Cette primitive étend la fonctionnalité des signatures traditionnelles de deux manière: (i)~Elle permet au signataire de signer oublieusement un message caché et (ii)~Les utilisateurs peuvent prouver sans divulgation la connaissance d'un couple message-signature cachée.
Ces deux propriétés s'avèrent être extrêmement utiles dans la construction de protocoles préservant l'anonymat tels que l'accréditation anonyme ou la monnaie électronique.
La construction effective de ces signatures avec protocoles efficaces est donc un point clef dans la cryptographie protégeant la vie privée.
Dans cette thèse, nous proposons deux constructions de telles signatures.
Une première, décrite dans le chapitre~\ref{ch:sigmasig}, repose sur les couplages.
Il s'agit d'une traduction du schéma de~\cite{LPY15} dans un modèle idéalisé pour obtenir une efficacité et une sécurité raisonnables en pratique.
La seconde, décrite dans le chapitre~\ref{ch:gs-lwe}, adapte une variante de la signature de Boyen~\cite{Boy10,BHJ+15} à la mise en gage de Kawachi-Tanaka-Xagawa~\cite{KTX08} pour proposer un schéma de signature à base de réseaux euclidiens compatible avec les preuves à la Stern.
Ce schéma a aussi été relaxé dans le cadre du transfert inconscient, où, par endroits, seule la sécurité pour des messages aléatoires est requise.
Cela est décrit dans le chapitre~\ref{ch:ot-lwe}.
\section*{Couplages et réseaux euclidiens}
Les constructions proposées dans cette thèse reposent sur la difficulté supposée d'hypothèses sur les groupes compatibles avec des couplages et les réseaux euclidiens.
Ces deux objets mathématiques ont été étudiés en long et en large depuis leurs introductions respectives au début des années 2000~~\cite{SOK00,Reg05}.
Depuis lors, ils ont bénéficié d'une attention considérable de la part des cryptographes, ce qui a mené à la conception de nombreux protocoles avancés (tels que~\cite{Jou00,BBS04,BN06,GS08,LYJP14,LPQ17} pour les couplages et~\cite{GPV08,ABB10,BV11,GSW13,dPLNS17} pour les réseaux).
\subsection*{Cryptographie à base de couplages}
Un couplage est une application bilinéaire qui part de deux groupes cycliques sources vers un groupe cible.
La bilinéarité est rendue possible grâce à la structure algébrique forte des groupes abéliens compatibles avec de telles applications.
Il n'est donc pas surprenant de voir qu'une large gamme de schémas ont été rendus possibles dans le contexte de la cryptographie à base de couplages.
Dans le cadre de la cryptographie pour la protection de la vie privée, la pierre angulaire a été l'introduction des preuves de Groth-Sahai~\cite{GOS06,GS08} qui permettent de prouver de manière non interactive et sans divulgation de connaissance une large classe d'affirmations dans le modèle standard (c'est-à-dire sans présupposés).
Par exemple, les preuves de Groth-Sahai ont été utilisées pour la construction de signatures de groupe, d'accréditations anonymes~\cite{Gro07,BCKL08,BCC+09}, ou encore d'e-cash~\cite{BCKL09}.
Cependant, dans cette thèse, nos constructions à base de couplages visent à la praticité.
Ainsi, elles sont instanciées dans le modèle de l'oracle aléatoire, où les preuves à la Schnorr sont rendues non interactives par la transformée de Fiat-Shamir lorsque l'affirmation à prouver est suffisamment simple.
Des travaux récents en cryptanalyse des couplages~\cite{KB16,MSS17,BD18} ont mené à des changements radicaux dans le panorama de la cryptographie à base de couplage.
Ces changements nous affectent en ce sens que nos évaluations de paramètres de sécurité sont désormais à revoir pour atteindre le même niveau de sécurité que celui annoncé.
Néanmoins, la cryptographie à base de couplages offre un excellent compromis entre ce qu'on est capable d'y construire et l'efficacité.
Comme exemple, nous pouvons citer les travaux de Döttling et Garg~\cite{DG17a} qui ont clos le problème de fournir un chiffrement fondé sur l'identité qui repose uniquement sur des hypothèses sur les groupes cycliques.
Si leur construction repose sur des objets mathématiques plus simples, elle n'atteint néanmoins pas l'efficacité de celles que proposent la cryptographie à base de couplages~\cite{BB04}.
\subsection*{Cryptographie reposant sur les réseaux euclidiens}
D'un point de vue algébrique, un réseau est un sous-groupe discret d'un certain $\mathbb{R}^n$, ce qui mène à une structure de simple groupe additif.
La principale différence avec la cryptographie traditionnelle reposant sur de l'arithmétique modulaire, telle que celle fondée sur le logarithme discret, est l'existence d'une structure géométrique: celle de réseau.
C'est de cette géométrie que proviennent les problèmes difficiles sur les réseaux que nous considérons comme difficiles, et ce, même avec la puissance d'un calculateur quantique.
Malgré sa structure apparente simple, les réseaux euclidiens ont permis de débloquer des constructions qui ne sont par réalisables autrement, comme par exemple le chiffrement totalement homomorphe~\cite{Gen09,BV11,GSW13}.
La flexibilité de la cryptographie à base de réseaux euclidiens a été rendue possible par la découverte des \textit{portes dérobées}~\cite{GPV08,CHKP10,MP12} telles que nous l'avons expliqué en section~\ref{sse:lattice-trapdoors}.
De manière informelle, la connaissance d'une base courte (ou porte dérobée) pour un réseau permet d'échantillonner des vecteurs courts dans ce même réseau.
Il s'avère, par ailleurs, que trouver ces vecteurs courts est considéré comme un problème difficile en l'absence de la connaissance d'une base courte.
De plus, avoir une base courte pour un réseau $\{\mathbf{v} \in \ZZ^m \mid \mathbf{A} \mathbf{z} = 0 \bmod q\}$ décrit par une matrice $\mathbf{A} \in \mathbb{Z}^{n \times m}$ permet de générer une base pour un réseau dépendant de celui-ci, décrit par la matrice $[ \mathbf{A} \mid \mathbf{B}] \in \ZZ_q^{n \times m'}$.
Cette propriété est utilisée par exemple dans la signature de Boyen~\cite{Boy10}, largement employée dans la cryptographie à base de réseaux.
Dans ce schéma, une signature pour un message $m$ consiste en un vecteur court dans le réseau orthogonal à la matrice $\mathbf{A}_m = [\mathbf{A} \mid \mathbf{B}_m]$ où la matrice $\mathbf{B}_m$ est calculable publiquement.
Ainsi, la connaissance d'une porte dérobée pour la matrice $\mathbf{A}$ rend possible le calcul d'un tel vecteur, et le message est lié à la description de la matrice $\mathbf{A}_m$.
Néanmoins, l'utilisation de portes dérobées pour les réseaux est extrêmement coûteuse en terme d'efficacité~\cite{Lyu12,LLNW16}.
Comme notre but est de fournir les premières constructions pour les primitives que nous présentons, nous nous sommes concentrés sur la réalisations de telles constructions sous des hypothèses bien étudiées, au prix de cette efficacité.
\section*{Nos résultats}
Dans cette thèse sont présentées différentes constructions cryptographiques pour la préservation de la vie privée.
Ces constructions sont le résultat d'améliorations successives des preuves à divulgation nulle de connaissance et des preuves de sécurités liées aux constructions sous des hypothèses calculatoires standards.
Nous pensons que ces avancées ont un intérêt indépendant, et que les schémas proposés sont un pas de plus vers la démocratisation d'une cryptographie qui résisterait à un adversaire quantique.
Dans la suite, nous détaillons quatre constructions qui ont été développées dans cette thèse.
Ces résultats sont issues de ces quatre articles publiés durant ma thèse: \cite{LMPY16,LLM+16,LLM+16a,LLM+17}.
\subsection*{Signatures de groupe dynamique et accréditation anonyme}
Dans la partie~\ref{pa:gs-ac} nous présentons deux primitives: les signatures de groupes dynamiques et l'accréditation anonyme.
Nous avons déjà décrit le comportement de l'accréditation anonyme plus haut.
Pour les signatures de groupes, il s'agit d'une primitive qui permet à un utilisateur d'authentifier un message au nom d'un groupe, tout en restant anonyme au sein de ce groupe.
Les utilisateurs restent responsables de leurs actions: une autorité tierce (par exemple un juge) disposant d'une information secrète est capable de lever l'anonymat des utilisateurs qui se comporteraient mal.
En tant que telle, cette primitive peut être utilisée pour fournir une authentification anonyme qui garantit la responsabilité de ses utilisateurs (ce qui n'est pas le cas avec l'accréditation anonyme).
Par exemple, dans l'internet des objets, comme les voitures intelligentes, il est important de fournir un canal de communication authentifié, alors que l'anonymat de chaque objet est important (puisqu'il possède beaucoup d'information sur son utilisateur).
Dans cette thèse, nous présentons dans le chapitre~\cite{ch:sigmasig} un schéma de signature de groupe à base de couplages qui vise l'efficacité sous des hypothèses raisonnables. Cette construction est accompagnée d'une implantation en C pour soutenir sa practicité.
Le schéma est décrit dans~\cite{LMPY16} conjointement avec Benoît Libert, Thomas Peters et Moti Yung, et a été présenté à la conférence AsiaCCS'16.
Le chapitre~\ref{ch:gs-lwe} présente le premier schéma de signature de groupe dynamique qui repose sur la sécurité des réseaux euclidiens.
Ces travaux sont décrits dans~\cite{LLM+16} avec Benoît Libert, San Ling, Khoa Nguyen et Huaxiong Wang, et ont été présentés à Asiacrypt'16.
\subsection*{Chiffrement de groupe}
Le chiffrement de groupe est l'analogue de la signature de groupe pour le chiffrement.
Dans ce contexte, un utilisateur désire envoyer un message à un membre d'un groupe, tout en cachant l'identité du destinataire au sein de ce groupe.
De manière similaire, une autorité peut lever l'anonymat des message à l'aide d'une information secrète~\cite{KTY07,LYJP14}.
Une application possible du chiffrement de groupe est la construction d'un pare-feu d'entreprise, qui permet de garantir qu'un message possède bien un destinataire dans l'entreprise tout en garantissant des propriétés additionnelles comme l'absence de programme malicieux dans le message.
En cas de doute, une autorité est capable de lever l'anonymat d'un message suspicieux.
Plus formellement, le chiffrement de groupe est une primitive qui permet à un expéditeur de générer une preuve publiquement vérifiable que: (1)~Le cĥiffré est bien formé et est destiné à un utilisateur enregistré dans un groupe qui sera capable de déchiffrer le message; (2)~L'autorité d'ouverture sera capable d'identifier le destinataire du message si besoin; (3)~Le message clair vérifie certaines propriétés, comme celle d'être un témoin pour une relation publique.
Dans le modèle de Kiayias, Tsiounis et Yung~\cite{KTY07}, le secret du message et l'anonymat sont définis pour un adversaire actif dans toutes les définitions de sécurité.
C'est-à-dire un adversaire capable de demander des requêtes d'ouverture sur n'importe quel message et l'identité du destinataire de messages.
Cette construction nécessite de pouvoir prouver la connaissance d'une clef publique certifiée utilisée pour chiffrer un message.
Or, cette clef publique doit rester cachée parmi les différentes clef publiques certifiées.
Dans les réseaux euclidiens, cela revient à produire une preuve sans divulgation nulle de connaissance pour une relation dite «\,quadratique\,».
Avant ces travaux, les preuves sans divulgation de connaissances que nous connaissons sur les réseaux euclidiens ne permettent que de prouver des relations où le témoin vérifie une relation linéaire en les paramètres publiques.
Rappelons qu'une relation d'apprentissage avec erreurs est de la forme $\mathbf{A} \cdot \mathbf{s} + \mathbf{e} + \mathbf{m} \lceil \frac{q}{2} \rceil \bmod q$$\mathbf{A}$ est la clef publique du destinataire du message.
Comme le chiffrement de groupe demande à ce que le destinataire reste anonyme, cette clef publique $\mathbf{A}$ doit rester privée.
Un moyen d'y arriver est d'avoir des preuves sans divulgation nulle de connaissance qui supportent les relations où le témoin est multiplié par une matrice privée.
%Pour réaliser cette construction dans le cadre des réseaux euclidiens, nous avons eu besoin de traiter des «\,relations quadratique\,».
Cela a été rendu possible en introduisant des techniques nouvelles pour les preuves à la Stern.
Ces techniques, qui reposent sur une approche «\,diviser-pour-régner\,», sont décrites dans le chapitre~\ref{ch:ge-lwe}, ainsi que la construction du schéma de chiffrement de groupe prouvé sûr dans le modèle standard.
Ces travaux ont été présentés à Asiacrypt'16~\cite{LLM+16a} et ont été effectués avec Benoît Libert, San Ling, Khoa Nguyen et Huaxiong Wang.
\subsection*{Transfert inconscient adaptatif}
Le transfert inconscient est une primitive proposée par Rabin~\cite{Rab81} qui a ensuite été étendue par Even, Goldreich et Lempel~\cite{EGL85}.
Elle met en relation un serveur et un client qui veulent s'échanger des messages indexés de $1$ à $N$.
Le protocole permet ainsi à un client d'obtenir le $\rho$-ième message de la part du serveur sans lui permettre de savoir quoi que ce soit sur le choix du client.
De plus, le client n'obtient que le $\rho$-ième message et n'apprend rien sur les autres messages de la base de donnée.
Dans sa version adaptative~\cite{NP99}, le client souhaite obtenir \textit{dynamiquement} $k$ messages.
Toujours en gardant secret l'indice des messages qu'il a récupéré, ainsi que le motif d'accès des requêtes.
D'un point de vue théorique, le transfert inconscient est une \textit{brique de base complète} pour la cryptographie.
Autrement dit, si elle est possible, n'importe quel calcul multipartite sécurisé est rendu possible.
Dans sa variante adaptative, le transfert inconscient a des applications pour l'accès préservant la vie privée à des bases de données sensibles (comme les bases de données médicales ou financières) stockées de manière chiffrées sur un serveur distant.
Dans sa forme simple, le transfert inconscient (adaptatif) ne restreint pas l'accès aux données.
Dans plusieurs cas de figures (comme des bases de génomes), on souhaite mutualiser la base de données, et il n'est pas souhaitable que n'importe quel utilisateur puisse avoir accès à toutes les données.
Il est alors important de protéger l'accès à ces données sensibles conditionnés par les droits d'accès du client.
Dans le même temps, la protection de la vie privée nécessite que seuls les utilisateurs autorisés puissent accéder à la base de donnée, tout en gardant leurs informations anonymes (en particulier, le certificat utilisé pour accéder aux données doit rester secret pour tout le monde, y compris le serveur).
Cette propriété a été formalisée par~\cite{CDN09} par la notion de contrôle d'accès.
Dans cette variante, chaque données est protégée par une police d'accès différente. À partir de leurs attributs, les utilisateurs peuvent obtenir une accréditation de la part d'une autorité tierce, qui les autorise à récupérer anonymement les données pour lesquelles leurs attributs leurs en permettent l'accès.
Durant la phase de transfert, le client prouve sans divulgation de connaissance la possession d'un tel certificat pour un attribut qui vérifie la police d'accès de la donnée qu'il souhaite obtenir.
La seule information que la base de donnée peut apprendre est donc qu'un utilisateur a obtenu un élément de la base de données pour lequel il avait accès.
Le système doit être capable de traiter des polices d'accès complexes, tout en gardant la complexité en temps et en mémoire raisonnable.
Dans cette thèse, nous proposons dans le chapitre~\ref{ch:ot-lwe} un protocole de preuve sans divulgation de connaissance qui permet de traiter n'importes quelles polices d'accès pouvant être décrites à l'aide d'un circuit booléen de profondeur logarithmique (c'est-à-dire la classe de complexité $\mathsf{NC}^1$) qui repose sur les réseaux euclidiens.
Dans le cadre du transfert inconscient adaptatif, la plupart des constructions (à base de couplages) ne permettent que de traiter, sous des hypothèses raisonnables, que des polices d'accès composées de conjonctions~\cite{CDN09,CDNZ11,ACDN13}. Sous des hypothèses plus fortes, les polices d'accès dans $\mathsf{NC}^1$ sont néanmoins possibles~\cite{ZAW+10}.
%Nous avons proposé la première construction de schéma de transfert inconscient adaptatif avec contrôle d'accès qui repose sur des hypothèses de réseaux euclidien décrite dans le chapitre~\ref{ch:ot-lwe} et dans~\cite{LLM+17}.
Cette construction, présentée à Asiacrypt'17~\cite{LLM+17}, a été réalisée avec Benoît Libert, San Ling, Khoa Nguyen et Huaxiong Wang.
\begin{comment}
\subsection{Adaptive Oblivious Transfer}
Oblivious transfer is a primitive coined by Rabin~\cite{Rab81} and later extended by Even, Goldreich and Lempel~\cite{EGL85}.
It involves a server with a database of messages indexed from $1$ to $N$ and a receiver with a secret index $\rho \in \{1,\ldots,N\}$.
The protocol allows the receiver to retrieve the $\rho$-th message from the receiver without letting him infer anything on his choice.
Furthermore, the receiver only obtains the $\rho$-th message and learns nothing about the other messages.
In its adaptive flavor~\cite{NP99}, oblivious transfer allows the receiver to interact $k$ times with the server to obtain $k$ messages in such a way that, each request may depend on the previously retrieved messages.
From a theoretical point of view, oblivious transfer is known to be a \textit{complete building block} for cryptography in the sense that, if it can be realized, then any secure multiparty computation can be.
In its adaptive variant, oblivious transfer has applications in privacy-preserving access to sensitive databases (such as medical records or financial data) stored in an encrypted form on a remote server.
In its basic form, (adaptive) oblivious transfer does not restrict in any way the population of users who can obtain specific records.
In many sensitive databases (e.g., DNA samples or patients' medical history), however, not all users should be able to access the whole database.
It is thus crucial to protect the access to certain entries conditioned on the receiver holding suitable credentials delivered by authorities.
At the same time, privacy protection requires that authorized users should be able to query database records while leaking as little as possible about their interests or activities.
This requirements is handled by endowing oblivious transfer with access control, as stated by Camenish, Dubovitskaya and Neven~\cite{CDN09}.
In this variant, each database record is protected by a different access control policy.
Based on their attributes, users can obtain credentials from pre-determined authorities, which entitle them to anonymously retrieve database records of which the access policy accepts their certified attributes.
During the transfer phase, the user demonstrates, in a zero-knowledge manner, possession of an attribute string compatible with the policy of a record in the database, as well as a credential for this attribute.
The only information that the database holder eventually learns is that some user retrieved some record which he was authorized to obtain.
To achieve this, an important property is the expressiveness of such access policies.
In other words, the system should be able to handle complex attribute policies while keeping time and memory consumption reasonable\footnote{Here, ``\textit{reasonable}'' means (probabilistic) polynomial time.}.
In this thesis, we propose in~\cref{ch:ot-lwe} a zero-knowledge protocol to efficiently handle any access policy that can be described with a logarithmic-depth boolean circuit, also known as $\mathsf{NC}1$, based on lattices.
In the context of adaptive oblivious transfer with access control, most of the schemes (based on pairing assumptions) manage to handle the case of conjunctions under reasonable assumptions~\cite{CDN09,CDNZ11,ACDN13}. Under strong assumptions, however, the case of $\mathsf{NC}1$ can be taken care of~\cite{ZAW+10}.
This joint work with Benoît Libert, San Ling, Khoa Nguyen and Huaxiong Wang was presented at Asiacrypt'17~\cite{LLM+17}.
\end{comment}