Я работаю над приложением .NET Winforms (VB.NET, .NET Framework 4.5), которое хранит данные в базе данных SQL Server Express 2016; ОБА части работают на той же машине.
Некоторые столбцы в базе данных содержат данные, которые являются конфиденциальными и не должны быть доступны в незашифрованном виде для пользователя. Итак, я начал искать эффективный способ сделать это. После некоторого прочтения я увидел, что «новая» функция Always Encrypted на SQL Server - это достаточно эффективный «готовый» способ реализации этого, но с одним уловом ... SQL-сервер и клиентское приложение НЕ ДОЛЖНЫ быть на том же компьютере, так как сертификат хранится в локальном хранилище сертификатов Windows.
Мой вопрос: есть ли способ сделать это, не переходя на решение Azure? Приложение должно работать, даже если компьютер не подключен к сети.
Любые предложения приветствуются. Однако очень важно, чтобы шифрование было как можно более «легким», с точки зрения ресурсов. Спасибо всем заранее. Извините, если мой английский не так хорош.
P.S. Я протестировал эту настройку просто для уверенности и да, вы можете расшифровать данные через SSMS, когда и SQL Server, и клиентское приложение (с сертификатом) находятся на одном компьютере.
Обновление: проверьте ответ Андрея. Большое спасибо всем за помощь.