В целях защиты конфиденциальных данных веб-приложения возникает вопрос: лучше ли шифровать на уровне приложения с помощью jasypt (для Java) и сохранять зашифрованные данные в базе данных или использовать механизмы шифрования (например) MSSQL 2012?Где должно происходить шифрование - на уровне приложения или базы данных?
Под аспектом
- безопасности относится
- Performance относится
Что считается лучшей практикой здесь?
EDIT:
Чтобы дать немного более подробную информацию о типе приложения: Это веб-портал, где пользователи загружают senstive данных на портал, где эти данные оцениваемого владельцем портала. Он будет использоваться на сайте-заказчике, поэтому мы имеем ограниченный контроль, который имеет доступ к серверам и ограниченный контроль сервера приложений,
Вы думаете, что это не должно зависеть от типа приложения?Я имею в виду, что если данные, которые должны быть отправлены, более чувствительны, то они должны быть зашифрованы, а также в базе данных. например, некоторые сверхсекретные военные данные. –
Да, и это именно то, что я указал в целом. Даже если мы рассмотрим простую передачу данных через нашу сеть, он зашифрован на уровне представления, который приходит сразу после прикладного уровня в семислойной модели OSI. Таким образом, вы правы, он специфичен для требований к дизайну и архитектуре пользователей. –