PostgreSQL透明数据加密 Cybertec为PG提供了一个透明数据加密(TDE)的补丁。是目前唯一支持透明加密数据(集群)级的实现,独立于操作系统或文件系统加密。...透明数据加密如何工作 补丁背后的思想是:以加密格式(静态加密)安全存储组成PG集群的所有文件到磁盘上,从磁盘读取时解密数据块。数据在内存中未加密。...只需要数据库初始化时加密,启动时服务器可以访问初始化数据库使用的密钥。通过一个指定的配置参数提供加密密钥,该参数指定一个自定义密钥设置命令来实现特殊的安全要求。...任何有兴趣使用次功能的人都应该考虑以下特征: 1)从应用程序的角度来看,加密是透明的。 2)使用单一密钥对整个集群进行加密 细节 由于数据存储在磁盘上,我们的方法自然基于“磁盘加密理论”。...我们可以看到,系统在现代服务器上每秒加密和解码千兆字节的数据。给定一个典型的工作负载,TDE对性能的影响基本上是无关紧要的。 加密整个数据库生态系统 安全不是一个孤立的问题。
最近一段时间,一直在和PostgreSQL社区合作开发TDE(Transparent data encryption,透明数据加密)。研究了一些密码学相关的知识,并利用这些知识和数据库相结合。...数据库当前面临的威胁模型 加密策略描述,当前PostgreSQL社区目前的设计状态以及其他数据库TDE方案对比 未来的数据安全畅想 那什么是透明数据加密?...透明数据加密,从字面上来说,可以分为三部分,数据,加密,透明。 数据,这里不用过多解释,用户需要保护的明文数据。...加密,相信大家也清楚,信息安全一直伴随着世界的发展,加密是信息安全的一种重要手段,常用加密方法目前可以分为流密码加密、分组加密以及公钥加密3种。 透明,指的是用户无感知,这是对加密行为的描述。...DB2 加密等级:Database-level 加密算法:AES,3DES 密钥管理:主密钥和数据加密密钥 MySQL 加密等级:Tablespace-level,Column-level 加密算法
PolarDB for PostgreSQL透明加密 简介 透明加密TDE(Transparent Data Encryption)通过在数据库层执行静止数据加密,阻止可能的攻击者绕过数据库直接从存储读取敏感信息...经过数据库身份认证的应用和用户可以继续透明地访问数据,而尝试读取数据库文件中敏感数据的操作系统用户或者未经认证的用户将不允许访问数据。...PolarDB for PG透明加密使用方法 1)编译代码时需要指定--with-openssl 2)initdb初始化集群时需要指定密码短语和加密算法。...3、需要加密的数据 其中,上表加粗处理的文件中含有用户数据,可以分为以下六类: 1)表数据:直接含有用户的敏感数据,必须加密。 2)临时文件:只是周期性临时存在,可以选择不加密。...3)共享数据:包含数据库名和用户名,一般敏感程度不高,可以选择不加密。 4)逻辑复制数据:只有打开逻辑复制才需要进行加密。当前版本为了逻辑复制的目的端的兼容性,暂时不加密。
01透明数据加密(TDE)简介 透明数据加密(Transparent Data Encryption (简称TDE))是指可以在文件层对数据和文件进行实时加密和解密,落盘的文件是加密后的内容,而对于上层应用系统和开发人员而言...,加解密过程是无感知的,写入和读取的内容是明文内容,所以叫做透明数据加密。...以使用密码机进行透明数据加密的为例,长安链的存储模块在收到存储Key-Value键值对的请求时,先将Value内容以二进制形式发送到密码机,密码机使用内置的密钥对收到的数据进行对称加密,并将密文返回给长安链存储模块...3.2基于软件实现的TDE配置 3.2.1 创建对称密钥 长安链的透明数据加密默认支持AES和国密SM4两种对称加密算法。...05总结 长安链2.1版的新特性透明数据加密(TDE)是一种数据库领域常见的数据保护防泄漏方案,该方案可以在用户无感知的情况下实现数据落盘加密,在保护了磁盘上数据的防止被非法查看的情况下,该特性对于用户和上层应用友好
目前PostgreSQL官方并未推出透明加密功能,但是cybertec开源了一个分支,支持透明加密。...WAL进行透明加密。...本文主要介绍WAL的透明加密功能及原理。...WAL透明加密架构 WAL加密主要由一个缓冲来完成,该缓冲未encrypt_buf_xlog,该缓冲大小是8个页大小,在启动时创建,由函数setup_encryption完成,其堆栈如下: PostgresMain...WAL数据加密到该缓冲中,然后刷写到磁盘。
HDFS的透明加密支持两种方式的加密:静态(at-rest)数据加密,比如持久化保存在磁盘上的数据,传输(in-transit)数据加密,比如通过网络传输的数据。...大多数数据库厂商都提供某种形式的加密,但是可能会有性能问题,另外比如说索引没办法加密。 3.文件系统层加密,这种方式对性能影响不大,而且对应用程序是透明的,一般也比较容易实施。...HDFS的透明加密属于数据库层和文件系统层的加密。它有很多好处,比如不错的性能,对于现有的应用程序是透明的。在制定策略时,HDFS也比传统的文件系统有更多的选择。...在HDFS透明加密的场景中,EEK是加密数据加密秘钥的秘钥(EDEK),数据加密秘钥用来(DEK)用来加密和解密文件数据。通常,秘钥存储库会配置为只允许最终用户访问用户加密DEK的秘钥。...后面Fayson会通过实操来说明如何实现HDFS数据透明加密。
SQL Server 2005 引入了在自身的数据库引擎中加密的功能。通过使用被数据库所管理的内部证书或密钥结构,这能够被用于加密和解密任意的数据。而不需要借助外部的证书或密钥来执行。...给予SQL Server 2005 这种加密机制的支持,有以下几种方法。 1. 为每个特定的在数据库中被用于标记数据的表建立一个对称密钥。 2. 通过相应的密钥在标签单元中加密数据。 3....具体参见http://www.microsoft.com/china/technet/prodtechnol/sql/2005/sql2005cls.mspx SQL Server 2008中的透明数据加密...透明数据加密可以为加密数据提供更高的灵活性,因为对其而言加密是数据库的一个属性,而非仅仅是代码行中的函数结果。这样在数据级执行加密时,管理员就无需对其数据库结构和应用程序代码进行大量的改动。...下面的代码显示的是如何使用透明数据加密方法来加密数据库。
在启用它时,我们首先创建一个主密钥,然后创建一个证书,再创建一个数据库加密密钥,最后我们在数据库上启用透明数据加密,而我们在这里是按照相反的顺序进行的。...2、tempdb显示仍然是加密状态的这意味着透明数据加密并没有被完全删除,其相关的数据库加密密钥仍然存在。...我已经重新启动了SQL Server实例,然后再次检查了透明数据加密状态。如下图,可以看到数据库都处于未加密状态了。...这意味着透明数据加密已经从这个用户数据库中完全删除,但它的一些相关文件仍然存在于主数据库中,也就是主密钥及其证书。...,通过这一步,你就完成了透明数据加密的删除过程。
1.文档编写目的 ---- 在前面文章Fayson介绍过《什么是HDFS透明加密》,要实现HDFS的透明加密,首先你需要一个KMS,KMS可以用CDH自带的Java KeyStore KMS也可以使用企业版工具...本文主要介绍如何通过Cloudera Manager安装Java KeyStore KMS服务,并且实现HDFS的透明加密。...“继续” [t77gfh6x9g.jpeg] [p90dpp1016.jpeg] 输入秘钥管理员用户和用户组,注意hdfs超级用户已经被禁止设置为秘钥管理员,具体可以参考Fayson在《什么是HDFS透明加密...[zqn5qbuazs.jpeg] 4.总结 ---- 1.通过HDFS的透明加密可以实现HDFS底层文件的加密,如本文前面所述,对于非加密区域/user1下的文件a.tx可以直接通过block ID查找到该...具体可以参考Fayson前面的文章《什么是HDFS透明加密》。
环境 版本:OceanBase 4.1.0.0 企业版 1加密配置 详细的 加密步骤[1] 略过,本次使用 MySQL 租户。 开启透明加密并创建表空间 管理员用户登录到集群的 MySQL 租户。...# 开启 internal 方式的透明加密 # tde_method 默认值为 none,表示关闭透明表空间加密 obclient [oceanbase]> ALTER SYSTEM SET tde_method...普通用户登录到数据库的 MySQL 租户,创建新表 t1。...普通用户登录到数据库的 MySQL 租户,创建不指定加密空间的新表 ttttttt2。...-------------------------------- …… 3小结 本文主要是使用 ob_admin 工具的 dumpsst 功能解析 block_file,验证了 OceanBase 数据透明加密功能
导读上一章我们讲了mysql压缩原理(含lz4压缩格式)并解析, 细心的同学应该发现旁边就是加密的相关代码. 那本章就来讲讲mysql加密和解析....解析加密后的数据文件既然tablespace_key已经获取到了, 那就该解析数据了. 加密的格式和压缩页的格式是一样的. 那就只需要把解压换成解密就行了(就换一个汉字)....而且数据全是加密的....ibd文件 (作者又没加encrypt属性...)看起来我们是解析成功的了.总结mysql的加密数据是使用keyring来实rotate的....如果加密文件丢了/损坏/替换了, 数据就恢复不了了. 加密主要是使用aes算法.(ecb模式和cbc模式都用了).
大数据时代的到来,数据成为企业最重要的资产之一,数据加密的也是保护数据资产的重要手段。本文主要在结合学习通过MySQL函数及Python加密方法来演示数据加密的一些简单方式。...加密函数的方式 2.1 MySQL加密 将明文表中的数据插入到f_user_m中,同时对pwd密码字段进行加密存储,注意要记住加密的字符串,因为解密的时候要用到这个值。...2.2 MYSQL解密 对于加密后的数据可以使用MySQL的解密函数AES_DECRYPT进行解密查看明文 mysql> select name,tel,AES_DECRYPT(pwd,'MySQL...: /* 加密后的数据如下 */ mysql> select * from f_user_p; +----+--------+-------------+---------------+ | id...上面通过三种方式进行数据的加密、解密,个人推荐第三种方式,即从应用层自定义加密。 本文的演示只在于学习MYSQL函数及Python的2个方法,实际工作中可能要用加密、混淆等脱敏方法来保障数据安全。
Mysql加密解密 https://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html#function_aes-encrypt 函数定义...AES_ENCRYPT(str,key) 返回用密钥key对字符串str利用高级加密标准算法加密后的结果,调用AES_ENCRYPT的结果是一个二进制字符串,使用 VARBINARY or BLOB...存储 AES_DECRYPT(str,key) 返回用密钥key对字符串str利用高级加密标准算法解密后的结果 常用法 mysql> SELECT HEX(AES_ENCRYPT('test','key...-----------------------+ | 9E9CE44CD9DF2B201F51947E03BCCBE2 | +----------------------------------+ mysql...---------------+ | npzkTNnfKyAfUZR+A7zL4g== | +--------------------------------------+ mysql
准备环境: 数据库服务器一台,备份服务器一台。 我们将在备份服务器上创建密钥,然后将公钥导出并在数据库服务器上导入。...数据库服务器运行定时备份脚本,加密备份文件,同时每日将加密后的备份文件同步到本地。 备份内容只能在备份服务器上解密和查看 6.10.1. 创建密钥对 过程 6.1....数据库备份 在 /etc/cron.daily/ 目录下创建 mysql 脚本,然后赋予执行权限 root@production:~# cat /etc/cron.daily/mysql #!...数据库还原 定时同步 [root@netkiller ~]# cat /etc/cron.daily/mysql rsync -auzv www@db.netkiller.cn:/opt/database.../mysql /opt/backup/database/ 解密数据库备份文件 [root@netkiller ~]# gpg netkiller.2021-8-28.sql.gpg --output
KDF MySQL具有SQL级别的加密功能,社区版的MySQL提供了AES_DECRYPT(),AES_ENCRYPT()函数用于数据的加密和解密,函数使用AES(Advanced Encryption...派生密钥用于加密和解密数据,它保留在MySQL 服务器实例中,用户无法访问。KDF提供了更好的安全性,比在使用函数时指定自己的预生成密钥或通过简单的方法派生的密钥更好。...通过这些函数,企业应用可以进行如下操作: 使用公钥非对称加密实施额外的数据保护 创建公钥和私钥以及数字签名 执行非对称加密和解密 使用加密散列进行数字签名以及数据验证和确认 在 MySQL 8.0.30...下面举例介绍企业版加密的部分功能,示例的内容包括: 创建私钥/公钥对 使用私钥加密数据,使用公钥解密 从字符串生成摘要 将摘要与密钥对一起使用 创建私钥/公钥对: -- 设置加密算法 MySQL localhost...localhost:3350 ssl SQL > SELECT @priv; 使用公钥加密数据,使用私钥解密: --加密数据 MySQL localhost:3350 ssl SQL >
针对Oracle数据库不同实例之间的数据访问,我们可以直接通过dblink访问,如果oracle数据库想访问MySQL/sqlserver等数据库的数据,我们可以通过配置oracle透明网关实现异构数据库...好久没做透明网关的配置了,最近有业务需求,这里将部署过程做个记录,希望对有需要的朋友有所帮助。...一、Oracle数据库通过透明网关访问MySQL数据库环境说明 RHEL6.6 oracle 11.2.0.4 RHEL6.6 MySQL5.7 odbc 二、数据访问流程 oracle——dg4odbc...——odbc——mysql 三、Oracle透明网关(MySQL)安装 oracle 11.2.0.4默认安装了odbc透明网关 验证: [oracle@test ~]$ cd $ORACLE_HOME...(1)hs透明网关配置 [oracle@test ~]$ cd $ORACLE_HOME/hs [oracle@test hs]$ cd admin [oracle@test admin]$ vi initmysql_test.ora
数据加密 数据库中有很多敏感字段,不允许随意查看,例如开发人员,运维人员,甚至DBA数据库管理员。...另外加密主要是防止被黑客脱库(盗走) 敏感数据加密有很多办法,可以用数据库内部加密函数,也可以在外部处理后写入数据库。...加密算法有很多种,但通常两类比较常用,一种是通过key加密解密,另一种是通过证书加密解密。...AES_ENCRYPT / AES_DECRYPT 这里介绍AES加密与解密简单用法 mysql> select AES_ENCRYPT('helloworld','key'); +-------...加密字段 加密数据入库 CREATE TABLE `encryption` ( `mobile` VARBINARY(16) NOT NULL, `key` VARCHAR(32) NOT NULL
大数据时代的到来,数据成为企业最重要的资产之一,数据加密的也是保护数据资产的重要手段。本文主要在结合学习通过MySQL函数及Python加密方法来演示数据加密的一些简单方式。...加密函数的方式 2.1 MySQL加密 将明文表中的数据插入到f_user_m中,同时对pwd密码字段进行加密存储,注意要记住加密的字符串,因为解密的时候要用到这个值。...2.2 MYSQL解密 对于加密后的数据可以使用MySQL的解密函数AES_DECRYPT进行解密查看明文 mysql> select name,tel,AES_DECRYPT(pwd,'MySQL...: /* 加密后的数据如下 */ mysql> select * from f_user_p; +----+--------+-------------+---------------+ | id |...上面通过三种方式进行数据的加密、解密,个人推荐第三种方式,即从应用层自定义加密。 本文的演示只在于学习MYSQL函数及Python的2个方法,实际工作中可能要用加密、混淆等脱敏方法来保障数据安全。
MySQL支持静态数据加密。静态数据加密的目的是为了防止保存在磁盘上的文件被非法盗用,使用该功能可以确保数据库的表空间,日志等文件即使是被盗用,也无法读取里面的敏感数据。...静态数据加密功能依靠MySQL的keyring plugin(暂且叫做钥匙环插件吧,密钥全部保存在钥匙环里,挺形象的)实现。...目前,MySQL提供如下插件: keyring_file:社区版提供,将钥匙环数据保存在本地的文件。 keyring_encrypted_file:企业版提供,将钥匙环数据保存在本地的加密文件。...MySQL企业透明数据加密(TDE)”。...以上内容是对MySQL静态数据加密做的一个简介,希望能够帮到有需要的朋友。
领取专属 10元无门槛券
手把手带您无忧上云