SSLとは?SSLの働きについて理解を深めよう
こんにちは、てーやまです。
サーバにSSL証明書をインストールしたり更新作業なんかをやってますが、SSLについて何となくしか分かっていなかったので、基礎を学んでみました。今回はそれのアウトプットをしようと思います。
SSLとは?
そもそもSSLって何なのでしょうか?
SSLはプロトコルの一種で、OSI参照モデルの『トランスポート層』で動作します。
SSLが動作することで、データを暗号化して盗聴を防いだり、クライアントの認証に使われたりします。
SSLはどのような働きをするのか
SSLの主な働きは以下の2つとなります。
- デジタル証明書でなりすましを防ぐ
- データを暗号化して盗聴を防ぐ
今回はこれらをもう少し深掘りして調べてみました。
デジタル証明書でなりすましを防ぐ
例えばAmazonで買い物をするとします。
でも、今見ているページが本当にAmazonのページなのか、見た目では分かりませんよね。
もしかしたら悪意のある第三者が作った、Amazonそっくりなページかもしれません。
そこにクレジットカードの番号を打ち込んでしまったら…ゾッとしますよね。
デジタル証明書とは、それが本物のAmazonのページであることを証明してくれるものです。
SSLにはこのデジタル証明書を通じて、相手が本物かどうか見極める機能があるということです。
クライアント側が何かしなくてはいけないわけではなく、非SSLのサーバに接続している場合、ブラウザには警告メッセージが表示されるようになりました。
あとは自己責任で接続してねということですね。

データを暗号化して盗聴を防ぐ
SSLは『共通鍵暗号方式』と『公開鍵暗号方式』を組み合わせて通信を暗号化します。
共通鍵暗号方式
通信に使われる信号を暗号化するための「暗号鍵」と暗号を解くための「復号鍵」が共通の暗号化方式です。
サーバとクライアントが予め同様の鍵を持っておく必要があります。
どのようにしてクライアント側に共通鍵を送るかという問題(鍵配送問題)が常に付きまといます。
公開鍵暗号方式
暗号鍵と復号鍵はそれぞれ別の鍵を利用した暗号化方式です。
サーバは暗号鍵をネットで公開して、クライアントはそれを利用してデータを暗号化、サーバに送ります。
サーバは届いた暗号化後のデータを予め作成しておいた秘密鍵で復号します。
SSLでの暗号化
デジタル証明書がインストールされているサーバ(=SSL化されているサーバ)にクライアントがアクセスすると、公開鍵とデジタル証明書が返却されます。
クライアント側はデジタル証明書の確認をするとともに、共通鍵を生成、公開鍵を使って暗号化して送り返します。
サーバ側は受け取った共通鍵を秘密鍵で復号、後の通信は共通鍵暗号方式で行うという訳です。
鍵配送問題も上手く払拭されていますね。
どのように設定するのか
前述の通り、サーバをSSL化するためにはデジタル証明書のインストールが必要です。
デジタル証明書は認証局に署名要求することで、与信審査がが行われた後発行されます。
SSLとTLSは違うのか
SSLとTLSは別物です。
むしろSSLはSSL3.0が2015年に脆弱性の発見から禁止されており、後継する形でTLSに移行されました。
今後はTLS1.3が主流になっていくと思われますが、SSLという名称が広く普及しているため、未だTLSのこともSSLと呼ばれているようです。
今後は何を深掘りしていくか
今現在はサーバを勉強しており、次はVPNについて学んでみたいと思っています。
今読んでいる本
私が今読んでいる本はこちらです。
サーバについて初心者でも、基礎的なことは網羅できます。
図解で分かりやすく、おすすめします。
ツイッターもやっています。
IT系とかキャンプネタ中心です。
ディスカッション
コメント一覧
まだ、コメントがありません