(57)【要約】識別ベースの暗号化を用いて安全な通信をサポートするシステムが提供される。送信者から受信者へのメッセージは、受信者に対応付けられた秘密鍵生成器で生成した受信者の識別および公開パラメータを用いて暗号化され得る。受信者に対応付けられた秘密鍵生成器は、受信者の秘密鍵を生成する。暗号化されたメッセージは、受信者の秘密鍵を用いて、受信者により復号化され得る。システムは、それぞれ個別のセットの公開パラメータを有する複数の秘密鍵生成器を有し得る。ディレクトリサービスは、ある秘密鍵生成器に対応付けられた送信者に適切な公開パラメータを提供するように、異なる秘密鍵生成器に対応付けられた受信者へのメッセージを暗号化する際に用いられ得る。認証機関は、ディレクトリサービスのディレクトリエントリに署名するために用いられ得る。クリアリングハウスは、ディレクトリエントリの複製を回避するために用いられ得る。
2006506908.tif 000002
【特許請求の範囲】
【請求項１】
識別ベースの暗号化を用いて、ユーザ機器のユーザが通信ネットワークを介して通信するシステム内の暗号化された通信をサポートする方法であって、ここで、該システムは、複数の秘密鍵生成器を有し、それぞれ対応付けられたユーザ群の秘密鍵を生成し、各ユーザの秘密鍵は、ユーザの識別および公開パラメータを使用して、そのユーザが用いて暗号化されたユーザ宛のメッセージ復号化することにより使用され得、該方法は、以下：
該通信ネットワークに接続したディレクトリサービスを用いて、該通信ネットワークに接続したユーザ機器を有する送信者に、どの公開パラメータを用いて該通信ネットワークに接続したユーザ機器の受信者宛のメッセージを暗号化することを判定する機会を提供することを包含し、該送信者は該受信者とは異なる秘密鍵生成器に対応付けられている、方法。
【請求項２】
請求項１に記載の方法であって、ディレクトリサーバを用いて前記ディレクトリサービスを実行し、該ディレクトリサーバは、電子メールアドレス群を特定の対応する秘密鍵生成器に対応付けられた特定の公開パラメータとマッピングする情報を含む、方法。
【請求項３】
請求項１に記載の方法であって、前記メッセージが電子メールメッセージであり、該方法はさらに、電子メールアドレス情報に基づいて、前記ディレクトリサービスを用いて、前記送信者の要求があり次第、前記受信者の組織の公開パラメータを参照することを包含する、方法。
【請求項４】
請求項１に記載の方法であって、前記通信ネットワークに接続した複数のディレクトリサービスが存在し、該方法はさらに、少なくとも１つのディレクトリサービスを用いて、異なる秘密鍵生成器の公開パラメータが備えられているクリアリングハウスサービスからユーザの公開パラメータを受信することを包含する、方法。
【請求項５】
請求項１に記載の方法であって、前記システムは、異なる秘密鍵生成器の公開パラメータが備えられているクリアリングハウスサービスを含み、前記通信ネットワークに接続した複数のディレクトリサービスが存在し、各々、各ユーザ群をそれぞれに対応付けられた秘密鍵生成器の公開パラメータと対応づける複数のエントリのディレクトリを含み、前記クリアリングハウスは、いくつかのエントリの複製を防止し、該方法はさらに、少なくとも１つのディレクトリサービスを用いてクリアリングハウスサービスからユーザの公開パラメータを受信することを包含する、方法。
【請求項６】
請求項１に記載の方法であって、前記システムはさらに認証機関を含み、該認証機関を介して、少なくともいくつかの秘密鍵生成器がそれらに対応付けられた公開パラメータを提供し、該方法はさらに、少なくとも認証機関を介して秘密鍵生成器からこれらの公開パラメータを受信することを包含する、方法。
【請求項７】
請求項１に記載の方法であって、インターネットドメインネームシステム（ＤＮＳ）のコンピュータを用いて前記ディレクトリサービスを実行し、該方法はさらに、ドメインネームシステムのコンピュータを、特定のドメイン名を特定の公開パラメータにマッピングする情報のホストとして用いることを包含する、方法。
【請求項８】
送信者に、システム内の通信ネットワークを介して所定の受信者に識別ベースの暗号化されたメッセージを送信するのに用いる適切な公開パラメータを提供する方法であって、システムには複数の秘密鍵生成器が存在し、それぞれ一意のマスタシークレット、一意の公開パラメータ、および異なる群の対応付けられたユーザを有し、該送信者はメッセージを暗号化する際に用いる所定の受信者の識別を得、該方法は、以下：
該送信者が得た該受信者の識別を用いて、該受信者の識別および適切な公開パラメータに基づいて、該送信者が識別ベースの暗号化を用いて所定の受信者宛のメッセージを暗号化するのに、複数の秘密鍵生成器に対応付けられた一意の公開パラメータのいずれが、送信者に提供するのに適切か判定することを包含する、方法。
【請求項９】
請求項８に記載の方法であって、ディレクトリサービスを用いて、前記送信者に所定の受信者宛のメッセージを暗号化するのに用いる適切な公開パラメータを提供することをさらに包含する、方法。
【請求項１０】
請求項８に記載の方法であって、前記送信者および前記所定の受信者が異なる識別ベースの暗号化秘密鍵生成器に対応付けられ、前記通信ネットワークがインターネットを備え、該方法はさらに、以下：
該送信者がインターネットを介して情報のデータベースにアクセスすることができ、データベースはある受信者を異なる秘密鍵生成器の公開パラメータと対応づける情報を包含する、方法。
【請求項１１】
請求項８に記載の方法であって、前記送信者および前記所定の受信者が異なる識別ベースの暗号化秘密鍵生成器に対応付けられ、該方法はさらに、以下：
秘密鍵生成器の１つを用いて、該送信者に異なるユーザ群を異なる個別のセットの公開パラメータ情報にマッピングする情報を提供することを包含する、方法。
【請求項１２】
請求項８に記載の方法であって、少なくともいくつかの秘密鍵生成器がユーザの時間に敏感な秘密鍵を生成し、該方法はさらに、以下：
前記送信者が該送信者の現在の秘密鍵を得る場合に、該送信者に適切な識別ベースの暗号化公開パラメータ情報を提供することを包含する、方法。
【請求項１３】
請求項１２に記載の方法であって、前記送信者の秘密鍵生成器を該送信者が接続しているローカルエリアネットワーク上で実行し、該方法はさらに、以下：
該送信者の秘密鍵生成器を用いて該送信者の現在の秘密鍵を生成して、ローカルエリアネットワークを介して該送信者に提供すること；および
同じ秘密鍵生成器を用いて、該送信者に所定の受信者宛のメッセージを暗号化するのに用いる適切な公開パラメータを提供すること
を包含する、方法。
【請求項１４】
請求項８に記載の方法であって、暗号化されたメッセージを用いて前記受信者に対称鍵を提供することをさらに包含する、方法。
【請求項１５】
請求項８に記載の方法であって、クリアリングハウスサービスを用いて複数の秘密鍵生成器が提供した公開パラメータ情報を処理して、複製を回避することをさらに包含する、方法。
【請求項１６】
請求項８に記載の方法であって、公開パラメータを前記送信者に提供する前に、認証機関を用いて少なくともいくつかの秘密鍵生成器の公開パラメータに署名をすることをさらに包含する、方法。
【請求項１７】
識別ベースの暗号化を用いて、ユーザ機器のユーザが通信ネットワークを介して通信するシステム内の暗号化された通信をサポートする方法であって、該システムは、複数の秘密鍵生成器を有し、それぞれ対応付けられたユーザ群の秘密鍵を生成し、ユーザの識別および公開パラメータを使用して、各ユーザの秘密鍵をそのユーザが用いて暗号化されたユーザ宛のメッセージを復号化し、該方法は、以下：
第１のユーザから第２のユーザへピアツーピアメッセージを送信し、該第１のユーザは、該第２のユーザが対応付けられていない秘密鍵生成器に対応付けられていて、メッセージは、該第１のユーザが対応付けられている秘密鍵生成器の公開パラメータを含むことを包含する、方法。
【請求項１８】
識別ベースの暗号化を用いて、ユーザ機器のユーザが通信ネットワークを介して通信するシステム内の暗号化された通信をサポートする方法であって、該システムは、複数の秘密鍵生成器を有し、それぞれ対応付けられたユーザ群の秘密鍵を生成し、ユーザの識別および公開パラメータを使用して、各ユーザの秘密鍵をそのユーザが用いて暗号化されたユーザ宛のメッセージを復号化し、システムは対応付けられたグローバル公開パラメータを有するグローバル秘密鍵生成器を含み、該方法は、以下：
グローバル公開パラメータおよび受信者の識別を用いて、少なくとも１つの秘密鍵生成器に対応付けられた送信者が、ユーザ機器を用いて少なくとも１つの異なる秘密鍵生成器に対応付けられた受信者宛のメッセージを暗号化できることを包含する、方法。
【請求項１９】
請求項１８に記載の方法であって、前記ユーザ機器が前記通信ネットワークに接続していない場合に、前記送信者が該ユーザ機器を用いて、前記受信者宛のメッセージを暗号化できることをさらに包含する、方法。
【請求項２０】
請求項１８に記載の方法であって、前記送信者が暗号化したメッセージを前記受信者に送信でき、メッセージが該送信者に対応付けられた秘密鍵生成器の公開パラメータを含むことをさらに包含する、方法。
【請求項２１】
請求項１８に記載の方法であって、以下：
前記送信者が暗号化されたメッセージを前記受信者に送信でき、暗号化されたメッセージが該受信者に対応付けられた異なる１つの秘密鍵生成器の公開パラメータの対する要求を含むこと；および
受信者に対応付けられた異なる１つの秘密鍵生成器の公開パラメータを送信者に提供することにより、受信者のユーザ機器を用いて自動的に暗号化されたメッセージに応答すること
をさらに包含する、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
（発明の背景）
本発明は暗号化に関し、特に詳しくは識別ベースの暗号化手法に関する。
【０００２】
暗号システムを用いることにより、安全な電子メールサービスおよび安全なウェブ閲覧等の安全な通信サービスを提供することができる。
【０００３】
対称鍵暗号システムを用いて、メッセージの送信者が同一の鍵を用いてメッセージを暗号化して、メッセージの受信者がこれを用いてメッセージを復号化する。対称鍵システムでは、各送信者および受信者のそれぞれが、安全なやり方で共通の鍵を交換する必要がある。
【０００４】
公開鍵暗号システムでは、２種類の鍵を用いる。公開鍵および秘密鍵である。送信者は、受信者の公開鍵を用いてメッセージを暗合化することもできる。各受信者は秘密鍵を持ち、これを用いて各自受信者宛のメッセージを復号化する。
【０００５】
用いられる公開暗号システムの１つは、ＲＳＡ暗号システムである。このシステム内の各ユーザは、一意の公開鍵および一意の秘密鍵を持っている。このシステムを用いる送信者は、インターネットに接続した鍵サーバから任意の受信者の公開鍵を得ることもできる。公開鍵の信憑性を保護することにより考えられ得るＭＩＴＭ攻撃を無効にするために、信頼できる認証機関が署名した証明書が付いた公開鍵を送信者に提供する。証明書を用いることにより、公開鍵が送信者のメッセージのしかるべき受信者に属していることを証明することもできる。
【０００６】
ある従業員がもう組織で働いていない場合に、その組織でその従業員の暗号化された電子メールの権利を無効にするために、ある組織では、全従業員の公開鍵を、一日が終わるごとに自動的に失効するようにすることもできる。現在の従業員用の新規の公開鍵を、毎日生成することもできる。新規の公開鍵を公開鍵サーバに配置することで、公に利用できるようにすることもできる。
【０００７】
公開鍵暗号化アルゴリズムを用いる暗号化は計算的に集約されているので、システムのなかには、ユーザが公開鍵暗号化を用いて安全に共通の対称鍵を交換できるようにしているものもある。次に対称鍵を用いて、安全な通信セッションをサポートすることもできる。
【０００８】
公開鍵暗号化システムでは、送信者がメッセージを暗号化する前に、送信者はメッセージ受信者の公開鍵を得る必要がある。送信者がポータブルコンピュータを持って移動していて、一時的にこのコンピュータに保存された電子メールメッセージに応答使用とすることもある。送信者がこのメッセージを送信した人の公開鍵のコピーをまだ持っていない場合には、送信者は公開鍵サーバからその公開鍵を得る必要がある。しかしながら、送信者が電子メールの返事を作成したい時に送信者のポータブルコンピュータがオンラインになっていないこともある。従って、送信者はオンラインで公開鍵サーバにアクセスすることができず、メッセージを作成して直ちに暗号化することができないこともある。送信者のコンピュータが盗難に遭う危険があるので、コンピュータ上の暗号化されていないメッセージが傍受される可能性がある。
【０００９】
識別ベースの暗号化手法は、公開鍵システムとは異なって動作する。識別ベースの暗号化システムでは、公開パラメータおよび秘密鍵を用いて送信者と受信者とが安全に通信する。各ユーザは、ユーザの識別に基づいて一意の秘密鍵を持ちメッセージを復号化するが、（暗号化および復号化処理の間に用いられる）１つのセットの公開パラメータは、多くのユーザで共通である場合がある。
【００１０】
適した構成では、日付印と連結したユーザの電子メールアドレスまたはユーザの電子メールアドレスを用いて各ユーザを識別する。このアプローチでは、現在オフラインで公開鍵サーバにアクセスできない送信者でも、ユーザの公開パラメータにアクセスした場合にメッセージを直ちに暗号化することもできる。組織内の全ユーザが同じセットの公開パラメータを共有しているので、送信者が一度も通信したことがない受信者であっても、送信者は多くの場合正しい公開パラメータにアクセスして、任意の受信者に用いることもできる。ネットワークアクセスが利用できる場合は、暗号化されたメッセージを受信者に送信することもできる。受信者は、自分の秘密鍵を用いてメッセージを復号化することもできる。
【００１１】
識別ベース暗号システムでは、秘密鍵を秘密鍵生成器で生成することもできる。秘密鍵生成器では、秘密鍵を生成する際に入力として、機密情報（すなわち、いわゆる”マスタシークレット”）を用いる。システムのセキュリティは、組織がマスタシークレット保持してその機密を維持できる能力に基づいている。
【００１２】
識別ベース暗号システムではマスタシークレットの機密を維持することが重要なので、ある組織では、マスタシークレットの管理責任を第三者に委託したがらない場合もある。しかしながら、複数の組織が異なるマスタシークレットを用いて別々の識別ベースの暗号化システムを実行する場合、異なる組織に対応付けられたユーザが互いに通信することが困難なこともある。
【発明の開示】
【課題を解決するための手段】
【００１３】
（発明の要旨）
本発明によれば、複数の秘密鍵生成器を有する識別ベースの暗号化システムを提供する。各秘密鍵生成器は、異なるマスタシークレットを有して、複数の対応付けられたユーザそれぞれに一意の秘密鍵を生成することもできる。各秘密鍵生成器はまた、セットの公開パラメータを生成して、その秘密鍵生成器に対応付けられたユーザのなかの受信者宛のメッセージを暗号化する際に用いることができる。
【００１４】
ディレクトリサービスを利用することにより、特定のユーザ群を特定のセットの公開パラメータにマッピングしたり対応づけたりする情報に、システムのユーザがアクセスできるようにすることもできる。任意の受信者または組織の公開パラメータ情報を所望する送信者は、ディレクトリサービスに照会することもできる。
【００１５】
所望の場合には、システムは、複数のディレクトリサービスを有することもでき、それぞれユーザ情報および対応付けられた公開パラメータ情報のディレクトリを維持する。クリアリングハウスサービスを用いることにより、これらのディレクトリ内のエントリで複製を作成することを防止することもできる。
【００１６】
ユーザ識別は、電子メールアドレスに基づくこともできる。この種のアプローチを用いる場合には、送信者は、電子メールアドレス情報（例えば、任意の受信者の電子メールアドレスのドメイン名部分、または受信者の全電子メールアドレスを用いる）を用いることにより、ディレクトリ内の公開パラメータ情報を参照することもできる。
【００１７】
ディレクトリサービスが信頼できるものであれば、ユーザは、安全な通信リンク（例えば、安全なソケット層プロトコルを用いて）ディレクトリサービスから公開パラメータ情報を得ることができる。ディレクトリサービスが信頼できるものでなければ（例えば、未知の第三者が実行しているという理由で）、認証機関を用いることにより、ディレクトリエントリに署名することもできる。そして、ユーザはディレクトリエントリを証明することもできる。
【００１８】
ディレクトリサービスが信頼できる構成では、各秘密鍵生成器により、ディレクトリ情報（例えば、その秘密鍵生成器に対応付けられたドメイン名に関する情報およびその秘密鍵生成器に対応付けられたセットの公開パラメータの関連情報）を安全な通信リンクを介してディレクトリサービスに提供することもできる。ディレクトリサービスが信頼できない構成では、秘密鍵生成器により、認証機関を介してディレクトリ情報をディレクトリサービスに提供することもできる。秘密鍵生成器のディレクトリ情報の信憑性を、この情報をユーザがアクセスできるように公開する前に、（信頼できるディレクトリサービスまたは認証機関により）証明することもできる。
【００１９】
所望の場合には、ユーザの一意の秘密鍵を自動的に無効にすることもできる。適したあるアプローチでは、各ユーザの識別をそのユーザの電子メールアドレスと連結したタイムスタンプで構成することもできる。他のユーザに秘密鍵を生成し続けている間は、任意のユーザの特権を、その任意のユーザに秘密鍵をさらに生成しないようにすることにより、秘密鍵生成器で無効にすることもできる。
【００２０】
定期的に秘密鍵が無効になるシステムでは（例えば、週に一度）、ユーザは通常、ユーザの秘密鍵を同じ頻度で（例えば、週に一度）更新しようとする。ユーザの秘密鍵生成器を用いて現在のバージョンのユーザの秘密鍵を得るという週ごとに交換を行う間は、ユーザは、他の識別ベースの暗号化システムのユーザ用の更新した公開パラメータのディレクトリ情報を得ることもある。このディレクトリ情報を、現在の秘密鍵情報を提供するのと同時に、ユーザの秘密鍵生成器でユーザに提供することもできる。秘密鍵生成器は、ディレクトリ情報を、ディレクトリサービスから、他の秘密鍵生成器から、クリアリングハウス（例えば、複数のディレクトリサービスが存在するといった環境）から、認証機関（例えば、秘密鍵生成器の証明書を生成する認証機関）から、あるいはシステム内の任意の他の適したエンティティから得ることもできる。また、公開パラメータのディレクトリ情報を、ピアツーピア構成を介してユーザ間で交換することもできる。例えば、公開パラメータ情報を、電子メールを用いて交換することもできる。
【００２１】
本発明のさらなる特徴、その性質および各種の利点について、添付の図面および以下の好適な実施の形態の詳細な説明から明らかになるであろう。
【発明を実施するための最良の形態】
【００２２】
（好ましい実施形態の詳細な説明）
本発明による識別ベース暗号システム１０の説明の一部を、図１に示す。システム１０により、各種の位置のユーザが識別ベースの暗号化手法を用いて安全に通信することができる。システム内のユーザは、個人であったり、組織であったり、あるいは任意の他の適した関係者またはエンティティとすることもできる。ユーザは、ユーザ機器１２を用いて互いに通信することもできる。機器１２は、例えば、パーソナルコンピュータ、ポータブルコンピュータ、メインフレームコンピュータ、ネットワークコンピュータあるいは端末、電気通信機器、ハンドヘルドコンピュータあるいは携帯情報端末、または携帯電話等の計算機器を含む。複数のユーザが、同じ機器を用いることもできる。例えば、ユーザ群がローカルエリアネットワーク内のホストコンピュータに接続した１台のコンピュータ端末を共有して用いることもできる。これらは単に、システム１０のユーザが用いることができるプラットフォームの例示の種類を説明するだけのものである。所望の場合には、ユーザ機器１２は、任意の適した電子機器に基づくこともできる。
【００２３】
ユーザ機器デバイスは、通信ネットワーク１４と相互接続することもできる。ネットワーク１４は、例えば、インターネット、ローカルエリアネットワーク、広域ネットワーク、公共交換電話ネットワーク、仮想私設ネットワーク、有線ネットワーク、無線ネットワーク、専用回線、光ファイバまたはケーブル経路または他の有線または無線経路に基づくネットワーク、または任意の他の適したネットワーク技術またはこのようなネットワークを組み合わせたもので構成されたネットワークとすることもできる。
【００２４】
各種の計算装置は、ネットワーク１４に接続して識別ベースの暗号化手法の特徴をサポートすることもできる。例えば、秘密鍵生成器１６の計算機器を用いて秘密鍵を配信することもできる。ある構成のなかには、このような計算機器を用いてクライアントサーバアーキテクチャ内にサーバの機能を構成することもできる。理解しやすいように、本発明は、このようなサーバベースの構成を背景として説明することもある。しかしながら、これは単に説明のためだけのものである。  所望の場合には、任意の適した計算装置の構成を用いて秘密鍵および他の情報を配信して、システム１０内での暗号化された通信をサポートすることもできる。典型的なサーバベースの構成では、１つ以上のコンピュータを用いてサーバの機能を構成することもできる。サーバは、１台のコンピュータまたは複数のコンピュータを用いて構成することもできる。所望の場合には、１台のサーバの機能を、多数の異なる物理位置に分散しているコンピュータで構成することもできる。
【００２５】
秘密鍵生成器１６は、通信ネットワーク１４に接続したサーバベースのプラットフォーム等の適した計算プラットフォームに基づくこともできる。所望の場合には、秘密鍵生成器１６の鍵生成機能を、１つ以上の位置にある複数のコンピュータで分割することもできる（それぞれは秘密鍵に生成に必要な機密情報の一部分しか持たない）。理解しやすいように、現在の説明は主に秘密鍵生成器の構成に主眼を置いており、各秘密鍵生成器１６は個別に、その秘密鍵を自器に対応付けられたユーザに生成するものである。
【００２６】
個人対個人の電子メールメッセージを送信するといったユーザアクティビティのあるものは、手動操作を必要とする。例えば、このようなメッセージを送信したいと思う者は、暗号化して適切な受信者に送信する前に、メッセージを作成する必要がある。
【００２７】
システム１０内の他のユーザアクティビティを、自動化または半自動化することもできる。これらのユーザアクティビティを、わずかの手動操作あるいは手動操作を全く行わずに発生させることもできる。単に一例として、１台の機器１２のところにいるユーザが金融機関で、暗号化された通信を用いて暗号化された銀行報告を、通信ネットワーク１４を介して他の機器１２のところにいる口座保持者配信したいとする。一旦システムが正常にセットアップされれば、金融機関の機器では通常オペレータが全く操作しなくていいように、配信処理は自動化することもできる。ユーザの報告の受信も自動化することもできる。
【００２８】
識別ベースの暗号化手法は、多数の異なる暗号アルゴリズムを用いて実行することができる。このような手法の１つは、平方剰余に基づいている（例えば、”平方剰余に基づく暗号化手法による識別（Ａｎ  ｉｄｅｎｔｉｔｙ  Ｂａｓｅｄ  ｏｎ  Ｑｕａｄｒａｔｉｃ  Ｒｅｓｉｄｕｅｓ）”第８回暗号化技術およびコーディング国際会議、２００１年１２月、王立農業大学サイレンスター、英国、クリフォード・コックス（Ｃｌｉｆｆｏｒｄ  Ｃｏｃｋｓ）参照）。別の適した手法は、楕円暗号法に基づいている（例えば”ワイルペアリングからの識別ベースの暗号化（Ｉｄｅｎｔｉｔｙ−Ｂａｓｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  ｆｒｏｍ  ｔｈｅ  Ｗｅｉｌ  Ｐａｉｒｉｎｇ）”、ダン・ボネー（Ｄａｎ  Ｂｏｎｅｈ）およびマシュー・フランクリン（Ｍａｔｔｈｅｗ  Ｆｒａｎｋｌｉｎ）、改訂版要約、暗号学における進歩（Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ）  Ｃｒｙｐｔｏ  ２００１年、レクチャノート、コンピュータサイエンス、第２１３９巻、シュプリンガー出版、２３１−２２９頁、２００１年８月参照。また、ｈｔｔｐ／／ｅｐｒｉｎｔ．ｉａｃｒ．ｏｒｇ／２００ｌ／０９０、ダン・ボネーおよびマシュー・フランクリン参照）。理解しやすいように、本発明のいろいろな面について、ボネーらに記載の楕円暗号法の実施等の識別ベースの暗号化手法を背景に説明することもある。しかしながら、これは単に説明のためだけのものである。所望の場合には、システム１０に識別ベースの暗号化の任意の適したアプローチを用いることもできる。
【００２９】
図１に示す装置により識別ベース暗号手法を用いて、メッセージを１台の機器１２のところにいる送信者から別の機器１２のところにいる受信者に送信する工程を、図２、図３、図４に示す。送信されるメッセージは、任意のデジタル情報（例えば、テキスト、グラフィック、音声、ビデオ、コマンド、実行用コード、データ等）で、安全なやり方で電子的に送信される。
【００３０】
図２の工程１８では、図１の秘密鍵生成器１６がマスタシークレットを得る。例えば、秘密鍵生成器が、タンパー防止用エンクロージャ内のプロセッサが秘密鍵生成器にランダムに生成した数字から、マスタシークレットを生成することもできる。また、マスタシークレットをオフサイトで生成して、秘密鍵生成器１６に送信することもできる。マスタシークレットは（機密マスタキーまたはマスタキーともしばしば呼ばれることもある）機密情報であって、これを次に秘密鍵生成器１６が用いてシステム内の受信者の秘密鍵を生成して、メッセージの復号化に用いて、送信者が用いる公開パラメータ情報を生成してメッセージの暗号化に用いる。
【００３１】
工程１８の間、秘密鍵生成器は公開パラメータを生成することもできる。例えば、秘密鍵生成器１６は、公開パラメータＰを得たり生成したりすることもできる。用いる特定の識別ベースの暗号化に適切な数学的機能を用いることにより、そして入力としてマスタシークレットｓおよび公開パラメータＰの値を用いることにより、秘密鍵生成器は対応する公開パラメータｓＰを生成することもできる。
【００３２】
パラメータＰおよびｓＰは数字である。一般に、数字、文字、記号、および情報を表す他のこのような手法の間には等価性がある。ある情報（例えば、マスタシークレットまたは公開パラメータ）について数字の形式で説明したりすることもあるし、ある情報（例えば、ユーザの識別）について少なくとも一部が文字の形式で説明したりすることもある（例えば、電子メールアドレスの形式）。これらの異なる表記法の間には固有の等価性があるので、文字または記号を数字に変換したり、または複数の数字またはストリングを１つの数字として表したりする技術や、または他のこのような動作についてここで詳細に説明する。
【００３３】
工程２０では、秘密鍵生成器が公開パラメータＰおよびｓＰを発行する。例えばこれらのパラメータを、秘密鍵生成器１６の計算機器（例えばサーバ）を用いて通信ネットワーク１４を介して利用できるようにすることもできる。公開パラメータを、電子メールを介してユーザに送信することもできる。所望の場合には、公開パラメータを、要求があり次第ユーザに提供することもできる（例えば、メッセージの形式でサーバからダウンロードしたり、任意の他の適した構成を用いたりすることによる）。パラメータＰおよびｓＰを、ダウンロード可能な、あるいはあらかじめ組み込まれているソフトウェアモジュールまたはパッケージの一部として配信することもできる。例えば、ＰおよびｓＰを、ユーザのパーソナルコンピュータまたは他のユーザ機器１２を用いて配信したり（例えば、プラグインまたは単独パッケージの形式で）、後からダウンロードしたりする電子メールアプリケーション、ウェブブラウザ、または他の通信またはインターネットアプリケーションに組み込むこともできる。
【００３４】
パラメータＰおよびｓＰを、一緒に配信したり別々に配信したりすることもできる。パラメータＰおよびｓＰを別々に配信する場合には、各パラメータを、異なる配信機構を用いて配信することもできる。例えば、Ｐをユーザのソフトウェアに組み込んで、ｓＰをインターネットを介して配信することもできる。また、ＰおよびｓＰを組み合わせて、１つの数字またはパラメータと等価にして（便宜上理解しやすいように、ここでは複数の形式の”パラメータ”を用いてもこう呼ぶ）、またはさらに分割することもできる（例えば、３つ以上の公開パラメータのサブパートを構成する）。所望の場合には、公開パラメータＰおよびｓＰをマニュアルで配信することもできる（例えば、印刷した郵便物や、ディスケットまたは他のコンピュータ読み取り可能媒体としてユーザに配信する）。これらは単に説明のためだけのものである。所望の場合には、任意の適した技術を用いて、公開パラメータＰおよびｓＰを公開することもできる。
【００３５】
一旦公開パラメータＰおよびｓＰを、暗号化されたメッセージを別のユーザ（すなわち、受信者）に送信しようとするユーザ（すなわち、送信者）に提供したなら、送信者はメッセージを暗号化して受信者に送信することができる。受信者が暗号化されたメッセージを受信する場合、または前もって受信者が受信者の位置の機器をセットアップしたり更新したりする場合は、受信者は秘密鍵生成器から受信者の秘密鍵を得る。
【００３６】
秘密鍵生成器は、これらのユーザそれぞれの識別に基づいて、秘密鍵生成器に対応付けられた複数のユーザそれぞれに秘密鍵を生成することもできる。ユーザの識別は、任意の適したストリング、数字または記号で表すことができる。例えば、メッセージ受信者の識別を、そのユーザの電子メールアドレス、名前、または社会保障番号で表すこともできる。現在の時間（例えば、今年の現在の日付と年、現在の月、または任意の他の適した時間に関連した日付印情報）をユーザの電子メールアドレスに連結することにより、ユーザの特権をシステム１０内で自動的に無効にすることもできる。また、他の情報（例えば、セキュリティ許可等の資格証明書）をユーザの電子メールアドレスまたは他の識別と組み合わせることにより、暗号サービスを向上させることもできる。理解しやすいように、ユーザの識別を、ここでは数字Ｑとして表すことにする。適した数学的機能を用いることにより、ユーザの電子メールアドレスまたは他の情報と連結したユーザの電子メールアドレス等のストリング表示のユーザの識別から、秘密鍵生成アルゴリズムの入力として適するようにＱの値を求めることもできる。
【００３７】
秘密鍵を受信者が要求する場合（逆に、例えば、自動的に配信する場合）は、このような要求を図２の工程２２で秘密鍵生成器１６が受信することもできる。受信者の識別Ｑ（またはＱのプレカーサの等価物）および受信者の認証に用いられる認証情報を、工程２２で受信することもできる。
【００３８】
工程２４では、秘密鍵生成器が受信者の秘密鍵を生成することもできる。例えば、適切な数学的機能を用いてｓＱの値を計算することにより、受信者の秘密鍵を受信者の識別Ｑおよびマスタシークレットｓから生成することもできる。秘密鍵を受信者に発行する前に、受信者の識別を受信者からの認証情報により確認することもできる。
【００３９】
任意の適した手動または自動認証技術を用いることもできる。例えば、受信者に受信者の公式レターヘッドにある秘密鍵生成器１６にレターをファクスしたり郵送したりするよう依頼して、スタッフまたは秘密鍵生成器の自動装置により信憑性を調べることもできる。別の例として、生物測定識別技術（例えば、指紋分析／網膜スキャン、掌紋または声紋分析／顔面認識方法、または直接識別検査）を用いることもできる。認証処理に受信者と秘密鍵生成器との間の電子通信を必要とする場合には、受信者と秘密鍵生成器との間の通信経路を保護する必要がある。通信経路を信頼できない関係者が用いることができなければ、この経路は安全であると考えることもできる。例えば、秘密鍵生成器１６と受信者との間のネットワークを、秘密鍵生成器または別の信頼できる管轄機関が制御する専用回線とすることもできる。別の例としては、安全なチャネルを、安全なウェブブラウザリンク（例えば、安全なソケット層プロトコル）を用いてサポートすることもできる。
【００４０】
秘密鍵生成器１６がどのように受信者の識別を認証して、工程２４で受信者の秘密鍵を生成するかに関わらず、工程２６で秘密鍵を受信者に提供することができる。例えば、秘密鍵を電子メールまたは他の適したメッセージに入れて受信者に送信したり、インターネットを介して入手できるようにしたりできる（単独ダウンロード可能なアプリケーションの一部または単独鍵としてダウンロード可能なプラグインモジュール等）。安全な通信チャネルを、密鍵生成器１６と受信者の機器１２との間の電子通信に用いることもできる。所望の場合には、受信者が始めに機器を用いる際に受信者が秘密鍵を利用できるように、秘密鍵を受信者の機器にあらかじめ組み込むこともできる。また、秘密鍵を郵便または宅配業者により配信することもできる（例えば、コンピュータディスクまたはメモリチップ等のコンピュータ読み取り可能媒体で）。これらは、受信者の秘密鍵を受信者に提供する技術を単に説明のためだけのものである。所望の場合には、任意の適した技術を用いることもできる。バッチ処理を用いて、受信者のリストを一括で処理することもできる。
【００４１】
工程２６で秘密鍵生成器が秘密鍵を受信者に提供した後、制御ループは工程２２に戻るので、秘密鍵生成器１６は他の受信者から秘密鍵の要求をさらに受信することになる（または自動バッチ処理機能の次の工程を実行する等）。
【００４２】
送信者の機器をセットアップして用いて、暗号化されたメッセージを受信者に送信する工程を、図３に示す。工程２８では、送信者の機器１２をセットアップする（例えば、適切な独立型またはプラグインソフトウェアをネットワーク１２を介して機器１２にダウンロードしたり、以前にインストールしたソフトウェア起動したり実行したりする）。
【００４３】
工程３０では、送信者に受信者の識別情報を提供する。例えば、送信者は、受信者の電子メールアドレスを得ることもできる（例えば、電子メッセージ内や、ウェブサイトまたはディレクトリの閲覧、電話や印刷した書類から）。所望の場合には、送信者の機器が適切な数学的機能を用いて、受信者の電子メールアドレス内のストリング情報を適切なＱの値に変換することもできる。ここでは、電子メールアドレス（または、暗号機能をさらに構成する、タイムスタンプまたは他の情報と連結した電子メールアドレス）およびＱの値をともに受信者の識別として参照する。
【００４４】
工程３２では、送信者に公開パラメータＰおよびｓＰを提供することもできる。例えば、ＰおよびｓＰの値を、送信者に配信したり、送信者の機器にあらかじめ組み込まれている、電子メールアプリケーションまたは電子メールプラグインあるいは他のソフトウェアに備えたりすることもできる。また、ＰおよびｓＰの値を、通信ネットワーク１４を介して秘密鍵生成器１６からダウンロードすることもできる（例えば、ウェブインターフェースを用いる）。所望の場合には、電子メールまたは他の適したメッセージフォーマットを用いて、ＰおよびｓＰの値を、秘密鍵生成器１６から配信することもできる。あるイベントが発生した場合や、送信者が要求したりした場合には（すなわち、要求があり次第）、ＰおよびｓＰの値を、スケジュールに基づいて送信者に提供することもできる。送信者に、ＰおよびｓＰをいっしょに、あるいは別々に提供することもできる。例えば、Ｐを送信者のソフトウェアに埋め込んで、ｓＰを送信者が最初に機器１２をセットアップする場合にダウンロードすることもできる。これらは、識別ベースの暗号化システムの公開パラメータ情報を送信者に提供する技術を単に説明のためだけのものである。所望の場合には、この情報を送信者に提供する任意の適した技術を用いることもできる。
【００４５】
工程３４では、送信者の機器１２を送信者が用いてメッセージを作成したり生成したりして、そのメッセージを暗号化して、ネットワーク１４を介して受信者に送信することもできる。例えば機器１２を用いて、識別ベースの暗号化アルゴリズムを組み込んだ（またはプラグインを用いて拡張した）電子メールプログラムまたは他の適したソフトウェアを実行することもできる。別の例として、識別ベースの暗号化機能を、ユーザ機器のオペレーティングシステムを用いて提供することもできる。また、送信するメッセージを、暗号化された単独暗号化アルゴリズムを用いて暗号化することもできる。所望の場合には、他の適した構成を用いることもできる。
【００４６】
メッセージを暗号化するのに用いられる技術に関わりなく、好ましくは、識別ベースの手法を用いてメッセージを暗号化する。Ｐ、ｓＰおよびＱの値を、送信者の機器で動作している識別ベースの暗号化アルゴリズムの入力として用いる。
【００４７】
また、アルゴリズムは、乱数生成機能を用いて乱数ｒを生成することもできる。この乱数は、識別ベースの暗号化プログラムの一部、またはそのプログラムの入力として考えることができる。乱数を、数学的に受信者の識別Ｑと合成して、得られるｒＱの値を暗号化エンジンの入力の１つとして用いることもできる。また、同じ乱数を数学的に公開パラメータＰと合成して、ｒＰを計算することもできる。ｒＱの値（送信者の識別）およびｒＰの値（公開パラメータの１つのランダム化版）を送信者の識別ベースの暗号化エンジンが用いて、受信者に送信するメッセージを暗号化することもできる。ｒＰの値を、暗号化されたメッセージの一部として、または別々に送信者が受信者に送信することもできる。受信者では、ｒＰの値およびｒＱの値を受信者の識別ベース復号化エンジンが用いて、暗号化されたメッセージを復号化することもできる。
【００４８】
暗号化されたメッセージを、工程３６で受信者に送信する。例えば、暗号化されたメッセージを、送信者の電子メールアプリケーションを用いて送信者が送信することもできる。ｒＰの値を、電子メールメッセージに含めたり、受信者に別々に送信したりすることもできる。通信ネットワーク１４を介してメッセージを送信して、受信者のユーザ機器１２で受信することもできる（例えば、受信者の電子メールアプリケーションを用いる）。
【００４９】
受信者の機器をセットアップして用いて、送信者のメッセージを受信して復号化する説明のための工程を、図４に示す。工程３８では、受信者の機器１２で動作している受信者の電子メールアプリケーションまたは他のソフトウェアを用いて、送信者からの暗号化されたメッセージを受信する。
【００５０】
受信者の機器をセットアップして、任意の適した時に識別ベース復号化動作を実行することもできる。例えば、識別ベース復号化エンジンソフトウェアを受信者の機器にあらかじめ組み込んで、受信者が機器を得た時に受信者に配信することもできる。また、受信者は、適切な独立型またはプラグインソフトウェアをダウンロードしてインストールすることもできる。受信者の機器がまだ復号化動作用にセットアップされていない場合には、工程４０で機器をセットアップすることもできる。例えば、適切なソフトウェアをコンピュータディスクまたはメモリチップ等のコンピュータ読み取り可能媒体からインストールしたり、インターネットを介してサーバからダウンロードしたりすることもできる。また、以前にインストールしたソフトウェアを起動することもできる。
【００５１】
工程４２では、受信者に、秘密鍵ｓＱを提供することもできる（前の動作の間に受信者に秘密鍵を提供していない場合）。例えば、工程４２で秘密鍵を受信者の機器にダウンロードしたり、秘密鍵生成器１６から送信したりすることもできる。秘密鍵を、ネットワーク１４を介して安全な通信チャネルで送信することもできる。
【００５２】
任意の適した技術を用いることにより、秘密鍵生成器と受信者との間の通信経路が確実に安全であるようにする。例えば、秘密鍵生成器および受信者は、安全なソケット層プロトコルを用いることにより、通信が確実に安全であるようにすることもできる。また、受信者は、物理的に鍵を得ることもできる（例えば、コンピュータディスクを宅配業者または郵送で受け取る）。受信者は、秘密鍵を受信者に提供するように要求して、安全な電子メール通信を用いて（例えば、公開鍵暗号化技術を用いて）秘密鍵生成器から秘密鍵を受信することもできる。
【００５３】
好ましくは、秘密鍵生成器１６は、工程４２で受信者の秘密鍵を発行する前に受信者の識別を確認する。任意の適した認証技術を用いることもできる。例えば、受信者は、信頼できる通信経路（例えば、専用のまたは信頼できる回線）を介して、秘密鍵生成器と通信することもできる。受信者は、レターヘッドまたは生物測定情報を秘密鍵生成器に提供することもできる。この情報を、電子的に（例えば、安全な経路を介して）、または直接提供することもできる。一旦秘密鍵生成器１６が受信者の識別を確認すると、工程４２で秘密鍵生成器１６は秘密鍵ｓＱを受信者に提供することもできる。
【００５４】
受信者が秘密鍵生成器から秘密鍵ｓＱを受信して、送信者から暗号化されたメッセージおよびランダム化公開パラメータｒＰを受信した後、工程４４で受信者は送信者からのメッセージを復号化する。受信者の機器で動作している復号化エンジンは、メッセージを復号化する際に秘密鍵ｓＱおよびパラメータｒＰの値を用いることもできる。
【００５５】
図１〜４に関して説明したアプローチ等の識別ベース暗号手法では、送信者は、メッセージを暗号化して送信するのに先立って、暗号公開パラメータ（ＰおよびｓＰ）と受信者の識別（Ｑ）とを得ることができる。この情報は、送信者が持つこともできる（例えば、送信者の機器１２が持ち運び可能の場合は送信者の機器１２で）。個別の受信者の公開鍵それぞれに対してアクセスする必要はないのは、事実上、各受信者の電子メールアドレス（または他の識別Ｑ）をその受信者の公開暗号化情報として用いるからであり、公開パラメータ情報ＰおよびｓＰは、大多数の可能な受信者で共通のものであるからである。受信者が暗号化されたメッセージを復号化したい場合には、受信者は、秘密鍵生成器から秘密鍵ｓＱにアクセスする必要があるが、必要ならば、暗号化されたメッセージを受信した後で、受信者が情報を得ることができる。その結果、識別ベースの暗号化手法により、秘密鍵生成器１６が生成した暗号化情報を適時に得るという負担を送信者から受信者へ移動する。これにより、受信者へのメッセージを送信者が作成して暗号化する際に、送信者はオフラインにすることができる（例えば、インターネットアクセスができない飛行機で移動中など）。送信者の機器が盗難に遭った場合でも、暗号化されたメッセージは安全である。このようなケースが、公開鍵暗号化手法を用いれば大抵の場合不可能であるのは、送信者がインターネットアクセスして受信者の公開鍵を参照できるまでは、作成したメッセージは暗号化されないままであるからである。
【００５６】
公開鍵暗号化システムでは、公開鍵を長寿命にして、公開鍵参照手順の間に必要な手間を減らしたいという一般的な要望がある。長寿命の公開鍵に対するこの要望を、公開鍵を素早く失効させるという頻繁にある要望により調整する。（例えば、組織にもはや従事していない従業員が、彼らの公開鍵を失効させることにより、素早く確実に彼らの特権を無効にすること）。
【００５７】
識別ベースの暗号化手法では、公開パラメータＰおよびｓＰをかなり長寿命にすることができる。例えば、これらのパラメータを、公開鍵システム内で一日に一回ではなく一年に一回失効させることもできる。受信者の秘密鍵を頻繁に更新しなければならないようにすることにより（例えば、一日に一回）、ユーザの特権についてやはり素早く無効にすることもできる。これを、タイムスタンプ（例えば、現在の日付）を受信者の電子メールアドレスと連結して、複合識別Ｑを生成することにより、達成することもできる。この種のアプローチでは受信者の識別Ｑが毎日変更するので、受信者の秘密鍵も毎日変更する。受信者のメッセージを暗号化復号化する能力は従って、秘密鍵生成器の新規の秘密鍵を提供する積極性に依存する。任意の受信者の特権を、秘密鍵をさらに生成しないようにすることにより、任意の時点で無効にすることもできる。所望の場合には、システム１０で用いる識別ベース手法が、セキュリティ許可レベル等の特徴をさらに有することもできる。
【００５８】
識別ベースの暗号化手法を、計算的に集約することもできる。例えば、識別ベースの暗号化手法はおよそ１０００バイト／秒の速度でデータを暗号化することもできるが、ＤＥＳ３等の対称暗号化アルゴリズムでは約１００Ｍバイト／秒の速度でデータを暗号化することができる。従って、識別ベースの暗号化手法を用いることにより、送信者および受信者が安全に対称鍵を交換できるようにすることが望ましい。対称暗号アルゴリズム（例えば、ＤＥＳ、データ暗号化標準規格）を用いることにより、一旦対称鍵を交換したならば、送信者と受信者との間で所望の内容を送信することもできる。対称鍵暗号化および復号化処理を、システムの識別ベース暗号の機能としてソフトウェアまたはプラットフォームに組み込んだり、別のアプリケーションまたはオペレーティングシステム機能として備えたりすることもできる。これらは、単に、システム１０内で送信者と受信者との間でメッセージの内容（例えば、コマンド、データ、テキストメッセージ等）を安全に交換する方法を説明のためだけのものである。
【００５９】
システム１０は、複数の秘密鍵生成器１６を有することもでき、それぞれ自器のマスタシークレットを有している。図５に示すように、ユーザＡ１、Ａ２、・・・ＡＮは秘密鍵生成器Ａに対応付けられていて（マスタシークレットｓＡを有する）、ユーザＢ１、Ｂ２、・・・ＢＮは秘密鍵生成器Ｂ（マスタシークレットｓＢを有する）に対応付けられている。この種の構成では、組織は秘密鍵生成器を共有する必要はない。異なる鍵生成器を、異なる群のユーザにそれぞれ用いることもできる。各種の鍵生成器に対応付けられたユーザ群を、組織的なラインに沿ったり、任意の他の適したグループ分けにしたがって分けたりすることもできる（重複することもできる）。例えば、ある秘密鍵生成器に対応付けられたユーザ群には、行政の特定の部門内の全ユーザまたは多数のユーザを含むことができ、別の秘密鍵生成器に対応付けられたユーザ群には、特定の企業で働く全ユーザを含むこともでき、および別の秘密鍵生成器に対応付けられたユーザには、基本的に特定の国の全ユーザを含むこともできる。特定のサービスの利用者という理由で、ユーザを別の秘密鍵生成器に対応付けることもできるし、電子メールアドレス等のドメイン名（文字ストリング）が共通であるという理由で、他のユーザを秘密鍵生成器に対応付けることもできる。これらは、ユーザ群を特定の秘密鍵生成器に対応付けるやり方を単に説明のためだけのものである。所望の場合には、任意の適したグループ分け構成を用いることもできる。
【００６０】
システム１０内の複数の秘密鍵生成器１６を用いることにより、第三者または他のユーザ群を信頼することなく、異なる組織またはユーザ群がそれぞれのマスタシークレットを保護することができる。このことは、非常に重大な機密であるので他に容易に（あるいは全く）委任することができないような状況の場合に重要である。単に一例として、ある国の軍隊組織が、国外の組織が維持する秘密鍵生成器を信頼しようと思わない場合がある。
【００６１】
送信者として、暗号化されたメッセージを同じ秘密鍵生成器に対応付けられた受信者に送信したいと思う送信者は、送信者の機器１２にインストールされた識別ベースの暗号化エンジンを用いて、送信者と受信者とに共通の秘密鍵生成器から利用できる受信者の識別Ｑおよび公開パラメータＰおよびｓＰを用いることにより、受信者へのメッセージを暗号化できる。例えば、ユーザＡ１（このケースの送信者）が暗号化されたメッセージをユーザ（このケースの受信者）に送信したい場合、送信者Ａ１は、送信者Ａ１および受信者ＡＮの両方に対応付けられた秘密鍵生成器から、受信者の公開パラメータを得ることもできる。これらの公開パラメータ（例えば、ＰＡ、ｓＡＰＡを用いて）送信者Ａ１が暗号化したメッセージを、これらの同じ公開パラメータ（例えば、ＰＡ、ｓＡＰＡを用いて）と（マスタシークレットｓＡを用いて秘密鍵生成器が生成した）ＡＮの秘密鍵ｓＡＱＡＮとを用いて受信者正常に復号化することもできる。（理解しやすいように、乱数ｒの使用についてこの説明では述べない。）
しかしながら、送信者（例えば、送信者Ａ１）が秘密鍵生成器Ａに対応付けられ、受信者（例えば、受信者Ｂ２）が秘密鍵生成器Ｂ（マスタシークレットＳＢを有する）に対応付けられている場合、送信者Ａ１は、秘密鍵生成器Ｂに対応付けられた公開パラメータ（ＰＢ，ｓＢＰＢ）を用いて受信者Ｂ２宛のメッセージを暗号化する必要がある。Ａ１がまちがった公開パラメータ（例えば、Ａ１が秘密鍵生成器Ａに対応付けられた公開パラメータＰＡ、ｓＡＰＡを用いる場合）、受信者Ｂ２は、正しくメッセージを復号化することができない。これは、受信者Ｂ２の秘密鍵ｓＢＱＢ２を、秘密鍵生成器Ａに対応付けられたマスタシークレットＳＡではなく、秘密鍵生成器Ｂに対応付けられたマスタシークレットｓＢで生成したからである。
【００６２】
これにより、全秘密鍵生成器１６の公開パラメータを好ましく公開する。これは、ディレクトリサービス４６を用いて、各種の組織またはユーザ群の公開パラメータを全ユーザが公に利用できるようにすることにより、システム１０で達成することもできる。例えば、ディレクトリサービス４６を、通信ネットワーク１４に接続してホストディレクトリに接続したディレクトリサーバを用いることにより実施することもできる。所望の場合には、インターネットドメインネームシステム（ＤＮＳ）のコンピュータを、公開パラメータおよび他のディレクトリ情報のホストとして用いることもできる。ドメインネームシステムは、抽象的なドメイン名（例えば、”ｃｓ．ｓｔａｎｆｏｒｄ．ｅｄｕ”）と数字のＩＰアドレス（例えば”１７１．６４．６４．６４”）との間での解釈あるいはマッピングに主に用いられる分散インターネットディレクトリサービスである。ドメインネームシステムまたはサービスのコンピュータ（サーバ）を用いてディレクトリサービスを実行する場合（例えば、公開パラメータのディレクトリ情報をユーザに提供する）、ＤＮＳエントリには、数字のＩＰアドレス情報のほかに、各ドメイン名エントリの適切な公開パラメータを含むこともできる。
【００６３】
１つ以上のディレクトリサービスやサーバが存在することもある。各ディレクトリサービス４６は同じ公開パラメータ情報を含むので、任意のユーザは異なる位置の、あるいは異なるサービス（あるいは少なくとも多くはない）を有するディレクトリ情報を参照する必要がある。ディレクトリサービスの位置（例えば、それらのＵＲＬの位置）を、各ユーザの識別ベースの暗号化ソフトウェアの一部としてユーザに提供したり、ユーザに別々に提供したり、これらの技術または任意の他の適した技術を組み合わせて用いることによりユーザに提供したりすることもできる。識別ベースの暗号化ソフトウェアを、機器１２の一部としてユーザに配信したり、単独アプリケーションまたはプラグインとしてダウンロードしたりすることもできる。一旦公開パラメータ情報を得たならば、この情報を更新する時まで（例えば、各ユーザが新規に登録した秘密鍵生成器にたどり着く場合）、ローカルでキャッシュすることもできる（例えば、ユーザの機器１２のメモリ）。
【００６４】
説明のためのある構成では、ディレクトリサービスを信頼できる組織または組織に提供することもできる。この種の構成では、ディレクトリサービスを信頼しているので、ディレクトリ情報にアクセスしている各ユーザは、ディレクトリサービスにより安全な通信チャネルをセットアップすることもできる（例えば、安全なソケット層プロトコル等を用いたように、安全な鍵交換構成を用いる）。一旦安全な通信チャネルをユーザと信頼できるディレクトリサービスとの間で確立したならば、ユーザは、ディレクトリサービスに、公開パラメータ情報を所望する組織または群を識別する情報を提供することもできる。ディレクトリサービスは、この識別情報を用いてどの公開パラメータ情報をユーザに提供するか判定することもできる。次に、適切な公開パラメータ情報を、安全な通信チャネルを介してユーザに提供することもできる。
【００６５】
このアプローチでは、受信者の組織の識別情報（受信者の電子メールアドレスに基づくこともできる）を入力として用いることにより、実際にディレクトリサービスが表参照動作を実行する。参照動作で得られる出力は、組織の秘密鍵生成器の公開パラメータである。公開パラメータをユーザ群に対応づけるディレクトリを、任意の適した構成を用いて実行することもできる。例えばドメイン名のデータベースまたは表（あるいは一部がドメイン名または電子メールアドレス）と対応付けられた公開パラメータとを用いることにより、ディレクトリを実行することもできる。単に一例であるが、電子メールアドレス＊＠＊．ｓｔａｎｆｏｒｄ．ｅｄｕ（＊は任意の可能な文字ストリング）を有する全ユーザが同じ組織の一部であって、その組織が秘密鍵生成器Ｔに対応付けられている場合、ディレクトリ表には、可能な識別”＊＠＊．ｓｔａｎｆｏｒｄ．ｅｄｕ”のサブセットをその秘密鍵生成器に対応付けられた対応付する公開パラメータＰＴ、ｓＴＰＴにマッピングするエントリを含むこともできる。任意の適したデータベースまたはデータ構造の構成を、ディレクトリサービスまたはサービス４６が用いることにより、ディレクトリ情報を維持することもできる。
【００６６】
ディレクトリサービス４６のディレクトリ情報を、秘密鍵生成器１６が提供することもできる。クリアリングハウス４８を秘密鍵生成器１６とディレクトリサービス４６との間の仲介者として用いて、複製を防止することもできる（例えば、テーブルエントリのコンフリクト）。
【００６７】
ディレクトリサービスが信頼できるものでない場合は（例えば、比較的未知の第三者であるという理由から）、認証機関５０を用いて秘密鍵生成器１６からディレクトリエントリに署名することもできる。標準暗号署名技術を用いて、認証機関がディレクトリエントリに署名することもできる。このアプローチでは、ディレクトリサービス４６またはクリアリングハウスサービス４８ではなく、認証機関が秘密鍵生成器１６を証明するようになっている。各エントリに有効期限を付加することにより（例えば、年の数字で）、エントリを自動的に失効させることもできる。これにより、ディレクトリサービスの秘密鍵生成器の情報を最新のものにしておくことができる。
【００６８】
任意の適した技術を認証機関５０が用いることにより、秘密鍵生成器１６を証明することもできる（例えば、所定の機密または証明書等に基づく技術）。一旦認証機関５０が任意の秘密鍵生成器１６の識別を確認すると、認証機関は（署名した）証明書を生成することもできる。これは、任意の秘密鍵生成器および対応する公開パラメータに対応付けられたユーザの電子メール／ドメイン名情報を含む。多数の署名したディレクトリエントリ６３を含む説明のための表６２を、図７に示す。
【００６９】
システム１０に複数のディレクトリサービス４６が存在する場合は、署名したディレクトリエントリ（証明書）をクリアリングハウスサービス４８が処理して、ディレクトリサービス４６が維持する、得られるディレクトリ表にエントリを複製しないようにすることもできる。
【００７０】
秘密鍵生成器Ａに対応付けられた送信者がメッセージを秘密鍵生成器Ｂに対応付けられた受信者に送信しようとする場合、送信者は、ディレクトリサービス４６の１つから受信者の組織の適切な公開パラメータ（従って、受信者のパラメータ）を得ることもできる（送信者のローカルネットワーク上の送信者または機器がパラメータをまだ得ておらず、ローカルでキャッシュしていない場合）。ディレクトリサービスが信頼できる場合は、送信者は、ネットワーク１４を介してディレクトリサービスとの安全な通信チャネルをセットアップして、公開パラメータを得ることもできる。ディレクトリサービスが一意に信頼できるものでない場合は、送信者は、ネットワーク１４を介してディレクトリサービス４６から署名した証明書を得ることもできる。認証機関は、認証機関の秘密鍵を用いて証明書に署名する。次に送信者は、認証機関の公開鍵を用いて証明書の署名を確認することもできる。認証機関の公開鍵を、ユーザのソフトウェアに組み込んだり、ユーザのソフトウェアがオンラインでアクセスしたり、あるいはシステムのユーザに提供したりすることもできる。所望の場合には、証明組織の複数の層が、階層的に証明できるように、証明書をまとめることもできる。これらの２つのアプローチのいずれか（安全なまたは信頼できるチャネルを介して信頼できるディレクトリサービスから公開パラメータを得たり、認証機関が署名した証明書の形式で信頼できないディレクトリサービスから公開パラメータを得たりすること）または任意の他の適したアプローチを用いることにより、送信者が受信する公開パラメータが実際に、確実に意図する組織／受信者に対応付けられたものであるようにすることもできる。
【００７１】
１つ以上のディレクトリサービスを有する識別ベース暗号システムに用いる説明のための工程を、図６に示す。工程５１では、各ユーザ群の秘密鍵生成器が、そのマスタシークレットｓと、対応する公開パラメータＰおよびｓＰとを生成する。ディレクトリサービス４６が信頼できる場合は、公開パラメータおよび情報公開パラメータが対応するユーザに関する情報を、認証機関を用いることなくディレクトリサーバに提供する。ディレクトリサービス４６が信頼できない場合には、この情報をディレクトリエントリに署名する認証機関５０を介してディレクトリサービスに提供する（工程５２および５４）。
【００７２】
１つ以上のディレクトリサービス４６を用いることもできる。複数のディレクトリサービスが存在するシステム構成では、あるディレクトリサービスが維持するディレクトリが、別のディレクトリサービスが維持するディレクトリと一致しない可能性がある。例えば、あるディレクトリがユーザに、電子メールアドレス＊＠ｃｏｍｐａｎｙ．ｃｏｍが会社１に対応付けられていると通知し、別のディレクトリがユーザに、電子メールアドレス＊＠ｃｏｍｐａｎｙ．ｃｏｍは会社２に対応付けられていると通知することもある。これらの種類のコンフリクトを、任意の適した手法を用いることにより、工程５６で解決および／または回避したりすることができる。
【００７３】
例えば、ディレクトリサービス４６が定期的に互いにネゴシエーションを行ってコンフリクトを解決したり、共通のハウスキーピングプログラムを用いてコンフリクトを解決したりすることもできる。適したある構成では、システム１０は、全（または大抵の）ディレクトリ情報がディレクトリサービス４６への経路を必ず通過しなければならないクリアリングサービス４８を有している。この構成を用いる場合、各秘密鍵生成器は、そのディレクトリ情報を直接クリアリングハウスサービス４８に通過させたり（認証機関を全く用いない場合）、適切な認証機関５０を介してそのディレクトリ情報をクリアリングハウスサービス４８に通過させたりすることもできる。クリアリングハウスサービス４８（これは、信頼できるサービスプロバイダが操作したり、ディレクトリサービス、認証機関、または秘密鍵生成器に位置したりするもの）により、ディレクトリサービスがディレクトリ情報を公に利用できるようにする前に、ディレクトリ情報にエラーが確実にないようにすることもできる。例えば、クリアリングハウスサービスが各ディレクトリサービスのデータベースに照会することにより、ディレクトリ情報を受け付ける前に、新規のディレクトリ情報とコンフリクトするかもしれない現在存在するデータベースエントリが確実に存在しないようにすることもできる。
【００７４】
システムが稼働している間に、ディレクトリエントリを置換したり、結合したり、分割したり、削除したり、あるいは変更したりすることは望ましいことである。例えば、秘密鍵生成器のマスタシークレットが損なわれている場合、新規のマスタシークレットおよび対応するセットの公開パラメータを生成して、クリアリングハウスサービスに提供することもできる（工程５１、５２、および５４）。この新規の公開パラメータ情報を、工程５６でクリアリングハウスが正しいディレクトリエントリに対応付けることもできる。別の例として、組織変更によりドメイン名をさらに複数のサブドメインに分割すると、それぞれ対応する一意のセットの公開パラメータを有する自分のエントリを持つことになる。また、ドメイン名の変更により、エントリを追加して、さらにユーザを既存のセットの公開パラメータにマッピングするようになる。組織または秘密鍵生成器が動作を終了する場合は、ディレクトリエントリを削除することができる。このようなディレクトリメンテナンス動作を、クリアリングハウスサービス４８が処理することもできる（例えば、工程５６の間）。
【００７５】
起こりうるコンフリクトを解決して、メンテナンス動作を工程５６で行った後、ディレクトリ情報をディレクトリサービス４６に提供して、工程５８でユーザに公開することもできる。（システムが稼働している間は、図６のこの工程および他の工程を定期的に繰り返すこともできる。）ディレクトリエントリに認証機関が署名した場合は、ディレクトリエントリを証明書の形式で提供することもできる。認証機関を全く用いない場合は、好ましくは、安全な通信チャネルまたは他の安全な機構を用いて、ディレクトリ情報を信頼できるディレクトリサービスに転送する。
【００７６】
工程６０では、ディレクトリサービス４６により、ディレクトリ情報をシステムのユーザが利用できるようにすることもできる。ユーザ／組織の識別情報のディレクトリ（例えば、電子メールアドレスのドメイン情報）と、対応付けられた公開パラメータのセットとをユーザが利用できるようにすることにより、任意の受信者または組織宛のメッセージを暗号化する際に、送信者はディレクトリサービスを用いて適切なセットの公開パラメータを参照したり、あるいは判定したりして用いることもできる。任意の受信者または受信者の組織の識別を、参照動作を行う際に用いることができる。例えば、送信者がコンタクトするディレクトリサービスにより、適した一致を発見するまで、任意の受信者の電子メールアドレスまたは受信者の組織のドメイン名をディレクトリ内の電子メールアドレスドメインと比較することができる（例えば、図７に示すように）。次に、その受信者の組織の秘密鍵生成器の対応付けられた公開パラメータを送信者に提供することもできる。
【００７７】
図５の識別ベース暗号システム１０を用いて暗号化されたメッセージを送信者から受信者へ送信する説明のための工程を示すフローチャートを、図８に示す。工程６４では、送信者は適切な公開パラメータを得て、任意の受信者宛のメッセージの識別ベースの暗号化を行う。任意の受信者が用いる適切な公開パラメータの情報を、インターネット等の通信ネットワークを介してアクセスできるローカルデータベースまたはリモートデータベースに維持することもできる。また、適切な公開パラメータの情報を、電子メール転送を用いて、ディスクの形式でユーザに送信することもできる。インターネット上のディレクトリは、送信者が確実なインターネットアクセスを有する場合に適している。
【００７８】
工程６４の間、送信者の機器１２は、例えば、受信者が送信者として同じ秘密鍵生成器に対応付けられているかどうか確認することもできる。送信者および受信者が秘密鍵生成器を共有している場合（例えば、送信者および受信者が同じ会社で働いていたり、あるいは同じユーザ群に共通して対応付けられていたりすることから）、送信者および受信者の共通の公開パラメータ（そして受信者の識別を用いる）を用いることにより、送信者は受信者宛のメッセージを暗号化することもできる。これらの公開パラメータ（そして受信者の秘密鍵）を用いることにより、受信者は、送信者からのメッセージを復号化することもできる。送信者および受信者が同じ秘密鍵生成器に対応付けられているかどうかについての情報を、ローカルで維持したり（例えば、送信者がアクセス可能なローカルエリアネットワーク上）、ディレクトリサービス４６が維持したりすることもできる。
【００７９】
受信者が送信者と同じ秘密鍵生成器に対応付けられていない場合は、送信者は、適したディレクトリサービス４６から受信者の適切な公開パラメータを得ることもできる（例えば、送信者と同じ国に位置したり、送信者と同じネットワーク内にあったり、所望の場合には、もっと離れた位置のディレクトリサービスから）。ディレクトリサービスの機器を用いて、任意の受信者の識別情報または受信者の組織のドメイン名情報を、ディレクトリ内の情報と比較することもできる。これにより、受信者の識別または所望の受信者の組織の識別を用いて適切に公開された公開パラメータを参照して、その特定の受信者に用いることができる。システムが複数の秘密鍵生成器を有しているとしても、送信者は、正しい公開パラメータを用いて受信者宛のメッセージを暗号化することができる。公開パラメータ情報を送信者が保存することもできる（例えば、送信者の機器にローカルで）ので、送信者が暗号化されたメッセージを同じ組織またはユーザ群内の受信者に送信したい場合に、送信者はこの情報を次回に再利用することもできる。
【００８０】
受信者の公開パラメータを得た後で（例えば、この情報を、通信ネットワーク１４を介してダウンロードしたり、ローカル記憶装置から検索したりすることにより）、送信者は、識別ベースの暗号化手法を用いて工程６６で受信者宛のメッセージを暗号化することもできる。受信者は、工程６８で送信者からのメッセージを復号化することもできる。図１〜４で説明したように、任意の適した識別ベースの暗号化手法を用いることもできる。
【００８１】
所望の場合には、公開パラメータをシステム内のユーザ１０間で配信することもできる。例えば、送信者が受信者に電子メールでコンタクトして、受信者の公開パラメータを要求する場合に、この種のピアツーピア構成を用いることができる。秘密鍵生成器１６は、ユーザの公開パラメータを生成して、信頼できるチャネルまたは任意の他の適した配信チャネルを介してユーザに配信することができる。一旦受信者が自分の公開パラメータ情報を得たならば、受信者はこの情報を送信者に提供することができる。例えば、テキストメッセージ（例えば、電子メールメッセージ）またはコンピュータ生成メッセージ（例えば、送信者が用意した送信者の機器で受信者に自動的に送信して、受信者へのメッセージを暗号化して送信する要求）を用いて送信者が受信者から公開パラメータを要求する場合に、受信者は、送信者に受信者の組織の公開パラメータを提供することもできる。手動で生成したり自動的に生成したりしたメッセージに対する受信者の応答を、手動または自動的に行うこともできる。自動動作を、例えば、ユーザ機器にインストールしたソフトウェアでサポートすることもできる。適したある構成では、送信者がメインメッセージを用意して送信する際に自動的に生成されるセットアップメッセージを、受信者が手動操作を行うことなく（または最小限の操作で）、受信者の機器が自動的に受信して応答する。この自動応答メッセージは、受信者に対応付けられた秘密鍵生成器の公開パラメータを含んでいる。送信者の機器は、メインメッセージを暗号化する際に、自動的に受信者からの公開パラメータ情報を用いる。また、受信者および組織は、自分たちの公開パラメータを、従業員または企業のウェブサイトや、このような機器が本格的なディレクトリサービスでなくても、通信ネットワーク１４に接続した任意の他の適した公に利用できるサーバまたは機器に公開することができる。受信者のウェブサイトまたは組織のウェブサイトを信頼できる場合には、送信者は、これらの公開パラメータを用いることもできる。信頼できる通信経路を用いて、この種のソースから公開パラメータを得ることもできる。所望の場合には、電子メールメッセージまたは他のピアツーピア通信またはインターネットを介してこれらの公開パラメータを送信者に提供する前に、受信者または組織は、認証機関のサービスを用いて受信者の識別または組織の識別を確認して、受信者の公開パラメータおよび組織の公開パラメータを含む証明書を生成することもできる。
【００８２】
所望の場合には、公開パラメータのリスト（例えば、ディレクトリの一部または全ディレクトリ）を、スケジュールに従って、ユーザに配信することもできる。例えば、電子メールメーリングリストまたは他の適した配信手法を用いることにより、ディレクトリサービスにより、公開パラメータのディレクトリを特定のユーザに配信することもできる。例えば、ネットワークの使用が比較的低いオフピーク時に、ディレクトリ情報を配信することもできる。所望の場合には、更新の形式でディレクトリ情報を配信することもできる。例えば、ディレクトリの写しがすでに提供されているユーザは、更新したエントリを得ることもできる（例えば、ユーザからの要求によって、または所定のスケジュールに従って）。
【００８３】
秘密鍵生成器のあるもの、あるいはすべてが、時間に敏感な秘密鍵を生成することもできる。例えば、所定の時間が経過すると自動的に失効する時間に敏感な鍵を生成する（例えば、１日または１週間）。この種のアプローチでは、自分の入力メッセージを復号化する権限がすでにないユーザが、現在の（更新した）時間に敏感な秘密鍵を受信させないようにすることができる。ユーザの古い秘密鍵が失効した後は、さらにメッセージを復号化することはできない。識別ベースの暗号化環境においてこのようにユーザ特権を”失効させる”利点は、大規模な新規の公開鍵を頻繁に更新して送信者に送信する必要がない点である（公開鍵暗号化システムでこのようにユーザに容易に公開鍵情報を利用できるようにしたい人物の要求がない限りは）。
【００８４】
自分の秘密鍵が自動的に失効したユーザは、定期的に秘密鍵を更新してメッセージを復号化する必要がある。ある説明のためのケースでは、ユーザを、秘密鍵が週ごとに自動的に失効する組織の秘密鍵生成器に対応付けることもできる。週に一度、そのユーザは秘密鍵生成器から更新したバージョンのユーザの秘密鍵を自動的にまたは手動で得ることもできる。また、ユーザの秘密鍵生成器を、ディレクトリ情報のホストとして用いて他のユーザの公開パラメータを得ることもできる（例えば、前の週に登録したり、生き残ったりした全ユーザ群の公開パラメータ）。ディレクトリ情報を、図７に図示して説明したフォーマット等の、適したフォーマットを用いて維持することもできる。
【００８５】
他の秘密鍵生成器、ディレクトリサービス、クリアリングハウス、または任意の他の適したサービスから、ユーザの秘密鍵生成器がホストとなっている公開パラメータ情報を、秘密鍵生成器に提供することもできる。ユーザは一般に、週１回、ユーザの秘密鍵生成器に接続していずれにしてもユーザの更新した秘密鍵を得る必要があるので（この説明のためのケースでは）、ユーザの現在の秘密鍵を得るのと同時に（または同じトランザクションの間に）、ユーザに他の秘密鍵生成器の公開パラメータに関する情報を提供することは利点がある。ユーザのローカル機器１２またはユーザのローカル秘密鍵生成器１６の機器（またはユーザのローカルネットワークのどこか等）を、どの公開パラメータを用いて適切に任意の受信者へのメッセージを暗号化するか判定するのに用いることもできる。ローカル秘密鍵生成器は、例えば、送信者が要求すれば、任意の受信者または受信者の組織の識別に基づいて参照動作を実行することもできる。あるいは、送信者の機器がどの公開パラメータを用いればよいか判定できるように、ディレクトリの内容を送信者に提供することもできる（例えば、写しを送信者のローカル機器に送信したり、ローカルネットワークまたは他の通信経路を介して送信者のローカル機器がこの情報にアクセスできるようにしたりすることによる）。
【００８６】
秘密鍵生成器を用いて、公開パラメータ情報を配信して維持する説明のための工程を、図９，図１０に示す。図９に示すように、システム内の秘密鍵生成器の公開パラメータ情報を、工程７０で秘密鍵生成器から収集することもできる。公開パラメータ情報を、例えば、クリアリングハウスサービス４８等の集中エンティティから収集することもできる。それらのイニシアチブまたはスケジュールに従って、クリアリングハウスサービス４８は、この情報に関する各秘密鍵生成器を探査したり、または秘密鍵生成器は、この情報をクリアリングハウスに提供したりすることもできる。ディレクトリサービス４６を、ディレクトリ情報を格納するために用いる必要はない。むしろ、クリアリングハウスサービス４８が、収集した公開パラメータ情報を各秘密鍵生成器１６に配信することもできる（工程７２）。各秘密鍵生成器に、システム内の他の全（いくつかの、または基本的にすべての）秘密鍵生成器の公開パラメータに関する情報を提供することもできる。
【００８７】
公開パラメータ情報を、図７の表といった表形式や、ユーザ群をそれぞれの秘密鍵生成器とマッピングするための他のフォーマットの形式で提供することもできる。一例として、図９の処理で収集して配信した公開パラメータ情報に、ドメインまたは電子メールのネームスペースの他の部分（例えば、可能な電子メールアドレスのすべてで構成する）を特定の秘密鍵生成器とマッピングする情報を添えることもできる。マッピングが一意である必要はない。例えば、あるユーザが複数のドメインに所属しているとする。このような重複するディレクトリ情報を用いるには、より具体的なマッピング情報、例えば、より長かったりより具体的なドメインを最初に用いて、その参照動作がうまくいかなかったら、もっと具体的でないマッピング情報、例えば、もっと短かったり具体的でないドメインを、フォールバックとして用いることもできる。
【００８８】
工程７０で、秘密鍵生成器からの公開パラメータ情報を各秘密鍵生成器から収集して、工程７２で、この収集した公開パラメータ情報を各秘密鍵生成器に戻した後で、秘密鍵生成器は、この情報を自器に対応付けられたユーザが利用できるようにすることもできる。この処理に含まれる工程を、図１０に示す。
【００８９】
図１０の工程７４では、各秘密鍵生成器１６が、クリアリングハウス４８から公開パラメータおよび電子メールドメインマッピング情報を受信することもできる（例えば、図９の工程７２の間に提供されたパラメータとして）。新規の秘密鍵生成器を追加したり削除したりする際に、この工程を、定期的に繰り返すこともできる。クリアリングハウス４８は、この情報を、単独ファイルまたはリストまたは通信ネットワーク１４を介する更新送信としての形式で提供することもできる。安全な通信経路を、クリアリングハウスと各秘密鍵生成器との間で用いることもできる。所望の場合には、認証機関５０が公開パラメータ情報（そして、どのユーザおよび組織が各セットの公開パラメータに対応付けられているか特定する添付のドメイン情報）に署名することもできる。
【００９０】
工程７６では、秘密鍵生成器１６は、ユーザからユーザ識別情報Ｑを受信することもできる（この情報をまだ秘密鍵生成器に提供していなかったり、秘密鍵生成器が得ていなかったりする場合）。定期的に、秘密鍵生成器１６は、新規のタイムスタンプをユーザの識別に追加することもできる（例えば、現在の週の日付等のタイムスタンプをユーザの識別Ｑに連結することによる）。工程８０で、識別ベース暗号化アルゴリズムと秘密鍵生成器のマスタシークレットとを用いてユーザの現在の秘密鍵を生成することにより、タイムスタンプと連結した識別を、秘密鍵生成器が処理することもできる。（この処理を、個別の工程またはバッチ処理の一部として繰り返して、秘密鍵生成器に対応付けられたあるユーザまたは全ユーザの秘密鍵を生成することもできる。）
ユーザの動作環境では時間に敏感な秘密鍵を用いているので（この例では）、ユーザは、秘密鍵生成器から更新した秘密鍵を定期的に得る必要がある。これにより、秘密鍵生成器に、ユーザおよび組織（ドメイン名または他の適した手法により）をシステム内の他の秘密鍵生成器の公開パラメータにマッピングするディレクトリ情報を配信する、適した機会を提供する。従って、工程８２で秘密鍵生成器は、各秘密鍵生成器の公開パラメータ（または基本的にすべての秘密鍵生成器または少なくともいくつかの秘密鍵生成器、または受信者または組織の任意の受信者または群に用いる少なくとも適切な公開パラメータ）をユーザに提供することもできる。この情報を、ユーザおよびユーザの秘密鍵生成器が接続しているローカルエリアネットワークを介して、ユーザの秘密鍵生成器からユーザに提供することもできる。
【００９１】
公開パラメータのディレクトリ情報を、ユーザの新規の秘密鍵を配信するのと同時に、同じトランザクションの一部として、若干異なる時間で、ユーザに配信することもできるし（例えば、関連しているが別々のメッセージまたはトランザクションで）、異なる時間に異なる通信で別々のトランザクションの一部として配信することもできる。このアプローチでは、公開パラメータのディレクトリ情報の配信は、各秘密鍵生成器から秘密鍵生成器へと互いに情報を押し合うことにより、対応付けられた秘密鍵生成器との相互作用を介して最終的にユーザへ配信する用に行われる。この例は、単に説明のためだけのものである。
【００９２】
所望の場合には、秘密鍵生成器を用いてグローバル識別ベース暗号化能力を提供することもできる。例えば、グローバルマスタシークレットとグローバル公開パラメータとを有する特定の”グローバル”秘密鍵生成器１６を用いることもできる。送信者（例えば、秘密鍵生成器Ａに対応付けられた送信者Ａ１）が、グローバル公開パラメータを用いて受信者宛のメッセージ（例えば、秘密鍵生成器Ｂに対応付けられた受信者Ｂ１）を暗号化することもできる。グローバル公開パラメータを用いて送信者と受信者との間に安全な通信を単にセットアップすることもできるし、全通信（例えば、異なる秘密鍵生成器に対応付けられたユーザ間の全通信）に用いることもできる。
【００９３】
グローバル秘密鍵生成能力を有するシステムを用いる説明のための工程を、図１１に示す。工程８４では、グローバル秘密鍵生成器をセットアップする。例えば、グローバルマスタシークレットおよびグローバル公開パラメータを生成することもできる。秘密鍵生成器は、クリアリングハウスサービス４８の一部とすることも、通信ネットワーク１４に独立して接続させることもできる。
【００９４】
工程８６では、グローバル秘密鍵生成器のグローバル公開パラメータを、ユーザが利用できるようにすることもできる。例えば、グローバル公開パラメータを、ユーザソフトウェアに埋め込んだり（例えば、電子メールメッセージソフトウェア）、または単独アプリケーションまたはプラグインとしてダウンロードして利用できるようにしたりすることもできる。
【００９５】
工程８８では、送信者がグローバル公開パラメータを用いて受信者へのメッセージを暗号化して送信することもできる。送信者および受信者を同じ秘密鍵生成器に対応付けることもできるが、一般には異なる秘密鍵生成器に対応付けられている。送信者の位置でグローバル公開パラメータが存在しているので、受信者に対応付けられた秘密鍵生成器の公開パラメータを送信者がまだ利用できなくても（例えば、送信者が通信ネットワーク１４に接続していなかったり、ディレクトリサービスにアクセスできなかったりという理由等）、送信者は受信者へのメッセージを暗号化して送信することもできる。所望の場合には、送信者は、送信者が受信者へ送信するメッセージに送信者の公開パラメータを含めることもできる。このメッセージは、送信者が受信者へ送信しようとする内容（例えば、テキストメッセージ）を含んでいてもいなくてもよい。
【００９６】
工程９０では、受信者は送信者からのメッセージを受信する。受信者は、受信者の公開パラメータ（まだ得ていない場合には）を受信者の秘密鍵生成器から得ることもできる。次に受信者は、受信者の公開パラメータを含むメッセージで送信者のメッセージに応答することもできる。送信者が送信者のメッセージに送信者の公開パラメータを含めている場合は、受信者はこれらの公開パラメータを用いて送信者への通信を暗号化することもできる。
【００９７】
工程９２では、送信者が受信者の公開パラメータを要求して受信した場合、送信者は、さらにメッセージを暗号化して送信する際に、受信者の公開パラメータを用いることもできる（例えば、さらに内容を含んでいるメッセージ）。送信者が受信者の公開パラメータを要求しておらず受信していない場合（例えば、異なる秘密鍵生成器でのユーザ間のすべてのまたは多くの通信が、グローバル公開パラメータを用いて構成される識別ベースの暗号化機能を用いることにより、機械的に処理されている環境で送信者が動作しているために）、送信者はグローバル公開パラメータ（そして受信者の識別）を用いてさらにメッセージを暗号化して送信することもできる。
【００９８】
所望の場合には、それぞれのエンティティ間の通信のいくつか、またはシステムの構成要素が要求またはメッセージを用いるようにして、他の通信にはプッシュアプローチを用いるようにさせることもできる。これらのアプローチを一緒にしたり、または一方が他方を支持するようにしたりすることもできる。所望の場合には、いくつかのディレクトリ情報を、図９、図１０で説明した種類のアプローチ（情報をユーザに”押すこと”を要する説明のための構成）を用いて提供することもできるし、いくつかのディレクトリ情報をピアツーピア構成を用いて提供することもできるし、いくつかのディレクトリ情報をディレクトリサービス４６で説明したディレクトリ参照アプローチを用いて提供することもできる。
【００９９】
所望の場合には、これらのアプローチのいずれか１つを用いることもできるし、これらのアプローチのいずれか２つを用いることもできるし、またはこれらの３つのアプローチすべてを用いることもできる。また、システム１０がこれらの構成の２つ以上を用いて公開パラメータ情報を配信したり公開したりする構成では、１つのアプローチを主要なアプローチとして用い（例えば、ディレクトリ情報を各ユーザのローカルネットワークおよび対応付けられた秘密鍵生成器へプッシュするプッシュ構成）および別のアプローチまたは複数のアプローチ（例えば、ディレクトリサービス４６および／またはピアツーピア構成に基づく参照構成）を、主要のアプローチまたはもっと好ましいアプローチに障害が起きたり、サービスが劣化するといったイベントの際にフォールバックアプローチとして用いることもできる。
【０１００】
所望の場合には、システム１０内の送信者と受信者との間で送信するメッセージは、電子メールメッセージまたは他のテキストメッセージとすることもできる。メッセージには、グラフィック、音声、ビデオ、データ、コンピュータコード、コマンド、または任意の他の適した媒体、内容、データ、または命令を含むこともできる。メッセージには、暗号鍵を含むこともできる。例えば、メッセージをＤＥＳ対称鍵の交換に用いることもできる。このように、識別ベースの暗号化手法を用いて鍵を交換することにより、効率的な対称鍵暗号化技術を用いて大量の暗号化した内容を交換することができる。この種の２層アプローチ（はじめに識別ベースの暗号化プロトコルを用いて対称鍵を交換して、次に対称暗号化プロトコルを用いて大量のデータを交換する）から、ソフトウェアを用いて鍵交換およびデータ転送処理に対応付けられたタスクを自動化することにより、ユーザにトランスペアレントにできる。ユーザは、１層または２層アプローチが用いられているのか知る必要がない。
【０１０１】
メッセージをある人物（または組織）から別の人物へ送信したり（マニュアルのサポートがあってもなくても）、人の操作がほとんどまたは全くない状態でメッセージを機器から機器へ自律的に生成し、送信し、受信したりすることもできる（例えば、通信ネットワークを構成したり稼働する場合）。公開パラメータ情報および秘密鍵等のメッセージおよび他の情報を、要求があり次第（例えば、受信者の要求があり次第）、スケジュールに従って、または特定の条件が合えば、適切なエンティティおよび機器に提供することもできる。
【０１０２】
図５に図示して説明した構成は、単に説明のためだけのものである。所望の場合には、これらのサービスまたはエンティティの任意の適した群を共に配置し、および／または同じエンティティ（またはエンティティ群）が動作するように、ディレクトリサービス、クリアリングハウスサービス、認証機関、および秘密鍵生成器の機能を組み合わせることもできる。一例として、クリアリングハウスサービス機能を、１つ以上の秘密鍵生成器の機能に組み込むこともできる。別の例としては、ディレクトリサービス機能を１つ以上の秘密鍵生成器またはクリアリングハウスに組み込むこともできる。さらに別の例として、認証機関サービスをクリアリングハウスのサービスと組み合わせることもできる。これらは単に説明のためだけの例であり、所望の場合には、これらのサービスおよびエンティティ任意の適した組み合わせをシステム１０内で用いることもできる。また、秘密鍵生成器の機能および図５に示す他の組織をさらに分割することもできる。例えば、マスタシークレットから秘密鍵および公開パラメータを生成するのに用いられる機能を、複数のエンティティに渡って分割することもできる（マスタシークレットをさらに分割することによる）ので、そのマスタシークレットの秘密鍵および公開パラメータを単独で生成するエンティティがなくなるようになる。一般に、任意の適した数のユーザを、各秘密鍵生成器に対応付けて、任意の適した数の秘密鍵生成器、ディレクトリサービス、クリアリングハウス、および認証機関をシステム１０内に含むこともできる。
【０１０３】
ユーザ機器、秘密鍵生成器、ディレクトリサービス、クリアリングハウスサービス、認証機関、およびシステムの他の部分は、コンピュータまたは他のプロセッサベースの機器等のハードウェアに基づくこともできる。ハードウェアを操作し用いるこの方法は、このハードウェア上で動作するファームウェアおよび／またはコード（”ソフトウェア”）で実行することもできる。ハードウェアには、メモリ、ハードディスク等の固定または取り外し可能なコンピュータ読み取り可能媒体を含むこともできる。これらは、システムの機能を実行するソフトウェアを（恒久的だったり、実行したりする間）格納することもできる。ソフトウェアを用いることにより、図１〜図１０で説明した識別ベースの暗号化手法の機能を実行する、ユーザ機器のハードウェア、秘密鍵生成器、ディレクトリサービス、クリアリングハウスサービス、認証機関、システムの他の部分を構成することもできる。
【０１０４】
前述したものは、本発明の原理を単に説明するためだけのものであり、本発明の範囲および精神を逸脱することなく、当業者により各種の変更を行うことができる。
【図面の簡単な説明】
【０１０５】
【図１】図１は、本発明による識別ベースの暗号化システムを説明する図である。
【図２】図２は、本発明による図１のシステムの秘密鍵生成器を用いる工程を説明するフローチャートである。
【図３】図３は、本発明に基づいて、図１のシステム内の送信者に受信者のメッセージを暗号化させる工程を説明するフローチャートである。
【図４】図４は、本発明に基づいて、図１のシステム内の受信者に送信者からのメッセージを復号化させる工程を説明するフローチャートである。
【図５】図５は、複数の秘密鍵生成器を有し、それぞれが異なる群のユーザに対応付けられた、本発明による識別ベースの暗号化システムを説明する図である。
【図６】図６は、本発明に基づいて、適切な公開パラメータ情報を送信者に提供して、送信者に暗号化されたメッセージを任意の受信者に送信させる工程を説明するフローチャートである。
【図７】図７は、本発明に基づいて、送信者が任意のメッセージの受信者の公開パラメータを参照する機能を提供するデータベースの構成を説明する図である。
【図８】図８は、本発明に基づいて、図５のシステムを用いて公開パラメータを送信者に提供して、これらの公開パラメータを用いてメッセージを暗号化復号化する工程を説明するフローチャートである。
【図９】図９は、本発明に基づいて、クリアリングハウスサービスまたは他のサービスを用いて公開パラメータを収集配信する工程を説明するフローチャートである。
【図１０】図１０は、本発明に基づいて、時間に敏感な秘密鍵を生成して、任意のユーザにそのユーザの現在の時間に敏感な秘密鍵を提供する際に、任意のユーザに他のシステム内のユーザの公開パラメータ情報を提供する工程を説明するフローチャートである。
【図１１】図１１は、本発明に基づいて、グローバル秘密鍵生成器手法を用いて識別ベースの暗号化された通信をサポートする工程を示すフローチャートである。
【図１】
2006506908.tif 000003
【図２】
2006506908.tif 000004
【図３】
2006506908.tif 000005
【図４】
2006506908.tif 000006
【図５】
2006506908.tif 000007
【図６】
2006506908.tif 000008
【図７】
2006506908.tif 000009
【図８】
2006506908.tif 000010
【図９】
2006506908.tif 000011
【図１０】
2006506908.tif 000012
【図１１】
2006506908.tif 000013
【国際調査報告】
2006506908.tif 000014