LoginSignup
1
0

More than 5 years have passed since last update.

SSL証明書について、何回調べても忘れてしまうので自分でまとめた。

Last updated at Posted at 2018-03-13

SSL証明書について、何回調べても仕組みについて忘れてしまうので、対策として。

以下の流れで学習をする。自分の言葉で言い換えることで、格段に記憶に定着するようになる。
1. 初心者向けの記事をひととおり読んで、分かった気になる。
2. これが分かりやすいという図を探す。
3. 自分の言葉で認証の流れを言い換えてみる。(2で見つけた図を見ながら行うと良い。)

(Ex.)元の文 https://www.cybertrust.ne.jp/sureserver/basics/ssl1.html

WebサーバとWebブラウザの間では以下のような流れでSSL暗号化通信が開始されます。
(1) SSL暗号化アルゴリズムの合意(SSL暗号化仕様交渉)
WebブラウザとWebサーバ間の両者が使用できる一番安全なSSL暗号化の仕様を決めます。
(2) SSLサーバ証明書提示
WebサーバはWebブラウザへSSLサーバ証明書を送信します。Webブラウザは受信したSSLサーバ証明書を確認します。
(3) 共通鍵の元データ交換・共通鍵の生成
Webブラウザは共通鍵の元となるデータを作成し、SSLサーバ証明書の公開鍵で暗号化してWebサーバへ送信します。
両者は同じ元データを使用し、共通鍵を生成します(全く同じものを生成します)。
(4) SSL暗号化通信開始
以降、実際のデータのSSL暗号化通信が開始されます。

図は Webセキュリティ覚書 : "HTTPS" 編 [ 初学者向け ] も参考にした。

(Ex.)自分の言葉で言い換え
 1. 利用者(Webブラウザ)がWebサーバと通信したい。
 2. 安全にやりとりをするために、暗号化の方法を決める必要があるので、決める。
 3. Webサーバは利用者へ「公開鍵付き証明書」を送る。※1
 4. 利用者は貰った「公開鍵付き証明書」を元に、共通鍵を作成する。※2
 5. 利用者はさらに作成した共通鍵をWEBサーバの公開鍵で暗号化して「暗号化共通鍵」を作成し、WEBサーバに送る。
 6. WEBサーバは自分の秘密鍵で受け取った「暗号化共通鍵」を平文に戻す。(WEBサーバは共通鍵を手に入れる)
 7. 以上で、両者が同じ共通鍵を持つことになるので、それを用いて暗号化通信を行う。

※1 そもそもWEBサーバから送られた「公開鍵付き証明書」が偽物であった場合に備えた仕組み

認証局( CA => Certificate Authority )

公開鍵が本物であるかどうか、それを判断し証明するために認証局は存在します。
つまり、クライアントとサーバーが双方信頼する第三者機関がその立場に立ってくれます。

※2 共通鍵って?

共通鍵暗号方式では、暗号化する際の「鍵」と復号する際の「鍵」は同一のもの(共通の鍵)を使います。 「共通鍵」情報は公開されておらず、送信側と受信側のみで共有されているのが特徴です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0