Simple Science

La science de pointe expliquée simplement

# Informatique# Cryptographie et sécurité# Bases de données

EncDB : Une nouvelle approche pour la gestion des données chiffrées

EncDB offre une meilleure sécurité et efficacité pour gérer des données chiffrées dans le cloud.

― 10 min lire


EncDB : Gestion sécuriséeEncDB : Gestion sécuriséedes données dans le cloudde requêtes cryptées efficace.Présentation d'EncDB pour un traitement
Table des matières

L'informatique en nuage est devenue populaire pour gérer les données. Beaucoup d'entreprises utilisent des services externes pour stocker et manipuler leurs bases de données. Bien que ça apporte des avantages comme des coûts réduits et de la flexibilité, ça soulève aussi des inquiétudes sur la vie privée des données. Quand les entreprises laissent leurs données être gérées par des fournisseurs externes, elles perdent le contrôle direct sur celles-ci. Ça crée des risques, surtout si la sécurité du fournisseur est compromise.

Une façon de protéger les données sensibles, c'est par le chiffrement. Ça veut dire transformer les données en un code sécurisé pour que personne ne puisse les lire sans la clé appropriée. Les méthodes existantes permettent soit certaines opérations sur les données chiffrées, soit utilisent des environnements sécurisés spéciaux pour garder les données en sécurité. On propose un nouveau système appelé EncDB qui combine ces méthodes pour améliorer la façon dont les requêtes chiffrées sont traitées.

Le besoin de services de bases de données chiffrées

Alors que les entreprises transfèrent leurs données vers des fournisseurs de cloud pour la gestion, les préoccupations concernant la vie privée augmentent. Quand les données sont stockées dans le cloud, les utilisateurs ne peuvent pas les contrôler physiquement. La protection de ces données repose sur les pratiques de sécurité du fournisseur de cloud. Si ces mesures échouent, des informations sensibles peuvent être exposées à des menaces potentielles, y compris des hackers ou même des employés peu fiables au sein de l'organisation du fournisseur.

Pour maintenir la confidentialité, les données peuvent être chiffrées avant d'être stockées dans le cloud. Le chiffrement traditionnel protège les données quand elles ne sont pas utilisées mais peut rendre difficile l'exécution d'opérations sur la base de données. Pour surmonter ça, certains systèmes utilisent le chiffrement homomorphe, permettant certaines opérations sur les données chiffrées. Cependant, cette méthode peut avoir du mal avec des requêtes complexes à cause de ses exigences de traitement lourdes.

Une autre approche consiste à utiliser des environnements d'exécution de confiance (TEE). Un TEE crée un espace sécurisé à l'intérieur d'un ordinateur où les données sensibles peuvent être traitées sans être exposées au système d'exploitation ou à l'extérieur. Cependant, certaines solutions existantes utilisant des TEE rencontrent aussi des limitations.

Présentation d'EncDB

Notre nouveau système, EncDB, vise à résoudre les problèmes rencontrés par les méthodes existantes. Il fonctionne sur des bases de données populaires comme PostgreSQL et openGauss. EncDB utilise un mélange de techniques de chiffrement et d'environnements sécurisés pour améliorer le traitement des requêtes tout en gardant les données en sécurité.

EncDB combine deux modes : l'un qui utilise uniquement des solutions logicielles et l'autre qui utilise des environnements d'exécution de confiance. Ça permet au système de choisir de manière adaptative la meilleure méthode pour traiter les requêtes, selon la situation. Cette flexibilité peut mener à de meilleures performances et à une efficacité améliorée.

Algorithmes de chiffrement

Pour fournir un niveau de sécurité robuste, EncDB intègre divers algorithmes de chiffrement. Un domaine clé est le chiffrement homomorphe, qui permet des calculs sur des données chiffrées. Alors que le chiffrement homomorphe complet (FHE) permet toutes opérations sur les données chiffrées, il est souvent inefficace pour une utilisation dans le monde réel. D'un autre côté, le chiffrement homomorphe partiel (PHE) supporte des opérations spécifiques avec de meilleures performances.

