証明書とか認証局についての簡単なまとめ
[履歴] [最終更新] (2013/09/04 07:46:10)

概要

公開鍵証明書 (単に証明書とも) は以下の2つのセットのことです。
信頼を有するある者が、信頼のないある者の公開鍵の信頼性を第三者に保証するために発行します。

  • デジタル署名: 信頼を有するある者がその秘密鍵で、信頼のないある者の公開鍵 (のハッシュ値) を暗号化した結果。電子署名とも。
  • 信頼のないある者の公開鍵

第三者が証明書を利用する手順は以下の通りです。

  1. 公開鍵証明書から、デジタル署名と信頼のないある者の公開鍵を取り出す
  2. 信頼を有するある者の公開鍵を用意
  3. 信頼を有するある者の公開鍵でデジタル署名を復号化し、信頼のないある者の公開鍵 (のハッシュ値) と一致するか確認
  4. 信頼性が保証された、信頼のなかった者の公開鍵を用いて、メッセージを暗号化または復号化して通信
  5. 今後認証の手間を省くために、第三者は信頼のなかった者の公開鍵を、信頼のあるものとして保存しておく

公開鍵証明書は単に証明書とよばれたり、PKC (public-key certificate) と記述されたりします。

認証局 (CA)

概要で述べた信頼を有するある者はこの分野では一般に認証局とよばれます。CA (certification authority) とも記述されます。
有名な認証局に、ベリサインという企業があります。

ルートCA

ある認証局 (CA) の信頼性を保証するために、別のCAが必要になる場合があります。
そしてそのCAの信頼性を保証するために、また別のCAが必要になるかもしれません。
そうしてCAは階層構造になっており、そのルートをルートCAとよびます。
なお、ルートCAの信頼性はルートCA自身が保証しています(セルフ署名)。
世界には唯一のルートCAというものはなく、無数のルートCAが存在しています。

X.509

証明書の標準規格です。公開鍵証明書には主に2つ、厳密には3つの要素が含まれています。

  • 公開鍵
  • デジタル署名 (公開鍵 (のハッシュ値) を認証局の公開鍵で暗号化した結果)
  • デジタル署名を生成するとき (暗号化するとき) に用いたアルゴリズム

それら3つの要素を証明書として受け渡す際の手順のようなものです。
第三者のアプリケーションはX.509をサポートしているため、その手順に従って証明書を受け取ります。

公開鍵基盤 (PKI)

公開鍵の認証を行うために必要となるあらゆる要素を総合したものです。
PKI (public-key infrastructure) ともよばれます。
前述のX.509もPKIの構成要素です。
企業や政府は必要な要素をまとめて各々のPKIを構築し、運用しています。

証明書ディレクトリ

認証局が発行した証明書を保管しておく場所です。第三者はここから証明書を取得します。
レポジトリともよばれます。

証明書破棄リスト (CRL)

有効期限がきた証明書や、有効期限以前であっても無効化しなければならない
証明書のリスト (に認証局のデジタル署名を付加したもの) です。
CRL (certificate revocation list) ともよばれます。

第三者は最新のCRLを取得し、リストと署名を取り出し、
リスト (のハッシュ値) を認証局の公開鍵で暗号化し署名と比較して、リストの妥当性を検証します。
そして、リストに掲載されている証明書を保持していれば破棄します (破り捨てます)。

関連ページ
    暗号方式の分類 暗号化に用いる鍵と復号化に用いる鍵が異なるかどうかで2種類に分類されます。 対称暗号 暗号化と復号化に同じ鍵を用います。共通鍵暗号、共有鍵暗号、秘密鍵暗号ともよばれます。 具体例 DES (Data Encryption Standard): ブルートフォースアタックで現実的な時間内に解読されることが分かっています
    概要 証明書は認証局 (CA) が公開鍵 (をもとに情報を付加した証明書署名要求 (CSR; certificate signing request)) に署名をしたものです。一般的に証明書は公開鍵を内包しています。 証明書とか認証局についての簡単なまとめ: CA, X.509, PKI, 証明書ディレクトリ, 証明書破棄リスト(CRL)
    概要 ファイルやメールの暗号化を行うための PGP (Pretty Good Privacy) の別実装である GNU Privacy Guard (GnuPG, GPG) について基本的なコマンドを記載します。通信の暗号化を行う SSL/TLS と区別します。例えば Thunderbird では GnuPG を利用するための Enigmail というアドオンが存在します。2020 年の夏には、