![]() |
SSL/TLSのはてな |
SSL(Secure Sockets Layer)とは、インターネット上におけるウェブブラウザとウェブサーバ間でのデータの通信を暗号化し、送受信させる為の※プロトコルのことです。
インターネット上で送受信される個人情報(氏名・住所・メールアドレス等)や重要情報(クレジットカード情報、ログインID・パスワード等)は、
常に悪意ある第三者から狙われています。SSLとはこれらの情報を、悪意ある第三者による盗聴を防いだり、送信される重要な情報の改竄を防ぐ役割を担っています。
※プロトコルとは通信をやり取りする際に必要な決まりの事です。
TLS (Transport Layer Security)はSSLと表記が異なるだけで、同じ機能を指します。SSLは3.0までバージョンアップを重ねた後、TLS1.0という名称に変更されました。
SSLの名称が一般に広く認知されているため、単にSSLと言ったり、SSL/TLSと併記されることがあります。
(1)HTTP/HTTPSとは
まずHTTP(Hyper Text Transfer Protocol)とは、WebブラウザとWebサーバ間で情報をやり取りするためのプロトコルのことです。日本人が日本語という共通の言語で
話すのと同じように、ブラウザとサーバはHTTPなどの共通の決まりに沿ってやり取りを行います。
HTTPS(Hyper Text Transfer Protocol Secure)とはインターネット上のHTTP通信が、SSLによって暗号化されているプロトコルのことです。
SSLによって暗号化されたWebサイトは※URL(Uniform Resource Locator)アドレスが「https://」から始まり先頭に鍵マークが追加されます。
※URLアドレスとはインターネット上のホームページの場所(住所)のようなものです。
(2)SSL/TLS通信の仕組み
HTTPSサイトにアクセスしてから、最初にページが表示されるまでの間には、こういったやりとりが行われています。 ①. ブラウザがSSL/TLS通信をサーバにリクエストする ②. サーバはブラウザに「SSLサーバ証明書」と「公開鍵」を送付 サーバがHTTPSでの接続リクエストを受けると、SSLサーバ証明書をブラウザに送ります。SSLサーバ証明書には公開鍵が含まれています。 公開鍵は、サーバ側にある秘密鍵でしか復号できないため、暗号化する前に送っても大丈夫です。 ③. ブラウザはサーバから送付された「公開鍵」を使って「共通鍵」を暗号化し、サーバに暗号化された「共通鍵」を送付 ブラウザは受け取った SSLサーバ証明書 の階層を辿りながら、サーバ側のルート証明書とブラウザ自身に登録されているルート証明書を照合します。 安全なWebサイトであることが確認できたら、ブラウザは共通鍵を生成します。 生成した共通鍵を盗まれないように、公開鍵で暗号化しサーバに送信します。 ④. サーバはブラウザから送付された「共通鍵」を「秘密鍵」で復号 サーバ側は、送られてきた公開鍵を秘密鍵で復号し、共通鍵を取り出します。 これで、サーバとクライアントの両方が安全に共通鍵を持つことができます。 ⑤. サーバ/ブラウザが一致した共通鍵を使って送受信するデータを暗号化、※復号して暗号化通信を成立 共通鍵を使って暗号化通信をしていきます。 ※復号とは、暗号を元に戻す仕組みのことです。 |
(3)SSL/TLSの役割
データの盗聴防止
例としてオンラインショッピング中にやり取りしているデータを盗み見て、クレジットカード番号等の重要情報を不正に入手されることを防ぐことです。
もしデータをSSL/TLS暗号化していないとクレジットカード情報等が悪用される危険性が高まり、金銭的損害等が発生する可能性があります。
データの改竄防止
オンラインショッピングの例で言えば、やり取りしているデータに侵入されて、注文数を書き換えられてしまうことも考えられます。そうなると顧客ばかりでなく、
店舗側にも大きな損害を発生させることになります。
このようにデータを完全な状態で伝送するためには、SSL/TLSでの暗号化が有効です。
なりすましの防止
オンラインショッピングの例では、店舗の運営者と偽って、顧客から不正に金銭を得たり、顧客の個人情報を入手したりする危険性があります。
(フィッシング詐欺と呼ばれる行為)
これを防ぐ目的として、Webサイトの運営企業が本当に存在し、利用しているドメイン(URLアドレス)の正しい所有者であることを証明する、
というもう一つの役割がSSL/TLSにはあります。
SSL/TLS証明書には種類があり、信頼性の高い「OV証明書」、より認証が厳格で信頼性の高い「EV証明書」を導入すると効果的です。
(4)SSL/TLSのバージョンについて
(3)のSSL/TLSの役割を有効にするためにはSSL/TLSの最新バージョンを使用することが前提になります。現在(2021年)の最新バージョンは2018年8月にリリース
されたTLS1.3で、それ以前のバージョンは使用禁止(SSL全バージョン)・無効化推奨(TLS1.0~1.1)・脆弱性の発見(TLS1.2)の為、使用している場合は無効化
することがセキュアな対策となります。