SSLの仕組み



ここまで、SSL と SSL証明書について説明してきました。なんとなく SSL の役割や仕組みがつかめてきたと思います。

SSL を利用することで、Webサーバーとブラウザ間でデータの暗号化が行われ、安全な通信が行われることはわかりました。そして、SSL を利用するには SSLサーバー証明書が必要なこともわかりました。

では、実際に SSL証明書を使用して、どのような仕組みで SSL 通信が行われるのかを見ていきたいと思います。


SSL の仕組み

データの暗号化をする方法は沢山ありますが、SSL で主に使われているのは、「共通鍵暗号化方式」と「公開鍵暗号化方式」です。

共通鍵暗号

暗号化と復号(暗号を解読して元に戻すこと)の両方に同じ鍵(共通鍵)を用いる方式。

共通鍵も相手に送る必要があるため、共通鍵を盗聴されてしまった場合や他の人にも同じ共通鍵を送っている場合には、特定の相手以外にデータが読み取られてしまう可能性がある点がネック。

公開鍵暗号

暗号化と復号に別の鍵(公開鍵秘密鍵)を用いる方式。

公開鍵で暗号化したデータは公開鍵では復号できず、秘密鍵でのみ復号が可能。公開鍵は他人に共有するが、秘密鍵は自分だけが保持するようにする。

まず、受信側は公開鍵を相手に渡し、送信側は公開鍵でデータを暗号化して受信側に渡す。受信側は暗号化されたデータを受け取ると、自分だけが持っている秘密鍵でデータを復号する。

秘密鍵を持っていないとデータを復号できないので、データを盗聴されたとしても、元のデータを知ることはできない。



以上のように、公開鍵暗号化はより安全なのですが、それだけに共有鍵暗号よりも暗号化と復号化に時間がかかります。そのため、SSL の通信では、以上の2つの暗号化方式を組み合わせた方法が用いられています。

この二つを組み合わせることにより、一気に過程が複雑になってしまうのですが、一言で説明すると、

「共通鍵」を「公開鍵暗号」によって暗号化して相手に渡し、安全に手渡された「共通鍵」で暗号化したデータをやり取りする

という感じになります。



これではまだイメージがつかないかもしれませんので、以下に細かい流れを説明します。(実際はもう少し複雑です)

    1. (事前準備)サーバー側で SSLサーバー証明書を取得し、設定しておく。その際に「秘密鍵」が生成されるのでサーバーに保持しておく。
    2. 閲覧者(クライアント)のブラウザからサーバーに、SSL によるアクセスを要求。
    3. サーバーからクライアントに、「SSLサーバー証明書」と「公開鍵」を送る。
    4. 送られてきた「SSLサーバー証明書」を、クライアントの「ルート証明書」(ブラウザにあらかじめインストールされている)と照合。
    5. 「ルート証明書」から「共通鍵」を生成。
    6. 生成された「共通鍵」を「公開鍵」で暗号化し、サーバーに送り返す。
    7. クライアントから受け取ったデータを「秘密鍵」で復号し、「共通鍵」を取り出す。
    8. 共通鍵が安全に手渡されたため、これ以降はサーバーとクライアント側のそれぞれで「共通鍵」を用いてデータを暗号化・復号しつつデータのやり取りをする。

以上が SSL証明書を利用して暗号化通信を行う仕組みです。



ネットビジネスに最もおすすめのレンタルサーバー

エックスサーバーの評判とレビュー 最高のスペックと安定性、そして高いコストパフォーマンスを持つエックスサーバー。当サイトが独自に行ったテストの結果でも、安定性・処理能力ともに 2年連続 1位を獲得した実力のあるサーバーです。
また、的確で手厚いサポートや真にユーザーのことを考えたプラン構成などで、多くのネットビジネスオーナーからも高い評価を得ています。

エックスサーバーの検証・評価レビュー