公開鍵基盤
証明書は何と何を結び付けているか。その結び付きは何によって主張されるか。
公開鍵の値と主体(subject)を結び付けている。RFC 5280 は証明書を 「公開鍵の値を主体に結び付けるデータ構造」とし、その結び付きは 「信頼された CA が各証明書にデジタル署名することによって主張される」としている。
証明書には有効期限があるのに、なぜ CRL が必要なのか。
有効期限より前に無効にする必要が生じるため。RFC 5280 は理由として鍵の危殆化、名称の変更、 雇用の終了を挙げている。期限切れを待つ仕組みだけでは、これらの場合に無効化できない。
証明書の連鎖をたどる検証は、どこから始まるか。
トラストアンカーから始まる。トラストアンカーは、連鎖の検証を始める前に利用者が あらかじめ持っている最初の CA の公開鍵である。
公開鍵基盤は、公開鍵と持ち主を結び付けたデータ構造である証明書に信頼された認証局が署名することで成り立ち、失効した証明書は CRL で示される。
flowchart TD
TA["トラストアンカー<br/>(検証開始前に持つ CA の公開鍵)"]
CA1["CA 証明書<br/>(0 個以上)"]
EE["末端主体の証明書<br/>(公開鍵と主体を結び付ける)"]
CRL["CRL<br/>(失効した証明書の一覧。CA が署名)"]
TA -->|信頼の起点| CA1
CA1 -->|署名| EE
CRL -.->|失効していないか照合| EE
CRL -.->|失効していないか照合| CA1
認証パスは、末端主体の証明書と 0 個以上の CA 証明書の連鎖からなる。
証明書が果たす役割
Section titled “証明書が果たす役割”RFC 5280 は証明書を “data structures that bind public key values to subjects”、 すなわち公開鍵の値を主体に結び付けるデータ構造だとしている。 そして “The binding is asserted by having a trusted CA digitally sign each certificate.” と述べており、この結び付きは信頼された CA が各証明書にデジタル署名することによって主張される。
つまり証明書そのものが公開鍵の正しさを証明しているのではなく、 CA の署名が「この公開鍵はこの主体のものである」という主張を支えている。
この文書が対象とするのは X.509 バージョン 3(v3)の証明書と、 X.509 バージョン 2(v2)の CRL である。
認証パスとトラストアンカー
Section titled “認証パスとトラストアンカー”RFC 5280 の認証パスは、末端主体の証明書と 0 個以上の CA 証明書の連鎖からなる。
トラストアンカーは、 連鎖の検証を始める前に利用者があらかじめ持っている最初の CA の公開鍵である。
証明書には有効期間が設定されるが、それより前に無効にする必要が生じる場合がある。 RFC 5280 は CRL を “a time-stamped list identifying revoked certificates that is signed by a CA or CRL issuer and made freely available in a public repository” と定義している。 すなわち、失効した証明書を特定する時刻印付きの一覧であり、CA または CRL 発行者が署名し、 公開のリポジトリで自由に入手できるようにされたものである。
CRL が必要になる理由として、RFC 5280 は鍵の危殆化、名称の変更、雇用の終了を挙げている。 いずれも有効期限とは無関係に発生しうる事情である。
CRL 自身にも CA(または CRL 発行者)の署名が付く。
前提
関連