お問い合わせはこちら

【図解】SSL/TLSについてわかりやすく解説します(1)仕組み編

公開
更新

インターネット上で各種のサービスを利用する際、行き来している大切な情報が書かれているデータは、どのようにして守られているのでしょうか。その実現にはSSL/TLSという技術が役立っています。まさに今ご覧になっているこちらのページでも、この安心できる仕掛けが動いています。現在は導入が楽になり、多くのWebサイトで使われるようになりました。こちらの記事ではSSL/TLSの仕組みと導入方法について、2回に分けてわかりやすく解説しています。

SSL/TLSの図解

SSL/TLSとは?

SSL/TLSの構図

「SSL」と「TLS」の2つの用語が並んでいますが、ともに通信を暗号化する技術です。身近に使われているため、誰でもすぐに確認することができます。例えばご利用のブラウザでこちらのページを閲覧中は、画面上部には下図のように表示され稼働していることがわかります。

(1) ブラウザのURLアドレス入力欄の脇に、鍵のマークが表示されている
(2) ブラウザに入力するWebサイトのURLアドレスがhttps」から始まっている

何のための技術か

SSL/TLSには、通信の暗号化とWebサイトの認証という2つの目的があります。

通信の暗号化

インターネットで、安全に各種のサービスを利用するための手段として働いています。おかげでインターネットを介してさまざまな手続きや業務処理、買い物などができるようになっています。その結果、機密情報や個人情報などの重要情報のあるデータが、公共のインターネット回線を行き交いはじめました。これらの大切なデータを狙い、盗もうとする悪意を持った利用者(攻撃者)の出現につながります。

インターネット本来の機能は公開が原則ですが、その利便性を悪用しています。そのため、攻撃から身を守り被害を最小限に抑える一つの対策として、通信の暗号化と復号が「セット」でつくられました。暗号化したままだと本来の利用時にも内容がわからないため、暗号化する前の状態に戻す必要があります。これが復号です。

Webサイトの認証

利用しているWebサイトが本物であり、偽物ではないことを証明することがSSL/TLSのもう一つの目的です。その証明(認証)するための情報を、誰でもチェックすることができます。例えばご利用のブラウザでも、下図のようにSSL/TLSの設置状況が確認可能です。発行元やその種類など基本的な情報が公開されています。

名称がSSLだけでなくSSLとTLSと2つ並んでいる理由

両者の仕組みはほぼ同じで、改良して切り替わる前後の呼び名を併記してきました。SSL自体は現状では使用されておらず、1990年代にTLSに置き換わっています。それでもSSLという名称が残っているのは、ブランド名や通称が浸透しているという情報もあります。

SSLはSecure Sockets Layer、TLSはTransport Layer Securityをそれぞれ略しています。TLSはバージョンアップし、2022年2月時点では1.3が最新バージョンです。

SSL/TLSの仕組み

ブラウザで目的のWebサイトを開くと、おおまかに以下の流れで通信が暗号化されていきます。

(1) SSL/TLSで通信を暗号化せよと指示が出る
(2) 事前準備が始まる
(3)当初必要としていたデータが暗号化され通信が始まる

わかりやすいようにブラウザ上で指示する側を「送信者」、その指示を受け取って行動を起こすサーバー側を「受信者」として以下図解します。

第1段階 (事前準備)

ブラウザ上で「送信者」の指示があると、まずは以下の流れで準備が始まります。

SSL/TLSの流れ

1)受信者(サーバー)は送信者(ブラウザ)に「公開鍵」と「SSLサーバー証明書」を送付
2)送信者(ブラウザ)は「公開鍵」を使って「共通鍵」を作成
3)送信者(ブラウザ)は受信者(サーバー)に暗号化された「共通鍵」を送付
4)受信者(サーバー)は「共通鍵」を「秘密鍵」で復号

第2段階 (本番)

ここまでで、ようやくSSL/TLSで暗号化された通信が始まります。

SSL/TLSの通信開始

5)ここまでできた「共通鍵」を使って、受信者(サーバー)と送信者(ブラウザ)とも当初必要としていたデータが暗号化と復号される

SSLサーバー証明書とは

認証局と呼ばれる専門の組織が発行しています。こちらの証明書の場合だけは、SSL/TLS証明書と「TLS」を付けて呼ぶことはあまりありません。有料の場合だけでなく、最近普及している無料のLet’s Encryptも、SSLサーバー証明書や認証局がしっかりと存在しています。

一般的な設定には、レンタルサーバーの管理画面に専用のコードを入力する方法があります。専用のコードは、申し込みをすると発行されます。最近ではLet’s Encryptなどは、レンタルサーバーの管理画面上で数クリックするだけで、専用のコードの取得も不要で手続きが完了できるようになっています。

共通鍵とは

送信者(ブラウザ)と受信者(サーバー)が共通の鍵を使い、データの暗号化や復号をする一つの方法です。暗号化するもう一つの方法が、ここまで説明した「公開鍵」です。第1段階 (事前準備)ではより安全な「公開鍵」、第2段階 (本番)ではより高速な「共通鍵」と用途を分けるのが一般的です。

SSL/TLSの3つの役割

盗聴や改ざん、なりすましを防止するのがSSL/TLSの主な役割です。決して前向きな役回りではありませんが、これらの被害を防ぐことに貢献している重要な技術です。

(1)データの盗聴を防ぐ

オンラインショッピング中などに、クレジットカード番号などの重要情報が盗み見られ、悪用されることに対抗する役割です。企業が被害に遭うと、損害額が膨大になる可能性があります。データが暗号化されていれば、たとえ盗聴されたとしても被害を抑えることにつながります。

(2)データの改ざんを防ぐ

オンラインショッピングの例では、注文データを送信途中に盗み見られることで書き換えられる場合を想定しています。顧客だけでなく、店舗運営側にも金銭的な被害を受ける可能性があります。また公開しているWebサイトの内容が書き換えられ、運営する組織の信用が落ちることも考えられます。これらの危険を抑えるためにSSL/TLSの技術が使われています。

(3)なりすましを防ぐ

インターネット上で提供中のサービスを更新や管理する専用ページなどに、正規の運営者になりすまして不正にログインされることを防止する役割があります。金銭も自組織の信用も、ともに大きな損害を受けることがあります。

まとめ

SSL/TLSについて前半部分として、仕組みについて解説してきました。それでは利用中のレンタルサーバーには、どのように設定をしたらいいのでしょうか。またSSL/TLSには種類があるため、どのように選択したらいいのでしょうか。後半では、このような導入時の疑問について詳しく説明しています。

【図解】SSL/TLSについてわかりやすく解説します(2)導入編

【図解】SSL/TLSについてわかりやすく解説します(2)導入編

SSLサーバー証明書の本来の目的から、取得する際にも「正しい」申込み者かどうかを明らかにする手続き(認証)があります。その後に鍵(文字の羅列)を発行する手続きをしてから、サーバー上に設置します。これら認証の概要と導入方法について、無料と有料の場合に分けて説明しています。広く普及している無料のLet's Encryptでは、認証さえ済めばあとは数クリックで完了します。有料のSSLサーバー証明書の導入…