最近一段时间,一直在和PostgreSQL社区合作开发TDE(Transparent data encryption,透明数据加密)。研究了一些密码学相关的知识,并利用这些知识和数据库相结合。...数据库当前面临的威胁模型 加密策略描述,当前PostgreSQL社区目前的设计状态以及其他数据库TDE方案对比 未来的数据安全畅想 那什么是透明数据加密?...透明数据加密,从字面上来说,可以分为三部分,数据,加密,透明。 数据,这里不用过多解释,用户需要保护的明文数据。...加密,相信大家也清楚,信息安全一直伴随着世界的发展,加密是信息安全的一种重要手段,常用加密方法目前可以分为流密码加密、分组加密以及公钥加密3种。 透明,指的是用户无感知,这是对加密行为的描述。...DB2 加密等级:Database-level 加密算法:AES,3DES 密钥管理:主密钥和数据加密密钥 MySQL 加密等级:Tablespace-level,Column-level 加密算法
PostgreSQL透明数据加密 Cybertec为PG提供了一个透明数据加密(TDE)的补丁。是目前唯一支持透明加密数据(集群)级的实现,独立于操作系统或文件系统加密。...透明数据加密如何工作 补丁背后的思想是:以加密格式(静态加密)安全存储组成PG集群的所有文件到磁盘上,从磁盘读取时解密数据块。数据在内存中未加密。...只需要数据库初始化时加密,启动时服务器可以访问初始化数据库使用的密钥。通过一个指定的配置参数提供加密密钥,该参数指定一个自定义密钥设置命令来实现特殊的安全要求。...任何有兴趣使用次功能的人都应该考虑以下特征: 1)从应用程序的角度来看,加密是透明的。 2)使用单一密钥对整个集群进行加密 细节 由于数据存储在磁盘上,我们的方法自然基于“磁盘加密理论”。...我们可以看到,系统在现代服务器上每秒加密和解码千兆字节的数据。给定一个典型的工作负载,TDE对性能的影响基本上是无关紧要的。 加密整个数据库生态系统 安全不是一个孤立的问题。
PolarDB for PostgreSQL透明加密 简介 透明加密TDE(Transparent Data Encryption)通过在数据库层执行静止数据加密,阻止可能的攻击者绕过数据库直接从存储读取敏感信息...经过数据库身份认证的应用和用户可以继续透明地访问数据,而尝试读取数据库文件中敏感数据的操作系统用户或者未经认证的用户将不允许访问数据。...PolarDB for PG透明加密使用方法 1)编译代码时需要指定--with-openssl 2)initdb初始化集群时需要指定密码短语和加密算法。...2、加密算法的选用 加密算法: 加密算法的选用: 加密模式使用CTR(技术器模式),因为CTR加密可以保证明文和密文长度相等。这是由数据块的大小决定的,内存和磁盘上块大小默认是8KB。...3)共享数据:包含数据库名和用户名,一般敏感程度不高,可以选择不加密。 4)逻辑复制数据:只有打开逻辑复制才需要进行加密。当前版本为了逻辑复制的目的端的兼容性,暂时不加密。
目前PostgreSQL官方并未推出透明加密功能,但是cybertec开源了一个分支,支持透明加密。...https://www.cybertec-postgresql.com/en/products/postgresql-transparent-data-encryption/ 它支持对数据和WAL进行透明加密...本文主要介绍WAL的透明加密功能及原理。...WAL透明加密架构 WAL加密主要由一个缓冲来完成,该缓冲未encrypt_buf_xlog,该缓冲大小是8个页大小,在启动时创建,由函数setup_encryption完成,其堆栈如下: PostgresMain...加密到加密缓冲encrypt_buf_xlog中,然后将加密缓冲中的WAL刷写磁盘。
加密内容最终由应用程序来控制,并且可以精确的反映用户的需求。但是,编写应用程序来实现加密一般都比较困难,而且有些应用程序可能不支持加密。 2.数据库层加密,类似于应用程序加密。...大多数数据库厂商都提供某种形式的加密,但是可能会有性能问题,另外比如说索引没办法加密。 3.文件系统层加密,这种方式对性能影响不大,而且对应用程序是透明的,一般也比较容易实施。...比如,多租户应用程序可能需要对最终用户进行加密,数据库可能需要对单个文件里的每个列进行不同的加密设置。 4.磁盘层加密,易于部署和高性能,但是相当不灵活,只能防止用户从物理层面盗窃数据。...HDFS的透明加密属于数据库层和文件系统层的加密。它有很多好处,比如不错的性能,对于现有的应用程序是透明的。在制定策略时,HDFS也比传统的文件系统有更多的选择。...,一般保存在后端的秘钥存储库中,比如数据库。
在启用它时,我们首先创建一个主密钥,然后创建一个证书,再创建一个数据库加密密钥,最后我们在数据库上启用透明数据加密,而我们在这里是按照相反的顺序进行的。...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 数据透明加密功能
针对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
SQL Server 2005 引入了在自身的数据库引擎中加密的功能。通过使用被数据库所管理的内部证书或密钥结构,这能够被用于加密和解密任意的数据。而不需要借助外部的证书或密钥来执行。...具体参见http://www.microsoft.com/china/technet/prodtechnol/sql/2005/sql2005cls.mspx SQL Server 2008中的透明数据加密...它旨在为整个数据库提供静态保护而不影响现有的应用程序。对数据库进行加密,传统上都会涉及复杂的应用程序改动,例如修改表schemas、删除函数和明显的性能下降。...透明数据加密可以为加密数据提供更高的灵活性,因为对其而言加密是数据库的一个属性,而非仅仅是代码行中的函数结果。这样在数据级执行加密时,管理员就无需对其数据库结构和应用程序代码进行大量的改动。...下面的代码显示的是如何使用透明数据加密方法来加密数据库。
01透明数据加密(TDE)简介 透明数据加密(Transparent Data Encryption (简称TDE))是指可以在文件层对数据和文件进行实时加密和解密,落盘的文件是加密后的内容,而对于上层应用系统和开发人员而言...,加解密过程是无感知的,写入和读取的内容是明文内容,所以叫做透明数据加密。...3.2基于软件实现的TDE配置 3.2.1 创建对称密钥 长安链的透明数据加密默认支持AES和国密SM4两种对称加密算法。...如果想对SQL数据库进行落盘加密,建议使用支持TDE功能的数据库并启用对应数据库自身提供的TDE服务。...05总结 长安链2.1版的新特性透明数据加密(TDE)是一种数据库领域常见的数据保护防泄漏方案,该方案可以在用户无感知的情况下实现数据落盘加密,在保护了磁盘上数据的防止被非法查看的情况下,该特性对于用户和上层应用友好
准备环境: 数据库服务器一台,备份服务器一台。 我们将在备份服务器上创建密钥,然后将公钥导出并在数据库服务器上导入。...数据库服务器运行定时备份脚本,加密备份文件,同时每日将加密后的备份文件同步到本地。 备份内容只能在备份服务器上解密和查看 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
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
2.png 产品简介 中安威士数据库透明加密系统(简称VS-EC),基于加密算法和合理的密钥管理,有选择性地加密敏感字段内容,保护数据库内敏感数据的安全。...本加密系统具有卓越的安全性和处理能力,并能在不修改原有应用程序的情况下透明的接入系统中。 产品功能 · 敏感字段加密 用户可以根据实际需求有选择性地对敏感字段进行加密。...,最大限度降低对性能的影响 · 精确查询、模糊查询、范围查询能够获得和未加密相近的性能 高可靠性 · 对数据库零侵入,完全基于数据库自身的机制实现透明加密和解密,实现密文索引 · 高可靠的工控设备,支持双机热备...支持的字段类型 Oracle:CHAR、VARCHAR、VARCHAR2、NUMBER、DATE、TIMESTAMP MySQL:CHAR、VARCHAR、FLOAT、DOUBLE、REAL、DATE...、TIME、DATATIME、TIMESTAMP、YEAR、TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、DECIMAL 典型部署 数据库加密系统部署简单,与被加密的目标数据库服务器路由可达即可
使用 sqlcipher.exe 可以在输入密码后,查看加密数据库的内容。 但是要编码查询数据库的内容,还要另寻方法。...(相关的工具和库在我的百度网盘中) 使用sqlcipher windows 命令工具 注意 使用的工具也分版本,要与加密数据库的版本对应起来,否则查看不到表 下载地址: 对应2.x http://download.csdn.net...创建加密数据库 $ sqlcipher encrypted.db SQLCipher version 3.8.4.3 2014-04-03 16:53:12 Enter “.help” for instructions...打开加密数据库 $ sqlcipher encrypted.db SQLCipher version 3.8.4.3 2014-04-03 16:53:12 Enter “.help” for instructions...加密已有的数据库 $ sqlcipher banklist.sqlite3 SQLCipher version 3.8.4.3 2014-04-03 16:53:12 Enter “.help” for
二、数据库加密原理 目前主流的数据库都采用了各种安全措施,主要包括用户认证、访问控制、数据加密存储和数据库操作审计等措施。...对数据库中的数据进行加密是防范这类威胁的有效手段。...三、解决方案* 1.将数据加密后再写入数据库: 我们可以对数据的数据库名,表名,列名就行md5,对存储的数据进行加密,例如进行aes加密(Android数据加密之Aes加密),查询的时候再对数据进行解密...这种方式并不是彻底的加密,因为数据库的表结构等信息还是能被查看到。另外写入数据库的内容加密后,搜索也是个问题。 2....对数据库文件加密 将整个数据库整个文件加密,这种方式基本上能解决数据库的信息安全问题。目前已有的SQLite加密基本都是通过这种方式实现的。
从 MySQL5.7.11开始,MySQL对InnoDB支持存储在单独表空间中的表的数据加密 。此功能为物理表空间数据文件提供静态加密。...1 配置加密插件 1.1 修改配置文件 在mysql配置文件【mysqld】x项中添加如下内容 plugin_dir=/usr/local/mysql5.7/lib/mysql/plugin ...2 测试加密表空间 2.1 创建加密的新表 创建一张新表,并添加ENCRYPTION='Y' ,加密表空间 mysql> create table test1( id int primary key...重启数据库后,会发现,又自动生成了keyring文件 ?...那么再将原keyring还原,然后再重启数据库,会发现又能成功了 mysql> select * from test1; +----+---------+ | id | name | +----
摘要:MySQL 8.2引入了透明读/写分离功能,MySQL 路由器可以自动将只读SQL路由到集群的只读节点。...关于号主,姚远: Oracle ACE(Oracle和MySQL数据库方向) 华为云最有价值专家 《MySQL 8.0运维与优化》的作者 拥有 Oracle 10g、12c和19c OCM等数十项数据库认证...曾任IBM公司数据库部门经理 20+年DBA经验,服务2万+客户 精通C和Java,发明两项计算机专利 这里号主翻译了知名MySQL布道师Frédéric Descamps撰写的关于MySQL 8.2...透明读/写分离性能的测试和分析。...MySQL中的读/写分离!! 在之前的文章中,我们已经了解了MySQL 8.2的透明读/写拆分是什么,以及如何与MySQL Connector/Python一起使用。
数据加密 数据库中有很多敏感字段,不允许随意查看,例如开发人员,运维人员,甚至DBA数据库管理员。...另外加密主要是防止被黑客脱库(盗走) 敏感数据加密有很多办法,可以用数据库内部加密函数,也可以在外部处理后写入数据库。...加密算法有很多种,但通常两类比较常用,一种是通过key加密解密,另一种是通过证书加密解密。...AES_ENCRYPT / AES_DECRYPT 这里介绍AES加密与解密简单用法 mysql> select AES_ENCRYPT('helloworld','key'); +-------...-+ | | +---------------------------------+ 1 row in set (0.00 sec) mysql
为了避免上述问题的产生,最好对数据库的密码进行加密操作,即使生产环境配置文件源码遭到泄露,也不会造成数据库数据的泄露。 2. 如何加密?...要想快速实现数据库的加密,最简单可行的方案就是使用阿里巴巴提供的Druid来实现加密。 Druid(中文译为“德鲁伊”)是阿里巴巴开源的一款 Java 语言中最好的数据库连接池。...Druid 提供了强大的监控和扩展功能,当然也包含了数据库的加密功能。 Druid 开源地址:跳转链接 3....添加加密配置 把生成的公钥和密文添加到项目的配置文件中 spring: # MySQL 配置 datasource: driver-class-name: com.mysql.cj.jdbc.Driver...项目在运行时会通过拦截器将密文转换成真正的密码,从而实现了 MySQL 密码的加密和解码的过程。
领取专属 10元无门槛券
手把手带您无忧上云