(57)【要約】      （修正有）【課題】クライアント計算デバイスおよびコンテンツ制作デバイスの間のパケットの効率的、かつ、透過的な暗号化を容易にするシステムを提供する。【解決手段】動作中、システムは、コンテンツ制作デバイスにより、元の名前に対応するマスク名を含むインタレストパケットを受信する。ここで、元の名前は、最も一般的なレベルから最も特定的なレベルへ順序付けされる連続的な名前コンポーネントを含む、階層的に構造化された可変長識別子である。システムは、元の名前をマスク名に基づいて取得する。システムは、対称キーを元の名前および生成されたノンスに基づいて計算する。システムは、元の名前に対応するコンテンツオブジェクトパケットを生成し、マスク名、ノンス、対称キーに基づいて暗号化されたペイロードを含む。ここで、コンテンツオブジェクトパケットは、クライアント計算デバイスにより受信される。【選択図】図４
2017098949.tif 000002
【特許請求の範囲】
【請求項１】
パケットの効率的かつ透過的な暗号化を容易にするためのコンピュータシステムであって、前記システムは、
プロセッサと、
前記プロセッサにより実行されると、前記プロセッサに方法を行わせる命令を保存する保存デバイスであって、前記方法は、
コンテンツ制作デバイスにより、元の名前に対応するマスク名を含むインタレストパケットを受信することであって、前記元の名前は、最も一般的なレベルから最も特定的なレベルへ順序付けされた連続的な名前コンポーネントを含む、階層的に構造化された可変長識別子である、受信することと、
前記元の名前を前記マスク名に基づいて取得することと、
対称キーを前記元の名前および生成されたノンスに基づいて計算することと、
前記元の名前に対応し、前記マスク名、前記ノンス、および、前記対称キーに基づいて暗号化されたペイロードを含む、コンテンツオブジェクトパケットを生成することであって、前記コンテンツオブジェクトパケットはクライアント計算デバイスにより受信される、生成することと、
を備え、
それにより、前記コンテンツ制作デバイスおよび前記クライアント計算デバイスの間の効率的および透過的なコンテンツ暗号化を容易にする、
保存デバイスと、
を備える、コンピュータシステム。
【請求項２】
前記方法は、
前記コンテンツオブジェクトパケットを、前記インタレストパケットを送信したエンティティへ転送すること、
をさらに備える、請求項１に記載のコンピュータシステム。
【請求項３】
前記インタレストパケットは、前記コンテンツ制作デバイスの公開キーに基づいて暗号化された前記元の名前を示し、前記元の名前を取得することは、
前記暗号化された元の名前を前記コンテンツ制作デバイスの秘密キーに基づいて復号すること、
を備える、請求項１に記載のコンピュータシステム。
【請求項４】
前記元の名前を取得することは、
データ構造において前記マスク名を調べ、前記元の名前を取得すること、
を備える、請求項１に記載のコンピュータシステム。
【請求項５】
パケットの効率的かつ透過的な暗号化を容易にするためのコンピュータシステムであって、前記システムは、
プロセッサと、
前記プロセッサにより実行されると、前記プロセッサに方法を行わせる命令を保存する保存デバイスであって、前記方法は、
クライアント計算デバイスにより、マスク名を元の名前に基づいて計算することであって、前記元の名前は、最も一般的なレベルから最も特定的なレベルへ順序付けされた連続的な名前コンポーネントを含む、階層的に構造化された可変長識別子である、計算することと、
前記マスク名を有するインタレストパケットを送信することに応答して、前記マスク名、ノンス、および、対称キーに基づいて暗号化されたペイロードを含むコンテンツオブジェクトパケットを受信することであって、前記コンテンツオブジェクトパケットはコンテンツ制作デバイスにより生成される、受信することと、
データ構造において前記マスク名を調べ、前記元の名前を取得することと、
前記対称キーを、前記取得された元の名前および前記ノンスに基づいて計算することと、
前記暗号化されたペイロードを前記対称キーに基づいて復号することと、
を備え、
それにより、前記クライアント計算デバイスおよび前記コンテンツ制作デバイスの間の効率的かつ透過的なコンテンツ暗号化を容易にする、
保存デバイスと、
を備える、コンピュータシステム。
【請求項６】
前記マスク名を計算することは、前記元の名前の１つ以上の名前コンポーネントで行われるハッシュ関数に、さらに基づく、請求項５に記載のコンピュータシステム。
【請求項７】
前記方法は、前記コンテンツ制作デバイスと関連付けられるアプリケーションにより、または、前記クライアント計算デバイスと関連付けられる通信モジュールのスタックのコンポーネントにより、行われる、請求項５に記載のコンピュータシステム。
【請求項８】
パケットの効率的かつ透過的な暗号化を容易にするためのコンピュータ実装方法であって、前記方法は、
クライアント計算デバイスにより、マスク名を元の名前に基づいて計算することであって、前記元の名前は、最も一般的なレベルから最も特定的なレベルへ順序付けされた連続的な名前コンポーネントを含む、階層的に構造化された可変長識別子である、計算することと、
前記マスク名を有するインタレストパケットを送信することに応答して、前記マスク名、ノンス、および、対称キーに基づいて暗号化されたペイロードを含むコンテンツオブジェクトパケットを受信することであって、前記コンテンツオブジェクトパケットはコンテンツ制作デバイスにより生成される、受信することと、
データ構造において前記マスク名を調べ、前記元の名前を取得することと、
前記対称キーを前記取得された元の名前および前記ノンスに基づいて計算することと、
前記暗号化されたペイロードを前記対称キーに基づいて復号することと、
を備え、
それにより、前記クライアント計算デバイスおよび前記コンテンツ制作デバイスの間の効率的かつ透過的なコンテンツ暗号化を容易にする、
コンピュータ実装方法。
【請求項９】
前記マスク名を計算することは、前記元の名前の１つ以上の名前コンポーネントで行われるハッシュ関数に、さらに基づく、請求項８に記載の方法。
【請求項１０】
前記方法は、前記コンテンツ制作デバイスと関連付けられるアプリケーションにより、または、前記クライアント計算デバイスと関連付けられる通信モジュールのスタックのコンポーネントにより、行われる、請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、デジタルコンテンツの配信に関する。より具体的には、本開示は、コンテンツ指向型ネットワークにおける効率的かつ透過的な暗号化のためのシステムに関する。
【背景技術】
【０００２】
インターネットおよび電子商取引の普及により、膨大な量のデジタルコンテンツが作成され続けている。コンテンツ指向型ネットワーク（ＣＣＮ）アーキテクチャは、そのようなデジタルコンテンツへのアクセスおよび処理を容易にするよう設計されてきた。ＣＣＮは、様々なコンテンツアイテムのインタレストパケットを送信し、引き換えにコンテンツオブジェクトパケットを受信することにより、相互に通信する、ネットワーククライアント、フォワーダ（例えば、ルータ）、および、コンテンツプロデューサなど、エンティティまたはノードを含む。ＣＣＮインタレストおよびコンテンツオブジェクトは、典型的に階層的に構造化された可変長識別子（ＨＳＶＬＩ）である、独自の名前により特定される。ＨＳＶＬＩは、最も一般的なレベルから最も特定的なレベルへ順序付けされた連続的な名前コンポーネントを含み得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ＣＣＮデータパケット（インタレストまたはコンテンツオブジェクトなど）は、名前に基づいて転送される。ＣＣＮの名前の一部はルーティングの目的に使用されてよく、名前の一部は機密データを包含し得る。例えば、一部の名前コンポーネントは、中間ノードに使用されて転送およびキャッシングを行う場合があり、一方で他の名前コンポーネントは個人的なユーザ情報またはアプリケーション固有のデータを包含する場合がある。後者の事例において、名前コンポーネントの有意性は、要求コンテンツに関する情報を露呈する可能性があり、結果的に、ユーザのプライバシーまたはセキュリティが漏洩する可能性がある。加えて、ＣＣＮ通信は、コンテンツおよび認証またはキー交換情報を交換するために、１つより多いラウンドトリップタイム（「ＲＴＴ」）を必要とする可能性がある。これらの問題は、ＣＣＮにおけるコンテンツ配信のセキュリティおよび効率性に影響を及ぼし得る。
【課題を解決するための手段】
【０００４】
１つの実施形態は、クライアント計算デバイスおよびコンテンツ制作デバイスの間のパケットの効率的かつ透過的な暗号化を容易にするシステムを提供する。動作中、システムは、コンテンツ制作デバイスにより、元の名前に対応するマスク名を含むインタレストパケットを受信する。ここで、元の名前は、最も一般的なレベルから最も特定的なレベルへ順序付けされた連続的な名前コンポーネントを含む、階層的に構造化された可変長識別子である。システムは、元の名前をマスク名に基づいて取得する。システムは、対称キーを元の名前および生成されたノンスに基づいて計算する。システムは、元の名前に対応するコンテンツオブジェクトパケットを生成し、マスク名、ノンス、および、対称キーに基づいて暗号化されたペイロードを含む。ここで、コンテンツオブジェクトパケットは、クライアント計算デバイスにより受信される。
【０００５】
一部の実施形態において、システムはコンテンツオブジェクトパケットを、インタレストパケットを送信したエンティティへ転送する。
【０００６】
一部の実施形態において、インタレストパケットは、コンテンツ制作デバイスの公開キーに基づいて暗号化された元の名前を示す。システムは、暗号化された元の名前をコンテンツ制作デバイスの秘密キーに基づいて復号する。
【０００７】
一部の実施形態において、システムは、データ構造においてマスク名を調べ元の名前を取得する。
【０００８】
一部の実施形態において、システムは、所定のサイズの長さを有する乱数である、ノンスを生成する。ここで、対称キーは、生成されたノンスの所定のサイズと同じサイズの長さを有する。
【０００９】
一部の実施形態において、方法は、コンテンツ制作デバイスと関連付けられるアプリケーションにより、または、コンテンツ制作デバイスと関連付けられる通信モジュールのスタックのコンポーネントにより、行われる。
【００１０】
別の実施形態において、システムは、クライアント計算デバイスにより、マスク名を元の名前に基づいて計算する。ここで、元の名前は、最も一般的なレベルから最も特定的なレベルへ順序付けされた連続的な名前コンポーネントを含む、階層的に構造化された可変長識別子である。マスク名を有するインタレストパケットを送信することに応答して、システムは、マスク名、ノンス、および、対称キーに基づいて暗号化されたペイロードを含むコンテンツオブジェクトパケットを受信する。ここで、コンテンツオブジェクトは、コンテンツ制作デバイスにより生成される。システムは、データ構造においてマスク名を調べ元の名前を取得する。システムは、対称キーを取得された元の名前およびノンスに基づいて計算し、暗号化されたペイロードを対称キーに基づいて復号し、それにより、クライアント計算デバイスおよびコンテンツ制作デバイスの間の効率的かつ透過的なコンテンツ暗号化を容易にする。
【００１１】
一部の実施形態において、マスク名を計算することは、さらに、元の名前の１つ以上の名前コンポーネントで行われるハッシュ関数に基づく。
【００１２】
一部の実施形態において、システムは、インタレストパケットの名前をマスク名に設定し、データ構造にマスク名および元の名前の間の関係を保存する。
【００１３】
一部の実施形態において、システムは、元の名前をコンテンツ制作デバイスの公開キーに基づいて暗号化する。システムは、暗号化された元の名前をインタレストパケットのペイロードに含む。
【００１４】
一部の実施形態において、対称キーを計算することは、さらに、コンテンツオブジェクトパケットに示されるキー導出関数に基づく。
【００１５】
一部の実施形態において、システムは、コンテンツオブジェクトパケットにおけるマスク名を取得された元の名前に置換し、コンテンツオブジェクトパケットにおける暗号化されたペイロードを復号されたペイロードに置換する。さらに、システムは、保留インタレストテーブルから取得された元の名前に対応するエントリを削除する。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にする例示的な環境を図示する。
【図２】図２は、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にする例示的な搬送フレームワークを図示する。
【図３】図３は、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にするためのクライアント計算デバイスによる方法を図示するフローチャートを提示する。
【図４】図４は、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にするためのコンテンツ制作デバイスによる方法を図示するフローチャートを提示する。
【図５】図５は、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にするためのクライアント計算デバイスによる方法を図示するフローチャートを提示する。
【図６Ａ】図６Ａは、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にする例示的な装置を図示する。
【図６Ｂ】図６Ｂは、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にする例示的な装置を図示する。
【図７Ａ】図７Ａは、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にする例示的なコンピュータシステムを図示する。
【図７Ｂ】図７Ｂは、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にする例示的なコンピュータシステムを図示する。
【発明を実施するための形態】
【００１７】
図において、同様の参照番号は同様の図要素を指す。
【００１８】
以下の説明は、当業者が実施形態を作製および使用可能なように提示され、特定の用途および要件の文脈において提供される。開示される実施形態に対する様々な修正が当業者に容易に明らかになり、本明細書において規定される一般的な原理は、本開示の精神および範囲から逸脱することなく、他の実施形態および用途に適用されてよい。したがって、本発明は示される実施形態に限定されないが、本明細書において開示される原理および特性と一致する最も広い範囲に合致する。
【００１９】
概要
本発明の実施形態は、コンテンツへの悪意あるアクセスの問題を、名前およびコンテンツの両方をマスクする透過的な暗号化プロトコルを使用して解決する、コンテンツの効率的および透過的な暗号化のためのシステムを提供する。ＣＣＮにおいて、パケットは、パケットの独自の名前に基づいて送付される。ＣＣＮの名前は、悪意あるネットワークエンティティにより傍受されてユーザのセキュリティまたはプライバシーの侵害をもたらし得る、アプリケーションに影響を及ぼすデータを含む可能性がある。加えて、コンシューマおよびプロデューサの間のＣＣＮにおける通信は、１つより多いＲＴＴを必要とする可能性がある。例えば、インタレストに応答して、コンシューマはプロデューサから暗号化されたコンテンツオブジェクトを受信してよい。その後、コンシューマは、２つのＲＴＴをもたらす、受信コンテンツを復号するために、プロデューサにキー交換情報を問い合わせる必要があってよい。
【００２０】
本発明の実施形態は、効率的かつセキュアである透過的な暗号化プロトコルに基づくシステムを提供する。システムは、名前をマスクして応答コンテンツを暗号化することにより、１つのＲＴＴへのパケット移動時間を削減する。高いレベルで、コンシューマは元の名前（「Ｎ」）を有するインタレストを作成し、続いて、例えば、名前の１つ以上の名前コンポーネントでハッシュ関数を行うことにより（「Ｈ（Ｎ）」）、名前をマスクする。コンシューマは、ＮおよびＨ（Ｎ）の間の関係を保存する。コンシューマは、プロデューサの公開キーに基づいてＮを選択的に暗号化することができ、暗号化された元の名前をインタレストに含み得る。マスクされて選択的に暗号化されたインタレストを受信すると、プロデューサは、マスク名に基づいて、ローカルデータベースにおいてマスク名を調べることにより、または、コンシューマがインタレストにおける暗号化された元の名前に含まれている場合、元の名前をプロデューサの秘密キーに基づいて復号することにより、元の名前を判定する。
【００２１】
続いて、プロデューサはランダムなノンス（「ｒ」）を生成し、その後、対称キー（「ＳＫ」）を、ノンスｒと連結される元の名前Ｎで行われるキー導出関数（「ＫＤＦ」）に基づいて生成する：ＳＫ←ＫＤＦ（Ｎ｜｜ｒ）。その後、プロデューサは、マスク名Ｈ（Ｎ）、ノンスｒ、および、対称キーに基づいて暗号化されたペイロード（「ＥＳＫ（ＰＡＹＬＯＡＤ）」）を有するコンテンツオブジェクトを返送する。
【００２２】
マスクおよび暗号化された応答コンテンツオブジェクトを受信すると、コンシューマは、ローカルデータベースにおける（事前に保存された）マスク名を調べて元の名前Ｎを取得し、元の名前Ｎおよびノンスｒの両方を保持して、プロデューサと同じ手法で対称キーを生成する：ＳＫ←ＫＤＦ（Ｎ｜｜ｒ）。ＫＤＦ関数名およびパラメータは、コンテンツオブジェクトに含まれてよい。その後、コンシューマは、対称キーを使用して暗号化されたペイロードを復号する：ＰＡＹＬＯＡＤ←ＤＳＫ（ＥＳＫ（ＰＡＹＬＯＡＤ））。
【００２３】
したがって、元の名前を保持するエンティティ、元の名前およびマスク名の間のマッピング、および、ランダムなノンスは、対称キーを生成して応答コンテンツオブジェクトの暗号化されたペイロードを復号し得る。したがって、本システムの透過的な暗号化プロトコルは、名前をマスクしてコンテンツを暗号化することにより、軽量のエンドツーエンドセキュリティを可能とする。コンシューマおよびプロデューサは、元の名前および元の名前のマスク名へのマッピングの知識に基づく秘密を共有する。一部の実施形態において、暗号化プロトコルは、ＣＣＮ搬送スタックにおけるマスカーコンポーネントなど、ＣＣＮ搬送フレームワーク内およびＣＣＮ搬送フレームワークと関連付けられるコンポーネントの機能性に基づく。ＣＣＮはスタックを搬送し、ＣＣＮスタック名および同一性管理は、米国特許出願第１４／７４６，４９０号に記載されている。透過的な暗号化プロトコルの詳細な説明は、図２と関連して以下に記載される。
【００２４】
ＣＣＮにおいて、各コンテンツは個々に名付けられ、各データは、同じデータの他のバージョンまたは他のソースからのデータなど、データを任意の他のデータと区別する独自の名前と結合される。この独自の名前により、ネットワークデバイスは、独自の名前を示す要求またはインタレストを広めることにより、データを要求でき、データの保存場所、ネットワーク位置、アプリケーション、および、搬送の手段と関係なくデータを取得し得る。以下の用語は、ＣＣＮアーキテクチャを説明するために使用される：
【００２５】
コンテンツオブジェクト：独自の名前と結び付く、単体の名付けられたデータ。コンテンツオブジェクトは「永続的」である。これは、コンテンツオブジェクトが、計算デバイス内、または、異なる計算デバイスとの間で、移動可能であり得るが、変化しないことを意味する。コンテンツオブジェクトの任意のコンポーネントが変化する場合、変化をもたらすエンティティは、更新済みコンテンツを含む新しいコンテンツオブジェクトを作成して、新しいコンテンツオブジェクトを新しい独自の名前と結び付ける。
【００２６】
独自の名前：ＣＣＮにおける名前は、典型的に独立した位置であり、コンテンツオブジェクトを独自に特定する。データ転送デバイスは、名前または名前プレフィックスを使用して、コンテンツオブジェクトのネットワークアドレスまたは物理的な位置に関係なく、コンテンツオブジェクトを生成または保存するネットワークノードへパケットを転送し得る。一部の実施形態において、名前は、階層的に構造化された可変長識別子（ＨＳＶＬＩ）であってよい。ＨＳＶＬＩは、様々な手法で構造化され得る、いくつかの階層的なコンポーネントに分割され得る。例えば、個々の名前コンポーネントｐａｒｃ、ｈｏｍｅ、ｃｃｎ、およびｔｅｓｔ．ｔｘｔは、左向き上位プレフィックスの手法で構造化され、名前「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ／ｔｅｓｔ．ｔｘｔ」を形成し得る。したがって、名前「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ」は、「／ｐａｒｃ／ｈｏｍｅ／ｃｃｎ／ｔｅｓｔ．ｔｘｔ」の「親」または「プレフィックス」であり得る。追加的なコンポーネントは、共同文書など、コンテンツアイテムの異なるバージョンを区別するのに使用され得る。
【００２７】
一部の実施形態において、名前は、コンテンツオブジェクトのデータ（例えば、チェックサム値）から生じる、および／または、コンテンツオブジェクトの名前の要素から生じる、ハッシュ値など、識別子を含み得る。ハッシュベースの名前の説明は、米国特許出願第１３／８４７，８１４号に記載されている。さらに、名前はフラットラベルであり得る。以降、「名前」は、階層的な名前または名前プレフィックス、フラットな名前、固定長の名前、任意の長さの名前、または、ラベル（例えば、マルチプロトコルラベルスイッチング（ＭＰＬＳ）ラベル）など、名前−データネットワークにおけるデータの任意の名前を指すために使用される。
【００２８】
インタレスト：データに対する要求を示し、データの名前（または、名前プレフィックス）を含む、パケット。データコンシューマは、要求またはインタレストを、ＣＣＮ／ＮＤＮルータが、保存デバイス（例えば、キャッシュサーバ）へ、または、要求されたデータを提供して要求またはインタレストを満たし得るデータプロデューサへ、伝搬し得る、情報指向型ネットワークを介して広め得る。
【００２９】
本明細書に開示される方法は、ＣＣＮネットワークに限定されず、他のアーキテクチャにも適用可能である。ＣＣＮアーキテクチャの説明は、米国特許出願第１２／３３８，１７５号に記載されている。
【００３０】
例示的なネットワークおよび通信
図１は、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にする例示的な環境１００を図示する。計算環境１００は、ＣＣＮなどのコンピュータネットワーク１０２を含み得る。さらに、環境１００は、ローカル計算デバイス１０４と関連付けられるユーザ１０６、および、リモート計算デバイス１０８を含み得る。デバイス１０４および１０８は、ネットワーク１０２を介してネットワークパケットを相互に交換する、（例えば、それぞれ搬送フレームワーク１３０および１７０と関連付けられる）内部搬送スタックを有し得る。
【００３１】
従来のＩＰアーキテクチャにおいて、フォワーダは、パケットのヘッダを見てパケットのソースおよび宛先を判定し、パケットを宛先へ転送する、ＩＰベースのフォワーダである。スタックはＴＣＰ／ＵＤＰを行い、アプリケーションはソケットを介してスタックと相互に作用する。対照的に、本発明のデバイス１０４は、従来の「スタック」を使用しない。むしろ、アプリケーション１１０を介するデバイス１０４は、搬送フレームワーク１３０に対応するポータル１２０に対応するポータルＡＰＩインスタンスを要求し得る。同様に、アプリケーション１５０を介するデバイス１０８は、搬送フレームワーク１７０に対応するポータル１６０に対応するポータルＡＰＩインスタンスを要求し得る。
【００３２】
デバイス１０４は、スマートフォン１０４．１、タブレットコンピュータ１０４．２、および／または、サーバまたはパーソナルコンピュータ１０４．ｍなど、ネットワーク１０２と結合される任意の計算デバイスを含み得る。具体的には、デバイス１０４は、ポータル１２０を介して搬送フレームワーク１３０と通信するアプリケーション１１０を含み得る。搬送フレームワーク１３０は、スタックコンポーネント１３４．１〜１３４．ｎを含み得る。さらに、デバイス１０４は、搬送フレームワーク１３０のスタック（および、個々のスタックコンポーネント）およびネットワーク１０２の間でパケットを搬送し得るフォワーダ１４０（例えば、ネットワークインタフェースカード、または、ローカルエリアネットワークにおけるルータ）を含み得る。同様に、デバイス１０８は、サーバまたはエンドホストデバイスなど、ネットワーク１０２と結合される任意の計算デバイスを含み得る。デバイス１０８は、ポータル１６０を介して搬送フレームワーク１７０と通信するアプリケーション１５０を含み得る。搬送フレームワーク１７０は、スタックコンポーネント１７４．１〜１７４．ｐを含み得る。さらに、デバイス１０８は、搬送フレームワーク１７０のスタック（および、個々のスタックコンポーネント）およびネットワーク１０２の間でパケットを転送し得るフォワーダ１８０を含み得る。さらに、フォワーダ１４０および１８０は、それぞれ個々のスタックコンポーネント１３４．１〜１３４．ｎおよび１７４．１〜１７４．ｐの間で直接的にパケットの転送を容易にし得る。
【００３３】
図２は、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にする例示的な搬送フレームワークを図示する。アプリケーション２１０および２５０は、同じデバイスまたはネットワーク２０２を介して通信する異なるデバイス上に常駐し得る。アプリケーション２１０は、ＡＰＩ２１２、２１４、および２１６を使用して、ネットワーク２０２を介して通信することができ、ＡＰＩ２１２〜２１６は、ポータル２２０を介して搬送フレームワーク２３０と相互に作用し得る。搬送フレームワーク２３０は、各々が複数のスタックコンポーネントまたは通信モジュールを含む、１つ以上の搬送スタックを含み得る。図２において、搬送フレームワーク２３０は、スタックコンポーネント２３２、２３４、２３５、２３６、および２３８を含む１つの搬送スタック（例えば、搬送スタック２３１）を描写する。ＡＰＩアダプタ２３２は、ＡＰＩおよび特定の搬送スタックおよび搬送フレームワーク２３０の間で通信し得る。フローコントローラ２３４は、トラフィックを成形および管理し、インタレストを輸送および送信し、コンテンツオブジェクトを整理し得る。マスカー２３５はマスク名を作成することができ、元の名前およびマスク名の間のマッピングを保存すること、および、ペイロードを復号するための対称キーを計算することなど、透過的な暗号化と関連する機能を行い得る。ベリファイア／シグナー２３６は、ネットワーク要素へ向かうコンテンツオブジェクトを暗号化および署名し、アプリケーションへ向かうコンテンツを復号および検証し、ネットワーク要素へ向かうインタレストを暗号化し、アプリケーションへ向かうインタレストを復号し得る。フォワーダ／アダプタ２３８は、フォワーダ２４０と通信し得る。フォワーダ２４０は、他のフォワーダとネットワーク２０２を介して通信し得る。他のスタックコンポーネント（図示せず）は、セキュリティ（例えば、暗号化、復号化、認証、データ署名、署名検証、信頼評価、および、フィルタリング）、データ処理（例えば、暗号化、復号化、カプセル化、カプセル開放、コード変換、圧縮、抽出、および、解凍）、および、保存（例えば、データ保存、ストレージからのデータ検索、重複排除、分割、および、バージョニング）と関連する機能性を含み得る。
【００３４】
同様に、アプリケーション２５０は、ＡＰＩ２５２、２５４、および２５６を使用してネットワーク２０２を介して通信することができ、ＡＰＩ２５２〜２５６は、ポータル２６０を介して搬送フレームワーク２７０と相互に作用し得る。搬送フレームワーク２７０は、各々が複数のスタックコンポーネントまたは通信モジュールを含む、１つ以上の搬送スタックを含み得る。図２において、搬送フレームワーク２７０は、以下のスタックコンポーネントを含む１つの搬送スタック（例えば、搬送スタック２７１）を描写する：ＡＰＩアダプタ２７２；フローコントローラ２７４；マスカー２７５；ベリファイア／シグナー２７６；および、フォワーダ２８０と通信し得るフォワーダ／アダプタ２７８。フォワーダ２８０は、フォワーダ２４０とネットワーク２０２を介して通信し得る。
【００３５】
アプリケーション２１０は、コンシューマまたはクライアント計算デバイスと関連付けられてよく、アプリケーション２５０は、プロデューサまたはコンテンツ制作デバイスと関連付けられ得る。動作中、アプリケーション２１０は、元の名前（「Ｎ」）および選択的なペイロード（「＜ｄａｔａ＞」）を有するインタレスト２９０を作成し得る。アプリケーション２１０は、インタレスト２９０を、ポータルＡＰＩインスタンス２２０を介して、スタック２３１を経由して送信し得る。マスカー２３５は、インタレスト２９０を受信し、マスク名（例えば、「Ｈ（Ｎ）」）を計算し得る（関数２３５．１）。マスカー２３５は、マッピングをＮおよびＨ（Ｎ）の間でローカルデータベースに保存し得る。一部の実施形態において、マスカー２３５は元の名前をプロデューサの公開キーで暗号化し、暗号化された名前をインタレスト２９０／２９２のペイロードに挿入し得る（関数２３５．１）。ここで、ペイロードは、（インタレスト２９２により示されるように）ネットワーク２０２上をフォワーダ２４０および２８０を介して移動し得る。
【００３６】
アプリケーション２５０は、インタレスト２９２を、フォワーダ２８０および搬送スタック２７１を介して受信し得る。ペイロードが暗号化された元の名前を含む場合、アプリケーション２５０は、暗号化された元の名前をプロデューサの秘密キーに基づいて復号し得る。代替的に、ペイロードが暗号化された元の名前を含まない場合、アプリケーション２５０（または、スタックコンポーネントのうちの１つ）は、マスク名Ｈ（Ｎ）に対するローカルデータベースにおいてルックアップを行い、元の名前Ｎを取得し得る。図２において、ＮをＨ（Ｎ）から判定することは、関数２７５．１においてマスカー２７５により行われる復号動作として示されるが、このステップは、さらに、アプリケーション２５０または別のスタックコンポーネントにより行われ得る。
【００３７】
続いて、アプリケーション２５０は、元の名前Ｎおよび「データ」のペイロードを有する応答コンテンツオブジェクト２９４を生成し得る。その後、マスカー２７５は、入力としてランダムなノンス（「ｒ」）と連結される元の名前Ｎを使用するキー導出関数（「ＫＤＦ」）を行うことにより、対称キー（「ＳＫ」）を計算する。マスカー２７５は、所定のサイズの長さを有するランダムなストリングであり得る、ノンスｒを生成し得る。さらに、対称キーＳＫは、同じ所定のサイズの長さを有し得る：ＳＫ←ＫＤＦ（Ｎ｜｜ｒ）。マスカー２７５は、対称キーＳＫを使用してペイロードを暗号化し、元の名前Ｎをマスク名Ｈ（Ｎ）に置換し、ノンスｒを特定フィールドに含み、クリアテキストペイロードを暗号化されたペイロードに置換し得る（退出コンテンツオブジェクト２９６に示される）。コンテンツオブジェクト２９６のペイロードは、キー導出関数を行うのに必要な特定の関数および他のパラメータを含み得る。マスクされ暗号化されたコンテンツオブジェクト２９６は、ネットワーク２０２上をフォワーダ２８０および２４０を介して移動し得る。
【００３８】
フォワーダ２４０は、コンテンツオブジェクト２９６を搬送スタック２３１へ送信し得る。マスカー２３５は、事前に保存されたマッピングを有するローカルデータベースにおいてＨ（Ｎ）を調べ、Ｎを取得し得る（関数２３５．２）。マスカー２３５はＫＤＦ、元の名前Ｎ、および、ランダムなノンスｒを保持しているため、マスカー２３５は、マスカー２７５と同様の手法で対称キーを計算し得る：ＳＫ←ＫＤＦ（Ｎ｜｜ｒ）（関数２３５．２）。その後、マスカー２３５は、暗号化されたペイロードを復号して「データ」を取得し、復号されマスクされていない応答コンテンツオブジェクト２９８をアプリケーション２１０へ戻し得る。このように、元の名前をマスク名から導き得るエンティティのみが、対称キーを作成して、暗号化されたペイロードにアクセスし得る。したがって、本発明は、ＣＣＮにおけるコンテンツ配信のための軽量のエンドツーエンドセキュリティを提供する。
【００３９】
図２において、アプリケーション２１０により作成されフォワーダ２４０により送信されるインタレストパケットは、図示の目的で２つのインタレスト（２９０および２９２）として描写される。同様に、アプリケーション２５０により作成されフォワーダ２８０により送信される応答コンテンツオブジェクトは、図示の目的で２つのコンテンツオブジェクト（２９４および２９６）として描写される。
【００４０】
クライアント計算デバイスがマスクされたインタレストを生成
図３は、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にするためのクライアント計算デバイスによる方法を図示するフローチャート３００を提示する。動作中、クライアント計算デバイスと関連付けられるアプリケーションは、元の名前Ｎを有するインタレストを生成する（動作３０２）。クライアント計算デバイスと関連付けられるマスカーコンポーネントは、マスク名を元の名前に基づいて計算する（動作３０４）。例えば、マスカーコンポーネントは、元の名前Ｎにハッシュ関数を行い、マスク名Ｈ（Ｎ）を取得し得る。計算は、元の名前の１つ以上の名前コンポーネントに基づき得る：Ｈ（Ｎ）＝／Ｈ（ｎｃ１）／Ｈ（ｎｃ２）。ここで、「ｎｃ１」は元の名前の第１の名前コンポーネントであり、「ｎｃ２」は元の名前の第２の名前コンポーネントである。さらに、計算は、名前コンポーネントの任意の組み合わせに基づき得る：Ｈ（Ｎ）＝／Ｈ（ｎｃ１／ｎｃ２）／Ｈ（ｎｃ３）。ここで、「ｎｃ３」は元の名前の第３の名前コンポーネントである。さらに、マスク名は、マスクされていない、いくつかのクリアテキスト名前コンポーネントを包含してよい：Ｈ（Ｎ）＝／ｇｏｏｇｌｅ／Ｈ（ｎｃ１）／Ｈ（ｎｃ２）。
【００４１】
マスカーコンポーネントは、ローカルデータ構造に元の名前Ｎのマスク名Ｈ（Ｎ）へのマッピングを保存する（動作３０６）。マスカーコンポーネントは、元の名前をコンテンツ制作デバイスの公開キー（「ＰＫ」）に基づいて選択的に暗号化することができ（例えば、ＥＰＫ（Ｎ））、暗号化された元の名前をペイロードに含有または示し得る（破線で描写される、動作３０８）。マスカーコンポーネントは、元の名前Ｎをインタレストにおけるマスク名Ｈ（Ｎ）に置換する（動作３１０）。クライアント計算デバイスと関連付けられるフォワーダは、マスク名を有するインタレストをコンテンツ制作デバイスへ転送する（動作３１２）。
【００４２】
コンテンツ制作デバイスがマスクされ暗号化されたコンテンツオブジェクトを返送
図４は、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にするためのコンテンツ制作デバイスによる方法を図示するフローチャート４００を提示する。動作中、コンテンツ制作デバイス（例えば、プロデューサ）と関連付けられるフォワーダは、元の名前Ｎに基づくマスク名Ｈ（Ｎ）を有するインタレストを受信する（動作４０２）。インタレストは、ペイロードにおいて、プロデューサの公開キーに基づいて暗号化された元の名前を示してよい。コンテンツ制作デバイスと関連付けられるアプリケーションは、元の名前をマスク名に基づいて取得する（動作４０４）。例えば、インタレストが暗号化された元の名前を示す場合、アプリケーションは、暗号化された元の名前をプロデューサの秘密キーに基づいて復号し得る。別の例として、コンテンツ制作デバイスは、元の名前およびマスク名の間のマッピングを、例えば、ローカルデータ構造に事前に保存してよい。コンテンツ制作デバイスは、ローカルデータ構造においてマスク名を調べ元の名前を取得し得る。
【００４３】
アプリケーションは、元の名前Ｎおよび元のペイロード（「ＰＡＹＬＯＡＤ」）を有する応答コンテンツオブジェクトを生成する（動作４０６）。コンテンツオブジェクトは、元の名前Ｎに対応するコンテンツを含む。コンテンツ制作デバイスと関連付けられるマスカーコンポーネントは、ランダムなノンスｒを生成する（動作４０８）。マスカーコンポーネントは、キー導出関数ＫＤＦを元の名前Ｎおよび生成されたノンスｒに基づいて行うことにより、対称キーＳＫを計算する：ＳＫ←ＫＤＦ（Ｎ｜｜ｒ）（動作４１０）。ノンスは長さがラムダビットであってよく、さらに、計算された対称キーも長さがラムダビットであり得る。マスカーコンポーネントは、応答オブジェクトのペイロードを対称キーに基づいて暗号化する：Ｙ←ＥＳＫ（ＰＡＹＬＯＡＤ）（動作４１２）。マスカーコンポーネントは、元の名前Ｎをマスク名Ｈ（Ｎ）に置換し、さらに、元のペイロードＰＡＹＬＯＡＤを暗号化されたペイロードＹに置換する（動作４１４）。さらに、マスカーコンポーネントは、生成されたランダムなノンスｒを応答コンテンツオブジェクトに含む（動作４１４）。ノンスは、ペイロードまたはパケットヘッダまたは特定または予備フィールドに包含され得る。最終的に、コンテンツ制作デバイスと関連付けられるフォワーダは、マスクされ暗号化されたコンテンツオブジェクトを適切なクライアント計算デバイスへ転送する（動作４１６）。マスクされ暗号化されたコンテンツオブジェクトは、インタレストを送信したクライアント計算デバイスにより受信される。
【００４４】
クライアント計算デバイスがマスクされ暗号化されたコンテンツオブジェクトを処理
図５は、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にするためのクライアント計算デバイスによる方法を図示するフローチャート５００を提示する。動作中、クライアント計算デバイスと関連付けられるフォワーダは、マスク名Ｈ（Ｎ）、ランダムなノンスｒ、および、対称キーＳＫに基づいて暗号化されたペイロード（例えば、Ｙ←ＥＳＫ（ＰＡＹＬＯＡＤ））を含むコンテンツオブジェクトを受信する（動作５０２）。動作５０２は、図３の動作３０２〜３１２の完了に伴って起こってよい。クライアント計算デバイスと関連付けられるマスカーコンポーネントは、ローカルデータ構造においてマスク名Ｈ（Ｎ）を調べ元の名前Ｎを取得する（動作５０４）。キー導出関数ＫＤＦおよび任意の他の必要なパラメータは、コンテンツオブジェクトに含まれ得る。マスカーコンポーネントは、対称キーＳＫを取得された元の名前Ｎおよびノンスｒに基づいて計算する：ＳＫ←ＫＤＦ（Ｎ｜｜ｒ）（動作５０６）。マスカーコンポーネントは、暗号化されたペイロード（例えば、Ｙ←ＥＳＫ（ＰＡＹＬＯＡＤ））を、計算された対称キーに基づいて復号する：ＰＡＹＬＯＡＤ←ＤＳＫ（ＥＳＫ（ＰＡＹＬＯＡＤ））（動作５０８）。マスカーコンポーネントは、マスク名Ｈ（Ｎ）を元の名前Ｎに置換し、暗号化されたペイロードＹをコンテンツオブジェクトにおける復号されたペイロードＰＡＹＬＯＡＤに置換する（動作５１０）。マスカーコンポーネントは、マスクされていない復号されたコンテンツオブジェクトを、クライアント計算デバイスと関連付けられるアプリケーションへ送信する（動作５１２）。アプリケーションは、元の名前Ｎおよび復号されたペイロードＰＡＹＬＯＡＤを有するコンテンツオブジェクトを受信し、コンテンツオブジェクトを通常に処理する（動作５１４）。例えば、アプリケーションは、実行されたインタレストに対応するエントリを保留インタレストテーブルから削除し得る。
【００４５】
ルータの機能性
ＣＣＮルータは、米国特許出願第１３／８４７，８１４号に記載されるように、転送情報ベース（「ＦＩＢ」）、保留インタレストテーブル（「ＰＩＴ」）、および、コンテンツ保存（「ＣＳ」）を保持し得る。本システムの透過的な暗号化プロトコルは、ＣＳにおけるコンテンツをキャッシュするルータの能力に影響を及ぼさず、ここで、コンテンツは名前により指標化される。コンシューマはマスク名Ｈ（Ｎ）を元の名前Ｎから作成するのに標準のハッシュ関数を使用し得るため、同じコンテンツを要求する他のコンシューマも同じマスク名を有するインタレストを標準のハッシュ関数に基づいて作成し得る。したがって、元の名前Ｎおよびノンスｒの知識を有する任意のコンシューマが、上層アプリケーションのコンテンツを復号し得る。上述したように、対称暗号化キーＳＫは、元の名前Ｎの知識に基づいて計算される。ルータは一方向のマスキング関数を反転し得ないため（例えば、Ｈ（Ｎ））、元の名前Ｎの事前知識を有するエンティティのみがコンテンツを復号し得る。この知識を有するエンティティは、ＣＣＮにおいて配信されるコンテンツのエンドツーエンドセキュリティを提供する、コンシューマである。
【００４６】
加えて、プロデューサは、フラット表現で、または、名前構造に基づくハッシュダイジェストの配列として、名前を発行しマスクされた形式でプレフィックスを送付してよい。ＰＩＴ、ＣＳ、およびＦＩＢは、ハッシュテーブルのようなデータ構造を使用して実装されてよい。したがって、名前のハッシュはルータにより計算されるが、ルータは、ＣｉｔｙＨａｓｈまたはＳｉｐＨａｓｈなど、より効率的なハッシュ関数を使用してよい。本システムにおいて、コンシューマはハッシュを事前に提供し、（ハッシュテーブルのようなデータ構造がＰＩＴ、ＣＳ、およびＦＩＢを実装するために使用されると推測して）ルータの計算負荷を軽減する。
【００４７】
例示的な装置およびコンピュータシステム
図６Ａは、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にする例示的な装置を図示する。装置６００は、有線または無線通信チャネルを介して相互に通信してよい複数のモジュールを備え得る。装置６００は、１つ以上の集積回路を使用して実現されてよく、図６Ａに示されるよりも少数または多数のモジュールを含んでよい。さらに、装置６００は、コンピュータシステムに統合されてよく、または、他のコンピュータシステムおよび／またはデバイスと通信可能な別個のデバイスとして実現されてよい。具体的には、装置６００は、通信モジュール６０２、名前判定モジュール６０４、コンテンツ生成モジュール６０６、および、キー作成モジュール６０８を備え得る。
【００４８】
一部の実施形態において、通信モジュール６０２は、データパケットを他のネットワークノードとの間で、コンテンツ指向型ネットワークなどのコンピュータネットワークを介して送信および／または受信し得る。データパケットは、インタレストパケット、または、元の名前に対応するマスク名を有するコンテンツオブジェクトパケット、を含み得る。名前判定モジュール６０４は、元の名前をマスク名に基づいて取得し得る。キー作成モジュール６０８は、対称キーを元の名前および生成されたノンスに基づいて計算し得る。コンテンツ生成モジュール６０６は、元の名前に対応するコンテンツを有するコンテンツオブジェクトパケットを生成することができ、マスク名、ノンス、および、対称キーに基づいて暗号化されたペイロードを含む。通信モジュール６０２は、コンテンツオブジェクトパケットを、インタレストパケットを送信したエンティティへ転送し得る。名前判定モジュール６０４は、暗号化された元の名前をコンテンツ制作デバイスの秘密キーに基づいて復号し得る。さらに、名前判定モジュール６０４は、データ構造においてマスク名を調べ元の名前を取得し得る。キー作成モジュール６０８は、ノンスを生成し得る。
【００４９】
図６Ｂは、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的および透過的な暗号化を容易にする例示的な装置６５０を図示する。装置６５０は、有線または無線通信チャネルを介して相互に通信してよい複数のモジュールを備え得る。装置６５０は、１つ以上の集積回路を使用して実現されてよく、図６Ｂに示されるよりも少数または多数のモジュールを含んでよい。さらに、装置６５０は、コンピュータシステムに統合されてよく、または、他のコンピュータシステムおよび／またはデバイスと通信可能な別個なデバイスとして実現されてよい。具体的には、装置６５０は、通信モジュール６５２、名前判定モジュール６５４、名前マスキングモジュール６５６、キー生成モジュール６５８、および、コンテンツ処理モジュール６６０を備え得る。
【００５０】
一部の実施形態において、通信モジュール６５２は、データパケットを他のネットワークノードとの間で、コンテンツ指向型ネットワークなどのコンピュータネットワークを介して送信および／または受信し得る。データパケットは、インタレストパケット、または、元の名前に対応するマスク名を有するコンテンツオブジェクトパケット、を含み得る。名前マスキングモジュール６５６は、マスク名を元の名前に基づいて計算し得る。マスク名を有するインタレストパケットを送信することに応答して、通信モジュール６５２は、マスク名、ノンス、および、対称キーに基づいて暗号化されたペイロードを含むコンテンツオブジェクトパケットを受信し得る。名前判定モジュール６５４は、データ構造においてマスク名を調べ元の名前を取得し得る。キー生成モジュール６５８は、対称キーを、取得された元の名前およびノンスに基づいて計算し得る。コンテンツ処理モジュール６６０は、暗号化されたペイロードを対称キーに基づいて復号し得る。
【００５１】
さらに、コンテンツ処理モジュール６６０は、インタレストパケットの名前をマスク名に設定することができ、マスク名および元の名前の間の関係をデータ構造に保存し得る。さらに、コンテンツ処理モジュール６６０は、元の名前をコンテンツ制作デバイスの公開キーに基づいて暗号化することができ、暗号化された元の名前をインタレストパケットのペイロードに含み得る。コンテンツ処理モジュール６６０は、コンテンツオブジェクトパケットにおけるマスク名を取得された元の名前に置換し、コンテンツオブジェクトパケットにおける暗号化されたペイロードを復号されたペイロードに置換し、取得された元の名前に対応するエントリを保留インタレストテーブルから削除し得る。
【００５２】
図７Ａは、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号化を容易にする例示的なコンピュータシステム７０２を図示する。コンピュータシステム７０２は、プロセッサ７０４、メモリ７０６、および、保存デバイス７０８を含む。メモリ７０６は、マネージドメモリの役割を果たす揮発性メモリ（例えば、ＲＡＭ）を含んでよく、１つ以上のメモリプールを保存するために使用され得る。さらに、コンピュータシステム７０２は、表示デバイス７１０、キーボード７１２、および、ポインティングデバイス７１４と結合され得る。保存デバイス７０８は、オペレーティングシステム７１６、コンテンツ処理システム７１８、および、データ７２８を保存し得る。
【００５３】
コンテンツ処理システム７１８は、コンピュータシステム７０２により実行されると、コンピュータシステム７０２に、本開示に記載される方法および／またはプロセスを行わせ得る命令を含み得る。具体的には、コンテンツ処理システム７１８は、データパケットを他のネットワークノードとの間で、コンテンツ指向型ネットワークなどのコンピュータネットワークを介して送信および／または受信するための命令を含んでよい（通信モジュール７２０）。データパケットは、インタレストパケット、または、元の名前に対応するマスク名を有するコンテンツオブジェクトパケット、を含み得る。さらに、コンテンツ処理システム７１８は、元の名前をマスク名に基づいて取得するための命令を含み得る（名前判定モジュール７２２）。コンテンツ処理システム７１８は、対称キーを元の名前および生成されたノンスに基づいて計算するための命令を含み得る（キー生成モジュール７２６）。さらに、コンテンツ処理システム７１８は、元の名前に対応するコンテンツを有するコンテンツオブジェクトパケットを生成するための命令を含むことができ、マスク名、ノンス、および、対称キーに基づいて暗号化されたペイロードを含む（コンテンツ生成モジュール７２４）。コンテンツ処理システム７１８は、コンテンツオブジェクトパケットを、インタレストパケットを送信したエンティティへ転送するための命令を含み得る（通信モジュール７２０）。
【００５４】
コンテンツ処理システム７１８は、追加的に、暗号化された元の名前をコンテンツ制作デバイスの秘密キーに基づいて復号するための命令を含み得る（名前判定モジュール７２２）。コンテンツ処理システム７１８は、データ構造においてマスク名を調べ元の名前を取得するための命令を含み得る（名前判定モジュール７２２）。さらに、コンテンツ処理システム７１８は、ノンスを生成するための命令を含み得る（キー生成モジュール７２６）。
【００５５】
図７Ｂは、本発明の１つの実施形態にしたがって、コンテンツ指向型ネットワークにおいて効率的かつ透過的な暗号を容易にする例示的なコンピュータシステム７５２を図示する。コンピュータシステム７５２は、プロセッサ７５４、メモリ７５６、および、保存デバイス７５８を含む。メモリ７５６は、マネージドメモリの役割を果たす揮発性メモリ（例えば、ＲＡＭ）を含むことができ、１つ以上のメモリプールを保存するために使用され得る。さらに、コンピュータシステム７５２は、表示デバイス７６０、キーボード７６２、および、ポインティングデバイス７６４と結合され得る。保存デバイス７５８は、オペレーティングシステム７６６、コンテンツ処理システム７６８、および、データ７８０を保存し得る。
【００５６】
コンテンツ処理システム７６８は、コンピュータシステム７５２により実行されると、コンピュータシステム７５２に、本開示に記載される方法および／またはプロセスを行わせる命令を含み得る。具体的には、コンテンツ処理システム７６８は、データパケットを他のネットワークノードとの間で、コンテンツ指向型ネットワークなどのコンピュータネットワークを介して送信および／または受信するための命令を含んでよい（通信モジュール７７０）。データパケットは、インタレストパケット、または、元の名前に対応するマスク名を有するコンテンツオブジェクトパケット、を含み得る。コンテンツ処理システム７６８は、マスク名を元の名前に基づいて計算するための命令を含み得る（名前マスキングモジュール７７４）。さらに、コンテンツ処理システム７６８は、マスク名を有するインタレストパケットを送信することに応答して、マスク名、ノンス、および、対称キーに基づいて暗号化されたペイロードを含むコンテンツオブジェクトパケットを受信するための命令を含み得る（通信モジュール７７０）。コンテンツ処理システム７６８は、データ構造においてマスク名を調べ元の名前を取得するための命令を含み得る（名前判定モジュール７７２）。コンテンツ処理システム７６８は、追加的に、対称キーを取得された元の名前およびノンスに基づいて計算するための命令を含み得る（キー生成モジュール７７６）。コンテンツ処理システム７６８は、暗号化されたペイロードを対象キーに基づいて復号するための命令を含み得る（コンテンツ処理モジュール７７８）。
【００５７】
さらに、コンテンツ処理システム７６８は、インタレストパケットの名前をマスク名に設定するための命令を含むことができ、データ構造にマスク名および元の名前の間の関係を保存し得る（コンテンツ処理モジュール７７８）。さらに、コンテンツ処理システム７６８は、元の名前をコンテンツ制作デバイスの公開キーに基づいて暗号化して、暗号化された元の名前をインタレストパケットのペイロードに含有するための命令を含み得る（コンテンツ処理モジュール７７８）。コンテンツ処理システム７６８は、コンテンツオブジェクトパケットにおけるマスク名を取得された元の名前に置換し、コンテンツオブジェクトパケットにおける暗号化されたペイロードを復号されたペイロードに置換し、取得された元の名前に対応するエントリを保留インタレストテーブルから削除するための命令を含み得る（コンテンツ処理モジュール７７８）。
【００５８】
データ７２８およびデータ７８０は、入力として必要な任意のデータ、または、出力として本開示に記載される方法および／またはプロセスにより生成される任意のデータ、を含み得る。具体的には、データ７２８およびデータ７８０は、少なくとも以下を保存し得る：名前；マスク名に対応する元の名前；ＨＳＶＬＩである名前；インタレストに対応するパケットであって、インタレストはマスク名を含む、パケット；１つ以上の名前コンポーネントで行われるハッシュ関数に基づいて計算されるマスク名；搬送フレームワーク；プロトコルまたは搬送スタック；搬送またはプロトコルスタックの１つ以上のコンポーネント；搬送またはプロトコルスタックと関連付けられるポータルインスタンス；対称キー；ノンス；ノンスの長さまたはサイズ；キー導出関数；公開キーおよび／またはコンテンツ制作デバイスの秘密キー；元の名前とマスク名の間の関係を保存するデータ構造；コンテンツオブジェクトに対応するパケットであって、コンテンツオブジェクトはマスク名および暗号化されたペイロードを含む、パケット；および、保留インタレストテーブル。
【００５９】
この詳細な説明に記載されるデータ構造およびコードは、典型的に、コンピュータシステムにより使用されるコードおよび／またはデータを保存し得る任意のデバイスまたは媒体であってよい、コンピュータ可読保存媒体に保存される。コンピュータ可読保存媒体は、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスクまたはデジタルビデオディスク）、または、現段階で既知であるか、または、今後に開発される、コンピュータ可読媒体を保存可能な他の媒体など、磁気および光保存デバイスを含むが、それらに限定されない。
【００６０】
詳細な説明の項に記載される方法およびプロセスは、上述したコンピュータ可読保存媒体に保存され得る、コードおよび／またはデータとして具現化され得る。コンピュータシステムが、コンピュータ可読保存媒体に保存されたコードおよび／またはデータを読み込んで実行すると、コンピュータシステムは、データ構造およびコードとして具現化され、コンピュータ可読保存媒体内に保存される、方法およびプロセスを行う。
【００６１】
さらに、上述した方法およびプロセスは、ハードウェアモジュールに含まれ得る。例えば、ハードウェアモジュールは、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および、現段階で既知であるか、または、今後に開発される、他のプログラマブル論理デバイスを含み得るが、それらに限定されない。ハードウェアモジュールが起動されると、ハードウェアモジュールは、ハードウェアモジュール内に含まれる方法およびプロセスを行う。
【図１】
2017098949.tif 000003
【図２】
2017098949.tif 000004
【図３】
2017098949.tif 000005
【図４】
2017098949.tif 000006
【図５】
2017098949.tif 000007
【図６Ａ】
2017098949.tif 000008
【図６Ｂ】
2017098949.tif 000009
【図７Ａ】
2017098949.tif 000010
【図７Ｂ】
2017098949.tif 000011