(57)【要約】【課題】  ＩＤベース暗号化通信における課金先指定を可能とすることにより、暗号化通信の利用を促進する。【解決手段】  ＩＤベース暗号化通信をおこなう暗号化通信システム１の送信者端末２００Ａは、送信先のＩＤ情報と、秘密鍵発行料金の課金先を示す情報とを用いて公開鍵を生成して情報を暗号化し、通信ネットワーク１０を介して受信者端末２００Ｂに送信する。受信者端末２００Ｂは、暗号化された情報を受信すると、復号に必要な秘密鍵の発行を秘密鍵発行装置１００に要求し、発行された秘密鍵を用いて受信した情報を復号する。秘密鍵発行装置１００は、受信者端末２００Ｂからの要求に応じて秘密鍵を生成し、通信ネットワーク１０を介して受信者端末２００Ｂに送信するとともに、公開鍵に基づいて秘密鍵発行料金の課金先を判別し、判別した課金先への課金処理をおこなう。【選択図】  図１
2006319457.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介して相互に接続された送信者端末と、受信者端末と、秘密鍵発行装置と、から構成され、ＩＤベース暗号化通信をおこなう暗号化通信システムであって、
前記送信者端末は、
送信先に関するＩＤ情報と、秘密鍵発行料金の課金先を示す情報とを用いて公開鍵を生成する公開鍵生成手段と、
前記公開鍵生成手段が生成した公開鍵により情報を暗号化し、前記通信ネットワークを介して送信する暗号化送信手段と、を備え、
前記受信者端末は、
前記送信者端末によって暗号化された情報を、前記通信ネットワークを介して受信する受信手段と、
前記受信手段が受信した情報を復号するための秘密鍵の発行を、前記通信ネットワークを介して前記秘密鍵発行装置に要求し、該要求に応じて発行された秘密鍵を、前記通信ネットワークを介して取得する秘密鍵取得手段と、
前記秘密鍵取得手段が取得した秘密鍵を用いて、前記受信手段が受信した情報を復号する復号手段と、を備え、
前記秘密鍵発行装置は、
前記受信者端末からの要求に応じて秘密鍵を生成し、前記通信ネットワークを介して前記受信者端末に送信する秘密鍵発行手段と、
前記秘密鍵発行手段が生成した秘密鍵に対応する公開鍵に基づいて秘密鍵発行料金の課金先を判別し、判別した課金先への課金処理をおこなう課金手段と、を備える、
ことを特徴とする暗号化通信システム。
【請求項２】
ＩＤベース暗号化通信に用いる秘密鍵を発行する秘密鍵発行装置であって、
暗号化通信のユーザに関するユーザ情報を予め蓄積するユーザ情報データベースと、
ＩＤベース暗号化に用いられた公開鍵に基づいて、秘密鍵発行料金の課金先を判別する課金先判別手段と、
ＩＤベース暗号の復号に用いる秘密鍵を生成する秘密鍵生成手段と、
前記秘密鍵生成手段が生成した秘密鍵を発行する秘密鍵発行手段と、
前記秘密鍵生成手段による秘密鍵の発行履歴を示す処理履歴情報をユーザ毎に記録する処理履歴データベースと、
前記課金先判別手段の判別結果と、前記ユーザ情報データベースに蓄積されているユーザ情報とに基づいて、秘密鍵発行料金の課金先となるユーザを特定する課金先特定手段と、
前記課金先特定手段が特定したユーザのユーザ情報と、前記処理履歴データベースに記録されている当該ユーザに関する処理履歴情報とに基づいて、課金処理に関する課金情報を生成する課金情報生成手段と、
前記課金情報生成手段が生成した課金情報に基づいて、秘密鍵発行料金の課金処理をおこなう課金手段と、
を備えることを特徴とする秘密鍵発行装置。
【請求項３】
前記課金先判別手段は、前記公開鍵の生成元となったＩＤ情報に、課金先となる対象を指定する課金先指定情報が含まれているか否かを判別し、
該課金先情報が含まれている場合には、当該課金先指定情報が示す対象を課金先とし、
該課金先情報が含まれていない場合には、秘密鍵の発行要請者を課金先とする、
ことを特徴とする秘密鍵発行装置。
【請求項４】
前記秘密鍵生成手段は、生成した秘密鍵と前記公開鍵とに基づいて、当該暗号化通信が適正であるか否かを検証する検証手段をさらに備え、
前記秘密鍵発行手段は、前記検証手段によって適正であると検証された暗号化通信に対する秘密鍵を発行する、
ことを特徴とする請求項２または３に記載の秘密鍵発行装置。
【請求項５】
コンピュータに、
ＩＤベース暗号化通信に関するパラメータを記憶装置に予め記憶する機能と、
ＩＤベース暗号化通信の送信先および秘密鍵発行料金の課金先をユーザに指定させる機能と、
ユーザが指定した送信先および課金先を示す文字列を生成する機能と、
生成した文字列と前記パラメータとを用いて、ＩＤベース暗号の公開鍵を生成する機能と、
生成した公開鍵を用いて所定の情報を暗号化する機能と、
暗号化された情報と、生成した文字列および公開鍵とを、通信ネットワークを介して、指定された送信先に送信する機能と、
を実現させることを特徴とするプログラム。
【請求項６】
前記コンピュータに、
秘密鍵発行料金の課金先を送信先とするか否かをユーザに指定させる機能と、
送信先を課金先とすることが指定された場合、当該送信先を示すＩＤ情報からなる文字列を生成し、該文字列と前記パラメータとを用いて前記公開鍵を生成する機能と、
送信先以外を課金先とすることが指定された場合、当該送信先を示すＩＤ情報と、課金先を示す情報とからなる文字列を生成し、該文字列と前記パラメータとを用いて前記公開鍵を生成する機能と、
をさらに実現させることを特徴とする請求項５に記載のプログラム。
【請求項７】
コンピュータに、
ＩＤベース暗号化通信に関するパラメータを記憶装置に予め記憶する機能と、
ＩＤベース暗号で暗号化された情報と、当該暗号化に用いた公開鍵および該公開鍵の生成元となる文字列とを、通信ネットワークを介して受信する機能と、
受信した文字列に課金先を指定する情報が含まれているか否かを判別する機能と、
前記文字列に課金先を指定する情報が含まれていると判別された場合、前記通信ネットワークを介して秘密鍵発行装置に秘密鍵の発行を要求する機能と、
前記要求に応じて発行された秘密鍵を、前記通信ネットワークを介して前記秘密鍵発行装置から取得する機能と、
取得した秘密鍵と、前記パラメータとを用いて、前記暗号化された情報を復号して出力する機能と、
を実現させることを特徴とするプログラム。
【請求項８】
前記コンピュータに、
前記文字列に課金先を指定する情報が含まれていないと判別された場合、秘密鍵の発行を要請するか否かをユーザに指定させる機能と、
秘密鍵発行を要請することをユーザが指定した場合、前記通信ネットワークを介して前記秘密鍵発行装置に秘密鍵の発行を要求する機能と、
をさらに実現させることを特徴とする請求項７に記載のプログラム。
【請求項９】
コンピュータに、
ＩＤベース暗号化通信のユーザに関するユーザ情報と、該ＩＤベース暗号に関するパラメータとを記憶装置に予め記憶する機能と、
ＩＤベース暗号で暗号化された情報と、該暗号化に用いられた公開鍵と該公開鍵の生成元となる文字列と、受信者のＩＤ情報とを、該受信者の端末から通信ネットワークを介して受信する機能と、
受信した情報と前記パラメータとを用いて、前記受信した公開鍵に対応する秘密鍵を生成し、前記通信ネットワークを介して前記受信者の端末に送信する機能と、
秘密鍵の生成履歴を示す処理履歴情報を前記記憶装置に記録する機能と、
前記受信した文字列に、秘密鍵発行料金の課金先を示す課金先情報が含まれているか否かを判別する機能と、
前記受信した文字列に前記課金先情報が含まれている場合、該課金先情報と前記ユーザ情報とに基づいて課金先を特定する機能と、
前記受信した文字列に前記課金先情報が含まれていない場合、前記受信者のＩＤ情報と前記ユーザ情報とに基づいて課金先を特定する機能と、
特定した課金先に関する処理履歴情報と該課金先のユーザ情報とに基づいて、秘密鍵発行料金の課金処理を実行する機能と、
を実現させることを特徴とするプログラム。
【請求項１０】
前記コンピュータに、
生成した秘密鍵と前記公開鍵とに基づいて、当該暗号化通信が適正であるか否かを検証する機能と、
当該暗号化通信が適正であると検証された場合、当該秘密鍵を前記受信者に発行する機能と、
をさらに実現させることを特徴とする請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化通信システム、秘密鍵発行装置、および、プログラムに関し、特に、ＩＤベース暗号を用いた暗号化通信に好適な暗号化通信システム、秘密鍵発行装置、および、プログラムに関する。
【背景技術】
【０００２】
インターネットの普及により、ウェブサイトへのアクセスや電子メールの送受信などといった情報通信が広く普及している。このような情報通信は、電子商取引などにも利用されることが多く、クレジットカード情報や個人情報などといった第三者から秘匿されるべき情報がインターネットを介して送受信されることがある。よって、送受信される情報を第三者から秘匿するための暗号化通信が重要となっている。
【０００３】
現在、公開鍵暗号化方式による暗号化が一般的となっている。公開鍵暗号化方式は、送信者の公開鍵により情報を暗号化し、受信者の秘密鍵で復号するものであり、暗号化と復号を共通の秘密鍵でおこなう共通鍵暗号方式と比べて、鍵の配布や管理が容易であるというメリットがある。しかしながら、公開鍵を証明するための電子証明書が必要である上、その有効期限の管理も必要でありユーザにとって煩雑であった。さらに、送信者の公開鍵を受信者が予め取得しておく必要があり、情報配信の自由度が妨げられていた。
【０００４】
このような不都合を解消する方法として、ＩＤベース暗号（ＩＢＥ（Identity Based Encryption））を用いた暗号化通信が提案されている（例えば、特許文献１）。ＩＤベース暗号は、受信者のＩＤ情報（例えば、電子メールアドレスなど）を用いて公開鍵を生成することができるので、予め送受信者間で公開鍵を共有しておく必要がなく、より容易に暗号化通信を利用することができる。このようなＩＤベース暗号では、受信者が復号に用いる秘密鍵を第三者のＰＫＧ（Private Key Generator）が発行することになる。
【０００５】
上述したように、暗号化通信は今日の情報通信において必須となりつつあり、ＩＤベース暗号のような容易な方式によって暗号化通信が広く利用されることが望まれる。ＩＤベースの暗号化通信が普及するには、信頼のおけるＰＫＧによる効率的な鍵発行が必要となるため、ＰＫＧによる秘密鍵発行がサービス事業として成立することが考えられる。この場合、ＰＫＧによる秘密鍵の発行に料金が発生することになる。
【０００６】
ここで、従来は課金先を指定することができないため、秘密鍵を要請した者に発行料金が課金されることになる。電子メールの送受信にＩＤベース暗号を用いた場合であれば、電子メールの受信者に料金が課金されることになる。しかしながら、すべての暗号化通信で受信者が料金を負担したのでは不都合が生じることもある。例えば、企業から顧客に情報を送信する場合においては、受信者となる顧客に料金を負担させてしまうことになる。このような状況では、料金を負担してまで顧客側が積極的に情報を復号する可能性は低く、送信した情報が利用されない可能性がある。したがって、商用目的の情報配信などでＩＤベース暗号を採用することは、送受信者双方にとってメリットが少なく、ＩＤベースの暗号化通信を積極的に採用することができなかった。この結果、ＩＤベースの暗号化通信が広く利用されず、暗号化通信の普及を阻害する要因となっていた。また、不特定多数の受信者側に課金することは、ＰＫＧ側の課金処理を煩雑にさせてしまい、ＰＫＧによる効率的なサービス提供の阻害要因ともなりうる。
【０００７】
よって、固定電話サービスにおけるフリーダイヤルや、携帯電話でのインターネット接続サービスにおけるリバース課金（フリーパケット）などのような、利用者に料金のかからない手法がＩＤベース暗号でも確立されれば、暗号化通信の普及がより促進されることが期待できる。
【特許文献１】特表２００５−５００７４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は上記実状に鑑みてなされたもので、ＩＤベース暗号の暗号化通信で課金先を指定することができる暗号化通信システム、秘密鍵発行装置、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の第１の観点にかかる暗号化通信システムは、
通信ネットワークを介して相互に接続された送信者端末と、受信者端末と、秘密鍵発行装置と、から構成され、ＩＤベース暗号化通信をおこなう暗号化通信システムであって、
前記送信者端末は、
送信先に関するＩＤ情報と、秘密鍵発行料金の課金先を示す情報とを用いて公開鍵を生成する公開鍵生成手段と、
前記公開鍵生成手段が生成した公開鍵により情報を暗号化し、前記通信ネットワークを介して送信する暗号化送信手段と、を備え、
前記受信者端末は、
前記送信者端末によって暗号化された情報を、前記通信ネットワークを介して受信する受信手段と、
前記受信手段が受信した情報を復号するための秘密鍵の発行を、前記通信ネットワークを介して前記秘密鍵発行装置に要求し、該要求に応じて発行された秘密鍵を、前記通信ネットワークを介して取得する秘密鍵取得手段と、
前記秘密鍵取得手段が取得した秘密鍵を用いて、前記受信手段が受信した情報を復号する復号手段と、を備え、
前記秘密鍵発行装置は、
前記受信者端末からの要求に応じて秘密鍵を生成し、前記通信ネットワークを介して前記受信者端末に送信する秘密鍵発行手段と、
前記秘密鍵発行手段が生成した秘密鍵に対応する公開鍵に基づいて秘密鍵発行料金の課金先を判別し、判別した課金先への課金処理をおこなう課金手段と、を備える、
ことを特徴とする。
【００１０】
上記目的を達成するため、本発明の第２の観点にかかる秘密鍵発行装置は、
ＩＤベース暗号化通信に用いる秘密鍵を発行する秘密鍵発行装置であって、
暗号化通信のユーザに関するユーザ情報を予め蓄積するユーザ情報データベースと、
ＩＤベース暗号化に用いられた公開鍵に基づいて、秘密鍵発行料金の課金先を判別する課金先判別手段と、
ＩＤベース暗号の復号に用いる秘密鍵を生成する秘密鍵生成手段と、
前記秘密鍵生成手段が生成した秘密鍵を発行する秘密鍵発行手段と、
前記秘密鍵生成手段による秘密鍵の発行履歴を示す処理履歴情報をユーザ毎に記録する処理履歴データベースと、
前記課金先判別手段の判別結果と、前記ユーザ情報データベースに蓄積されているユーザ情報とに基づいて、秘密鍵発行料金の課金先となるユーザを特定する課金先特定手段と、
前記課金先特定手段が特定したユーザのユーザ情報と、前記処理履歴データベースに記録されている当該ユーザに関する処理履歴情報とに基づいて、課金処理に関する課金情報を生成する課金情報生成手段と、
前記課金情報生成手段が生成した課金情報に基づいて、秘密鍵発行料金の課金処理をおこなう課金手段と、
を備えることを特徴とする。
【００１１】
上記秘密鍵発行装置において、
前記課金先判別手段は、前記公開鍵の生成元となったＩＤ情報に、課金先となる対象を指定する課金先指定情報が含まれているか否かを判別することが望ましく、この場合、
該課金先情報が含まれている場合には、当該課金先指定情報が示す対象を課金先とし、
該課金先情報が含まれていない場合には、秘密鍵の発行要請者を課金先とすることが望ましい。
【００１２】
上記秘密鍵発行装置において、
前記秘密鍵生成手段は、生成した秘密鍵と前記公開鍵とに基づいて、当該暗号化通信が適正であるか否かを検証する検証手段をさらに備えていることが望ましく、この場合、
前記秘密鍵発行手段は、前記検証手段によって適正であると検証された暗号化通信に対する秘密鍵を発行することが望ましい。
【００１３】
上記目的を達成するため、本発明の第３の観点にかかるプログラムは、
コンピュータに、
ＩＤベース暗号化通信に関するパラメータを記憶装置に予め記憶する機能と、
ＩＤベース暗号化通信の送信先および秘密鍵発行料金の課金先をユーザに指定させる機能と、
ユーザが指定した送信先および課金先を示す文字列を生成する機能と、
生成した文字列と前記パラメータとを用いて、ＩＤベース暗号の公開鍵を生成する機能と、
生成した公開鍵を用いて所定の情報を暗号化する機能と、
暗号化された情報と、生成した文字列および公開鍵とを、通信ネットワークを介して、指定された送信先に送信する機能と、
を実現させることを特徴とする。
【００１４】
上記プログラムはさらに、
前記コンピュータに、
秘密鍵発行料金の課金先を送信先とするか否かをユーザに指定させる機能と、
送信先を課金先とすることが指定された場合、当該送信先を示すＩＤ情報からなる文字列を生成し、該文字列と前記パラメータとを用いて前記公開鍵を生成する機能と、
送信先以外を課金先とすることが指定された場合、当該送信先を示すＩＤ情報と、課金先を示す情報とからなる文字列を生成し、該文字列と前記パラメータとを用いて前記公開鍵を生成する機能と、
を実現させることが望ましい。
【００１５】
上記目的を達成するため、本発明の第４の観点にかかるプログラムは、
コンピュータに、
ＩＤベース暗号化通信に関するパラメータを記憶装置に予め記憶する機能と、
ＩＤベース暗号で暗号化された情報と、当該暗号化に用いた公開鍵および該公開鍵の生成元となる文字列とを、通信ネットワークを介して受信する機能と、
受信した文字列に課金先を指定する情報が含まれているか否かを判別する機能と、
前記文字列に課金先を指定する情報が含まれていると判別された場合、前記通信ネットワークを介して秘密鍵発行装置に秘密鍵の発行を要求する機能と、
前記要求に応じて発行された秘密鍵を、前記通信ネットワークを介して前記秘密鍵発行装置から取得する機能と、
取得した秘密鍵と、前記パラメータとを用いて、前記暗号化された情報を復号して出力する機能と、
を実現させることを特徴とする。
【００１６】
上記プログラムはさらに、
前記コンピュータに、
前記文字列に課金先を指定する情報が含まれていないと判別された場合、秘密鍵の発行を要請するか否かをユーザに指定させる機能と、
秘密鍵発行を要請することをユーザが指定した場合、前記通信ネットワークを介して前記秘密鍵発行装置に秘密鍵の発行を要求する機能と、
を実現させることが望ましい。
【００１７】
上記目的を達成するため、本発明の第５の観点にかかるプログラムは、
コンピュータに、
ＩＤベース暗号化通信のユーザに関するユーザ情報と、該ＩＤベース暗号に関するパラメータとを記憶装置に予め記憶する機能と、
ＩＤベース暗号で暗号化された情報と、該暗号化に用いられた公開鍵と該公開鍵の生成元となる文字列と、受信者のＩＤ情報とを、該受信者の端末から通信ネットワークを介して受信する機能と、
受信した情報と前記パラメータとを用いて、前記受信した公開鍵に対応する秘密鍵を生成し、前記通信ネットワークを介して前記受信者の端末に送信する機能と、
秘密鍵の生成履歴を示す処理履歴情報を前記記憶装置に記録する機能と、
前記受信した文字列に、秘密鍵発行料金の課金先を示す課金先情報が含まれているか否かを判別する機能と、
前記受信した文字列に前記課金先情報が含まれている場合、該課金先情報と前記ユーザ情報とに基づいて課金先を特定する機能と、
前記受信した文字列に前記課金先情報が含まれていない場合、前記受信者のＩＤ情報と前記ユーザ情報とに基づいて課金先を特定する機能と、
特定した課金先に関する処理履歴情報と該課金先のユーザ情報とに基づいて、秘密鍵発行料金の課金処理を実行する機能と、
を実現させることを特徴とする。
【００１８】
上記プログラムはさらに、
前記コンピュータに、
生成した秘密鍵と前記公開鍵とに基づいて、当該暗号化通信が適正であるか否かを検証する機能と、
当該暗号化通信が適正であると検証された場合、当該秘密鍵を前記受信者に発行する機能と、
を実現させることが望ましい。
【発明の効果】
【００１９】
本発明によれば、課金先情報を含ませた文字列を用いてＩＤベース暗号の公開鍵を生成するので、秘密鍵生成にかかる課金先を任意に指定して暗号化通信をおこなうことができる。これにより、自動的に受信者が課金先となってしまう従来の問題が解消され、受信者が料金を負担しない暗号化通信を実現することができる。この結果、事業体から顧客への情報送信などにＩＤベース暗号を積極的に取り入れることができるため、暗号化通信の普及が促進され、より安全な情報通信環境を実現することができる。
【００２０】
また、公開鍵の生成に用いる情報に課金先情報を含ませているので、課金先情報が改ざん等された場合、公開鍵に対応する秘密鍵を生成することができず復号することができない。よって、生成した秘密鍵と公開鍵とに基づいて検証をおこなうことで、課金先の偽装や改ざんなどの不正を検出することができ、適正な課金をおこなうことができる。
【発明を実施するための最良の形態】
【００２１】
本発明にかかる実施の形態を、図面を参照して以下説明する。
【００２２】
図１は、本発明を適用した暗号化通信システムの構成を示す図である。図示するように、本実施の形態にかかる暗号化通信システム１は、通信ネットワーク１０を介して相互に接続される、秘密鍵発行装置１００と、端末装置２００（送信者端末２００Ａと受信者端末２００Ｂ）と、から構成される。この構成において、送信者端末２００Ａと受信者端末２００Ｂはそれぞれ複数存在しているものとする。
【００２３】
このようなシステムにより、送信者端末２００Ａから受信者端末２００Ｂに情報を送信する。本実施の形態では、送信者端末２００Ａから受信者端末２００Ｂに電子メールを送信するものとする。ここで、本実施の形態では、例えば、企業などの事業体を電子メールの送信者とし、これらの事業体の顧客（潜在的な顧客を含む）を受信者とする。そして、各事業体から顧客に対する商用目的の情報を送信する（例えば、ダイレクトメールや電子商取引に伴う情報送信など）。よって、本実施の形態にかかる送信者端末２００Ａは、情報送信をおこなう事業体により使用される端末装置であり、受信者端末２００Ｂは、例えば、一般家庭などで利用される端末装置である。以下、不特定多数の送信者側をエンティティＸＡといい、このうちの一をエンティティＡという。また、不特定多数の受信者側をエンティティＸＢといい、このうちの一をエンティティＢという。
【００２４】
本実施の形態では、送信者端末２００Ａから受信者端末２００Ｂに送信する情報をＩＤベース暗号（ＩＢＥ（Identity Based Encryption））により暗号化する。このＩＤベース暗号は、公開鍵で暗号化をおこない、秘密鍵で復号する公開鍵暗号化方式の一種であり、任意の文字列（例えば、受信者の電子メールアドレスなど）から公開鍵を生成することを特徴とする。そして、このような公開鍵で暗号化された情報を受け取った受信者は、秘密鍵生成装置（ＰＫＧ：Private Key Generator）から秘密鍵を取得して受信した情報の復号をおこなう。すなわち、受信者のＩＤ情報などを示す任意の文字列を公開鍵として利用できることで、従来の公開鍵暗号化方式で必要とされていた、送受信者間での公開鍵の受け渡しや管理、デジタル証明書の作成や更新、ＣＲＬ（Certificate Revocation List：証明書失効リスト）の管理などが不要となり、より容易に暗号化通信を実現することができるものである。
【００２５】
本実施の形態では、このようなＩＤベース暗号で必要となる秘密鍵の生成と提供を秘密鍵発行装置１００（ＰＫＧ）により実施する。ここで、秘密鍵発行装置１００は、秘密鍵の発行サービスを提供するサービス提供事業者（以下、「エンティティＣ」という）により運用される。このエンティティＣは、予め登録されているエンティティＸＡとエンティティＸＢとの間のＩＤベース暗号化通信に必要となる秘密鍵の発行サービスを提供し、この秘密鍵の発行にかかる料金を利用者に課金することでサービス対価を得るものとする。
【００２６】
このようなＩＤベース暗号化通信をおこなうために、本実施の形態では、本システムのＩＤベース暗号で暗号化通信をおこなうためのプログラムが端末装置２００のそれぞれに予め適用されているものとする。本実施の形態では、電子メールの送受信にＩＤベース暗号を適用するので、このプログラムは、電子メール送受信プログラム（いわゆる「メーラ」）である。このメーラプログラムは、エンティティＣ（秘密鍵発行装置１００）からエンティティＸＡ（送信者端末２００Ａ）およびエンティティＸＢ（受信者端末２００Ｂ）に配布されるものとし、エンティティＣ（秘密鍵発行装置１００）によって生成された、当該ＩＤベースの暗号化通信に必要となるパラメータや関数などが予めプログラムに含まれているものとする。これにより、ＩＤベースの暗号化に必要な情報が各エンティティ間で共有される。なお、このようなメーラプログラムは、例えば、エンティティＸＡおよびＸＢがエンティティＣにユーザ登録したことに応じて配布されるものとする。この場合、当該ユーザのユーザＩＤとメーラプログラムに一意に割り当てられる識別情報（プログラムＩＤ）とが各メーラプログラムに組み込まれて配布される。また、課金先として登録したユーザに配布するメーラプログラムには、登録した課金先を示す情報（例えば、名称など）が組み込まれるものとする。
【００２７】
本実施の形態にかかるメーラプログラムが適用された端末装置２００について説明する。本実施の形態にかかる端末装置２００は、例えば、パーソナルコンピュータなどの汎用コンピュータ装置から構成されるものとし、通信ネットワーク１０に接続可能な構成を有しているものとする。本実施の形態における通信ネットワーク１０は、例えば、インターネットである。この場合、各端末装置２００に適用されているメーラプログラムは、例えば、ＰＯＰ（Post Office Protocol）やＳＭＴＰ（Simple Mail Transfer Protocol）などのプロトコルに基づいて、通信ネットワーク１０を介した電子メールの送受信をおこなう。
【００２８】
次に、図２を参照して本実施の形態にかかる端末装置２００の構成を説明する。図２は、端末装置２００の構成を示すブロック図である。図示するように、端末装置２００は、制御部２１０、通信制御部２２０、入力制御部２３０、出力制御部２４０、プログラム格納部２５０、記憶部２６０、などから構成されている。
【００２９】
制御部２１０は、例えば、ＣＰＵ（Central Processing Unit：中央演算処理装置）などから構成され、端末装置２００の各部を制御するとともに、プログラム格納部２５０に格納されているプログラムを実行することにより、通信制御部２２０、入力制御部２３０、出力制御部２４０、記憶部２６０と協働して、後述する各処理を実現する。プログラムの実行により実現される制御部２１０の機能の詳細は後述する。
【００３０】
通信制御部２２０は、例えば、ＮＩＣ（Network Interface Card）やモデムなどといった通信装置から構成され、端末装置２００と通信ネットワーク１０とを接続し、端末装置２００間および秘密鍵発行装置１００との通信をおこなう。
【００３１】
入力制御部２３０は、例えば、キーボードやポインティングデバイスなどの入力装置２３を接続し、ユーザの操作に応じた入力信号を制御部２１０に入力する。
【００３２】
出力制御部２４０は、例えば、ディスプレイやプリンタなどの出力装置２４を接続し、制御部２１０の処理結果などを出力装置２４に出力する。
【００３３】
プログラム格納部２５０は、例えば、ハードディスク装置などの記憶装置から構成され、制御部２１０が実行するプログラムを格納する。プログラム格納部２５０には、制御部２１０によって後述する各機能を実現させるためのプログラムが格納される。すなわち、本実施の形態では、上述したメーラプログラムがプログラム格納部２５０に格納される。また、制御部２１０が、通信制御部２２０、入力制御部２３０、出力制御部２４０、記憶部２６０を制御するためのプログラムも格納される。すなわち、制御部２１０がプログラム格納部２５０に格納されている各プログラムを実行することにより、端末装置２００全体として後述する各処理が実現される。
【００３４】
記憶部２６０は、例えば、ハードディスク装置などの記憶装置から構成され、本実施の形態にかかる各処理を実現するために必要な種々の情報が記録される。本実施の形態では、配布されたメーラプログラムに組み込まれているパラメータや関数などが記憶部２６０に格納される他、送受信した電子メールの履歴やアドレス帳情報などが記録される。
【００３５】
ここで、プログラム格納部２５０に格納されているプログラムの実行により実現される制御部２１０の機能について説明する。本実施の形態では、制御部２１０が上述したメーラプログラムなどを実行することで、端末装置２００を送信者端末２００Ａまたは受信者端末２００Ｂとして機能させる。この場合、送信者端末２００Ａと受信者端末２００Ｂとでは、制御部２１０により実現される機能が異なる。以下、端末装置２００を送信者端末２００Ａとして機能させる場合と、受信者端末２００Ｂとして機能させる場合とに分けて、制御部２１０の機能を説明する。
【００３６】
まず、端末装置２００を送信者端末２００Ａとして機能させる場合について説明する。この場合、プログラム格納部２５０に格納されているメーラプログラムなどを実行することで、制御部２１０は、図３に示すような構成として機能する。すなわち、制御部２１０は、インタフェース処理部２１１Ａと、公開鍵生成部２１２Ａと、暗号化部２１３Ａと、送信処理部２１４Ａと、して機能する。
【００３７】
インタフェース処理部２１１Ａは、送信者端末２００Ａから電子メールを送信する際のユーザインタフェースにかかる処理をおこなう。すなわち、出力制御部２４０との協働により、送信する電子メールの送信先や本文などを入力するための画面を生成し、ユーザインタフェースとしてディスプレイなどの出力装置２４に出力する。また、入力制御部２３０との協働により、ユーザによる入力装置２３の操作に応じた入力を受け付ける。
【００３８】
公開鍵生成部２１２Ａは、送信する電子メールの暗号化に用いる公開鍵を生成する。本実施の形態では、ＩＤベース暗号を採用しているので、任意の文字列を用いた公開鍵の生成をおこなう。本実施の形態では、例えば、受信者であるエンティティＸＢのＩＤ情報と秘密鍵発行料金の課金先を示す情報とを組み合わせた文字列（以下、「ＩＤＸＢ」とする）を生成元として公開鍵を生成する。この場合、公開鍵の生成元となるＩＤＸＢの記述書式を予め設定しておく。本実施の形態では、例えば、エンティティＸＢの電子メールアドレスと課金先を示す情報を所定の書式で組み合わせた文字列とする。例えば、受信者であるエンティティＢの電子メールアドレスが「B@**.com」で、送信者であるエンティティＡを課金先とする場合、例えば、文字列「B@**.com:pay=エンティティＡ」を、エンティティＢについてのＩＤ情報ＩＤＢとする。ここでは、「:」と「pay=」が書式情報である。この場合、「:」は受信者を示す情報と課金先を示す情報との区切りを表し、「pay=」は以後に続く情報が課金先を示す情報であることを表す。なお、このような書式はエンティティＣにより設定され、配布されるメーラプログラムに組み込まれているものとする。
【００３９】
暗号化部２１３Ａは、公開鍵生成部２１２Ａが生成した公開鍵を用いて、送信する情報を暗号化する。本実施の形態では、送信者（エンティティＸＡ）により入力された電子メールの本文を暗号化することとする。
【００４０】
送信処理部２１４Ａは、通信制御部２２０との協働により、暗号化部２１３Ａにより暗号化された電子メールを、通信ネットワーク１０を介して指定された送信先（すなわち、エンティティＸＢの受信者端末２００Ｂ）に送信する。このとき、送信処理部２１４Ａは、公開鍵生成部２１２Ａが公開鍵を生成する過程で演算した所定のパラメータなどを、例えば、電子メールのヘッダなどに付加して送信する。
【００４１】
次に、端末装置２００を受信者端末２００Ｂとして機能させる場合について説明する。この場合、プログラム格納部２５０に格納されているメーラプログラムなどを実行することで、制御部２１０は、図４に示すような構成として機能する。すなわち、制御部２１０は、受信処理部２１１Ｂと、属性判別部２１２Ｂと、秘密鍵要求部２１３Ｂと、秘密鍵取得部２１４Ｂと、復号部２１５Ｂと、インタフェース処理部２１６Ｂと、して機能する。
【００４２】
受信処理部２１１Ｂは、通信制御部２２０との協働により、送信者端末２００Ａから送信された電子メールなどの情報を、通信ネットワーク１０を介して受信する。また、記憶部２６０との協働により、受信した情報を記憶部２６０に格納する。
【００４３】
属性判別部２１２Ｂは、受信した電子メールに含まれている、送信者端末２００Ａが付加した情報に基づいて、受信した電子メールの属性を判別する。本実施の形態では、受信した電子メールが暗号化されているか否か、暗号化されている場合、秘密鍵発行料金の課金先が指定されているか否か、などの属性を判別する。
【００４４】
秘密鍵要求部２１３Ｂは、属性判別部２１２Ｂによって受信した電子メールが暗号化されていると判別された場合、秘密鍵発行装置１００に秘密鍵の生成を要求する。この場合、秘密鍵要求部２１３Ｂは、通信制御部２２０との協働により、属性判別部２１２Ｂが認識した公開鍵や秘密鍵発行装置１００から予め配布されている所定のパラメータ、および、当該エンティティＢのＩＤ情報（電子メールアドレス）などを、通信ネットワーク１０を介して秘密鍵発行装置１００に送信することで、秘密鍵の発行を要求する。この場合、パラメータやＩＤ情報などは、記憶部２６０から取得する。
【００４５】
秘密鍵取得部２１４Ｂは、通信制御部２２０との協働により、秘密鍵発行装置１００が送信した秘密鍵を、通信ネットワーク１０を介して受信して取得する。
【００４６】
復号部２１５Ｂは、秘密鍵取得部２１４Ｂが秘密鍵発行装置１００から取得した秘密鍵を用いて、受信した電子メールを復号する。
【００４７】
インタフェース処理部２１６Ｂは、受信者端末２００Ｂで電子メールを受信する際のユーザインタフェースにかかる処理をおこなう。すなわち、出力制御部２４０との協働により、受信した電子メールの表示や秘密鍵発行装置１００に秘密鍵の生成を要求するための画面を生成し、ユーザインタフェースとしてディスプレイなどの出力装置２４に出力する。この場合、復号部２１５Ｂによって復号された情報をディスプレイなどの出力装置２４に出力する。また、入力制御部２３０との協働により、ユーザによる入力装置２３の操作に応じた入力を受け付ける。
【００４８】
本実施の形態では、上述した各機能をプログラムの実行により実現するが、例えば、これらの機能を実行するハードウェア（例えば、ＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）など）で、送信者端末２００Ａあるいは受信者端末２００Ｂを構成してもよい。
【００４９】
次に、秘密鍵発行装置１００について説明する。秘密鍵発行装置１００は、例えば、メインフレームやワークステーションなどといった情報処理装置から構成される。このような秘密鍵発行装置１００の構成を図５に示す。図５は、本実施の形態にかかる秘密鍵発行装置１００の構成を示すブロック図である。
【００５０】
図示するように、秘密鍵発行装置１００は、制御部１１０、通信制御部１２０、入力制御部１３０、出力制御部１４０、プログラム格納部１５０、記憶部１６０、などから構成されている。
【００５１】
制御部１１０は、例えば、ＣＰＵ（Central Processing Unit：中央演算処理装置）などから構成され、秘密鍵発行装置１００の各部を制御するとともに、プログラム格納部１５０に格納されているプログラムを実行することにより、通信制御部１２０、入力制御部１３０、出力制御部１４０、記憶部１６０と協働して、後述する各処理を実現する。プログラムの実行により実現される制御部１１０の機能の詳細は後述する。
【００５２】
通信制御部１２０は、例えば、ＮＩＣ（Network Interface Card）やモデムなどといった通信装置から構成され、秘密鍵発行装置１００と通信ネットワーク１０とを接続し、端末装置２００との通信をおこなう。また、例えば、ＬＡＮ（Local Area Network：構内通信網）と秘密鍵発行装置１００とを接続することで、エンティティＣにおいて秘密鍵発行装置１００と協働する情報処理装置（例えば、会計システムなど）との通信をおこなう。
【００５３】
入力制御部１３０は、例えば、キーボードやポインティングデバイスなどの入力装置１３を接続し、ユーザの操作に応じた入力信号を制御部１１０に入力する。
【００５４】
出力制御部１４０は、例えば、ディスプレイやプリンタなどの出力装置１４を接続し、制御部１１０の処理結果などを出力装置１４に出力する。
【００５５】
プログラム格納部１５０は、例えば、ハードディスク装置などの記憶装置から構成され、制御部１１０が実行するプログラムを格納する。プログラム格納部１５０には、制御部１１０によって後述する各機能を実現させるためのプログラムが格納される。また、制御部１１０が、通信制御部１２０、入力制御部１３０、出力制御部１４０、記憶部１６０を制御するためのプログラムも格納される。すなわち、制御部１１０がプログラム格納部１５０に格納されている各プログラムを実行することにより、秘密鍵発行装置１００全体として後述する各処理が実現される。
【００５６】
記憶部１６０は、例えば、ハードディスク装置などの記憶装置から構成され、本実施の形態にかかる各処理を実現するために必要な種々の情報が記録される。本実施の形態では、図６に示すようなデータベース（ＤＢ）が記憶部１６０に構成される。図示するように、記憶部１６０には、ユーザ情報ＤＢ１６１、課金先情報ＤＢ１６２、処理履歴ＤＢ１６３、課金情報ＤＢ１６４、などのデータベースが構成される。各データベースについて以下説明する。
【００５７】
ユーザ情報ＤＢ１６１には、秘密鍵発行装置１００に登録された、本システムを用いた暗号化通信のユーザ（すなわち、エンティティＸＡおよびＸＢ）に関する情報が格納される。ユーザ情報ＤＢ１６１に記録される情報の例を図７（ａ）に示す。図示するように、ユーザ情報ＤＢ１６１には、エンティティＣによってユーザ毎に一意に割り当てられた識別情報（ユーザＩＤ）を主キーとしたレコードが作成される。各レコードには、電子メールアドレスなどといった当該ユーザのＩＤ情報や、当該ユーザに配布したメーラプログラムに一意に割り当てられている識別情報（プログラムＩＤ）が記録される他、当該ユーザの属性情報（名称、氏名、ユーザ分類（法人ユーザまたは個人ユーザの別）、所在地、電話番号、等）などが記録される。
【００５８】
課金先情報ＤＢ１６２には、本システムの秘密鍵発行サービス料金の課金先に関する情報が格納される。課金先情報ＤＢ１６２に記録される情報の例を図７（ｂ）に示す。図示するように、課金先情報ＤＢ１６２には、課金先を一意的に示す情報（課金先ＩＤ）を主キーとしたレコードが作成される。本実施の形態では、ユーザ情報ＤＢ１６１に登録したユーザの中で、課金先として登録したユーザに関する情報が課金先情報ＤＢ１６２に記録される。したがって、課金先情報ＤＢ１６２の主キーとなる課金先ＩＤは、ユーザ情報ＤＢ１６１に記録されているユーザＩＤのうち、課金先として指定されたユーザのユーザＩＤが用いられる。各レコードには、当該課金先の属性情報（名称、担当部署、担当者、など）や連絡情報（電子メールアドレス、電話番号、所在地、など）、当該課金先への課金に関する詳細情報（締め日を示す情報や入金方法を示す情報など）、などが記録される。
【００５９】
処理履歴ＤＢ１６３は、秘密鍵発行装置１００がおこなった秘密鍵発行サービスにかかる処理の履歴を示す情報を格納する。本実施の形態では、エンティティＸＢが必要とする秘密鍵の生成・発行処理の履歴を処理履歴情報として蓄積する。処理履歴ＤＢ１６３に記録される情報の例を図８に示す。図示するように、処理履歴ＤＢ１６３には、秘密鍵の発行処理毎に一意に割り当てられる識別情報（処理ＩＤ）を主キーとしたレコードが作成される。各レコードには、秘密鍵生成要請を受けた日時を示す情報（要請日時）、秘密鍵の生成要請をおこなったエンティティＸＢを示すＩＤ情報（要請者ＩＤ）、対象となる電子メールに付加されている付加情報（付加情報）、秘密鍵の受信者への提供日時を示す情報（発行日時）、などが記録される。
【００６０】
課金情報ＤＢ１６４には、秘密鍵の発行にかかる課金に関する情報が格納される。課金情報ＤＢ１６４に記録される情報の例を図９に示す。ここでは、課金先情報ＤＢ１６２に登録されている課金先ユーザ毎にテーブルが作成される。図示するように、各テーブルには、課金対象となる処理を一意的に示す識別情報（処理ＩＤ）を主キーとしたレコードが作成される。ここでは、処理履歴ＤＢ１６３に記録されている処理履歴のうち、該当する課金先となっている処理が抽出されて記録される。よって、課金情報ＤＢ１６４の主キーとなる処理ＩＤは、処理履歴ＤＢ１６３に記録されている処理ＩＤのうち、課金先に基づいて抽出された処理ＩＤが記録される。各レコードには、当該処理による秘密鍵の発行日時を示す情報（発行日時）、課金対象となった電子メールの受信者のＩＤ情報（受信者）、課金処理の実行日時を示す情報（課金日時）、などが記録される。
【００６１】
このようなデータベースが構成される記憶部１６０は、その他に、例えば、取得した情報や処理中の演算結果などを一時的もしくは永続的に記憶しておく記憶領域（ワークエリア）としても用いられる。本実施の形態では、ＩＤベースの暗号化に必要なパラメータや関数などが予め記憶部１６０に格納されているものとする。また、各登録したエンティティに配布するメーラプログラムなども記憶部１６０に格納されているものとする。なお、プログラム格納部１５０および記憶部１６０を構成する記憶装置はハードディスク装置に限られず、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）、各種記録メディア（ＣＤ−ＲＯＭ、ＤＶＤなど）、などを必要に応じて含んでいるものとする。
【００６２】
ここで、制御部１１０により実現される機能について説明する。制御部１１０は、プログラム格納部１５０に格納されているプログラムを実行することにより、図１０に示すような、情報受付部１１１、認証部１１２、暗号処理部１１３、課金処理部１１４、などとして機能する。
【００６３】
情報受付部１１１は、通信制御部１２０と協働し、通信ネットワーク１０を介して端末装置２００から送信された情報などを受け付ける。本実施の形態では、特に、受信者端末２００Ｂからの秘密鍵発行要求にかかる情報を受信して受け付ける。
【００６４】
認証部１１２は、秘密鍵の発行要請をおこなったエンティティＸＢの認証をおこなう。この場合、認証部１１２は、例えば、エンティティＸＢの受信者端末２００Ｂから提供される公開鍵や、予めエンティティＸＢに配布した所定のパラメータやプログラムＩＤなどに基づいて、当該エンティティＸＢが、秘密鍵発行装置１００に登録されているユーザであるか認証する。
【００６５】
暗号処理部１１３は、本システムで用いるＩＤベース暗号化通信に必要となる処理をおこなう。ここで、暗号処理部１１３は、図１１に示すような機能構成をさらに有している。すなわち、暗号処理部１１３は、セットアップ処理部１１３ａ、秘密鍵生成部１１３ｂ、などの機能構成を有する。
【００６６】
セットアップ処理部１１３ａは、各エンティティ間での暗号化通信に必要となる各種パラメータや定義などを設定する。本実施の形態では、例えば、暗号化処理に必要となる各種パラメータを演算するための関数を定義する他、各エンティティで共有される公開パラメータや、エンティティＣに固有のパラメータの演算などをおこなう。
【００６７】
秘密鍵生成部１１３ｂは、エンティティＸＡの送信者端末２００Ａで生成された公開鍵で暗号化された情報（電子メール）を復号するための秘密鍵を生成し、エンティティＸＢの受信者端末２００Ｂに提供する。本実施の形態では、受信者端末２００Ｂからの要求に応じて、秘密鍵生成部１１３ｂが秘密鍵を生成し、通信制御部１２０との協働により、通信ネットワーク１０を介して生成した秘密鍵を当該受信者端末２００Ｂに送信する。
【００６８】
課金処理部１１４は、秘密鍵の発行サービスにかかる料金の課金処理をおこなう。上述したように、本実施の形態にかかるエンティティＣは、ＩＤベース暗号で暗号化された情報の復号に必要な秘密鍵の発行サービスを提供し、この料金を利用者に課金することでサービス対価を得る。よって、秘密鍵生成部１１３ｂによる秘密鍵の生成・提供毎に課金処理が発生する。この場合において、課金処理部１１４は、秘密鍵生成の要請時にエンティティＸＢから提供される公開鍵に基づいて課金先を特定する。すなわち、本実施の形態では、上述したように、課金先を示す情報を含ませたＩＤＸＢを用いて公開鍵が生成されているので、当該公開鍵に基づいて課金先を示す情報を取得することができる。エンティティＣは、このようにして特定された課金先に対し秘密鍵の生成料金を課金する。
【００６９】
このような動作をおこなうため、課金処理部１１４は、図１２に示すような機能構成を有する。すなわち、課金処理部１１４は、課金先特定部１１４ａ、課金情報生成部１１４ｂ、課金実行部１１４ｃ、などの機能構成を有する。
【００７０】
課金先特定部１１４ａは、対象とする秘密鍵発行処理に該当する暗号化通信に用いられた公開鍵の生成元であるＩＤＸＢに基づいて課金先を特定する。
【００７１】
課金情報生成部１１４ｂは、処理履歴ＤＢ１６３に記録されている課金対象処理に関する情報を、課金情報ＤＢ１６４にある特定された課金先のテーブルに記録することで課金情報を生成する。
【００７２】
課金実行部１１４ｃは、課金情報ＤＢ１６４に記録されている課金情報を所定期間毎にチェックし、課金未処理となっている情報を出力する。本実施の形態では、エンティティＣにおける会計処理等をおこなうシステム（以下、「会計システム」という）と秘密鍵発行装置１００とが、通信制御部１２０を介して接続されているものとし、課金実行部１１４ｃは、秘密鍵発行装置１００に接続されている会計システム等に課金情報を出力する。
【００７３】
本実施形態では、制御部１１０がプログラムを実行することで、ソフトウェア処理により上記各構成として機能するものとするが、これらの構成のいずれかまたはすべてを、例えば、ＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）などのハードウェアで構成してもよい。
【００７４】
以上のように構成された暗号化通信システム１の動作の例を以下説明する。上述のように、本実施の形態では、公開鍵暗号化方式による暗号化通信をおこなうが、そのための鍵生成の手法や、暗号化および復号の手法は任意のものを採用することができる。本実施の形態では、楕円曲線上のベイユペアリング（Weil Pairing）を利用した鍵生成手法を適用した場合を例に以下に説明する。この場合において、エンティティＣでは以下のようなセットアップ処理がおこなわれる。
【００７５】
楕円曲線上のベイユペアリングを利用して鍵生成をおこなう場合、エンティティＣの秘密鍵発行装置１００では、セットアップ処理部１１３ａによって、有限体における楕円曲線Eが設定されるとともに、この楕円曲線E上のベイユペアリングアルゴリズムe( , )を設定する。また、文字列を楕円曲線E上の点に変換する一方向性関数h(x)を設定する。これらのアルゴリズムは、エンティティＣの公開アルゴリズムとして公開される。すなわち、メーラプログラムに組み込まれてエンティティＸＡおよびＸＢに配布される。
【００７６】
セットアップ処理部１１３ａはさらに、システムパラメータの演算をおこなう。ここではまず、乱数を発生させることにより、エンティティＣの秘密情報SCと、楕円曲線上の点P(xp, yp)を設定する。そして、セットアップ処理部１１３ａは、秘密情報SCと点Pとを乗算したSC・Pを演算する。点PとSC・Pは、エンティティＣの公開パラメータとして公開される。すなわち、メーラプログラムに組み込まれてエンティティＸＡおよびＸＢに配布される。
【００７７】
以上のようなセットアップが予めなされた上で、エンティティＡの送信者端末２００ＡからエンティティＢの受信者端末２００Ｂに電子メールを送信する場合の動作を以下説明する。ここでは、エンティティＡとエンティティＢのいずれもが秘密鍵発行装置１００のユーザ情報ＤＢ１６１に予め登録されているものとし、また、エンティティＡは、課金先情報ＤＢ１６２に予め登録されているものとする。
【００７８】
まず、エンティティＡの送信者端末２００Ａから電子メールを送信する際の「送信処理」を、図１３に示すフローチャートを参照して説明する。この「送信処理」は、エンティティＡの送信者端末２００Ａで、エンティティＣから配布されたメーラプログラムが実行され、当該メーラでの電子メール送信が指示されたことを契機に開始される。
【００７９】
処理が開始されると、インタフェース処理部２１１Ａにより、電子メールの送信画面が生成され、ディスプレイなどの出力装置２４に出力される（ステップＳ１０１）。この場合の送信画面の表示例を図１６（ａ）に示す。図示するように、送信画面には、一般的な電子メール送信画面と同様に、宛先（送信先）や件名、および、本文を入力するための領域が用意されるとともに、作成した電子メールの送信を指示するためのボタンが配置される。本実施の形態では、作成した電子メールを暗号化して送信することを指示するための送信ボタンＳＢ１と、暗号化せずに送信することを指示するための送信ボタンＳＢ２が用意されるものとする。
【００８０】
エンティティＡのユーザは、入力装置２３を操作して、送信先や件名、および、本文などを入力するとともに、送信ボタンＳＢ１またはＳＢ２のいずれかを選択することにより、作成した電子メールの送信を指示する。この場合、入力制御部２３０によって、選択された送信ボタンがいずれであるかを示す情報が制御部２１０に入力される。
【００８１】
インタフェース処理部２１１Ａは、入力制御部２３０からの入力に基づいて、暗号化送信が選択されたか否かを判別する（ステップＳ１０２）。暗号化送信が選択されたと判別した場合（ステップＳ１０２：Ｙｅｓ）、暗号化に用いる公開鍵を生成するための「公開鍵生成処理」が実行される（ステップＳ２００）。この「公開鍵生成処理」を、図１４に示すフローチャートを参照して説明する。
【００８２】
処理が開始されると、インタフェース処理部２１１Ａは、送信画面で入力された送信先を示すＩＤ情報（電子メールアドレス）を公開鍵生成部２１２Ａに通知する。これにより、公開鍵生成部２１２Ａは、送信先のＩＤ情報である電子メールアドレスを取得する（ステップＳ２０１）。インタフェース処理部２１１Ａは、暗号化通信にかかる秘密鍵発行にかかる料金の課金先として、送信者あるいは受信者のいずれかをユーザに指定させるための「課金先指定画面」を生成し、ディスプレイなどの出力装置２４に出力する（ステップＳ２０２）。課金先指定画面の表示例を図１６（ｂ）に示す。図示するように、例えば、ラジオボタンなどの項目選択用オブジェクトが配置されることで、送信者を課金先に指定するか受信者を課金先に指定するかをユーザに選択させる画面が生成・表示される。
【００８３】
ユーザは入力装置２３を操作し、所望する選択肢を選択し、選択内容の確定を指示するためのボタンを選択する。この場合、入力制御部２３０により、いずれの選択肢が選択されたかを示す情報が制御部２１０に入力される。
【００８４】
インタフェース処理部２１１Ａは、入力制御部２３０からの入力に基づいて、指定された課金先が送信者であるか受信者であるかを判別する（ステップＳ２０３）。
【００８５】
課金先に送信者を指定する場合（ステップＳ２０３：Ｙｅｓ）、インタフェース処理部２１１Ａは、送信者を指定する旨を示す情報を公開鍵生成部２１２Ａに通知する。この場合、公開鍵生成部２１２Ａは、記憶部２６０から、メーラプログラムに組み込まれているエンティティＡを示す情報（この場合、エンティティＡの名称とする）を、課金先を示す課金先情報として取得する（ステップＳ２０４）。
【００８６】
公開鍵生成部２１２Ａは、インタフェース処理部２１１Ａから通知された情報や記憶部２６０から取得した情報に基づいて、公開鍵の生成元とする文字列を生成する（ステップＳ２０５）。すなわち、受信者が課金先に指定された場合には、ステップＳ２０１で取得した送信先の電子メールアドレスを公開鍵の生成元とする。一方、送信者が課金先に指定された場合には、ステップＳ２０１で取得した送信先の電子メールアドレスと、ステップＳ２０４で取得した課金先情報とを所定の書式で組み合わせた文字列を生成する。ここで生成された文字列を、送信先であるエンティティＢのＩＤ情報ＩＤＢとする。
【００８７】
次に公開鍵生成部２１２Ａは、ステップＳ２０５で生成したＩＤＢを用いて公開鍵を生成し（ステップＳ２０６）、「公開鍵生成処理」を終了する。ここでは、メーラプログラムに組み込まれることで予め配布された一方向性関数h(x)でＩＤＢをハッシュし、楕円曲線E上の点HA(xha, yha)として算出する。また、公開鍵生成部２１２Ａは、乱数を発生させ、エンティティＡの秘密情報SAとする。そして、秘密情報SAとHAを乗じたSA・HAを演算する。公開鍵生成部２１２Ａはさらに、予めエンティティＣから配布されている公開パラメータSC・Pと、演算したSA・HAとをベイユペアリングアルゴリズムe( , )で演算することにより、公開鍵KAを生成する。すなわち、数１に示すような公開鍵KAを算出する。
【００８８】
（数１）
KA = (SA・HA, SC・P)
【００８９】
公開鍵を生成すると、公開鍵生成部２１２Ａは、エンティティＡの秘密情報SAと予め配布されている楕円曲線上の点Pとを乗じたSA・Pを演算する。公開鍵生成部２１２Ａは、生成した公開鍵KAを暗号化部２１３Ａに通知するとともに、演算したSA・PとステップＳ２０５で生成したＩＤＢとを送信処理部２１４Ａに通知する。そして、「公開鍵生成処理」を終了し、図１３に示す「送信処理」のフローに戻る。
【００９０】
「送信処理」では、暗号化部２１３Ａが、「公開鍵生成処理」で生成された公開鍵を用いて、電子メール本文の暗号化をおこなう（ステップＳ１０３）。ここでは、公開鍵生成部２１２Ａが生成した公開鍵KAでメッセージm（この場合、送信する電子メールの本文）を暗号化し、これをEK[m]とする。なお、メッセージmを公開鍵KAで暗号化する方法は任意であり、既知の公開鍵暗号化方式での暗号化方法を用いることができる。
【００９１】
暗号化部２１３Ａは、暗号化したEK[m]を送信処理部２１４Ａに送出する。送信処理部２１４Ａは、暗号化されたEK[m]を本文とした電子メールに、公開鍵生成部２１２Ａから通知されたSA・PとＩＤＢおよび公開鍵KA（以下、「付加情報」とする）を付加して、指定された送信先であるエンティティＢに送信し（ステップＳ１０４）、「送信処理」を終了する。なお、付加情報は、ユーザからは不可視的に付加されるものとする。
【００９２】
なお、暗号化送信が選択されなかった場合（ステップＳ１０２：Ｎｏ）、送信画面で入力された本文が平文のまま送信される（ステップＳ１０４）。
【００９３】
次に、上記「送信処理」によってエンティティＡの送信者端末２００Ａから送信された電子メールを、エンティティＢの受信者端末２００Ｂで受信した場合の「受信処理」を、図１５に示すフローチャートを参照して説明する。この「受信処理」は、本実施の形態にかかるメーラプログラムが実行されている受信者端末２００Ｂ（エンティティＢ）で、受信処理部２１１Ｂが電子メールを受信したことを契機に開始される。
【００９４】
エンティティＡから送信された電子メールを受信すると、属性判別部２１２Ｂが、受信した電子メールの付加情報を取得する。属性判別部２１２Ｂは、取得した付加情報に基づいて、受信した電子メールの属性を判別する。属性判別部２１２Ｂはまず、付加情報に公開鍵が含まれているか否かに基づいて、受信した電子メールが暗号化されているか否かを判別する（ステップＳ３０１）。
【００９５】
受信した電子メールが暗号化されている場合（ステップＳ３０１：Ｙｅｓ）、属性判別部２１２Ｂは、付加情報のＩＤＢの書式に基づいて、秘密鍵発行料金の課金先が送信先であるか否かを判別する（ステップＳ３０２）。上述したように、公開鍵の生成元となるＩＤＢには、所定の書式に基づいて課金先を示す情報が記述されているので、属性判別部２１２Ｂは、この書式に基づいて、課金先が指定されているか否かを判別することができる。
【００９６】
ここで、送信者が課金先を指定した場合には、ＩＤＢに当該課金先を示す情報が含まれることになるが、送信者が課金先を指定しなかった場合は、ＩＤＢには、送信先であるエンティティＢのＩＤ情報（電子メールアドレス）のみが含まれることになる。本実施の形態では、送信者によって課金先が指定されていない場合は、秘密鍵発行料金の課金先を当該電子メールの受信者（すなわち、エンティティＢ）とする。
【００９７】
付加情報に含まれているＩＤＢに課金先を示す情報が含まれておらず、受信者であるエンティティＢが課金先となっている場合（ステップＳ３０２：Ｙｅｓ）、属性判別部２１２Ｂは、その旨をインタフェース処理部２１６Ｂに通知する。インタフェース処理部２１６Ｂは、属性判別部２１２Ｂからの通知に応じて、当該電子メールの復号に必要な秘密鍵の発行を要請するか否かをユーザに問い合わせる「秘密鍵発行確認画面」を生成し、ディスプレイなどの出力装置２４に出力する（ステップＳ３０３）。秘密鍵発行確認画面の表示例を図１６（ｃ）に示す。図示するように、秘密鍵発行確認画面には、受信した電子メールが暗号化されている旨、当該電子メールを復号するには秘密鍵の発行要請が必要である旨、および、秘密鍵の発行にかかる料金が受信者（エンティティＢ）に課金される旨、などのメッセージが表示されるとともに、秘密鍵の発行を要請するか否かを指定するためのボタン（「要請する」、「要請しない」）、などが配置される。
【００９８】
エンティティＢのユーザは、入力装置２３を操作し、いずれかのボタンを選択することで、秘密鍵の発行要否を指示する。インタフェース処理部２１６Ｂは、入力制御部２３０との協働により、いずれのボタンが選択されたかを認識し、ユーザが秘密鍵の発行要請を指示したか否かを判別する（ステップＳ３０４）。
【００９９】
ここで、ユーザが秘密鍵の発行要請を指示しない場合（ステップＳ３０４：Ｎｏ）、そのまま「受信処理」を終了する。この場合、受信した電子メールの復号はおこなわれない。
【０１００】
一方、ユーザが秘密鍵の発行要請を指示した場合（ステップＳ３０４：Ｙｅｓ）、インタフェース処理部２１６Ｂは、属性判別部２１２Ｂを介して、発行要請が指示された旨を秘密鍵要求部２１３Ｂに通知する。
【０１０１】
このように、受信者（エンティティＢ）側に秘密鍵発行料金が課金されることをユーザが了承した場合、あるいは、受信した電子メールに課金先が指定されている場合（ステップＳ３０２：Ｎｏ）、秘密鍵要求部２１３Ｂは、通信制御部２２０と協働し、通信ネットワーク１０を介して秘密鍵発行装置１００に秘密鍵の発行を要求する（ステップＳ３０５）。この場合、秘密鍵要求部２１３Ｂは、メーラプログラムに組み込まれているプログラムＩＤやユーザＩＤを取得する。そして、取得した情報と、受信した電子メールの付加情報（すなわち、公開鍵KA、ＩＤＢ、および、SA・P）と、当該エンティティＢの電子メールアドレスと（以下、「秘密鍵要求情報」とする）を秘密鍵発行装置１００に送信する。
【０１０２】
秘密鍵発行装置１００では、エンティティＢの受信者端末２００Ｂが送信した秘密鍵要求情報を受信し、受信した秘密鍵要求情報に基づいてエンティティＢを認証する。エンティティＢが認証されると、秘密鍵要求情報に基づいて秘密鍵を生成する。秘密鍵発行装置１００は、生成した秘密鍵の一部を、通信ネットワーク１０を介してエンティティＢの受信者端末２００Ｂに送信する。この秘密鍵発行装置１００による秘密鍵の発行動作の詳細は後述する。
【０１０３】
秘密鍵発行装置１００が秘密鍵の一部（以下、「秘密鍵KB0」とする）をエンティティＢに送信すると、通信制御部２２０との協働により、秘密鍵取得部２１４Ｂが秘密鍵KB0を取得する（ステップＳ３０６）。ここで、秘密鍵取得部２１４Ｂは、取得した秘密鍵KB0と、受信した電子メールの付加情報に含まれているSA・Pを用いて、受信した電子メールのEK[m]を復号するための秘密鍵KBを生成する。ここで、秘密鍵発行装置１００が提供する秘密鍵KB0は、エンティティＣの秘密情報であるSCと、公開鍵の生成元であるＩＤＢを一方向性関数h(x)でハッシュした楕円曲線E上の点HCとを乗じたSC・HCであるとする（詳細後述）。この場合、秘密鍵取得部２１４Ｂは、秘密鍵発行装置１００から提供された秘密鍵KB0と、受信した電子メールの付加情報に含まれているSA・Pを用い、公開アルゴリズムのe( , )で演算することにより、秘密鍵KBを生成する。この場合、公開鍵KAで暗号化されているEK[m]（電子メール本文）を復号するための秘密鍵KBは、以下の数２を演算することにより求められる。
【０１０４】
（数２）
KB = (KB0, SA・P) = (SC・HC, SA・P)
【０１０５】
ここで、生成元であるＩＤＢを楕円曲線E上にハッシュする一方向性関数h(x)は、各エンティティで共有される公開アルゴリズムである。よって、エンティティＡで算出されたHAと、エンティティＣで算出されたHCとは同一の値となる。このため、数２で示した秘密鍵KBは数３に示すように表すことができる。
【０１０６】
（数３）
KB = (KB0, SA・P) = (SC・HA, SA・P)
【０１０７】
ここで、ベイユペアリングによる鍵生成は、以下の数４に示す双線形（bilinear）の特性を利用したものである。
【０１０８】
（数４）
(a・X, b・Y) = (b・X, a・X)
【０１０９】
数１に示す公開鍵KAと、数３に示す秘密鍵KBとは、上記ベイユペアリングにおける双線形の特性にあてはまるため、秘密鍵取得部２１４Ｂで生成された秘密鍵KBと、エンティティＡの送信者端末２００Ａが生成した公開鍵KAとは同一ということになる。よって、秘密鍵KBによってEK[m]を復号することができる。
【０１１０】
このようにして秘密鍵KBが生成されると、復号部２１５Ｂが、生成された秘密鍵KBを用いて、受信した電子メールの本文であるEK[m]を復号する（ステップＳ３０７）。ここで、秘密鍵により暗号文を復号する手法は任意であり、エンティティＡでの暗号化手法に対応した復号手法を用いることができる。
【０１１１】
受信した電子メールの本文が復号されると、インタフェース処理部２１６Ｂが、復号された情報をディスプレイなどの出力装置２４に出力し（ステップＳ３０８）、処理を終了する。これにより、エンティティＢのユーザは、エンティティＡから送信された電子メールの本文を認識することができる。また、受信した電子メールが暗号化されていない場合（ステップＳ３０１：Ｎｏ）は、インタフェース処理部２１６Ｂにより、受信した情報をディスプレイなどの出力装置２４に出力して（ステップＳ３０８）、処理を終了する。
【０１１２】
ここで、エンティティＢからの要請に応じて秘密鍵発行装置１００が実行する「秘密鍵発行処理」を図１７に示すフローチャートを参照して説明する。この「秘密鍵発行処理」は、上記「受信処理」のステップＳ３０５で受信者端末２００Ｂが送信した秘密鍵要求情報を受信したことを契機に開始される。すなわち、通信制御部１２０が通信ネットワーク１０を介して秘密鍵要求情報を受信すると、受信した秘密鍵要求情報が制御部１１０に入力され、情報受付部１１１によって受け付けられたことを契機に処理が開始される。
【０１１３】
処理が開始されると、認証部１１２により、秘密鍵の発行を要請したエンティティＢの認証をおこなう（ステップＳ４０１）。ここでは、秘密鍵要求情報に含まれている、エンティティＢのユーザＩＤやプログラムＩＤおよびエンティティＢの電子メールアドレスと、ユーザ情報ＤＢ１６１に格納されているユーザ情報とを照合することにより、エンティティＢが本システムで提供される暗号化通信を利用できるユーザであるかを認証する。また、エンティティＢが受信した電子メールの付加情報に基づいて、当該電子メールの送信者（エンティティＡ）の認証もおこなう。
【０１１４】
送受信者が認証されると（ステップＳ４０２：Ｙｅｓ）、認証部１１２は、秘密鍵発行処理を示す新たな処理ＩＤを取得するとともに、当該処理ＩＤを主キーとした新規レコードを処理履歴ＤＢ１６３に作成し、エンティティＢから取得した情報を記録する（ステップＳ４０３）。ここでは、受信した秘密鍵要求情報に基づいて、要求したエンティティＢを示す情報（例えば、電子メールアドレス）を「要請者」欄に記録し、秘密鍵要求情報の受信日時を「要請日時」欄に記録し、秘密鍵要求情報に含まれている付加情報を「付加情報」欄に記録する。そして、処理履歴ＤＢ１６３に記録された付加情報に基づいて、秘密鍵生成部１１３ｂが秘密鍵を生成する（ステップＳ４０４）。
【０１１５】
ここでは、付加情報に含まれているＩＤＢとSA・Pを用いて秘密鍵を生成する。この場合、秘密鍵生成部１１３ｂは、公開アルゴリズムのh(x)でＩＤＢを楕円曲線E上の点HCにハッシュする。秘密鍵生成部１１３ｂは、エンティティＣの秘密情報であるSCとHCとを乗じ、これにより得られたSC・HCと、付加情報に含まれているSA・Pとを用い、公開アルゴリズムであるe( , )で演算することにより、秘密鍵を生成する。すなわち、数２で示した秘密鍵KBが生成される。
【０１１６】
秘密鍵KBを生成すると、秘密鍵生成部１１３ｂは、上述したベイユペアリングの双線形特性に基づいて、生成した秘密鍵KBと、付加情報に含まれている公開鍵KAとが同一であるか否かを判別することで、エンティティＢが受信した電子メールに対する暗号化処理が適正であるか検証する（ステップＳ４０５）。すなわち、例えば、エンティティＡで生成されたＩＤＢと、エンティティＢが秘密鍵要求時に提供したＩＤＢとが異なる場合、秘密鍵生成部１１３ｂが生成した秘密鍵KBと、エンティティＡで生成された公開鍵KAとは一致しないことになる。これにより、例えば、送信者が指定した課金先が改ざんされた場合などに、これを検出することができる。
【０１１７】
生成した秘密鍵KBと公開鍵KAが同一であり、適正な暗号化処理であると検証された場合（ステップＳ４０６：Ｙｅｓ）、秘密鍵生成部１１３ｂは、エンティティＣの秘密情報であるSCと、ＩＤＢをh(x)でハッシュしたHCとを乗じたSC・HCを、秘密鍵KBの一部である秘密鍵KB0として、エンティティＢの受信者端末２００Ｂに送信する（ステップＳ４０７）。この場合、秘密鍵生成部１１３ｂは、通信制御部１２０と協働し、通信ネットワーク１０を介して秘密鍵KB0をエンティティＢの受信者端末２００Ｂに送信する。
【０１１８】
ここでは、エンティティＣからエンティティＢに対し、秘密鍵KB0を安全な方法で送信する。本実施の形態では、エンティティＢはエンティティＣに登録されているユーザであるため、エンティティＣとエンティティＢとの間で用いるエンティティＢの秘密鍵を予め用意しておくことができる。この場合、例えば、エンティティＣが各ユーザに割り当てるユーザＩＤをエンティティＣ以外には秘匿しておくことで、ユーザＩＤをユーザの秘密鍵として用いることができる。そして、エンティティＣを送信者とし、エンティティＢを受信者とする公開鍵暗号化方式で秘密鍵KB0を暗号化して送付すればよい。
【０１１９】
一方、生成した秘密鍵KBと公開鍵KAが同一ではなく、適正な暗号化処理として検証されない場合（ステップＳ４０６：Ｎｏ）、そのまま「秘密鍵発行処理」を終了する。すなわち、エンティティＢに対し秘密鍵を発行しない。この場合、エンティティＢが受信した電子メールにかかる暗号化通信が適正でない旨を示す情報をエンティティＢに送信してもよい。エンティティＢでは、例えば、この情報に基づいて、受信者端末２００Ｂがその旨を表示してユーザに通知し、受信処理を終了する。これにより、暗号化処理が適正でない電子メールの送受信は成立しないことになる。
【０１２０】
秘密鍵生成部１１３ｂは、秘密鍵KB0をエンティティＢに送信すると、処理履歴ＤＢ１６３にアクセスして、秘密鍵KB0をエンティティＢに送信した日時を「発行履歴」欄に記録する。すなわち、秘密鍵の発行にかかる処理履歴情報を処理履歴ＤＢ１６３に記録する（ステップＳ４０８）。
【０１２１】
処理履歴情報を記録すると、秘密鍵生成部１１３ｂは、秘密鍵の発行処理が完了した旨を課金処理部１１４に通知して（ステップＳ４０９）、「秘密鍵発行処理」を終了する。
【０１２２】
「秘密鍵発行処理」の終了を契機に、課金処理部１１４により「課金情報生成処理」が実行される。この「課金情報生成処理」を図１８に示すフローチャートを参照して説明する。
【０１２３】
ここでは、秘密鍵生成部１１３ｂからの秘密鍵発行完了通知に基づいて処理が開始される。処理が開始されると、課金先特定部１１４ａが処理履歴ＤＢ１６３にアクセスし、上記「秘密鍵発行処理」のステップＳ４０３で作成されたレコードに記録されている情報を取得し（ステップＳ５０１）、取得した情報から、当該処理（秘密鍵発行）で対象とした暗号化通信に用いられた公開鍵の生成元であるＩＤＢを取得する（ステップＳ５０２）。
【０１２４】
課金先特定部１１４ａは、取得したＩＤＢ（公開鍵の生成元）に、所定の書式に基づく課金先情報が含まれているか否かを判別する（ステップＳ５０３）。上述したように、エンティティＡから電子メールを送信する際に課金先が指定されている場合、送信者端末２００Ａの動作により課金先を示す情報を含む文字列が生成され、この文字列を生成元として公開鍵が生成されている。また、送信者が課金先を指定しない場合は、送信先のＩＤ情報（電子メール）のみから構成される文字列を生成元として公開鍵が生成されている。
【０１２５】
よって、公開鍵の生成元であるＩＤＢに課金先情報が含まれている場合（ステップＳ５０３：Ｙｅｓ）、課金先特定部１１４ａは、当該課金先情報に示されるエンティティＡ（送信者）を課金先として特定する（ステップＳ５０４）。一方、ＩＤＢに課金先情報が特定されていない場合（ステップＳ５０３：Ｎｏ）、課金先特定部１１４ａは、当該電子メールの受信者（エンティティＢ）を課金先として特定する（ステップＳ５０５）。
【０１２６】
課金先が特定されたことに応じて、課金情報生成部１１４ｂが課金情報ＤＢ１６４にアクセスする。そして、特定された課金先のテーブルに新規レコードを作成し、ステップＳ５０１で取得した処理履歴情報を作成したレコードに記録することで課金情報を生成し（ステップＳ５０６）、「課金情報生成処理」を終了する。ここでは、取得した処理履歴情報の処理ＩＤを主キーとして記録するとともに、対象とする秘密鍵の発行日時情報、対象とする電子メールの送信者と受信者を示す情報、などを作成したレコードに記録する。
【０１２７】
上記「課金情報生成処理」によって、課金情報ＤＢ１６４に課金情報が蓄積されると、課金実行部１１４ｃにより「課金処理」が実行される。この「課金処理」は、所定期間毎に実行されるものとし、予めスケジュールされた日時となったことを契機に開始されるものとする。本実施の形態では、課金先毎に「課金処理」の実行スケジュールが設定されているものとする。この場合、実行スケジュールは、例えば、課金先毎に指定された請求締め日などに基づいて設定される。
【０１２８】
このような「課金処理」を図１９に示すフローチャートを参照して説明する。処理が開始されると、課金実行部１１４ｃは、課金情報ＤＢ１６４にアクセスして、対象とする課金先のテーブルを参照し、課金日時情報の記録されていないレコードを特定する。すなわち、まだ課金が実行されていない対象を特定する（ステップＳ６０１）。
【０１２９】
課金実行部１１４ｃは、ステップＳ６０１で特定したレコードに記録されている情報に基づき、当該課金先に対する課金通知情報を生成する（ステップＳ６０２）。ここでは、例えば、対象となるサービスの件数に基づく課金額を算出するとともに、算出した課金額とその内訳などを示す情報などを課金通知情報として生成する。この場合、課金通知情報は、秘密鍵発行装置１００に接続されている会計システムによって読み取り可能な形式で作成されるものとする。
【０１３０】
課金実行部１１４ｃは、通信制御部１２０との協働により、作成した課金通知情報を、秘密鍵発行装置１００に接続されている会計システムに送信する（ステップＳ６０３）。会計システムでは、秘密鍵発行装置１００から送信された課金通知情報に基づき、所定の方法で課金のための処理を実行する。
【０１３１】
課金通知情報を会計システムに送信すると、課金実行部１１４ｃは、課金情報ＤＢ１６４にアクセスし、今回課金処理対象としたレコードに課金日時情報を記録して（ステップＳ６０４）、「課金処理」を終了する。
【０１３２】
以上説明したように、上記実施の形態によれば、ＩＤベース暗号化通信をおこなう際の、秘密鍵発行にかかる料金の課金先を送信者が指定することができる。この場合、受信者以外を課金先として指定することができるため、受信者が料金負担することのない暗号化通信を実現することができる。これにより、例えば、企業から顧客への情報送信などにＩＤベース暗号を用いた暗号化通信を積極的に取り入れることができ、この結果、暗号化通信の普及が促進され、情報通信の安全性向上に寄与することができる。また、暗号化に用いる公開鍵の生成元によって課金先を示しているので、生成した秘密鍵と公開鍵とを用いて検証をおこなうことで課金先情報の改ざん等を検出することができ、送信者が指定した課金先に確実に課金することができる。
【０１３３】
上記実施の形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【０１３４】
例えば、上記実施の形態では、送信者側と受信者側それぞれで専用のメーラプログラムを使用して暗号化通信をおこなうものとしたが、例えば、ＡＳＰ（Application Service Provider）が提供する、いわゆるウェブメールなどの方式で本発明を実現するようにしてもよい。この場合、例えば、上記実施の形態における秘密鍵発行装置１００が、ウェブメールサービスを提供するＡＳＰサーバを兼ねることにより、端末装置２００に、ウェブメールによる電子メール送受信のインタフェースを提供する。そして、送信メールとして入力された情報を当該ＡＳＰサーバが暗号化することで、送信者側から受信者側への暗号化通信をおこなう。この場合、上記実施の形態と同様に、課金先を示す情報を送信者側が指定するが、指定された課金先情報を含む文字列の生成や、生成した文字列を生成元とする公開鍵の生成はＡＳＰサーバによっておこなう。これにより、公開鍵生成などの処理を端末装置２００でおこなうことなく暗号化通信を実施することができる。
【０１３５】
上記実施の形態では、電子メールの送受信に本発明を適用した場合を例に説明したが、対象とする情報は電子メールに限らず任意である。例えば、電子メールの本文だけではなく、電子メールに添付される種々の情報を、上記実施の形態で示した方法によって暗号化してもよい。この場合、添付した情報の暗号化通信にかかる秘密鍵発行料金の課金先などを公開鍵の生成元に含ませるようにしてもよい。
【０１３６】
また、上記実施の形態では、課金先を指定する際に、暗号化通信の当事者である送信者または受信者のいずれかを指定する場合を例示したが、秘密鍵の発行者が適正に課金を実施できるのであれば、第三者を課金先として指定するようにしてもよい。
【０１３７】
また、上記実施の形態では、送信先の電子メールアドレスを送信先のＩＤ情報として含む文字列を生成元として公開鍵を生成する場合を例示したが、ＩＤ情報として用いる文字列は電子メールアドレスに限らず任意である。例えば、各ユーザに割り当てられているユーザＩＤなどを用いてもよい。同様に、課金先を示す情報も、課金先の名称に限らず、ユーザＩＤや電子メールアドレスなどを用いてもよい。
【０１３８】
上記実施の形態にかかる秘密鍵発行装置１００および端末装置２００（送信者端末２００Ａおよび受信者端末２００Ｂ）は、専用装置から構成可能であることはもとより、汎用のコンピュータ装置などを用いて構成することもできる。すなわち、このような汎用装置に上述したプログラムをインストールして実行させることで、上記実施の形態にかかる秘密鍵発行装置１００および端末装置２００（送信者端末２００Ａおよび受信者端末２００Ｂ）として機能させることができる。
【０１３９】
このようなプログラムの提供方法は任意であり、例えば、ＣＤ−ＲＯＭなどの記憶媒体に格納して配布可能であることはもとより、プログラムデータを搬送波に重畳することで、所定の通信媒体（例えば、インターネットなど）を介して配布することもできる。
【図面の簡単な説明】
【０１４０】
【図１】本発明の実施の形態にかかる暗号化通信システムの構成を示す図である。
【図２】図１に示す端末装置の構成を示すブロック図である。
【図３】図１に示す送信者端末の制御部により実現される機能構成を示す機能ブロック図である。
【図４】図１に示す受信者端末の制御部により実現される機能構成を示す機能ブロック図である。
【図５】図１に示す秘密鍵発行装置の構成を示すブロック図である。
【図６】図５に示す記憶部に構成されるデータベースの例を示す図である。
【図７】図６に示すデータベースに記録される情報の例を示す図であり、（ａ）はユーザ情報ＤＢに記録される情報の例を示し、（ｂ）は課金先情報ＤＢに記録される情報の例を示す。
【図８】図６に示す処理履歴ＤＢに記録される情報の例を示す図である。
【図９】図６に示す課金情報ＤＢに記録される情報の例を示す。
【図１０】図５に示す制御部により実現される機能構成を示す機能ブロック図である。
【図１１】図１０に示す暗号処理部の機能構成を示す機能ブロック図である。
【図１２】図１０に示す課金処理部の機能構成を示す機能ブロック図である。
【図１３】本発明の実施の形態にかかる「送信処理」を説明するためのフローチャートである。
【図１４】図１３に示す送信処理で実行される「公開鍵生成処理」を説明するためのフローチャートである。
【図１５】本発明の実施の形態にかかる「受信処理」を説明するためのフローチャートである。
【図１６】端末装置で表示される画面の表示例を示す図であり、（ａ）は「送信画面」の表示例を示し、（ｂ）は「課金先指定画面」の表示例を示し、（ｃ）は「秘密鍵発行確認画面」の表示例を示す。
【図１７】本発明の実施の形態にかかる「秘密鍵発行処理」を説明するためのフローチャートである。
【図１８】本発明の実施の形態にかかる「課金情報生成処理」を説明するためのフローチャートである。
【図１９】本発明の実施の形態にかかる「課金処理」を説明するためのフローチャートである。
【符号の説明】
【０１４１】
１０  通信ネットワーク
１００  秘密鍵発行装置
１１１  情報受付部
１１２  認証部
１１３  暗号処理部
１１３ａ  セットアップ処理部
１１３ｂ  秘密鍵生成部
１１４  課金処理部
１１４ａ  課金先特定部
１１４ｂ  課金情報生成部
１１４ｃ  課金実行部
１６１  ユーザ情報ＤＢ
１６２  課金先情報ＤＢ
１６３  処理履歴ＤＢ
１６４  課金情報ＤＢ
２００  端末装置
２００Ａ  送信者端末
２１１Ａ  インタフェース処理部
２１２Ａ  公開鍵生成部
２１３Ａ  暗号化部
２１４Ａ  送信処理部
２００Ｂ  受信者端末
２１１Ｂ  受信処理部
２１２Ｂ  属性判別部
２１３Ｂ  秘密鍵要求部
２１４Ｂ  秘密鍵取得部
２１５Ｂ  復号部
２１６Ｂ  インタフェース処理部
【図１】
2006319457.tif 000003
【図２】
2006319457.tif 000004
【図３】
2006319457.tif 000005
【図４】
2006319457.tif 000006
【図５】
2006319457.tif 000007
【図６】
2006319457.tif 000008
【図７】
2006319457.tif 000009
【図８】
2006319457.tif 000010
【図９】
2006319457.tif 000011
【図１０】
2006319457.tif 000012
【図１１】
2006319457.tif 000013
【図１２】
2006319457.tif 000014
【図１３】
2006319457.tif 000015
【図１４】
2006319457.tif 000016
【図１５】
2006319457.tif 000017
【図１６】
2006319457.tif 000018
【図１７】
2006319457.tif 000019
【図１８】
2006319457.tif 000020
【図１９】
2006319457.tif 000021