Comment chiffrer la database SQL Server 2008

J'ai une database qui utilise actuellement par mon application. Je ne veux rien changer dans mon application CORE. Mais je veux crypter des DATA et des INFORMATION dans lesquelles stored ou stored dans la database.

SQL Server 2008 (ou 2008 R2) doit disposer d'un mécanisme interne pour chiffrer et déchiffrer les informations qui sont données et appliquées à l'application.

Comment l'get au travail? Le encryption est nécessaire pour tous les champs de la database, les numbers, les strings, les booleans, les dates, etc.

Toute aide est appriciée

Si vous voulez crypter au niveau de la cellule, vous devriez le faire vous-même (en utilisant des Triggers ou d'autres moyens) si vous voulez Crypter le file de database, vous pouvez utiliser le encryption transparent des données (TDE)

SQL 2008 a TDE ou Total Database Encryption. Cela crypte la database entière et est transparent pour tous les users de la database. Les détails de la façon de s'y prendre peuvent être trouvés dans ces deux articles de Microsoft:

http://msdn.microsoft.com/en-us/library/cc278098%28v=sql.100%29.aspx

http://msdn.microsoft.com/en-us/library/bb934049.aspx

Vous pouvez substituer votre table réelle avec un VIEW append les triggersurs INSTEAD OF INSERT et INSTEAD OF UPDATE, créer plusieurs fonctions définies par l'user. Vous devrez probablement modifier légèrement votre application.

Au lieu de cela, envisagez d'utiliser le encryption au niveau du file avec la protection du schéma. Des outils tels que DbDefence disponible en édition gratuite pour les petites bases de données et un prix très modéré pour les bases de données de taille moyenne.

Si vous chiffrez vraiment tout par champ, vous perdrez l'avantage de l'indexing et vous aurez une énorme dégradation des performances.

Option gratuite: placer les files de database sur une partition chiffrée. Ceci cependant ne jouera aucune différence pour DBA bien sûr. Il sera en mesure de sélectionner comme il le ferait une database non cryptée.

Il existe une solution peu coûteuse similaire à Microsoft TDE appelée DbDefence (oui, je suis associé à cette entreprise)

Comme vous le savez peut-être, Microsoft va implémenter une nouvelle fonctionnalité de encryption dans SQL Server 2016 appelée "Always Encrypted". DbDefence utilise cette méthode pour les servers SQL depuis la version 2005. Elle est vraiment efficace et vous n'avez pas besoin de changer quoi que ce soit dans l'application.

Chiffrement de données transparent (TDE)

Transparent Data Encryption (TDE) est une technologie développée par Microsoft et Oracle pour chiffrer les files de database. Il offre un encryption de niveau file et protège datatables au repos en cryptant des bases de données à la fois sur le disque dur et sur le support de sauvegarde. Il ne protège pas datatables en transit ou datatables en cours d'utilisation.

Le chiffrement sera complètement transparent pour les applications qui accèdent à la database. Il crypte datatables dans le file de données (.mdf) et dans le file journal (.ldf) de la database à l'aide du chiffrement Advanced Encryption Standard ou Triple DES.

La même key peut être utilisée pour chiffrer toutes les colonnes d'une table, quel que soit le nombre de colonnes de la table à chiffrer. La key principale du server de database fournit un chiffrement à ces keys de chiffrement et est stockée dans une table de dictionary de la database.

Pour plus d'informations, reportez-vous au lien Comment implémenter l'écriture TDE sur SQL Server