1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SSL/TLSについてざっくり理解してみる

Posted at

SSL/TLSとは

SSL/TLSとは、ホームページを格納しているサーバーとブラウザ間の通信を暗号化するための仕組み、プロトコルのことです。

TLSはSSLで重大な脆弱性が見つかり、バージョンアップされた結果、登場したSSLの次世代規格です。

現在使われているのは、ほとんどTLSのようですが、「SSL」や「SSL/TLS」という表現がされることが多いようです。

以降、本記事では「SSL」で統一しています。

SSLで何ができるのか

SSLにより通信が暗号化されることで、悪意ある第三者からのデータの「なりすまし」「改ざん」「盗聴」を防ぐことができます。

次から、この3つのできることの仕組みをざっくり説明してみたいと思います。

「なりすまし」を防ぐ仕組み

スクリーンショット 2024-09-11 083114.png

  1. クライアントからサーバーに対して、SSL接続のリクエストを送信します

  2. サーバーは認証局に発行してもらったサーバー証明書と公開鍵※をクライアントに送信します

  3. クライアントは送られてきた認証局の公開鍵を使用して、サーバー証明書を検証します

    ここでなりすましに気づくことができます

    ※ サーバー証明書と公開鍵を分けて記載していますが、実際はサーバー証明書の中に公開鍵が埋め込まれています、上の図で言うと免許証の女の子の写真が公開鍵になる感じです。

「改ざん」を防ぐ仕組み

スクリーンショット 2024-09-11 084304.png

  1. クライアントは送信データ(HTTPメッセージ)とMAC値(送信データとMAC鍵 [※1] を混ぜてハッシュ化した値)をサーバーに送信

    1. この時これら2つのデータは共通鍵で暗号化されています。
    2. また、この共通鍵はサーバーから送られてきた公開鍵を用いて暗号化した上で、クライアントに送信されています。
  2. サーバーは受信した送信データとサーバーのMAC鍵を使用して、MAC値を計算します

  3. クライアントから送られてきたMAC値とサーバーで計算したMAC値を比較する

    ここで、MAC値が異なるのであれば改ざんに気づくことができます

※1 共通鍵を元に生成されたMAC値を生成及び検証するために使用される秘密の共有鍵

盗聴を防ぐ仕組み

スクリーンショット 2024-09-11 084404.png

上記のように盗聴を防ぐことができます。

「改ざんを防ぐ仕組み」のところで、HTTPメッセージとMAC値を共通鍵で暗号化しているところがありますが、その部分をより抽象化したのが上記の図となります。

まとめ

ざっくりまとめてみましたが、ざっくりでも理解できていない部分が多く見つかりました。

また、より細かい仕組みについても以降まとめていきたいと思います。

本記事の内容に誤りがある場合はご指摘いただけると大変助かります。

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?