JP2006236349A - ピアツーピアネットワーク情報 - Google Patents

ピアツーピアネットワーク情報 Download PDF

Info

Publication number
JP2006236349A
JP2006236349A JP2006045612A JP2006045612A JP2006236349A JP 2006236349 A JP2006236349 A JP 2006236349A JP 2006045612 A JP2006045612 A JP 2006045612A JP 2006045612 A JP2006045612 A JP 2006045612A JP 2006236349 A JP2006236349 A JP 2006236349A
Authority
JP
Japan
Prior art keywords
key
identifier
node
retrieval
peer
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.)
Withdrawn
Application number
JP2006045612A
Other languages
English (en)
Other versions
JP2006236349A5 (ja
Inventor
John L Miller
エル ミラー ジョン
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
Priority claimed from US11/064,142 external-priority patent/US8365301B2/en
Priority claimed from US11/063,768 external-priority patent/US20060190715A1/en
Priority claimed from US11/063,769 external-priority patent/US7849303B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006236349A publication Critical patent/JP2006236349A/ja
Publication of JP2006236349A5 publication Critical patent/JP2006236349A5/ja
Withdrawn 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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
    • 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
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

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)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】代表的なピアツーピアネットワークにおいては、ピアツーピアネットワークのユーザはだれでもキーおよびそのキーに関連する値の検索を要求することができる。
【解決手段】格納されたキー値ペアへのアクセスを制限するために、ユーザノードはピアツーピアネットワークにおけるキー値ペアを、そのキー値ペアへのアクセスを許可されたユーザノードをリストアップしたアクセスリストと関連させて登録することができる。アクセスリストには、1つまたは複数の取出し識別子を含めることができる。情報をさらにセキュアにするために、取出し識別子および/またはペイロードは暗号化することができる。取出しユーザが暗号化されたペイロードを復号することを可能にするために、格納されたキー値ペアに関連するグループキーを用いてペイロードを暗号化することができる。グループキーは、取出しユーザにとって既知のキーを用いて暗号化することができる。
【選択図】図2

Description

