[go: up one dir, main page]

JP5480265B2 - セキュアなリソース名前解決 - Google Patents

セキュアなリソース名前解決 Download PDF

Info

Publication number
JP5480265B2
JP5480265B2 JP2011522101A JP2011522101A JP5480265B2 JP 5480265 B2 JP5480265 B2 JP 5480265B2 JP 2011522101 A JP2011522101 A JP 2011522101A JP 2011522101 A JP2011522101 A JP 2011522101A JP 5480265 B2 JP5480265 B2 JP 5480265B2
Authority
JP
Japan
Prior art keywords
resolution
identifier
parameters
network
name
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.)
Active
Application number
JP2011522101A
Other languages
English (en)
Other versions
JP2011530868A (ja
JP2011530868A5 (ja
Inventor
トレース,ロブ・エム
メレン,リビー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2011530868A publication Critical patent/JP2011530868A/ja
Publication of JP2011530868A5 publication Critical patent/JP2011530868A5/ja
Application granted granted Critical
Publication of JP5480265B2 publication Critical patent/JP5480265B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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

Landscapes

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

Description

[0001]本発明は名前解決(name resolution)技術に関する。
コンピューター通信ネットワークにおいては、幾つかの異なる技術がネットワークを介してアクセス可能なリソース(資源)の識別のために使用され得る。これらのリソースは、クライアント及びサーバー計算装置などのネットワークに接続されたホストのほか、ルーター、ゲートウェイ、ファイアウォールその他などのネットワークのリソースを含み得る。1つの技術において、リソースは、メディア・アクセス制御(MAC)アドレス又はインターネット・プロトコル(IP)アドレスなどの1つ以上の識別番号によって識別されてもよい。しかし、これらのアドレスがコンピューター間の通信に役立つ一方、そのような識別番号をユーザーが思い出すことはしばしば困難であり、この困難がユーザーにネットワークリソースにアクセスすることを思いとどまらせ得ることが認識されてきた。したがって、リソースはまた、ユーザーによってより容易に思い出されるテキスト識別子(textual identifiers)によってさらに又は代替的に識別されてもよい。リソースを識別するためのテキスト識別子を実施する技術は、NetBIOS、ローカル・リンク・マルチキャスト名前解決(LLMNR)及びドメイン・ネーム・システム(DNS)を含む。
[0002]そのようなテキスト識別子を提供する技術はまた、ユーザーが容易に思い出すテキスト識別子を、計算装置にとって処理することがより容易である数値識別子(numeric identifier)に一致させる(逆もまた同様である)変換(翻訳)サービスを提供してもよい。例えば、DNSにおいて、そのドメイン・ネームによって識別されるリソースとの通信を開始するために、ユーザーが計算装置へテキスト識別子(DNSにおける「ドメイン・ネーム」)を入力する場合、計算装置上のDNSクライアントは、ドメイン・ネームをIPアドレスへ「転換する(resolve)」ためにDNSサーバーに問合せを行う。DNSサーバーは、クエリーを受信すると、ローカルに利用可能な情報によって、又は他のDNSサーバーに問合せを行うことによって、ドメイン・ネームに対応するIPアドレスを見つけ、DNSクライアントに当該IPアドレスを返す。その後、計算装置は、IPアドレスを使用してリソースとの通信を開始することができる。
[0003]幾つかのそのような名前解決技術が悪用され得ることが認識されてきた。例えば、DNSにおいて、攻撃者は、DNSサーバーが正当なIPアドレスをもって応答する前に、攻撃者のリソースのIPアドレスによってDNSクエリーに応答することにより、攻撃者自身のリソース(例えば、攻撃者のサーバー)へ計算装置を誤って導くことができるかもしれない。その後、計算装置は誤って導かれ、正当なリソースではなく攻撃者のリソースに接続する。その後、攻撃者のリソースに接続される間、計算装置は攻撃者に対してデータを開示したり、攻撃者から偽りのデータやマルウェアを受信するかもしれない。
[0004]例えば、ランダム化された識別子をDNSクエリーの各々に含め、クエリーに対する応答にそれらが含まれることを要求することによって、このシナリオの可能性を減少させるために幾つかのセキュリティ技術が実施されてきており、これによって、攻撃者がクエリーのランダム化された識別子を推測又は検出することができない限り、攻撃者がいたずらのアドレスによって応答することを防止することになる。これらのセキュリティ上の問題を解決するために提案された1つのセキュリティ技術は、DNSによって実施される、ドメイン・ネーム・システム・セキュリティ拡張(DNSSEC)プロトコルである。結果を正確なものとして確認することができるように、DNSSECは、証明機関(CA)によるDNS結果のデジタル署名を提供する。さらに、インターネット・プロトコル・セキュリティ(IPsec)プロトコルとともにDNS又はDNSSECを使用することが、DNSクライアントとDNSサーバーとの間の通信の暗号化及び/又は認証を可能にすべく提案されてきた。
[0005]出願人は、DNSを含む従来の名前解決技術のセキュリティが改善され得ることを認識し理解した。さらに、従来の名前解決技術は、単一のネットワークインターフェース及びネットワークハードウェアの単一の組を介して幾つかのネットワークに接続するための方法で動作するように設計されておらず、したがって、オーバーレイ・ネットワークの成長が抑止される。
[0006]本明細書に記載されるのは、名前解決技術を安全(セキュア)にし、名前解決技術が現在のネットワークにおいて機能することができることを保証するための原理である。記載された手法のうちの幾つかは、基本的なネットワークと同じインターフェースを介してアクセス可能なオーバーレイ・ネットワークを有するネットワーク構成と互換性をもつ。本明細書に記載された原理のうちの幾つかによれば、1組の解決パラメーターが、処理を安全にするため及び/又はオーバーレイ・ネットワークにおいて処理を行うために、名前解決処理中に使用されるよう、エンドユーザー又は管理者などのユーザーによって実施され得る。幾つかの実施例において、解決パラメーターの組は、規則のテーブルとして維持され、名前解決処理を管理するために使用されてもよい。例えば、解決パラメーターはDNSSECセッションを管理するために作成されてもよく、又は、マイクロソフト(登録商標)のダイレクト・アクセス・オーバーレイ技術で実施されるネットワークと通信する方法を管理するために作成されてもよく、又は、任意の他のネットワーキング技術を使用して通信を管理するために作成されてもよい。
[0007]幾つかの実施例において、ネットワークリソースのための第1の識別子を入力として受信するステップと、第1の識別子に適用する適用可能な解決パラメーターの組を決定するために一群の解決パラメーターの組を調べるステップと、第2の識別子を得るステップとを含む方法が提供される。第2の識別子は、第1の識別子に基づいてネットワークリソースの第2の識別子を決定するために名前解決処理を行うことにより得られてもよい。名前解決処理は適用可能な解決パラメーターの組によって管理される。
[0008]他の実施例において、実行されるとコンピューターに方法を行わせる、符号化されたコンピューター実行可能命令を有する少なくとも1つのコンピューター読み取り可能な記憶媒体が提供される。当該方法は、ネットワークを介してアクセス可能なリソースのドメイン・ネームをアプリケーション・プログラムから入力として受信するステップと、一群の解決パラメーターの組から適用可能な解決パラメーターの組を決定するステップと、当該適用可能な解決パラメーターの組に従ってネットワーク上でドメイン・ネーム・サービス(DNS)サーバーへの接続を確立するステップとを含む。DNSサーバーは適用可能な解決パラメーターの組によって識別されてもよい。本方法は、適用可能な解決パラメーターの組に従ってDNSサーバーにDNSクエリーを通信するステップと、DNSサーバーからリソースの数値識別子を含む応答を受信するステップと、アプリケーション・プログラムに当該数値識別子を提供するステップとをさらに含む。
[0009]またさらなる実施例において、少なくとも1つのプロセッサー及び解決パラメーターの組に関連する情報を含むデータ構造が符号化される少なくとも1つの有形のコンピューター読み取り可能な記憶媒体を含む装置が提供される。データ構造は、名前解決処理を管理するために名前解決ソフトウェアコンポーネントによって使用可能な方法で格納される。データ構造は、解決パラメーターに適用されるネットワークリソースの1つ以上の識別子の組を定義する情報が記録されるべき第1の位置と、名前解決処理が情報を交換すべき通信チャネル上で実行されるべきセキュリティの種類を定義する情報が記録されるべき第2の位置と、少なくとも1つの信頼された証明機関を定義する情報が記録されるべき第3の位置と、通信チャネルが確立されるべき少なくとも1つのネットワークリソースを定義する情報が記録されるべき第4の位置とを含む。少なくとも1つの有形のコンピューター読み取り可能な記憶媒体は、データ構造の複数のインスタンスを含み、当該データ構造の各インスタンスは解決パラメーターの特定の組に関連付けられる。少なくとも1つのプロセッサーは、名前解決ソフトウェアコンポーネントを実行するように構成され、名前解決ソフトウェアコンポーネントは、少なくとも1組の適用可能な解決パラメーターに従って名前解決処理を行うように構成される。名前解決ソフトウェアコンポーネントは、適用可能な解決パラメーターの1つ以上の組を決定するために、少なくとも1つの有形のコンピューター読み取り可能な記憶媒体上に符号化された複数のデータ構造インスタンスのうちの少なくとも幾つかを読みとる。
[00010]前述のものは本発明の限定的でない概要であり、本発明は添付の特許請求の範囲によって規定される。
[0010]添付の図面は縮尺どおりに描かれるようには意図されない。図面においては、様々な図中に示される同一又はほぼ同一のコンポーネントの各々は同様の数字によって表される。明瞭にするために、すべての図面においてすべてのコンポーネントがラベル付けされなくともよい。
[0011]本明細書に記載された原理のうちの幾つかによって動作する技術が作用し得る例示的なコンピューター・システムを示す。 [0012]本明細書に記載された原理のうちの幾つかによって実施され得る例示的な解決パラメーターのテーブルを示す。 本明細書に記載された原理のうちの幾つかによって実施され得る例示的な解決パラメーターのテーブルを示す。 [0013]本明細書に記載された原理のうちの幾つかによって実施され得る名前解決を行う例示的な処理のフローチャートである。 [0014]本明細書に記載された原理のうちの幾つかによって実施され得る1組の適用可能な解決パラメーターを識別する例示的な処理のフローチャートである。 [0015]本明細書に記載された原理のうちの幾つかによって実施され得る、数値識別子へテキスト識別子を転換する例示的な処理のフローチャートである。 [0016]本明細書に記載された原理のうちの幾つかによって実施され得る名前解決処理の結果として、キャッシュに格納された識別子が返されてもよいかどうかを決定する例示的な処理のフローチャートである。 [0017]本明細書に記載された原理のうちの幾つかによって実施され得る解決パラメーターの組を確立する例示的な処理のフローチャートである。 [0018]解決パラメーターが入力され得る例示的なユーザー・インターフェースを示す。 [0019]本明細書に記載された原理のうちの幾つかによって動作する技術を実施し得る例示的な計算装置のコンポーネントのブロック図である。 [0020]本明細書に記載された原理によって動作する技術の1つ以上に従って実施され得るモジュールの相互動作性の例示的な方法の図である。
[0021]出願人は、DNSを含む従来の名前解決技術のセキュリティが改善され得ることを認識し理解した。さらに、従来の名前解決技術は、単一のネットワークインターフェース及びネットワークハードウェアの単一の組を介して幾つかのネットワークに接続するための方法で動作するように設計されておらず、したがって、オーバーレイ・ネットワークの成長が抑止される。
[0022]例えば、DNSSECはDNSクエリーの結果が正当であることを保証するために提案されているが、それは多数が受け入れられないと分かった2つの条件に依存する。第1に、DNSSECを扱うために、DNSクエリーに応答することに関与するDNSサーバーの各々(それらは異なる位置にあってもよく、異なるパーティによって管理され得る)を実施しなければならず、それは、全体のインターネットに対するロールアウト(公表)を困難にする。第2に、DNSクライアントは、正常なDNSでのようにクエリーの解決に対するほとんどの責任をフル・リゾルバー(full resolver)(DNSサーバー)へ渡す「スタブ・リゾルバー(stub resolver)」ではなく、フル・リゾルバーとして実質的に働く必要がある。結果に署名する際に使用される証明書を発行した証明機関(CA)が信頼されるべきものかどうか判断するために結果についてデジタル署名を検査することにより、DNSクライアントに返された結果の各々が正当で正しいことを保証することに対してDNSクライアントが責任をもつことになるので、このことは、クライアントに対して処理を追加した。DNSクライアントを実行するクライアント計算装置にこの責任を置くことは、計算装置に過度な負担をかける危険を有しており、これはパーソナル・デジタル・アシスタント(PDA)及び携帯電話などのそれほど強力でない計算装置において特に懸念される。クライアントからこの負担を取り除くために、それはサーバー又は他のネットワークリソースに置かれてもよい。
[0023]さらに、従来の名前解決技術はオーバーレイ・ネットワークが存在し得る状況で動作するようには構成されていない。過去においては、計算装置は専用のネットワークインターフェースによって各ネットワークに接続され、そのネットワークインターフェースは、ユーザーによって構成され、及び/又は、ネットワークによって実施される名前解決技術をサポートするためのインターフェースを構成することを含む、ネットワークとの相互作用のための各ネットワーク上の装置によって構成された。例えば、ラップトップなどの計算装置が有線ネットワークに接続される場合、ネットワーク上のダイナミック・ホスト・コンフィギュレーション・プロトコル(DHCP)サーバーは、構成パラメーターの中で特に、IPアドレス、ゲートウェイの識別子及びDNSサーバーの識別子を計算装置に提供していた。テキスト識別子を使用したそのインターフェースを介した如何なる通信も、その後、DNSサーバーによって解決された。計算装置が異なるネットワークに接続したり異なる名前解決技術を使用したりすることを望んだならば、別個のインターフェースが構成されなければならなかった。例えば、第2の有線インターフェースを使用したり、又は無線インターフェースを使用したりすることがあり得た。
[0024]出願人は、現在のネットワークにおいて、「オーバーレイ」ネットワークがより一般的になっていることを認識し理解している。これらのオーバーレイ・ネットワークは同じハードウェア上で既存のネットワークと共存するように構成され、既存のハードウェア・ネットワークの上の論理的なオーバレイである。オーバーレイ・ネットワークに接続されたネットワーク装置の各々もまた、既存のローカルエリアネットワーク及び/又は既存の広域ネットワークのような1つ以上の既存のハードウェア・ネットワークに接続される。そのようなオーバーレイ・ネットワークは、例えば、マイクロソフト・ダイレクト・アクセスを使用して、様々な方法のうちの任意のものにおいて実施され得る。したがって、オーバーレイ・ネットワークは1つ以上の他のネットワークの制限されたサブグループと考えられてもよい。
[0025]これらの技術を使用すると、所与のハードウェア・ネットワークに接続する計算装置は、したがって、基本的なネットワーク及び1つ以上のオーバーレイ・ネットワークを含む単一のインターフェースを介して複数のネットワークに同時に接続することができる。計算装置(例えば、DNSサーバー)が名前解決のために通信するべき名前解決プロトコルの種類又はネットワークリソースが、基本的なネットワークの名前解決技術と比較してオーバーレイ・ネットワークにとっては異なってもよいので、従来の名前解決技術はそのようなネットワークをサポートすることができない。さらに、幾つかのネットワークが、そのネットワーク上の幾つかのリソースにアクセスする方法−例えば、ある保護されたサーバー又は他のネットワークリソースの位置/識別−についての幾つかの情報を秘密にして、その情報が潜在的な攻撃者に与えられえることを避けることができるので、特定のサーバー又は他のリソースは、名前解決クエリーの所望の結果の唯一の可能なソースとなり得る。代替的に、特定のネットワークリソースは、オーバーレイ・ネットワークの外部で知られていないか、又はオーバーレイ・ネットワークの外部の別のリソースのテキスト識別子の複製である識別子を有していてもよく、特定のサーバー又は他のリソースは、特定のネットワークリソースにとって名前解決クエリーの所望の結果の唯一の可能なソースであってもよい。したがって、名前解決処理中に計算装置が特定のサーバー又は他のリソースとコンタクトすることが必要かもしれず、これは、たとえオーバーレイ・ネットワークが同じ名前解決技術を使用するとしても、オーバーレイ・ネットワーク上の通信について、基本的なハードウェア・ネットワークとは異なっていてもよい。このため、計算装置がオーバーレイ・ネットワークの各々と通信できるように、計算装置の1つのネットワークインターフェースが、複数のオーバーレイ・ネットワークの各々についてDNSサーバーの複数のアドレスを保持することが必要となり得る。これは、従来の計算装置、ネットワーキング技術及び名前解決技術では可能ではない。
[0026]名前解決技術を安全なものとし、単一ネットワークインターフェースを介してアクセス可能な複数のオーバーレイ・ネットワークを有する現在のネットワークにおいて名前解決技術が機能できることを保証するための原理が本明細書に記載される。幾つかの実施例において、エンドユーザー及び/又は管理者などのユーザーは、インターフェースによってアクセス可能なネットワークの名前解決技術を使用して名前を解決するために、計算装置の1つの、幾つかの又はすべてのネットワークインターフェースによる使用のために計算装置に適用され得る解決パラメーターの組を編集(コンパイル)してもよい。その後、これらの解決パラメーターは、インターフェースによって行われた名前解決処理を管理してもよい。例えば、幾つかのそのような実施例において、他の名前解決技術並びに他の種類のネットワーク及びセキュリティ技術が使用されてもよいことが認識されるべきであるが、解決パラメーターはDNSSECパラメーター及び/又は直接(ダイレクト)アクセスに関するパラメーターを指定してもよい。これらの解決パラメーターは、例えば、名前解決モジュールによって検討されて名前解決クエリーを組み立てるために使用され得る規則のテーブルに、任意の方法で格納されてもよい。
[0027]解決パラメーターは、名前解決処理を行う方法についての如何なる適切な情報を含んでもよい。さらに、使用される特定のパラメーターは、名前解決が求められるネットワークの種類に依存してもよい。例えば、DNSSECが名前解決技術として使用されるネットワークについて、パラメーターは、どのドメインに解決パラメーターが適用されるか、サーバーが応答を認証したことを確認すべきか否か、サーバーと通信する際に暗号化を使用すべきか否か、その種類の暗号化を使用すべきか、結果に署名するためにどの証明機関を信頼すべきか、及び、どのDNSサーバーが結果について問い合わせられるべきかなどの、セキュリティパラメーターを含み得る。別の例として、ダイレクト・アクセスを使用して実施されるものなど、オーバーレイ・ネットワークについて、どのネットワーク/ドメインに対して解決パラメーターが適用されるか、どのDNSサーバーが結果について問い合わせられるべきか、暗号化が使用されるべきか、どの種類の暗号化が使用されるべきか、結果に署名するためにどの証明機関を信頼すべきか、及び、オーバーレイ・ネットワークと通信するときにどのプロキシー・サーバーが使用されるべきかなど、解決パラメーターが実施される。如何なる適切な解決パラメーターも、それらが実施され得るネットワーク及び名前解決技術に依存して使用することができる。
[0028]本明細書において使用されるとき、名前解決処理は、任意の適切な名前解決プロトコルに従って、テキスト識別子に対応する数値識別子を決定したりその逆を行ったりするために適した任意の技術であってもよい。以下に概説される例において、ドメイン・ネーム・サービス(DNS)プロトコルは名前解決プロトコルの例として使用されてもよく、名前解決処理はDNSプロトコルに従うものとして記載されてもよい。しかし、DNSが本明細書に記載された原理によって動作する技術が動作し得る名前解決プロトコルの一例にすぎず、本発明の実施例はこの点に限定されないので、任意の適切な名前解決プロトコルが実施され得ることが認識されるべきである。
[0029]本明細書における例の多くは入力テキスト識別子に対応する数値識別子を決定するコンテキストにおいて記載されるが、幾つかの実施例において、追加的に又は代替的に、数値識別子を入力としてとり、対応するテキスト識別子を決定する名前解決処理が実施されてもよいことが認識されるべきである。さらに、以下に概説される例は、テキスト識別子及び数値識別子の一対一対応で動作する技術−例えば、単一のテキスト識別子に対応する単一の数値識別子を決定する−について記載しているが、これが単なる1つの例示的な実施例であり、幾つかの実施例において、テキスト識別子が複数の対応する数値識別子を有してもよく、数値識別子が複数の対応するテキスト識別子を有してもよいことが認識されるべきである。
[0010]本明細書に記載された技術は様々なコンピューターシステムにおいて実施され得るものであり、それらの例は、より詳細に以下に記載される。そのようなシステムは、一般に、多くの機能モジュールを実施する適切に構成された計算装置の使用を含み、各々の機能モジュールはそのような技術の実行を完了するために必要とされる1つ以上の動作を提供する。各機能モジュールはそれ自身の方法で実施することができ、すべてを同じ方法で実施する必要はない。本明細書において使用されるとき、機能モジュールは動作上の役割を行うシステムの構造コンポーネントである。動作上の役割は全ソフトウェア要素の一部であってもよい。例えば、機能モジュールは、処理、離散処理又は他の適切な処理ユニットの機能を行ってもよい。機能モジュールはコンピューター実行可能命令を含み、コンピューター記憶媒体上で符号化されてもよい。さらに、そのようなコンピューター実行可能命令は、多くの適切なプログラミング言語並びに/又はプログラミングツールもしくはスクリプトツールのうちの任意のものを使用して書かれてもよく、フレームワーク又は仮想コンピューター上で実行される実行可能な機械語コード又は中間コードとしてコンパイルされてもよい。機能モジュールは、必要に応じて、並列に又は連続的に実行することができ、メッセージ受け渡しプロトコル(message passing protocol)を使用して又は任意の他の適切な方法で、それらが実行されているコンピューター上の共有メモリーを使用して互いとの間で情報を受け渡すことができる。記載される機能モジュール及びタスクの分割は本明細書に記載される例示的な技術を実施し得る機能モジュールの種類の実例にすぎず、本発明は如何なる特定の数、分割又は種類の機能モジュールにおいて実施されるものにも限定されないことが認識されるべきであるが、1つ以上のタスクを実行する例示的な機能モジュールが以下に記載される。幾つかの実施例において、すべての機能が単一の機能モジュールにおいて実施されてもよい。さらに、明瞭にするために、以下においては、機能モジュールが、1つ又は2つの計算装置においてすべて実行されるように記載されているが、幾つかの実施例において、機能モジュールが互いに通信するように構成された多くの計算装置上で実施され得ることが認識されるべきである。例えば、1つの計算装置が、入力モジュールを実行して、テキスト識別子などの第1の識別子を受信し、当該テキスト識別子に対応する数値識別子を決定するための名前解決処理を行うために第2の計算装置上の名前解決モジュールと通信するように構成されてもよい。
[0030]本明細書に記載された原理の1つの例示的な実施例において、計算装置上で実行されるソフトウェア・アプリケーションは、ソフトウェア・アプリケーションが接続を確立したい所望のネットワークリソースのテキスト識別子についての入力をユーザーから受け取ってもよい。例えば、ソフトウェア・アプリケーションはウェブ・ブラウザーであってもよく、テキスト識別子はウェブサイトのドメイン・ネームであってもよく、ネットワークリソースはウェブサイトをホストするウェブサーバーであってもよい。所望のネットワークリソースに対する接続を開くために、ソフトウェア・アプリケーション又は接続モジュールは、数値識別子をネットワークリソースについて使用し、そのため、名前解決モジュール(ここでは「解決モジュール」とも呼ばれる)は、テキスト識別子を、IPv4又はIPv6フォーマットのIPアドレスなどのネットワーク・アドレスとして作用する数値識別子へ変換してもよい。
[0031]したがって、ネットワークリソースのテキスト識別子は、数値識別子を得るための名前解決処理を行うように構成された名前解決モジュールに渡され、その後、名前解決モジュールはソフトウェア・アプリケーションに数値識別子を返してもよい。しかし、名前解決処理を行う前に、解決モジュールは、もしあれば、解決パラメーターの組のどれが実行されるべき名前解決処理に適用されるかを決定するために、一群の解決パラメーターの組(解決パラメーターの組の集合)をレビュー(読み取る、見直す、review)してもよい。この集合は、任意の適切なフォーマットで、メモリーなどのコンピューター記憶媒体を含む任意の適切な方法で格納されてもよい。パラメーターの組のどれが適用されるかを決定するべく集合をレビューするために、解決モジュールは、メモリーから集合のうちの幾つか又はすべてを取り出し(検索し)、例えば、入力識別子を、解決パラメーターの特定の組がどのネットワークリソースに適用されるかを示す組のうちの幾つか又はすべてのパラメーターと比較することを含む、任意の種類の比較処理を行ってもよい。
[0032]集合における解決パラメーターの各組は1つ以上のネットワークリソースに適用され、それらが適用されるネットワークリソースの識別子を名前解決処理が決定する方法を管理してもよい。これらの解決パラメーターは、名前解決処理が実行される方法に影響し得る、上述の例示的なパラメーターのうち任意のものを含む、任意の適切なパラメーターを含んでもよい。例えば、名前解決パラメーターの各組は、特定のDNSサーバーなど、数値識別子を決定するために解決モジュールが通信するべき特定の解決リソースを指定してもよい。
[0033]解決モジュールによる集合のレビューは任意の適切な方法で行われてもよい。1つの実施例において、レビューは、識別子間に一致が存在するか否かを決定するために解決パラメーターの組の各々についての識別子とテキスト識別子を比較することを含んでもよい。例えば、1組の解決パラメーターの識別子は「*.corp.contoso.com」などのDNSサフィックス(suffix)であってもよく、識別子の後半部分と一致する如何なるテキスト識別子も、それらの解決パラメーターが適用されるものである。したがって、入力テキスト識別子が「webserver.corp.contoso.com」である場合、その組はその識別子に関連付けられた1組のパラメーターであり、1組の適用可能な解決パラメーターと考えることができる。適用可能な解決パラメーターの1つ以上の組が一旦決定されると、名前解決処理は適用可能な解決パラメーターに従って行われてもよい。例えば、パラメーターがDNSサーバーのような特定の解決リソースを指定する場合、その解決リソースに対する接続が確立される;使用すべき暗号化のレベルをパラメーターが指定する場合、名前解決リソースとの通信はそのレベルの暗号化を使用する。
[0034]適用可能なパラメーターを使用して解決リソースへの接続を解決モジュールが一旦確立したならば、テキスト識別子を含み対応する数値識別子を要求する解決要求が当該接続を介して解決リソースに対して発行される。解決リソースは、対応する数値識別子を決定するために、それがローカルに保持する情報を調べたり、又は、適用可能な解決パラメーターに従って別の解決リソースへ要求を転送したりするなど、当技術において知られている様々な処理のうちの任意のものを含む任意の適切な処理を行ってもよい。一旦解決リソースが数値識別子を決定したならば、解決リソースは数値識別子に対して任意の適切な認証プロセスも行ってもよい。例えば、数値識別子を決定し、かつ結果を認証するために使用することができる有効な証明書を提供すると信頼される1つ以上の特定の認証機関を指定するために、DNSSECが使用されるべきであると、適用可能な解決パラメーターが指示する場合、解決リソースは、認証処理中、当該1つ以上の特定の認証機関のうちのいずれかによって発行された証明書を使用して結果が署名されたかどうかを決定してもよい。そうであるならば、解決リソースは、解決要求の結果として、計算装置上の解決モジュールに数値識別子を提供してもよい。その後、解決モジュールは、結果が適用可能な解決パラメーターに従って生成されたことを確認し、所望のネットワークリソースへの接続を確立する際に使用するためのソフトウェア・アプリケーションに対して結果を提示してもよい。他方、結果が指定された証明書を使用して署名されなかった場合には、その結果は廃棄されるか、又はそれが解決パラメーターに従って署名されなかったことの指示とともに解決モジュールに提供されてもよい。
[0035]幾つかの異なる利点が、本明細書に記載された原理に従って名前解決処理を行うことにより提供されてもよい。まず、解決パラメーターの組の集合を維持することによって、名前解決処理は、解決処理が安全であること及び結果が信頼できることを保証するために解決パラメーターでパラメーター化することができる。例えば、従来の名前解決技術において、計算装置は、特定の結果からの結果が正当であることを信頼しなければならなかったが、集合からの解決パラメーターは、計算装置内の解決モジュールが、応答が正当であるという高い確信をもって所望のネットワークリソースの識別子(数値又はテキスト)を得るため、特定の信頼された解決リソースに問合せを行うことを可能にする。さらに、解決モジュールは、指定された解決リソースが当該モジュールが求めている対応する識別子を有していることをより確信することができる。さらに、解決パラメーターの集合を使用することによって、例えば、暗号化が使用されるべきか否か、どの種類の暗号化を使用すべきか、及び、どのように暗号化を認証すべきかを指定することによって、解決処理はより安全にすることができる。さらに、通信すべき特定の解決リソースを指定することによって、幾つかの機能が、扱うために構成されていると集合が示す、解決リソースなどのネットワークリソースに押しつけられてもよいので、集合は、計算装置上の解決モジュールがより少数の機能を実行し、計算装置に対してそれほど負担とならないようにすることを可能にする。例えば、1つの例示的なDNSSEC実施例において、幾つかの認証プロセスは、DNSサーバーのようなネットワーク中の解決リソース上で行われてもよい。集合を有する解決モジュールはDNSSECタスクを行うことができる特定の解決リソースとコンタクトすることを知る。さらに、集合を使用して、解決モジュールは、オーバーレイ・ネットワーク中のネットワークリソースのテキスト識別子のために特定の解決リソースとコンタクトしたり、特定の安全(セキュア)なネットワークリソースに関連する識別子を交換するために安全な通信チャネルを使用するなど、異なる入力識別子について異なる名前解決処理を行うことができる。
[0036]本明細書に記載された原理に従って動作するこれらの及び他の技術の追加の機能及び利点は、以下に述べられる例からより完全に理解される。以下の例は、本発明についての理解を容易にし、かつ本明細書に記載した原理の利点を説明するように意図されるが、本発明の実施例の完全な範囲を例示するものではない。
[0037]本明細書に記載された原理に従って動作する技術は、任意の適切な数及び種類のネットワークリソースを含む、任意の適切な数及び種類の計算装置を含む任意の適切なコンピューター・システムにおいて実施することができる。図1は、本明細書に記載された原理の幾つかの例示的な実施が作用し得る、実例となるコンピューター・システムを示す。しかし、他の実施が任意の他の適切なコンピューター・システムにおいて動作してもよいことが認識されるべきである。
[0038]図1は、ユーザー装置、計算装置102、が接続し得る通信ネットワーク100を含むコンピューター・システムを示す。通信ネットワーク100は、ホームネットワーク、企業ネットワークのサブネット、インターネット及び/又は他のものなど、より大きな有線及び/又は無線ネットワークの一部を含む任意の適切な有線及び/又は無線ネットワークであってもよい。計算装置102はデスクトップパソコンとして示されるが、ラップトップパソコン、PDA、スマートフォン、サーバー、ラックマウントのコンピューター、ルーターもしくは交換機などのネットワーク装置、又は他の計算装置などの、任意の適切な計算装置であってもよい。
[0039]計算装置102は、解決パラメーターの組の集合を格納するデータ・ストア104に結合される。データ・ストア104は任意の適切なコンピューター記憶媒体上に符号化され、任意の適切なフォーマットで情報を格納してもよい。データ・ストア104に格納された情報の中には、入力テキスト識別子に対応するネットワークリソースの数値識別子を決定するなど、入力第1識別子に対応する第2の識別子を決定するために名前解決処理を管理するために使用することができる解決パラメーターがある。上述のように、解決パラメーターは名前解決処理中に使用され得る任意の適切な情報を含んでもよい。計算装置102は、通信ネットワーク100に接続されたネットワークリソースへの接続を形成するために解決パラメーターが使用されるそのような名前解決処理を実施する1つ以上の機能モジュールを実行するように構成されてもよい。
[0040]データ・ストア104に格納された解決パラメーターの組の集合は、任意の適切なユーザー・インターフェースを使用して計算装置102に対してローカルなユーザーによって入力されること及び/又は計算装置106を使用して管理者によって遠隔に提供されることを含む、様々な方法のうちの任意の方法で提供することができる。一例において、管理者は、計算装置106において解決パラメーターを指定し、任意の適切なネットワーク管理技術を通じて計算装置102にそれらを押し付けてもよい。例えば、通信ネットワーク100がワシントン州レドモンドのマイクロソフト株式会社から利用可能なマイクロソフト・ウィンドウズ(登録商標)・ネットワークを含む場合、管理者は、アクティブ・ディレクトリー・プロトコルを介したグループ・ポリシーを使用して、解決パラメーターを押し出すためにドメインコントローラーを使用してもよい。しかし、これが実施され得るネットワーク管理技術の例にすぎず、任意の適切な技術をネットワーク上で利用可能なリソースに従って使用することができることが認識されるべきである。
[0041]計算装置102は、ネットワークリソース108などのネットワークリソースの識別子(数値又はテキスト)を決定する名前解決処理を行うために解決パラメーターの組の集合を使用してもよく、それは、任意の種類のサーバーなどの、ネットワークを介してアクセス可能な任意の計算装置であってもよい。そうするために、計算装置102は、ネットワークリソース108の第1の識別子の入力を受信すると、適用可能な解決パラメーターの組を決定するためにデータ・ストア104に格納された解決パラメーターの組の集合を調べ、次に、適用可能な解決パラメーターの組によって管理された名前解決処理を行ってもよい。名前解決処理中に、ネットワークリソース108の1つ以上の識別子を決定するために、計算装置102上で実行される解決モジュールは、名前解決リソース110と通信してもよい。如何なる適切な名前解決処理も、以下に述べられる例示的な名前解決処理のうちの任意のものを含む、本明細書に記載された原理に従って実行することができる。そのような処理は、解決リソース110として任意の適切なネットワーク装置による任意の適切な方法での情報の交換を含み得る。解決リソース110はサーバーとして図1に示されているが、パーソナルコンピューターなどの多目的の装置及びハードウェア名前解決装置などの単一目的の装置を含む解決リソースとして任意の適切な計算装置が使用され得ることが認識されるべきである。
[0042]幾つかの実施例において、通信ネットワーク100は単一ネットワークでなくてもよいが、その上で1つ以上のオーバーレイ・ネットワーク100Aがインスタンス化されるハードウェア・ネットワークであってもよい。オーバーレイ・ネットワーク100Aは全体的に通信ネットワーク100を実施するハードウェア上でインスタンス化されてもよいし、又は通信ネットワーク100で使用されるハードウェア上で動作してもよい。オーバーレイ・ネットワーク100Aはルーター及び交換機などのネットワーク・ハードウェアを通信ネットワーク100と共有してもよいが、クライアント計算装置及びサーバー計算装置など、幾つかのネットワークリソースがあってもよく、それらはハードウェアを介して通信ネットワーク100に接続されるが、オーバーレイ・ネットワーク100Aの部分でない装置にとってはアクセス可能でない。
[0043]上述のように、これらの特定の解決リソースのみがオーバーレイ・ネットワーク100A上で利用可能なネットワークリソースについての知識を有しているので、オーバーレイ・ネットワーク上のネットワークリソースと通信するために、計算装置102は、オーバーレイ・ネットワーク100A上で利用可能なネットワークリソースに関する情報を有する特定の解決リソースと通信しなければならないかもしれない。そのような実施例において、解決パラメーターの組の集合は、ネットワークリソース108などのネットワークリソースの識別子を得るために名前解決処理中に計算装置102が通信することができる1つ以上の特定の解決リソース110Aを指定してもよい。集合における解決パラメーターの組のうちの幾つか又はすべてはオーバーレイ・ネットワーク100Aのネットワークリソースと一致する識別子を有してもよい。計算装置102の解決モジュールが適用可能な解決パラメーターの組を決定するために集合をレビューする場合、適用可能な解決パラメーターは所望のネットワークリソースの識別子が特定の解決リソース110Aから取り出され得ることを示してもよい。したがって、計算装置102によって実行される名前解決処理は、適用可能な解決パラメーターの組でパラメーター化される場合、所望のネットワークリソース108の識別子を取り出すために、特定の解決リソース11OAと通信してもよい。このレビュー及び名前解決処理は、以下に述べられる例示的な技術のうちの任意のものを含む、任意の適切な方法で、実行されてもよいことが認識されるべきである。
[0044]さらに、幾つかの実施例において、適用可能な解決パラメーターはまた、ネットワークリソース108に対する通信がプロキシー・サーバー112を介して行われるべきであることを明示してもよい。その後、ネットワークリソースの第2の識別子を返す際に、解決モジュールは、さらに又は代替的に、プロキシー・サーバー112について、数値又はテキストの識別子などの識別子を返してもよい。
[0045]上述されるように、解決パラメーターの組は名前解決処理を行う際に使用され得る任意の情報を含み得る。図2A及び2Bは、2つの例示的なネットワーキング技術を用いて本明細書に記載された原理に従う幾つかの実施例において使用され得る解決パラメーターの組の集合を格納する例示的なデータ構造を示す。さらに、図2A及び2Bは2つの異なる技術に関連するパラメーターを含む2つの異なる集合を示すが、幾つかの実施例において、これらの技術が解決パラメーターの同じ組において実施され得ることが認識されるべきである。さらに、集合は任意の適切なデータ構造として実施されてもよく、幾つかの実施例では、1つ以上の組の解決パラメーターに関連する情報を各々が格納する他のデータ構造を含んでもよい。これらのデータ構造は、名前解決を要求し得るクライアント計算装置に関連付けられるコンピューター読み取り可能な記憶媒体に格納されてもよい。任意の種類のネットワーキング技術が使用されてもよいので、図2A及び2Bに示されるデータ構造及びそれらが格納するパラメーターは、使用され得るデータ構造及びパラメーターの種類の実例にすぎないことが認識されるべきである。
[0046]図2Aは、集合中の解決パラメーターの2つの例示的なセットを備えた、解決パラメーターの集合200Aを格納する第1のデータ構造を示す。図2Aで示されるように、幾つかの実施例において、解決パラメーターの集合は、複数のフィールド及び行を含むテーブルとして組織されてもよく、各フィールドは解決パラメーターの種類を指定し、各行は解決パラメーターの組を指定するが、任意の適切なフォーマットを使用することができるので、他の実施例が可能である。集合200Aに示される例示的な解決パラメーターは、DNSSECプロトコルを使用すべきか否か、他のDNSセキュリティパラメーターを実施すべきか否か又はどのように使用すべきかなど、DNS解決処理に関連するパラメーターを含む。しかし、上述のように、任意の適切な名前解決プロトコルを使用し得るので、DNSが、本明細書に記載した原理が動作し得る名前解決技術及びプロトコルの種類についての単なる例示的なものであることが認識されるべきである。
[0047]図2Aに示される第1の実例となる解決パラメーターは「ネーム(名前)」パラメーター202である。このパラメーター202は、解決パラメーターの組がどの識別子に適用されるかを示し、したがって、当該解決パラメーターの組がどのネットワークリソースに適用され得るかを示す。入力識別子の所与の解決処理に対して集合におけるどの解決パラメーターの組が適用されるかを決定するために、ネーム・パラメーター202は、解決モジュールによって使用されてもよい。ネーム・パラメーター202は、任意の数値又はテキスト識別子を含む、ネットワークリソースの任意の識別子を格納し得る。例えば、数値識別子は、IPアドレス「1.2.3.4」などの、特定のネットワークリソースの識別子であってもよいし、又はIPアドレスサブネット「157.0.0.0/8」などの、ある範囲のネットワークリソースの識別子であってもよい。同様に、ネーム・パラメーターに使用され得るテキスト識別子は、「itweb.contoso.com.」のような十分に適格なドメイン・ネーム(fully qualified domain name、FQDN)などの、特定のネットワークリソースの識別子であってもよいし、又は「*.contoso.com」のようなDNSサフィックスもしくは「itweb.*」のようなDNSプレフィックス(prefix)などの、ある範囲のネットワークリソースの識別子であってもよい。
[0048]図2Aに示される次の解決パラメーターはDNSSECパラメーター204である。より具体的には、例示的な「DNSSEC」パラメーターは、ネーム・パラメーターと一致するネットワークリソースの解決処理でDNSSEC認証が必要であることを示す、2進値(オン又はオフ)を格納する。1組の解決パラメーターのDNSSECパラメーター204がオン/真に設定される場合、解決リソースはDNSSECプロトコルに従って解決処理を行い、如何なる結果も解決パラメーターに従って認証されることを保証してもよい。解決処理を実行する解決モジュールはまた、DNSクエリーの如何なる結果もDNSSEC基準に従って認証されていることを保証してもよく、送信されたDNS要求において、例えば、「DNSSEC OK」(DO)フラグを要求のヘッダーに設定することによって、DNSSEC認証が要求されたことを示してもよい。
[0049]次のパラメーターは、計算装置間、例えばDNSクライアント及びDNSサーバー又は他の装置の組の間でのDNS交換のセキュリティに関連する。第1のパラメーター、「IPsec上のDNS」パラメーター206、は、名前解決処理のための通信チャネル上でIPsecを実施すべきかどうかを示す、2進の(オン/オフ又は真/偽)値を格納してもよい。例えば、IPsecパラメーターが真に設定される場合、名前解決リソースへの接続を確立するとき、解決モジュールは暗号化及び/又は認証処理を行ってもよい。1組の解決パラメーターについての「IPsec上のDNS」がオン/真に設定される場合、その後、解決モジュールは、IPsecプロトコルのための設定を決定するために当該組の他のパラメーターを調べてもよい。次の2つのパラメーター、「IPsec暗号化レベル」208及び「IPsec CA」210は、そのようなパラメーターの例である。「IPsec暗号化レベル」は、暗号化が使用されるべきかどうか、及び/又はどの種類の暗号化を使用すべきかを指定する任意の値を格納してもよい。「IPsec暗号化レベル」パラメーター208は、特定の種類の暗号化を示す無(None)/低(Low)/中間(Medium)/高(High)の値を格納してもよく、例えば、「低」は、3重データ暗号化規格(Triple Data Encryption Standard、3DES)又は任意のサイズのアドバンスト・エンクリプション・スタンダード(AES)暗号化を示してもよく、「高」は、192又は256ビットのAES暗号化を示してもよい。代替的に、IPsec暗号化レベルは、AES(256)などの特定の暗号化標準への参照を格納してもよい。「IPsec CA」210は、解決リソースのための認証証明書を発行すると信頼される1つ以上の認証機関の識別子を格納してもよい。設定されると、IPsecの認証処理中に、解決モジュールは信頼された解決リソースへの信頼されたCAのうちの1つによって発行された認証証明書によって解決結果が認証されることを確認してもよい。さらに、DNSSECが作動される場合、その後、DNSサーバーからの応答は、当該応答中の拡張キー使用(EKU)署名が信頼されたCAのうちの1つに由来するか否か及びしたがって結果を生成したDNSサーバーが、計算装置に代わってDNSSEC認証を行うために、解決パラメーターによって認証されることを決定するためにチェックされる。
[0050]図2Aに示される最後のパラメーター、「DNSサーバー」212、は、解決モジュールが解決処理中に通信するべき1つ以上のDNSサーバーのリストを格納してもよい。解決モジュールへ入力される識別子が解決パラメーターの組のネーム・パラメーターと一致する場合、その後、解決モジュールは、入力識別子に対応する識別子の「DNSサーバー」パラメーターにリストされた任意のDNSサーバーに問合せを行う。「DNSサーバー」パラメーターは、任意の適切な数値及び/又はテキスト識別子を含む、DNSサーバーへの接続を確立するために使用され得る1つ以上のDNSサーバーのための任意の適切な識別子を格納してもよい。
[0051]図2Aは、集合200Aを形成し得る解決パラメーターの組を格納する2つの実例となるデータ構造を示し、各組は集合のパラメーターとして格納され得る実例となる値を含む。これらの組は使用され得る組の種類の例であり、任意の値がパラメーターとして使用されてもよく、任意の数のパラメーターの組が使用されてもよいことが認識されるべきである。
[0052]図2Bは、解決パラメーターの集合200Bを格納する第2の例示的なデータ構造を示す。図2Aにおけるように、集合200Bは、パラメーターを識別する複数のフィールド及び解決パラメーターの組を識別する複数の行を有するテーブルとして組織されるが、任意のフォーマット(形式)を使用し得ることが認識されるべきである。さらに、図2Bの例では、解決パラメーターは、オーバーレイ・ネットワークについてのマイクロソフト・ダイレクト・アクセス機能に関して使用され得るものを含む。しかし、任意の適切なオーバーレイ・ネットワーキング技術を含む任意の適切なネットワーキング技術を使用し得るので、ダイレクト・アクセスが本明細書に記載した原理が動作し得るネットワーキング技術及びプロトコルの種類の例示的なものにすぎないことが認識されるべきである。
[0053]図2Bに示される第1のパラメーターは「ネーム」パラメーター220である。集合200Aのネーム・パラメーター202と同様、このパラメーターは、解決パラメーターの組が適用され得るネットワークリソースを識別し、入力識別子の所与の解決処理に集合中の解決パラメーターのどの組が適用されるかを決定するために解決モジュールによって使用されてもよい。ネーム・パラメーター220は、集合200Aに関して上に記載された例示的なパラメーターのうちの任意のものを含む、任意の数値又はテキスト識別子を含むネットワークリソースの任意の識別子を格納してもよい。
[0054]図2Bの次のパラメーターは、ダイレクト・アクセス技術に関連する。「ゾーン固有の(Zone-specific)DNSサーバー」パラメーター222は、オーバーレイ・ネットワーク上で利用可能なネットワークリソースについての名前解決処理の一部として問合せられ得る1つ以上のDNSサーバーの任意の適切な識別子を格納してもよい。上述のように、幾つかのオーバーレイ・ネットワークにおいて、幾つかのネットワークリソースは、オーバーレイ・ネットワークが存在するハードウェア・ネットワーク上のすべての計算装置による一般的なアクセスには利用可能ではないかもしれず、この制限はネットワークリソースの識別子を広く分配しないことにより部分的に強化され得る。オーバーレイ・ネットワーク上のネットワークリソースの識別子を得るために、解決モジュールは解決リソースの1つ又は小さな組とコンタクトしてもよい。したがって、解決モジュールへ入力される識別子が解決パラメーターの組のネーム・パラメーター220と一致する場合、解決モジュールは、ネットワークリソースの対応する識別子を得るために「ゾーン固有のDNSサーバー」パラメーター222に指定されたDNSサーバーとコンタクトしてもよい。
[0055]「ゾーン固有のプロキシー」224は示された次のパラメーターである。ソフトウェア・アプリケーションがオーバーレイ・ネットワーク上のネットワークリソースとコンタクトしていることをソフトウェア・アプリケーションに示し、且つ、その接続を行うためにプロキシー・サーバーを使用するか又はその接続を行うために識別されたプロキシー・サーバーを使用するように当該ソフトウェア・アプリケーションを構成するために、このパラメーター224は、解決モジュールによって使用されてもよい。例えば、ソフトウェア・アプリケーションが特定のネットワークリソースへの接続を望み、適用可能な解決パラメーターの組が、プロキシー・サーバーが使用されるべきであることを解決モジュールに示す場合、解決モジュールはソフトウェア・アプリケーションがプロキシー・サーバーを介してネットワークリソースに接続するべきであることをソフトウェア・アプリケーションに示してもよい。集合200Bのプロキシー・サーバー・パラメーター224は、リソースの数値及び/又はテキスト識別子を含む任意の許容値、プロキシー・サーバーは必要ではないというヌル値(null value)もしくは他の指標、又はデフォルトのプロキシー・サーバー設定がソフトウェア・アプリケーションによって使用されるべきであることを示す値を格納してもよい。
[0056]次のパラメーター、「IPsec上の遠隔(リモート)DNS」226は、暗号化及び/又は認証によるなど、IPsecプロトコルに従ってオーバーレイ・ネットワーク上のネットワークリソースへの接続が保護されるべきかどうかを示すために使用される。集合200Aの「IPsec上のDNS」パラメーター206と同様に、集合200Bの「IPsec上のDNS」パラメーター226は、IPsecを使用するべきかどうかを示す、オン/オフ又は真/偽などの2進値をとってもよい。さらに集合200Aと同様に、「遠隔DNS暗号化レベル」228は、解決リソースへの接続を保証するに際して暗号化を使用すべきか否か及びどんな種類の暗号化を使用すべきかを示す任意の適切な値を格納してもよく、「IPsec CA」230は、解決リソースの認証証明書を発行すると信頼される1つ以上の認証機関の任意の適切な識別子を格納してもよい。
[0057]図2Aと同様に、図2Bはまた、集合200Bを形成し得る解決パラメーターの組を格納する2つの実例となるデータ構造を示し、各々の組は集合のパラメーターに格納され得る実例となる値を含む。これらの組が使用され得る種類の組の例であり、任意の値がパラメーターとして使用されてもよく、任意の数のパラメーターの組が使用されてもよいことが認識されるべきである。
[0058]さらに、2つの集合200A及び200Bは別個に示され、2つの異なる技術−DNSセキュリティ/DNSSEC及びダイレクト・アクセス−に対処するが、幾つかの実施例において、解決パラメーターの組がこれらの技術の両方及び/又は任意の他の種類のネットワーキング技術を対象とするパラメーターを含んでもよいことが認識されるべきである。例えば、所与のオーバーレイ・ネットワークについて、解決パラメーターの組は、オーバーレイ・ネットワークについて名前解決を行うためにDNSSEC及び他のDNSセキュリティを使用するように解決モジュールに指示してもよい。
[0059]本明細書に記載された原理に従って動作する幾つかの技術において、解決パラメーターの任意の特定の組の一部ではない追加の解決パラメーターが解決パラメーターの集合に含まれてもよい。これらのグローバルパラメーターはまた、解決処理を管理するために使用されてもよいが、解決パラメーターの組がいつ使用されるべきか、使用されるべきか否かを示してもよく、名前解決での失敗を扱う方法を示してもよく、又はすべての組に適用される解決パラメーターであってもよい。例えば、計算装置が、接続されるハードウェア・ネットワークの計算装置に通知し得るネットワーク位置把握(Network Location Awareness、NLA)をサポートする場合、集合は、装置が接続されるネットワークの種類又は識別に基づくテーブルのすべて又は一部のレビューを差し控えるべきか否かを示すグローバル設定を含んでもよい。例えば、オーバーレイ・ネットワークが存在する特定のハードウェア・ネットワークに計算装置が接続されないことをNLAが示す場合、「NLAバイパス」パラメーターは、オーバーレイ・ネットワークを対象とするすべての組をレビューすることを差し控えるべきであることを解決モジュールに示してもよく、又は、特定のオーバーレイ・ネットワークの解決パラメーターのすべての組をレビューすることを差し控えるべきであることを示してもよい。
[0060]加えて又は代替的に、グローバルパラメーターは、特定のネットワークの外部である場合に解決要求を出す方法を示してもよい。例えば、計算装置が特定のハードウェア・ネットワークの外部にある場合、「クエリー振る舞い(Query Behavior)」パラメーターは、IPv4の数値識別子の前のIPv6の数値識別子、又はIPv6の数値識別子のみなどの、特定の種類の識別子について解決モジュールが問い合わせるべきであることを示してもよい。別のグローバルパラメーターは、第2の識別子が適用可能な解決パラメーターの組に従って配置されないという点で名前解決処理が失敗する場合にどう反応するのかに関連してもよい。この「フォールバック(Fallback)振る舞い」パラメーターは、解決モジュールが代替的な名前解決技術を使用することを試みるべきであることを示してもよいし、又はフォールバックが許可されないことを示してもよい。例えば、当該パラメーターは、DNS処理が失敗する場合にLLMNR又はNetBIOSの処理が試みられるべきであることを示してもよい。
[0061]これらの例示的な集合及び解決パラメーター、及び任意の適切な集合における他の適切な解決パラメーターは、任意の種類の名前解決技術に従って名前解決処理を実行するために解決モジュールによって使用されてもよい。いかなる適切な名前解決処理が適用可能な解決パラメーターの組によって実施され管理されてもよい。図3は、名前解決が実行され得る処理300を示す。しかし、いかなる適切な技術が使用されてもよいので、処理300が実施され得る種類の技術の単なる例であることが認識されるべきである。
[0062]処理300はブロック302において開始し、そこではネットワークリソースの第1の識別子が計算装置の機能モジュールによって受信される。第1の識別子は、ソフトウェア・アプリケーションのユーザー・インターフェースによることを含む適切なユーザー・インターフェースを介したユーザーからを含む、任意の適切なソースによって及び任意の適切なソースから受信されてもよい。第1の識別子は、DNSプロトコルのドメイン・ネームなどの、名前解決プロトコルに従う任意の適切なテキスト識別子を含む、ネットワークリソースに適した任意の識別子であってもよい。ブロック304において、その後、ネットワークリソースの第2の識別子を決定するために、第1の識別子は名前解決モジュールに渡されてもよい。これは任意の理由で行われてもよい。例えば、第1の識別子がソフトウェア・アプリケーションによって受信されたテキスト識別子であった場合、ソフトウェア・アプリケーションは、それが第2の識別子としてネットワークリソースへの接続を確立するためのネットワークリソースの数値識別子を要求することを決定してもよい。しかし、本明細書に記載された原理は任意の適切な動機によって実行される名前解決処理と互換性をもつので、この使用事例は例示的なものにすぎない。
[0063]ブロック306において、解決モジュールは、集合が、名前解決が求められる識別子に適用される解決パラメーターの任意の組を有しているか否か決定する。これは任意の適切な方法で行うことができる。例えば、解決モジュールは、データ・ストアから解決パラメーターの組の集合を取り出し、第1の識別子を集合と比較して、もしあれば、解決パラメーターのうちのどの組が第1の識別子に適用されるかを決定してもよい。この比較は、第1の識別子を図2A及び2Bにおいて上述された「ネーム」パラメーターと比較することによるなど、任意の方法で行われてもよい。その後、解決モジュールは、モジュールによって実行されるべき名前解決処理に、解決パラメーターの組の1つ以上が適用されることを決定してもよく、処理を管理するために適用可能な解決パラメーターの組を使用するか、又は、任意の適切な方法で解決パラメーターの複数の組をマージすることにより、適用可能な解決パラメーターの組を決定してもよい。
[0064]ブロック306の適用可能な解決パラメーターの組の決定は、任意の適切な方法で行われてもよい。それが実行される正確な方法は、集合のフォーマット、及び集合に含まれるように選択された解決パラメーターに依存し得る。図4は決定処理の1つの例を示すが、処理400が処理300のブロック306の一部として行われ得る動作の単なる例であり、他の処理が可能なことが認識されるべきである。
[0065]処理400はブロック402において開始し、そこで、解決モジュールはデータ・ストアから解決パラメーターの組の集合にアクセスする。図1の例におけるように、このデータ・ストアは解決モジュールが実行されている計算装置にとってローカルかもしれず、又は、コンピューター通信ネットワークなどの任意の適切な通信媒体を介してそれにとって利用可能であってもよい。ブロック404において、解決モジュールは、集合における解決パラメーターの各組について、各組がネットワークリソースのどの識別子に適用されるかを示す、識別子を一致させるためのパターンを取り出してもよい。当該パターンは、図2A及び2Bに関して上に記載されたネーム・パラメーターを含むネットワークリソースの任意の適切な指標であってもよく、又は、任意の他の数値もしくはテキスト指標であってもよい。ブロック406において、パターンに対応する解決パラメーターの組が第1の識別子に適用されるかどうかを判断するために、第1の識別子が各パターンと比較される。例えば、第1の識別子が「webserver.corp.contoso.com」で、パターンが「*.corp.contoso.com」(*はワイルドカード文字である)である場合、その後、ブロック406において、解決パラメーターのその組が第1の識別子に適用されると決定されてもよい。
[0066]ブロック408において、適用可能な解決パラメーターの組が一旦決定されると、その後、パラメーターの組は名前解決処理を管理するために使用されるべく取り出される。幾つかの実施例においては、解決パラメーターの単一の組のみが適用可能な解決パラメーターの組として取り出されるが、他の複数の解決パラメーターの組が取り出されてもよい。複数の組が得られる場合、解決パラメーターの複数の組から適用可能な解決パラメーターの組を決定するために任意の適切な処理を使用することができる。例えば、パラメーターは、最高レベルのセキュリティを有する、又は最低レベルのセキュリティを有する、又は任意の他の標準を有する、適用可能な解決パラメーターの組を決定するためにマージされてもよい。別の例として、解決パラメーターの複数の組が一致する場合、解決モジュールは最も緊密に一致するパターンを有する組を選択してもよい。例えば、第1の識別子が「a.corp.ms.com」であり、「corp.ms.com」について集合中に組があり、「ms.com」について組がある場合、「corp.ms.com」の解決パラメーターの組が選択され得る。というのはそれがより具体的であるからである。
[0067]図3の処理300に戻り、ブロック308において、適用可能な解決パラメーターの組が一旦決定されたならば、解決モジュールは適用可能な解決パラメーターの組によってパラメーター化された名前解決処理を行ってもよい。その後、解決モジュールは、解決処理の出力として、ネットワークリソースの第2の識別子を得てもよい。例えば、第1の識別子がテキスト識別子である場合、第2の識別子は、IPアドレスなどの数値識別子であってもよく、その逆もまたあり得る。ブロック310において、その後、解決モジュールは、ブロック302において第1の識別子を渡した機能モジュールへ第2の識別子を返し、処理は終了する。
[0068]ブロック308及び310の動作は任意の適切な方法で行われてもよい。図5は、適用可能な解決パラメーターの組によってパラメーター化された名前解決処理が行われてもよい、例示的な処理500を示す。しかし、任意の適切な処理が任意の適切な名前解決技術及びプロトコルに従って実施されてもよいので、処理500が、実行され得る名前解決処理の種類の単なる例であることが認識されるべきである。また、処理500はある解決パラメーターの観点から記載されているが、任意の適切なパラメーターが本明細書に記載された原理に従って使用されてもよいので、これらのパラメーターもまた例示的なものにすぎないことが認識されるべきである。
[0069]図5の処理500はブロック502において開始し、解決モジュールは、「DNSサーバー」パラメーターによるなど、適用可能な解決パラメーターの組によって識別された名前解決リソースへの接続を確立する。実施される名前解決技術及びプロトコルの種類に依存して、解決リソースの性質は変化し得る。しかし、幾つかの実施例において、名前解決リソースはDNSサーバーのようなネットワークリソースであってもよい。ブロック504において、オン/オフに設定される「IPsec上のDNS」パラメーターに従って、解決リソースへの接続が保証され得る。接続のセキュリティは、使用する暗号化の種類を識別する「暗号化レベル」パラメーター及び/又は解決リソースの同一性を認証する証明書を発行することができる1つ以上の認証機関を識別する「IPsec CA」パラメーターなどの他のパラメーターに依存してもよい。IPsecプロトコルを使用して通信接続を安全にするための技術は当技術分野において知られており、そのためここではこれ以上議論されない。
[0070]ブロック506において、解決リソースへの接続が一旦保証(セキュアに)されれば、解決モジュールはチャネルを介して名前解決要求を通信してもよい。解決要求は、第1の識別子、及び解決リソースが従う必要があり得る処理を示す任意のパラメーターを含む、名前解決を行うための任意の適切なデータを含み得る。例えば、解決要求は、適用可能な解決パラメーターの組のパラメーターに従って、DNSSECが解決要求のために可能となっており、解決リソースが第2の識別子を返す前にDNSSECに従って第2の識別子に対して認証処理を行うべきであることを示してもよい。例えば、解決要求は、1つ以上の認証機関に対して、解決パラメーターの組が信頼された結果を返すために信頼されることの1つ以上の指標を含み得るし、解決リソースはこれらのうちの1つが使用されることを確認してもよい。
[0071]解決パラメーターによって選択され示された特定の名前解決技術に従って、ネットワークリソースの第2の識別子を得るために、任意の適切な技術が解決リソースによって実行されてもよい。例えば、解決リソースがDNSサーバーである場合、解決リソースは、解決要求において受信した第1の識別子に対応する第2の識別子についてそれが「知っている」かどうかを決定するために、識別子のそのローカルキャッシュ(local cache)を検査してもよい。第2の識別子がそのキャッシュにない場合、それは別のDNSサーバーに解決要求を渡してもよく、その後、別のDNSサーバーは同じ処理を行ってもよい。元の解決リソースが第2の識別子を含む応答を受信するまで、これは継続する。適用可能な解決パラメーターの組によってDNSSECが「オン」であるように示される場合、解決リソースが−それ自身のキャッシュ又は別のDNSサーバーのいずれかから−その結果を得るとき、解決リソースは、それが結果の正当性を保証することができる信頼できるソースによって「署名された」か否かを決定するために結果を検討してもよい。結果が有効であると決定される場合、それは解決要求を出した解決モジュールに返されてもよい。
[0072]ブロック508において、解決モジュールは、保証されたチャネルを介して解決リソースから応答を受信し、ブロック510において、第2の識別子が解決リソースによって認証され且つ信頼された認証機関によって署名されたことを確認する。ブロック512において、解決モジュールは、ブロック510の決定に基づいて、適用可能な解決パラメーターの組に従って識別子が認証されたかどうかを決定する。第2の識別子が認証された場合、ブロック514において、第2の識別子が、(図3のブロック302におけるように)第1の識別子の提供により元々要求を出した機能モジュールへ返され、処理は終了する。他方、応答が適用可能な解決パラメーターの組に従って認証されなかった場合、ブロック516において、解決モジュールは結果を捨て、結果が見つからなかったことを示すエラーメッセージを機能モジュールに返し、処理は終了する。
[0073]幾つかの実施例において、解決モジュールはまた、ネットワークリソースの識別子のローカルキャッシュを保持してもよい。第2の識別子を含む解決要求に対する応答を受信すると、解決モジュールは、第1の識別子、第2の識別子、及び第2の識別子を得るために使用される解決パラメーターをキャッシュに格納してもよい。その後、解決モジュールが第2の識別子を求める新たな要求を受信する場合、解決モジュールは、それが既に第2の識別子を格納し手いるか否かを決定するためにキャッシュを検査し、そうであるならば、解決リソースへ解決要求を出すことなく、キャッシュから第2の識別子を返してもよい。図6は、キャッシュを使用してそのような解決処理を行う例示的な処理600を示す。しかし、処理600が単なる例であり、任意の適切な技術が本明細書に記載された原理に従って実施され得ることが認識されるべきである。
[0074]処理600はブロック602において開始し、解決モジュールは第1の識別子を受信し、適用可能な解決パラメーターの組を決定する。これは、上に記載された例示的な技術のうちの任意のものによるものを含む、任意の適切な方法で行われてもよい。ブロック604において、解決モジュールは、第1の識別子がキャッシュにリストされるかどうかを決定するためにキャッシュを検査してもよい。ブロック606における決定に基づいて、第1の識別子がキャッシュにない場合、その後、ブロック608において、上述のように、名前解決処理が継続する。第2の識別子が名前解決処理によって得られる場合、その後、当該得る動作について記述する情報がブロック610においてキャッシュに格納されてもよい。この情報は、取得処理についての様々な種類のデータ及び指示のうちの任意のものを含んでもよい。例えば、当該情報は、第1の識別子、第2の識別子、及び/又は取得の動作において使用される適用可能な解決パラメーターの組を含んでもよい。情報がキャッシュに一旦格納されると、処理600は終了する。
[0075]他方、ブロック606において第1の識別子がキャッシュにあると決定される場合、ブロック612において、第1の識別子と共にキャッシュに格納された解決パラメーターの組が取り出され、ブロック602において取り出された適用可能な解決パラメーターの組と比較される。この比較は、キャッシュから返された任意の第2の識別子が適用可能な解決パラメーターの組に従って得られた識別子であることを保証するために行われてもよい。例えば、ブロック612の比較は、パラメーターが等しいか、又は、キャッシュに格納された識別子を得るために使用されるパラメーターがブロック602において取り出されたパラメーターと少なくとも同じくらい安全であることを決定してもよい。代替的に、ブロック612の比較は、キャッシュ中の第2の識別子のソース−第2の識別子が得られた解決リソース−が適用可能な解決パラメーターの組によって要求されるソースと同じであることを決定してもよい。別の例として、キャッシュは、代わりに、第2の識別子が取り出された時間を格納してもよく、解決モジュールは、解決パラメーターが実行のときにおいてキャッシュ中の識別子が検索されたときと同じであるか否かを決定するために解決パラメーターが編集された最後の時間と上記時間を比較してもよい。任意の適切な比較処理がブロック612において行われてもよい。
[0076]ブロック614において、パラメーターが一致しない場合、得られたいかなる識別子も適切に得られることを保証するために、適用可能な解決パラメーターの組に従って、上に記載されるように、名前解決処理が行われる。しかし、ブロック614において、パラメーターが一致することが決定される場合、ブロック616において、第2の識別子は、キャッシュから、第1の識別子を提供した機能モジュールに返され、処理600は終了する。
[0077]機能モジュールによる解決モジュールへの第1の識別子の入力に基づいて第2の識別子を決定するための幾つかの異なる技術が上に記載される。しかし、これらの技術の各々は本明細書に記載された原理に従って実施され得る技術の種類の例にすぎないことが認識されるべきである。ハードウェア・ネットワーク又はオーバーレイ・ネットワークのいずれとして実施されたかにかかわらず、名前解決技術に基づいて、又は、解決モジュールのために提供された解決パラメーターに基づいて、任意の種類の方法が、ネットワークリソースの識別子を決定するべく名前解決処理を行うために実施され得る。
[0078]解決モジュールについて設定される解決パラメーターは任意の適切な方法で提供されてもよい。例えば、1つの実施例において、解決パラメーターは、計算装置のユーザーによってローカルに入力され、計算装置に関連したデータ・ストアに格納されてもよい。別の実施例において、解決パラメーターは、計算装置がネットワークに接続するときにネットワークを介して提供されてもよい。図7は、ネットワークを介して計算装置に解決パラメーターを提供する、1つのそのような後者の処理の例を示す。しかし、図7の処理700が実例にすぎず、他のものが可能であることが認識されるべきである。さらに、図7の例はマイクロソフト・ウィンドウズのコンピューターネットワークの観点から記載されているが、計算装置がネットワークに接続する時にネットワークによって当該計算装置が設定される構成される他のネットワークが可能であることが認識されるべきである。
[0079]処理700はブロック702において開始し、管理者は、ネットワークのドメインコントローラーに解決パラメーターの集合を入力する。解決パラメーターのこの集合は、ネットワーク用のマイクロソフト・アクティブ・ディレクトリー・グループ・ポリシーの一部としてを含む、任意の適切な方法で入力されてもよい。グループ・ポリシーは、ネットワークに接続された計算装置のグループ及び/又はネットワークのユーザーのグループを含む、ネットワークの任意の一部に適用されてもよい。ブロック704において、ドメインコントローラーは、解決パラメーターを受信し、グループ・ポリシーとしてそれを格納し、次に、グループのすべての要素にグループ・ポリシーを送信する。ブロック704のこの送信は、15分ごとなどの設定された期間の後、又はグループの要素(コンピューター又はユーザーのいずれか)がネットワークに参加するか又は署名するときに行われてもよい。ブロック706において、本明細書に記載されるような解決モジュールを実行する計算装置は、任意の適切な方法でグループ・ポリシーを受信し、計算装置に関連したデータ・ストアにそれを格納する。その後、ブロック708において、名前解決処理を実行する場合、解決モジュールは、上に記載された例示的な技術のうちの任意のものを含む任意の適切な方法で名前解決処理に解決モジュールの集合を適用する。
[0080]任意の適切なユーザー・インターフェースを解決パラメーターを入力するために使用することができる。例えば、幾つかの実施例において、テキストベースのコマンドライン・ツールは解決パラメーターを入力するために使用されてもよい。他の実施例において、グラフィカル・ユーザー・インターフェースは解決パラメーターを入力するために使用されてもよい。図8は、本明細書に記載された原理のうちの幾つかに従って使用され得る1つのそのようなグラフィカル・ユーザー・インターフェースの例を示す。しかし、本発明の実施例は解決パラメーターに対するいかなる特定の入力技術を使用することにも限定されないので、幾つかの実施例が代替的なユーザー・インターフェースを使用し得ることが認識されるべきである。
[0081]グラフィカル・ユーザー・インターフェース800は、解決パラメーターを入力するために使用され得る多くの制御部(コントロール、controls)を含む。テキストブロック802は、図2A及び2Bに関して上に記載された「ネーム」パラメーターにおけるように、ネットワークリソースの名前と一致するように使用されるパターンを含む、ネットワークリソースの名前を入力するために使用されてもよい。グラフィカル・ユーザー・インターフェースはまた、IPsecセキュリティ処理に対して及び/又はDNSSECなどの安全な名前解決技術に従って識別子に署名することに対して使用され得る認証機関に関連する情報を入力するためのテキストブロック804を含んでもよい。DNSセキュリティに関連づけられた一連の制御部(コントロール)806はまた、DNSSEC認証を要求するべきか否か、IPsecを使用するべきか否か、及びIPsecを使用すべき場合にどの種類の暗号化を使用するかなどのパラメーターを示すコントロールとともに、実施されてもよい。別の一連のコントロール808はまた、ダイレクト・アクセスなどのオーバーレイ・ネットワークによる使用のために実施されて、DNSサーバーなどの許容される解決リソースの識別子、使用するプロキシー・サーバーの識別子、IPsecを使用するべきであるか否か、及びIPsecが実施されるべきである場合のユーザーに対する暗号化の種類などのパラメーターを受け取る。グラフィカル・ユーザー・インターフェース800はまた、コントロール802−808の各々に入力されるパラメーターを示す解決パラメーターの組を作成して及び更新するためのボタン810を含む。他のグローバルな解決パラメーターもまた、フレーム812を介してグラフィカル・インターフェースへ入力されてもよい。解決パラメーターの組が一旦作成されたならば、それはグラフィカル・ユーザー・インターフェース800の下部におけるフレーム814に表示されてもよく、それはインターフェース800を使用して入力され得るパラメーターの種類にそろう複数の列を有する。
[0082]グラフィカル・ユーザー・インターフェース800を使用してパラメーターの組が作成されるか又は更新される場合、当該パラメーターの組は任意の適切なフォーマットで任意の適切なデータ構造に格納されてもよい。データ構造は、図2A及び2Bの集合200A及び200Bなどの解決パラメーターの組の集合を格納するデータ構造に格納されてもよい。これらのデータ構造は、上に議論されるように、任意の適切なコンピューター記憶媒体上に符号化されてもよい。従って、ユーザーがグラフィカル・ユーザー・インターフェース800を使用してパラメーターを入力する場合、グラフィカル・ユーザー・インターフェース800は、任意の適切な方法でコンピューター読み取り可能な媒体上に入力パラメーターを記録するために記録処理を開始してもよい。
[0011]本明細書に記載された原理のうちの幾つか又はすべてによって動作する技術は、任意の適切な方法で実施され得る。例えば、幾つかの実施例において、磁気媒体(例えば、ハードディスクドライブ)、コンパクト・ディスク(CD)、ディジタル・バーサタイル・ディスク(DVD)、永続的又は非永続的な固体メモリー(例えば、フラッシュ・メモリー、磁気RAMなど)、又は任意の他の適切な記憶媒体などの1つ以上のコンピューター読み取り可能な記憶媒体上に符号化されたコンピューター実行可能命令として。当該技術は実施され得る。コンピューター記憶媒体は、図9のコンピューター読み取り可能な記憶媒体906として(すなわち、計算装置900の一部として)、又は別個のコンピューター記憶媒体として実施され得る。本明細書において使用されるとき、「コンピューター読み取り可能な記憶媒体」を含む「コンピューター読み取り可能な媒体」は、その上にデータを記録する処理中にある方法で変更され得る少なくとも1つの物理的な構造を有する有形の記憶媒体を指すことが認識されるべきである。例えば、コンピューター読み取り可能な媒体の物理構造の一部の磁化状態は、記録処理中に変更されてもよい。
[0012]幾つかのそのような実施例において、本明細書に記載された原理に従って動作する技術を実施するコンピューター実行可能命令は、1つ以上のスタンド・アロンの機能モジュール(例えば、上に記載された解決モジュール)として実施され得る。上に記載されるように、「機能モジュール」は、特定の動作上の役割を行うシステムの構造的なコンポーネントであるが、インスタンス化されて、ソフトウェア要素(例えば、関数又は離散処理)の一部又は全体となり得る。一般に、機能モジュールは、特定のタスクを実行するか又は特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、様々な実施例で望まれるように、機能モジュールの機能は組み合わせられてもよいし分散されてもよい。幾つかの実施例において、これらの機能モジュールは、ソフトウェアプログラム・アプリケーションを実施するかもしくは計算装置のオペレーティング・システムを実施する機能モジュールなどの、他の無関係な機能モジュール及び/又はプロセスとインタラクトするように構成されてもよく、また、他の実施例において、モジュールは、ワシントン州レドモンドのマイクロソフト株式会社から入手できるマイクロソフト・ウィンドウズ・オペレーティング・システムなどのオペレーティング・システムのような全体のシステムを当該モジュールとともに形成する、他の機能モジュールとインタラクトするように構成されてもよい(つまり、機能モジュールは、オペレーティング・システムの一部として、又はその外側で実施され得る)。幾つかの実施例において、幾つかの機能モジュールが他のものとは別個に実施され得ること、又は幾つかの機能モジュールが実施されなくてもよいことがさらに認識されるべきである。
[0013]すべての実施例ではなく幾つかの実施例においては、本発明の技術は、図1の例示的なコンピューター・システムを含む任意の適切なコンピューター・システムで動作する任意の適切な計算装置上で実行され得るコンピューター実行可能命令として具体化されてもよい。例えば、本明細書において議論された原理のうちの幾つか又はすべてによって動作する技術は、単一の多目的のプログラマブル・デジタル・コンピューター装置、処理能力を共有し本明細書に記載した技術を一緒に実行する2つ以上の多目的のコンピューター装置の協調的なシステム、本明細書に記載した技術を実行することに専念する(一緒に配置され又は地理的に分散された)単一のコンピューター装置又は協調的なコンピューター装置のシステム、本明細書に記載した技術を実行するための1つ以上の特定用途向け集積回路(ASIC)、本明細書に記載した技術を実行するための1つ以上のフィールドプログラマブルゲートアレイ(FPGA)、又は任意の他の適切なシステムの上で動作し得る。
[0014]図9は、本明細書に記載された技術を実施するシステムにおいて使用され得る計算装置900の形式の計算装置の1つの例示的な実施例を示すが、他のものも可能である。さらに、図9が、本明細書に記載した原理に従って動作する計算装置に必要なコンポーネントの描写であるようにも、また包括的な描写であるようにも意図されないことが認識されるべきである。
[0015]計算装置900は、プロセッサー902、ネットワーク・アダプター904及びコンピューター読み取り可能な記憶媒体906を含んでもよい。計算装置900は、例えば、デスクトップもしくはラップトップパソコン、ワークステーション、サーバー、メインフレーム、スマートフォン又は任意の他の適切な計算装置であってもよい。ネットワーク・アダプター904は、任意の適切なコンピューティング・ネットワークを介して計算装置900が任意の他の適切な計算装置と通信することを可能にする任意の適切なハードウェア及び/又はソフトウェアであってもよい。コンピューティング・ネットワークは、インターネットを含む、2つ以上のコンピューター間でデータを交換するための任意の適切な有線及び/又は無線通信媒体であってもよい。幾つかの実施例において、ネットワーク・アダプター904は、2つ以上の種類のネットワークインターフェース(例えば、イーサネット(登録商標)・アダプターなどの有線ネットワーク・アダプター、及びIEEE 802.11gアダプターなどの無線ネットワーク・アダプター)を介して接続を提供する、2つ以上の別個のネットワーク・アダプターとして実施され得る。コンピューター読み取り可能な記憶媒体906は、処理されるべきデータ及び/又はプロセッサー902によって実行されるべき命令を格納するように構成された任意の適切な有形の記憶媒体であってもよい。プロセッサー902は、データ処理及び命令の実行を可能にする。データ及び命令はコンピューター読み取り可能な記憶媒体906上に格納され、例えば、計算装置900のコンポーネント間の通信を可能にし得る。
[0083]コンピューター読み取り可能な記憶媒体906上に格納されたデータ及び命令は、本明細書に記載された原理によって動作する技術を実施するコンピューター実行可能命令を含んでもよい。図9の例では、コンピューター読み取り可能な記憶媒体906は、上述のように、様々なモジュールを実施し、様々な情報を格納する、コンピューター実行可能命令を格納する。コンピューター読み取り可能な記憶媒体906は、計算装置上で実行され得る1つ以上のアプリケーション・プログラム908に関連するデータ及び命令を格納する。これらのアプリケーション・プログラムは、ネットワークリソースの第1の識別子を受信し、ネットワークリソースの第2の識別子を得ようとするものを含み得る。コンピューター読み取り可能な記憶媒体906はまた、上に記載された例示的な技術のうちの任意のものを含む任意の適切な技術による、第1の識別子に基づいて、ネットワークリソースの第2の識別子を決定するための、名前解決モジュール910を含む。コンピューター読み取り可能な記憶媒体906はまた、解決パラメーターの組の集合912を含む。上述のように、この集合は任意の適切な方法で組織化されフォーマットされてもよく、解決パラメーターは、名前解決モジュール910の名前解決処理の実行の管理のために任意の適切なパラメーターを含み得る。1つの実施例において、例えば、集合912は、マイクロソフト・ウィンドウズ・オペレーティング・システムのレジストリーの一部としてコンピューター読み取り可能な記憶媒体906上で実施され得る。コンピューター読み取り可能な記憶媒体906は、名前解決モジュール910によって取り出された識別子のキャッシュ914をさらに含んでもよい。キャッシュは任意の適切な方法で組織化され、ネットワークリソースの第1及び第2の識別子の組、識別子を得るために使用される解決パラメーターの組、識別子が得られた時間(回数)、及び/又は任意の他の種類の情報を含む、任意の適切な種類の情報も含んでいてもよい。
[0016]最後に、図9の例において、コンピューター読み取り可能な記憶媒体906は、解決パラメーターの組の集合に影響を及ぼし、かつ集合の内容を決定するための、アプリケーション・プログラム・インターフェース(API)機能の組を含んでもよい。例えば、APIは、ネットワークリソースの識別子を入力としてとる、特定のネットワークリソースとコンタクトするために使用され得るプロキシーを決定するための、GetProxyInfo関数を実施してもよい。GetProxyInfo関数は、ネットワークリソースに適用される集合中の解決パラメーターの組を見つけるためにリソースの入力識別子を使用してもよく、プロキシー・サーバーが使用されるべきであることを解決パラメーターの組のうちの任意のものが示す場合、プロキシー・サーバーの識別子を返してもよい。GetPolicyTableInfo API関数もまた、集合の内容(すなわち、解決パラメーターの組)を返すために実施され得る。さらに、GetEffectivePolicy API関数は、所与の状況に対して適用可能でないかに依存して、集合中の解決パラメーターの組のうちの幾つか(又はすべて)を返すことができる。例えば、解決パラメーターの組のうちの幾つかが特定のネットワークに適用され、計算装置900がそのネットワークに接続しない場合、次にそれらの組はGetEffectivePolicy関数の出力の一部として返されなくてもよい。また、第2の識別子を決定して当該第2の識別子を返すために、第1の識別子を入力としてとり、解決パラメーターの組の集合によって管理された名前解決処理を実行する、GetAddrInfo関数又はDnsQuery関数が実施されてもよい。本発明の実施例はこの点に限定されないので、これらのAPI関数が実施され得るAPI関数の種類の単なる例であることが認識されるべきである。
[0017]本明細書に記載された原理によって動作するモジュール実施技術は、任意の適切な方法でインタラクトしてもよい。図10は、本明細書に記載された原理のうちの幾つかに従って実施され得るモジュールの1つの例示的な構成を示す。
[0084]図10の例において、アプリケーション・プログラム1000は、第1の識別子に対応する第2の識別子を決定するために、接続モジュール1002及び名前解決モジュール1004のうちの1つ又は両方とインタラクトする。例えば、アプリケーション・プログラム1000は、名前解決モジュール1004に直接問い合わせてもよいし、又は、アプリケーション・プログラム1000は、第1の識別子を使用し、接続モジュール1002を使用して、ネットワークリソースに対する接続を開始することを試みてもよいし、接続モジュールは、接続を開始する際に使用するために名前解決モジュールからの第2の識別子を要求してもよい。名前解決モジュール1004は、第2の識別子を得ることを試みる際に、上述のように解決パラメーター1006の組の集合を使用してもよく、上述のように識別子のキャッシュ1008をさらに使用してもよい。最後に、第2の識別子を得るために解決パラメーター1006の集合を使用する際に、名前解決モジュール1004はまた、解決リソースに対する接続を開始するための接続モジュール1012、並びに集合中の解決パラメーターによって指示され得る任意のセキュリティ処理を行うための認証及び/又は暗号化モジュール1014及び1016を含む、様々な接続技術1010を使用してもよい。
[0085]このように本発明の少なくとも1つの実施例の幾つかの態様について記載してきたが、様々な変更、修正及び改良が当業者にとって容易に思い付くことが認識されるべきである。
[0086]そのような変更、修正及び改良は、本開示の一部であるように意図され、本発明の趣旨及び範囲内にあるように意図される。したがって、前述の記載及び図面はほんの一例としてのものである。
[0087]本発明の様々な態様は、単独でも、組合せても、又は、前述のものにおいて記載された実施例で具体的に説明されなかった様々な構成においても、使用することができ、したがって、その用途において、前述の記載において述べられた又は図面において示されたコンポーネントの詳細及び構成に限定されるものではない。例えば、1つの実施例に記載された態様は、任意の方法で他の実施例に記載された態様と組み合わされてもよい。
[0088]また、本発明は方法として具体化することができ、その例が提供された。方法の一部として実行される動作は任意の適切な方法で順序付けられてもよい。したがって、示されたものとは異なる順序で動作が実行される実施例が理解されてもよく、たとえ実例となる実施例において連続的な動作として示されたとしても、幾つかの動作を同時に実行することを含んでもよい。
[0089]請求項の要素を修飾するために「第1」、「第2」、「第3」などの順序の用語を請求項において使用することは、それ自体では、方法の動作が実行される別の又は時間的順序に対する1つの請求項要素のいかなる優先度も、優先順位も、順序も暗示せず、請求項要素を区別するために、(順序の用語の使用を別にすれば)ある名前を有する1つの請求項要素を同じ名前を有する別の要素と区別するためのラベルとして使用されるにすぎない。
[0090]また、本明細書において使用される表現及び専門用語は、説明のためのものであり、限定するものとして見なされるべきでない。本明細書における「含む」、「備える」、「有する」、「包含する」、「伴う」、及びそれらの変形の使用は、それ以降にリストされる項目及びそれらの同等物のほか、追加の項目を包含するように意味される。

Claims (16)

  1. (A)ネットワークリソースの第1の識別子を入力として受信するステップと、
    (B)前記第1の識別子に適用される適用可能な解決パラメーターの組を決定するために解決パラメーターの組の集合を調べるステップであって、前記ネットワークリソースの第1の識別子を、解決パラメーターの各組が前記第1の識別子に適用されるか否かを決定するために前記解決パラメーターの組の各々に関連付けられるパターンと比較するステップを含み、前記適用可能な解決パラメーターの組は遠隔計算装置との通信を管理する、調べるステップと、
    (C)前記遠隔計算装置から前記ネットワークリソースの第2の識別子を取得するステップであって、前記適用可能な解決パラメーターの組に従って名前解決要求を前記遠隔計算装置に送信するステップ及び前記第1の識別子に基づいて前記ネットワークリソースの前記第2の識別子を決定するために名前解決処理を行うステップを含む、取得するステップと
    を備え、前記名前解決処理は前記適用可能な解決パラメーターの組によって管理される方法。
  2. 前記第1の識別子は前記ネットワークリソースのテキスト識別子であり、前記第2の識別子は前記ネットワークリソースの数値識別子である請求項1に記載の方法。
  3. 前記解決パラメーターは使用されるべき1つ以上の種類の暗号化についての情報を含む請求項1に記載の方法。
  4. 前記解決パラメーターは、名前解決処理中に情報が交換されるべき1つ以上のネットワークリソースの識別子を含む請求項1に記載の方法。
  5. 前記名前解決処理はドメイン・ネーム・システム(DNS)プロトコルに従う処理である請求項1に記載の方法。
  6. 前記名前解決処理はDNSセキュリティ拡張(DNSSEC)プロトコルに従う処理である請求項に記載の方法。
  7. 前記名前解決処理は、ダイレクト・アクセスを使用して実施されるオーバーレイ・ネットワークによって機能するように構成される請求項に記載の方法。
  8. 実行されるとコンピューターに方法を実行させるコンピューター実行可能命令がその上に符号化された少なくとも1つのコンピューター読み取り可能な記憶媒体であって、前記方法は、
    (A)ネットワークを介してアクセス可能なネットワークリソースのドメイン・ネームを、アプリケーション・プログラムからの入力として受信するステップと、
    (B)解決パラメーターの組の集合から適用可能な解決パラメーターの組を決定するステップであって、前記ネットワークリソースの前記ドメイン・ネームを、前記解決パラメーターの組が前記ドメイン・ネームに適用されるか否かを決定するために、前記解決パラメーターの組の各々に関連付けられるパターンと比較するステップを含む、決定するステップと、
    (C)前記適用可能な解決パラメーターの組によって前記ネットワーク上のドメイン・ネーム・サービス(DNS)サーバーへの接続を確立するステップと、
    (D)前記適用可能な解決パラメーターの組によって前記DNSサーバーにDNSクエリーを通信するステップと、
    (E)前記ネットワークリソースの数値識別子を含む応答を前記DNSサーバーから受信するステップと、
    (F)前記アプリケーション・プログラムに前記数値識別子を提供するステップと
    を含む、少なくとも1つのコンピューター読み取り可能な記憶媒体。
  9. 前記DNSサーバーへの接続を確立するステップは、前記適用可能な解決パラメーターの組によって識別されるDNSサーバーへの接続を確立するステップを含む請求項に記載の少なくとも1つのコンピューター読み取り可能な記憶媒体。
  10. 前記方法が、
    前記解決パラメーターに従って前記応答が生成されたことを確認するステップと、
    前記応答が前記解決パラメーターに従って生成されなかった場合に、前記数値識別子を前記アプリケーション・プログラムに提供しないステップと
    をさらに含む請求項に記載の少なくとも1つのコンピューター読み取り可能な記憶媒体。
  11. 前記解決パラメーターに従って前記応答が生成されたことを確認するステップが、DNSセキュリティ拡張(DNSSEC)プロトコルに従って前記応答が認証されたか否かを決定するステップを含む請求項に記載の少なくとも1つのコンピューター読み取り可能な記憶媒体。
  12. 前記適用可能な解決パラメーターの組によって前記DNSサーバーにDNSクエリーを通信する前記ステップは、前記適用可能な解決パラメーターの組によって識別された暗号化技術によって通信を暗号化するステップを含む請求項11に記載の少なくとも1つのコンピューター読み取り可能な記憶媒体。
  13. 前記方法は、
    前記応答と、前記応答を取り出すために使用される前記適用可能な解決パラメーターの組とをキャッシュ内に格納するステップと、
    前記数値識別子に対する第2の要求の一部として第2の入力として前記ドメイン・ネームを受信すると、前記応答を取り出すために使用される前記適用可能な解決パラメーターの組が前記第2の要求に対して前記応答を提供するのに十分であるか否かを決定し、十分である場合、前記キャッシュから前記応答を提供するステップと
    をさらに含む請求項に記載の少なくとも1つのコンピューター読み取り可能な記憶媒体。
  14. 前記ステップ(F)は、
    (Fl)前記ネットワークリソースのプロキシー・サーバーの識別子を前記アプリケーション・プログラムに提供するステップをさらに含む請求項に記載の少なくとも1つのコンピューター読み取り可能な記憶媒体。
  15. 少なくとも1つのプロセッサーと、
    解決パラメーターの組に関連する情報を含むデータ構造がその上に符号化された少なくとも1つの有形のコンピューター読み取り可能な記憶媒体であって、前記データ構造は、名前解決処理を管理するために名前解決ソフトウェアコンポーネントによって使用可能な方法で格納される、少なくとも1つの有形のコンピューター読み取り可能な記憶媒体と
    を備え、前記データ構造は、
    前記解決パラメーターが適用されるネットワークリソースの1つ以上の識別子の組を定義する情報が記録されるべき第1の位置と、
    前記名前解決処理が情報を交換すべき通信チャネル上で実施すべきセキュリティの種類を定義する情報が記録されるべき第2の位置と、
    少なくとも1つの信頼された認証機関を定義する情報が記録されるべき第3の位置と、
    前記通信チャネルが確立されるべき少なくとも1つのネットワークリソースを定義する情報が記録されるべき第4の位置と
    を含み、
    前記少なくとも1つの有形のコンピューター読み取り可能な記憶媒体は前記データ構造の複数のインスタンスを含み、前記データ構造の各インスタンスは解決パラメーターの特定の組に関連付けられ、
    前記少なくとも1つのプロセッサーは前記名前解決ソフトウェアコンポーネントを実行するように構成され、前記名前解決ソフトウェアコンポーネントは、適用可能な解決パラメーターの少なくとも1つの組に従って前記名前解決処理を実行するように構成され、前記名前解決ソフトウェアコンポーネントは、前記少なくとも1つの有形のコンピューター読み取り可能な記憶媒体上に符号化された前記データ構造の複数のインスタンスのうちの少なくとも幾つかを読み取って、前記ネットワークリソースの識別子を解決パラメーターの組の集合に含まれる解決パラメーターの組の各々に関連付けられるパターンと比較することによって当該ネットワークリソースの識別子に適用される適用可能な解決パラメーターの1つ以上の組を決定する、装置。
  16. 前記プロセッサーは、適用可能な解決パラメーターの前記少なくとも1つの組に従って少なくとも1つの遠隔ネットワークリソースと情報を交換するようにさらに構成される請求項15に記載の装置。
JP2011522101A 2008-08-08 2009-07-20 セキュアなリソース名前解決 Active JP5480265B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/189,034 US7917616B2 (en) 2008-08-08 2008-08-08 Secure resource name resolution
US12/189,034 2008-08-08
PCT/US2009/051143 WO2010017025A2 (en) 2008-08-08 2009-07-20 Secure resource name resolution

Publications (3)

Publication Number Publication Date
JP2011530868A JP2011530868A (ja) 2011-12-22
JP2011530868A5 JP2011530868A5 (ja) 2012-07-26
JP5480265B2 true JP5480265B2 (ja) 2014-04-23

Family

ID=41653931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011522101A Active JP5480265B2 (ja) 2008-08-08 2009-07-20 セキュアなリソース名前解決

Country Status (6)

Country Link
US (3) US7917616B2 (ja)
EP (1) EP2310951B1 (ja)
JP (1) JP5480265B2 (ja)
CN (1) CN102112979B (ja)
TW (1) TWI478564B (ja)
WO (1) WO2010017025A2 (ja)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429715B2 (en) * 2008-08-08 2013-04-23 Microsoft Corporation Secure resource name resolution using a cache
US7917616B2 (en) 2008-08-08 2011-03-29 Microsoft Corporation Secure resource name resolution
US8438304B2 (en) * 2008-09-22 2013-05-07 Oracle America, Inc. Method and system for automatically generating software and configuring application installation
ES2663411T3 (es) * 2008-10-15 2018-04-12 Nokia Technologies Oy Determinación de una interfaz de red para acceder a una red
US8527945B2 (en) * 2009-05-07 2013-09-03 Verisign, Inc. Method and system for integrating multiple scripts
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
CN102404416B (zh) * 2010-09-16 2016-06-15 中兴通讯股份有限公司 一种获取dns的方法和隧道网关设备
US9106699B2 (en) * 2010-11-04 2015-08-11 F5 Networks, Inc. Methods for handling requests between different resource record types and systems thereof
US8949411B2 (en) 2010-12-16 2015-02-03 Microsoft Corporation Determining whether a device is inside a network
US9313085B2 (en) 2010-12-16 2016-04-12 Microsoft Technology Licensing, Llc DNS-based determining whether a device is inside a network
US9338220B1 (en) 2011-03-08 2016-05-10 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9413526B1 (en) 2011-03-08 2016-08-09 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9667741B1 (en) 2011-03-08 2017-05-30 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9231920B1 (en) 2011-12-13 2016-01-05 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US11228566B1 (en) 2011-03-08 2022-01-18 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9852311B1 (en) 2011-03-08 2017-12-26 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9432342B1 (en) 2011-03-08 2016-08-30 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9292696B1 (en) * 2011-03-08 2016-03-22 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9356993B1 (en) 2011-03-08 2016-05-31 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US8726398B1 (en) 2011-12-13 2014-05-13 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US8694646B1 (en) 2011-03-08 2014-04-08 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9300637B1 (en) * 2011-03-08 2016-03-29 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9722973B1 (en) * 2011-03-08 2017-08-01 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9049244B2 (en) 2011-04-19 2015-06-02 Cloudflare, Inc. Registering for internet-based proxy services
US10270755B2 (en) 2011-10-03 2019-04-23 Verisign, Inc. Authenticated name resolution
US8990356B2 (en) 2011-10-03 2015-03-24 Verisign, Inc. Adaptive name resolution
JP5807912B2 (ja) * 2011-12-12 2015-11-10 国立研究開発法人情報通信研究機構 ホスト装置
US9843554B2 (en) 2012-02-15 2017-12-12 F5 Networks, Inc. Methods for dynamic DNS implementation and systems thereof
US9609017B1 (en) 2012-02-20 2017-03-28 F5 Networks, Inc. Methods for preventing a distributed denial service attack and devices thereof
GB2501757A (en) * 2012-05-04 2013-11-06 Ibm Instrumentation of software applications for configuration thereof
US9900281B2 (en) 2014-04-14 2018-02-20 Verisign, Inc. Computer-implemented method, apparatus, and computer-readable medium for processing named entity queries using a cached functionality in a domain name system
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
CN104539603B (zh) * 2014-12-22 2017-12-29 中国科学院计算机网络信息中心 基于本地解析的安全dns系统和dns安全解析方法
CN104468865B (zh) * 2014-12-25 2019-03-05 北京奇虎科技有限公司 域名解析控制、响应方法及相应的装置
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US9894041B2 (en) * 2015-09-25 2018-02-13 Microsoft Technology Licensing, Llc Secure domain name resolution in computer networks
US10791085B2 (en) 2015-11-12 2020-09-29 Verisign, Inc. Techniques for directing a domain name service (DNS) resolution process
CN105338187A (zh) * 2015-11-16 2016-02-17 联想(北京)有限公司 一种信息处理方法及电子设备
CN105357212A (zh) * 2015-11-23 2016-02-24 北京天地互连信息技术有限公司 一种保证安全和隐私的dns端到端解析方法
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10708226B2 (en) * 2016-01-29 2020-07-07 Verisign, Inc. Domain name resolution
US10686751B2 (en) * 2016-03-09 2020-06-16 Dynamic Network Services, Inc. Methods and apparatus for intelligent domain name system forwarding
US10574674B2 (en) * 2016-07-08 2020-02-25 Nec Corporation Host level detect mechanism for malicious DNS activities
US10999240B1 (en) 2016-08-31 2021-05-04 Verisign, Inc. Client controlled domain name service (DNS) resolution
CN106357839B (zh) * 2016-09-28 2019-11-19 中国互联网络信息中心 一种dns查询方法及装置
US11032127B2 (en) 2017-06-26 2021-06-08 Verisign, Inc. Resilient domain name service (DNS) resolution when an authoritative name server is unavailable
JP7112237B2 (ja) * 2018-04-19 2022-08-03 キヤノン株式会社 デバイス、その制御方法、及びプログラム
US10742595B2 (en) 2018-04-20 2020-08-11 Pulse Secure, Llc Fully qualified domain name-based traffic control for virtual private network access control
US11368440B2 (en) * 2018-12-18 2022-06-21 GM Global Technology Operations LLC Detecting operation of an autonomous vehicle on an untrusted network
US11477028B2 (en) 2019-04-15 2022-10-18 Pulse Secure, Llc Preventing account lockout through request throttling
FR3096202A1 (fr) * 2019-06-20 2020-11-20 Orange Procédé et dispositif d’obtention d’une adresse IP
US11743135B2 (en) 2019-07-23 2023-08-29 Vmware, Inc. Presenting data regarding grouped flows
US11340931B2 (en) 2019-07-23 2022-05-24 Vmware, Inc. Recommendation generation based on selection of selectable elements of visual representation
US11321213B2 (en) 2020-01-16 2022-05-03 Vmware, Inc. Correlation key used to correlate flow and con text data
JP7577456B2 (ja) 2020-04-01 2024-11-05 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
US11785032B2 (en) 2021-01-22 2023-10-10 Vmware, Inc. Security threat detection based on network flow analysis
US11991187B2 (en) 2021-01-22 2024-05-21 VMware LLC Security threat detection based on network flow analysis
US11997120B2 (en) 2021-07-09 2024-05-28 VMware LLC Detecting threats to datacenter based on analysis of anomalous events
US11831667B2 (en) 2021-07-09 2023-11-28 Vmware, Inc. Identification of time-ordered sets of connections to identify threats to a datacenter
US11792151B2 (en) * 2021-10-21 2023-10-17 Vmware, Inc. Detection of threats based on responses to name resolution requests
US12015591B2 (en) 2021-12-06 2024-06-18 VMware LLC Reuse of groups in security policy

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3484779B2 (ja) * 1994-10-12 2004-01-06 富士ゼロックス株式会社 名前サービス方式及び名前サービス方法
US5878212A (en) * 1995-07-31 1999-03-02 At&T Corp. System for updating mapping or virtual host names to layer-3 address when multimedia server changes its usage state to busy or not busy
US5983270A (en) * 1997-03-11 1999-11-09 Sequel Technology Corporation Method and apparatus for managing internetwork and intranetwork activity
US6760746B1 (en) * 1999-09-01 2004-07-06 Eric Schneider Method, product, and apparatus for processing a data request
US6560634B1 (en) * 1997-08-15 2003-05-06 Verisign, Inc. Method of determining unavailability of an internet domain name
US6167446A (en) * 1997-11-03 2000-12-26 Inca Technology, Inc. Automatically configuring network-name-services
US7522931B2 (en) * 1998-06-05 2009-04-21 Netnumber, Inc. Method and apparatus for accessing a network computer to establish a push-to-talk session
US6502135B1 (en) * 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US7188180B2 (en) * 1998-10-30 2007-03-06 Vimetx, Inc. Method for establishing secure communication link between computers of virtual private network
US6338082B1 (en) * 1999-03-22 2002-01-08 Eric Schneider Method, product, and apparatus for requesting a network resource
US7031297B1 (en) * 2000-06-15 2006-04-18 Avaya Communication Israel Ltd. Policy enforcement switching
US7426566B2 (en) * 2001-01-17 2008-09-16 International Business Machines Corporation Methods, systems and computer program products for security processing inbound communications in a cluster computing environment
US7209479B2 (en) * 2001-01-18 2007-04-24 Science Application International Corp. Third party VPN certification
US7296155B1 (en) * 2001-06-08 2007-11-13 Cisco Technology, Inc. Process and system providing internet protocol security without secure domain resolution
US6961783B1 (en) 2001-12-21 2005-11-01 Networks Associates Technology, Inc. DNS server access control system and method
US8533282B2 (en) * 2002-02-25 2013-09-10 Broadcom Corporation System, method and computer program product for selectively caching domain name system information on a network gateway
JP3791464B2 (ja) * 2002-06-07 2006-06-28 ソニー株式会社 アクセス権限管理システム、中継サーバ、および方法、並びにコンピュータ・プログラム
US7734745B2 (en) * 2002-10-24 2010-06-08 International Business Machines Corporation Method and apparatus for maintaining internet domain name data
US7373500B2 (en) * 2003-04-15 2008-05-13 Sun Microsystems, Inc. Secure network processing
US7299491B2 (en) * 2003-04-30 2007-11-20 Microsoft Corporation Authenticated domain name resolution
TW200527870A (en) * 2004-01-14 2005-08-16 Nec Corp Encrypted communication method, encrypted communication system, node device and program
US7499998B2 (en) * 2004-12-01 2009-03-03 Cisco Technology, Inc. Arrangement in a server for providing dynamic domain name system services for each received request
US7594031B2 (en) * 2005-09-15 2009-09-22 Microsoft Corporation Network address selection
US7437755B2 (en) * 2005-10-26 2008-10-14 Cisco Technology, Inc. Unified network and physical premises access control server
US7356767B2 (en) * 2005-10-27 2008-04-08 International Business Machines Corporation Extensible resource resolution framework
US7941517B2 (en) * 2005-12-27 2011-05-10 France Telecom Server and method for managing DNSSEC requests
US8935416B2 (en) * 2006-04-21 2015-01-13 Fortinet, Inc. Method, apparatus, signals and medium for enforcing compliance with a policy on a client computer
ATE412306T1 (de) 2006-05-11 2008-11-15 Alcatel Lucent Bearbeitung einer dns-dienstnachfrage
EP1919155A1 (en) * 2006-10-31 2008-05-07 Alcatel Lucent Resolution of flexible address schemes for IMS services
FR2908540A1 (fr) 2006-11-15 2008-05-16 France Telecom Deploiement de bases dnssec
JP4535075B2 (ja) * 2007-03-12 2010-09-01 ブラザー工業株式会社 ネットワーク装置、およびネットワーク装置用のプログラム
CN100502367C (zh) * 2007-04-04 2009-06-17 华为技术有限公司 保存域名系统记录的方法、装置
US7734792B2 (en) * 2007-07-25 2010-06-08 Novell, Inc. Secure tunnel domain name management
US8935748B2 (en) * 2007-10-31 2015-01-13 Microsoft Corporation Secure DNS query
WO2009094372A1 (en) * 2008-01-22 2009-07-30 Authentium, Inc. System and method for protecting data accessed through a network connection
US7970004B2 (en) * 2008-02-01 2011-06-28 Nokia Corporation Method and system for providing multicast contention resolution
US8429715B2 (en) * 2008-08-08 2013-04-23 Microsoft Corporation Secure resource name resolution using a cache
US7917616B2 (en) 2008-08-08 2011-03-29 Microsoft Corporation Secure resource name resolution

Also Published As

Publication number Publication date
WO2010017025A3 (en) 2010-04-01
HK1159282A1 (en) 2012-07-27
US8332487B2 (en) 2012-12-11
US7917616B2 (en) 2011-03-29
WO2010017025A2 (en) 2010-02-11
US8762554B2 (en) 2014-06-24
CN102112979A (zh) 2011-06-29
TW201012156A (en) 2010-03-16
US20110162039A1 (en) 2011-06-30
TWI478564B (zh) 2015-03-21
JP2011530868A (ja) 2011-12-22
EP2310951A2 (en) 2011-04-20
EP2310951B1 (en) 2015-03-04
EP2310951A4 (en) 2013-03-13
US20100036959A1 (en) 2010-02-11
CN102112979B (zh) 2015-05-27
US20130080649A1 (en) 2013-03-28

Similar Documents

Publication Publication Date Title
JP5480265B2 (ja) セキュアなリソース名前解決
JP5480264B2 (ja) キャッシュを使用したセキュアなリソース名前解決
US8910270B2 (en) Remote access to private network resources from outside the network
TWI413389B (zh) 使用裝置之網頁服務的跨網路漫遊和方法
EP3306900B1 (en) Dns routing for improved network security
WO2016202397A1 (en) Dns based pki system
CN114006724B (zh) 一种加密dns解析器发现及认证的方法与系统
Krähenbühl et al. Ubiquitous Secure Communication in a Future Internet Architecture
US20080104689A1 (en) Method for controlling access to a network in a communication system
HK1159282B (en) Secure resource name resolution
Boyce Linux networking cookbook
Hozza Client side DNSSEC validation
JP2007295024A (ja) サーバ判定装置、方法およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130926

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: 20140115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140213

R150 Certificate of patent or registration of utility model

Ref document number: 5480265

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02