YashanDB加密方法

简介: YashanDB加密方法

存储加密


YashanDB支持表空间级和列级的数据透明加密(TDE,Transparent Data Encryption)。

表空间透明加密在数据库写入表空间存储介质时自动加密,从存储读取至数据库buffer内时解密,加解密过程对应用程序透明,数据库层的访问控制、SQL查询等都不会受任何影响。

  • 支持采用ASE128或SM4加密算法进行表空间数据加密。

  • 在创建表空间时需确定该表空间是否启用加密,创建后不能更改。

  • 对于分区表,YashanDB支持各分区可以任意存储在加密或非加密的表空间,即允许只对表的部分数据进行加密。

  • 在加密表空间里创建的表对象,其索引也必须位于一个加密表空间。

# 列透明加密

列加密在数据经过SQL层时对数据进行透明的加密和解密,用户对加解密过程无感知。插入或更新已加密的列时,会先对目标列值进行截获、加密,然后以密文形式进行保存。查询已加密的列时,会先对目标列值进行解密,然后以明文形式进行结果呈现。

  • 支持采用ASE128或SM4加密算法进行列数据加密。

  • 同一个表中的不同列,加密算法必须统一。

  • 列加密属性一经指定无法修改,且加密列的其他属性也无法修改。

  • 对于LSC表的稳态数据列,如果同时指定了列加密和表空间加密,目标列将采用列加密算法。

备份集加密


为保证备份数据文件的安全性,YashanDB支持在备份时指定加密策略。

  • 用户可依据自身需求选择不同的加密算法,YashanDB支持AES128、AES192、AES256和国密SM4四种加密算法。

  • 备份加密的密钥采用与YashanDB用户口令一致的密码策略,并使用与其相同的密钥保护机制,保证在没有明文密码的情况下不会被破解。

  • 可以对控制文件、数据文件、redo文件和bucket文件执行加密备份。

  • 备份加密可以在YashanDB提供的任一种备份方式里使用。

  • 增量备份的每个备份集需要保证统一都加密或都不加密,且每个备份集的密钥必须保持一致。

  • 解密时采用输入密码的方式进行校验。

PL源码加密


默认情况下,用户创建的各项PL对象源代码作为文本被存储在数据库表中。某些源代码可能涉及企业核心业务逻辑等隐私信息,对其进行加密存储也是企业信息安全的重要一环。

yaswrap是YashanDB提供的专用于对PL源代码进行加密包装的工具。

  • 可以使用yaswrap对指定代码文件进行加密并输出包装后的文件,避免他人通过数据库视图(例如*_SOURCE)查看到PL源码。

  • 可以直接执行yaswrap加密后的密文创建PL对象(数据库表中存储的也是密文),该PL对象后续仍可正常执行,用户对系统的加/解密无感知。

  • 如需重建加密包装后的PL对象,不允许直接在数据库中编辑(直接编辑会导致过程体无法正常执行),需先修改源文本文件再重新使用yaswrap进行加密包装。

网络加密/传输加密


YashanDB对客户端与服务端之间、数据库服务端不同的节点之间的网络通信采用密码协议SSL/TLS等,以保障通信过程中数据的机密性和完整性,同时可对通信双方进行身份认证。

  • SSL协议属于应用层(YashanDB会话)和传输层(TCP)之间的协议,对应用层透明,用户无感知。

  • YashanDB对登录请求采用标准的X509数字证书进行身份认证,该证书可以经过自签名或者由权威机构签名颁发。

  • SSL/TLCP连接默认关闭,在需要通信加密时开启,开启必须同时配置数字证书,否则将导致数据库无法正常启动。

相关文章
|
安全 API 开发工具
oss加密的配置方法
阿里云OSS提供多种加密选项:SSE-OSS(默认或对象级AES-256加密)、SSE-KMS(使用KMS托管CMK)、临时密钥加密和客户端加密(CSE)。可通过控制台或API设置Bucket策略,使用HTTP头部指定加密方式。KMS和临时密钥可能涉及更复杂的密钥管理和权限配置。
1009 5
|
存储 数据挖掘 数据安全/隐私保护
11.Java方法的综合练习题大全-双色球彩票系统,数字的加密和解密等试题(上)
11.Java方法的综合练习题大全-双色球彩票系统,数字的加密和解密等试题
166 1
|
存储 算法 Java
11.Java方法的综合练习题大全-双色球彩票系统,数字的加密和解密等试题(下)
11.Java方法的综合练习题大全-双色球彩票系统,数字的加密和解密等试题(上)
155 1
|
数据安全/隐私保护 Python
Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)
Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)
463 0
|
3月前
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
300 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
3月前
|
SQL 数据安全/隐私保护
【YashanDB 知识库】查看表空间是否加密
【问题分类】功能使用 【关键字】tablespace,ENCRYPTED 【问题描述】如何查看表空间是否加密 【解决/规避方法】 执行下面的 SQL 能够获取到表空间是否加密,返回值 Y 代表已加密,N 代表未加密 SELECT ENCRYPTED FROM DBA_TABLESPACES 【影响范围】所有版本
|
7月前
|
存储 安全 Java
|
7月前
|
算法 安全 数据安全/隐私保护
链接加密的方法有哪些?
【10月更文挑战第6天】链接加密的方法有哪些?
704 10
|
7月前
|
安全 数据安全/隐私保护 开发者
保护敏感数据:使用Python加密数据的实用方法
保护敏感数据是一项基本的安全实践,Python通过上述库提供了强大的加密工具来实现这一目标。选择哪种方法取决于具体的应用场景和安全需求:对称加密(如AES)适合快速处理大量数据,而非对称加密(如RSA)更适合安全地交换密钥或进行身份验证。哈希函数则用于验证数据的完整性和一致性。通过合理使用这些技术,开发者可以大大增强其应用程序的安全性。
177 0
|
9月前
|
C# 图形学 数据安全/隐私保护
Unity数据加密☀️反射的用法:变量、属性、方法、重载,反射在DLL中的使用方法
Unity数据加密☀️反射的用法:变量、属性、方法、重载,反射在DLL中的使用方法