(57)【特許請求の範囲】
【請求項１】
他のサーバ装置から取得したページコンテンツに含まれる配信タグを介してクライアント端末からアクセスを受け付け、当該クライアント端末にコンテンツの配信を行なう装置であって、
上記クライアント端末からの上記配信タグを介したアクセスに応じ、上記ページコンテンツの取得元のサーバ装置の情報を取得するとともに上記ページコンテンツに含まれるコンテンツの引き当てを行なう機能を有するコードを、検証用の署名を付加して提供するコード提供手段と、
上記クライアント端末からの上記コードによるコンテンツの引き当てのアクセスに応じ、当該アクセス時に付加される署名によりアクセスを発動したコードが正当なものであるか否かを検証するコード検証手段と、
コード検証が正常に行なわれた場合に、アクセス時に付加される上記ページコンテンツの取得元のサーバ装置の情報によりコンテンツ提供が許可されるか否かを検証するサーバ検証手段と、
サーバ検証が正常に行なわれた場合に、引き当て対象のコンテンツを当該クライアント端末に提供するコンテンツ提供手段とを備え、
上記コード提供手段の付加する署名は、コンテンツを一意に識別するコンテンツＩＤと、ページコンテンツを提供するサーバ装置のドメインと、処理時点の時刻を示すタイムスタンプと、アクセスしてきたクライアント端末のユーザエージェントおよびＩＰアドレスと、内部の秘密鍵とを合体したものにハッシュアルゴリズムを適用して生成することを特徴とするコンテンツ配信装置。
【請求項２】
請求項１に記載のコンテンツ配信装置において、
上記コード検証手段は、上記コードの提供時に付加したタイムスタンプにより、現在時刻から所定時間以内に取得したコードによるアクセスであるか否かの時刻認証を更に行うことを特徴とするコンテンツ配信装置。
【請求項３】
請求項１または２のいずれか一項に記載のコンテンツ配信装置において、
上記クライアント端末からの上記配信タグを介したアクセスに際し、当該アクセス時に付加される、上記配信タグに含まれる他の署名に基づいて配信タグの正当性を検証する配信タグ検証手段を備えたことを特徴とするコンテンツ配信装置。
【請求項４】
請求項３に記載のコンテンツ配信装置において、
上記他の署名は、コンテンツを一意に識別するコンテンツＩＤと、ページコンテンツを提供するサーバ装置のドメインと、内部の他の秘密鍵とを合体したものにハッシュアルゴリズムを適用して生成することを特徴とするコンテンツ配信装置。
【請求項５】
他のサーバ装置から取得したページコンテンツに含まれる配信タグを介してクライアント端末からアクセスを受け付け、当該クライアント端末にコンテンツの配信を行なう方法であって、
上記クライアント端末からの上記配信タグを介したアクセスに応じ、上記ページコンテンツの取得元のサーバ装置の情報を取得するとともに上記ページコンテンツに含まれるコンテンツの引き当てを行なう機能を有するコードを、検証用の署名を付加して提供するコード提供工程と、
上記クライアント端末からの上記コードによるコンテンツの引き当てのアクセスに応じ、当該アクセス時に付加される署名によりアクセスを発動したコードが正当なものであるか否かを検証するコード検証工程と、
コード検証が正常に行なわれた場合に、アクセス時に付加される上記ページコンテンツの取得元のサーバ装置の情報によりコンテンツ提供が許可されるか否かを検証するサーバ検証工程と、
サーバ検証が正常に行なわれた場合に、引き当て対象のコンテンツを当該クライアント端末に提供するコンテンツ提供工程とを備え、
上記コード提供工程の付加する署名は、コンテンツを一意に識別するコンテンツＩＤと、ページコンテンツを提供するサーバ装置のドメインと、処理時点の時刻を示すタイムスタンプと、アクセスしてきたクライアント端末のユーザエージェントおよびＩＰアドレスと、内部の秘密鍵とを合体したものにハッシュアルゴリズムを適用して生成することを特徴とするコンテンツ配信制御方法。
【請求項６】
他のサーバ装置から取得したページコンテンツに含まれる配信タグを介してクライアント端末からアクセスを受け付け、当該クライアント端末にコンテンツの配信を行なう装置の制御プログラムであって、
コンピュータを、
上記クライアント端末からの上記配信タグを介したアクセスに応じ、上記ページコンテンツの取得元のサーバ装置の情報を取得するとともに上記ページコンテンツに含まれるコンテンツの引き当てを行なう機能を有するコードを、検証用の署名を付加して提供するコード提供手段、
上記クライアント端末からの上記コードによるコンテンツの引き当てのアクセスに応じ、当該アクセス時に付加される署名によりアクセスを発動したコードが正当なものであるか否かを検証するコード検証手段、
コード検証が正常に行なわれた場合に、アクセス時に付加される上記ページコンテンツの取得元のサーバ装置の情報によりコンテンツ提供が許可されるか否かを検証するサーバ検証手段、
サーバ検証が正常に行なわれた場合に、引き当て対象のコンテンツを当該クライアント端末に提供するコンテンツ提供手段、
として機能させ、
上記コード提供手段の付加する署名は、コンテンツを一意に識別するコンテンツＩＤと、ページコンテンツを提供するサーバ装置のドメインと、処理時点の時刻を示すタイムスタンプと、アクセスしてきたクライアント端末のユーザエージェントおよびＩＰアドレスと、内部の秘密鍵とを合体したものにハッシュアルゴリズムを適用して生成することを特徴とするコンテンツ配信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット等のネットワーク上で広告等のコンテンツを配信するためのコンテンツ配信装置、コンテンツ配信制御方法、および、コンテンツ配信制御プログラムに関する。
【背景技術】
【０００２】
インターネットのＷｅｂページの中には広告等のコンテンツが含まれており、ＷｅｂページのＨＴＭＬ（Hyper Text Markup Language）を解釈する過程でサーバ側からコンテンツデータの取得（サーバから見ればコンテンツ配信）が行われる。
【０００３】
図１は従来のＷｅｂサーバによるコンテンツ配信の例を示す図であり、Ｗｅｂサーバ３のＷｅｂページを閲覧するクライアント端末１のブラウザ１１が、同一のＷｅｂサーバ３上にあるコンテンツを参照する。すなわち、Ｗｅｂサーバ３から出力されたＷｅｂページのＨＴＭＬと、Ｗｅｂサーバ３から配信されるコンテンツは同一のブラウザ１１によって閲覧されることになる。従って、テキスト、画像等のコンテンツはＷｅｂページによって表示制御が可能であり、コンテンツだけを切り離して他のブラウザで表示させることを抑制することができる。
【０００４】
一方、インターネットにおけるＷｅｂシステムを運用する際、サーバへの負荷分散、キャッシュを利用した効率的な配信およびＷｅｂページに含まれるコンテンツの動的な差し替えを実現するため、Ｗｅｂサーバとは別のコンテンツ配信サーバを用いることがある。コンテンツ配信サーバは、テキスト、画像（静止画、動画）等のコンテンツを、ユーザのブラウザが参照するＷｅｂサーバとは別のコンテンツ配信サーバから送信し、ブラウザで表示を行うものである。この仕組みはコンテンツ配信ネットワーク（ＣＤＮ：Contents Delivery Network）と呼ばれている。
【０００５】
コンテンツ配信ネットワークにおけるコンテンツ配信手法としては、
（１）ＨＴＭＬによるページコンテンツ（コンテンツ配信サーバから配信を受けるコンテンツを含まないページデータ）に記述された「＜ｉｍｇ＞」タグ等の配信タグによってコンテンツ配信サーバよりコンテンツを配信
（２）ページコンテンツに記述された「＜ｅｍｂｅｄ＞」タグ等によってコンテンツ配信サーバより配信
（３）ページコンテンツに記述されたＪａｖａＳｃｒｉｐｔによって、上記（１）（２）のコンテンツ引き当てのためのコンテンツ配信サーバに対するリクエストを生成
等がある。
【０００６】
図２は従来のコンテンツ配信サーバによるコンテンツ配信の例を示す図であり、図３はその処理例を示すシーケンス図である。
【０００７】
図２および図３において、コンテンツ配信は次のように行なわれる。
【０００８】
先ず、事前準備として、Ｗｅｂサーバ３上のＷｅｂページにコンテンツの場所を示す配信タグを埋め込む。図４（ａ）は配信タグの例を示しており、画像の場合は「 ＜ｉｍｇ  ｓｒｃ＝"ｈｔｔｐ：／／配信サーバ名／？ｃｏｎｔｅｎｔｉｄ＝００００１＞」といった記述となり、Ｆｌａｓｈ（音声やベクターグラフィックスのアニメーションを組み合わせて作成されたＷｅｂコンテンツ）の場合は「＜ｅｍｂｅｄ  ｓｒｃ＝"ｈｔｔｐ：／／配信サーバ名／？ｃｏｎｔｅｎｔｉｄ＝０００１"＞」といった記述となり、テキストの場合は「＜ｓｃｒｉｐｔ  ｔｙｐｅ＝"ｊａｖａｓｃｒｉｐｔ"  ｓｒｃ＝"ｈｔｔｐ：／／配信サーバ名／？ｃｏｎｔｅｎｔｉｄ＝０００１"＞」といった記述となる。
【０００９】
次いで、図３に戻り、ブラウザ１１からＷｅｂサーバ３にＷｅｂページの取得リクエストを送信すると（ステップＳ１）、Ｗｅｂサーバ３は、ブラウザ１１からの要求に従い、Ｗｅｂサーバ３上にある配信タグを含むＷｅｂページ（ＨＴＭＬ）をブラウザ１１に返却する（ステップＳ２）。
【００１０】
次いで、ブラウザ１１はＷｅｂサーバ３から返却されたＷｅｂページをレンダリングする過程において、配信タグ内に記述されているコンテンツ配信サーバ４にコンテンツ取得リクエストを送信する（ステップＳ３）。
【００１１】
コンテンツ配信サーバ４は、ブラウザ１１から到達したコンテンツ取得リクエストに従って、コンテンツデータをコンテンツ配信サーバ４内もしくはネットワーク上のコンテンツストレージから取得し（ステップＳ４、Ｓ５）、コンテンツデータをブラウザ１１に送信する（ステップＳ６）。図４（ｂ）は送信されるコンテンツデータの例を示しており、画像の場合は画像データ、Ｆｌａｓｈの場合はＦｌａｓｈデータ、テキストの場合はテキストを書き出すＪａｖａＳｃｒｉｐｔのコードとなる。
【００１２】
なお、出願人は出願時点までに本発明に関連する公開された先行技術文献を発見することができなかった。よって、先行技術文献情報を開示していない。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述したように、インターネットにおけるＷｅｂシステムを運用する上では、ブラウザが参照するＷｅｂサーバとは別のコンテンツ配信サーバからコンテンツを送信するコンテンツ配信ネットワークが望ましいものであるが、このようなコンテンツ配信ネットワークにあっては次のような問題があった。
【００１４】
すなわち、ＨＴＭＬと画像等のコンテンツの配信経路が分離されているコンテンツ配信ネットワークの場合においては、コンテンツ配信サーバが配信するコンテンツが所定のＷｅｂサーバ（Ａ）から出力されたＨＴＭＬによる呼び出しなのか、他のＷｅｂサーバ（Ｂ）から出力されたＨＴＭＬによる呼び出しなのかの判別をつけることが困難である。そのため、ＨＴＭＬに記述されたコンテンツ配信サーバへのコンテンツリクエストとなるコンテンツ配信用の記述（配信タグ）を他のＷｅｂページにコピーすることによって、コンテンツ配信サーバが保持するコンテンツを自由に外部から参照できてしまうことになる。
【００１５】
特に広告に関するコンテンツの場合、広告掲載場所となるドメイン、サイト、ＵＲＬを指定したコンテンツ配信を行う契約であることが多く、バナー広告やテキスト広告といったコンテンツが外部ＷｅｂサイトおよびＷｅｂページにコピーされ、配信されてしまうことは好ましくない。
【００１６】
より具体的には次の点が問題となる。
（１）配信タグの間違いもしくは改竄
配信タグの記述を間違えてしまう、あるいは配信タグを意図的に書き換える行為に対して、配信を抑制または配信異常を検知する手段がない。そのため、しかるべき場所に配信されるべきコンテンツが配信されないという事態が発生する可能性がある。
（２）配信タグの移動
（ア）配信タグは、どのＷｅｂページに埋め込まれていても動作するため、コンテンツ配信をすべきＷｅｂページではないＷｅｂページまたは他のＷｅｂサーバ上のＷｅｂページに対してもコンテンツ配信を行うことができてしまう。
【００１７】
（イ）配信タグが埋め込まれているＷｅｂページを確認する手段としては、ブラウザがコンテンツ配信サーバに対して送信してくるＨＴＴＰ＿ＲＥＦＦＥＲＥＲがあるが、ＲＥＦＦＥＲＥＲは改竄可能であり、また、ウィルス対策ソフト等によってＲＥＦＦＥＲＥＲ送信が制限されている場合が存在するため、確実な手段ではない。
【００１８】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、コンテンツ配信ネットワークにより配信される広告等のコンテンツの掲載場所を保証することのできるコンテンツ配信装置、コンテンツ配信制御方法、および、コンテンツ配信制御プログラムを提供することにある。
【課題を解決するための手段】
【００１９】
上記の課題を解決するため、本発明にあっては、請求項１に記載されるように、他のサーバ装置から取得したページコンテンツに含まれる配信タグを介してクライアント端末からアクセスを受け付け、当該クライアント端末にコンテンツの配信を行なう装置であって、上記クライアント端末からの上記配信タグを介したアクセスに応じ、上記ページコンテンツの取得元のサーバ装置の情報を取得するとともに上記ページコンテンツに含まれるコンテンツの引き当てを行なう機能を有するコードを、検証用の署名を付加して提供するコード提供手段と、上記クライアント端末からの上記コードによるコンテンツの引き当てのアクセスに応じ、当該アクセス時に付加される署名によりアクセスを発動したコードが正当なものであるか否かを検証するコード検証手段と、コード検証が正常に行なわれた場合に、アクセス時に付加される上記ページコンテンツの取得元のサーバ装置の情報によりコンテンツ提供が許可されるか否かを検証するサーバ検証手段と、サーバ検証が正常に行なわれた場合に、引き当て対象のコンテンツを当該クライアント端末に提供するコンテンツ提供手段とを備え、上記コード提供手段の付加する署名は、コンテンツを一意に識別するコンテンツＩＤと、ページコンテンツを提供するサーバ装置のドメインと、処理時点の時刻を示すタイムスタンプと、アクセスしてきたクライアント端末のユーザエージェントおよびＩＰアドレスと、内部の秘密鍵とを合体したものにハッシュアルゴリズムを適用して生成するコンテンツ配信装置を要旨としている。
【００２０】
また、請求項２に記載されるように、請求項１に記載のコンテンツ配信装置において、上記コード検証手段は、上記コードの提供時に付加したタイムスタンプにより、現在時刻から所定時間以内に取得したコードによるアクセスであるか否かの時刻認証を更に行うようにすることができる。
【００２２】
また、請求項３に記載されるように、請求項１または２のいずれか一項に記載のコンテンツ配信装置において、上記クライアント端末からの上記配信タグを介したアクセスに際し、当該アクセス時に付加される、上記配信タグに含まれる他の署名に基づいて配信タグの正当性を検証する配信タグ検証手段を備えるようにすることができる。
【００２３】
また、請求項４に記載されるように、請求項３に記載のコンテンツ配信装置において、上記他の署名は、コンテンツを一意に識別するコンテンツＩＤと、ページコンテンツを提供するサーバ装置のドメインと、内部の他の秘密鍵とを合体したものにハッシュアルゴリズムを適用して生成するようにすることができる。
【００２４】
また、請求項５に記載されるように、他のサーバ装置から取得したページコンテンツに含まれる配信タグを介してクライアント端末からアクセスを受け付け、当該クライアント端末にコンテンツの配信を行なう方法であって、上記クライアント端末からの上記配信タグを介したアクセスに応じ、上記ページコンテンツの取得元のサーバ装置の情報を取得するとともに上記ページコンテンツに含まれるコンテンツの引き当てを行なう機能を有するコードを、検証用の署名を付加して提供するコード提供工程と、上記クライアント端末からの上記コードによるコンテンツの引き当てのアクセスに応じ、当該アクセス時に付加される署名によりアクセスを発動したコードが正当なものであるか否かを検証するコード検証工程と、コード検証が正常に行なわれた場合に、アクセス時に付加される上記ページコンテンツの取得元のサーバ装置の情報によりコンテンツ提供が許可されるか否かを検証するサーバ検証工程と、サーバ検証が正常に行なわれた場合に、引き当て対象のコンテンツを当該クライアント端末に提供するコンテンツ提供工程とを備え、上記コード提供工程の付加する署名は、コンテンツを一意に識別するコンテンツＩＤと、ページコンテンツを提供するサーバ装置のドメインと、処理時点の時刻を示すタイムスタンプと、アクセスしてきたクライアント端末のユーザエージェントおよびＩＰアドレスと、内部の秘密鍵とを合体したものにハッシュアルゴリズムを適用して生成するコンテンツ配信制御方法として構成することができる。
【００２５】
また、請求項６に記載されるように、他のサーバ装置から取得したページコンテンツに含まれる配信タグを介してクライアント端末からアクセスを受け付け、当該クライアント端末にコンテンツの配信を行なう装置の制御プログラムであって、コンピュータを、上記クライアント端末からの上記配信タグを介したアクセスに応じ、上記ページコンテンツの取得元のサーバ装置の情報を取得するとともに上記ページコンテンツに含まれるコンテンツの引き当てを行なう機能を有するコードを、検証用の署名を付加して提供するコード提供手段、上記クライアント端末からの上記コードによるコンテンツの引き当てのアクセスに応じ、当該アクセス時に付加される署名によりアクセスを発動したコードが正当なものであるか否かを検証するコード検証手段、コード検証が正常に行なわれた場合に、アクセス時に付加される上記ページコンテンツの取得元のサーバ装置の情報によりコンテンツ提供が許可されるか否かを検証するサーバ検証手段、サーバ検証が正常に行なわれた場合に、引き当て対象のコンテンツを当該クライアント端末に提供するコンテンツ提供手段、として機能させ、上記コード提供手段の付加する署名は、コンテンツを一意に識別するコンテンツＩＤと、ページコンテンツを提供するサーバ装置のドメインと、処理時点の時刻を示すタイムスタンプと、アクセスしてきたクライアント端末のユーザエージェントおよびＩＰアドレスと、内部の秘密鍵とを合体したものにハッシュアルゴリズムを適用して生成するコンテンツ配信制御プログラムとして構成することができる。
【発明の効果】
【００２６】
本発明のコンテンツ配信装置、コンテンツ配信制御方法、および、コンテンツ配信制御プログラムにあっては、ページコンテンツに含まれる配信タグを介したアクセスに応じてＪａｖａＳｃｒｉｐｔ等のコードを返送し、そのコードによるコンテンツの引き当てのアクセスに応じてコンテンツを提供するようにし、コードに付加した署名によってコードが正当なものであるか否かを検証するとともに、コードによって取得したページコンテンツの取得元のサーバ装置の情報によりコンテンツ提供が許可されるか否かを検証するようにしているため、コンテンツ配信ネットワークにより配信される広告等のコンテンツの掲載場所を保証することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の好適な実施形態につき説明する。
【００２８】
＜システム構成＞
図５は本発明の一実施形態にかかるシステムの構成例を示す図である。
【００２９】
図５において、インターネット等のネットワーク２にはＷｅｂサーバ３およびコンテンツ配信サーバ４が接続されており、ユーザの使用するＰＣ（Personal Computer）、ＰＤＡ（Personal Digital Assistants）、携帯電話等のクライアント端末１に搭載されたブラウザ１１からＷｅｂサーバ３およびコンテンツ配信サーバ４にアクセスが可能となっている。
【００３０】
Ｗｅｂサーバ３は、ＨＴＴＰ（Hyper Text Transfer Protocol）に基づくページデータ取得のリクエストに応じ、ストレージ３１に格納されたＨＴＭＬで記述されたページコンテンツＰをレスポンスとして要求元に返す機能を有している。なお、ページコンテンツＰにはコンテンツ取得のための任意数の配信タグＴが含まれている。配信タグＴの具体例については後述するが、クライアント端末１での解釈・実行時にページコンテンツＰの取得元のＷｅｂサーバ３の情報を取得するとともにコンテンツの引き当てを行なう機能を有するＪａｖａＳｃｒｉｐｔのソースをコンテンツ配信サーバ４から取得するために用いられる。
【００３１】
コンテンツ配信サーバ４は、クライアント端末１からのＨＴＴＰリクエストを受信するＨＴＴＰリクエスト受信部４１と、リクエストがＪａｖａＳｃｒｉｐｔソース取得リクエストである場合に、リクエストに付加されるパラメータによって配信タグＴが正当なものであるか否かを検証する配信タグ検証部４２と、配信タグＴが正当なものである場合にクライアント端末１に送信するＪａｖａＳｃｒｉｐｔソースを生成するＪａｖａＳｃｒｉｐｔ生成部４３とを備えている。
【００３２】
また、コンテンツ配信サーバ４は、クライアント端末１からのリクエストがコンテンツ引き当てリクエストである場合に、リクエストに付加されるパラメータによってＪａｖａＳｃｒｉｐｔが正当なものであるか否かを検証するＪａｖａＳｃｒｉｐｔ検証部４４と、ＪａｖａＳｃｒｉｐｔが正当なものである場合に、リクエストに付加されるパラメータによって、クライアント端末１でのページコンテンツＰの取得元のＷｅｂサーバ３の情報（ドメイン、ＵＲＬ）からコンテンツ提供が許可されるか否かを検証するＵＲＬ検証部４５と、コンテンツ提供が許可される場合にコンテンツ配信サーバ４内部もしくはネットワーク上にあるコンテンツストレージ４０からコンテンツを取得するコンテンツ取得部４６とを備えている。
【００３３】
また、コンテンツ配信サーバ４は、ＪａｖａＳｃｒｉｐｔ生成部４３で生成されたＪａｖａＳｃｒｉｐｔソースもしくはコンテンツ取得部４６で取得されたコンテンツを要求元であるクライアント端末１に送信するＨＴＴＰレスポンス送信部４７を備えている。
【００３４】
更に、配信タグ検証部４２での配信タグ検証に用いられる秘密鍵＃１ Ｋ１と、ＪａｖａＳｃｒｉｐｔ生成部４３でのＪａｖａＳｃｒｉｐｔ生成およびＪａｖａＳｃｒｉｐｔ検証部４４でのＪａｖａＳｃｒｉｐｔ検証に用いられる秘密鍵＃２ Ｋ２と、ＵＲＬ検証部４５でのＵＲＬ検証に用いられるＵＲＬテーブルＵＴとが保持されている。
【００３５】
＜動作＞
図６は上記の実施形態の処理例を示すシーケンス図である。
【００３６】
先ず、事前の作業として、配信タグＴをＷｅｂサーバ３のページコンテンツＰに埋め込んでおく。図７は配信タグＴの例を示す図であり、（ａ）に示すように、ソース取得先ＵＲＬ（コンテンツ配信サーバ４のＵＲＬ）のパラメータとして、コンテンツを一意に識別するコンテンツＩＤと、ページコンテンツを提供するＷｅｂサーバ３のドメインと、情報の改竄を検証するための署名＃１とを含んでいる。署名＃１は、コンテンツＩＤとドメインと秘密鍵＃１とを合体したものにＨＭＡＣ−ＳＨＡ１等のハッシュアルゴリズムを適用して生成する。
【００３７】
（ｂ）はページコンテンツＰに埋め込まれた配信タグＴの具体例を示しており、ＨＴＭＬ上のコンテンツを表示すべき位置に配信タグＴが埋め込まれている。「＜ｓｃｒｉｐｔ〜＞＜／ｓｃｒｉｐｔ＞」はＪａｖａＳｃｒｉｐｔ等のスクリプトが記述される部分であることを示し、「ｔｙｐｅ＝"ｔｅｘｔ／ｊａｖａｓｃｒｉｐｔ"」はタイプ（種別）がテキストもしくはＪａｖａＳｃｒｉｐｔであることを示し、「ｓｒｃ＝"ｈｔｔｐ：／／コンテンツ配信サーバ名／」はコンテンツ配信サーバ４のＵＲＬを示している。また、「ＣｏｎｔｅｎｔＩＤ＝０００１」はコンテンツＩＤを示し、「ｄｏｍａｉｎ＝ｅｘａｍｐｌｅ．ｃｏ．ｊｐ」はドメインを示し、「ｓｉｇ＝Ｘｐ３４ｉＳＸＡ"」は署名＃１を示している。
【００３８】
図６に戻り、クライアント端末１のブラウザ１１からＷｅｂサーバ３にＷｅｂページ取得リクエストを行なうと（ステップＳ１０１）、Ｗｅｂサーバ３は配信タグＴを含むページコンテンツＰのＷｅｂページＨＴＭＬをブラウザ１１に返却する（ステップＳ１０２）。
【００３９】
ブラウザ１１は、受信したページコンテンツＰのＨＴＭＬを解釈してレンダリング（描画）を行う過程で、配信タグＴを解釈し、配信タグＴのソース取得先であるコンテンツ配信サーバ４にＪａｖａＳｃｒｉｐｔソース取得リクエストを送信する（ステップＳ１０３）。なお、このＪａｖａＳｃｒｉｐｔソース取得リクエストには配信タグＴに設定されているコンテンツＩＤ、ドメイン、署名＃１がＵＲＬパラメータとして付加される。
【００４０】
コンテンツ配信サーバ４ではＨＴＴＰリクエスト受信部４１によりＪａｖａＳｃｒｉｐｔソース取得リクエストを受信すると、配信タグ検証部４２により、ＵＲＬパラメータに含まれる署名＃１を用いて他のパラメータ（コンテンツＩＤ、ドメイン）が改竄されていないかどうか検証を行う（ステップＳ１０４）。図８は配信タグ検証の例を示す図であり、ＪａｖａＳｃｒｉｐｔソース取得リクエストに付加されたＵＲＬパラメータのコンテンツＩＤおよびドメインと内部の秘密鍵＃１（図５の秘密鍵＃１ Ｋ１）とを合体したものにＨＭＡＣ−ＳＨＡ１等のハッシュアルゴリズムを適用して検証用の署名を生成し、ＪａｖａＳｃｒｉｐｔソース取得リクエストに付加されたＵＲＬパラメータの署名＃１と一致するか否か検証する。両者が一致する場合には改竄がないものと判断する。一致しない場合は、改竄の可能性があるとしてログ等にその旨を記録し、管理者の参考に供する。
【００４１】
次いで、配信タグの検証が正常に行なわれた場合、コンテンツ配信サーバ４ではＪａｖａＳｃｒｉｐｔ生成部４３により、ＪａｖａＳｃｒｉｐｔソース返却時パラメータとＪａｖａＳｃｒｉｐｔソースとを生成する（ステップＳ１０５）。
図９（ａ）はＪａｖａＳｃｒｉｐｔソース返却時パラメータの例を示しており、ＪａｖａＳｃｒｉｐｔソース取得リクエストに付加されたＵＲＬパラメータのコンテンツＩＤおよびドメインと、処理時点の時刻を示すタイムスタンプと、署名＃２とを含んでいる。署名＃２は、コンテンツＩＤとドメインとタイムスタンプと、ＪａｖａＳｃｒｉｐｔソース取得リクエストの受信時にＨＴＴＰリクエストのヘッダから取得したユーザエージェント（User-Agent：端末の情報を示す文字列）およびＩＰ（Internet Protocol）アドレスと、内部の秘密鍵＃２（図５の秘密鍵＃２ Ｋ２）とを合体したものにＨＭＡＣ−ＭＤ５等のハッシュアルゴリズムを適用して生成する。
【００４２】
図９（ｂ）はＪａｖａＳｃｒｉｐｔソースの例を示しており、変数を設定する記述Ｄ１と、テキストコンテンツの場合のコンテンツ引き当てのための記述Ｄ２と、画像コンテンツの場合のコンテンツ引き当てのための記述Ｄ３とを含んでいる。なお、テキストコンテンツだけの場合は記述Ｄ３を含まず、画像コンテンツだけの場合は記述Ｄ２を含まない。
【００４３】
記述Ｄ１の各行の意味は次のとおりである。
・「ｖａｒ  ｇｄｏｍａｉｎ  ＝  ｄｏｃｕｍｅｎｔ．ｄｏｍａｉｎ；」
変数ｇｄｏｍａｉｎにｄｏｃｕｍｅｎｔオブジェクトのｄｏｍａｉｎ値を代入する。すなわち、ＪａｖａＳｃｒｉｐｔ実行時にクライアント端末１で参照しているＷｅｂページのｄｏｍａｉｎ値を変数ｇｄｏｍａｉｎに設定する。
・「ｖａｒ  ｕｒｌ  ＝  ｄｏｃｕｍｅｎｔ．ＵＲＬ；」
変数ｕｒｌにｄｏｃｕｍｅｎｔオブジェクトのｕｒｌ値を代入する。すなわち、ＪａｖａＳｃｒｉｐｔ実行時にクライアント端末１で参照しているＷｅｂページのｕｒｌ値を変数ｕｒｌに設定する。
・「ｖａｒ  ｒｅｆ  ＝  ｄｏｃｕｍｅｎｔ．ｒｅｆｅｒｒｅｒ；」
変数ｒｅｆにｄｏｃｕｍｅｎｔオブジェクトのｒｅｆｅｒｒｅｒ値を代入する。すなわち、ＪａｖａＳｃｒｉｐｔ実行時にクライアント端末１で参照しているＷｅｂページのｒｅｆｅｒｒｅｒ値を変数ｒｅｆに設定する。
・「ｖａｒ  ｉｄ  ＝  ＜コンテンツＩＤ＞；」
変数ｉｄにコンテンツＩＤを設定する。コンテンツＩＤはＪａｖａＳｃｒｉｐｔソース返却時パラメータのコンテンツＩＤである。
・「ｖａｒ  ｄｍ  ＝  ＜ドメイン＞；  」
変数ｄｍにドメインを設定する。ドメインはＪａｖａＳｃｒｉｐｔソース返却時パラメータのドメインである。
・「ｖａｒ  ｔｓ  ＝  ＜タイムスタンプ＞；」
変数ｔｓにタイムスタンプを設定する。タイムスタンプはＪａｖａＳｃｒｉｐｔソース返却時パラメータのタイムスタンプである。
・「ｖａｒ  ｕａ  ＝  ＜ユーザエージェント＞」
変数ｕａにユーザエージェントを設定する。ユーザエージェントはＪａｖａＳｃｒｉｐｔソース返却時パラメータを生成した際に用いたユーザエージェントである。
・「ｖａｒ  ｓｉｇ  ＝  ＜署名＃２＞；」
変数ｓｉｇに署名＃２を設定する。署名＃２はＪａｖａＳｃｒｉｐｔソース返却時パラメータの署名＃２である。
・「ｄｏｍａｉｎ  ＝  ＵＲＬ＿ＥＮＣＯＤＥ（ｇｄｏｍａｉｎ）；」
変数ｇｄｏｍａｉｎを正規のＵＲＬ表現にエンコードする。
・「ｕｒｌ  ＝  ＵＲＬ＿ＥＮＣＯＤＥ（ｕｒｌ）；」
変数ｕｒｌを正規のＵＲＬ表現にエンコードする。
・「ｒｅｆ  ＝  ＵＲＬ＿ＥＮＣＯＤＥ（ｒｅｆ）；」
変数ｒｅｆを正規のＵＲＬ表現にエンコードする。
【００４４】
記述Ｄ２はテキストコンテンツを取得するためのタグを書き出す部分であり、ソース取得先ＵＲＬ（コンテンツ配信サーバ４のＵＲＬ）のパラメータとして、コンテンツＩＤ、ドメイン、タイムスタンプ、署名＃２、取得ドメイン、取得ＵＲＬ、取得リファラーを含んでいる。
【００４５】
記述Ｄ３は画像コンテンツを取得するためのタグを書き出す部分であり、ソース取得先ＵＲＬ（コンテンツ配信サーバ４のＵＲＬ）のパラメータとして、コンテンツＩＤ、ドメイン、タイムスタンプ、署名＃２、取得ドメイン、取得ＵＲＬ、取得リファラーを含んでいる。
【００４６】
図６に戻り、コンテンツ配信サーバ４は生成したＪａｖａＳｃｒｉｐｔソースをＨＴＴＰレスポンス送信部４７によりブラウザ１１にレスポンスとして送信する（ステップＳ１０６）。
【００４７】
次いで、ブラウザ１１は取得したＪａｖａＳｃｒｉｐｔソースを実行する（ステップＳ１０７）。図９（ｂ）の記述Ｄ１の部分の実行によりブラウザ１１で閲覧しているページコンテンツＰのドメインとＵＲＬとリファラーが取得され、記述Ｄ２もしくは記述Ｄ３の実行によりコンテンツ取得のためのタグが書き出される。図１０はブラウザ１１でのＪａｖａＳｃｒｉｐｔ実行により取得されるデータの例を示す図であり、図９（ｂ）の記述Ｄ１の部分の実行によりドメインとＵＲＬとリファラーが取得されることを示している。
【００４８】
次いで、図６に戻り、ブラウザ１１はＪａｖａＳｃｒｉｐｔソースの実行により書き出されたコンテンツ取得のためのタグを解釈する過程で、ソース取得先であるコンテンツ配信サーバ４にコンテンツ引き当てリクエストを送信する（ステップＳ１０８）。このコンテンツ引き当てリクエストには、コンテンツＩＤ、ドメイン、タイムスタンプ、署名＃２、取得ドメイン、取得ＵＲＬ、取得リファラーがＵＲＬパラメータとして付加されている。
【００４９】
コンテンツ配信サーバ４ではＨＴＴＰリクエスト受信部４１によりコンテンツ引き当てリクエストを受信すると、ＪａｖａＳｃｒｉｐｔ検証部４４により、ＵＲＬパラメータに含まれる署名＃２を用いてＪａｖａＳｃｒｉｐｔソースが改竄されていないかどうか検証を行う（ステップＳ１０９）。このＪａｖａＳｃｒｉｐｔ検証では、次の２点につき検証を行なう。
（ア）コンテンツＩＤ、ドメイン、タイムスタンプが改竄されていないかどうかの検証。
（イ）配信タグ検証（ステップＳ１０４）〜ＪａｖａＳｃｒｉｐｔソース返却（ステップＳ１０６）までの一次処理と同一ブラウザによるアクセスかどうかの検証。
（イ−１）一次処理と同一のＩＰアドレス、ユーザエージェントによるアクセスかどうかの検証（端末の同一性の保証）。
（イ−２）ＪａｖａＳｃｒｉｐｔソース返却（ステップＳ１０６）〜ＪａｖａＳｃｒｉｐｔ検証（ステップＳ１０９）に至る経過時間が所定時間（１５００ｍｓ等）以内に収まっているかどうかの検証（手作業による改竄を防止）。
【００５０】
この２点の項目でＪａｖａＳｃｒｉｐｔソース返却（ステップＳ１０６）〜コンテンツ引き当てリクエスト（ステップＳ１０８）の経路においてＪａｖａＳｃｒｉｐｔの整合性をチェックする。
【００５１】
図１１はＪａｖａＳｃｒｉｐｔ検証の例を示す図であり、コンテンツ引き当てリクエストに付加されたＵＲＬパラメータのコンテンツＩＤとドメインとタイムスタンプと、コンテンツ引き当てリクエストの受信時にＨＴＴＰリクエストのヘッダから取得したユーザエージェントおよびＩＰアドレスと、内部の秘密鍵＃２（図５の秘密鍵＃２ Ｋ２）とを合体したものにＨＭＡＣ−ＭＤ５等のハッシュアルゴリズムを適用して検証用の署名を生成し、コンテンツ引き当てリクエストに付加されたＵＲＬパラメータの署名＃２と一致するか否か検証する。また、コンテンツ引き当てリクエストに付加されたパラメータのタイムスタンプが現在時刻から所定時間（図では１５００ｍｓ）を引いたものよりも大きいか否かによる時刻検証を行なう。両検証が正常である場合にはＪａｖａＳｃｒｉｐｔソースが改竄されていないものと判断する。いずれかの検証が否定的である場合は、その旨をログに記録し、管理者の参考に供する。
【００５２】
次いで、図６に戻り、コンテンツ配信サーバ４ではＪａｖａＳｃｒｉｐｔソースが改竄されていないと判断された場合、ＵＲＬ検証部４５により、コンテンツ引き当てリクエストに付加されたＵＲＬパラメータの取得ドメインと取得ＵＲＬとドメインとに基づき、ＵＲＬテーブルＵＴを用いてコンテンツ提供が許可されるか否か（許可配信先ウェブサイトに貼られている配信タグかどうか）のＵＲＬ検証を行なう（ステップＳ１１０）。図１２はＵＲＬ検証の例を示す図であり、（ａ）に示すように取得ドメインとドメインが一致し、かつ、ドメイン（取得ドメイン）と取得ＵＲＬがＵＲＬテーブルＵＴに対応付けて登録されているか否かを検証する。（ｂ）はＵＲＬテーブルＵＴの例を示したものであり、ドメインと許可／不許可ＵＲＬとが予め対応付けられて登録されている。
【００５３】
次いで、図６に戻り、コンテンツ配信サーバ４ではＵＲＬ検証の結果、コンテンツ提供が許可されると判断された場合、コンテンツ取得部４６により、コンテンツ配信サーバ４内部もしくはネットワーク上にあるコンテンツストレージ４０からコンテンツＩＤに対応するコンテンツデータを取得する（ステップＳ１１１、Ｓ１１２）。
【００５４】
そして、コンテンツ配信サーバ４ではＨＴＴＰレスポンス送信部４７により、コンテンツデータをブラウザ１１に送信する（ステップＳ１１３）。図１３は配信されるコンテンツの例を示す図であり、テキストコンテンツの場合は記述Ｄ１１のようにコンテンツ内容を書き出すＪａｖａＳｃｒｉｐｔソースが含まれ、画像コンテンツの場合は記述Ｄ１２のように画像データが含まれる。
【００５５】
なお、１次処理（ステップＳ１０４〜Ｓ１０６）と２次処理（ステップＳ１０９〜Ｓ１１３）は、ブラウザ１１とコンテンツ配信サーバ４の間でパラメータを引き回し、バリデーションを行なうため、コンテンツ配信サーバ４のホストに依存しない。そのため、コンテンツ配信サーバ４の名称がＤＮＳラウンドロビンされている場合やロードバランサー配下に複数のサーバが存在するような場合においても有効に機能する。
【００５６】
＜総括＞
以上説明したように、本発明の実施形態にあっては次のような利点がある。
（１）コンテンツ配信ネットワークにより配信される広告等のコンテンツの掲載場所を保証することができ、コンテンツを保護することができる。
（２）配信タグを他の許可ドメイン以外へコピーすることによってコンテンツ配信サーバのリソースを浪費させる行為を防止することができる。
（３）配信タグの間違いや改竄を有効に防止することができる。
（４）通信経路の暗号化やプラグイン（plugin）導入等の方法に依存せず、ブラウザだけで配信先を制御することができる。
（５）複数のコンテンツ配信サーバの名称がＤＮＳラウンドロビンされている場合やロードバランサー配下にあったとしても正常に機能するため、プロダクトとして展開することが容易である。
（６）完全な配信先制御方法ではないが、現在の配信方法では不可能な配信先制御が可能である。
【００５７】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【図面の簡単な説明】
【００５８】
【図１】従来のＷｅｂサーバによるコンテンツ配信の例を示す図である。
【図２】従来のコンテンツ配信サーバによるコンテンツ配信の例を示す図である。
【図３】従来のコンテンツ配信サーバによるコンテンツ配信の処理例を示すシーケンス図である。
【図４】データ例を示す図である。
【図５】本発明の一実施形態にかかるシステムの構成例を示す図である。
【図６】実施形態の処理例を示すシーケンス図である。
【図７】配信タグの例を示す図である。
【図８】配信タグ検証の例を示す図である。
【図９】ＪａｖａＳｃｒｉｐｔソース返却時パラメータおよびＪａｖａＳｃｒｉｐｔソースの例を示す図である。
【図１０】ブラウザでのＪａｖａＳｃｒｉｐｔ実行により取得されるデータの例を示す図である。
【図１１】ＪａｖａＳｃｒｉｐｔ検証の例を示す図である。
【図１２】ＵＲＬ検証の例を示す図である。
【図１３】配信されるコンテンツの例を示す図である。
【符号の説明】
【００５９】
１      クライアント端末
１１    ブラウザ
２      ネットワーク
３      Ｗｅｂサーバ
３１    ストレージ
４      コンテンツ配信サーバ
４１    ＨＴＴＰリクエスト受信部
４２    配信タグ検証部
４３    ＪａｖａＳｃｒｉｐｔ生成部
４４    ＪａｖａＳｃｒｉｐｔ検証部
４５    ＵＲＬ検証部
４６    コンテンツ取得部
４７    ＨＴＴＰレスポンス送信部
４０    コンテンツストレージ
Ｐ      ページコンテンツ
Ｔ      配信タグ
Ｋ１    秘密鍵＃１
Ｋ２    秘密鍵＃２
ＵＴ    ＵＲＬテーブル
【図１】
0004859775.tif 000002
【図２】
0004859775.tif 000003
【図３】
0004859775.tif 000004
【図４】
0004859775.tif 000005
【図５】
0004859775.tif 000006
【図６】
0004859775.tif 000007
【図７】
0004859775.tif 000008
【図８】
0004859775.tif 000009
【図９】
0004859775.tif 000010
【図１０】
0004859775.tif 000011
【図１１】
0004859775.tif 000012
【図１２】
0004859775.tif 000013
【図１３】
0004859775.tif 000014