Подтвердить что ты не робот

Стратегии шифрования с помощью Django + Postgres?

Я собираюсь хранить несколько чувствительных фрагментов информации (SSN, банковские счета и т.д.), поэтому они, очевидно, должны быть зашифрованы. Какие стратегии вы рекомендуете?

Должен ли я делать все шифрование/дешифрование в самом веб-приложении? Должен ли я использовать что-то вроде pgcrypto и делать преобразования на стороне БД? Что-то еще полностью?

Кроме того, если вы думаете, что я должен делать шифрование на стороне веб-приложения, какие библиотеки Python вы бы порекомендовали?

4b9b3361

Ответ 1

Чем вы защищаете? Если злоумышленник получит доступ к вашей DB/файловой системе, он найдет, как вы расшифруете данные и ключи. Скрытие вашего ключа регистрации - непростая задача (и редко реализуется в "обычных" приложениях).

Я потратил бы больше времени на защиту сервера и исправление всех общих проблем безопасности.

Ответ 3

Я согласен с тем, что сначала вам необходимо рассмотреть вашу общую модель безопасности и какие угрозы могут быть наиболее рискованными, a la this article:

https://security.stackexchange.com/questions/16939/is-it-generally-a-bad-idea-to-encrypt-database-fields

но также рассмотрим их для зашифрованных полей в Django:

зашифрованные поля: https://github.com/svetlyak40wt/django-fields

более зашифрованные поля:

https://github.com/defrex/django-encrypted-fields, https://github.com/django-extensions/django-extensions