サービスをSSL化するために、色々調べたことをまとめる。
証明書:サーバの公開鍵 + 認証局(VeriSignなどが有名)の署名
SSLのしくみ
1. クライアントがSSL化されたサービスへアクセスする
2. サーバは証明書を送信
3. クライアントは証明書を審査した後、共通鍵を生成し、公開鍵で暗号化し送信
4. サーバは共通鍵を秘密鍵で復号化
5. 以後、共通鍵にてすべての通信は暗号化される
公開鍵暗号方式は共通鍵暗号方式に比べて処理速度が遅いので、SSLのプロトコル内では、共通鍵暗号で使う共有鍵だけを公開鍵暗号でやり取りして(4まで)、実際のデータのやり取りは共通鍵暗号方式で行うなどのさまざまな工夫をしている。
参考
SSL入門
SSL Certificates HOWTO