(57)【要約】【課題】セキュリティの向上を図りつつ、ＤＮＳクエリ要求を処理する場合のシステムの負荷を軽減する。【解決手段】キャッシュ制御部１４２が、ＤＮＳフォワーダ装置２０からＤＮＳクエリ応答を受信した場合に、受信したＤＮＳクエリ応答が権威のある応答であるか否かにかかわらず、そのＤＮＳクエリ応答をキャッシュＤＢ１３１にキャッシュする。そして、クエリ制御部１４１が、ＤＮＳクライアント装置１０からＤＮＳクエリ要求を受信した場合に、受信したＤＮＳクエリ要求に対応するＤＮＳクエリ応答をキャッシュＤＢ１３１にキャッシュされたＤＮＳクエリ応答の中から取得してＤＮＳクエリ要求の送信元であるＤＮＳクライアント装置１０に送信する。【選択図】図１
2010278559.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）対応済みで、ＤＮＳキャッシュポイズニング攻撃への耐性が強いと判断されるフォワーダ装置である。
【００７２】
例えば、図５に示すように、記憶部２２０は、信頼フォワーダを「ｔｒｕｓｔｅｄ−ｆｏｒｗａｒｄｅｒｓ」とし、非信頼フォワーダを「ｆｏｒｗａｒｄｅｒｓ」として記憶する。なお、記憶部２２０は、信頼フォワーダのみを記憶してもよいし、非信頼フォワーダのみを記憶してもよい。
【００７３】
制御部２４０は、ＤＮＳ回送サーバ装置２００全体を制御する。この制御部２４０は、特に、クエリ制御部１４１と、キャッシュ制御部２４２と、信頼フォワーダ判定部２４３とを有する。
【００７４】
信頼フォワーダ判定部２４３は、ＤＮＳフォワーダ装置２０からＤＮＳクエリ応答を受信した場合に、信頼情報付フォワード先リスト２２１の情報に基づいて、受信したＤＮＳクエリ応答の送信元であるＤＮＳフォワーダ装置２０が信頼フォワーダであるか否かを判定する。
【００７５】
具体的には、信頼フォワーダ判定部２４３は、ＤＮＳフォワーダ装置２０からＤＮＳクエリ応答を受信した場合に、信頼情報付フォワード先リスト２２１を参照し、受信したＤＮＳクエリ応答に含まれている送信元のＩＰアドレスが信頼フォワーダとして設定されているか、非信頼フォワーダとして設定されているかを判定する。
【００７６】
そして、信頼フォワーダ判定部２４３は、信頼情報付フォワード先リスト２２１において送信元のＩＰアドレスが信頼フォワーダとして設定されていた場合には、送信元のＤＮＳフォワーダ装置２０が信頼フォワーダであると判定する。一方、信頼情報付フォワード先リスト２２１において送信元のＩＰアドレスが非信頼フォワーダとして設定されていた場合には、信頼フォワーダ判定部２４３は、送信元のＤＮＳフォワーダ装置２０が非信頼フォワーダであると判定する。
【００７７】
なお、信頼情報付フォワード先リスト２２１に信頼フォワーダのみが記憶されている場合には、信頼フォワーダ判定部２４３は、記憶されている信頼フォワーダでなければ非信頼フォワーダであると判定してもよい。また、信頼情報付フォワード先リスト２２１に非信頼フォワーダのみが記憶されている場合には、信頼フォワーダ判定部２４３は、記憶されている非信頼フォワーダでなければ信頼フォワードであると判定してもよい。
【００７８】
キャッシュ制御部２４２は、ＤＮＳフォワーダ装置２０を介してＤＮＳ権威サーバ装置３０から送信されるＤＮＳクエリ応答のキャッシュを制御する。
【００７９】
具体的には、キャッシュ制御部２４２は、通信制御ＩＦ部１１０を介してＤＮＳクエリ応答を受信した場合に、受信したＤＮＳクエリ応答が権威のある応答であるか否かにかかわらず、そのＤＮＳクエリ応答の内容をキャッシュＤＢ１３１にキャッシュする。ここで、ＤＮＳクエリ応答の内容をキャッシュする際に、キャッシュ制御部２４２は、信頼フォワーダ判定部２４３によって信頼フォワーダであると判定されたＤＮＳフォワーダ装置２０から送信されたＤＮＳクエリ応答のみをキャッシュする。なお、かかるキャッシュ制御部２４２によって行われる処理については、後にさらに具体的に説明する。
【００８０】
次に、図６および７を参照して、本実施例２に係るＤＮＳの動作について説明する。図６および７は、本実施例２に係るＤＮＳの動作を説明するためのシーケンス図である。ここでは、ＤＮＳクエリ要求の転送先となるＤＮＳフォワーダ装置２０が信頼フォワーダである場合と非信頼フォワーダである場合とをそれぞれ説明する。
【００８１】
最初に、図６を参照して、ＤＮＳフォワーダ装置２０が信頼フォワーダである場合について説明する。なお、図６に示すステップＳ２０１〜Ｓ２０８の手順については、図３に示したステップＳ１０１〜Ｓ１０８の手順と同様であるので、ここでは説明を省略する。
【００８２】
ＤＮＳフォワーダ装置２０からＤＮＳクエリ応答が送信されると、ＤＮＳ回送サーバ装置２００では、信頼フォワーダ判定部２４３が、信頼情報付フォワード先リスト２２１を参照して、ＤＮＳクエリ応答の送信元であるＤＮＳフォワーダ装置２０が信頼フォワーダであるか否かを判定する。
【００８３】
そして、信頼フォワーダ判定部２４３によって、送信元のＤＮＳフォワーダ装置２０が信頼フォワーダであると判定された場合には、キャッシュ制御部２４２が、受信したＤＮＳクエリ応答が権威のある応答であるか否かにかかわらず、すなわち、受信したＤＮＳクエリ応答のヘッダ部に設定されている「ＡＡ−ｂｉｔ」の値にかかわらず、そのＤＮＳフォワーダ装置２０から受信したＤＮＳクエリ応答をキャッシュＤＢ１３１にキャッシュする（ステップＳ２０９）。さらに、クエリ制御部１４１が、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳクライアント装置１０に送信する（ステップＳ２１０）。
【００８４】
その後、ＤＮＳクライアント装置１０が、ステップＳ２０１と同一のＤＮＳクエリ要求をＤＮＳ回送サーバ装置２００に送信したとする（ステップＳ２１１）。
【００８５】
その場合、ＤＮＳ回送サーバ装置２００では、クエリ制御部１４１が、ＤＮＳクライアント装置１０からＤＮＳクエリ要求を受信すると、キャッシュＤＢ１３１を参照して、受信したＤＮＳクエリ要求に対応するＤＮＳクエリ応答のキャッシュがあるか否かを判定する。そして、クエリ制御部１４１は、対応するＤＮＳクエリ応答のキャッシュがある場合（キャッシュヒットした場合）には（ステップＳ２１２）、対応するＤＮＳクエリ応答をキャッシュＤＢ１３１から取得してＤＮＳクライアント装置１０に送信する。このとき、クエリ制御部１４１は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダに設定したＤＮＳクエリ応答をＤＮＳクライアント装置１０に送信する（ステップＳ２１３）。
【００８６】
次に、図７を参照して、ＤＮＳフォワーダ装置２０が非信頼フォワーダである場合について説明する。なお、図７に示すステップＳ３０１〜Ｓ３０８の手順については、図３に示したステップＳ１０１〜Ｓ１０８の手順と同様であるので、ここでは説明を省略する。
【００８７】
ＤＮＳフォワーダ装置２０からＤＮＳクエリ応答が送信されると、ＤＮＳ回送サーバ装置２００では、信頼フォワーダ判定部２４３が、信頼情報付フォワード先リスト２２１を参照して、ＤＮＳクエリ応答の送信元であるＤＮＳフォワーダ装置２０が信頼フォワーダであるか否かを判定する。
【００８８】
そして、信頼フォワーダ判定部２４３によって、送信元のＤＮＳフォワーダ装置２０が非信頼フォワーダであると判定された場合には、キャッシュ制御部２４２が、受信したＤＮＳクエリ応答の内容をキャッシュすることなく（ステップＳ３０９）、クエリ制御部１４１が、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」がヘッダ部に設定されたＤＮＳクエリ応答をそのままＤＮＳクライアント装置１０に送信する（ステップＳ３１０）。
【００８９】
その後、ＤＮＳクライアント装置１０が、ステップＳ３０１と同一のＤＮＳクエリ要求をＤＮＳ回送サーバ装置２００に送信したとする（ステップＳ３１１）。
【００９０】
その場合、ＤＮＳ回送サーバ装置２００では、クエリ制御部１４１が、ＤＮＳクライアント装置１０からＤＮＳクエリ要求を受信すると、キャッシュＤＢ１３１を参照して、受信したＤＮＳクエリ要求に対応するＤＮＳクエリ応答のキャッシュがあるか否かを判定する。ここで、前述したステップＳ３０９においてＤＮＳクエリ応答の内容がキャッシュされていないので、クエリ制御部１４１は、受信したＤＮＳクエリ要求に対応するＤＮＳクエリ応答のキャッシュがないと判定し（ステップＳ３１２）、そのＤＮＳクエリ要求をＤＮＳフォワーダ装置２０に送信する（ステップＳ３１３）。
【００９１】
ＤＮＳフォワーダ装置２０は、ＤＮＳ回送サーバ装置２００からＤＮＳクエリ要求を受信すると、対応するＤＮＳクエリ応答がキャッシュされているか否かを判定する。ここで、ステップＳ３０７においてＤＮＳクエリ応答の内容がキャッシュされているので（ステップＳ３１４）、ＤＮＳフォワーダ装置２０は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳ回送サーバ装置２００に送信する（ステップＳ３１５）。
【００９２】
ＤＮＳ回送サーバ装置２００では、ＤＮＳフォワーダ装置２０からＤＮＳクエリ応答が送信されると、ＤＮＳ回送サーバ装置２００では、信頼フォワーダ判定部２４３が、信頼情報付フォワード先リスト２２１を参照して、ＤＮＳクエリ応答の送信元であるＤＮＳフォワーダ装置２０が信頼フォワーダであるか否かを判定する。
【００９３】
そして、信頼フォワーダ判定部２４３によって、送信元のＤＮＳフォワーダ装置２０が非信頼フォワーダであると判定された場合には、キャッシュ制御部２４２が、受信したＤＮＳクエリ応答の内容をキャッシュすることなく（ステップＳ３１６）、クエリ制御部１４１が、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」がヘッダ部に設定されたＤＮＳクエリ応答をそのまま、もしくはエラー応答を、ＤＮＳクライアント装置１０に送信する（ステップＳ３１７）。
【００９４】
上述してきたように、本実施例２では、記憶部２２０が、信頼できるＤＮＳフォワーダ装置である信頼フォワーダおよび／または信頼できないＤＮＳフォワーダ装置である非信頼フォワーダを示す情報を含んだ信頼情報付フォワード先リスト２２１を記憶する。また、信頼フォワーダ判定部２４３が、ＤＮＳフォワーダ装置２０からＤＮＳクエリ応答を受信した場合に、信頼情報付フォワード先リスト２２１に含まれている情報に基づいて、受信したＤＮＳクエリ応答の送信元であるＤＮＳフォワーダ装置２０が信頼フォワーダであるか否かを判定する。そして、キャッシュ制御部２４２が、信頼フォワーダ判定部２４３によって信頼フォワーダであると判定されたＤＮＳフォワーダ装置２０から送信されたＤＮＳクエリ応答のみをキャッシュする。
【００９５】
したがって、本実施例２によれば、信頼性できないＤＮＳフォワーダ装置２０から送信されたＤＮＳクエリ応答はＤＮＳ回送サーバ装置２００にキャッシュされないように制御することができるので、ＤＮＳ回送サーバ装置２００がＤＮＳキャッシュポイズニング攻撃の被害にあうことを防ぐことが可能になる。
【実施例３】
【００９６】
ところで、上記実施例２では、ＤＮＳ回送サーバ装置が、信頼できるＤＮＳフォワーダ装置から送信されたＤＮＳクエリ応答のみをキャッシュする場合について説明した。しかしながら、本発明はこれに限られるものではなく、例えば、ＤＮＳ回送サーバ装置が、さらに、所定の認証方法によって認証されたＤＮＳクエリ応答のみをキャッシュするようにしてもよい。そこで、以下では、このような場合を実施例３として説明する。
【００９７】
まず、図８を参照して、実施例３に係るＤＮＳの概要および構成について説明する。図８は、本実施例３に係るＤＮＳの概要および構成を説明するための図である。図８に示すように、本実施例３に係るＤＮＳは、ＤＮＳクライアント装置１０と、ＤＮＳフォワーダ装置２０と、ＤＮＳ権威サーバ装置３０と、ＤＮＳ回送サーバ装置３００とを有する。
【００９８】
なお、本実施例３に係るＤＮＳの構成は、基本的には図１に示した構成と同様であり、ＤＮＳ回送サーバ装置３００によって行われる処理が異なるのみであるので、ここではＤＮＳ回送サーバ装置３００に関する機能を中心に説明する。
【００９９】
本実施例３に係るＤＮＳでは、ＤＮＳ回送サーバ装置３００が、信頼フォワーダであると判定されたＤＮＳフォワーダ装置２０から送信されたＤＮＳクエリ応答を所定の認証方法により認証判定する。そして、ＤＮＳ回送サーバ装置３００は、認証されたＤＮＳクエリ応答のみをキャッシュする。
【０１００】
これにより、本実施例３では、信頼フォワーダへのなりすましを防止することができるので、より強固に、ＤＮＳ回送サーバ装置３００がＤＮＳキャッシュポイズニング攻撃の被害にあうことを防ぐことが可能になる。
【０１０１】
次に、図８を参照して、ＤＮＳ回送サーバ装置３００の構成について説明する。なお、ここでは説明の便宜上、図１および４に示した各部と同様の機能を有する機能部については、同じ符号を付すこととして詳細な説明を省略する。図８に示すように、ＤＮＳ回送サーバ装置３００は、通信制御ＩＦ部１１０と、記憶部３２０と、キャッシュデータ部１３０と、制御部３４０とを有する。
【０１０２】
記憶部３２０は、制御部３４０によって実行される処理に必要な各種情報を記憶する。この記憶部３２０は、特に、信頼情報付フォワード先リスト２２１と、鍵リスト３２２とを記憶する。鍵リスト３２２は、ＤＮＳフォワーダ装置２０ごとに、ＴＳＩＧ（Transaction Signature）またはＳＩＧ（０）の検証に用いられる鍵を記憶する。
【０１０３】
制御部３４０は、ＤＮＳ回送サーバ装置３００全体を制御する。この制御部３４０は、特に、クエリ制御部１４１と、キャッシュ制御部３４２と、信頼フォワーダ判定部２４３と、認証判定部３４４とを有する。
【０１０４】
認証判定部３４４は、信頼フォワーダ判定部２４３によって信頼フォワーダであると判定されたＤＮＳフォワーダ装置２０から送信されたＤＮＳクエリ応答を所定の認証方法により認証判定する。
【０１０５】
具体的には、認証判定部３４４は、信頼フォワーダ判定部２４３によって、ＤＮＳクエリ応答の送信元のＤＮＳフォワーダ装置２０が信頼フォワーダであると判定された場合に、ＤＮＳクエリ応答に含まれている認証用情報に基づいて、そのＤＮＳクエリ応答を認証判定する。例えば、認証判定部３４４は、ＤＮＳクエリ応答の送信元のＤＮＳフォワーダ装置２０に対応する鍵を鍵リスト３２２によって記憶されている鍵の中から取得し、取得した鍵と、ＤＮＳクエリ応答に含まれているＴＳＩＧまたはＳＩＧ（０）の認証用情報とに基づいて、ＤＮＳクエリ応答を認証判定する。
【０１０６】
キャッシュ制御部３４２は、ＤＮＳフォワーダ装置２０を介してＤＮＳ権威サーバ装置３０から送信されるＤＮＳクエリ応答のキャッシュを制御する。
【０１０７】
具体的には、キャッシュ制御部３４２は、通信制御ＩＦ部１１０を介してＤＮＳクエリ応答を受信した場合に、受信したＤＮＳクエリ応答が権威のある応答であるか否かにかかわらず、そのＤＮＳクエリ応答の内容をキャッシュＤＢ１３１にキャッシュする。ここで、ＤＮＳクエリ応答の内容をキャッシュする際に、キャッシュ制御部３４２は、認証判定部３４４によって認証されたＤＮＳクエリ応答のみをキャッシュする。なお、かかるキャッシュ制御部３４２によって行われる処理については、後にさらに具体的に説明する。
【０１０８】
次に、図９、１０および１１を参照して、本実施例３に係るＤＮＳの動作について説明する。図９、１０および１１は、本実施例３に係るＤＮＳの動作を説明するためのシーケンス図である。ここでは、信頼フォワーダであるＤＮＳフォワーダ装置２０から送信されたＤＮＳクエリ応答が認証される場合と、信頼フォワーダであるＤＮＳフォワーダ装置２０から送信されたＤＮＳクエリ応答が認証されない場合と、ＤＮＳフォワーダ装置２０が非信頼フォワーダである場合とをそれぞれ説明する。
【０１０９】
最初に、図９を参照して、信頼フォワーダであるＤＮＳフォワーダ装置２０から送信されたＤＮＳクエリ応答が認証される場合について説明する。なお、図９に示すステップＳ４０１〜Ｓ４０８の手順については、ＴＳＩＧやＳＩＧ（０）に関するメッセージの扱い以外は、図３に示したステップＳ１０１〜Ｓ１０８の手順と同様であるので、ここでは説明を省略する。なお、ステップＳ４０８で送信されるクエリ応答には、ＴＳＩＧまたはＳＩＧ（０）の正当な認証用情報が含まれているものとする。
【０１１０】
ＤＮＳフォワーダ装置２０からＤＮＳクエリ応答が送信されると、ＤＮＳ回送サーバ装置３００では、信頼フォワーダ判定部２４３が、信頼情報付フォワード先リスト２２１を参照して、ＤＮＳクエリ応答の送信元であるＤＮＳフォワーダ装置２０が信頼フォワーダであるか否かを判定する（ステップＳ４０９）。
【０１１１】
そして、信頼フォワーダ判定部２４３によって、送信元のＤＮＳフォワーダ装置２０が信頼フォワーダであると判定された場合には、認証判定部３４４が、鍵リスト３２２から取得したＤＮＳフォワーダ装置２０に対応する鍵と、ＤＮＳクエリ応答に含まれているＴＳＩＧまたはＳＩＧ（０）の認証用情報とに基づいて、送信されたＤＮＳクエリ応答を認証判定する。
【０１１２】
そして、認証判定部３４４によってＤＮＳクエリ応答が認証された場合には、キャッシュ制御部３４２が、受信したＤＮＳクエリ応答が権威のある応答であるか否かにかかわらず、すなわち、受信したＤＮＳクエリ応答のヘッダ部に設定されている「ＡＡ−ｂｉｔ」の値にかかわらず、そのＤＮＳクエリ応答をキャッシュＤＢ１３１にキャッシュする（ステップＳ４１０）。さらに、クエリ制御部１４１が、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳクライアント装置１０に送信する（ステップＳ４１１）。
【０１１３】
その後、ＤＮＳクライアント装置１０が、ステップＳ４０１と同一のＤＮＳクエリ要求をＤＮＳ回送サーバ装置３００に送信したとする（ステップＳ４１２）。
【０１１４】
その場合、ＤＮＳ回送サーバ装置３００では、クエリ制御部１４１が、ＤＮＳクライアント装置１０からＤＮＳクエリ要求を受信すると、キャッシュＤＢ１３１を参照して、受信したＤＮＳクエリ要求に対応するＤＮＳクエリ応答のキャッシュがあるか否かを判定する。そして、クエリ制御部１４１は、対応するＤＮＳクエリ応答のキャッシュがある場合（キャッシュヒットした場合）には（ステップＳ４１３）、対応するＤＮＳクエリ応答をキャッシュＤＢ１３１から取得してＤＮＳクライアント装置１０に送信する。このとき、クエリ制御部１４１は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダに設定したＤＮＳクエリ応答をＤＮＳクライアント装置１０に送信する（ステップＳ４１４）。
【０１１５】
次に、図１０を参照して、信頼フォワーダであるＤＮＳフォワーダ装置２０から送信されたＤＮＳクエリ応答が認証されない場合について説明する。なお、図１０に示すステップＳ５０１〜Ｓ５０８の手順については、ＴＳＩＧやＳＩＧ（０）に関するメッセージの扱い以外は、図３に示したステップＳ１０１〜Ｓ１０８の手順と同様であるので、ここでは説明を省略する。なお、ステップＳ５０８で送信されるＤＮＳクエリ応答には、ＴＳＩＧまたはＳＩＧ（０）の不正な認証用情報が含まれているか、ＴＳＩＧまたはＳＩＧ（０）の認証用情報が含まれていないものとする。
【０１１６】
ＤＮＳフォワーダ装置２０からＤＮＳクエリ応答が送信されると、ＤＮＳ回送サーバ装置３００では、信頼フォワーダ判定部２４３が、信頼情報付フォワード先リスト２２１を参照して、ＤＮＳクエリ応答の送信元であるＤＮＳフォワーダ装置２０が信頼フォワーダであるか否かを判定する（ステップＳ５０９）。
【０１１７】
そして、信頼フォワーダ判定部２４３によって、送信元のＤＮＳフォワーダ装置２０が信頼フォワーダであると判定された場合には、認証判定部３４４が、ＤＮＳクエリ応答に含まれているＴＳＩＧまたはＳＩＧ（０）の認証用情報に基づいて、送信されたＤＮＳクエリ応答を認証判定する。
【０１１８】
そして、認証判定部３４４によってＤＮＳクエリ応答が認証されなかった場合には、キャッシュ制御部３４２が、受信したＤＮＳクエリ応答の内容をキャッシュすることなく（ステップＳ５１０）、クエリ制御部１４１が、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」がヘッダ部に設定されたＤＮＳクエリ応答をそのままＤＮＳクライアント装置１０に送信する（ステップＳ５１１）。
【０１１９】
その後、ＤＮＳクライアント装置１０が、ステップＳ５０１と同一のＤＮＳクエリ要求をＤＮＳ回送サーバ装置３００に送信したとする（ステップＳ５１２）。
【０１２０】
その場合、ＤＮＳ回送サーバ装置３００では、クエリ制御部１４１が、ＤＮＳクライアント装置１０からＤＮＳクエリ要求を受信すると、キャッシュＤＢ１３１を参照して、受信したＤＮＳクエリ要求に対応するＤＮＳクエリ応答のキャッシュがあるか否かを判定する。ここで、前述したステップＳ５１０においてＤＮＳクエリ応答の内容がキャッシュされていないので、クエリ制御部１４１は、受信したＤＮＳクエリ要求に対応するＤＮＳクエリ応答のキャッシュがないと判定し（ステップＳ５１３）、そのＤＮＳクエリ要求をＤＮＳフォワーダ装置２０に送信する（ステップＳ５１４）。
【０１２１】
ＤＮＳフォワーダ装置２０は、ＤＮＳ回送サーバ装置３００からＤＮＳクエリ要求を受信すると、対応するＤＮＳクエリ応答がキャッシュされているか否かを判定する。ここで、ステップＳ５０７においてＤＮＳクエリ応答の内容がキャッシュされているので（ステップＳ５１５）、ＤＮＳフォワーダ装置２０は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳ回送サーバ装置３００に送信する（ステップＳ５１６）。
【０１２２】
ＤＮＳ回送サーバ装置３００では、ＤＮＳフォワーダ装置２０からＤＮＳクエリ応答が送信されると、信頼フォワーダ判定部２４３が、信頼情報付フォワード先リスト２２１を参照して、ＤＮＳクエリ応答の送信元であるＤＮＳフォワーダ装置２０が信頼フォワーダであるか否かを判定する（ステップＳ５１７）。
【０１２３】
そして、信頼フォワーダ判定部２４３によって、送信元のＤＮＳフォワーダ装置２０が信頼フォワーダであると判定された場合には、認証判定部３４４が、ＤＮＳクエリ応答に含まれているＴＳＩＧまたはＳＩＧ（０）の認証用情報に基づいて、送信されたＤＮＳクエリ応答を認証判定する。
【０１２４】
そして、認証判定部３４４によってＤＮＳクエリ応答が認証されなかった場合には、キャッシュ制御部３４２が、受信したＤＮＳクエリ応答の内容をキャッシュすることなく（ステップＳ５１８）、クエリ制御部１４１が、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」がヘッダ部に設定されたＤＮＳクエリ応答をそのまま、もしくはエラー応答を、ＤＮＳクライアント装置１０に送信する（ステップＳ５１９）。
【０１２５】
次に、図１１を参照して、ＤＮＳフォワーダ装置２０が非信頼フォワーダである場合について説明する。なお、図１１に示すステップＳ６０１〜Ｓ６０８の手順については、ＴＳＩＧやＳＩＧ（０）に関するメッセージの扱い以外は、図３に示したステップＳ１０１〜Ｓ１０８の手順と同様であるので、ここでは説明を省略する。なお、Ｓ６０８で送信されるＤＮＳクエリ応答には、ＴＳＩＧまたはＳＩＧ（０）の正当な認証用情報が含まれているか、ＴＳＩＧまたはＳＩＧ（０）の不正な認証用情報が含まれているか、ＴＳＩＧまたはＳＩＧ（０）の認証用情報が含まれていないものとする。
【０１２６】
ＤＮＳフォワーダ装置２０からＤＮＳクエリ応答が送信されると、ＤＮＳ回送サーバ装置３００では、信頼フォワーダ判定部２４３が、信頼情報付フォワード先リスト２２１を参照して、ＤＮＳクエリ応答の送信元であるＤＮＳフォワーダ装置２０が信頼フォワーダであるか否かを判定する。
【０１２７】
ここで、信頼フォワーダ判定部２４３によって、送信元のＤＮＳフォワーダ装置２０が信頼フォワーダではないと判定された場合には、認証判定部３４４が、ＤＮＳクエリ応答の認証判定を行わない。そして、キャッシュ制御部３４２が、受信したＤＮＳクエリ応答の内容をキャッシュすることなく（ステップＳ６０９）、クエリ制御部１４１が、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」がヘッダ部に設定されたＤＮＳクエリ応答をそのままＤＮＳクライアント装置１０に送信する（ステップＳ６１０）。
【０１２８】
その後、ＤＮＳクライアント装置１０が、ステップＳ６０１と同一のＤＮＳクエリ要求をＤＮＳ回送サーバ装置３００に送信したとする（ステップＳ６１１）。
【０１２９】
その場合、ＤＮＳ回送サーバ装置３００では、クエリ制御部１４１が、ＤＮＳクライアント装置１０からＤＮＳクエリ要求を受信すると、キャッシュＤＢ１３１を参照して、受信したＤＮＳクエリ要求に対応するＤＮＳクエリ応答のキャッシュがあるか否かを判定する。ここで、前述したステップＳ６０９においてＤＮＳクエリ応答の内容がキャッシュされていないので、クエリ制御部１４１は、受信したＤＮＳクエリ要求に対応するＤＮＳクエリ応答のキャッシュがないと判定し（ステップＳ６１２）、そのＤＮＳクエリ要求をＤＮＳフォワーダ装置２０に送信する（ステップＳ６１３）。
【０１３０】
ＤＮＳフォワーダ装置２０は、ＤＮＳ回送サーバ装置３００からＤＮＳクエリ要求を受信すると、対応するＤＮＳクエリ応答がキャッシュされているか否かを判定する。ここで、ステップＳ６０７においてＤＮＳクエリ応答の内容がキャッシュされているので（ステップＳ６１４）、ＤＮＳフォワーダ装置２０は、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」をヘッダ部に設定したＤＮＳクエリ応答をＤＮＳ回送サーバ装置３００に送信する（ステップＳ６１５）。
【０１３１】
ＤＮＳ回送サーバ装置３００では、ＤＮＳフォワーダ装置２０からＤＮＳクエリ応答が送信されると、信頼フォワーダ判定部２４３が、信頼情報付フォワード先リスト２２１を参照して、ＤＮＳクエリ応答の送信元であるＤＮＳフォワーダ装置２０が信頼フォワーダであるか否かを判定する。
【０１３２】
ここで、信頼フォワーダ判定部２４３によって、送信元のＤＮＳフォワーダ装置２０が信頼フォワーダではないと判定された場合には、認証判定部３４４が、ＤＮＳクエリ応答の認証判定を行わない。そして、キャッシュ制御部３４２が、受信したＤＮＳクエリ応答の内容をキャッシュすることなく（ステップＳ６１６）、クエリ制御部１４１が、「ＡＡ−ｂｉｔ＝ＯＦＦ（０）」がヘッダ部に設定されたＤＮＳクエリ応答ＤＮＳクライアント装置１０に送信する（ステップＳ６１７）。
【０１３３】
上述してきたように、本実施例３では、認証判定部３４４が、ＤＮＳフォワーダ装置２０からＤＮＳクエリ応答を受信した場合に、受信したＤＮＳクエリ応答を所定の認証方法により認証判定する。そして、キャッシュ制御部３４２が、認証判定部３４４によって認証されたＤＮＳクエリ応答のみをキャッシュする。
【０１３４】
したがって、本実施例３によれば、信頼フォワーダへのなりすましを防止することができるので、より強固に、ＤＮＳ回送サーバ装置３００がＤＮＳキャッシュポイズニング攻撃の被害にあうことを防ぐことが可能になる。
【０１３５】
なお、本実施例３では、認証判定部３４４が、信頼フォワーダ判定部２４３によって信頼フォワーダであると判定されたＤＮＳフォワーダ装置２０から送信されたＤＮＳクエリ応答を所定の認証方法により認証判定することとした。しかしながら、本発明はこれに限られるものではなく、信頼フォワーダ判定部２４３による判定と、認証判定部３４４による認証判定とは順序が逆になってもよい。すなわち、信頼フォワーダ判定部２４３が、送信されたＤＮＳクエリ応答が認証判定部３４４によって認証された場合に、そのＤＮＳクエリ応答の送信元であるＤＮＳフォワーダ装置２０が信頼フォワーダであるか否かを判定するようにしてもよい。
【０１３６】
また、上記実施例で説明したＤＮＳ回送装置サーバの機能は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することもできる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク（ＨＤ：Hard Disk）、フレキシブルディスク（ＦＤ：Flexible Disk）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＭＯ（Magneto-Optical disk）、ＤＶＤ（Digital Versatile Disk）などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【産業上の利用可能性】
【０１３７】
以上のように、本発明に係るＤＮＳメッセージ回送装置、ＤＮＳメッセージ回送システム、ＤＮＳメッセージ回送方法およびＤＮＳメッセージ回送プログラムは、ＤＮＳ回送サーバ装置とＤＮＳフォワーダ装置とを有するＤＮＳに有用であり、特に、システムの負荷を軽減することが求められる場合に適している。
【符号の説明】
【０１３８】
１０    ＤＮＳクライアント装置
２０    ＤＮＳフォワーダ装置
３０    ＤＮＳ権威サーバ装置
１００，２００，３００    ＤＮＳ回送サーバ装置
１１０    通信制御ＩＦ部
１２０，２２０，３２０    記憶部
１２１    フォワード先リスト
１３０    キャッシュデータ部
１３１    キャッシュＤＢ
１４０，２４０，３４０    制御部
１４１    クエリ制御部
１４２，２４２，３４２    キャッシュ制御部
２２１    信頼情報付フォワード先リスト
２４３    信頼フォワーダ判定部
３４４    認証判定部
【図１】
2010278559.tif 000003
【図２】
2010278559.tif 000004
【図３】
2010278559.tif 000005
【図４】
2010278559.tif 000006
【図５】
2010278559.tif 000007
【図６】
2010278559.tif 000008
【図７】
2010278559.tif 000009
【図８】
2010278559.tif 000010
【図９】
2010278559.tif 000011
【図１０】
2010278559.tif 000012
【図１１】
2010278559.tif 000013
【図１２】
2010278559.tif 000014
【図１３】
2010278559.tif 000015