Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用pgcrypto加密postgresql数据库中的列数据_Postgresql_Security_Encryption_Gnupg_Pgcrypto - Fatal编程技术网

使用pgcrypto加密postgresql数据库中的列数据

使用pgcrypto加密postgresql数据库中的列数据,postgresql,security,encryption,gnupg,pgcrypto,Postgresql,Security,Encryption,Gnupg,Pgcrypto,我有一个postgres数据库,其中一些表的列包含一些敏感数据,我使用了PGCRYPTO扩展(pgp_pub_encrypt/pgp_pub_decrypt)来加密,gpg来生成公钥和私钥对 我有两个问题: 我应该在哪里存储这对密钥,因为我知道我应该使用生成的相同私钥来解密列(我尝试将其放入postgresql.conf文件中,但这不起作用) 我们能否为每个会话生成密钥对以使系统更安全 公钥可以存储在任何地方。您可以将其存储在数据库中 私钥属于您的应用程序。它应该存储在应用程序服务器上,以

我有一个postgres数据库,其中一些表的列包含一些敏感数据,我使用了PGCRYPTO扩展(pgp_pub_encrypt/pgp_pub_decrypt)来加密,gpg来生成公钥和私钥对

我有两个问题:

  • 我应该在哪里存储这对密钥,因为我知道我应该使用生成的相同私钥来解密列(我尝试将其放入postgresql.conf文件中,但这不起作用)

  • 我们能否为每个会话生成密钥对以使系统更安全


公钥可以存储在任何地方。您可以将其存储在数据库中


私钥属于您的应用程序。它应该存储在应用程序服务器上,以便应用程序能够提供它来解密数据库中的数据。

感谢您的回答,但我想知道如何存储KEK和DEK密钥,以及如何制作一个透明的数据加密类似解决方案,以便随时间修改密钥