koheitakahashiのブログ

2020.07.01にプログラマーとして生を受けた私が学んだことや、日常について徒然に書いていきます。

SSLとは?🤔

SSLとは何なのか?

SSLとは、Secure Sockets Layerの略。具体的には、WebブラウザやアプリとTCP(IPアドレスよりも一個上の通信方法)の間の情報を暗号化したり、暗号化を解除したりする仕組みのことです。

つまり、Webブラウザやアプリに入力したとき、SSLはその情報を暗号化して、TCPに送ります。そして、TCPを介して受け手に送られた情報はその受け手のもとで暗号を解除するという仕組みのことのことです。

SSLには2つの暗号化方法があります。

  1. 共通鍵暗号 これは、送り手と受け手が、彼らしか知らない共通の鍵を持っていて、送り手はこの鍵を使って、情報を暗号化。受け手はその鍵を使って暗号を解除するというものです。処理負荷が軽く、比較的高速でやり取りを行えますが、共通鍵を第三者に知られてしまうと一気に情報が漏洩してしまうという危険性があります。

  2. 公開鍵暗号 これは、送り手は公開鍵で情報を暗号化し、受け手はそれを公開鍵とペアになっている秘密鍵によって暗号解除を行うというものです。

この2つの暗号化を組み合わせて行われるのがSSLです。 具体的には、共通鍵暗号で公開鍵を送るというものです。例えばクライエントが、「SSL通信をしたい」と行った時には、サーバー側が自分の公開鍵を共通鍵暗号で送り、クライエント側がそれを受け取って、やり取りで使う公開鍵をサーバーに送っておきます。  このように公開鍵を共通鍵で送ることで、情報のやり取りの安全性を高めるのです。

と書いておきながら、自分の頭の中でも少し混乱してきました💦

さらに詳しく知りたい方は参考サイトへどうぞ!!

参考サイト

-「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典