本発明は、ピアツーピアネットワークに関する。
オーバレイネットワークを使用して、ピアツーピアネットワークにおいて、ノード群に関する様々な情報を格納しかつ/または通信することができる。格納された情報を、キー値ペアとして、キーに関係づけて格納することができる。典型的なピアツーピアネットワークでは、ピアツーピアネットワークのユーザはだれでもキーおよびそのキーに関連する値の検索を要求することができる。しかし、格納されたオーバレイネットワークの情報を、安全な状態にし、保護し、かつ/または分配する必要がある場合が存在するが、ピアツーピアネットワークにおいては、要求ユーザを認証しかつ/またはネットワーク上での攻撃を阻止して、キー値ペアの情報に対するセキュリティ、プライバシー等を保護するための中央サーバは存在しない。
発明が解決するための手段
上述した課題を解決するために、本発明は、以下を方法と媒体を備える。
請求項1の発明は、実装されたときに一つの方法を実施するコンピュータ実行可能命令を含む1つまたは複数のコンピュータ可読媒体であって、この方法は、a)ノード識別子をピアツーピアネットワークの第1のノードに割り当てるステップと、b)第1のノードで、キー値ペア、第1の登録キーを含むキー値ペアのキー、ペイロードおよびアクセスリストを含むキー値ペアの値を格納するステップであって、アクセスリストはペイロードの取出しを許可されたユーザに関連する第1の取出し識別子を含むステップとを備えることを特徴とする1つまたは複数のコンピュータ可読媒体である。
請求項2の発明は、第1のノードで、第2の登録キーおよび第2の取出し識別子を含む検索メッセージを受信するステップをさらに備えるとともに、この方法は、第1の取出し識別子を第2の取出し識別子と比較するステップと、第2の取出し識別子が第1の取出し識別子とマッチしない場合は標準エラーメッセージを送信するステップとをさらに備えることを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体である。
請求項3の発明は、検索メッセージは起点標識を含み、この方法は、第1のノードが起点標識を検証するステップをさらに備えることを特徴とする請求項2に記載の1つまたは複数のコンピュータ可読媒体である。
請求項4の発明は、起点標識はテキスト文字列からなる署名を含み、起点標識を検証するステップはテキスト文字列からなる署名を検証するステップを含むことを特徴とする請求項3に記載の1つまたは複数のコンピュータ可読媒体である。
請求項5の発明は、第2の取出し識別子は第2の取出し識別子に関連するユーザの公開キーを含み、署名を検証するステップは公開キーを用いてテキスト文字列を復号するステップを含むことを特徴とする請求項4に記載の1つまたは複数のコンピュータ可読媒体である。
請求項6の発明は、第1の取出し識別子を第2の取出し識別子と比較するステップは、第2の取出し識別子をハッシュするステップと、ハッシュされた第2の取出し識別子を第1の取出し識別子と比較するステップとを含み、この方法は、ハッシュされた第2の取出し識別子が第1の取出し識別子とマッチする場合に、ペイロードを第3のノードに送信するステップをさらに備えることを特徴とする請求項2に記載の方法である。
請求項7の発明は、第1の取出し識別子は、第1の取出し識別子に関連する第1のユーザの公開キーのハッシュを含むことを特徴とする請求項6に記載の方法である。
請求項8の発明は、第2のノードでグループキーを生成するステップと、グループキーを用いてペイロードを暗号化するステップとをさらに備えることを特徴とする請求項1に記載の方法である。
請求項9の発明は、第1の取出し識別子に関連する第1のユーザの公開キーを用いてグループキーを暗号化するステップと、暗号化されたグループキーを第1の取出し識別子と関連づけるステップとをさらに備えることを特徴とする請求項8に記載の方法である。
請求項10の発明は、第1のノードで、登録キーおよび第2の取出し識別子を含む検索メッセージを第3のノードから受信するステップと、第2の取出し識別子が第1の取出し識別子に対して検証された場合は、暗号化されたペイロードおよび暗号化されたグループキーを第3のノードに送信するステップと、第3のノードで、暗号化されたグループキーを秘密キーを用いて復号するステップと、暗号化されたペイロードを復号されたグループキーを用いて復号するステップとをさらに備えることを特徴とする請求項9に記載の方法である。
請求項11の発明は、ピアツーピアネットワークにおいて、取出しノードの検索プロセスとストレージノードの検索モジュールとの間で通信を行う方法であって、a)検索プロセスによって、登録キーおよび取出し識別子を含めた複数のメッセージパラメータを含む検索メッセージを発行するステップと、b)検索モジュールによって、検索メッセージを受信し検索メッセージを構文解析してパラメータを取り出すステップと、 c)登録キーが格納されたキー値ペアのキーにマッチし、かつ取出し識別子がキー値ペアに関連するアクセスリストに含まれている場合は、検索モジュールによってキー検出メッセージを発行するステップであって、キー検出メッセージはキー値ペアの値の少なくとも一部を含むステップとを備えることを特徴とする方法である。
請求項12の発明は、値の少なくとも一部はグループキーを用いて暗号化され、グループキーは検索プロセスにとって既知であることを特徴とする請求項11に記載の方法である。
請求項13の発明は、キー検出メッセージはグループキーの暗号化されたものを含むことを特徴とする請求項12に記載の方法である。
請求項14の発明は、取出し識別子は取出し識別子に関連する第1のユーザの公開キーのハッシュを含むことを特徴とする請求項11に記載の方法である。
請求項15の発明は、検索モジュールは、取出し識別子にハッシュを実施した後でアクセスリストと比較することを特徴とする請求項11に記載の方法である。
請求項16の発明は、コンピュータ実行可能なコンポーネントを含む1つまたは複数のコンピュータ可読媒体であって、コンポーネントは、a)第1の登録キー、ペイロード、第1の取出し識別子、およびグループキーを含む登録メッセージを受信するための登録モジュールであって、グループキーはペイロードの復号に適したものであるモジュールと、b)第2の登録キーおよび第2の取出し識別子を含む検索メッセージを受信する検索モジュールであって、第2の取出し識別子が第1の取出し識別子にマッチするかどうか、および第1の登録キーが第2の登録キーにマッチするかどうかを判定することによって検索メッセージを検証し、検索メッセージが検証された場合は、ペイロードを第2の取出し識別子に関連するピアツーピアネットワークのノードに送信し、検索メッセージが検証できなかったことに応答してエラーメッセージを送信する検索モジュールとを備えることを特徴とするコンピュータ可読媒体である。
請求項17の発明は、検索メッセージは起点標識をさらに含み、検索モジュールは第2の取出し識別子を使用して起点標識を検証し、起点標識を検証できなかったことに応答してエラーメッセージを送信することを特徴とする請求項16に記載のコンピュータ可読媒体である。
請求項18の発明は、第2の取出し識別子と第1の取出し識別子がマッチするかどうかを判定するステップは、第2の取出し識別子のハッシュを第1の取出し識別子と比較するステップ含むことを特徴とする請求項16に記載のコンピュータ可読媒体である。
請求項19の発明は、登録モジュールは、ピアツーピアネットワーク上の登録モジュールを一意に識別するノード識別子に第1の登録キーが類似しているかどうかを判定するためのものであり、また登録モジュールは、ペイロードに関連する第1の登録キー、第1の取出し識別子、およびグループキーを格納するためのものであることを特徴とする請求項16に記載のコンピュータ可読媒体である。
請求項20の発明は、検索モジュールは、検索メッセージが検証された場合に、グループキーの暗号化されたものをピアツーピアネットワークのノードに送信するためのものであり、グループキーはピアツーピアネットワークのノードにとって既知の暗号キーを使用して暗号化されることを特徴とする請求項11に記載のコンピュータ可読媒体である。
本発明の前述の態様および付随する利点の多くは、以下の詳細な説明を添付の図面と併せて参照することによってより良く、また、より容易に理解できるようになるであろう。
[例示的動作環境]
図1および以下の議論は、ピアツーピアネットワークストレージシステムのノードを実装することができる適切なコンピュータ環境の、簡潔で一般的な説明を提供することを意図したものである。図1の動作環境は適切な動作環境の一例に過ぎず、動作環境の使用または機能の範囲について何らかの制限を示唆することを意図したものではない。本明細書で説明するノードとしての使用に適した他の周知のコンピュータシステム、環境、および/または構成の例には、パーソナルコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースシステム、プログラマブル家電、ネットワークパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータ、上記システムまたは装置のいずれかを含む分散コンピュータ環境などが含まれるが、これらに限られるものではない。
必須ではないが、ピアツーピアノードおよびピアツーピアストレージシステムは、1つまたは複数のコンピュータまたは他の装置によって実行される、プログラムモジュールなどのコンピュータ実行可能な命令の一般的な状況で説明される。一般に、プログラムモジュールには、特定のタスクを実施するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。一般に、プログラムモジュールの機能は、必要に応じて様々な環境に組み合わせること、または様々な環境に分散させることができる。
図1を参照すると、ピアツーピアノードを実装するための例示的システムには、コンピュータ装置100などのコンピュータ装置が含まれる。その最も基本的な構成では、コンピュータ装置100は一般に、少なくとも1つの処理ユニット102およびメモリ104を含む。コンピュータ装置の正確な構成や種類に応じて、メモリ104は(RAMなどの)揮発性、(ROM、フラッシュメモリなどの)不揮発性、またはその両者の組合せであってもよい。この最も基本的な構成は、図1の破線106によって示されている。さらに、装置100は追加の機構および/または機能を備えることもできる。例えば、装置100は磁気または光ディスクあるいはテープなど、(例えば、リムーバブルおよび/または固定の)追加の記憶装置を含むこともできるが、これらに限られるものではない。このような追加の記憶装置は、図1ではリムーバブル記憶装置108および固定記憶装置110によって示されている。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータなどの情報を記憶するための任意の方法または技術で実装された、揮発性および不揮発性、リムーバブルおよび固定の媒体が含まれる。メモリ104、リムーバブル記憶装置108、固定記憶装置110などはすべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリその他のメモリ技術製品、CD−ROM、DVD(digital versatile disk)その他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置その他の磁気記憶装置、あるいは所望の情報を格納するために使用することができ、装置100によってアクセス可能な他の任意の媒体が含まれるが、これらに限られるものではない。このようなコンピュータ記憶媒体はいずれも、装置100の一部であってもよい。
装置100は通信接続(群)112を含むこともできる。この通信接続により、装置100はピアツーピアネットワーク211内の他のノードなど、他の装置と通信することができるようになる。通信接続(群)112は通信媒体の一例である。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータなどを搬送波や他の伝送機構など被変調データ信号の形で実施するとともに、いずれかの情報伝達媒体を含む。「被変調データ信号」という用語は、情報を信号中に符号化するような方法で設定または変更された、1つまたは複数の信号特性を含む信号を意味する。限定の意味ではなく例として、通信媒体には有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、無線電波、赤外、その他の無線媒体が含まれる。本明細書で使用するコンピュータ可読媒体という用語は、記憶媒体と通信媒体の両方を含むものとする。
装置100はまた、キーボード、マウス、ペン、音声入力装置、タッチ入力装置、レーザレンジファインダ、赤外線カメラ、ビデオ入力装置、および/または他の任意の入力装置などの入力装置(群)114を含むこともできる。表示器、スピーカ、プリンタ、および/または他の任意の出力装置などの出力装置(群)116を含むこともできる。
[ピアツーピアネットワーク]
ピアツーピアネットワークは一般に、コンピュータの自己管理されたネットワークと見なされており、そのネットワーク内にはネットワークの維持を担当するサーバまたはコントローラはまったく存在しない。ピアツーピアネットワークおよびアプリケーションを生成するために、いくつかの異なるアーキテクチャを使用することができる。このようなアーキテクチャの1つがオーバレイネットワークである。一般に、オーバレイネットワークは、インターネットプロトコル(IP)アドレスなどの従来のネットワークアドレスの上に副次的なレベルを提供する。
ピアツーピアネットワーク用のオーバレイネットワークに関して現在知られている例には、カリフォルニア大学バークレー校でBen Y.Zhaoらによって開発されたTapestry、マサチューセッツ工科大学で開発されたChord、本件特許出願人と様々な大学とで開発されたPastryなどがある。Tapestry、Chord、およびPastryは、分散システム構築のためのツールキットである。CAN、Kademlia、Skipnet、およびViceroyは、類似の他のシステムである。新しいオーバレイ設計も頻繁に発表されている。
図2は代表的なオーバレイネットワークを示す。ネットワークの各ノード210、230は、図1の例示的コンピュータ装置100によって実装することができる。オーバレイネットワークに属するノード210、230は、下位層のネットワーク媒体211を介した通信媒体を用いて相互にメッセージをルーティングする。下位層のネットワーク媒体は、特定のコンピュータ間でメッセージを直接ルーティングするための情報および機能を有しているが、一般にオーバレイネットワークは部分的なルーティング情報だけを維持しており、中間ノードを介した逐次転送を利用してメッセージを意図した最終的な宛先に送達する。
ピアツーピアネットワークでは、ネットワークの各アクティブノードにノード識別子を割り当てることができる。ノード識別子は、ピアツーピアネットワークに接続されたアクティブノードの一意の識別子である。ノード識別子は、マシンに対して永続させること、および/またはユーザの特定のセッションに対して設定することができる。ノード識別子は、ネットワークプロトコルによって定義される任意のサイズとすることができる。また、そのサイズは、ネットワークの予想されるユーザ数、システムのセキュリティ、衝突回避に対する要望などに応じて決定することができる。例えば、Pastryのピアツーピアネットワークプロトコルは128ビットのノード識別子を定義しており、任意のサイズの識別子を許容することができる。ノードの識別子を任意の適切な方法で割り当てることができる。例えば、ランダムに割り当てることができる。あるいはユーザは、シードを選択し、それを日付、時間など任意選択の他のデータを用いてハッシュしてノード識別子を形成することもできる。一例として、永続的なノード識別子は、ユーザのピアツーピアネットワークへの初期登録時に信頼できる第三者機関によって提供され、かつ/または認証されたマシンのキー証明書に基づくものであってもよい。ノードの割当てを任意の適切な方法で実施することができる。例えば、ノードの割当てを、1つまたは複数の信頼できる認証局によって実施することができる。認証局は、ノード識別子がノード識別子空間からランダムに選択されることを保証し、各ノードがノード識別子を偽造することを阻止することができる。認証局はオフラインとし、かつオーバレイネットワークの通常の動作に関与させないようにして攻撃から保護することができる。
ピアツーピアネットワークに参加するために、各ノードは、ピアツーピアネットワーク内の既知の他のノードについてのノード識別子および/またはルーティング情報を含むルーティングテーブルを生成することができる。ルーティングテーブルを、任意の適切な方法で、ピアツーピアネットワークプロトコルに従って生成することができる。例えばユーザは、ネットワーク内の少なくとも1人の既知で既存のユーザを一連のノード識別子にわたって照会することができる。このユーザは一般に、ルーティングテーブルの「最初の行」に格納されている。次に、この新しいユーザは、その新しいユーザのノード識別子に最も近いノードの一部を照会して、そのユーザ自身のノード識別子に近接しかつ/または類似した追加のノード識別子を発見することができる。ルーティングテーブルの最下行または最後の行は、そのルーティングテーブルを格納するユーザノードのノード識別子に最も近いノード識別子、例えばピアツーピアネットワークにおけるユーザノードの隣接ノードを含むことができる。このようにして、ルーティングテーブルの最下行は、ユーザノードのノード識別子に最も近いノード識別子からなるリーフセット(leaf set)を形成することができる。ピアツーピアネットワークに復帰するユーザノードは、永続的ルーティングテーブル内のエントリを更新し、かつ/または検証することができる。各ノードのルーティングテーブルは完全である必要はなく、例えばルーティングテーブルは部分的なルーティングテーブルでもよいことを理解されたい。例えば、ノード識別子が見つからないか、または存在しないために、ルーティングテーブルを完全に埋めることができないこともある。
オーバレイネットワークを使用して、様々な情報を格納しかつ/または通信することができる。例えば、ピアツーピアネットワークは、アドレス解決(例えば、ピア名前解決プロトコル(PNRP))のための名前、分散データベースなどのデータファイル、暗号化キー、リッチプレゼンスデータなどを提供することができる。データは登録メッセージのペイロードとして登録し、ピアツーピアネットワークのメンバーである1つまたは複数のストレージノードの分散ハッシュテーブルに格納することができる。全体のハッシュテーブルの記憶はピアツーピアネットワークの様々なノード間に分散されるので、どの単一のノードも全体のハッシュテーブルを格納することはない。正確に言えば、様々なストレージノードがハッシュテーブルの様々な部分を格納することができる。
ペイロードデータを格納するために、ハッシュテーブルは登録キーをある値と関連づける。値はペイロードを含みかつ/またはペイロードを表す。このように、ノードによって格納されたハッシュテーブルの各部分はキー値ペアを格納する。各登録キーは、その値に含まれかつ/またはその値によって表されたペイロードに関連するキー識別子のハッシュであってもよい。例えば、キー識別子は、ピアツーピアネットワークのユーザの一意の個人識別子、またはペイロードに含まれるファイルもしくは他のデータの識別子などであってもよい。インスタントメッセンジャアプリケーションの例では、キー識別子は、ユーザ名、インターネットプロトコルアドレス、公開または秘密キー、および/またはアプリケーション標識を含むことができる。このようにして、登録キーの衝突を減少させることができる。衝突が発生した場合は、登録キーを相互に区別するために登録キーに関連する値を使用することができる。登録キーを形成するキー識別子のハッシュは、任意の適切なハッシュアルゴリズム(例えば、MD5ハッシュ)の使用に基づいて実施することができる。図2を参照すると、1つまたは複数の暗号サービスモジュール270は、ピアツーピアネットワークのノードに、暗号化、復号、ハッシングなどのサービスを提供することができる。
キー識別子のハッシュすなわち登録キーは、ピアツーピアネットワークのどのノードが登録キーに関連するペイロードを格納しているかを識別する。一例では、ノード識別子は登録キーの番号空間に関係づけることができる。例えば、ノード識別子が番号1〜8の場合は、各ノードには登録キーの番号空間の8分の1を割り当てることができる。他の例では、キー値ペアの登録キーとノード識別子は同じバイトサイズを有し、同じベース、例えばベース10、ベース16、ベース5などを有することができる。ペイロードを格納するために、ペイロードの登録キーに最も近いノード識別子を有するユーザノードを選択することができる。単一点障害、例えば単一のノードがペイロードを格納することを回避するために、キー値ペアを複製し、登録キーの識別子に類似したノード識別子を有する複数のストレージノードに格納することができる。このようにして、複製によってストレージノードのルーティングテーブルにおけるリーフセットの少なくとも一部を活用することができる。複写ファクタはユーザノードがピアツーピアクラウド(peer−to−peer cloud)の内部に滞在する平均時間、ユーザノードがクラウドを離れる確率、所望される情報の信頼性などに依存して決定することができる。
ペイロードを登録するために、ユーザノードは登録メッセージを構成することができる。登録メッセージを構成するために、ユーザノードはピアツーピアネットワークストレージシステムのコンピュータ実行可能命令を実装することができる。その一例が、図2のノード230に示されている。ユーザノードは登録プロセス240、例えば登録アプリケーションインタフェース(API)などにアクセスして登録メッセージを構成し、通信媒体を使用して登録メッセージを送信することができる。ユーザノードは、例えば登録APIなどによって登録キーを決定してペイロードと関係づけることができる。上述のように、キー値ペアのキーは周知の識別子、例えば個人識別子および/またはアプリケーションデータから構成された文字列などのハッシュである。ユーザノードは、例えばローカルアプリケーション280および/または登録プロセス240など、任意の適切な方法を用いてキー値ペアの値であるペイロードを作成することができる。例えば、インスタントメッセンジャアプリケーションでは、ペイロードは、ユーザの使い易い名前、ユーザの現在のエンドポイントアドレス、および/またはローカルアプリケーションのプレゼンスデータを含むことができる。ピアツーピアネットワーク200のどのノード210がペイロードを格納するのかを決定するために、ユーザノードは、ルーティングテーブル265で、関連するペイロードのキーに最も近いノード識別子を有すると指示されたノードに、クラウド211を介し通信媒体を使用して登録メッセージを送信することができる。ユーザノードは、キー値ペアのキーにより類似したノード識別子を有する他のノードに登録メッセージをルーティングすることもできる。このプロセスは、ピアツーピアネットワークプロトコルの下で、登録メッセージの登録キーに最も近いノード識別子を有するストレージノードのハッシュテーブル部分260にキー値ペアが格納されるまで繰り返すことができる。
例えば、受信ノードは、登録モジュール290を使用して登録メッセージを受信することができる。登録モジュールは登録要求を構文解析して登録キーを取り出し、そのキーをその受信ノードに割り当てられたノード識別子と比較することができる。登録キーが同一かまたは類似している場合(例えば、受信ノードのルーティングテーブルのそのリーフセットに含まれる場合)は、受信ノードは登録メッセージから構文解析されたキー値ペアを格納することができる。
オーバレイネットワークは、あるノードのIDが他のどのノードのIDよりもキーに近いときに通知できるような十分な情報をそのルーティングテーブル内に維持する。次に、その最も近いノードは、そのハッシュテーブル260内にドキュメントを格納し、指示されたキー値ペアを求める照会に応答する役割を果たすことになる。上述のように、登録メッセージを複製し、ネットワークプロトコルに従って追加のノードの分散ハッシュテーブル内に格納することもできる。
代表的なピアツーピアネットワークでは、ピアツーピアネットワークのユーザはだれでもキーおよびその関連する値の検索を要求することができる。このように、キー値ペアの値は代表的ピアツーピアネットワーク内の任意の人によってアクセスすることができる。格納されたキー値ペアの値の情報セキュリティは、ピアツーピアネットワークへのエントリを管理し、メッセージをルーティングする際にユーザのルーティングテーブルの認証性を検証することなどによって管理することができる。あるノードが、例えば情報の誤用など「不正行為を行った」場合は、そのノードのハッシュテーブル内に格納された情報を提供することを拒絶し、かつ/または他のノードメンバーにメッセージを転送することを拒絶して、そのノードのノード識別子を無効にすることができる。しかし、代表的なピアツーピアネットワークの内部では、任意のノードによって全ての情報を取り出すことができる。
場合によっては、キー値ペアを登録したユーザは、すべてのユーザまたはピアツーピアネットワークのユーザの一部が、そのキー値ペアにアクセスしかつ/またはそれを取り出すことを望まないことがある。例えば、インスタントメッセンジャアプリケーションでは、ユーザは、ネットワークに接続しビデオゲームで遊んでいることや、インターネットを閲覧していることを上司に見つかることを望まないこともある。ピアツーピアネットワークにおいては、要求ユーザを認証しかつ/またはネットワーク上での攻撃を阻止して、キー値ペアの情報に対するセキュリティ、プライバシー等を保護するための中央サーバは存在しない。
[ピアツーピアネットワークセキュリティ]
分散ハッシュテーブルに登録されたキー値ペアの格納および/または取出しは、制限することができる。一例では、キー値ペアの値を暗号化してその情報を保護することができる。キー値(例えば、キー識別子のハッシュ)を照会する他のユーザは、その情報を復号できない場合でも、その値を取り出すことができる場合がある。しかし、情報が暗号化されている場合であっても、照会ユーザがあるデータを取り出したという単なる事実だけで何らかの情報が提供され、プライバシーまたは他のセキュリティ事項が侵害される恐れがある。例えば、インスタントメッセンジャの環境では、識別されたユーザがオンラインでない場合は、キー値ペアが登録されないことがある。したがって、何らかの値を受信した照会ユーザは、その値が暗号化されている場合でも、他のユーザがオンラインであることを確認することができる。
情報へのアクセスを管理し、かつ/またはピアツーピアネットワークのハッシュテーブル内に格納された情報を保護するために、上記の登録メッセージを修正することができる。図3は、分散ハッシュテーブル、例えばピアツーピアネットワークの分散ハッシュテーブルなどに格納されるように情報を登録する方法300の一例を示す。
ユーザは任意の適切な方法でピアツーピアネットワークに参加することができる。例えば、314で、ネットワークプロトコルに従って、ユーザにノード識別子を割り当てることができる。302で、ユーザは図2の登録プロセス240などによって、ペイロードに関連づけられる登録キーを決定することができる。上述のように、キー値ペアの登録キーは既知のキー識別子、例えば個人識別子および/またはアプリケーションデータから構成された文字列などのハッシュである。次にユーザは、ローカルアプリケーションおよび/または登録プロセスなどによる任意の適切な方法を使用して、304で、キー値ペアの値の一部であるペイロードを作成することができる。上述のように、ペイロードは登録キーに関連づけられる任意の情報であってよく、例えばリッチプレゼンスデータ、ストレージファイル、および/または通信アドレスなどであってもよい。
ペイロード情報へのアクセスを制限するために、306で、ユーザノードはアクセスリストを決定することができる。登録メッセージのアクセスリストは、図2の登録プロセス240および/またはローカルアプリケーション280によって構成することができる。アクセスリストは、登録ユーザがペイロード情報を取り出す権限を持つことを望むユーザに関連する1つまたは複数の適切な取出し識別子を含むことができる。インスタントメッセンジャの例では、アクセスリストは、登録ノード230のインスタントメッセンジャコンタクトリストに関連する取出し識別子を含むことができる。データストレージの例では、アクセスリストは、登録されたファイルへのアクセスが許可されたユーザの取出し識別子を含むことができる。アクセスリストの取出し識別子は、ペイロード情報へのアクセスを許可するために検証できる任意の適切な識別子であってもよい。アクセスリストの取出し識別子は、ユーザの暗号化されていない識別子であってもよいし、あるいはユーザの識別子を暗号化またはハッシュしたものであってもよい。例えば、ユーザの取出し識別子は、ピアツーピアネットワーク内のユーザノードの個人識別子、例えばIPアドレスなどであってもよい。他の例では、ユーザの取出し識別子は、取出し権限を有するユーザに関する公開/秘密キーペアの公開または秘密キーのハッシュであってもよい。
登録ユーザは、308で、図2の登録プロセス240などによって、登録メッセージを構成することができる。登録メッセージは、決定された登録キー、ペイロードを含む値、およびアクセスリストから構成することができる。他の例では、キー値ペアの値は、ペイロードとアクセスリストの組合せまたは連結によって形成することができる。登録ノードは、310で、ピアツーピアネットワークのネットワークプロトコルに従って通信媒体を使用し、適切なノード(群)に登録メッセージを送信することができる。
登録メッセージを受信するノードには、316で、ネットワークプロトコルに従ってノード識別子を割り当てることができる。受信ノードは、図2の登録モジュール290などを使用して登録メッセージを受信することができる。登録モジュールは登録メッセージを構文解析して登録キーを取り出すことができる。また、登録モジュールは、割り当てられたノード識別子を登録メッセージの登録キーと比較して、キー値ペアを格納すべきかどうかを決定することができる。受信ノードに割り当てられたノード識別子が登録メッセージの登録キーに最も近い場合、または登録キーが受信ノードのルーティングテーブルにおけるその受信ノードのリーフセット内に存在している場合は、受信ノードはキー値ペアをそのハッシュテーブルに格納し、そのキー値ペアのストレージノードになることができる。図2の例を参照すると、受信ノードの登録モジュール290は、登録メッセージから解析されたキー値ペアをハッシュテーブル260に送って格納することができる。
登録されたキー値ペアを格納するハッシュテーブル、例えば図2のノード230のハッシュテーブル260は、ストレージノードのメモリ内にある任意の適切なデータストアに格納することができる。任意の適切なフォーマットの任意の適切なデータストアを使用して、ハッシュテーブル情報を取出し、ノードに格納し、かつ/またはそのノードと通信できることを理解されたい。データストアとしては、リレーショナルデータベース、オブジェクト指向データベース、非構造化データベース、インメモリデータベース、シーケンシャルメモリ、その他のデータストアなどが使用できる。ストレージアレイはフラットファイルシステム、例えばASCIIテキスト、バイナリファイル、通信ネットワークを介して送信されたデータ、他の任意のファイルシステムなどを使用して構成することができる。前述のデータストアについてのこれらの可能な実装にもかかわらず、本明細書で使用するデータストアおよびストレージアレイという用語は、コンピュータによってアクセス可能な任意の方法で収集され格納された任意のデータを意味する。
時には、ピアツーピアネットワーク内の他のノードが、キー値ペアとしてハッシュテーブルに格納されたペイロード情報を取り出し、かつ/またはアクセスしたいと望むこともある。ペイロード情報を取り出すために、取出しユーザノードは検索メッセージを構成し、その検索メッセージをストレージノードに宛てに送ることができる。検索メッセージを、図2のノード230における検索プロセス250などの検索APIによって構成することができる。
図4は、格納された情報を、検索メッセージを使用してピアツーピアネットワークから取り出すための例示的方法400を示す。格納されたデータをピアツーピアネットワークから取り出すために、取出しユーザノードは、402で、所望の情報に対する適切な登録キーを決定することができる。登録メッセージの登録キーを決定するのと同様に、検索メッセージを作成する取出しユーザノードは、例えば図2の検索プロセス250および/またはローカルアプリケーション280を使用して、格納された情報に対する適切なキー識別子を決定することができる。キー識別子には、個人識別子および登録ユーザのアプリケーション情報を含めることができる。登録キーを形成するために、キー識別子をハッシュすることができる。例えば、キー識別子は、図2の検索プロセス250および/または暗号化サービスモジュール270を使用してハッシュすることができる。
次に、取出しユーザノードは、404で、取出しノードの取出し識別子を決定することができる。上述のように、取出し識別子は、格納されたキー値ペアへのアクセスを許可されたユーザの任意の適切な識別子であってもよい。例えば、PKIシステムでは、取出し識別子は取出しユーザの公開キーであってもよい。図2を参照すると取出しノードは、検索プロセス250および/または暗号化サービスモジュール270を使用して取出し識別子を形成することができる。
取出しユーザノードは、検索メッセージを構成して、登録キーおよび取出し識別子を含めることもできる。取出しノードは、406で、ピアツーピアネットワークの適切なノード、例えば検索メッセージのキーに最も近いノード識別子を有するノードに検索メッセージを送信することができる。例えば、図2を参照すると、検索プロセス250はルーティングテーブル265にアクセスして、決定された登録キーに最も近い既知のノード識別子を決定し、通信媒体を使用しネットワーククラウド211を介して検索メッセージをそのノードに送信することができる。
受信ノードは検索メッセージを受信し、図2の検索モジュール295など任意の適切なプロセスを使用してその検索メッセージを構文解析し、登録キーを取り出すことができる。図4を参照すると受信ノードは、408で、図2の検索モジュール295などによって検索メッセージを検証することができる。例えば、受信ノードは、検索メッセージで提供された登録キーが、受信ノードのハッシュテーブル内に格納された登録キーのいずれかに正確にマッチするかどうかを判定することができる。ノードにそのような登録されたキーが存在しない場合は、410で、ノードは取出しユーザノードにエラーメッセージを返すことができる。エラーメッセージは、「指定されたキーは存在しません」または「アクセスは拒否されました」など任意の適切なエラーメッセージとすることができる。
構文解析された登録キーが受信ノードに存在している場合には、412で、受信ノードは取出しユーザを検証することができる。取出しユーザを任意の適切な方法で検証することができる。例えば、受信ノードは、検索モジュール295を用いて検索メッセージを構文解析することなどによって、検索メッセージ内の取出し識別子を取り出すことができる。受信ノードは、検索メッセージの取出し識別子を、指示されたキー値ペアのアクセスリストにリストアップされた1つまたは複数の取出し識別子と比較することができる。検索メッセージからの取出し識別子が、例えば取出しユーザのIPアドレスや公開キーなどのようにハッシュされていない場合には、受信ノードは取出し識別子をハッシュした後でアクセスリストと比較することができる。検索メッセージの指示された取出し識別子が、アクセスリストのどの取出し識別子にもマッチしていない場合は、414で、受信ノードはエラーメッセージを返すことができる。このエラーメッセージは、410で返されるエラーメッセージと同一でも異なっていてもよい。エラーメッセージが同一の場合は、取出しノードは、登録されたキー値ペアへのアクセスが拒絶された場合でも、登録されたキー値ペアが存在するかどうかを判定できない場合がある。
ユーザが検証された場合は、416で、受信ノードはキー検出メッセージを作成することができる。このメッセージは、登録キーおよびメッセージペイロードにマッチするハッシュテーブルの行を含むことができる。ネットワークプロトコルおよび/またはアクセスリスト特権に従って、アクセスリストそのものはペイロードと共にユーザに返すこともあるし、返さないこともある。キー検出メッセージは任意の適切なプロセス、例えば図2の検索モジュール295および/またはキー検出APIなどのキー検出プロセス(図示せず)を使用して構成することができる。次に、418で、受信ノードは通信媒体を使用してキー検出メッセージを取出しノードに送信することができる。
取出しユーザノードに関する追加の検証を実装することもできる。例えば、取出しノードによって構成された検索メッセージはまた、起点証明標識を含むこともできる。起点証明標識は、その取出しノードが検索メッセージを生成したことを指示することができる。起点標識は、どのノードがメッセージを生成したかを指示するために検証することができる任意の適切な標識であってもよい。図4の取出し方法を参照すると、420で、この取出しノードは図2の検索プロセス250など任意の適切なプロセスによって起点標識を決定することができる。例えば、取出しノードは、現在の世界時標識などのテキスト文字列に取出しユーザの秘密キーを用いて署名することによって起点標識を決定することができる。上述のように、1つまたは複数の暗号サービスモジュール、例えば図2の暗号サービスモジュール270は、ピアツーピアネットワークの取出しノードに暗号化サービスを提供することができる。起点標識を検索メッセージに追加して、406で、受信ノードに送信することができる。
412で、取出しユーザを検証するとき、受信ノードは、図2の検索モジュール295など任意の適切なプロセスを使用して起点標識を検証することができる。一例では、受信ノードは取出しユーザの公開キーを用いて起点標識の署名を検証することができる。署名サービスを図2に示された暗号サービスモジュール270によって提供することもできる。公開キーは検索メッセージから構文解析すること、あるいは適切なキー取出しシステムから取り出すことができる。例えば、取出しキーは取出しユーザノードの公開キーであってもよい。このようにして、構文解析された取出しキーを使用して検索メッセージの起点標識を検証することができる。起点標識が受信ノードで検証できなかった場合は、受信ノードは414でエラーメッセージを返すことができる。このエラーメッセージは、410で返されるエラーメッセージと同一であっても、異なっていてもよい。場合によっては、起点署名の検証は、取出し識別子検証より多くのプロセッサパワーを必要とすることがある。したがって、起点標識は、取出し識別子を検証した後で検証することができる。
起点標識をさらに検証するために、受信ノードは起点標識のコンテンツを検査することができる。例えば、署名されたコンテンツは追加の検証規準を提供することができる。例えば、起点標識は、世界時および世界時の署名を含むことができる。受信ノードは、図2の検索モジュール295などによって、構文解析された世界時と現在の時刻の差を検証閾値と比較することもできる。時間の差が閾値を越えた場合は、例えばメッセージがタイムアウトしており、414で、受信ノードはエラーメッセージを返すことができる。このエラーメッセージは、410で返されたエラーメッセージと同一でも、異なっていてもよい。起点標識が検証された場合は、416に移り、受信ノードは上述のキー検出メッセージを作成することができる。
場合によっては、例えば信頼できるドメインでは、格納されたキー値ペアの暗号化されていないペイロードでも十分にセキュアなことがある。より詳細には、暗号化されていないペイロード情報を格納するストレージノード(群)は、データに対するリスクが十分に低いものと見なすことができる。例えば、多数のユーザを有する大規模ネットワークにおいては、特定のデータのためのストレージノードとして攻撃者が選択される可能性は極めて低い可能性がある。この場合、暗号化されていないペイロード情報の保護には、ある部分、ハッシュテーブルのその部分に格納されるペイロード情報に対するストレージノードの無関心さを利用することができる。
ある場合には、ペイロード情報を暗号化して、例えばストレージノードおよび/または攻撃者による無許可のアクセスに対する保護を提供することができる。図3の方法300を参照すると、312で、登録ノードはペイロードを暗号化することができる。ペイロードを暗号化するためには、登録ノードは、ペイロードを暗号化しその復号を可能にするのに適した任意の適切な暗号化技術を使用することができる。暗号化技術には、これらに限定されるものではないが、対称暗号化キー、非対称暗号化キー、公開/秘密キーペアの一方などを使用することができる。上述のように、暗号化サービスは、図2に示した1つまたは複数の暗号サービスモジュール270によって提供することができる。
312でペイロードを暗号化する方法の一例が図5に示されている。502で、登録ノードはグループキーを生成することができる。グループキーは、例えばランダムまたは所定の、対称または非対称の任意の適切な暗号化キーとすることができる。次に、504で、登録ノードは生成されたグループキーを使用してペイロードを暗号化することができる。
アクセスリストで識別された取出しユーザがペイロードを復号できることを保証するために、登録ノードは登録メッセージ中にグループキーを含めることができる。グループキーは、ピアツーピアネットワークのストレージノードに格納されたキー値ペアの値の一部として含めるなど、任意の適切な方法で登録メッセージに含めることができる。しかし、グループキーを、暗号化されたペイロードと同じ記憶位置(例えば、キー値ペア)に含めることにより、リスクが許容レベルを越えて増大する可能性がある。より詳細には、ペイロードの暗号化は、ペイロードの復号に使用できるグループキーと共に格納された場合にはセキュアでなくなることがある。
グループキーを保護するために、506で、登録ユーザは任意の適切な暗号化技術および任意の適切な暗号キーを使用して、グループキーを暗号化することができる。図2を参照すると、暗号サービスモジュール270を使用してグループキーを暗号化することができる。一例では、グループキーを、アクセスリストで識別されたユーザの個人公開キーを使用して暗号化することができる。次に、この暗号化されたグループキーは、508で、アクセスリストに含まれたそのユーザの取出し識別子と関連づけることができる。アクセスリストで複数のユーザが識別された場合は、この方法は506に戻り、リスト中で識別された各ユーザの公開キーを用いてグループキーを暗号化し、暗号化されたグループキーを各対応するユーザと関連づけることができる。各暗号化されたグループキーを、510で、アクセスリストのその対応するユーザに関連する登録メッセージ中に含めることができる。
インスタントメッセンジャアプリケーションをサポートするピアツーピアネットワークは、ピアツーピアネットワークに情報を登録し、その情報を取り出す場合の一例である。ピアツーピアネットワークのプロトコルに従って、各アクティブノードにノード識別子が割り当てられる。参加ユーザ、例えばJane Doeは、自分の登録識別子をピアツーピアネットワークに登録して、自分の通信アドレスおよび/またはリッチプレゼンスデータを使用可能にすることができる。Jane Doeのノードは登録メッセージを構成することができる。登録メッセージ600の一部を示す概略図の例が図6に示されている。登録メッセージ600は、値620に関連する登録キー610を含むことができる。インスタントメッセンジャの例における登録キー610を、インターネット電子メールアドレスなどの個人識別子や「オンライン」の指示などのアプリケーションデータのハッシュとして形成することができる。この場合、Jane Doeの登録キー610を、SHA(jane.doe@microsoft.com−online)として表すことができる。値620は、ペイロード624、アクセスリスト626、および/または1つまたは複数のグループキー628などの1つまたは複数の部分からなる組合せとすることができる。
値のペイロード部分624をローカルアプリケーション、例えばインスタントメッセンジャローカルアプリケーションなどからアクセスすることができる。インスタントメッセンジャの例におけるペイロード624には、使い易い名前(例えば、Jane Doe−GI Jane!)、現在の活動標識(例えば、Quake動作中)、および/またはIPアドレス(例えば、1.2.3.4.5030)などのJane Doeの現在のメッセンジャエンドポイントなどを含めることができる。
キー値ペアを格納することができるノード、および/または他の無許可ノードからペイロードデータへのアクセスを制限するために、Janeのノードはグループキー(GK)628を生成し、そのグループキーを用いてペイロードデータを暗号化することができる。暗号化されたペイロードデータは、{GK}(Jane Doe−GI Jane,‘playing Quake’,1.2.3.4.5030)と表すことができる。
ピアツーピアネットワークに格納されるペイロードデータへのアクセスを制限するために、Jane Doeは、彼女のペイロードデータにアクセスすることができるピアツーピアネットワークメンバーの1人または複数のユーザからなるアクセスリスト626を形成することができる。キー値ペアへのアクセスが許可されたユーザは、取出し識別子630によって識別することができる。例えばJaneは、彼女の母親Joan Doeおよび夫John Doeが、彼女のペイロードデータ、例えばインスタントメッセンジャアプリケーションのコンタクトおよび/またはプレゼンスデータにアクセスすることを望むことがある。したがって、JaneはJoan Doeに対する取出し識別子とJohn Doeに対する取出し識別子を含むアクセスリストを生成することができる。
アクセスリスト626およびグループキー(群)628の一例を示すテーブルが図7に示されている。図7の例示のテーブル626において、このアクセスリストテーブルは2つの列710、720を含むことができる。第1の列710は、取出し識別子を含むことができる。この取出し識別子は、登録されたキー値ペアにアクセスすることが許可されたノードおよび/または人の識別子のハッシュであってもよい。図示の例では、第1の列710はJoan Doeの個人識別子のハッシュ712、およびJohn Doeの個人識別子のハッシュ714を含むことができる。より詳細には、Joan DoeおよびJohn Doeの取出し識別子はそれぞれ、各ユーザの公開キーPKのハッシュ、例えばSHA(PKJoan)およびSHA(PKJohn)とすることができる。テーブル700の第2列720は図6の暗号化されたグループキーGK628を含むことができる。このグループキーは、関連するユーザの公開キーを用いて暗号化することができる。図7に示された例では、グループキー722はJaneの公開キーPKJoanによって暗号化されたグループキー628とすることができ、グループキー724はJohnの公開キーPKJohnによって暗号化されたグループキー628とすることができる。このようにして、暗号化されたグループキー722は取出し識別子712と関連づけることができ、同様に暗号化されたグループキー724は取出し識別子714と関連づけることができる。
次に、Janeはキー値ペアをピアツーピアネットワークに登録することができる。より詳細には、メッセージを、キー値ペアの登録キーに最も近いノード識別子が割り当てられたピアツーピアネットワークのノードにルーティングしかつ格納することができる。また、キー値ペアを複製し、キー値ペアの登録キーの識別子に隣接するかまたは類似する追加のノード、例えばストレージノードのリーフセットに格納することができる。
Janeにインスタントメッセージを送信するために、ユーザは検索メッセージを生成して、Janeのコンタクト情報および/またはピアツーピアネットワーク内でのステータスを確認することができる。図8は検索メッセージ800の一例を示す概略図である。ユーザは値620を登録するために使用される登録キー610を指定することができる。より詳細には、ユーザはユーザ識別子およびアプリケーションデータのハッシュを指定することができる(例えば、SHA(jane.doe@microsoft.com−online))。ユーザはまた、取出し識別子810を提供することもできる。例えば、Joan Doeが検索メッセージ800を構成している場合は、取出し識別子は公開キーのハッシュ、例えばSHA(PKJoan)とすることができる。他の例では、取出しユーザによって提供される取出し識別子810は、そのユーザのハッシュされていない公開キーとすることもできる。取出しユーザはまた、起点標識820を提供することもできる。例えば、起点標識はJoanの秘密キーを用いて暗号化された世界時、例えばPVJoan(世界時)とすることができる。ユーザは、ピアツーピアネットワーククラウドを介して、指示された登録キーに最も近いノード識別子を有するノードに検索メッセージを転送することができる。
受信ノードは登録キー610を構文解析し検査して、そのキーがそのノードに登録されているかどうかを判定することができる。登録されていない場合は、受信ノードはエラーメッセージを送信することができる。登録キーが見つかった場合には、受信ノードは取出し識別子810を、格納されているキー値ペアについての図6のアクセスリスト626と比較することができる。取出し識別子810がハッシュされておらず、アクセスリストの取出し識別子がハッシュされている場合は、受信ノードは、取出し識別子810をハッシュしてからアクセスリストと比較することができる。取出し識別子810がアクセスリスト626に存在しない場合は、受信ノードはエラーメッセージを送信することができる。
取出し識別子が存在する場合は、受信ノードは検索メッセージの起点標識を検証することができる。より詳細には、受信ノードは取出しユーザの公開キーを使用して起点標識820の署名を検証することができる。上述のように、起点標識を取出しユーザの秘密キーを用いて署名することができる。署名を検証するために、取出しユーザの公開キーは、任意の適切なプロセスを用いて、検索メッセージ、取出しユーザ、サードパーティなどから取り出すことができる。秘密キーによって署名されたコンテンツは有効な世界時であることを検証することができる。さらに、提供された世界時は、検索メッセージに対する時間境界閾値を越えないことを検証することができる。起点標識が有効でない場合は、受信ノードはエラーメッセージを送信することができる。起点標識が有効な場合、受信ノードは、提供された取出し識別子に関連する登録キー610、暗号化されたペイロード624、および暗号化されたグループキー628を含むキー検出メッセージを構成することができる。取出しユーザ、ここではJoan Doeは、キー検出メッセージを受信し、暗号化されたペイロードおよび暗号化されたグループキーを構文解析することができる。Joan Doeのノードは、彼女の秘密キー(PVJoan)を用いて、グループキー628を復号する(グループキー628は、上述の例ではJoanの公開キー(例えば、PKJoan)を用いて暗号化されている)。次に、Joanのノードは、グループキー628を使用して、ペイロード624を復号し、ペイロードを取り出すことができる。例えば、彼女の娘Janeのコンタクト情報およびプレゼンスデータを確認することができる。
ときおり、登録ユーザはキー値ペアのアクセスリストを修正することができる。任意の適切な方法を使用してアクセスリストを修正することができる。例えば、登録ユーザは、キー値ペアを登録解除し、更新されたアクセスリストを用いてキー値ペアを再登録することができる。例えば、Janeがアクセスリストから彼女の母を削除した場合は、Joan Doeがピアツーピアネットワーク内で彼女の娘を検索しようと試みた際に、彼女は、例えば「キーが見つかりません」などのエラーメッセージを受信することがある。キー値ペアを登録解除する要求は、アクセス制限される場合がある。例えば、登録ユーザノードだけがキー値ペアの登録解除を実施することができる。他の例では、アクセスリストで識別されたユーザに、キー値ペアの登録解除を実施する権限を与えることができる。登録解除アクセスリストは、上で論じた取出しアクセスリストと同一であっても異なっていてもよい。
ピアツーピアネットワークにデータを登録し、そのデータを取り出すための上記の方法は、あるレベルの情報セキュリティを提供する。あるキー値ペアに対するアクセスリストを知っているユーザは、登録ノードとストレージノード(群)である。アクセスリストは公開キーを含むことはできるが、コンタクト情報を含むことはできないので、アクセス権を有するユーザの識別の確定を困難にすることができる。アクセスを許可されたユーザの識別は、ユーザ識別子のハッシュである取出し識別子を生成することによってさらに隠蔽することもできる。
登録されたキー値ペアを格納するためのストレージノードとして攻撃者が選択される確率は、特にかなり大規模なネットワークにおいては低いものと考えられる。例えば、登録メッセージがストレージノードにルーティングされるとき、log(N)台のノードがそのメッセージを受信する可能性がある。ただし、Nはピアツーピアネットワーク内のノードの数である。k台のノードがこのキー値ペアの登録を格納できるものとする。ただし、kはピアツーピアネットワークの複製ファクタによって決まる1以上の数である。このとき、攻撃者がストレージのための登録を受信する可能性は(log(N)+k)/Nになる。ノードの数が5,000,000ユーザ、底が10、登録が4ノード間で複製される場合は、攻撃者が登録を受信する(したがって、登録ユーザがオンライン中であることを知る)確率は、ほぼ0.00003である。
ストレージノードは、ハッシュテーブルのその部分に格納されたキー値ペアを公開することにより、宛先不定の攻撃を提供する可能性がある。ストレージノードが格納されたデータのいずれにも関心がない場合でも、キー値ペアを公開することによって、他の攻撃者がそれらを取り出すことが可能になり、格納されたデータおよび/または登録ユーザへの間接的な攻撃が生成されることになる。上述の方法は、ペイロード情報を暗号化することによって宛先不定の攻撃の影響を低減することができる。詳細には、宛先不定の攻撃者は、登録されたユーザがオンラインかどうかを単に登録の存在だけで判断することができるが、コンタクト情報や他のリッチプレゼンスデータは、登録ユーザのプライバシーを保護するためにグループキーを用いて暗号化することができる。さらに、ピアツーピアネットワーク内部でのユーザの認証によって宛先不定の攻撃を阻止することもできる。あるノードが(例えば、キー値ペアを公開するなど)ネットワーク運営の規則を破った場合には、ピアツーピアネットワークに参加するためのノードの証明書を無効にすることができる。攻撃を受けたユーザノードまたは情報の完全性が失われたユーザノードに新しい識別情報、例えばノード識別子および/または個人識別子を提供することによって、攻撃を阻止することもできる。
上述のストレージシステムを、ハッシュテーブルのキー値ペアの全体または一部に対する特権メンバーのアクセスを許可するように修正することができる。より詳細には、特権メンバーに、キー値ペアの全てまたは一部へのアクセスを許可することができる。一例では、特権メンバーの識別子を、要求されたキー値ペアへのアクセス権を有する有効なユーザとしてストレージノードによって常に検証することができる。例えば、受信ノードは提供された取出し識別子と、登録されたキー値ペアに関連するアクセスリストおよび全てのキー値ペアへのアクセス権を有する特権メンバーの取出し識別子を含むネットワークの特権メンバーのアクセスリストとを比較することができる。他の例では、特権メンバーの識別子を、ピアツーピアネットワークに登録されたキー値ペアのアクセスリストのすべて、または少なくとも一部に追加することができる。例えば、特権メンバーの取出し識別子は、ピアツーピアネットワークに登録された各アクセスリストに自動的に追加することができる。一例では、登録ユーザを、そのユーザによって登録される任意のメッセージのアクセスリストに自動的に追加することができる。
アクセスリストが取出し識別子を含んでいない(例えば、登録ユーザによって許可ユーザが提供されていない)場合は、ピアツーピアストレージシステムは任意の適切なデフォルトの動作をとることができる。例えば、アクセスリストが提供されていない場合には、すべての取出しユーザを有効にして関連する格納されたキー値ペアを取り出せるようにすることができる。あるいは、アクセスリストが提供されていない場合は、登録ユーザおよび/または特権メンバーだけを有効ユーザとして検証して、格納されたキー値ペアを取り出せるようにすることができる。
本明細書に記載の本発明の実施形態は、1つまたは複数のコンピュータシステムにおける論理ステップとして実装することができる。本発明の論理動作を、(1)1つまたは複数のコンピュータシステムで実行される一連のプロセッサ実装されたステップとして、また(2)1つまたは複数のコンピュータシステム内部で相互接続されたマシンモジュールとして実装することができる。実装は、本発明を実装するコンピュータシステムの性能要件に応じて選択されるものである。したがって、本明細書に記載の本発明の実施形態を構成する論理動作は、オペレーション、ステップ、オブジェクト、モジュールなどと様々に呼ばれている。
上記の明細、例、およびデータは、本発明の例示的実施形態の構造および使用についての完全な記述を提供するものである。本発明の趣旨および範囲を逸脱することなく、本発明の多数の実施形態を構成し得るので、本発明は添付の特許請求の範囲によって定められるものとする。
ピアツーピアネットワークのノードを実装するためのコンピュータシステムの一例を示す概略図である。 ピアツーピアネットワークおよびピアツーピアネットワークストレージシステムの一例を示す概略図である。 ピアツーピアネットワークにデータを登録する方法の一例を示す流れ図である。 ピアツーピアネットワークのデータを取り出す方法の一例を示す流れ図である。 図3の登録データのペイロードを暗号化する方法の一例を示す流れ図である。 ピアツーピアネットワークの登録メッセージの一例を示す概略図である。 図6のアクセスリストの一例としてのテーブルを示す図である。 ピアツーピアネットワークにおける検索メッセージの一例を示す概略図である。
符号の説明
102 処理ユニット
104 システムメモリ、揮発性、不揮発性
106 破線
108 リムーバブル記憶装置
110 固定記憶装置
112 通信接続
114 入力装置(群)
116 出力装置(群)
211 ネットワーク
210 ノード
211 ネットワーク
230 ノード
240 登録プロセス
250 検索プロセス
260 ハッシュテーブル
265 ルーティングテーブル
270 暗号化サービスモジュール
280 ローカルアプリケーション
290 登録モジュール
295 検索モジュール
300 方法
302 登録キーを決定する
304 ペイロードを作成する
306 アクセスリストを決定する
308 登録メッセージを構成する
310 登録メッセージを送信する
312 ペイロードを暗号化する
314 ノード識別子を割り当てる
316 ノード識別子を割り当てる
400 例示的方法
402 キーを決定する
404 取出し識別子を決定する
406 検索メッセージを送信する
408 検索メッセージは検証されたか?
410 エラーメッセージを送信する
412 取出しユーザは検証されたか?
414 エラーメッセージを送信する
416 キー検出メッセージを作成する
418 キー検出メッセージを送信する
420 起点標識を決定する
502 グループキーを生成する
504 ペイロードを暗号化する
506 グループキーを暗号化する
508 暗号化されたグループキーをユーザと関連づける
510 暗号化されたグループキーを登録メッセージに含める
600 登録メッセージ
610 登録キー
624 ペイロード
626 アクセスリスト
628 グループキー(群)
630 取出し識別子
626 アクセスリスト
628 グループキー
700 テーブル
710 第1の列
712 取出し識別子
714 取出し識別子
720 第2列
722 グループキー
724 グループキー
800 検索メッセージ
610 登録キー
810 取出し識別子
820 起点標識

