デジタル証明書 【digital certificate】 電子証明書 / electronic certificate / 公開鍵証明書 / public key certificate
概要
デジタル証明書(digital certificate)とは、暗号化やデジタル署名に用いる公開鍵暗号の公開鍵を配送する際に、受信者が鍵の所有者を確認するために添付される一連のデータセットのこと。一般的には認証局(CA:Certificate Authority)と呼ばれる機関が発行する。公開鍵暗号では一対の暗号鍵の組を用い、一方は自分しか知らない秘密鍵として、もう一方は通信の相手方に渡して使ってもらう公開鍵として用いる。相手と安全な受け渡し手段がある場合は事前に公開鍵を渡しておくことができるが、そうでない場合はインターネットなど信用できない経路を含む通信手段で鍵を配送しなければならない。
そこで、公開鍵が通信途上で攻撃者による改竄・すり替えに遭っておらず、確かに送信者本人のものであると受信者が確認できるようにするために、公開鍵データに送信者と受信者の双方が信用する第三者(認証局)のデジタル署名を添付するという手法が考案された。
送信者は認証局に自らの識別(身元)情報や公開鍵を申請し、認証局の秘密鍵でデジタル署名されたデジタル証明書を作成してもらい、これを受信者に渡す。受信者は証明書から公開鍵を取り出し署名を検証することで、認証局がその公開鍵が送信者本人のものであると主張していることを確かめることができる。
現在広く普及しているデジタル証明書の規格はITU-Tの定めたX.509で、公開鍵自体の他に、証明書発行者(認証局など)の識別情報、証明書の識別情報(シリアル番号など)、証明書の有効期間(開始日・終了日)、鍵の所有者の識別情報、公開鍵の暗号アルゴリズムの種類、発行者によるデジタル署名などの情報が記載される。
認証局の鍵配送問題とルート認証局
証明書のデジタル署名を検証するには認証局の公開鍵が必要となるため、受信者は送信者が利用する認証局の公開鍵を安全に入手しなければならない。しかし、世の中のすべての認証局の公開鍵をあらかじめ揃えておくことは現実的ではなく、また、インターネットなどで公開鍵をそのまま配送するのは送信者の鍵を送る場合と同じ危険がある。
この問題を回避するため、Webブラウザなど公開鍵暗号を利用するソフトウェアには世界的に有力な少数の認証局の公開鍵が安全な方法であらかじめ組み込まれており、そのような認証局をルート認証局(ルートCA)という。
各認証局は自らの公開鍵を上位の認証局に署名してもらって公開し、上位認証局はさらに上位の認証局に署名してもらって鍵を公開し…というプロセスを繰り返し、最終的にルート認証局の署名が得られれば、利用者は安全に各認証局の公開鍵を入手することができる。ルート認証局は利用者側でも追加できるようになっているため、必ずしも著名な機関を頂点とする証明書しか使用できないわけではない。