答え:問題が見つかったら無効にする仕組みがあります

 今まで解説したように、サーバー証明書はTLSの安全性のキモと言うべき重要な要素だ。サーバー証明書に含まれる公開鍵が、証明書に記載された企業・組織あるいはドメインのものだと保証するお墨付きとして機能するからだ。

 TLSで使われている証明書は、ITUが定めた「X.509 バージョン3(v3)」というフォーマットに従って記述されている。どのようなデータが書き込まれているか具体的に見ていこう。

3パートで構成する

 証明書は、「署名前証明書」「署名のアルゴリズム」「認証局による署名」の3パートで構成される(図6-1)。署名前証明書のパートには、この証明書を使うWebサーバーの運営企業や、証明書を発行した認証局、証明書の有効期限などの基本的な情報が入る。

図6-1●サーバー証明書の構造
図6-1●サーバー証明書の構造
TLSで使われている証明書フォーマット「X.509 v3(version 3)」の構造。大きく分けて「署名前証明書」「署名のアルゴリズム」「認証局による署名」の3つで構成される。署名前証明書を、署名のアルゴリズムを使って認証局の秘密鍵で暗号化(署名)したのが「認証局による署名」になる。
[画像のクリックで拡大表示]

 基本的な情報として何を収容するかは、X.501の最初のバージョン(v1)で定められた。これらの情報を収容した領域は「基本領域」と呼ぶ。その後、お墨付きを与えたい情報が増えたために、バージョン2(v2)と現行のv3では、署名前証明書のパートに「拡張領域」を設けた。

 認証局では、署名前証明書の情報を、「署名のアルゴリズム」に書かれた方法でハッシュ計算し、認証局の秘密鍵で暗号化する。このデータが、「認証局による署名」になる。

 サーバーから送信された証明書の中身を見るのは簡単だ(図6-2)。Webブラウザーの錠マークなどをクリックすれば表示できる。

図6-2●サーバー証明書の表示例
図6-2●サーバー証明書の表示例
Webブラウザーの錠マークなどをクリックすると、現在アクセスしているWebサーバーから送られたサーバー証明書の中身を表示できる。
[画像のクリックで拡大表示]

 証明書には有効期間が記載されている。有効期間外の証明書が送られてくると、WebブラウザーなどのTLSアプリケーションは警告を表示して、処理を中止する。

▼ITU
International Telecommunication Unionの略。日本語では、国際電気通信連合。電気通信に関する国際標準を策定するために設立された。国際連合の専門機関の1つ。