2010-05-13 9 views
3

J'ai une application ASP.NET MVC et je l'ai utilisé les requêtes LINQ to SQL pour obtenir des données de ma base de données SQL Server. Maintenant, pour des raisons de sécurité, j'ai besoin de crypter ma base de données. Comment Linq-to-SQL fonctionne-t-il avec les bases de données chiffrées?SQL Server 2005 cryptage des données et LINQ to SQL

Répondre

4

Utilisez Transparent Database Encryption. Comme son nom l'indique, est transparent et LINQsSQL fonctionne très bien. Si vous utilisez un SKU autre que l'entreprise, vous devrez utiliser les fonctions cryptographiques SQL pour crypter/décrypter les données: ENCRYPTBYKEY et DECRYPTBYKEY. Il n'y a aucune prise en charge pour eux dans les outils client (SqlClient, ODBC, OleDB) ni dans n'importe quel cadre ORM, y compris LINQ. Le processus de cryptage et de décryptage doit se produire sur le serveur et est piloté par des constructions T-SQL, ce qui implique que vous devez effectuer toutes les opérations DML par des procédures stockées. Les opérations de récupération de données peuvent être automatisées d'une manière ou d'une autre en utilisant des vues qui projettent les données décryptées et ces vues peuvent être augmentées par LINQ. En résumé, sans TDE, vous pouvez utiliser IQueryable avec des données renvoyées par des vues et des procédures qui déchiffrent les données, mais vous ne pourrez pas utiliser LINQ comme ORM (par exemple, aucun contexte de données). InsertOnSubmit).

+0

J'étais juste curieux de savoir comment le cryptage de base de données transparent est différent du cryptage de base de données? – Pinu