説明

識別ベースの暗号化システム

【課題】識別ベースの暗号化を用いて安全な通信をサポートするシステムを提供する。
【解決手段】送信者から受信者へのメッセージは受信者に対応付けられた秘密鍵生成器で生成した受信者の識別および公開パラメータを用いて暗号化され得る。受信者に対応付けられた秘密鍵生成器は受信者の秘密鍵を生成する。暗号化されたメッセージは、受信者の秘密鍵を用いて、受信者により復号化され得る。システムはそれぞれ個別のセットの公開パラメータを有する複数の秘密鍵生成器を有し得る。ディレクトリサービスはある秘密鍵生成器に対応付けられた送信者に適切な公開パラメータを提供するように、異なる秘密鍵生成器に対応付けられた受信者へのメッセージを暗号化する際に用いられ得る。認証機関はディレクトリサービスのディレクトリエントリに署名するために用いられ得る。クリアリングハウスはディレクトリエントリの複製を回避するために用いられ得る。

【発明の詳細な説明】
【背景技術】
【0001】
(発明の背景)
本発明は暗号化に関し、特に詳しくは識別ベースの暗号化手法に関する。
【0002】
暗号システムを用いることにより、安全な電子メールサービスおよび安全なウェブ閲覧等の安全な通信サービスを提供することができる。
【0003】
対称鍵暗号システムを用いて、メッセージの送信者が同一の鍵を用いてメッセージを暗号化して、メッセージの受信者がこれを用いてメッセージを復号化する。対称鍵システムでは、各送信者および受信者のそれぞれが、安全なやり方で共通の鍵を交換する必要がある。
【0004】
公開鍵暗号システムでは、2種類の鍵を用いる。公開鍵および秘密鍵である。送信者は、受信者の公開鍵を用いてメッセージを暗合化することもできる。各受信者は秘密鍵を持ち、これを用いて各自受信者宛のメッセージを復号化する。
【0005】
用いられる公開暗号システムの1つは、RSA暗号システムである。このシステム内の各ユーザは、一意の公開鍵および一意の秘密鍵を持っている。このシステムを用いる送信者は、インターネットに接続した鍵サーバから任意の受信者の公開鍵を得ることもできる。公開鍵の信憑性を保護することにより考えられ得るMITM攻撃を無効にするために、信頼できる認証機関が署名した証明書が付いた公開鍵を送信者に提供する。証明書を用いることにより、公開鍵が送信者のメッセージのしかるべき受信者に属していることを証明することもできる。
【0006】
ある従業員がもう組織で働いていない場合に、その組織でその従業員の暗号化された電子メールの権利を無効にするために、ある組織では、全従業員の公開鍵を、一日が終わるごとに自動的に失効するようにすることもできる。現在の従業員用の新規の公開鍵を、毎日生成することもできる。新規の公開鍵を公開鍵サーバに配置することで、公に利用できるようにすることもできる。
【0007】
公開鍵暗号化アルゴリズムを用いる暗号化は計算的に集約されているので、システムのなかには、ユーザが公開鍵暗号化を用いて安全に共通の対称鍵を交換できるようにしているものもある。次に対称鍵を用いて、安全な通信セッションをサポートすることもできる。
【0008】
公開鍵暗号化システムでは、送信者がメッセージを暗号化する前に、送信者はメッセージ受信者の公開鍵を得る必要がある。送信者がポータブルコンピュータを持って移動していて、一時的にこのコンピュータに保存された電子メールメッセージに応答使用とすることもある。送信者がこのメッセージを送信した人の公開鍵のコピーをまだ持っていない場合には、送信者は公開鍵サーバからその公開鍵を得る必要がある。しかしながら、送信者が電子メールの返事を作成したい時に送信者のポータブルコンピュータがオンラインになっていないこともある。従って、送信者はオンラインで公開鍵サーバにアクセスすることができず、メッセージを作成して直ちに暗号化することができないこともある。送信者のコンピュータが盗難に遭う危険があるので、コンピュータ上の暗号化されていないメッセージが傍受される可能性がある。
【0009】
識別ベースの暗号化手法は、公開鍵システムとは異なって動作する。識別ベースの暗号化システムでは、公開パラメータおよび秘密鍵を用いて送信者と受信者とが安全に通信する。各ユーザは、ユーザの識別に基づいて一意の秘密鍵を持ちメッセージを復号化するが、(暗号化および復号化処理の間に用いられる)1つのセットの公開パラメータは、多くのユーザで共通である場合がある。
【0010】
適した構成では、日付印と連結したユーザの電子メールアドレスまたはユーザの電子メールアドレスを用いて各ユーザを識別する。このアプローチでは、現在オフラインで公開鍵サーバにアクセスできない送信者でも、ユーザの公開パラメータにアクセスした場合にメッセージを直ちに暗号化することもできる。組織内の全ユーザが同じセットの公開パラメータを共有しているので、送信者が一度も通信したことがない受信者であっても、送信者は多くの場合正しい公開パラメータにアクセスして、任意の受信者に用いることもできる。ネットワークアクセスが利用できる場合は、暗号化されたメッセージを受信者に送信することもできる。受信者は、自分の秘密鍵を用いてメッセージを復号化することもできる。
【0011】
識別ベース暗号システムでは、秘密鍵を秘密鍵生成器で生成することもできる。秘密鍵生成器では、秘密鍵を生成する際に入力として、機密情報(すなわち、いわゆる”マスタシークレット”)を用いる。システムのセキュリティは、組織がマスタシークレット保持してその機密を維持できる能力に基づいている。
【0012】
識別ベース暗号システムではマスタシークレットの機密を維持することが重要なので、ある組織では、マスタシークレットの管理責任を第三者に委託したがらない場合もある。しかしながら、複数の組織が異なるマスタシークレットを用いて別々の識別ベースの暗号化システムを実行する場合、異なる組織に対応付けられたユーザが互いに通信することが困難なこともある。
【発明の開示】
【課題を解決するための手段】
【0013】
(発明の要旨)
本発明によれば、複数の秘密鍵生成器を有する識別ベースの暗号化システムを提供する。各秘密鍵生成器は、異なるマスタシークレットを有して、複数の対応付けられたユーザそれぞれに一意の秘密鍵を生成することもできる。各秘密鍵生成器はまた、セットの公開パラメータを生成して、その秘密鍵生成器に対応付けられたユーザのなかの受信者宛のメッセージを暗号化する際に用いることができる。
【0014】
ディレクトリサービスを利用することにより、特定のユーザ群を特定のセットの公開パラメータにマッピングしたり対応づけたりする情報に、システムのユーザがアクセスできるようにすることもできる。任意の受信者または組織の公開パラメータ情報を所望する送信者は、ディレクトリサービスに照会することもできる。
【0015】
所望の場合には、システムは、複数のディレクトリサービスを有することもでき、それぞれユーザ情報および対応付けられた公開パラメータ情報のディレクトリを維持する。クリアリングハウスサービスを用いることにより、これらのディレクトリ内のエントリで複製を作成することを防止することもできる。
【0016】
ユーザ識別は、電子メールアドレスに基づくこともできる。この種のアプローチを用いる場合には、送信者は、電子メールアドレス情報(例えば、任意の受信者の電子メールアドレスのドメイン名部分、または受信者の全電子メールアドレスを用いる)を用いることにより、ディレクトリ内の公開パラメータ情報を参照することもできる。
【0017】
ディレクトリサービスが信頼できるものであれば、ユーザは、安全な通信リンク(例えば、安全なソケット層プロトコルを用いて)ディレクトリサービスから公開パラメータ情報を得ることができる。ディレクトリサービスが信頼できるものでなければ(例えば、未知の第三者が実行しているという理由で)、認証機関を用いることにより、ディレクトリエントリに署名することもできる。そして、ユーザはディレクトリエントリを証明することもできる。
【0018】
ディレクトリサービスが信頼できる構成では、各秘密鍵生成器により、ディレクトリ情報(例えば、その秘密鍵生成器に対応付けられたドメイン名に関する情報およびその秘密鍵生成器に対応付けられたセットの公開パラメータの関連情報)を安全な通信リンクを介してディレクトリサービスに提供することもできる。ディレクトリサービスが信頼できない構成では、秘密鍵生成器により、認証機関を介してディレクトリ情報をディレクトリサービスに提供することもできる。秘密鍵生成器のディレクトリ情報の信憑性を、この情報をユーザがアクセスできるように公開する前に、(信頼できるディレクトリサービスまたは認証機関により)証明することもできる。
【0019】
所望の場合には、ユーザの一意の秘密鍵を自動的に無効にすることもできる。適したあるアプローチでは、各ユーザの識別をそのユーザの電子メールアドレスと連結したタイムスタンプで構成することもできる。他のユーザに秘密鍵を生成し続けている間は、任意のユーザの特権を、その任意のユーザに秘密鍵をさらに生成しないようにすることにより、秘密鍵生成器で無効にすることもできる。
【0020】
定期的に秘密鍵が無効になるシステムでは(例えば、週に一度)、ユーザは通常、ユーザの秘密鍵を同じ頻度で(例えば、週に一度)更新しようとする。ユーザの秘密鍵生成器を用いて現在のバージョンのユーザの秘密鍵を得るという週ごとに交換を行う間は、ユーザは、他の識別ベースの暗号化システムのユーザ用の更新した公開パラメータのディレクトリ情報を得ることもある。このディレクトリ情報を、現在の秘密鍵情報を提供するのと同時に、ユーザの秘密鍵生成器でユーザに提供することもできる。秘密鍵生成器は、ディレクトリ情報を、ディレクトリサービスから、他の秘密鍵生成器から、クリアリングハウス(例えば、複数のディレクトリサービスが存在するといった環境)から、認証機関(例えば、秘密鍵生成器の証明書を生成する認証機関)から、あるいはシステム内の任意の他の適したエンティティから得ることもできる。また、公開パラメータのディレクトリ情報を、ピアツーピア構成を介してユーザ間で交換することもできる。例えば、公開パラメータ情報を、電子メールを用いて交換することもできる。
【0021】
本発明のさらなる特徴、その性質および各種の利点について、添付の図面および以下の好適な実施の形態の詳細な説明から明らかになるであろう。
(項目1)
識別ベースの暗号化を用いて、ユーザ機器のユーザが通信ネットワークを介して通信するシステム内の暗号化された通信をサポートする方法であって、ここで、該システムは、複数の秘密鍵生成器を有し、それぞれ対応付けられたユーザ群の秘密鍵を生成し、各ユーザの秘密鍵は、ユーザの識別および公開パラメータを使用して、そのユーザが用いて暗号化されたユーザ宛のメッセージ復号化することにより使用され得、該方法は、以下:
該通信ネットワークに接続したディレクトリサービスを用いて、該通信ネットワークに接続したユーザ機器を有する送信者に、どの公開パラメータを用いて該通信ネットワークに接続したユーザ機器の受信者宛のメッセージを暗号化することを判定する機会を提供することを包含し、該送信者は該受信者とは異なる秘密鍵生成器に対応付けられている、方法。
(項目2)
項目1に記載の方法であって、ディレクトリサーバを用いて前記ディレクトリサービスを実行し、該ディレクトリサーバは、電子メールアドレス群を特定の対応する秘密鍵生成器に対応付けられた特定の公開パラメータとマッピングする情報を含む、方法。
(項目3)
項目1に記載の方法であって、前記メッセージが電子メールメッセージであり、該方法はさらに、電子メールアドレス情報に基づいて、前記ディレクトリサービスを用いて、前記送信者の要求があり次第、前記受信者の組織の公開パラメータを参照することを包含する、方法。
(項目4)
項目1に記載の方法であって、前記通信ネットワークに接続した複数のディレクトリサービスが存在し、該方法はさらに、少なくとも1つのディレクトリサービスを用いて、異なる秘密鍵生成器の公開パラメータが備えられているクリアリングハウスサービスからユーザの公開パラメータを受信することを包含する、方法。
(項目5)
項目1に記載の方法であって、前記システムは、異なる秘密鍵生成器の公開パラメータが備えられているクリアリングハウスサービスを含み、前記通信ネットワークに接続した複数のディレクトリサービスが存在し、各々、各ユーザ群をそれぞれに対応付けられた秘密鍵生成器の公開パラメータと対応づける複数のエントリのディレクトリを含み、前記クリアリングハウスは、いくつかのエントリの複製を防止し、該方法はさらに、少なくとも1つのディレクトリサービスを用いてクリアリングハウスサービスからユーザの公開パラメータを受信することを包含する、方法。
(項目6)
項目1に記載の方法であって、前記システムはさらに認証機関を含み、該認証機関を介して、少なくともいくつかの秘密鍵生成器がそれらに対応付けられた公開パラメータを提供し、該方法はさらに、少なくとも認証機関を介して秘密鍵生成器からこれらの公開パラメータを受信することを包含する、方法。
(項目7)
項目1に記載の方法であって、インターネットドメインネームシステム(DNS)のコンピュータを用いて前記ディレクトリサービスを実行し、該方法はさらに、ドメインネームシステムのコンピュータを、特定のドメイン名を特定の公開パラメータにマッピングする情報のホストとして用いることを包含する、方法。
(項目8)
送信者に、システム内の通信ネットワークを介して所定の受信者に識別ベースの暗号化されたメッセージを送信するのに用いる適切な公開パラメータを提供する方法であって、システムには複数の秘密鍵生成器が存在し、それぞれ一意のマスタシークレット、一意の公開パラメータ、および異なる群の対応付けられたユーザを有し、該送信者はメッセージを暗号化する際に用いる所定の受信者の識別を得、該方法は、以下:
該送信者が得た該受信者の識別を用いて、該受信者の識別および適切な公開パラメータに基づいて、該送信者が識別ベースの暗号化を用いて所定の受信者宛のメッセージを暗号化するのに、複数の秘密鍵生成器に対応付けられた一意の公開パラメータのいずれが、送信者に提供するのに適切か判定することを包含する、方法。
(項目9)
項目8に記載の方法であって、ディレクトリサービスを用いて、前記送信者に所定の受信者宛のメッセージを暗号化するのに用いる適切な公開パラメータを提供することをさらに包含する、方法。
(項目10)
項目8に記載の方法であって、前記送信者および前記所定の受信者が異なる識別ベースの暗号化秘密鍵生成器に対応付けられ、前記通信ネットワークがインターネットを備え、該方法はさらに、以下:
該送信者がインターネットを介して情報のデータベースにアクセスすることができ、データベースはある受信者を異なる秘密鍵生成器の公開パラメータと対応づける情報を包含する、方法。
(項目11)
項目8に記載の方法であって、前記送信者および前記所定の受信者が異なる識別ベースの暗号化秘密鍵生成器に対応付けられ、該方法はさらに、以下:
秘密鍵生成器の1つを用いて、該送信者に異なるユーザ群を異なる個別のセットの公開パラメータ情報にマッピングする情報を提供することを包含する、方法。
(項目12)
項目8に記載の方法であって、少なくともいくつかの秘密鍵生成器がユーザの時間に敏感な秘密鍵を生成し、該方法はさらに、以下:
前記送信者が該送信者の現在の秘密鍵を得る場合に、該送信者に適切な識別ベースの暗号化公開パラメータ情報を提供することを包含する、方法。
(項目13)
項目12に記載の方法であって、前記送信者の秘密鍵生成器を該送信者が接続しているローカルエリアネットワーク上で実行し、該方法はさらに、以下:
該送信者の秘密鍵生成器を用いて該送信者の現在の秘密鍵を生成して、ローカルエリアネットワークを介して該送信者に提供すること;および
同じ秘密鍵生成器を用いて、該送信者に所定の受信者宛のメッセージを暗号化するのに用いる適切な公開パラメータを提供すること
を包含する、方法。
(項目14)
項目8に記載の方法であって、暗号化されたメッセージを用いて前記受信者に対称鍵を提供することをさらに包含する、方法。
(項目15)
項目8に記載の方法であって、クリアリングハウスサービスを用いて複数の秘密鍵生成器が提供した公開パラメータ情報を処理して、複製を回避することをさらに包含する、方法。
(項目16)
項目8に記載の方法であって、公開パラメータを前記送信者に提供する前に、認証機関を用いて少なくともいくつかの秘密鍵生成器の公開パラメータに署名をすることをさらに包含する、方法。
(項目17)
識別ベースの暗号化を用いて、ユーザ機器のユーザが通信ネットワークを介して通信するシステム内の暗号化された通信をサポートする方法であって、該システムは、複数の秘密鍵生成器を有し、それぞれ対応付けられたユーザ群の秘密鍵を生成し、ユーザの識別および公開パラメータを使用して、各ユーザの秘密鍵をそのユーザが用いて暗号化されたユーザ宛のメッセージを復号化し、該方法は、以下:
第1のユーザから第2のユーザへピアツーピアメッセージを送信し、該第1のユーザは、該第2のユーザが対応付けられていない秘密鍵生成器に対応付けられていて、メッセージは、該第1のユーザが対応付けられている秘密鍵生成器の公開パラメータを含むことを包含する、方法。
(項目18)
識別ベースの暗号化を用いて、ユーザ機器のユーザが通信ネットワークを介して通信するシステム内の暗号化された通信をサポートする方法であって、該システムは、複数の秘密鍵生成器を有し、それぞれ対応付けられたユーザ群の秘密鍵を生成し、ユーザの識別および公開パラメータを使用して、各ユーザの秘密鍵をそのユーザが用いて暗号化されたユーザ宛のメッセージを復号化し、システムは対応付けられたグローバル公開パラメータを有するグローバル秘密鍵生成器を含み、該方法は、以下:
グローバル公開パラメータおよび受信者の識別を用いて、少なくとも1つの秘密鍵生成器に対応付けられた送信者が、ユーザ機器を用いて少なくとも1つの異なる秘密鍵生成器に対応付けられた受信者宛のメッセージを暗号化できることを包含する、方法。
(項目19)
項目18に記載の方法であって、前記ユーザ機器が前記通信ネットワークに接続していない場合に、前記送信者が該ユーザ機器を用いて、前記受信者宛のメッセージを暗号化できることをさらに包含する、方法。
(項目20)
項目18に記載の方法であって、前記送信者が暗号化したメッセージを前記受信者に送信でき、メッセージが該送信者に対応付けられた秘密鍵生成器の公開パラメータを含むことをさらに包含する、方法。
(項目21)
項目18に記載の方法であって、以下:
前記送信者が暗号化されたメッセージを前記受信者に送信でき、暗号化されたメッセージが該受信者に対応付けられた異なる1つの秘密鍵生成器の公開パラメータの対する要求を含むこと;および
受信者に対応付けられた異なる1つの秘密鍵生成器の公開パラメータを送信者に提供することにより、受信者のユーザ機器を用いて自動的に暗号化されたメッセージに応答すること
をさらに包含する、方法。
【発明を実施するための最良の形態】
【0022】
(好ましい実施形態の詳細な説明)
本発明による識別ベース暗号システム10の説明の一部を、図1に示す。システム10により、各種の位置のユーザが識別ベースの暗号化手法を用いて安全に通信することができる。システム内のユーザは、個人であったり、組織であったり、あるいは任意の他の適した関係者またはエンティティとすることもできる。ユーザは、ユーザ機器12を用いて互いに通信することもできる。機器12は、例えば、パーソナルコンピュータ、ポータブルコンピュータ、メインフレームコンピュータ、ネットワークコンピュータあるいは端末、電気通信機器、ハンドヘルドコンピュータあるいは携帯情報端末、または携帯電話等の計算機器を含む。複数のユーザが、同じ機器を用いることもできる。例えば、ユーザ群がローカルエリアネットワーク内のホストコンピュータに接続した1台のコンピュータ端末を共有して用いることもできる。これらは単に、システム10のユーザが用いることができるプラットフォームの例示の種類を説明するだけのものである。所望の場合には、ユーザ機器12は、任意の適した電子機器に基づくこともできる。
【0023】
ユーザ機器デバイスは、通信ネットワーク14と相互接続することもできる。ネットワーク14は、例えば、インターネット、ローカルエリアネットワーク、広域ネットワーク、公共交換電話ネットワーク、仮想私設ネットワーク、有線ネットワーク、無線ネットワーク、専用回線、光ファイバまたはケーブル経路または他の有線または無線経路に基づくネットワーク、または任意の他の適したネットワーク技術またはこのようなネットワークを組み合わせたもので構成されたネットワークとすることもできる。
【0024】
各種の計算装置は、ネットワーク14に接続して識別ベースの暗号化手法の特徴をサポートすることもできる。例えば、秘密鍵生成器16の計算機器を用いて秘密鍵を配信することもできる。ある構成のなかには、このような計算機器を用いてクライアントサーバアーキテクチャ内にサーバの機能を構成することもできる。理解しやすいように、本発明は、このようなサーバベースの構成を背景として説明することもある。しかしながら、これは単に説明のためだけのものである。 所望の場合には、任意の適した計算装置の構成を用いて秘密鍵および他の情報を配信して、システム10内での暗号化された通信をサポートすることもできる。典型的なサーバベースの構成では、1つ以上のコンピュータを用いてサーバの機能を構成することもできる。サーバは、1台のコンピュータまたは複数のコンピュータを用いて構成することもできる。所望の場合には、1台のサーバの機能を、多数の異なる物理位置に分散しているコンピュータで構成することもできる。
【0025】
秘密鍵生成器16は、通信ネットワーク14に接続したサーバベースのプラットフォーム等の適した計算プラットフォームに基づくこともできる。所望の場合には、秘密鍵生成器16の鍵生成機能を、1つ以上の位置にある複数のコンピュータで分割することもできる(それぞれは秘密鍵に生成に必要な機密情報の一部分しか持たない)。理解しやすいように、現在の説明は主に秘密鍵生成器の構成に主眼を置いており、各秘密鍵生成器16は個別に、その秘密鍵を自器に対応付けられたユーザに生成するものである。
【0026】
個人対個人の電子メールメッセージを送信するといったユーザアクティビティのあるものは、手動操作を必要とする。例えば、このようなメッセージを送信したいと思う者は、暗号化して適切な受信者に送信する前に、メッセージを作成する必要がある。
【0027】
システム10内の他のユーザアクティビティを、自動化または半自動化することもできる。これらのユーザアクティビティを、わずかの手動操作あるいは手動操作を全く行わずに発生させることもできる。単に一例として、1台の機器12のところにいるユーザが金融機関で、暗号化された通信を用いて暗号化された銀行報告を、通信ネットワーク14を介して他の機器12のところにいる口座保持者配信したいとする。一旦システムが正常にセットアップされれば、金融機関の機器では通常オペレータが全く操作しなくていいように、配信処理は自動化することもできる。ユーザの報告の受信も自動化することもできる。
【0028】
識別ベースの暗号化手法は、多数の異なる暗号アルゴリズムを用いて実行することができる。このような手法の1つは、平方剰余に基づいている(例えば、”平方剰余に基づく暗号化手法による識別(An identity Based on Quadratic Residues)”第8回暗号化技術およびコーディング国際会議、2001年12月、王立農業大学サイレンスター、英国、クリフォード・コックス(Clifford
Cocks)参照)。別の適した手法は、楕円暗号法に基づいている(例えば”ワイルペアリングからの識別ベースの暗号化(Identity−Based Encryption from the Weil Pairing)”、ダン・ボネー(Dan Boneh)およびマシュー・フランクリン(Matthew Franklin)、改訂版要約、暗号学における進歩(Advances in Cryptology) Crypto 2001年、レクチャノート、コンピュータサイエンス、第2139巻、シュプリンガー出版、231−229頁、2001年8月参照。また、http//eprint.iacr.org/200l/090、ダン・ボネーおよびマシュー・フランクリン参照)。理解しやすいように、本発明のいろいろな面について、ボネーらに記載の楕円暗号法の実施等の識別ベースの暗号化手法を背景に説明することもある。しかしながら、これは単に説明のためだけのものである。所望の場合には、システム10に識別ベースの暗号化の任意の適したアプローチを用いることもできる。
【0029】
図1に示す装置により識別ベース暗号手法を用いて、メッセージを1台の機器12のところにいる送信者から別の機器12のところにいる受信者に送信する工程を、図2、図3、図4に示す。送信されるメッセージは、任意のデジタル情報(例えば、テキスト、グラフィック、音声、ビデオ、コマンド、実行用コード、データ等)で、安全なやり方で電子的に送信される。
【0030】
図2の工程18では、図1の秘密鍵生成器16がマスタシークレットを得る。例えば、秘密鍵生成器が、タンパー防止用エンクロージャ内のプロセッサが秘密鍵生成器にランダムに生成した数字から、マスタシークレットを生成することもできる。また、マスタシークレットをオフサイトで生成して、秘密鍵生成器16に送信することもできる。マスタシークレットは(機密マスタキーまたはマスタキーともしばしば呼ばれることもある)機密情報であって、これを次に秘密鍵生成器16が用いてシステム内の受信者の秘密鍵を生成して、メッセージの復号化に用いて、送信者が用いる公開パラメータ情報を生成してメッセージの暗号化に用いる。
【0031】
工程18の間、秘密鍵生成器は公開パラメータを生成することもできる。例えば、秘密鍵生成器16は、公開パラメータPを得たり生成したりすることもできる。用いる特定の識別ベースの暗号化に適切な数学的機能を用いることにより、そして入力としてマスタシークレットsおよび公開パラメータPの値を用いることにより、秘密鍵生成器は対応する公開パラメータsPを生成することもできる。
【0032】
パラメータPおよびsPは数字である。一般に、数字、文字、記号、および情報を表す他のこのような手法の間には等価性がある。ある情報(例えば、マスタシークレットまたは公開パラメータ)について数字の形式で説明したりすることもあるし、ある情報(例えば、ユーザの識別)について少なくとも一部が文字の形式で説明したりすることもある(例えば、電子メールアドレスの形式)。これらの異なる表記法の間には固有の等価性があるので、文字または記号を数字に変換したり、または複数の数字またはストリングを1つの数字として表したりする技術や、または他のこのような動作についてここで詳細に説明する。
【0033】
工程20では、秘密鍵生成器が公開パラメータPおよびsPを発行する。例えばこれらのパラメータを、秘密鍵生成器16の計算機器(例えばサーバ)を用いて通信ネットワーク14を介して利用できるようにすることもできる。公開パラメータを、電子メールを介してユーザに送信することもできる。所望の場合には、公開パラメータを、要求があり次第ユーザに提供することもできる(例えば、メッセージの形式でサーバからダウンロードしたり、任意の他の適した構成を用いたりすることによる)。パラメータPおよびsPを、ダウンロード可能な、あるいはあらかじめ組み込まれているソフトウェアモジュールまたはパッケージの一部として配信することもできる。例えば、PおよびsPを、ユーザのパーソナルコンピュータまたは他のユーザ機器12を用いて配信したり(例えば、プラグインまたは単独パッケージの形式で)、後からダウンロードしたりする電子メールアプリケーション、ウェブブラウザ、または他の通信またはインターネットアプリケーションに組み込むこともできる。
【0034】
パラメータPおよびsPを、一緒に配信したり別々に配信したりすることもできる。パラメータPおよびsPを別々に配信する場合には、各パラメータを、異なる配信機構を用いて配信することもできる。例えば、Pをユーザのソフトウェアに組み込んで、sPをインターネットを介して配信することもできる。また、PおよびsPを組み合わせて、1つの数字またはパラメータと等価にして(便宜上理解しやすいように、ここでは複数の形式の”パラメータ”を用いてもこう呼ぶ)、またはさらに分割することもできる(例えば、3つ以上の公開パラメータのサブパートを構成する)。所望の場合には、公開パラメータPおよびsPをマニュアルで配信することもできる(例えば、印刷した郵便物や、ディスケットまたは他のコンピュータ読み取り可能媒体としてユーザに配信する)。これらは単に説明のためだけのものである。所望の場合には、任意の適した技術を用いて、公開パラメータPおよびsPを公開することもできる。
【0035】
一旦公開パラメータPおよびsPを、暗号化されたメッセージを別のユーザ(すなわち、受信者)に送信しようとするユーザ(すなわち、送信者)に提供したなら、送信者はメッセージを暗号化して受信者に送信することができる。受信者が暗号化されたメッセージを受信する場合、または前もって受信者が受信者の位置の機器をセットアップしたり更新したりする場合は、受信者は秘密鍵生成器から受信者の秘密鍵を得る。
【0036】
秘密鍵生成器は、これらのユーザそれぞれの識別に基づいて、秘密鍵生成器に対応付けられた複数のユーザそれぞれに秘密鍵を生成することもできる。ユーザの識別は、任意の適したストリング、数字または記号で表すことができる。例えば、メッセージ受信者の識別を、そのユーザの電子メールアドレス、名前、または社会保障番号で表すこともできる。現在の時間(例えば、今年の現在の日付と年、現在の月、または任意の他の適した時間に関連した日付印情報)をユーザの電子メールアドレスに連結することにより、ユーザの特権をシステム10内で自動的に無効にすることもできる。また、他の情報(例えば、セキュリティ許可等の資格証明書)をユーザの電子メールアドレスまたは他の識別と組み合わせることにより、暗号サービスを向上させることもできる。理解しやすいように、ユーザの識別を、ここでは数字Qとして表すことにする。適した数学的機能を用いることにより、ユーザの電子メールアドレスまたは他の情報と連結したユーザの電子メールアドレス等のストリング表示のユーザの識別から、秘密鍵生成アルゴリズムの入力として適するようにQの値を求めることもできる。
【0037】
秘密鍵を受信者が要求する場合(逆に、例えば、自動的に配信する場合)は、このような要求を図2の工程22で秘密鍵生成器16が受信することもできる。受信者の識別Q(またはQのプレカーサの等価物)および受信者の認証に用いられる認証情報を、工程22で受信することもできる。
【0038】
工程24では、秘密鍵生成器が受信者の秘密鍵を生成することもできる。例えば、適切な数学的機能を用いてsQの値を計算することにより、受信者の秘密鍵を受信者の識別Qおよびマスタシークレットsから生成することもできる。秘密鍵を受信者に発行する前に、受信者の識別を受信者からの認証情報により確認することもできる。
【0039】
任意の適した手動または自動認証技術を用いることもできる。例えば、受信者に受信者の公式レターヘッドにある秘密鍵生成器16にレターをファクスしたり郵送したりするよう依頼して、スタッフまたは秘密鍵生成器の自動装置により信憑性を調べることもできる。別の例として、生物測定識別技術(例えば、指紋分析/網膜スキャン、掌紋または声紋分析/顔面認識方法、または直接識別検査)を用いることもできる。認証処理に受信者と秘密鍵生成器との間の電子通信を必要とする場合には、受信者と秘密鍵生成器との間の通信経路を保護する必要がある。通信経路を信頼できない関係者が用いることができなければ、この経路は安全であると考えることもできる。例えば、秘密鍵生成器16と受信者との間のネットワークを、秘密鍵生成器または別の信頼できる管轄機関が制御する専用回線とすることもできる。別の例としては、安全なチャネルを、安全なウェブブラウザリンク(例えば、安全なソケット層プロトコル)を用いてサポートすることもできる。
【0040】
秘密鍵生成器16がどのように受信者の識別を認証して、工程24で受信者の秘密鍵を生成するかに関わらず、工程26で秘密鍵を受信者に提供することができる。例えば、秘密鍵を電子メールまたは他の適したメッセージに入れて受信者に送信したり、インターネットを介して入手できるようにしたりできる(単独ダウンロード可能なアプリケーションの一部または単独鍵としてダウンロード可能なプラグインモジュール等)。安全な通信チャネルを、密鍵生成器16と受信者の機器12との間の電子通信に用いることもできる。所望の場合には、受信者が始めに機器を用いる際に受信者が秘密鍵を利用できるように、秘密鍵を受信者の機器にあらかじめ組み込むこともできる。また、秘密鍵を郵便または宅配業者により配信することもできる(例えば、コンピュータディスクまたはメモリチップ等のコンピュータ読み取り可能媒体で)。これらは、受信者の秘密鍵を受信者に提供する技術を単に説明のためだけのものである。所望の場合には、任意の適した技術を用いることもできる。バッチ処理を用いて、受信者のリストを一括で処理することもできる。
【0041】
工程26で秘密鍵生成器が秘密鍵を受信者に提供した後、制御ループは工程22に戻るので、秘密鍵生成器16は他の受信者から秘密鍵の要求をさらに受信することになる(または自動バッチ処理機能の次の工程を実行する等)。
【0042】
送信者の機器をセットアップして用いて、暗号化されたメッセージを受信者に送信する工程を、図3に示す。工程28では、送信者の機器12をセットアップする(例えば、適切な独立型またはプラグインソフトウェアをネットワーク12を介して機器12にダウンロードしたり、以前にインストールしたソフトウェア起動したり実行したりする)。
【0043】
工程30では、送信者に受信者の識別情報を提供する。例えば、送信者は、受信者の電子メールアドレスを得ることもできる(例えば、電子メッセージ内や、ウェブサイトまたはディレクトリの閲覧、電話や印刷した書類から)。所望の場合には、送信者の機器が適切な数学的機能を用いて、受信者の電子メールアドレス内のストリング情報を適切なQの値に変換することもできる。ここでは、電子メールアドレス(または、暗号機能をさらに構成する、タイムスタンプまたは他の情報と連結した電子メールアドレス)およびQの値をともに受信者の識別として参照する。
【0044】
工程32では、送信者に公開パラメータPおよびsPを提供することもできる。例えば、PおよびsPの値を、送信者に配信したり、送信者の機器にあらかじめ組み込まれている、電子メールアプリケーションまたは電子メールプラグインあるいは他のソフトウェアに備えたりすることもできる。また、PおよびsPの値を、通信ネットワーク14を介して秘密鍵生成器16からダウンロードすることもできる(例えば、ウェブインターフェースを用いる)。所望の場合には、電子メールまたは他の適したメッセージフォーマットを用いて、PおよびsPの値を、秘密鍵生成器16から配信することもできる。あるイベントが発生した場合や、送信者が要求したりした場合には(すなわち、要求があり次第)、PおよびsPの値を、スケジュールに基づいて送信者に提供することもできる。送信者に、PおよびsPをいっしょに、あるいは別々に提供することもできる。例えば、Pを送信者のソフトウェアに埋め込んで、sPを送信者が最初に機器12をセットアップする場合にダウンロードすることもできる。これらは、識別ベースの暗号化システムの公開パラメータ情報を送信者に提供する技術を単に説明のためだけのものである。所望の場合には、この情報を送信者に提供する任意の適した技術を用いることもできる。
【0045】
工程34では、送信者の機器12を送信者が用いてメッセージを作成したり生成したりして、そのメッセージを暗号化して、ネットワーク14を介して受信者に送信することもできる。例えば機器12を用いて、識別ベースの暗号化アルゴリズムを組み込んだ(またはプラグインを用いて拡張した)電子メールプログラムまたは他の適したソフトウェアを実行することもできる。別の例として、識別ベースの暗号化機能を、ユーザ機器のオペレーティングシステムを用いて提供することもできる。また、送信するメッセージを、暗号化された単独暗号化アルゴリズムを用いて暗号化することもできる。所望の場合には、他の適した構成を用いることもできる。
【0046】
メッセージを暗号化するのに用いられる技術に関わりなく、好ましくは、識別ベースの手法を用いてメッセージを暗号化する。P、sPおよびQの値を、送信者の機器で動作している識別ベースの暗号化アルゴリズムの入力として用いる。
【0047】
また、アルゴリズムは、乱数生成機能を用いて乱数rを生成することもできる。この乱数は、識別ベースの暗号化プログラムの一部、またはそのプログラムの入力として考えることができる。乱数を、数学的に受信者の識別Qと合成して、得られるrQの値を暗号化エンジンの入力の1つとして用いることもできる。また、同じ乱数を数学的に公開パラメータPと合成して、rPを計算することもできる。rQの値(送信者の識別)およびrPの値(公開パラメータの1つのランダム化版)を送信者の識別ベースの暗号化エンジンが用いて、受信者に送信するメッセージを暗号化することもできる。rPの値を、暗号化されたメッセージの一部として、または別々に送信者が受信者に送信することもできる。受信者では、rPの値およびrQの値を受信者の識別ベース復号化エンジンが用いて、暗号化されたメッセージを復号化することもできる。
【0048】
暗号化されたメッセージを、工程36で受信者に送信する。例えば、暗号化されたメッセージを、送信者の電子メールアプリケーションを用いて送信者が送信することもできる。rPの値を、電子メールメッセージに含めたり、受信者に別々に送信したりすることもできる。通信ネットワーク14を介してメッセージを送信して、受信者のユーザ機器12で受信することもできる(例えば、受信者の電子メールアプリケーションを用いる)。
【0049】
受信者の機器をセットアップして用いて、送信者のメッセージを受信して復号化する説明のための工程を、図4に示す。工程38では、受信者の機器12で動作している受信者の電子メールアプリケーションまたは他のソフトウェアを用いて、送信者からの暗号化されたメッセージを受信する。
【0050】
受信者の機器をセットアップして、任意の適した時に識別ベース復号化動作を実行することもできる。例えば、識別ベース復号化エンジンソフトウェアを受信者の機器にあらかじめ組み込んで、受信者が機器を得た時に受信者に配信することもできる。また、受信者は、適切な独立型またはプラグインソフトウェアをダウンロードしてインストールすることもできる。受信者の機器がまだ復号化動作用にセットアップされていない場合には、工程40で機器をセットアップすることもできる。例えば、適切なソフトウェアをコンピュータディスクまたはメモリチップ等のコンピュータ読み取り可能媒体からインストールしたり、インターネットを介してサーバからダウンロードしたりすることもできる。また、以前にインストールしたソフトウェアを起動することもできる。
【0051】
工程42では、受信者に、秘密鍵sQを提供することもできる(前の動作の間に受信者に秘密鍵を提供していない場合)。例えば、工程42で秘密鍵を受信者の機器にダウンロードしたり、秘密鍵生成器16から送信したりすることもできる。秘密鍵を、ネットワーク14を介して安全な通信チャネルで送信することもできる。
【0052】
任意の適した技術を用いることにより、秘密鍵生成器と受信者との間の通信経路が確実に安全であるようにする。例えば、秘密鍵生成器および受信者は、安全なソケット層プロトコルを用いることにより、通信が確実に安全であるようにすることもできる。また、受信者は、物理的に鍵を得ることもできる(例えば、コンピュータディスクを宅配業者または郵送で受け取る)。受信者は、秘密鍵を受信者に提供するように要求して、安全な電子メール通信を用いて(例えば、公開鍵暗号化技術を用いて)秘密鍵生成器から秘密鍵を受信することもできる。
【0053】
好ましくは、秘密鍵生成器16は、工程42で受信者の秘密鍵を発行する前に受信者の識別を確認する。任意の適した認証技術を用いることもできる。例えば、受信者は、信頼できる通信経路(例えば、専用のまたは信頼できる回線)を介して、秘密鍵生成器と通信することもできる。受信者は、レターヘッドまたは生物測定情報を秘密鍵生成器に提供することもできる。この情報を、電子的に(例えば、安全な経路を介して)、または直接提供することもできる。一旦秘密鍵生成器16が受信者の識別を確認すると、工程42で秘密鍵生成器16は秘密鍵sQを受信者に提供することもできる。
【0054】
受信者が秘密鍵生成器から秘密鍵sQを受信して、送信者から暗号化されたメッセージおよびランダム化公開パラメータrPを受信した後、工程44で受信者は送信者からのメッセージを復号化する。受信者の機器で動作している復号化エンジンは、メッセージを復号化する際に秘密鍵sQおよびパラメータrPの値を用いることもできる。
【0055】
図1〜4に関して説明したアプローチ等の識別ベース暗号手法では、送信者は、メッセージを暗号化して送信するのに先立って、暗号公開パラメータ(PおよびsP)と受信者の識別(Q)とを得ることができる。この情報は、送信者が持つこともできる(例えば、送信者の機器12が持ち運び可能の場合は送信者の機器12で)。個別の受信者の公開鍵それぞれに対してアクセスする必要はないのは、事実上、各受信者の電子メールアドレス(または他の識別Q)をその受信者の公開暗号化情報として用いるからであり、公開パラメータ情報PおよびsPは、大多数の可能な受信者で共通のものであるからである。受信者が暗号化されたメッセージを復号化したい場合には、受信者は、秘密鍵生成器から秘密鍵sQにアクセスする必要があるが、必要ならば、暗号化されたメッセージを受信した後で、受信者が情報を得ることができる。その結果、識別ベースの暗号化手法により、秘密鍵生成器16が生成した暗号化情報を適時に得るという負担を送信者から受信者へ移動する。これにより、受信者へのメッセージを送信者が作成して暗号化する際に、送信者はオフラインにすることができる(例えば、インターネットアクセスができない飛行機で移動中など)。送信者の機器が盗難に遭った場合でも、暗号化されたメッセージは安全である。このようなケースが、公開鍵暗号化手法を用いれば大抵の場合不可能であるのは、送信者がインターネットアクセスして受信者の公開鍵を参照できるまでは、作成したメッセージは暗号化されないままであるからである。
【0056】
公開鍵暗号化システムでは、公開鍵を長寿命にして、公開鍵参照手順の間に必要な手間を減らしたいという一般的な要望がある。長寿命の公開鍵に対するこの要望を、公開鍵を素早く失効させるという頻繁にある要望により調整する。(例えば、組織にもはや従事していない従業員が、彼らの公開鍵を失効させることにより、素早く確実に彼らの特権を無効にすること)。
【0057】
識別ベースの暗号化手法では、公開パラメータPおよびsPをかなり長寿命にすることができる。例えば、これらのパラメータを、公開鍵システム内で一日に一回ではなく一年に一回失効させることもできる。受信者の秘密鍵を頻繁に更新しなければならないようにすることにより(例えば、一日に一回)、ユーザの特権についてやはり素早く無効にすることもできる。これを、タイムスタンプ(例えば、現在の日付)を受信者の電子メールアドレスと連結して、複合識別Qを生成することにより、達成することもできる。この種のアプローチでは受信者の識別Qが毎日変更するので、受信者の秘密鍵も毎日変更する。受信者のメッセージを暗号化復号化する能力は従って、秘密鍵生成器の新規の秘密鍵を提供する積極性に依存する。任意の受信者の特権を、秘密鍵をさらに生成しないようにすることにより、任意の時点で無効にすることもできる。所望の場合には、システム10で用いる識別ベース手法が、セキュリティ許可レベル等の特徴をさらに有することもできる。
【0058】
識別ベースの暗号化手法を、計算的に集約することもできる。例えば、識別ベースの暗号化手法はおよそ1000バイト/秒の速度でデータを暗号化することもできるが、DES3等の対称暗号化アルゴリズムでは約100Mバイト/秒の速度でデータを暗号化することができる。従って、識別ベースの暗号化手法を用いることにより、送信者および受信者が安全に対称鍵を交換できるようにすることが望ましい。対称暗号アルゴリズム(例えば、DES、データ暗号化標準規格)を用いることにより、一旦対称鍵を交換したならば、送信者と受信者との間で所望の内容を送信することもできる。対称鍵暗号化および復号化処理を、システムの識別ベース暗号の機能としてソフトウェアまたはプラットフォームに組み込んだり、別のアプリケーションまたはオペレーティングシステム機能として備えたりすることもできる。これらは、単に、システム10内で送信者と受信者との間でメッセージの内容(例えば、コマンド、データ、テキストメッセージ等)を安全に交換する方法を説明のためだけのものである。
【0059】
システム10は、複数の秘密鍵生成器16を有することもでき、それぞれ自器のマスタシークレットを有している。図5に示すように、ユーザA1、A2、・・・ANは秘密鍵生成器Aに対応付けられていて(マスタシークレットsを有する)、ユーザB1、B2、・・・BNは秘密鍵生成器B(マスタシークレットsを有する)に対応付けられている。この種の構成では、組織は秘密鍵生成器を共有する必要はない。異なる鍵生成器を、異なる群のユーザにそれぞれ用いることもできる。各種の鍵生成器に対応付けられたユーザ群を、組織的なラインに沿ったり、任意の他の適したグループ分けにしたがって分けたりすることもできる(重複することもできる)。例えば、ある秘密鍵生成器に対応付けられたユーザ群には、行政の特定の部門内の全ユーザまたは多数のユーザを含むことができ、別の秘密鍵生成器に対応付けられたユーザ群には、特定の企業で働く全ユーザを含むこともでき、および別の秘密鍵生成器に対応付けられたユーザには、基本的に特定の国の全ユーザを含むこともできる。特定のサービスの利用者という理由で、ユーザを別の秘密鍵生成器に対応付けることもできるし、電子メールアドレス等のドメイン名(文字ストリング)が共通であるという理由で、他のユーザを秘密鍵生成器に対応付けることもできる。これらは、ユーザ群を特定の秘密鍵生成器に対応付けるやり方を単に説明のためだけのものである。所望の場合には、任意の適したグループ分け構成を用いることもできる。
【0060】
システム10内の複数の秘密鍵生成器16を用いることにより、第三者または他のユーザ群を信頼することなく、異なる組織またはユーザ群がそれぞれのマスタシークレットを保護することができる。このことは、非常に重大な機密であるので他に容易に(あるいは全く)委任することができないような状況の場合に重要である。単に一例として、ある国の軍隊組織が、国外の組織が維持する秘密鍵生成器を信頼しようと思わない場合がある。
【0061】
送信者として、暗号化されたメッセージを同じ秘密鍵生成器に対応付けられた受信者に送信したいと思う送信者は、送信者の機器12にインストールされた識別ベースの暗号化エンジンを用いて、送信者と受信者とに共通の秘密鍵生成器から利用できる受信者の識別Qおよび公開パラメータPおよびsPを用いることにより、受信者へのメッセージを暗号化できる。例えば、ユーザA1(このケースの送信者)が暗号化されたメッセージをユーザ(このケースの受信者)に送信したい場合、送信者A1は、送信者A1および受信者ANの両方に対応付けられた秘密鍵生成器から、受信者の公開パラメータを得ることもできる。これらの公開パラメータ(例えば、P、sを用いて)送信者A1が暗号化したメッセージを、これらの同じ公開パラメータ(例えば、P、sを用いて)と(マスタシークレットsを用いて秘密鍵生成器が生成した)ANの秘密鍵sANとを用いて受信者正常に復号化することもできる。(理解しやすいように、乱数rの使用についてこの説明では述べない。)
しかしながら、送信者(例えば、送信者A1)が秘密鍵生成器Aに対応付けられ、受信者(例えば、受信者B2)が秘密鍵生成器B(マスタシークレットSを有する)に対応付けられている場合、送信者A1は、秘密鍵生成器Bに対応付けられた公開パラメータ(P,s)を用いて受信者B2宛のメッセージを暗号化する必要がある。A1がまちがった公開パラメータ(例えば、A1が秘密鍵生成器Aに対応付けられた公開パラメータP、sを用いる場合)、受信者B2は、正しくメッセージを復号化することができない。これは、受信者B2の秘密鍵sB2を、秘密鍵生成器Aに対応付けられたマスタシークレットSではなく、秘密鍵生成器Bに対応付けられたマスタシークレットsで生成したからである。
【0062】
これにより、全秘密鍵生成器16の公開パラメータを好ましく公開する。これは、ディレクトリサービス46を用いて、各種の組織またはユーザ群の公開パラメータを全ユーザが公に利用できるようにすることにより、システム10で達成することもできる。例えば、ディレクトリサービス46を、通信ネットワーク14に接続してホストディレクトリに接続したディレクトリサーバを用いることにより実施することもできる。所望の場合には、インターネットドメインネームシステム(DNS)のコンピュータを、公開パラメータおよび他のディレクトリ情報のホストとして用いることもできる。ドメインネームシステムは、抽象的なドメイン名(例えば、”cs.stanford.edu”)と数字のIPアドレス(例えば”171.64.64.64”)との間での解釈あるいはマッピングに主に用いられる分散インターネットディレクトリサービスである。ドメインネームシステムまたはサービスのコンピュータ(サーバ)を用いてディレクトリサービスを実行する場合(例えば、公開パラメータのディレクトリ情報をユーザに提供する)、DNSエントリには、数字のIPアドレス情報のほかに、各ドメイン名エントリの適切な公開パラメータを含むこともできる。
【0063】
1つ以上のディレクトリサービスやサーバが存在することもある。各ディレクトリサービス46は同じ公開パラメータ情報を含むので、任意のユーザは異なる位置の、あるいは異なるサービス(あるいは少なくとも多くはない)を有するディレクトリ情報を参照する必要がある。ディレクトリサービスの位置(例えば、それらのURLの位置)を、各ユーザの識別ベースの暗号化ソフトウェアの一部としてユーザに提供したり、ユーザに別々に提供したり、これらの技術または任意の他の適した技術を組み合わせて用いることによりユーザに提供したりすることもできる。識別ベースの暗号化ソフトウェアを、機器12の一部としてユーザに配信したり、単独アプリケーションまたはプラグインとしてダウンロードしたりすることもできる。一旦公開パラメータ情報を得たならば、この情報を更新する時まで(例えば、各ユーザが新規に登録した秘密鍵生成器にたどり着く場合)、ローカルでキャッシュすることもできる(例えば、ユーザの機器12のメモリ)。
【0064】
説明のためのある構成では、ディレクトリサービスを信頼できる組織または組織に提供することもできる。この種の構成では、ディレクトリサービスを信頼しているので、ディレクトリ情報にアクセスしている各ユーザは、ディレクトリサービスにより安全な通信チャネルをセットアップすることもできる(例えば、安全なソケット層プロトコル等を用いたように、安全な鍵交換構成を用いる)。一旦安全な通信チャネルをユーザと信頼できるディレクトリサービスとの間で確立したならば、ユーザは、ディレクトリサービスに、公開パラメータ情報を所望する組織または群を識別する情報を提供することもできる。ディレクトリサービスは、この識別情報を用いてどの公開パラメータ情報をユーザに提供するか判定することもできる。次に、適切な公開パラメータ情報を、安全な通信チャネルを介してユーザに提供することもできる。
【0065】
このアプローチでは、受信者の組織の識別情報(受信者の電子メールアドレスに基づくこともできる)を入力として用いることにより、実際にディレクトリサービスが表参照動作を実行する。参照動作で得られる出力は、組織の秘密鍵生成器の公開パラメータである。公開パラメータをユーザ群に対応づけるディレクトリを、任意の適した構成を用いて実行することもできる。例えばドメイン名のデータベースまたは表(あるいは一部がドメイン名または電子メールアドレス)と対応付けられた公開パラメータとを用いることにより、ディレクトリを実行することもできる。単に一例であるが、電子メールアドレス*@*.stanford.edu(*は任意の可能な文字ストリング)を有する全ユーザが同じ組織の一部であって、その組織が秘密鍵生成器Tに対応付けられている場合、ディレクトリ表には、可能な識別”*@*.stanford.edu”のサブセットをその秘密鍵生成器に対応付けられた対応付する公開パラメータP、sにマッピングするエントリを含むこともできる。任意の適したデータベースまたはデータ構造の構成を、ディレクトリサービスまたはサービス46が用いることにより、ディレクトリ情報を維持することもできる。
【0066】
ディレクトリサービス46のディレクトリ情報を、秘密鍵生成器16が提供することもできる。クリアリングハウス48を秘密鍵生成器16とディレクトリサービス46との間の仲介者として用いて、複製を防止することもできる(例えば、テーブルエントリのコンフリクト)。
【0067】
ディレクトリサービスが信頼できるものでない場合は(例えば、比較的未知の第三者であるという理由から)、認証機関50を用いて秘密鍵生成器16からディレクトリエントリに署名することもできる。標準暗号署名技術を用いて、認証機関がディレクトリエントリに署名することもできる。このアプローチでは、ディレクトリサービス46またはクリアリングハウスサービス48ではなく、認証機関が秘密鍵生成器16を証明するようになっている。各エントリに有効期限を付加することにより(例えば、年の数字で)、エントリを自動的に失効させることもできる。これにより、ディレクトリサービスの秘密鍵生成器の情報を最新のものにしておくことができる。
【0068】
任意の適した技術を認証機関50が用いることにより、秘密鍵生成器16を証明することもできる(例えば、所定の機密または証明書等に基づく技術)。一旦認証機関50が任意の秘密鍵生成器16の識別を確認すると、認証機関は(署名した)証明書を生成することもできる。これは、任意の秘密鍵生成器および対応する公開パラメータに対応付けられたユーザの電子メール/ドメイン名情報を含む。多数の署名したディレクトリエントリ63を含む説明のための表62を、図7に示す。
【0069】
システム10に複数のディレクトリサービス46が存在する場合は、署名したディレクトリエントリ(証明書)をクリアリングハウスサービス48が処理して、ディレクトリサービス46が維持する、得られるディレクトリ表にエントリを複製しないようにすることもできる。
【0070】
秘密鍵生成器Aに対応付けられた送信者がメッセージを秘密鍵生成器Bに対応付けられた受信者に送信しようとする場合、送信者は、ディレクトリサービス46の1つから受信者の組織の適切な公開パラメータ(従って、受信者のパラメータ)を得ることもできる(送信者のローカルネットワーク上の送信者または機器がパラメータをまだ得ておらず、ローカルでキャッシュしていない場合)。ディレクトリサービスが信頼できる場合は、送信者は、ネットワーク14を介してディレクトリサービスとの安全な通信チャネルをセットアップして、公開パラメータを得ることもできる。ディレクトリサービスが一意に信頼できるものでない場合は、送信者は、ネットワーク14を介してディレクトリサービス46から署名した証明書を得ることもできる。認証機関は、認証機関の秘密鍵を用いて証明書に署名する。次に送信者は、認証機関の公開鍵を用いて証明書の署名を確認することもできる。認証機関の公開鍵を、ユーザのソフトウェアに組み込んだり、ユーザのソフトウェアがオンラインでアクセスしたり、あるいはシステムのユーザに提供したりすることもできる。所望の場合には、証明組織の複数の層が、階層的に証明できるように、証明書をまとめることもできる。これらの2つのアプローチのいずれか(安全なまたは信頼できるチャネルを介して信頼できるディレクトリサービスから公開パラメータを得たり、認証機関が署名した証明書の形式で信頼できないディレクトリサービスから公開パラメータを得たりすること)または任意の他の適したアプローチを用いることにより、送信者が受信する公開パラメータが実際に、確実に意図する組織/受信者に対応付けられたものであるようにすることもできる。
【0071】
1つ以上のディレクトリサービスを有する識別ベース暗号システムに用いる説明のための工程を、図6に示す。工程51では、各ユーザ群の秘密鍵生成器が、そのマスタシークレットsと、対応する公開パラメータPおよびsPとを生成する。ディレクトリサービス46が信頼できる場合は、公開パラメータおよび情報公開パラメータが対応するユーザに関する情報を、認証機関を用いることなくディレクトリサーバに提供する。ディレクトリサービス46が信頼できない場合には、この情報をディレクトリエントリに署名する認証機関50を介してディレクトリサービスに提供する(工程52および54)。
【0072】
1つ以上のディレクトリサービス46を用いることもできる。複数のディレクトリサービスが存在するシステム構成では、あるディレクトリサービスが維持するディレクトリが、別のディレクトリサービスが維持するディレクトリと一致しない可能性がある。例えば、あるディレクトリがユーザに、電子メールアドレス*@company.comが会社1に対応付けられていると通知し、別のディレクトリがユーザに、電子メールアドレス*@company.comは会社2に対応付けられていると通知することもある。これらの種類のコンフリクトを、任意の適した手法を用いることにより、工程56で解決および/または回避したりすることができる。
【0073】
例えば、ディレクトリサービス46が定期的に互いにネゴシエーションを行ってコンフリクトを解決したり、共通のハウスキーピングプログラムを用いてコンフリクトを解決したりすることもできる。適したある構成では、システム10は、全(または大抵の)ディレクトリ情報がディレクトリサービス46への経路を必ず通過しなければならないクリアリングサービス48を有している。この構成を用いる場合、各秘密鍵生成器は、そのディレクトリ情報を直接クリアリングハウスサービス48に通過させたり(認証機関を全く用いない場合)、適切な認証機関50を介してそのディレクトリ情報をクリアリングハウスサービス48に通過させたりすることもできる。クリアリングハウスサービス48(これは、信頼できるサービスプロバイダが操作したり、ディレクトリサービス、認証機関、または秘密鍵生成器に位置したりするもの)により、ディレクトリサービスがディレクトリ情報を公に利用できるようにする前に、ディレクトリ情報にエラーが確実にないようにすることもできる。例えば、クリアリングハウスサービスが各ディレクトリサービスのデータベースに照会することにより、ディレクトリ情報を受け付ける前に、新規のディレクトリ情報とコンフリクトするかもしれない現在存在するデータベースエントリが確実に存在しないようにすることもできる。
【0074】
システムが稼働している間に、ディレクトリエントリを置換したり、結合したり、分割したり、削除したり、あるいは変更したりすることは望ましいことである。例えば、秘密鍵生成器のマスタシークレットが損なわれている場合、新規のマスタシークレットおよび対応するセットの公開パラメータを生成して、クリアリングハウスサービスに提供することもできる(工程51、52、および54)。この新規の公開パラメータ情報を、工程56でクリアリングハウスが正しいディレクトリエントリに対応付けることもできる。別の例として、組織変更によりドメイン名をさらに複数のサブドメインに分割すると、それぞれ対応する一意のセットの公開パラメータを有する自分のエントリを持つことになる。また、ドメイン名の変更により、エントリを追加して、さらにユーザを既存のセットの公開パラメータにマッピングするようになる。組織または秘密鍵生成器が動作を終了する場合は、ディレクトリエントリを削除することができる。このようなディレクトリメンテナンス動作を、クリアリングハウスサービス48が処理することもできる(例えば、工程56の間)。
【0075】
起こりうるコンフリクトを解決して、メンテナンス動作を工程56で行った後、ディレクトリ情報をディレクトリサービス46に提供して、工程58でユーザに公開することもできる。(システムが稼働している間は、図6のこの工程および他の工程を定期的に繰り返すこともできる。)ディレクトリエントリに認証機関が署名した場合は、ディレクトリエントリを証明書の形式で提供することもできる。認証機関を全く用いない場合は、好ましくは、安全な通信チャネルまたは他の安全な機構を用いて、ディレクトリ情報を信頼できるディレクトリサービスに転送する。
【0076】
工程60では、ディレクトリサービス46により、ディレクトリ情報をシステムのユーザが利用できるようにすることもできる。ユーザ/組織の識別情報のディレクトリ(例えば、電子メールアドレスのドメイン情報)と、対応付けられた公開パラメータのセットとをユーザが利用できるようにすることにより、任意の受信者または組織宛のメッセージを暗号化する際に、送信者はディレクトリサービスを用いて適切なセットの公開パラメータを参照したり、あるいは判定したりして用いることもできる。任意の受信者または受信者の組織の識別を、参照動作を行う際に用いることができる。例えば、送信者がコンタクトするディレクトリサービスにより、適した一致を発見するまで、任意の受信者の電子メールアドレスまたは受信者の組織のドメイン名をディレクトリ内の電子メールアドレスドメインと比較することができる(例えば、図7に示すように)。次に、その受信者の組織の秘密鍵生成器の対応付けられた公開パラメータを送信者に提供することもできる。
【0077】
図5の識別ベース暗号システム10を用いて暗号化されたメッセージを送信者から受信者へ送信する説明のための工程を示すフローチャートを、図8に示す。工程64では、送信者は適切な公開パラメータを得て、任意の受信者宛のメッセージの識別ベースの暗号化を行う。任意の受信者が用いる適切な公開パラメータの情報を、インターネット等の通信ネットワークを介してアクセスできるローカルデータベースまたはリモートデータベースに維持することもできる。また、適切な公開パラメータの情報を、電子メール転送を用いて、ディスクの形式でユーザに送信することもできる。インターネット上のディレクトリは、送信者が確実なインターネットアクセスを有する場合に適している。
【0078】
工程64の間、送信者の機器12は、例えば、受信者が送信者として同じ秘密鍵生成器に対応付けられているかどうか確認することもできる。送信者および受信者が秘密鍵生成器を共有している場合(例えば、送信者および受信者が同じ会社で働いていたり、あるいは同じユーザ群に共通して対応付けられていたりすることから)、送信者および受信者の共通の公開パラメータ(そして受信者の識別を用いる)を用いることにより、送信者は受信者宛のメッセージを暗号化することもできる。これらの公開パラメータ(そして受信者の秘密鍵)を用いることにより、受信者は、送信者からのメッセージを復号化することもできる。送信者および受信者が同じ秘密鍵生成器に対応付けられているかどうかについての情報を、ローカルで維持したり(例えば、送信者がアクセス可能なローカルエリアネットワーク上)、ディレクトリサービス46が維持したりすることもできる。
【0079】
受信者が送信者と同じ秘密鍵生成器に対応付けられていない場合は、送信者は、適したディレクトリサービス46から受信者の適切な公開パラメータを得ることもできる(例えば、送信者と同じ国に位置したり、送信者と同じネットワーク内にあったり、所望の場合には、もっと離れた位置のディレクトリサービスから)。ディレクトリサービスの機器を用いて、任意の受信者の識別情報または受信者の組織のドメイン名情報を、ディレクトリ内の情報と比較することもできる。これにより、受信者の識別または所望の受信者の組織の識別を用いて適切に公開された公開パラメータを参照して、その特定の受信者に用いることができる。システムが複数の秘密鍵生成器を有しているとしても、送信者は、正しい公開パラメータを用いて受信者宛のメッセージを暗号化することができる。公開パラメータ情報を送信者が保存することもできる(例えば、送信者の機器にローカルで)ので、送信者が暗号化されたメッセージを同じ組織またはユーザ群内の受信者に送信したい場合に、送信者はこの情報を次回に再利用することもできる。
【0080】
受信者の公開パラメータを得た後で(例えば、この情報を、通信ネットワーク14を介してダウンロードしたり、ローカル記憶装置から検索したりすることにより)、送信者は、識別ベースの暗号化手法を用いて工程66で受信者宛のメッセージを暗号化することもできる。受信者は、工程68で送信者からのメッセージを復号化することもできる。図1〜4で説明したように、任意の適した識別ベースの暗号化手法を用いることもできる。
【0081】
所望の場合には、公開パラメータをシステム内のユーザ10間で配信することもできる。例えば、送信者が受信者に電子メールでコンタクトして、受信者の公開パラメータを要求する場合に、この種のピアツーピア構成を用いることができる。秘密鍵生成器16は、ユーザの公開パラメータを生成して、信頼できるチャネルまたは任意の他の適した配信チャネルを介してユーザに配信することができる。一旦受信者が自分の公開パラメータ情報を得たならば、受信者はこの情報を送信者に提供することができる。例えば、テキストメッセージ(例えば、電子メールメッセージ)またはコンピュータ生成メッセージ(例えば、送信者が用意した送信者の機器で受信者に自動的に送信して、受信者へのメッセージを暗号化して送信する要求)を用いて送信者が受信者から公開パラメータを要求する場合に、受信者は、送信者に受信者の組織の公開パラメータを提供することもできる。手動で生成したり自動的に生成したりしたメッセージに対する受信者の応答を、手動または自動的に行うこともできる。自動動作を、例えば、ユーザ機器にインストールしたソフトウェアでサポートすることもできる。適したある構成では、送信者がメインメッセージを用意して送信する際に自動的に生成されるセットアップメッセージを、受信者が手動操作を行うことなく(または最小限の操作で)、受信者の機器が自動的に受信して応答する。この自動応答メッセージは、受信者に対応付けられた秘密鍵生成器の公開パラメータを含んでいる。送信者の機器は、メインメッセージを暗号化する際に、自動的に受信者からの公開パラメータ情報を用いる。また、受信者および組織は、自分たちの公開パラメータを、従業員または企業のウェブサイトや、このような機器が本格的なディレクトリサービスでなくても、通信ネットワーク14に接続した任意の他の適した公に利用できるサーバまたは機器に公開することができる。受信者のウェブサイトまたは組織のウェブサイトを信頼できる場合には、送信者は、これらの公開パラメータを用いることもできる。信頼できる通信経路を用いて、この種のソースから公開パラメータを得ることもできる。所望の場合には、電子メールメッセージまたは他のピアツーピア通信またはインターネットを介してこれらの公開パラメータを送信者に提供する前に、受信者または組織は、認証機関のサービスを用いて受信者の識別または組織の識別を確認して、受信者の公開パラメータおよび組織の公開パラメータを含む証明書を生成することもできる。
【0082】
所望の場合には、公開パラメータのリスト(例えば、ディレクトリの一部または全ディレクトリ)を、スケジュールに従って、ユーザに配信することもできる。例えば、電子メールメーリングリストまたは他の適した配信手法を用いることにより、ディレクトリサービスにより、公開パラメータのディレクトリを特定のユーザに配信することもできる。例えば、ネットワークの使用が比較的低いオフピーク時に、ディレクトリ情報を配信することもできる。所望の場合には、更新の形式でディレクトリ情報を配信することもできる。例えば、ディレクトリの写しがすでに提供されているユーザは、更新したエントリを得ることもできる(例えば、ユーザからの要求によって、または所定のスケジュールに従って)。
【0083】
秘密鍵生成器のあるもの、あるいはすべてが、時間に敏感な秘密鍵を生成することもできる。例えば、所定の時間が経過すると自動的に失効する時間に敏感な鍵を生成する(例えば、1日または1週間)。この種のアプローチでは、自分の入力メッセージを復号化する権限がすでにないユーザが、現在の(更新した)時間に敏感な秘密鍵を受信させないようにすることができる。ユーザの古い秘密鍵が失効した後は、さらにメッセージを復号化することはできない。識別ベースの暗号化環境においてこのようにユーザ特権を”失効させる”利点は、大規模な新規の公開鍵を頻繁に更新して送信者に送信する必要がない点である(公開鍵暗号化システムでこのようにユーザに容易に公開鍵情報を利用できるようにしたい人物の要求がない限りは)。
【0084】
自分の秘密鍵が自動的に失効したユーザは、定期的に秘密鍵を更新してメッセージを復号化する必要がある。ある説明のためのケースでは、ユーザを、秘密鍵が週ごとに自動的に失効する組織の秘密鍵生成器に対応付けることもできる。週に一度、そのユーザは秘密鍵生成器から更新したバージョンのユーザの秘密鍵を自動的にまたは手動で得ることもできる。また、ユーザの秘密鍵生成器を、ディレクトリ情報のホストとして用いて他のユーザの公開パラメータを得ることもできる(例えば、前の週に登録したり、生き残ったりした全ユーザ群の公開パラメータ)。ディレクトリ情報を、図7に図示して説明したフォーマット等の、適したフォーマットを用いて維持することもできる。
【0085】
他の秘密鍵生成器、ディレクトリサービス、クリアリングハウス、または任意の他の適したサービスから、ユーザの秘密鍵生成器がホストとなっている公開パラメータ情報を、秘密鍵生成器に提供することもできる。ユーザは一般に、週1回、ユーザの秘密鍵生成器に接続していずれにしてもユーザの更新した秘密鍵を得る必要があるので(この説明のためのケースでは)、ユーザの現在の秘密鍵を得るのと同時に(または同じトランザクションの間に)、ユーザに他の秘密鍵生成器の公開パラメータに関する情報を提供することは利点がある。ユーザのローカル機器12またはユーザのローカル秘密鍵生成器16の機器(またはユーザのローカルネットワークのどこか等)を、どの公開パラメータを用いて適切に任意の受信者へのメッセージを暗号化するか判定するのに用いることもできる。ローカル秘密鍵生成器は、例えば、送信者が要求すれば、任意の受信者または受信者の組織の識別に基づいて参照動作を実行することもできる。あるいは、送信者の機器がどの公開パラメータを用いればよいか判定できるように、ディレクトリの内容を送信者に提供することもできる(例えば、写しを送信者のローカル機器に送信したり、ローカルネットワークまたは他の通信経路を介して送信者のローカル機器がこの情報にアクセスできるようにしたりすることによる)。
【0086】
秘密鍵生成器を用いて、公開パラメータ情報を配信して維持する説明のための工程を、図9,図10に示す。図9に示すように、システム内の秘密鍵生成器の公開パラメータ情報を、工程70で秘密鍵生成器から収集することもできる。公開パラメータ情報を、例えば、クリアリングハウスサービス48等の集中エンティティから収集することもできる。それらのイニシアチブまたはスケジュールに従って、クリアリングハウスサービス48は、この情報に関する各秘密鍵生成器を探査したり、または秘密鍵生成器は、この情報をクリアリングハウスに提供したりすることもできる。ディレクトリサービス46を、ディレクトリ情報を格納するために用いる必要はない。むしろ、クリアリングハウスサービス48が、収集した公開パラメータ情報を各秘密鍵生成器16に配信することもできる(工程72)。各秘密鍵生成器に、システム内の他の全(いくつかの、または基本的にすべての)秘密鍵生成器の公開パラメータに関する情報を提供することもできる。
【0087】
公開パラメータ情報を、図7の表といった表形式や、ユーザ群をそれぞれの秘密鍵生成器とマッピングするための他のフォーマットの形式で提供することもできる。一例として、図9の処理で収集して配信した公開パラメータ情報に、ドメインまたは電子メールのネームスペースの他の部分(例えば、可能な電子メールアドレスのすべてで構成する)を特定の秘密鍵生成器とマッピングする情報を添えることもできる。マッピングが一意である必要はない。例えば、あるユーザが複数のドメインに所属しているとする。このような重複するディレクトリ情報を用いるには、より具体的なマッピング情報、例えば、より長かったりより具体的なドメインを最初に用いて、その参照動作がうまくいかなかったら、もっと具体的でないマッピング情報、例えば、もっと短かったり具体的でないドメインを、フォールバックとして用いることもできる。
【0088】
工程70で、秘密鍵生成器からの公開パラメータ情報を各秘密鍵生成器から収集して、工程72で、この収集した公開パラメータ情報を各秘密鍵生成器に戻した後で、秘密鍵生成器は、この情報を自器に対応付けられたユーザが利用できるようにすることもできる。この処理に含まれる工程を、図10に示す。
【0089】
図10の工程74では、各秘密鍵生成器16が、クリアリングハウス48から公開パラメータおよび電子メールドメインマッピング情報を受信することもできる(例えば、図9の工程72の間に提供されたパラメータとして)。新規の秘密鍵生成器を追加したり削除したりする際に、この工程を、定期的に繰り返すこともできる。クリアリングハウス48は、この情報を、単独ファイルまたはリストまたは通信ネットワーク14を介する更新送信としての形式で提供することもできる。安全な通信経路を、クリアリングハウスと各秘密鍵生成器との間で用いることもできる。所望の場合には、認証機関50が公開パラメータ情報(そして、どのユーザおよび組織が各セットの公開パラメータに対応付けられているか特定する添付のドメイン情報)に署名することもできる。
【0090】
工程76では、秘密鍵生成器16は、ユーザからユーザ識別情報Qを受信することもできる(この情報をまだ秘密鍵生成器に提供していなかったり、秘密鍵生成器が得ていなかったりする場合)。定期的に、秘密鍵生成器16は、新規のタイムスタンプをユーザの識別に追加することもできる(例えば、現在の週の日付等のタイムスタンプをユーザの識別Qに連結することによる)。工程80で、識別ベース暗号化アルゴリズムと秘密鍵生成器のマスタシークレットとを用いてユーザの現在の秘密鍵を生成することにより、タイムスタンプと連結した識別を、秘密鍵生成器が処理することもできる。(この処理を、個別の工程またはバッチ処理の一部として繰り返して、秘密鍵生成器に対応付けられたあるユーザまたは全ユーザの秘密鍵を生成することもできる。)
ユーザの動作環境では時間に敏感な秘密鍵を用いているので(この例では)、ユーザは、秘密鍵生成器から更新した秘密鍵を定期的に得る必要がある。これにより、秘密鍵生成器に、ユーザおよび組織(ドメイン名または他の適した手法により)をシステム内の他の秘密鍵生成器の公開パラメータにマッピングするディレクトリ情報を配信する、適した機会を提供する。従って、工程82で秘密鍵生成器は、各秘密鍵生成器の公開パラメータ(または基本的にすべての秘密鍵生成器または少なくともいくつかの秘密鍵生成器、または受信者または組織の任意の受信者または群に用いる少なくとも適切な公開パラメータ)をユーザに提供することもできる。この情報を、ユーザおよびユーザの秘密鍵生成器が接続しているローカルエリアネットワークを介して、ユーザの秘密鍵生成器からユーザに提供することもできる。
【0091】
公開パラメータのディレクトリ情報を、ユーザの新規の秘密鍵を配信するのと同時に、同じトランザクションの一部として、若干異なる時間で、ユーザに配信することもできるし(例えば、関連しているが別々のメッセージまたはトランザクションで)、異なる時間に異なる通信で別々のトランザクションの一部として配信することもできる。このアプローチでは、公開パラメータのディレクトリ情報の配信は、各秘密鍵生成器から秘密鍵生成器へと互いに情報を押し合うことにより、対応付けられた秘密鍵生成器との相互作用を介して最終的にユーザへ配信する用に行われる。この例は、単に説明のためだけのものである。
【0092】
所望の場合には、秘密鍵生成器を用いてグローバル識別ベース暗号化能力を提供することもできる。例えば、グローバルマスタシークレットとグローバル公開パラメータとを有する特定の”グローバル”秘密鍵生成器16を用いることもできる。送信者(例えば、秘密鍵生成器Aに対応付けられた送信者A1)が、グローバル公開パラメータを用いて受信者宛のメッセージ(例えば、秘密鍵生成器Bに対応付けられた受信者B1)を暗号化することもできる。グローバル公開パラメータを用いて送信者と受信者との間に安全な通信を単にセットアップすることもできるし、全通信(例えば、異なる秘密鍵生成器に対応付けられたユーザ間の全通信)に用いることもできる。
【0093】
グローバル秘密鍵生成能力を有するシステムを用いる説明のための工程を、図11に示す。工程84では、グローバル秘密鍵生成器をセットアップする。例えば、グローバルマスタシークレットおよびグローバル公開パラメータを生成することもできる。秘密鍵生成器は、クリアリングハウスサービス48の一部とすることも、通信ネットワーク14に独立して接続させることもできる。
【0094】
工程86では、グローバル秘密鍵生成器のグローバル公開パラメータを、ユーザが利用できるようにすることもできる。例えば、グローバル公開パラメータを、ユーザソフトウェアに埋め込んだり(例えば、電子メールメッセージソフトウェア)、または単独アプリケーションまたはプラグインとしてダウンロードして利用できるようにしたりすることもできる。
【0095】
工程88では、送信者がグローバル公開パラメータを用いて受信者へのメッセージを暗号化して送信することもできる。送信者および受信者を同じ秘密鍵生成器に対応付けることもできるが、一般には異なる秘密鍵生成器に対応付けられている。送信者の位置でグローバル公開パラメータが存在しているので、受信者に対応付けられた秘密鍵生成器の公開パラメータを送信者がまだ利用できなくても(例えば、送信者が通信ネットワーク14に接続していなかったり、ディレクトリサービスにアクセスできなかったりという理由等)、送信者は受信者へのメッセージを暗号化して送信することもできる。所望の場合には、送信者は、送信者が受信者へ送信するメッセージに送信者の公開パラメータを含めることもできる。このメッセージは、送信者が受信者へ送信しようとする内容(例えば、テキストメッセージ)を含んでいてもいなくてもよい。
【0096】
工程90では、受信者は送信者からのメッセージを受信する。受信者は、受信者の公開パラメータ(まだ得ていない場合には)を受信者の秘密鍵生成器から得ることもできる。次に受信者は、受信者の公開パラメータを含むメッセージで送信者のメッセージに応答することもできる。送信者が送信者のメッセージに送信者の公開パラメータを含めている場合は、受信者はこれらの公開パラメータを用いて送信者への通信を暗号化することもできる。
【0097】
工程92では、送信者が受信者の公開パラメータを要求して受信した場合、送信者は、さらにメッセージを暗号化して送信する際に、受信者の公開パラメータを用いることもできる(例えば、さらに内容を含んでいるメッセージ)。送信者が受信者の公開パラメータを要求しておらず受信していない場合(例えば、異なる秘密鍵生成器でのユーザ間のすべてのまたは多くの通信が、グローバル公開パラメータを用いて構成される識別ベースの暗号化機能を用いることにより、機械的に処理されている環境で送信者が動作しているために)、送信者はグローバル公開パラメータ(そして受信者の識別)を用いてさらにメッセージを暗号化して送信することもできる。
【0098】
所望の場合には、それぞれのエンティティ間の通信のいくつか、またはシステムの構成要素が要求またはメッセージを用いるようにして、他の通信にはプッシュアプローチを用いるようにさせることもできる。これらのアプローチを一緒にしたり、または一方が他方を支持するようにしたりすることもできる。所望の場合には、いくつかのディレクトリ情報を、図9、図10で説明した種類のアプローチ(情報をユーザに”押すこと”を要する説明のための構成)を用いて提供することもできるし、いくつかのディレクトリ情報をピアツーピア構成を用いて提供することもできるし、いくつかのディレクトリ情報をディレクトリサービス46で説明したディレクトリ参照アプローチを用いて提供することもできる。
【0099】
所望の場合には、これらのアプローチのいずれか1つを用いることもできるし、これらのアプローチのいずれか2つを用いることもできるし、またはこれらの3つのアプローチすべてを用いることもできる。また、システム10がこれらの構成の2つ以上を用いて公開パラメータ情報を配信したり公開したりする構成では、1つのアプローチを主要なアプローチとして用い(例えば、ディレクトリ情報を各ユーザのローカルネットワークおよび対応付けられた秘密鍵生成器へプッシュするプッシュ構成)および別のアプローチまたは複数のアプローチ(例えば、ディレクトリサービス46および/またはピアツーピア構成に基づく参照構成)を、主要のアプローチまたはもっと好ましいアプローチに障害が起きたり、サービスが劣化するといったイベントの際にフォールバックアプローチとして用いることもできる。
【0100】
所望の場合には、システム10内の送信者と受信者との間で送信するメッセージは、電子メールメッセージまたは他のテキストメッセージとすることもできる。メッセージには、グラフィック、音声、ビデオ、データ、コンピュータコード、コマンド、または任意の他の適した媒体、内容、データ、または命令を含むこともできる。メッセージには、暗号鍵を含むこともできる。例えば、メッセージをDES対称鍵の交換に用いることもできる。このように、識別ベースの暗号化手法を用いて鍵を交換することにより、効率的な対称鍵暗号化技術を用いて大量の暗号化した内容を交換することができる。この種の2層アプローチ(はじめに識別ベースの暗号化プロトコルを用いて対称鍵を交換して、次に対称暗号化プロトコルを用いて大量のデータを交換する)から、ソフトウェアを用いて鍵交換およびデータ転送処理に対応付けられたタスクを自動化することにより、ユーザにトランスペアレントにできる。ユーザは、1層または2層アプローチが用いられているのか知る必要がない。
【0101】
メッセージをある人物(または組織)から別の人物へ送信したり(マニュアルのサポートがあってもなくても)、人の操作がほとんどまたは全くない状態でメッセージを機器から機器へ自律的に生成し、送信し、受信したりすることもできる(例えば、通信ネットワークを構成したり稼働する場合)。公開パラメータ情報および秘密鍵等のメッセージおよび他の情報を、要求があり次第(例えば、受信者の要求があり次第)、スケジュールに従って、または特定の条件が合えば、適切なエンティティおよび機器に提供することもできる。
【0102】
図5に図示して説明した構成は、単に説明のためだけのものである。所望の場合には、これらのサービスまたはエンティティの任意の適した群を共に配置し、および/または同じエンティティ(またはエンティティ群)が動作するように、ディレクトリサービス、クリアリングハウスサービス、認証機関、および秘密鍵生成器の機能を組み合わせることもできる。一例として、クリアリングハウスサービス機能を、1つ以上の秘密鍵生成器の機能に組み込むこともできる。別の例としては、ディレクトリサービス機能を1つ以上の秘密鍵生成器またはクリアリングハウスに組み込むこともできる。さらに別の例として、認証機関サービスをクリアリングハウスのサービスと組み合わせることもできる。これらは単に説明のためだけの例であり、所望の場合には、これらのサービスおよびエンティティ任意の適した組み合わせをシステム10内で用いることもできる。また、秘密鍵生成器の機能および図5に示す他の組織をさらに分割することもできる。例えば、マスタシークレットから秘密鍵および公開パラメータを生成するのに用いられる機能を、複数のエンティティに渡って分割することもできる(マスタシークレットをさらに分割することによる)ので、そのマスタシークレットの秘密鍵および公開パラメータを単独で生成するエンティティがなくなるようになる。一般に、任意の適した数のユーザを、各秘密鍵生成器に対応付けて、任意の適した数の秘密鍵生成器、ディレクトリサービス、クリアリングハウス、および認証機関をシステム10内に含むこともできる。
【0103】
ユーザ機器、秘密鍵生成器、ディレクトリサービス、クリアリングハウスサービス、認証機関、およびシステムの他の部分は、コンピュータまたは他のプロセッサベースの機器等のハードウェアに基づくこともできる。ハードウェアを操作し用いるこの方法は、このハードウェア上で動作するファームウェアおよび/またはコード(”ソフトウェア”)で実行することもできる。ハードウェアには、メモリ、ハードディスク等の固定または取り外し可能なコンピュータ読み取り可能媒体を含むこともできる。これらは、システムの機能を実行するソフトウェアを(恒久的だったり、実行したりする間)格納することもできる。ソフトウェアを用いることにより、図1〜図10で説明した識別ベースの暗号化手法の機能を実行する、ユーザ機器のハードウェア、秘密鍵生成器、ディレクトリサービス、クリアリングハウスサービス、認証機関、システムの他の部分を構成することもできる。
【0104】
前述したものは、本発明の原理を単に説明するためだけのものであり、本発明の範囲および精神を逸脱することなく、当業者により各種の変更を行うことができる。
【図面の簡単な説明】
【0105】
【図1】図1は、本発明による識別ベースの暗号化システムを説明する図である。
【図2】図2は、本発明による図1のシステムの秘密鍵生成器を用いる工程を説明するフローチャートである。
【図3】図3は、本発明に基づいて、図1のシステム内の送信者に受信者のメッセージを暗号化させる工程を説明するフローチャートである。
【図4】図4は、本発明に基づいて、図1のシステム内の受信者に送信者からのメッセージを復号化させる工程を説明するフローチャートである。
【図5】図5は、複数の秘密鍵生成器を有し、それぞれが異なる群のユーザに対応付けられた、本発明による識別ベースの暗号化システムを説明する図である。
【図6】図6は、本発明に基づいて、適切な公開パラメータ情報を送信者に提供して、送信者に暗号化されたメッセージを任意の受信者に送信させる工程を説明するフローチャートである。
【図7】図7は、本発明に基づいて、送信者が任意のメッセージの受信者の公開パラメータを参照する機能を提供するデータベースの構成を説明する図である。
【図8】図8は、本発明に基づいて、図5のシステムを用いて公開パラメータを送信者に提供して、これらの公開パラメータを用いてメッセージを暗号化復号化する工程を説明するフローチャートである。
【図9】図9は、本発明に基づいて、クリアリングハウスサービスまたは他のサービスを用いて公開パラメータを収集配信する工程を説明するフローチャートである。
【図10】図10は、本発明に基づいて、時間に敏感な秘密鍵を生成して、任意のユーザにそのユーザの現在の時間に敏感な秘密鍵を提供する際に、任意のユーザに他のシステム内のユーザの公開パラメータ情報を提供する工程を説明するフローチャートである。
【図11】図11は、本発明に基づいて、グローバル秘密鍵生成器手法を用いて識別ベースの暗号化された通信をサポートする工程を示すフローチャートである。

【特許請求の範囲】
【請求項1】
識別ベースの暗号化を用いて、ユーザ機器のユーザが通信ネットワークを介して通信するシステム内の暗号化された通信をサポートする方法であって、該システムは、複数の秘密鍵生成器と、複数のそれぞれに関連するセットの公開パラメータとを有し、該複数の秘密鍵生成器の各々は、関連するユーザのグループに対する秘密鍵を生成し、各ユーザの秘密鍵は、ユーザの識別および該ユーザの秘密鍵を生成する秘密鍵生成器に関連するセットの公開パラメータとを用いて暗号化されたユーザに対するメッセージを復号化するために該ユーザによって用いられ得、
該方法は、
該通信ネットワークに結合されたコンピュータを用いて、該複数のセットの公開パラメータを格納することと、
該通信ネットワークに結合されたユーザ機器を有する送信者において、該格納された複数のセットの公開パラメータのうちの適切なセットの公開パラメータであって、該通信ネットワークに結合されたユーザ機器の受信者に対するメッセージを暗号化するために用いるためのセットの公開パラメータをダウンロードすることであって、該送信者は、該受信者とは異なる秘密鍵生成器に関連する、ことと
を包含する、方法。
【請求項2】
前記適切なセットの公開パラメータをダウンロードするときにインターネットドメイン名システム(DNS)を用いることをさらに包含する、請求項1に記載の方法。
【請求項3】
前記受信者は、関連するドメイン名を有する組織に属し、前記方法は、前記適切なセットの公開パラメータをダウンロードするときに該ドメイン名を用いることをさらに包含する、請求項1に記載の方法。
【請求項4】
前記受信者は、関連するドメイン名を有する組織に属し、前記方法は、どのセットの公開パラメータをダウンロードするかを決定するときに該ドメイン名を用いることをさらに包含する、請求項1に記載の方法。
【請求項5】
前記受信者は、関連するドメイン名を有する組織に属し、該受信者は、関連する電子メールアドレスを有し、前記方法は、どのセットの公開パラメータが送信者へとダウンロードするのに適切であるかを決定するときに該電子メールアドレスと該ドメイン名とを用いることをさらに包含する、請求項1に記載の方法。
【請求項6】
どのセットの公開パラメータが送信者へとダウンロードするのに適切であるかを決定するときに少なくとも部分的なドメイン名を用いることをさらに包含する、請求項1に記載の方法。
【請求項7】
前記送信者において、前記ダウンロードされたセットの公開パラメータを用いて前記受信者に対するメッセージを暗号化することをさらに包含する、請求項1に記載の方法。
【請求項8】
前記受信者の識別は、電子メールアドレス情報を含み、
前記方法は、
前記送信者において、該受信者の電子メールアドレス情報と、前記ダウンロードされたセットの公開パラメータとを用いて該受信者に対するメッセージを暗号化することをさらに包含する、請求項1に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2009−44763(P2009−44763A)
【公開日】平成21年2月26日(2009.2.26)
【国際特許分類】
【出願番号】特願2008−271457(P2008−271457)
【出願日】平成20年10月21日(2008.10.21)
【分割の表示】特願2004−553692(P2004−553692)の分割
【原出願日】平成15年11月12日(2003.11.12)
【出願人】(505295547)ボルテージ セキュリティー, インコーポレイテッド (7)
【Fターム(参考)】