(57)【要約】【課題】  ＳＭＴＰなどの既存の電子メール転送プロトコルを使用して、認証された方法でデジタルオブジェクトを安全に交換するための方法およびシステムを提供する。【解決手段】  第１のユニークな識別子（ＵＩＤ）を生成し、既に知られたアドレスに、第１のＵＩＤを備える第１のメッセージを送信する。第２のＵＩＤ、および第１のＵＩＤのコピーを備える、第２のメッセージを受信し、既に知られたアドレスに、第２のＵＩＤのコピーを備える第３のメッセージを送信する。既に知られたアドレスに送信されたこれらのメッセージのうち少なくとも１つは、デジタルオブジェクトをさらに備える。【選択図】  図５
2005295509.tif 000002
【特許請求の範囲】
【請求項１】
デジタルオブジェクトの送信者を認証するための方法であって、
第１のユニークな識別子（ＵＩＤ）を生成するステップと、
既に知られたアドレスに、電子メールプロトコルを介して、前記第１のＵＩＤを備える第１のメッセージを送信するステップと、
前記電子メールプロトコルを介して、第２のＵＩＤ、および前記第１のＵＩＤのコピーを備える、第２のメッセージを受信するステップと、
前記既に知られたアドレスに、前記電子メールプロトコルを介して、前記第２のＵＩＤのコピーを備える第３のメッセージを送信するステップとを備え、
前記既に知られたアドレスに送信された前記メッセージのうち少なくとも１つは、前記デジタルオブジェクトをさらに備えることを特徴とする方法。
【請求項２】
前記第１のメッセージは前記デジタルオブジェクトをさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記第３のメッセージは前記デジタルオブジェクトをさらに備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記デジタルオブジェクトは暗号化システムのためのパブリックキーであることを特徴とする請求項１に記載の方法。
【請求項５】
前記第２のメッセージは、暗号化システムのための第２のパブリックキーをさらに備えることを特徴とする請求項４に記載の方法。
【請求項６】
前記電子メールプロトコルは、簡易メール転送プロトコル（ＳＭＴＰ）を操作するメールサーバーを備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記電子メールプロトコルの少なくとも一部は、トランスポート層セキュリティ（ＴＬＳ）プロトコルを使用して安全に動作することを特徴とする請求項１に記載の方法。
【請求項８】
前記第１のＵＩＤは少なくとも１２８ビットを含むことを特徴とする請求項１に記載の方法。
【請求項９】
デジタルオブジェクトの送信者を認証するための方法であって、
電子メールプロトコルを介して、第１のユニークな識別子（ＵＩＤ）を備える第１のメッセージを受信するステップと、
第２のＵＩＤを生成するステップと、
既に知られたアドレスに、前記電子メールプロトコルを介して、前記第２のＵＩＤ、および前記第１のＵＩＤのコピーを備える、第２のメッセージを送信するステップと、
前記電子メールプロトコルを介して、前記第２のＵＩＤのコピーを備える第３のメッセージを受信するステップとを備え、
受信された前記メッセージのうち少なくとも１つは前記デジタルオブジェクトをさらに備えることを特徴とする方法。
【請求項１０】
前記第１のメッセージは前記デジタルオブジェクトをさらに備えることを特徴とする請求項９に記載の方法。
【請求項１１】
前記第３のメッセージは前記デジタルオブジェクトをさらに備えることを特徴とする請求項９に記載の方法。
【請求項１２】
前記デジタルオブジェクトは暗号化システムのためのパブリックキーであることを特徴とする請求項９に記載の方法。
【請求項１３】
第２の電子メールメッセージは、暗号化システムのための第２のパブリックキーをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記電子メールプロトコルは、簡易メール転送プロトコル（ＳＭＴＰ）を操作するメールサーバーを備えることを特徴とする請求項９に記載の方法。
【請求項１５】
前記電子メールプロトコルの少なくとも一部は、トランスポート層セキュリティ（ＴＬＳ）プロトコルを使用して安全に動作することを特徴とする請求項９に記載の方法。
【請求項１６】
前記第１のＵＩＤは少なくとも１２８ビットを含むことを特徴とする請求項９に記載の方法。
【請求項１７】
デジタルオブジェクトの送信者の認証を実行するコンピュータ実行可能命令を含むコンピュータ可読メディアであって、コンピュータ実行可能命令は、
第１のユニークな識別子（ＵＩＤ）を生成するステップと、
既に知られたアドレスに、電子メールプロトコルを介して、前記第１のＵＩＤを備える第１のメッセージを送信するステップと、
前記電子メールプロトコルを介して、第２のＵＩＤ、および前記第１のＵＩＤのコピーを備える、第２のメッセージを受信するステップと、
前記既に知られたアドレスに、前記電子メールプロトコルを介して、前記第２のＵＩＤのコピーを備える第３のメッセージを送信するステップとを実行し、
前記既に知られたアドレスに送信された前記メッセージのうち少なくとも１つは、前記デジタルオブジェクトをさらに備えることを特徴とするコンピュータ可読媒体。
【請求項１８】
前記デジタルオブジェクトは暗号化システムのためのパブリックキーであることを特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
前記第２のメッセージは、暗号化システムのための第２のパブリックキーをさらに備えることを特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
デジタルオブジェクトの送信者を認証するための装置であって、
第１のユニークな識別子（ＵＩＤ）を生成する乱数ジェネレータと、
既に知られたアドレスに、電子メールプロトコルを介して、前記第１のＵＩＤを備える第１のメッセージを送信するネットワークインターフェイスと、
前記電子メールプロトコルを介して、第２のＵＩＤ、および前記第１のＵＩＤのコピーを備える、第２のメッセージを受信する前記ネットワークインターフェイスと、
前記既に知られたアドレスに、前記電子メールプロトコルを介して、前記第２のＵＩＤのコピーを備える第３のメッセージを送信する前記ネットワークインターフェイスとを備え、
前記既に知られたアドレスに送信された前記メッセージのうち少なくとも１つは、前記デジタルオブジェクトをさらに備えることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に情報セキュリティの分野に関し、より詳細には、認証プロトコルに関する。
【背景技術】
【０００２】
インターネットに接続された複数のコンピュータの間の通信の一般的な形態は、当業界でクライアントサーバーとして知られるパラダイムに従う。例えば、既存のサーバーは、電子メールサーバー、ウェブサーバー、ファイルサーバー、オンラインバンキングサーバーなどである。クライアントには、家庭のパーソナルコンピュータ、オフィスのパーソナルコンピュータ、ラップトップコンピュータ、ハンドヘルドデバイス、無線デジタル電話などが含まれる。様々なクライアントデバイスは、様々なサーバーデバイスと接続し、対話する。このモデルでは、異なるサーバーは、それらに接続するクライアントデバイスを認証および許可するためのサーバー独自の方法を使用する。例えば、いくつかの電子メールサーバーは、事前登録されたアイデンティティを発行および使用して、認証および許可する。いくつかの銀行組織は、それら独自のメンバ識別およびパスワードデータベースを使用して、認証および許可を行なう。そのため、所与のクライアントデバイス、例えば家庭のパーソナルコンピュータは、接続および対話する先の異なるサーバーによって実施された、異なる認証方法に準拠する必要がある。クライアントサーバーモデルでは、２つの対話するコンピュータが現在互いをどのように「認識する」かという幅広い問題は、サーバーコンピュータにそのプリファレンスをクライアントコンピュータ上で一方的に実施させることによって解決される。
【０００３】
【特許文献１】米国特許第４，４０５，８２９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述のモデルはクライアントサーバーの対話にはうまくいくが、様々なクライアントマシン自体の間の対話には非実用的になる。様々なクライアントデバイスの間のこのような対話についての当業界の専門用語は、ピアツーピア（Ｐ２Ｐ）通信と呼ばれる。この場合、いずれのクライアントコンピュータもその認証プリファレンスを他のクライアントコンピュータ上で強制することはできない。例えば、第１のユーザーであるアリスによる、自分のパーソナルコンピュータからのビデオおよびピクチャを、同じくパーソナルコンピュータを有する第２のユーザーのボブと共有および交換したいという希望を考察する。ボブは、ビデオおよびピクチャが偽者によって送信されるのではなく、本当にアリスによって送信されていることを確信するために、アリスを認証することを望むであろう。
【０００５】
加えて、アリスは、ビデオおよびピクチャを、ＲＳＡなどの暗号化技術を使用して安全に送信し、盗聴者がこのビデオまたはピクチャを見ることができないようにすることを望むであろう。ＲＳＡは公開キー暗号化技術であり、それによりいかなる者も所与のユーザーのためのデータをそのユーザーのパブリックキーにより暗号化することができるが、そのユーザーのみがこのデータを、対応するプライベートキーを使用することによって解読することができる。したがって、アリスおよびボブは、ＲＳＡアルゴリズムによって安全なチャネルを確立するために、最初に自分のパブリックキーをそれぞれ交換することが必要である。パブリックキーの交換は些細なタスクではない。チャーリーという悪意あるハッカーは、このキー交換通信の「間に入る」ことを試みる可能性がある。チャーリーは自分自身のパブリックキーをアリスに送信するが、ボブになりすましており、また、自分自身のパブリックキーをボブに送信するが、アリスになりすましている。この最初のキー交換通信自体が安全ではないことを考えれば、アリスおよびボブにとって、チャーリーが「間に」いることに気が付くための簡単な方法はない。２人がチャーリーの策略に騙され、チャーリーのキーを使用して通信を開始する場合、チャーリーは仲介人の役を務めて、アリスとボブの間のすべての通信を受け渡すことができるが、やり取りされているすべてのコンテンツを盗聴することができる。言うまでもなく、チャーリーは、受け渡されるコンテンツを変更することによって、これをさらに悪化させることもできる。
【０００６】
このように、アリスおよびボブは、パブリックキーの交換を自分たちの通信セッション上へ、どのように確信的に「ブートストラップ」することができるかという問題を有する。より一般的には、Ｐ２Ｐ設定におけるブートストラッピング問題は、送信者と称する者から来たことを受信者が確信するように、いかなる種類の公開データまたはデジタルオブジェクトの交換にも関係する。
【０００７】
本発明の実施形態は、メール交換のためのよく知られている簡易メール転送プロトコル（ＳＭＴＰ）を使用して、Ｐ２Ｐ通信でのコンピュータのアイデンティティのブートストラッピング問題を解決する。通常、これは、物理的に安全でないネットワークを介して論理的に安全な通信チャネルを確立する、ＲＳＡのようなアルゴリズムを使用するための必要条件である。ＲＳＡアルゴリズムでは、ブートストラッピング問題は、２つのピアコンピュータにそれらの相互のパブリックキーを、サードパーティの仲介（証明機関など）なしに交換させる方法の１つである。他のアルゴリズムまたは技術では、このようなブートストラッピング問題に関係するデータは異なる場合があるが、ある公開データを、スプーフィングがないという確信を有して交換するという根本的な問題は、同じである。
【０００８】
本発明の実施態様は、ＳＭＴＰなどの既存の電子メールプロトコルを使用して、公開情報の交換を認証する。電子メールプロトコルが強力であり、電子メールメッセージを所与のアドレスに送信すると、メッセージが高い信頼度でそのアドレスに到達する結果となる場合、本発明の実施形態によって実行された公開情報の交換は認証される。
【課題を解決するための手段】
【０００９】
本発明の一態様では、デジタルオブジェクトの送信者を認証するための方法が提供され、この方法は、第１のユニークな識別子（ＵＩＤ）を生成すること、既に知られたアドレスに、電子メールプロトコルを介して、第１のＵＩＤを備える第１のメッセージを送信すること、電子メールプロトコルを介して、第２のＵＩＤ、および第１のＵＩＤのコピーを備える、第２のメッセージを受信すること、ならびに、既に知られたアドレスに、電子メールプロトコルを介して、第２のＵＩＤのコピーを備える第３のメッセージを送信することを備え、既に知られたアドレスに送信されたこれらのメッセージのうち少なくとも１つは、デジタルオブジェクトをさらに備える。本発明の一実施形態では、デジタルオブジェクトは暗号化システムのためのパブリックキーである。本発明の実施形態では、電子メールプロトコルは、簡易メール転送プロトコル（ＳＭＴＰ）を操作するメールサーバーを備える。
【００１０】
本発明のもう１つの態様では、デジタルオブジェクトの送信者を認証するための方法が提供され、この方法は、電子メールプロトコルを介して、第１のユニークな識別子（ＵＩＤ）を備える第１のメッセージを受信すること、第２のＵＩＤを生成すること、既に知られたアドレスに、電子メールプロトコルを介して、第２のＵＩＤ、および第１のＵＩＤのコピーを備える、第２のメッセージを送信すること、ならびに、電子メールプロトコルを介して、第２のＵＩＤのコピーを備える第３のメッセージを受信することを備え、受信されたこれらのメッセージのうち少なくとも１つは、デジタルオブジェクトをさらに備える。一実施形態では、デジタルオブジェクトは暗号化システムのためのパブリックキーである。本発明の実施形態では、電子メールプロトコルは、簡易メール転送プロトコル（ＳＭＴＰ）を操作するメールサーバーを備える。
【００１１】
本発明のもう１つの態様では、デジタルオブジェクトの送信者の認証を実施するためのコンピュータ実行可能命令を含むコンピュータ可読メディアが提供され、コンピュータ実行可能命令は、第１のユニークな識別子（ＵＩＤ）を生成するステップと、既に知られたアドレスに、電子メールプロトコルを介して、第１のＵＩＤを備える第１のメッセージを送信するステップと、電子メールプロトコルを介して、第２のＵＩＤ、および第１のＵＩＤのコピーを備える、第２のメッセージを受信するステップと、既に知られたアドレスに、電子メールプロトコルを介して、第２のＵＩＤのコピーを備える第３のメッセージを送信するステップとを実行し、既に知られたアドレスに送信されたこれらのメッセージのうち少なくとも１つは、デジタルオブジェクトをさらに備える。本発明の実施形態では、デジタルオブジェクトは暗号化システムのためのパブリックキーである。本発明の実施形態では、電子メールプロトコルは、簡易メール転送プロトコル（ＳＭＴＰ）を操作するメールサーバーを備える。
【００１２】
本発明は、別の方法で見られると、デジタルオブジェクトの送信者を認証するための装置を備え、この装置は、第１のユニークな識別子（ＵＩＤ）を生成する乱数ジェネレータと、既に知られたアドレスに、電子メールプロトコルを介して、第１のＵＩＤを備える第１のメッセージを送信するネットワークインターフェイスと、電子メールプロトコルを介して、第２のＵＩＤ、および第１のＵＩＤのコピーを備える、第２のメッセージを受信するネットワークインターフェイスと、既に知られたアドレスに、電子メールプロトコルを介して、第２のＵＩＤのコピーを備える第３のメッセージを送信するネットワークインターフェイスとを備え、既に知られたアドレスに送信されたこれらのメッセージのうち少なくとも１つは、デジタルオブジェクトをさらに備える。
【００１３】
付属の特許請求の範囲は本発明の特徴を詳細に示すが、本発明およびその利点は、以下の詳細な説明が添付の図面と共に解釈されることから、最良に理解される。
【発明を実施するための最良の形態】
【００１４】
電子メールを使用したセキュアキー交換をサポートする方法およびシステムを、ここでいくつかの実施形態に関して説明するが、本発明の方法およびシステムは例示の実施形態に限定されない。また、本明細書で説明する方法およびシステムは単に例示的でしかなく、本発明の精神および範囲から逸脱することなく変形形態を作成することができることは、当業者には容易に理解されよう。
【００１５】
本発明は、以下の詳細な説明を通じてより完全に理解され、詳細な説明は添付の図面と共に読まれるべきである。本明細書では、類似の番号は本発明の様々な実施形態内で類似の要素を指す。本発明は、適切なコンピューティング環境内で実施されるとして例示される。必要ではないが、本発明を一般に、パーソナルコンピュータによって実行されるプロシージャなど、コンピュータ実行可能命令に関連して説明する。一般に、プロシージャには、プログラムモジュール、ルーチン、ファンクション、プログラム、オブジェクト、コンポーネント、データ構造などが含まれ、これらは特定のタスクを実行するか、あるいは特定の抽象データ型を実施する。また、本発明を他のコンピュータシステム構成と共に実施することができ、これらのコンピュータシステム構成には、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブルなコンシューマエレクトロニクス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどが含まれることは、当業者には理解されよう。本発明をまた分散コンピューティング環境において実施することもでき、この環境ではタスクが、通信ネットワークを通じてリンクされるリモート処理デバイスによって実行される。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモートのメモリストレージデバイス内に位置することができる。コンピュータシステムという用語は、分散コンピューティング環境内で発見することができるような、コンピュータのシステムを指すために使用される場合がある。
【００１６】
図１は、本発明を実施することができる、適切なコンピューティングシステム環境１００の一実施例を例示する。コンピューティングシステム環境１００は適切なコンピューティング環境の一実施例でしかなく、本発明の使用または機能性の範囲についてのいかなる限定をも示唆するように意図されない。また、コンピューティング環境１００は、例示的オペレーティング環境１００内に例示されたコンポーネントのいずれか１つまたは組み合わせに関係するいかなる依存性または要件も有するとして解釈されるべきではない。本発明の一実施形態はまさに例示的オペレーティング環境１００内に例示された各コンポーネントを含むが、本発明の別のより典型的な実施形態は、本質的でないコンポーネント、例えば、ネットワーク通信に必要とされる物以外の入出力デバイスを除外する。
【００１７】
図１を参照すると、本発明を実施するための例示的システムは、コンピュータ１１０の形態における汎用コンピューティングデバイスを含む。コンピュータ１１０のコンポーネントには、それだけに限定されないが、処理装置１２０、システムメモリ１３０、および、システムメモリを含む様々なシステムコンポーネントを処理装置１２０に結合するシステムバス１２１が含まれる可能性がある。システムバス１２１をいくつかのタイプのバス構造のいずれにすることもでき、これらのバス構造には、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バスおよびローカルバスが含まれる。例として、限定ではなく、このようなアーキテクチャには、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカルバス、および、メザニンバスとしても知られるＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バスが含まれる。
【００１８】
コンピュータ１１０は通常、様々なコンピュータ可読メディアを含む。コンピュータ可読メディアは、コンピュータ１１０によってアクセスすることができるいかなる使用可能なメディアにすることもでき、揮発性および不揮発性のメディア、ならびにリムーバブルおよび非リムーバブルのメディアが含まれる。例として、限定ではなく、コンピュータ可読メディアは、コンピュータストレージメディアおよび通信メディアを含むことができる。コンピュータストレージメディアには、揮発性および不揮発性、リムーバブルおよび非リムーバブルのメディアが含まれ、これらのメディアはコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなど、情報の格納のためのいずれかの方法または技術において実装される。コンピュータストレージメディアには、それだけに限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、所望の情報を格納するために使用することができ、コンピュータ１１０によってアクセスすることができる他のいかなるメディアもが含まれる。通信メディアは通常、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを、搬送波または他の移送メカニズムなどの変調データ信号において実施し、いかなる情報配信メディアをも含む。「変調データ信号」という用語は、信号内の情報を符号化するような方法でその特性の１つまたは複数が設定または変更されている信号を意味する。例として、限定ではなく、通信メディアには、有線ネットワークまたは直接有線接続などの有線メディア、ならびに、音響、ＲＦ、赤外線および他の無線メディアなどの無線メディアが含まれる。上記のいずれの組み合わせも、コンピュータ可読メディアの範囲内に含まれるべきである。
【００１９】
システムメモリ１３０は、読み取り専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２など、揮発性および／または不揮発性メモリの形態におけるコンピュータストレージメディアを含む。基本入出力システム１３３（ＢＩＯＳ）は、起動中など、コンピュータ１１０内の複数の要素の間で情報を転送する助けとなる基本ルーチンを含み、通常はＲＯＭ１３１に格納される。ＲＡＭ１３２は通常、処理装置１２０によって即時アクセス可能および／または現在操作中であるデータおよび／またはプログラムモジュールを含む。例として、限定ではなく、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６およびプログラムデータ１３７を例示する。
【００２０】
コンピュータ１１０はまた、他のリムーバブル／非リムーバブル、揮発性／不揮発性のコンピュータストレージメディアも含むことができる。例としてのみ、図１は、非リムーバブル、不揮発性の磁気メディアに対する読み書きを行なうハードディスクドライブ１４１、リムーバブル、不揮発性の磁気ディスク１５２に対する読み書きを行なう磁気ディスクドライブ１５１、および、ＣＤ  ＲＯＭまたは他の光メディアなど、リムーバブル、不揮発性の光ディスク１５６に対する読み書きを行なう光ディスクドライブ１５５を例示する。例示的オペレーティング環境で使用することができる他のリムーバブル／非リムーバブル、揮発性／不揮発性のコンピュータストレージメディアには、それだけに限定されないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ、スマートカード、セキュアデジタルカード、スマートメディアカード、コンパクトフラッシュ（登録商標）カードなどが含まれる。ハードディスクドライブ１４１は通常システムバス１２１に、インターフェイス１４０などの非リムーバブルメモリインターフェイスを通じて接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常システムバス１２１に、インターフェイス１５０などのリムーバブルメモリインターフェイスによって接続される。
【００２１】
上述し、図１に例示したドライブおよびそれらの関連付けられたコンピュータストレージメディアは、コンピュータ１１０用のコンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータのストレージを提供する。図１では、例えば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６およびプログラムデータ１４７を格納するとして例示される。これらのコンポーネントを、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６およびプログラムデータ１３７と同じ物にも異なる物にもすることができることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６およびプログラムデータ１４７にはここで異なる番号が与えられて、最低でも、それらが異なるコピーであることが例示される。ユーザーはコマンドおよび情報をコンピュータ１１０へ、タブレットまたは電子デジタイザ１６４、マイクロフォン１６３、キーボード１６２、および、一般にマウス、トラックボールまたはタッチパッドと呼ばれるポインティングデバイス１６１などの入力デバイスを通じて、入力することができる。他の入力デバイス（図示せず）には、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどが含まれる可能性がある。これらおよび他の入力デバイスはしばしば処理装置１２０へ、システムバスに結合されるユーザー入力インターフェイス１６０を通じて接続されるが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）など、他のインターフェイスおよびバス構造によって接続することができる。モニタ１９１または他のタイプの表示デバイスもまたシステムバス１２１へ、ビデオインターフェイス１９０などのインターフェイスを介して接続される。モニタ１９１もまた、タッチスクリーンパネルなどと統合することもできる。モニタおよび／またはタッチスクリーンパネルを、タブレットタイプのパーソナルコンピュータ内など、その中にコンピューティングデバイス１１０が組み込まれるハウジングに、物理的に結合させることができることに留意されたい。加えて、コンピューティングデバイス１１０などのコンピュータはまた、スピーカ１９７およびプリンタ１９６など、出力周辺インターフェイス１９５などを通じて接続することができる他の周辺出力デバイスを含むこともできる。
【００２２】
コンピュータ１１０はネットワーク環境において、リモートコンピュータ１８０など、１つまたは複数のリモートコンピュータへの論理接続を使用して動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバー、ルーター、ネットワークＰＣ、ピアデバイスまたは他の共通ネットワークノードにすることができ、通常は、コンピュータ１１０に関連して上述した要素の多数またはすべてを含むが、メモリストレージデバイス１８１のみが図１において例示されている。図１に示す論理接続には、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３が含まれるが、他のネットワークが含まれる可能性もある。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。例えば、本発明では、コンピュータ１１０は、そこからデータが移行されている元のソースマシンを含む場合があり、リモートコンピュータ１８０は宛先マシンを含む場合がある。しかし、ソースおよび宛先マシンがネットワークまたは他のいずれかの手段によって接続される必要はないが、その代わりに、データを、ソースプラットフォームによる書き込みおよび宛先プラットフォームによる読み取りが可能ないかなるメディアを介して移行することもできることに留意されたい。
【００２３】
ＬＡＮネットワーキング環境において使用する場合、コンピュータ１１０はＬＡＮ１７１へ、ネットワークインターフェイスまたはアダプタ１７０を通じて接続される。代替として、コンピュータ１１０は、例えば８０２．１１ｂプロトコル上で動作する無線ＬＡＮネットワークインターフェイスを含み、コンピュータ１１０がＬＡＮ１７１に、物理接続なしに接続できるようにする。ＷＡＮネットワーキング環境において使用する場合、コンピュータ１１０は通常、モデム１７２、またはインターネットなどのＷＡＮ１７３を介して通信を確立するための他の手段を含む。モデム１７２を内部または外部にすることができ、システムバス１２１へ、ユーザー入力インターフェイス１６０または他の適切なメカニズムを介して接続することができる。代替として、コンピュータ１１０は、例えば汎用パケット無線サービス（ＧＰＲＳ）を介して動作する無線ＷＡＮネットワークインターフェイスを含み、コンピュータ１１０がＷＡＮ１７３に、物理接続なしに接続できるようにする。ネットワーク環境では、コンピュータ１１０に関連して示したプログラムモジュールまたはその一部を、リモートメモリストレージデバイスに格納することができる。例として、限定ではなく、図１はリモートアプリケーションプログラム１８５をメモリデバイス１８１上に存在するとして例示する。図示のネットワーク接続は例示的であり、複数のコンピュータの間で通信リンクを確立する他の手段を使用することができることは理解されよう。加えて、携帯電話、携帯情報端末など、コンピュータ１１０の変形形態を、本発明を実施するための他の例示的システムに組み込むことができる。
【００２４】
本発明は潜在的に、様々なネットワーキング環境内で使用されるコンピューティングデバイス／マシンに組み込まれる。図２を見ると、その中で本発明を利用することができるネットワーキング環境の簡単な実施例が示される。第１のコンピュータ２０２は、自分のパブリック暗号キーをユーザー「Ｂ」へ、電子メールを介して送信することを望むユーザー「Ａ」によって使用され、メールサーバー２０４と通信する。コンピュータ２０２は、例えば、ユーザー「Ａ」がそれによりメッセージを作成してメールサーバー２０４へ送信するメールアプリケーションを含む。メールサーバー２０４は、簡易メール転送プロトコル（ＳＭＴＰ）など、知られており、受け入れられたメールプロトコルを使用して、電子メッセージを送信する。ユーザー「Ａ」によって作成されたメッセージは通常、受信者のためのアドレスを「ｕｓｅｒＢ＠ｄｏｍａｉｎ．ｃｏｍ」の形式で含む。「＠」記号の右側の文字、この例では「ｄｏｍａｉｎ．ｃｏｍ」はドメイン名を含み、このドメイン名は、コンピュータがユーザー「Ｂ」のためのメールを受信するための論理ドメインである。メールサーバー２０４は、この論理アドレスについて対応する物理アドレスを、ドメインネームシステム（ＤＮＳ）サーバー２０６にクエリすることによって得る。ＤＮＳサーバー２０６は分散ＤＮＳサーバーの階層に属し、論理アドレスと物理アドレスの間のマッピングサービスとしての機能を果たす。物理アドレスは、インターネットプロトコル（ＩＰ）アドレスの形式を取り、コンピュータ２０８をインターネット２１０上で識別する。本発明の実施形態は、安全な通信チャネルを、送信側メールサーバー２０４と受信側メールサーバー２０８の間で、トランスポート層セキュリティ（ＴＬＳ）を使用することによって確立し、これら２つのサーバーの間の通信を盗聴することができないことを保証する。メールサーバー２０４は電子メールメッセージを、得られた物理アドレスにより、ＴＣＰ／ＩＰプロトコルを使用して送信し、この電子メールメッセージを、インターネット２１０を介してルーティングさせる。メッセージは、ユーザー「Ｂ」のためのメールサーバーとして動作するＩＰアドレスに関連付けられたコンピュータ２０８に到達する。ユーザー「Ｂ」はメッセージの所期の受信者であり、コンピュータ２１２を使用して、自分向けの電子メールメッセージを得る。コンピュータ２１２はメールサーバー２０８と通信し、適切なメッセージを受信する。同様に、ユーザー「Ｂ」が電子メールメッセージを、インターネット２１０を介して送信しようと試みる場合、メールサーバー２０８はＤＮＳサーバー２１４にクエリして、所期の受信者の物理アドレスを得る。
【００２５】
図３は、本発明の一実施例による、ユーザーコンピュータ２０２上で実行するソフトウェアコンポーネントのセットを例示する。ユーザーはメールアプリケーションプログラム３０２と対話して、電子メールメッセージを送信および受信する。例示的メールアプリケーションプログラムは、Ｒｅｄｍｏｎｄ、ＷａｓｈｉｎｇｔｏｎのＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮによるＯｕｔｌｏｏｋである。メールアプリケーション３０２は、実行可能プログラム、ドキュメントまたは他のファイルなど、テキストおよびバイナリファイルを送信および受信する。メールアプリケーション３０２によって送信または受信された単一のメッセージは、テキスト、バイナリファイル、またはその両方を含む場合がある。本発明の実施形態は、ＲＳＡ暗号化スキームで使用されるキーなど、パブリック暗号キーの交換を実施する。このようなスキームでは、ユーザーは２つのキー、すなわちプライベートキー３０４およびパブリックキー３０６を数学的に作成する。ユーザーはパブリックキー３０６をあらゆる者にとって使用可能にするが、プライベートキー３０４は秘密に保つ。いかなる者もパブリックキー３０６を使用してメッセージを暗号化することはできるが、プライベートキー３０４の保有者のみが、暗号化されたメッセージを解読することができる。このスキームの数学的特性により、ユーザーは、メッセージを自分のプライベートキー３０４により暗号化することによって、メッセージにデジタルで「署名」することもできる。パブリックキー３０６を保有するいかなる者もこのメッセージを解読して、このメッセージがユーザーによって書かれたことを確認することができる。例示的ＲＳＡスキームは、全体として参照により本明細書に組み込まれる（特許文献１）により十分に説明されている。本発明の一実施形態では、ユーザーコンピュータ２０２は、プライベートキー３０４およびパブリックキー３０６に関係する符号化および復号化オペレーションを操作するための符号化／復号化エンジン３０８を含む。
【００２６】
本発明の実施形態はまた、乱数ジェネレータ３１０をも含む。乱数ジェネレータ３１０はビットの文字列を生成し、この文字列は実際には、シーケンスの他のいかなるビットが与えられても、シーケンスのいかなるビットを予測することも実行不可能であるようにすることが好ましい。したがって、シーケンスは真にランダムであることは必要ではないが、シーケンスは十分に予測不可能な程度までランダムに見えなければならない。実施形態は、グローバルなユニークな識別子を生成するためのアルゴリズムを使用する擬似乱数ジェネレータを使用する、Ｍｉｃｒｏｓｏｆｔ  Ｄｅｖｅｌｏｐｅｒ  Ｎｅｔｗｏｒｋによって提供されたＵｕｉｄＣｒｅａｔｅ関数などの関数をコールする。
【００２７】
図４は、本発明の一実施形態で使用されるような、ヘッダを有する通常の電子メールメッセージ４００を示す。本発明の実施形態では、電子メールメッセージのフォーマットはＲＦＣ８２２に準拠する。メッセージの例４００では、アドレス「Ｊｏｈｎ＠ｕｃｈｉｃａｇｏｘ．ｅｄｕ」を有すると主張する送信者は、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌファイル４０１を含むメッセージを、アドレス「ａｒｆ＠ａｒｆｄｏｍａｉｎｘ．ｃｏｍ」の受信者に送信中である。暗号化プロトコルのためのパブリックキーなど、他の添付ファイルが、代替として添付される。メッセージの上部のいくつかのヘッダ４０２は、メッセージ４００の送信者から受信者へのルートを追跡するルーティング情報を含む。送信者は「Ｆｒｏｍ」ヘッダ４０４内で、自分の名前が「Ｊｏｈｎ  Ｓｍｉｔｈ」であり、自分のアドレスが「Ｊｏｈｎ＠ｕｃｈｉｃａｇｏｘ．ｅｄｕ」であると示している。送信者はまた、メッセージの本文内の署名フィールド４０５でも、これが自分のアドレスであると確認する。しかし、「Ｒｅｃｅｉｖｅｄ」ヘッダ４０６および「Ｒｅｔｕｒｎ−Ｐａｔｈ」ヘッダ４０８など、他のヘッダは、メッセージが実際には異なるアドレス「Ｊｏｈｎ＠ｒｅａｌａｄｄｒｅｓｓ．ｏｒｇ」から送信されることを示す。実際には、送信者のアドレスを示すヘッダを、様々な難易度により偽造または「スプーフィング」することができる。いくつかのメッセージでは、知識のある送信者はリターンアドレスをスプーフィングして、送信者の実際のアドレスを確かに決定することを不可能にすることができる。すなわち、メッセージの受信者は必ずしも、メッセージが実際に、送信者と称する者から来たという確信を持つわけではない。
【００２８】
メッセージ４００はまた、「Ｔｏ」ヘッダ４１０をも含む。「Ｔｏ」ヘッダ４１０は、どこにメッセージが送信されるべきかを示し、この場合は「ａｒｆ＠ａｒｆｄｏｍａｉｎｘ．ｃｏｍ」である。「Ｆｒｏｍ」ヘッダ４０４、４０５、４０６および４０８とは異なり、「Ｔｏ」ヘッダをスプーフィングすることは困難である。すなわち、送信者がメッセージを、「Ｔｏ」フィールド内に書かれた受信者に送信する場合、このメッセージが受信者に到達するようになり、その代わりにどこか他の場所にリダイレクトされることはないという、高い信頼度がある。
【００２９】
図５を見ると、本発明の一実施形態による、ネットワーク化されたコンピュータの２人のユーザーＡおよびＢがパブリックキーを交換して、各々が他方の認証性を信用するようにする方法が説明される。この方法は、２つのコンピュータの各ユーザーが他方のユーザーの電子メールアドレスの知識を先立って有すると仮定する。第１のコンピュータはユーザーＡによって使用され、ステップ５０２で、乱数または擬似乱数ジェネレータを使用して、ユニークな識別子ＵＩＤ１を生成する。ユニークな識別子は十分に大きく、推測が困難である。実際には、１２８ビットで、識別子がユニークなであることを保証するには十分である。ステップ５０４で、第１のコンピュータは、ユーザーＢのための電子メールアドレスによってインデックス付けされたＵＩＤ１を格納する。ステップ５０５で、第１のコンピュータはＵＩＤ１をユーザーＡのパブリックキーと共に第２のコンピュータへ、ユーザーＢの既に知られた電子メールアドレスを使用することによって送信する。
【００３０】
ステップ５０６で、第２のコンピュータはメッセージを受信し、ＵＩＤ１のコピー、ユーザーＡのパブリックキー、およびメッセージの「Ｆｒｏｍ」フィールド内にリストされた電子メールアドレスを格納する。ステップ５０８で、次いで第２のコンピュータは、例として乱数または擬似乱数ジェネレータを使用して、ユニークな識別子ＵＩＤ２を作成する。ＵＩＤ２は少なくとも１２８ビットの長さであることが好ましい。ステップ５１０で、第２のコンピュータはユーザーＢのパブリックキーを、ＵＩＤ２、およびＵＩＤ１のコピーと共に、第１のコンピュータに送信する。しかし、このメッセージは、第１のメッセージの「Ｆｒｏｍ」または「Ｒｅｐｌｙ  Ｔｏ」フィールド内のいかなるリターン電子メールアドレスをも無視して、ユーザーＡのための既に知られたアドレスを使用してアドレス指定される。
【００３１】
ステップ５１２で、第１のコンピュータはメッセージを第２のコンピュータから受信し、「Ｆｒｏｍ」フィールド内の電子メールアドレスを使用して、ローカルで格納されたＵＩＤ１をインデックス付けして、ＵＩＤ１のコピーが正確であることを検証する。次いで、ステップ５１４で、ユーザーＡは、ユーザーＢから受信されたパブリックキーが本物であること（すなわち、パブリックキーが実際にユーザーＢから来たこと）を信用する。ステップ５１６で、第１のコンピュータはＵＩＤ２のコピーをユーザーＢに送信し戻す。
【００３２】
ステップ５１８で、第２のコンピュータはメッセージを受信し、「Ｆｒｏｍ」フィールド内の電子メールアドレスを使用して、ローカルで格納されたＵＩＤ２をインデックス付けして、ＵＩＤ２のコピーが正確であることを検証する。次いで、ステップ５２０で、ユーザーＢは、ユーザーＡから受信されたパブリックキーが本物であること（すなわち、パブリックキーが実際にユーザーＡから来たこと）を信用する。
【００３３】
図６は、本発明の一実施形態による、電子メールを使用してユーザーのパブリックキーを送信して、パブリックキーがユーザーから来たという確信を受信者が持つようにするための方法を例示する。ステップ６０２で、ユーザーは最初にユニークな識別子（ＵＩＤ１）を、例として乱数または擬似乱数ジェネレータを使用して生成する。ユニークな識別子は十分に大きく、推測が困難である。実際には、１２８ビットで、識別子がユニークなであることを保証するには十分である。ステップ６０４で、ユーザーは、自分のパブリックキーおよびＵＩＤ１を含む電子メールメッセージを、受信者のための既に知られたアドレスに送信する。ステップ６０６で、ユーザーは、第２のユニークな識別子ＵＩＤ２を含む適時の応答を監視する。いくつかの実施形態では、ステップ６０６の監視のためのタイムスパンは、ユーザーによって構成可能である。適時の応答が受信されない場合、ステップ６０２でユーザーは再度開始する。そうでない場合、ステップ６０８で、ユーザーは、応答がＵＩＤ１のコピーを含むことをチェックする。ＵＩＤ１のコピーが不正確である場合、ステップ６０２でユーザーは再度開始する。そうでない場合、ステップ６１０で、ユーザーは、ＵＩＤ２のコピーを含む電子メールを受信者に送信する。
【００３４】
図７は、本発明の一実施形態による、電子メールを使用して送信者のパブリックキーを受信して、パブリックキーが送信者から来たという確信をユーザーが持つようにするための方法を例示する。ステップ７０２で、ユーザーは、パブリックキーおよびユニークな識別子ＵＩＤ１を含む電子メールを受信する。メッセージは、送信者を識別する「Ｆｒｏｍ」フィールドを含むが、ユーザーは、メッセージが実際に、送信者と称する者から来たことを確信していない。ステップ７０４で、ユーザーは、ユニークな識別子ＵＩＤ２を、乱数または擬似乱数ジェネレータを使用して生成する。ステップ７０６で、ユーザーは、ＵＩＤ２、およびＵＩＤ１のコピーを含む、電子メールメッセージを、送信者と称する者に送信するが、送信者のための既に知られたアドレスを使用することによって行なう。ステップ７０８で、ユーザーは適時の応答を監視する。いくつかの実施形態では、ステップ７０８の監視のために使用される時間の量は、ユーザーによって構成可能である。適時の応答が受信されない場合、ステップ７１０でユーザーはプロトコルを終了する。代替として、適時の応答が受信されない場合、ステップ７０６で、ユーザーは、ＵＩＤ２、およびＵＩＤ１のコピーを含む、メッセージを再送信する。そうでない場合、ステップ７１２で、ユーザーは、応答がＵＩＤ２のコピーを含むことをチェックする。ＵＩＤ２のコピーが不正確である場合、ステップ７１０でプロトコルは終了する。そうでない場合、ユーザーは、パブリックキーが送信者と称する者から来たことを確信し、ステップ７１４でこのキーを信用し始める。
【００３５】
本発明の実施形態はさらに、パブリックキー以外のデジタルオブジェクトの交換を可能にする。例えば、第１のユーザーは本発明の一実施形態を使用して、ドキュメントを第２のユーザーに送信し、第２のユーザーが、それが本当に、そのドキュメントを送信した第１のユーザーであったと確信するようにすることができる。より一般的には、本発明の実施形態は、オブジェクトを電子メールメッセージに「ブートストラッピング」することによって、デジタルオブジェクトの送信と同時にパーティの認証を可能にする。デジタルオブジェクトがパブリックキーである場合、認証されたキーを、続いて複数のパーティの間の安全な通信のために使用することができる。
【００３６】
本発明の原理を適用することができる多数の可能な実施形態に鑑みて、本明細書で図面に関して説明した実施形態は例示的でしかないように意味され、本発明の範囲を限定するとして解釈されるべきではないことを理解されたい。例えば、例示した実施形態の構成および詳細を、本発明の精神から逸脱することなく修正することができることは、当業者には理解されよう。本発明をソフトウェアモジュールまたはコンポーネントに関して説明するが、このような物をハードウェアコンポーネントで同等に置き換えることができることは、当業者には理解されよう。したがって、本明細書で説明した本発明は、このようなすべての実施形態を、以下の特許請求の範囲およびその同等物の範囲内に入る可能性があるとして企図する。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施形態による、認証プロトコルを実行するためのコンピューティングデバイスの例示的アーキテクチャを例示する、簡易化した概略図である。
【図２】本発明の一実施形態による、デジタルオブジェクトの送信者を認証するための例示的ネットワーク通信構成の図である。
【図３】本発明の一実施形態による、認証において使用するための例示的コンポーネントアーキテクチャを例示する図である。
【図４】本発明の一実施形態による、送信および認証において使用するためのサンプル電子メールメッセージを例示する図である。
【図５】本発明の一実施形態による、デジタルオブジェクトの送信者を認証するためのプロトコルを示す流れ図を示す図である。
【図６】本発明の一実施形態による、デジタルオブジェクトの送信者の認証において使用するための、送信者に使用される方法を例示する流れ図である。
【図７】本発明の一実施形態による、デジタルオブジェクトの送信者の認証において使用するための、受信者に使用される方法を例示する流れ図である。
【符号の説明】
【００３８】
１２０  処理装置
１２１  システムバス
１３０  システムメモリ
１３１  ＲＯＭ
１３２  ＲＡＭ
１３３  ＢＩＯＳ
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  他のプログラムモジュール
１３７  プログラムデータ
１４０  非リムーバブル不揮発性メモリインターフェイス
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  他のプログラムモジュール
１４７  プログラムデータ
１５０  リムーバブル不揮発性メモリインターフェイス
１６０  ユーザー入力インターフェイス
１６１  マウス
１６２  キーボード
１７０  ネットワークインターフェイス
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  ワイドエリアネットワーク
１８０  リモートコンピュータ
１８５  リモートアプリケーションプログラム
１９０  ビデオインターフェイス
１９５  出力周辺インターフェイス
１９６  プリンタ
１９７  スピーカ
【図１】
2005295509.tif 000003
【図２】
2005295509.tif 000004
【図３】
2005295509.tif 000005
【図４】
2005295509.tif 000006
【図５】
2005295509.tif 000007
【図６】
2005295509.tif 000008
【図７】
2005295509.tif 000009