Claims (20)

  1. 実装されたときに一つの方法を実施するコンピュータ実行可能命令を含む1つまたは複数のコンピュータ可読媒体であって、前記方法は、
    a)ノード識別子をピアツーピアネットワークの第1のノードに割り当てるステップと、
    b)前記第1のノードで、キー値ペア、第1の登録キーを含む前記キー値ペアのキー、ペイロードおよびアクセスリストを含む前記キー値ペアの値を格納するステップであって、前記アクセスリストは前記ペイロードの取出しを許可されたユーザに関連する第1の取出し識別子を含むステップと
    を備えることを特徴とする1つまたは複数のコンピュータ可読媒体。
  2. 前記第1のノードで、第2の登録キーおよび第2の取出し識別子を含む検索メッセージを受信するステップをさらに備えるとともに、前記方法は、前記第1の取出し識別子を前記第2の取出し識別子と比較するステップと、前記第2の取出し識別子が前記第1の取出し識別子とマッチしない場合は標準エラーメッセージを送信するステップとをさらに備えることを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。
  3. 前記検索メッセージは起点標識を含み、前記方法は、前記第1のノードが前記起点標識を検証するステップをさらに備えることを特徴とする請求項2に記載の1つまたは複数のコンピュータ可読媒体。
  4. 前記起点標識はテキスト文字列からなる署名を含み、前記起点標識を検証するステップは前記テキスト文字列からなる前記署名を検証するステップを含むことを特徴とする請求項3に記載の1つまたは複数のコンピュータ可読媒体。
  5. 前記第2の取出し識別子は前記第2の取出し識別子に関連するユーザの公開キーを含み、前記署名を検証するステップは前記公開キーを用いて前記テキスト文字列を復号するステップを含むことを特徴とする請求項4に記載の1つまたは複数のコンピュータ可読媒体。
  6. 前記第1の取出し識別子を前記第2の取出し識別子と比較するステップは、前記第2の取出し識別子をハッシュするステップと、前記ハッシュされた第2の取出し識別子を前記第1の取出し識別子と比較するステップとを含み、前記方法は、前記ハッシュされた第2の取出し識別子が前記第1の取出し識別子とマッチする場合に、前記ペイロードを第3のノードに送信するステップをさらに備えることを特徴とする請求項2に記載の方法。
  7. 前記第1の取出し識別子は、前記第1の取出し識別子に関連する第1のユーザの公開キーのハッシュを含むことを特徴とする請求項6に記載の方法。
  8. 第2のノードでグループキーを生成するステップと、前記グループキーを用いて前記ペイロードを暗号化するステップとをさらに備えることを特徴とする請求項1に記載の方法。
  9. 前記第1の取出し識別子に関連する第1のユーザの公開キーを用いて前記グループキーを暗号化するステップと、前記暗号化されたグループキーを前記第1の取出し識別子と関連づけるステップとをさらに備えることを特徴とする請求項8に記載の方法。
  10. 前記第1のノードで、前記登録キーおよび第2の取出し識別子を含む検索メッセージを第3のノードから受信するステップと、前記第2の取出し識別子が前記第1の取出し識別子に対して検証された場合は、前記暗号化されたペイロードおよび前記暗号化されたグループキーを前記第3のノードに送信するステップと、前記第3のノードで、前記暗号化されたグループキーを秘密キーを用いて復号するステップと、前記暗号化されたペイロードを前記復号されたグループキーを用いて復号するステップとをさらに備えることを特徴とする請求項9に記載の方法。
  11. ピアツーピアネットワークにおいて、取出しノードの検索プロセスとストレージノードの検索モジュールとの間で通信を行う方法であって、
    a)前記検索プロセスによって、登録キーおよび取出し識別子を含めた複数のメッセージパラメータを含む検索メッセージを発行するステップと、
    b)前記検索モジュールによって、前記検索メッセージを受信し前記検索メッセージを構文解析して前記パラメータを取り出すステップと、
    c)前記登録キーが格納されたキー値ペアのキーにマッチし、かつ前記取出し識別子が前記キー値ペアに関連するアクセスリストに含まれている場合は、前記検索モジュールによってキー検出メッセージを発行するステップであって、前記キー検出メッセージは前記キー値ペアの前記値の少なくとも一部を含むステップと
    を備えることを特徴とする方法。
  12. 前記値の前記少なくとも一部はグループキーを用いて暗号化され、前記グループキーは前記検索プロセスにとって既知であることを特徴とする請求項11に記載の方法。
  13. 前記キー検出メッセージは前記グループキーの暗号化されたものを含むことを特徴とする請求項12に記載の方法。
  14. 前記取出し識別子は前記取出し識別子に関連する第1のユーザの公開キーのハッシュを含むことを特徴とする請求項11に記載の方法。
  15. 前記検索モジュールは、前記取出し識別子にハッシュを実施した後で前記アクセスリストと比較することを特徴とする請求項11に記載の方法。
  16. コンピュータ実行可能なコンポーネントを含む1つまたは複数のコンピュータ可読媒体であって、前記コンポーネントは、
    a)第1の登録キー、ペイロード、第1の取出し識別子、およびグループキーを含む登録メッセージを受信するための登録モジュールであって、前記グループキーは前記ペイロードの復号に適したものであるモジュールと、
    b)第2の登録キーおよび第2の取出し識別子を含む検索メッセージを受信する検索モジュールであって、前記第2の取出し識別子が前記第1の取出し識別子にマッチするかどうか、および前記第1の登録キーが前記第2の登録キーにマッチするかどうかを判定することによって前記検索メッセージを検証し、前記検索メッセージが検証された場合は、前記ペイロードを前記第2の取出し識別子に関連するピアツーピアネットワークのノードに送信し、前記検索メッセージが検証できなかったことに応答してエラーメッセージを送信する検索モジュールと
    を備えることを特徴とするコンピュータ可読媒体。
  17. 前記検索メッセージは起点標識をさらに含み、前記検索モジュールは前記第2の取出し識別子を使用して前記起点標識を検証し、前記起点標識を検証できなかったことに応答して前記エラーメッセージを送信することを特徴とする請求項16に記載のコンピュータ可読媒体。
  18. 前記第2の取出し識別子と前記第1の取出し識別子がマッチするかどうかを判定するステップは、前記第2の取出し識別子のハッシュを前記第1の取出し識別子と比較するステップ含むことを特徴とする請求項16に記載のコンピュータ可読媒体。
  19. 前記登録モジュールは、ピアツーピアネットワーク上の前記登録モジュールを一意に識別するノード識別子に前記第1の登録キーが類似しているかどうかを判定するためのものであり、また前記登録モジュールは、前記ペイロードに関連する前記第1の登録キー、前記第1の取出し識別子、および前記グループキーを格納するためのものであることを特徴とする請求項16に記載のコンピュータ可読媒体。
  20. 前記検索モジュールは、前記検索メッセージが検証された場合に、前記グループキーの暗号化されたものを前記ピアツーピアネットワークの前記ノードに送信するためのものであり、前記グループキーは前記ピアツーピアネットワークの前記ノードにとって既知の暗号キーを使用して暗号化されることを特徴とする請求項11に記載のコンピュータ可読媒体。
