写点什么

YashanDB 加密方法

作者:YashanDB
  • 2025-02-24
    广东
  • 本文字数:1355 字

    阅读完需:约 4 分钟

本文内容来自 YashanDB 官网,原文内容请见 https://doc.yashandb.com/yashandb/23.3/zh/%E6%A6%82%E5%BF%B5%E6%89%8B%E5%86%8C/%E5%AE%89%E5%85%A8%E7%AE%A1%E7%90%86/%E5%8A%A0%E5%AF%86.html

存储加密



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 连接默认关闭,在需要通信加密时开启,开启必须同时配置数字证书,否则将导致数据库无法正常启动。

发布于: 刚刚阅读数: 2
用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB加密方法_数据库_YashanDB_InfoQ写作社区