On utilise aussi le chiffrement préservant les propriétés (PPE) pour certaines tâches, comme les requêtes de plage, qui nécessitent des comparaisons entre des données chiffrées. Un autre élément clé de notre approche est l'utilisation des TEE, qui fournissent un espace sécurisé pour le traitement des données.

Architecture du système EncDB

La structure d'EncDB est construite autour de deux composants principaux : le serveur d'application et le serveur non fiable. Le serveur d'application est l'endroit où se déroulent les opérations sécurisées, tandis que le serveur non fiable gère les données chiffrées.

Dans le système, il y a plusieurs éléments cruciaux :

  1. Moteur de chiffrement et de déchiffrement : Ce composant gère les clés de chiffrement, effectue le chiffrement des données et déchiffre les résultats reçus du cloud. Il stocke également des informations sur les différentes méthodes de chiffrement utilisées.

  2. Réécrivain de requêtes : Le rôle de cette partie est de convertir les requêtes des utilisateurs dans des formats compatibles avec les données chiffrées.

  3. Pilote de base de données : Cela permet à l'application d'interagir avec la base de données, d'envoyer des requêtes et de recevoir des réponses.

  4. Services de calcul côté serveur : Cela inclut des fonctions définies par l'utilisateur (UDF) qui peuvent exécuter des opérations sur des données chiffrées.

Le processus de gestion d'une requête SQL implique de télécharger des données en clair, de les chiffrer et de les envoyer au serveur. Le serveur effectue des opérations sur les données chiffrées et renvoie les résultats, qui sont ensuite déchiffrés par le client.

Deux modes de fonctionnement

EncDB fonctionne en deux modes : un mode uniquement logiciel et un mode activé par TEE.

Mode uniquement logiciel

Dans le mode uniquement logiciel, les colonnes de données sont stockées sous forme de texte chiffré en utilisant diverses techniques de chiffrement. Quand une instruction SQL est émise, les colonnes concernées sont remplacées par leurs équivalents chiffrés. Ce mode ne nécessite aucun matériel spécial, réduisant ainsi les coûts de déploiement. Cependant, il a ses inconvénients. Il peut y avoir une redondance de données significative et une surcharge computationnelle, surtout quand des opérations complexes doivent être effectuées.

Mode activé par TEE

Le mode activé par TEE améliore l'efficacité en utilisant des environnements sécurisés. Dans ce mode, des fonctions spécifiques sont exécutées dans une zone sécurisée. Les données sont déchiffrées et des opérations sont effectuées sur du texte en clair, évitant les inefficacités de traitement des données chiffrées directement. Ce mode simplifie les besoins de chiffrement car n'importe quelle méthode de chiffrement symétrique peut être utilisée pour les calculs puisque les données sensibles restent protégées dans l'environnement sécurisé.

Stratégie de prise de décision pour le traitement des requêtes

EncDB utilise une stratégie unique pour déterminer quel mode utiliser lors du traitement des requêtes. Le système peut soit utiliser un interrupteur statique, soit un interrupteur dynamique basé sur l'état actuel des ressources.

Interrupteur statique

Dans un interrupteur statique, le système pré-détermine quelles opérations seront traitées dans quel mode. Cette approche peut mener à des inefficacités si le mode sélectionné ne correspond pas aux capacités actuelles du système.

Interrupteur dynamique auto-adaptatif

La stratégie auto-adaptative évalue dynamiquement les conditions et change entre les deux modes en temps réel. Cela se fait à travers un processus de micro-benchmarking qui surveille la disponibilité actuelle des ressources et ajuste les opérations en conséquence. En s'adaptant aux besoins en temps réel, cette stratégie améliore les performances tout en réduisant le risque de retards de traitement.

Techniques d'indexation pour l'accélération des requêtes

Un autre aspect important d'EncDB est son mécanisme d'indexation de texte chiffré. Les méthodes d'indexation standard ne peuvent pas être appliquées directement aux données chiffrées. Par conséquent, on introduit un index spécialisé qui peut supporter divers types de requêtes, y compris les requêtes de plage et les fonctions d'agrégation.

Types définis par l'utilisateur