JP2006045612A 2005-02-22 2006-02-22 ピアツーピアネットワーク情報 Withdrawn JP2006236349A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/064,142 US8365301B2 (en) 2005-02-22 2005-02-22 Peer-to-peer network communication
US11/063,768 US20060190715A1 (en) 2005-02-22 2005-02-22 Peer-to-peer network information retrieval
US11/063,769 US7849303B2 (en) 2005-02-22 2005-02-22 Peer-to-peer network information storage

Publications (2)

Publication Number Publication Date
JP2006236349A true JP2006236349A (ja) 2006-09-07
JP2006236349A5 JP2006236349A5 (ja) 2012-02-23

Family

ID=36589105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006045612A Withdrawn JP2006236349A (ja) 2005-02-22 2006-02-22 ピアツーピアネットワーク情報

Country Status (4)

Country Link
EP (1) EP1694027B1 (ja)
JP (1) JP2006236349A (ja)
AT (1) ATE422131T1 (ja)
DE (1) DE602006005014D1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011059884A (ja) * 2009-09-08 2011-03-24 Nomura Research Institute Ltd クラウドコンピューティングシステム
JP2012508935A (ja) * 2008-11-14 2012-04-12 クゥアルコム・インコーポレイテッド 分散された記憶ネットワークにおけるデータ許可のためのシステムおよび方法
JP2017506859A (ja) * 2014-02-28 2017-03-09 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft ポジティブリストを用いる証明書の使用
JP2019511854A (ja) * 2016-02-23 2019-04-25 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008033552A2 (en) * 2006-09-12 2008-03-20 Iwatchnow Inc. System and method for distributed media streaming and sharing
EP1906616A1 (de) * 2006-09-29 2008-04-02 Nokia Siemens Networks Gmbh & Co. Kg Verfahren zur geschützten Einbindung zumindest eines Netzelementes in ein Peer-to-Peer-Netzwerk
GB2446199A (en) 2006-12-01 2008-08-06 David Irvine Secure, decentralised and anonymous peer-to-peer network
CN102884755A (zh) * 2010-05-14 2013-01-16 西门子公司 针对面向通用对象的变电站事件模型的组密钥生成和管理的方法
US8516607B2 (en) * 2011-05-23 2013-08-20 Qualcomm Incorporated Facilitating data access control in peer-to-peer overlay networks
US10754968B2 (en) 2016-06-10 2020-08-25 Digital 14 Llc Peer-to-peer security protocol apparatus, computer program, and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004246900A (ja) * 2003-02-11 2004-09-02 Microsoft Corp 組織などの限定された領域内におけるデジタル著作権管理(drm)システムによるデジタルコンテンツのパブリッシュ

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204992B2 (en) * 2002-09-26 2012-06-19 Oracle America, Inc. Presence detection using distributed indexes in peer-to-peer networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004246900A (ja) * 2003-02-11 2004-09-02 Microsoft Corp 組織などの限定された領域内におけるデジタル著作権管理(drm)システムによるデジタルコンテンツのパブリッシュ

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012508935A (ja) * 2008-11-14 2012-04-12 クゥアルコム・インコーポレイテッド 分散された記憶ネットワークにおけるデータ許可のためのシステムおよび方法
JP2011059884A (ja) * 2009-09-08 2011-03-24 Nomura Research Institute Ltd クラウドコンピューティングシステム
JP2017506859A (ja) * 2014-02-28 2017-03-09 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft ポジティブリストを用いる証明書の使用
US10911432B2 (en) 2014-02-28 2021-02-02 Siemens Aktiengesellschaft Use of certificates using a positive list
JP2019511854A (ja) * 2016-02-23 2019-04-25 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム

