I have been creating an ASP.net web application for my client. This will be hosted in their organisation (this requirement is compulsory). One of their requirements is to secure the data in the database so their internal administrators and DBA's will not be able to see the data should they get onto the server or get hold of a backup of the DB.
I am using Linq-to-SQL and ADO.NET to query the db.
What is considered the best practice in securing the data contained in the database?
One of the options I am considering is adding a encrypt / decrypt layer between the business layer and the data access layer in the application to handle the protection of the data.
I am concerned this approach will degrade the db performance and application performance.
Any ideas or suggestions are welcome.
PS. An option that would be quick and easy to implement would be even better ;-)