Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

「デジタル署名」の検証は、「送信側の公開鍵」を拠り所にしていると言えるが、提供される「送信側の公開鍵」の出所が、正規の出所か、検証できない(場合がある)という問題がある。
このため、この問題を解決するための、「認証局」と呼ばれる、信頼のおける第三者が発行した「デジタル証明書」を使用して「送信側の公開鍵」が信頼できるものであるかを検証する機構がある。

デジタル証明書

この「デジタル証明書」には以下のものがある。

デジタル証明書の種類

デジタル証明書に含まれる情報

これらの「デジタル証明書」には、以下の情報が含まれる。

デジタル証明書の発行

デジタル証明書の発行

「デジタル証明書」は、このような方式により成り立っているので、その信頼性は「認証局」の信頼性に依存する。

デジタル証明書の利用

デジタル証明書の利用
  1. 証明書の検証
    1. 「送信側の証明書」の送付
    2. 「認証局の公開鍵」を使用して「送信側の証明書」を検証する。
  2. メッセージの検証
  3. 秘密鍵を使用してメッセージに署名を付与
    1. メッセージ+署名の送付
    2. 送信側の公開鍵を使用して、署名からメッセージを検証する。

秘密鍵付きの証明書の受け渡し

他者(上記、上記の図の場合、受信側に該当する)に証明書を渡す場合は、秘密鍵は渡されない。
秘密鍵付きの証明書の受け渡しを行う場合は次の手順に従う。

  1. 送信側は、秘密鍵付きの証明書をパスワードで暗号化してpfxファイルとしてエクスポートする。
  2. ②エクスポートしたpfxファイルを渡す。
  3. 受け取ったpfxファイルをパスワードで復号化してインポートする。

この一連の操作は、Windowsの証明書スナップインなどで確認できる。

ルートの認証局と中間の認証局

なお、「認証局」が「ルートの認証局」と「中間の認証局」に分かれる場合は、次のようになる。

↓ 証明書の発行 & 検証

↓ 証明書の発行 & 検証

証明書の種類

「デジタル証明書」の主要な利用例として、

サーバー証明書

目的

サーバーのユーザが、サーバーの提供者の正当性を検証できるよう、
サーバーに「サーバー証明書」を埋め込む。

用途

以下で利用されている。

SSL暗号化通信

また、SSLは、「ハイブリッド・暗号化」を使用しているが、
このうちの「公開鍵・暗号化方式」で使用する鍵に「SSLサーバ証明書」に同梱されている秘密鍵・公開鍵を使用している。

クライアント証明書

目的

ユーザーが別のユーザーの正当性を検証できるよう、
ユーザのメッセージに「クライアント証明書」を埋め込む。

用途

以下で利用されている。

コード サイニング証明書

目的

プログラム配布先のユーザが、プログラムの開発元の正当性を検証できるよう、
開発したソフトウェアの実行モジュールに「コードサイニング証明書」を埋め込む。

用途

証明書生成の方法

IIS

IISを使用して「証明書チェーンがないオレオレ証明書」を生成できる。

証明書サービス (AD CS)

証明書サービス (AD CS)を使用して「証明書チェーンがあるオレオレ証明書」を生成できる。

makecert.exe

Windows SDK (旧Platform SDK)に同梱されているツール。

オレオレ証明書

「SSL等のPKIにおいてクライアント側で検証できない(認証パスを辿れない)サーバ証明書。」

全般のことを言い、正規の認証局から取得していない証明書全般を指す。

オレオレ証明書には以下の様な種類がある。

証明書チェーンがないオレオレ証明書

このタイプのオレオレ証明書は証明書チェーンが無いため、
自身の秘密鍵をエクスポートして、クライアントにインポートさせる必要がある。

証明書チェーンがあるオレオレ証明書

このタイプのオレオレ証明書は証明書チェーンを持っている。

タイプ1

企業内で独自認証局を運用しており、
各クライアントは独自認証局の証明書の秘密鍵をインポートしている。

タイプ2

企業内で独自認証局を運用しており、
この独自認証局は正規の認証局から、
中間認証局の証明書を取得している。

この場合、秘密鍵をインポートは不要である。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS