2012/05/29

opensslで性能測定

opensslを誤解していて、鍵生成ツールだとばかり思っていたのですが、 実は様々なサブコマンドが用意されていて、性能測定までできてしまうことを今日知りました。

いつものように、

$ openssl --help
とやると、次のようなエラーメッセージが表示されます。
$ openssl --help
openssl:Error: '--help' is an invalid command.

Standard commands
asn1parse         ca                ciphers           cms               
crl               crl2pkcs7         dgst              dh                
dhparam           dsa               dsaparam          ec                
ecparam           enc               engine            errstr            
gendh             gendsa            genpkey           genrsa            
nseq              ocsp              passwd            pkcs12            
pkcs7             pkcs8             pkey              pkeyparam         
pkeyutl           prime             rand              req               
rsa               rsautl            s_client          s_server          
s_time            sess_id           smime             speed             
spkac             srp               ts                verify            
version           x509              

Message Digest commands (see the `dgst' command for more details)
md4               md5               rmd160            sha               
sha1              

Cipher commands (see the `enc' command for more details)
aes-128-cbc       aes-128-ecb       aes-192-cbc       aes-192-ecb       
aes-256-cbc       aes-256-ecb       base64            bf                
bf-cbc            bf-cfb            bf-ecb            bf-ofb            
camellia-128-cbc  camellia-128-ecb  camellia-192-cbc  camellia-192-ecb  
camellia-256-cbc  camellia-256-ecb  cast              cast-cbc          
cast5-cbc         cast5-cfb         cast5-ecb         cast5-ofb         
des               des-cbc           des-cfb           des-ecb           
des-ede           des-ede-cbc       des-ede-cfb       des-ede-ofb       
des-ede3          des-ede3-cbc      des-ede3-cfb      des-ede3-ofb      
des-ofb           des3              desx              rc2               
rc2-40-cbc        rc2-64-cbc        rc2-cbc           rc2-cfb           
rc2-ecb           rc2-ofb           rc4               rc4-40            
seed              seed-cbc          seed-cfb          seed-ecb          
seed-ofb          zlib              

-hや、--helpはサポートしてないけど、たくさんのサブコマンドを備えていることがわかります。 そこで気になったのが、「speed」と「s_time」というサブコマンド。 ヴァージョンの違いなどがあると思うので、詳しくはmanを参照していただきたいのですが、
  • speed Algorithm Speed Measurement.
  • s_time SSL Connection Timer.
って(僕のubuntuは)出力します。

で、使ってみました。

speed

speedサブコマンドは、暗号化アルゴリズムごとの処理速度を計測してレポートしてくれるコマンドです。 この結果を利用して何ができるかというと、例えばHTTPサーバにおいて、HTTPS接続をサポートする際に、 サーバで受け付けるSSLの暗号化方式のリストに反映するなどがあります。

s_time

s_timeサブコマンドは、SSLコネクションの接続速度を計測しレポートしてくれるコマンドです。 このコマンドでは、新規に接続する場合と、同一セッションで最接続する場合の速度を計測してくれます。 ですんで、サーバ側のSSLキャッシュの有効性などを検証することが可能です。

OpenSSL、もっと勉強しないと・・・(自戒)

0 件のコメント: