通信方式

SSL っていうとなにやら色々通信方式がある。 SSLv2 ってのは古い形式で、なにやらセキュリティホールが見つかってるとか書いてあった。 SSLv3 は新しいヤツでそれほぼ同じ形で標準化したのが TLSv1 。実際 OpenSSL は SSLv3 と TLSv1 は同じ扱いみたい。 SSLv23 ってのはどっちも使えるよ、という話みたい。

SSL はいくつかのプロトコルの集合体(鍵共有、認証、暗号化、ダイジェスト、かな)だけど、そのそれぞれのプロトコルで使うアルゴリズムは色々差し替えられるので結構なパターン数がある。 openssl の cipher オプションで使える暗号化形式一覧がわかる。

 % openssl ciphers -v ALL@STRENGTH
 ADH-AES256-SHA          SSLv3 Kx=DH       Au=None Enc=AES(256)  Mac=SHA1
 DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
 DHE-DSS-AES256-SHA      SSLv3 Kx=DH       Au=DSS  Enc=AES(256)  Mac=SHA1
 AES256-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA1
 ...

とかすると使える暗号化形式を強度順で一覧できる。強度つーてもどういう理由で決めてるのかは知らんけど。で、プロトコルが四つあるから暗号名が四つ並ぶわけだけど、なんか RSA とかは省略されるとかまぁなんかよくわからんので、右っかわが大事。略語はそれぞれ Kx = key exchange, Au = authentication, Enc = Encryption, Mac = Mac digest とかみたい。

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h