SSL/TLSについて
はじめに
開発環境構築する上で、XAMPPのSSLを有効化する機会がありました。
参考:XAMPP for WindowsでSSLを有効にする
その際、SSLってなんだっけ?となったので復習を兼ねて自分用にまとめます。
注意:間違えている可能性があります。
ネットワーク通信に潜む危険
ネットワークの通信経路上に潜む危険として、代表的なものが以下の3つである。
盗聴
データのやり取り途中で、内容を第三者に盗み読まれる危険性
改ざん
データのやり取りは正常に行えているように見えるが、途中で第三者によって内容を書き換えられてしまっている危険性
なりすまし
第三者がなりすまし、データを送受信できてしまう危険性
とはいえ、通信経路を見られないようにすることは難しい。
そこで、通信経路を見られるのはしょうがないから、見られても大丈夫なように暗号化することが重要である。
参考
キタミ式イラストIT塾 基本情報技術者 平成31年/01年
SSL/TLSとは?
SSLは「Secure Sockets Layer」の略で、送受信しているデータを暗号化する通信手順。
WebサイトのURLアドレスが、httpsから始まっている(URLに鍵マークがついている)ものはSSL化されている。
TLSは「Transport Layer Security」の略。SSLの脆弱性が発見され、それに対処するために設計されたのがTLS(そのため、厳密にはSSLとTLSは同じものではない)。現在SSLは実はTLSである場合がほとんどだが、なじみ深いSSLという言葉が使用されている。
SSL/TLSは、共通鍵暗号方式と公開鍵暗号方式を用いて、通信を暗号化する仕組み。
SSL通信を行うことで、ネットワーク通信に潜む「盗聴」「改ざん」「なりすまし」の防止をしている。
盗聴防止
通信を暗号化することで、第三者の盗聴を防ぐ。改ざん防止
通信途中でデータが改ざんされた場合、改ざんされていることがわかる。かつ、信用できないデータを破棄し、再度データを送るよう依頼することができる。なりすまし防止
サイトをコピーしたとしても、SSL通信の際に用いる秘密鍵のコピーはできない。秘密鍵がない状態でSSL通信を行うことはできないため、なりすましであることに気づくことが出来る。
SSL/TLSの流れ
- クライアント側からサーバー側に、SSL通信のリクエストを送る
- サーバー側から「公開鍵」付きのSSLサーバ証明書が送付される
- ルート証明書を用いて、SSLサーバ証明書の署名検証を行う
- クライアント側で生成した「共通鍵」を「公開鍵」で暗号化してサーバー側に送付
- サーバー側は、ペアとなる「秘密鍵」で複合し、「共通鍵」を取得
- 共通鍵を使って、SSL/TLS暗号化通信を行う
SSLサーバ証明書とは?
SSLサーバ証明書とは、ウェブサイトの実在性を確認し、通信データの暗号化を行うための電子証明書。SSLサーバ証明書には、ウェブサイトの所有者の情報や、暗号化通信に必要な鍵(公開鍵)、発行者の署名データが含まれている。
ルート証明書とは?
公開鍵を用いたやり取りを行うにあたり、そもそも公開鍵を作ったものがなりすましを行っていたら、なりすましを防ぐことが出来ない。そこで、信用できる第三者が「この公開鍵は本物である」と証明する機構(認証局)が考えられた。
ただ、「信用できる第三者の信頼性」はどのように保証されているのか?
→ルート認証局に関しては、PC出荷時に組み込まれているため信頼性が保証されている。
※Windows Update等で更新される
ルート証明書とは、つまり最上位にある認証局を保証するものという認識かなと(多分)
SSL通信を行う上で共通鍵って必要??
SSL通信をするうえで、公開鍵暗号方式でデータの暗号化を行えばいいのではないのか?とふと思った。ここで共通鍵暗号方式と公開鍵暗号方式のおさらいをする。
共通鍵暗号方式
送り手(暗号化する側)と受け手側(復号する側)が同じ鍵を用いる暗号方式。
この鍵が第三者に知られてはいけない。そのため、共通鍵を安全に受け渡しする必要がある。
強み:暗号化・復号化速度が速い 弱み:安全に鍵を渡す必要がある
公開鍵暗号方式
公開鍵暗号方式は、受信側が公開鍵と秘密鍵を用意する。
そして、公開鍵を配布する。データ送信者は、この配布された公開鍵を用いて暗号化する。
公開鍵で暗号化されたデータは、セットとなる秘密鍵でしか復号することができない。
そのため、公開鍵をばらまいても問題ない。
強み:安全性が高い 弱み:暗号化・復号化速度が遅い
2つの暗号方式を組み合わせる
上記の強み・弱みを踏まえて、公開鍵暗号方式で共通鍵を安全に受け渡し、その共通鍵を用いて通信を行うことで安全性・処理速度面においての問題点を解消している。
こういった背景から、SSL通信を行う際は2つの暗号方式を用いている!
参考
【図解】SSL/TLSとは何か?その違いや仕組み・導入方法についてわかりやすく解説します
SSLって何?意味や仕組みをわかりやすく解説!
SSLサーバ証明書とは
キタミ式イラストIT塾 基本情報技術者 平成31年/01年
いまさら聞けない、SSLサーバ証明書とルート証明書の関係
SSLサーバ証明書の仕組みに関すること
エンジニアなら知っておきたい、絵で見てわかるセキュア通信の基本
サーバー証明書/中間CA証明書/ルート証明書の違いとは?
Author And Source
この問題について(SSL/TLSについて), 我々は、より多くの情報をここで見つけました https://qiita.com/sasao3/items/dfe402ffe88f697e6928著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .