httpsのサーバー認証
概要
curlでhttps通信したときに、そういえばhttps通信ってどういう仕組みだったっけー忘れたーと思ったのでいろいろ思い出してみたので簡単にめもめも。
登場人物
- 認証局(CA)
- サーバー
- クライアント
いろいろ用語
- SSL
- 米ネットスケープ社が開発
- TLS
- SSLが普及しだした時にIETFがSSLを元にしてTLSとして標準仕様にする
- SSLが先に普及したので、TLSのことをSSLと表記したりSSL/TLSと併記したりする
- サーバー証明書
- 証明書データを
CAの秘密鍵でハッシュ化された署名
が含まれている - サーバーの
公開鍵
が含まれている。
- 証明書データを
- 認証局(CA)
- 電子商取引事業者などに、暗号通信などで必要となるデジタル証明書を発行する機関
- CA証明書
- ブラウザには最初っから入っている。CAの公開鍵が含まれている
- クライアント
- 主にブラウザなど
- ブラウザには主要な認証局の証明書(公開鍵)が登録されている。
通信の流れ
- サーバー準備
- サーバーはCAに申請してサーバーの公開鍵が含まれたサーバー証明書を作成してもらう。
- サーバー認証
- クライアントから通信くると上で作成したサーバー証明書をクライアントに送付
- クライアントではサーバー証明書に含まれる署名からCA証明書の公開鍵でハッシュ値を抽出してサーバー証明書データのハッシュ値と比較する。値が同じであれば信頼のあるCAから生成されたサーバー証明書であり、そこで発行されたサーバー証明書は正当なものだと判断できサーバー証明書に含まれている
サーバーの公開鍵
の信頼性が担保される。
- 通信内容の暗号化
- 公開鍵と秘密鍵から生成したお互いしか知り得ない
共通鍵
で通信
- 公開鍵と秘密鍵から生成したお互いしか知り得ない
- 完全性の確認
- 電子証明書のような仕組みで改ざんがないかチェックする
おわり
最初だけ公開鍵
と秘密鍵
(公開鍵暗号)を使用して通信自体は共通鍵
(共通鍵暗号)で行う。なぜかというと、公開鍵暗号のほうが負荷が大きいので。公開鍵暗号は認証などの場面でしか使用されない。
Author And Source
この問題について(httpsのサーバー認証), 我々は、より多くの情報をここで見つけました https://qiita.com/saikoro-steak/items/00764ec32fb2a3086ae2著者帰属:元の著者の情報は、元の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 .