作为数据库管理员,您可以对数据库进行加密,使别人更难以破译数据库中的数据。可以使用简单加密或高度加密来保护您的数据库。
| 注意 压缩加密的数据库将从数据库中解除加密。 |
简单加密等效于模糊处理,并可使人使用磁盘实用程序难以查看文件以破译数据库中数据。简单加密并不要求用一个密钥来对数据库进行加密。SQL Anywhere Studio 的早期版本支持简单加密技术。
使用简单加密
使用 dbinit -e 选项创建一个数据库。
下面的示例使用简单加密创建数据库 test.db:
dbinit -p 4096 -e test.db
有关详细信息,请参见使用 dbinit 命令行实用程序创建数据库。
对数据库采用高度加密技术后,若没有密钥(口令),就无法对数据库进行操作和访问。算法对包含在数据库和事务日志文件中的信息进行加密,这样信息就不会被破译。
| 注意 保护您的密钥!请务必将密钥的副本保存在一个安全的位置。丢失了密钥将导致数据库完全无法访问,而无法访问的数据库是无法进行恢复的。 |
用于进行 Adaptive Server Anywhere 高度加密的算法是 AES:它是数据块加密算法,被美国 [国家标准与技术协会](NIST) 选作数据块口令的新的 [高级加密标准](AES)。
在任何支持的 32 位 Windows 平台上,也可使用 AES_FIPS 类型为高度加密指定一种经 FIPS 认可的 AES 算法。当数据库服务器以 -fips 选项启动时,您可以运行用 AES 或 AES_FIPS 高度加密方法加密的数据库,但不能运行用简单加密方法加密的数据库。当指定 -fips 时,未加密的数据库也可以在服务器上启动。
有关详细信息,请参见 -fips 服务器选项。
在运行经 AES_FIPS 加密的数据库的任何计算机上都必须安装 SQL Anywhere Studio 安全性选件。
需要有可单独授权的选件使用 AES_FIPS 的高度数据库加密要求您获取可单独授权的 SQL Anywhere Studio 安全性选件,并且受出口法规约束。要订购此组件,请参见单独授予许可的组件。 |
要创建一个新的高度加密的数据库,您可以使用:
联合使用数据库初始化实用程序 (dbinit) 与各种选项以启用高度加密。
使用带有 -ek 选项 或 -ep 选项的 dbinit 实用程序创建高度加密的数据库,您可以在提示框或命令行中指定加密密钥。dbinit -ea 选项将加密算法设置为 AES 或 FIPS 认可的算法 AES_FIPS。
CREATE DATABASE 语句中的 ENCRYPTION 子句。KEY 选项设置加密密钥,ALGORITHM 选项将加密算法设置为 AES 或 FIPS 认可的算法 AES_FIPS。
您还可以使用 [Sybase Central 创建数据库] 向导来创建高度加密的数据库。
有关详细信息,请参见 CREATE DATABASE 语句。
带选项的卸载数据库实用程序 (dbunload) 创建一个新的高度加密的数据库。-an 选项创建一个新的数据库。使用 -ek 或 -ep 选项在提示框或命令行中指定高度加密密钥。-ea 选项设置加密算法为 AES 或 FIPS 认可的算法 AES_FIPS。
还可以使用 [Sybase Central 卸载数据库] 向导来创建高度加密的数据库。
创建高度加密的数据库 (SQL):
从 Interactive SQL 连接到一个现有的数据库。
执行包含 ENCRYPTION 子句、KEY 以及 ALGORITHM 选项的 CREATE DATABASE 语句。
例如,下面的语句使用经 FIPS 认可的 AES 加密在 C:\ 目录中创建一个名为 myencrypteddb.db 的数据库文件。
CREATE DATABASE 'c:\\myencrypteddb' TRANSACTION LOG ON ENCRYPTED ON KEY '0kZ2o52AK#' ALGORITHM 'AES_FIPS'
创建高度加密的数据库(命令提示符):
在命令提示符下,使用 dbinit 实用程序创建一个数据库。必须包括 -ek 或 -ep 以分别在命令提示符或对话框中指定加密密钥。
下面的命令创建一个高度加密的数据库,并指定加密密钥和算法。
dbinit -ek "0kZ2o56AK#" -ea AES_FIPS "myencrypteddb.db"
从命令提示符处启动数据库。
dbeng9 myencrypteddb.db -ek "0kZ2o56AK#"
有关加密密钥的详细信息,请参见 DatabaseKey 连接参数 [DBKEY]。
与大多数口令一样,最好选择不容易被猜测的密钥值。建议您为密钥选择一个包含 8 到 30 个字符的值,且该值是大写和小写字符、数字、字母以及特殊字符的组合。
| 注意 请务必将密钥的副本保存在一个安全的位置。每次启动或修改数据库时,都需要使用该密钥。丢失了密钥将导致数据库完全无法访问,而无法访问的数据库是无法进行恢复的。 |
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。