jxq
作者jxq·2018-03-22 09:31
其它·gbase

GBase 8t 安全特性之列级加密(一)概述

字数 999阅读 1889评论 0赞 2

(一)概述

所谓加密,就是使用密钥将数据从可理解的形式转换为不可理解的形式,并对于那些知道该密钥的人保持数据仍可理解的机制。加密机制确保数据的机密性。只有知道密钥的用户才能解密并读取已加密的数据。

GBase 8t 支持列级加密,用于加密特定表中的特定列。在插入或更新数据时,用户必须说出加密算法逻辑和口令。GBase 8t 使用指定的加密算法逻辑来加密数据,并将其存储在指定的列中。只有在提供正确的口令之后,用户才能解密并读取数据。

出于安全考虑,GBase 8t 不在任何表中以明文格式存储加密口令。因此,加密口令是无法检索的。为了规避这一点,GBase 8t 提供一个 HINT 选项,以明文格式存储该口令的提示,帮助用户回忆起口令。

GBase 8t 提供不同的内建函数,在列中以加密了的形式来存储数据。要做到这一点,不是由 GBase 8t 来设置任何列属性,而是由用户来决定。在同一列中,用户也可以存储未加密的数据。

在加密数据时,需要提供加密口令。既可以使用 SET ENCRYPTION PASSWORD 语句来设置全局口令,也可以在加密函数中提及口令。口令必须多于 6 个字符,且少于 128 个字符。

对于字符数据类型和二进制数据类型,GBase 8t 提供不同的内建函数来解密数据。

GBase 8t 支持对下列数据类型进行加密:

  • CHAR、VARCHAR、NCHAR、NVARCHAR、LVARCHAR
  • SMALLINT、INTEGER、INT8、DECIMAL、SMALLFLOAT、FLOAT
  • DATE、DATETIME、INTERVAL、BOOLEAN
  • BLOB、CLOB
  • 上述类型名称的各种同义词

由于加密了的字符串长度会因列原始值的不同而不同,因此,可以在带有下列数据类型的列中存储加密了的数据:

  • CHAR
  • NCHAR
  • VARCHAR
  • NVARCHAR
  • LVARCHAR
  • BLOB
  • CLOB

这种机制不能保护网络上的数据。在网络上传输的数据是未加密的形式。为了加密这些数据,应该配置服务器和客户机,以使用 ENCCCSM 通讯支持模块(CSM)。

GBase 8t 通过单独的虚拟处理器(VP)来处理列级加密。如果未设置 VPCLASS 配置参数的 encrypt 选项,则当向服务器发送加密列的首次请求时,该 encrypt VP 启动。可以使用 onmode 实用程序来添加或移除 encrypt VP。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广