16.レンタルサーバーとSSL(3)-SSLの仕組み

本コンテンツ内で紹介するサービスの一部または全部に広告が含まれています。
SSLの仕組み

「TECH TREND」内で記載している価格は全て税込み表記です。 本コンテンツ内で紹介するITサービスの一部または全部に広告が含まれています。正確な情報提供に努めておりますが、内容の正確性を保証するものではありません。 ※このサイトに表示している広告については、広告掲載基準をご覧ください。 ※本サイトはウェブココル株式会社が運営しております。  ※当記事のご意見は、お問い合わせフォームからお寄せください。

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証明書を利用して暗号化通信を行う仕組みです。

[rank id=3]

Want to share?

WRITER

TECH TRENDSは最新のインターネット・ウェブ業界情報について発信するナビゲーショナルメディア。IT業界におけるビジネス情報をはじめ、Web3.0、AIなどにも精通するメンバーが集まり、質の高い確かな情報を発信します。

目次