JP4698180B2 - ピアツーピアネットワークでのセキュア階層名前空間 - Google Patents

ピアツーピアネットワークでのセキュア階層名前空間 Download PDF

Info

Publication number
JP4698180B2
JP4698180B2 JP2004213493A JP2004213493A JP4698180B2 JP 4698180 B2 JP4698180 B2 JP 4698180B2 JP 2004213493 A JP2004213493 A JP 2004213493A JP 2004213493 A JP2004213493 A JP 2004213493A JP 4698180 B2 JP4698180 B2 JP 4698180B2
Authority
JP
Japan
Prior art keywords
peer
authority
namespace
computer
resolution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004213493A
Other languages
English (en)
Other versions
JP2005056407A5 (ja
JP2005056407A (ja
Inventor
グラハム エー. ホイーラー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005056407A publication Critical patent/JP2005056407A/ja
Publication of JP2005056407A5 publication Critical patent/JP2005056407A5/ja
Application granted granted Critical
Publication of JP4698180B2 publication Critical patent/JP4698180B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/167Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、一般的にはコンピュータシステムに関し、より詳細にはディレクトリサービス(directory service)のセキュリティ機能およびマッピング機能に関する。
ピアツーピアネットワーキングは、単なるクライアントベースのコンピューティングタスク以上のことにパーソナルコンピュータを使用することを指す。具体的に言うと、ピアツーピアコンピューティングは、現代のパーソナルコンピュータが、高速プロセッサ、大量のメモリ、および大容量ハードドライブを有するが、電子メールおよびウェブブラウジングなどの一般的なコンピューティングタスクを実行する時に、これらのどれもが完全には使用されていないという事実に影響力を行使する。パーソナルコンピュータは、クライアントおよびサーバの両方として働く時に、「ピア」として働いている。
多くのアプリケーションの通常のコンピューティングモデルは、クライアント/サーバモデルである。サーバコンピュータは、通常、膨大なリソースを有し、クライアントコンピュータからのリソースおよびデータに関する要求に応答する。クライアントコンピュータは、リソースまたはデータに関する、サーバコンピュータへの要求を開始する。コンピューティングのクライアント/サーバモデルの良い例が、ウェブブラウジングである。インターネットのウェブサーバは、通常は、超高速プロセッサ(または複数のプロセッサ)および巨大なハードディスクアレイを有するハイエンドの専用サーバコンピュータである。ウェブサーバは、ウェブサイトに関連するコンテンツのすべて(HTMLファイル、グラフィックス、オーディオファイル、およびビデオファイルなど)を保管し、特定のウェブページ上の情報を閲覧するための要求が到着するのを待つ(listen)。ページが要求される時に、ウェブサーバは、そのページおよび関連ファイルを要求元クライアントに送信する。
クライアント/サーバとピアツーピアネットワーキングとの間の対照的な点は、ドメインネームサービス(Domain Name Service、DNS)の使用である。サーバコンピュータは、通常、DNSに登録され、その結果、クライアントコンピュータは、サーバコンピュータの名前とインターネットプロトコルアドレスとの対応づけ(resolve)ができるようになる。クライアントコンピュータは、通常、DNSに登録されない。というのは、多くのクライアントコンピュータが、一時的な接続性を有し、予測不能な時間にわたって接続され、接続ごとに新しいインターネットプロトコルアドレスを割り当てられる可能性があるからである。また、クライアントコンピュータは、共有リソースを有しておらず、リソースに関する要求に応答しない。したがって、他のコンピュータは、クライアントコンピュータの名前を解決する必要がない。クライアントコンピュータに関するDNSアドレスレコードは、不要である。
その一方で、ピアコンピュータは、共有されるリソースを有する。しかし、ピアコンピュータは、一時的接続性を有する。ピアコンピュータは、DNS動的更新(dynamic update)を使用して名前を登録することができるが、インターネット上のごくわずかなDNSサーバだけが、DNS動的更新をサポートする。ピアツーピアネットワーキングに成功するために、ピアコンピュータは、既存のDNSインフラストラクチャに頼らない。したがって、DNSに頼らずにピア名をそのアドレスに対応づけるために、PNRP(Peer Name Resolution Protocol)と称する機構または、P−GRIDなどの他のピアツーピア名前解決プロトコルを使用することができる。
ピアツーピア名前解決プロトコルおよびDNSの両方に、問題がある。たとえば、DNSは、名前空間(namespace)を変更する時に、管理コストが高くなる。ピアツーピア名前解決プロトコルは、ピア名とIPアドレス、プロトコル名およびポート識別との対応づけに制限される。必要なものは、より低い管理コストで機能強化された結果を提供する名前解決および名前のマッピングの方法である。
したがって、本発明は、ピア名を任意のデータに対応づけできるようにし、DNSのセキュアな代替物を提供する、ルックアップを実行する方法を提供する。この方法は、さらに、複数の名前空間ルートをサポートする。一実施形態では、この方法は、名前空間に関連する1つまたは複数の暗号鍵をまず生成することによって、ルックアップを可能にする。次に、この方法は、暗号鍵の1つを使用して権限(authority)を作成する。次に、この方法は、名前空間の名前が、ピアツーピアタイプ解決を発行するために1つまたは複数の名前空間に関連づけられた権限を要求することで、1つまたは複数の名前空間が権限を参照できるようにし、名前空間が権限に対応づけられる。通信が望まれる他の名前空間について、この方法は、権限と、1つまたは複数の他の権限に対応づけられる他の名前空間に関連する1つまたは複数の名前とを指定する解決(resolution)を発行する。この方法は、さらに、IPアドレス、プロトコル名、およびポートを受け取るために権限およびサービス名を公開(publish)することによるサービスを提供する。
一実施形態によるもう1つの方法は、インターネットを介するサービスの実施を対象とする。この方法には、サービスが権限を提供するための1つまたは複数の鍵を生成すること、次に、サービスへの対応づけを公開することをトップレベルドメインの管理者に要求すること、次に、サービスのサブグループに権限を委譲し、インターネットを介してサービスを公開することが含まれる。サービスを公開することには、サービスのポート番号、プロトコル名、およびIPアドレスを識別する解決を公開することが含まれる。
もう一つの実施形態は、権限および名前の組合せを第2の権限に対応づけすることと、第2の権限をさらなる権限あるいは、任意のデータ、ポート、プロトコル名、またはIPアドレスなどの最終結果に対応づけすることとを含む、名前解決サービスを動作させる方法を対象とする。したがって、名前解決は、委譲される権限のIPアドレスを要求することから独立した、委譲される権限の階層ルックアップまたは連鎖したルックアップを含む。
本発明の追加の特徴および長所は、添付図面を参照して進行する例示的実施形態の下記の詳細な説明から明白になる。
添付の特許請求の範囲に、本発明の特徴を具体的に示すが、本発明は、その目的および長所と共に、添付図面と共に理解される以下の詳細な説明から最もよく理解することができる。
図面に移ると、類似する符号は類似する要素を指し、本発明は適切なコンピューティング環境で実施されるものとして示されている。必須ではないが、本発明を、プログラムモジュールなど、パーソナルコンピュータによって実行されるコンピュータ実行可能命令の一般的な状況で説明する。一般に、プログラムモジュールには、特定のタスクを実行するか特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。さらに、当業者は、本発明を、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブルな消費者電子製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、および類似物を含む他のコンピュータシステム構成で実践できることを諒解するであろう。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境でも実践することができる。分散コンピューティング環境では、プログラムモジュールを、ローカルとリモートの両方のメモリストレージデバイスに配置することができる。
図1に、本発明を実施できる適切なコンピューティングシステム環境100の例を示す。コンピューティングシステム環境100は、適切なコンピューティング環境の一例にすぎず、本発明の使用または機能性の範囲に関する制限を暗示することを意図されたものではない。コンピューティング環境100を、例示的なオペレーティング環境100に示された構成要素のいずれかまたはその組合せに関する依存性または要件を有するものと解釈してもならない。
本発明は、多数の他の汎用または特殊目的のコンピューティングシステム環境または構成で実施をすることができる。本発明と共に使用するのに適する可能性がある周知のコンピューティングシステム、環境、および/または構成の例に、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイス、ラップトップデバイス、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル消費者電子製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、および類似物が含まれるが、これに制限はされない。
本発明を、プログラムモジュールなど、コンピュータによって実行されるコンピュータ実行可能命令の一般的な状況で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明を、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境でも実践することができる。分散コンピューティング環境では、プログラムモジュールを、メモリストレージデバイスを含む、ローカルおよび/またはリモートのコンピュータ記憶媒体に配置することができる。
図1に関して、本発明を実施する例示的システムに、コンピュータ110の形の汎用コンピューティングデバイスが含まれる。コンピュータ110の構成要素に、処理ユニット120、システムメモリ130、およびシステムメモリを含むさまざまなシステム構成要素を処理ユニット120に接続するシステムバス121を含めることができるが、これに限定はされない。システムバス121は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを含むさまざまなタイプのバス構造のいずれかとすることができる。限定ではなく例として、そのようなアーキテクチャに、ISA(Industry Standard Architecture)バス、マイクロチャネルアーキテクチャ(MCA)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびメザニンバスとも称するPCI(Peripheral Component Interconnect)バスが含まれる。
コンピュータ110に、通常、さまざまなコンピュータ可読媒体が含まれる。コンピュータ可読媒体は、コンピュータ110によってアクセスできる媒体のいずれかとすることができる。コンピュータ可読媒体には、揮発性および不揮発性の媒体ならびに取外し可能および取外し不能の媒体の両方が含まれる。限定ではなく例として、コンピュータ可読媒体に、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報のストレージの任意の方法またはテクノロジで実現される、揮発性および不揮発性の、取外し可能および取外し不能の媒体が含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリテクノロジ、CD−ROM、ディジタル多用途ディスク(DVD)、または他の光学ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイス、あるいは、所望の情報の保管に使用でき、コンピュータ110によってアクセスできる他の媒体が含まれるが、これに制限はされない。通信媒体によって、通常は、搬送波または他のトランスポート機構などの変調されたデータ信号内で、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータが具現化される。通信媒体には、すべての情報配信媒体が含まれる。用語「変調されたデータ信号」は、信号内に情報をエンコードする形で1つまたは複数の特性を設定または変更された信号を意味する。限定ではなく例として、通信媒体に、有線ネットワークまたは直接配線接続などの有線媒体と、音響、RF、赤外線、および他の無線媒体などの無線媒体が含まれる。上記のいずれかの組合せも、コンピュータ可読媒体の範囲に含まれなければならない。
システムメモリ130に、読取専用メモリ(ROM)131およびランダムアクセスメモリ(RAM)132などの、揮発性および/または不揮発性メモリの形のコンピュータ記憶媒体が含まれる。起動中などにコンピュータ110内の要素間の情報の転送を助ける基本ルーチンを含む基本入出力システム133(BIOS)が、通常はROM131に保管される。RAM132には、通常は、処理ユニット120によって即座にアクセス可能および/または現在操作されつつあるデータおよび/またはプログラムモジュールが含まれる。限定ではなく例として、図1に、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137が示されている。
コンピュータ110には、他の取外し可能/取外し不能、揮発性/不揮発性のコンピュータ記憶媒体も含めることができる。例のみとして、図1に、取外し不能不揮発性磁気媒体から読み取るかこれに書き込むハードディスクドライブ141、取外し可能不揮発性磁気ディスク152から読み取るかこれに書き込む磁気ディスクドライブ151、CD ROMまたは他の光媒体などの取外し可能不揮発性光ディスク156から読み取るかこれに書き込む光ディスクドライブ155が示されている。例示的なオペレーティング環境で使用することができる他の取外し可能/取外し不能、揮発性/不揮発性コンピュータ記憶媒体に、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM、および類似物が含まれるが、これに制限はされない。ハードディスクドライブ141は、通常は、インターフェース140などの取外し不能メモリインターフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は、通常は、インターフェース150などの取外し可能メモリインターフェースによってシステムバス121に接続される。
上述し図1に示されたドライブおよびそれに関連するコンピュータ記憶媒体によって、コンピュータ110のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストレージがもたらされる。図1では、たとえば、ハードディスクドライブ141が、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を保管するものとして図示されている。これらの構成要素を、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同一または異なるいずれかとすることができることに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147は、少なくともこれらが異なる複製であることを示すために、異なる符号を与えられている。ユーザは、タブレット、または電子ディジタイザ164、マイクロホン163、キーボード162、および、一般にマウス、トラックボール、またはタッチパッドと称するポインティングデバイス161などの入力デバイスを介してコンピュータ110にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)に、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナ、または類似物を含めることができる。上記および他の入力デバイスは、システムバスに結合されたユーザ入力インターフェース160を介して処理ユニット120に接続されることがしばしばであるが、パラレルポート、ゲームポート、またはuniversal serial bus(USB)などの他のインターフェースおよびバス構造によって接続することができる。モニタ191または他のタイプのディスプレイデバイスも、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続される。モニタ191は、タッチスクリーンパネルまたは類似物と一体化することもできる。タブレット型パーソナルコンピュータなどのように、モニタおよび/またはタッチスクリーンパネルを、コンピューティングデバイス110が組み込まれる筐体に物理的に結合できることに留意されたい。さらに、コンピューティングデバイス110などのコンピュータに、スピーカ197およびプリンタ196など、出力周辺インターフェース194または類似物を介して接続することができる他の周辺出力デバイスも含めることができる。
コンピュータ110は、リモートコンピュータ180などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードとすることができ、リモートコンピュータ180には、通常は、コンピュータ110に関して先に説明した要素の多くまたはすべてが含まれるが、図1にはメモリストレージデバイス181だけが示されている。図1に示された論理接続に、ローカルエリアネットワーク(LAN)171および広域ネットワーク(WAN)173が含まれるが、他のネットワークも含めることができる。そのようなネットワーク環境は、オフィス、会社全体のコンピュータネットワーク、イントラネット、およびインターネットでありふれたものである。たとえば、本発明では、コンピュータシステム110に、そこからデータが移植されるソース計算機を含めることができ、リモートコンピュータ180に、宛先計算機を含めることができる。しかし、ソース計算機および宛先計算機は、ネットワークまたは他の手段によって接続される必要はなく、その代わりに、データを、ソースプラットフォームによって書き込まれ、1つまたは複数の宛先プラットフォームによって読み取られることができる媒体を介して移植することができることに留意されたい。
LANネットワーキング環境で使用される時に、コンピュータ110は、ネットワークインターフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用される時に、コンピュータ110に、通常は、インターネットなどのWAN173を介する通信を確立する、モデム172または他の手段が含まれる。モデム172は、内蔵または外付けとすることができるが、ユーザ入力インターフェース160または他の適当な機構を介してシステムバス121に接続することができる。ネットワーク化された環境では、コンピュータ110に関して示されたプログラムモジュールまたはその一部を、リモートメモリストレージデバイスに保管することができる。限定ではなく例として、図1に、メモリデバイス181に常駐するものとしてリモートアプリケーションプログラム185を示す。図示のネットワーク接続が、例示的であり、コンピュータの間の通信リンクを確立する他の手段を使用できることを諒解されたい。
以下の説明では、本発明を、特に示さない限り、1つまたは複数のコンピュータによって実行される動作および動作の記号表現に関して説明する。したがって、時々コンピュータ実行されるとも称するそのような動作に、構造化された形でデータを表す電気信号の、コンピュータの処理ユニットによる操作が含まれる。この操作によって、データが変換されるか、コンピュータのメモリシステム内のある位置でデータが維持され、これによって、当業者には周知の形でコンピュータの動作が再構成または他の形で変更される。データが維持されるデータ構造は、データのフォーマットによって定義される特定の特性を有するメモリの物理的位置である。しかし、本発明を、前述の文脈で説明するが、以下に記載のさまざまな動作をハードウェアでも実施できることを当業者が諒解するように、この説明は、制限的であることを意図されたものではない。
図2を参照すると、ブロック図に、ピアツーピアネットワーキングアーキテクチャ200が示されている。図からわかるように、アーキテクチャ200を、Win32アプリケーションプログラミングインターフェース(API)202、WinSock API204、および暗号サポートを提供するAPI206に結合することができる。アーキテクチャ200には、グラフと称する接続されたノードの組を維持し、グラフにわたるフラッディング(flooding)およびデータの複製を負うグラフィング(graphing)コンポーネント208が含まれる。グラフィングコンポーネント208によって、フラッドおよび同期化コンポーネント210、ストアコンポーネント212、およびグラフ維持コンポーネント214が使用される。
アーキテクチャ200には、さらに、グループ化コンポーネント216が含まれる。グループ化コンポーネント216を、デフォルトでグラフの上に提供されるセキュリティレイヤとして実装(implement)することができる。セキュリティレイヤによって、グループ作成、案内(invitation)、およびグループへの接続の背後にあるセキュリティモデルが定義される。さらに、グループ化コンポーネント216を、名前解決プロトコルとしてPNRPを活用するように構成することができ、複数のアプリケーションが同一のグラフを共有できるようにすることができる。グループ化コンポーネント216によって、グループセキュリティ218およびグループセキュリティサービスプロバイダ(SSP)サブコンポーネント220が使用される。
アーキテクチャ200には、さらに、ネームサービスプロバイダ(NSP)コンポーネント222が含まれる。NSPコンポーネント222によって、任意の名前サービスプロバイダにアクセスする機構が提供される。したがって、当業者が諒解するように、特定の名前サービスプロバイダへの言及は、例示的であるものとして理解される。Windows(登録商標)ピアツーピアネットワーキングの場合に、ピアツーピアアプリケーションによって、PNRPにアクセスするのにNSPインターフェースが使用される。
アーキテクチャ200には、さらに、ピアツーピア名前解決をもたらすPNRPコンポーネント224、およびピアツーピア識別の作成および管理を可能にする識別マネージャ226が含まれる。
図2は、Microsoft TCP/IPバージョン6プロトコル228を含むものとして図示されている。Microsoft TCP/IPバージョン6プロトコル(IPv6)は、例示的であり、Windows(登録商標)ピアツーピアネットワーキングがその上で動作するトランスポートを提供する。
PNRPコンポーネント224によって、ピアツーピアの名前解決のためのプロトコルが使用され、これによって、ピア名を、IPアドレス、プロトコル、およびポートに対応づけできるようになる。より詳細には、ピア間で通信するために、各ピアは、お互いの存在を発見でき、名前または他のタイプの識別子からお互いのネットワークロケーション(アドレス、プロトコル、およびポート)を対応づけできなければならない。ピアがお互いを発見し、お互いの名前を通信のために解決する方法は、一時的接続性およびDNSにアドレスレコードがないことによって複雑になっている。
P−GridおよびPNRPなどのピアツーピアネットワーク解決プロトコルによって、分散型で、名前解決に関してサーバレスである、名前解決およびピアディスカバリ(discovery)方式が提供される。PNRPによって、DNSと同様に、クラウド(cloud)全体のコンピュータに保管された名前の完全なリストが提供される。DNSと異なって、名前解決を提供するサーバはない。各ピアが、リストの一部をそのキャッシュに保管し、他のピアを参照することができる。中央サーバは、名前を解決するのに使用されない。しかし、PNRPは、厳密にはサーバレスではなく、初期化を容易にするシードノード(seed node)コンピュータがある。
DNSにおいて完全正規ドメイン名のような名前を使用するのではなく、PNRPは、識別子を使用して、ピアエンティティを識別する。識別子は、単なる番号であり、したがって、言語および商標または著作権の対象ではない。PNRPは、それぞれ独立したピアコンピュータ、ユーザ、グループ、デバイス、サービス、または他のタイプのピアノードが、それ自体のピア識別子を有することを可能にする。識別子のリストは、各ノードで最小限のリソースを必要としながら、数億個の識別子まで名前解決を拡大縮小(scale)できるようにするマルチレベルキャッシュおよび参照システムを使用して、ピア間に分散される。
PNRPは、名前解決およびピアディスカバリのためにピア間でメッセージを送るのに使用されるプロトコルである。PNRPでは、複数のクラウドが使用され、クラウドは、特定のスコープ(scope)のアドレスを使用するコンピュータのグループ化である。スコープは、アドレスが一意であるネットワークの範囲である。PNRPクラウドは、IPv6アドレスのアドレススコープに基づく。クラウドに、グローバルIPv6アドレススコープに対応し、IPv6インターネット全体のすべてのコンピュータを表すグローバルクラウドを含めることができる。グローバルクラウドは、1つだけ存在する。サイト固有クラウドは、サイトIPv6アドレススコープおよびサイトローカルアドレスに対応する。サイトは、組織ネットワークのうちで、定義された地理的境界またはトポロジ的境界を有する部分である。サイト固有クラウドは、複数存在することができる。リンクローカルクラウドは、リンクローカルIPv6アドレススコープおよびリンクローカルアドレスに対応する。リンクローカルクラウドは、特定のリンクに関するものであり、通常は、ローカルに接続されたサブネットと同一である。リンクローカルクラウドは、複数存在することができる。
ピア名およびピアツーピアID
ピア名は、通信のエンドポイントであり、これは、コンピュータ、ユーザ、グループ、サービス、またはIPv6アドレスに対応づけされることが求められる他のあらゆるものとすることができる。ピア名は、セキュリティ無しまたはセキュリティ有りとして登録することができる。セキュリティ無しの名前は、誰でも重複したセキュリティ無しの名前を登録することができるけれども、なりすまし(spoofing)の対象になる単なる文字列である。セキュリティ無しの名前は、プライベートネットワークまたは他のセキュリティ有りのネットワークで最もよく使用される。セキュリティ有りの名前は、所有者だけが登録でき、証明書およびディジタル署名を用いて保護される。
PNRP識別子は、256ビットの長さとすることができ、PNRP識別子には、ピアツーピア識別子と称する、エンドポイントに割り当てられたピア名のハッシュである上位128ビットの組が含まれる。
エンドポイントのピア名は、Authority.Classifierというフォーマットを有する。セキュリティ有りの名前の場合に、Authorityは、16進文字の、ピア名の公開鍵のSecure Hash Algorithm(SHA)ハッシュである。セキュリティ無しの名前の場合に、Authorityは、単一の文字「0」である。Authorityは、通常は、base64エンコードされた2進データである。したがって、Authorityによって、ピア名をセキュアにする手段が提供される。ピア名の公開者は、その権限に基づいた公開鍵に対応する秘密鍵の所有権の証拠を提供するように要求することができる(challenge)。詳細には、PNRPで公開されるデータは、通常は、権限の秘密鍵を使用して署名される((アドレス、プロトコル名、ポート番号)タプルの特定の場合に、公開されるデータを、サーティファイドピアアドレス(certified peer address、CPA)と称する)。
Classifierは、アプリケーションを識別するストリングであり、長さ150文字までのユニコード文字列とすることができる。
下位128ビットは、サービスロケーションのために使用され、これは、同一のクラウド内の同一のピアツーピア識別子の異なるインスタンスを一意に識別する、生成される数である。
ピアツーピア識別子とサービスロケーションとの256ビットの組合せによって、複数のPNRP識別子を単一のコンピュータから登録できるようになる。
クラウドごとに、各ピアノードが、それ自体の登録されたPNRP識別子および経時的にキャッシングされたエントリの両方を含むPNRP識別子のキャッシュを管理する。あるクラウドのすべてのピアノードに配置されたPNRP識別子の組全体に、分散ハッシュテーブルが含まれる。さらに、所与のPNRP識別子のエントリを、複数のピアに配置することができる。PNRPキャッシュ内の各エントリに、登録するノードの、PNRP識別子、CPA、およびIPv6アドレスが含まれる。CPAは、PNRP識別子に関する認証保護を提供する自己署名型の証明書であり、CPAには、アプリケーションエンドポイント情報(アドレス、プロトコル番号、およびポート番号)が含まれる。
したがって、名前解決処理は、PNRP識別子をCPAに対応づけすることからなる。CPAを得た後に、望みのエンドポイントとの通信を開始することができる。したがって、PNRPによって、ノードが「<ピア名>→<データ>」関連を公開する方法が提供され、その結果、他のノードが、ピア名を検索でき、データを判定できるようになる。
名前解決
ピア名をそのアドレス、プロトコル、およびポート番号に対応づけしたい場合、ピアによって、ピア名に基づいてピアツーピア識別子が構成される。当技術分野には、複数のピアツーピア解決プロトコルがあり、本明細書の説明では、例示的プロトコルとしてPNRPに言及する。しかし、この開示の利益を享受する当業者は、他の解決プロトコルが、本明細書の実施形態から利益を得ることができることを諒解するであろう。
ピアによって、ピアツーピア識別子に一致するエントリについて、それ自体のキャッシュ内のエントリが調べられる。見つかった場合には、ピアは、そのピアにPNRP要求メッセージを送信し、応答を待つ。この挙動は、通信するピアノードが、クラウド内でアクティブであることが確実にする。見つからなかった場合には、ピアによって、対応づけされるピアツーピア識別子に最もよく一致するピアツーピア識別子を有するエントリに対応するピアに、PNRP要求メッセージが送信される。このPNRP要求メッセージを受信したノードは、それ自体のキャッシュを調べる。見つかった場合に、そのノードは、要求を意図されたノードに転送し、意図されたノードは、要求パスに沿って応答を送り返す。見つからなかった場合には、そのノードは、対応づけされるピアツーピア識別子に最もよく一致するピアツーピア識別子を有するエントリに対応するピアにPNRP要求メッセージを送信し、正しいピアが見つかるまでこれが繰り返される。より詳細には、ピアは、識別子の範囲の上下10個を含むある範囲のピアツーピア識別子を知っている。上記の説明および以下の例は、説明をわかりやすくするために単純化されている。ピアのグラフを通ってナビゲートするのに必要なホップの実際の数は、log(ピアツーピア識別子の数空間)である。
図3を参照すると、ピアノードの組による、名前解決の例が提供される。ピアA(310)は、それ自体のPNRP識別子200とPNRP識別子450および500のエントリを有する。あるノードから別のノードへの矢印は、矢印の始点にあるノードが、矢印の終点にあるノードのエントリをそのキャッシュに有することを意味する。
この例では、ピアA(310)が、PNRP ID 800の対応づけを求めると仮定する。ピアA310は、PNRP ID 800に最も近いPNRP IDを有するノードにPNRP要求メッセージを送るが、このIDは、ピアC(320)によって保持される。というのは、500が、ピアA(310)によって保持される他のエントリよりも数値として800に近いからである。図からわかるように、ピアC320は、PNRP ID 800のエントリを有しておらず、かつPNRP ID 800に近いエントリを有しない。ピアC320は、それを示す応答をピアAに送り返す。
PNRP ID 450が、PNRP ID 800に次に近いPNRP IDなので、ピアA(310)は、PNRP ID 450のPNRP IDを登録しているのでピアB(330)にPNRP要求メッセージを送信する。ピアB(330)は、この要求をPNRP ID 800を登録したIPアドレスに転送する。これは、ピアE(340)である。ピアBは、そのキャッシュにピアEのエントリを有するが、このキャッシュエントリの存在は、ピアEが現在ネットワーク上で求めに応じられることを確実にしない。したがって、ピアE(340)は、ピアB(330)に応答を送り返す。ピアB(330)は、応答をピアA(310)に送り返す。PNRP ID 350を有するピアD(350)は、名前解決手順によるメッセージを受け取らない。PNRP要求メッセージの転送中のループを防ぐために、各メッセージに、要求を既に転送したピアのリストが含まれる。PNRP要求メッセージが転送されている間に、その内容が使用され、それを転送するノードのキャッシュに取り込まれる。また、応答が、リターンパスを介して送り返される時に、その内容が使用され、ノードキャッシュに取り込まれる。
PNRPに関する問題は、ピアと通信するために、権限がそのピアに対して知られていなければならないことである。権限は大きい数字であって、それに対しては、ピアが通信を望む他のピアに権限を通信させる必要をなくす解決プロトコルがない。応答は、RSA鍵に結び付けられ、セキュアであることを証明できるので、セキュアである。また、PNRPは、authority.nameによってIPアドレスを供給でき、ポートの突き止めを制限するようにすることができる。
上記の例では、PNRPによって、ピアノードのピア名がどのようにマッピングされるかを示した。本明細書の実施形態によって、任意のデータへのピア名のマッピングをサポートするためにPNRPを一般化するシステムおよび方法がもたらされる。本明細書の実施形態では、PNRPマッピングの能力を活用して、ドメインネームサービス(DNS)に対する安全な代替案を提供する。DNSでは、トップレベルドメイン(TLD)が、ICANN(The Internet Corporation for Assigned Names and Numbers)によって管理される。インターネットのDNSを用いると、ユーザが、インターネットの各コンピュータに割り当てられるすべて数字のIPアドレス(「192.0.34.65」など)ではなく、覚えやすいドメイン名(「www.icann.org」など)を使用してウェブサイトおよび他のリソースを参照できるようになる。各ドメイン名は、ドットによって区切られた一連の文字列(「ラベル」と称する)からなる。ドメイン名の右端のラベルを、「トップレベルドメイン」(TLD)と称する。
DNSによって、ツリー状の階層が形成される。各TLDに、多数の第2レベルドメイン(「www.icann.org」にみられる「ICANN」など)が含まれ、各第2レベルドメインに、複数の第3レベルドメイン(「www.icann.org」の「www」など)を含めることができ、以下同様である。
各TLDのオペレーション責任(TLD内の第2レベルドメインのレジストリの維持を含む)は、特定の組織に委譲される。これらの組織を、「レジストリオペレータ」、「スポンサ」、または単に「被委任者(delegee)」と称する。
DNSによって、.com、.info、.net、.gov、および類似物に関するサービスを含むルートネームサービスが提供される。たとえば、「www.microsoft.com」に関する要求では、まず「com」が突き止められ、要求が、「com」を担当する複数のサーバの1つに転送される。これらのサーバは、次に、「microsoft」に関連するアドレスを検索する。次に、microsoft.comを担当するサーバが、「www.microsoft.com」の「www」部分のアドレスを提供する。DNSに関する問題は、「microsoft.com」空間内で独自の名前を作成することできないことである。さらに、名前を変更するためには、システム管理者が、複数の計算機を介する伝搬を介してアドレスサーバおよび情報サーバを動作させなければならず、これによって時機を失する。
Simple Public Key Infrastructure(SPKI)は、自分の鍵について権威をもって語ることができるデバイスだけがその鍵の作成者であるということを規定するシステムである。これによって、デバイスを信頼するかどうかの判断が、他のデバイスに委ねられる。たとえば、デバイスは、(myname,mypublickey)privatekeyなどの鍵対を供給することができ、この添字は、名前と鍵が署名されることを識別する。また、デバイスは、他者に既知の鍵を使用して証明書に署名することができる(myname,yourname,yourpublickey,mypublickey)myprivatekey。他のデバイスも、それ自体の鍵について証明書を発行することができる(yourname,yourpublickey)yourprivatekey。したがって、デバイスが、他者の公開鍵を検索することを望み、鍵を公開するデバイスを信頼する場合に、そのデバイスは、鍵の所有者から直接に鍵を検索する必要がない。
SPKIでは、ユーザが、鍵を見つけることを求める場合に、鍵を伴う別の証明書を照会して身元を証明し、また、照会可能な鍵の所有者にコンタクトする方法を提供することができる。SPKIでは、一般に、公開鍵および名前の提供によって、鍵を提供できることが提供され、SPKIは、所望の鍵を突き止める階層構造を可能にする。
本開示において、表記[]は、権限を表すのに使用される。{}[auth]は、権限秘密鍵を用いた署名を表すのに使用される。本明細書の実施形態は、IPアドレスを指定せずに、名前および権限によって第2の権限、つまり([auth],name)→(auth)、を作ることができることを提供することによって、複数の名前空間ルートをサポートするネームサービスを対象とする。IPアドレスが必要な場合には、結果としてIPアドレスが供給されるまで、ルックアップの結果を別のルックアップに使用することができる。
図4を参照すると、フロー図によって、一実施形態による方法が示されている。ブロック410では、計算機または名前空間の鍵の生成を提供する。鍵は、SPKI型の鍵とすることができ、そのいくつかをX.509証明書としてフォーマットすることができる自己署名式証明書を使用して認証が提供される。ブロック420では、権限[A]を作成するための生成された公開鍵のハッシュ化が提供される。公開鍵の検証可能な衝突困難性(collision resistant)縮小変換を使用することができ、あるいは、サイズが無関係なシステムに実際の公開鍵を使用することができる。
ブロック430では、名前空間の名前がオーソリティに対応づけされるように、ピアツーピアタイプ解決を発行するために1つまたは複数の名前空間に関連付けられた権限の要求を介して、1つまたは複数の名前空間によって権限を参照できるようにすることを提供する。したがって、権限への通信および参照が望まれる、名前N、N…Nを有する他の名前空間S、S、…Sがある場合に、名前N、NをA(権限)に対応づけできるようにするために、([S].N)→A、([S].N)→A…([S].N)→AといったPNRPのように、ピアツーピア名前解決プロトコルを使用してこれらの名前空間が発行する権限を要求する。ブロック440では、通信が望まれる他の権限について、権限を指定する解決および他の権限に関連する名前を発行し、他の権限を供給することを提供する。したがって、通信が望まれる、名前空間N、N…Nを有する他の権限A、A…Aについて、([A].N)→A、([A].N)→A…([A].N)→Aへの解決を発行する。ブロック450では、供給されるサービスについて、権限およびサービス名を公開し、IPアドレス、プロトコル名、およびポートの1つまたは複数の最終結果を返すことを提供する。上述したように、供給されるサービスについて、([A].servicename)→(IPaddress,protocol name,port)を公開する。
サービスは対応づけされ、望みの任意のデータを供給することができる。たとえば、コンピュータによって、本明細書に記載の実施形態を使用して、項目の異なる組について在庫を追跡することができる。一実施形態によれば、項目を、階層名前空間を介して突き止めることができる。一例では、階層を、トップレベル会社によって編成することができる。次レベルを、その会社の倉庫(warehouse)とすることができる。各倉庫によって、部品(part)名を識別するレベルをサポートすることができる。部品名レベルによって、在庫レベル、価格レベル、および類似物をサポートすることができる。在庫レベルおよび価格レベルのそれぞれを解決して、手持ちの在庫を識別することができる。ポート名、プロトコル、およびIPアドレスを提供する代わりに、この実施形態によれば、照会は、最終結果に対応づけされ、たとえば使用可能性に関するデータが供給される。一実施形態では、最終結果を、会社が最低価格を提供する照会とすることができ、この最終結果が、使用可能な製品を有するものとすることができる。この場合、最終結果を、起点の会社とすることができる。
一実施形態で、IPアドレス、ポート、およびプロトコル名を突き止めるのに使用される権限を、ピアツーピアネットワーク内のキャッシュから検索することができる。しかし、IPアドレス、ポート、およびプロトコル名がキャッシュから検索される場合には、チャレンジを作るために所有者に達するためにさらなる解決が必要になる。
一実施形態による方法に従って、authority=hash(サービスの公開鍵)など、サービスが権限を提供するための鍵をサービスによって生成することができる。次に、サービスは、ICANN.comの権限またはTLDの別の管理者が([com],Service)→hash(サービスの公開鍵)を公開することを要求することができる。次に、この方法によれば、サービスは、サブグループなどの権限に名前空間を委譲する([Service],subgroup)→hash(サブグループの公開鍵)。次に、この方法では、ウェブサービスを公開する([Service].www)→(IPaddress,TCP,80)。
上述のように、ICANNを使用してこの方法を実施し、この方法を使用してドメインネームサービスを提供するために、ICANNは、公開鍵/秘密鍵対を有して、公開鍵を使用して権限[ICANN]を導出できる。次に、ICANNは、TLDのそれぞれの管理者が鍵対および関連付けられた権限([com],[edu],[org]など)を生成することを提供することができる。次に、ICANNは、各TLDのバインディングを公開する。
{[ICANN].com→[com]}[ICANN]
{[ICANN].edu→[edu]}[ICANN]
{[ICANN].org→[org]}[ICANN]
もう1つの例では、Microsoft(登録商標)が、鍵対を作成し、comドメインの管理者に権限[Microsoft]を提供する。その管理者は、
{[com].microsoft→{Microsoft]}[com]
を公開する。Microsoft(登録商標)管理者は、ホストの代わりに外部から可視のMicrosoft(登録商標)サービスのCPAを公開することができる{[Microsoft].www→(address,TCP,80)}[Microsoft]。上記のように、この方法によって、アドレスだけではなく、ポートおよびプロトコル情報が提供される。サービスへの対応づけを可能にすることによって、この方法は、DNSなどホストだけを対応づけするルックアップ方法より有用である。[ICANN]は、単に1つの可能なルート権限であり、他のルート権限を簡単に作成できることに留意されたい。異なるアドレス領域で動作するローカル名前空間をセットアップすることができる。
提供される方法は、DNS型ルックアップに対する利点を有する。たとえば、この方法では、DNSに対する追加されたセキュリティを提供する、署名付きの名前が使用される。
この方法は、PNRPなどの通常のピアツーピア名前解決プロトコルに対する利点も有する。先に説明したように、PNRPは、グローバルPNRPクラウドを介して実施することができる。すべてのパブリッシャがグローバルPNRPクラウドに参加する場合に、プライマリ/セカンダリネームサーバレコードを有する必要がない。これらが変更される時に参加者管理の負担があり、上位レベルドメイン管理者が、構成を更新しなければならず、DNSキャッシュに対する変更を伝搬させなければならない。本明細書に記載の方法に従って実行されるルックアップは、管理者義務の緩和をもたらす。「上流」管理者がレコードを変更する必要がある唯一の時は、誰かが新しい鍵対を作成し、古い権限を止める時であり、これは、深刻なセキュリティ違反(breach)の場合にのみ発生するだろう。
さらに、以前のルックアップ方法と異なって、動的アドレスを、単に新しい権限を作成することによって、さらに権限を委譲することによって、自明にサポートすることができる。たとえば、Microsoft(登録商標)ウェブサーバが動的ホスト構成プロトコル(DHCP)によって割り当てられたアドレスを使用する場合に、サーバも、鍵対を有することができる。この鍵対によって、サーバが、権限[www]を生成できるようになり、Microsoft(登録商標)管理者は、実際のIPアドレスを更新する必要なしに、{[Microsoft].www→[www]}[Microsoft]を公開することができる。
ウェブサーバに新しいアドレスが割り当てられる場合に、必ず、そのウェブサーバは
{[www].→(address,TCP,80)}[www]
を公開する。
したがって、この方法は、中央サーバを更新する必要なしに各ホストが詳細を自由に更新できる、ダイナミックDNSタイプのルックアップを提供する。この方法の一実施形態では、ダイナミックルックアップによって、最後の権限と最初の権限が同一である、権限の循環チェーンをもたらすことができる。たとえば、他のサービスの第1ベンダが、照会に応答して権限を提供することができ、ここで、権限は、事前に決定される品質でベンダに関するルックアップを提供するように動作するサービスに関連する。第1ベンダが、1つまたは複数の事前に決定される品質を有する場合に、権限は応答し、照会に対する応答中に第1のベンダの権限を含まれる。
本発明の原理を適用できる多数の可能な実施形態に鑑みて、図面に関する本明細書に記載の実施形態が、例示的であることを意図され、本発明の範囲を制限するものと解釈されてはならないことを理解されたい。たとえば、当業者は、ソフトウェアで示した例示的形態の要素はハードウェアで実装可能であり、またその逆でもよく、示された実施形態の要素を、本発明の趣旨から逸脱せずに配置および詳細において変更できることを理解するであろう。したがって、本明細書に記載の発明では、そのようなすべての実施形態が、請求項およびその同等物の範囲に含まれるものとして企図されている。
本発明が常駐する例示的なコンピュータシステムを全体的に示すブロック図である。 本発明の実施形態によるシステムのブロック図である。 ピアツーピアタイプの解決を示すブロック図である。 本発明の実施形態による方法を示すフロー図である。
符号の説明
100 コンピューティングシステム環境
110 コンピュータ
120 処理ユニット
121 システムバス
130 システムメモリ
131 ROM
132 RAM
133 BIOS
134 オペレーティングシステム
135 アプリケーションプログラム
136 他のプログラムモジュール
137 プログラムデータ
140 取外し不能不揮発性メモリインターフェース
141 ハードディスクドライブ
144 オペレーティングシステム
145 アプリケーションプログラム
146 他のプログラムモジュール
147 プログラムデータ
150 取外し可能不揮発性メモリインターフェース
151 磁気ディスクドライブ
152 取外し可能不揮発性磁気ディスク
155 光ディスクドライブ
156 取外し可能不揮発性光ディスク
160 ユーザ入力インターフェース
161 マウス
162 キーボード
163 マイクロホン
164 タブレット
170 ネットワークインターフェース
171 ローカルエリアネットワーク
172 モデム
173 広域ネットワーク
180 リモートコンピュータ
181 メモリストレージデバイス
185 リモートアプリケーションプログラム
190 ビデオインターフェース
191 モニタ
195 出力周辺インターフェース
196 プリンタ
197 スピーカ
200 ピアツーピアネットワーキングアーキテクチャ
202 Win API
204 WinSock API
206 暗号API
208 グラフィング
210 フラッドおよび同期化
212 ストア
214 グラフ維持
216 グループ化
218 グループセキュリティ
220 グループSSP
222 NSP
224 PNRP
226 識別マネージャ
228 Microsoft TCP/IPバージョン6プロトコル
310,320,330,340,340,350 ピア

Claims (18)

  1. ピアツーピアタイプ解決を使用して接続されたデバイスの間でのセキュアで集約され階層化されたルックアップを可能にする方法であって、前記ピアコンピュータは前記接続されたデバイスのうちの1つであり、前記方法は前記メモリに格納されたコンピュータ実行可能命令を実行する前記ピアコンピュータのプロセッサによって実行され、前記メモリは前記第1のノードに対応する第1のピア識別子及び前記接続されたデバイスのうちの他のデバイスに対応する他のノードに対応する他のピア識別子のキャッシュをさらに格納し、前記第1のピア識別子及び前記他のピア識別子は前記第1のノードと前記他のノード間の通信を確立する際に前記ピアツーピアタイプ解決により使用される、前記方法は、
    前記ピアコンピュータが、第1のドメインの第1の名前空間に関連する1つまたは複数の第1の暗号鍵を生成し、ここで前記第1のドメインは、集約され階層化された、名前空間を有するドメインのセットのメンバであり
    前記ピアコンピュータが、前記1つまたは複数の第1の暗号鍵の1つを使用して第1の権限を作成
    前記ピアコンピュータが、次の上位階層の名前空間に関連する1つまたは複数の次の暗号鍵を成し、ここで、前記次の上位階層の名前空間は前記第1の名前空間よりも1つ上位の階層のドメインであり、前記上位の階層のドメインは前記集約され階層化された名前空間を有するドメインのセットのうちの他のメンバであり、
    前記ピアコンピュータが、前記1つまたは複数の次の暗号鍵の1つを使用して次の上位階層の権限を作成し、
    前記ピアツーピアタイプ解決を使用して、前記他のノードに、前記第1の名前空間と前記次の階層の名前空間との間の対応付けを公開することを含み、前記対応付けは、
    前記第1の名前空間でユニークな名前を前記第1の権限に対応付ける署名付き解決であり、
    前記署名付き解決は前記1つまたは複数の次の暗号鍵の1つで署名されており、前記ユニークな名前は前記次の上位層の権限と前記第1の名前空間を含む
    ことを特徴とする方法。
  2. 前記接続されたデバイスは、ピアツーピアネットワーククラウドの一部であることを特徴とする請求項1に記載の方法。
  3. 前記方法は、前記第1の名前空間がサービスである場合に、前記ピアツーピアタイプ解決を使用して、前記他のノードに、第2の対応付けを公開することを含み、前記第2の対応付けは、前記第1の権限を、データを提供する最終結果に対応付ける署名付きサービス解決であり、前記署名付きサービス解決は、前記1つまたは複数の第1の暗号鍵の1つで署名されていることを特徴とする請求項1に記載の方法。
  4. 前記方法は、前記第1の名前空間がサービスである場合前記ピアツーピアタイプ解決を使用して、前記他のノードに、第2の対応付けを公開することを含み、前記第2の対応付けは、前記第1の権限をIPアドレス、プロトコル名、およびポートに対応付ける署名付きサービス解決であり、前記署名付きサービス解決は、前記1つまたは複数の第1の暗号鍵の1つで署名されていることを特徴とする請求項1に記載の方法。
  5. 前記方法は、権限委譲を介して前記第1の名前空間のアドレスを初めのアドレスから新しいアドレスへ動的に変更することをサポートし、前記方法は、
    前記ピアツーピアタイプ解決を使用して、前記他のノードに、前記新しいアドレスと前記第1の名前空間の新しい対応付けを公開することを含み、ここで、前記新しい対応付けは、前記第1の権限を前記新しいアドレスに対応づける署名付きの新しい解決であり、前記署名付きの新しい解決は前記1つまたは複数の第1の暗号鍵の1つで署名されていることを特徴とする請求項1に記載の方法。
  6. 前記署名付きの解決は、前記名前を1つのホストおよび1つのサービスのうちの1つに対応付けることを特徴とする請求項1に記載の方法。
  7. 前記第1の権限を作成することは、前記1つまたは複数の第1の暗号鍵の1つについてハッシュの計算を実行することを含み、前記1つまたは複数の第1の暗号鍵の1つは、第1の秘密鍵公開鍵のペアのうちの公開鍵であり、
    前記次の上位階層の権限を作成することは、前記1つまたは複数の次の暗号鍵の1つについて次のハッシュの計算を実行することを含み、前記1つまたは複数の次の暗号鍵の1つは、次の秘密鍵と公開鍵のペアのうちの次の公開鍵であることを特徴とする請求項1に記載の方法。
  8. 名前解決プロトコルを実装するためにピアツーピアネットワークにおける第1のノードに対応するピアコンピュータのメモリに格納されるデータ構造を生成する方法であって、前記方法は前記ピアコンピュータのメモリに格納されたコンピュータ実行可能命令を実行する前記ピアコンピュータのプロセッサによって実行され、前記メモリは前記第1のノードに対応する第1のピア識別子及び前記ピアツーピアネットワークにおける他のノードに対応する他のピア識別子のキャッシュを格納し、前記第1のピア識別子及び前記他のピア識別子は前記第1のノードと前記他のノード間の通信を確立する際に前記ピアツーピアタイプ解決により使用される、前記方法は、
    前記ピアコンピュータが、第1の公開鍵に関連した第1の権限コンポーネントを有する第1のフィールドを生成し、ここで、前記第1の公開鍵は第1の秘密鍵と公開鍵のペアのうちの一部であり、前記第1の権限コンポーネントは第1のドメインの第1の名前空間に対応し、前記第1のドメインは集約され階層化された名前空間のセットのメンバであり、
    前記ピアコンピュータが、第2の名前空間に関連した第2の名前コンポーネントを有する第2のフィールドを生成し、ここで、第2の名前空間は第2の権限に対応し、前記第2の名前空間のドメインは前記集約され階層化された名前空間のセットのうちの他のメンバであり前記第1の名前空間のドメインより低階層であり、前記第1の権限コンポーネント及び前記第2の名前コンポーネントは前記第2の権限に対応付けされる、
    前記第1のフィールドと前記第2のフィールを含むように前記データ構造を構成し、
    前記ピアコンピュータが、前記第1の権限及び前記第2の名前コンポーネントを前記第2の権限に対応付ける解決を前記ピアツーピアネットワークに対して公開するために、前記構成されたデータ構造を名前解決プロトコルに提供する
    ことを特徴とする方法。
  9. 前記方法は、前記第2の名前空間がサービスである場合に、前記第2の権限を前記サービスのポート番号、プロトコル名、およびIPアドレスへの対応付ける第2の解決を前記ピアツーピアネットワークに対して公開するために、前記第2の権限コンポーネントを名前解決プロトコルに提供することを特徴とする請求項に記載の方法。
  10. 前記方法は、前記第1の名前空間が第1のホストである場合に、前記第1の権限コンポーネント及び第2の名前コンポーネントは、前記第2の権限に対応する第2のホストに対応付けることを特徴とする請求項に記載の方法。
  11. 前記方法は、前記ピアコンピュータが、前記キャッシュからIPアドレス、プロトコル名、またはポート1つまたは複数検索することをさらに含むことを特徴とする請求項に記載の方法。
  12. ピアツーピアタイプ解決を使用して接続されたデバイスの間でのセキュアで集約され階層化されたルックアップを可能にするステップをコンピュータに実行させるプログラムを記録したコンピュータ可読記録媒体であって、前記プログラムは、コンピュータに、
    第1のドメインの第1の名前空間に関連する1つまたは複数の第1の暗号鍵を生成するステップであって、ここで、前記第1のドメインは、集約され階層化された、名前空間を有するドメインのセットのメンバである、ステップと、
    前記1つまたは複数の第1の暗号鍵の1つを使用して第1の権限を作成することと、
    次の上位階層の名前空間に関連する1つまたは複数の次の暗号鍵を生成するステップであって、ここで、前記次の上位階層の名前空間は前記第1の名前空間よりも1つ上位の階層のドメインであり、前記上位の階層のドメインは前記集約され階層化された名前空間を有するドメインのセットのうちの他のメンバである、ステップと、
    前記1つまたは複数の次の暗号鍵の1つを使用して次の上位階層の権限を作成するステップと、
    前記ピアツーピアタイプ解決を使用して、前記他のノードに、前記第1の名前空間と前記次の階層の名前空間との間の対応付けを公開するステップであって、ここで前記対応付けは、
    前記第1の名前空間でユニークな名前を前記第1の権限に対応付ける署名付き解決であり、
    前記署名付き解決は前記1つまたは複数の次の暗号鍵の1つで署名されており、前記ユニークな名前は前記次の上位層の権限と前記第1の名前空間を含む、
    ステップと
    を実行させることを特徴とするコンピュータ可読記録媒体。
  13. 前記接続されたデバイスは、ピアツーピアネットワーククラウドの一部であることを特徴とする請求項12に記載のコンピュータ可読記録媒体。
  14. 前記プログラムは、前記コンピュータに、
    前記第1の名前空間がサービスである場合に、第2の対応付けを公開するステップであって、前記第2の対応付けは、前記第1の権限を、任意のデータ、またはIPアドレス、プロトコル名、およびポートのグループのうちの1つまたは複数に対応付ける署名付きサービス解決であり、前記署名付きサービス解決は、前記1つまたは複数の第1の暗号鍵の1つで署名されている、ステップ
    実行させることを特徴とする請求項12に記載のコンピュータ可読記録媒体。
  15. 前記プログラムは、前記コンピュータに、
    権限委譲を介して前記第1の名前空間のアドレスを初めのアドレスから新しいアドレスへ動的に変更することをサポートするステップであって、
    前記ピアツーピアタイプ解決を使用して、前記他のノードに、前記新しいアドレスと前記第1の名前空間の新しい対応付けを公開することを含み、ここで、前記新しい対応付けは、前記第1の権限を前記新しいアドレスに対応づける署名付きの新しい解決であり、前記署名付きの新しい解決は前記1つまたは複数の第1の暗号鍵の1つで署名されている、ステップ
    実行させることを特徴とする請求項12に記載のコンピュータ可読記録媒体。
  16. 前記署名付きの解決は、前記名前を1つのホストおよび1つのサービスからなるグループのうちの1つに対応付けることを特徴とする請求項12に記載のコンピュータ可読記録媒体。
  17. 前記署名付きの解決は、前記名前を任意のデータに対応付けることを特徴とする請求項12に記載のコンピュータ可読記録媒体。
  18. 前記第1の権限を作成することは、前記1つまたは複数の第1の暗号鍵の1つについてのハッシュの計算を実行することを含み、前記1つまたは複数の第1暗号鍵の1つは、第1の秘密鍵公開鍵のペアのうちの公開鍵であり、
    前記次の上位階層の権限を作成することは、前記1つまたは複数の次の暗号鍵の1つについて次のハッシュの計算を実行することを含み、前記1つまたは複数の次の暗号鍵の1つは、次の秘密鍵と公開鍵のペアのうちの次の公開鍵であることを特徴とする請求項12に記載のコンピュータ可読記録媒体。
JP2004213493A 2003-07-21 2004-07-21 ピアツーピアネットワークでのセキュア階層名前空間 Expired - Fee Related JP4698180B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/623,994 US7516482B2 (en) 2003-07-21 2003-07-21 Secure hierarchical namespaces in peer-to-peer networks
US10/623,994 2003-07-21

Publications (3)

Publication Number Publication Date
JP2005056407A JP2005056407A (ja) 2005-03-03
JP2005056407A5 JP2005056407A5 (ja) 2007-09-06
JP4698180B2 true JP4698180B2 (ja) 2011-06-08

Family

ID=33490863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004213493A Expired - Fee Related JP4698180B2 (ja) 2003-07-21 2004-07-21 ピアツーピアネットワークでのセキュア階層名前空間

Country Status (5)

Country Link
US (1) US7516482B2 (ja)
EP (1) EP1501252A3 (ja)
JP (1) JP4698180B2 (ja)
KR (1) KR101085638B1 (ja)
CN (1) CN100586072C (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100642935B1 (ko) * 2005-05-06 2006-11-10 (주)아이디스 네임 서비스 시스템 및 방법
JP2006319909A (ja) * 2005-05-16 2006-11-24 Konica Minolta Holdings Inc データ通信の方法、ピアツーピア型のネットワーク、および情報処理装置
US20070005658A1 (en) * 2005-07-02 2007-01-04 International Business Machines Corporation System, service, and method for automatically discovering universal data objects
US7987368B2 (en) * 2005-10-28 2011-07-26 Microsoft Corporation Peer-to-peer networks with protections
US7788484B2 (en) * 2005-11-30 2010-08-31 Microsoft Corporation Using hierarchical identity based cryptography for authenticating outbound mail
JP4876210B2 (ja) * 2006-03-14 2012-02-15 株式会社日本レジストリサービス 識別子認証システム
JP4876209B2 (ja) * 2006-03-14 2012-02-15 株式会社日本レジストリサービス 識別子認証システム
US7770188B2 (en) * 2006-04-20 2010-08-03 Microsoft Corporation Winsock APIs
US7711853B2 (en) * 2006-07-14 2010-05-04 Microsoft Corporation Resolving names to network endpoints
US8693392B2 (en) * 2007-02-21 2014-04-08 Avaya Canada Corp. Peer-to-peer communication system and method
US8528058B2 (en) * 2007-05-31 2013-09-03 Microsoft Corporation Native use of web service protocols and claims in server authentication
CN101388898B (zh) * 2007-09-11 2011-11-02 华为技术有限公司 对等网络平台的架构
US8769285B2 (en) 2009-08-13 2014-07-01 Qualcomm Incorporated Methods and apparatus for deriving, communicating and/or verifying ownership of expressions
US20120246609A1 (en) 2011-03-24 2012-09-27 International Business Machines Corporation Automatic generation of user stories for software products via a product content space
US9218161B2 (en) 2013-01-15 2015-12-22 International Business Machines Corporation Embedding a software content space for run-time implementation
US9069647B2 (en) 2013-01-15 2015-06-30 International Business Machines Corporation Logging and profiling content space data and coverage metric self-reporting
US9111040B2 (en) 2013-01-15 2015-08-18 International Business Machines Corporation Integration of a software content space with test planning and test case generation
US9396342B2 (en) 2013-01-15 2016-07-19 International Business Machines Corporation Role based authorization based on product content space
US9081645B2 (en) 2013-01-15 2015-07-14 International Business Machines Corporation Software product licensing based on a content space
US9075544B2 (en) 2013-01-15 2015-07-07 International Business Machines Corporation Integration and user story generation and requirements management
US9063809B2 (en) * 2013-01-15 2015-06-23 International Business Machines Corporation Content space environment representation
US9087155B2 (en) 2013-01-15 2015-07-21 International Business Machines Corporation Automated data collection, computation and reporting of content space coverage metrics for software products
US9659053B2 (en) 2013-01-15 2017-05-23 International Business Machines Corporation Graphical user interface streamlining implementing a content space
US9141379B2 (en) 2013-01-15 2015-09-22 International Business Machines Corporation Automated code coverage measurement and tracking per user story and requirement
KR101457654B1 (ko) * 2014-01-22 2014-11-07 주식회사 오비고 웨비노스 플랫폼에서 선택적으로 서비스를 제공하는 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
US9894041B2 (en) * 2015-09-25 2018-02-13 Microsoft Technology Licensing, Llc Secure domain name resolution in computer networks
CN107342964B (zh) 2016-04-28 2019-05-07 华为技术有限公司 一种报文解析方法及设备
US10735369B2 (en) * 2018-06-22 2020-08-04 Microsoft Technology Licensing, Llc Hierarchical namespace service with distributed name resolution caching and synchronization
US11010478B2 (en) * 2019-05-06 2021-05-18 Dell Products L.P. Method and system for management of secure boot certificates
US12028373B2 (en) 2021-04-14 2024-07-02 Bank Of America Corporation Information security system and method for preventing communications from detected phishing domains
US11855831B1 (en) 2022-06-10 2023-12-26 T-Mobile Usa, Inc. Enabling an operator to resolve an issue associated with a 5G wireless telecommunication network using AR glasses

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1220173A1 (en) * 2000-12-29 2002-07-03 THOMSON multimedia System and method for the secure distribution of digital content in a sharing network
JP2002335269A (ja) * 2001-04-02 2002-11-22 Microsoft Corp ピアツーピア名前解決プロトコル(pnrp)およびそれと共に使用するためのマルチレベルキャッシュ
US20030056094A1 (en) * 2001-09-19 2003-03-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US20030056093A1 (en) * 2001-09-19 2003-03-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) group security infrastructure and method
US20030070070A1 (en) * 2001-07-31 2003-04-10 Yeager William J. Trust spectrum for certificate distribution in distributed peer-to-peer networks

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381627B1 (en) 1998-09-21 2002-04-30 Microsoft Corporation Method and computer readable medium for discovering master DNS server computers for a given domain name in multiple master and multiple namespace configurations
US7272636B2 (en) 2001-04-24 2007-09-18 Sun Microsystems, Inc. Peer group name server
DE10143754A1 (de) 2001-09-06 2003-04-03 Siemens Ag Skalierbares Peer-to-Peer-Netzwerk mit einem Verzeichnisdienst
US7051102B2 (en) 2002-04-29 2006-05-23 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US7200862B2 (en) 2002-09-30 2007-04-03 Microsoft Corporation Securing uniform resource identifier namespaces

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1220173A1 (en) * 2000-12-29 2002-07-03 THOMSON multimedia System and method for the secure distribution of digital content in a sharing network
JP2002335269A (ja) * 2001-04-02 2002-11-22 Microsoft Corp ピアツーピア名前解決プロトコル(pnrp)およびそれと共に使用するためのマルチレベルキャッシュ
US20030070070A1 (en) * 2001-07-31 2003-04-10 Yeager William J. Trust spectrum for certificate distribution in distributed peer-to-peer networks
US20030056094A1 (en) * 2001-09-19 2003-03-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US20030056093A1 (en) * 2001-09-19 2003-03-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) group security infrastructure and method

