Résumé en français

This commit is contained in:
Fabrice Mouhartem 2018-09-20 09:46:25 +02:00
parent 1adf1f8f34
commit 3fa3b93fdc
2 changed files with 69 additions and 68 deletions

View File

@ -20,76 +20,77 @@ Par exemple, un schéma de chiffrement doit pouvoir cacher un message en présen
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é précise principalement qu'une construction cryptographique est au moins aussi difficile qu'un problème supposé dur par la littérature.
Finalement, l'importance de la préservation de la vie privé et la protection des données a été un sujet qui a fait couler beaucoup d'encres, comme en atteste le développement de la règlementation générale sur la protection des données (RGPD) en 2016, mise en application ce 25 mai.
Finalement, l'importance de la préservation de la vie privé et la protection des données a été un sujet qui a 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, mise 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 reposent de manière décisive sur les «\,preuves à divulgation nulles de connaissances\,». Ce sont des protocoles interactifs entre un prouveur et un vérificateur où le prouveur cherche à convaincre le vérificateur de la véracité d'une affirmation sans rien divulguer de plus que la valeur de vérité de cette affirmation.
Dans le contexte de la cryptographie post-quantique, de tels systèmes de preuves sont limités en 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ée.
Par exemple, l'accréditation anonyme~\cite{Cha85,CL01} est un exemple de telles primitives.
De manière informelle, cette primitive permet à un utilisateur de garantir ses droits d'accès à un vérificateur, 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 qu'un ensemble d'utilisateurs qui possèdent leur propre clef secrète 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 un pseudonyme différent, 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 valide.
L'intérêt pour la cryptographie préservant la vie privée date du début de la cryptographie à clef publique~\cite{Rab81,Cha82,GM82,Cha85}.
Une raison pour cela pourrait être les similitudes 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 service apportés 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 faille de sécurité.
Alors que, de nos jours, 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 composés de briques de bases simples dans leur construction.
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 constructinons.
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 du système par les cryptanalystes.
Dans ce cas contraire, cela peut amener à 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 de faire reposer la cryptographie sur des hypothèses simples 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 construction de schémas pratiques.
Les détails de ces deux structures sont présentés dans le chapitre~\cite{ch:structures}.
\subsection*{Preuves sans divulgation de connaissance}
Comme nous l'avons expliqué précédemment, les preuves sans divulgation de connaissances 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 exprimes 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 reposant sur différentes hypothèses de sécurité existent~\cite{Sch96,Ste96,KTX08,Lyu08}.
Pour des affirmations plus complexes, tels que 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 de manière plus directe.
Dans le cadre des couplages, il existe des preuves sans divulgation de connaissance non-interactive 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 des 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 oblieusement un message caché et (ii)~Les utilisateurs peuvent prouver sans divulgation de connaissance la connaissance d'une paire message-signature cachée.
Ces deux propriétés s'avèrent être extrêmement utiles dans la construction de protocoles protégeant l'anonymat tels que l'accréditation anonyme ou la monnaie électronique.
La construction effective de ces signatures avec protocoles efficace est donc un point clef dans la cryptographie préservant 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} qui repose sur les couplages.
C'est une traduction du schéma de~\cite{LPY15} dans un modèle idéalisé pour atteindre une efficacité raisonnable en pratique.
L'autre, 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ù, à certains endroits, seule la sécurité pour des messages aléatoire est requise. Cela est décrit dans le chapitre~\ref{ch:ot-lwe}.
\section*{Couplages et réseaux}
\begin{comment}
\section{Privacy-Preserving Cryptography}
\label{se:privacy-preserving-crypto}
In this context, `privacy-preserving' refers to the ability of a primitive to provide some functionalities while holding sensitive information private.
An example of such primitives are \textit{anonymous credentials}~\cite{Cha85,CL01}.
Informally, this primitive allows users to prove themselves to some verifiers without telling their identity, nor the pattern of their authentications.
To realize this, this system involves one (or more) credential issuer(s) and a set of users who have their own secret keys and pseudonyms that are bound to their secret.
Users can dynamically obtain credentials from an issuer that only knows users' pseudonyms and obliviously sign users' secret key as well as a set of attributes.
Later on, users can make themselves know to verifiers under a different pseudonym and demonstrate possession of a certification from the issuer, without revealing neither the signature nor the secret key.
This primitive thus allows a user to authenticate to a system (e.g., in anonymous access control) while retaining its anonymity.
In addition, the system is guaranteed that users indeed possess a valid credential.
Interests in privacy-based cryptography date back to the beginning of public-key cryptography~\cite{Rab81,Cha82,GM82,Cha85}.
A reason for that could be the similarities between the motivations of cryptography and the requirements of privacy protection.
Additionally, cryptographers' work in this field may have direct consequences in term of services that could be developed in the real-world.
Indeed, having a practical anonymous credential scheme will enable its use for access control in a way that limits security flaws.
Whereas, nowadays' implementations are based on more elementary building blocks, like signatures, whose manipulations may lead to different security holes~\cite{VP17}.
Similarly, \textit{advanced primitives} often involve simpler building blocks in their design.
The difference lies in that provable security conveys security guarantees for the construction.
As explained before, these proofs make the security of a set of schemes rely on hardness assumptions.
Thus, the security relies on the validity of those assumptions, which are independently studied by cryptanalysts.
Hence, security is guaranteed by the study of those assumptions.
For example, the security analysis of multilinear maps in~\cite{CHL+15} made obsolete a large amount of candidates at this time.
This example reflects the importance of relying on well-studied and simple assumptions as we will explain in~\cref{ch:proofs}.
In the context of this thesis, the developed cryptographic schemes rely on lattices and bilinear maps over cyclic groups.
Lattice-based cryptography is used to step towards post-quantum cryptography, while the latter proves useful in the design of practical schemes.
The details of these two structures are given in~\cref{ch:structures}.
\subsection{Zero-Knowledge Proofs}
As explained before, zero-knowledge proofs are a basic building block for privacy-preserving cryptography.
They require completeness, soundness and zero-knowledge properties.
Completeness captures the correctness of the protocol if everyone is honest. In the case of a dishonest prover, soundness asks the probability that the verifier is convinced to be negligible.
On the contrary, if the verifier is cheating, the zero-knowledge property guarantees that the prover's secret remains hidden.
In the case of identification schemes, the nature of the secret remains simple and solutions exist under multiple assumptions~\cite{Sch96,Ste96,KTX08,Lyu08}.
For more complex statements, such as proving correct computation, a gap appears between post-quantum schemes and modular arithmetic-based schemes.
In the case of pairing-based cryptography, there exist non-interactive zero-knowledge proofs which can prove a large variety of statements~\cite{GOS06,GS08} without idealized assumptions.
Such proofs are still missing in the context of post-quantum cryptography so far.
In the lattice world, there are two main families of proof systems: Schnorr-like proofs~\cite{Sch96,Lyu09} and Stern-like proofs~\cite{Ste96}, named after their respective authors.
The first family works on some structured lattices. Exploiting this structure allows for more compact proofs, while the expressiveness of statements is quite restricted.
The second kind of proofs is combinatorial and works on the representation of lattice elements (as matrix and vectors).
By nature, these proofs are quite expensive in term of communication complexity.
However, they can be used to prove a wide variety of statements as we will explain in more details along this thesis and especially in~\cref{sse:stern}.
More generally, zero-knowledge proofs are detailed in~\cref{ch:zka}.
\subsection{Signatures with Efficient Protocols}
To enable privacy-preserving functionalities, a possible avenue is to couple zero-knowledge proofs with signature schemes.
One of such signatures are \textit{signatures with efficient protocols}.
This primitive extends the functionalities of ordinary digital signature schemes in two ways: (i)~It provides a protocol to allow a signer to obliviously sign a hidden message and (ii)~Users are able to prove knowledge of a hidden message-signature pair in a zero-knowledge fashion.
These two properties turn out to be extremely useful when it comes designing efficient anonymity-related protocols such as anonymous credentials or e-cash.
The design of effective signatures with efficient protocols is thus important for privacy-preserving cryptography.
In this thesis, we provide two of these signature schemes.
One of them, described in~\cref{ch:sigmasig}, based on pairings, shifts the~\cite{LPY15} signature scheme to an idealized but practically acceptable model, aiming at efficiency.
The other, described in~\cref{ch:gs-lwe}, adapts a variant of Boyen's signature~\cite{Boy10,BHJ+15} along with the Kawachi-Tanaka-Xagawa commitment scheme~\cite{KTX08} to provide a lattice-based signature schemes that is compatible with Stern-like proofs.
This scheme has also been relaxed in the context of adaptive oblivious transfer where, in some places, it is only required to have random-message security instead of security against chosen-message security as described in~\cref{ch:ot-lwe}.
\section{Pairings and Lattices}
In this thesis, the proposed constructions rely on the assumed hardness of assumptions over pairing-friendly groups and lattices.
These two objects have widely been used in cryptography since the early 2000s~\cite{SOK00,Reg05}.

View File

@ -109,9 +109,6 @@
\cleardoublepage
\input symbols
\mainmatter
\pagestyle{ruled}
\begin{otherlanguage}{french}
\chapter{Résumé substantiel en Français}
\label{ch:resume-fr}
@ -119,6 +116,9 @@
\input chap-resume
\end{otherlanguage}
\mainmatter
\pagestyle{ruled}
\chapter{Introduction}
\addcontentsline{tof}{chapter}{\protect\numberline{\thechapter} Introduction}
\label{ch:introduction}