通信方式
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 とかみたい。