Зашифровать данные столбцов в базе данных postgresql с помощью pgcrypto

У меня есть база данных postgres с некоторыми таблицами, имеющими столбцы, содержащие некоторые конфиденциальные данные, я использовал расширение PGCRYPTO (pgp_pub_encrypt/pgp_pub_decrypt) для шифрования и gpg для создания пар открытого и закрытого ключей.

У меня есть два вопроса:

  • Где я должен хранить эту пару ключей, зная, что я должен использовать тот же сгенерированный закрытый ключ для расшифровки столбца (я пытался поместить его в файл postgresql.conf, и это не работает)

  • Можем ли мы генерировать пары ключей для каждого сеанса, чтобы сделать систему более безопасной?


person gat kipper    schedule 29.09.2020    source источник


Ответы (1)


Открытый ключ можно хранить где угодно. Вы можете сохранить его в базе данных.

Закрытый ключ принадлежит вашему приложению. Он должен храниться на сервере приложений, чтобы приложение могло предоставить его для расшифровки данных в базе данных.

person Laurenz Albe    schedule 29.09.2020
comment
Спасибо за ваш ответ, но мне интересно, как хранить ключи KEK и DEK и как сделать прозрачное решение для шифрования данных, чтобы изменять ключи во времени. - person gat kipper; 29.09.2020