(57)【要約】【課題】  補足テレビジョンコンテンツアプリケーションアーキテクチャ、署名付き補足テレビジョンコンテンツアプリケーションを作成および実行する関連方法、ならびに該関連方法を実行する命令を有する媒体を提供する。【解決手段】  アーキテクチャは、アプリケーションファイル群から分離されたアプリケーションファイル群の少なくとも一部のクラスタに対する署名と、各署名へのリンクを有する表現または表現へのリンクのいずれかを有する開始ファイルとを含む。アーキテクチャはまた、添付署名または該署名へのリンクで符号化されたアプリケーションファイル群の少なくとも一部を含むウェブページをも含む。【選択図】  図１
2004153809.tif 000002
【特許請求の範囲】
【請求項１】
ファイル群を含む補足テレビジョンコンテンツアプリケーションに署名する方法において、
少なくとも１つのクラスタ内のファイル群の少なくとも第１部分を識別するステップと、
各クラスタのクラスタ署名を決定するステップと、
前記署名の位置を含む表現を生成するステップと
を含むことを特徴とする補足テレビジョンコンテンツアプリケーションに署名する方法。
【請求項２】
各クラスタの前記署名は、該クラスタを構成するファイル群のハッシュ符号に基づくことを特徴とする請求項１に記載の方法。
【請求項３】
前記アプリケーションは開始ファイルを含み、該開始ファイルに前記表現を格納するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記アプリケーションは開始ファイルを含み、該開始ファイルに前記表現へのリンクを格納するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
各クラスタの代行情報、セキュリティポリシー情報、時間バージョン情報、およびファイル識別情報の少なくとも１つを前記表現に格納するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記クラスタ署名を署名ファイルに格納するステップと、クラスタを構成するファイル群への参照を生成するステップと、該ファイル群への参照を該署名ファイルに格納するステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記クラスタ署名を署名ファイルに格納するステップと、クラスタの時間バージョンレコードを生成するステップと、該時間バージョンレコードを該署名ファイルに格納するステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
クラスタを構成するファイル群への参照、およびクラスタの時間バージョンレコードの少なくとも一方を生成するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ファイル群の第２部分がウェブページを含み、各ウェブページの署名を決定するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記ウェブページは、マークアップ言語に基づくアプリケーション、およびクライアントによって動的に生成されるウェブページの少なくとも一方であることを特徴とする請求項９に記載の方法。
【請求項１１】
前記署名へのリンクを生成して該リンクを前記ウェブページに格納するステップと、
前記署名を前記ウェブページに格納するステップと
の少なくとも一方をさらに含むことを特徴とする請求項９に記載の方法。
【請求項１２】
ファイル群を含む補足テレビジョンコンテンツアプリケーションに署名する方法において、
ウェブページを共に構成するファイル群の第１部分を識別するステップと、
前記ウェブページの署名を決定するステップと、
前記署名へのリンク、または前記署名の一方を前記ウェブページに格納するステップと
を含むことを特徴とする補足テレビジョンコンテンツアプリケーションに署名する方法。
【請求項１３】
署名情報を含む表現を生成するステップと、該表現を前記ウェブページに格納するステップとをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記表現は、セキュリティポリシー情報データ、および代行データの少なくとも一方を含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記ファイル群の少なくとも第２部分を少なくとも１つのクラスタにクラスタ化するステップと、
各クラスタのクラスタ署名を決定するステップと、
前記クラスタの位置を示すことを含む表現を生成するステップと
をさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１６】
ファイル群を含む補足テレビジョンコンテンツアプリケーションを実行する方法において、
いずれかのファイルがクラスタにまとめられているかどうかを判断するステップと、
各クラスタごとに、
前記クラスタの署名の位置を判定するステップと、
前記クラスタを構成するファイル群を判定するステップと、
前記署名を検証することを含むオペレーションによって前記クラスタ内のファイル群の完全性を検証するステップと
を含むことを特徴とする補足テレビジョンコンテンツアプリケーションを実行する方法。
【請求項１７】
前記いずれかのファイルがクラスタにまとめられているかどうかを判断するステップは、
アプリケーション開始ファイルが前記署名の位置を有する表現への参照、および該表現の一方を含むレコードを有するかどうかを判断するステップと、
前記表現から各クラスタごとにクラスタの署名を有するファイルの位置を読み出すステップと、
前記署名が検証され得るかどうかを判断するステップと
をさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
クラスタを構成する各ファイルは、
前記表現、および
署名を格納するファイル
の一方に格納されることを特徴とする請求項１７に記載の方法。
【請求項１９】
各署名は、前記クラスタを構成する各ファイルのハッシュに基づくことを特徴とする請求項１７に記載の方法。
【請求項２０】
前記読み出すステップは、
いずれかのクラスタに代行があるかどうかを読み出すステップと、該代行に基づいて署名が妥当であるかどうかを判断するステップとをさらに含むことを特徴とする請求項１７に記載の方法。
【請求項２１】
クラスタに関連する時間バージョン情報を読み出すステップと、該時間バージョン情報に基づいて前記署名が妥当であり得るかどうかを判断するステップとをさらに含むことを特徴とする請求項１７に記載の方法。
【請求項２２】
いずれかのファイルが署名へのリンクおよび署名の一方を有するウェブページファイルであるかどうかを判断するステップと、該署名を読み出すステップと、該署名を検証するステップとをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項２３】
ファイル群を含む補足テレビジョンコンテンツアプリケーションを実行する方法において、
いずれかのファイルがウェブページを構成するかどうかを判断するステップと、
いずれかのファイルがウェブページを構成する場合、
各ウェブページごとに、該ウェブページがディジタル署名へのリンクおよびディジタル署名の一方を有するかどうかを判断するために該ウェブページを復号化するステップと、
前記署名を読み出すステップと、
前記署名を検証するステップと
を含むことを特徴とする補足テレビジョンコンテンツアプリケーションを実行する方法。
【請求項２４】
いずれかのファイルがクラスタにまとめられているかどうかを判断するステップと、
各クラスタごとに、該クラスタを構成するファイル群および該クラスタの署名の位置を判定するステップと、
前記署名を検証することを含むオペレーションによって前記クラスタ内のファイル群の完全性を検証するステップと
をさらに含むことを特徴とする請求項２３に記載の方法。
【請求項２５】
アプリケーションファイル群と、
（ａ）前記アプリケーションファイル群から分離された前記アプリケーションファイル群の少なくとも一部の署名を有する少なくとも１つの署名ファイル、ならびに各署名ファイルへのリンクを有する表現、および各署名ファイルへのリンクを有する表現へのリンクの一方を有する開始ファイル、ならびに
（ｂ）前記アプリケーションファイル群の少なくとも一部を含み、各ウェブページが署名および該署名へのリンクの一方で符号化された、少なくとも１つのウェブページ
の少なくとも一方と
を含むことを特徴とする補足テレビジョンコンテンツアーキテクチャ。
【請求項２６】
前記表現はクラスタ情報をさらに有することを特徴とする請求項２５に記載のアーキテクチャ。
【請求項２７】
前記表現は、代行情報およびセキュリティポリシー情報の少なくとも一方をさらに有することを特徴とする請求項２５に記載のアーキテクチャ。
【請求項２８】
前記署名ファイルは、クラスタファイル群への参照および時間バージョン情報の少なくとも一方をさらに有することを特徴とする請求項２５に記載のアーキテクチャ。
【請求項２９】
前記ウェブページはメタデータ表現をさらに含むことを特徴とする請求項２５に記載のアーキテクチャ。
【請求項３０】
前記メタデータ表現は、セキュリティポリシー情報および署名代行情報の少なくとも一方を含むことを特徴とする請求項２９に記載のアーキテクチャ。
【請求項３１】
少なくとも１つのプロセッサによって命令が実行される時に、
少なくとも１つのクラスタ内の補足テレビジョンコンテンツアプリケーションファイル群の少なくとも第１部分を識別する動作と、
各クラスタのクラスタ署名を決定する動作と、
前記署名の位置を含む表現を生成する動作と
を含む動作群を前記プロセッサに実行させる複数の命令が媒体上に格納されたことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項３２】
各クラスタの前記署名は、該クラスタを構成するファイル群のハッシュ符号に基づくことを特徴とする請求項３１に記載のコンピュータ可読媒体。
【請求項３３】
前記アプリケーションは開始ファイルを含み、前記動作群は、該開始ファイルに前記表現を格納する動作をさらに含むことを特徴とする請求項３１に記載のコンピュータ可読媒体。
【請求項３４】
前記アプリケーションは開始ファイルを含み、前記動作群は、該開始ファイルに前記表現へのリンクを格納する動作をさらに含むことを特徴とする請求項３１に記載のコンピュータ可読媒体。
【請求項３５】
前記表現は、各クラスタの代行情報、セキュリティポリシー情報、時間バージョン情報、およびファイル識別情報の少なくとも１つをさらに含むことを特徴とする請求項３１に記載のコンピュータ可読媒体。
【請求項３６】
前記動作群は、前記クラスタ署名を署名ファイルに格納する動作と、クラスタを構成するファイル群への参照を生成する動作と、該ファイル群への参照を該署名ファイルに格納する動作とをさらに含むことを特徴とする請求項３１に記載のコンピュータ可読媒体。
【請求項３７】
前記動作群は、前記クラスタ署名を署名ファイルに格納する動作と、クラスタの時間バージョンレコードを生成する動作と、該時間バージョンレコードを該署名ファイルに格納する動作とをさらに含むことを特徴とする請求項３１に記載のコンピュータ可読媒体。
【請求項３８】
前記動作群は、クラスタを構成するファイル群への参照、およびクラスタの時間バージョンレコードの少なくとも一方を生成する動作をさらに含むことを特徴とする請求項３１に記載のコンピュータ可読媒体。
【請求項３９】
前記ファイル群の第２部分がウェブページを含み、各ウェブページの署名を決定する動作をさらに含むことを特徴とする請求項３１に記載のコンピュータ可読媒体。
【請求項４０】
前記ウェブページは、マークアップ言語に基づくアプリケーション、およびクライアントによって動的に生成されるウェブページの少なくとも一方であることを特徴とする請求項３９に記載のコンピュータ可読媒体。
【請求項４１】
前記動作群は、
前記署名へのリンクを生成して該リンクを前記ウェブページに格納する動作と、
前記署名を前記ウェブページに格納する動作と
の少なくとも一方をさらに含むことを特徴とする請求項３９に記載のコンピュータ可読媒体。
【請求項４２】
少なくとも１つのプロセッサによって命令が実行される時に、
ウェブページを共に構成する補足テレビジョンコンテンツアプリケーションファイル群の第１部分を識別する動作と、
前記ウェブページの署名を決定する動作と、
前記署名へのリンク、または前記署名の一方を前記ウェブページに格納する動作と
を含む動作群を前記プロセッサに実行させる複数の命令が媒体上に格納されたことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項４３】
前記動作群は、署名情報を含む表現を生成する動作と、該表現を前記ウェブページに格納する動作とをさらに含むことを特徴とする請求項４２に記載のコンピュータ可読媒体。
【請求項４４】
前記表現は、セキュリティポリシー情報データ、および代行データの少なくとも一方を含むことを特徴とする請求項４３に記載のコンピュータ可読媒体。
【請求項４５】
前記動作群は、
前記ファイル群の少なくとも第２部分を少なくとも１つのクラスタにクラスタ化する動作と、
各クラスタのクラスタ署名を決定する動作と、
前記クラスタの位置を示すことを含む表現を生成する動作と
をさらに含むことを特徴とする請求項４２に記載のコンピュータ可読媒体。
【請求項４６】
少なくとも１つのプロセッサによって命令が実行される時に、
いずれかの補足テレビジョンコンテンツアプリケーションファイルがクラスタにまとめられているかどうかを判断する動作と、
各クラスタごとに、
前記クラスタを構成するクラスタファイル群の署名の位置を判定する動作と、
前記クラスタを構成するファイル群を判定する動作と、
前記署名を検証することを含むオペレーションによって前記クラスタ内のファイル群の完全性を検証する動作と
を含む動作群を前記プロセッサに実行させる複数の命令が媒体上に格納されたことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項４７】
前記いずれかのファイルがクラスタにまとめられているかどうかを判断する動作は、
アプリケーション開始ファイルが前記署名の位置を有する表現への参照、および該表現の一方を含むレコードを有するかどうかを判断する動作と、
前記表現から各クラスタごとにクラスタの署名を有するファイルの位置を読み出す動作と、
前記署名が検証され得るかどうかを判断する動作と
をさらに含むことを特徴とする請求項４６に記載のコンピュータ可読媒体。
【請求項４８】
クラスタを構成する各ファイルは、
前記表現、および
署名を格納するファイル
の一方に格納されることを特徴とする請求項４７に記載のコンピュータ可読媒体。
【請求項４９】
各署名は、前記クラスタを構成する各ファイルのハッシュに基づくことを特徴とする請求項４７に記載のコンピュータ可読媒体。
【請求項５０】
前記読み出す動作は、
いずれかのクラスタに代行があるかどうかを読み出す動作と、該代行に基づいて署名が妥当であるかどうかを判断する動作とをさらに含むことを特徴とする請求項４７に記載のコンピュータ可読媒体。
【請求項５１】
クラスタに関連する時間バージョン情報を読み出す動作と、該時間バージョン情報に基づいて前記署名が妥当であり得るかどうかを判断する動作とをさらに含むことを特徴とする請求項４７に記載のコンピュータ可読媒体。
【請求項５２】
前記動作群は、いずれかのファイルが署名へのリンクおよび署名の一方を有するウェブページファイルであるかどうかを判断する動作と、該署名を読み出す動作と、該署名を検証する動作とをさらに含むことを特徴とする請求項４６に記載のコンピュータ可読媒体。
【請求項５３】
少なくとも１つのプロセッサによって命令が実行される時に、
いずれかの補足テレビジョンコンテンツアプリケーションファイルがウェブページを構成するかどうかを判断する動作と、
いずれかのファイルがウェブページを構成する場合、
各ウェブページごとに、該ウェブページがディジタル署名へのリンクおよびディジタル署名の一方を有するかどうかを判断するために該ウェブページファイルを復号化する動作と、
前記署名を読み出す動作と、
前記署名を検証する動作と
を含む動作群を前記プロセッサに実行させる複数の命令が媒体上に格納されたことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項５４】
前記動作群は、
いずれかのファイルがクラスタにまとめられているかどうかを判断する動作と、
各クラスタごとに、該クラスタを構成するファイル群および該クラスタの署名の位置を判定する動作と、
前記署名を検証することを含むオペレーションによって前記クラスタ内のファイル群の完全性を検証する動作と
をさらに含むことを特徴とする請求項５３に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、ただし限定的ではないが、補足または双方向テレビジョンコンテンツのセキュリティに関し、より詳細には、ただし限定的ではないが、補足または双方向テレビジョンコンテンツに署名することに関する。
【背景技術】
【０００２】
ショーやペイパービュー方式の映画のような従来型のテレビジョンコンテンツ（以下、番組という）は一般に、連続ビデオストリームとして視聴者に配信される。従来型テレビジョンコンテンツは、無線放送システムまたはケーブルシステムを用いて配信されるのが最も一般的である。前者の場合、コンテンツは個々の家庭でアンテナまたはサテライトディッシュを通して受信される。後者の場合、コンテンツは通常、セットトップボックスで終端する同軸ケーブルを通して受信される。
【０００３】
番組を視聴する従来の方法を改善するため、補足テレビジョンコンテンツの制作に向けた努力がなされてきている。現在考慮されているように、補足テレビジョンコンテンツは、従来型テレビジョンコンテンツに対する拡張コンテンツを提供するために作成される。補足コンテンツは、従来型テレビジョンコンテンツとともに再生され、表示デバイスにおいて従来型テレビジョンコンテンツと同じ領域に表示されても、表示デバイスにおいて従来型テレビジョンコンテンツとは別個の領域に表示されても、いずれでもよい。
【０００４】
補足コンテンツはさらに、双方向コンテンツであってもよい。これによれば、視聴者は、単にテレビジョン番組を見るだけよりも深く関与した形でテレビジョン番組または補足コンテンツとやり取りすることができる。補足テレビジョンコンテンツは、例えば、大統領候補討論会中に討論における各質問の後に視聴者に大統領候補の選好を質問したり、広告されている商品について視聴者に質問をしたりというように、テレビジョンコンテンツに関して視聴者に質問をしてもよい。補足テレビジョンコンテンツは、例えば、追加的に、テレビジョンコンテンツに関連するゲームを視聴者とプレーしたり、番組制作の舞台裏の様子を説明したり、番組が後援している商品を売っている商店へのリンクを提供したりしてもよい。さらに、補足テレビジョンコンテンツは特定の番組に結びついていないこともあり、代わりにニュース見出し、気象情報、スポーツのスコア等のティッカー表示のような一般的情報を伝えてもよい。
【０００５】
現在の通常の手法の１つは、補足コンテンツを補足コンテンツアプリケーションの形態で視聴者に提供するものである。アプリケーションは、コードおよび関連するオブジェクト（テキスト、画像、音声、オーディオ、ビデオ等）を保持するファイルのコレクションである。補足コンテンツは、放送メディアと同じ通信チャネルを用いて配信されてもよく、またはインターネット接続のような別個の相互接続チャネルを通して配信されてもよい。アプリケーションを定義するファイルは受信機によって実行されることになる命令を保持するので、視聴者による受信前に何らかの無権限のエンティティがアプリケーションファイルのうちの１つの一部として有害なコードを挿入するということが起こり得る。実行時に、このコード断片は受信機デバイスにおける何らかの望ましくない動作を実行する可能性がある。望ましくない動作の例としては、ある特定のＴＶチャネルの遮断、迷惑メッセージの表示、またはより重大なものとして、個人情報の読み出しや、クライアント受信機を用いて分散サービス拒否攻撃を開始するものがあり得る。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ファイルは無権限エンティティによって変更される可能性があるので、受信機側に完全性検査およびソース認証を提供する手段として補足コンテンツファイルにディジタル署名をすることが非常に便利である。ディジタル署名付きファイルは、ファイルがディジタル署名された時から変更されたかどうかを検出する手段および基礎を受信機に与える。もとのファイルからのファイルコンテンツに挿入または置換をした無権限エンティティは、署名のステータスを検証する受信機によって検出されることになる。また、ディジタル署名付きファイルは、署名者の識別が一般的に利用可能な証明機関によって登録されなければならないような特定の署名者と、その署名付きファイルとが分かちがたく結びついていることを検証する手段および基礎をも受信機に与える。ディジタル署名をアプリケーションすなわちファイルのコレクションと関連づける方法および装置があれば好都合であろう。
【課題を解決するための手段】
【０００７】
簡潔に言えば、ただし限定的ではないが、補足テレビジョンコンテンツアプリケーションアーキテクチャ、署名付き補足テレビジョンコンテンツアプリケーションを作成および実行する関連方法、ならびに該方法を実行する命令を有する媒体が説明される。
【０００８】
一例示的実施形態では、アーキテクチャは、アプリケーションファイル群から分離されたアプリケーションファイル群の少なくとも一部のクラスタに対する署名と、各署名へのリンクを有する表現または表現へのリンクのいずれかを有する開始ファイルとを含む。アーキテクチャはまた、添付署名または該署名へのリンクで符号化されたアプリケーションファイル群の少なくとも一部を含むウェブページをも含む。
【０００９】
一例示的実施形態では、方法は、少なくとも１つのクラスタ内のファイル群の少なくとも第１部分を識別し、各クラスタに対するクラスタ署名を決定し、署名の位置を含む表現を生成することを含む。
【００１０】
一例示的実施形態では、方法は、ウェブページを共に構成するファイル群の第１部分を識別し、ウェブページに対する署名を決定し、署名へのリンク、または署名のいずれかをウェブページ内に格納することを含む。
【００１１】
一実施形態では、方法は、いずれかのファイルがクラスタにまとめられているかどうかを判断することを含む。各クラスタごとに、本方法は、該クラスタの署名の位置を判定し、該クラスタを構成するファイル群を判定し、署名を検証することを含むオペレーションによって該クラスタ内のファイル群の完全性を検証することを含む。
【００１２】
一実施形態では、方法は、いずれかのファイルがウェブページを構成しているかどうかを判断することを含む。いずれかのファイルがウェブページを構成している場合、各ウェブページごとに、本方法は、該ウェブページがディジタル署名へのリンクまたはディジタル署名のいずれかを有するかどうかを判断するために該ウェブページを復号化し、署名を読み出し、署名を検証することを含む。
【発明を実施するための最良の形態】
【００１３】
詳細な説明は、添付図面を参照して記載される。
この説明では、添付図面が参照され、添付図面は本明細書と一体をなし、添付図面には、実例として、本発明が実施され得る特定実施形態が示される。本発明の範囲から逸脱することなく、他の実施形態も利用可能であり、構造的または論理的変更がなされ得ると解されるべきである。したがって、以下の詳細な説明は、限定的な意味で解釈されてはならず、本発明の範囲は添付の特許請求の範囲によって規定される。
【００１４】
実施形態について説明する前に、本明細書で使用されるいくつかの概念について説明するのが有益である。補足コンテンツは、個別のファイルから構成される。これらの個別ファイルのコレクションをアプリケーションという。通常、補足コンテンツを有するテレビジョンでは、アプリケーションは開始ファイルから開始する。開始ファイルは、関連するアプリケーションを実行するためのパラメータを記述するファイルまたはデータ構造である。アプリケーションファイル群のサブセットをクラスタという。クラスタは、ある論理編成を有するような、または共通に署名されるようなファイルをグループ化するために有益である。例えば、あるウェブページのためのオブジェクトを表すすべてのファイルは論理クラスタを構成し得る。同様に、電子新聞内のあるセクションを形成するすべてのウェブページは別の論理クラスタを構成し得る。メインクラスタは、本明細書で説明されるようなセキュリティ情報リソースファイルを含むアプリケーションファイルサブセットである。
【００１５】
ある時間間隔の間にファイルがそのコンテンツを変化させない場合、そのファイルはその時間間隔の間、静的であるという。ある時間間隔の間にファイルがそのコンテンツを少なくとも一度変化させる場合、そのファイルはその時間間隔の間、動的であるという。例えば、日刊電子新聞は、１日という間隔寿命の間、アプリケーション（日刊新聞）を保持し得る。その間隔寿命の間に一部のファイルはそのコンテンツを変化させ、したがってその間隔の間、動的であるといわれる。実例として、電子新聞内の最新のニュースを含むページは、見出しを有するファイルの間隔の間に連続的に見出しを更新するかもしれない。他のファイルは変化せず、したがってその間隔寿命の間、静的であるといわれる。
【００１６】
ある時間間隔の間にアプリケーション内の各ファイルが静的であり、そのアプリケーションを構成するファイルのコレクションが不変のままにとどまる場合、そのアプリケーションはその時間間隔の間、静的であるという。アプリケーションは、ある時間間隔の間に静的でない場合、その時間間隔の間、動的であるという。アプリケーション寿命の間に、アプリケーションの新しいファイルが作成され、またはアプリケーションに組み込まれる可能性がある。例えば、電子商取引において、サーバは、ユーザが見たいと思うような項目のタイプをあらかじめ知らないかもしれない。要求に応じて、サーバはユーザの選好および関心に従って動的にウェブページを作成し得る。
【００１７】
ある時間間隔の間にクラスタ内の各ファイルが静的であり、そのクラスタ内のファイルのコレクションが不変のままにとどまる場合、そのクラスタはその時間間隔の間、静的であるという。クラスタは、ある時間間隔の間に静的でない場合、その時間間隔の間、動的であるという。
【００１８】
ウェブページまたはウェブページクラスタは、単一ページとして共に表示され得るファイル（例えばテキストファイル、画像ファイル、スクリプトファイル）のグループである。ウェブページファイルは、ＨＴＭＬ(hypertext markup language)またはＸＨＴＭＬ(extensible hypertext markup language)（または他のマークアップ表現）を含むファイルであって、ウェブページクラスタのためのプレゼンテーションおよびレイアウトを記述するファイルである。
【００１９】
分離(detached)署名は、別個のファイルとして存在する署名であって、クラスタを構成する各ファイルのような、１つまたは複数のアプリケーションファイルに署名するために使用される署名である。添付署名は、ファイル内の内部データとして存在する署名であって、その署名を受け入れるファイルに署名するために使用される署名である。署名を受け入れるファイルが、ウェブページクラスタの構成部分であるウェブページファイルである場合、同じ署名がウェブページクラスタ内のファイルに署名するために使用されることが可能である。
【００２０】
本明細書では、補足テレビジョンコンテンツアプリケーションに署名する構成および方法が説明される。構成は、アプリケーションに署名する２つのアーキテクチャ、すなわち集中アーキテクチャおよび分散アーキテクチャを含み、これらがいずれも本明細書で説明される。集中アーキテクチャおよび分散アーキテクチャの両者は、同じアプリケーションの相異なる部分で使用されてもよい。
【００２１】
集中アーキテクチャは、ディジタル署名の位置を示す開始ファイルを使用する。集中アーキテクチャでは、セキュリティ情報リソースファイルというファイルが、署名ファイルの位置の指定を含み、これは各ファイルクラスタごとにセキュリティ情報リソースファイルで参照される。一実装では、開始ファイルはセキュリティ情報リソースファイルを含む。別の実装では、開始ファイルはセキュリティ情報リソースファイルの位置への参照（またはリンク）を含む。
【００２２】
分散アーキテクチャは、ディジタル署名の位置を示すために開始ファイルを使用せず、代わりにアプリケーションファイル内の添付ファイルとしてディジタル署名を含み、または別法として、アプリケーションファイル内の添付ファイルからのディジタル署名へのリンクを含む。分散アーキテクチャは、他のアプリケーション署名情報を提供するためにセキュリティ情報リソースファイルを使用してもよい。集中および分散アーキテクチャの例示的実施形態が本明細書で説明される。
【００２３】
セキュリティ情報リソースファイル
図１は、例示的なセキュリティ情報リソースファイル１００を示す。セキュリティ情報リソースファイル１００は、アプリケーションに署名することに関する全体的情報を提供する表現のコレクションである。集中アーキテクチャにおけるセキュリティ情報リソースファイル１００は、開始ファイル内の追加データとして、または開始ファイルから参照される別個のファイルとして存在し得る。分散アーキテクチャにおけるセキュリティ情報リソースファイル１００は、アプリケーションファイルまたはウェブページ内の添付ファイルとして存在し得る。
【００２４】
一実装では、セキュリティ情報リソースファイル１００は、ＸＭＬ(Extensible Markup Language)のようなマークアップ言語を用いて実装される。ＸＭＬは、共通の情報フォーマットを作成し、フォーマットおよびデータをワールドワイドウェブ、イントラネット等で共有するためのフレキシブルな手段である。一実装では、セキュリティ情報リソースファイル１００は、情報への無権限の変更を防ぐために署名される。
【００２５】
集中アーキテクチャでは、セキュリティ情報リソースファイル１００は、アプリケーションのそれぞれの定義されたクラスタごとに、各クラスタを識別するためのクラスタ情報メタデータ表現１１０を含む。クラスタは、クラスタの各ファイルに別々に署名するのではなく、クラスタに署名するのに１つのディジタル署名が使用されるように、ファイルをグループ化するために使用される。集中アーキテクチャでは、セキュリティ情報リソースファイル１００は、それぞれの識別されたクラスタごとに署名位置メタデータ表現１２０を含む。それぞれの識別されたクラスタごとの署名位置メタデータ表現１２０は、そのクラスタの分離署名のＵＲＬ(Uniform Resource Locator)すなわちリンクのような位置を記述する。
【００２６】
セキュリティ情報リソースファイル１００は、ディジタル署名付きアプリケーションに関する他の情報を記述する他の情報メタデータ表現１３０を含んでもよい。一実装における他の情報メタデータ表現１３０は、セキュリティポリシーを記述する文書へのリンクを有するセキュリティポリシーメタデータ表現１４０を含み得る。一実装における他の情報メタデータ表現１３０は、主署名者に加えて少なくとも１つの識別されたクラスタについてクラスタに署名し得る代行(delegate)、または主署名者に加えてアプリケーションに署名し得る代行を識別する代行メタデータ表現１５０を記述し得る。アプリケーションの一部のコンポーネントは、主エンティティ以外の当事者によって生成される可能性がある。一実装では、補足アプリケーションの受信機は、これらの他の当事者を信頼された発信エンティティとして認識する。例えば、ソフトウェアを数百の系列放送局に配信するネットワークは、系列局がローカルコマーシャルのためのソフトウェアコンポーネントを挿入することを可能にするかもしれない。代行という用語は、分離クラスタ署名、添付ファイル署名、または添付メッセージ署名を用いてアプリケーションの一部に署名する、主ソースエンティティ以外のある一定の当事者を指す。
【００２７】
集中および分散アーキテクチャの両方のセキュリティ情報リソースファイル１００、ならびに集中および分散アーキテクチャシステムの例が以下で与えられる。
【００２８】
集中アーキテクチャ
一実装では、セキュリティ情報リソースファイル１００はＸＭＬスキーマを用いて記述される。集中アーキテクチャでは、セキュリティ情報リソースファイル１００は、それぞれの記述されたクラスタに対するディジタル署名への参照と、アプリケーションクラスタの記述とを含む。
【００２９】
一実装では、セキュリティ情報リソースファイル１００は、他の情報を含んでもよい。この他の情報は、セキュリティポリシーを記述する文書へのリンク、ならびに主署名者に加えてクラスタまたはアプリケーションに署名し得る代行（もしあれば）の識別、属性、および制約を含み得る。
【００３０】
図２は、ディジタル署名データへの参照が開始ファイルに組み込まれる集中アーキテクチャの実装を示す。ここで図２を参照すると、開始ファイル２０２は、集中アーキテクチャセキュリティ情報リソースファイル１００を含む。集中アーキテクチャセキュリティ情報リソースファイル１００は、アプリケーションに署名することに関する全体的情報を提供する表現のコレクションである。
【００３１】
集中アーキテクチャセキュリティ情報リソースファイル１００は、各クラスタｉごとにクラスタ情報メタデータ表現１１０ｉを含む。ｉ＝１〜ｎであり、これにより各クラスタｉが名前付けされる。集中アーキテクチャセキュリティ情報リソースファイル１００は、それぞれの識別されたクラスタ２１４ｉ（ｉ＝１〜ｎ）ごとに署名位置メタデータ表現１２０ｉを含む。署名位置メタデータ表現１２０ｉは、クラスタ２１４ｉの分離署名ファイル２１０ｉの（ＵＲＬすなわちリンクのような）位置を記述する。各クラスタ２１４ｉは、それぞれのファイル２２０に関連づけられる。実例として、クラスタ２１４ｉはファイル２２０１〜２２０ｍに関連づけられ、クラスタ２１４ｎはファイル２２０ｔ〜２２０ｖに関連づけられる。分離署名ファイル２１０ｉは、クラスタ２１４ｉのディジタル署名２１１ｉを含む。署名２１１ｉは、クラスタを構成する各ファイルのハッシュ符号と、各ファイルの少なくともハッシュ符号に署名するためのディジタル署名とを含み得る。クラスタに署名するプロセスは、クラスタディジタル署名２１１ｉを計算することを伴う。静的クラスタの場合、クラスタ署名は一度計算されるだけでよい。動的クラスタの場合、クラスタ署名はクラスタのファイルが変化するごとに計算され得る。このように、クラスタの選択は、クラスタ内のファイルの量とともに、クラスタ内のファイルの動的性質をも反映すべきである。ディジタル署名ファイル２１０ｉは、クラスタ２１４ｉを構成するファイル２２０の位置または識別を参照するクラスタファイルへの参照２１２ｉを含んでもよい。一実装では、ファイルへの参照は、セキュリティ情報リソースファイル１００内のように、署名ファイル２１０ｉの外部に格納される。ディジタル署名ファイル２１０ｉは、クラスタ２１４ｉを構成するファイル２２０ｉの関数として署名のバージョンを記述する時間検証レコード２１３ｉを含んでもよい。これは、署名２１１ｉが動的クラスタの現在のクラスタファイルを反映しているかどうかを判断するために使用可能である。一実装では、時間検証レコード２１３ｉは、セキュリティ情報リソースファイル１００内のように、署名ファイル２１０ｉの外部に格納される。
【００３２】
図３は、ディジタル署名データへの参照にアクセスするための参照が開始ファイルに組み込まれた集中アーキテクチャの実装を示す。図３を参照すると、開始ファイル３０２は、集中アーキテクチャセキュリティ情報リソースファイル１００への参照を含む。図２に関して説明したように、集中アーキテクチャセキュリティ情報リソースファイル１００は、クラスタ１〜ｎのクラスタ情報メタデータ表現１１０と、クラスタ１〜ｎについてクラスタ署名ファイル２１０１〜２１０ｎの位置を指定する署名位置メタデータ表現１２０を含み、各署名ファイル２１０ｉはクラスタ２１４ｉにそれぞれ関連する分離ディジタル署名２１１ｉを含む。一実装では、集中アーキテクチャセキュリティ情報リソースファイル１００は、セキュリティポリシーを記述する文書へのリンクや、アプリケーションに署名し得る代行（もしあれば）の識別、属性、および制約のような、他の情報メタデータ表現１３０をも含む。
【００３３】
図４は、集中アーキテクチャセキュリティ情報リソースファイル１００の例示的な文書ルートの構造およびコンポーネント４０８を定義する例示的なＸＭＬメタデータスキーマ４００を示す。要素AppSecurityInfo ４０４は文書ルートである。コンポーネント４０８は、要素MainCluster ４１２、要素Delegate ４１６、および要素ClusterList ４２０を含む。
【００３４】
図５は、要素MainCluster ４１２（図４）の構造を指定するための例示的なメタデータスキーマ５００を示す。要素MainCluster ５０４は、分離署名ファイル２１０ｉ（図２または図３）の位置を指定する。属性Loc ５０８は、メインクラスタの署名ファイルが取得元となり得る位置を、ＵＲＩ(Uniform Resource Identifier)のフォーマットで示す。属性Id ５１２は任意であり、親文書の他の部分または他文書から要素MainClusterを参照するために使用される。
【００３５】
図６は、要素Delegate ４１６（図４）の構造を指定するための例示的なメタデータスキーマ６００を示す。要素Delegate ４１６は、アプリケーションの主ソースエンティティ(Principal Source Entity)の許可を得てアプリケーションの一部に署名することが可能な代行エントリの名前識別を指定する。この要素は、集中アーキテクチャ署名情報メタデータ１００内のクラスタリストの外部または内部のいずれに現れてもよい。
【００３６】
クラスタリストの外部に現れることは、指名された代行が制約なしにアプリケーションのさまざまな部分に署名し得ることを示し得る。代行は、クラスタ署名ファイル、添付ファイル署名、または添付メッセージ署名を用いてファイルに署名し得る。具体的には、代行は、トリガリソース（一種の添付ファイル署名）に署名し得る。クラスタリストの内部に現れることは、指名された代行が、対応するクラスタ署名ファイルのみに署名し得ることを示し得る。
【００３７】
要素DName ６０４は、代行の識別名を提供する。これは、代行の証明書内の同様の情報と照合するためのものである。Constraint ６０８という０個以上の要素が、アプリケーション部分に署名する能力に関する制約を記述し得る。要素DNameを定義するスキーマは次の通りである：<element name="DName" type="string" />。識別名をテキスト文字列として正確に表現する規則は、ＸＭＬディジタル署名標準、ＲＦＣ３２７５、"XML-Signature Syntax and Processing"、ＩＥＴＦ(Internet Engineering Task Force)、２００２年３月、に記載されている要素X509SubjectNameをエンコードするための規則と同様である。
【００３８】
図７は、要素Constraint ７０４の構造を指定するための例示的なメタデータスキーマ７００を示す。要素Constraint ７０４は、代行に課され得る制約を指定する。notBefore要素７０８およびnotAfter要素７１２は、アプリケーションの一部に署名する代行の能力に期限を設けるための一実装である。
【００３９】
図８は、要素ClusterList ４２０（図４）を指定する例示的なメタデータスキーマ８００を示す。要素ClusterList ４２０は、アプリケーションを構成するすべてのクラスタに対するラッパを定義する。
【００４０】
図９は、要素Cluster ９０４を指定する例示的なメタデータスキーマ９００を示す。属性Loc ９０８は、クラスタ署名ファイルの受取先のＵＲＩを示す。属性Id ９１２は任意であり、親文書の他の部分または他文書から要素Cluster ９０４を参照するために使用される。
【００４１】
分散アーキテクチャ
セキュリティ情報リソースファイル１００はＸＭＬスキーマを用いて記述される。分散アーキテクチャは、セキュリティ情報リソースファイル１００を添付ファイルとして記述する。分散アーキテクチャ署名データは、添付署名データであるか、または別個の分離署名ファイルであってウェブページファイル内の添付リンクが分離署名ファイルをポイントするかのいずれかである。
【００４２】
本明細書で説明される構成の特徴の１つは、動的アプリケーションに署名する能力である。集中アーキテクチャに関して上記で説明した一実装では、動的アプリケーションは、ファイル変更とともに変化する、対応する署名ファイルを有するクラスタを用いて署名される。別の実装では、関連するファイルが変更されるとともに変化する添付ファイル署名、または添付ファイル署名へのリンクが使用される。分散アーキテクチャによれば、署名を個々のウェブページに直接関連づけることが可能となる。分散アーキテクチャは、マークアップ言語に基づくアプリケーションの静的または動的ウェブページのために、およびクライアント側の手続き型アプリケーションによって動的に作成されるウェブページのために使用可能である。分散アーキテクチャは、クラスタに依拠しない。したがって分散アーキテクチャでは、セキュリティ情報リソースファイルは署名データを含むが、アプリケーションクラスタの記述を含む必要はない。一実装では、セキュリティ情報リソースファイル１００は、セキュリティポリシーを記述する文書へのリンクや、主署名者に加えてアプリケーションに署名し得る代行の識別のような、ディジタル署名付きアプリケーションに関する他の情報を含む。
【００４３】
図１０は、セキュリティ情報リソースファイル１００８１および署名データ１００９１が添付ファイルとして設定された分散アーキテクチャの実装を示す。図１０を参照すると、ファイル１００２１〜１００２ｎはウェブページ１００４を構成する。ファイル１００２１は、セキュリティ情報リソースファイル１００８を含み得る。セキュリティ情報リソースファイル１００８は、セキュリティポリシーを記述する文書へのリンク、ならびにアプリケーションに署名し得る代行（もしあれば）の識別、属性、および制約のような、ウェブページ１００４に署名することに関する任意情報を含む。ファイル１００２１は、ウェブページ１００４に対する添付署名データ１００９１を含む。一実装では、署名データ１００９１は、セキュリティ情報リソースファイル１００８１のコンポーネントとして含まれてもよい。
【００４４】
図１１は、セキュリティ情報リソースファイル１００が添付ファイルとして設定される分散アプローチの実装を示す。ここで図１１を参照すると、ファイル１１０２１〜１１０２ｎはウェブページ１１０４を構成する。ファイル１１０２１は、セキュリティ情報リソースファイル１００を含み得る。セキュリティ情報リソースファイル１００は、セキュリティポリシーを記述する文書へのリンク、ならびにアプリケーションに署名し得る代行（もしあれば）の識別、属性、および制約のような、ウェブページ１１０４に署名することに関する任意情報を含む。ファイル１１０２１は、分離署名ファイル１１１２を参照する（またはそれにリンクする）署名参照データ１１０９１を含む。
【００４５】
図１２は、分散アーキテクチャセキュリティ情報リソースファイルの例示的なＸＭＬメタデータ表現を示す。ＸＭＬメタデータ表現１２００は、図４に示した集中アーキテクチャスキーマ４００における例示的な集中手法の場合にそうであったように、<AppSecurityInfo>要素１２０４で開始および終了する。なお、集中アーキテクチャスキーマ４００とは異なり、分散アーキテクチャはクラスタ情報を前もって必要としないので、分散表現１２００はクラスタに関する情報を持っていないことに留意されたい。一実装では、ポリシーおよび代行の情報は、<AppSecurityInfo>要素１２０４の内部に存在し得る。
【００４６】
２つのポリシー宣言が実例として提供されている。第１のポリシー宣言１２０６は、ＰＲＦ(Permission Request File)１２１０の位置を指定する。ＰＲＦは通常、アプリケーションに対して許可および禁止されるオペレーションを示す。なお、"Status"という属性１２１２は、スキーマ１２００がセキュリティ上の理由で解釈され復号化されなければならないかどうかを示すことに留意されたい。第２のポリシー宣言１２１６は、アプリケーション開発者からのプライバシーステートメントを含み得るファイルの位置を定義する。他のポリシーファイルも同様に含まれ得る。
【００４７】
スキーマ１２００は、Delegate １２２０のリストを含む。Delegate（代行）は、主署名者に加えてアプリケーションの一部に署名し得るエンティティ（個人または組織）である。なお、<Constraint>１２２４は、図７に示したものとは異なるフォーマットを有することに留意されたい。これは、フォーマットの好みの問題であり、技術的含意はない。
【００４８】
分散アーキテクチャがウェブページ（またはウェブページクラスタ）に署名するために使用される場合、および分離署名がこの目的で使用される場合、ウェブページと、分離署名を保持するファイルとを関連づける方法を定義する必要がある。ＸＨＴＭＬリンク要素の構文拡張が、ＸＨＴＭＬ文書、その関連オブジェクト、およびクラスタ署名ファイルの間の逆リンクを提供するために使用される。次のような形の１つまたは複数のリンク要素が使用される：
<link rev="ClusterSignature" type+"text/xml" href="..." />
【００４９】
href属性は、クラスタ署名ファイルの絶対または相対位置を提供する。ウェブエンジンが、文書の先頭でこのタイプのリンク要素をもつＸＨＴＭＬ（またはＨＴＭＬ）ページに遭遇すると、署名検証のために関連する署名ファイルを回復する。署名が検証された場合、ウェブエンジンはそのＸＨＴＭＬまたはＨＴＭＬページを実行し表示する。
【００５０】
署名ファイルフォーマット
一実装では、署名ファイルのフォーマットは、ＸＭＬディジタル署名標準、ＲＦＣ３２７５、"XML-Signature Syntax and Processing"、ＩＥＴＦ(Internet Engineering Task Force)、２００２年３月、の要素のサブセットから構成される。メタデータ表現およびコメントを含む例示的なサブセットを次の表１に示す：
【００５１】
【表１】
2004153809.tif 000003
【００５２】
このサブセットは、複数の<Reference>要素を含む。これらはそれぞれファイル位置を定義するとともに、署名に対する変換およびアルゴリズムも定義する。<KeyInfo>要素は、署名を提供する追加的な公開鍵基盤（ＰＫＩ）コンポーネントの位置を定義する。追加的なＰＫＩコンポーネントは、証明書および証明書失効リストを含む。<DigestValue>は、一方向数学ハッシュ関数をファイルに適用した結果を提供する。ファイルを受信した後、受信機は受信ファイルに対して同様の演算を実行する。署名検証のためには同一のダイジェスト値が必要である。<SignatureValue>要素は、正しい変換および署名アルゴリズムから導出される実際の署名バイトを保持する。変換手続きは、正規化、すなわちディジタル署名を適用する前にファイル内の非本質的情報を最小化および排除する方法を含む。
【００５３】
<VersionNumber>要素は、ディジタル署名の最新バージョンを識別するためのものである。この要素はＸＭＬディジタル署名標準では定義されていないが、受信デバイスによる旧ファイルの追跡を可能にするための新規な実装である。署名の複数のバージョンが受信デバイスによってキャッシュされている場合、それらのバージョンのうちのいずれが最新であるかを判断する必要がある。
【００５４】
タイムスタンプバージョニング
一実装では、署名ファイルのバージョンを提供するためにタイムスタンプが使用されるが、これはソース否認防止オペレーションを提供するためにも役立つ。動的クラスタを有する実装において、タイムスタンプバージョニングは、否認防止オペレーションを提供するためにも役立つ署名ファイルのためのバージョンを提供することである。このコンストラクトは、クラスタ署名ファイルにも、添付ファイル署名にも含まれ得る。図１３を参照すると、スキーマ１３００は、ＸＭＬディジタル署名標準、ＲＦＣ３２７５、"XML-Signature Syntax and Processing"、ＩＥＴＦ(Internet Engineering Task Force)、２００２年３月、の<SignatureProperties>要素を用いて、別個の名前空間下にある署名ファイルに含まれてもよい。
【００５５】
補足コンテンツを作成し検証する実施形態
図１４Ａ〜図１４Ｂは、アプリケーションをそのディジタル署名と関連づける方法１４００を示す。一実装では、少なくとも１つの補足テレビジョンコンテンツサーバ内の少なくとも１つのプロセッサが、そのプロセッサによって実行される時にそのプロセッサに方法１４００を実行させる命令を含む。
【００５６】
オペレーション１４０４は、少なくとも一部のアプリケーションファイル（もしあれば）を少なくとも１つのクラスタとして識別する。このオペレーションは、アプリケーションのどのファイルが（もしクラスタ化されるのであれば）クラスタ化されることになるか、どれが各クラスタとして識別されることになるか、およびどのファイルが（もしあれば）添付署名または添付署名へのリンクを有することになるかを決定する。一実装では、どのファイルがクラスタとして関連づけられるかは、そのクラスタに関連づけられるファイルが静的であるかそれとも動的であるかによって左右される。
【００５７】
ファイルがクラスタ化される場合、それらのファイルはクラスタ署名ファイルを参照するセキュリティ情報リソースファイルを有することになる。一実装におけるセキュリティ情報リソースファイルは、アプリケーション開始ファイルに含まれる。一実装では、セキュリティ情報リソースファイルへのリンクがアプリケーション開始ファイルに含まれる。
【００５８】
オペレーション１４０８は、クラスタを構成するファイルの位置または識別のような、各クラスタを構成するファイルへの参照をクラスタの署名ファイルに格納する。一実装では、ファイルへの参照は、セキュリティ情報リソースファイル内のように、署名ファイルの外部に格納される。一実装では、署名検証レコードがクラスタ署名ファイルに格納される。一実装では、時間検証レコードが、セキュリティ情報リソースファイル内のように、署名ファイルの外部に格納される。時間検証レコードは、各クラスタを構成するファイルの関数として署名のバージョンを記述するために使用されるとともに、動的クラスタについて署名が現在のクラスタファイルを反映しているかどうかを判断するために使用される。
【００５９】
オペレーション１４１２は、署名ファイル内の各クラスタのクラスタ署名を決定する。図２に関して説明したように、一実装では、分離署名ファイルが、クラスタを構成する各ファイルのハッシュ符号と、各ファイルの少なくともハッシュ符号に署名するためのディジタル署名とを含む。
【００６０】
オペレーション１４１６は、クラスタ化されるファイルに対する署名ファイルの位置を含む表現を生成する。一応用例では、これは図１、図４〜図９および図１３に関して説明したセキュリティ情報リソースファイル１００である。一実装では、セキュリティ情報リソースファイル１００はＸＭＬメタデータ表現である。図１に関して説明したように、セキュリティ情報リソースファイルは、クラスタ情報表現、署名位置表現、および他の情報表現を含み得る。一実装では、セキュリティメタデータリソースファイルは、情報への無権限の変更を防ぐために署名される。オペレーション１４２０は、表現、または表現へのリンクを開始ファイルに格納する。
【００６１】
オペレーション１４２４は、少なくとも１つのウェブページを構成する少なくとも一部のアプリケーションファイル（もしあれば）を識別する。分散アーキテクチャセクションを説明したセクションで説明したように、分散アーキテクチャは、署名を個々のウェブページに直接関連づけることを可能にする。ウェブページは、マークアップ言語に基づくアプリケーションの静的または動的のいずれのウェブページでもよい。動的ウェブページは、クライアント側またはサーバ側のいずれで作成されてもよい。
【００６２】
オペレーション１４２８は、各ウェブページの署名を決定する。各ウェブページごとに、オペレーション１４３２は、そのウェブページ内に署名または分離署名へのリンクを符号化する。オペレーション１４３６は、任意に、各ウェブページ内にセキュリティ情報を有する表現を符号化する。一実装では、これは図１および図１２に関して説明したセキュリティ情報リソースファイル１００である。一実装では、セキュリティ情報リソースファイル１００はＸＭＬメタデータ表現である。図１に関して説明したように、分散アーキテクチャの場合のセキュリティ情報リソースファイルは、セキュリティポリシーを記述する文書へのリンクや、主署名者に加えてアプリケーションに署名し得る代行の識別のような、ディジタル署名付きアプリケーションに関する他の情報を含む。一実装では、セキュリティ情報リソースファイルは、情報への無権限の変更を防ぐために署名される。
【００６３】
図１５は、補足テレビジョンコンテンツアプリケーションファイルを受信した時にディジタル署名を処理する例示的方法１５００を示す。一実装では、補足テレビジョンコンテンツクライアント内の少なくとも１つのプロセッサが、そのプロセッサによって実行される時にそのプロセッサに方法１５００を実行させる命令を含む。
【００６４】
オペレーション１５０４は、いずれかのファイルが集中アーキテクチャ実施形態のクラスタにまとめられているかどうかを判断する。一実装では、アプリケーション開始ファイルが取得され復号化される。アプリケーション開始ファイルがセキュリティ情報リソースファイルを含むか、または参照している（ポイントしている）場合、署名リソースファイルは、クラスタにまとめられたファイルがあることを示す。開始ファイルは、アプリケーション実行パラメータを保持する初期ファイルまたはデータ構造であり、一般に、アプリケーションの実際の実行を開始するアプリケーションブートファイルを参照する。
【００６５】
クラスタにまとめられたファイルがある場合、オペレーション１５０４からＹＥＳ分岐をたどる。オペレーション１５０８は、各クラスタごとに、そのクラスタの署名の位置を判定する。一実装では、各クラスタの署名は署名ファイル２１０内にある。一実装では、クラスタ署名の位置を取得するために署名情報リソースファイル１００が復号化される。オペレーション１５１２は、クラスタを構成するファイルを判定する。ファイルは一般に、署名ファイルまたはセキュリティ情報リソースファイル内にある。
【００６６】
オペレーション１５１２は、各クラスタを構成するファイルを判定する。一実装では、各クラスタを構成するファイルへの参照が署名ファイルに格納されており、オペレーション１５１２は署名ファイルを復号化してファイルの識別を取得する。一実装では、セキュリティ情報リソースファイルが、各クラスタに関連するファイルを含み、オペレーション１５１２はセキュリティ情報リソースファイルを復号化してファイルの識別を取得する。
【００６７】
オペレーション１５１６は、各クラスタの署名を検証することを含むオペレーションによって、クラスタ内の各ファイルの完全性を検証する。一実装では、署名情報リソースファイルは、代行のリストおよび代行署名データ（もしあれば）に対するそれらの代行の制約、ならびに適用可能なポリシーデータ（もしあれば）のリストを含む。一実装では、セキュリティリソースファイルまたは署名ファイルは、署名が計算されて以降、クラスタを構成するファイルが変化したかどうかを判断するための時間検証情報を含む。一実装では、署名は、関連する証明書および失効リストを取得し、取得した証明書および失効リストのステータスを検証し、適当な変換手続きをファイルに適用し、ファイルダイジェスト値を計算し、ファイルダイジェスト値を署名ファイルにあらかじめ設定されているダイジェストと比較することによって検証される。署名は、代行によって提供されてもよい。署名が代行によって提供される場合、代行制約がチェックされる。時間検証情報が提供される場合、この情報は、各クラスタの署名を検証する際に使用される。一実装では、セキュリティ情報リソースファイルが署名され、セキュリティ情報リソースファイル署名が検証される。
【００６８】
クラスタにまとめられたファイルがない場合、オペレーション１５０４からＮＯ分岐をたどる。オペレーション１５２０は、いずれかのファイルが、分散アーキテクチャ実施形態のウェブページを構成するかどうかを判断する。オペレーション１５２０からＹＥＳ分岐をたどった場合、オペレーション１５２４は、各ウェブページを復号化して、ウェブページがウェブページ署名またはウェブページ署名へのリンクを有するかどうかを判断する。ウェブページがウェブページ署名またはウェブページ署名へのリンクを有する場合、オペレーション１５２８からＹＥＳ分岐をたどり、オペレーション１５３２で署名が読み出される。オペレーション１５３６で署名が検証される。一実装では、署名は、関連する証明書および失効リストを取得し、取得した証明書および失効リストのステータスを検証し、適当な変換手続きをファイルに適用し、ファイルダイジェスト値を計算し、ファイルダイジェスト値を署名ファイルにあらかじめ設定されているダイジェストと比較することによって検証される。署名は、代行によって提供されてもよい。一実装では、ウェブページは、署名を検証する際に役立つ代行情報のような署名情報を取得するために復号化される署名情報リソースファイルを含む。署名が代行によって提供される場合、代行制約がチェックされる。
【００６９】
オペレーション１５２０または１５２８でＮＯ分岐をたどった場合、残りのファイル（もしあれば）は署名されていないと見なされる。その理由は、ディジタル署名のリンク要素が存在せず、添付ディジタル署名が存在せず、ファイルはアプリケーションクラスタのコンポーネントではないからである。クライアントオペレーティングシステムは通常、ファイルが署名されていないこと、または署名が不正であることをユーザに警告することになる。ユーザがインストールプロセスを継続するか否かを決定してもよい。オペレーティングシステムがファイルを拒否してもよい。目的が、ソフトウェアを自動的にインストールし実行することであるという典型的な双方向テレビジョンアプリケーションの場合、署名なしアプリケーションによるシステムリソースへのアクセスを制限することを標準が義務づけていることがある。これは、署名なしアプリケーションは、画面上に何かを表示することはできるかもしれないが、ローカルファイルにアクセスしたり、インターネットを通じて何らかのコンピュータに接続したりというような、より脅威となるオペレーションをすることはできないことを意味する。通常、署名なしアプリケーションはサンドボックスで実行され、署名付きアプリケーションのみがサンドボックスの外部で物事を行い得る。
【００７０】
使用されている用語や術語は説明の目的のためのものであり、限定とみなされるべきではない。特許請求の範囲の記載は、あらゆるニュアンスをとらえていないかもしれず、また新規性の範囲を完全な正確さで記述していないかもしれない。さらに、説明されているいずれの方法において叙述されている動作も、必ずしも順序に依存するものではなく、実装においては介在する動作が存在し得ると解される。
【００７１】
図１５から導き出される以下のものを含むいくつかの他の実装が可能である：（１）アプリケーションは、集中署名スキーマを含まないという理由で、オペレーション１５０４からオペレーション１５１６までを処理しないかもしれない、（２）アプリケーションは、オペレーション１５２０からオペレーション１５３６までを実行時に処理し、初期化中には処理しないかもしれない、（３）アプリケーションは、オペレーション１５０４からオペレーション１５１６までを用いて初期化中に一部のクラスタを処理するが、他のクラスタは実行時に必要な場合にのみ処理するかもしれない。
【００７２】
本発明は、具体的に図示され本明細書において上記で説明されたものに限定されない。特定の特徴および動作は、特許請求の範囲に記載された発明を実施する例示的な形態として開示されている。本発明は、記載されている特定の特徴または図式に必ずしも限定されないと解されるべきである。本発明の範囲は、添付の特許請求の範囲によって規定される。
【図面の簡単な説明】
【００７３】
【図１】セキュリティ情報リソースファイルの例示的ブロック図である。
【図２】ディジタル署名データへの参照が開始ファイルに組み込まれた例示的な集中アーキテクチャのブロック図である。
【図３】ディジタル署名データへのリンクが開始ファイルに組み込まれた例示的な集中アーキテクチャのブロック図である。
【図４】集中アーキテクチャセキュリティ情報リソースファイルのための例示的なＸＭＬメタデータスキーマを示す図である。
【図５】図４に示される集中アーキテクチャセキュリティ情報リソースファイルの分離署名ファイルの位置を指定する要素のための例示的なＸＭＬメタデータスキーマを示す図である。
【図６】図４に示される集中アーキテクチャセキュリティ情報リソースファイルの代行情報を指定する要素のための例示的なＸＭＬメタデータスキーマを示す図である。
【図７】図４に示される集中アーキテクチャセキュリティ情報リソースファイルの代行制約を指定する要素のための例示的なＸＭＬメタデータスキーマを示す図である。
【図８】図４に示される集中アーキテクチャセキュリティ情報リソースファイルのクラスタ情報を指定する要素のための例示的なＸＭＬメタデータスキーマを示す図である。
【図９】図４に示される集中アーキテクチャセキュリティ情報リソースファイルのクラスタ情報を指定する要素のための例示的なＸＭＬメタデータスキーマを示す図である。
【図１０】署名データおよびセキュリティ情報リソースファイルが添付ファイルである例示的な分散アーキテクチャのブロック図である。
【図１１】署名データへのリンクおよびセキュリティ情報リソースファイルが添付ファイルであり、ディジタル署名が分離ファイルである、例示的な分散アーキテクチャのブロック図である。
【図１２】分散アーキテクチャセキュリティ情報リソースファイルの例示的なＸＭＬメタデータスキーマを示す図である。
【図１３】タイムスタンプバージョニングのための例示的なＸＭＬメタデータスキーマを示す図である。
【図１４Ａ】補足コンテンツアプリケーションをそのディジタル署名と関連づける例示的方法を示す図である。
【図１４Ｂ】補足コンテンツアプリケーションをそのディジタル署名と関連づける例示的方法を示す図である。
【図１５】補足テレビジョンコンテンツアプリケーションを受信した時にディジタル署名を処理する例示的方法を示す図である。
【符号の説明】
【００７４】
１００  セキュリティ情報リソースファイル
１１０  クラスタ情報メタデータ表現
１２０  署名位置メタデータ表現
１３０  他の情報メタデータ表現
１４０  セキュリティポリシーメタデータ表現
１５０  代行メタデータ表現
２０２  開始ファイル
２１０  分離署名ファイル
２１１  クラスタディジタル署名
２１２  クラスタファイルへの参照
２１３  時間検証レコード
２１４  クラスタ
２２０  ファイル
３０２  開始ファイル
４００  ＸＭＬメタデータスキーマ
４０８  コンポーネント
４１２  要素MainCluster
４１６  要素Delegate
４２０  要素ClusterList
５００  メタデータスキーマ
５０４  要素MainCluster
５０８  属性Loc
５１２  属性Id
６００  メタデータスキーマ
６０４  要素DName
６０８  要素Constraint
７００  メタデータスキーマ
７０４  要素Constraint
７０８  notBefore要素
７１２  notAfter要素
８００  メタデータスキーマ
９００  メタデータスキーマ
９０４  要素Cluster
９０８  属性Loc
９１２  属性Id
１００２  ファイル
１００４  ウェブページ
１００８  セキュリティ情報リソースファイル
１００９  署名データ
１１０２  ファイル
１１０４  ウェブページ
１１０９  署名参照データ
１１１２  分離署名ファイル
１２００  ＸＭＬメタデータ表現
１２０４  <AppSecurityInfo>要素
１２０６  第１のポリシー宣言
１２１０  ＰＲＦ
１２１２  Status属性
１２１６  第２のポリシー宣言
１２２０  Delegate
１２２４  <Constraint>
１３００  スキーマ
【図１】
2004153809.tif 000004
【図２】
2004153809.tif 000005
【図３】
2004153809.tif 000006
【図４】
2004153809.tif 000007
【図５】
2004153809.tif 000008
【図６】
2004153809.tif 000009
【図７】
2004153809.tif 000010
【図８】
2004153809.tif 000011
【図９】
2004153809.tif 000012
【図１０】
2004153809.tif 000013
【図１１】
2004153809.tif 000014
【図１２】
2004153809.tif 000015
【図１３】
2004153809.tif 000016
【図１４Ａ】
2004153809.tif 000017
【図１４Ｂ】
2004153809.tif 000018
【図１５】
2004153809.tif 000019