Also Published As

Publication number Publication date
EP1694027B1 (en) 2009-01-28
ATE422131T1 (de) 2009-02-15
DE602006005014D1 (de) 2009-03-19
EP1694027A1 (en) 2006-08-23

Similar Documents

Publication Publication Date Title
US8365301B2 (en) Peer-to-peer network communication
US7849303B2 (en) Peer-to-peer network information storage
US20060190715A1 (en) Peer-to-peer network information retrieval
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
CN109417553B (zh) 经由内部网络监视来检测使用泄漏证书的攻击
US8196186B2 (en) Security architecture for peer-to-peer storage system
EP1694027B1 (en) Peer-to-peer network information
KR101330392B1 (ko) 분산 저장 네트워크에서 데이터 인가를 위한 네트워크 노드 및 방법
KR102555164B1 (ko) 데이터에 대한 액세스 인에이블링
JP2006236349A5 (ja)
US8046585B2 (en) Verifying authenticity of an attribute value signature
US8762722B2 (en) Secure information distribution between nodes (network devices)
KR20150141362A (ko) 네트워크 노드 및 네트워크 노드의 동작 방법
US9485090B2 (en) Managed authentication on a distributed network
US20230020504A1 (en) Localized machine learning of user behaviors in network operating system for enhanced secure services in secure data network
US20230059173A1 (en) Password concatenation for secure command execution in a secure network device
US11582241B1 (en) Community server for secure hosting of community forums via network operating system in secure data network
Naghizadeh et al. Structural‐based tunneling: preserving mutual anonymity for circular P2P networks
US7895441B2 (en) LDAP grouping for digital signature creation
US20230164121A1 (en) Autonomic distribution of hyperlinked hypercontent in a secure peer-to-peer data network
US11870899B2 (en) Secure device access recovery based on validating encrypted target password from secure recovery container in trusted recovery device
US7984490B2 (en) Method for issuing attribute certificate from an LDAP entry
US20230125556A1 (en) Secure autonomic recovery from unusable data structure via a trusted device in a secure peer-to-peer data network
US11606426B1 (en) Database access gateway through distributed network nodes
Khan et al. Location identity based content security scheme for content centric networking

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111007

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20120110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120525

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121019

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20121022