JP2004030610A - Pnrpセキュリティ・インフラストラクチャおよび方法 - Google Patents

Pnrpセキュリティ・インフラストラクチャおよび方法 Download PDF

Info

Publication number
JP2004030610A
JP2004030610A JP2003125926A JP2003125926A JP2004030610A JP 2004030610 A JP2004030610 A JP 2004030610A JP 2003125926 A JP2003125926 A JP 2003125926A JP 2003125926 A JP2003125926 A JP 2003125926A JP 2004030610 A JP2004030610 A JP 2004030610A
Authority
JP
Japan
Prior art keywords
node
message
pac
peer
cache
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.)
Granted
Application number
JP2003125926A
Other languages
English (en)
Other versions
JP4716648B2 (ja
Inventor
Rohit Gupta
ロヒット グプタ
Alexandru Gavrilescu
アレクサンドル ガブリレスキュ
John L Miller
ジョン エル.ミラー
Graham A Wheeler
グラハム エー.ホイーラー
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 JP2004030610A publication Critical patent/JP2004030610A/ja
Application granted granted Critical
Publication of JP4716648B2 publication Critical patent/JP4716648B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

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

Abstract

【課題】悪意のあるノードがピアツーピアネットワークの通常のオペレーションを妨害する能力を抑制するセキュリティ・インフラストラクチャおよび方法を提供すること。
【解決手段】本発明の方法は、ノードを自己検証型にすることにより、ノードがセキュア識別とインセキュア識別の両方を使用することを可能にする。必要なとき、または適当なときに、既存のメッセージに対する検証を便乗させることにより、ID所有権が検証される。悪意のあるノードに最初に接続する確率を、接続先のノードをランダムに選択することにより減少させる。さらに、悪意のあるノードからの情報は、将来の応答を必要とする以前の通信についての情報を維持することにより、識別され、それを廃棄することができる。
【選択図】    図2

Description

【0001】
【発明の属する技術分野】
本発明は、一般的にはピアツーピアプロトコルに関し、より詳細には、ピアツーピアプロトコルのためのセキュリティ・フレームワーク・インフラストラクチャに関する。
【0002】
【従来の技術】
ピアツーピア通信、実際にはすべての種類の通信は、選択されたエンティティ間の有効な接続を確立する可能性に依存する。しかし、エンティティがネットワーク内で移動し、トポロジが変化し、またはアドレス・リース(address lease)を更新することができないために、エンティティは、変動する可能性のある1または複数のアドレスを有することができる。したがって、このアドレス指定問題に対する古典的なアーキテクチャ上の解決策は、各エンティティに安定な名前を割り当て、接続が必要なときにこの名前を現在アドレスに「解決(resolve)」することである。名前からアドレスへの変換は、非常に堅固でなければならず、容易かつ高速な更新も可能でなければならない。
【0003】
エンティティへの接続を捜すことによって、エンティティのアドレスを見つける可能性を増加させるために、多くのピアツーピアプロトコルは、エンティティが様々な機構を介してエンティティのアドレスを発行することを可能にする。一部のプロトコルは、クライアントが、ネットワーク中の他のエンティティからの要求を処理することによって、他のエンティティのアドレスの知識を獲得することを可能にする。実際、このアドレス知識の獲得により、これらピアツーピアネットワークを首尾よく運用することが可能となる。すなわち、ネットワーク中の他のピアについての情報が良好であるほど、特定のリソースの検索が収束する可能性が高くなる。
【0004】
しかし、ピアツーピアプロトコルの基礎となる堅固なセキュリティ・インフラストラクチャがなければ、悪意のあるエンティティは、このようなピアツーピアシステムの収束する能力を容易に破壊することができる。このような破壊は、例えば識別情報の盗用に関わるエンティティによって引き起こされる可能性がある。ピアツーピアネットワーク上のこのような識別情報の盗用攻撃において、悪意のあるノードは、許可された関係にない、すなわちその所有者でもグループのメンバなどでもないIDについてのアドレス情報を発行する。悪意のあるエンティティは、良好なノード応答の前に、最初に傍受および/または応答することができ、したがって良好なノードのように見える。
【0005】
悪意のあるエンティティは、ネットワークに不良な情報をあふれさせることによってPNRP解決を妨害することができ、ネットワーク中の他のエンティティが、存在しないノードに要求を転送する傾向を有し(このことは検索の収束に悪影響を与える)、または攻撃者によって制御されるノードに要求を転送する傾向を有する。このことは、リソースを見つけるために使用するRESOLVEパケットを転送する前に変更することによって、またはRESOLVEパケットを生成した要求者側に無効なRESPONSEを返送することによって達成される。悪意のあるエンティティは、例えば、IDが近く検索の収束を助ける、悪意のあるエンティティのキャッシュ内のノードに検索を転送する代わりに、要求されたIDから非常に離れたノードに検索を転送することによって、ピアツーピアネットワークのオペレーションを妨害しようと試みることもできる。あるいは、悪意のあるエンティティは、単に検索要求に全く応答しないこともできる。PNRP解決は、有効なIDの代わりに無効なBYEメッセージを送信する悪意のあるノードによってさらに妨害される可能性がある。その結果、クラウド(cloud)内の他のノードは、そのノードのキャッシュからこの有効なIDを除去し、それらに格納された有効なノードの数が減少する。
【0006】
アドレス証明書の検証は、識別情報の盗用問題を防止することができるが、PNRP解決を妨害する第2の種類の攻撃に対しては効果がない。攻撃者は、検証可能なアドレス証明書を生成し続け(またはそれを事前に生成し)、対応するIDをピアツーピアクラウド内にあふれさせることができる。ノードのいずれかがIDの所有権を検証しようと試みる場合、攻撃者は、実際そのノードが、あふれたIDの所有者であるので、そのことを検証することができる。しかし、攻撃者が十分なIDを生成するならば、攻撃者は、ピアツーピア検索の大部分を、攻撃者により制御されるノードのうちの1つに導くことができる。この点、攻撃者は、ネットワークのオペレーションをかなり制御し、管理することができる。
【0007】
【発明が解決しようとする課題】
上述した識別情報の盗用問題を防止するために、すべての新しいアドレス情報を最初に検証することをピアツーピアプロトコルが要求する場合に、第3の種類の攻撃を悪意のあるエンティティが利用できるようになる。これら種類のピアツーピアネットワークが影響を受けやすい攻撃は、サービス妨害(DoS)攻撃の形式である。新しいレコードについて理解するすべてのノードがID所有権のチェックを実施しようとする場合に、開示されたID所有者に対してネットワークアクティビティが殺到する。この弱点を利用して、攻撃者は、非常に一般化されたターゲットに対してIP DoS攻撃を仕掛けることができる。例えば、悪意のあるエンティティが、MicrosoftのウェブIPアドレスをIDのIPとして公示した場合、開示されたIPを受信するピアツーピアネットワーク中のすべてのノードは、そのIP(MicrosoftのウェブサーバのIP)に接続してレコードの真性を検証しようとする。もちろん、攻撃者がこの情報を生成したので、MicrosoftのサーバがIDの所有権を検証することはできない。しかし、損害は既に生じている。すなわち、攻撃者は、ピアツーピアコミュニティの良好な部分にMicrosoftを攻撃させている。
【0008】
1または複数のリソースを消耗させることによって、ノードまたはクラウドを圧倒する別の種類のDoS攻撃は、例えば、FLOOD/RESOLVE/SOLICITパケットを使用することにより、大量の無効/有効PACを単一のノードに送信する悪意のあるノードによって仕掛けられる。これらのPACを受信するノードは、PACのすべてを検証しようとして、ノードのすべてのCPUを消費することになる。同様に、無効FLOOD/RESOLVEパケットを送信することによって、悪意のあるノードは、クラウド内でパケットの増殖を達成する。すなわち、悪意のあるノードは、少数のそのようなパケットを使用して、PNRPクラウド用のネットワーク帯域幅を消費することができる。このパケットの送信先のノードは、追加のパケットを送信することによって応答するからである。ネットワーク帯域幅の増殖は、悪意のあるノードが偽のREQUESTメッセージを送信し、そのREQUESTメッセージに対して、良好なノードがREQUESTよりも大きいサイズのPACをFLOODすることによって応答することによっても達成される。
【0009】
悪意のあるノードは、初期ノードのシンクアップ(synch up)を妨害することによってPNRPクラウドに攻撃を仕掛けることもできる。すなわち、PNRPクラウドに加わるために、ノードは、PNRPクラウド内の既に存在しているノードのうちの1つに接続しようと試みる。ノードが悪意のあるにノードに接続しようと試みる場合に、ノードは、悪意のあるノードによって完全に制御されてしまう。さらに、悪意のあるノードは、2つの良好なノードが同期プロセスに関係しているとき、無効なREQUESTパケットを送信することができる。無効なREQUESTパケットにより、それに応答してFLOODメッセージの生成が開始されるので、これはシンクアップを妨害する一種のDoS攻撃である。
【0010】
したがって、このような攻撃の効果を防止または軽減することによって、P2Pクラウドの保全性を保証するセキュリティ機構が当技術分野で求められている。
【0011】
【課題を解決するための手段】
本願で開示される発明の概念は、悪意のあるノードがピアツーピアネットワークの通常のオペレーションを妨害することを抑制する、新規で改良された方法を含む。具体的には、本発明は、識別情報の盗用攻撃、サービス妨害攻撃、単にピアツーピアネットワーク中のアドレス解決を妨害しようと試みる攻撃、およびピアツーピアネットワークに加わり、参加する新しいノードの能力を妨害しようと試みる攻撃を含む、悪意のあるノードによって仕掛けられる可能性のある様々な種類の攻撃に対処する方法を提示する。
【0012】
提示されたセキュリティ・インフラストラクチャおよび方法は、ノードを自己検証型にすることにより、ノードがセキュア識別とインセキュア識別の両方を使用することを可能にする。必要なとき、または適当なときに、既存のメッセージに対する検証を便乗させることにより、または必要であれば小さい紹介メッセージを送信することにより、ID所有権が検証される。接続先のノードをランダムに選択することにより、悪意のあるノードに最初に接続する確率が減少する。さらに、将来の応答を必要とする以前の通信についての情報を維持することにより、悪意のあるノードからの情報が識別され、それを廃棄することができる。ノードのリソース使用率が所定の限界を超えたときに、ノードが要求を廃棄することを可能にすることにより、サービス妨害攻撃が抑制される。除去されるノードが取消し証明書を署名することを要求することにより、悪意のあるノードが有効ノードを除去する能力は低下する。
【0013】
本発明の一実施形態によれば、自己検証可能なインセキュアピアアドレス証明書(PAC)を生成する方法が提示される。これは、悪意のあるノードが、ピアツーピアネットワーク内のインセキュアPACにおいて別のノードのセキュア識別を発行することを防止する、この方法は、ピアツーピアネットワーク内で見つけることができるリソースに対するインセキュアPACを生成するステップを含む。このリソースは、ピアツーピア識別子(ID)を有する。この方法は、ピアツーピアIDが導出されるインセキュアPAC内に、ユニフォームリソース識別子(URI)を含めるステップをさらに含む。URIは、好ましくは、「p2p://URI」のフォーマットである。ピアツーピアIDは、インセキュアでもよい。
【0014】
別の実施形態では、ピアツーピアネットワーク内の第1ノードでピアアドレス証明書を適当なときに検証する方法が提示される。この第1ノードは、ピアアドレス証明書を格納するために複数レベルのキャッシュを使用し、この方法は、第2ノードから意図的にピアアドレス証明書(PAC)を受信するステップと、複数レベルのキャッシュのどのレベルにPACを格納すべきかを決定するステップとを含む。2つの最低のキャッシュレベルの一方にPACを格納すべきとき、この方法は、PACを保留リストに配置し、検証すべきPACのIDを含むINQUIREメッセージを生成し、INQUIREメッセージを第2ノードに送信する。2つの最低のキャッシュレベル以外の上位のキャッシュレベルにPACを格納すべきとき、この方法は、「未検証」としてマークされる上位のキャッシュレベルにPACを格納する。この場合、PACは、それが使用される最初に検証される。この方法は、PACを求める証明書チェーンを要求することもできる。
【0015】
好ましい実施形態では、INQUIREメッセージの生成は、INQUIREメッセージに含めるべきトランザクションIDを生成するステップを含む。INQUIREメッセージに応答して第2ノードからAUTHORITYメッセージが受信されたとき、PACは、保留リストから除去され、2つの最低のキャッシュレベルの一方に格納される。証明書チェーンが要求された場合、AUTHORITYメッセージが検査され、証明書チェーンが存在し、かつ有効であるかどうかが判定される。そうである場合に、PACは、2つの最低のキャッシュレベルの一方に格納され、そうでない場合に、PACは削除される。本発明の実施形態では、AUTHORITYメッセージが以前の通信に対する応答であることを保証するためにトランザクションIDを使用することもできる。
【0016】
本発明の別の実施形態では、悪意のあるノードに接続する確率が減少するようにピアツーピアネットワーク内のノードを見つける方法が提示される。この方法は、ピアツーピアネットワーク内で、ローカルに登録されたIDを含めずに発見メッセージを同報通信するステップと、ピアツーピアネットワーク内のノードから応答を受信するステップと、ノードとピアリング関係を確立するステップとを含む。一実施形態では、ノードから応答を受信するステップは、ピアツーピアネットワーク内の少なくとも2つのノードから応答を受信するステップを含む。この状況では、ノードとピアリング関係を確立するステップは、少なくとも2つのノードの一方をランダムに選択するステップと、少なくとも2つのノードのうちランダムに選択された一方とピアリング関係を確立するステップとを含む。
【0017】
本発明のさらに別の実施形態では、ピアツーピアネットワーク内の同期プロセスに基づくサービス妨害攻撃を抑制する方法が提示される。この方法は、キャッシュ同期を要求する、ピアアドレス証明書(PAC)を含むSOLICITメッセージ要求を第1ノードから受信するステップと、PACを検査して、PACの有効性を判定するステップと、PACを検査するステップが、PACが有効でないと判定したとき、SOLICITパケットを除去するステップとを含む。好ましくは、PACを検査するステップが、PACが有効であると判定したとき、この方法は、ナンス(nonce)を生成するステップと、ナンスを第1ノードの公開鍵で暗号化するステップと、暗号化ナンスを含むADVERTISEメッセージを生成するステップと、ADVERTISEメッセージを第1ノードに送信するステップとをさらに含む。REQUESTメッセージが第1ノードから受信されたとき、この方法は、REQUESTメッセージを検査して、第1ノードが暗号化ナンスを暗号化解除することができたかどうかを判定し、第1ノードが暗号化ナンスを暗号化解除することができたとき、REQUESTメッセージを処理する。
【0018】
好ましくは、この方法は、第1ノードとの通信を具体的に識別する接続情報を維持するステップと、REQUESTメッセージを検査し、REQUESTメッセージが具体的にADVERTISEメッセージと関係することを保証するステップと、REQUESTメッセージが具体的にADVERTISEメッセージと関係しないとき、REQUESTメッセージを拒絶するステップとをさらに含む。一実施形態では、第1ノードとの通信を具体的に識別する接続情報を維持するステップは、ナンスおよび第1ノードの識別のハッシュとして第1ビット位置を計算するステップと、ビットベクトル中の第1ビット位置でビットをセットするステップとを含む。これを行ったとき、REQUESTメッセージを検査するステップは、REQUESTメッセージからナンスおよび第1ノードの識別を抽出するステップと、ナンスおよび第1ノードの識別のハッシュとして第2ビット位置を計算するステップと、ビットベクトルを検査し、ビットベクトルが第2ビット位置に対応するビットセットを有するかどうかを判定するステップと、ビットベクトルを検査するステップで第2ビット位置に対応するビットセットが見つからないとき、REQUESTがADVERTISEメッセージに具体的に関係しないことを示すステップとを含む。あるいは、ナンスをビット位置として直接的に使用することもできる。この場合、REQUESTが受信されたとき、同封のナンスに対応するビット位置がチェックされる。このビット位置がセットされている場合、これは有効なREQUESTであり、ビット位置がクリアされる。そうでない場合、これは無効なREQUESTまたは応答攻撃であり、このREQUESTは廃棄される。
【0019】
本発明のさらに別の実施形態では、ピアツーピアネットワーク内の同期プロセスに基づくサービス妨害攻撃を抑制する方法は、第1ノードから意図的に要求メッセージを受信するステップと、REQUESTメッセージが第1ノードとの以前の通信に対する応答であるかどうかを判定するステップと、REQUESTメッセージが第1ノードとの以前の通信に対する応答でないとき、REQUESTメッセージを拒絶するステップとを含む。好ましくは、REQUESTメッセージが以前の通信に対する応答であるかどうかを判定するステップは、REQUESTメッセージから、第1ノードのナンスおよび識別を意図的に抽出するステップと、ナンスおよび識別のハッシュとしてビット位置を計算するステップと、ビットベクトルを検査し、ビットベクトルがビット位置に対応するビットセットを有するかどうかを判定するステップと、ビット位置に対応するビットセットが存在しないとき、REQUESTが第1ノードとの以前の通信の応答ではないことを示すステップとを含む。
【0020】
ピアツーピアネットワーク内のノードリソースの消費に基づくサービス妨害攻撃を抑制する方法も提示される。この方法は、ピアツーピアネットワーク内のノードからメッセージを受信するステップと、現在のリソース使用率を検査するステップと、現在のリソース使用率が所定のレベルを超えているとき、メッセージの処理を拒絶するステップとを含む。RESOLVEメッセージが受信されたとき、メッセージの処理を拒絶するステップは、AUTHORITYメッセージを第1ノードに送信するステップを含む。このAUTHORITYメッセージは、現在のリソース使用率が高過ぎるためにRESOLVEメッセージが処理されないことの表示を含む。ピアアドレス証明書(PAC)を含むFLOODメッセージが受信され、かつPACを2つの最低のキャッシュレベルの一方に格納すべきであることをこの方法が決定したとき、メッセージの処理を拒絶するステップは、後の処理のために保留リスト内にPACを配置するステップを含む。2つの最低のキャッシュレベルよりも高いキャッシュレベルにPACを格納すべきであることをこの方法が決定した場合には、メッセージの処理を拒絶するステップは、FLOODメッセージを拒絶するステップを含む。
【0021】
本発明の別の実施形態では、ピアツーピアネットワーク内のノード帯域幅消費に基づくサービス妨害攻撃を抑制する方法が提示される。この方法は、ピアツーピアネットワーク内のノードからキャッシュ同期を求める要求を受信するステップと、過去に実施されたキャッシュ同期の数を示すメトリック(metric)を検査するステップと、過去に実施されたキャッシュ同期の数が所定の最大値を超えているとき、キャッシュ同期を求める要求の処理を拒絶するステップとを含む。別の実施形態では、この方法はメトリックを検査し、所定の先行期間に実施されたキャッシュ同期の数を判定する。この実施形態では、要求の処理を拒絶するステップは、所定の先行期間に実施されたキャッシュ同期の数が所定の最大値を超えているとき、キャッシュ同期を求める要求の処理を拒絶するステップを含む。
【0022】
本発明の別の実施形態では、ピアツーピアネットワーク内の検索ベースのサービス妨害攻撃を抑制する方法は、既知のピアアドレス証明書のキャッシュエントリを検査し、解決要求を送信する適切なノードを決定するステップと、適切なノードのうち1つをランダムに選択するステップと、ランダムに選択したノードに解決要求を送信するステップとを含む。一実施形態では、適切なノードのうち1つをランダムに選択するステップは、ターゲットIDからのPNRP IDの距離に基づいて、適切なノードごとに、重み付けした確率を計算するステップを含む。特定の次のホップを選ぶ確率は、そのノードとターゲットノードの間のID距離に対する反比例として決定される。
【0023】
本発明の別の実施形態では、ピアツーピアネットワーク内の検索ベースのサービス妨害攻撃を抑制する方法は、RESPONSEメッセージを受信するステップと、RESPONSEメッセージが以前のRESOLVEメッセージに対する応答であるかどうかを判定するステップと、RESPONSEメッセージが以前のRESOLVEメッセージに対する応答でないとき、REQUESTメッセージを拒絶するステップとを含む。好ましくは、RESPONSEメッセージが以前のRESOLVEメッセージに対する応答であるかどうかを判定するステップは、RESPONSEメッセージ内の情報のハッシュとしてビット位置を計算するステップと、ビットベクトルを検査し、ビット位置に対応するビットがビットベクトル内にセットされているかどうかを判定するステップとを含む。
【0024】
一実施形態では、RESPONSEメッセージはアドレスリストを含み、この方法は、解決を妨害する試みにおいてRESPONSEメッセージが変更されているかどうかを判定するステップと、解決を妨害する試みにおいてRESPONSEメッセージが変更されているとき、RESPONSEメッセージを拒絶するステップとをさらに含む。好ましくは、解決を妨害する試みにおいてRESPONSEメッセージが変更されているかどうかを判定するステップは、RESPONSEメッセージ内のアドレスリストのハッシュとしてビット位置を計算するステップと、ビットベクトルを検査し、ビット位置に対応するビットがビットベクトル内にセットされているかどうかを判定するステップとを含む。
【0025】
本発明の別の実施形態では、悪意のあるノードがピアツーピアネットワークから有効ノードを除去することを抑制する方法は、キャッシュ内に格納されたピアアドレス証明書(PAC)を有する有効ノードから、取消し証明書を意図的に受信するステップと、取消し証明書が有効ノードによって署名されていることを検証するステップとを含む。
【0026】
本明細書に含まれ、本明細書の一部を形成する添付の図面は、本発明のいくつかの態様と、本発明の原理を説明するのに用いるための開示とを示す。
【0027】
【発明の実施の形態】
ある好ましい実施形態に関連して本発明を説明するが、本発明をその実施形態に限定することを意図するものではない。むしろ、すべての代替方法、修正形態、および均等物が、頭記の特許請求の範囲で定義される本発明の精神および範囲内に含まれるものとする。
【0028】
図面を参照すると、同様の参照符号は同様の要素を指しており、本発明が、適切なコンピューティング環境に実装されているものとして示されている。必須ではないが、パーソナルコンピュータによって実行中の、プログラムモジュールなどのコンピュータ実行可能命令の一般的文脈で本発明を説明する。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ種類を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。さらに、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースの消費者向け電子機器またはプログラマブル消費者向け電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成を用いて本発明を実施できることを当業者は理解されよう。本発明はまた、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、ローカルメモリ記憶装置とリモートメモリ記憶装置のどちらにも位置することができる。
【0029】
図1に、本発明を実装することができる適切なコンピューティング環境100の例を示す。例示的コンピューティング環境100は、適切なコンピューティング環境の一例に過ぎず、本発明の使用および機能の範囲に関して何らかの制限を示唆するものではない。例示的動作環境100に図示する構成要素のうちのいずれか1つ、あるいはそれらの組合せに関係する何らかの依存関係または要件をコンピューティング環境100が有するものと解釈すべきでもない。
【0030】
本発明は、他の多数の汎用コンピューティングシステム環境または構成、あるいは他の多数の特殊目的コンピューティングシステム環境または構成で動作可能である。本発明と共に使用するのに適した周知のコンピューティングシステム、環境、および/または構成の例には、限定はしないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド装置またはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル消費者向け電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、ならびに上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などが含まれる。
【0031】
本発明は、コンピュータによって実行中の、プログラムモジュールなどのコンピュータ実行可能命令の一般的文脈で説明することができる。一般に、プログラムモジュールは、特定のタスクを実施し、または特定の抽象データ種類を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明はまた、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含む、ローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体のどちらにも位置することができる。
【0032】
図1を参照すると、本発明を実装するための例示的システムは、コンピュータ110の形式の汎用コンピューティング装置を含む。コンピュータ110の構成要素は、限定はしないが、処理装置120と、システムメモリ130と、システムメモリを含む様々なシステム構成要素を処理装置120に結合するシステムバス121とを含むことができる。システムバス121は、様々なバスアーキテクチャのうちのいずれかを用いる、メモリバスまたはメモリコントローラと、周辺バスと、ローカルバスとを含むいくつかの種類のバス構造のうちのいずれでもよい。例えば、限定はしないが、このようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびメザニンバスとも呼ばれるPCI(Peripheral Component Interconnect)バスが含まれる。
【0033】
コンピュータ110は、一般に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110がアクセス可能である入手可能などんな媒体でもよく、それには揮発性媒体と不揮発性媒体の両方、取外し可能媒体と取外し不能媒体の両方が含まれる。例えば、限定はしないが、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するための何らかの方法または技術で実装される、揮発性媒体と不揮発性媒体、取外し可能媒体と取外し不能媒体のどちらも含む。コンピュータ記憶媒体には、限定はしないが、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD−ROM、DVD(digital versatile disk)、または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置、あるいは、所望の情報を格納するのに使用することができ、コンピュータ110でアクセスすることができる他のどんな媒体も含まれる。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構などの被変調データ信号で実施し、その通信媒体にはどんな情報送達媒体も含まれる。「被変調データ信号」という用語は、その特徴のうちの1または複数を有する信号、または情報を符号化するように変化する信号を意味する。例えば、限定はしないが、通信媒体には、ワイヤードネットワークまたはダイレクトワイヤード接続などのワイヤード媒体、ならびに音響媒体、RF媒体、赤外線媒体、および他のワイヤレス媒体などのワイヤレス媒体が含まれる。上記のいずれかの組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【0034】
システムメモリ130は、読取り専用メモリ(ROM)131およびランダムアクセスメモリ(RAM)132などの揮発性メモリおよび/または不揮発性メモリの形態のコンピュータ記憶媒体を含む。始動中などにコンピュータ110内の要素間で情報を転送する助けになる基本ルーチンを含む基本入出力システム(BIOS)133が、一般にROM131内に記憶される。RAM132は、一般に、処理装置120に即座にアクセス可能であり、かつ/または処理装置120が現在操作しているデータおよび/またはプログラムモジュールを含む。例えば、限定はしないが、図1に、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示す。
【0035】
コンピュータ110は、他の取外し可能/取外し不能な、揮発性/不揮発性コンピュータ記憶媒体も含むことができる。単なる一例であるが、図1に、取外し不能不揮発性磁気媒体を読み書きするハードディスクドライブ141と、取外し可能不揮発性磁気ディスク152を読み書きする磁気ディスクドライブ151と、CD−ROMまたは他の光媒体などの取外し可能不揮発性光ディスク156を読み書きする光ディスクドライブ155とを示す。例示的動作環境で使用することのできる他の取外し可能/取外し不能な揮発性/不揮発性コンピュータ記憶媒体には、限定はしないが、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、固体RAM、および固体ROMが含まれる。ハードディスクドライブ141は一般に、インタフェース140などの取外し不能メモリインタフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は、インタフェース150などの取外し可能メモリインタフェースによってシステムバス121に接続される。
【0036】
上述した、図1に図示するドライブとその関連するコンピュータ記憶媒体は、コンピュータ110に対してコンピュータ可読命令データ構造、データ構造、プログラムモジュール、および他のデータの記憶を実現する。例えば図1では、ハードディスクドライブ141がオペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を格納するものとして図示している。これらの構成要素は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同じにすることも、異なるものにすることもできることに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147には、少なくともこれらが相異なるコピーであることを示すために異なる符号を付けてある。ユーザは、キーボード162や、マウス、トラックボール、またはタッチパッドと一般に呼ばれるポインティングデバイス161などの入力装置を介して、コマンドおよび情報をコンピュータ110に入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含めることができる。これらの入力装置や他の入力装置はしばしば、システムバスに結合されるユーザ入力インタフェース160を介して処理装置120に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインタフェースおよびバス構造によって接続することもできる。モニタ191または他の種類のディスプレイ装置もまた、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続される。モニタに加えて、コンピュータはまた、スピーカ197およびプリンタ196などの他の周辺出力装置も含むことができ、その周辺出力装置は、出力周辺インタフェース195を介して接続することができる。
【0037】
コンピュータ110は、リモートコンピュータ180などの1または複数のリモートコンピュータへの論理接続を使用して、ネットワーク環境で動作することができる。リモートコンピュータ180は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、または他の共通ネットワークノードでよく、一般にコンピュータ110に関して上記で述べた要素のうちの多くまたはすべてを含むが、図1にはメモリ記憶装置181だけを示してある。図1に示す論理接続は、ローカルエリアネットワーク(LAN)171および広域ネットワーク(WAN)173を含むが、他のネットワークも含めることができる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的なものである。
【0038】
LANネットワーキング環境で使用する際、パーソナルコンピュータ110は、ネットワークインタフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用する際、コンピュータ110は一般に、インターネットなどのWAN173を介して通信を確立するためのモデム172または他の手段を含む。モデム172は内蔵でも外付けでもよく、ユーザ入力インタフェース160、または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク環境では、コンピュータ100に関して示したプログラムモジュールまたはその一部を、リモートメモリ記憶装置内に格納することができる。例えば、限定はしないが、図1に、リモートアプリケーションプログラム185をメモリ装置181上に常駐するものとして示す。図示するネットワーク接続は例示的なものであって、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されたい。
【0039】
以下の説明では、別段の表示がない限り、1または複数のコンピュータによって実行される動作と、オペレーションの象徴的表現とを参照しながら本発明を説明する。したがって、このような動作およびオペレーションは、コンピュータで実行される動作およびオペレーションと呼ばれることもあり、構造化形式のデータを表す電気信号の、コンピュータの処理装置による操作を含むことを理解されよう。この操作は、データを変換し、またはデータをコンピュータのメモリシステム内の位置に維持し、このデータは、当業者の理解する方式でコンピュータのオペレーションを再構成し、あるいは変更する。データを維持するデータ構造は、データのフォーマットによって定義される特定の特性を有するメモリの物理位置である。しかし、上記の状況で本発明を説明するものの、当業者は理解するであろうが、以下で説明する様々な動作およびオペレーションをハードウェアでも実装できることを制限することを意味するわけではない。
【0040】
上述したように、ピアツーピア(P2P)プロトコルの成功は、選択されたエンティティ間の有効な接続を確立するプロトコルの能力に依存する。特定のユーザは、異なるアドレスを有する様々な位置で、様々な方式でネットワークに接続することができるので、好ましい手法は、ユーザに対して固有の識別を割り当て、次にプロトコルを介してその識別を特定のアドレスに変換することである。Peer−To−Peer Name Resolution Protocol (PNRP) And Multilevel Cache For Use Therewithという名称の2001年8月29日出願の同時係属出願第09/942164号には、本発明のセキュリティ・インフラストラクチャの特定の適用範囲が見出されるPNRPが記載されている。この同時係属出願の教示および開示全体を参照により組み込む。しかし、本発明のセキュリティ・インフラストラクチャおよび方法が、この同時係属出願の特定のピアツーピアプロトコルに限定されず、他のプロトコルにも等しい効力で適用できることを、以下の教示から当業者は理解されよう。
【0041】
上記で組み込んだ同時係属出願で論じられているように、PNRPは、ピアベースの名前−アドレス解決プロトコルである。名前は、PNRP IDと呼ばれる256ビットの数である。アドレスは、IPv4アドレスまたはIPv6アドレス、ポート、ならびにプロトコル番号からなる。PNRP IDがアドレスに変換されるとき、ピアアドレス証明書(PAC)が返される。この証明書は、ターゲットのPNRP ID、現IPアドレス、公開鍵、およびその他の多くのフィールドを含む。PNRPプロトコルのインスタンスは、ノードと呼ばれる。ノードは、ローカルに登録された1または複数のPNRP IDを有することができる。ノードは、登録を介してPNRPで見つけることができるID−アドレスマッピングを作成する。各登録は、ローカルに構築されたピア証明書を含み、PNRPキャッシュの適切なビューを必要とする。PNRPノードではないホストは、PNRP DNSゲートウェイを介してPNRP IDをIPアドレスに変換することができる。PNRP DNSゲートウェイは、DNS「A」および「AAAA」照会を受諾し、指定のホスト名のサブセットを求めるPNRP検索を実行し、結果をDNS照会回答として返す。
【0042】
上述したように、PNRPは、P2PおよびPNRP IDをピアアドレス証明書(PAC)と関連付けるピアベースの機構を提供する。P2P IDは、永続的な128ビット識別子である。P2P IDは、正しくフォーマットされたP2P名をハッシングすることによって作成される。P2P IDには、セキュアとインセキュアの2つの種類がある。セキュアP2P IDは、公開鍵と検証可能な関係を有するIDである。インセキュアP2P IDは、セキュアでない任意のIDである。所与のP2P IDは、多くの異なるノードによって発行することができる。PNRPは、発行される各インスタンスが固有のPNRP IDを有することを保証するために、「サービス位置」サフィックスを使用する。「サービス位置」は、固有ネットワークサービスエンドポイントに対応する128ビットの数である。サービス位置は、いくつかの認識可能な要素を有するが、PNRPクライアントからは不透明とみなされるべきである。サービス位置は、2つの重要な特性を有する。どの時点でも、クラウド内の1つのソケットだけが所与のサービス位置に対応する。2つのサービス位置を比較したとき、各サービス位置についての共通プレフィックスの長さは、ネットワークの近さの妥当な指標である。同一の4ビットで始まる2つのサービス位置は、同一の3ビットで始まる2つのサービス位置よりも遠くに離れていない。
【0043】
P2P IDは、サービス位置との連鎖によって一意的に識別される。得られる256ビット(32バイト)識別子は、PNRP IDと呼ばれる。PNRPノードは、P2P名、権限、およびその他のいくつかのパラメータを用いてPNRPサービスを起動することによってPNRP IDを登録する。PNRPサービスは、提供されたデータを含むピアアドレス証明書(PAC)を作成し、維持する。PACは少なくとも、PNRP ID、証明書有効期間、サービスアドレスおよびPNRPアドレス、公開鍵、ならびに選択PAC内容を介して生成された暗号署名を含む。
【0044】
PNRP IDの作成および登録は、PNRPサービスの一部に過ぎない。PNRPサービス実行は、4つの段階に分割することができる。第1段階は、PNRPクラウドディスカバリである。この段階の間に、新しいノードは、加わりたいと望むクラウド内の既存のノードを見つけなければならない。クラウドは、グローバルPNRPクラウド、サイトローカル(企業)クラウド、リンクローカルクラウドとすることができる。見つかった後、PNRPクラウドに加わるについての第2段階に入る。新しいノードが既存のノードを見つけた後、新しいノードはSYNCHRONIZE手順を実施し、既存のノードトップキャッシュレベルのコピーを得る。単一のキャッシュレベルにより、新しいノードがクラウドに参加することを開始するための十分の基礎が与えられる。SYNCHRONIZATIONを達成した後、次の段階であるクラウドへのアクティブな参加を開始することができる。初期化を完了した後、ノードは、PNRP ID登録およびPNRP ID解決に参加することができる。この段階の間、ピアは定期的なキャッシュの保守を実施する。ノードが終了したとき、ノードは第4段階に入り、クラウドを離れる。ノードは、ローカルに登録した任意のPNRP IDを登録解除し、次いで終了する。
【0045】
PNRPプロトコルは、9個の異なる種類のパケットからなる。その一部は上述した。しかし、本願では、パケットの名前は、単にパケットの機能を理解しやすくするために使用しているのであって、パケットの名前を、パケットの形式またはフォーマット、あるいはメッセージ自体を制限するものとみなすべきでないことに留意されたい。RESOLVEパケットは、ターゲットPNRP IDをPACに変換することを要求する。RESOPNSEパケットは、完了したRESOLVE要求の結果である。FLOODパケットは、受信側のPNRPキャッシュのためのPACを含む。SOLICITパケットは、PNRPノードのトップレベルキャッシュをADVERTISEするようPNRPノードに依頼するために使用される。要求されるADVERTISEパケットは、ノードのトップレベルキャッシュ内のPACに関するPNRP IDのリストを含む。REQUESTパケットは、ADVERTISEされたPACのサブセットをフラッディングするようにノードに依頼するために使用される。INQUIREパケットは、特定のPNRP IDがそのノードに登録されたかどうかをインセキュアにノードに問い合わせるのに使用される。PNRP IDのローカル登録を確認するために、AUTHORITYパケットが使用される。このパケットは、任意選択で、そのIDに関するPACを検証する助けとなるように証明書チェーンを提供する。ACKパケットは、あるメッセージの受信、および/または処理の成功を確認する。最後に、REPAIRパケットは、分割されている可能性のあるクラウドをマージするよう試みるために使用される。
【0046】
ノードが完全に開始された後、ノードは、5つの種類のアクティビティを実施することによってPNRPクラウドに参加することができる。第1に、ノードは、PNRP IDを登録および登録解除することができる。PNRP IDを登録するとき、PNRPサービスは、PNRP ID、サービスアドレスポートおよびプロトコル、PNRPアドレスポートおよびプロトコル、ならびに公開鍵を関連付けるピアアドレス証明書(PAC)を作成する。このPACは、ローカルキャッシュに入り、RESOLVEを、新しいPACをソースとして使用し、かつ[PNRP ID+1]をターゲットとして使用して開始する。このRESOLVEは、登録されるIDと非常に類似したPNRP IDを有するいくつかのノードによって処理される。RESOLVEの各受信側は、新しいノードのPACをそれぞれのキャッシュに追加し、それによってクラウド内で新しいPNRPIDを公示する。PNRP IDを登録解除するとき、更新後のPACは、「取消し」フラグセットを用いて作成される。更新後のPACは、ローカルキャッシュの最低レベルにおけるすべてのエントリにフラッディングされる。FLOODの各受信側は、PACのバージョンが古いかについて、それぞれのキャッシュをチェックする。そのようなキャッシュが見つかった場合、受信側は、受信側のキャッシュからPACを除去する。PACが最低のキャッシュレベルから除去される場合、受信側は、受信側の最低のキャッシュレベルにおけるその他のすべてのPACによって提示されるPNRPノードに対して取消しをFLOODする。
【0047】
PNRPノードは、PNRP ID解決に参加することもできる。上記で組み込んだ出願に論じられているように、PNRP IDは、ターゲットPNRP IDに近づくように、次々にRESOLVEメッセージを経路指定することによってPACに変換される。ノードがRESOLVEを受信したとき、ノードは、RESOLVEを拒否して以前のホップに戻し、以前のホップにRESPONSEで応答し、またはPNRP IDがノード自体よりもターゲットIDに近いノードにRESOLVEを転送することができる。ノードは、RESPONSEパケットを解決の一部として受信し、転送する。PNRPノードは、ローカルクライアントの代わりにRESOLVESを開始することができる。PNRPサービスは、非同期の解決要求が可能となるようにAPIを提供する。ローカルノードは、RESOLVEパケットを生成し、対応するRESPONSEを最終的に受信する。
【0048】
PNRPノードは、キャッシュ同期要求を受ける。SOLICITパケットを受信する際、ノードは、PNRP IDを最高キャッシュレベル中にリストするADVERTISEパケットで応答する。次に、ソリシターノード(solicitor node)は、ADVERTISEされた望みのPACに関するPNRP IDをリストする要求を送信する。REQUESTされた各キャッシュエントリは、REQUEST側にFLOODされる。最後に、以下により十分に論じるように、PNRPは、識別の検証も実施する。識別の検証は、PACを検証するのに使用する脅威を軽減する装置である。識別の検証は、基本的に2つの目的を有する。第1に、識別の検証は、PACで指定されるPNRPノードが、ローカルに登録されたそのPACからのPNRP IDを有することを保証する。第2に、セキュアPNRP IDの場合(以下で論じる)、識別の検証は、PNRP IDにおける権限に対して暗号的に実証可能な関係を有する鍵を使用して、PACが署名されたことを保証する。
【0049】
ここまで、本発明のセキュリティ・インフラストラクチャの実施形態と特定の関連性が見出されるPNRPシステムの実際に役立つ知識を与えたので、ここで、本発明のセキュリティ・インフラストラクチャによって提供されるセキュリティ機構に注意を向ける。これらの機構は、上述したようなP2Pクラウドにおいて悪意のあるノードによってもたらされる可能性のある様々な攻撃の効果をなくし、または少なくとも緩和するために、本発明のシステムによって提供される。PNRPプロトコルは、これらの攻撃を防止する機構を有さず、これら脅威のすべてに対処する単一の解決策があるわけでもない。しかし、本発明のセキュリティ・インフラストラクチャは、悪意のあるノードによって引き起こされる可能性のある破壊を最小にし、かつ、PNRPプロトコロルに組み込むことができる。
【0050】
成功している多くのP2Pプロトコルの場合と同じく、容易に見つけることができるようにエンティティを発行することができる。しかし、P2Pプロトコルに対してセキュリティおよび保全性を実現するために、各識別は、添付の識別証明書を含むことが好ましい。しかし、堅固なセキュリティアーキテクチャは、セキュアエンティティとインセキュアエンティティのどちらも扱うことができる。本発明の実施形態によれば、この堅固性は、自己検証型PACを使用することによって実現される。
【0051】
セキュアPACは、IDと公開鍵との間のマッピングを提供することによって自己検証型にされる。これにより、セキュアPACに署名するための秘密鍵を有することなく誰かがそのPACを発行することが防止され、したがって、多くの識別の盗用攻撃が防止される。ID秘密鍵の保持者は、証明書を使用して、IPアドレス、フレンドリネームなどの追加の情報をIDに添付する。好ましくは、各ノードは、ノード自体の秘密鍵−公開鍵対を生成し、信頼されるサプライヤが提供することもできる。公開鍵は、ノード識別子の一部として含められる。その1対の鍵を作成したノードだけが、ノード識別の作成者であることを証明することができる秘密鍵を有する。このようにして、識別の盗用を見つけることができ、したがってそれを防止することができる。
【0052】
このような証明書に関する汎用フォーマットは、[Version, ID, <ID Related Info>, Validity, Algorithms, PIssuer]KIssuerと表すことができる。実際、セキュアIDであるか、それともインセキュアIDであるかに関わらず、P2P名/URLは、基本的な証明書フォーマットの一部である。この証明書の表現で使用しているように、Versionは、証明書のバージョンであり、IDは、発行すべき識別子であり、<ID Related Info>は、IDと関連付けるべき情報を表し、Validityは、世界日時(別名GMT)として表される1対のFrom−To dateで表される有効期間を表し、Algorithmsは、鍵の対を生成し、署名するのに使用するアルゴリズムを指し、PIssuerは、証明書発行者の公開鍵である。証明書発行者がID所有者と同じである場合、これは、ID所有者の公開鍵PIDである。項KIssuerは、PIssuerに対応する秘密鍵である。証明書発行者がID所有者である場合、これは、ID所有者の秘密鍵KIDである。
【0053】
好ましい実施形態では、<ID related info>は、このIDを見つけることができるアドレスタプルと、発行者のPNRPサービスに関するアドレスタプルを含む。この実施形態では、アドレス証明書は、[Version, ID, <Address>ID, <Address>PNRP, Validity, Revoke Flag, Algorithms, PIssuer]KIssuerとなる。この拡張された表現では、IDは発行すべき識別子であり、Group IDまたはPeer IDでよい。<Address>は、IPv6アドレス、ポート、およびプロトコルのタプルである。<Address>IDは、IDに関連付けるべきアドレスタプルである。<Address>PNRPは、発行者のマシンにおけるPNRPサービス(または他のP2Pサービス)のアドレスタプルである。これは、発行者のPNRPアドレスのアドレスであることが好ましい。これは、証明書の有効性を検証するために、他のPNRPノードによって使用される。Validityは、1対のFrom−To dateで表される有効期間を表す。取消しフラグは、セットされたとき取消し証明書をマークする。PIssuerは、証明書発行者の公開鍵であり、KIssuerは、PIssuerに対応する秘密鍵である。証明書発行者がID所有者である場合、これは、IDの秘密鍵KIDである。
【0054】
本発明の好ましい実施形態では、証明書が有効であるためには以下の条件を満たさなければならない。証明書署名が有効でなければならず、証明書は満了することができない。すなわち、UDTとして表される現在の日付は、Validityフィールドで指定される範囲内になければならない。公開鍵のハッシュもまた、IDと一致しなければならない。発行者がID所有者と同じである場合、発行者の公開鍵の、IDへのハッシングを検証しなければならない。PIssuerがPIDと異なる場合、KIDで署名された証明書に導く証明書のチェーンが存在しなければならない。このようなチェーンにより、発行者とID所有者との間の関係が検証される。加えて、証明取消しリスト(CRL)が、IDのそのクラスに関して発行され、CRLがアクセス可能である場合、オーセンティケータは、チェーン中の証明書がCRL内に出現しないことを検証することができる。
【0055】
本発明のセキュリティ・インフラストラクチャはまた、インセキュアPACも扱う。本発明によれば、インセキュアPACは、IDの導出元のユニフォームリソース識別子(URI)を含めることによって自己検証型となる。実際、セキュアIDとインセキュアIDはどちらも、PAC内にURIを含む。URIは、「p2p://URI」というフォーマットである。これにより、悪意のあるノードが、インセキュアPACで別のノードのセキュアIDを発行することが防止される。
【0056】
本発明のセキュリティ・インフラストラクチャは、インセキュアIDの使用も可能にする。このようなインセキュアIDに伴う問題は、偽造が非常に容易であることである。悪意のあるノードは、他の任意のノードのインセキュアIDを発行することができる。インセキュアIDは、良好なノードの発見を困難にすることが可能となるセキュリティホールも開く。しかし、本発明に従ってURIを含めることにより、インセキュアIDは、決してセキュアIDに影響を及ぼすことがない。さらに、本発明のインフラストラクチャにより、インセキュアIDを含むPACが、セキュアPACと同じフォーマットとなることが必要となる。すなわち、これらは公開鍵と秘密鍵を含む。セキュアPACに対する構造と同じ構造をインセキュアPACに対して実施することにより、PACを生成するためのバー(bar)は低下しない。さらに、PAC内にURIを含めることにより、特定のセキュアIDにマッピングするURIを生成することは、計算上実現不可能となる。
【0057】
ここで生じる1つの問題は、P2Pクラウドセキュリティの向上とオーバヘッドの増加との兼ね合いを認識した上で、PACをいつ検証するかということである。しかし、上述した様々なパケットに含まれるPACは、ある時点で検証しなければならない。このPAC検証は、IDの署名が有効かどうかをチェックすること、およびIDがセキュアIDについての公開鍵に対応するかどうかをチェックすることを含む。オーバヘッドとセキュリティの問題の平衡をとるため、本発明の一実施形態では、そのパケットのどんな処理を行うよりも前にPACを検証する。これにより、無効データは決して処理されないことが保証される。しかし、PAC検証がパケットの処理を低下させる可能性があり、そのことは、あるクラスのパケット、例えばRESOLVEパケットには適さないことを認識して、本発明の代替実施形態ではこのパケット中のPACを検証しない。
【0058】
PACの検証に加えて、本発明のセキュリティ・インフラストラクチャはまた、ID所有権のチェックを実施してPACを検証する。上述したように、個人情報の盗用は、PNRPまたは他のP2Pプロトコルでアドレスを使用する前に、そのアドレス証明書の単純な検証によって見つけることができる。この検証は、IDが、証明書に含まれる公開鍵のハッシュであることを単に検証することを伴うことがある。所有権の検証は、そのPAC中のアドレスにINQUIREパケットを発行することも伴う。INQUIREパケットは、検証すべきIDと、トランザクションIDを含む。IDがそのアドレスに存在する場合、ノードはそのINQUIREを確認すべきである。IDがそのアドレスに存在しない場合、ノードはそのINQUIREを確認すべきではない。識別を検証するのに証明書チェーンが必要である場合、ノードは、完全な証明書チェーンを返す。供給される証明書チェーンにおける承認のチェーンを検証するのと同様に、署名およびID−>URLの検証は、依然として複雑であり、本発明のシステムは、PACの検証に追加の複雑さを加えることになるあらゆるチャレンジ/応答プロトコルを回避する。さらに、トランザクションIDを含めることにより、悪意のあるノードがINQUIRESに対する応答を事前生成することを防止する。加えて、この機構は、PACが完全な証明書チェーンを搬送するという要件が不要となる。
【0059】
標準RESOLVEパケットを変更することにより、本発明のシステムにおいて、ID所有権チェックを容易にし、標準RESOLVEパケットがID所有権チェックも実施することができるようにする。変更されたRESOLVEパケットは、RESOLVEの転送先アドレスのIDを含む。IDがそのアドレスにある場合はACKを送信し、そうでない場合はNACKを送信する。IDがRESOLVEを処理しない場合、またはNACKが受信される場合、IDはキャッシュから除去される。このようにして、ある種のチャレンジ/応答プロトコルに頼ることなしに、特別などんなINQUIREパケットも送信することなく、本質的には、INQUIREメッセージをRESOLVEに便乗させることによってPACを検証する。この便乗プロセスを、図2に参照して以下で再度論じる。この手順により、無効なPAC、または古いPACを見つけることが容易になる。
【0060】
この識別検証チェックは、2つの相異なる時刻に行われる。最初は、ノードが、ノードの最低の2つのキャッシュレベルの一方にPACを加えようとしているときである。最低の2つのキャッシュレベルにおけるPAC有効性は、PNRPIDを変換するPNRPの能力にとって重要である。これらの2つのレベルの一方にPACを加える前に、識別検証を実施することにより、いくつかの攻撃が軽減される。PACをより高位のレベルのキャッシュに加えるべき場合、これらの高位レベルでは入替りがあるために、ID所有権は実施されない。キャッシュの高位レベルのすべてのPACエントリのほぼ85%は、それが使用される前に置換され、または有効期限が切れることが確認されている。したがって、これらの高位レベルに無効PACを有することによる何らかの効果を確認する確率は、無効PACが入ったときにID検証を実施することが正当化されないほどに十分低い。
【0061】
エントリが最低の2つのキャッシュレベルの一方に属すると判定されるとき、PACは、その識別を検証することができるまで、保留リスト内に配置される。この第1種の識別検証は、INQUIREメッセージを使用する。このような識別検証は、PACがその発信側ノードで依然として有効である(登録されている)ことを確認し、発信側ノードの検証権限がそのPACを発行する助けになる情報を要求する。INQUIREメッセージ中の1つのフラグは、AUTHORITY応答内の証明書チェーン(それが存在する場合)を送信するように受信側に要求する「フラグ」フィールド、すなわちRF_SEND_CHAINに対して定義される。INQUIREの受信側がPACを発行する権限を有さない場合、またはPACがもはやローカルに登録されていない場合、受信側は単にINQUIREメッセージを除去する。ローカルノードがAUTHORITYメッセージを介して適切な応答を受信しないので、不良なPACは、そのキャッシュ内に決して入らず、したがって、P2Pクラウドにおけるオペレーションに対して悪意のある効果を有さないようにすることができる。
【0062】
INQUIREの受信側がPACを発行する権限を有し、および依然としてローカルに登録されている場合、そのノードは、図2に示すように、AUTHORITYメッセージでINQUIREメッセージに応答する(200)。図2には示していないが、本発明の実施形態での受信側ノードは、AUTHORITYを送信したノードでIDが依然として登録されているとAUTHORITYメッセージが示すか否かを確認するためにチェックする。ローカルノードが、このAUTHORITYメッセージがINQUIREに対する応答であると判定した後(202)、ローカルノードは、保留リストからPACを除去する(204)。証明書チェーンが要求された場合(206)、証明書チェーンが存在し、有効であるかどうかを確認するためにAUTHORITYメッセージをチェックする(208)。証明書チェーンが存在し、有効である場合、PACがキャッシュに追加され、有効なものとしてマークされる(210)。そうでない場合、PACは削除される(212)。証明書チェーンが要求されなかった場合(206)、単にPACがキャッシュに追加され、有効なものとしてマークされる(210)。
【0063】
今や明らかであろうが、このAUTHORITYメッセージは、PNRP IDが依然としてローカルノードに登録されていることを確認または否定するのに使用され、任意選択で、このAUTHORITYメッセージは、AUTHORITY受信側がノードの権利を検証してターゲットIDに対応するPACを発行することを可能にする証明書チェーンを提供する。INQUIREメッセージに加えて、AUTHORITYメッセージは、以下に論じるようにRESOLVEメッセージに対する適切な応答でよい。AUTHORITYメッセージは、否定的応答を示すために受信側ノードがセットすることができる様々なフラグを含む。このような1つのフラグは、RESOLVEに対する応答においてのみ有効であるAF_REJECT_TOO_BUSYフラグである。このフラグは、ホストが非常にビジーであるためにRESOLVEを受諾することができないことを示し、送信側に、処理のためにRESOLVEを別のところに転送すべきであることを伝える。識別検証では助けとはならないが、以下でより完全に論じるように、このフラグは、DoS攻撃を防止するための本発明の別のセキュリティ機構である。フラグAF_INVALID_SOURCEは、RESOLVEに対する応答においてのみ有効であり、RESOLVE内のSource PACが無効であることを示す。AF_INVALID_BEST_MATCHフラグは、RESOLVEに対する応答においてのみ有効であり、RESOLVE内の「最良マッチ」PACが無効であることを示す。AF_UNKNOWN_IDフラグは、指定された「検証」PNRP IDがこのホストで登録されていないことを示す。AUTHORITYメッセージ内の他のフラグは、要求された情報が含まれていることを受信側ノードに示す。AF_CERT_CHAINフラグは、「検証」PNRP IDと、そのPACに署名するのに使用する公開鍵との関係を検証することを可能にする証明書チェーンが含まれていることを示す。AUTHORITYメッセージは、INQUIREメッセージまたはRESOLVEメッセージのどちらかに対する確認/応答としてのみ送信される。AUTHORITYがこの状況外で受信される場合、AUTHORITYは廃棄される。
【0064】
識別検証が実施される第2のときは、RESOLVEプロセスの間の適当なときに実施される。上述したように、PNRPキャッシュは、高速に入れ替わる。したがって、キャッシュ内の大部分のキャッシュエントリは、それが使用される前に上書きされる。したがって、本発明のセキュリティ・インフラストラクチャは、これらのPACが実際に使用されるまで、かつ実際に使用されない限り、これらのPACを検証しない。PACを使用してRESOLVE経路を経路指定するとき、本発明のシステムは、上述したRESOLVEパケットに加えて識別検証を便乗させる。RESOLVEは、INQUIREパケット中の「ターゲットID」と同様に扱われる「次のホップ」IDを含む。次に、RESOLVEは、上述したINQUIREに対して予想されるのと同様に、AUTHORITYパケットを用いて確認される。適当なときの識別検証が失敗した場合、RESOLVEの受信側は、送信側が受信側であると信じるものではない。したがって、RESOLVEは別のところに経路指定され、無効PACがキャッシュから除去される。
【0065】
このプロセスもまた図2に示す。PNRPノードPが、RESOLVEをセットする(202)ヘッダのMessage Typeフィールドを有するAUTHORITYパケットを受信するとき(200)、上述したように、受信側ノードは、AUTHORITYフラグを検査し、このAUTHORITYフラグが否であるかどうかを判定する(214)。AUTHORITYメッセージに、否定的な応答フラグのいずれかがセットされている場合、PACをキャッシュから削除し、RESOLVEを別のところに経路指定する(216)。RESOLVEの送信先のアドレスをRESOLVE経路に追加し、REJECTEDとマークする。次に、RESOLVEを新しい宛先に転送する。AUTHORITYが否でなく、かつ証明書チェーンが要求された場合(218)、AUTHORITYメッセージフラグAF_CERT_CHAINをチェックし、証明書チェーンが存在するかどうかを確認する。証明書チェーンが存在する場合、受信側ノードは、検証で指定されたPNRP IDに関するキャッシュされたPACに対するチェーン検証オペレーションを実施すべきである。チェーンをチェックして、チェーン内のすべての証明書が有効であり、かつチェーンのルートとリーフの間の関係が有効であることを保証すべきである。チェーンルートに関する公開鍵のハッシュは、少なくとも、PACのP2P名での権限と比較して、確実にそれらがマッチするようにすべきである。チェーンリーフに関する公開鍵は、PACを署名するのに使用する鍵と比較して、確実にそれらが一致するようにすべきである。これらのチェックのいずれかが失敗し、または要求時に証明書チェーンが存在しない場合(220)、キャッシュ222からPACを除去し、RESOLVEを再処理すべきである。要求された証明書チェーンが含まれており、かつ検証された場合(220)、検証PNRP IDに対応するPACを、完全に検証したものとしてマークすべきである(224)。望むなら、PNRP ID、PNRPサービスアドレス、および検証時間を、PACから保持することができ、PAC自体は、メモリを節約するためにキャッシュから削除することができる。
【0066】
この識別検証の一例として、PがPNRP ID「T」に関する識別検証を要求するノードであると仮定する。Nが、識別検証要求を受信するノードである。このことは、ターゲットID=TのINQUIREパケット、または次のホップ=TであるRESOLVEパケットのどちらかを受信するPの結果として生じる可能性がある。Nは、ローカルに登録されたPNRP IDのリストをチェックする。Tがそのリスト中に存在しない場合、受信したパケットの種類をチェックする。パケット種類がINQUIREであった場合、Nは暗黙のうちにINQUIRE要求を除去する。通常の再送信の試行が満了した後、Pは、PACを無効なものとして廃棄し、処理は終了する。パケット種類がRESOLVEであった場合、Nは、ID Tがローカルに登録されていないことを示すAUTHORITYパケットで応答する。次に、Pは、RESOLVEを別のところに送信する。TがNのPNRP IDのリスト中に存在する場合、Nは、AUTHORITYパケットを構築し、ターゲットIDをTにセットする。TがインセキュアIDである場合、Nは、AUTHORITYパケットをPに送信する。TがセキュアIDであり、かつセキュアIDに関する権限が、PACに署名するのに使用する鍵である場合、NはAUTHORITYパケットをPに送信する。これらのどれも真ではなく、かつRF_SEND_CHAINフラグがセットされている場合、Nは、PNRP ID Tに関する権限に対してPACに署名するのに使用する鍵に関する証明書チェーンを取り出す。証明書チェーンは、AUTHORITYパケットに挿入され、Nは、AUTHORITYパケットをPに送信する。この点で、TがインセキュアIDである場合、処理は完了する。そうでない場合、Pは、PACに署名する鍵と、PNRP ID Tを生成するのに使用する権限との関係を検証する。検証が失敗した場合、PACを廃棄する。検証が失敗し、かつ開始メッセージがRESOLVEであった場合、Pは、別のところにRESOLVEを転送する。
【0067】
ここで識別所有権検証を2回実施したことから今や理解するであろうが、INQUIREパケット、または修正後のRESOLVEパケットにより、FLOODを使用してP2Pクラウド全体にわたって無効PACを一般化することができず、検索は、存在しないIDまたは無効なIDに転送されない。FLOODパケットが検証なしにネットワーク中を伝播することが可能である場合、FLOODパケットがDoS攻撃を引き起こす可能性があるので、FLOODに対してPAC検証が必要である。これらの機構により、一般ノードのIDが非常に少数のノードの最低の2つのキャッシュレベルのみに属することになるので、一般ノードがID所有権チェックでフラッディングを受けることはない。
【0068】
上述した同時係属出願により完全に記載されているように、PNRPノードNは、4つの方式のうちの1つにより、新しいIDについて認識する。PNRPノードNは、近隣のキャッシュの初期フラッディングによって新しいIDを認識することができる。具体的には、P2Pノードが浮上するとき、P2Pノードは、P2Pクラウドの別のノードメンバと接触し、キャッシュ同期シーケンスを開始する。P2Pノードは、近隣がその最低のキャッシュの新しいレコードをフラッディングする結果として、新しいIDを認識することができる。例えば、ノードNがノードMの最低レベルのキャッシュ内のエントリとして出現すると仮定する。Mが新しいIDについて認識するとき、IDがMの最低レベルのキャッシュと適合する場合、Mは、そのキャッシュレベル内の他のエントリと、NにそのIDをそれぞれフラッディングする。ノードは、検索要求の結果として新しいIDを認識することができる。検索要求の発信元は、要求内に発信元のアドレス証明書を挿入し、検索要求に対する「最良マッチ」のPACもまた、そのPACを要求内に挿入する。このようにして、検索要求経路に沿うノードのすべては、検索発信元のアドレス、および最良マッチのアドレスでノードのキャッシュを更新することになる。同様に、ノードは、検索応答の結果として新しいIDを認識することができる。検索要求の結果は、要求経路のサブセットを逆の順序で移動する。この経路に沿うノードは、検索結果でノードのキャッシュを更新する。
【0069】
PNRPによれば、ノードが最初に浮上するとき、ノードは近隣を見つける。しかし、上述したように、最初に見つかったノードが悪意のあるノードである場合、その新しいノードは、悪意のあるノードによって制御される可能性がある。このような発生の可能性を防止し、または最小にするため、本発明のセキュリティ・インフラストラクチャは、セキュアノードブートアップを保証するための2つの機構を提供する。第1の機構は、ランダム化されたディスカバリである。ノードが、そのノードがPNRPクラウドに加わることを可能にする別のノードを見つけようと試みるとき、見つけるための最後の選択肢は、マルチキャスト/同報通信を使用することである。マルチキャスト/同報通信は、最もインセキュアなPNRPの発見方法だからである。ディスカバリの性質のために、良好なノードと不良なノードとを区別することが非常に難しい。したがって、このマルチキャスト/同報通信方法が必要なとき、本発明のセキュリティ・インフラストラクチャは、同報通信ディスカバリ(MARCOPOLOまたは既存のマルチキャストディスカバリプロトコル。例えばSSDP)メッセージに応答したノードのうちの1つを、ノードにランダムに選択させる。ランダムなノードを選択することにより、本発明のシステムは、不良なノードを選択する確率を最小にする。本発明のシステムは、そのIDのいずれも使用せずにこのディスカバリを実施する。ディスカバリ中にIDを使用しないことにより、本発明のシステムは、悪意のあるノードが特定のIDをターゲットにすることを防止する。
【0070】
ノードがその間にビットベクトルを維持する修正された同期段階により、第2のセキュアノードブートアップ機構が提供される。修正された同期段階機構は、図3の単純化した流れ図に示す例により、最もよく理解できる。アリス226が、アリス226のPACが含まれるSOLICIT 228をボブ230に送信すると仮定する。アリスのPACが有効でない場合(232)、ボブ230は、単にSOLICIT 234を除去する。PACが有効である場合、ボブ230は、この接続の状態を格納するためにビットベクトルを維持する。このSOLICITを受信したとき、ボブ230は、ナンスを生成し、それをアリスのPNRP IDでハッシュする(236)。得られる数は、ボブがセットするこのビットベクトルの索引として使用される。次に、ボブ230は、ADVERTISEメッセージでアリス226に応答する(238)。このADVERTISEは、他の情報とは別にアリスの公開鍵で暗号化されたボブのPACおよびナンスを含み、ボブ230によって署名される。アリス226がこのADVERTISEを受信したとき、アリス226は、署名およびボブのPACを検証する(240)。それを検証することができない場合、除去される(241)。それを検証することができる場合、アリス226は、ナンスを暗号化解除する(242)。次に、アリス226は、このナンスおよびアリスのPNRP IDを含むREQUESTを生成する(244)。ボブ230は、REQUESTパケットで送信されたナンスでアリスのPNRP IDをハッシングすることによって、このREQUESTを処理する(246)。ハッシングされた結果を索引として有するビットベクトルにビットがセットされている場合(248)、ボブは、ビットをクリアし、REQUESTの処理を開始する(250)。そうでない場合、REQUESTは応答攻撃である可能性があるので、ボブは、REQUESTを無視する(252)。
【0071】
これにより、シーケンスを再生することができないので、ノードブートアップは、セキュアプロセスになる。これにより、CPU、ネットワークポート、およびネットワークトラフィックを含む、消費されるリソースの点で、必要なオーバヘッドが最小となる。状態情報に対して維持すべきタイマは不要であり、シンクアップを開始したIDだけが送信データとなる。実際、修正された同期段階は、非同期であり、それにより、ノードが複数のSOLICITを同時に処理することが可能となる。
【0072】
パケットを処理する速度を制御し、すなわちノードリソース消費を制限することにより、上述した脅威の多くを最小にすることができる。この背後にある考えは、ノードは、PNRPパケットを処理しようとするノードのCPUを100%消費すべきでないということである。したがって、本発明の実施形態によれば、あるメッセージの処理が、ノードが効果的に機能することを妨害するとノードが検出したとき、ノードは、そのようなメッセージの処理を拒絶することができる。
【0073】
処理しないとノードが判断することができるそのような1つのメッセージは、別のノードから受信したRESOLVEメッセージである。図4に、このプロセスを単純化した形で示す。RESOLVEメッセージを受信した後(254)、ノードは、所定の限界を超えるCPU能力でノードが現在動作しているかどうかをチェックする(256)。ノードのCPUが非常にビジーであるためにRESOLVEメッセージを処理することができない場合、ノードは、ノードが非常にビジーであるために要求を処理することに失敗したことを示すAF_REJECT_TOO_BUSYフラグセットを有するAUTHORITYメッセージを送信する(258)。CPUがそれほどビジーではない場合(256)、ノードは、RESOLVEメッセージ内のPACのすべてが有効であるかどうかを判定し(260)、いずれかが無効であることが判明した場合、メッセージを拒絶する(262)。PACのすべてが有効である場合(260)、ノードはRESOLVEを処理する(264)。
【0074】
ノードがRESOLVEに応答することができる場合(266)、ノードはRESOLVEをRESPONSEに変換し、それをRESOLVEの送信元のノードに送信する(268)。しかし、ターゲットIDがローカルに登録されていない場合、ノードはRESOLVE内のフィールドのハッシュとしてビット位置を計算し、対応するビット位置をビットベクトルにセットする(270)。上記で簡潔に論じたように、このビットベクトルは、応答が期待されるどんなメッセージもノードが送信していないときに、誤り応答メッセージの処理を防止するためのセキュリティ機構として使用される。ノードは、ノードがメッセージを処理したことを証明する適切な変更と共にRESOLVEを転送する次のホップを見つける。RESOLVEを転送すべき転送先のノードが既に検証されている場合(272)、ノードは単に、RESOLVEをその次のホップに転送する(276)。この選択された次のホップがまだ検証されていない場合(272)、ノードは、RESOLVEにID所有権要求を便乗させ(274)、それをそのノードに転送する(276)。便乗させたID所有権要求に応答して、ノードは、上述したようにAUTHORITYメッセージを受信することを期待する。そのプロセスを図2に示す。図2に示すように、ステップ214で検証AUTHORITYが受信されていない場合、RESOLVEが転送されたノードのPACがキャッシュから削除され(216)、RESOLVEが図4のステップ254から再処理される。
【0075】
ノードのCPUが非常にビジーであるためにノードが処理しないと判断することができる別のメッセージは、FLOODメッセージである。図5に単純化した形で示すこのプロセスでは、FLOOD中に存在する新しい情報が最低の2つのキャッシュレベルの一方に進んだ場合(278)、PACをチェックして、PACが有効であるかどうかを判定する(280)。PACが有効でない場合、FLOODを拒絶する(284)。しかし、PACが有効である場合(280)、PACを保留リストに入れる(282)。保留リスト中のエントリは、ランダムな間隔でとられ、CPUがそれほどビジーでないときに処理される。これらのエントリがキャッシュの最低の2つのレベルに入ろうとしているので、上述したように、ID検証と所有権検証が共に実施される。FLOOD中に存在する新しい情報がより高いキャッシュレベルに進み(278)、かつCPUが非常にビジーでそれを処理することができない場合(286)、それは廃棄される(288)。ノードが利用可能なCPU処理能力を有する場合(286)、PACをチェックし、それが有効であるかどうかを判定する(290)。有効である場合、PACをキャッシュに追加し(292)、そうでない場合FLOODを拒絶する(294)。
【0076】
ノードブートアップ(SYNCHRONIZE)は、CPU処理能力だけでなく、ネットワーク帯域幅も含むかなりのリソースをノードで消費する別のプロセスである。しかし、新しいノードがP2Pクラウドに完全に参加することを可能にするためには、同期プロセスが必要である。したがって、ノードが所与の時間に利用可能なリソースを十分に有する場合、ノードは、ブートアップを求める別のノードの要求に応答する。すなわち、これまで議論した2つのメッセージと同様に、ノードのCPU稼働率が非常に高い場合、ノードは、ブートアップへの参加を拒絶することができる。しかし、このプロセスは非常に多くの能力を消費するので、悪意のあるノードが、多数のこのようなシーケンスを立ち上げることにより、依然としてこのプロセスを利用する可能性がある。したがって本発明のセキュリティ・インフラストラクチャの実施形態は、この攻撃を防止するために、所与のノードによって処理することができるノード同期の数を制限する。加えて、この制限を時間限定とすることができ、その結果、悪意のあるノードは、このような同期を将来再び実施できないようにノードを使用不能にすることができない。
【0077】
悪意のあるノードによって立ち上げられ、または引き起こされる可能性のある多数の検索ベースの攻撃を上述した。このような検索ベースの攻撃の効果をなくし、または最小にするため、本発明のシステムは2つの機構を提供する。第1の機構はランダム化である。すなわち、ノードが、検索要求(RESOLVE)の転送先の適切な次のホップを検索しているとき、ノードは、いくつかの可能な候補ノードを識別し、次に、これらの候補IDから、RESOLVEの転送先となる1つのIDをランダムに選択する。一実施形態では、ランダムな選択のために3つの候補ノードが識別される。IDは、全ランダム化の代替方法として、重み付けした確率に基づいて選択することができる。IDが悪意のないノードに属することの重み付けした確率を計算する1つの方法は、ターゲットIDからのPNRP IDの距離に基づく。次に、そのノードとターゲットノードとの間のID距離の反比例として確率が決定される。いずれにしても、このランダム化により、悪意のあるノードにRESOLVE要求を送信する確率が減少する。
【0078】
検索ベースの攻撃に対して効果的な第2のセキュリティ機構は、上述したビットベクトルを使用して状態情報を維持する。すなわち、ノードは、ノードが処理したRESOLVEメッセージであって、それに対する応答がまだ受信されていないRESOLVEメッセージのすべてを識別する情報を維持する。状態情報を維持するために使用するフィールドは、ターゲットIDと、RESOLVEパケット中のアドレスリストである。この2番目のフィールドを、検索を妨害しようとする悪意のあるノードによってアドレスリストが変更されていないことを保証するために使用する。ビットベクトルの他の例に関して上述したように、ノードは、RESOLVEからこれらのフィールドのハッシュを生成し、ビットベクトル中の対応するビット位置をセットして、そのRESOLVEの処理の履歴を維持する。
【0079】
図6の単純化した流れ図に示すように、別のノードからRESPONSEメッセージを受信したとき(296)、このRESPONSEメッセージ中のフィールドをハッシュし、ビット位置を計算する(298)。次に、ノードは、ビットベクトルをチェックし、ビット位置がセットされているかどうかを確認する(300)。ビットがセットされていない場合、このRESPONSEが以前に処理したRESOLVEとは関係がないことを意味し、パケットを廃棄する(302)。ビット位置がセットされている場合、このRESPONSEが以前に処理したRESOLVEと関係していることを示し、ビット位置をリセットする(304)。ビット位置をリセットすることにより、ノードは、悪意のあるノードからの再生攻撃の一部として送信された可能性のある、別の同一のRESPONSEメッセージを無視することになる。次に、ノードは、RESPONSEを処理してそれを次のホップに転送する前に、RESPONSEメッセージ中のPACのすべてが有効であるかどうかを確認するためにチェックを行う(306)。PACのいずれかが無効である場合(306)、ノードはパケットを拒絶する(310)。
【0080】
RESOLVEプロセスは、RESOLVE要求をRESPONSEに変換することに触れる。ここで論じたこのRESPONSEの処理は、RESPONSEが最近受信したRESOLVEに対応することを保証すること、および指定された次のホップにRESPONSEを転送することを含む。例えば、ノードPが、ターゲットPNRP IDと、BestMatch PACと、このノードの前に元のRESOLVEを処理したすべてのノードのアドレスをリストする経路とを含み、このノードがPNRPアドレスを所有することで終了するRESPONSEパケットSを受信すると仮定する。ノードPは、RESPONSEの受信をACKで確認する。ノードPは、それ自体のアドレスについてRESPONSE経路をチェックする。ノードPのアドレスは、このパケットが有効となるために、アドレスリスト中の最後のエントリでなければならない。ノードPは、RESPONSEが最近確認したRESOLVEとマッチすることを保証するために、受信したビットベクトルをチェックする。RESPONSEが、受信したビットベクトル中のフィールドと一致しない場合、またはPのアドレスが経路リスト中の最後のアドレスでない場合、RESPONSEを暗黙のうちに除去し、処理は停止する。Pは、BestMatch PACを検証し、それをPのローカルキャッシュに追加する。BestMatchが無効である場合、RESPONSEを暗黙のうちに除去し、処理は停止する。Pは、RESPONSE経路の最後からそのアドレスを除去する。Pは、対応するRESOLVE要求をACCEPTしたノードを示すフラグセットを有する最後のエントリまで、RESPONSE経路の最後からエントリを除去することを続行する。経路がそのときに空である場合、対応するRESOLVEがローカルに生成される。PNRPは、BestMatchに対する識別検証チェックを行う。識別検証チェックが成功した場合、BestMatchが要求マネージャに渡され、そうでない場合、失敗の表示が渡される。経路が空である場合、処理は完了する。経路が空でない場合、ノードは、RESPONSEパケットを経路リスト中の最後のエントリに転送する。
【0081】
発行されたアドレス証明書が証明書満了日(Validity/Toフィールド)より前に無効になったときはいつでも、PNRPアドレス証明書を取り消す必要がある。このようなイベントの例は、ノードがスムーズにP2Pネットワークから切断されるとき、またはノードがグループから離脱しつつあるときなどである。本発明の取消し機構は、取消し証明書の発行を利用する。取消し証明書は、Revoke Flagセットと、現在時刻(または証明書を取り消すべき時刻)にセットされたValidityフィールドのFrom dateと、以前に公示された証明書と同じ値にセットされたToフィールドとを有する。以下の条件すべてを満たす証明書すべてが取り消されるとみなされる。その証明書が同じ発行者によって署名されていること、IDが取消し証明書のIDと一致すること、Addressフィールドが、取消し証明書のAddressフィールドと一致すること、ValidationフィールドのTo dateが、取消し証明書のValidationフィールドのTo dateと同じであること、およびValidationフィールドのFrom dateが、取消し証明書のValidationフィールドのFrom dateに先行することである。取消し証明書が署名されるので、悪意のあるノードがクラウドからどれかを切断することができないことが保証される。
【0082】
本発明の様々な実施形態の上記の説明は、例示および説明のために提示した。上記の説明は、包括的なものではなく、または開示される厳密な実施形態に本発明を限定するものではない。上記の教示に照らして、多数の修正形態または変形形態が可能である。本発明の原理およびその実際的な応用例を最良に例示し、それによって当業者が、企図される特定の使用法に適するように本発明を様々な実施形態で、様々な修正を加えて利用することが可能となるように、上記で議論した実施形態を選び、説明した。このような修正形態および変形形態は、頭記の特許請求の範囲が公平に、法律的に、かつ公正に権利を有する幅に従って解釈されるとき、頭記の特許請求の範囲に記載される本発明の範囲内にある。
【図面の簡単な説明】
【図1】本発明が常駐する例示的コンピュータシステムを一般的に示すブロック図である。
【図2】本発明の実施形態にかかるAUTHORITYパケット処理のセキュリティ面を示す、単純化した流れ図である。
【図3】本発明の実施形態にかかるP2Pディスカバリの同期段階のセキュリティ面を示す、単純化した通信処理の流れ図である。
【図4】本発明の実施形態にかかるRESOLVEパケット処理のセキュリティ面を示す、単純化した流れ図である。
【図5】本発明の実施形態によるFLOODパケット処理のセキュリティ面を示す、単純化した流れ図である。
【図6】本発明の実施形態によるRESPONSEパケット処理のセキュリティ面を示す、単純化した流れ図である。
【符号の説明】
100 コンピューティング環境
110 コンピュータ
120 処理装置
121 システムバス
130 システムメモリ
131 読取り専用メモリ
132 ランダムアクセスメモリ
133 基本入出力システム
134、144 オペレーティングシステム
135、145 アプリケーションプログラム
136、146 他のプログラムモジュール
137、147 プログラムデータ
140、150 インタフェース
160 ユーザ入力インタフェース
161 ポインティングデバイス
162 キーボード
170 ネットワークインタフェースまたはアダプタ
171 ローカルエリアネットワーク
172 モデム
173 広域ネットワーク
180 リモートコンピュータ
190 ビデオインタフェース
191 モニタ
195 出力周辺インタフェース
196 プリンタ
197 スピーカ

Claims (49)

  1. ピアツーピアネットワークにおいて、自己検証可能なインセキュアピアアドレス証明書を生成して、悪意のあるノードがインセキュアピアアドレス証明書内で別のノードのセキュア識別を発行することを防止する方法であって、
    前記ピアツーピアネットワーク内で見つけることができ、ピアツーピア識別(ID)を有するリソースに対するインセキュアピアアドレス証明書(PAC)を生成するステップと、
    前記ピアツーピアIDの導出元の前記インセキュアPAC内に、ユニフォームリソース識別子(URI)を含めるステップと
    を備えたことを特徴とする方法。
  2. 前記ピアツーピアIDの導出元の前記インセキュアPAC内にURIを含める前記ステップは、「p2p://URI」フォーマットの前記URIを含めるステップを備えたことを特徴とする請求項1に記載の方法。
  3. 前記ピアツーピアIDは、インセキュアであることを特徴とする請求項1に記載の方法。
  4. ピアツーピアネットワークにおいて、第1ノードでピアアドレス証明書を適当なときに検証する方法であって、前記第1ノードは、ピアアドレス証明書を格納するために複数レベルのキャッシュを使用し、
    第2ノードから意図的にピアアドレス証明書(PAC)を受信するステップと、
    前記複数レベルのキャッシュのどのレベルに前記PACを格納すべきかを決定するステップと、
    前記PACが、2つの最低のキャッシュレベルの一方に格納すべきとき、
    (a)前記PACを保留リストに配置するステップと、
    (b)検証すべき前記PACのIDを含むINQUIREメッセージを生成するステップと、
    (c)前記INQUIREメッセージを前記第2ノードに送信するステップと、
    前記PACが、前記2つの最低のキャッシュレベル以外の上位のキャッシュレベルに格納すべきとき、前記PACを前記上位のキャッシュレベルに格納するステップと
    を備えたことを特徴とする方法。
  5. 前記INQUIREメッセージを送信するステップは、前記PACに関する証明書チェーンを要求するステップを含むことを特徴とする請求項4に記載の方法。
  6. 前記INQUIREメッセージを生成する前記ステップは、前記INQUIREメッセージに含めるべきトランザクションIDを生成するステップを備えたことを特徴とする請求項4に記載の方法。
  7. 前記INQUIREメッセージに応答して、前記第2ノードからAUTHORITYメッセージを受信するステップと、
    前記保留リストから前記PACを除去するステップと、
    前記2つの最低のキャッシュレベルの前記一方に前記PACを格納するステップと
    をさらに備えたことを特徴とする請求項4に記載の方法。
  8. 前記INQUIREメッセージに応答して、前記第2ノードからAUTHORITYメッセージを受信するステップと、
    前記保留リストから前記PACを除去するステップと、
    前記AUTHORITYメッセージを検査して、前記証明書チェーンが存在し、かつ有効であるか否かを判定するステップと、
    前記証明書チェーンが存在し、かつ有効であるとき、前記2つの最低のキャッシュレベルの前記一方に前記PACを格納するステップと、
    前記証明書チェーンが存在せず、かつ有効でないとき、前記PACを削除するステップと
    をさらに備えたことを特徴とする請求項5に記載の方法。
  9. 前記INQUIREメッセージに応答して、前記第2ノードからAUTHORITYメッセージを受信するステップと、
    前記保留リストから前記PACを除去するステップと、
    前記AUTHORITYメッセージを検査して、前記トランザクションIDが存在するか否かを判定するステップと、
    前記トランザクションIDが存在するとき、前記2つの最低のキャッシュレベルの前記一方に前記PACを格納するステップと、
    前記トランザクションIDが存在しないとき、前記PACを削除するステップと
    をさらに備えたことを特徴とする請求項6に記載の方法。
  10. 前記2つの最低のキャッシュレベルの一方以外の上位のキャッシュレベル格納された前記PACを選択し、RESOLVEパケットを経路指定するステップと、
    便乗されたID所有権検証情報を有する前記RESOLVEパケットを前記第2ノードに送信するステップと、
    前記第2ノードがID所有権を検証したとき、前記PACを有効なものとしてマークするステップと
    をさらに備えたことを特徴とする請求項4に記載の方法。
  11. 前記第2ノードがID所有権を検証することができないとき、前記2つの最低のキャッシュレベルの一方以外の上位のキャッシュレベルから前記PACを削除するステップと、
    異なるPACで前記RESOLVEパケットを再処理するステップと
    をさらに備えたことを特徴とする請求項10に記載の方法。
  12. 前記第2ノードがID所有権を検証することができないとき、前記2つの最低のキャッシュレベルの一方以外の上位のキャッシュレベルから前記PACを削除するステップは、前記PACを削除する前に、前記第2ノードがID所有権を検証するために所定の期間待機するステップを備えたことを特徴とする請求項11に記載の方法。
  13. 前記第2ノードがID所有権を検証することができないとき、前記2つの最低のキャッシュレベルの一方以外の上位のキャッシュレベルから前記PACを削除するステップは、
    前記第2ノードからAUTHORITYメッセージを受信するステップと、
    前記AUTHORITYメッセージを検査して、前記第2ノードがID所有権を検証することができたかどうかを判定するステップと、
    前記第2ノードがID所有権を検証することができなかったことを判定するステップと、
    前記PACを削除するステップと
    を備えたことを特徴とする請求項11に記載の方法。
  14. 前記第2ノードがID所有権を検証することができなかったことを判定するステップは、前記第2ノードが、前記PACのID所有権を検証することができなかったことを示す前記AUTHORITYメッセージ内のフラグをセットすることを決定するステップを備えたことを特徴とする請求項13に記載の方法。
  15. 前記第2ノードがID所有権を検証することができなかったことを判定するステップは、前記AUTHORITYメッセージを検査して、証明書チェーンが存在せず、かつ有効でないことを判定するステップを備えたことを特徴とする請求項13に記載の方法。
  16. 前記第2ノードがID所有権を検証したとき、前記PACを有効なものとしてマークするステップは、ID所有権を検証する前記第2ノードから、AUTHORITYメッセージを受信するステップを備えたことを特徴とする請求項10に記載の方法。
  17. 前記第2ノードがID所有権を検証したとき、前記PACを有効なものとしてマークするステップは、ID所有権を検証する証明書チェーンを有する前記第2ノードから、AUTHORITYメッセージを受信するステップを備えたことを特徴とする請求項10に記載の方法。
  18. ピアツーピアネットワークにおいてノードを見つける方法であって、
    前記ピアツーピアネットワークにおいて、ローカルに登録されたIDを含めずに発見メッセージを同報通信するステップと、
    前記ピアツーピアネットワーク内のノードから応答を受信するステップと、
    前記ノードとピアリング関係を確立するステップと
    を備えたことを特徴とする方法。
  19. ノードから応答を受信するステップは、前記ピアツーピアネットワーク内の少なくとも2つのノードから応答を受信するステップを備え、前記ノードとピアリング関係を確立するステップは、前記少なくとも2つのノードの一方をランダムに選択するステップと、前記少なくとも2つのノードのうちのランダムに選択された一方とピアリング関係を確立するステップとを備えたことを特徴とする請求項18に記載の方法。
  20. ピアツーピアネットワークにおいて、同期プロセスに基づくサービス妨害攻撃を抑制する方法であって、
    キャッシュ同期を要求し、第1ノードに関するピアアドレス証明書(PAC)を含むSOLICITメッセージを前記第1ノードから受信するステップと、
    前記PACを検査して、その有効性を判定するステップと、
    前記PACを検査する前記ステップが、前記PACが有効でないと判定したとき、前記SOLICITパケットを除去するステップと
    を備えたことを特徴とする方法。
  21. 前記PACが有効であることを判定する前記PACを検査するステップは、
    ナンスを生成するステップと、
    前記ナンスを前記第1ノードの公開鍵で暗号化するステップと、
    前記暗号化それたナンスを含むADVERTISEメッセージを生成するステップと、
    前記ADVERTISEメッセージを前記第1ノードに送信するステップと、
    前記第1ノードからREQUESTメッセージを受信するステップと、
    前記REQUESTメッセージを検査して、前記第1ノードが前記暗号化されたナンスを暗号化解除することができたかどうかを判定するステップと、
    前記REQUESTメッセージを検査するステップが、前記第1ノードが前記暗号化されたナンスを暗号化解除することができたことを示すとき、前記REQUESTメッセージを処理するステップと
    をさらに備えたことを特徴とする請求項20に記載の方法。
  22. 前記第1ノードとの通信を具体的に識別する接続情報を維持するステップと、
    前記REQUESTメッセージを検査し、それが具体的に前記ADVERTISEメッセージと関係することを保証するステップと、
    前記REQUESTメッセージを検査し、前記REQUESTメッセージが具体的に前記ADVERTISEメッセージと関係することを保証するステップが、それが具体的に前記ADVERTISEメッセージと関係しないことを示すとき、前記REQUESTメッセージを拒絶するステップと
    をさらに備えたことを特徴とする請求項21に記載の方法。
  23. 前記第1ノードとの前記通信を具体的に識別する接続情報を維持するステップは、
    前記ナンスおよび前記第1ノードの識別のハッシュとして第1ビット位置を計算するステップと、
    ビットベクトル中の前記第1ビット位置でビットをセットするステップと
    を備えたことを特徴とする請求項22に記載の方法。
  24. 前記REQUESTメッセージを検査し、前記REQUESTメッセージが具体的に前記ADVERTISEメッセージと関係することを保証するステップは、
    前記REQUESTメッセージから前記ナンスおよび前記第1ノードの識別を抽出するステップと、
    前記ナンスおよび前記第1ノードの識別のハッシュとして第2ビット位置を計算するステップと、
    前記ビットベクトルを検査し、それが前記第2ビット位置に対応するビットセットを有するかどうかを判定するステップと、
    前記ビットベクトルを検査するステップが、前記第2ビット位置に対応するビットセットを見つけないとき、前記REQUESTが前記ADVERTISEメッセージに具体的に関係しないことを示すステップと
    を備えたことを特徴とする請求項23に記載の方法。
  25. ピアツーピアネットワークにおいて、同期プロセスに基づくサービス妨害攻撃を抑制する方法であって、
    第1ノードから意図的にREQUESTメッセージを受信するステップと、
    前記REQUESTメッセージが前記第1ノードとの以前の通信に対する応答であるかどうかを判定するステップと、
    前記REQUESTメッセージが前記第1ノードとの以前の通信に対する応答でないとき、前記REQUESTメッセージを拒絶するステップと
    を備えたことを特徴とする方法。
  26. 前記REQUESTメッセージが前記第1ノードとの以前の通信に対する応答であるかどうかを判定するステップは、
    前記REQUESTメッセージから前記第1ノードのナンスおよび識別を意図的に抽出するステップと、
    前記ナンスおよび前記識別のハッシュとしてビット位置を計算するステップと、
    前記ビットベクトルを検査し、それが前記ビット位置に対応するビットセットを有するかどうかを判定するステップと、
    前記ビットベクトルを検査するステップが、前記ビット位置に対応するビットセットを見つけないとき、前記REQUESTが前記第1ノードとの以前の通信の応答ではないことを示すステップと
    を備えたことを特徴とする請求項25に記載の方法。
  27. ピアツーピアネットワークにおいて、ノードリソースの消費に基づくサービス妨害攻撃を抑制する方法であって、
    前記ピアツーピアネットワーク内のノードからメッセージを受信するステップと、
    現在のリソース使用率を検査するステップと、
    現在のリソース使用率を検査するステップが、前記現在のリソース使用率が所定のレベルを超えていることを示すとき、前記メッセージの処理を拒絶するステップと
    を備えたことを特徴とする方法。
  28. メッセージを受信するステップは、RESOLVEメッセージを受信するステップを含み、前記メッセージの処理を拒絶するステップは、AUTHORITYメッセージを前記第1ノードに送信するステップを含み、前記AUTHORITYメッセージは、前記現在のリソース使用率が高過ぎるために前記RESOLVEメッセージが処理されないという表示を含むことを特徴とする請求項27に記載の方法。
  29. メッセージを受信するステップは、ピアアドレス証明書(PAC)を含むFLOODメッセージを受信するステップを含み、前記PACが2つの最低のキャッシュレベルの一方に格納すべきことを決定するステップをさらに備え、前記メッセージの処理を拒絶するステップは、後の処理のために保留リスト内に前記PACを配置するステップを備えたことを特徴とする請求項27に記載の方法。
  30. メッセージを受信するステップは、ピアアドレス証明書(PAC)を含むFLOODメッセージを受信するステップを含み、前記PACが2つの最低のキャッシュレベルよりも高いキャッシュレベルに格納すべきことを決定するステップをさらに備え、前記メッセージの処理を拒絶するステップは、前記FLOODメッセージを拒絶するステップを備えたことを特徴とする請求項27に記載の方法。
  31. ピアツーピアネットワークにおいて、ノード帯域幅の消費に基づくサービス妨害攻撃を抑制する方法であって、
    前記ピアツーピアネットワーク内のノードからキャッシュ同期の要求を受信するステップと、
    過去に実施されたキャッシュ同期の数を示すメトリックを検査するステップと、
    メトリックを検査するステップが、前記過去に実施されたキャッシュ同期の数が所定の最大値を超えていることを示すとき、前記キャッシュ同期の要求の処理を拒絶するステップと
    を備えたことを特徴とする方法。
  32. メトリックを検査する前記ステップは、前記メトリックを検査し、所定の先行期間に実施されたキャッシュ同期の数を判定するステップを備え、前記要求の処理を拒絶するステップは、前記メトリックを検査するステップが前記所定の先行期間に実施されたキャッシュ同期の数が所定の最大値を超えていることを示すとき、前記キャッシュ同期の要求の処理を拒絶するステップを備えたことを特徴とする請求項31に記載の方法。
  33. ピアツーピアネットワークにおいて、検索ベースのサービス妨害攻撃を抑制する方法であって、
    既知のピアアドレス証明書のキャッシュエントリを検査し、解決要求を送信する適切なノードを決定するステップと、
    前記適切なノードのうち1つをランダムに選択するステップと、
    前記ランダムに選択されたノードに前記解決要求を送信するステップと
    を備えたことを特徴とする方法。
  34. 前記適切なノードのうち1つをランダムに選択するステップは、前記ノードまでの距離の反比例に基づいて、前記適切なノードごとに重み付けした確率を計算するステップを備えたことを特徴とする請求項33に記載の方法。
  35. ピアツーピアネットワークにおいて、検索ベースのサービス妨害攻撃を抑制する方法であって、
    RESPONSEメッセージを受信するステップと、
    前記RESPONSEメッセージが以前のRESOLVEメッセージに対する応答であるかどうかを判定するステップと、
    前記RESPONSEメッセージが前記以前のRESOLVEメッセージに対する応答でないとき、前記REQUESTメッセージを拒絶するステップと
    を備えたことを特徴とする方法。
  36. 前記RESPONSEメッセージが以前のRESOLVEメッセージに対する応答であるかどうかを判定するステップは、前記RESPONSEメッセージ内の情報のハッシュとしてビット位置を計算するステップと、ビットベクトルを検査し、前記ビット位置に対応するビットがビットベクトル内にセットされているかどうかを判定するステップとを備えたことを特徴とする請求項35に記載の方法。
  37. 前記RESPONSEメッセージは、アドレスリストを含み、解決を妨害する試みにおいて前記RESPONSEメッセージが変更されているかどうかを判定するステップと、解決を妨害する試みにおいて前記RESPONSEメッセージが変更されているとき、前記RESPONSEメッセージを拒絶するステップとをさらに備えたことを特徴とする請求項35に記載の方法。
  38. 解決を妨害する試みにおいて前記RESPONSEメッセージが変更されているかどうかを判定するステップは、前記RESPONSEメッセージ内の前記アドレスリストのハッシュとしてビット位置を計算するステップと、ビットベクトルを検査し、前記ビット位置に対応するビットがビットベクトル内にセットされているかどうかを判定するステップとを備えたことを特徴とする請求項37に記載の方法。
  39. 悪意のあるノードがピアツーピアネットワークから有効ノードを除去することを抑制する方法であって、
    キャッシュ内に格納されたピアアドレス証明書(PAC)を有する前記有効ノードから、意図的に取消し証明書を受信するステップと、
    前記取消し証明書が前記有効ノードによって署名されていることを検証するステップと
    を備えたことを特徴とする方法。
  40. 請求項1に記載のステップを実行するコンピュータ実行可能命令を有することを特徴とするコンピュータ読取り可能媒体。
  41. 請求項4に記載のステップを実行するコンピュータ実行可能命令を有することを特徴とするコンピュータ読取り可能媒体。
  42. 請求項18に記載のステップを実行するコンピュータ実行可能命令を有することを特徴とするコンピュータ読取り可能媒体。
  43. 請求項20に記載のステップを実行するコンピュータ実行可能命令を有することを特徴とするコンピュータ読取り可能媒体。
  44. 請求項25に記載のステップを実行するコンピュータ実行可能命令を有することを特徴とするコンピュータ読取り可能媒体。
  45. 請求項27に記載のステップを実行するコンピュータ実行可能命令を有することを特徴とするコンピュータ読取り可能媒体。
  46. 請求項31に記載のステップを実行するコンピュータ実行可能命令を有することを特徴とするコンピュータ読取り可能媒体。
  47. 請求項33に記載のステップを実行するコンピュータ実行可能命令を有することを特徴とするコンピュータ読取り可能媒体。
  48. 請求項35に記載のステップを実行するコンピュータ実行可能命令を有することを特徴とするコンピュータ読取り可能媒体。
  49. 請求項39に記載のステップを実行するコンピュータ実行可能命令を有することを特徴とするコンピュータ読取り可能媒体。
JP2003125926A 2002-04-29 2003-04-30 ピアツーピアネットワークにおいてサービス妨害攻撃を抑制する方法 Expired - Fee Related JP4716648B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/134,780 US7051102B2 (en) 2002-04-29 2002-04-29 Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US10/134,780 2002-04-29

Publications (2)

Publication Number Publication Date
JP2004030610A true JP2004030610A (ja) 2004-01-29
JP4716648B2 JP4716648B2 (ja) 2011-07-06

Family

ID=22464960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003125926A Expired - Fee Related JP4716648B2 (ja) 2002-04-29 2003-04-30 ピアツーピアネットワークにおいてサービス妨害攻撃を抑制する方法

Country Status (17)

Country Link
US (7) US7051102B2 (ja)
EP (1) EP1361728B1 (ja)
JP (1) JP4716648B2 (ja)
KR (1) KR100965716B1 (ja)
CN (1) CN100474851C (ja)
AU (1) AU2003203717B2 (ja)
BR (1) BR0301300A (ja)
CA (1) CA2424067C (ja)
ES (1) ES2384964T3 (ja)
HK (1) HK1060459A1 (ja)
MX (1) MXPA03003318A (ja)
MY (1) MY135693A (ja)
NO (1) NO334257B1 (ja)
PL (1) PL359916A1 (ja)
RU (1) RU2320008C2 (ja)
TW (1) TWI310649B (ja)
ZA (1) ZA200302690B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006279682A (ja) * 2005-03-30 2006-10-12 Nec Corp トラフィック制御装置及びトラフィック制御方法並びにプログラム
US7379967B2 (en) 2005-01-28 2008-05-27 Grid Solutions, Inc. Download method for file by bit torrent protocol
JP2009516308A (ja) * 2005-11-15 2009-04-16 タイヴァーサ・インコーポレーテッド P2pネットワーク・ソフトウェア・アプリケーションの存在を識別するシステム
US8165036B2 (en) 2006-05-31 2012-04-24 Brother Kogyo Kabushiki Kaisha Network device, information processing device, and computer readable storage medium therefor
US9288216B2 (en) 2008-06-19 2016-03-15 Qualcomm Incorporated Methods and apparatus for reducing the effectiveness of chosen location attacks in a peer-to-peer overlay network

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111168B2 (en) * 2000-05-01 2006-09-19 Digimarc Corporation Digital watermarking systems
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7065587B2 (en) * 2001-04-02 2006-06-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith
US7051102B2 (en) * 2002-04-29 2006-05-23 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
AU2003247700A1 (en) * 2002-07-02 2004-01-23 Netscaler, Inc System, method and computer program product to avoid server overload by controlling http denial of service (dos) attacks
AU2003272404A1 (en) * 2002-09-16 2004-04-30 Clearcube Technology, Inc. Distributed computing infrastructure
US7613812B2 (en) 2002-12-04 2009-11-03 Microsoft Corporation Peer-to-peer identity management interfaces and methods
US8261062B2 (en) 2003-03-27 2012-09-04 Microsoft Corporation Non-cryptographic addressing
US7209929B2 (en) * 2003-04-17 2007-04-24 Salesforce.Com, Inc. Java object cache server for databases
US7533184B2 (en) * 2003-06-13 2009-05-12 Microsoft Corporation Peer-to-peer name resolution wire protocol and message format data structure for use therein
US7397922B2 (en) 2003-06-27 2008-07-08 Microsoft Corporation Group security
US7769866B2 (en) 2003-07-14 2010-08-03 Microsoft Corporation Virtual connectivity with subscribe-notify service
US7581010B2 (en) * 2003-07-14 2009-08-25 Microsoft Corporation Virtual connectivity with local connection translation
US7516482B2 (en) * 2003-07-21 2009-04-07 Microsoft Corporation Secure hierarchical namespaces in peer-to-peer networks
US7188254B2 (en) * 2003-08-20 2007-03-06 Microsoft Corporation Peer-to-peer authorization method
WO2005020897A2 (en) 2003-08-22 2005-03-10 Dendreon Corporation Compositions and methods for the treatment of disease associated with trp-p8 expression
WO2005022397A1 (en) * 2003-08-28 2005-03-10 Trihedron Co., Ltd. Method of data synchronization in multiplayer network games
US7336623B2 (en) * 2003-10-30 2008-02-26 Microsoft Corporation Peer-to-peer cloud-split detection and repair methods
US8156175B2 (en) 2004-01-23 2012-04-10 Tiversa Inc. System and method for searching for specific types of people or information on a peer-to-peer network
US7761569B2 (en) 2004-01-23 2010-07-20 Tiversa, Inc. Method for monitoring and providing information over a peer to peer network
US7716726B2 (en) 2004-02-13 2010-05-11 Microsoft Corporation System and method for protecting a computing device from computer exploits delivered over a networked environment in a secured communication
US7603716B2 (en) 2004-02-13 2009-10-13 Microsoft Corporation Distributed network security service
US7814543B2 (en) 2004-02-13 2010-10-12 Microsoft Corporation System and method for securing a computer system connected to a network from attacks
US7392295B2 (en) * 2004-02-19 2008-06-24 Microsoft Corporation Method and system for collecting information from computer systems based on a trusted relationship
US7467303B2 (en) * 2004-03-25 2008-12-16 International Business Machines Corporation Grid mutual authorization through proxy certificate generation
US7363513B2 (en) * 2004-04-15 2008-04-22 International Business Machines Corporation Server denial of service shield
US7478120B1 (en) 2004-04-27 2009-01-13 Xiaohai Zhang System and method for providing a peer indexing service
US7966661B2 (en) * 2004-04-29 2011-06-21 Microsoft Corporation Network amplification attack mitigation
US20060010251A1 (en) * 2004-06-16 2006-01-12 Nokia Corporation Global community naming authority
US20060004837A1 (en) * 2004-06-30 2006-01-05 Genovker Victoria V Advanced switching peer-to-peer protocol
US7929689B2 (en) 2004-06-30 2011-04-19 Microsoft Corporation Call signs
JP4664050B2 (ja) 2004-07-01 2011-04-06 株式会社エヌ・ティ・ティ・ドコモ 認証ベクトル生成装置、加入者認証モジュール、移動通信システム、認証ベクトル生成方法、演算方法及び加入者認証方法
WO2006018843A2 (en) * 2004-08-16 2006-02-23 Beinsync Ltd. A system and method for the synchronization of data across multiple computing devices
EP1646205A1 (en) * 2004-10-08 2006-04-12 Deutsche Thomson-Brandt Gmbh Method for establishing communication between peer-groups
US7716727B2 (en) 2004-10-29 2010-05-11 Microsoft Corporation Network security device and method for protecting a computing device in a networked environment
US20060136512A1 (en) * 2004-12-20 2006-06-22 International Business Machines Corporation Method and system for replicating data between a community of distributed entities
US7647394B2 (en) * 2005-02-15 2010-01-12 Microsoft Corporation Scaling UPnP v1.0 device eventing using peer groups
US7640329B2 (en) * 2005-02-15 2009-12-29 Microsoft Corporation Scaling and extending UPnP v1.0 device discovery using peer groups
US20060193265A1 (en) * 2005-02-25 2006-08-31 Microsoft Corporation Peer-to-peer name resolution protocol with lightweight traffic
US7826396B2 (en) * 2005-03-07 2010-11-02 Miller John L System and method for implementing PNRP locality
US7656810B2 (en) * 2005-03-25 2010-02-02 Microsoft Corporation System and method for monitoring and reacting to peer-to-peer network metrics
US7350074B2 (en) * 2005-04-20 2008-03-25 Microsoft Corporation Peer-to-peer authentication and authorization
US7817647B2 (en) * 2005-04-22 2010-10-19 Microsoft Corporation Flower-petal resolutions for PNRP
US8036140B2 (en) 2005-04-22 2011-10-11 Microsoft Corporation Application programming interface for inviting participants in a serverless peer to peer network
US7603482B2 (en) * 2005-04-22 2009-10-13 Microsoft Corporation DNS compatible PNRP peer name encoding
US7836306B2 (en) 2005-06-29 2010-11-16 Microsoft Corporation Establishing secure mutual trust using an insecure password
US20070011171A1 (en) * 2005-07-08 2007-01-11 Nurminen Jukka K System and method for operation control functionality
US7467155B2 (en) * 2005-07-12 2008-12-16 Sand Technology Systems International, Inc. Method and apparatus for representation of unstructured data
EP1934772A4 (en) * 2005-09-15 2010-12-29 Fringland Ltd INTEGRATING A MOBILE DEVICE INTO A PEER-TO-PEER NETWORK
US8255546B2 (en) * 2005-09-30 2012-08-28 Microsoft Corporation Peer name resolution protocol simple application program interface
US20070094304A1 (en) * 2005-09-30 2007-04-26 Horner Richard M Associating subscription information with media content
US8161549B2 (en) * 2005-11-17 2012-04-17 Patrik Lahti Method for defending against denial-of-service attack on the IPV6 neighbor cache
US20080005562A1 (en) * 2005-12-13 2008-01-03 Microsoft Corporation Public key infrastructure certificate entrustment
EP1801720A1 (en) * 2005-12-22 2007-06-27 Microsoft Corporation Authorisation and authentication
EP1826695A1 (en) * 2006-02-28 2007-08-29 Microsoft Corporation Secure content descriptions
US7680937B2 (en) * 2005-12-22 2010-03-16 Microsoft Corporation Content publication
US8370928B1 (en) * 2006-01-26 2013-02-05 Mcafee, Inc. System, method and computer program product for behavioral partitioning of a network to detect undesirable nodes
US7480656B2 (en) 2006-03-20 2009-01-20 Sony Computer Entertainment America Inc. Active validation of network devices
US8771061B2 (en) * 2006-03-20 2014-07-08 Sony Computer Entertainment America Llc Invalidating network devices with illicit peripherals
US8622837B2 (en) * 2006-03-20 2014-01-07 Sony Computer Entertainment America Llc Managing game metrics and authorizations
US20070233832A1 (en) * 2006-03-30 2007-10-04 Matsushita Electric Industrial Co., Ltd. Method of distributed hash table node ID collision detection
US20070230468A1 (en) * 2006-03-31 2007-10-04 Matsushita Electric Industrial Co., Ltd. Method to support mobile devices in a peer-to-peer network
US7881223B2 (en) * 2006-03-31 2011-02-01 Panasonic Corporation Method for on demand distributed hash table update
US8510404B2 (en) * 2006-04-03 2013-08-13 Kinglite Holdings Inc. Peer to peer Synchronization system and method
US8086842B2 (en) 2006-04-21 2011-12-27 Microsoft Corporation Peer-to-peer contact exchange
US8041942B2 (en) * 2006-09-05 2011-10-18 Panasonic Corporation Robust peer-to-peer networks and methods of use thereof
GB2446169A (en) * 2006-12-01 2008-08-06 David Irvine Granular accessibility to data in a distributed and/or corporate network
US20080137663A1 (en) * 2006-12-06 2008-06-12 Electronics And Telecommunications Research Institute Identifier verification method in peer-to-peer networks
US8069216B2 (en) * 2006-12-08 2011-11-29 Motorola Solutions, Inc. Method and apparatus for alerting nodes of a malicious node in a mobile ad-hoc communication system
US8489701B2 (en) * 2007-01-30 2013-07-16 Microsoft Corporation Private virtual LAN spanning a public network for connection of arbitrary hosts
CA2727548A1 (en) * 2007-06-11 2008-12-18 Tiversa, Inc. System and method for advertising on a peer-to-peer network
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8312541B2 (en) * 2007-07-17 2012-11-13 Cisco Technology, Inc. Detecting neighbor discovery denial of service attacks against a router
US9088605B2 (en) * 2007-09-19 2015-07-21 Intel Corporation Proactive network attack demand management
US8935748B2 (en) * 2007-10-31 2015-01-13 Microsoft Corporation Secure DNS query
CN101436926B (zh) * 2007-11-16 2011-11-16 华为技术有限公司 一种在p2p网络中防止攻击的方法、网络节点及***
US8464045B2 (en) * 2007-11-20 2013-06-11 Ncr Corporation Distributed digital certificate validation method and system
US8448218B2 (en) * 2008-01-17 2013-05-21 Josep Bori Method and apparatus for a cryptographically assisted computer system designed to deter viruses and malware via enforced accountability
US7958261B2 (en) * 2008-02-14 2011-06-07 Microsoft Corporation Domain name cache control system generating series of varying nonce-bearing domain names based on a function of time
US7865618B2 (en) * 2008-02-22 2011-01-04 Micorsoft Corporation Defeating cache resistant domain name systems
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US9198017B2 (en) * 2008-05-19 2015-11-24 Qualcomm Incorporated Infrastructure assisted discovery in a wireless peer-to-peer network
US9848314B2 (en) 2008-05-19 2017-12-19 Qualcomm Incorporated Managing discovery in a wireless peer-to-peer network
WO2010045706A1 (en) * 2008-10-22 2010-04-29 Research In Motion Limited Pushing certificate chains to remote devices
US8498230B2 (en) * 2009-03-03 2013-07-30 Nokia Corporation Power management in wireless communication systems
US20100226309A1 (en) 2009-03-03 2010-09-09 Nokia Corporation Beaconing mode for wireless communication
US9055105B2 (en) 2009-05-29 2015-06-09 Nokia Technologies Oy Method and apparatus for engaging in a service or activity using an ad-hoc mesh network
GB0910657D0 (en) 2009-06-22 2009-08-05 Unilever Plc Antiperspirant compositions
US8538188B2 (en) * 2009-08-04 2013-09-17 Mitre Corporation Method and apparatus for transferring and reconstructing an image of a computer readable medium
US8769285B2 (en) * 2009-08-13 2014-07-01 Qualcomm Incorporated Methods and apparatus for deriving, communicating and/or verifying ownership of expressions
CN101631056A (zh) * 2009-08-18 2010-01-20 腾讯科技(深圳)有限公司 一种点对点应用中种子群的构建方法及装置
KR101598886B1 (ko) * 2009-10-13 2016-03-03 삼성전자주식회사 이동통신 단말기에서 무선랜을 이용한 피어투피어 연결 방법 및 장치
US20110142028A1 (en) * 2009-12-10 2011-06-16 Nokia Corporation Synchronization via additional beacon transmission
US8842605B2 (en) * 2009-12-10 2014-09-23 Nokia Corporation Network discovery in wireless communication systems
US8774021B2 (en) 2009-12-10 2014-07-08 Nokia Corporation Data-related task support in wireless communication systems
US8898513B2 (en) * 2010-05-19 2014-11-25 Cleversafe, Inc. Storing data in multiple dispersed storage networks
US8924304B2 (en) * 2010-06-04 2014-12-30 Apple Inc. Methods for using unique identifiers to identify systems in collaborative interaction in a mesh network
CN101895541B (zh) * 2010-07-09 2012-12-26 浙江省公众信息产业有限公司 一种P2P网络中协作抵抗覆盖层DDoS攻击的方法
US8566596B2 (en) * 2010-08-24 2013-10-22 Cisco Technology, Inc. Pre-association mechanism to provide detailed description of wireless services
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US9636589B2 (en) 2010-11-02 2017-05-02 Sony Interactive Entertainment America Llc Detecting lag switch cheating in game
KR101225013B1 (ko) * 2010-12-29 2013-02-07 (주)트라이디커뮤니케이션 리소스 제공 시스템 및 방법
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US8806192B2 (en) * 2011-05-04 2014-08-12 Microsoft Corporation Protected authorization for untrusted clients
US8964741B2 (en) * 2011-06-21 2015-02-24 Cisco Technology, Inc. Adjacency discovery through multicast and single-hop messaging
KR101796532B1 (ko) * 2011-06-22 2017-11-10 삼성전자주식회사 수면 모드 제어를 통한 에너지 절감 시스템 및 시스템의 동작 방법
US8874769B2 (en) * 2011-06-30 2014-10-28 Qualcomm Incorporated Facilitating group access control to data objects in peer-to-peer overlay networks
US9021278B2 (en) * 2011-08-10 2015-04-28 Qualcomm Incorporated Network association of communication devices based on attenuation information
US8804589B2 (en) 2011-10-14 2014-08-12 Nokia Corporation Adaptive awake window
CN102368740A (zh) * 2011-12-01 2012-03-07 北京交通大学 一种网络寻址方法
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
TWI476626B (zh) 2012-08-24 2015-03-11 Ind Tech Res Inst 電子裝置之認證方法及密碼設定方法及認證系統
US9042828B2 (en) 2012-11-26 2015-05-26 Nokia Corporation Method, apparatus, and computer program product for optimized discovery between mobile devices
US9154483B1 (en) * 2013-02-21 2015-10-06 Amazon Technologies, Inc. Secure device configuration
US9294563B2 (en) * 2013-02-27 2016-03-22 Omnivision Technologies, Inc. Apparatus and method for level-based self-adjusting peer-to-peer media streaming
US9294365B2 (en) 2013-05-08 2016-03-22 Vringo, Inc. Cognitive radio system and cognitive radio carrier device
CN104348614B (zh) * 2013-07-24 2019-02-01 腾讯科技(深圳)有限公司 身份合法性验证的方法、装置及服务器
CN103619011B (zh) * 2013-11-21 2016-08-03 东南大学 一种无线传感器网络中的恶意节点容忍方法
US9485145B1 (en) * 2013-11-25 2016-11-01 Vce Company, Llc System, method, apparatus, and computer program product for determining a configuration of a converged infrastructure
US9794218B2 (en) 2014-04-29 2017-10-17 Trustiosity, Llc Persistent network addressing system and method
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US20160335609A1 (en) * 2015-05-15 2016-11-17 Gareth Jenkins Representation of digital asset structure, ownership and evolution by virtue of a hierarchical, compounding tagging mechanism on a transaction-based network
US9673937B2 (en) * 2015-10-12 2017-06-06 International Business Machines Corporation Adaptive network communication protocols
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10349259B2 (en) * 2016-09-23 2019-07-09 Apple Inc. Broadcasting a device state in a wireless communication network
US10616250B2 (en) * 2016-10-05 2020-04-07 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
DE102016219475A1 (de) * 2016-10-07 2018-04-12 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Bussystems
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10601591B2 (en) * 2017-01-25 2020-03-24 Microsoft Technology Licensing, Llc Close proximity inner circle discovery
WO2018216671A1 (ja) 2017-05-23 2018-11-29 大正製薬株式会社
EP3506547A1 (en) * 2017-12-28 2019-07-03 Flytxt B.V. Providing security against user collusion in data analytics using random group selection
KR102651436B1 (ko) 2018-11-02 2024-03-25 아싸 아브로이 에이비 액세스 제어를 위한 시스템들, 방법들, 및 디바이스들
US10841393B2 (en) * 2018-11-12 2020-11-17 Citrix Systems, Inc. Systems and methods for secure peer-to-peer caching
KR102650599B1 (ko) 2019-03-25 2024-03-21 아싸 아브로이 에이비 액세스 제어 판독기 시스템을 위한 초광대역 디바이스
CN118135693A (zh) 2019-03-25 2024-06-04 亚萨合莱有限公司 具有基于定位的意图检测的物理访问控制***
US11102243B1 (en) * 2019-06-26 2021-08-24 Amazon Technologies, Inc. Resource address resolution based on resource ownership changes to block communications with computing resources
WO2021003450A1 (en) * 2019-07-04 2021-01-07 Vikatron, Inc. Ad hoc neural network for proof of wallet
GB2594684A (en) 2020-02-19 2021-11-10 Nchain Holdings Ltd Layered network
CN111414321B (zh) * 2020-02-24 2022-07-15 中国农业大学 一种基于动态映射机制的cache防护方法及装置
CN114118811A (zh) * 2021-11-29 2022-03-01 深圳壹账通智能科技有限公司 服务代码的生成、执行方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249249A (ja) * 1995-03-08 1996-09-27 Nippon Telegr & Teleph Corp <Ntt> メッセージ中継装置及びメッセージ中継方法
JPH11122283A (ja) * 1997-10-15 1999-04-30 Toshiba Corp ネットワーク管理システム
JP2000057112A (ja) * 1998-08-11 2000-02-25 Fuji Xerox Co Ltd ネットワーク上で遠隔手続き呼び出しを実行するための方法、及び、遠隔手続き呼び出しを実行可能なネットワーク・システム
JP2001202014A (ja) * 1999-12-02 2001-07-27 Sony Internatl Europ Gmbh データ認証方法、メッセージ伝送方法及び分散型システム
JP2002057701A (ja) * 2000-08-07 2002-02-22 Bitto Aato:Kk マルチメディア通信方法および装置
JP2002064495A (ja) * 2000-08-21 2002-02-28 Nippon Telegraph & Telephone East Corp ネットワークシステム、及びネットワーク管理方法
JP2002111713A (ja) * 2000-09-28 2002-04-12 Toshiba Corp ネットワークシステム、ネームサーバ、サーバ、およびネットワークシステムのip通信方法

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0449242A3 (en) * 1990-03-28 1992-10-28 National Semiconductor Corporation Method and structure for providing computer security and virus prevention
US5999711A (en) * 1994-07-18 1999-12-07 Microsoft Corporation Method and system for providing certificates holding authentication and authorization information for users/machines
JP3724001B2 (ja) * 1994-12-12 2005-12-07 富士通株式会社 情報処理装置
US6223255B1 (en) * 1995-02-03 2001-04-24 Lucent Technologies Microprocessor with an instruction level reconfigurable n-way cache
US5666486A (en) * 1995-06-23 1997-09-09 Data General Corporation Multiprocessor cluster membership manager framework
US5671279A (en) * 1995-11-13 1997-09-23 Netscape Communications Corporation Electronic commerce using a secure courier system
US5793365A (en) * 1996-01-02 1998-08-11 Sun Microsystems, Inc. System and method providing a computer user interface enabling access to distributed workgroup members
US6167279A (en) * 1996-03-13 2000-12-26 Telcordia Technologies, Inc. Method and system for supporting PACS using a GSM mobile switching center
US5832514A (en) * 1996-06-26 1998-11-03 Microsoft Corporation System and method for discovery based data recovery in a store and forward replication process
US6046833A (en) * 1997-02-10 2000-04-04 Optical Networks, Inc. Method and apparatus for operation, protection, and restoration of heterogeneous optical communication networks
US5987376A (en) 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
US6557102B1 (en) * 1997-09-05 2003-04-29 Koninklijke Philips Electronics N.V. Digital trust center for medical image authentication
US6130876A (en) * 1997-09-24 2000-10-10 At&T Corp Method and apparatus for restoring a network
US6061794A (en) * 1997-09-30 2000-05-09 Compaq Computer Corp. System and method for performing secure device communications in a peer-to-peer bus architecture
US6038296A (en) * 1997-10-07 2000-03-14 Lucent Technologies Inc. Internet/intranet user interface to a multimedia messaging system
US5999712A (en) * 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US20010037453A1 (en) * 1998-03-06 2001-11-01 Mitty Todd Jay Secure electronic transactions using a trusted intermediary with non-repudiation of receipt and contents of message
US6161181A (en) * 1998-03-06 2000-12-12 Deloitte & Touche Usa Llp Secure electronic transactions using a trusted intermediary
US6199052B1 (en) * 1998-03-06 2001-03-06 Deloitte & Touche Usa Llp Secure electronic transactions using a trusted intermediary with archive and verification request services
US6718470B1 (en) * 1998-06-05 2004-04-06 Entrust Technologies Limited System and method for granting security privilege in a communication system
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
GB9822550D0 (en) * 1998-10-15 1998-12-09 British Telecomm Computer communications
US6233606B1 (en) * 1998-12-01 2001-05-15 Microsoft Corporation Automatic cache synchronization
US6480473B1 (en) * 1998-12-29 2002-11-12 Koninklijke Philips Electronics N.V. Verification of active nodes in an open network
US6507908B1 (en) * 1999-03-04 2003-01-14 Sun Microsystems, Inc. Secure communication with mobile hosts
US6513062B1 (en) * 1999-05-25 2003-01-28 Grischa Corporation Method, apparatus, and computer program product for efficient server response generation using intermediate state caching
US6532494B1 (en) * 1999-05-28 2003-03-11 Oracle International Corporation Closed-loop node membership monitor for network clusters
US6405290B1 (en) * 1999-06-24 2002-06-11 International Business Machines Corporation Multiprocessor system bus protocol for O state memory-consistent data
US6397303B1 (en) * 1999-06-24 2002-05-28 International Business Machines Corporation Data processing system, cache, and method of cache management including an O state for memory-consistent cache lines
KR20020021404A (ko) * 1999-08-12 2002-03-20 윌리암 제이. 버크 피어-투-피어 네트워크 사용자 인증 프로토콜
US6704692B1 (en) * 1999-10-25 2004-03-09 The Boeing Company Method and system for tracking multiple objects
US7107347B1 (en) * 1999-11-15 2006-09-12 Fred Cohen Method and apparatus for network deception/emulation
US20020056025A1 (en) * 2000-11-07 2002-05-09 Qiu Chaoxin C. Systems and methods for management of memory
US6973040B1 (en) * 2000-03-13 2005-12-06 Netzentry, Inc. Method of maintaining lists of network characteristics
EP1134644A3 (en) * 2000-03-14 2004-08-18 International Business Machines Corporation Method and system for verifying access to a network environment
US20020032592A1 (en) * 2000-04-17 2002-03-14 Steve Krasnick Online meeting planning program
WO2001084285A2 (en) * 2000-04-28 2001-11-08 Internet Security Systems, Inc. Method and system for managing computer security information
US20010051927A1 (en) * 2000-06-08 2001-12-13 Blinkspeed, Inc. Increasing web page browsing efficiency by periodically physically distributing memory media on which web page data are cached
US6738868B2 (en) * 2000-06-10 2004-05-18 Hewlett-Packard Development Company, L.P. System for minimizing directory information in scalable multiprocessor systems with logically independent input/output nodes
US7107269B2 (en) * 2000-06-13 2006-09-12 Lucent Technologies Inc. Methods and apparatus for providing privacy-preserving global customization
US6941384B1 (en) * 2000-08-17 2005-09-06 International Business Machines Corporation Methods, systems and computer program products for failure recovery for routed virtual internet protocol addresses
US6636854B2 (en) * 2000-12-07 2003-10-21 International Business Machines Corporation Method and system for augmenting web-indexed search engine results with peer-to-peer search results
US7333482B2 (en) * 2000-12-22 2008-02-19 Interactive People Unplugged Ab Route optimization technique for mobile IP
US6941366B2 (en) * 2001-01-17 2005-09-06 International Business Machines Corporation Methods, systems and computer program products for transferring security processing between processors in a cluster computing environment
US7146432B2 (en) * 2001-01-17 2006-12-05 International Business Machines Corporation Methods, systems and computer program products for providing failure recovery of network secure communications in a cluster computing environment
US7209479B2 (en) * 2001-01-18 2007-04-24 Science Application International Corp. Third party VPN certification
US20020161850A1 (en) 2001-01-29 2002-10-31 Ulrich Thomas R. Data path accelerator for storage systems
US7065587B2 (en) 2001-04-02 2006-06-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith
WO2002084948A1 (en) 2001-04-05 2002-10-24 Imahima, Inc. Real-time mobile communication system for chatting
US7721110B2 (en) * 2001-04-06 2010-05-18 Mcafee, Inc. System and method for secure and verified sharing of resources in a peer-to-peer network environment
US7272636B2 (en) * 2001-04-24 2007-09-18 Sun Microsystems, Inc. Peer group name server
US6950821B2 (en) * 2001-05-04 2005-09-27 Sun Microsystems, Inc. System and method for resolving distributed network search queries to information providers
US7171415B2 (en) * 2001-05-04 2007-01-30 Sun Microsystems, Inc. Distributed information discovery through searching selected registered information providers
US7031314B2 (en) * 2001-05-16 2006-04-18 Bytemobile, Inc. Systems and methods for providing differentiated services within a network communication system
US7028179B2 (en) * 2001-07-03 2006-04-11 Intel Corporation Apparatus and method for secure, automated response to distributed denial of service attacks
US7299351B2 (en) * 2001-09-19 2007-11-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US20030097410A1 (en) * 2001-10-04 2003-05-22 Atkins R. Travis Methodology for enabling multi-party collaboration across a data network
US7047564B2 (en) * 2001-10-31 2006-05-16 Computing Services Support Solutions, Inc. Reverse firewall packet transmission control system
US20030177190A1 (en) * 2001-11-27 2003-09-18 International Business Machines Corporation Method and apparatus for interaction with electronic mail from multiple sources
US7076803B2 (en) * 2002-01-28 2006-07-11 International Business Machines Corporation Integrated intrusion detection services
US7051049B2 (en) * 2002-02-21 2006-05-23 International Business Machines Corporation Real-time chat and conference contact information manager
US6912622B2 (en) * 2002-04-15 2005-06-28 Microsoft Corporation Multi-level cache architecture and cache management method for peer-to-peer name resolution protocol
US7206862B2 (en) * 2002-04-24 2007-04-17 Microsoft Corporation Method and apparatus for efficiently matching responses to requests previously passed by a network node
US7051102B2 (en) * 2002-04-29 2006-05-23 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US20040145608A1 (en) 2003-01-24 2004-07-29 International Business Machines Corporation User interface for conducting chats over a network
JP2004302751A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム
NO318975B1 (no) * 2003-06-20 2005-05-30 Tandberg Telecom As System og fremgangsmate for oppsett av moter og konferanser
US8001187B2 (en) * 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing
US20050027800A1 (en) * 2003-07-28 2005-02-03 International Business Machines Corporation Agenda-driven meetings
WO2005029372A1 (en) 2003-09-25 2005-03-31 Synthetron Nv Method and apparatus for scalable meetings in a discussion synthesis environment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249249A (ja) * 1995-03-08 1996-09-27 Nippon Telegr & Teleph Corp <Ntt> メッセージ中継装置及びメッセージ中継方法
JPH11122283A (ja) * 1997-10-15 1999-04-30 Toshiba Corp ネットワーク管理システム
JP2000057112A (ja) * 1998-08-11 2000-02-25 Fuji Xerox Co Ltd ネットワーク上で遠隔手続き呼び出しを実行するための方法、及び、遠隔手続き呼び出しを実行可能なネットワーク・システム
JP2001202014A (ja) * 1999-12-02 2001-07-27 Sony Internatl Europ Gmbh データ認証方法、メッセージ伝送方法及び分散型システム
JP2002057701A (ja) * 2000-08-07 2002-02-22 Bitto Aato:Kk マルチメディア通信方法および装置
JP2002064495A (ja) * 2000-08-21 2002-02-28 Nippon Telegraph & Telephone East Corp ネットワークシステム、及びネットワーク管理方法
JP2002111713A (ja) * 2000-09-28 2002-04-12 Toshiba Corp ネットワークシステム、ネームサーバ、サーバ、およびネットワークシステムのip通信方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7379967B2 (en) 2005-01-28 2008-05-27 Grid Solutions, Inc. Download method for file by bit torrent protocol
JP2006279682A (ja) * 2005-03-30 2006-10-12 Nec Corp トラフィック制御装置及びトラフィック制御方法並びにプログラム
JP4572719B2 (ja) * 2005-03-30 2010-11-04 日本電気株式会社 トラフィック制御装置及びトラフィック制御方法並びにプログラム
JP2009516308A (ja) * 2005-11-15 2009-04-16 タイヴァーサ・インコーポレーテッド P2pネットワーク・ソフトウェア・アプリケーションの存在を識別するシステム
US8165036B2 (en) 2006-05-31 2012-04-24 Brother Kogyo Kabushiki Kaisha Network device, information processing device, and computer readable storage medium therefor
US9288216B2 (en) 2008-06-19 2016-03-15 Qualcomm Incorporated Methods and apparatus for reducing the effectiveness of chosen location attacks in a peer-to-peer overlay network

Also Published As

Publication number Publication date
CN100474851C (zh) 2009-04-01
US7725567B2 (en) 2010-05-25
NO334257B1 (no) 2014-01-20
KR100965716B1 (ko) 2010-06-24
TWI310649B (en) 2009-06-01
ES2384964T3 (es) 2012-07-16
AU2003203717A1 (en) 2003-11-13
AU2003203717B2 (en) 2008-06-19
RU2320008C2 (ru) 2008-03-20
MY135693A (en) 2008-06-30
US7251694B2 (en) 2007-07-31
US7444372B2 (en) 2008-10-28
TW200307442A (en) 2003-12-01
CA2424067A1 (en) 2003-10-29
HK1060459A1 (en) 2004-08-06
MXPA03003318A (es) 2004-10-29
US20080295170A1 (en) 2008-11-27
NO20031496D0 (no) 2003-04-02
US20060174005A1 (en) 2006-08-03
US20060179139A1 (en) 2006-08-10
BR0301300A (pt) 2004-08-17
CA2424067C (en) 2012-09-11
JP4716648B2 (ja) 2011-07-06
US20090006849A1 (en) 2009-01-01
PL359916A1 (en) 2003-11-03
ZA200302690B (en) 2003-10-13
US20030204742A1 (en) 2003-10-30
US20070168512A1 (en) 2007-07-19
EP1361728B1 (en) 2012-05-23
KR20030085476A (ko) 2003-11-05
EP1361728A3 (en) 2010-01-06
US20060161657A1 (en) 2006-07-20
CN1455569A (zh) 2003-11-12
NO20031496L (no) 2003-10-30
US7418479B2 (en) 2008-08-26
US7720962B2 (en) 2010-05-18
US7680930B2 (en) 2010-03-16
EP1361728A2 (en) 2003-11-12
US7051102B2 (en) 2006-05-23

Similar Documents

Publication Publication Date Title
JP4716648B2 (ja) ピアツーピアネットワークにおいてサービス妨害攻撃を抑制する方法
US7299351B2 (en) Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
KR101021360B1 (ko) 피어 투 피어 네임 레졸루션 와이어 프로토콜 및 프로토콜에 사용하기 위한 메세지 포맷 데이터 구조를 생성 및 발송하기 위한 방법 및 컴퓨터 판독가능 기록매체
US7068789B2 (en) Peer-to-peer name resolution protocol (PNRP) group security infrastructure and method
JP4944845B2 (ja) インターネットプロトコルのアドレス機構
JP5291725B2 (ja) Ipアドレス委任
Liu et al. Secure name resolution for identifier-to-locator mappings in the global internet
Sethom et al. A secure P2P architecture for location management
Hammouda et al. An enhanced secure ARP protocol and LAN switch for preveting ARP based attacks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110303

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110318

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110329

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees