第11回 暗号技術の常識知ってるつもり?「セキュリティの常識」を再確認(4/5 ページ)

» 2005年04月26日 09時00分 公開
[宮崎輝樹(三井物産セキュアディレクション),ITmedia]

 ここで大きな問題が1つ残される。送信者の公開鍵は、確かに送信者が持っている秘密鍵に対応した公開鍵なのであろうか?

 例えば、このようなことが考えられる。アリスがボブに暗号化した秘密のデータを送りたいとする。しかし、キャロルがボブに成りすまして、自分の公開鍵を「ボブの公開鍵」と称して、アリスに渡したとする。すると、偽の「ボブの公開鍵」で暗号化したデータは、当然本物のボブの秘密鍵では復号できないのである。この暗号化されたデータを復号できるのは、偽の「ボブの公開鍵」に対応する秘密鍵を持ったキャロルだけである。そして、キャロルはアリスからの暗号データを盗み見た上で、今度は本物のボブの公開鍵でデータを暗号化して、ボブへ渡せば、キャロルが盗聴されたことも気付かれない。

 このように、第三者による盗聴(「Man-in-the-middle攻撃」と呼ばれる)が成立するかも知れないので、受け取った公開鍵が、確かにそのユーザーのものであるのかどうかを確認する方法が必要となる。

 公開鍵を本人から直接もらえば問題ないかもしれないが、ちょっと待って欲しい。先に説明したように、公開鍵暗号方式の利点の1つとして、鍵の交換が簡単に行える点があった。しかし、これでは共通鍵暗号方式と変わらない。

 そこで考え出されたのは、「信頼できる第三者(TTP:Trusted Third Party)」が、「これはボブの公開鍵ですよ」と証明する方法である。証明する方法としては、TTPがボブを確実な方法(対面など)で認証し、認証したボブから受け取った公開鍵について、それ対応する秘密鍵をボブが確かに保有していることを確認した上で、TTPがTTPの秘密鍵を使用してボブの公開鍵に対して電子署名した「公開鍵証明書(Public-key Certificate)」(または、単に「証明書(Certificate)」と呼ぶ)を発行するのである。このように、公開鍵証明書を発行するTTPを「認証局(CA:Certification Authority)」と呼ぶ。アリスは、CAの公開鍵を使用して証明書の署名を確認することで、正しいボブの公開鍵を得られたことが確認できるのである。

 ここで、「CAの公開鍵は信頼できるの?」と考えた方もおられるであろう。CAの公開鍵が確かにCAの公開鍵であることを確認する方法もなければ意味がない。答えは簡単で、別の(上位の)CAに証明書を発行してもらうのである。そして、その上位のCAの公開鍵は、さらに上位のCAが証明書を発行し、そのさらに上位のCAの公開鍵は、さらにさらに上位のCAが証明書を発行し……とキリがない。

 実際には、ルートCAと呼ばれるCAは、自分自身の公開鍵に対して、自分自身の秘密鍵で署名した証明書(「自己署名証明書」とも呼ぶ)を発行し、ユーザーがこの証明書を最終的に信頼するかしないかを決めるのである。

図5 図5■PKI

 このようにして、認証局のツリー(ルートCAを頂点にツリー状になっていることから、このように呼ばれる)によって構築された認証のインフラを「PKI(Public-Key Infrastructure)」と呼ぶ(図5)。

 一般的に各認証局では、自身の認証局が発行した証明書が信頼できることを示すために、運用の方法や体制、セキュリティ対策などについて説明した「CPS(Certilicate Practice Statement)」と呼ばれる文書を公開しており、さらに第三者によって定期的にCPSに従って運用されているかどうかの監査を受けているのである。それにより、「信頼できる認証局」であることを示しているのである。このようなTTPで有名な会社としては、米VeriSignや米BeTrusted(旧CyberTrust)などがある。

IBE(Identity-Based Encryption)

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