Collection Contents 上一页 下一页 PDF

SQL Anywhere Studio 安全指南

保护数据的安全

对数据库进行加密


作为数据库管理员,您可以对数据库进行加密,使别人更难以破译数据库中的数据。可以使用简单加密或高度加密来保护您的数据库。

注意    压缩加密的数据库将从数据库中解除加密。
简单加密 

简单加密等效于模糊处理,并可使人使用磁盘实用程序难以查看文件以破译数据库中数据。简单加密并不要求用一个密钥来对数据库进行加密。SQL Anywhere Studio 的早期版本支持简单加密技术。

使用简单加密

高度加密 

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

注意    保护您的密钥!请务必将密钥的副本保存在一个安全的位置。丢失了密钥将导致数据库完全无法访问,而无法访问的数据库是无法进行恢复的。

用于进行 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 安全性选件,并且受出口法规约束。

要订购此组件,请参见单独授予许可的组件

要创建一个新的高度加密的数据库,您可以使用:

创建高度加密的数据库 (SQL):

  1. 从 Interactive SQL 连接到一个现有的数据库。

  2. 执行包含 ENCRYPTION 子句、KEY 以及 ALGORITHM 选项的 CREATE DATABASE 语句。

    例如,下面的语句使用经 FIPS 认可的 AES 加密在 C:\ 目录中创建一个名为 myencrypteddb.db 的数据库文件。

    CREATE DATABASE 'c:\\myencrypteddb'
    TRANSACTION LOG ON
    ENCRYPTED ON
      KEY '0kZ2o52AK#'
      ALGORITHM 'AES_FIPS'

创建高度加密的数据库(命令提示符):

  1. 在命令提示符下,使用 dbinit 实用程序创建一个数据库。必须包括 -ek 或 -ep 以分别在命令提示符或对话框中指定加密密钥。

    下面的命令创建一个高度加密的数据库,并指定加密密钥和算法。

    dbinit -ek "0kZ2o56AK#" -ea AES_FIPS "myencrypteddb.db"
  2. 从命令提示符处启动数据库。

    dbeng9 myencrypteddb.db -ek "0kZ2o56AK#"

有关加密密钥的详细信息,请参见 DatabaseKey 连接参数 [DBKEY]

与大多数口令一样,最好选择不容易被猜测的密钥值。建议您为密钥选择一个包含 8 到 30 个字符的值,且该值是大写和小写字符、数字、字母以及特殊字符的组合。

注意    请务必将密钥的副本保存在一个安全的位置。每次启动或修改数据库时,都需要使用该密钥。丢失了密钥将导致数据库完全无法访问,而无法访问的数据库是无法进行恢复的。

控制高度加密
性能问题

Collection Contents 上一页 下一页 PDF