文件名称:存储加密-the design and analysis of algorithms
文件大小:4.17MB
文件格式:PDF
更新时间:2024-06-29 04:39:05
达梦,DM7
25.7 通信加密 DM提供两种通信加密方式,即不加密、SSL加密。选择是否使用通信加密以服务器端 设置为准,即通过设置服务器端配置文件 dm.ini中 ENABLE_ENCRYPT项来指定,客户端 以服务器采用的通信方式与其进行通信。ENABLE_ENCRYPT 取值 0、1 分别代表不加密、 加密。ENABLE_ENCRYPT的默认值为 0。当选择加密的情况下,需要在服务器所在目录下 的 server_ssl 子目录中存放 CA 的证书、服务器的证书和服务器的密钥,同时在客户端 所在目录下的 client_ssl 子目录中存放 CA 的证书、客户端的证书和客户端的密钥,这 样服务器和客户端的通信即是建立在加密的 SSL连接之上的。 25.8 存储加密 为了防止用户直接通过数据文件获取用户信息,DM 提供了数据加密的功能,包括透明 加密、半透明加密和非透明加密。 在透明加密中,密钥生成、密钥管理和加解密过程由数据库管理系统自动完成,用户不 可见。透明加密的目的主要是保证存储在数据文件中的敏感数据的安全,并不能保护合法用 户的个人私密数据。系统内置了常用的 DES,AES,RC4等算法,以此来保护数据的安全性。 在半透明加密中,可以在创建用户或修改用户时为用户指定存储加密密钥,而用户可以 创建表或修改表时指定对表进行半透明加密。若指定了半透明加密,DM7会使用用户的存储 加密密钥对数据进行加密。 DM7对于非透明加密的支持是通过对用户提供加解密接口实现的。用户在使用非透明加 密时,需要提供密钥并调用加解密接口。采用非透明加密可以保证个人私密数据不被包括 DBA在内的其他人获取。DM7提供的加解密接口见《DM_SQL》附录三的“存储加密函数”。 DM 支持对表上列级加密,支持建表时设置加密列,以及修改表定义时,设置加密列。 存储加密支持所有的列类型,包括大字段类型。 建表时指定对列进行透明加密的语法格式为: CREATE TABLE 表名(列名 1 列类型 ENCRYPT WITH 加密算法 AUTO BY 密钥 HASH WITH 散 列算法 加盐,列名 2); 例如,创建表 t_enc,对 c1列进行透明加密: CREATE TABLE t_enc (c1 INT ENCRYPT WITH DES_ECB AUTO BY DAMENG HASH WITH MD5 SALT, c2 VARCHAR); 上面的语句创建了表 t_enc,其中 c1 列使用加密算法 DES_ECB 进行加密,密钥为 "DAMENG",散列算法为 MD5。表 25.9列出了系统中支持的加密算法和散列算法。