Dans SQL Server 2016, quelle est la différence entre le chiffrement de données toujours chiffré et transparent?


40

Au moment où j'écris ces lignes, j'attends toujours la version officielle de SQL Server 2016 pour pouvoir explorer l'utilité de sa fonctionnalité "Toujours chiffré".

J'aimerais simplement savoir quelles seront les différences spécifiques entre Always Encrypted et le cryptage transparent des données actuellement disponible dans SQL Server 2016 afin que nous puissions prendre la bonne décision pour les projets futurs.


Avec toujours chiffré, les pilotes clients chiffrent / déchiffrent les données avant qu'elles n'atteignent SQL Server pendant que TDE s'exécute sur SQL Server même. IMHO TDE est la plupart du temps inutile dans les scénarios cloud / datacenter sécurisé (faites défiler jusqu'à "TDE n'est pas très utile dans le cloud"). Si la sécurité des données vous intéresse, consultez également Crypteron . Divulgation complète: Je travaille ici
DeepSpace101

Réponses:


48

Inconvénients de Transparent Data Encryption par rapport à Always Encrypted:

  • Protège uniquement les données au repos - les sauvegardes et les fichiers de données sont "sûrs" mais les données en mouvement ou en mémoire sont vulnérables
  • Base de données entière seulement
  • Toutes les données sont cryptées de la même manière
  • La compression de sauvegarde peut prendre plus de temps et être contre-productive

    • En fait, SQL Server 2016 présente des améliorations qui défient ce que nous savons généralement à propos d'essayer de compresser des données cryptées: c'est bien mieux que les versions précédentes, mais c'est encore pire que de crypter une poignée de colonnes (non testée).
  • tempdb hérite également du chiffrement - reste même après la désactivation de TDE
  • Nécessite l'édition Enterprise
  • Données toujours accessibles à l'administrateur système

Always Encrypted répond à tous ces problèmes, en partie ou en totalité:

  • Les données sont protégées au repos, en mouvement et en mémoire - un contrôle beaucoup plus important sur les certificats, les clés et les utilisateurs qui peuvent déchiffrer les données
  • Peut être juste une seule colonne
  • Le type de cryptage est un choix:
    • Peut utiliser le chiffrement déterministe pour prendre en charge les index et les recherches de points (SSN, par exemple)
    • Peut utiliser le cryptage aléatoire pour une meilleure protection (par exemple, le numéro de carte de crédit)
  • Etant donné que la compression de la sauvegarde n’est pas au niveau de la base de données, elle n’est pas nécessairement affectée. Bien entendu, plus vous chiffrez de colonnes, plus vous aurez de la chance.
  • tempdb n'est pas impliqué
  • A partir de SQL Server 2016 Service Pack 1, Always Encrypted fonctionne désormais dans toutes les éditions.
  • Les données peuvent être protégées de sysadmin (mais pas des administrateurs sysadmin ET Windows security / cert / key, autrement dit, vous pouvez séparer les responsabilités tant que ces deux groupes ne se rencontrent pas)

Toutefois, il existe une limitation: tous les pilotes et toutes les applications ne peuvent pas traiter directement les données chiffrées. Dans certains cas, cela nécessite de mettre à jour / modifier les pilotes et / ou de modifier le code.


Pourriez-vous m'expliquer, comment Always Encrypted chiffre les données en mémoire? J'ai essayé de trouver cette information dans le MSDN, mais cela ne dit que sur les données au repos et le cryptage des données en mouvement. Merci :)
Victoria Malaya

1
@Victoria les données sont chiffrées par le fournisseur avant même que SQL Server ne les voie. Donc, SQL Server reçoit une valeur chiffrée, met cette valeur chiffrée sur le disque et charge la valeur chiffrée en mémoire lorsque cette page est en mémoire. Le chiffrement ne se produit pas en mémoire comme vous le pensez et le déchiffrement ne se produit que lorsqu'un client possède un certificat avec la capacité de ...
Aaron Bertrand

2
Autant que je sache, l'une des plus grandes différences réside dans l'interrogation des données. Avec TDE, vous pouvez exécuter n'importe quelle requête comme vous le feriez normalement. Avec AE, vous êtes très limité dans l'interrogation des colonnes cryptées, autrement dit, vous ne pouvez effectuer que des comparaisons d'égalité (et cela nécessite d'opter pour le cryptage déterministe). Il n'y a pas de plages de dates vérifiées, pas de requêtes LIKE, etc.
musefan

3

En termes simples, TDE est les données cryptées au repos (sur disque) et AE est les données cryptées sur le fil.


Je pense que vous pourriez avoir ça à l'envers, non?
zwerdlds

Ne devrait-il pas en être ainsi: TDE est-ce que les données sont cryptées au repos alors que AE est crypté sur le réseau, au repos et en mémoire?
RoastBeast

Autant que je sache, vous pouvez combiner TDE et Force Protocol Encryption sur le serveur MS SQL pour le chiffrer également sur le réseau filaire.
TiloBunt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.