ネットワーク / プロトコル / HTTP / HTTPS

ネットワーク / プロトコル / HTTP / HTTPS

HTTPS でブラウザとかサーバは何をやっているのかメモ

  • 秘密鍵を生成
  • 秘密鍵でCSRを生成
  • CSRで証明書を生成
  • 秘密鍵と証明書でWebサイトの通信を暗号化

らしい。

キーワード

公開鍵暗号

暗号化の鍵を1つではなく用途に応じて2個に分散させて暗号化することで安全性が高めてある暗号方式

ペアの公開鍵で掛けた暗号を秘密鍵を使うと解くことができる。 これによりパスワードのような共通情報を公開せずに異なる人間の間で暗号を用いることができる。

逆に秘密鍵で掛けた暗号は公開鍵で解けるので、暗号化された情報の正当性が保証される。

コンピュータとしては処理負荷が高く、大きな情報をまるごと暗号化する用途に向かないので、鍵に対して鍵を掛けたり、暗号化復号化動作できることによる正当性の担保に使われることが多い。

秘密鍵

公開鍵暗号方式でのペアとなる鍵の一つ。自分の手元に保存しておいて公開しない。

秘密鍵を使って、ペアの公開鍵を生成することができる。

簡単に言うと自分のオリジナル南京錠の鍵。

公開鍵

公開鍵暗号方式でのペアとなる鍵の一つ。他人に見せてもよい。

簡単に言うと秘密鍵だけで開けられる南京錠の本体側。

証明書

正式名称 公開鍵証明書。

公開鍵に対して、その所有者情報を付加したモノ。 なので証明書は公開鍵情報をすべて含むので公開鍵そのものとして使うことができる。

長く言うと「SSLサーバー証明書」と呼ばれることもある。

ルート証明書

公開鍵の正当性を保証する証明書であるが、自分の公開鍵を自分自身で署名して発行された証明書をルート証明書と言う。

この正統性は暴力によって保証される。つまり最終的に信用しない連中や偽装する連中にミサイルを打ち込む背景をもってして保証することになる。

つまり、定義としては自身で鍵を証明した証明書を指すのだが、別の視点で見ると、独力で信用を担保できる認証局が持つ自身の証明書ということになる。 このような認証局をルート認証局と呼ぶ。

この証明書は正当性を認証局を遡っていけば検証できるのだが、省力するためにブラウザ等の通信プログラムは信用できる証明書を予め内部に保持している。 特にトップ中のトップのルート証明書は重要で、多角的、状況的な面でその証明書の正当性を検証、使用される。その条件として、ブラウザに最初からインストールされているという条件もあるので、ここが揺らぐと通信できない対象が出てくる。

古いブラウザで証明書が更新されていない、新しいルート認証局由来の証明書を使っているサイトがある。ルート証明書まで遡るのだが、どこの馬の骨かわからない認証局なので NG となる。

認証局 Certificate Authority(CA)

公開鍵に対して証明書を発行(作成)し、その公開鍵の正当性を保証する。

認証局自体の正当な識別はデジタル署名によって行われる。

つまり認証局に対して公開鍵を送り、公開鍵にメタデータを付加したものを、認証局の保持する秘密鍵で暗号化するという操作になる。

認証局が登録者に対して鍵のペアを所有しているのを確認するのは当たり前として、 その他情報(名前、住所等)はネットワークでもデジタルでもなんでもなくオフラインの実力行使となる。

認証局の公開鍵で証明書の鍵を開けることができるなら、その中の情報は正当性が極めて高く、それをもってして正当な鍵とする。

中間認証局

公開鍵に署名して証明書を発行することはできるが自身の証明は持っておらず、さらいに上位の認証局に署名してもら必要がある認証局。

公開鍵の証明に公開鍵が必要(デジタル署名)なのだからその公開鍵の証明にまた公開鍵が必要になっている状態と思えばわかりやすい。

デジタル署名

対象のデータに対して、そのデータ(もしくはそれに類するメタデータ(ダイジェスト値等))を秘密鍵で暗号化すること。

公開鍵で開き、実データと比較することで、実データに対して確かに本人(秘密鍵の保持者)が何かのアクションをとったぞという証拠になる。

X.509

なんかこの認証系の何かをやろうとしたらやたら出てくる数字

証明書を作るの規格?ルール?の一種。

証明書署名要求 CSR

簡単に言うと、認証局にデジタル署名されてない証明書。証明書を作るための申込用紙みたいなモノ。 つまり、鍵本体+そのメタ情報からなる署名されてない証明書と思えばよい。

こいつをちゃんと作って送れば、認証局はそれをデジタル署名して、公開し公開鍵の正当性が保証されることになる。

network/protocol/http/https/start.txt · 最終更新: 2021-03-02 18:08 by ore