在 Oracle® Solaris 11.2 中管理加密和证书

退出打印视图

更新时间: 2014 年 9 月
 
 

SPARC T-4 系统中的加密优化

从 SPARC T4 微处理器开始,可以在硬件中直接使用执行加密函数的新指令。这些指令是非特权指令。因此,任何程序都可以使用这些指令,无需任何内核环境、root 权限或其他特殊设置。加密直接在硬件上执行,而不使用大量的低级指令。因此,与以前采用有单独的加密处理单元的 SPARC 处理器的系统相比,加密运算速度更快。

以下比较显示了 SPARC T-3 系统与经过加密优化的 SPARC T-4 系统之间的数据流差异。

图 2-1  SPARC T 系统之间的数据流比较

image:比较 T-3 和 T-4 系统之间的数据流

下表提供了与特定的 Oracle Solaris 发行版相结合的 SPARC T 微处理器单元中加密函数的详细比较。

表 2-1  SPARC T 系列服务器上的加密性能
功能/软件使用者
T-3 和以前的系统
运行 Oracle Solaris 10 的 T-4 系统
运行 Oracle Solaris 11 的 T-4 系统
SSH
在 Solaris 10 5/09 及更高版本中自动启用。
/etc/ssh/sshd_config 中使用 UseOpenSSLEngine 子句禁用/启用。
需要修补程序 147707-01。
/etc/ssh/sshd_config 中使用 UseOpenSSLEngine 子句禁用/启用。
自动启用。
/etc/ssh/sshd_config 中使用 UseOpenSSLEngine 子句禁用/启用。
Java/JCE
自动启用。
$JAVA_HOME/jre/lib/ security/java.security 中配置。
自动启用。
$JAVA_HOME/jre/lib/ security/java.security 中配置。
自动启用。
$JAVA_HOME/jre/lib/ security/java.security 中配置。
ZFS 加密
不可用。
不可用。
如果加密了数据集,将自动启用硬件加密。
IPsec
自动启用。
自动启用。
自动启用。
OpenSSL
使用 -engine pkcs11
需要修补程序 147707-01
使用 -engine pkcs11
自动使用 T4 优化。
(可选择使用 -engine pkcs11。)当前建议对 RSA/DSA 使用 pkcs11
KSSL(Kernel SSL proxy,内核 SSL 代理)
自动启用。
自动启用。
自动启用。
Oracle TDE
不支持。
待定修补程序。
在 Oracle DB 11.2.0.3 和 ASO 中自动启用。
Apache SSL
使用 SSLCryptoDevice pkcs11 配置
使用 SSLCryptoDevice pkcs11 配置
使用 SSLCryptoDevice pkcs11 配置
逻辑域
将加密单元分配到域。
功能始终可用,不需要配置。
功能始终可用,不需要配置。

    T4 加密指令包括以下指令:

  • aes_kexpand0aes_kexpand1aes_kexpand2

    这些指令执行密钥扩展。它们将 128 位、192 位或 256 位用户提供的密钥扩展为在加密和解密过程中在内部使用的密钥排程。aes_kexpand2 指令仅用于 AES-256。另两种 aes_kexpand 指令用于全部三种密钥长度:AES-128、AES-192 和 AES-256。

  • aes_eround01aes_eround23aes_eround01_laes_eround_23_l

    这些指令用于 AES 加密循环或变换。根据 FIPS 197 中的 AES 标准,所用的循环数量(例如 10、12 或 14)会因为 AES 密钥长度而有差异,因为使用较大的密钥大致上表示需要牺牲更多的计算性能来实现更强大的加密。

  • aes_dround01aes_dround23aes_dround01_laes_dround_23_l

    这些指令以类似于加密的方式用于 AES 解密循环。

  • DES/DES-3、Kasumi、Camellia、Montgomery 乘/开方(针对 RSA Bignum)和 CRC32c 校验和指令

  • MD5、SHA1 和 SHA2 摘要指令

SPARC T4 硬件加密指令在运行 Oracle Solaris 11 的 SPARC T4 系统上可用,并通过系统的 T4 微处理器上的内置 t4 引擎自动使用。从 Oracle Solaris 11.2 开始,这些指令已嵌入到 OpenSSL 上游代码中。因此,在此发行版中,OpenSSL 1.0.1e 随附有一个使其可使用这些指令的修补程序。

确定系统是否支持 SPARC T4 优化

要确定是否正在使用 T4 优化,可使用 isainfo 命令。在输出中包括 sparcv9aes 表示系统正在使用优化。

$ isainfo -v
64-bit sparcv9 applications
        crc32c cbcond pause mont mpmul sha512 sha256 sha1 md5 camellia kasumi 
        des aes ima hpc vis3 fmaf asi_blk_init vis2 vis popc

确定系统的 OpenSSL 版本

要检查正在系统上运行的 OpenSSL 的版本,请键入 openssl version。输出以下类似内容:

OpenSSL 1.0.0j 10 May 2012

验证您的系统是否有带 SPARC T4 优化的 OpenSSL

要确定您的系统是否支持带 SPARC T4 优化的 OpenSSL,请按如下方式检查 libcrypto.so 库:

# nm /lib/libcrypto.so.1.0.0 | grep des_t4
[5239]  |    504192|       300|FUNC |GLOB |3    |12     |des_t4_cbc_decrypt
[5653]  |    503872|       300|FUNC |GLOB |3    |12     |des_t4_cbc_encrypt
[4384]  |    505024|       508|FUNC |GLOB |3    |12     |des_t4_ede3_cbc_decrypt
[2963]  |    504512|       508|FUNC |GLOB |3    |12     |des_t4_ede3_cbc_encrypt
[4111]  |    503712|       156|FUNC |GLOB |3    |12     |des_t4_key_expand

如果该命令不生成任何输出,则您的系统不支持针对 OpenSSL 的 SPARC T4 优化。