(57)【要約】【課題】第３者からの攻撃を防御する。【解決手段】複数の権威ＤＮＳサーバと通信可能なキャッシュＤＮＳサーバであって、ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶する記憶部と、第１ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記記憶部が前記第１ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威ＤＮＳサーバのうち第１権威ＤＮＳサーバに前記アドレス問い合わせを送信し、前記アドレス問い合わせと対応づけられた応答の待受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威ＤＮＳサーバのうち、前記第１権威ＤＮＳサーバとは異なる第２権威ＤＮＳサーバにアドレス問い合わせを送信する制御部と、を有する。【選択図】  図８
2019195128.tif 000002
【特許請求の範囲】
【請求項１】
複数の権威ＤＮＳサーバと通信可能なキャッシュＤＮＳサーバであって、
ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶する記憶部と、
第１ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記記憶部が前記第１ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威ＤＮＳサーバのうち第１権威ＤＮＳサーバに前記アドレス問い合わせを送信し、
前記アドレス問い合わせと対応づけられた応答の待受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威ＤＮＳサーバのうち、前記第１権威ＤＮＳサーバとは異なる第２権威ＤＮＳサーバにアドレス問い合わせを送信する制御部と、
を有するキャッシュＤＮＳサーバ。
【請求項２】
前記制御部は、前記第２権威ＤＮＳサーバから１つのアドレス応答、または、全てが同じである複数のアドレス応答を受信した場合、受信したアドレス応答に含まれるアドレスを、前記第１ドメイン名に対応づけて前記記憶部に記憶する
請求項１記載のキャッシュＤＮＳサーバ。
【請求項３】
前記制御部は、前記待受け時間内にアドレス応答を受信しない場合、前記複数の権威ＤＮＳサーバから、未選択の権威ＤＮＳサーバに前記アドレス問い合わせを送信する
請求項１記載のキャッシュＤＮＳサーバ。
【請求項４】
前記制御部は、アドレスの全てが同じではない複数のアドレス応答を受信した場合、さらに、前記複数のアドレス応答の送信元である権威ＤＮＳサーバを、除外時間の間、前記アドレス問い合わせの送信対象から除外する
請求項３記載のキャッシュＤＮＳサーバ。
【請求項５】
前記制御部は、アドレスの全てが同じではない複数のアドレス応答を受信した場合、さらに、前記複数のアドレス応答の送信元である権威ＤＮＳサーバに関する情報を含む警告メッセージを、前記ネットワークの管理装置に送信する
請求項４記載のキャッシュＤＮＳサーバ。
【請求項６】
複数の権威ＤＮＳサーバと通信可能であり、ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶するキャッシュＤＮＳサーバの有するコンピュータが実行するプログラムであって、
第１ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記第１ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威ＤＮＳサーバのうち、第１権威ＤＮＳサーバに前記アドレス問い合わせを送信する処理と、  
前記アドレス問い合わせと対応づけられた応答の受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威ＤＮＳサーバのうち、前記第１権威ＤＮＳサーバとは異なる第２権威ＤＮＳサーバにアドレス問い合わせを送信する処理を有する
改竄防止プログラム。
【請求項７】
複数の権威ＤＮＳサーバと通信可能であり、ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶するキャッシュＤＮＳサーバの改竄防止方法であって、
第１ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記第１ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威ＤＮＳサーバのうち、第１権威ＤＮＳサーバに前記アドレス問い合わせを送信し、前記アドレス問い合わせと対応づけられた応答の受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威ＤＮＳサーバのうち、前記第１権威ＤＮＳサーバとは異なる第２権威ＤＮＳサーバにアドレス問い合わせを送信する
改竄防止方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュＤＮＳサーバ、改竄防止方法、及び改竄防止プログラムに関する。
【背景技術】
【０００２】
ＩＰ（Internet Protocol）ネットワークにおいて、サーバやコンピュータは、ネットワーク上のアドレスを示すＩＰアドレスを用いてパケットの送受信を行い、通信を実現する。しかし、ＩＰアドレスは、数字の羅列であり、ユーザにとって覚えやすいものではない。そこで、文字列で構成されるドメイン名を、ＩＰアドレスに対応づけて使用することがある。ドメイン名は、例えば、サーバのＵＲＬ（Uniform Resource Locator）や、メールアドレスの一部に使用される。
【０００３】
ドメイン名は、例えば、権威ＤＮＳ（Domain Name System）サーバで、ＩＰアドレスを対応づけて管理される。通信装置は、ドメイン名を使用して通信を行う場合、権威ＤＮＳサーバにドメイン名に対応するＩＰアドレスを問い合わせ、権威ＤＮＳサーバからの問い合わせ応答を受信し、問い合わせ応答に含まれるＩＰアドレスで通信を行う。
【０００４】
また、権威ＤＮＳサーバに問い合わせが集中しないよう、キャッシュＤＮＳサーバが設置されることがある。キャッシュＤＮＳサーバは、権威ＤＮＳサーバから受信した、ドメイン名とＩＰアドレスの対応関係を、一時的に記憶しておくサーバである。キャッシュＤＮＳサーバは、通信装置からの問い合わせに対し、問い合わせ対象のドメイン名に対応するＩＰアドレスを記憶している場合、権威ＤＮＳサーバに問い合わせずに、通信装置にＩＰアドレスを送信する。また、キャッシュＤＮＳサーバは、記憶してから所定時間が経過したＩＰアドレスを、メモリから削除する。
【０００５】
ＤＮＳサーバに関する技術は、以下の特許文献１及び２に記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2011-049745号公報
【特許文献２】特表2013-517726号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、キャッシュＤＮＳサーバは、一時記憶するＩＰアドレスを改竄する攻撃を、第３者から受ける場合がある。例えば、第３者からの攻撃において、キャッシュＤＮＳサーバは、権威ＤＮＳサーバになりすました第３者のサーバ（以降、なりすましサーバと呼ぶ場合がある）から、虚偽の問い合わせ応答を受信する。キャッシュＤＮＳサーバは、虚偽の問い合わせ応答に含まれる虚偽のＩＰアドレスを、問い合わせ対象のドメイン名に対応するＩＰアドレスとして一時記憶する。そして、当該ドメイン名の問い合わせを行った通信装置に対して、虚偽のＩＰアドレスを含む問い合わせ応答を返信する。これにより、通信装置は、虚偽のＩＰアドレスを有する不正なサーバと通信を行う。通信装置は、不正なサーバと通信を行うと、例えば、不正なアプリケーションソフトをダウンロードされたり、通信装置が有するユーザの個人情報を読み出されたりする場合がある。
【０００８】
そこで、第３者からの攻撃を防御するキャッシュＤＮＳサーバ、改竄防止方法、及び改竄防止プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの側面では、複数の権威ＤＮＳサーバと通信可能なキャッシュＤＮＳサーバであって、ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶する記憶部と、第１ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記記憶部が前記第１ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威ＤＮＳサーバのうち第１権威ＤＮＳサーバに前記アドレス問い合わせを送信し、前記アドレス問い合わせと対応づけられた応答の待受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威ＤＮＳサーバのうち、前記第１権威ＤＮＳサーバとは異なる第２権威ＤＮＳサーバにアドレス問い合わせを送信する制御部と、有する。
【発明の効果】
【００１０】
一側面では、第３者からの攻撃を防御することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、通信システム１０の構成例を示す図である。
【図２】図２は、権威ＤＮＳサーバ３００の有する、ドメイン名とＩＰアドレスの対応関係の一覧の例を示す図である。
【図３】図３は、第１方式における、通信装置１００−１がＷＥＢサーバ４００−１にアクセスするシーケンスの例を示す図である。
【図４】図４は、第１方式において、なりすましサーバからの攻撃を受けた場合のシーケンスの例を示す図である。
【図５】図５は、キャッシュＤＮＳサーバ２００の構成例を示す図である。
【図６】図６は、第２方式による通信のシーケンスの例を示す図である。
【図７】図７は、アドレス要求受信処理Ｓ１０１の処理フローチャートの例を示す図である。
【図８】図８は、アドレス応答待受処理Ｓ１０２の処理フローチャートの例を示す図である。
【図９】図９は、権威ＤＮＳサーバの一覧の例を示す図である。
【図１０】図１０は、キャッシュＤＮＳサーバ２００が記憶する、ドメイン名と対応するＩＰアドレスの一覧の例を示す図である。
【図１１】図１１は、キャッシュデータ削除処理Ｓ２００の処理フローチャートの例を示す図である。
【図１２】図１２は、対象外フラグＯＦＦ処理Ｓ３００の処理フローチャートの例を示す図である。
【図１３】図１３は、第２方式による通信のシーケンスの例を示す図である。
【発明を実施するための形態】
【００１２】
［第１の実施の形態］
＜通信システムの構成例＞
図１は、通信システム１０の構成例を示す図である。通信システム１０は、通信装置１００−１，２、キャッシュＤＮＳサーバ２００、権威ＤＮＳサーバ３００−１，２、ＷＥＢサーバ４００−１，２、及びネットワーク５００を有する。各装置（通信装置１００−１，２、キャッシュＤＮＳサーバ２００、権威ＤＮＳサーバ３００−１，２、ＷＥＢサーバ４００−１，２）は、それぞれ、ネットワーク５００を介して接続し、通信を行う。ネットワーク５００は、例えば、ＩＰネットワークであり、各装置それぞれにＩＰアドレスが割り振られている。各装置は、ＩＰアドレスを指定したパケットを送受信することで、装置間の通信を実現する。
【００１３】
通信装置１００−１，２（以降、通信装置１００と呼ぶ場合がある）は、ＷＥＢサーバにアクセスする装置であり、例えば、コンピュータや移動体通信端末である。通信装置１００は、ＷＥＢサーバにアクセスするとき、ＷＥＢサーバのドメイン名に対応するＩＰアドレスを、キャッシュＤＮＳサーバ２００に問い合わせる。そして、通信装置１００は、問い合わせに対する応答をキャッシュＤＮＳサーバ２００から受信し、ＩＰアドレスを使用してＷＥＢサーバと通信することで、ＷＥＢサーバが提供するサービスを享受する。
【００１４】
ＷＥＢサーバ４００−１，２（以降、ＷＥＢサーバ４００と呼ぶ場合がある）は、通信装置１００に、例えば、ホームページの閲覧やファイルの管理などの、サービスを提供するサーバマシンである。ＷＥＢサーバ４００−１は、例えば、ドメイン名（DN）が「ＡＡＡ」で、ＩＰアドレス（Adr）が「ａａａ」である。また、ＷＥＢサーバ４００−２は、例えば、ドメイン名（DN）が「ＢＢＢ」で、ＩＰアドレス（Adr）が「ｂｂｂ」である。通信装置１００は、ＷＥＢサーバ４００−１にアクセスするとき、例えば、ブラウザでＷＥＢサーバ４００−１のドメイン名を含むＵＲＬを指定することで、ＷＥＢ４００−１にアクセスする。
【００１５】
権威ＤＮＳサーバ３００−１，２（以降、権威ＤＮＳサーバ３００と呼ぶ場合がある）は、ＷＥＢサーバ４００のドメイン名とＩＰアドレスを対応づけて記憶する。
【００１６】
図２は、権威ＤＮＳサーバ３００の有する、ドメイン名とＩＰアドレスの対応関係の一覧の例を示す図である。権威ＤＮＳサーバ３００は、例えば、ＷＥＢ４００−１のドメイン名「ＡＡＡ」に対応するＩＰアドレス「ａａａ」を、内部メモリに記憶する。権威ＤＮＳサーバ３００は、キャッシュＤＮＳサーバ２００や通信装置１００の問い合わせに応答し、対応関係の一覧から該当するＩＰアドレスを抽出し、問い合わせ応答として問い合わせ元の装置に返信する。
【００１７】
キャッシュＤＮＳサーバ２００は、ドメイン名とＩＰアドレスの対応関係を一時的に記憶するサーバマシンである。以降、キャッシュＤＮＳサーバ２００が一時的に記憶するドメイン名及びＩＰアドレスを、キャッシュデータと呼ぶ場合がある。キャッシュＤＮＳサーバ２００は、通信装置１００からドメイン名に対応するＩＰアドレスの問い合わせを受信する。キャッシュＤＮＳサーバ２００は、自装置が問い合わせ対象のドメイン名をキャッシュデータとして記憶している場合、権威ＤＮＳサーバ３００に問い合わせることなく、対応するＩＰアドレスを通信装置１００に返信する。また、キャッシュＤＮＳサーバ２００は、キャッシュデータに問い合わせ対象のドメイン名を記憶していない場合、権威ＤＮＳサーバ３００に問い合わせを送信する。
【００１８】
図３は、第１方式における、通信装置１００−１がＷＥＢサーバ４００−１にアクセスするシーケンスの例を示す図である。第１方式は、なりすましサーバからの攻撃に対策を行わない通信方式である。
【００１９】
通信装置１００−１は、ＷＥＢサーバ４００−１のドメイン名「ＡＡＡ」に対応するＩＰアドレスを問い合わせるアドレス要求（アドレス問い合わせ）を、キャッシュＤＮＳサーバ２００に送信する（Ｓ１０）。
【００２０】
キャッシュＤＮＳサーバ２００は、アドレス要求を受信すると、自装置がドメイン名「ＡＡＡ」に対応するＩＰアドレスを記憶しているか否かを確認し、記憶していない場合、権威ＤＮＳサーバ３００−１にアドレス要求を送信する（Ｓ１１）。
【００２１】
権威ＤＮＳサーバ３００−１は、アドレス要求を受信すると、ドメイン名「ＡＡＡ」に対応するＩＰアドレス「ａａａ」を含む、問い合わせ応答であるアドレス応答をキャッシュＤＮＳサーバ２００に送信する（Ｓ１２）。
【００２２】
キャッシュＤＮＳサーバ２００は、アドレス応答を受信すると、例えば、自装置の内部メモリに、ドメイン名「ＡＡＡ」に対応するＩＰアドレス「ａａａ」を一時記憶する。そして、キャッシュＤＮＳサーバ２００は、通信装置１００−１に、ＩＰアドレス「ａａａ」を含むアドレス応答を送信する（Ｓ１３）。
【００２３】
通信装置１００−１は、アドレス応答を受信すると、アドレス応答に含まれるＩＰアドレス「ａａａ」を用いて、ＷＥＢサーバ４００−１にアクセスする（Ｓ１４）。
【００２４】
第１方式において、上述したシーケンスに示すように、通信装置１００−１は、ＷＥＢサーバ４００−１にアクセスすることができる。しかし、通信システム１０内に成りすましサーバが存在する場合、第１方式における通信装置１００−１は、不正なサーバにアクセスしてしまう場合がある。
【００２５】
図４は、第１方式において、なりすましサーバからの攻撃を受けた場合のシーケンスの例を示す図である。通信装置１００−１がアドレス要求をキャッシュＤＮＳサーバ２００に送信する処理Ｓ１０から、権威ＤＮＳサーバ３００−１がアドレス応答をキャッシュＤＮＳサーバ２００に送信する処理Ｓ１２までは、図３と同様である。
【００２６】
ここで、キャッシュＤＮＳサーバ２００は、権威ＤＮＳサーバ３００−１からのアドレス応答を受信する前に、なりすましサーバ６００から、不正なＷＥＢサーバ７００のＩＰアドレス「ｘｘｘ」を含むアドレス応答を受信する（Ｓ２０）。
【００２７】
キャッシュＤＮＳサーバ２００は、なりすましサーバ６００からのアドレス応答を受信すると、ドメイン名「ＡＡＡ」に対応するＩＰアドレスとして、不正なＷＥＢサーバ７００のＩＰアドレス「ｘｘｘ」を一時記憶する。そして、キャッシュＤＮＳサーバ２００は、通信装置１００−１に、ＩＰアドレス「ｘｘｘ」を含むアドレス応答を送信する（Ｓ２１）。
【００２８】
通信装置１００−１は、アドレス応答を受信すると、アドレス応答に含まれるＩＰアドレス「ｘｘｘ」を用いて、不正なＷＥＢサーバ７００にアクセスする（Ｓ２０）。
【００２９】
第１方式では、上述したように、通信装置１００は、不正なＷＥＢサーバにアクセスする場合がある。そこで、キャッシュＤＮＳサーバ２００は、アドレス応答を受信しても、すぐにはＩＰアドレスを記憶せず、所定時間だけアドレス応答の受信を待ち受ける処理を行う第２方式による通信を行う。
【００３０】
＜キャッシュＤＮＳサーバの構成例＞
図５は、キャッシュＤＮＳサーバ２００の構成例を示す図である。キャッシュＤＮＳサーバ２００は、ＣＰＵ（Central Processing Unit）２１０、ストレージ２２０、メモリ２３０、及びＮＩＣ（Network Interface Card）２４０−１〜ｎ（以降、ＮＩＣ２４０と呼ぶ場合がある）を有する。キャッシュＤＮＳサーバ２００は、通信装置１００からのアドレス要求を受信し、問い合わせ対象のドメイン名に対応するＩＰアドレスを含むアドレス応答を通信装置１００に送信する。
【００３１】
ストレージ２２０は、プログラムやデータを記憶する、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）、又はＳＳＤ（Solid State Drive）などの補助記憶装置である。ストレージ２２０は、キャッシュデータ管理プログラム２２１を有する。
【００３２】
メモリ２３０は、ストレージ２２０に記憶されているプログラムをロードする領域である。また、メモリ２３０、プログラムがデータを記憶する領域としても使用される。また、メモリ２３０は記憶部の一例として、キャッシュＤＮＳサーバ２００がキャッシュデータを記憶する領域として使用されてもよい。
【００３３】
ＮＩＣ２４０は、他の通信装置やネットワークと接続し、通信を行う装置であり、例えば、ネットワークインターフェースカードである。また、ＮＩＣ２４０は、例えば、ハブなどを介して、他の通信装置やネットワークと接続してもよい。
【００３４】
ＣＰＵ２１０は、ストレージ２２０に記憶されているプログラムを、メモリ２３０にロードし、ロードしたプログラムを実行し、各処理を実現するプロセッサ又はコンピュータである。
【００３５】
ＣＰＵ２１０は、キャッシュデータ管理プログラム２２１を実行することで、制御部及び受信部を構築し、キャッシュデータ管理処理を行う。キャッシュデータ管理処理は、ドメイン名とＩＰアドレスの対応関係の一時記憶、通信装置１００からのアドレス要求の受信処理を行う処理である。
【００３６】
ＣＰＵ２１０は、キャッシュデータ管理プログラム２２１が有するアドレス要求受信モジュール２２１１を実行することで、制御部及び受信部を構築し、アドレス要求受信処理を行う。アドレス要求受信処理は、通信装置１００からアドレス要求を受信し、権威ＤＮＳサーバ３００にアドレス要求を送信する処理である。また、アドレス要求処理は、権威ＤＮＳサーバ３００からのアドレス応答を、待受け時間だけ待ち受ける処理である。
【００３７】
また、ＣＰＵ２１０は、アドレス要求受信モジュール２２１１が有するアドレス応答待受サブモジュール２２１１１を実行することで、制御部及び受信部を構築し、アドレス応答待受処理を行う。アドレス応答待受処理は、権威ＤＮＳサーバ３００からのアドレス応答を、待受け時間だけ待ち受ける処理である。また、アドレス応答待受処理は、アドレス応答を受信した時、ドメイン名及びＩＰアドレスをキャッシュデータとして記憶する処理である。
【００３８】
ＣＰＵ２１０は、キャッシュデータ管理プログラム２２１が有する対象外フラグＯＦＦモジュール２２１２を実行することで、制御部を構築し、対象外フラグＯＦＦ処理を行う。対象外フラグＯＦＦ処理は、アドレス要求の送信対象外とすることを示す対象外フラグがＯＮである権威ＤＮＳサーバ３００の対象外フラグがＯＮにされた時間を監視し、対象外フラグをＯＦＦにする処理である。
【００３９】
ＣＰＵ２１０は、キャッシュデータ管理プログラム２２１が有するキャッシュデータ削除モジュール２２１３を実行することで、キャッシュデータ削除処理を行う。キャッシュデータ削除処理は、一時記憶しているキャッシュデータを、所定時間ごとに削除する処理である。
【００４０】
＜第２方式による通信＞
図６は、第２方式による通信のシーケンスの例を示す図である。通信装置１００−１は、ＷＥＢサーバ４００にアクセスするとき、キャッシュＤＮＳサーバ２００に、ドメイン名「ＡＡＡ」のＩＰアドレスを問い合わせるアドレス要求を送信する（Ｓ１００）。キャッシュＤＮＳサーバ２００は、アドレス要求を受信すると、アドレス要求受信処理を行う（Ｓ１０１）。
【００４１】
図７は、アドレス要求受信処理Ｓ１０１の処理フローチャートの例を示す図である。キャッシュＤＮＳサーバ２００は、アドレス要求を受信すると、アドレス要求受信処理Ｓ１０１を行う。キャッシュＤＮＳサーバ２００は、アドレス要求に含まれる問い合わせ対象のドメイン名に対応するＩＰアドレスを記憶しているか否かを確認する（Ｓ１０１−１）。
【００４２】
キャッシュＤＮＳサーバ２００は、問い合わせ対象のドメイン名に対応するＩＰアドレスを記憶している場合（Ｓ１０１−１のＹｅｓ）、アドレス要求の送信元の通信装置１００に、ドメイン名に対応するＩＰアドレスを含むアドレス応答を送信し（Ｓ１０１−２）、処理を終了する。
【００４３】
また、キャッシュＤＮＳサーバ２００は、問い合わせ対象のドメイン名に対応するＩＰアドレスを記憶していない場合（Ｓ１０１−１のＮｏ）、アドレス応答待受処理を行い（Ｓ１０２）、処理を終了する。
【００４４】
図８は、アドレス応答待受処理Ｓ１０２の処理フローチャートの例を示す図である。キャッシュＤＮＳサーバ２００は、未選択の権威ＤＮＳサーバを選択する（Ｓ１０２−１）。キャッシュＤＮＳサーバ２００は、権威ＤＮＳサーバの一覧を有する。
【００４５】
図９は、権威ＤＮＳサーバの一覧の例を示す図である。図９に示すように、キャッシュＤＮＳサーバ２００は、問い合わせが可能な権威ＤＮＳサーバ３００の名前（または識別子でもよい）、及びＩＰアドレスを記憶する。さらに、キャッシュＤＮＳサーバ２００は、権威ＤＮＳサーバ３００それぞれについて、対象外フラグの状態（ＯＮ又はＯＦＦ）、及び対象外フラグＯＮ時刻を記憶する。対象外フラグは、ＯＮの場合、当該権威ＤＮＳサーバに問い合わせができないことを示す。また、対象外フラグＯＮ時刻は、当該権威ＤＮＳサーバ３００の対象外フラグをＯＮにした時刻を示す。なお、キャッシュＤＮＳサーバ２００は、図８におけるアドレス応答待受処理Ｓ１０２の処理Ｓ１０２−１において、対象外フラグＯＦＦの権威ＤＮＳサーバから、未選択の権威ＤＮＳサーバを選択する。
【００４６】
図８の処理フローチャートに戻り、キャッシュＤＮＳサーバ２００は、選択した権威ＤＮＳサーバ３００にアドレス要求を送信する（Ｓ１０２−２）。処理Ｓ１０２−２において送信されるアドレス要求は、通信装置１００から受信したアドレス要求に含まれるドメイン名が含まれる。
【００４７】
キャッシュＤＮＳサーバ２００は、アドレス要求を送信すると、待受タイマを起動する（Ｓ１０２−３）。待受タイマは、キャッシュＤＮＳサーバ２００が選択した権威ＤＮＳサーバ３００からのアドレス応答を待ち受ける時間（待受け時間）を示すタイマである。キャッシュＤＮＳサーバ２００は、待受タイマの起動中は、権威ＤＮＳサーバ３００からのアドレス応答を待ち受ける。
【００４８】
キャッシュＤＮＳサーバ２００は、選択した権威ＤＮＳサーバ３００からのアドレス応答の受信を開始する（Ｓ１０２−４）。そして、キャッシュＤＮＳサーバ２００は、待受タイマが満了する（タイムアウト）までの間、選択した権威ＤＮＳサーバ３００からのアドレス応答を受信し続ける。
【００４９】
キャッシュＤＮＳサーバ２００は、待ち受けタイマがタイムアウトとなるのを待ち受ける（Ｓ１０２−５のＮｏ）。キャッシュＤＮＳサーバ２００は、待ち受けタイマがタイムアウトとなると（Ｓ１０２−５のＹｅｓ）、アドレス応答の受信を停止する（Ｓ１０２−６）。
【００５０】
そして、キャッシュＤＮＳサーバ２００は、アドレス応答の受信数を確認する（Ｓ１０２−７）。キャッシュＤＮＳサーバ２００は、アドレス応答の受信数が１つであった場合（Ｓ１０２−７の１）、受信したアドレス応答のＩＰアドレスを問い合わせ対象のドメイン名と対応づけて記憶する（Ｓ１０２−８）。そして、キャッシュＤＮＳサーバ２００は、問い合わせ対象のドメイン名に対応するＩＰアドレスを、通信装置１００に送信し（Ｓ１０２−９）、処理を終了する。
【００５１】
キャッシュＤＮＳサーバ２００は、アドレス応答の受信数が０であった場合（Ｓ１０２−７の０）、対象外フラグがＯＦＦである未選択の権威ＤＮＳサーバ３００が存在するか否かを確認する（Ｓ１０２−１２）。キャッシュＤＮＳサーバ２００は、対象外フラグがＯＦＦである未選択の権威ＤＮＳサーバ３００が存在する場合（Ｓ１０２−１２のＹｅｓ）、未選択の権威ＤＮＳサーバ３００を選択し（Ｓ１０２−１）、処理Ｓ１０２−２以降の処理を繰り返す。一方、キャッシュＤＮＳサーバ２００は、対象外フラグがＯＦＦである未選択の権威ＤＮＳサーバ３００が存在しない場合（Ｓ１０２−１２のＮｏ）、処理を終了する。
【００５２】
キャッシュＤＮＳサーバ２００は、アドレス応答の受信数が２以上であった場合（Ｓ１０２−７の２以上）、受信したアドレス応答に含まれるＩＰアドレスが、全て同じであるか否かを確認する（Ｓ１０２−１０）。
【００５３】
キャッシュＤＮＳサーバ２００は、ＩＰアドレスが全て同じである場合（Ｓ１０２−１０のＹｅｓ）、受信したアドレス応答のＩＰアドレスを問い合わせ対象のドメイン名と対応づけて記憶する（Ｓ１０２−８）。そして、キャッシュＤＮＳサーバ２００は、問い合わせ対象のドメイン名に対応するＩＰアドレスを、通信装置１００に送信し（Ｓ１０２−９）、処理を終了する。
【００５４】
一方、キャッシュＤＮＳサーバ２００は、ＩＰアドレスが全て同じはない、すなわち、受信した複数のアドレス応答に含まれるＩＰアドレスが１つではなく複数存在する場合（Ｓ１０２−１０のＮｏ）、選択した権威ＤＮＳサーバ３００の対象外フラグをＯＮにする（Ｓ１０２−１１）。
【００５５】
キャッシュＤＮＳサーバ２００は、対象外フラグをＯＮにすることで、当該権威ＤＮＳサーバ３００を、所定時間の間、アドレス要求を送信する候補から除外する。権威ＤＮＳサーバ３００は、アドレス応答の再送など、複数回送信する場合でも、同じＩＰアドレスを含むアドレス応答を送信することが想定される。そのため、キャッシュＤＮＳサーバ２００は、受信した異なるＩＰアドレスを含む複数のアドレス応答には、少なくとも１以上のなりすましサーバ６００からのアドレス応答が含まれるとみなす。よって、キャッシュＤＮＳサーバ２００は、当該権威ＤＮＳサーバ３００になりすましている、なりすましサーバ６００が存在すると判定し、所定時間の間、当該権威ＤＮＳサーバ３００にはアドレス要求を送信しないようにする。
【００５６】
そして、キャッシュＤＮＳサーバ２００は、対象外フラグがＯＦＦである未選択の権威ＤＮＳサーバ３００が存在するか否かを確認し（Ｓ１０２−１２）、存在する場合（Ｓ１０２−１２のＹｅｓ）は処理Ｓ１０２−１以降の処理を繰り返し、存在しない場合（Ｓ１０２−１２のＮｏ）は処理を終了する。
【００５７】
このように、キャッシュＤＮＳサーバ２００は、なりすまされているとみなす権威ＤＮＳサーバ３００を選択の対象外としつつ、選択する権威ＤＮＳサーバを変更し、アドレス要求を送信する。
【００５８】
図６のシーケンスに戻り、キャッシュＤＮＳサーバ２００は、アドレス要求受信処理Ｓ１０１において、問い合わせ対象のドメイン名に対応するＩＰアドレスを記憶していないと判定し（図７のＳ１０１−１のＮｏ）、アドレス応答待受処理Ｓ１０２を行う。
【００５９】
キャッシュＤＮＳサーバ２００は、アドレス応答待受処理Ｓ１０２において、未選択の権威ＤＮＳサーバ３００を選択する(図８のＳ１０２−１)。
【００６０】
図９は、キャッシュＤＮＳサーバ２００における権威ＤＮＳサーバの一覧の例を示す図である。図９（Ａ）は、アドレス要求受信時の権威ＤＮＳサーバの一覧の例を示す図である。図９（Ａ）によると、権威ＤＮＳサーバ３００−１及び２は、共に対象外フラグがＯＦＦであるため、両方が選択する権威ＤＮＳサーバ３００の候補である。
【００６１】
図６のシーケンスに戻り、キャッシュＤＮＳサーバ２００は、例えば、権威ＤＮＳサーバ３００−１を選択し（図８のＳ１０２−１）、アドレス要求を送信する（Ｓ１０３、図８のＳ１０２−２）。
【００６２】
キャッシュＤＮＳサーバ２００は、待受タイマを起動し（図８のＳ１０２−３）、所定時間の間、権威ＤＮＳサーバ３００−１からアドレス応答を受信するのを待ち受ける（図８のＳ１０２−４）。
【００６３】
そして、キャッシュＤＮＳサーバ２００は、権威ＤＮＳサーバ３００−１になりすました、なりすましサーバ６００からアドレス応答を受信する（Ｓ１０４）。なりすましサーバ６００から受信したアドレス応答は、不正なＷＥＢサーバ７００のＩＰアドレス「ｘｘｘ」を含む。
【００６４】
さらに、キャッシュＤＮＳサーバ２００は、権威ＤＮＳサーバ３００−１からアドレス応答を受信する（Ｓ１０５）。権威ＤＮＳサーバ３００−１から受信したアドレス応答は、問い合わせ対象であるドメイン名「ＡＡＡ」に対応するＷＥＢサーバ４００−１のＩＰアドレス「ａａａ」を含む。
【００６５】
キャッシュＤＮＳサーバ２００は、アドレス応答待受処理Ｓ１０２において、アドレス応答Ｓ１０４及びＳ１０５の２つのアドレス応答を受信する（図８のＳ１０２−７の２以上）。そして、キャッシュＤＮＳサーバ２００は、それぞれのアドレス応答に含まれるＩＰアドレスが異なるため（図８のＳ１０２−１０のＮｏ）、権威ＤＮＳサーバ３００−１の対象外フラグをＯＮにする（図８のＳ１０２−１１）。
【００６６】
図９（Ｂ）は、権威ＤＮＳサーバ３００−１の対象外フラグをＯＮにしたのちの、権威ＤＮＳサーバの一覧の例を示す図である。図９（Ｂ）に示すように、キャッシュＤＮＳサーバ２００は、選択した権威ＤＮＳサーバ３００−１の対象外フラグをＯＮにし、対象外フラグをＯＮにした時刻を記憶する。
【００６７】
図６のシーケンスに戻り、キャッシュＤＮＳサーバ２００は、図９（Ｂ）に示すように、対象外フラグがＯＦＦである権威ＤＮＳサーバ３００−２が存在するため（図８のＳ１０２−１２のＹｅｓ）、権威ＤＮＳサーバ３００−２を選択し（図８のＳ１０２−１）、アドレス要求を権威ＤＮＳサーバ３００−２に送信する（Ｓ１０６、図８のＳ１０２−２）。
【００６８】
そして、キャッシュＤＮＳサーバ２００は、権威ＤＮＳサーバ３００−２からアドレス応答を受信する（Ｓ１０７）。権威ＤＮＳサーバ３００−１から受信したアドレス応答は、問い合わせ対象であるドメイン名「ＡＡＡ」に対応するＷＥＢサーバ４００−１のＩＰアドレス「ａａａ」を含む。
【００６９】
キャッシュＤＮＳサーバ２００は、アドレス応答待受処理Ｓ１０２において、アドレス応答Ｓ１０７の１つのアドレス応答を受信する（図８のＳ１０２−７の１）。そして、キャッシュＤＮＳサーバ２００は、アドレス応答に含まれるＩＰアドレス「ａａａ」を、ドメイン名「ＡＡＡ」と対応づけて、内部メモリに記憶する（図８のＳ１０２−８）。
【００７０】
図１０は、キャッシュＤＮＳサーバ２００が記憶する、ドメイン名と対応するＩＰアドレスの一覧の例を示す図である。図１０に示すように、キャッシュＤＮＳサーバ２００は、ドメイン名「ＡＡＡ」に対応するＩＰアドレス「ａａａ」を記憶する。また、キャッシュＤＮＳサーバ２００は、ＩＰアドレス「ａａａ」を記憶した時刻を示す記憶時刻を記憶する。
【００７１】
図６のシーケンスに戻り、キャッシュＤＮＳサーバ２００は、ＩＰアドレス「ａａａ」を含むアドレス応答を、通信装置１００に送信する（Ｓ１０８、図８のＳ１０２−９）。
【００７２】
通信装置１００は、アドレス応答で受信したＩＰアドレス「ａａａ」を用いて、ＷＥＢサーバ４００−１と通信を行う。これにより、通信装置１００−１は、ＷＥＢサーバ４００−１にアクセスすることができ、ＷＥＢサーバ４００−１からサービスを享受することができる。
【００７３】
第１の実施の形態において、キャッシュＤＮＳサーバ２００は、受信した複数のアドレス応答に含まれるアドレスが異なる場合、なりすましサーバ６００からのアドレス応答が含まれると判定し、キャッシュデータとして記憶しない。これにより、キャッシュＤＮＳサーバ２００は、なりすましサーバ６００からの攻撃（改竄）を防止することができる。
【００７４】
また、キャッシュＤＮＳサーバ２００は、なりすまされた可能性のある権威ＤＮＳサーバ３００の対象外フラグをＯＮにすることで、なりすまされた可能性のある権威ＤＮＳサーバ３００を、アドレス要求の送信対象から除外することができる。
【００７５】
＜キャッシュデータ削除処理＞
図１１は、キャッシュデータ削除処理Ｓ２００の処理フローチャートの例を示す図である。キャッシュＤＮＳサーバ２００は、キャッシュデータ削除処理Ｓ２００において、キャッシュデータの記憶時間を管理する。
【００７６】
キャッシュＤＮＳサーバ２００は、キャッシュデータが存在するか否かを確認する（Ｓ２００−１）。キャッシュＤＮＳサーバ２００は、キャッシュデータが存在しない場合（Ｓ２００−１のＮｏ）、キャッシュデータを新たに記憶するまで、キャッシュデータが存在するか否かを確認し続ける。
【００７７】
キャッシュＤＮＳサーバ２００は、キャッシュデータが存在する場合（Ｓ２００−１のＹｅｓ）、記憶時刻から保存時間（所定時間）を経過したキャッシュデータが存在するか否かを確認する（Ｓ２００−２）。キャッシュＤＮＳサーバ２００は、処理Ｓ２００−２において、現在時刻から各ドメイン名とＩＰアドレスの記憶時刻を減じた時間値が、保存時間以上であるいか否かを確認する。
【００７８】
保存時間は、例えば、秒単位で設定される時間である。また、保存時間は、例えば、キャッシュＤＮＳサーバ２００や通信システム１０の管理者が設定する時間であり、メモリやストレージに記憶される。また、保存時間は、固定値であってもよい。
【００７９】
キャッシュＤＮＳサーバ２００は、記憶時刻から保存時間を経過したキャッシュデータが存在しない場合（Ｓ２００−２のＮｏ）、再度処理Ｓ２００−１を行う。
【００８０】
一方、キャッシュＤＮＳサーバ２００は、記憶時刻から保存時間を経過したキャッシュデータが存在する場合（Ｓ２００−２のＹｅｓ）、記憶時刻から保存時間を経過したキャッシュデータを削除し（Ｓ２００−３）、再度処理Ｓ２００−１を行う。
【００８１】
このように、キャッシュＤＮＳサーバ２００は、キャッシュデータの記憶時刻からの経過時間を監視し、保存時間以上が経過している場合、当該キャッシュデータを削除する。
【００８２】
＜対象外フラグＯＦＦ処理＞
図１２は、対象外フラグＯＦＦ処理Ｓ３００の処理フローチャートの例を示す図である。キャッシュＤＮＳサーバ２００は、対象外フラグＯＦＦ処理Ｓ３００において、権威ＤＮＳサーバ３００の対象外フラグをＯＦＦにする。
【００８３】
キャッシュＤＮＳサーバ２００は、対象外フラグがＯＮの権威ＤＮＳサーバ３００が存在するか否かを確認する（Ｓ３００−１）。キャッシュＤＮＳサーバ２００は、対象外フラグがＯＮの権威ＤＮＳサーバ３００が存在しない場合（Ｓ３００−１のＮｏ）、新たに対象外フラグがＯＮにされるまで、対象外フラグがＯＮの権威ＤＮＳサーバ３００が存在するか否かを確認し続ける。
【００８４】
キャッシュＤＮＳサーバ２００は、対象外フラグがＯＮの権威ＤＮＳサーバ３００が存在する場合（Ｓ３００−１のＹｅｓ）、対象外フラグＯＮ時間から除外時間を経過した権威ＤＮＳサーバ３００が存在するか否かを確認する（Ｓ３００−２）。キャッシュＤＮＳサーバ２００は、処理Ｓ３００−２において、現在時刻から権威ＤＮＳサーバ３００の対象外フラグＯＮ時刻を減じた時間値が、除外時間以上であるいか否かを確認する。
【００８５】
除外時間は、例えば、秒単位で設定される時間である。また、除外時間は、例えば、キャッシュＤＮＳサーバ２００や通信システム１０の管理者が設定する時間であり、メモリやストレージに記憶される。また、除外時間は、固定値であってもよい。
【００８６】
また、除外時間は、例えば、なりすましサーバ６００に対して、対策を実行する時間に基づく時間であってもよい。また、除外時間は、例えば、保存時間に基づく時間であってもよい。
【００８７】
キャッシュＤＮＳサーバ２００は、対象フラグＯＮ時刻から除外時間を経過した権威ＤＮＳサーバ３００が存在しない場合（Ｓ３００−２のＮｏ）、再度処理Ｓ３００−１を行う。
【００８８】
一方、キャッシュＤＮＳサーバ２００は、対象フラグＯＮ時刻から除外時間を経過した権威ＤＮＳサーバ３００が存在する場合（Ｓ３００−２のＹｅｓ）、対象フラグＯＮ時刻から除外時間を経過した権威ＤＮＳサーバ３００の除外フラグをＯＦＦにし（Ｓ３００−３）、再度処理Ｓ３００−１を行う。
【００８９】
このように、キャッシュＤＮＳサーバ２００は、権威ＤＮＳサーバ３００の対象外フラグをＯＮにした時刻からの経過時間を監視することで、所定時間の間、なりすまされた可能性のある権威ＤＮＳサーバ３００を、アドレス要求の候補から除外することができる。
【００９０】
［第２の実施の形態］
次に、第２の実施の形態について説明する。キャッシュＤＮＳサーバ２００は、なりすまされた可能性のある権威ＤＮＳサーバ３００を検出したとき、管理者に警告メッセージを送信する。警告メッセージは、例えば、権威ＤＮＳサーバ３００の対象外フラグをＯＮにする契機で送信される。
【００９１】
＜第２方式による通信＞
図１３は、第２方式による通信のシーケンスの例を示す図である。通信装置１００−１のアドレス要求の送信する（Ｓ１００）から、キャッシュＤＮＳサーバ２００がアドレス応答を受信（Ｓ１０５）までは、図６に示すシーケンスと同様である。
【００９２】
キャッシュＤＮＳサーバ２００は、アドレス応答待受処理Ｓ１０２において、アドレス応答Ｓ１０４及びＳ１０５の２つのアドレス応答を受信する（図８のＳ１０２−７の２以上）。そして、キャッシュＤＮＳサーバ２００は、それぞれのアドレス応答に含まれるＩＰアドレスが異なるため（図８のＳ１０２−１０のＮｏ）、権威ＤＮＳサーバ３００−１の対象外フラグをＯＮにする（図８のＳ１０２−１１）。
【００９３】
さらに、キャッシュＤＮＳサーバ２００は、権威ＤＮＳサーバ３００−１の対象外フラグをＯＮにしたとき、権威ＤＮＳサーバ３００−１がなりすまされている旨の情報を含む警告メッセージを管理装置８００に送信する（Ｓ４００）。管理装置８００は、通信システム１０、権威ＤＮＳサーバ３００−１、又はキャッシュＤＮＳサーバ２００の管理者が使用する、管理用の通信装置である。管理者は、例えば、管理装置８００の画面上に表示された警告メッセージを認識し、なりすましの対策を行う。また、管理装置８００は、警告メッセージを受信に応答し、なりすましの対策を行ってもよい。
【００９４】
第２の実施の形態では、警告メッセージを管理者に送信することにより、なりすまされた権威ＤＮＳサーバ３００に対して、なりすまし対策を行うことができる。
【００９５】
以上の第１及び第２の実施の形態を含む実施の形態に関し、更に以下の付記を開示する。
【００９６】
（付記１）
複数の権威ＤＮＳサーバと通信可能なキャッシュＤＮＳサーバであって、
ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶する記憶部と、
第１ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記記憶部が前記第１ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威ＤＮＳサーバのうち第１権威ＤＮＳサーバに前記アドレス問い合わせを送信し、
前記アドレス問い合わせと対応づけられた応答の待受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威ＤＮＳサーバのうち、前記第１権威ＤＮＳサーバとは異なる第２権威ＤＮＳサーバにアドレス問い合わせを送信する制御部と、
を有するキャッシュＤＮＳサーバ。
【００９７】
（付記２）
前記制御部は、前記第２権威ＤＮＳサーバから１つのアドレス応答、または、全てが同じである複数のアドレス応答を受信した場合、受信したアドレス応答に含まれるアドレスを、前記第１ドメイン名に対応づけて前記記憶部に記憶する
付記１記載のキャッシュＤＮＳサーバ。
【００９８】
（付記３）
前記制御部は、前記待受け時間内にアドレス応答を受信しない場合、前記複数の権威ＤＮＳサーバから、未選択の権威ＤＮＳサーバに前記アドレス問い合わせを送信する
付記１記載のキャッシュＤＮＳサーバ。
【００９９】
（付記４）
前記制御部は、アドレスの全てが同じではない複数のアドレス応答を受信した場合、さらに、前記複数のアドレス応答の送信元である権威ＤＮＳサーバを、除外時間の間、前記アドレス問い合わせの送信対象から除外する
付記３記載のキャッシュＤＮＳサーバ。
【０１００】
（付記５）
前記制御部は、アドレスの全てが同じではない複数のアドレス応答を受信した場合、さらに、前記複数のアドレス応答の送信元である権威ＤＮＳサーバに関する情報を含む警告メッセージを、前記ネットワークの管理装置に送信する
付記４記載のキャッシュＤＮＳサーバ。
【０１０１】
（付記６）
前記除外時間は、前記記憶した前記第１ドメイン名及び対応するアドレスを削除する時間に基づく時間である
付記４記載のキャッシュＤＮＳサーバ。
【０１０２】
（付記７）
複数の権威ＤＮＳサーバと通信可能であり、ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶するキャッシュＤＮＳサーバの有するコンピュータが実行するプログラムであって、
第１ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記第１ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威ＤＮＳサーバのうち、第１権威ＤＮＳサーバに前記アドレス問い合わせを送信する処理と、  
前記アドレス問い合わせと対応づけられた応答の受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威ＤＮＳサーバのうち、前記第１権威ＤＮＳサーバとは異なる第２権威ＤＮＳサーバにアドレス問い合わせを送信する処理を有する
改竄防止プログラム。
【０１０３】
（付記８）
複数の権威ＤＮＳサーバと通信可能であり、ネットワーク上のサーバのドメイン名及びアドレスを対応づけて記憶するキャッシュＤＮＳサーバの改竄防止方法であって、
第１ドメイン名に対応するアドレスを問い合わせるアドレス問い合わせを通信装置から受信したとき、前記第１ドメイン名に対応するアドレスを記憶していない場合、前記複数の権威ＤＮＳサーバのうち、第１権威ＤＮＳサーバに前記アドレス問い合わせを送信し、前記アドレス問い合わせと対応づけられた応答の受け時間内に、前記アドレス問い合わせと対応づけられた応答として互いに異なる複数のアドレス応答を受信した場合、前記複数の権威ＤＮＳサーバのうち、前記第１権威ＤＮＳサーバとは異なる第２権威ＤＮＳサーバにアドレス問い合わせを送信する
改竄防止方法。
【符号の説明】
【０１０４】
１０          ：通信システム
１００        ：通信装置
２００        ：キャッシュＤＮＳサーバ
２１０        ：ＣＰＵ
２２０        ：ストレージ
２２１        ：キャッシュデータ管理プログラム
２３０        ：メモリ
３００        ：権威ＤＮＳサーバ
４００        ：ＷＥＢサーバ
５００        ：ネットワーク
６００        ：なりすましサーバ
７００        ：不正なＷＥＢサーバ
８００        ：管理装置
２２１１      ：アドレス要求受信モジュール
２２１２      ：対象外フラグＯＦＦモジュール
２２１３      ：キャッシュデータ削除モジュール
２２１１１    ：アドレス応答待受サブモジュール
【図１】
2019195128.tif 000003
【図２】
2019195128.tif 000004
【図３】
2019195128.tif 000005
【図４】
2019195128.tif 000006
【図５】
2019195128.tif 000007
【図６】
2019195128.tif 000008
【図７】
2019195128.tif 000009
【図８】
2019195128.tif 000010
【図９】
2019195128.tif 000011
【図１０】
2019195128.tif 000012
【図１１】
2019195128.tif 000013
【図１２】
2019195128.tif 000014
【図１３】
2019195128.tif 000015