(57)【要約】【課題】ＩＤベース暗号方式における公開パラメータの真正性を担保することを目的とする。また、送信者装置、受信者装置が暗号化通信を行う度に公開パラメータを取得する必要をなくすことを目的とする。【解決手段】公開パラメータに電子署名を施して公開する。また、電子署名検証用の公開鍵証明書も公開する。送信者装置と受信者装置とは、予め取得した公開パラメータを使用する際、電子署名を検証して公開パラメータの真正性を確認した上で使用する。【選択図】図１
2010028689.tif 000002
【特許請求の範囲】
【請求項１】
ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）ベース暗号方式における公開パラメータを提供する公開パラメータ提供サーバであり、
処理装置により公開パラメータに署名を施す署名部と、
上記署名部が署名を施した公開パラメータを通信装置を介して外部へ提供する公開パラメータ提供部と
を備えることを特徴とする公開パラメータ提供サーバ。
【請求項２】
上記署名部は、公開鍵暗号方式における秘密鍵により公開パラメータに署名を施し、
上記公開パラメータ提供部は、上記公開パラメータに加え、上記秘密鍵と対になる公開鍵の証明書を提供する
ことを特徴とする請求項１に記載の公開パラメータ提供サーバ。
【請求項３】
上記公開パラメータ提供部は、上記秘密鍵と対になる公開鍵に対して所定の認証局から発行された公開鍵証明書を提供する
ことを特徴とする請求項２に記載の公開パラメータ提供サーバ。
【請求項４】
上記署名部は、所定のＰＫＧ（Ｐｒｉｖａｔｅ  Ｋｅｙ  Ｇｅｎｅｒａｔｏｒ）から発行されたＩＤベース署名方式の秘密鍵により公開パラメータに署名を施す
ことを特徴とする請求項１に記載の公開パラメータ提供サーバ。
【請求項５】
ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）ベース暗号方式における暗号化処理を実行する暗号化処理実行装置であり、
予め取得した署名が施された公開パラメータを記憶装置に記憶する公開パラメータ記憶部と、
暗号化処理を実行する場合、上記公開パラメータ記憶部が記憶した公開パラメータに施された署名を処理装置により検証する署名検証部と、
上記署名検証部が署名を検証した結果、上記公開パラメータが改ざんされていない場合に、上記公開パラメータに基づき暗号化処理を処理装置により実行する暗号化処理部と
を備えることを特徴とする暗号化処理実行装置。
【請求項６】
ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）ベース暗号方式における公開パラメータを提供する公開パラメータ提供方法であり、
処理装置が、公開パラメータに署名を施す署名ステップと、
通信装置が、上記署名ステップで署名を施した公開パラメータを外部へ提供する公開パラメータ提供ステップと
を備えることを特徴とする公開パラメータ提供方法。
【請求項７】
ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）ベース暗号方式における公開パラメータを提供する公開パラメータ提供プログラムであり、
公開パラメータに署名を施す署名処理と、
上記署名処理で署名を施した公開パラメータを外部へ提供する公開パラメータ提供処理と
をコンピュータに実行させることを特徴とする公開パラメータ提供プログラム。
【請求項８】
ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）ベース暗号方式における暗号化処理を実行する暗号化処理実行方法であり、
処理装置が、暗号化処理を実行する場合、予め取得して記憶装置に記憶した公開パラメータに施された署名を検証する署名検証ステップと、
処理装置が、上記署名検証ステップで署名を検証した結果、上記公開パラメータが改ざんされていない場合に、上記公開パラメータに基づき暗号化処理を実行する暗号化処理ステップと
を備えることを特徴とする暗号化処理実行方法。
【請求項９】
ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）ベース暗号方式における暗号化処理を実行する暗号化処理実行プログラムであり、
暗号化処理を実行する場合、予め取得して記憶装置に記憶した公開パラメータに施された署名を検証する署名検証処理と、
上記署名検証処理で署名を検証した結果、上記公開パラメータが改ざんされていない場合に、上記公開パラメータに基づき暗号化処理を実行する暗号化処理処理と
をコンピュータに実行させることを特徴とする暗号化処理実行プログラム。
【請求項１０】
ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）ベース署名方式における公開パラメータを提供する公開パラメータ提供サーバであり、
処理装置により公開パラメータに署名を施す署名部と、
上記署名部が署名を施した公開パラメータを通信装置を介して外部へ提供する公開パラメータ提供部と
を備えることを特徴とする公開パラメータ提供サーバ。
【請求項１１】
上記署名部は、公開鍵暗号方式における秘密鍵により公開パラメータに署名を施し、
上記公開パラメータ提供部は、上記公開パラメータに加え、上記秘密鍵と対になる公開鍵の証明書を提供する
ことを特徴とする請求項１０に記載の公開パラメータ提供サーバ。
【請求項１２】
上記公開パラメータ提供部は、上記秘密鍵と対になる公開鍵に対して所定の認証局から発行された公開鍵証明書を提供する
ことを特徴とする請求項１１に記載の公開パラメータ提供サーバ。
【請求項１３】
上記署名部は、所定のＰＫＧ（Ｐｒｉｖａｔｅ  Ｋｅｙ  Ｇｅｎｅｒａｔｏｒ）から発行されたＩＤベース署名方式の秘密鍵により公開パラメータに署名を施す
ことを特徴とする請求項１０に記載の公開パラメータ提供サーバ。
【請求項１４】
ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）ベース署名方式における署名処理を実行する署名処理実行装置であり、
予め取得した署名が施された公開パラメータを記憶装置に記憶する公開パラメータ記憶部と、
署名処理を実行する場合、上記公開パラメータ記憶部が記憶した公開パラメータに施された署名を処理装置により検証する署名検証部と、
上記署名検証部が署名を検証した結果、上記公開パラメータが改ざんされていない場合に、上記公開パラメータに基づき署名処理を処理装置により実行する署名処理部と
を備えることを特徴とする署名処理実行装置。
【請求項１５】
ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）ベース署名方式における公開パラメータを提供する公開パラメータ提供方法であり、
処理装置が、公開パラメータに署名を施す署名ステップと、
通信装置が、上記署名ステップで署名を施した公開パラメータを外部へ提供する公開パラメータ提供ステップと
を備えることを特徴とする公開パラメータ提供方法。
【請求項１６】
ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）ベース署名方式における公開パラメータを提供する公開パラメータ提供プログラムであり、
公開パラメータに署名を施す署名処理と、
上記署名処理で署名を施した公開パラメータを外部へ提供する公開パラメータ提供処理と
をコンピュータに実行させることを特徴とする公開パラメータ提供プログラム。
【請求項１７】
ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）ベース署名方式における署名処理を実行する署名処理実行方法であり、
処理装置が、署名処理を実行する場合、予め取得して記憶装置に記憶した公開パラメータに施された署名を検証する署名検証ステップと、  処理装置が、上記署名検証ステップで署名を検証した結果、上記公開パラメータが改ざんされていない場合に、上記公開パラメータに基づき署名処理を実行する署名処理ステップと
を備えることを特徴とする署名処理実行方法。
【請求項１８】
ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）ベース署名方式における署名処理を実行する署名処理実行プログラムであり、
署名処理を実行する場合、予め取得して記憶装置に記憶した公開パラメータに施された署名を検証する署名検証処理と、
上記署名検証処理で署名を検証した結果、上記公開パラメータが改ざんされていない場合に、上記公開パラメータに基づき署名処理を実行する署名処理処理と
をコンピュータに実行させることを特徴とする署名処理実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）ベース暗号方式、ＩＤベース署名方式に関するものである。特に、この発明は、例えば、ＩＤベース暗号方式およびＩＤベース署名方式における公開パラメータの配布に関するものである。
【背景技術】
【０００２】
暗号通信時の鍵共有や電子署名などに利用される暗号方式として公開鍵暗号方式がある。しかし、従来の公開鍵暗号方式では、公開鍵が数値などのバイナリデータであるため、公開鍵の利用者が誰であるかは公開鍵を見ただけではわからない。そのため、公開鍵の利用者が誰であるかを確認できるようにするために公開鍵証明書が必要となり、公開鍵証明書を発行する認証局をはじめとする公開鍵基盤（ＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ））が必要である。ＰＫＩは、認証局を構築するためにＣＰ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｐｏｌｉｃｙ）やＣＰＳ（Ｃｅｒｔｉｆｉｃａｔｉｏｎ  Ｐｒａｃｔｉｃｅ  Ｓｔａｔｅｍｅｎｔ）の策定が必要であり、膨大な作業が必要である。また、公開鍵証明書の管理（失効／更新）が必要である。そのため、ＰＫＩは、高コストになるため一般に広く利用されるには至っていない。
【０００３】
近年、実用的なＩＤベース暗号方式、ＩＤベース署名方式が提案され、これらの方式を用いると、公開鍵の利用者が誰であるかを公開鍵を見ただけでわかるようになる（特許文献１、特許文献２参照）。ＩＤベース暗号方式は、公開鍵暗号方式の一つであるが、任意のＩＤ（例えば、メールアドレス等）を公開鍵として利用できる暗号方式である。すなわち、暗号データの受信者のＩＤを公開鍵として利用してデータの暗号化をすることができるため、公開鍵を見れば受信者（利用者）がわかる。そのため、ＩＤベース暗号方式は、公開鍵証明書等が必要でない点が特徴である。同様にＩＤベース署名方式では、署名データの送信者のＩＤを公開鍵としてデータの署名検証が行える。
【特許文献１】特表２００５−５００７４０号公報
【特許文献２】特表２００８−５０８８３６号公報
【非特許文献１】Ｓ／ＭＩＭＥ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ  Ｉｎｔｅｒｎｅｔ  Ｄｒａｆｔ，Ｇ．Ａｐｐｅｎｚｅｌｌｅｒ，Ｌ．Ｍａｒｔｉｎ，Ｍ．Ｓｃｈｅｒｔｌｅｒ、「Ｉｄｅｎｔｉｔｙ−ｂａｓｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ」，２００７年１１月
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＩＤベース暗号方式やＩＤベース署名方式では、データの送信者／受信者間で公開パラメータを共有する必要がある。
非特許文献１では、送信者／受信者が公開パラメータを取得する際は、「ＴＬＳ１．１以降のセキュアプロトコルを使用し、ＴＬＳ１．１以降のプロトコルにより認証されたサーバから取得した公開パラメータのみを受け入れること」とされている。しかし、ダウンロードする公開パラメータには、その公開パラメータが正しい（真正な）公開パラメータであることを証明するための仕組みは備わっていない。
そのため、ダウンロードした公開パラメータを保持しておき再利用する様な利用法をする場合には、保持してある公開パラメータの真正性が担保できるよう、保持のしかたに特別な仕掛けが必要である。
【０００５】
つまり、従来ＩＤベース暗号方式、ＩＤベース署名方式の公開パラメータを配布する場合には、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）／ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）などで認証と秘匿が行われた通信路で配布することになっているが、公開パラメータのデータ自体の真正性は担保されていない。そのため、利用者が自身のＰＣ等に保存している公開パラメータを、ＰＣに侵入した悪意を持った第三者（攻撃者）に改ざんされたような場合にはその改ざんの検出ができず、その公開パラメータを使用して暗号化し送信されたデータを、攻撃者に読み取られてしまう虞がある。
【課題を解決するための手段】
【０００６】
本発明に係る公開パラメータ提供サーバは、例えば、ＩＤベース暗号方式やＩＤベース署名方式における公開パラメータを提供する公開パラメータ提供サーバであり、
処理装置により公開パラメータに署名を施す署名部と、
上記署名部が署名を施した公開パラメータを通信装置を介して外部へ提供する公開パラメータ提供部と
を備えることを特徴とする。
【発明の効果】
【０００７】
本発明に係る公開パラメータ提供サーバによれば、公開パラメータに電子署名を施して公開するため、利用者は公開パラメータの真正性を確認することができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
まず、この実施の形態に係るＩＤベース公開鍵暗号通信システム８００の概要を説明する。
図１は、ＩＤベース公開鍵暗号通信システム８００のシステム構成図である。
ＩＤベース公開鍵暗号通信システム８００は、鍵生成サーバ１００（公開パラメータ提供サーバの一例）、公開パラメータサーバ２００（Ｐｕｂｌｉｃ  Ｐａｒａｍｅｔｅｒ  Ｓｅｒｖｅｒ。ＰＰＳ）、認証局３００、データ通信路４００、暗号メール送受信装置Ａ５００（送信者装置，暗号化処理実行装置の一例）、暗号メール送受信装置Ｂ６００（受信者装置，暗号化処理実行装置の一例）を備える。
なお、鍵生成サーバ１００は、秘密鍵生成装置（Ｐｒｉｖａｔｅ  Ｋｅｙ  Ｇｅｎｅｒａｔｏｒ。ＰＫＧ）とも呼ばれる。
【０００９】
鍵生成サーバ１００は、ＩＤベース暗号方式における秘密情報（利用者鍵生成用秘密鍵）と、秘密情報に対応する公開パラメータとを生成する。鍵生成サーバ１００は、自身の秘密鍵により公開パラメータに電子署名を施すとともに、その秘密鍵に対応する公開鍵に対して後述する認証局３００から公開鍵証明書の発行を受ける。また、鍵生成サーバ１００は、鍵生成サーバ１００のみが保持する秘密情報と受信者装置のＩＤとに基づいて、利用者秘密鍵を生成し、受信者装置に対して秘密裡に通知する。
公開パラメータサーバ２００は、鍵生成サーバ１００が生成した電子署名付きの公開パラメータを利用者へデータ通信路４００を介して公開する。
認証局３００は、鍵生成サーバ１００からの要求に応じ、公開パラメータに対してＰＫＩによる電子署名を施すための公開鍵証明書を発行する。
【００１０】
暗号メール送受信装置Ａ５００は、利用者Ａが暗号文を送信する送信者装置である。送信者装置は、公開パラメータサーバ２００が公開した公開パラメータと、受信者装置のＩＤとを入力として、受信者装置に対して送信すべき情報を暗号化した暗号文を生成する。そして、送信者装置は、暗号文を受信者装置へ送信する。
なお、受信者装置のＩＤは、例えばメールアドレスなど、本人のものであることが明白なものを用いる。
暗号メール送受信装置Ｂ６００は、送信者装置が送信した暗号文を利用者Ｂが受信する受信者装置である。受信者装置は、受信した暗号文を、鍵生成サーバ１００が秘密裡に通知した利用者秘密鍵と公開パラメータとに基づいて復号して、元の情報を取得する。
【００１１】
データ通信路４００は、インターネットなどのオープンなネットワークである。
つまり、暗号文は、インターネットなどオープンなネットワークを介して送受信されるので、攻撃者はこれらの情報を入手することができる。しかし、利用者秘密鍵は、受信者装置へ秘密裡に通知されるので、攻撃者が入手することはできない。利用者秘密鍵は、鍵生成サーバ１００のみが保持する秘密情報がなければ生成することはできないため、攻撃者が利用者秘密鍵を生成することはできない。したがって、送信者装置が受信者装置に対して通知した情報の秘密が守られる。
【００１２】
また、公開パラメータサーバ２００によって公開される公開パラメータには電子署名が施されており、公開パラメータを取得した利用者は公開鍵証明書によりその真正性を確認することができる。つまり、利用者は、公開パラメータが攻撃者によって生成、あるいは改ざんされた不正なものでないことを確認できる。したがって、不正な公開パラメータを使用して暗号文を生成してしまい、攻撃者に暗号文を解読されてしまうことを防止できる。
【００１３】
次に、図２から図６までに基づき、ＩＤベース公開鍵暗号通信システム８００において暗号文を送受信する処理について説明する。
図２は、鍵生成サーバ１００の機能を示す機能ブロック図である。
図３は、公開パラメータサーバ２００の機能を示す機能ブロック図である。
図４は、認証局３００の機能を示す機能ブロック図である。
図５は、暗号メール送受信装置（送信者装置、受信者装置）の機能を示す機能ブロック図である。
図６は、図６は暗号メール送受信装置Ａ５００を使用している利用者Ａが、暗号メール送受信装置Ｂ６００を利用している利用者Ｂに暗号メールを送信する様子を示すシーケンス図である。
【００１４】
図２に示すように、鍵生成サーバ１００は、秘密情報生成部１０１、秘密情報保管部１０２、署名部１０３、公開パラメータ公開部１０４、秘密鍵生成要求受付部１０５、秘密鍵生成部１０６、署名用公開鍵ペア生成部１０７、署名用公開鍵ペア保管部１０８、署名用公開鍵証明書要求部１０９、署名用公開鍵証明書保管部１１０を備える。
図３に示すように、公開パラメータサーバ２００は、公開パラメータ取得要求受付部２０１、公開パラメータ取得部２０２を備える。
図４に示すように、認証局３００は、認証局公開鍵ペア生成部３０１、認証局公開鍵証明書申請部３０２、認証局公開鍵ペア保管部３０３、認証局公開鍵証明書保管部３０４、下位エンティティ公開鍵証明書申請受付部３０５、下位エンティティ公開鍵証明書生成部３０６を備える。
図５に示すように、暗号メール送受信装置Ａ５００（送信者装置）と暗号メール送受信装置Ｂ６００（受信者装置）とは、メール作成部５０１、メール表示部５０２、メール暗号化部５０３、メール復号部５０４、メール送受信部５０５、公開パラメータ取得部５０６、公開パラメータ保管部５０７、公開鍵証明書信頼点管理部５０８、公開パラメータ署名検証部５０９、利用者秘密鍵要求部５１０、利用者秘密鍵保管部５１１を備える。
【００１５】
以下に説明する動作の前提として、認証局３００の認証局公開鍵ペア生成部３０１は、下位エンティティの公開鍵証明書を生成する際に使用する公開鍵ペアを生成し、認証局公開鍵ペア保管部３０３は、認証局公開鍵ペア生成部３０１が生成した公開鍵ペアを安全に記憶装置に記憶（保管）しているものとする。
また、認証局公開鍵証明書申請部３０２は、上位の認証局３００が生成した下位エンティティの公開鍵証明書を検証する際に必要な上位の認証局３００の公開鍵証明書を上位認証局３００に申請し、認証局公開鍵証明書保管部３０４は、認証局公開鍵証明書申請部３０２が申請した上位の認証局３００の公開鍵証明書を受信し、記憶装置に記憶しているものとする。
【００１６】
＜ＳＴ００１：署名用公開鍵ペア生成ステップ＞
鍵生成サーバ１００の署名用公開鍵ペア生成部１０７は、公開パラメータに電子署名を付与するための公開パラメータ署名用公開鍵ペア（署名用秘密鍵と署名用公開鍵）を処理装置により生成する。署名用公開鍵ペアは、例えば、ＲＳＡ公開鍵暗号方式などの公開鍵暗号方式に従い生成される。
署名用公開鍵ペア保管部１０８は、署名用公開鍵ペア生成部１０７が生成した公開鍵ペアを記憶装置に安全に記憶する。
【００１７】
＜ＳＴ００２：公開鍵証明書要求ステップ＞
署名用公開鍵証明書要求部１０９は、（ＳＴ００１）で生成した署名用公開鍵ペアの公開鍵証明書の発行要求を認証局３００へ通信装置を介して送信する。
【００１８】
＜ＳＴ００３：公開鍵証明書生成ステップ＞
認証局３００の下位エンティティ公開鍵証明書申請受付部３０５は、（ＳＴ００２）で送信された公開鍵証明書の発行要求を通信装置を介して受信して受け付ける。
下位エンティティ公開鍵証明書申請受付部３０５が公開鍵証明書の発行要求を受け付けると、下位エンティティ公開鍵証明書生成部３０６は、事前に認証局公開鍵ペア生成部３０１が生成した公開鍵ペアを使用して公開鍵証明書を処理装置により生成する。
そして、下位エンティティ公開鍵証明書申請受付部３０５は、生成した公開鍵証明書を鍵生成サーバ１００に対して通信装置を介して返送（応答）する。
【００１９】
＜ＳＴ００４：公開鍵証明書記憶ステップ＞
鍵生成サーバ１００の署名用公開鍵証明書要求部１０９は、（ＳＴ００３）で認証局３００から返送された公開鍵証明書を通信装置を介して受信する。
署名用公開鍵証明書保管部１１０は、署名用公開鍵証明書要求部１０９が受信した公開鍵証明書を記憶装置に記憶する。
【００２０】
＜ＳＴ００５：秘密情報生成ステップ＞
秘密情報生成部１０１は、所定のＩＤベース暗号方式の秘密情報と公開パラメータとを処理装置により生成する。
秘密情報保管部１０２は、秘密情報生成部１０１が生成した鍵生成サーバ１００の秘密情報を安全に記憶装置に記憶する。
【００２１】
＜ＳＴ００６：署名ステップ＞
署名部１０３は、（ＳＴ００１）で生成した署名用秘密鍵により、（ＳＴ００５）で生成した公開パラメータに対して処理装置により電子署名を付与する。
【００２２】
＜ＳＴ００７：公開パラメータ要求ステップ＞
送信者装置（暗号メール送受信装置Ａ５００）の公開パラメータ取得部５０６は、利用者Ａの操作により、鍵生成サーバ１００の公開パラメータを取得するために、公開パラメータサーバ２００へ公開パラメータ取得要求を通信装置を介して送信する。
【００２３】
＜ＳＴ００８：要求転送ステップ＞
公開パラメータサーバ２００の公開パラメータ取得要求受付部２０１は、送信者装置からの公開パラメータ取得要求を通信装置を介して受信し受け付ける。
そして、公開パラメータ取得部２０２は、鍵生成サーバ１００に対して公開パラメータ取得要求を通信装置を介して送信する。
【００２４】
＜ＳＴ００９：公開パラメータ提供ステップ＞
鍵生成サーバ１００の公開パラメータ公開部１０４は、公開パラメータサーバ２００からの公開パラメータ取得要求を通信装置を介して受信する。公開パラメータ公開部１０４は、公開パラメータ取得要求を受信すると、（ＳＴ００６）で電子署名を付与した公開パラメータを公開パラメータサーバ２００へ通信装置を介して返送する。
【００２５】
＜ＳＴ０１０：公開パラメータ転送ステップ＞
公開パラメータサーバ２００の公開パラメータ取得部２０２は、（ＳＴ００９）で返送された電子署名付きの公開パラメータを通信装置を介して受信する。そして、公開パラメータ取得要求受付部２０１は、受信した電子署名付きの公開パラメータを送信者装置へ通信装置を介して送信する。
【００２６】
＜ＳＴ０１１：公開パラメータ検証ステップ＞
送信者装置の公開パラメータ取得部５０６は、電子署名付きの公開パラメータを通信装置を介して受信する。
そして、公開パラメータ署名検証部５０９は、公開パラメータに付与された電子署名を処理装置により検証する。検証結果が正しければ、公開パラメータ保管部５０７は、署名付き公開パラメータを記憶装置に記憶する。
なお、公開鍵証明書信頼点管理部５０８は、公開パラメータに付与されている電子署名を検証するための信頼点となる公開鍵証明書を記憶装置に記憶しているものとする。つまり、鍵生成サーバ１００は、（ＳＴ００４）で記憶した公開鍵証明書を予め公開しておき、公開鍵証明書信頼点管理部５０８は、必要に応じて公開された公開鍵証明書を取得して記憶し、不要になった公開鍵証明書を削除する。そして、公開パラメータ署名検証部５０９は、電子署名の検証のために必要に応じて公開鍵証明書信頼点管理部５０８が管理している公開鍵証明書を参照して、電子署名の検証を行う。
【００２７】
＜ＳＴ０１２：暗号化ステップ＞
送信者装置のメール作成部５０１は、利用者Ａの操作により、利用者Ｂ宛の電子メールを処理装置により作成する。
メール暗号化部５０３は、公開パラメータと利用者ＢのＩＤ（ここでは、メールアドレス）を入力としてＩＤベース暗号方式で、メール作成部５０１が作成した電子メールを処理装置により暗号化して暗号メール（暗号文）を生成する。
【００２８】
＜ＳＴ０１３：暗号文送受信ステップ＞
送信者装置のメール送受信部５０５は、利用者Ａの操作により、（ＳＴ０１２）で生成した暗号メールを受信者装置（暗号メール送受信装置Ｂ６００）へ通信装置を介して送信する。
そして、受信者装置のメール送受信部５０５は、送信者装置が送信した暗号メールを通信装置を介して受信する。
【００２９】
＜ＳＴ０１４：公開パラメータ要求ステップ＞
（ＳＴ００７）と同様に、受信者装置の公開パラメータ取得部５０６は、利用者Ｂの操作により、鍵生成サーバ１００の公開パラメータを取得するために、公開パラメータサーバ２００へ公開パラメータ取得要求を通信装置を介して送信する。
【００３０】
＜ＳＴ０１５：要求転送ステップ＞
（ＳＴ００８）と同様に、公開パラメータサーバ２００の公開パラメータ取得要求受付部２０１は、送信者装置からの公開パラメータ取得要求を通信装置を介して受信し受け付ける。
そして、公開パラメータ取得部２０２は、鍵生成サーバ１００に対して公開パラメータ取得要求を通信装置を介して送信する。
【００３１】
＜ＳＴ０１６：公開パラメータ提供ステップ＞
（ＳＴ００９）と同様に、鍵生成サーバ１００の公開パラメータ公開部１０４は、公開パラメータサーバ２００からの公開パラメータ取得要求を通信装置を介して受信する。公開パラメータ公開部１０４は、公開パラメータ取得要求を受信すると、（ＳＴ００６）で電子署名を付与した公開パラメータを公開パラメータサーバ２００へ通信装置を介して返送する。
【００３２】
＜ＳＴ０１７：公開パラメータ転送ステップ＞
（ＳＴ０１０）と同様に、公開パラメータサーバ２００の公開パラメータ取得部２０２は、（ＳＴ０１６）で返送された電子署名付きの公開パラメータを通信装置を介して受信する。そして、公開パラメータ取得要求受付部２０１は、受信した電子署名付きの公開パラメータを送信者装置へ通信装置を介して送信する。
【００３３】
＜ＳＴ０１８：公開パラメータ検証ステップ＞
（ＳＴ０１１）と同様に、受信者装置の公開パラメータ取得部５０６は、電子署名付きの公開パラメータを通信装置を介して受信する。
そして、公開パラメータ署名検証部５０９は、公開パラメータに付与された電子署名を処理装置により検証する。検証結果が正しければ、公開パラメータ保管部５０７は、署名付き公開パラメータを記憶装置に記憶する。公開パラメータ署名検証部５０９は、電子署名の検証のために必要に応じて公開鍵証明書信頼点管理部５０８が管理している公開鍵証明書を参照して、電子署名の検証を行う。
【００３４】
＜ＳＴ０１９：利用者秘密鍵要求ステップ＞
受信者装置の利用者秘密鍵要求部５１０は、利用者Ｂの操作により、（ＳＴ０１３）で受信した暗号メールを復号するために必要な利用者秘密鍵を要求する利用者秘密鍵生成要求を鍵生成サーバ１００へ通信装置を介して送信する。
そして、鍵生成サーバ１００の秘密鍵生成要求受付部１０５は、利用者秘密鍵生成要求を通信装置を介して受信する。この時、秘密鍵生成要求受付部１０５は、パスワードの入力を求めるなどして利用者Ｂの本人確認を行う。そのため、利用者秘密鍵生成要求の送信は、ＳＳＬ／ＴＬＳなどを使用した保護された通信路上で行われる。なお、認証を行うために必要なデータの登録等は事前に終了しているものとする。
【００３５】
＜ＳＴ０２０：利用者秘密鍵生成ステップ＞
秘密鍵生成部１０６は、（ＳＴ００５）で記憶した秘密情報と、利用者ＢのＩＤ（（ＳＴ０１２）で暗号化するために使用したＩＤ）とを入力として、利用者Ｂの利用者秘密鍵を処理装置により生成する。
なお、利用者ＢのＩＤは、（ＳＴ０１９）で受信者装置が利用者秘密鍵生成要求の中に含めて受信するとしてもよいし、鍵生成サーバ１００が予め取得しておくものとしてもよい。
【００３６】
＜ＳＴ０２１：利用者秘密鍵提供ステップ＞
秘密鍵生成要求受付部１０５は、（ＳＴ０２０）で生成した利用者Ｂの利用者秘密鍵を受信者装置へ通信装置を介して返送する。利用者秘密鍵は秘密裡に提供する必要があるため、利用者秘密鍵の送信はＳＳＬ／ＴＬＳなどを使用した保護された通信路上で行われる。
そして、受信者装置の利用者秘密鍵要求部５１０は、利用者秘密鍵を通信装置を介して受信する。利用者秘密鍵保管部５１１は、受信した利用者秘密鍵を記憶装置に記憶する。
【００３７】
＜ＳＴ０２２：復号ステップ＞
受信者装置のメール復号部５０４は、署名付き公開パラメータと利用者秘密鍵とを入力として、（ＳＴ０１３）で受信した暗号メールをＩＤベース暗号方式で処理装置により復号して平文メールを生成する。
メール表示部５０２は、生成した平文メールを表示装置に表示する。
【００３８】
以上のように、電子署名により公開パラメータの真正性を確認した上で、暗号化／復号の処理を行うため、攻撃者により公開パラメータの改ざんが行われたこと等を検出できる。
【００３９】
なお、送信者装置と受信者装置との公開パラメータ保管部５０７は、公開パラメータサーバ２００から取得した署名付きの公開パラメータを記憶装置に記憶する。上記説明では送信者装置が（ＳＴ００７）から（ＳＴ０１１）で、受信者装置が（ＳＴ０１４）から（ＳＴ０１８）で公開パラメータサーバ２００から公開パラメータを取得し、電子署名の検証をした。つまり、上記説明では、暗号化／復号の度に公開パラメータを取得するものとして説明した。
しかし、既に公開パラメータが取得済みで公開パラメータ保管部５０７が記憶装置に記憶している場合には、（ＳＴ００７）から（ＳＴ０１１）までと、（ＳＴ０１４）から（ＳＴ０１８）までとの処理は省略可能である。
公開パラメータ保管部５０７が記憶した公開パラメータが正しい公開パラメータであることは、（ＳＴ０１２）で電子メールを暗号化する直前と、（ＳＴ０２２）で暗号化メールを復号する直前とにおいて、公開パラメータの署名の検証を行うことで確認できる。
以上のように、公開パラメータサーバ２００が公開する公開パラメータに署名を付与することにより、送信者装置と受信者装置とは、予め公開パラメータサーバ２００から取得した公開パラメータを保管しておくことができる。つまり、電子メールの暗号化時や暗号化メールの復号時に、毎回公開パラメータサーバ２００から公開パラメータを取得する必要が無い。
【００４０】
また、上記説明では、ＩＤベース暗号方式に基づく暗号化処理として、暗号文を作成する処理についてのみ説明した。しかし、ＩＤベース暗号方式に基づく暗号化処理として、電子署名を付与する処理であっても公開パラメータに電子署名を付与することにより同様の効果を得ることができる。
つまり、送信者装置において、公開パラメータに付与された電子署名を検証した上で、メール暗号化部５０３が公開パラメータと送信者装置の利用者秘密鍵とを用いて、送信するデータに電子署名を付与する。一方、受信者装置において、公開パラメータに付与された電子署名を検証した上で、メール復号部５０４は、公開パラメータと送信者装置のＩＤとを用いて、受信したデータに付与された電子署名を検証する。
【００４１】
また、上記説明において、公開パラメータの電子署名を生成するために用いる署名用公開鍵ペアは、鍵生成サーバ１００がＲＳＡ公開鍵暗号方式などに従い生成するとした。つまり、公開鍵パラメータの電子署名は、鍵生成サーバ１００の秘密鍵により付与されるとした。
しかし、これに限らず、署名用公開鍵ペアは、例えば、公開パラメータサーバ２００の秘密鍵により付与されるとしてもよい。
また、電子署名に使用される鍵生成サーバ１００の秘密鍵は他のＰＫＧから発行されたＩＤベース署名方式の秘密鍵であるとしてもよい。この場合、電子署名の検証に必要な鍵生成サーバ１００のＩＤも公開されているものとする。
同様に、電子署名に使用される公開パラメータサーバ２００の秘密鍵は他のＰＫＧから発行されたＩＤベース署名方式の秘密鍵であるとしてもよい。この場合、電子署名の検証に必要な公開パラメータサーバ２００のＩＤも公開されているものとする。
【００４２】
また、上記説明において、公開鍵証明書は認証局３００から取得するとした。しかし、これに限らず、鍵生成サーバ１００の秘密鍵による自己鍵証明書（公開パラメータサーバ２００の秘密鍵により署名をする場合には、公開パラメータサーバ２００の秘密鍵による自己鍵証明書）であってもよい。
【００４３】
以上をまとめると次のようになる。
上記実施の形態に係るＩＤベース公開鍵暗号通信システム８００は、ＩＤベース暗号方式における公開パラメータの公開方式であって、利用者秘密鍵を生成するＰＫＧが利用者秘密鍵を生成するために使用するマスター鍵と公開パラメータを生成し、そのうちの公開パラメータを利用者に公開する際には、公開パラメータ全体に対して電子署名を施してから公開するＩＤベース暗号方式における公開パラメータの公開方式である。
【００４４】
また、上記ＩＤベース暗号方式における公開パラメータの公開方式は、公開パラメータに対する電子署名はＰＫＧが持つ秘密鍵によって電子署名がなされている公開パラメータの公開方式である。
特に、電子署名に使用されるＰＫＧの秘密鍵は、ＲＳＡ公開鍵暗号方式など既存の公開鍵暗号方式であり、電子署名の検証に利用する公開鍵に対しては、利用者が信頼点として信頼する認証局３００から公開鍵証明書の発行を受けるか、もしくはＰＫＧの秘密鍵による自己署名証明書を付ける。
または、電子署名に使用されるＰＫＧの秘密鍵は他のＰＫＧから発行されたＩＤベース署名方式の秘密鍵であり、電子署名の検証に必要なＰＫＧのＩＤを公開する。
【００４５】
また、上記ＩＤベース暗号方式における公開パラメータの公開方式であって、公開パラメータに対する電子署名はＰＰＳが持つ秘密鍵によって電子署名がなされている公開パラメータの公開方式である。
特に、電子署名に使用されるＰＰＳの秘密鍵は、ＲＳＡ公開鍵暗号方式など既存の公開鍵暗号方式であり、電子署名の検証に利用する公開鍵に対しては、利用者が信頼点として信頼する認証局３００から公開鍵証明書の発行を受け、もしくはＰＰＳの秘密鍵による自己署名証明書を付ける。
または、電子署名に使用されるＰＰＳの秘密鍵は他のＰＫＧから発行されたＩＤベース署名方式の秘密鍵であり、電子署名の検証に必要なＰＰＳのＩＤを公開する。
【００４６】
また、上記実施の形態に係る暗号化処理実行装置は、ＩＤベース暗号方式を利用して暗号化データを送受信する暗号化処理実行装置であって、利用するＰＫＧの公開パラメータをダウンロードした後、暗号化処理実行装置のローカルディスクなどに保存しておき、他の利用者あての暗号化データ（親展データ）を作成する際には、ローカルディスクに保存されている公開パラメータを読み込み、公開パラメータに施されている電子署名の署名検証を行って、公開パラメータが改ざんされていないことを確認した上で、その公開パラメータと受信者のＩＤを使用して暗号化データ（親展データ）を作成することを特徴とする。
【００４７】
また、上記実施の形態に係る暗号化処理実行装置は、ＩＤベース署名方式を利用して署名付きデータを送受信する送受信装置であって、利用するＰＫＧの公開パラメータをダウンロードした後送受信装置のローカルディスクなどに保存しておき、他の利用者から受信した署名付きデータを検証する際には、ローカルディスクに保存されている公開パラメータを読み込み、公開パラメータに施されている電子署名の署名検証を行って、公開パラメータが改ざんされていないことを確認した上で、その公開パラメータと送信者のＩＤを使用して署名データの検証を行うことを特徴とする。
【００４８】
ＩＤベース暗号方式は、一般に公開鍵証明書等を使用しなくてよいことが特徴である。しかし、上記実施の形態では、あえて公開パラメータに電子署名を付与し、その公開鍵証明書を公開するものとした。つまり、ＩＤベース暗号方式であるにも関わらず、公開鍵証明書を使用するものとした。
しかし、従来の公開鍵暗号方式では、受信者の公開鍵毎に公開鍵証明書が必要であったのに対し、上記実施の形態では、公開パラメータにのみ公開鍵証明書があれば足りる。つまり、従来の公開鍵暗号方式に比べ、必要な公開鍵証明書の数は格段に少なく、コストも抑えられる。すなわち、上記実施の形態に係る暗号化通信方式では、従来の公開鍵暗号方式に対するＩＤベース暗号方式の利点を生かしつつ、ＩＤベース暗号方式の課題を解決している。
【００４９】
次に、上記実施の形態における鍵生成サーバ１００、公開パラメータサーバ２００、認証局３００、暗号メール送受信装置Ａ５００、暗号メール送受信装置Ｂ６００のハードウェア構成について説明する。
図７は、鍵生成サーバ１００、公開パラメータサーバ２００、認証局３００、暗号メール送受信装置Ａ５００、暗号メール送受信装置Ｂ６００のハードウェア構成の一例を示す図である。
図７に示すように、鍵生成サーバ１００、公開パラメータサーバ２００、認証局３００、暗号メール送受信装置Ａ５００、暗号メール送受信装置Ｂ６００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、ＬＣＤ９０１（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、通信ボード９１５、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
【００５０】
ＲＯＭ９１３、磁気ディスク装置９２０は、不揮発性メモリの一例である。ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３とＲＡＭ９１４と磁気ディスク装置９２０とは、記憶装置（メモリ）の一例である。また、キーボード９０２、通信ボード９１５は、入力装置の一例である。また、通信ボード９１５は、通信装置の一例である。さらに、ＬＣＤ９０１は、表示装置の一例である。
【００５１】
磁気ディスク装置９２０又はＲＯＭ９１３などには、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００５２】
プログラム群９２３には、上記の説明において「秘密情報生成部１０１」、「秘密情報保管部１０２」、「署名部１０３」、「公開パラメータ公開部１０４」、「秘密鍵生成要求受付部１０５」、「秘密鍵生成部１０６」、「署名用公開鍵ペア生成部１０７」、「署名用公開鍵ペア保管部１０８」、「署名用公開鍵証明書要求部１０９」、「署名用公開鍵証明書保管部１１０」、「公開パラメータ取得要求受付部２０１」、「公開パラメータ取得部２０２」、「認証局公開鍵ペア生成部３０１」、「認証局公開鍵証明書申請部３０２」、「認証局公開鍵ペア保管部３０３」、「認証局公開鍵証明書保管部３０４」、「下位エンティティ公開鍵証明書申請受付部３０５」、「下位エンティティ公開鍵証明書生成部３０６」、「メール作成部５０１」、「メール表示部５０２」、「メール暗号化部５０３」、「メール復号部５０４」、「メール送受信部５０５」、「公開パラメータ取得部５０６」、「公開パラメータ保管部５０７」、「公開鍵証明書信頼点管理部５０８」、「公開パラメータ署名検証部５０９」、「利用者秘密鍵要求部５１０」、「利用者秘密鍵保管部５１１」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、上記の説明において「公開パラメータ」、「電子署名」、「秘密情報」、「利用者秘密鍵」、「公開鍵証明書」、「電子メール」、「暗号文」、「暗号化メール」、「平文メール」等の情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、その他光ディスク等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００５３】
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ＲＯＭ９１３等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【００５４】
なお、鍵生成サーバ１００と公開パラメータサーバ２００とを１つの装置としてもよい。
【図面の簡単な説明】
【００５５】
【図１】ＩＤベース公開鍵暗号通信システム８００のシステム構成図。
【図２】鍵生成サーバ１００の機能を示す機能ブロック図。
【図３】公開パラメータサーバ２００の機能を示す機能ブロック図。
【図４】認証局３００の機能を示す機能ブロック図。
【図５】暗号メール送受信装置Ａ５００、暗号メール送受信装置Ｂ６００の機能を示す機能ブロック図。
【図６】図６は暗号メール送受信装置Ａ５００を使用している利用者Ａが、暗号メール送受信装置Ｂ６００を利用している利用者Ｂに暗号メールを送信する様子を示すシーケンス図。
【図７】鍵生成サーバ１００、公開パラメータサーバ２００、認証局３００、暗号メール送受信装置Ａ５００、暗号メール送受信装置Ｂ６００のハードウェア構成の一例を示す図。
【符号の説明】
【００５６】
１００  鍵生成サーバ、１０１  秘密情報生成部、１０２  秘密情報保管部、１０３  署名部、１０４  公開パラメータ公開部、１０５  秘密鍵生成要求受付部、１０６  秘密鍵生成部、１０７  署名用公開鍵ペア生成部、１０８  署名用公開鍵ペア保管部、１０９  署名用公開鍵証明書要求部、１１０  署名用公開鍵証明書保管部、２００  公開パラメータサーバ、２０１  公開パラメータ取得要求受付部、２０２  公開パラメータ取得部、３００  認証局、３０１  認証局公開鍵ペア生成部、３０２  認証局公開鍵証明書申請部、３０３  認証局公開鍵ペア保管部、３０４  認証局公開鍵証明書保管部、３０５  下位エンティティ公開鍵証明書申請受付部、３０６  下位エンティティ公開鍵証明書生成部、４００  データ通信路、５００  暗号メール送受信装置Ａ、５０１  メール作成部、５０２  メール表示部、５０３  メール暗号化部、５０４  メール復号部、５０５  メール送受信部、５０６  公開パラメータ取得部、５０７  公開パラメータ保管部、５０８  公開鍵証明書信頼点管理部、５０９  公開パラメータ署名検証部、５１０  利用者秘密鍵要求部、５１１  利用者秘密鍵保管部、６００  暗号メール送受信装置Ｂ、８００  ＩＤベース公開鍵暗号通信システム。
【図１】
2010028689.tif 000003
【図２】
2010028689.tif 000004
【図３】
2010028689.tif 000005
【図４】
2010028689.tif 000006
【図５】
2010028689.tif 000007
【図６】
2010028689.tif 000008
【図７】
2010028689.tif 000009