証明書とは
公開鍵証明書 (単に証明書とも) は以下の2つのセットのことです。
信頼を有するある者が、信頼のないある者の公開鍵の信頼性を第三者に保証するために発行します。
- デジタル署名: 信頼を有するある者がその秘密鍵で、信頼のないある者の公開鍵 (のハッシュ値) を暗号化した結果。電子署名とも。
- 信頼のないある者の公開鍵
第三者が証明書を利用する手順は以下の通りです。
- 公開鍵証明書から、デジタル署名と信頼のないある者の公開鍵を取り出す
- 信頼を有するある者の公開鍵を用意
- 信頼を有するある者の公開鍵でデジタル署名を復号化し、信頼のないある者の公開鍵 (のハッシュ値) と一致するか確認
- 信頼性が保証された、信頼のなかった者の公開鍵を用いて、メッセージを暗号化または復号化して通信
- 今後認証の手間を省くために、第三者は信頼のなかった者の公開鍵を、信頼のあるものとして保存しておく
公開鍵証明書は単に証明書とよばれたり、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を取得し、リストと署名を取り出し、
リスト (のハッシュ値) を認証局の公開鍵で暗号化し署名と比較して、リストの妥当性を検証します。
そして、リストに掲載されている証明書を保持していれば破棄します (破り捨てます)。
関連記事
- クロスルート証明書の具体例クロスルート証明書とは、中間証明書を署名したルート CA を更に別のルート CA が署名したものです。中間証明書を署名したルート CA の証明書がインストールされていないクライアントであっても、クロスルート証明書を署名したルート CA の証明書がインストールされていれば、サーバー証明書の信頼性を確認できます。 具体例 openssl コマンドで実際にサーバー証明書を取得しました。 $ openss...
- JDK keytool の基本的な使い方 (openssl との対比)JDK でインストールされる keytool コマンドの利用方法を、openssl コマンドと対比してまとめます。keytool コマンドは、Android Studio のドキュメントでも使用される、Java における一般的なツールです。 秘密鍵、公開鍵 (、自己署名証明書) の生成 keytool は openssl と異なり、秘密鍵と公開鍵の片方のみを生
- オレオレ (サーバ/クライアント) 証明書の発行証明書は認証局 (CA) が公開鍵 (をもとに情報を付加した証明書署名要求 (CSR; certificate signing request)) に署名をしたものです。一般的に証明書は公開鍵を内包しています。サーバ証明書およびクライアント証明書を実際にコマンド例を示しつつ発行します。 認証局 (CA) を構築 証明書は認証局 (CA) が 証明書署名要求 (CSR; certificate si...
- 暗号技術まわりの用語の簡単なまとめ暗号方式の分類 暗号化に用いる鍵と復号化に用いる鍵が異なるかどうかで2種類に分類されます。 対称暗号 暗号化と復号化に同じ鍵を用います。共通鍵暗号、共有鍵暗号、秘密鍵暗号ともよばれます。 具体例 DES (Data Encryption Standard): ブルートフォースアタックで現実的な時間内に解読されることが分かっています 3DES: トリプルデス。DESを三段重ねにしたもので処理スピード...