Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 数据库管理 » 安全 » 保护数据的安全 » 加密和解密数据库

 

高度加密

对数据库使用高度加密技术后,如果没有密钥(口令),就无法对数据库进行操作和访问。加密算法会对数据库和事务日志文件中包含的信息进行编码,以使信息无法被破译。

小心

对于高度加密的数据库,请务必将密钥的副本保存在安全的位置。如果丢失了加密密钥,就没有办法访问数据,即使有技术支持人员协助也不行。此时必须放弃该数据库并创建一个新的数据库。

支持的高度加密算法

用于实现 SQL Anywhere 高度加密的算法为 AES:它是一种数据块加密算法,美国国家标准与技术协会(National Institute of Standards and Technology,简称 NIST)选择它作为新的数据块编码器高级加密标准(Advanced Encryption Standard,简称 AES)。就性能和大小而言,它具有许多适合于对 SQL Anywhere 数据库进行加密的特性。

也可以使用 AES_FIPS(128 位)或 AES256_FIPS(256 位)类型指定另外一种经 FIPS 认可的 AES 算法来进行高度加密。在以 -fips 选项启动数据库服务器时,可以运行用 AES、AES256、AES_FIPS 或 AES256_FIPS 高度加密方法加密的数据库,但不能运行用简单加密方法加密的数据库。指定 -fips 时,也可以在服务器上启动未加密的数据库。请参见-fips 服务器选项

必须在所有用于运行使用 AES_FIPS 或 AES256_FIPS 加密的数据库的计算机上都安装 SQL Anywhere 安全性组件。

需要单独授予许可的组成部分

ECC 加密和 FIPS 认证的加密需要单独的许可。所有高度加密技术受出口法规约束。

请参见单独授权的组件

注意

并非所有平台上都可以使用 FIPS。有关受支持平台的列表,请参见 [external link] http://www.sybase.com/detail?id=1062623

控制数据库的高度加密设置

在 SQL Anywhere 中,数据库管理员对高度加密的以下四个方面有控制权:高度加密状态、加密密钥、加密密钥的保护和加密算法。

虽然无法直接在现有数据库中启用或禁用高度加密,但是在实现高度加密时有三种方法可供选择。一种方法是从头开始创建采用高度加密的数据库,另一种方法是重建现有数据库并在重建时更改加密状态,还有一种方法是对现有数据库执行 CREATE ENCRYPTED DATABASE 语句。

可以重建数据库以卸载现有数据库的所有数据和模式。这样做会创建一个新数据库(此时可以更改包括高度加密状态在内的各种设置),并将数据重装到新数据库中。需要知道密钥才能卸载高度加密的数据库。

另请参见