暗号化システムの仕組み

公開鍵暗号方式を使った電子署名

どんな時に電子認証が必要なのか

最近ではインターネットで品物を売買したり、銀行のお金の移動をしたり することが出きるようになりました。これはとても便利ですが、 このような取引を行う場合には、相手が誰であるかが確認できなければなりません。

例えば、ある銀行の口座からお金を移動しようとする場合、 依頼者(クライアント)が口座の持ち主であることを確認(クライアント認証) しなければなりません。 また逆にある人が銀行のホームページに接続して、振込みの処理などを 行う場合には、接続している相手が間違いなく、自分が利用している 銀行のサーバであることが確認(サーバー認証)できなければ、 安心して通信できません。 だれかが銀行になりすましてサーバを立ち上げ、ユーザに接続させて 振込みなどの処理をさせ,その際に入力される暗証番号などを盗む可能性が あるからです。

また、買い物をする場合、お金を払う相手が間違いなく それを売ってくれるお店(サーバ)であることを買い手が確認(サーバー認証) しなければ、ある店の名を語る詐欺師にお金を払うことになる可能性もあります。

これらのことはありえないことではありません。 これまでもDNSのセキュリティーホールをつく方法 "DNS Cache poisoning"などがありましたし、 今後も犯罪者がいろんな方法を考え出すことでしょう.この対策のために 公開鍵方式を使った電子認証が使われるのです。

この手の作業は、犯罪者との追いかけごっこのようなものにも見えますが, いくらかでも安全を得るための方法が必要です。 この一つが公開鍵方式を使った電子認証なのです。

電子認証の仕組み

公開鍵暗号方式を使うと、 ある情報が間違いなく秘密鍵の持ち主から送られたものであることを 確認することができます。しかし、秘密鍵の持ち主が何者であるのかは わかりません。

この情報は、秘密鍵の持ち主から来たものであるということしか 保証されないのです。では通信の相手がだれであるかを 保証するにはどうすればよいでしょうか。

一般社会において人が自分の身分を証明するのに用いるのは権威ある機関が 発行した身分証明書です。これは、国が発行した運転免許証であったり、 学校が発行した学生証であったり、会社が発行した社員証であったりします。

これと同様に、インターネットの世界でも権威ある機関がこれを保証することに なります。CA(Certification Authority)と呼ばれるものがそれです。この機関に 証明されている場合信頼できるものとして受け入れるというわけです。

しかし信頼されているCAに発行された証明書は受け入れられても、 そうでない証明書は信頼性が低いと考えられる場合があります。 国が発行している証明書は受け入れるが、自分のまったく知らない マイナーな機関が保証したものは疑わしいと感じるのと同じです。

VeriSignのように権威のあるものもあれば、そうでない機関が 発行したものもあります。OpenSSLというフリーソフトがあれば だれでも証明書は発行できるのです。

もしかすると、WWWのブラウザをSSLで暗号通信を行う場合、 「この証明書は...から発行されていますが、信用しますか?」 というメッセージが表示される場合がありますが、 それはブラウザが信頼できる機関として設定されていないことを あらわします。このような場合の判断をユーザにさせているのです。

電子認証用の証明書

証明書はどのようにして作られる、またどのように確認するのでしょうか この証明書の作成と認証には公開鍵暗号方式を用います。

自分の証明書が欲しい人または機関は以下の手順で証明書を作ります。

電子証明書取得手順

  1. 秘密鍵と公開鍵のペアを作ります。
    この秘密鍵で暗号化されたものは公開鍵で復号でき、 この公開鍵で暗号化されたものは秘密鍵で復号できます。
  2. この公開鍵をCAに送って、CAの秘密鍵で暗号化してもらいます。
    この暗号化されたものが証明書となります。
こうしてできた証明書を、自分の身分を確認したいという人に提示するのです。 では、身元を確認した人はその証明書をどのように確認するのでしょうか。

電子証明書確認手順

確認は以下の手順で行います。

  1. 信頼できるCAの公開鍵を取得します。
    これは信頼できる入手経路で入手しなければなりません。 Internet Explore や Netscape Communicator のパッケージ から入手する場合が多いと思われます.
  2. 証明書をCAの公開鍵で解読します
    証明書にはどのCAで発行された証明書かが書き込まれているので, そのCAの公開鍵でその証明書を開きます.
    CAの公開鍵で開くことのできる証明書を作ることができるのは CAだけですから、CAによって身元が保証されていることを 確認することができます。
    解読された証明書の内容に関しても、CAは内容が保証できるものか 行政当局の書類などを確認して,から証明書を発行する場合が多いので 信頼することができます。
こうして、身元を確認することができるのです。 このように、証明書を発行する場合に秘密鍵で暗号化された情報は 電子署名として用いることができるのです。

証明書の破棄

証明書には有効期限が設定されていますが,有効期限内にも 無効にしたい場合があります。それは秘密鍵が漏れてしまった場合などです。 この場合には、CAに依頼してCRL(証明書廃棄リスト:Certificate Revocation List) を配布してもらいます。これにより、これまでの証明書を無効とすることが できます。

公開鍵の入手

公開鍵はLDAPのようなディレクトリサービスで取得することが、 将来は一般になると思われます.

認証技術の利用

この電子認証を使って実現した安全な通信方式にSSLがあります。

SSL通信のページへ

FC Labのホームへ Copyright(c) 2001 Takeshi FUJIKI All rights reserved.