IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許7074926コンテンツ要求データの暗号化のためのシステムおよび方法
<>
  • 特許-コンテンツ要求データの暗号化のためのシステムおよび方法 図1
  • 特許-コンテンツ要求データの暗号化のためのシステムおよび方法 図2
  • 特許-コンテンツ要求データの暗号化のためのシステムおよび方法 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-05-16
(45)【発行日】2022-05-24
(54)【発明の名称】コンテンツ要求データの暗号化のためのシステムおよび方法
(51)【国際特許分類】
   G06F 21/60 20130101AFI20220517BHJP
   H04L 9/08 20060101ALI20220517BHJP
【FI】
G06F21/60
H04L9/08
【請求項の数】 20
(21)【出願番号】P 2021501341
(86)(22)【出願日】2020-04-01
(86)【国際出願番号】 US2020026139
(87)【国際公開番号】W WO2021201859
(87)【国際公開日】2021-10-07
【審査請求日】2021-02-04
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジョナサン・ポール・ピアソン
(72)【発明者】
【氏名】ティアン・シア
(72)【発明者】
【氏名】フェン・グ
(72)【発明者】
【氏名】ヒェウォン・ジュン
【審査官】吉田 歩
(56)【参考文献】
【文献】特表2018-527632(JP,A)
【文献】特開2005-353087(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60
H04L 9/08
(57)【特許請求の範囲】
【請求項1】
システムであって、
少なくとも1つのプロセッサと、
コンピュータ実行可能命令を記憶するメモリとを備え、前記コンピュータ実行可能命令が、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
リソースプロバイダに関連付けられたリソースプロバイダシステムから、前記リソースプロバイダに関連付けられたコンテンツに対する要求において受信されたデータの少なくとも一部分を暗号化するための公開暗号化鍵を受信することであって、前記リソースプロバイダシステムが、前記公開暗号化鍵に対応する秘密暗号化鍵を維持する、受信することと、
クライアントデバイスから、前記リソースプロバイダの情報リソースを識別するコンテンツに対する要求を受信することであって、前記要求が、前記リソースプロバイダシステムに折り返して報告するための1つまたは複数のデータ値を含み、前記1つまたは複数のデータ値の各データ値が、それぞれのデータ鍵に関連付けられる、受信することと、
前記リソースプロバイダに特有の暗号化ポリシーを使用して、前記1つまたは複数のデータ値のうちのデータ値を識別することであって、前記暗号化ポリシーが、データ記憶制限が対応するデータ値に適用されるデータ鍵のセットを示す、識別することと、
前記データ値が前記データ鍵のセットに含まれるデータ鍵に対応するとの判定に基づいて前記データ記憶制限を前記データ値に適用すると決定することと、
前記データ記憶制限を前記データ値に適用したことに応答して、暗号化されたデータ値を生成するために前記公開暗号化鍵で前記データ値を暗号化することと、
データ処理システムに関連付けられたデータベースに、前記コンテンツに対する要求に関連付けられた少なくとも1つのイベントに関するデータに関連して前記暗号化されたデータ値を記憶することと、
前記暗号化されたデータ値を使用して、前記リソースプロバイダの1つまたは複数の情報リソースに関連付けられたパフォーマンスデータおよび前記1つまたは複数の情報リソースによって行われたコンテンツに対する要求を示す報告を生成することと、
前記報告へのアクセスを前記リソースプロバイダに提供することであって、前記暗号化されたデータ値が、前記リソースプロバイダシステムによって維持される秘密鍵を使用して復号される、提供することと
を行わせる、システム。
【請求項2】
前記コンピュータ実行可能命令が、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
データ記憶制限が対応するデータ値に適用される前記データ鍵のセットの指示を受信することであって、前記データ鍵のセットが、前記データ値に対応するデータ鍵を含む、受信することと、
データ構造において、データ記憶制限が対応するデータ値に適用される前記データ鍵のセットの前記指示を使用して、前記リソースプロバイダに特有の前記暗号化ポリシーを生成することと
をさらに行わせる、請求項1に記載のシステム。
【請求項3】
前記コンピュータ実行可能命令が、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、前記データ値に関連付けられたデータ鍵を、データ記憶制限が対応するデータ値に適用される前記データ鍵のセットと比較することをさらに行わせる、請求項1に記載のシステム。
【請求項4】
前記コンピュータ実行可能命令が、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
変更されたデータ値を生成するために、前記データ値をデータ列と連結することと、
前記データ値のそれぞれの暗号化されたバージョンを生成するために、前記変更されたデータ値を暗号化することと
をさらに行わせる、請求項1に記載のシステム。
【請求項5】
前記変更されたデータ値内の前記データ列の長さおよび位置が、前記リソースプロバイダに特有であり、前記リソースプロバイダに知られている、請求項4に記載のシステム。
【請求項6】
前記コンピュータ実行可能命令が、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、前記報告を前記リソースプロバイダシステムに送信することをさらに行わせる、請求項1に記載のシステム。
【請求項7】
前記コンテンツに対する要求に関連付けられた前記少なくとも1つのイベントが、前記コンテンツに対する要求に応答して前記リソースプロバイダの前記情報リソース上で表示するためにサービスされたコンテンツアイテムとの前記クライアントデバイスによる対話を含む、請求項1に記載のシステム。
【請求項8】
前記リソースプロバイダが、コンピューティングデバイス上の前記秘密暗号化鍵の暗号化されたバージョンを維持する、請求項1に記載のシステム。
【請求項9】
前記コンピュータ実行可能命令が、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
前記データベースにアクセスするためのユーザインターフェースを前記リソースプロバイダに提供することと、
前記ユーザインターフェースから検索クエリを受信することと、
(i)前記コンピューティングデバイス上の前記秘密暗号化鍵の前記暗号化されたバージョンへのリンク、および(ii)前記秘密暗号化鍵の前記暗号化されたバージョンを復号するためのパスワードを受信することと、
前記パスワードを使用して、前記秘密暗号化鍵の前記暗号化されたバージョンを復号することと
をさらに行わせる、請求項8に記載のシステム。
【請求項10】
前記コンピュータ実行可能命令が、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
前記検索クエリに応答して、パフォーマンスデータを示す前記報告を生成することと、
前記秘密暗号化鍵を使用して、前記報告内の前記データ値のそれぞれの暗号化されたバージョンを復号することと、
前記ユーザインターフェース上で表示するために、パフォーマンスデータを示す前記報告を提供することと
をさらに行わせる、請求項9に記載のシステム。
【請求項11】
1つまたは複数のプロセッサを含むデータ処理システムによって、リソースプロバイダに関連付けられたリソースプロバイダシステムから、前記リソースプロバイダに関連付けられたコンテンツに対する要求において受信されたデータの少なくとも一部分を暗号化するための公開暗号化鍵を受信するステップであって、前記リソースプロバイダシステムが、前記公開暗号化鍵に対応する秘密暗号化鍵を維持する、ステップと、
前記データ処理システムによって、クライアントデバイスから、前記リソースプロバイダの情報リソースを識別するコンテンツに対する要求を受信するステップであって、前記要求が、前記リソースプロバイダシステムに折り返して報告するための1つまたは複数のデータ値を含み、前記1つまたは複数のデータ値の各データ値が、それぞれのデータ鍵に関連付けられる、ステップと、
前記データ処理システムによって、前記リソースプロバイダに特有の暗号化ポリシーを使用して、前記1つまたは複数のデータ値のうちのデータ値を識別するステップであって、前記暗号化ポリシーが、データ記憶制限が対応するデータ値に適用されるデータ鍵のセットを示す、ステップと、
前記データ処理システムによって、前記データ値が前記データ鍵のセットに含まれるデータ鍵に対応するとの判定に基づいて前記データ記憶制限を前記データ値に適用すると決定するステップと、
前記データ処理システムによって、前記データ記憶制限を前記データ値に適用したことに応答して、暗号化されたデータ値を生成するために前記公開暗号化鍵で前記データ値を暗号化するステップと、
前記データ処理システムによって、前記データ処理システムに関連付けられたデータベースに、前記コンテンツに対する要求に関連付けられた少なくとも1つのイベントに関するデータに関連して前記暗号化されたデータ値を記憶するステップと、
前記データ処理システムによって、前記暗号化されたデータ値を使用して、前記リソースプロバイダの1つまたは複数の情報リソースに関連付けられたパフォーマンスデータおよび前記1つまたは複数の情報リソースによって行われたコンテンツに対する要求を示す報告を生成するステップと、
前記データ処理システムによって、前記報告へのアクセスを前記リソースプロバイダに提供するステップであって、前記暗号化されたデータ値が、前記リソースプロバイダシステムによって維持される秘密鍵を使用して復号される、ステップと
を含む方法。
【請求項12】
前記データ処理システムによって、データ記憶制限が対応するデータ値に適用される前記データ鍵のセットの指示を受信するステップであって、前記データ鍵のセットが、前記データ値に対応するデータ鍵を含む、ステップと、
前記データ処理システムによって、データ構造において、データ記憶制限が対応するデータ値に適用される前記データ鍵のセットの前記指示を使用して、前記リソースプロバイダに特有の前記暗号化ポリシーを生成するステップと
をさらに含む、請求項11に記載の方法。
【請求項13】
前記データ値を識別するステップが、
前記データ処理システムによって、前記データ値に関連付けられたデータ鍵を、データ記憶制限が対応するデータ値に適用される前記データ鍵のセットと比較するステップ
を含む、請求項11に記載の方法。
【請求項14】
前記公開暗号化鍵で前記データ値を暗号化するステップが、
変更されたデータ値を生成するために、前記データ値をデータ列と連結するステップと、
前記データ値のそれぞれの暗号化されたバージョンを生成するために、前記変更されたデータ値を暗号化するステップと
を含む、請求項11に記載の方法。
【請求項15】
前記変更されたデータ値内の前記データ列の長さおよび位置が、前記リソースプロバイダに特有であり、前記リソースプロバイダに知られている、請求項14に記載の方法。
【請求項16】
前記報告へのアクセスを前記リソースプロバイダに提供するステップが、前記報告を前記リソースプロバイダに送信するステップを含む、請求項11に記載の方法。
【請求項17】
前記コンテンツに対する要求に関連付けられた前記少なくとも1つのイベントが、前記コンテンツに対する要求に応答して前記リソースプロバイダの前記情報リソース上で表示するためにサービスされたコンテンツアイテムとの前記クライアントデバイスによる対話を含む、請求項11に記載の方法。
【請求項18】
前記リソースプロバイダが、コンピューティングデバイス上の前記秘密暗号化鍵の暗号化されたバージョンを維持し、前記方法が、
前記データ処理システムによって、前記データベースにアクセスするためのユーザインターフェースを前記リソースプロバイダに提供するステップと、
前記データ処理システムによって、前記ユーザインターフェースから検索クエリを受信するステップと、
前記データ処理システムによって、(i)前記コンピューティングデバイス上の前記秘密暗号化鍵の前記暗号化されたバージョンへのリンク、および(ii)前記秘密暗号化鍵の前記暗号化されたバージョンを復号するためのパスワードを受信するステップと、
前記データ処理システムによって、前記パスワードを使用して、前記秘密暗号化鍵の前記暗号化されたバージョンを復号するステップと
をさらに含む、請求項11に記載の方法。
【請求項19】
前記データ処理システムによって、前記検索クエリに応答して、パフォーマンスデータを示す前記報告を生成するステップと、
前記データ処理システムによって、前記秘密暗号化鍵を使用して、前記報告内の前記データ値のそれぞれの暗号化されたバージョンを復号するステップと、
前記データ処理システムによって、前記ユーザインターフェース上で表示するために、パフォーマンスデータを示す前記報告を提供するステップと
をさらに含む、請求項18に記載の方法。
【請求項20】
コンピュータ実行可能命令を記憶するコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令が、少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
リソースプロバイダに関連付けられたリソースプロバイダシステムから、前記リソースプロバイダに関連付けられたコンテンツに対する要求において受信されたデータの少なくとも一部分を暗号化するための公開暗号化鍵を受信することであって、前記リソースプロバイダシステムが、前記公開暗号化鍵に対応する秘密暗号化鍵を維持する、受信することと、
クライアントデバイスから、前記リソースプロバイダの情報リソースを識別するコンテンツに対する要求を受信することであって、前記要求が、前記リソースプロバイダシステムに折り返して報告するための1つまたは複数のデータ値を含み、前記1つまたは複数のデータ値の各データ値が、それぞれのデータ鍵に関連付けられる、受信することと、
前記リソースプロバイダに特有の暗号化ポリシーを使用して、前記1つまたは複数のデータ値のうちのデータ値を識別することであって、前記暗号化ポリシーが、データ記憶制限が対応するデータ値に適用されるデータ鍵のセットを示す、識別することと、
前記データ値が前記データ鍵のセットに含まれるデータ鍵に対応するとの判定に基づいて前記データ記憶制限を前記データ値に適用すると決定することと、
前記データ記憶制限を前記データ値に適用したことに応答して、暗号化されたデータ値を生成するために前記公開暗号化鍵で前記データ値を暗号化することと、
データ処理システムに関連付けられたデータベースに、前記コンテンツに対する要求に関連付けられた少なくとも1つのイベントに関するデータに関連して前記暗号化されたデータ値を記憶することと、
前記暗号化されたデータ値を使用して、前記リソースプロバイダの1つまたは複数の情報リソースに関連付けられたパフォーマンスデータおよび前記1つまたは複数の情報リソースによって行われたコンテンツに対する要求を示す報告を生成することと、
前記報告へのアクセスを前記リソースプロバイダに提供することであって、前記暗号化されたデータ値が、前記リソースプロバイダシステムによって維持される秘密鍵を使用して復号される、提供することと
を行わせる、コンピュータ可読記憶媒体
【発明の詳細な説明】
【背景技術】
【0001】
インターネットなどのコンピュータネットワーク化環境では、サードパーティコンテンツプロバイダは、エンドユーザコンピューティングデバイス上で表示するためのサードパーティコンテンツアイテムを提供する。これらのサードパーティコンテンツアイテム、たとえば、広告は、数ある中でも、それぞれの発行者、クライアントアプリケーション、またはゲームアプリケーションに関連付けられたウェブページ上で表示され得る。
【発明の概要】
【課題を解決するための手段】
【0002】
少なくとも1つの態様は、少なくとも1つのプロセッサと、コンピュータ実行可能命令を記憶するメモリとを備えるシステムを対象とする。コンピュータ実行可能命令は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、リソースプロバイダに関連付けられたリソースプロバイダシステムから、リソースプロバイダに関連付けられたコンテンツに対する要求において受信されたデータの少なくとも一部分を暗号化するための公開暗号化鍵を受信させることができる。リソースプロバイダシステムは、公開暗号化鍵に対応する秘密暗号化鍵を維持することができる。少なくとも1つのプロセッサは、クライアントデバイスから、リソースプロバイダの情報リソースを識別するコンテンツに対する要求を受信することができる。要求は、リソースプロバイダシステムに折り返して報告するための1つまたは複数のデータ値を含むことができる。1つまたは複数のデータ値の各データ値は、それぞれのデータ鍵に関連付けられ得る。少なくとも1つのプロセッサは、リソースプロバイダに特有の暗号化ポリシーを使用して、1つまたは複数のデータ値のうちのデータ値を識別することができる。暗号化ポリシーは、データ記憶制限が対応するデータ値に適用されるデータ鍵のセットを示すことができる。少なくとも1つのプロセッサは、データ値がデータ鍵のセットに含まれるデータ鍵に対応するとの判定に基づいてデータ記憶制限をデータ値に適用すると決定することができる。少なくとも1つのプロセッサは、データ記憶制限をデータ値に適用したことに応答して、暗号化されたデータ値を生成するために公開暗号化鍵でデータ値を暗号化することができる。少なくとも1つのプロセッサは、データ処理システムに関連付けられたデータベースに、コンテンツに対する要求に関連付けられた少なくとも1つのイベントに関するデータに関連して暗号化されたデータ値を記憶することができる。少なくとも1つのプロセッサは、暗号化されたデータ値を使用して、リソースプロバイダの1つまたは複数の情報リソースに関連付けられたパフォーマンスデータおよび1つまたは複数の情報リソースによって行われたコンテンツに対する要求を示す報告を生成することができる。少なくとも1つのプロセッサは、報告へのアクセスをリソースプロバイダに提供することができる。暗号化されたデータ値は、リソースプロバイダシステムによって維持される秘密鍵を使用して復号され得る。
【0003】
少なくとも1つの態様は、1つまたは複数のプロセッサを含むデータ処理システムによって、リソースプロバイダに関連付けられたリソースプロバイダシステムから、リソースプロバイダに関連付けられたコンテンツに対する要求において受信されたデータの少なくとも一部分を暗号化するための公開暗号化鍵を受信するステップを含む方法を対象とする。リソースプロバイダシステムは、公開暗号化鍵に対応する秘密暗号化鍵を維持することができる。方法は、データ処理システムが、クライアントデバイスから、リソースプロバイダの情報リソースを識別するコンテンツに対する要求を受信するステップを含むことができる。要求は、リソースプロバイダシステムに折り返して報告するための1つまたは複数のデータ値を含むことができる。1つまたは複数のデータ値の各データ値は、それぞれのデータ鍵に関連付けられ得る。方法は、データ処理システムが、リソースプロバイダに特有の暗号化ポリシーを使用して、1つまたは複数のデータ値のうちのデータ値を識別するステップを含むことができる。暗号化ポリシーは、データ記憶制限が対応するデータ値に適用されるデータ鍵のセットを示すことができる。方法は、データ処理システムが、データ値がデータ鍵のセットに含まれるデータ鍵に対応するとの判定に基づいてデータ記憶制限をデータ値に適用すると決定するステップを含むことができる。方法は、データ処理システムが、データ記憶制限をデータ値に適用したことに応答して、暗号化されたデータ値を生成するために公開暗号化鍵でデータ値を暗号化するステップを含むことができる。方法は、データ処理システムが、データ処理システムに関連付けられたデータベースに、コンテンツに対する要求に関連付けられた少なくとも1つのイベントに関するデータに関連して暗号化されたデータ値を記憶するステップを含むことができる。方法は、データ処理システムが、暗号化されたデータ値を使用して、リソースプロバイダの1つまたは複数の情報リソースに関連付けられたパフォーマンスデータおよび1つまたは複数の情報リソースによって行われたコンテンツに対する要求を示す報告を生成するステップを含むことができる。方法は、データ処理システムが、報告へのアクセスをリソースプロバイダに提供するステップを含むことができる。暗号化されたデータ値は、リソースプロバイダシステムによって維持される秘密鍵を使用して復号され得る。
【0004】
少なくとも1つの態様は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、リソースプロバイダに関連付けられたリソースプロバイダシステムから、リソースプロバイダに関連付けられたコンテンツに対する要求において受信されたデータの少なくとも一部分を暗号化するための公開暗号化鍵を受信させるコンピュータ実行可能命令を記憶する非一時的コンピュータ可読媒体を対象とする。リソースプロバイダシステムは、公開暗号化鍵に対応する秘密暗号化鍵を維持することができる。少なくとも1つのプロセッサは、クライアントデバイスから、リソースプロバイダの情報リソースを識別するコンテンツに対する要求を受信することができる。要求は、リソースプロバイダシステムに折り返して報告するための1つまたは複数のデータ値を含むことができる。1つまたは複数のデータ値の各データ値は、それぞれのデータ鍵に関連付けられ得る。少なくとも1つのプロセッサは、リソースプロバイダに特有の暗号化ポリシーを使用して、1つまたは複数のデータ値のうちのデータ値を識別することができる。暗号化ポリシーは、データ記憶制限が対応するデータ値に適用されるデータ鍵のセットを示すことができる。少なくとも1つのプロセッサは、データ値がデータ鍵のセットに含まれるデータ鍵に対応するとの判定に基づいてデータ記憶制限をデータ値に適用すると決定することができる。少なくとも1つのプロセッサは、データ記憶制限をデータ値に適用したことに応答して、暗号化されたデータ値を生成するために公開暗号化鍵でデータ値を暗号化することができる。少なくとも1つのプロセッサは、データ処理システムに関連付けられたデータベースに、コンテンツに対する要求に関連付けられた少なくとも1つのイベントに関するデータに関連して暗号化されたデータ値を記憶することができる。少なくとも1つのプロセッサは、暗号化されたデータ値を使用して、リソースプロバイダの1つまたは複数の情報リソースに関連付けられたパフォーマンスデータおよび1つまたは複数の情報リソースによって行われたコンテンツに対する要求を示す報告を生成することができる。少なくとも1つのプロセッサは、報告へのアクセスをリソースプロバイダに提供することができる。暗号化されたデータ値は、リソースプロバイダシステムによって維持される秘密鍵を使用して復号され得る。
【0005】
これらのおよび他の態様および実装形態は、以下で詳細に論じられる。上記の情報および以下の詳細な説明は、様々な態様および実装形態の例示的な例を含み、特許請求される態様および実装形態の性質および特質を理解するための概要または枠組みを提供する。図面は、様々な態様および実装形態の例示およびさらなる理解を提供し、本明細書に組み込まれ、本明細書の一部を構成する。態様および実装形態が組み合わされ得、1つの態様または実装形態の文脈において説明される特徴が他の態様の文脈において実装され得ることを諒解されたい。
【0006】
添付の図面は、縮尺通りに描かれることを意図されていない。様々な図面における同様の参照番号および名称は、同様の要素を示す。明確にするために、あらゆるコンポーネントがあらゆる図面においてラベル付けされるとは限らない場合がある。
【図面の簡単な説明】
【0007】
図1】例示的な実装形態による、コンテンツ要求において提供されるデータにデータ記憶(またはログ)制限を課すための環境の1つの実装形態を示すブロック図である。
図2】受信されたデータの記憶を制限するための方法を示すフローチャートである。
図3】例示的な実装形態による、例示的なコンピュータシステムの一般的なアーキテクチャを示す図である。
【発明を実施するための形態】
【0008】
以下は、サードパーティコンテンツ要求などのコンテンツ要求に含まれるデータの完全性およびプライバシーを保護する方法、装置、およびシステムに関する様々な概念ならびにその方法、装置、およびシステムの実装形態のより詳細な説明である。上記で紹介され、以下で詳細に論じられる様々な概念は、説明される概念が実装形態の任意の特定の方式に限定されないので、多数の方法のうちのいずれかで実装され得る。たとえば、本明細書ではコンテンツまたはコンテンツアイテムは広告と呼ばれることがあるが、コンテンツまたはコンテンツアイテムは任意の適切なコンテンツであってもよいことを諒解されたい。
【0009】
広告配信システムなどのコンテンツ配信システムは、クライアントデバイスからのコンテンツ要求に応答して、サードパーティコンテンツ、たとえば、広告をサービスすることができる。各コンテンツ要求は、それぞれのクライアントデバイス上でコンテンツに対する要求をトリガしたリソースプロバイダの情報リソースを識別することができる。情報リソースの例は、数ある中でも、ウェブページ、クライアントアプリケーションもしくはそれらのコンポーネント、ソーシャルメディアプラットフォームもしくはそれらのコンポーネント、ゲームプラットフォームもしくはそれらのコンポーネント、またはゲームアプリケーションもしくはそれらのコンポーネントを含むことができる。リソースプロバイダは、情報リソースの発行者もしくは所有者またはその代理店を含むことができる。情報リソースは、クライアントデバイスによって実行されると、クライアントデバイスに、コンテンツに対する要求をコンテンツ配信システムまたはそれらのデータ処理システムに送らせることができる実行可能命令を含むことができる。たとえば、ウェブページは、それぞれのコンピュータ実行可能命令を含むコンテンツスロット(たとえば、広告スロット)を含むことができる。クライアントデバイスによって実行されると、コンテンツスロットに対するコンピュータ実行可能命令は、クライアントデバイスに、コンテンツスロットにおいて表示するためのコンテンツアイテムに対する要求を送らせる。
【0010】
リソースプロバイダのリソースプロバイダシステムは、コンテンツ配信システムと通信することができる。リソースプロバイダシステムは、たとえば、コンテンツ配信システムからリソースプロバイダの1つまたは複数の情報リソースのパフォーマンスデータを受信することができる。パフォーマンスデータは、たとえば、数ある中でも、情報リソース上でサービスされるコンテンツアイテムの数、情報リソース上でサービスされるコンテンツアイテムとのクライアントデバイス対話の数もしくは割合、情報リソース上でサービスされるコンテンツアイテムのコンバージョンの数もしくは割合、リソースプロバイダの利益データ、またはそれらの組合せを含むことができる。パフォーマンスデータは、統計データ、決定論的データ、またはその両方の組合せを含むことができる。コンテンツ配信システムは、1つまたは複数のコンテキスト基準に従ってパフォーマンスデータを配置または分類することができる。コンテキスト基準は、たとえば、数ある中でも、コンテンツに対する要求の日付もしくはタイミング、クライアントデバイスタイプ、クライアントデバイス識別子(ID)、ユーザアカウント、クライアントデバイスの地理的ロケーション、コンテンツに対する要求をトリガする情報リソース、コンテンツに対する要求が行われるステージ(たとえば、ゲームステージまたはアプリケーションステージ)、またはそれらの組合せを含むことができる。コンテキスト基準(またはコンテキストデータ)の使用は、リソースプロバイダシステムまたはリソースプロバイダがそれぞれの情報リソースのパフォーマンスを最適化するのに役立つことができる。
【0011】
クライアントデバイスは、情報リソースの命令(たとえば、それぞれのコンテンツスロットの命令)を実行する際に、コンテンツに対する要求にデータセグメントを挿入するかまたは埋め込むことができる。データセグメントは、コンテキスト基準に従ってパフォーマンスデータをリソースプロバイダシステムに報告することを容易にするために、1つまたは複数のコンテキスト基準を含むことができる。たとえば、実行可能命令は、クライアントデバイスに、コンテンツに対する要求に、数ある中でも、時間値、日付値、クライアントデバイスタイプ、クライアントデバイスID、ユーザアカウント番号、クライアントデバイスロケーション、情報リソースIDもしくはURL、ゲームステージID、ビデオフレームIDもしくは番号、またはそれらの組合せなどの1つまたは複数のデータ値を埋め込ませることができる。各データ値は、それぞれのデータ鍵(またはデータフィールド)に対応することができる。コンテンツに対する要求に含まれるデータ値は、機密の性質のものである可能性があり、リソースプロバイダ(またはリソースプロバイダシステム)が極秘または秘密にしておくことを望む情報を含むことができる。
【0012】
(たとえば、コンテキストデータを示す)データ値をコンテンツ配信システムに送ることは、そのようなデータを潜在的な不正アクセスまたは不正使用にさらすリスクを高める可能性がある。たとえば、コンテンツ配信システムは、コンテンツに対する要求において受信されたデータをデータベースに記憶することができる。データベースのセキュリティの侵害は、データベースに記憶されたデータの不正アクセスをもたらす可能性がある。加えて、コンテンツ配信システムによってリソースプロバイダシステムに送られるパフォーマンスデータ報告は、たとえば、中間者(MITM:man-in-the-middle)攻撃を受ける可能性がある。コンテンツに対する要求において提供されるデータの任意の侵害は、リソースプロバイダとコンテンツ配信システムの両方に有害な結果をもたらす可能性があり、両方の負担ではないとしても、少なくともコンテンツ配信システムの潜在的な負担を増加させる可能性がある。
【0013】
コンテンツに対する要求において送られるコンテキストデータのセキュリティを高めるために、情報リソースは、クライアントデバイスに、鍵値(またはそれぞれのデータ鍵に対応するデータ値)を暗号化させることができる。たとえば、情報リソースは、情報リソースにアクセスするクライアントデバイスによって実行されると、クライアントデバイスに、鍵値を暗号化させ、暗号化された鍵値をコンテンツに対する要求に挿入させることができる暗号化命令を含むことができる。しかしながら、リソースプロバイダは、鍵値が暗号化されるべきであるデータ鍵のリストを選択することがあり、そのようなサブセットは経時的に変化することがある。鍵値が暗号化されるべきであるデータ鍵のリストの動的な性質は、情報リソースの実行可能命令の絶え間ない更新または対応する鍵値が暗号化されるべきであるデータ鍵のリストをクライアントデバイスに通信することを必要とする。一方では、情報リソースの実行可能命令の絶え間ない更新は、データ鍵のリストの変更が比較的頻繁であり得るので、リソースプロバイダに望ましくない負担をかける可能性がある。他方では、鍵値が暗号化されるべきであるデータ鍵のリストを、行われるべきコンテンツに対する各要求とともにクライアントデバイスに通信することは、クライアントデバイスの通信帯域幅および計算リソースの非効率的な使用をもたらす可能性がある。
【0014】
また、情報リソースの命令がクライアントデバイス上で実行されると仮定すると、クライアントデバイスが、たとえば、それぞれの暗号化命令を削除するかまたは本明細書で使用される暗号化鍵を変更することによって、情報リソースの命令に干渉する可能性があるいくらかのリスクがある。最終的には、クライアントデバイスレベルでの暗号化に関して、情報リソースのすべてまたは少なくとも大部分がリソースプロバイダの公開暗号化鍵を使用して鍵値を暗号化するための暗号化命令を含むという暗黙の期待がある。そのような期待は妥当ではないことがあり、多くのコンテンツ要求において暗号化されていない鍵値をもたらす。
【0015】
本開示では、コンテンツ配信システムは、コンテンツに対する要求において受信され、コンテンツ配信システムによってログされたコンテキストデータに対して、リソースプロバイダシステムまたはそれぞれのリソースプロバイダによって指定されたまたはそれらに関連付けられたポリシーに基づいてデータ記憶制限を課すことができる。リソースプロバイダシステムは、対応するデータ値が暗号化された形態でコンテンツ配信システムによって記憶またはログされるべきであるデータ鍵のリスト(またはセット)を指定することができる。たとえば、各リソースプロバイダシステムは、対応する値が暗号化されるべきであるデータ鍵のリストおよびそれぞれの公開暗号化鍵をコンテンツ配信システムに提供することができる。いくつかの実装形態では、コンテンツ配信システムは、たとえば、コンテンツ配信システムに知られている1つまたは複数のプロパティに基づいて、対応する値が暗号化されるべきであるデータ鍵のリストを推測することができる。リソースプロバイダシステムの情報リソースを識別するコンテンツに対する要求を受信すると、コンテンツ配信システムは、要求内のどのデータ値がリソースプロバイダシステムによって提供されたリスト内のデータ鍵に対応するかを識別することができる。コンテンツ配信システムは、識別された値を暗号化し、それらの値を暗号化された形態でデータベースに記憶することができる。報告を生成するおよび/または報告をリソースプロバイダシステムに提供するとき、コンテンツ配信システムは鍵値の暗号化された形態を使用することができる。パフォーマンス報告を受信すると、リソースプロバイダシステムは、暗号化された形態で報告に含まれる任意のデータ値を復号するために、公開鍵に対応する秘密鍵を使用することができる。
【0016】
上記で説明されたデータ記憶制限手法は、コンテンツ要求において受信されたコンテキストデータの完全性およびセキュリティを高めると同時に、様々なコンテキストデータまたは基準に基づいてリソースプロバイダシステムへの報告データ(たとえば、パフォーマンス報告)の特徴を維持する。そのようなデータの少なくとも一部分を暗号化された形態で記憶(またはログ)することは、データ処理システムでさえも、ログされたデータにアクセスすることを妨げる。データが暗号化されると、データ処理はデータを復号することおよびデータにアクセスすることができない。また、コンテンツ配信システムにおいて暗号化を実装することは、すべてのリソースプロバイダのためのデータ保護を可能にする。いくつかの実装形態では、コンテンツ配信システムは、暗号化の前にコンテンツアイテムを選択するために鍵値を使用してもよい。
【0017】
図1は、例示的な実装形態による、コンテンツ要求において提供されるデータにデータ記憶(またはログ)制限を課すための環境100の1つの実装形態を示すブロック図である。環境100は、少なくとも1つのデータ処理システム110と、1つまたは複数のコンテンツプロバイダコンピューティングデバイス115と、1つまたは複数の発行者コンピューティングデバイス120と、1つまたは複数のクライアントデバイス125と、ネットワーク105とを含むことができる。データ処理システム110、1つまたは複数のコンテンツプロバイダコンピューティングデバイス115、1つまたは複数の発行者コンピューティングデバイス120、および1つまたは複数のクライアントデバイス125は、ネットワーク105を介して互いに通信可能に結合され得る。
【0018】
データ処理システム110は、少なくとも1つのプロセッサ(または処理回路)と、メモリとを含むことができる。メモリは、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに本明細書で説明される動作のうちの1つまたは複数を実施させるコンピュータ実行可能命令を記憶することができる。少なくとも1つのプロセッサは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、またはそれらの組合せを含むことができる。メモリは、限定はしないが、少なくとも1つのプロセッサにプログラム命令を提供することが可能な、電子、光、磁気、または任意の他の記憶デバイスまたは送信デバイスを含むことができる。メモリは、フロッピーディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ASIC、FPGA、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的消去可能ROM(EEPROM)、消去可能プログラマブルROM(EPROM)、フラッシュメモリ、光媒体、または少なくとも1つのプロセッサが命令を読み取ることができる任意の他の適切なメモリを含むことができる。命令は、任意の適切なコンピュータプログラミング言語からのコードを含むことができる。データ処理システム110は、様々な機能を実施することができる1つまたは複数のコンピューティングデバイスまたはサーバを含むことができる。いくつかの実装形態では、データ処理システム110は、オークションをホストするように構成された広告オークションシステムを含むことができる。いくつかの実装形態では、データ処理システム110は、広告オークションシステムを含まないことがあるが、ネットワーク105を介して広告オークションシステムと通信することができる。
【0019】
ネットワーク105は、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク、1つもしくは複数のイントラネット、衛星ネットワーク、セルラーネットワーク、光ネットワーク、他のタイプのデータネットワーク、またはそれらの組合せなどのコンピュータネットワークを含むことができる。データ処理システム110は、ネットワーク105を介して1つまたは複数のコンテンツプロバイダコンピューティングデバイス115、1つまたは複数のコンテンツ発行者コンピューティングデバイス120、あるいは1つまたは複数のクライアントデバイス125と通信することができる。ネットワーク105は、数ある中でも、ゲートウェイ、スイッチ、ルータ、モデム、リピータ、およびワイヤレスアクセスポイントなどの任意の数のネットワークデバイスを含むことができる。ネットワーク105はまた、コンピュータサーバなどのコンピューティングデバイスを含むことができる。ネットワーク105はまた、任意の数のハードワイヤード接続および/またはワイヤレス接続を含むことができる。
【0020】
1つまたは複数のコンテンツプロバイダコンピューティングデバイス115は、コンピュータサーバ、パーソナルコンピュータ、ハンドヘルドデバイス、スマートフォン、または、広告主もしくはその代理店などのコンテンツプロバイダエンティティによって操作される他のコンピューティングデバイスを含むことができる。1つまたは複数のコンテンツプロバイダコンピューティングデバイス115は、数あるタイプのコンテンツの中でも、テキストコンテンツ、画像コンテンツ、ビデオコンテンツ、アニメーションコンテンツ、コンテンツアイテム(たとえば、クリエイティブもしくは広告)、および/またはユニフォームリソースロケータなどのコンテンツを、情報リソースにおける表示のためにデータ処理システム110に提供することができる。具体的には、所与のコンテンツプロバイダの1つまたは複数のコンテンツプロバイダコンピューティングデバイス115は、そのコンテンツプロバイダのコンテンツアイテムを生成するために使用されるコンテンツアイテムまたはコンテンツの送信元であり得る。コンテンツアイテムは、数ある中でも、ウェブサイト、検索結果のウェブページ、クライアントアプリケーション、ゲームアプリケーションもしくはゲームプラットフォーム、オープンソースコンテンツ共有プラットフォーム(たとえば、YOUTUBE、DAILYMOTION、もしくはVIMEO)、またはソーシャルメディアプラットフォームなどの、クライアントデバイス125上でレンダリングされる情報リソースにおける表示のためのものであり得る。
【0021】
データ処理システム110は、コンテンツプロバイダエンティティがそれぞれのコンテンツプロバイダアカウントを生成するかまたはそれぞれのキャンペーン(たとえば、広告キャンペーン)を生成することを可能にするために、コンテンツプロバイダコンピューティングデバイス115を介してアクセス可能な1つまたは複数のユーザインターフェースを提供することができる。ユーザインターフェースは、コンテンツプロバイダエンティティが、コンテンツアイテム、それぞれのランディングページのユニフォームリソースロケータ(URL)、またはコンテンツアイテムを作成するのに使用するためのメディアコンテンツなどのそれぞれのコンテンツをデータ処理システム110または他のリモートシステムにアップロードすることを可能にすることができる。コンテンツプロバイダコンピューティングデバイス115は、数ある中でも、支払および予算情報、いつどこでコンテンツアイテムをサービスするかに関する選好もしくは制限、またはそれらの組合せなどの他の情報を、ユーザインターフェースを介して提供することができる。
【0022】
コンテンツ発行者コンピューティングデバイス120は、ネットワーク105を介して表示用のプライマリコンテンツを提供するためにコンテンツ発行エンティティによって操作されるサーバまたは他のコンピューティングデバイスを含むことができる。プライマリコンテンツは、数ある中でも、クライアントデバイス125上で表示するためのウェブサイト、ウェブページ、クライアントアプリケーション、ゲームコンテンツ、ソーシャルメディアコンテンツ、またはオープンソースコンテンツ共有ウェブページを含むことができる。プライマリコンテンツのページ、ビデオセグメントまたは他のユニットは、プライマリコンテンツがクライアントデバイス上で表示されるときにクライアントデバイス125にデータ処理システム110または他のリモートシステムからのサードパーティコンテンツを要求させるコンテンツスロット(たとえば、広告スロット)に関連付けられた命令などの実行可能命令を含むことができる。そのような要求に応答して、データ処理システムまたは他のリモートシステムは、どのコンテンツアイテムをクライアントデバイス125に提供すべきかを判定するためのオークションを実施することができる。いくつかの実装形態では、コンテンツ発行者コンピューティングデバイス120は、ビデオまたはゲームコンテンツをサービス(またはストリーミング)するためのサーバを含むことができる。コンテンツ発行者コンピューティングデバイス120は、公開暗号化鍵と、対応する値が公開暗号化鍵で暗号化されるべきであるデータ鍵のリストとをデータ処理システム110にアップロードすることができる。
【0023】
データ処理システム110は、リソースプロバイダエンティティがそれぞれのリソースプロバイダアカウントを生成することを可能にするためにコンテンツ発行者コンピューティングデバイス120を介してアクセス可能な1つまたは複数のユーザインターフェースを提供することができる。それぞれのアカウントを生成する際に、コンテンツ発行者システム(またはコンピューティングデバイス120)は、ユーザインターフェースを介してそれぞれのウェブページのそれぞれのドメイン名およびURLを提供することができる。ドメイン名および/またはウェブページURLは、データ処理システムがリソースプロバイダのウェブページによって生成されたコンテンツ要求を識別することを可能にする。具体的には、コンテンツ要求は、クライアントデバイス125上のコンテンツに対する要求をトリガするウェブページの識別子(たとえば、URLまたはドメイン名)を含むことができる。データ処理システム110は、コンテンツ要求内の識別子をリソースプロバイダによって提供されたURLまたはドメイン名と照合することができる。
【0024】
クライアントデバイス125は、コンテンツ発行者(またはリソースプロバイダ)に関連付けられたプライマリコンテンツならびにコンテンツプロバイダコンピューティングデバイス115によって提供されるサードパーティコンテンツ(たとえば、広告などのサードパーティコンテンツアイテム)を獲得し、表示するように構成されたコンピューティングデバイスを含むことができる。クライアントデバイスは、ネットワーク105を介してそのようなコンテンツを要求し、受信することができる。クライアントデバイス125は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットデバイス、スマートフォン、携帯情報端末、モバイルデバイス、コンシューマコンピューティングデバイス、サーバ、デジタルビデオレコーダ、セットトップボックス、スマートテレビジョン、ビデオゲームコンソール、または、ネットワーク105を介して通信し、メディアコンテンツを消費することが可能な任意の他のコンピューティングデバイスを含むことができる。図1は単一のクライアントデバイス125を示しているが、環境100は、データ処理システム110によってサービスされる複数のクライアントデバイス125を含むことができる。同様に、複数のコンテンツプロバイダコンピューティングデバイス115および/または複数のコンテンツ発行者コンピューティングデバイス120は、ネットワーク105を介してデータ処理システム110に通信可能に結合され得る。
【0025】
データ処理システム110は、1つまたは複数のプロセッサと、コンピュータ実行可能命令を記憶するためのメモリとを有する少なくとも1つのコンピュータサーバを含むことができる。たとえば、データ処理システム110は、少なくとも1つのデータセンタまたはサーバファームに配置された複数のコンピュータサーバを含むことができる。いくつかの実装形態では、データ処理システム110は、サードパーティコンテンツプレースメントシステム、たとえば、広告サーバまたは広告プレースメントシステムを含むことができる。データ処理システム110は、ポリシー管理モジュール130、暗号化モジュール135、データ報告モジュール140、およびデータベース145を含むことができる。ポリシー管理モジュール130、暗号化モジュール135、およびデータ報告モジュール140の各々は、ソフトウェアモジュール、ハードウェアモジュール、またはその両方の組合せとして実装され得る。たとえば、これらのモジュールの各々は、処理ユニット、サーバ、仮想サーバ、回路、エンジン、エージェント、アプライアンス、または、データベース145ともしくはネットワーク105を介して他のコンピューティングデバイスと通信するように構成されたプログラマブル論理アレイなどの他の論理デバイスを含むことができる。データ処理システム110のコンピュータ実行可能命令は、1つまたは複数のプロセッサによって実行されると、図2に関して、ポリシー管理モジュール130、暗号化モジュール135、データ報告モジュール140、およびデータベース145に関連して以下で論じられる動作をデータ処理システム110に実施させる命令を含むことができる。
【0026】
図2を参照すると、コンテンツ要求において受信されたデータの記憶を制限するための方法200を示すフローチャートが説明される。方法200は、公開暗号化鍵を取得する(ステップ205)ことを含むことができる。方法200は、1つまたは複数のデータ鍵に対応する1つまたは複数の鍵値を含むコンテンツ要求を受信し(ステップ210)、暗号化ポリシーを使用してデータ鍵を識別する(ステップ215)ことを含むことができる。方法200は、データ記憶制限を識別されたデータ鍵に対応するデータ値に適用すると決定し(ステップ220)、公開暗号化鍵を使用して鍵値を暗号化する(ステップ225)ことを含むことができる。方法200は、暗号化された形態の鍵値を記憶する(ステップ230)ことを含むことができる。方法200は、暗号化された形態の鍵値を使用して報告を生成し(ステップ235)、報告へのアクセスを提供する(ステップ240)ことを含むことができる。
【0027】
図1および図2を参照すると、方法200は、データ処理システム110が、リソースプロバイダの公開暗号化鍵を取得する(ステップ205)ことを含むことができる。たとえば、ポリシー管理モジュール130は、リソースプロバイダ(またはコンテンツ発行者)に関連付けられたリソースプロバイダシステムから公開暗号化鍵を受信することができる。ポリシー管理モジュール130は、たとえば、コンテンツ発行者コンピューティングデバイス120によってアクセスするためのユーザインターフェースを提供することができる。リソースプロバイダに関連付けられたコンテンツ発行者コンピューティングデバイス120は、ユーザインターフェースにアクセスし、公開暗号化鍵を提供することができる。公開暗号化鍵は、リソースプロバイダに関連付けられたコンテンツ要求において受信されたデータの少なくとも一部分を暗号化するためにデータ処理システム110によって使用するためのものであり得る。コンテンツ要求は、クライアントデバイス125によってアクセスされるリソースプロバイダの情報リソースによってトリガされ得る。リソースプロバイダシステム、またはそのコンテンツ発行者コンピューティングデバイス120は、公開暗号化鍵に対応する秘密暗号化鍵を維持することができる。
【0028】
方法200は、データ処理システム110が、クライアントデバイス125から、1つまたは複数のデータ値を含むコンテンツに対する要求を受信する(ステップ205)ことを含むことができる。要求は、リソースプロバイダの情報リソースを識別することができ、1つまたは複数のデータ鍵に対応する1つまたは複数のデータ値を含むことができる。リソースプロバイダの情報リソース(たとえば、ウェブページ、クライアントアプリケーション、ゲームアプリケーション、またはソーシャルメディアプラットフォームのページもしくはユニット)は、クライアントデバイス125によってアクセスされると、クライアントデバイス125によってデータ処理システム110に送られるサードパーティコンテンツに対する要求をトリガすることができる。サードパーティコンテンツに対する要求は、1つまたは複数の対応するデータ鍵(またはデータフィールド)の値を表す1つまたは複数のデータ値(または鍵値)を含むことができる。データ鍵は、たとえば、数ある中でも、コンテンツアイテムを選択するのに使用するための1つまたは複数のキーワード、クライアントデバイス125のデバイスID、クライアントデバイス125に関連付けられたユーザアカウント、クライアントデバイス125の地理的ロケーション、要求がトリガされる情報リソースのステージ、コンテンツ要求をトリガする前のナビゲートされたページのセット、またはそれらの組合せを含むことができる。
【0029】
データ値は、リソースプロバイダシステムに提供されるかまたは送られる報告(たとえば、パフォーマンス報告)においてデータ処理システム110によって使用するためのものであり得る。たとえば、データ処理システム110は、リソースプロバイダシステムに折り返して報告されるデータにおいてデータ値の少なくとも一部分を含むことができる。データ値は、コンテンツに対する要求においてフリーフォームテキストとして提供され得る。たとえば、要求は、データ鍵-データ値(または鍵-値)ペアのシーケンスを含むことができる。
【0030】
ポリシー管理モジュール130は、ネットワーク105を介して、コンテンツ発行者コンピューティングデバイス120から、リソースプロバイダに特有の暗号化ポリシーの指示を受信することができる。コンテンツ発行者コンピューティングデバイス120は、数ある中でも、ユーザインターフェースまたはアプリケーションプログラミングインターフェース(API)を介して、暗号化ポリシーの指示を提供することができる。暗号化ポリシーは、データ記憶制限が対応するデータ値に適用されるデータ鍵のセットまたはリストを示すことができる。たとえば、暗号化ポリシーは、対応するデータ値(または鍵値)がコンテンツ要求において提供されるときに暗号化された形態でデータ処理システム110によって維持されるべきである、データ鍵(またはデータフィールド)のリストまたはセットを指定することができる。ポリシー管理モジュール130は、暗号化ポリシー、データ鍵のリスト、および/または公開暗号化鍵をリソースプロバイダのリソースプロバイダアカウントまたはドメイン名に関連付けるデータ構造を維持することができる。リソースプロバイダが複数のドメインまたはアプリケーションを有する場合、リソースプロバイダは、各ドメインまたはアプリケーションに別個の公開暗号化鍵および/または別個の暗号化ポリシーを提供してもよい。
【0031】
いくつかの実装形態では、ポリシー管理モジュール130は、データ記憶制限が対応するデータ値に適用されるデータ鍵のセットの指示を受信することができる。ポリシー管理モジュール130は、データ構造において、データ鍵のセットの指示を使用してリソースプロバイダに特有の暗号化ポリシーを生成することができる。たとえば、ポリシー管理モジュール130は、データ鍵、各データ鍵に対応するデータ値に対して実施されるべきアクション(たとえば、暗号化)、および列挙された各アクションの説明または詳細を列挙するテーブル(または他のデータ構造)を生成することができる。各アクションの説明または詳細は、暗号化アクションを実施するために使用されるべき公開暗号化鍵を含むことができる。そのようなデータ構造は、個別のデータ鍵に対して別個のアクションまたは別個の公開暗号化鍵を定義することを可能にすることができる。
【0032】
データベース145は、情報リソースのURLまたは識別子などのリソースプロバイダアカウントに関連付けられたデータ、公開暗号化鍵、暗号化ポリシーを示す情報、および/またはリソースプロバイダシステム(またはコンテンツ発行者コンピューティングデバイス120)によって提供される他のデータを記憶することができる。ポリシー管理モジュール130は、たとえば、リソースプロバイダシステムまたは対応するコンテンツ発行者コンピューティングデバイス120によって提供された新しいデータまたは変更に応答して、データベース145内のリソースプロバイダデータを更新することができる。コンテンツ発行者コンピューティングデバイス120が公開暗号化鍵を提供するが、使用されるべき暗号化ポリシーを指定しない場合、ポリシー管理モジュール130は、デフォルト暗号化ポリシーをリソースプロバイダアカウントに関連付けることができる。たとえば、デフォルト暗号化ポリシーは、すべての鍵値が暗号化された形態で維持されるべきであることを課すことができる。
【0033】
方法200は、データ処理システム110が、リソースプロバイダに特有の暗号化ポリシーを使用して、コンテンツ要求内の対応するデータ値を有する1つまたは複数のデータ鍵のうちのデータ鍵を識別し(ステップ215)、データ記憶制限を識別されたデータ鍵に対応するデータ値に適用すると決定する(ステップ220)ことを含むことができる。ポリシー管理モジュール130は、要求を生成する情報リソースまたは対応するリソースプロバイダを識別するURLまたは他の識別子を取り出すために、コンテンツに対する要求をスキャンすることができる。情報リソースを識別する取り出されたURLまたは識別子を使用して、ポリシー管理モジュール130は、情報リソースに関連付けられたリソースプロバイダアカウントを識別し、リソースプロバイダアカウントに関連付けられた暗号化ポリシーを判定することができる。たとえば、ポリシー管理モジュール130は、暗号化ポリシーの条件または規則を取り出すことができる。条件または規則は、もしあれば、暗号化ポリシー(またはデータ記憶制限)が適用されるデータ鍵のリストを含むことができる。ポリシー管理モジュール130はまた、コンテンツに対する要求から、要求に含まれる対応するデータ値を有するデータ鍵を識別することができる。
【0034】
リソースプロバイダアカウントがデフォルト暗号化ポリシーを示す場合、ポリシー管理モジュール130は、データ記憶制限がコンテンツに対する要求内のすべてのデータ値(または鍵値)に適用されるべきであると判定することができる。データ記憶制限は、データ値が暗号化された形態でデータ処理システム110によってログされる(または記憶される)べきであることを意味することができる。暗号化ポリシーがデフォルトポリシーではない場合、ポリシー管理モジュール130は、対応するデータ値がコンテンツ要求に含まれるデータ鍵を、リソースプロバイダアカウントに関連付けられた暗号化ポリシーに列挙されたデータ鍵と比較することができる。比較に基づいて、ポリシー管理モジュール130は、対応するデータ鍵がリソースプロバイダアカウントの暗号化ポリシーによって列挙されたデータ鍵のうちの1つと一致する、要求内のデータ値を識別することができる。ポリシー管理モジュール130は、対応するデータ鍵がリソースプロバイダアカウントの暗号化ポリシーによって列挙された他のデータ鍵と一致する、要求内の2つ以上のデータ値を識別することができる。ポリシー管理モジュール130は、データ記憶制限が識別されたデータ値に適用されるべきであると判定することができる。
【0035】
データ記憶制限は、識別されたデータ値が(暗号化されていない形態ではなく)暗号化された形態でデータ処理システム110によって維持されるべきであることを指図することができる。データ処理システム110は、識別されたデータ値のいずれも暗号化されていない形態で維持することができない。したがって、データ記憶制限は、識別されたデータ値に対するデータセキュリティ(たとえば、暗号化)の追加レイヤを課す。
【0036】
方法200は、データ処理システム110が、データ記憶制限をデータ値に適用したことに応答して、対応する暗号化されたデータ値を生成するために公開暗号化鍵でデータ値を暗号化する(ステップ225)ことを含むことができる。ポリシー管理モジュール130は、識別されたデータ値を暗号化モジュール135に提供することができる。ポリシー管理モジュール130はまた、公開暗号化鍵を暗号化モジュール135に提供してもよい。暗号化モジュール135は、データベース145からまたはデータ構造から公開暗号化鍵を取り出すことができる。暗号化モジュール135は、公開暗号化鍵を使用して、識別されたデータ値を暗号化することができる。暗号化モジュール135は、識別されたデータ値の各々を別々に暗号化することができる。
【0037】
暗号化モジュール135は、識別されたデータ値の各々を「ソルト」値と連結することができる。「ソルト」値は、ランダムなデータ列またはランダムな数を含むことができる。データ値をデータ列と連結することによって、暗号化モジュール135は、変更されたデータ値(またはデータ値の変更されたバージョン)を生成することができる。変更されたデータ値は、たとえば、「ソルト:値」または「値:ソルト」の形態を有することができ、「値」はデータ値を表し、「ソルト」はソルト値を表す。暗号化モジュール135は、変更されたデータ値を形成するために、データ値の前、後、または中間のどこかにソルト値を追加することができる。「ソルト:値」および「値:ソルト」におけるコロンは単に読みやすくするために使用されているが、暗号化モジュール135は変更されたデータ値を生成するときにコロンを含める必要はない。
【0038】
暗号化モジュール135は、データ値の暗号化されたバージョンを生成するために、変更されたデータ値を暗号化することができる。データ値を「ソルト」値と連結することは、データ保護の別のレイヤを追加する。侵入エンティティがデータ値の暗号化されたバージョンを復号するのに成功した場合でも、そのエンティティは元のデータ値と変更されたデータ値におけるソルト値を区別することができない。リソースプロバイダシステムまたはコンテンツ発行者コンピューティングデバイス120は、変更されたデータ値の構造の事前知識を有することができる。たとえば、コンテンツ発行者コンピューティングデバイス120は、変更されたデータ値内のソルト値の長さおよび位置を知ることができる。使用されるソルト値の長さおよび位置は、リソースプロバイダによって異なり得る。データ処理システム110または暗号化モジュール135は、ソルト値の長さおよび位置(たとえば、開始点および長さ)の指示をコンテンツ発行者コンピューティングデバイス120に提供することができる。一般に、変更されたデータ値内のソルト値の長さおよび位置は、リソースプロバイダに特有のものであり得る。
【0039】
方法200は、データ処理システム110が、コンテンツに対する要求に関連付けられた少なくとも1つのイベントに関するデータに関連して暗号化されたデータ値を記憶する(ステップ230)ことを含むことができる。データ報告モジュール140は、たとえば、数ある中でも、各要求に応答してサービスされるコンテンツアイテム、サービスされるコンテンツアイテムとのクライアントデバイス対話、情報リソース上でコンテンツアイテムを表示したことに応答してリソースプロバイダが稼いだ金額、またはそれらの組合せに関するデータをデータベース145に記憶し、維持することができる。データ報告モジュール140は、暗号化されたデータ値に関連してそのようなデータを記憶することができる。
【0040】
たとえば、データ報告モジュール140は、特定のキーワードを含むコンテンツに対する要求に応答してクライアントデバイス125にサービスされるコンテンツアイテムの指示を記憶することができる。データ報告モジュール140は、特定のキーワードに対応する暗号化されたデータ値を、関連してそのようなコンテンツアイテムの指示に関連付けるデータ構造(たとえば、テーブルまたはリンク付きリスト)を維持することができる。同様に、データ報告モジュール140は、(1つまたは複数のクライアントデバイス125がコンテンツを要求したときに位置していた)地理的ロケーションに対応する暗号化されたデータ値を、その地理的ロケーションにおけるクライアントデバイス125にサービスされ、クライアントデバイス対話をトリガしたコンテンツアイテムに関連付けるデータ構造を維持することができる。データ報告モジュール140は、不適切なまたは攻撃的なコンテンツがクライアントデバイス125にサービスされることにつながるキーワードを表す暗号化されたデータ値のリストを維持することができる。データ報告モジュール140は、暗号化されたデータ値のうちの1つまたは複数を、1つまたは複数の暗号化されたデータ値に対応する鍵値を含むコンテンツ要求に関連付けられたイベントを示すデータに関連付ける様々な他のデータ構造を記憶することができる。
【0041】
いくつかの実装形態では、データ報告モジュール140は、対応するデータ鍵の指示に関連して暗号化されたデータ値を記憶することができる。データ鍵の指示は、暗号化されていない形態で記憶され得る。したがって、対応する指示が暗号化されていない形態で記憶されているので、データ報告モジュール140は記憶されたデータをデータ鍵に基づいて検索することができる。言い換えれば、暗号化されたデータ鍵値は、対応する暗号化されていない平文データ鍵に関連して記憶またはログされ得る。
【0042】
方法200は、データ処理システム110が、データベースに記憶された暗号化されたデータ値を使用して報告を生成する(ステップ235)ことを含むことができる。たとえば、データ報告モジュール140は、所与の情報リソースまたは所与のリソースプロバイダについてのログされたすべてのデータを含む1つまたは複数の報告を生成することができる。いくつかの実装形態では、データ報告モジュール140は、コンテンツ発行者コンピューティングデバイス120からパフォーマンスデータについてのクエリを受信することができる。クエリは、たとえば、サービスされるコンテンツアイテムおよびサービスされるコンテンツアイテムとの対話に対する様々なキーワードのパフォーマンスについてのものであり得る。データ報告モジュール140は、様々なキーワードのパフォーマンスを列挙する報告を生成することができる。報告では、キーワードは暗号化された形態で提示され得る。いくつかの実装形態では、データ報告モジュール140は、1つまたは複数の事前定義された報告を定期的に生成することができる。コンテンツ発行者コンピューティングデバイス120は、たとえば、データ処理システム110によって提供されるユーザインターフェースを通じて、報告に含まれるべきデータを定義することができる。
【0043】
方法200は、データ処理システム110が、報告へのアクセスをリソースプロバイダシステム(またはコンテンツ発行者コンピューティングデバイス120)に提供することを含むことができる。データ報告モジュール140は、生成された報告をコンテンツ発行者コンピューティングデバイス120に送信することができる。報告は、リソースプロバイダシステムに関連付けられたコンテンツ要求において使用されるキーワードまたは地理的ロケーションの暗号化されたバージョンなどの暗号化されたデータ値を含むことができる。報告を受信すると、コンテンツ発行者コンピューティングデバイス120は、報告内の暗号化されたデータ値を復号するために、リソースプロバイダの公開暗号化鍵に対応する秘密復号鍵を使用することができる。
【0044】
いくつかの実装形態では、データ報告モジュール140は、それぞれのウェブページまたはそれぞれのクライアントアプリケーションを介して、生成された報告へのアクセスを提供することができる。たとえば、リソースプロバイダシステムは、たとえば、クラウド上のリモートコンピューティングデバイスにおいて、それぞれの秘密復号鍵の暗号化されたコピーを維持することができる。データ報告モジュール140は、コンテンツ発行者コンピューティングデバイス120によってアクセス可能なユーザインターフェースを提供することができる。ユーザインターフェースは、コンテンツ発行者コンピューティングデバイス120が秘密復号鍵の暗号化されたコピーへのリンクおよび秘密復号鍵の暗号化されたコピーを復号するのに使用するためのパスワードを提供することを可能にすることができる。いくつかの実装形態では、ユーザインターフェースはまた、コンテンツ発行者コンピューティングデバイス120がリソースプロバイダシステムにまたはコンテンツ発行者コンピューティングデバイス120に報告されるべきデータを示すクエリを提供することを可能にすることができる。
【0045】
データ報告モジュール140は、上記で論じられたように、コンテンツ発行者コンピューティングデバイス120に提示するための報告を生成することができる。データ報告モジュール140は、たとえば、コンテンツ発行者コンピューティングデバイス120に提示されるべきデータを識別するためのクエリまたは事前定義された報告フォーマットを使用することができる。データ報告モジュール140は、ユーザインターフェースを介して提供されたリンクを使用して秘密復号鍵の暗号化されたコピーをダウンロードし、コンテンツ発行者コンピューティングデバイス120によって提供されたパスワードを使用して暗号化されたコピーを復号することができる。データ報告モジュール140は、コンテンツ発行者コンピューティングデバイス120に提示(または報告)されるべきデータ内の任意の暗号化されたデータ値を復号するために、秘密復号鍵を使用することができる。次いで、データ報告モジュール140は、それぞれのウェブページまたはそれぞれのクライアントアプリケーション上で、暗号化されていない形態のデータ値とともに、報告データ(または報告)を提示することができる。データ報告モジュール140(またはデータ処理)は、暗号化されたデータ値を復号した後で秘密鍵のいかなるコピーも保存または維持しない。
【0046】
本明細書で説明される方法およびシステムは、データ処理システム110によって維持されるリソースプロバイダデータへのアクセスをリソースプロバイダに依然として提供しながら、そのようなデータの完全性およびセキュリティを高めることを可能にする。データ処理システム110によって適用されるデータ記憶制限は、リソースプロバイダの情報リソースによって行われたコンテンツ要求に埋め込まれた機密のデータ鍵および対応するデータ値のプライバシーまたは完全性を危険にさらす任意のリスクを大幅に低減する。
【0047】
データ処理システム110によってリソースプロバイダシステムに報告されるデータ(または報告)は任意のフォーマットのものであり得ることに留意されたい。データは、統計パフォーマンスデータおよび/または決定論的パフォーマンスデータを含むことができる。データは、テキストデータ、画像データ、チャートデータ、ビデオデータ、または他のフォーマットのデータを含むことができる。
【0048】
ここで論じられるシステムがユーザについての個人情報を収集するか、または個人情報を利用し得る状況の場合、ユーザは、プログラムまたは機能が個人情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、ユーザの選好、またはユーザの現在のロケーションについての情報)を収集し得るかどうかを制御する機会、またはユーザにより関連があり得るコンテンツをコンテンツサーバから受信するかどうかもしくはどのように受信するかを制御する機会を提供され得る。加えて、ある特定のデータは、パラメータ(たとえば、人口学的パラメータ)を生成するときにユーザについてのある特定の情報が削除されるように、記憶または使用される前に1つまたは複数の方法で取り扱われ得る。たとえば、ユーザのアイデンティティは、ユーザについての識別情報が特定され得ないか、または、ロケーション情報が取得される場合にユーザの特定のロケーションが特定され得ないようにユーザの地理的ロケーションが(都市、ZIPコード、または州レベルなどに)一般化され得るように取り扱われ得る。したがって、ユーザは、ユーザについての情報がどのように収集され、コンテンツサーバによって使用されるかに対する制御を有し得る。
【0049】
図3は、いくつかの実装形態による、システム110ならびにポリシー管理モジュール130、暗号化モジュール135、およびデータ報告モジュール140などのそのコンポーネントを含む、本明細書で論じられるコンピュータシステムのうちのいずれかを実装するために用いられ得る例示的なコンピュータシステム300の一般的なアーキテクチャを示す。コンピュータシステム300は、表示のためにネットワーク105を介して情報を提供するために使用され得る。図3のコンピュータシステム300は、メモリ325、1つまたは複数の通信インターフェース305、ならびに1つまたは複数の出力デバイス310(たとえば、1つまたは複数のディスプレイユニット)および1つまたは複数の入力デバイス315に通信可能に結合された1つまたは複数のプロセッサ320を備える。プロセッサ320は、データ処理システム110、またはポリシー管理モジュール130、暗号化モジュール135、およびデータ報告モジュール140などのシステム110の他のコンポーネントに含まれ得る。
【0050】
図3のコンピュータシステム300では、メモリ325は任意のコンピュータ可読記憶媒体を備えてもよく、それぞれのシステムのための本明細書で説明される様々な機能を実装するためのプロセッサ実行可能命令などのコンピュータ命令、ならびにそれぞれのシステムに関連する、それぞれのシステムによって生成される、または通信インターフェースもしくは入力デバイスを介して受信される任意のデータ(存在する場合)を記憶してもよい。図1の環境100を再び参照すると、データ処理システム110は、たとえば、数ある中でも、リソースプロバイダアカウントに関するデータ構造および/または情報を記憶するためのメモリ325を含むことができる。メモリ325は、データベース145を含むことができる。図3に示されるプロセッサ320は、メモリ325に記憶された命令を実行するために使用されることがあり、そうする際に、命令の実行に従って処理および/または生成された様々な情報をメモリから読み取るかまたはメモリに書き込むこともある。
【0051】
図3に示されるコンピュータシステム300のプロセッサ320も、命令の実行に従って様々な情報を送信または受信するために通信インターフェース305に通信可能に結合され得るか、または通信インターフェース305を制御し得る。たとえば、通信インターフェース305は、ワイヤードもしくはワイヤレスネットワーク、バス、または他の通信手段に結合されることがあり、したがって、コンピュータシステム300が他のデバイス(たとえば、他のコンピュータシステム)に情報を送信するかまたは他のデバイスから情報を受信することを可能にし得る。図1のシステムには明示的に示されていないが、1つまたは複数の通信インターフェースは、システム300のコンポーネント間の情報フローを容易にする。いくつかの実装形態では、通信インターフェースは、コンピュータシステム300の少なくともいくつかの態様にアクセスポータルとしてのウェブサイトを提供するように(たとえば、様々なハードウェアコンポーネントまたはソフトウェアコンポーネントを介して)構成され得る。通信インターフェース305の例は、ユーザがデータ処理システム110と通信することができる(たとえば、ウェブページ内の)ユーザインターフェースを含む。
【0052】
図3に示されるコンピュータシステム300の出力デバイス310は、たとえば、命令の実行に関連して様々な情報が閲覧されるかまたは他の方法で知覚されることを可能にするために提供され得る。入力デバイス315は、たとえば、ユーザが手作業の調整を行うか、選択を行うか、データを入力するか、または命令の実行中に様々な方式のうちのいずれかでプロセッサと対話することを可能にするために提供され得る。本明細書で論じられる様々なシステムに用いられ得る一般的なコンピュータシステムアーキテクチャに関する追加の情報は、本明細書でさらに提供される。
【0053】
主題の実装形態および本明細書で説明される動作は、デジタル電子回路において、または本明細書で開示される構造およびそれらの構造的均等物を含む有形媒体、ファームウェア、もしくはハードウェア上で具現化されたコンピュータソフトウェアにおいて、あるいはそれらのうちの1つまたは複数の組合せにおいて実装され得る。本明細書で説明される主題の実装形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行するためにまたはデータ処理装置の動作を制御するためにコンピュータ記憶媒体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。プログラム命令は、人工的に生成された伝搬信号、たとえば、データ処理装置によって実行するために適切な受信機装置に送信するための情報を符号化するために生成された、機械生成された電気信号、光信号、または電磁信号上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つまたは複数の組合せであり得るか、またはそれらに含まれ得る。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号において符号化されたコンピュータプログラム命令の送信元または宛先を含むことができる。コンピュータ記憶媒体はまた、1つまたは複数の別個の物理コンポーネントまたは媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)であり得るか、またはそれらに含まれ得る。
【0054】
本明細書で説明される動作は、1つまたは複数のコンピュータ可読記憶デバイス上に記憶されたまたは他の送信元から受信されたデータに対してデータ処理装置によって実施される動作として実装され得る。
【0055】
「データ処理装置」、「データ処理システム」、「ユーザデバイス」または「コンピューティングデバイス」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、または上記の複数もしくは組合せを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、当該のコンピュータプログラム用の実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つまたは複数の組合せを構成するコードを含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングインフラストラクチャおよびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。ポリシー管理モジュール130、暗号化モジュール135、およびデータ報告モジュール140は、1つまたは複数のデータ処理装置、コンピューティングデバイス、またはプロセッサを含むかまたは共有することができる。
【0056】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイル型言語またはインタプリタ型言語、宣言型言語または手続き型言語を含む、任意の形態のプログラミング言語で書かれ得る。コンピュータプログラムは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境における使用に適した他のユニットとしてを含む、任意の形態で展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応し得るが、そうである必要はない。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語文書に記憶された1つもしくは複数のスクリプト)を保持するファイルの一部分に、当該のプログラム専用の単一のファイルに、または複数の協調ファイル(たとえば、1つもしくは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1つのサイトに配置されるかもしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開され得る。
【0057】
本明細書で説明されるプロセスおよび論理フローは、入力データを操作し、出力を生成することによってアクションを実施するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実施され得る。プロセスおよび論理フローはまた、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施され得、装置はまた、それらとして実装され得る。
【0058】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令に従ってアクションを実施するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むか、あるいは、それらからデータを受信することもしくはそれらにデータを転送することまたはその両方を行うために動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、たとえば、別のデバイス、たとえば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込まれ得る。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完され得るか、または専用論理回路に組み込まれ得る。
【0059】
ユーザとの対話を提供するために、本明細書で説明される主題の実装形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)モニタ、プラズマモニタ、またはLCD(液晶ディスプレイ)モニタと、ユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上で実装され得る。他の種類のデバイスも、ユーザとの対話を提供するために使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックを含むことができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送り、そのデバイスから文書を受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答して、そのウェブブラウザにウェブページを送ることによってユーザと対話することができる。
【0060】
本明細書で説明される主題の実装形態は、たとえば、データサーバとしてのバックエンドコンポーネントを含むか、またはミドルウェアコンポーネント、たとえば、アプリケーションサーバを含むか、またはフロントエンドコンポーネント、たとえば、ユーザが本明細書で説明される主題の一実装形態と対話することができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムにおいて実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形態の媒体、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
【0061】
コンピューティングシステム300は、コンテンツプロバイダコンピューティングデバイス115、コンテンツ発行者コンピューティングデバイス120、クライアントデバイス125、またはデータ処理システム110のサーバもしくはコンピューティングデバイスを含むことができる。たとえば、データ処理システム110は、1つまたは複数のデータセンタまたはサーバファームにおいて1つまたは複数のサーバを含むことができる。クライアントおよびサーバは、一般に互いから離れており、典型的には通信ネットワークを通じて対話する。クライアントとサーバの関係は、コンピュータプログラムがそれぞれのコンピュータ上で動作し、互いとのクライアント-サーバ関係を有することによって生じる。いくつかの実装形態では、サーバは、(たとえば、クライアントデバイスと対話するユーザにデータを表示し、そのユーザからのユーザ入力を受信する目的で)データ(たとえば、HTMLページ)をクライアントデバイスに送信する。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信され得る。
【0062】
本明細書は多くの特定の実装形態の詳細を含むが、これらは任意の発明の範囲または特許請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ、本明細書で説明されるシステムおよび方法の特定の実装形態に特有の特徴の説明として解釈されるべきである。別個の実装形態の文脈において本明細書で説明されるある特定の特徴はまた、単一の実装形態において組み合わせて実装され得る。逆に、単一の実装形態の文脈において説明される様々な特徴はまた、複数の実装形態において別々にまたは任意の適切な副組合せで実装され得る。さらに、特徴はある特定の組合せで働くものとして上記で説明されることがあり、そのようなものとして最初に特許請求されることさえあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除されることがあり、特許請求される組合せは、副組合せまたは副組合せの変形形態を対象とすることがある。
【0063】
同様に、動作は特定の順序で図面に示されているが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序でまたは逐次順序で実施されること、またはすべての図示された動作が実施されることを必要とするものとして理解されるべきではない。場合によっては、特許請求の範囲に列挙されるアクションは、異なる順序で実施され、それでもやはり、望ましい結果を達成することができる。加えて、添付の図に示されるプロセスは、望ましい結果を達成するために、必ずしも示された特定の順序または逐次順序を必要とするとは限らない。
【0064】
ある特定の状況では、マルチタスクおよび並列処理が有利であり得る。さらに、上記で説明された実装形態における様々なシステムコンポーネントの分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムは一般に、単一のソフトウェア製品に一緒に統合され得るか、または複数のソフトウェア製品にパッケージされ得ることが理解されるべきである。たとえば、ポリシー管理モジュール130、暗号化モジュール135、およびデータ報告モジュール140は、データ処理システム110の一部、単一のモジュール、1つもしくは複数の処理モジュール、1つもしくは複数のサーバを有する論理デバイス、または検索エンジンの一部であり得る。
【0065】
これまでいくつかの例示的な実装形態および実装形態について説明してきたが、上記が例示的なものであって限定的なものではなく、例として提示されてきたことは明らかである。特に、本明細書で提示される例の多くは方法行為またはシステム要素の特定の組合せを含むが、それらの行為およびそれらの要素は同じ目的を達成するために他の方法で組み合わされ得る。1つの実装形態のみに関連して論じられる行為、要素および特徴は、他の実装形態における同様の役割から除外されることを意図されていない。
【0066】
本明細書で使用される表現および用語は、説明を目的とするものであり、限定するものとして見なされるべきではない。「含む(including)」、「備える(comprising)」、「有する(having)」、「含む(containing)」、「含む(involving)」、「によって特徴付けられる(characterized by)」、「ことを特徴とする(characterized in that)」および本明細書のそれらの変形形態の使用は、その後に列挙される項目、それらの均等物、および追加の項目、ならびにその後に列挙される項目で構成される代替実装形態を包含することが意図されている。1つの実装形態では、本明細書で説明されるシステムおよび方法は、説明される要素、行為、またはコンポーネントのうちの1つ、2つ以上の各組合せ、またはすべてで構成される。
【0067】
本明細書で単数形で言及されるシステムおよび方法の実装形態または要素または行為へのいかなる言及も、複数のこれらの要素を含む実装形態も包含し得、本明細書の任意の実装形態または要素または行為への複数形でのいかなる言及も、単一の要素のみを含む実装形態も包含し得る。単数形または複数形での言及は、本明細書で開示されるシステムまたは方法、それらのコンポーネント、行為、または要素を単一の構成または複数の構成に限定することを意図されていない。任意の情報、行為または要素に基づいた任意の行為または要素への言及は、行為または要素が任意の情報、行為、または要素に少なくとも部分的に基づいている実装形態を含み得る。
【0068】
本明細書で開示される任意の実装形態は、任意の他の実装形態と組み合わされてもよく、「一実装形態」、「いくつかの実装形態」、「代替実装形態」、「様々な実装形態」、「1つの実装形態」などへの言及は、必ずしも相互排他的であるとは限らず、実装形態に関連して説明される特定の特徴、構造、または特性が少なくとも1つの実装形態に含まれ得ることを示すことを意図されている。本明細書で使用されるそのような用語は、必ずしもすべてが同じ実装形態を指すとは限らない。任意の実装形態は、任意の他の実装形態と、包含的にまたは排他的に、本明細書で開示される態様および実装形態と一致する任意の方式で組み合わされてもよい。
【0069】
「または(or)」への言及は、「または(or)」を使用して説明される任意の用語が、説明される用語のうちの単一の用語、2つ以上の用語、またはすべての用語のうちのいずれかを示し得るように、包含的なものと解釈され得る。
【0070】
図面、詳細な説明または任意の請求項における技術的特徴に参照符号が続く場合、参照符号は、図面、詳細な説明、および請求項の理解度を高めるという唯一の目的で含まれている。したがって、参照符号の有無はいずれも、いずれの請求項要素の範囲にもいかなる限定的影響も及ぼさない。
【0071】
本明細書で説明されるシステムおよび方法は、それらの特性から逸脱することなく他の特定の形態で具現化され得る。本明細書で提供される例は情報リソースのコンテンツの表示を制御することに関するが、本明細書で説明されるシステムおよび方法は他の環境に適用され得る。上記の実装形態は、説明されるシステムおよび方法を限定するものではなく、例示的なものである。したがって、本明細書で説明されるシステムおよび方法の範囲は、上記の説明ではなく添付の特許請求の範囲によって示され、特許請求の範囲の意図および等価の範囲内に入る変更は、特許請求の範囲に包含される。
【符号の説明】
【0072】
100 環境
105 ネットワーク
110 データ処理システム
120 コンテンツ発行者コンピューティングデバイス、コンピューティングデバイス
125 クライアントデバイス
130 ポリシー管理モジュール
135 暗号化モジュール
140 データ報告モジュール
145 データベース
200 方法
300 コンピュータシステム、システム
305 通信インターフェース
310 出力デバイス
315 入力デバイス
320 プロセッサ
325 メモリ
【要約】
コンテンツ要求において受信されたデータの記憶を制限するシステムおよび方法は、データ処理システムがリソースプロバイダのための公開暗号化鍵を取得することを含む。データ処理システムは、クライアントデバイス上で動作するリソースプロバイダの情報リソースからコンテンツ要求を受信することができる。要求は、1つまたは複数のデータ鍵に対応する1つまたは複数の鍵値を含むことができる。データ処理システムは、リソースプロバイダに特有の暗号化ポリシーを使用してデータ鍵を識別し、公開暗号化鍵を使用して鍵値を暗号化することができる。データ処理システムは、暗号化された形態の鍵値を記憶することができる。データ処理システムは、暗号化された形態の鍵値を使用してデータ報告を生成し、データ報告へのアクセスを提供することができる。
図1
図2
図3