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_configUseOpenSSLEngine 句で無効化/有効化。
パッチ 147707-01 が必要。
/etc/ssh/sshd_configUseOpenSSLEngine 句で無効化/有効化。
自動的に有効化。
/etc/ssh/sshd_configUseOpenSSLEngine 句で無効化/有効化。
Java/JCE
自動的に有効化。
$JAVA_HOME/jre/lib/ security/java.security で構成。
自動的に有効化。
$JAVA_HOME/jre/lib/ security/java.security で構成。
自動的に有効化。
$JAVA_HOME/jre/lib/ security/java.security で構成。
ZFS 暗号化
使用不可。
使用不可。
データセットが暗号化されている場合は、HW 暗号化が自動的に有効化。
IPsec
自動的に有効化。
自動的に有効化。
自動的に有効化。
OpenSSL
-engine pkcs11 を使用
パッチ 147707-01 が必要
-engine pkcs11 を使用
T4 最適化を自動的に使用。
(オプションで -engine pkcs11 を使用) この時点では、RSA/DSA に pkcs11 を推奨。
KSSL (カーネル 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 専用です。それ以外の 2 つの aes_kexpand 命令は、AES-128、AES-192、AES-256 の 3 つの鍵の長さすべてに使用されます。

  • aes_eround01aes_eround23aes_eround01_l, aes_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 コマンドを使用します。sparcv9 および aes が出力に含まれている場合は、システムが最適化を使用していることを示します。

$ 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 最適化をサポートしていません。