On crée un type défini par l'utilisateur (UDT) appelé "oreen" pour gérer comment les données chiffrées sont traitées dans la base de données. Ce nouveau type permet une meilleure indexation et requêtes sur des colonnes chiffrées, améliorant l'efficacité.

Optimisation des requêtes

En introduisant un index chiffré compatible avec les systèmes de base de données existants, les utilisateurs peuvent créer des indices via des commandes SQL standard. Cela garantit que les interactions avec le système restent intuitives tout en bénéficiant de performances améliorées en arrière-plan.

Évaluation des performances d'EncDB

On a réalisé des tests de performance approfondis pour évaluer comment EncDB fonctionne sous différentes scénarios. En utilisant des benchmarks comme TPC-C, on a mesuré les performances à travers diverses configurations.

Débit et latence

Alors que le nombre de transactions simultanées augmentait, on a observé comment les différentes configurations géraient la charge. Le mode uniquement logiciel a montré des performances réduites par rapport à la base de données en clair, tandis que le mode activé par TEE a offert de meilleurs résultats, surtout en cas de haute concurrence.

Efficacité des modes hybrides

En comparant les interrupteurs statiques et dynamiques, on a découvert que l'interrupteur dynamique offrait les meilleures performances lors des scénarios de haute concurrence. Il ajustait les opérations en fonction de la disponibilité actuelle des ressources, réduisant efficacement les remplacements de pages et optimisant l'exécution des requêtes.

Considérations de sécurité

EncDB s'assure qu'aucune donnée en clair n'est exposée au serveur. Divers schémas de chiffrement sont déployés de manière à minimiser la quantité d'informations révélées aux potentiels attaquants.

Vulnérabilités traitées

Le système est conçu pour protéger contre les vulnérabilités courantes trouvées dans les méthodes de chiffrement traditionnelles. On utilise des schémas de chiffrement avancés avec une résistance prouvée aux attaques par inférence, garantissant que les données sensibles restent protégées.

Conclusion

EncDB représente une avancée significative dans le domaine des systèmes de bases de données chiffrées. Il combine des techniques innovantes dans le chiffrement, l'indexation et le traitement adaptatif pour améliorer à la fois les performances et la sécurité.

En utilisant une combinaison de modes uniquement logiciels et activés par TEE, ainsi que des stratégies auto-adaptatives, EncDB offre une approche flexible et efficace pour gérer des données sensibles dans le cloud. Alors que de plus en plus d'entreprises se tournent vers des solutions cloud, garantir la confidentialité et l'intégrité de leurs données sera primordial, et des systèmes comme EncDB seront essentiels pour répondre à ces demandes.

Source originale

Titre: Enc2DB: A Hybrid and Adaptive Encrypted Query Processing Framework

Résumé: As cloud computing gains traction, data owners are outsourcing their data to cloud service providers (CSPs) for Database Service (DBaaS), bringing in a deviation of data ownership and usage, and intensifying privacy concerns, especially with potential breaches by hackers or CSP insiders. To address that, encrypted database services propose encrypting every tuple and query statement before submitting to the CSP, ensuring data confidentiality when the CSP is honest-but-curious, or even compromised. Existing solutions either employ property preserving cryptography schemes, which can perform certain operations over ciphertext without decrypting the data over the CSP, or utilize trusted execution environment (TEE) to safeguard data and computations from the CSP. Based on these efforts, we introduce Enc2DB, a novel secure database system, following a hybrid strategy on PostgreSQL and openGauss. We present a micro-benchmarking test and self-adaptive mode switch strategy that can dynamically choose the best execution path (cryptography or TEE) to answer a given query. Besides, we also design and implement a ciphertext index compatible with native cost model and query optimizers to accelerate query processing. Empirical study over TPC-C test justifies that Enc2DB outperforms pure TEE and cryptography solutions, and our ciphertext index implementation also outperforms the state-of-the-art cryptographic-based system.

Auteurs: Hui Li, Jingwen Shi, Qi Tian, Zheng Li, Yan Fu, Bingqing Shen, Yaofeng Tu

Dernière mise à jour: 2024-04-10 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2404.06819

Source PDF: https://arxiv.org/pdf/2404.06819

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires