Quelle sécurité pour le Cloud? David Pointcheval ENS - CNRS - INRIA CNRS, Paris, France - 9 Décembre 2016
Le Cloud David Pointcheval 2 /21
Disponible partout David Pointcheval 3 /21
Disponible pour tout On veut y stocker des documents, photos, etc Mais aussi les partager avec ses collègues ou amis les traiter les interroger/sélectionner/filtrer David Pointcheval 4 /21
Besoins de sécurité Comme si on accédait à un disque dur local, on s attend à une garantie stockage un respect de la vie privée confidentialité des données anonymat des utilisateurs secret des requêtes Mais alors, comment traiter les requêtes? David Pointcheval 5 /21
Confidentialité & partage Le chiffrement à la source protège les données le prestataire les stocke sans les connaître personne ne peut y accéder, sauf le propriétaire Comment les partager? Accès complet (tout ou rien) Accès partiel (agrégation/statistiques/ ) David Pointcheval 6 /21
Chiffrement broadcast [Fiat-Naor - Crypto 94] L émetteur choisit un ensemble de destinataires-cibles Mais il s agit de «tout ou rien» pour les utilisateurs David Pointcheval 7 /21
Chiffrement homomorphe [Rivest-Adleman-Dertouzos - FOCS 78] [Gentry - STOC 09] AND Inputs OR Circuit NOT NOT Outputs AND OR Le chiffrement «complètement» homomorphe permet des calculs sur les données chiffrées David Pointcheval 8 /21
Chiffrement homomorphe [Rivest-Adleman-Dertouzos - FOCS 78] [Gentry - STOC 09] ENOT Encrypted Inputs EOR Circuit EAND ENOT Encrypted Outputs EAND EOR Le chiffrement «complètement» homomorphe permet des calculs sur les données chiffrées Mais le résultat est chiffré! David Pointcheval 8 /21
Chiffrement fonctionnel [Boneh-Sahai-Waters - TCC 11] L autorité génère des sous-clés K f selon la fonction f A partir de C = Encrypt(x), Decrypt(K f, C) retourne f(x) Cela permet de contrôler la quantité d information partagée David Pointcheval 9 /21
Contrôle d accès vs. Calcul Le chiffrement fonctionnel permet le contrôle d accès avec f id (x,y) = (si y = id, alors x, sinon «échec») chiffrement basé sur l identité (anonyme) avec f G (x,y) = (si y G, alors x, sinon «échec») chiffrement broadcast Il peut caractériser tout type de contrôle d accès chiffrement par attributs ou par prédicats Cela reste du tout ou rien! Peut-on vraiment faire des calculs? David Pointcheval 10 /21
Chiffrement fonctionnel Toutes les constructions génériques reposent sur io: Indistinguishable Obfuscation ou Multi-Linear Maps (applications multilinéaires) tous deux inefficaces (voire inexistants) Première (seule?) construction efficace : produit scalaire ou moyennes pondérées David Pointcheval 11 /21
Modèle de sécurité f f David Pointcheval 12 /21
Modèle de sécurité b xb f x 0 x 1 f David Pointcheval 12 /21
Modèle de sécurité b xb f x 0 x 1 f b L attaquant doit deviner b Contrainte : pour toute requête f, f(x0) = f(x1) Modélise la résistance aux collusions David Pointcheval 12 /21
A partir du chiffrement classique Soit F l ensemble des fonctions f acceptables : Chiffrement E Chiffrement fonctionnel E Pour toute fonction f, on définit (pkf, skf) La clé publique est pk = {pkf}f C = E (pk,x) = {cf = E(pkf,f(x))}f La clé de déchiffrement fonctionnelle pour f est skf Du chiffré C, on extrait cf, et avec skf, on obtient f(x) Mais le chiffré C est grand (linéaire en F) David Pointcheval 13 /21
Exemple concret Student Student Name Student Name Student Name Name Year Year 1 Year Year 1 Year Year 2 Year Year 2 Year Year 3 Year Year 3 English English CS English CS Math English CS Math CS Math Written Math Written Spoken Written Spoken Theory Written Spoken Theory Practice Spoken Theory Practice Algebra Theory Practice Algebra Analysis Practice Algebra Analysis Algebra Analysis Analysis Pour chaque étudiant: relevé de notes David Pointcheval 14 /21
Exemple concret Student Student Name Student Name Student Name Name Year Year 1 Year Year 1 Year Year 2 Year Year 2 Year Year 3 Year Year 3 English English CS English CS Math English CS Math CS Math Written Math Written Spoken Written Spoken Theory Written Spoken Theory Practice Spoken Theory Practice Algebra Theory Practice Algebra Analysis Practice Algebra Analysis Algebra Analysis Analysis Name English CS Math Name English CS Math English CS Math Name Total Name English CS Math Student English CS Math Name Avg Name Total Year Name 1 English CS Math Student English CS Math Name Avg Name Avg Year 1 Name Student English CS Math Year Name 1 Avg Name Avg Year 1 Name Student Written Spoken Theory Practice Algebra Analysis Year 1 Name Avg Year Year 2 1 Name Written Spoken Theory Practice Algebra Analysis Year 1 Year 2 Name Written Spoken Theory Practice Algebra Analysis Year Year 2 1 Year 2 Written Spoken Theory Practice Algebra Analysis Year 2 Year 2 3Years Year Year 3 2 Total Year 3 Avg Year Year 3 2 3Years 3Years Year 3 Avg Year 3 3Years Year 3 Avg Year 3 Year 3 Pour chaque étudiant: relevé de notes Accès partiel aux notes pour chaque étudiant David Pointcheval 14 /21
Exemple concret Student Student Name Student Name Student Name Name Year Year 1 Year Year 1 Year Year 2 Year Year 2 Year Year 3 Year Year 3 English English CS English CS Math English CS Math CS Math Written Math Written Spoken Written Spoken Theory Written Spoken Theory Practice Spoken Theory Practice Algebra Theory Practice Algebra Analysis Practice Algebra Analysis Algebra Analysis Analysis Class English CS Math Year 1 Year 2 Year 3 Class Total English CS Math Written Spoken Theory Practice Algebra Analysis Class Year 1 Year 2 Year 3 Total Class 3Years Total Pour chaque étudiant: relevé de notes Accès partiel aux notes pour chaque étudiant Ou même par matière, classe, année David Pointcheval 14 /21
Produit scalaire [Abdalla-Bourse-De Caro-P. - PKC 15 - EPrint 2015/017] Les cellules des tables dérivées (par classe, matière, etc) sont des combinaisons linéaires des notes dans la table principale des notes des étudiants : a i b c i = a i,j b j = a i b j : vecteur des coefficients publics pour la cellule ci : vecteur des notes privées dans la table principale David Pointcheval 15 /21
Chiffrement ElGamal [ElGamal - IEEE TIT 85] C Chiffrement ElGamal sur G = g : Clé secrète : x Z p Clé publique : h = g x Chiffrement : c =(c 0 = g r,c 1 = h r m) Déchiffrement : m = c 1 /c x 0 Homomorphisme multiplicatif Variante additive : m est remplacé par g m mais nécessite un calcul de logarithme discret la valeur m doit donc être «petite» David Pointcheval 16 /21
Chiffrement fonctionnel ElGamal un groupe G, d ordre premier p et un générateur g x = (xj )j, scalaires aléatoires dans Zp xj h = (hj = g )j C0 = g r and C = (Cj = hrj g bj )j Paramètres : Clé secrète : Clé publique : Chiffrement : ai,j Cj j Di = ai C = =g r j ai,j xj g j ai,j bj Avec la clé fonctionnelle ski = Di = ski C0 g ci = =g j g ai b ai,j xj = ai x : ci = logg (C0 r ai x ski ai C ) David Pointcheval 17 /21
Produit scalaire Les notes sont chiffrées dans la table principale non directement accessibles la table peut être enrichie dynamiquement Pour toute combinaison linéaire souhaitée dans c i sk i permet d obtenir le calcul en clair sk i générée dynamiquement Et sk i ne permet de calculer que c i Confidentialité by design David Pointcheval 18 /21
Conclusion Chiffrement fonctionnel met à disposition des données confidentielles autorise la mise à jour de ces données permet des extractions partielles «à la demande» En pratique Contrôle d accès (tout ou rien) Des calculs : produit scalaire permet la classification Extensions Notions de sécurité plus fortes modèle et hypothèses Confidentialité de la fonction calculée David Pointcheval 19 /21
Conclusion input input input Cloud = accès permanent = interactivité possible David Pointcheval 20 /21
Conclusion input output input output input output Cloud = accès permanent = interactivité possible Un tiers de confiance Permet d évaluer toute fonctionnalité Sur des clairs et/ou des chiffrés Avec des résultats en clairs ou chiffrés David Pointcheval 20 /21
Conclusion input input input Sans tiers de confiance : Calcul multipartite sécurisé David Pointcheval 21 /21
Conclusion input output input output input output Sans tiers de confiance : Calcul multipartite sécurisé chiffrement fonctionnel plus riche chiffrement homomorphe plus efficace David Pointcheval 21 /21