(57)【要約】【課題】セキュリティの向上を図りつつ、ＤＮＳクエリ要求を処理する場合に要するシステムの負荷を軽減することを課題とする。【解決手段】ＤＮＳフォワーダ装置は、ＤＮＳクエリ応答の内容をＤＮＳ回送サーバがキャッシュできるように、ＤＮＳ権威サーバ装置から取得したＤＮＳクエリ応答のヘッダを制御する点に主たる特徴がある。具体的には、ＤＮＳ権威サーバ装置から受信したＤＮＳクエリ応答が権威の有る応答である場合には、ＤＮＳクエリ応答の内容をキャッシュするとともに、ＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに、権威の有る応答であることを示す情報を設定する。【選択図】図１
2010268316.tif 000002
【特許請求の範囲】
【請求項１】
ＤＮＳクライアントからのＤＮＳクエリ要求をＤＮＳ回送サーバ経由で受信して、受信したＤＮＳクエリ要求を名前解決できる場合には、ＤＮＳクエリ応答をＤＮＳ回送サーバに返送し、ＤＮＳクエリ要求を名前解決できない場合には、ＤＮＳ権威サーバから取得したＤＮＳクエリ応答をＤＮＳ回送サーバに返送するＤＮＳ応答制御装置であって、
前記ＤＮＳ権威サーバからＤＮＳクエリ応答を受信した場合に、受信したＤＮＳクエリ応答のヘッダ部に設けられた権威のある応答であることを示す情報に基づいて、ＤＮＳクエリ応答が権威の有る応答であるか否かを判定する応答判定手段と、
前記ＤＮＳ権威サーバから受信したＤＮＳクエリ応答が権威の有る応答であると前記応答判定手段により判定されることを条件に、ＤＮＳクエリ応答の内容をキャッシュするとともに、前記ヘッダ部に設けられた所定のフィールドに、権威の有る応答であることを示す情報を設定する情報設定手段と、
権威の有る応答であることを示す情報が前記情報設定手段によって設定されたＤＮＳクエリ応答を前記ＤＮＳ回送サーバに送信する応答送信手段と
を有することを特徴とするＤＮＳ応答制御装置。
【請求項２】
信頼できるＤＮＳ回送サーバの情報を予め記憶するサーバ情報記憶部と、
前記サーバ情報記憶部に記憶されている信頼できるＤＮＳ回送サーバの情報を参照して、前記ＤＮＳクエリ要求の送信元が信頼できるＤＮＳ回送サーバであるか否かを判定する回送サーバ信頼性判定手段と
をさらに有し、
前記情報設定手段は、さらに、前記ＤＮＳクエリ要求の送信元が信頼できるＤＮＳ回送サーバであると前記回送サーバ信頼性判定手段により判定されることを条件に、権威の有る応答であることを示す情報を設定することを特徴とする請求項１に記載のＤＮＳ応答制御装置。
【請求項３】
前記ＤＮＳ権威サーバから受信したＤＮＳクエリ応答が改竄されているか否かを検証する改竄検証手段をさらに有し、
前記情報設定手段は、さらに、前記ＤＮＳ権威サーバから受信したＤＮＳクエリ応答が改竄されていないものと前記改竄検証手段により検証されることを条件に、権威の有る応答であることを示す情報を設定することを特徴とする請求項１または２に記載のＤＮＳ応答制御装置。
【請求項４】
ＤＮＳクライアントからＤＮＳクエリ要求を受信してＤＮＳフォワーダに転送するＤＮＳ回送サーバと、ＤＮＳ回送サーバから受信したＤＮＳクエリ要求を名前解決できる場合には、ＤＮＳクエリ応答をＤＮＳ回送サーバに送信し、ＤＮＳクエリ要求を名前解決できない場合には、ＤＮＳ権威サーバから受信したＤＮＳクエリ応答をＤＮＳ回送サーバに送信するＤＮＳ応答制御装置とを有するＤＮＳ応答制御システムであって、
前記ＤＮＳ応答制御装置は、
前記ＤＮＳ権威サーバからＤＮＳクエリ応答を受信した場合に、受信したＤＮＳクエリ応答のヘッダ部に設けられた権威のある応答であることを示す情報に基づいて、ＤＮＳクエリ応答が権威の有る応答であるか否かを判定する応答判定手段と、
前記ＤＮＳ権威サーバから受信したＤＮＳクエリ応答が権威の有る応答であると前記応答判定手段により判定されることを条件に、ＤＮＳクエリ応答の内容をキャッシュするとともに、前記ヘッダ部に設けられた所定のフィールドに、権威の有る応答であることを示す情報を設定する情報設定手段と、
権威の有る応答であることを示す情報が前記情報設定手段によって設定されたＤＮＳクエリ応答を前記ＤＮＳ回送サーバに送信する応答送信手段と
を有し、
前記ＤＮＳ回送サーバは、
前記ＤＮＳフォワーダから受信したＤＮＳクエリ応答を受信した場合に、受信したＤＮＳクエリ応答のヘッダ部に設けられた権威のある応答であることを示す情報に基づいて、ＤＮＳクエリ応答が権威の有る応答であるか否かを判定する応答判定手段と、
前記ＤＮＳ権威サーバから受信したＤＮＳクエリ応答が権威の有る応答であると前記応答判定手段により判定されることを条件に、ＤＮＳクエリ応答の内容をキャッシュするとともに、前記ヘッダ部に設けられた所定のフィールドに、権威の無い応答であることを示す情報を設定する情報設定手段と、
権威の無い応答であることを示す情報が前記情報設定手段によって設定されたＤＮＳクエリ応答を前記ＤＮＳクライアントに送信する応答送信手段と
を有することを特徴とするＤＮＳ応答制御システム。
【請求項５】
前記ＤＮＳ応答制御装置は、
信頼できるＤＮＳ回送サーバの情報を予め記憶するサーバ情報記憶部と、
前記サーバ情報記憶部に記憶されている信頼できるＤＮＳ回送サーバの情報を参照して、前記ＤＮＳクエリ要求の送信元が信頼できるＤＮＳ回送サーバであるか否かを判定する回送サーバ信頼性判定手段と
をさらに有し、
前記情報設定手段は、さらに、前記ＤＮＳクエリ要求の送信元が信頼できるＤＮＳ回送サーバであると前記回送サーバ信頼性判定手段により判定されることを条件に、権威の有る応答であることを示す情報を設定することを特徴とする請求項４に記載のＤＮＳ応答制御システム。
【請求項６】
前記ＤＮＳ応答制御装置は、
前記ＤＮＳ権威サーバから受信したＤＮＳクエリ応答が改竄されているか否かを検証する改竄検証手段をさらに有し、
前記情報設定手段は、さらに、前記ＤＮＳ権威サーバから受信したＤＮＳクエリ応答が改竄されていないものと前記改竄検証手段により検証されることを条件に、権威の有る応答であることを示す情報を設定することを特徴とする請求項４または５に記載のＤＮＳ応答制御システム。
【請求項７】
ＤＮＳクライアントからのＤＮＳクエリ要求をＤＮＳ回送サーバから受信して、受信したＤＮＳクエリ要求を名前解決できる場合には、ＤＮＳクエリ応答をＤＮＳ回送サーバに返送し、ＤＮＳクエリ要求を名前解決できない場合には、ＤＮＳ権威サーバから取得したＤＮＳクエリ応答をＤＮＳ回送サーバに返送するＤＮＳ応答制御方法であって、
前記ＤＮＳ権威サーバからＤＮＳクエリ応答を受信した場合に、受信したＤＮＳクエリ応答のヘッダ部に設けられた権威のある応答であることを示す情報に基づいて、ＤＮＳクエリ応答が権威の有る応答であるか否かを判定する応答判定ステップと、
前記ＤＮＳ権威サーバから受信したＤＮＳクエリ応答が権威の有る応答であると前記応答判定ステップにより判定されることを条件に、ＤＮＳクエリ応答の内容をキャッシュするとともに、前記ヘッダ部に設けられた所定のフィールドに、権威の有る応答であることを示す情報を設定する情報設定ステップと、
権威の有る応答であることを示す情報が前記情報設定ステップによって設定されたＤＮＳクエリ応答を前記ＤＮＳ回送サーバに送信する応答送信ステップと
を含んだことを特徴とするＤＮＳ応答制御方法。
【請求項８】
信頼できるＤＮＳ回送サーバの情報を予め記憶するサーバ情報記憶部から、信頼できるＤＮＳ回送サーバの情報を取得して、前記ＤＮＳクエリ要求の送信元が信頼できるＤＮＳ回送サーバであるか否かを判定する回送サーバ信頼性判定ステップをさらに含み、
前記情報設定ステップは、前記ＤＮＳクエリ要求の送信元が信頼できるＤＮＳ回送サーバであると前記回送サーバ信頼性判定ステップにより判定されることを条件に、権威の有る応答であることを示す情報を設定することを特徴とする請求項７に記載のＤＮＳ応答制御方法。
【請求項９】
前記ＤＮＳ権威サーバから受信したＤＮＳクエリ応答が改竄されているか否かを検証する改竄検証ステップをさらに含み、
前記情報設定ステップは、前記ＤＮＳ権威サーバから受信したＤＮＳクエリ応答が改竄されていないものと前記改竄検証ステップにより検証されることを条件に、権威の有る応答であることを示す情報を設定することを特徴とする請求項７または８に記載のＤＮＳ応答制御方法。
【請求項１０】
請求項７〜９のいずれか一つに記載の方法に対応する処理をコンピュータに実行させることを特徴とするＤＮＳ応答制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＮＳ応答制御装置、ＤＮＳ応答制御システム、ＤＮＳ応答制御方法およびＤＮＳ応答制御プログラムに関する。
【背景技術】
【０００２】
近年、人間が理解しやすい文字列（ドメイン名）と実際の通信に使用する数字列（ＩＰアドレス）を対応付けするＤＮＳ（Domain Name System、非特許文献１〜３参照）が世間一般に浸透し、一般ユーザは、ドメイン名を指定することにより所望の通信相手との通信が可能となっている。
【０００３】
上記のＤＮＳは、ドメイン名の最後尾に配置されるトップレベルドメインを管理する各ＤＮＳ権威サーバ装置のＩＰアドレスを管理しているルートＤＮＳサーバを頂点として、下位レベルドメインを管理する複数のＤＮＳ権威サーバ装置をネットワーク上に階層的に配置した構成を有する。
【０００４】
このようにして、ＤＮＳは、ドメイン名とＩＰアドレスの対応関係を各ＤＮＳ権威サーバ装置で分散管理する。そして、ＤＮＳクライアント装置（一般ユーザ等）から、ドメイン名に対応するＩＰアドレスの問合せ（名前解決要求：ＤＮＳクエリ要求）があると、ＤＮＳ権威サーバ装置は、ドメイン名に対応するＩＰアドレスを検索して、検索結果をＤＮＳクライアント装置に応答する。
【０００５】
ところで、上記のＤＮＳでは、分散配備されているＤＮＳ権威サーバ装置との連携、それから、名前解決要求（ＤＮＳクエリ要求）への応答に要するＤＮＳサーバやネットワークの負荷を低減させることを目的として、ＤＮＳクライアント装置とＤＮＳ権威サーバ装置との間に、一度検索したドメイン名とＩＰアドレスとの関連付けを一定期間記憶するＤＮＳキャッシュサーバを設ける技術がある。
【０００６】
ＤＮＳキャッシュサーバは、ＤＮＳクライアント装置からＤＮＳクエリ要求を受信すると、ＤＮＳクエリ要求に含まれるドメイン名に対応したＩＰアドレスがキャッシュされているか否かを判定し、キャッシュされていない場合には、ＤＮＳ権威サーバ装置との間でＤＮＳクエリメッセージをやり取りすることで再帰的に名前解決を行う。
【０００７】
そして、ＤＮＳキャッシュサーバは、ＤＮＳサーバから受信した最終的なＤＮＳクエリメッセージが有するヘッダ部に、権威のある応答であることを示す「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されている場合には、権威のある応答として、ＤＮＳクエリメッセージの内容（ドメイン名とＩＰアドレスとの関連付け）をキャッシュし、最終的な検索結果をＤＮＳクライアント装置に応答する。
【０００８】
ここで、図１２を参照しつつ、ＤＮＳキャッシュサーバを有するＤＮＳの動作について具体的に説明する。図１２は、従来技術を説明するための図である。ＤＮＳクライアント装置３０は、ＤＮＳキャッシュサーバ装置２０に対して、名前解決要求（ＤＮＳクエリ要求）を送信する（ステップＳ０１）。
【０００９】
ＤＮＳキャッシュサーバ装置２０は、ＤＮＳクライアント装置３０からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットしない場合には（ステップＳ０２）、ＤＮＳクエリ要求をＤＮＳ権威サーバ装置１０に送信する（ステップＳ０３）。ＤＮＳ権威サーバ装置１０は、「ＡＡ−ｂｉｔ＝ＯＮ（１）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳキャッシュサーバ装置２０に送信する（ステップＳ０４）。ここで、「（１）」はＡＡ−ｂｉｔに「１」が設定されている状態を表し、「（０）」はＡＡ−ｂｉｔに「０」が設定されている状態を表す。
【００１０】
ＤＮＳキャッシュサーバ装置２０は、ＤＮＳ権威サーバ装置１０からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部に「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されているか否かを判定し、「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されている場合には、権威のある応答として、ＤＮＳクエリ応答の内容（ドメイン名とＩＰアドレスとの関連付け）をキャッシュする（ステップＳ０５）。
【００１１】
そして、ＤＮＳキャッシュサーバ装置２０は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳクライアント装置３０に送信する（ステップＳ０６）。
【００１２】
また、ＤＮＳクライアント装置３０は、ＤＮＳキャッシュサーバ装置２０に対して、上述したステップＳ０１と同一のＤＮＳクエリ要求を送信する（ステップＳ０７）。ＤＮＳキャッシュサーバ装置２０は、ＤＮＳクライアント装置３０から受信したＤＮＳクエリに対応するキャッシュデータの検索を行い、キャッシュがある場合（キャッシュヒットした場合）には（ステップＳ０８）、ＤＮＳクエリをＤＮＳ権威サーバ装置１０に送信するまでもなく、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダに設定したＤＮＳクエリ応答をＤＮＳクライアント装置３０に送信する（ステップＳ０９）。
【００１３】
上述してきたように、ＤＮＳキャッシュサーバを適用することで、名前解決要求（ＤＮＳクエリ）への応答に要するＤＮＳサーバやネットワークの負荷を低減できる。
【００１４】
また、セキュリティ向上の観点から、上述したＤＮＳキャッシュサーバを回送サーバとＤＮＳフォワーダとに分散して多段で構成し、インターネット等の外部のネットワークに存在するＤＮＳ権威サーバ装置１０との通信をＤＮＳフォワーダに限定する技術も存在する。
【００１５】
ここで、図１３を参照しつつ、ＤＮＳフォワーダを有するＤＮＳの動作について具体的に説明する。図１３は、従来技術を説明するための図である。同図に示すように、ＤＮＳクライアント装置３０は、ＤＮＳ回送サーバ装置２００に対して、ＤＮＳクエリ要求を送信する（ステップＳ１１）。
【００１６】
ＤＮＳ回送サーバ装置２００は、ＤＮＳクライアント装置３０からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットしない場合には（ステップＳ１２）、ＤＮＳクエリ要求をＤＮＳフォワーダ装置１００に送信する（ステップＳ１３）。
【００１７】
ＤＮＳフォワーダ装置１００は、ＤＮＳ回送サーバ装置２００から受信したＤＮＳクエリ要求をＤＮＳ権威サーバ装置１０に送信する（ステップＳ１４）。ＤＮＳ権威サーバ装置１０は、「ＡＡ−ｂｉｔ＝ＯＮ（１）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳフォワーダ装置１００に送信する（ステップＳ１５）。
【００１８】
ＤＮＳフォワーダ装置１００は、ＤＮＳ権威サーバ装置１０からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部に「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されているか否かを判定し、「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されている場合には、権威のある応答として、ＤＮＳクエリ応答の内容をキャッシュする（ステップＳ１６）。
【００１９】
そして、ＤＮＳフォワーダ装置１００は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳ回送サーバ装置２００に送信する（ステップＳ１７）。
【００２０】
ＤＮＳ回送サーバ装置２００は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部のビット判定を行い、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」が設定されている場合には、権威のない応答として、ＤＮＳクエリ応答の内容をキャッシュすることなく（ステップＳ１８）、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」がヘッダ部に設定されたＤＮＳクエリ応答をそのままＤＮＳクライアント装置３０に送信する（ステップＳ１９）。
【００２１】
また、ＤＮＳクライアント装置３０は、ＤＮＳ回送サーバ装置２００に対して、上述したステップＳ１１と同一のＤＮＳクエリ要求を送信する（ステップＳ２０）。ＤＮＳ回送サーバ装置２００は、ＤＮＳクライアント装置３０からＤＮＳクエリ要求を受信すると、対応するキャッシュがあるか否かを判定するが、上記のステップＳ１８で説明したようにキャッシュは無いので（ステップＳ２１）、ＤＮＳクエリ要求をＤＮＳフォワーダ装置１００に送信する（ステップＳ２２）。
【００２２】
ＤＮＳフォワーダ装置１００は、ＤＮＳクライアント装置３０からＤＮＳクエリ要求を受信すると、対応するキャッシュがあるか否かを判定するが、上記のステップＳ１６で説明したようにキャッシュヒットするので（ステップＳ２３）、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳ回送サーバ装置２００に送信する（ステップＳ２４）。
【００２３】
ＤＮＳ回送サーバ装置２００は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部のデータ判定を行うが、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」が設定されていないので、上述したステップＳ１８と同様に、権威のない応答として、ＤＮＳクエリ応答の内容をキャッシュすることなく（ステップＳ２５）、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」がヘッダ部に設定されたＤＮＳクエリ応答をそのままＤＮＳクライアント装置１００に送信する（ステップＳ２６）。
【先行技術文献】
【非特許文献】
【００２４】
【非特許文献１】“DOMAIN NAMES - CONCEPTS AND FACILITIES (RFC1034)”、［online］、［平成２１年５月１日検索］、インターネット＜ＵＲＬ：http://www.ietf.org/rfc/rfc1034.txt＞
【非特許文献２】“DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION (RFC1035)”、［online］、［平成２１年５月１日検索］、インターネット＜ＵＲＬ：http://www.ietf.org/rfc/rfc1035.txt＞
【非特許文献３】“Clarifications to the DNS Specification (RFC2181)”、［online］、［平成２１年５月１日検索］、インターネット＜ＵＲＬ：http://www.ietf.org/rfc/rfc2181.txt＞
【発明の概要】
【発明が解決しようとする課題】
【００２５】
上述したＤＮＳフォワーダを用いる技術（図１３参照）では、ＤＮＳクライアント装置からのＤＮＳクエリ要求に対して、必ずＤＮＳフォワーダ装置まで問い合わせを行うことになる。よって、ＤＮＳキャッシュサーバ装置を用いる技術（図１２参照）に比べて、回送サーバ装置からＤＮＳフォワーダ装置へのＤＮＳクエリ要求、およびＤＮＳフォワーダ装置から回送サーバ装置へのＤＮＳクエリ応答といったより多くの処理が発生する。このため、ＤＮＳキャッシュサーバ装置を用いる技術（図１２参照）に比べて、ＣＰＵやメモリ等のリソース量がより多く必要となる。
【００２６】
また、上述したＤＮＳフォワーダ装置を用いる技術では、ＤＮＳキャッシュサーバ装置を用いる技術に比べて、回送サーバ装置とＤＮＳフォワーダ装置との間の回線容量も必要となる。
【００２７】
このように、上述したＤＮＳフォワーダ装置を用いる技術は、セキュリティの向上を図る一方で、ＤＮＳキャッシュサーバ装置を用いる技術に比べて、ＤＮＳクエリ要求を処理する場合に要するシステムの負荷が大きいという問題がある。
【００２８】
本発明は、上記に鑑みてなされたものであって、セキュリティの向上を図りつつ、ＤＮＳクエリ要求を処理する場合に要するシステムの負荷を軽減することが可能なＤＮＳ応答制御装置、ＤＮＳ応答制御システム、ＤＮＳ応答制御方法およびＤＮＳ応答制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２９】
上述した課題を解決し、目的を達成するために、本発明は、ＤＮＳクライアントからのＤＮＳクエリ要求をＤＮＳ回送サーバ経由で受信して、受信したＤＮＳクエリ要求を名前解決できる場合には、ＤＮＳクエリ応答をＤＮＳ回送サーバに返送し、ＤＮＳクエリ要求を名前解決できない場合には、ＤＮＳ権威サーバから取得したＤＮＳクエリ応答をＤＮＳ回送サーバに返送するＤＮＳ応答制御装置（ＤＮＳフォワーダ装置）であって、前記ＤＮＳ権威サーバからＤＮＳクエリ応答を受信した場合に、受信したＤＮＳクエリ応答のヘッダ部に設けられた権威のある応答であることを示す情報に基づいて、ＤＮＳクエリ応答が権威の有る応答であるか否かを判定する応答判定手段と、前記ＤＮＳ権威サーバから受信したＤＮＳクエリ応答が権威の有る応答であると前記応答判定手段により判定されることを条件に、ＤＮＳクエリ応答の内容をキャッシュするとともに、前記ヘッダ部に設けられた所定のフィールドに、権威の有る応答であることを示す情報を設定する情報設定手段と、権威の有る応答であることを示す情報が前記情報設定手段によって設定されたＤＮＳクエリ応答を前記ＤＮＳ回送サーバに送信する応答送信手段とを有することを特徴とする。
【発明の効果】
【００３０】
本発明にかかるＤＮＳ応答制御装置（ＤＮＳフォワーダ装置）、ＤＮＳ応答制御方法およびＤＮＳ応答制御プログラムは、セキュリティの向上を図りつつ、ＤＮＳクエリ要求を処理する場合に要するシステムの負荷を軽減できる。
【図面の簡単な説明】
【００３１】
【図１】図１は、実施例１に係る構成を示す図である。
【図２】図２は、実施例１に係るルートネームサーバリストの一例を説明するための図である。
【図３】図３は、実施例１に係る処理の流れを示す図である。
【図４】図４は、実施例２に係る構成を示す図である。
【図５】図５は、実施例１に係る信頼情報付ＤＮＳ回送サーバリストの一例を説明するための図である。
【図６】図６は、実施例２に係る処理の流れを示す図である。
【図７】図７は、実施例２に係る処理の流れを示す図である。
【図８】図８は、実施例３に係る構成を示す図である。
【図９】図９は、実施例３に係る処理の流れを示す図である。
【図１０】図１０は、実施例３に係る処理の流れを示す図である。
【図１１】図１１は、ＤＮＳ応答制御プログラムを実行するコンピュータを示す図である。
【図１２】図１２は、従来技術を説明するための図である。
【図１３】図１３は、従来技術を説明するための図である。
【発明を実施するための形態】
【００３２】
以下に、図面を参照しつつ、本発明に係るＤＮＳ応答制御装置、ＤＮＳ応答制御システム、ＤＮＳ応答制御方法およびＤＮＳ応答制御プログラムの一実施形態を詳細に説明する。なお、以下に説明する実施例１では、本発明に係るＤＮＳ応答制御装置に対応するＤＮＳフォワーダ装置の一実施形態について説明する。なお、以下の実施例１より、本発明が限定されるものではない。
【実施例１】
【００３３】
以下の実施例１では、実施例１に係るＤＮＳフォワーダ装置の概要および特徴、実施例１の構成および処理を順に説明し、最後に実施例１による効果を説明する。
【００３４】
［概要および特徴（実施例１）］
実施例１に係るＤＮＳフォワーダ装置は、ＤＮＳ回送サーバ装置から受信したＤＮＳクライアント装置からのＤＮＳクエリ要求を名前解決できない場合には、外部ネットワークに存在する複数のＤＮＳ権威サーバ装置との間で再帰的な電文のやり取りを行い、ＤＮＳ権威サーバ装置から取得したＤＮＳクエリ応答をＤＮＳ回送サーバ装置に返送することを概要とする。
【００３５】
そして、実施例１に係るＤＮＳフォワーダ装置は、ＤＮＳクエリ応答の内容をＤＮＳ回送サーバがキャッシュできるように、ＤＮＳ権威サーバ装置から取得したＤＮＳクエリ応答のヘッダを制御する点に主たる特徴がある。具体的には、ＤＮＳ権威サーバ装置から受信したＤＮＳクエリ応答が権威の有る応答である場合には、ＤＮＳクエリ応答の内容をキャッシュするとともに、ＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに、権威の有る応答であることを示すビットを設定する。以下、実施例１に係るＤＮＳフォワーダ装置について具体的に説明する。
【００３６】
［実施例１の構成］
図１は、実施例１に係る構成を示す図である。なお、同図には、実施例１に係る構成を説明する上で必要な処理機能部のみを記載している。
【００３７】
図１に示すように、ＤＮＳ回送サーバ装置２００、ＤＮＳフォワーダ装置１００およびＤＮＳ権威サーバ装置１０により、ＤＮＳクライアント装置３０からのＤＮＳクエリ要求を処理するシステムを構成する。
【００３８】
ＤＮＳフォワーダ装置１００は、公衆電話網やインターネットなどの外部ＮＷ１を介して、複数のＤＮＳ権威サーバ装置１０と通信可能に接続される。さらに、ＤＮＳフォワーダ装置１００は、閉域網などの内部ＮＷ２を介して、ＤＮＳクライアント装置３０およびＤＮＳ回送サーバ装置２００と通信可能な状態で接続される。
【００３９】
ＤＮＳ権威サーバ装置１０は、ＤＮＳフォワーダ装置１００から、ドメイン名に対応するＩＰアドレスの問合せ（名前解決要求：ＤＮＳクエリ要求）があると、ＤＮＳサーバ間で連携することにより、ドメイン名に対応するＩＰアドレスを検索して、検索結果（ＤＮＳクエリ応答）を応答する。
【００４０】
ＤＮＳクライアント装置３０は、通信を希望する相手の名前解決要求（ＤＮＳクエリ要求）をＤＮＳ回送サーバ装置２００を送り、ＤＮＳ回送サーバ装置２００から受けたＤＮＳクエリ応答を用いて、通信を希望する相手との通信を開始する。
【００４１】
そして、ＤＮＳフォワーダ装置１００は、図１に示すように、通信制御Ｉ／Ｆ部１１０と、記憶部１２０と、キャッシュデータ部１３０と、制御部１４０とを有する。
【００４２】
通信制御Ｉ／Ｆ部１１０は、外部ＮＷ１や内部ＮＷ２を介して、ＤＮＳ権威サーバ装置１０やＤＮＳクライアント装置３０、ＤＮＳ回送サーバ装置２００との間でやり取りされる各種メッセージに関する通信を制御する。
【００４３】
記憶部１２０は、制御部１４０における各種処理に必要なデータ等を記憶し、特に、ルートネームサーバリスト１２１を有する。ルートネームサーバリスト１２１は、図２に示すように、ＤＮＳフォワーダ装置１００が、再帰的な問い合わせ（ＤＮＳクエリメッセージのやり取り）を行うために、システム管理者などにより設定されたルートネームサーバのＩＰアドレス等を記憶する。図２は、実施例１に係るルートネームサーバリストの一例を説明するための図である。
【００４４】
キャッシュデータ部１３０は、制御部１４０における名前解決に必要なデータを記憶し、特に、一度解決したドメイン名とＩＰアドレスの関連付けを一定期間記憶するキャッシュＤＢ１３１を有する。
【００４５】
制御部１４０は、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、主に、ＤＮＳクエリ要求に応じた名前解決に関する種々の処理を実行し、特に、応答判定部１４１、ビット設定部１４２および応答送信部１４３を有する。
【００４６】
応答判定部１４１は、ＤＮＳ権威サーバ装置１０からＤＮＳクエリ応答を受信した場合に、受信したＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに設定されているビットに基づいて、ＤＮＳクエリ応答が権威の有る応答であるか否かを判定する。具体的に説明すると、応答判定部１４１は、ＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されている場合には、権威の有る応答であると判定する。一方、ＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」が設定されている場合には、権威の無い応答であると判定する。
【００４７】
ビット設定部１４２は、ＤＮＳ応答の内容をＤＮＳ回送サーバ装置２００にキャッシュさせるようにするためのビットをＤＮＳ応答のヘッダに設定する。具体的に説明すると、応答判定部１４１によって、ＤＮＳ権威サーバ装置１０から受信したＤＮＳクエリ応答が権威の有る応答であると判定された場合には、ＤＮＳクエリ応答の内容をキャッシュデータ部１３１にキャッシュする。さらに、ビット設定部１４２は、ＤＮＳ応答の内容をＤＮＳ回送サーバ装置２００にキャッシュさせるようにするために、ＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに、権威の有る応答であることを示すビット「ＡＡ−ｂｉｔ＝ＯＮ（１）」を設定する。
【００４８】
応答送信部１４３は、通信制御Ｉ／Ｆ部１１０を介して、ビット設定部１４２によってビットの設定が完了したＤＮＳクエリ応答をＤＮＳクライアント装置３０に送る。
【００４９】
すなわち、従来の動作では、ＤＮＳクエリ応答の内容をキャッシュデータ部１３１にキャッシュした場合、従来の動作では、ＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに、権威の無い応答であることを示す「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」を設定して、ＤＮＳ回送サーバ装置２００に送る。よって、ＤＮＳ回送サーバ装置２００は、ＤＮＳクエリ応答の内容をキャッシュすることなく、ＤＮＳクエリ応答をＤＮＳクライアント装置３０に送ることとなる。
【００５０】
しかしながら、本実施形態では、ビット設定部１４２は、ＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに、権威の無い応答であることを示す「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」ではなく、権威の有る応答であることを示すビット「ＡＡ−ｂｉｔ＝ＯＮ（１）」を設定する。このようにすることで、ＤＮＳ応答の内容をＤＮＳ回送サーバ装置２００にキャッシュさせることができる。
【００５１】
ＤＮＳ回送サーバ装置２００は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ応答を受信すると、ＤＮＳフォワーダ装置１００と同様に、ＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに設定されているビットに基づいて、ＤＮＳクエリ応答が権威の有る応答であるか否かを判定する。そして、ＤＮＳクエリ応答が権威の有る応答であると判定した場合には、ＤＮＳクエリ応答の内容をキャッシュした後、ＤＮＳクエリ応答をＤＮＳクライアント装置３０に送る。ＤＮＳクエリ応答が権威の無い応答であると判定した場合には、ＤＮＳクエリ応答の内容をキャッシュすることなく、ＤＮＳクエリ応答をＤＮＳクライアント装置３０に送る。
【００５２】
よって、ＤＮＳ回送サーバ装置２００は、同一の問い合わせ内容を有するＤＮＳクエリ要求を再び受信した場合には、ＤＮＳフォワーダ装置１００にＤＮＳクエリ要求を転送することなく、ＤＮＳクエリ要求を自己解決して、ＤＮＳクエリ応答をＤＮＳクライアント装置３０に送ることができる。
【００５３】
［実施例１の処理］
続いて、図３を用いて、実施例１の処理の流れを説明する。図３は、実施例１に係る処理の流れを示す図である。同図に示すように、ＤＮＳクライアント装置３０は、ＤＮＳ回送サーバ装置２００に対してＤＮＳクエリ要求を送信する（ステップＳ０１）。
【００５４】
ＤＮＳ回送サーバ装置２００は、ＤＮＳクライアント装置３０からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットしない場合には（ステップＳ０２）、ＤＮＳクエリ要求をＤＮＳフォワーダ装置１００に転送する（ステップＳ０３）。
【００５５】
ＤＮＳフォワーダ装置１００は、ＤＮＳ回送サーバ装置２００からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットしない場合には（ステップＳ０４）、ＤＮＳ権威サーバ装置１０にＤＮＳクエリ要求を転送する（ステップＳ０５）。
【００５６】
ＤＮＳ権威サーバ装置１０は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ要求を受信すると、「ＡＡ−ｂｉｔ＝ＯＮ（１）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳフォワーダ装置１００に送信する（ステップＳ０６）。
【００５７】
ＤＮＳフォワーダ装置１００は、ＤＮＳ権威サーバ装置１０からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部に「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されているか否かを判定し、「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されている場合には、権威のある応答として、ＤＮＳクエリ応答の内容をキャッシュする（ステップＳ０７）。そして、ＤＮＳフォワーダ装置１００は、「ＡＡ−ｂｉｔ＝ＯＮ（１）」に設定し（ステップＳ０８）、「ＡＡ−ｂｉｔ＝ＯＮ（１）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳ回送サーバ装置２００に送信する（ステップＳ０９）。
【００５８】
ＤＮＳ回送サーバ装置２００は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部のビット判定を行い、「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されている場合には、権威の有る応答として、ＤＮＳクエリ応答の内容をキャッシュする（ステップＳ１０）。そして、ＤＮＳ回送サーバ装置２００は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」に設定し、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳクライアント装置３０に送信する（ステップＳ１１）。
【００５９】
続いて、上記ステップＳ０１〜１１の完了後、再び、同一の問合せ内容を有するＤＮＳクエリ要求がＤＮＳクライアント装置３０から送信された場合の処理を説明する。ＤＮＳクライアント装置３０は、ＤＮＳキャッシュサーバ装置２０に対して、上記ステップＳ０１と同一の問合せ内容を有するＤＮＳクエリ要求を送信する（ステップＳ１２）。
【００６０】
ＤＮＳ回送サーバ装置２００は、ＤＮＳクライアント装置３０からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットした場合には（ステップＳ１３）、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」に設定し、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳクライアント装置３０に送信する（ステップＳ１４）。
【００６１】
［実施例１による効果］
上述してきたように、実施例１によれば、ＤＮＳフォワーダ装置１００は、ＤＮＳ権威サーバ装置１０から受信したＤＮＳクエリ応答が権威の有る応答である場合には、ＤＮＳクエリ応答の内容をキャッシュするとともに、ＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに、権威の有る応答であることを示すビットを設定する。
【００６２】
すなわち、ＤＮＳフォワーダ装置１００が、権威の有る応答であることを示すビット「ＡＡ−ｂｉｔ＝ＯＮ（１）」をＤＮＳクエリ応答に設定することで、ＤＮＳ回送サーバ装置２００に、ＤＮＳ応答の内容をキャッシュさせることができる。
【００６３】
このようなことから、ＤＮＳ権威サーバ装置１０との通信相手を限定することにより、セキュリティの向上を図ることとができる。さらに、ＤＮＳ回送サーバ装置２００にＤＮＳクエリ応答の内容をキャッシュさせることにより、内部ＮＷ２全体でのキャッシュヒット率を向上させることができるとともに、回送サーバおよび回送サーバとフォワーダとの間の設備リソース（ＣＰＵ／回線容量）を削減でき、ＤＮＳクエリ要求を処理する場合に要するシステムの負荷を軽減できる。
【実施例２】
【００６４】
また、上記の実施例１において、信頼できるＤＮＳ回送サーバ装置２００にのみＤＮＳクエリ応答の内容をキャッシュさせるようにしてもよい。以下、実施例２に係るＤＮＳフォワーダ装置１００について説明する。ここで、信頼できるＤＮＳ回送サーバ装置というのは、キャッシュを格納することを許可されているＤＮＳ回送サーバ装置のことである。
【００６５】
［実施例２の構成］
図４は、実施例２に係る構成を示す図である。実施例２に係るＤＮＳフォワーダ装置１００は、実施例１とは以下に説明する点が異なる。
【００６６】
すなわち、記憶部１２０は、ルートネームサーバリスト１２１だけでなく、信頼情報付ＤＮＳ回送サーバリスト１２２を有する。信頼情報付ＤＮＳ回送サーバリスト１２２は、図５に示すように、システム管理者などにより設定された信頼する回送サーバ装置の情報を記憶する。図５は、実施例１に係る信頼情報付ＤＮＳ回送サーバリストの一例を説明するための図である。
【００６７】
制御部１４０は、応答判定部１４１、ビット設定部１４２、応答送信部１４３だけでなく、信頼判定部１４４を有する。信頼判定部１４４は、応答判定部１４１により、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が権威の有る応答であると判定された場合に、信頼情報付ＤＮＳ回送サーバリスト１２２を参照して、ＤＮＳクエリ要求の転送元であるＤＮＳ回送サーバ装置２００が信頼性の有る装置であるか否かを判定する。
【００６８】
ビット設定部１４２は、ＤＮＳクエリ要求の転送元であるＤＮＳ回送サーバ装置２００が信頼性の有る装置であると信頼判定部１４４により判定された場合には、ＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに、権威の有る応答であることを示すビット「ＡＡ−ｂｉｔ＝ＯＮ（１）」を設定する。一方、ＤＮＳクエリ要求の転送元であるＤＮＳ回送サーバ装置２００が信頼できない装置であると信頼判定部１４４により判定された場合には、ＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに、権威の無い応答であることを示すビット「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」を設定する。
【００６９】
［実施例２の処理］
続いて、図６および図７を用いて、実施例２の処理の流れを説明する。図６および図７は、実施例２に係る処理の流れを示す図である。
【００７０】
まず、図６を参照しつつ、ＤＮＳクエリ要求の転送元であるＤＮＳ回送サーバ装置２００が信頼性の有る装置である場合の処理の流れを説明する。同図に示すように、ＤＮＳクライアント装置３０は、ＤＮＳ回送サーバ装置２００に対してＤＮＳクエリ要求を送信する（ステップＳ０１）。
【００７１】
ＤＮＳ回送サーバ装置２００は、ＤＮＳクライアント装置３０からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットしない場合には（ステップＳ０２）、ＤＮＳクエリ要求をＤＮＳフォワーダ装置１００に転送する（ステップＳ０３）。
【００７２】
ＤＮＳフォワーダ装置１００は、ＤＮＳ回送サーバ装置２００からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットしない場合には（ステップＳ０４）、ＤＮＳ権威サーバ装置１０にＤＮＳクエリ要求を転送する（ステップＳ０５）。
【００７３】
ＤＮＳ権威サーバ装置１０は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ要求を受信すると、「ＡＡ−ｂｉｔ＝ＯＮ（１）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳフォワーダ装置１００に送信する（ステップＳ０６）。
【００７４】
ＤＮＳフォワーダ装置１００は、ＤＮＳ権威サーバ装置１０からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部に「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されているか否かを判定し、「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されている場合には、権威のある応答として、ＤＮＳクエリ応答の内容をキャッシュする（ステップＳ０７）。
【００７５】
ＤＮＳクエリ応答の内容をキャッシュした後、ＤＮＳフォワーダ装置１００は、信頼情報付ＤＮＳ回送サーバリスト１２２を参照して、ＤＮＳクエリ要求の転送元であるＤＮＳ回送サーバ装置２００が信頼性の有る装置であるか否かを判定し、信頼性の有る装置である場合には、「ＡＡ−ｂｉｔ＝ＯＮ（１）」に設定し（ステップＳ０８）、「ＡＡ−ｂｉｔ＝ＯＮ（１）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳ回送サーバ装置２００に送信する（ステップＳ０９）。
【００７６】
ＤＮＳ回送サーバ装置２００は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部のビット判定を行い、「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されている場合には、権威の有る応答として、ＤＮＳクエリ応答の内容をキャッシュする（ステップＳ１０）。そして、ＤＮＳ回送サーバ装置２００は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」に設定し、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳクライアント装置３０に送信する（ステップＳ１１）。
【００７７】
なお、上記ステップＳ０１〜１１の完了後、再び、同一の問合せ内容を有するＤＮＳクエリ要求がＤＮＳクライアント装置３０から送信された場合のステップＳ１２〜１４の処理は、図３に示すステップＳ１２〜１４の処理と同様であるので説明は省略する。
【００７８】
次に、図７を参照しつつ、ＤＮＳクエリ要求の転送元であるＤＮＳ回送サーバ装置２００が信頼できない装置である場合の処理の流れを説明する。同図に示すように、ＤＮＳクライアント装置３０は、ＤＮＳキャッシュサーバ装置２０に対してＤＮＳクエリ要求を送信する（ステップＳ０１）。
【００７９】
ＤＮＳ回送サーバ装置２００は、ＤＮＳクライアント装置３０からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットしない場合には（ステップＳ０２）、ＤＮＳクエリ要求をＤＮＳフォワーダ装置１００に転送する（ステップＳ０３）。
【００８０】
ＤＮＳフォワーダ装置１００は、ＤＮＳ回送サーバ装置２００からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットしない場合には（ステップＳ０４）、ＤＮＳ権威サーバ装置１０にＤＮＳクエリ要求を転送する（ステップＳ０５）。
【００８１】
ＤＮＳ権威サーバ装置１０は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ要求を受信すると、「ＡＡ−ｂｉｔ＝ＯＮ（１）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳフォワーダ装置１００に送信する（ステップＳ０６）。
【００８２】
ＤＮＳフォワーダ装置１００は、ＤＮＳ権威サーバ１０からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部に「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されているか否かを判定し、「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されている場合には、権威のある応答として、ＤＮＳクエリ応答の内容をキャッシュする（ステップＳ０７）。
【００８３】
ＤＮＳクエリ応答の内容をキャッシュした後、ＤＮＳフォワーダ装置１００は、信頼情報付ＤＮＳ回送サーバリスト１２２を参照して、ＤＮＳクエリ要求の転送元であるＤＮＳ回送サーバ装置２００が信頼性の有る装置であるか否かを判定し、信頼できない装置である場合には、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」に設定し（ステップＳ０８）、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳ回送サーバ装置２００に送信する（ステップＳ０９）。
【００８４】
ＤＮＳ回送サーバ装置２００は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部のビット判定を行い、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」が設定されている場合には、権威の無い応答として、ＤＮＳクエリ応答の内容をキャッシュしない（ステップＳ１０）。そして、ＤＮＳ回送サーバ装置２００は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」がヘッダ部に設定されたＤＮＳクエリ応答をそのままＤＮＳクライアント装置３０に転送する（ステップＳ１１）。
【００８５】
続いて、図７のステップＳ０１〜１１の完了後、再び、同一の問合せ内容を有するＤＮＳクエリ要求がＤＮＳクライアント装置３０から送信された場合の処理の流れを以下に説明する。ＤＮＳクライアント装置３０は、ＤＮＳキャッシュサーバ装置２０に対して、図７のステップＳ０１と同一の問合せ内容を有するＤＮＳクエリ要求を送信する（ステップＳ１２）。
【００８６】
ＤＮＳ回送サーバ装置２００は、ＤＮＳクライアント装置３０からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットしない場合には（ステップＳ１３）、ＤＮＳクエリ要求をＤＮＳフォワーダ装置１００に転送する（ステップＳ１４）。
【００８７】
ＤＮＳフォワーダ装置１００は、ＤＮＳ回送サーバ装置２００からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットした場合には（ステップＳ１５）、続いて、信頼情報付ＤＮＳ回送サーバリスト１２２を参照して、ＤＮＳクエリ要求の転送元であるＤＮＳ回送サーバ装置２００が信頼性の有る装置であるか否かを判定し、信頼できない装置である場合には、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」に設定する（ステップＳ１６）。そして、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳ回送サーバ装置２００に送信する（ステップＳ１７）。
【００８８】
ＤＮＳ回送サーバ装置２００は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部のビット判定を行い、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」が設定されている場合には、権威の無い応答として、ＤＮＳクエリ応答の内容をキャッシュしない（ステップＳ１８）。そして、ＤＮＳ回送サーバ装置２００は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」がヘッダ部に設定されたＤＮＳクエリ応答をそのままＤＮＳクライアント装置３０に転送する（ステップＳ１９）。
【００８９】
上述してきたように、実施例２によれば、予め設定しておいた信頼できるＤＮＳ回送サーバ装置２００にのみＤＮＳクエリ応答の内容をキャッシュさせるので、ＤＮＳ回送サーバ装置２００になりすました装置によってＤＮＳクエリ応答の内容がキャッシュされるのを防止できる。
【００９０】
また、権威ある応答であるか否かの判定手順、および信頼の判定手順を行う順序は、図６および図７に示す順序に限られず、任意に変更することができる。なお、上記の実施例２では、信頼できるＤＮＳ回送サーバ装置２００の情報を記憶しておいて、信頼できるＤＮＳ回送サーバ装置２００を判定する場合を説明した。しかしながら、これに限られるものではなく、例えば、信頼できない装置をリスト化しておいて、このリストにない装置を信頼できるＤＮＳ回送サーバ装置２００として判定してもよい。
【実施例３】
【００９１】
また、上記の実施例１において、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が改竄されているか否かを検証するようにしてもよい。以下、実施例３に係るＤＮＳフォワーダ装置１００について説明する。
【００９２】
［実施例３の構成］
図８は、実施例３に係る構成を示す図である。実施例３に係るＤＮＳフォワーダ装置１００は、上記の実施例１とは以下に説明する点が異なる。
【００９３】
すなわち、制御部１４０は、応答判定部１４１、ビット設定部１４２、応答送信部１４３だけでなく、改竄検証部１４５を有する。
【００９４】
記憶部１２０は、図８に示すように、後述する改竄検証部１４５において、ＤＮＳクエリ応答が改竄されているか否かを検証するために鍵情報が列挙された鍵情報リスト１２３を有する。
【００９５】
改竄検証部１４５は、記憶部１２０が有する鍵情報リスト１２３に列挙された鍵情報を用いて、ＤＮＳクエリ応答が改竄されているか否かを検証する。応答判定部１４１により、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が権威の有る応答であると判定された場合に、鍵情報リスト１２３内の鍵情報およびＤＮＳＳＥＣ（DNS Security Extension）などの方式を用いて、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が改竄されているか否かを判定する。
【００９６】
判定の結果、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が改竄されていない場合には、改竄検証部１４５は、ＤＮＳクエリ応答の内容をキャッシュする。一方、判定の結果、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が改竄されている場合には、改竄検証部１４５は、ＤＮＳクエリ応答の内容をキャッシュせず、エラーを示す旨のクエリ応答を送信するように応答送信部１４３に指示する。
【００９７】
ビット設定部１４２は、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が改竄されていないものと改竄判定部１４５により判定された場合には、ＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに、権威の有る応答であることを示すビット「ＡＡ−ｂｉｔ＝ＯＮ（１）」を設定する。一方、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が改竄されているものと改竄判定部１４５により判定された場合には、ＤＮＳクエリ応答のヘッダ部に設けられた所定のフィールドに、権威の無い応答であることを示すビット「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」を設定する。
【００９８】
［実施例３の処理］
続いて、図９および図１０を用いて、実施例２の処理の流れを説明する。図９および図１０は、実施例３に係る処理の流れを示す図である。
【００９９】
まず、図９を参照しつつ、ＤＮＳ権威サーバ装置からのＤＮＳクエリ応答が改竄されていない（ＤＮＳＳＥＣ検証ＯＫ）場合の処理の流れを説明する。同図に示すように、ＤＮＳクライアント装置３０は、ＤＮＳ回送サーバ装置２００に対してＤＮＳクエリ要求を送信する（ステップＳ０１）。
【０１００】
ＤＮＳ回送サーバ装置２００は、ＤＮＳクライアント装置３０からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットしない場合には（ステップＳ０２）、ＤＮＳクエリ要求をＤＮＳフォワーダ装置１００に転送する（ステップＳ０３）。
【０１０１】
ＤＮＳフォワーダ装置１００は、ＤＮＳ回送サーバ装置２００からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットしない場合には（ステップＳ０４）、ＤＮＳ権威サーバ装置１０にＤＮＳクエリ要求を転送する（ステップＳ０５）。
【０１０２】
ＤＮＳ権威サーバ装置１０は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ要求を受信すると、「ＡＡ−ｂｉｔ＝ＯＮ（１）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳフォワーダ装置１００に送信する（ステップＳ０６）。
【０１０３】
ＤＮＳフォワーダ装置１００は、ＤＮＳ権威サーバ装置１０からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部に「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されているか否かを判定し、「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されている場合には、権威のある応答として判断する。
【０１０４】
ＤＮＳフォワーダ装置１００は、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が権威ある応答であると判断した場合には、続いて、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が改竄されているか否かを判定する。判定の結果、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が改竄されていない場合には、ＤＮＳフォワーダ装置１００は、ＤＮＳクエリ応答の内容をキャッシュして、「ＡＡ−ｂｉｔ＝ＯＮ（１）」に設定する（ステップＳ０７）。そして、ＤＮＳフォワーダ装置１００は、「ＡＡ−ｂｉｔ＝ＯＮ（１）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳ回送サーバ装置２００に送信する（ステップＳ０８）。
【０１０５】
ＤＮＳ回送サーバ装置２００は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部のビット判定を行い、「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されている場合には、権威の有る応答として、ＤＮＳクエリ応答の内容をキャッシュする（ステップＳ０９）。そして、ＤＮＳ回送サーバ装置２００は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」に設定し、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳクライアント装置３０に送信する（ステップＳ１０）。
【０１０６】
なお、上記ステップＳ０１〜１０の完了後、再び、同一の問合せ内容を有するＤＮＳクエリ要求がＤＮＳクライアント装置３０から送信された場合のステップＳ１１〜１３の処理は、図３に示すステップＳ１２〜１４の処理と同様であるので説明は省略する。
【０１０７】
次に、図１０を参照しつつ、ＤＮＳ権威サーバ装置からのＤＮＳクエリ応答が改竄されている（ＤＮＳＳＥＣ検証ＮＧ）場合の処理の流れを説明する。同図に示すように、ＤＮＳクライアント装置３０は、ＤＮＳキャッシュサーバ装置２０に対してＤＮＳクエリ要求を送信する（ステップＳ０１）。
【０１０８】
ＤＮＳ回送サーバ装置２００は、ＤＮＳクライアント装置３０からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットしない場合には（ステップＳ０２）、ＤＮＳクエリ要求をＤＮＳフォワーダ装置１００に転送する（ステップＳ０３）。
【０１０９】
ＤＮＳフォワーダ装置１００は、ＤＮＳ回送サーバ装置２００からＤＮＳクエリ要求を受信すると、対応するキャッシュデータの検索を行い、キャッシュヒットしない場合には（ステップＳ０４）、ＤＮＳ権威サーバ装置１０にＤＮＳクエリ要求を転送する（ステップＳ０５）。
【０１１０】
ＤＮＳ権威サーバ装置１０は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ要求を受信すると、「ＡＡ−ｂｉｔ＝ＯＮ（１）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳフォワーダ装置１００に送信する（ステップＳ０６）。
【０１１１】
ＤＮＳフォワーダ装置１００は、ＤＮＳ権威サーバ装置１０からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部に「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されているか否かを判定し、「ＡＡ−ｂｉｔ＝ＯＮ（１）」が設定されている場合には、権威のある応答として判断する。
【０１１２】
ＤＮＳフォワーダ装置１００は、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が権威ある応答であると判断した場合には、続いて、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が改竄されているか否かを判定する。判定の結果、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が改竄されている場合には、ＤＮＳフォワーダ装置１００は、ＤＮＳクエリ応答の内容をキャッシュせずに、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」に設定する（ステップＳ０７）。そして、ＤＮＳフォワーダ装置１００は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳ回送サーバ装置２００に送信する（ステップＳ０８）。
【０１１３】
ＤＮＳ回送サーバ装置２００は、ＤＮＳフォワーダ装置１００からＤＮＳクエリ応答を受信すると、ＤＮＳクエリ応答のヘッダ部のビット判定を行い、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」が設定されている場合には、権威の無い応答として、ＤＮＳクエリ応答の内容をキャッシュしない（ステップＳ０９）。そして、ＤＮＳ回送サーバ装置２００は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」がヘッダ部に設定されたＤＮＳクエリ応答をそのままＤＮＳクライアント装置３０に転送する（ステップＳ１０）。
【０１１４】
なお、上記ステップＳ０１〜１１の完了後、再び、同一の問合せ内容を有するＤＮＳクエリ要求がＤＮＳクライアント装置３０から送信された場合のステップＳ１１〜１２までに至る処理は、図１０に示すステップＳ０２〜０９の処理と同様であるので説明は省略する。
【０１１５】
また、権威ある応答であるか否かの判定手順、および改竄の検証手順を行う順序は、図９および図１０に示す順序に限られず、任意に変更することができる。
【０１１６】
上述してきたように、実施例３によれば、ＤＮＳ権威サーバ装置１０からのＤＮＳクエリ応答が改竄されていない場合に、ＤＮＳフォワーダ装置１００は、ＤＮＳクエリ応答の内容をキャッシュするとともに、ＤＮＳ回送サーバ装置２００にキャッシュさせるようにする。このようなことから、ＤＮＳキャッシュのポイゾニング攻撃に遭うことを防止できる。
【０１１７】
また、上記の実施例２で説明した信頼できる回送サーバの判定、および上記の実施例３で説明したＤＮＳクエリ応答の改竄の検証の双方を実行するようにしてもよい。
【実施例４】
【０１１８】
以下、本発明にかかるＤＮＳ応答制御装置、ＤＮＳ応答制御システム、ＤＮＳ応答制御方法およびＤＮＳ応答制御プログラムの他の実施形態として実施例４を説明する。
【０１１９】
（１）装置構成等
図１、図４および図８に示したＤＮＳフォワーダ装置１００の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要せず、ＤＮＳフォワーダ装置１００の分散・統合の具体的形態は図示のものに限られない。
【０１２０】
例えば、図１に示す応答判定部１４１、ビット設定部１４２および応答送信部１４３を機能的または物理的に分散・統合して構成する。また、図４に示す応答判定部１４１と信頼判定部１４４とを機能的または物理的に分散・統合して構成する。また、図８に示す応答判定部１４１と改竄判定部１４５とを機能的または物理的に分散・統合して構成する。
【０１２１】
このように、ＤＮＳ応答制御装置２００の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、ＤＮＳ応答制御装置２００にて行なわれる各処理機能（図３、６、７、９および１０等参照）は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１２２】
（２）ＤＮＳ応答制御プログラム
また、上記の実施例１で説明したＤＮＳフォワーダ装置１００の各種の処理（図３、６、７、９および１０等参照）は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。
【０１２３】
そこで、以下では、図１１を用いて、上記の実施例で説明したＤＮＳフォワーダ装置の機能と同様の機能を実現するＤＮＳ応答制御プログラムを実行するコンピュータの一例を説明する。図１１は、ＤＮＳ応答制御プログラムを実行するコンピュータを示す図である。
【０１２４】
同図に示すように、ＤＮＳフォワーダ装置１００としてコンピュータ３００は、通信制御部３１０、ＨＤＤ３２０、ＲＡＭ３３０およびＣＰＵ３４０をバス４００で接続して構成される。
【０１２５】
ここで、通信制御部３１０は、各種情報のやり取りに関する通信を制御する。ＨＤＤ３２０は、ＣＰＵ３４０による各種処理の実行に必要な情報を記憶する。ＲＡＭ３３０は、各種情報を一時的に記憶する。ＣＰＵ３４０は、各種演算処理を実行する。
【０１２６】
そして、ＨＤＤ３２０には、図１１に示すように、上記の実施例に示したＤＮＳフォワーダ装置１００の各処理部と同様の機能を発揮するＤＮＳ応答制御プログラム３２１と、ＤＮＳ応答制御用データ３２２とがあらかじめ記憶されている。なお、このＤＮＳ応答制御プログラム３２１を適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
【０１２７】
そして、ＣＰＵ３４０が、このＤＮＳ応答制御プログラム３２１をＨＤＤ３２０から読み出してＲＡＭ３３０に展開することにより、図１１に示すように、ＤＮＳ応答制御プログラム３２１はＤＮＳ応答制御プロセス３３１として機能するようになる。すなわち、ＤＮＳ応答制御プロセス３３１は、ＤＮＳ応答制御用データ３２２等をＨＤＤ３２０から読み出して、ＲＡＭ３３０において自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種処理を実行する。
【０１２８】
なお、ＤＮＳ応答制御プロセス３３１は、例えば、図１、図４および図８に示したＤＮＳフォワーダ装置１００の制御部１４０（応答判定部１４１、ビット設定部１４２、応答送信部１４３、信頼判定部１４４および改竄判定部１４５）において実行される処理に対応する。
【０１２９】
なお、上記したＤＮＳ応答制御プログラム３２１については、必ずしも最初からＨＤＤ３２０に記憶させておく必要はなく、例えば、コンピュータ３００に設定されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ３００がこれらから各プログラムを読み出して実行するようにしてもよい。
【０１３０】
（３）ＤＮＳ応答制御方法
上記の実施例で説明したＤＮＳフォワーダ装置１００により、例えば、以下のようなＤＮＳ応答制御方法が実現される。
【０１３１】
すなわち、ＤＮＳクライアントからのＤＮＳクエリ要求をＤＮＳ回送サーバから受信して、受信したＤＮＳクエリ要求を名前解決できる場合には、ＤＮＳクエリ応答をＤＮＳ回送サーバに返送し、ＤＮＳクエリ要求を名前解決できない場合には、ＤＮＳ権威サーバから取得したＤＮＳクエリ応答をＤＮＳ回送サーバに返送するＤＮＳ応答制御方法であって、ＤＮＳ権威サーバからＤＮＳクエリ応答を受信した場合に、受信したＤＮＳクエリ応答のヘッダ部に設けられた権威のある応答であることを示す情報に基づいて、ＤＮＳクエリ応答が権威の有る応答であるか否かを判定する応答判定ステップと（例えば、図３のステップＳ０７参照）、ＤＮＳ権威サーバから受信したＤＮＳクエリ応答が権威の有る応答であると応答判定ステップにより判定されることを条件に、ＤＮＳクエリ応答の内容をキャッシュするとともに、ヘッダ部に設けられた所定のフィールドに、権威の有る応答であることを示す情報を設定する情報設定ステップと（例えば、図３のステップＳ０８参照）、権威の有る応答であることを示す情報が情報設定ステップによって設定されたＤＮＳクエリ応答をＤＮＳ回送サーバに送信する応答送信ステップと（例えば、図３のステップＳ０９参照）、を含んだＤＮＳ応答制御方法が実現される。
【産業上の利用可能性】
【０１３２】
以上のように、本発明にかかるＤＮＳ応答制御装置、ＤＮＳ応答制御システム、ＤＮＳ応答制御方法およびＤＮＳ応答制御プログラムは、ＤＮＳクライアント装置からのＤＮＳクエリ要求を名前解決する場合に有用であり、特に、セキュリティの向上を図りつつ、ＤＮＳクエリ要求を処理する場合に要するシステムの負荷を軽減することに適している。
【符号の説明】
【０１３３】
１  外部ＮＷ
２  内部ＮＷ
１０  ＤＮＳ権威サーバ装置
２０  ＤＮＳキャッシュサーバ装置
３０  ＤＮＳクライアント装置
１００  ＤＮＳフォワーダ装置
１１０  通信制御Ｉ／Ｆ部
１２０  記憶部
１２１  ルートネームサーバリスト
１２２  信頼情報付ＤＮＳ回送サーバリスト
１２３  鍵情報リスト
１３０  キャッシュデータ部
１３１  キャッシュＤＢ
１４０  制御部
１４１  応答判定部
１４２  ビット設定部
１４３  応答送信部
１４４  信頼判定部
１４５  改竄判定部
２００  ＤＮＳ回送サーバ装置
３００  コンピュータ
３１０  通信制御部
３２０  ＨＤＤ（Hard Disk Drive）
３２１  ＤＮＳ応答制御プログラム
３２２  ＤＮＳ応答制御用データ
３３０  ＲＡＭ（Random Access Memory）
３３１  ＤＮＳ応答制御プロセス
３４０  ＣＰＵ（Central Processing Unit）
４００  バス
【図１】
2010268316.tif 000003
【図２】
2010268316.tif 000004
【図３】
2010268316.tif 000005
【図４】
2010268316.tif 000006
【図５】
2010268316.tif 000007
【図６】
2010268316.tif 000008
【図７】
2010268316.tif 000009
【図８】
2010268316.tif 000010
【図９】
2010268316.tif 000011
【図１０】
2010268316.tif 000012
【図１１】
2010268316.tif 000013
【図１２】
2010268316.tif 000014
【図１３】
2010268316.tif 000015