Digital Certificate

 デジタル証明書とは,コンピュータ・ネットワーク上で個人の身元や電子資産などの証明に使われる特別なデジタル・データのこと。いわば電子のパスポートのようなものである。英語ではDigital Certificateという。

 デジタル証明書の発行は,認証局(CA=Certificate Authority)と呼ばれる第三者機関が実施する。CAは証明書の所有者の身元を確認したうえで,証明書の内容が間違いないことを認証する。

 デジタル証明書には,証明書を発行したCAの名前,シリアル番号,有効期限,所有者名,電子メールアドレス,所有者の公開鍵などの情報が埋め込まれている。その基本的なフォーマットは,国際電気通信連合電気通信標準化部門(ITU—T)のX.509に準拠している。日本国内では,日本ベリサイン(本社東京),日本ボルチモアテクノロジーズ(本社東京),日本認証サービス(本社東京)などがそうした認証サービスを提供している。

 デジタル証明書では暗号化による機密情報のやり取りができるようになっている点も一つの特徴だ。

 例えば,クレジットカード番号など,ユーザーの機密情報を取得する仕組みとなっているWebサーバでのデジタル証明書の使い方が,その典型である。すなわち,こうしたWebサーバでは,アクセスしてきたユーザーのブラウザに対し,デジタル証明書を使って,自らのサイトがCAによって認証されていることを提示。そのうえでデジタル証明書に埋め込まれた公開鍵をユーザーに渡し,ユーザーから送信される機密情報が,そのWebサーバでしか解読できないことを知らせるのである。

 ちなみに,公開鍵とは公開鍵暗号方式で使われる二つ1組の鍵のうちの片方のことだ。公開鍵暗号方式は,暗号化と復号で異なる鍵を使い,その一方を公開し,もう一方を秘密としておく暗号文の授受方法である。例えば,送信者は受信者に対し公開鍵を送り,受信者はその公開鍵を使って送信する情報を暗号化する。暗号化した情報を受け取った送信者は,秘密鍵を用いてそれを復号し情報を取得する。

 上記のWebサーバの例では,公開鍵の送信者がデジタル証明書を持つWebサーバに相当し,公開鍵の受信者が同サーバにアクセスしたユーザーに相当する。

 インターネットによる通信を安全に行うための暗号通信プロトコルであるSSL(Secure Sockets Layer)も,実はこうしたデジタル証明書の技術を前提としたものである。SSLでは,少なくともWebサーバがデジタル証明書を取得していなければならないことになっている。

 SSLで通信を行う場合,Webサーバはアクセスしてきたブラウザからのリクエストに基づき公開鍵とデジタル証明書を同ブラウザに送信する。公開鍵を受け取ったブラウザは,デジタル証明書によってWebサーバの身元を確認したうえで,情報暗号化のための共通鍵(公開鍵とは別の暗号系)を作成する。そして,その共通鍵をWebサーバから受け取った公開鍵を使って暗号化し,Webサーバに送る。Webサーバは暗号化された共通鍵を秘密鍵で復号。その共通鍵を使って,ブラウザとWebサーバの間で情報を暗号化してやり取りする。これがSSLだ。