Я пишу веб-приложение .NET, которое будет читать и записывать информацию в базу данных SQL Server 2008. Часть этой информации будет носить конфиденциальный характер, поэтому я хочу зашифровать определенные элементы данных.
Я не хочу использовать TDE или любое полное шифрование базы данных по соображениям производительности. Моя главная задача - защитить эти конфиденциальные данные в качестве крайней меры от внедрения SQL-кода или даже взлома сервера базы данных.
Каков наилучший способ сделать это, чтобы сохранить производительность? Быстрее ли использовать функции шифрования SQL Server 2008, такие как EncryptByKey
, или будет быстрее шифровать и дешифровать данные в самом веб-приложении .NET? Приложение будет использовать симметричный ключ, хранящийся в защищенном web.config, и хранить зашифрованные значения в БД.