Also Published As

Publication number Publication date
KR101085638B1 (ko) 2011-11-22
CN100586072C (zh) 2010-01-27
US20050039045A1 (en) 2005-02-17
CN1578230A (zh) 2005-02-09
JP2005056407A (ja) 2005-03-03
EP1501252A2 (en) 2005-01-26
KR20050010717A (ko) 2005-01-28
US7516482B2 (en) 2009-04-07
EP1501252A3 (en) 2005-04-13

Similar Documents

Publication Publication Date Title
JP4698180B2 (ja) ピアツーピアネットワークでのセキュア階層名前空間
US11936524B2 (en) Providing extendible network capabilities for managed computer networks
US11240092B2 (en) Authorizing communications between computing nodes
US11477076B2 (en) Network accessible service for hosting a virtual computer network of virtual machines over a physical substrate network
Afanasyev et al. NDNS: A DNS-like name service for NDN
US8937960B2 (en) Managing communications for modified computer networks
US7865586B2 (en) Configuring communications between computing nodes
US8046480B2 (en) Embedding overlay virtual network addresses in underlying substrate network addresses
US8681995B2 (en) Supporting DNS security in a multi-master environment
WO2020010270A1 (en) Dynamic routing using a distributed hash table
US11695773B2 (en) Distributing dynamic access control lists for managing interactions with a cloud datacenter
Bialaski et al. Solaris and LDAP naming services: deploying LDAP in the Enterprise
JP2012199607A (ja) Dnssec代理装置
Ferreira Rui Abreu de
KR20120124044A (ko) Dnssec 서명 서버

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070723

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100906

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110301

LAPS Cancellation because of no payment of annual fees