(57)【特許請求の範囲】
【請求項１】
外部の通信装置からの鍵取得要求への応答として送信される公開鍵と当該公開鍵を取得した公開鍵利用者のアドレス情報とを関連付けて管理する管理手段と、
前記公開鍵が更新された場合に、その更新された公開鍵を、前記管理手段が管理するアドレス情報を用いて公開鍵利用者に配信する鍵配信手段と、
外部の通信装置から公開鍵受領完了通知を受信した場合に、その通信装置のアドレス情報に関連付けて前記管理手段に管理された公開鍵利用者の鍵更新情報を書き替える鍵更新情報書き替え手段と、
前記管理手段が管理する公開鍵利用者全員の鍵更新情報が前記鍵更新情報書き替え手段によって最新の情報に書き替えられた場合に、更新前の公開鍵を消去する鍵消去手段と
を備えることを特徴とする公開鍵取扱装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、ネットワーク上で公開鍵暗号方式を用いて通信を行う通信装置や、公開鍵を広範囲に配信するための公開鍵サーバなどに適用されるもので、より詳しくは、公開鍵の更新に際して、その更新鍵を利用する公開鍵利用者に対し、更新された公開鍵を確実に配信するための技術に関する。
【０００２】
【従来の技術】
インターネットなどのネットワーク通信の普及により、情報の秘匿、改竄防止、なりすまし防止などを目的とした情報セキュリティが重要となっている。このため、非対称暗号方式である公開鍵暗号方式を使った情報通信の暗号化技術が注目されている。公開鍵暗号方式は、データを暗号化するときに使用する鍵と、その鍵で暗号化されたデータを復号化するときに使用する鍵とが異なるもので、データの暗号化に使用する鍵の構造は公開し、復号化する鍵は秘密とする暗号方式である。これにより、データの送り手側では、公開された鍵（以下、公開鍵）を使ってデータを暗号化することができるが、その暗号化されたデータを復号化できるのは、公開鍵と対（ペア）の秘密鍵をもつ受け手側だけとなる。
【０００３】
このような公開鍵暗号方式を用いてデータの秘匿通信を行う場合、データを送信しようとする送信側の通信装置（以下、送信側装置）では、データに暗号処理を施すにあたって、データの受け手となる受信側の通信装置（以下、受信側装置）により生成された公開鍵が必要となる。一般に、送信側装置で公開鍵を取得するには、受信側装置で生成された公開鍵を公開鍵サーバに登録しておき、その公開鍵サーバに送信側装置がアクセスして公開鍵作成者のメールアドレス等から所望の公開鍵を検索して取得するか、受信側装置から公開鍵を含むメッセージを送付してもらうことになる。
【０００４】
【発明が解決しようとする課題】
ところで、データの受け手側となる受信側装置では、秘密鍵の漏洩や情報セキュリティの強化等の理由で公開鍵と秘密鍵のペアを新たに生成し、公開鍵を更新する場合がある。そうした場合、自身の公開鍵を暗号化に利用している送信側装置に対して、更新された公開鍵を迅速かつ確実に配信する必要がある。
【０００５】
この点に関して、特開平１１−２１５３８３号公報には、公開鍵を配信するための公開鍵サーバと通信装置による組み合わせが提案されている。しかし、この方法では更新された公開鍵が公開鍵サーバに登録されても、それを利用すべき通信装置がポーリングなどにより更新されたことを検出できなければ、更新された公開鍵を取得することができない。そのため、送信側装置では秘密鍵の漏洩により安全性に欠く公開鍵を使用してデータの暗号化を継続する恐れがある。また、公開鍵サーバに登録する公開鍵を更新した受信側装置においても、自装置の公開鍵を利用する全ての公開鍵利用者に対して、更新後の安全な公開鍵が行き渡ったかどうかを確認することができない。したがって、公開鍵を更新した後でも、更新前の古い公開鍵を使って暗号化されたデータを受信する可能性があり、その受信データを復号化するために古い公開鍵をいつまでも保持していることになる。
【０００６】
本発明は、上記課題を解決するためになされたもので、その主たる目的は、公開鍵と秘密鍵をもつ受信側装置で自装置の公開鍵を更新した場合に、更新前の公開鍵を利用している送信側装置（公開鍵利用者）に対して迅速かつ確実に更新後の公開鍵を配信できるようにすることにある。
【０００７】
【課題を解決するための手段】
本発明に係る公開鍵取扱装置においては、外部の通信装置からの鍵取得要求への応答として送信される公開鍵と当該公開鍵を取得した公開鍵利用者のアドレス情報とを関連付けて管理する管理手段と、公開鍵が更新された場合に、その更新された公開鍵を、管理手段が管理するアドレス情報を用いて公開鍵利用者に配信する鍵配信手段と、外部の通信装置から公開鍵受領完了通知を受信した場合に、その通信装置のアドレス情報に関連付けて前記管理手段に管理された公開鍵利用者の鍵更新情報を書き替える鍵更新情報書き替え手段と、前記管理手段が管理する公開鍵利用者全員の鍵更新情報が前記鍵更新情報書き替え手段によって最新の情報に書き替えられた場合に、更新前の公開鍵を消去する鍵消去手段とを備えた構成となっている。
【０００８】
上記構成からなる公開鍵取扱装置においては、外部の通信装置からの鍵取得要求への応答として送信される公開鍵が、その公開鍵を取得した公開鍵利用者のアドレス情報とを関連付けて管理手段に管理される。そして、公開鍵が更新された場合には、その公開鍵に関連付けて管理手段が管理しているアドレス情報を用いて、更新された公開鍵が鍵配信手段により公開鍵利用者に配信される。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。
【００１０】
図１は本発明が適用されるインターネットファクシミリ装置（以下、インターネットＦＡＸと略称）の概略構成図である。図示したインターネットＦＡＸ１００は、ＣＰＵ（中央演算処理装置）１０１、ＲＡＭ（ランダム・アクセス・メモリ）１０２、ＲＯＭ（リード・オンリー・メモリ）１０３、ハードディスクドライブ（以下、ＨＤＤと略称）１０４、プリンタ１０５、スキャナ１０６、ネットワークインターフェース（以下、ネットワークＩ／Ｆ）１０７、操作パネル１０８等を備えて構成されている。これらの構成部は、共通の信号路（アドレスバス、データバス）１０９を介して相互に接続されている。
【００１１】
一般に、インターネットＦＡＸは、他の通信装置（例えば、インターネットＦＡＸ、パーソナルコンピュータ等）との間で画像データをメッセージ内容とする電子メールを送受信することにより、画像データの授受を実現するものである。ただし、インターネット上でのデータ通信では情報の秘匿性を確保できないため、送信側装置では送信すべきデータを公開鍵で暗号化し、その暗号化メッセージを受信側装置が秘密鍵を使って復号化する公開鍵暗号方式が用いられる。なお、インターネットＦＡＸでは、公衆回線（電話回線等）を利用して画像データを授受することも可能であるが、これについては周知のファクシミリ伝送と同様であるため説明を省略する。
【００１２】
ＣＰＵ１０１は、ＲＯＭ１０３に格納された制御プログラムに従って各種の処理（制御処理を含む）を実行するものである。ＲＯＭ１０３には、上述した制御プログラムとともに、データの暗号化や復号化のための暗号化処理機能、さらには公開鍵の利用者を管理する管理機能などの各種の機能手段がプログラムの形で格納されている。なお、ＲＯＭ１０３に格納されたプログラムをＣＰＵ１０１が実行することで具現化される各種の機能手段については、後述するフローチャートを用いた処理手順のなかで詳細に説明する。また、ＲＯＭ１０３には、ＣＰＵ１０１が従うプログラムコードや定数などが格納されており、一般に書き換えが出来ないものが多く電源を切断しても内容が消えないようになっている。ＲＡＭ１０２は、データの一時的な保管、演算処理のためのワークメモリ、通信インターフェースのバッファメモリなどに使用される。
【００１３】
ＨＤＤ１０４は、各種のデータ、メッセージ、情報の保管に使用されるもので、一般に記憶容量がＲＡＭ１０２よりも大きく、公開鍵利用者のアドレス情報などの保管にも使用される。プリンタ１０５は、外部に通信装置から送られてくるメッセージの内容などを用紙等の媒体に印刷するものである。スキャナ１０６は、用紙等の媒体上に描かれた原稿の画像を光学的に読み取ることで、その原稿画像を装置内部で処理できる形式（例えば、ビットマップ形式）の画像データに変換するものである。スキャナ１０６によって読み取られた画像データは、宛先指定された受信側装置に対応する公開鍵で暗号化された後、電子メールのメッセージとして宛先装置に送信される。
【００１４】
ネットワークＩ／Ｆ１０７は、ＩＥＴＦ（インターネット・エンジニアリング・タスク・フォース）で規定されている、電子メール伝送のためのプロトコル（規約）であるＳＭＴＰ(Simple Mail Transfer Protocol)をはじめ、ＨＴＴＰ(Hyper Text Transfer Protocol)等の各種のネットワークプロトコルでネットワーク通信を行うインターフェースである。このネットワークＩ／Ｆ１０７は、インターネットやローカルエリアネットワーク等のネットワーク１１１に接続されて当該ネットワーク１１１上に存在する他の通信装置との間でデータの受け渡しを行う。操作パネル１０８は、各種の設定や宛先指定などの情報入力を受け付けるとともに、ネットワークＩ／Ｆ１０７を介して受信したメッセージや、自装置の公開鍵利用者リストなどを含む各種の情報を表示するものである。
【００１５】
図２は本発明が適用される公開鍵サーバの概略構成図である。図示した公開鍵サーバ２００は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、ＨＤＤ２０４、ネットワークＩ／Ｆ２０５、ディスプレイ２０６、キーボード２０７等を備えて構成されている。これらの構成部は、共通の信号路（アドレスバス、データバス）２０８を介して相互に接続されている。
【００１６】
ＣＰＵ２０１は、ＲＯＭ２０３に格納された制御プログラムに従って各種の処理（制御処理を含む）を実行するものである。ＲＯＭ２０３には、上述した制御プログラムとともに、公開鍵の登録機能や配信機能、さらには公開鍵の取得要求への応答機能や公開鍵の利用者を管理する管理機能などの各種の機能手段がプログラムの形で格納されている。なお、ＲＯＭ２０３に格納されたプログラムをＣＰＵ２０１が実行することで具現化される各種の機能手段については、後述するフローチャートを用いた処理手順のなかで詳細に説明する。ＲＡＭ２０２は、データの一時的な保管、演算処理のためのワークメモリ、通信インターフェースのバッファメモリなどに使用される。
【００１７】
ＨＤＤ２０４は、各種のデータや情報の保管に使用される。ＨＤＤ２０４は、一般に記憶容量がＲＡＭ２０２よりも大きく、公開鍵利用者のアドレス情報などの保管にも使用される。ネットワークＩ／Ｆ２０５は、ＩＥＴＦ（インターネット・エンジニアリング・タスク・フォース）で規定されている、電子メール伝送のためのプロトコル（規約）であるＳＭＴＰ(Simple Mail Transfer Protocol)をはじめ、ＨＴＴＰ(Hyper Text Transfer Protocol)等の各種のネットワークプロトコルでネットワーク通信を行うインターフェースである。このネットワークＩ／Ｆ２０５は、インターネットやローカルエリアネットワーク等のネットワーク１１１に接続されて当該ネットワーク１１１上に存在する他の通信装置との間でデータの受け渡しを行う。ディスプレイ２０６は、ＣＲＴやＬＣＤ等によって構成されるもので、公開鍵サーバ２００の設定情報やＨＤＤ２０４に格納された各種のデータ及び情報など、様々な情報を表示するものである。キーボード２０７は、公開鍵サーバ２００を管理するオペレータが各種の設定情報等を入力操作するためのものである。
【００１８】
図３は送信側装置が公開鍵を取得する際の処理手順を示すフローチャートである。先ず、暗号化メッセージを送信したい受信側装置（相手側装置）のメールアドレス等や設定などから、受信側装置に対して直に公開鍵の取得要求を行うか、受信側装置の公開鍵が登録されている公開鍵サーバに対して公開鍵の取得要求を行うかを決定するとともに、公開鍵の取得要求に使用するプロトコルを決定する（ステップＳ１）。このステップＳ１で決定した使用プロトコルにより、それ以降の処理が分かれる。
【００１９】
即ち、ステップＳ１で決定した使用プロトコルがＳＭＴＰである場合は、ステップＳ２からＳ３に進み、先に決定した受信側装置又は公開鍵サーバに対して公開鍵取得要求メールを送信する。その後、公開鍵取得要求メールへの応答として、これを受信した受信側装置又は公開鍵サーバから送られる公開鍵メールの受信を待つ（ステップＳ４）。このとき、受信側装置又は公開鍵サーバから送られてくる公開鍵メールは、取得要求のあった公開鍵をメッセージとして含む返信メールとなる。
【００２０】
また、ステップＳ１で決定した使用プロトコルがＨＴＴＰである場合は、ステップＳ２からＳ５に移行し、そこで公開鍵の取得要求先が公開鍵サーバであるかどうかを判断する。そして、公開鍵の取得要求先が公開鍵サーバのときは、その公開鍵サーバに対して取得対象となる公開鍵の格納場所を特定するアドレス情報を送信したのち（ステップＳ６）、自装置のメールアドレスを送信する（ステップＳ７）。一方、公開鍵の取得要求先が受信側装置のときは、その受信側装置に対して自装置のメールアドレスを送信する（ステップＳ７）。その後、ステップＳ７でメールアドレスの送信先となった公開鍵サーバ又は受信側装置から所望の公開鍵を取得する（ステップＳ８）。
【００２１】
図４は受信側装置又は公開鍵サーバにおいて公開鍵を送信する際の処理手順を示すフローチャートである。なお、図４に示す処理を実行する受信側装置又は公開鍵サーバは、いずれも本発明に係る公開鍵取扱装置に相当するものである。このうち、受信側装置は、例えば図１に示す構成のインターネットＦＡＸ１００或いは図示しないパーソナルコンピュータによって実現され、公開鍵サーバは、例えば図２に示す構成の公開鍵サーバ２００で実現される。
【００２２】
先ず、送信側装置からの公開鍵の取得要求を受け付けた後（ステップＳ１１）、取得要求を行った送信側装置のアドレス情報を取得する（ステップＳ１２）。このとき、公開鍵の取得要求に使用されたプロトコルがＳＭＴＰであった場合は、その取得要求メールで通知される送信側装置（取得要求元）のメールアドレスを取得する。これに対して、公開鍵の取得要求に使用されたプロトコルがＨＴＴＰであった場合は、アドレス情報の入力を促すメッセージをＨＴＴＰで記述して送信側装置に送り、送信側装置でアドレス情報を入力して返信されたメッセージを受け取ることで、取得要求元のメールアドレスを取得する。
【００２３】
続いて、先に取得要求があった送信側装置のメールアドレスを、自装置内の記憶手段（ＨＤＤ等）に格納された公開鍵利用者テーブルに登録した後（ステップＳ１３）、公開鍵の取得要求を行った送信側装置に対して所望の公開鍵を送信する（ステップＳ１４）。ちなみに、公開鍵サーバには複数の受信側装置によって生成された公開鍵が登録されるため、その中から送信側装置が鍵作成者の氏名やアドレス情報等で指定した公開鍵を検索して送信することになる。
【００２４】
ここで、公開鍵利用者テーブルは、送信側装置（外部の通信装置）からの鍵取得要求への応答として送信される公開鍵とこの公開鍵を取得した公開鍵利用者のアドレス情報とを関連付けて記憶する際に用いられるものである。この公開鍵利用者テーブルには、公開鍵利用者のアドレス情報に関連付けて当該公開鍵利用者の鍵更新情報も記憶される。公開鍵利用者の鍵更新情報とは、公開鍵利用者が利用する公開鍵のリビジョンなどの更新状態を情報として示すものである。公開鍵利用者テーブルへの利用者登録や各種登録内容の変更等は、受信側装置及び公開鍵サーバがそれぞれ備える管理手段によって行われる。
【００２５】
図５は受信側装置において公開鍵が更新された場合の処理手順を示すフローチャートである。なお、図５に示す処理を実行する受信側装置は、本発明に係る公開鍵取扱装置に相当するものである。この受信側装置は、例えば図１に示す構成のインターネットＦＡＸ１００或いは図示しないパーソナルコンピュータによって実現される。
【００２６】
先ず、受信側装置が新たな公開鍵と秘密鍵のペアを生成し、これによって自装置が保持する公開鍵を更新すると、上記管理手段が管理する公開鍵利用者テーブルを参照する（ステップＳ２１、Ｓ２２）。次に、その時点で公開鍵利用者テーブルに登録されている公開鍵利用者全員のアドレス情報（メールアドレス）を取得することにより、自装置の公開鍵を利用している利用者全員を特定する（ステップＳ２３）。その後、ステップＳ２３で特定した公開鍵利用者全員のメールアドレスを宛先指定して、先に更新された公開鍵をメッセージとして配信する（ステップＳ２４）。これにより、受信側装置の公開鍵を利用している全ての公開鍵利用者に対して、更新された公開鍵を確実に配信することができる。
【００２７】
なお、受信側装置で新たに生成した公開鍵を公開鍵サーバに登録し、これによって公開鍵サーバ（本発明に係る公開鍵取扱装置）で公開鍵の更新登録が行われた場合は、更新登録された公開鍵が公開鍵サーバによって公開鍵利用者（全員）に配信されることになる。その際、公開鍵サーバでは、自装置の管理手段が管理する公開鍵利用者テーブルを参照することにより、更新登録が行われる前の公開鍵を取得している公開鍵利用者（全員）を特定し、その特定した公開鍵利用者のメールアドレスを宛先指定して、更新登録された公開鍵を配信する。
【００２８】
図６は受信側装置又は公開鍵サーバから送信された公開鍵を受信した場合の送信側装置の処理手順を示すフローチャートである。なお、図６に示す処理を実行する送信側装置は、本発明に係る通信装置に相当するもので、例えばインターネットＦＡＸやパーソナルコンピュータによって実現される。
【００２９】
先ず、公開鍵をメッセージとして含む電子メールを受信すると（ステップＳ３１）、その受信した公開鍵が既に自装置にインポートされている受信側装置用の公開鍵（以下、インポート済公開鍵）であるかどうかをチェックする（ステップＳ３２）。このとき、受信した公開鍵がインポート済公開鍵でない場合は、受信した公開鍵をインポートする（ステップＳ３３）。
【００３０】
これに対して、受信した公開鍵がインポート済公開鍵である場合は、受信した公開鍵をインポート済公開鍵に代わって更新された公開鍵として改めてインポートする（ステップＳ３４）。続いて、公開鍵受領完了通知のメッセージを生成したのち、先に受信した公開鍵（更新された公開鍵）を用いて公開鍵受領完了通知メッセージを暗号化する（ステップＳ３５、Ｓ３６）。その後、公開鍵を生成した受信側装置（鍵生成装置）に対し、暗号化されたメッセージ（公開鍵受領完了通知）を送信する（ステップＳ３７）。
【００３１】
図７は受信側装置において公開鍵受領完了通知を受信した場合の処理手順を示すフローチャートである。なお、図７に示す処理を実行する受信側装置は、本発明に係る公開鍵取扱装置に相当するもので、例えば図１に示す構成のインターネットＦＡＸや図示しないパーソナルコンピュータによって実現される。
【００３２】
先ず、送信側装置で暗号化された公開鍵受領完了通知のメッセージを受信すると、暗号化メッセージ中のパケットから暗号鍵識別情報（KeyID）を取得する（ステップＳＳ４１、Ｓ４２）。図８（Ａ）に暗号化された公開鍵受領完了通知のメッセージ例を示す。次いで、先に取得した暗号鍵識別情報を基に秘密鍵を特定し、この秘密鍵を用いて暗号化メッセージを復号化する（ステップＳ４３）。図８（Ｂ）に復号化された公開鍵受領完了通知のメッセージ例を示す。
【００３３】
続いて、復号化された公開鍵受領完了通知のメッセージ内容を確認する（ステップＳ４４）。次いで、公開鍵利用者テーブルの登録内容のうち、公開鍵受領完了通知を送った送信側装置のアドレス情報に関連付けて公開鍵利用者テーブルに記憶された公開鍵利用者の鍵更新情報を書き替える（ステップＳ４５）。この鍵更新情報の書き替えは、送信側装置でメッセージ（公開鍵受領完了通知）の暗号化に使用された公開鍵の更新状態に応じて行われる。例えば、前述のように公開鍵Ｋ１から公開鍵Ｋ２に更新された場合は、それを利用する公開鍵利用者の鍵更新情報が「Ｋ１」から「Ｋ２」に書き替えられる。
【００３４】
これにより、更新された公開鍵を公開鍵利用者が受領した事実を受信側装置で把握することができる。また、複数回にわたって公開鍵が更新された場合でも、どの時点（リビジョン）までの公開鍵が受領されているかを公開鍵利用者毎に把握することができる。したがって、公開鍵を配信するメッセージに特別な識別情報を付加して管理するなどの手間を省くことができる。
【００３５】
続いて、公開鍵利用者テーブルに登録された公開鍵利用者全員の鍵更新情報が最新の情報に書き替えられたかどうかを確認する（ステップＳ４６）。例えば、前述のように公開鍵Ｋ１から公開鍵Ｋ２に更新された場合は、公開鍵利用者全員の鍵更新情報が「Ｋ２」に書き替えられたかどうかを確認する。これにより、更新された公開鍵がこれを利用する全ての公開鍵利用者に受領されたかどうかを判断できるため、最新情報への書き替えが確認された時点で、それまで保持していた更新前の公開鍵と秘密鍵を消去する（ステップＳ４７）。これにより、公開鍵を更新した受信側装置では、更新前の古い公開鍵や秘密鍵をいつまでも保持することなく、適切なタイミングで消去することができる。
【００３６】
なお、鍵生成装置となる受信側装置においては、公開鍵サーバに公開鍵の更新登録を行った段階で、自装置の公開鍵を利用している公開鍵利用者のリストを公開鍵サーバから取得しておき、そのリストに載っている全ての公開鍵利用者（送信側装置）から公開鍵受領完了通知を受信したことが確認された時点で、更新前の公開鍵と秘密鍵を消去することも可能である。
【００３７】
また、公開鍵サーバから公開鍵メッセージを受信した送信側装置において、公開鍵受領完了通知を公開鍵サーバに送信し、この公開鍵受領完了通知を受け取った公開鍵サーバ（本発明に係る公開鍵取扱措置）において、公開鍵利用者の鍵更新情報の書き替えを行うとともに、公開鍵利用者全員の鍵更新情報が最新の情報に書き替えられたかどうかを確認し、これが確認された時点で、鍵生成装置となる受信側装置に公開鍵配信完了通知を送信するようにしてもよい。この場合、送信側装置では、公開鍵受領完了通知を暗号化することなく公開鍵サーバに送信することになる。また、受信側装置では、公開鍵サーバから公開鍵配信完了通知を受信した段階で、更新前の公開鍵と秘密鍵を消去することになる。
【００３８】
図９は本発明に係る公開鍵取扱装置と通信装置によって実現されるネットワーク通信システムの運用例を説明する図である。図９において、データの受け手となる受信側装置ＡはインターネットＦＡＸで構成され、データの送り手となる送信側装置Ｘ，ＹもそれぞれインターネットＦＡＸで構成されている。なお、図中の（１）〜（１３）はネットワーク通信システムにおける処理の流れを示している。
【００３９】
図示したネットワーク通信システムにおいて、受信側装置Ａには、自装置で最初に生成した公開鍵Ｋ１と秘密鍵Ｓ１のペアが保持されている。この受信側装置Ａに対して、例えば送信側装置Ｘが上記公開鍵Ｋ１を使って暗号化したメッセージを送信したい場合は、それに先立って送信側装置Ｘが受信側装置Ａに公開鍵の取得要求を行う。この鍵取得要求に際しては送信側装置Ｘのメールアドレスが受信側装置Ａに通知され（処理（１））、その応答として受信側装置Ａから公開鍵Ｋ１が受信側装置Ｘに送信される（処理（２））。公開鍵の取得要求を行う場合の通信方式としては、電子メールを用いる場合と、ＨＴＴＰを用いる場合が考えられる。
【００４０】
公開鍵の取得要求に電子メールを用いる場合は、送信側装置Ｘのメールアドレスがメールヘッダに記述されて送信されるため、公開鍵の取得要求を受け付ける受信側装置Ａに対しては、取得要求を行った送信側装置Ｘのメールアドレスが自動的に通知される。こうした送信側装置Ｘからの公開鍵の取得要求への応答として、受信側装置Ａは、取得要求のあった公開鍵Ｋ１を電子メールのメッセージとしてエンコードしたのち、そのメッセージを送信側装置Ｘに返信する。
【００４１】
公開鍵の取得要求にＨＴＴＰを用いる場合は、送信側装置Ｘからの公開鍵の取得要求に対し、受信側装置ＡはＨＴＭＬ(Hyper Text Markup Language)で記述されたフォーム文書を送信側装置Ｘに送信する。その際、フォーム文書には、送信側装置Ｘのメールアドレスを記入するためのフィールドを含むようにする。これに対して、送信側装置Ｘは自装置のメールアドレスを上記フォーム文書の所定のフィールドに記入したのち、受信側装置Ａに送り返す。これにより、受信側装置Ａでは、送り返されたフォーム文書を確認したのち、公開鍵Ｋ１を通信可能なメッセージ形式にエンコードして送信側装置Ｘに送信する。
【００４２】
このような通信処理によって得られた送信側装置Ｘのメールアドレスは、受信側装置Ａの記憶手段（ＨＤＤ等）に格納された公開鍵利用者テーブルに登録される（処理（３））。この公開鍵利用者テーブルには、取得要求への応答として送信される公開鍵Ｋ１と、この公開鍵Ｋ１を取得した公開利用者のアドレス情報（本例では送信側装置Ｘのメールアドレス）とが関連付けて登録（保持）される。
【００４３】
ちなみに、受信側装置Ａに対して他の送信側装置Ｙが公開鍵の取得要求を行った場合も、上記同様の処理（（４）、（５）、（６））によってメールアドレスの通知と公開鍵Ｋ１の取得が行われ、かつ公開鍵利用者となる送信側装置Ｙのアドレス情報（メールアドレス）が受信側装置Ａの公開鍵利用者テーブルに登録される。また、公開鍵利用者テーブルには、他の送信側装置からの鍵取得要求に応答するたびに、新たな公開鍵利用者が追加登録される。
【００４４】
こうして受信側装置Ａが生成した公開鍵Ｋ１を取得することにより、送信側装置Ｘ，Ｙでは、それぞれ取得した公開鍵Ｋ１を使ってメッセージを暗号化し、その暗号化メッセージを受信側装置Ａに送信することが可能となる。また、送信側装置Ｘ，Ｙから送信された暗号化メッセージを受信した受信側装置Ａでは、自装置で保持している秘密鍵Ｓ１を用いて暗号化メッセージを復号することが可能となる。
【００４５】
ここで、公開鍵Ｋ１と対（ペア）で生成した秘密鍵Ｓ１が漏洩したなどの理由により、それまで使用していた公開鍵Ｋ１が安全でなくなった場合は、受信側装置Ａにおいて新たに公開鍵Ｋ２と秘密鍵Ｓ２のペアを生成する（処理（７））。さらに、受信側装置Ａでは、公開鍵利用者テーブルを参照し、その時点で登録されている公開鍵利用者のアドレス情報を基に、送信側装置Ｘ，Ｙをはじめとして公開鍵Ｋ１を利用する全ての送信側装置に対し、新たに生成した公開鍵Ｋ２をメッセージとして送信（配信）する（処理（８））。
【００４６】
一方、受信側装置Ａからのメッセージ送信によって新しい公開鍵Ｋ２を受け取った送信側装置Ｘ，Ｙでは、それぞれ公開鍵Ｋ２を受け取った旨を示す公開鍵受領完了通知をメッセージの形で受信側装置Ａに送信する（処理（９）、（１０））。このとき、送信側装置Ｘ，Ｙは、受信側装置Ａから受信した公開鍵Ｋ２を用いて公開鍵受領完了通知のメッセージを暗号化して送信する。
【００４７】
一方、送信側装置Ｘ，Ｙから公開鍵Ｋ２で暗号化された公開鍵受領完了通知のメッセージを受信した受信側装置Ａでは、その暗号メッセージ中に含まれる暗号鍵識別情報（KeyID）を基に、そのメッセージが公開鍵Ｋ２を使用して暗号化されたことを検知したのち、送信側装置Ｘ，Ｙからの暗号化メッセージをこれに対応する秘密鍵Ｓ２で復号化する。そして、復号化されたメッセージの内容が公開鍵受領完了通知であることを確認すると、公開鍵利用者テーブルの登録内容なかで、送信側装置Ｘ，Ｙのアドレス情報に関連付けて保持された公開鍵利用者の鍵更新情報を書き替える（処理（１１）、（１２））。具体的には、例えば、公開鍵利用者のユーザー名となる「Ｘ」及び［Ｙ］に対応する鍵更新情報をそれぞれ「Ｋ１」から「Ｋ２」に書き替える。これにより、受信側装置Ａにおいては、自装置で生成した公開鍵を利用する公開鍵利用者（送信側装置Ｘ，Ｙ等）が、新たに生成した公開鍵Ｋ２を確実に受け取ったかどうかを、公開鍵利用者テーブルで把握できるようになる。
【００４８】
ここで、公開鍵利用者の鍵更新情報の書き替えに伴い、受信側装置Ａが管理する公開鍵利用者テーブルにおいて、自装置で生成した公開鍵を利用する公開鍵利用者全員の鍵更新情報が最新の情報「Ｋ２」に書き替えられ、これによって自装置の公開鍵を利用する全ての公開鍵利用者に公開鍵Ｋ２が行き渡ったことが判明すると、それまで保持していた更新前の公開鍵Ｋ１と秘密鍵Ｓ１を消去する（処理（１３））。これにより、更新前の古い公開鍵Ｋ１と秘密鍵Ｓ１が適切なタイミングで消去されるため、受信側装置Ａで公開鍵を更新するたびに、古い公開鍵や秘密鍵を長期にわたって保持しなくても済む。したがって、メモリ容量の不要な占有を回避することができる。
【００４９】
図１０は本発明に係る公開鍵取扱装置と通信装置によって実現されるネットワーク通信システムの他の運用例を説明する図である。図１０において、データの受け手となる受信側装置Ａはパーソナルコンピュータで構成され、データの送り手となる送信側装置もパーソナルコンピュータで構成されている。なお、図中の（１）〜（８）はネットワーク通信システムにおける処理の流れを示している。
【００５０】
図示したネットワーク通信システムにおいて、受信側装置Ａでは、自装置で生成した公開鍵Ｋ１と秘密鍵Ｓ１のペアのうち、暗号化に使用される公開鍵Ｋ１を公開鍵サーバＳに登録する（処理（１））。一方、送信側装置Ｘは、公開鍵サーバＳに対し、受信側装置Ａの公開鍵Ｋ１をアドレス等で指定して鍵取得要求を行う（処理（２））。この鍵取得要求に際しては、送信側装置のメールアドレスが公開鍵サーバＳに通知される。これに対して、公開鍵サーバＳは、指定された公開鍵Ｋ１を送信側装置Ｘに送信する（処理（３））。また、公開鍵サーバＳは、自装置で管理している公開鍵利用者テーブルに送信側装置Ｘのメールアドレスを登録する（処理（４））。この公開鍵利用者テーブルには、他の送信側装置からの鍵取得要求に応答するたびに、新たな公開鍵利用者が追加登録される。
【００５１】
その後、公開鍵Ｋ１と対（ペア）で生成した秘密鍵Ｓ１が漏洩したなどの理由により、それまで使用していた公開鍵Ｋ１が安全でなくなった場合は、受信側装置Ａにおいて新たに公開鍵Ｋ２と秘密鍵Ｓ２のペアを生成し、そのうちの公開鍵Ｋ２を公開鍵サーバＳに更新登録する（処理（５））。このとき、受信側装置Ａでは、公開鍵サーバＳが保持している公開鍵利用者テーブルから、自装置装置Ａの公開鍵を利用している公開鍵利用者のリストを取得する（処理（６））。
【００５２】
公開鍵利用者のリストは、受信側装置Ａからの利用者情報取得要求への応答として公開鍵サーバＳから送信される。即ち、受信側装置Ａが公開鍵サーバＳに対して自装置の公開鍵を利用している利用者情報の取得要求を行い、その取得要求への応答として、公開鍵サーバＳが上記公開鍵利用者テーブルの中から受信側装置Ａで登録された公開鍵を利用している利用者のリストを送信する。
【００５３】
一方、受信側装置Ａから公開鍵Ｋ２の更新登録を受けた公開鍵サーバＳでは、公開鍵利用者テーブルを参照し、受信側装置Ａの公開鍵を利用（取得）している公開鍵利用者のアドレス情報を基に、送信側装置Ｘをはじめとして公開鍵Ｋ１を利用する全ての送信側装置に対して、更新登録された公開鍵Ｋ２を通信可能なメッセージとしてエンコードし、各々の送信側装置に送信（配信）する（処理（７））。
【００５４】
これに対して、公開鍵サーバＳからのメッセージ送信によって新しい公開鍵Ｋ２を受け取った送信側装置Ｘは、その公開鍵Ｋ２を受け取った旨を示す公開鍵受領完了通知メッセージを受信側装置Ａに送信する（処理（８））。公開鍵Ｋ２を生成した受信側装置Ａのアドレス情報（メールアドレス等）は、その公開鍵Ｋ２を公開鍵サーバＳに登録するとき、或いは各々の送信側装置に公開鍵Ｋ２をメッセージ送信するときに付加され、この付加されたアドレス情報を用いて送信側装置Ｘが公開鍵受領完了通知メッセージを送信する。また、公開鍵受領完了通知メッセージを送信するにあたって、送信側装置Ｘは、公開鍵サーバＳから受信した公開鍵Ｋ２を用いて公開鍵受領完了通知のメッセージを暗号化して送信する。
【００５５】
一方、送信側装置Ｘから公開鍵Ｋ２で暗号化された公開鍵受領完了通知メッセージを受信した受信側装置Ａでは、その暗号メッセージ中に含まれる暗号鍵識別情報（KeyID）を基に、そのメッセージが公開鍵Ｋ２を使用して暗号化されたことを検知したのち、送信側装置Ｘからの暗号メッセージをこれに対応する秘密鍵Ｓ２で復号化する。こうした復号化されたメッセージの内容は、受信側装置Ａのユーザーによって確認される。そして、メッセージの内容が公開鍵受領完了通知であることを確認すると、受信側装置Ａのユーザーは、予め公開鍵サーバＳから取得してある公開鍵利用者のリストを用いて、例えばメッセージの送信元である送信側装置Ｘの項目に受領確認済のチェック印を付ける。これにより、受信側装置Ａのユーザーは、自装置で生成した公開鍵を利用する公開鍵利用者（送信側装置Ｘ等）が、公開鍵サーバＳに更新登録した公開鍵Ｋ２を確実に受け取ったかどうかを把握できるようになる。
【００５６】
その後、公開鍵利用者のリストに載っている公開鍵利用者全員について受領確認済のチェック印が付されると、受信側装置Ａのユーザーは、それまで保持していた更新前の公開鍵Ｋ１と秘密鍵Ｓ１を消去する。これにより、更新前の古い公開鍵Ｋ１と秘密鍵Ｓ１が適切なタイミングで消去されるため、受信側装置Ａで公開鍵を更新するたびに、古い公開鍵や秘密鍵を長期にわたって保持しなくても済む。したがって、メモリ容量の不要な占有を回避することができる。
【００５７】
【発明の効果】
以上説明したように、本発明に係る公開鍵取扱装置によれば、外部の通信装置からの鍵取得要求への応答して送信される公開鍵とこの公開鍵を取得した公開鍵利用者のアドレス情報とを関連付けて管理手段が管理し、公開鍵が更新された場合に、その更新された公開鍵を、管理手段で保持するアドレス情報を用いて公開鍵利用者に配信する構成としたので、実際に公開鍵が更新された場合でも、その公開鍵を利用する公開鍵利用者全員に対して、更新された公開鍵を迅速かつ確実に配信することができる。
【００５８】
また本発明によれば、更新された公開鍵を受信した通信装置において、その公開鍵の送信元又は生成元となる公開鍵取扱装置に公開鍵受領完了通知を送信する構成としたので、その公開鍵受領完了通知を公開鍵取扱装置が受信することにより、更新された公開鍵を公開鍵利用者が受領した事実を公開鍵取扱装置側で把握することができる。
【図面の簡単な説明】
【図１】  本発明が適用されるインターネットＦＡＸの概略構成図である。
【図２】  本発明が適用される公開鍵サーバの概略構成図である。
【図３】  公開鍵を取得する際の処理手順を示すフローチャートである。
【図４】  公開鍵を送信する際の処理手順を示すフローチャートである。
【図５】  公開鍵が更新された場合の処理手順を示すフローチャートである。
【図６】  公開鍵を受信した場合の処理手順を示すフローチャートである。
【図７】  公開鍵受領完了通知を受信した場合の処理手順を示すフローチャートである。
【図８】  公開鍵受領完了通知のメッセージ例を示す図である。
【図９】  本発明に係る公開鍵取扱装置と通信装置によって実現されるネットワーク通信システムの運用例を説明する図である。
【図１０】  本発明に係る公開鍵取扱装置と通信装置によって実現されるネットワーク通信システムの他の運用例を説明する図である。
【符号の説明】
１００…インターネットＦＡＸ、１０１，２０１…ＣＰＵ、１０２、２０２…ＲＡＭ、１０３，２０３…ＲＯＭ、１０４，２０４…ＨＤＤ、１０５…プリンタ、１０６…スキャナ、１０７，２０５…ネットワークＩ／Ｆ、１０８…操作パネル、１０９，２０８…信号路、１１１…ネットワーク、２００…公開鍵サーバ、２０６…ディスプレイ、２０７…キーボード
【図１】
0004055348.tif 000002
【図２】
0004055348.tif 000003
【図３】
0004055348.tif 000004
【図４】
0004055348.tif 000005
【図５】
0004055348.tif 000006
【図６】
0004055348.tif 000007
【図７】
0004055348.tif 000008
【図８】
0004055348.tif 000009
【図９】
0004055348.tif 000010
【図１０】
0004055348.tif 000011