【図解】初心者のためのSSL/TLS解説

IT技術
この記事でわかること
  • SSL/TLSの仕組み
  • SSL/TLSの特徴や歴史

SSL/TLSとは

まずSSLは”Socket Layer Protocol”の略で、データを暗号化してやり取りを行う通信プロトコルです。

例えば、ショッピングサイトでクレジット決済をする場合カード情報やパスワードを入力しますよね?
その情報やパスワードデータがインターネット上に平文で流れてしまうと簡単に盗み見られてしまします。
そのため暗号化する必要があり、その仕組みの一つがSSLです。

SSLは”SSL1.0”→”SSL2.0”→”SSL3.0”とバージョンアップしてきましたが、現在はほとんど使用されていません。

代わりに使われるようになったプロトコルがTLSです。

TLSは”Transport Layer Protocol”の略で、”TLS1.0”→”TLS1.1”→”TLS1.3”とバージョンアップしています。
現在の最新は”TLS1.3”です。(2023年6月現在)

現在はTLSが主流ですが、SSLが長く使われてきたこともあり、まとめてTLSと呼ぶ傾向にあります。
また、表記する際は”SSL/TLS”と書かれる場合が多いです。
(以降本記事ではSSLとTLSをまとめて”SSL/TLS”と記載します)

SSL/TLSの仕組み

SSL/TLSの仕組みについて解説します。

SSL/TLSは”共通鍵暗号方式”と”公開鍵暗号方式”の仕組みを使って実現しています。
両方使用するっていみわからないって思うと思いますが、そのまま読み続けてください。

クライアントとサーバがSSL/TLS通信を行う流れは以下の通りです。

流れ
  1. クライアントがサーバに接続要求をすると、サーバはデジタル証明書と公開鍵を送付する
  2. クライアントは受け取った証明書を検証し、公開鍵が正しいものだと判断する
  3. クライアントは共通鍵を作成。サーバの公開鍵で暗号化し、サーバに送付する
  4. サーバは暗号化された共通鍵を受け取り、秘密鍵で復号し、共通鍵を取り出す
  5. 以降、共通鍵でやり取りを行う

SSL/TLSの特徴

ここからはSSL/TLSの特徴について確認していきます。

通信の暗号化、なりすましや改ざんの判別

ここまで確認してきた通り、SSL/TLSは通信を暗号化し、セキュリティを高める仕組みです。

また、SSL/TLS通信ではSSL証明書(デジタル証明書)を利用します。
これによりサーバの身元が正しいことが判別でます。
デジタル署名の仕組みにより、改ざんの検知も行えます。

【図解】公開鍵?共通鍵?証明書?セキュア通信の基礎
通信におけるセキュアな技術である共通鍵暗号方式、公開鍵暗号方式、またデジタル署名やデジタル証明書についても図解で仕組みを解説しています。一気に基礎技術が網羅できる記事となっています。
【図解】初心者のためのデジタル証明書
デジタル証明書の図解解説:初心者向けにわかりやすく、安全な通信に必要なデジタル証明書の基礎を図を使って解説します。デジタル署名や公開鍵暗号方式にも絡めて解説。

複数の鍵を使用することによるセキュリティ強化

SSL/TLSの仕組みで見た通り、公開鍵、秘密鍵、共通鍵の3種類の鍵を利用しています。

共通鍵暗号方式では共通鍵の共有の難しさがデメリットでした。
SSL/TLSではこのデメリットを解消しています。

また、鍵による暗号化がセキュリティ対策のメインとなるため、脆弱性のあるアプリケーションを使用する場合でも、独自のセキュリティ対策を施すことができます。

色々なプロトコルで使用できる

SSL/TLSは全てのプロトコルと独立しています。
そのためアプリケーションで使用されるプロトコルを気にすることなくSSL/TLSによるセキュリティ対策が可能となります。

例を挙げると、Webサイトを閲覧する際に使用されるHTTPです。
HTTPでの通信を行うと、ユーザが入力しサーバに送信した個人情報(クレジットカード情報など)が平文のまま送られてしまいます。
このためHTTPプロトコルにSSL/TLS機能を付加したHTTPSを使うことにより、HTTPのプロトコルのままセキュアな通信を行うことができます。

そのほかにもSMTPやIMAP等様々なプロトコルでSSL/TLSが使用されています。

まとめ

今回はSSL/TLSについて確認しました。

SSL/TLSは通信を暗号化する仕組みで、過去はSSL、現在はTLSがメインで使用されています。
ただし昔からSSLと呼ばれなじみ深いため、現在でもTLSのことをSSLと読んだり、SSL/TLSと表記したりします。

SSL/TLSは公開鍵暗号方式と共通鍵暗号方式の仕組みを使用します。
これによりアプリケーションに作用されずセキュアな通信を実現するとともに、それぞれの方式のデメリットを補完しています。

コメント

タイトルとURLをコピーしました