nokoのブログ

こちらは暫定のメモ置き場ですので悪しからず

httpsについて調べたことメモ

はじめに

  • HTTPSまわりについて復習したときのメモ

参考

メモ

HTTPSとは

  • HTTPを暗号化
  • 例えると、HTTPは「はがき」で、HTTPSが「封書」のようなもの
  • (参考)ネットワーク通信経路暗号化の意味
    • 盗聴を防ぐ
    • 改ざんを防ぐ
    • なりすましを防ぐ
  • HTTPで行われるウェブ通信に、「SSL/TLS」をくわえて「ウェブで情報を安全にやりとりする仕組み」にしたものが、「HTTPS
    • SSL は仕組みとしては使われていないけど、「情報を安全にやりとりする」という意味の言葉として使われている
      • SSL」は「TLS」の前身となる仕組み
    • TLS は「情報を安全にやりとりする」ために実際に使われている仕組み
    • HTTPS は「ウェブで情報を安全にやりとりすること」を具体的に表現した言葉

SSL通信の仕組みと流れ

  1. SSLサーバー証明書と公開鍵を送る
    • サーバーが HTTPS での接続リクエストを受けると、はじめに SSLサーバー証明書 をクライアント側(ブラウザ)に送ります。
    • SSLサーバー証明書には公開鍵が含まれています。
    • 公開鍵は、サーバー側にある秘密鍵でしか復号できないため、暗号化する前に送っても大丈夫ですね。
  2. SSLサーバー証明書の有効性確認と共通鍵の生成
  3. 共通鍵を公開鍵で暗号化して送る
    • 生成した共通鍵を盗まれないように、公開鍵で暗号化しサーバーに送信します。
      • 共通鍵はクライアント側で作成。公開鍵で暗号化してサーバー側に送る!
    • サーバー側は、送られてきた公開鍵を秘密鍵で復号し、共通鍵を取り出します。これで、サーバーとクライアントの両方が安全に共通鍵を持つことができました。
  4. SSL通信を開始
    • あとは、共通鍵を使って暗号化通信をしていきます。

関連キーワード

  • 認証局
    • この公開鍵は確かに本人のものですよ、と証明する機構
    • どうやって公開鍵の正当性を保証するか
      • 1_管理者が公開鍵を認証局に登録しておく
        • -> CAはデジタル証明書を発行してあげる
      • 2_認証局に登録した鍵によって身分を保証
        • エンドユーザ(ブラウザ)が、使う時に、自分の知るルート証明書と照合して確認
  • オレオレ証明書