NCache fournit un riche ensemble d'algorithmes de chiffrement standard de l'industrie qui sont presque impossibles à casser. Cela garantit que vos données sensibles sont bien protégées, tout en voyageant sur le réseau sous forme cryptée. NCache fournit les algorithmes de chiffrement suivants parmi lesquels vous pouvez choisir :
Chiffrement AES (Advanced Encryption Standard)
NCache prend en charge l'algorithme de cryptage AES qui fait officiellement partie de la norme FIPS (Federal Information Processing Standard). L'algorithme AES traite des blocs de données de 128 bits, en utilisant des clés de chiffrement de longueurs 128, 192 et 256 bits. Les versions d'AES prises en charge sont répertoriées ci-dessous.
Vous pouvez lire le document de spécification RFC pour AES et AES-FIPS à l'adresse Groupe de travail d'ingénierie Internet (IETF) en ligne.
- AES-128
- AES-192
- AES-256
- AES-FIPS 128
- AES-FIPS 192
- AES-FIPS 256
Cryptage triple DES (3DES)
NCache prend également en charge le protocole de cryptage 3DES, qui traite des longueurs de clé de données de 128 et 192 bits. Vous pouvez lire le document de spécification RFC pour 3DES à l'adresse Groupe de travail d'ingénierie Internet (IETF) site Internet. Les algorithmes suivants sont pris en charge pour NCache cryptage:
- 3DES-128
- 3DES-192
Où le chiffrement se produit-il ?
NCache le cryptage et le décryptage des données se produisent à l'intérieur du NCache processus de candidature client. Cela signifie que toutes les données circulant sur le réseau entre votre application et le cluster de cache sont déjà chiffrées. De même, seules les données chiffrées sont stockées dans le magasin de cache.
Connexion client-serveur
Lorsque vous activez le chiffrement sur un cluster de cache, vous fournissez une clé de chiffrement avec le fournisseur d'algorithme de chiffrement. Cette clé est conservée sur chaque serveur cache de manière cryptée. Lorsqu'un client se connecte avec succès au cache activé pour le cryptage pour la première fois, la clé de cryptage et l'algorithme de cryptage sélectionné sont automatiquement envoyés au client de manière sécurisée pour être utilisés en mémoire pour le cryptage/décryptage lors de futures demandes.
Une fois les requêtes envoyées au cache, NCache client commence automatiquement à chiffrer vos objets avant de les envoyer au cache. De même, il décrypte automatiquement les objets extraits du cache avant de les livrer à votre application.
La figure 1 décrit ce comportement en 2 étapes simples :
NCache Détails NCache Documents sur le chiffrement NCache Sécurité
Données chiffrées en transit et au repos
Si vous manipulez des données sensibles dans NCache, vous pouvez être assuré que les données sont cryptées et protégées contre tout accès indésirable à toutes les étapes de leur vie.
Données du client au serveur
Une fois que la clé chiffrée réside côté client en mémoire, toutes les données qui doivent être envoyées au cache sont chiffrées à l'aide de la clé. Généralement, les données sont d'abord sérialisées, chiffrées et compressées (si la compression est activée). Le cryptage des données côté client avant leur transmission signifie que les données sont cryptées en transit. Cela garantit que toute personne écoutant cette connexion ne pourra pas récupérer de données sensibles.
Données au repos
Une fois les données ajoutées au cache, les données sont stockées sous leur forme cryptée afin qu'elles soient sécurisées même à la fin du cache.
Données dans les nœuds de cluster
Dans le cluster de cache, les données sont chiffrées pendant le transfert d'état ou la réplication de serveur à serveur. Ainsi, il est toujours crypté en transit.
La figure 2 montre comment les données sont chiffrées du client au serveur :
Cache Client
A cache client est un cache local résidant sur la même boîte où l'application est en cours d'exécution. Ce cache client est synchronisé avec le cache en cluster distant pour améliorer les performances des opérations de lecture. Dans le cas du cache client, le chiffrement n'est pas configuré explicitement sur le cache client. Si le cache en cluster (cache de niveau L2) a activé le chiffrement, le cache client est également chiffré. Si aucun cryptage n'est activé sur L2, les données seront ajoutées au cache client sans cryptage.
API cliente
Le comportement de chiffrement/déchiffrement pour NCache API client est gérée automatiquement tout en garantissant que toutes les données en transit sont chiffrées et ne sont déchiffrées que là où elles doivent être traitées.
- Connexion client : Lorsque le client se connecte pour la première fois, il obtient la clé de chiffrement et l'algorithme spécifié sous une forme chiffrée. Ceci est utilisé pour chiffrer/déchiffrer les données en cas de besoin.
- Ajout de données au cache : Pour les API qui ajoutent des données au cache comme Ajouter/insérer etc., les données sont cryptées côté client avant de transiter sur le réseau. A la fin du cache, les données sont stockées sous forme cryptée.
- Récupération des données du cache : Pour les API qui récupèrent les données du cache comme Obtenez/Obtenir en masse/Chargeur/Requêtes etc., les données sont dans le cache sous forme chiffrée, elles sont acheminées vers le client sous forme chiffrée et les données sont déchiffrées côté client.
- Evénements: Pour les événements nécessitant le renvoi de données/métadonnées au client où les données du serveur sont chiffrées, les données sont chiffrées en transit et déchiffrées côté client.
Métadonnées des éléments du cache
Les éléments du cache sont ajoutés avec des métadonnées telles que Groupes, Mots clés, ainsi que Balises nommées. Ceux-ci incluent des informations supplémentaires pour l'élément de cache qui définissent la façon dont les données sont indexées.
Lors de l'ajout des éléments de cache au cache, les données ainsi que les métadonnées sont chiffrées côté client. Les données et les métadonnées voyagent sur le réseau sous une forme cryptée. Cependant, côté serveur, les données sont stockées sous forme chiffrée, mais les métadonnées doivent être déchiffrées car elles sont indexées sur les nœuds du serveur.
NCache Détails NCache Documentation de l'API client NCache Sécurité
Structures de données en cache
NCache fournit un soutien pour structures de données. Au fur et à mesure que les données sont ajoutées au cache, elles sont chiffrées avant d'être ajoutées à la structure de données. De même, lorsque la structure de données est extraite du cache, les données sont déchiffrées côté client et peuvent être utilisées selon les besoins.
Fonctionnalités côté serveur
Comme pour les fonctionnalités côté client, le mécanisme de chiffrement/déchiffrement pour NCache fonctionnalités côté serveur est géré automatiquement selon la nature de la fonctionnalité :
- En lecture : Indépendamment de comment et d'où les données sont chargées, si le chiffrement est activé sur le cache, les données seront ajoutées au cache après avoir été chiffrées, sérialisées et compressées (si la compression est activée).
- Ecriture : Les données dans le cache sont chiffrées, mais pour que les données soient transmises à la source d'écriture continue, elles doivent être déchiffrées afin qu'elles soient stockées telles quelles.
- Chargeur de cache: Étant donné que Loader utilise l'API publique, si le cryptage est activé sur le cache, les données en cours de chargement seront automatiquement stockées sous forme cryptée dans le cache.
- Processeur d'entrée : Si le processeur d'entrée est appelé pour traiter un objet, l'objet est déchiffré au niveau du serveur car tout le traitement a lieu côté serveur.
Activer le cryptage
Vous pouvez activer le cryptage via NCache Des outils de gestion sans aucun effort de programmation de votre part. Le chiffrement doit être activé au démarrage du cache afin que toutes les données soient chiffrées de manière homogène. Vous pouvez en savoir plus à ce sujet dans nos documents sur Configuration du chiffrement.
Fonctions de sécurité supplémentaires dans NCache
Outre le cryptage, NCache fournit également une communication sécurisée via SSL/TLS1.2. De plus, il garantit même que votre environnement de cache est sécurisé au niveau de l'API de cache et de la gestion des nœuds en fournissant Listes de contrôle d'accès. Vous pouvez en savoir plus sur ces fonctionnalités ici :
BLOG : Configuration SSL/TLS dans NCache Made Simple
BLOG : Explorer la sécurité de l'environnement de cache dans NCache
Conclusion
Il ne fait aucun doute que les données sont la nouvelle monnaie et que la cybersécurité est de l'or. Ainsi, NCache reconnaît la nécessité de sécuriser vos données et fournit une gamme de fonctionnalités de sécurité pour garantir la conformité avec les derniers algorithmes. Cependant, comme le chiffrement/déchiffrement est une tâche gourmande en CPU, il doit être utilisé là où cela est explicitement nécessaire car il a un impact sur les performances.