利用者環境の安全性のためのPKI

3.1. PKIの基礎知識 | 3.3. 業務システムにPKIを適用した場合の課題

3.2. 証明書のライフサイクル

証明書には、作成・使用・廃棄をというライフサイクルが存在します。PKIには証明書のライフサイクルを管理する仕組みが備わっていて、その管理においてはCAが中心的な役割を果たします。以降では、証明書の作成・使用・廃棄がどのように行われるのかについて、順番に説明していきます。


3.2.1. 証明書の作成

証明書を作成するためには、まず証明される対象者を所有者とする公開鍵暗号系の鍵ペア(公開鍵と私有鍵)を作成します。鍵ペアの公開鍵にいくつかの属性を付加して所定の形式でCAに署名を要求します。この行為及びその形式をCSR(Certificate Signing Request:証明書署名要求)と呼びます。CAは要求の内容に問題がないかなどを審査した後、当該データに署名を施して証明書を発行します。この場面でCAは審査と署名の役割を果たしています。大規模なPKIの場合この2つを分離し、審査機関(RA:Registration Authority)とCAを区別して運用する場合もあります。

証明書は、自分の公開鍵を含めた証明書署名要求をCAに送信します。CAは受け取った証明書署名要求に自身の秘密鍵で署名を施すことにより証明書とし、申請もとに返却します。

図3-3 証明書の作成方法

3.2.2. 証明書の使用

証明書が最も使用される場面は、Webサービス等においてSSLのサーバ証明書を使用する場合でしょう。サーバ側の管理者は私有鍵と証明書、CA証明書をWebサーバの所定の位置に配置します。利用者側のブラウザは提示されたサーバ証明が信頼しているCAで署名されているかを確認し、有効期限やホスト名と証明書のCommon Nameとの対応を確認します(SSLサーバ証明書のSubjectにはCommon Nameという情報が含まれていて、サーバのホスト名が書かれています)。これらの動作はブラウザに閉じているため使用者はあまり意識することはありません。なお、信頼しているCAの証明者は、一般にOSやソフトウェアに含めるかたちで事前に配布されます。

クライアントは、サーバが確かであることを確認するためにサーバから証明証を受け取ります。予め所有しているCAの公開鍵を用いてサーバ証明書の署名を確かめることで、求めるサーバの証明書だということを確認します。

図3-4 証明書の使用方法

3.2.3. 証明書の廃棄

証明書が廃棄されるのは有効期限切れと明示的な無効化の2種類あります。有効期限切れは文字通りで当該証明書の有効期限が切れるか、証明書に署名をしたCAの有効期限が切れる場合です。有効期限は証明書単独で確認できるため特別な機構を必要としません。

明示的に無効化するのは、当該証明書を何らかの理由で無効にしたい場合や私有鍵の漏洩等で当該証明書の実質的な有効性が失われた場合です。こうしたことに対処するため、PKIでは失効した証明書のリストアップするCRL(Certificate Revocation List)やオンラインで証明書の有効性を問い合わせるOCSP(Online Certificate Status Protocol)等の仕組み用意しており、整備も進んでいます。しかしながら、これらの仕組みは実際の業務システムに組み込む場合には制約が大きく、別の仕組み代替されることも多いです。そのあたりの事情については、「業務システムにおけるPKI」で紹介しています。

無料小冊子のお申込みはこちら

株式会社システム計画研究所のオフィシャルサイトはこちら

当サイトへのご質問及び安全・安心・信頼のシステム開発に関するご相談はこちら

通信・ネットワークシステムの開発マネージメント情報サイト「通信・ネットワークシステム開発.COM」はこちら

サーバ監視・ネットワーク監視ツール isNetSentry-S のサイトはこちら