Privacy Preserving Top-k Query Processing over Outsourced Data
Préservation de la confidentialité des données externalisées dans le traitement des requêtes top-k
Résumé
Outsourcing corporate or individual data at a cloud provider, e.g. , using Database-as-a-Service, is practical and cost-effective. But it introduces a major problem: how to preserve the privacy of the outsourced data, while supporting powerful user queries. In this thesis, we consider an important kind of queries, top-k queries, and address the problem of privacy-preserving top-k query processing over encrypted data in the cloud. A top-k query allows the user to specify a number k, and the system returns the k tuples which are most relevant to the query. The relevance degree of tuples to the query is determined by a scoring function.
We consider two cases: 1) centralized: the user encrypted data are stored at a single node of a cloud data center (i.e. computer cluster) 2) distributed: the user encrypted data are vertically partitioned (for scalability and performance reasons), and the partitions are encrypted and distributed across multiple nodes of a cloud data center. We first propose a complete system, called BuckTop, for the centralized case. Buck-Top is able to efficiently evaluate top-k queries over encrypted data outsourced to a singe node, without having to decrypt it in that node. It includes a top-k query processing algorithm that works on the encrypted data stored in the cloud node, and returns a set that is proved to contain the encrypted data corresponding to the top-k results. It also comes with an efficient filtering algorithm that is executed in the cloud node on encrypted data and removes most of the false positives included in the set returned. For the distributed case, we propose two new systems, called SDB-TOPK and SD-TOPK, that can evaluate top-k queries over encrypted distributed data without having to decrypt at the nodes where they are stored. In addition, SDB-TOPK and SD-TOPK have a powerful filtering algorithm that filters the false positives as much as possible in the nodes, and returns a small set of encrypted data that will be decrypted in the user side.
We analyze the security of our system, and propose efficient strategies to enforce it. We validated our solutions through implementation of BuckTop, SDB-TOPK and SD-TOPK, and compared them to baseline approaches over synthetic and real databases. The results show excellent response time compared to baseline approaches. They also show the efficiency of our filtering algorithm that eliminates almost all false positives. Furthermore, our systems yield significant reduction in communication cost between the distributed system nodes when computing the query result.
L’externalisation de données d’entreprise ou individuelles chez un fournisseur de cloud, par exemple avec l’approche Database-as-a-Service, est pratique et rentable. Mais elle introduit un problème majeur : comment préserver la confidentialité des données externalisées, tout en prenant en charge les requêtes expressives des utilisateurs. Dans cette thèse, nous considérons un type important de requêtes, les requêtes top-k, et attaquons le problème du traitement de ces requêtes sur des données cryptées dans le cloud, tout en préservant la vie privée. Une requête top-k permet à l’utilisateur de spécifier un nombre k de tuples les plus pertinents pour répondre à la requête. Le degré de pertinence des tuples par rapport à la requête est déterminé par une fonction de notation.
Nous considérons deux cas : 1) centralisé : les données chiffrées de l’utilisateur sont stockées au niveau d’un noeud unique d’un data center du cloud. 2) distribué : les données chiffrées de l’utilisateur sont partitionnées verticalement (pour des raisons de performance), et les partitions sont chiffrées et réparties sur plusieurs noeuds. Nous proposons d’abord un système complet, appelé BuckTop, pour le cas centralisé. BuckTop est capable d’évaluer efficacement les requêtes top-k sur des données cryptées, sans avoir besoin de les décrypter dans le cloud. Il inclut un algorithme de traitement des requêtes top-k qui fonctionne sur les données cryptées, stockées dans un noeud du cloud, et retourne un ensemble qui contient les données cryptées correspondant aux résultats top-k. Il est aidé par un algorithme de filtrage efficace qui est exécuté dans le cloud sur les données chiffrées et supprime la plupart des faux positifs inclus dans l’ensemble renvoyé. Pour le cas distribué, nous proposons deux nouveaux systèmes, appelés SDB-TOPK et SD-TOPK, qui permettent d’évaluer les requêtes top-k sur des données distribuées cryptées sans avoir à les décrypter sur les noeuds où elles sont stockées. De plus, SDB-TOPK et SD-TOPK ont un puissant algorithme de filtrage qui filtre les faux positifs autant que possible dans les noeuds et renvoie un petit ensemble de données cryptées qui seront décryptées du côté utilisateur. Nous analysons la sécurité de notre système et proposons des stratégies efficaces pour la mettre en oeuvre.
Nous avons validé nos solutions par l’implémentation de BuckTop, SDB-TOPK et SD-TOPK, et les avons comparé à des approches de base par rapport à des données synthétiques et réelles. Les résultats montrent un excellent temps de réponse par rapport aux approches de base. Ils montrent également l’efficacité de notre algorithme de filtrage qui élimine presque tous les faux positifs. De plus, nos systèmes permettent d’obtenir une réduction significative des coûts de communication entre les noeuds lors du calcul du résultat de la requête
Origine | Fichiers produits par l'(les) auteur(s) |
---|