(57)【要約】【解決手段】Unsigned  applicationの動作権限でアプリケーション１４を起動し、アプリケーション１４の実行と並行してアプリケーション認証スレッドで改竄チェック部２１６による改竄チェック進める。アプリケーション１４の実行過程においてUnsigned  applicationの動作権限で実行できないリソースへのアクセスが発生した場合、改竄チェックの完了を待ち、改竄されていなければ、動作権限取得部２１７が取得したアプリケーション１４本来の動作権限でリソースへのアクセスの可否を判定する。【選択図】図１２
2007506350.tif 000002
【特許請求の範囲】
【請求項１】
リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得手段と、
取得手段により取得されたアプリケーションプログラムが改竄されているか否かを判定する判定手段と、
所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得手段と、
前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得手段と、
判定手段による判定が完了する前は、前記仮権限により許可される範囲でアプリケーションプログラムを実行し、前記判定が完了した後は、アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲でアプリケーションプログラムを実行する実行手段と
を備えることを特徴とするアプリケーション実行装置。
【請求項２】
前記実行手段は、前記判定において、前記アプリケーションプログラムが改竄されていると判定された場合、前記アプリケーションプログラムのファイルサイズを０と見なすこと
を特徴とする請求項１に記載のアプリケーション実行装置。
【請求項３】
前記実行手段は、前記取得手段によるアプリケーションプログラムの取得が完了する前に、前記アプリケーションプログラムの実行を開始することを特徴とする請求項１に記載のアプリケーション実行装置。
【請求項４】
前記取得手段による取得は、前記アプリケーションプログラムを伝送するデジタルストリームを受信することによりなされること
を特徴とする請求項３に記載のアプリケーション実行装置。
【請求項５】
前記取得手段により受信されるデジタルストリームは、デジタルテレビ放送を伝送するトランスポートストリームであり、
前記アプリケーションプログラムは、オブジェクトカルーセル方式で前記トランスポートストリームに多重化されていること
を特徴とする請求項４に記載のアプリケーション実行装置。
【請求項６】
前記所定のリソースは、ＭＨＰ規格においてUnsigned  applicationでのアクセスが許可されているリソースであること
を特徴とする請求項５に記載のアプリケーション実行装置。
【請求項７】
前記アプリケーションプログラムの送信者を特定する送信者特定情報に基づいて、前記送信者を特定する送信者判定手段を更に備え、
前記アプリケーションプログラムを伝送するオブジェクトカルーセルはさらに、前記送信者特定情報を伝送し、
前記取得手段は、アプリケーションプログラムとともに、前記送信者特定情報を取得し、
前記実行手段は、送信者判定手段による特定が完了した後に、前記アプリケーションプログラムの実行を開始するとこ
を特徴とする請求項５に記載のアプリケーション実行装置。
【請求項８】
前記取得手段は、アプリケーションプログラムとともに、前記アプリケーションプログラムの種別を示すアプリケーション識別子を取得し、
前記実行手段は、アプリケーションプログラムが所定の種別である場合にのみ、判定手段による判定が完了する前にアプリケーションプログラムを実行すること
を特徴とする請求項１に記載のアプリケーション実行装置。
【請求項９】
前記所定の種別とは、判定手段による判定が完了するまで、所定のリソースへのアクセスのみが許可されるアプリケーションプログラムの種別であること
を特徴とする請求項８に記載のアプリケーション実行装置。
【請求項１０】
前記実行手段は、前記アプリケーションプログラムの実行の過程で、前記他のリソースへアクセスする命令に達したときに、判定手段による判定が完了していない場合は、判定手段による判定の完了を待つこと
を特徴とする請求項１に記載のアプリケーション実行装置。
【請求項１１】
前記アプリケーションプログラムは、当該アプリケーションプログラムのハッシュ値を記録したハッシュ情報を含み、
前記判定手段による判定は、前記アプリケーションプログラムのハッシュ値を算出し、前記ハッシュ情報と比較することによりなされること
を特徴とする請求項１に記載のアプリケーション実行装置。
【請求項１２】
前記取得手段におけるアプリケーションプログラムの取得は、複数の取得経路の何れかを介してなされ、
前記複数の取得経路は、それぞれの取得経路を介して取得されるアプリケーションが改竄されている危険の度合いが異なり、
前記仮権限取得手段は、取得手段においてアプリケーションプログラムを取得した取得経路に対応する仮権限情報を取得し、
前記仮権限情報は、対応する取得経路の前記危険の度合いが低いほど、自装置に影響を与えるおそれが強いリソースを、所定のリソースに含むこと
を特徴とする請求項１に記載のアプリケーション実行装置。
【請求項１３】
前記危険の度合いが低い取得経路とは、取得過程のアプリケーションプログラムが暗号化されている取得経路であり、
前記危険の度合いが高い取得経路とは、取得過程のアプリケーションプログラムが暗号化されていない取得経路であること
を特徴とする請求項１２に記載のアプリケーション実行装置。
【請求項１４】
前記取得手段におけるアプリケーションプログラムの取得は、複数の取得経路の何れかを介してなされ、
前記複数の取得経路は、それぞれアプリケーションの取得に要する所要時間が異なり、
前記仮権限取得手段は、複数の仮権限情報のうち、取得手段においてアプリケーションプログラムを取得した取得経路に対応する仮権限情報を取得し、
前記仮権限情報は、対応する取得経路の前記所要時間が長いほど自装置に影響を与えるおそれが強いリソースを、所定のリソースに含むこと
を特徴とする請求項１に記載のアプリケーション実行装置。
【請求項１５】
前記取得手段において、記録媒体からの読み出しによりアプリケーションプログラムが取得される場合に、前記判定手段において、アプリケーションプログラムが改竄されていないと判定されたならば、判定手段による判定が完了した後に前記アプリケーションプログラムを実行を開始するSigned application実行手段を更に備え、
前記実行手段は、前記取得手段において、アプリケーションプログラを伝送するデジタルストリームの受信によりアプリケーションプログラムが取得される場合に、判定手段による判定が完了する前に前記アプリケーションプログラムを実行すること
を特徴とする請求項１に記載のアプリケーション実行装置。
【請求項１６】
アプリケーション実行装置を制御する集積回路であって、
リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得手段と、
取得手段により取得されたアプリケーションプログラムが改竄されているか否かを判定する判定手段と、
所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得手段と、
前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得手段と、
判定手段による判定が完了する前は、前記仮権限により許可される範囲でアプリケーションプログラムを実行し、前記判定が完了した後は、アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲でアプリケーションプログラムを実行する実行手段と
を備えることを特徴とする集積回路。
【請求項１７】
リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得ステップと、
取得ステップにおいて取得されたアプリケーションプログラムが改竄されているか否かを判定する判定ステップと、
所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得ステップと、
前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得ステップと、
判定ステップにおける判定が完了する前は、前記仮権限により許可される範囲でアプリケーションプログラムを実行し、前記判定が完了した後は、アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲でアプリケーションプログラムを実行し、アプリケーションプログラムが改竄されていると判定された場合、アプリケーションプログラムの実行を終了する実行ステップと
を含むことを特徴とするアプリケーション実行方法。
【請求項１８】
リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得ステップと、
取得ステップにおいて取得されたアプリケーションプログラムが改竄されているか否かを判定する判定ステップと、
所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得ステップと、
前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得ステップと、
判定ステップにおける判定が完了する前は、前記仮権限により許可される範囲でアプリケーションプログラムを実行し、前記判定が完了した後は、アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲でアプリケーションプログラムを実行し、アプリケーションプログラムが改竄されていると判定された場合、アプリケーションプログラムの実行を終了する実行ステップと
の各ステップをコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムを取得して実行するアプリケーション実行装置に関し、特に、デジタルテレビ放送を介して取得したアプリケーションプログラムを実行する技術に関する。
【背景技術】
【０００２】
様々なデジタルテレビ放送規格が検討されているが、多くの国で採用されているＭＨＰ（Multimedia  Home  Platform）規格では、アプリケーションプログラム（以下、「アプリケーション」という。）をオブジェクトカルーセル方式で放送波に多重化して送信し、受信したデジタルテレビ受信装置で実行する仕様が策定されている。
デジタルテレビ受信装置でアプリケーションを実行することにより、従来のテレビ受信装置では成し得なかった様々な機能を実現することができる。例えば、放送波から受信した放送番組に連動してアプリケーションが収集した情報を、インターネット等のネットワークを介して放送局へ送信する双方向テレビシステムなどが実現できる。
【０００３】
しかし、デジタルテレビ受信装置のファイルシステムの利用や、ネットワークへの接続等（以下、まとめて「リソースへのアクセス」という。）を、アプリケーションに無制限に許可すると、アプリケーションに悪意のあるコードが含まれていた場合、ユーザが不利益をこうむるおそれや、自装置の制御システムが悪影響を受けるおそれがある。例えば、アプリケーションの実行により、視聴中にチャンネルが変更されたり、デジタルテレビ受信装置に記録されている情報が外部に送信されたり破壊されるおそれがある。そこで、ＭＨＰ仕様書１２章「Security」には、アプリケーションを安全に実行する仕様が定められている。
【０００４】
このなかで、実行のためにアプリケーションの認証を必要としないUnsigned  applicationと、実行に認証を必要とするSigned  applicationとが定められている。
Unsigned  applicationの実行の際には、システムに影響を及ぼすおそれのあるリソースへのアクセスを禁止することにより、システムを保護している。一方、Signed  applicationの実行の際には、より多くのリソースへのアクセスを許可するが、アプリケーション起動の前に、Ｘ．５０９証明書を利用した送信者の特定と、ハッシュ値を用いたアプリケーションが改竄されているか否かの判定（以下、「改竄チェック」という。）とを行う。それにより、信頼のおける送信者による正当なアプリケーションのみを認証することで、システムの保護を実現している。
【特許文献１】特開平０９−１２１３４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、Signed  applicationはUnsigned  applicationに比べて高機能を実現できるものの認証処理に時間を必要とし、迅速に起動することが出来ない。そこで、高機能なアプリケーションをより迅速に起動する手法が必要とされている。
本発明は、安全性を確保しつつ、高機能なアプリケーションの起動を高速化することができるアプリケーション実行装置、アプリケーション実行方法、アプリケーション実行装置の集積回路およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係るアプリケーション実行装置は、リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得手段と、取得手段により取得されたアプリケーションプログラムが改竄されているか否かを判定する判定手段と、所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得手段と、前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得手段と、判定手段による判定が完了する前は、前記仮権限により許可される範囲でアプリケーションプログラムを実行し、前記判定が完了した後は、アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲でアプリケーションプログラムを実行する実行手段とを備えることを特徴とする。
【発明の効果】
【０００７】
これによって、本発明に係るアプリケーション実行装置は、改竄の有無の判定に要する時間を待つことなくアプリケーションを起動できる。また、アプリケーションが改竄されていなければ、所定のリソースに加えて、他のリソースへのアクセスも実行されるため、所定のリソース以外のリソースへのアクセスを必要とする高機能なアプリケーションを実現できる。
【０００８】
従って、高い安全性を確保しつつ、高機能なアプリケーションを迅速に起動することができる。
また、前記実行手段は、前記判定において、前記アプリケーションプログラムが改竄されていると判定された場合、前記アプリケーションプログラムのファイルサイズを０と見なすとしてもよい。
【０００９】
これによって、アプリケーションが改竄されている場合には、アプリケーションのファイルサイズが０と見なされる。そのため、判定後にアプリケーションが実行されることがない。
従って、所定のリソース以外のリソースへアクセスし自装置に影響をおよぼすおそれのある命令が改竄によりアプリケーションに混入されていても、高い安全性を実現することができる。
【００１０】
また、前記実行手段は、前記取得手段によるアプリケーションプログラムの取得が完了する前に、前記アプリケーションプログラムの実行を開始するとしてもよい。
これによって、本発明に係るアプリケーション実行装置は、アプリケーションの取得に要する時間を待つことなくアプリケーションを起動できる。
従って、アプリケーションをより迅速に起動することができる。
【００１１】
また、前記取得手段による取得は、前記アプリケーションプログラムを伝送するデジタルストリームを受信することによりなされるとしてもよい。
これによって、データストリームの伝送速度が遅く、アプリケーションの取得に時間がかかる場合にも、本発明に係るアプリケーション実行装置は、取得が完了する前にアプリケーションの先頭の命令を実行できる。
【００１２】
従って、アプリケーションを伝送するデータストリームの伝送速度に係らず、迅速にアプリケーションを起動することができる。
また、前記取得手段により受信されるデジタルストリームは、デジタルテレビ放送を伝送するトランスポートストリームであり、
前記アプリケーションプログラムは、オブジェクトカルーセル方式で前記トランスポートストリームに多重化されているとしてもよい。
【００１３】
デジタルテレビ放送の受信装置が、トランスポートストリームから、オブジェクトカルーセル方式で伝送されているアプリケーションを取得するために必要な時間は、例えば、１０万ステップのアプリケーションでカルーセルの一周期分おおよそ２０秒を要する。そのため、アプリケーション全体を検証する必要がある改竄チェックには、少なくとも２０秒が必要となる。しかし、本発明に係るアプリケーション実行装置は、アプリケーションの取得が完了することを待つことなく、先頭の命令を実行することができる。
【００１４】
従って、本発明に係るアプリケーション実行装置は、アプリケーションの起動に要する時間を大幅に短縮し、アプリケーションの起動に必要な一部分を取得してからアプリケーション全体の取得が完了するまでに要する時間にも、アプリケーションの命令の実行を進めることができる。
また、前記所定のリソースは、ＭＨＰ規格においてUnsigned  applicationでのアクセスが許可されているリソースであるとしてもよい。
【００１５】
これによって、従来のUnsigned  applicationで改竄の有無を判定することなくアクセスが許可されていたリソースは、実行手段においても、判定手段による判定が完了する前にアクセスが許可される。また、従来のUnsigned  applicationでアクセスが禁止されていたシステムに影響を及ぼすおそれのあるリソースは、実行手段において、少なくとも判定手段による判定が完了するまでアクセスが禁止される。
【００１６】
従って、実行手段における命令の実行は、従来のUnsigned  applicationの命令の実行と同程度の安全性を確保することができる。
また、前記アプリケーションプログラムの送信者を特定する送信者特定情報に基づいて、前記送信者を特定する送信者判定手段を更に備え、前記アプリケーションプログラムを伝送するオブジェクトカルーセルはさらに、前記送信者特定情報を伝送し、前記取得手段は、アプリケーションプログラムとともに、前記送信者特定情報を取得し、前記実行手段は、送信者判定手段による特定が完了した後に、前記アプリケーションプログラムの実行を開始するとしてもよい。
【００１７】
これによって、アプリケーションは、送信者が特定されるまで実行されないため、信頼できない送信者から送信されたアプリケーションが不用意に実行されるおそれがない。
従って、より高い安全性を確保することができる。
また、前記取得手段は、アプリケーションプログラムとともに、前記アプリケーションプログラムの種別を示すアプリケーション識別子を取得し、前記実行手段は、アプリケーションプログラムが所定の種別である場合にのみ、判定手段による判定が完了する前にアプリケーションプログラムを実行するとしてもよい。
【００１８】
これによって、本発明に係るアプリケーション実行装置は、アプリケーションの種別に応じて、改竄の有無の判定が完了する前に実行を開始することができる。
従って、従来、改竄の有無の判定が完了した後に実行を開始していた種別のアプリケーションと、本発明に係る新たな種別のアプリケーションとを使い分けることができる。
また、前記実行手段は、前記アプリケーションプログラムの実行の過程で、前記他のリソースへアクセスする命令に達したときに、判定手段による判定が完了していない場合は、判定手段による判定の完了を待つとしてもよい。
【００１９】
これによって、改竄の有無の判定が完了する前に、所定のリソース以外のリソースへのアクセスが許可されることがない。従って、本発明に係るアプリケーション実行装置は、所定のリソース以外のリソースが自装置に影響を及ぼすおそれのあるリソースであっても、高い安全性を実現することができる。さらに、判定により改竄されていないことが確認された後には、所定のリソース以外のリソースへのアクセスが許可されるので、アプリケーションの高機能化を図ることができる。
【００２０】
また、前記アプリケーションプログラムは、当該アプリケーションプログラムのハッシュ値を記録したハッシュ情報を含み、前記判定手段による判定は、前記アプリケーションプログラムのハッシュ値を算出し、前記ハッシュ情報と比較することによりなされるとしてもよい。
これによって、本発明に係るアプリケーション実行装置は、アプリケーションの一部分でも改変されていれば、ハッシュ値の差異により改竄を検知できる。
【００２１】
従って、アプリケーションの改竄を的確に検出でき、高い安全性を実現することができる。
また、前記取得手段におけるアプリケーションプログラムの取得は、複数の取得経路の何れかを介してなされ、前記複数の取得経路は、それぞれの取得経路を介して取得されるアプリケーションが改竄されている危険の度合いが異なり、前記仮権限取得手段は、取得手段においてアプリケーションプログラムを取得した取得経路に対応する仮権限情報を取得し、前記仮権限情報は、対応する取得経路の前記危険の度合いが低いほど、自装置に影響を与えるおそれが強いリソースを、所定のリソースに含むとしてもよい。
【００２２】
これによって、アプリケーションが改竄されている危険の度合が小さく安全性が高い取得経路からアプリケーションが取得される場合には、判定手段による判定が完了する前に、実行手段において、自装置に影響を与えるおそれが強いリソースへアクセスする命令も含めて多くの命令が実行される。従って、所定のリソース以外のリソースへアクセスする命令に達するまでに、判定手段による判定が完了している可能性が高くなる。
【００２３】
従って、実行手段において、判定手段による判定の完了を待つ可能性が低く、アプリケーション実行装置のユーザは、高い安全性を確保しつつ、違和感なくアプリケーションを利用することができる。
また、前記危険の度合いが低い取得経路とは、取得過程のアプリケーションプログラムが暗号化されている取得経路であり、前記危険の度合いが高い取得経路とは、取得過程のアプリケーションプログラムが暗号化されていない取得経路であるとしてもよい。
【００２４】
これによって、取得過程で暗号化されていたアプリケーションは、判定手段による判定が完了する前に、実行手段において、自装置に影響を与えるおそれが強いリソースへアクセスする命令も含めて多くの命令が実行される。
従って、実行手段において、判定手段による判定の完了を待つ可能性が低く、アプリケーション実行装置のユーザは、高い安全性を確保しつつ、違和感なくアプリケーションを利用することができる。
【００２５】
また、前記取得手段におけるアプリケーションプログラムの取得は、複数の取得経路の何れかを介してなされ、前記複数の取得経路は、それぞれアプリケーションの取得に要する所要時間が異なり、前記仮権限取得手段は、複数の仮権限情報のうち、取得手段においてアプリケーションプログラムを取得した取得経路に対応する仮権限情報を取得し、前記仮権限情報は、対応する取得経路の前記所要時間が長いほど自装置に影響を与えるおそれが強いリソースを、所定のリソースに含むとしてもよい。
【００２６】
アプリケーションの取得に要する所要時間が長い取得経路からアプリケーションが取得される場合には、判定手段による判定に要する時間も長くなる。しかし、上記の構成により、このようなアプリケーションは、判定手段による判定が完了する前に、実行手段において、自装置に影響を与えるおそれが強いリソースへアクセスする命令も含めて多くの命令が実行される。従って、所定のリソースへアクセスする命令に達するまでに、判定手段による判定が完了している可能性が高くなる。
【００２７】
従って、実行手段において、判定手段による判定の完了を待つ可能性が低く、アプリケーション実行装置のユーザは、アプリケーションの取得に要する所要時間が長い場合にも、違和感なくアプリケーションを利用することができる。
また、前記取得手段において、記録媒体からの読み出しによりアプリケーションプログラムが取得される場合に、前記判定手段において、アプリケーションプログラムが改竄されていないと判定されたならば、判定手段による判定が完了した後に前記アプリケーションプログラムを実行を開始するSigned application実行手段を更に備え、前記実行手段は、前記取得手段において、アプリケーションプログラを伝送するデジタルストリームの受信によりアプリケーションプログラムが取得される場合に、判定手段による判定が完了する前に前記アプリケーションプログラムを実行するとしてもよい。
【００２８】
アプリケーションの取得が記録媒体からの読み出しによりなされ、取得に時間がかからない場合には、取得に要する時間が短いため、改竄チェックにも時間がかかることがない。このような場合、本発明に係るアプリケーション実行装置は、従来のSigned  applicationと同様に改竄チェックの後にアプリケーションを起動するので、従来のSigned  applicationの実行と同程度の安全性を確保することができる。一方、アプリケーションの取得がデジタルストリームの取得によりなされ、取得に時間がかかる場合には、改竄チェックにも同様に時間がかかる。しかし、このような場合、本発明に係るアプリケーション実行装置は、判定手段による判定の完了を待つことなくアプリケーションを起動し、所定のリソースのみアクセスを許可する。その後、判定手段による判定が完了しアプリケーションが改竄されていないと判定された場合、さらに、所定のリソース以外のリソースもアクセスを許可する。そのため、安全性を確保しつつ、起動を高速化することができる。
【００２９】
また、上記目的を達成するために、本発明に係る集積回路は、アプリケーション実行装置を制御する集積回路であって、リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得手段と、取得手段により取得されたアプリケーションプログラムが改竄されているか否かを判定する判定手段と、所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得手段と、前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得手段と、判定手段による判定が完了する前は、前記仮権限により許可される範囲でアプリケーションプログラムを実行し、前記判定が完了した後は、アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲でアプリケーションプログラムを実行する実行手段とを備える。
【００３０】
これによって、本発明に係るアプリケーション実行装置は、改竄の有無の判定に要する時間を待つことなくアプリケーションを起動できる。また、アプリケーションが改竄されていなければ、所定のリソースに加えて、他のリソースへのアクセスも実行されるため、所定のリソース以外のリソースへのアクセスを必要とする高機能なアプリケーションを実現できる。さらに、アプリケーションが改竄されている場合には、アプリケーションの実行が終了されるので、所定のリソース以外のリソースへアクセスしアプリケーション実行装置に影響をおよぼすおそれのある命令が改竄によりアプリケーションに混入されていても、高い安全性を実現することができる。
【００３１】
従って、高い安全性を確保しつつ、高機能なアプリケーションを迅速に起動することができる。
また、上記目的を達成するために、本発明に係るアプリケーション実行方法は、リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得ステップと、取得ステップにおいて取得されたアプリケーションプログラムが改竄されているか否かを判定する判定ステップと、所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得ステップと、前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得ステップと、判定ステップにおける判定が完了する前は、前記仮権限により許可される範囲でアプリケーションプログラムを実行し、前記判定が完了した後は、アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲でアプリケーションプログラムを実行し、アプリケーションプログラムが改竄されていると判定された場合、アプリケーションプログラムの実行を終了する実行ステップとを含むことを特徴とする。
【００３２】
これによって、本発明に係るアプリケーション実行装置は、改竄の有無の判定に要する時間を待つことなくアプリケーションを起動できる。また、アプリケーションが改竄されていなければ、所定のリソースに加えて、他のリソースへのアクセスも実行されるため、所定のリソース以外のリソースへのアクセスを必要とする高機能なアプリケーションを実現できる。さらに、アプリケーションが改竄されている場合には、アプリケーションの実行が終了されるので、所定のリソース以外のリソースへアクセスしアプリケーション実行装置に影響をおよぼすおそれのある命令が改竄によりアプリケーションに混入されていても、高い安全性を実現することができる。
【００３３】
従って、高い安全性を確保しつつ、高機能なアプリケーションを迅速に起動することができる。
また、上記目的を達成するために、本発明に係るプログラムは、リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得ステップと、取得ステップにおいて取得されたアプリケーションプログラムが改竄されているか否かを判定する判定ステップと、所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得ステップと、前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得ステップと、判定ステップにおける判定が完了する前は、前記仮権限により許可される範囲でアプリケーションプログラムを実行し、前記判定が完了した後は、アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲でアプリケーションプログラムを実行し、アプリケーションプログラムが改竄されていると判定された場合、アプリケーションプログラムの実行を終了する実行ステップとの各ステップをコンピュータに実行させることを特徴とする。
【００３４】
これによって、本発明に係るアプリケーション実行装置は、改竄の有無の判定に要する時間を待つことなくアプリケーションを起動できる。また、アプリケーションが改竄されていなければ、所定のリソースに加えて、他のリソースへのアクセスも実行されるため、所定のリソース以外のリソースへのアクセスを必要とする高機能なアプリケーションを実現できる。さらに、アプリケーションが改竄されている場合には、アプリケーションの実行が終了されるので、所定のリソース以外のリソースへアクセスしコンピュータに影響をおよぼすおそれのある命令が改竄によりアプリケーションに混入されていても、高い安全性を実現することができる。
【００３５】
従って、高い安全性を確保しつつ、高機能なアプリケーションを迅速に起動することができる。
【発明を実施するための最良の形態】
【００３６】
（第１実施形態）
以下、本発明に係るアプリケーション実行装置の実施形態について、図を用いて説明する。本実施形態では、アプリケーション実行装置の一例として、放送波からアプリケーションプログラムを取得して実行するデジタルテレビ受信装置を説明に用いる。
図１は、本実施形態に係るデジタルテレビ受信装置を使用した双方向テレビシステムの構成を示す図である。
【００３７】
放送装置１は、デジタルテレビ放送の放送局に設置された機器であり、送出データ１０を送出すると共に、インターネット等のネットワークを介してデジタルテレビ受信装置２から情報を収集する。
デジタルテレビ受信装置２は、デジタルテレビ放送の視聴者が使用する機器であり、放送装置１から送出されるデジタルテレビ放送の送出データ１０を受信する。さらに、送出データ１０に含まれる放送番組を再生する機能、及び送出データ１０に含まれるアプリケーションを実行する機能を有する。デジタルテレビ受信装置２において実行されたアプリケーションが、ネットワークを介して放送装置１に情報を送信することにより、双方向のサービスが実現する。
【００３８】
ここで、放送装置１から送出される送出データ１０について説明する。
放送装置１から送出される送出データ１０は、図２（Ａ）に示すように、放送番組の映像データ１１及び音声データ１２と、付加データ１３とからなる。送出データ１０の実体は、図２（Ｂ）に示すように、映像データ１１のストリーム、音声データ１２のストリーム、及びＤＳＭ−ＣＣセクション化されオブジェクトカルーセル方式で伝送される付加データ１３とが多重化されたＭＰＥＧ２トランスポートストリームである。ＭＰＥＧ２トランスポートストリーム、及び、ＤＳＭ−ＣＣについては、それぞれＭＰＥＧ規格書ＩＳＯ／ＩＥＣ１３８１８１−１、ＩＳＯ／ＩＥＣ１３８１８１−６に詳細が開示されており、本明細書ではこれらの説明を省略する。
【００３９】
付加データ１３には、Ｊａｖａ（登録商標）言語で記述されたプログラムであるアプリケーション１４、及びアプリケーションの管理情報１５が含まれている。付加データ１３の伝送方式はオブジェクトカルーセル方式であるため同じ情報が周期的に伝送されており、何れのタイミングで送出データ１０が選局されても、一定の期間で付加データ１３の全ての情報を取得することができる。
【００４０】
図３は、管理情報１５のデータ構造を模式的に示す図である。
管理情報１５は、アプリケーション識別子１６、実行フラグ１７、保存フラグ１８、及び保存情報１９の各情報を含む。
アプリケーション識別子１６は、０ｘ００００乃至０ｘＦＦＦＦの何れかの値をとり、アプリケーション１４を一意に識別する情報である。アプリケーション識別子１６の値が０ｘ００００乃至０ｘ３ＦＦＦの何れかの値である場合には、アプリケーション１４がＭＨＰ規格に規定されたUnsigned  applicationであることを示す。また、アプリケーション識別子１６の値が０ｘ４０００乃至０ｘ７ＦＦＦの何れかの値である場合には、アプリケーション１４がＭＨＰ規格に規定されたSigned  applicationであることを示す。アプリケーション識別子１６の値が０ｘ８０００乃至０ｘＦＦＦＦの何れかの値である場合には、アプリケーション１４が、本発明に係る新たな仕様であるTentative  unsigned  applicationであることを示す。
【００４１】
図４は、アプリケーション１４のディレクトリ構造を模式的に示す図である。アプリケーション１４は、ルートディレクトリ２１の配下に、アプリケーションディレクトリ２２を有し、アプリケーションディレクトリ２２の配下に、送信者特定情報ファイル２３、アプリケーションディレクトリのハッシュ情報ファイル２４、改竄チェックハッシュ値ファイル２５、及びメインクラスディレクトリ２６を有する。
【００４２】
メインクラスディレクトリ２６の配下には、メインクラスディレクトリのハッシュ情報ファイル２７、動作権限情報ファイル２８、メインクラスファイル２９、及びサブクラスディレクトリ３０を有し、サブクラスディレクトリ３０には、サブクラスディレクトリのハッシュ情報ファイル３１、及びサブクラスファイル３２、３３を有する。
図５は、送信者特定情報ファイル２３の詳細を示す図である。送信者特定情報ファイル２３は、アプリケーション１４の送信者を証明するＸ．５０９証明書である。Ｘ．５０９証明書において、送信者名は、発行人名２３ａに記録されている。公開鍵情報２３ｂに設定されている公開鍵は、改竄チェックハッシュ値ファイル２５に設定されているハッシュ値の取得に用いられる。Ｘ．５０９については、ＲＦＣ２４５９等に詳細が開示されており、本明細書ではこれらの説明を省略する。
【００４３】
図６は、ハッシュ情報ファイル２４の詳細を示す図である。ハッシュ情報ファイル２４には、ハッシュ値の数２４ａと、ハッシュ値の数２４ａに設定されている数の情報群とが記録されている。それぞれの情報群は、ハッシュアルゴリズム２４ｂ、ファイル数２４ｃ、ファイル数２４ｃに設定されている数のファイル名２４ｄ、及び、ファイル名２４ｄに設定されているファイルの内容をハッシュ計算したハッシュ値２４ｅからなる。
【００４４】
図７は、改竄チェックハッシュ値ファイル２５の詳細を示す図である。改竄チェックハッシュ値ファイル２５は、Ｘ．５０９証明書識別子２５ａ、ハッシュアルゴリズム２５ｂ、及び、アプリケーションディレクトリのハッシュ情報ファイル２４に基づいて算出されたハッシュ値を、送信者特定情報ファイル２３の公開鍵情報２３ｂに設定された公開鍵に対応する秘密鍵で暗号化した署名データ２５ｃからなる。
【００４５】
図８は、動作権限情報ファイル２８の一例を示す図である。動作権限情報ファイル２８は、アプリケーション１４の実行の際に必要となるリソースへアクセスする権限が、ＸＭＬ形式で記載されたファイルである。動作権限情報ファイル２８に記載される権限は、図９に示す権限のうちAdditional  Permissionに分類される１つ以上の権限である。動作権限情報ファイル２８に記載されたリソースへのアクセスは、デジタルテレビ受信装置２において、アプリケーション１４の送信者が信頼のおける送信者であると特定され、且つ、アプリケーション１４が改竄されていないと判定された場合（以下、信頼のおける送信者から送信され、改竄されていないアプリケーションを、「正当なアプリケーション」という。）に許可される。ＸＭＬについては、ＲＦＣ３０２３等に詳細が開示されており、本明細書ではこれらの説明を省略する。
【００４６】
次に、デジタルテレビ受信装置２のハードウェア構成について説明する。デジタルテレビ受信装置２は、図１０に示すように、ＴＳデコーダ１０１、オーディオデコーダ１０２、ビデオデコーダ１０３、スピーカー１０４、ディスプレイ１０５、画面出力部１０６、ＣＰＵ１０７、ネットワークデバイス１０８、入力部１０９、一次記憶領域１１０、二次記憶領域１１１、及びＲＯＭ１１２を備える。
【００４７】
ＭＰＥＧトランスポートストリームに多重化されたデータを、ＴＳデコーダ１０１が分離し、分離された映像データ１１、音声データ１２をそれぞれビデオデコーダ１０３、オーディオデコーダ１０２がデコードし、スピーカー１０４、及びディスプレイ１０５へ出力することにより、放送番組を再生する機能が実現される。
また、画面出力部１０６は、デジタルテレビ受信装置２の設定画面や、アプリケーション１４の表示画面の画像データを、ビデオデコーダ１０３から出力されるデコードされた映像データに重畳し、入力部１０９は、リモコンを介して入力されるユーザ操作を受け付ける受信ユニットである。受け付けられたユーザ操作に応じて、ＣＰＵが画面出力部１０６に画像を更新させることにより、デジタルテレビ受信装置２における対話的操作が実現される．
一次記憶領域１１０は、具体的にはＲＡＭにより実現される作業領域であり、送出データ１０から分離されたアプリケーション１４が記録される。二次記憶領域１１１は、ハードディスク、ＥＥＰＲＯＭ等の装置に内蔵された不揮発性メモリであり、信頼のおける送信者のリストを保持している。ＲＯＭ１１２には、デジタルテレビ受信装置２を制御するプログラムが記録されており、ＲＯＭ１１２内のプログラムがＣＰＵに読み込まれ、プログラムとハードウェア資源とが協動することにより、デジタルテレビ受信装置２はその機能を達成する。以上が、デジタルテレビ受信装置２のハードウェア構成である。
【００４８】
続いてＲＯＭ１１２に記録されているプログラムについて説明する。図１１は、ＲＯＭ１１２に記録されているプログラムの構成を示す図である。
ＲＯＭ１１２に記録されているプログラムは、制御部２０１、アプリケーション管理部２０２、Ｊａｖａ（登録商標）クラスライブラリ２０３、Ｊａｖａ（登録商標）ＶＭ２０４、デバイスドライバ２０５、及びＯＳ２０６からなる。
【００４９】
制御部２０１は、入力部１０９で受け付けたユーザ操作に応じて、デジタルテレビ受信装置２の動作を制御するプログラムである。
デバイスドライバ２０５は、スピーカー１０４、ディスプレイ１０５、画面出力部１０６、及び、ネットワークデバイス１０８のドライバである。
アプリケーション管理部２０２と、Ｊａｖａ（登録商標）クラスライブラリ２０３とは、一次記憶領域１１０に保存されているアプリケーション１４の実行を制御する。
【００５０】
図１２は、アプリケーション１４の実行に係る詳細な構成を示す図である。アプリケーション管理部２０２は、アプリケーション情報取得部２１１、ライフサイクル管理部２１２、及びアプリケーション認証部２１３からなり、Ｊａｖａ（登録商標）クラスライブラリ２０３は、セキュリティ管理部２２１、及びリソースライブラリ２２２からなる。
アプリケーション情報取得部２１１は、付加データ１３の管理情報１５を取得する。
【００５１】
ライフサイクル管理部２１２は、管理情報１５の内容に応じてアプリケーション１４を、Unsigned  application、Signed  application、及びTentative  unsigned  applicationの何れかの仕様で起動させる。
アプリケーション認証部２１３は、送信者特定部２１４、認証状態管理部２１５、改竄チェック部２１６、及び動作権限取得部２１７を内部に含み、アプリケーション１４の正当性を判定する。認証状態管理部２１５は、内部に認証状態保持部２１８、及び、Unsigned権限保持部２１９を含む。Unsigned権限保持部２１９には、Unsigned権限情報が記録されている。Unsigned権限情報は、ＭＨＰ規格においてUnsigned  applicationの実行の際にアクセスが許可されているリソースへのアクセス権限（以下、「Unsigned権限」という。）を示す情報である。例えば、Unsigned権限情報は、Unsigned権限をＸＭＬ形式で記述することにより実現される。
【００５２】
尚、ＭＨＰ規格の規定では、Unsigned  applicationの実行の際には、一部のリソースへのアクセスが制限される。具体的には、図９でUnsigned  applicationの項に「×」が付されたリソースへのアクセスは、Unsigned  applicationの実行の際に制限される。一方、Signed  applicationの実行の際には、動作権限情報ファイルに設定されたリソースへのアクセスが制限なく可能となる。本発明に係るTentative  unsigned  applicationは、改竄チェックの完了を待たずに、アプリケーションをUnsigned権限で起動する。そのため、Tentative  unsigned  applicationは、改竄チェックが完了するまでは、Unsigned  applicationと同様に一部のリソースへのアクセスが制限される。しかし、改竄チェックが完了しアプリケーションの正当性が確認された後は、Signed  applicationと同様に、動作権限情報ファイルに設定されたリソースへのアクセスが制限なく可能となる。
【００５３】
Ｊａｖａ（登録商標）クラスライブラリ２０３のセキュリティ管理部２２１は、動作権限設定部２２３、動作権限チェック部２２４を内部に含み、アプリケーション１４からアクセスが許可されるリソースの範囲を制御する。
以上が、デジタルテレビ受信装置２の構成である。
次に、上述のように構成されたデジタルテレビ受信装置２の動作について図１３乃至１５を用いて説明する。本実施形態では、デジタルテレビ受信装置２の動作の一例として、チャンネルの変更に伴うアプリケーションの自動実行について説明する。
【００５４】
図１３は、本実施形態に係るデジタルテレビ受信装置２における選局処理の処理手順を示すフローチャートである。
制御部２０１は、入力部１０９からチャンネル変更要のユーザ操作を受け付けると（Ｓ１）、ＴＳデコーダ１０１に対して指定チャンネルへのチャンネル変更と、トランスポートストリームの分離を指示し、デバイスドライバ２０５を介して、オーディオデコーダ１０２とビデオデコーダ１０３とに、映像データ１１、及び音声データ１２の再生を指示する（Ｓ２）。制御部２０１はさらに、ＴＳデコーダ１０１に、トランスポートストリームから分離した付加データ１３を一次記憶領域１１０へ保存するよう指示し、アプリケーション管理部２０２に、アプリケーションの起動制御を指示する（Ｓ３）。指示を受けたＴＳデコーダ１０１は、送出データ１０から付加データ１３を伝送するオブジェクトカルーセルを取得し、取得した分から順次一次記憶領域１１０へ保存していく。ＴＳデコーダ１０１が指示を受けてからオブジェクトカルーセルの一周期（例えば、約２０秒）が経過すると、一次記憶領域１１０には、付加データ１３の全ての部分が保存される。以上が、デジタルテレビ受信装置２における選局処理の動作である。
【００５５】
次にアプリケーションの起動を制御する動作について説明する。
図１４（Ａ）は、本実施形態に係るデジタルテレビ受信装置２におけるアプリケーション起動制御処理の処理手順を示すフローチャートである。
Ｓ３で制御部２０１からアプリケーションの起動制御を指示されたアプリケーション管理部２０２のアプリケーション情報取得部２１１は、一次記憶領域１１０に記録されている付加データ１３から、管理情報１５を取得する（Ｓ１１）。但し、送出データ１０が選局されときに、ＴＳデコーダ１０１において付加データ１３の何れの部分から取得されるかは不定であるため、アプリケーション情報取得部２１１が管理情報１５を取得しようとした時点で、一次記憶領域１１０に管理情報１５が記録されていない場合（Ｓ１２：Ｎｏ）もある。このような場合には、ＴＳデコーダ１０１において管理情報１５を含むモジュールが受信されるまで管理情報１５の取得処理を繰り返す。アプリケーション情報取得部２１１は、管理情報１５を取得すると（Ｓ１２：Ｙｅｓ）、管理情報１５をライフサイクル管理部２１２へ渡す。
【００５６】
管理情報１５を受け取ったライフサイクル管理部２１２は、アプリケーションを自動起動するか否かを判定する（Ｓ１３）。具体的には、管理情報１５の実行フラグ１７をチェックし、実行フラグ１７がＯＦＦに設定されている場合は（Ｓ１３：Ｎｏ）、アプリケーションを自動起動しないと判定し、起動制御を終了する。実行フラグ１７がＯＮに設定されている場合（Ｓ１３：Ｙｅｓ）、ライフサイクル管理部２１２は、アプリケーションを自動起動すると判定し、管理情報１５のアプリケーション識別子１６の値に基づいて、Ｓ１４乃至Ｓ１６の処理手順で、アプリケーション１４がUnsigned  application、Signed  application、及び、Tentative  unsigned  applicationの内の何れの種別であるかを判定する。
【００５７】
アプリケーション識別子１６が、０ｘ００００乃至０ｘ３ＦＦＦの何れかの値である場合（Ｓ１４：Ｙｅｓ）、ライフサイクル管理部２１２は、アプリケーション１４が従来のUnsigned  applicationであると判断する。この場合ライフサイクル管理部２１２は、Unsigned権限保持部２１９に保持されているUnsigned権限情報を取得し、取得したUnsigned権限情報をセキュリティ管理部２２１の動作権限設定部２２３へ渡す。動作権限設定部２２３は、Unsigned権限情報に基づいて、アプリケーション１４の動作権限２２５にUnsigned権限を設定する（Ｓ１７）。
【００５８】
アプリケーション識別子１６が、０ｘ４０００乃至０ｘ７ＦＦＦの何れかの値である場合（Ｓ１５：Ｙｅｓ）、ライフサイクル管理部２１２は、アプリケーション１４が、従来のSigned  applicationであると判断し、アプリケーション認証部２１３に、アプリケーションの正当性の判定を指示する。正当性の判定を指示されたアプリケーション認証部２１３は先ず、送信者特定部２１４においてＳ１８の送信者判定を実行する。送信者特定部２１４は、一次記憶領域１１０から図５に示す送信者特定情報ファイル２３を取得し、送信者特定情報ファイル２３の発行人名２３ａが、あらかじめ二次記憶領域内に記録されている信頼のおける送信者のリストに含まれていれば、信頼のおける送信者として判定する（Ｓ１８：Ｙｅｓ）。ここで、Ｘ．５０９証明書の公開鍵情報２３ｂを利用して送信者特定情報ファイル２３が送信者本人により送られたかどうを判定できる。アプリケーション１４の送信者が信頼のおける送信者であった場合、アプリケーション認証部２１３はさらに、アプリケーション１４の全ての部分が一次記憶領域１１０に記録されるのを待ち、改竄チェック部２１６によりアプリケーション１４の改竄チェックを実行する（Ｓ１９）。具体的には、改竄チェック部２１６は、アプリケーションディレクトリ２２、メインクラスディレクトリ２６、及びサブクラスディレクトリ３０の各ディレクトリにおいて、配下の全てのファイルに基づいてハッシュ値を算出し、算出したハッシュ値とそれぞれのディレクトリのハッシュ情報ファイル２４、２７、及び３１に設定されているハッシュ値とを比較する。さらに、ハッシュ情報ファイル２４に基づいてハッシュ値を算出し、算出したハッシュッ値と、改竄チェックハッシュ値ファイル２５に設定されている署名データ２５ｃを送信者特定情報ファイル２３の公開鍵情報２３ｂに設定されている公開鍵で復号化して得られたハッシュ値とを比較する。以上のハッシュ値の比較が全て一致した場合、改竄チェック部２１６は、アプリケーション１４が改竄されていないと判定し、何れかの比較でハッシュ値が一致しなかった場合にアプリケーション１４が改竄されていると判定する。アプリケーション１４が改竄されていない場合（Ｓ１９：Ｙｅｓ）、改竄チェック部２１６は、動作権限取得部２１７に結果を通知し、通知を受けた動作権限取得部２１７は、一次記憶領域１１０から動作権限情報ファイル２８を取得する（Ｓ２０）。ただしこのとき、もともとアプリケーション１４に動作権限情報ファイル２８が含まれていなかったために、動作権限情報ファイル２８を一次記憶領域１１０から取得できない場合、動作権限取得部２１７は、動作権限情報ファイル２８に代えて、Unsigned権限保持部２１９に保持されているUnsigned権限情報を取得する。取得された動作権限情報ファイル２８は、ライフサイクル管理部２１２を介してセキュリティ管理部２２１の動作権限設定部２２３へ渡され、動作権限設定部２２３は、動作権限情報ファイル２８に基づいて、アプリケーション１４の動作権限２２５を設定する（Ｓ２１）。
【００５９】
一方、送信者が信頼のおける送信者ではない場合（Ｓ１８：Ｎｏ）、若しくは、アプリケーション１４が改竄されている場合（Ｓ１９：Ｎｏ）、アプリケーション認証部２１３は結果をライフサイクル管理部２１２へ通知し、通知を受けたライフサイクル管理部２１２は、アプリケーション１４を起動せずに処理を終了する。
アプリケーション識別子１６が、０ｘ８０００乃至０ｘＦＦＦＦの何れかの値である場合（Ｓ１６：Ｙｅｓ）、ライフサイクル管理部２１２は、アプリケーション１４が、本発明に係る新たな種別であるTentative  unsigned  applicationであると判断し、アプリケーション認証部２１３に、アプリケーションの正当性の判定を指示する。正当性の判定を指示されたアプリケーション認証部２１３は先ず、ＴＳデコーダ１０１において送信者特定情報ファイル２３が取得され一次記憶領域１１０に記録されるのを待ち、送信者特定情報ファイル２３が取得されたら、送信者特定部２１４においてＳ１８と同様の手順で送信者判定を実行する。アプリケーション１４の送信者が信頼のおける送信者であった場合（Ｓ２５：Ｙｅｓ）、アプリケーション認証部２１３は、改竄チェック部２１６と、動作権限取得部２１７とにアプリケーション認証スレッドの生成を指示（Ｓ２２）すると共に、ライフサイクル管理部２１２に、アプリケーション１４の送信者が信頼のおける送信者であることを通知する。通知をうけたライフサイクル管理部２１２は、Unsigned権限保持部２１９に保持されているUnsigned権限情報を取得し、取得したUnsigned権限情報をセキュリティ管理部２２１の動作権限設定部２２３へ渡す。Unsigned権限情報を受け取った動作権限設定部２２３は、Unsigned権限情報に基づいてアプリケーション１４の動作権限２２５にUnsigned権限を設定する（Ｓ２３）。一方、送信者が信頼のおける送信者ではない場合（Ｓ２５：Ｎｏ）、アプリケーション認証部２１３は結果をライフサイクル管理部２１２へ通知し、通知を受けたライフサイクル管理部２１２は、アプリケーション１４を起動せずに処理を終了する。
【００６０】
Ｓ１７、Ｓ２１、及び、Ｓ２３の何れかで、アプリケーション１４の動作権限２２５を設定し終えたのち、ライフサイクル管理部２１２は、Ｊａｖａ（登録商標）クラスライブラリ２０３を利用してアプリケーション１４を起動させる（Ｓ２４）。以上が、アプリケーションの起動を制御する動作である。
以上の処理手順により、アプリケーションの起動を高速化することができる。例えば、アプリケーションの全体のデータサイズが大きく、一周期分のオブジェクトカルーセルの取得及びアプリケーションのハッシュ値の算出に時間がかかる場合、従来のSigned  applicationの処理手順ではアプリケーションの取得から起動までにファイルサイズに応じた長さの時間がかかったが、本実施形態にかかるTentative  unsigned  applicationの処理手順によれば、オブジェクトカルーセルの一部が取得された時点で、アプリケーションを起動することができる。
【００６１】
続いて、起動制御のＳ２２で、改竄チェック部２１６と動作権限取得部２１７とに生成が指示されたアプリケーション認証スレッドの動作について説明する。アプリケーション認証スレッドは、図１４（Ａ）のＳ２４で起動されたTentative  unsigned  applicationのアプリケーション１４の実行と並行して処理されるスレッドである。
図１４（Ｂ）は、アプリケーション認証スレッドの処理手順を示すフローチャートである。
【００６２】
アプリケーション認証スレッドにおいて改竄チェック部２１６は、ＴＳデコーダ１０１で付加データ１３の全ての部分が取得され、一次記憶領域１１０にアプリケーション１４の全ての部分が記録された後に、一次記憶領域１１０に記録されているアプリケーション１４の改竄チェックを実行する（Ｓ３１）。アプリケーション１４が改竄されていない場合（Ｓ３２：Ｙｅｓ）、改竄チェック部２１６は、動作権限取得部２１７に結果を通知し、通知を受けた動作権限取得部２１７は、一次記憶領域１１０から動作権限情報ファイル２８を取得し、取得した動作権限情報ファイル２８を認証状態管理部２１５に渡す。動作権限情報ファイル２８を受け取った認証状態管理部２１５は、認証状態保持部２１８へ動作権限情報ファイル２８を登録して（Ｓ３３）、アプリケーション認証スレッドの処理を終了する。一方、アプリケーション１４が改竄されていた場合（Ｓ３２：Ｎｏ）、改竄チェック部２１６は、認証状態管理部２１５へアプリケーションの正当性が認証されないことを通知する。認証されなかったことを通知された場合、認証状態管理部２１５は、認証状態保持部２１８に認証が失敗したことを示す情報を登録して（Ｓ３４）、アプリケーション認証スレッドの処理を終了する。以上が、アプリケーション認証スレッドの動作である。
【００６３】
尚、ＭＨＰ規格ではsigned  applicationの改竄チェックに失敗した場合、改竄をチェックしたファイルはファイルサイズを０と見なすように定められている。その結果、改竄チェックに失敗したファイルは、存在するがファイル内容がないものとして扱われる。そこで、本発明をＭＨＰ規格に厳密に適合させる場合には、アプリケーションの正当性が認証されなかったことを改竄チェック部２１６から通知された場合、Ｓ３４における認証状態管理部２１５の処理を以下のように変更してもよい。即ち、Ｓ３４において、認証状態管理部２１５は、認証状態保持部２１８に認証が失敗したことを示す情報を登録すると共に、一次記憶領域に記録されているアプリケーション１４の全ファイル、若しくは、算出したハッシュ値がハッシュ情報ファイルに記録されているハッシュ値と一致しなかったファイルを、一次記憶領域を管理するファイルシステムにおいて、ファイルサイズを０に変更するとしてもよい。
【００６４】
一方、図１４（Ａ）のＳ２４で起動されたアプリケーション１４がTentative  unsigned  applicationである場合は、図１４（Ｂ）に示したアプリケーション認証スレッドと並行して、アプリケーション１４が実行される。アプリケーション１４の実行過程で発生するリソースへのアクセスは、Ｊａｖａ（登録商標）クラスライブラリ２０３により、アクセスの可否が判定される。従来のUnsigned  application若しくはSigned  applicationでは、図１４（Ａ）のＳ１７若しくはＳ２１でアプリケーションに設定された動作権限２２５に基づいて、アクセスの可否が判定されていた。しかし、本発明に係るTentative  unsigned  applicationでは、改竄チェックの完了前は、起動時にＳ２３で設定された動作権限２２５に基づいて、アクセスの可否が判定されるが、改竄チェックが完了し、アプリケーションが改竄されていないと判定された後は、Ｓ２３で設定された動作権限２２５に加えて、図１４（Ｂ）に示すアプリケーション認証スレッドのＳ３３で認証状態保持部２１８に登録された動作権限情報ファイル２８に基づいて、アクセスの可否が判定される。
【００６５】
以下に、Tentative  unsigned  applicationであるアプリケーション１４の実行過程で発生したリソースアクセスを、Ｊａｖａ（登録商標）クラスライブラリ２０３において制御する動作について説明する。
図１５は、アプリケーション１４によるリソースへのアクセスを制御する処理手順を示すフローチャートである。
【００６６】
アプリケーション１４は、ネットワークへの接続や、二次記憶領域１１１のファイルの読み出し等のリソースへのアクセスが必要となった場合に
、リソースライブラリ２２２をコールする（Ｓ４１）。
コールを受けたリソースライブラリ２２２は、対応するリソースへアクセスする権限が、アプリケーション１４に設定されているか否かをセキュリティ管理部２２１へ問い合わせる。
【００６７】
セキュリティ管理部２２１は、アプリケーション１４に設定されている動作権限２２５を動作権限チェック部２２４を用いて参照し、問い合わせられたリソースへアクセスする権限が設定されているか否かを判定する（Ｓ４２）。ここでアプリケーション１４の動作権限２２５には、図１４（Ａ）のＳ２３でUnsigned権限が設定されている。問い合わせられたリソースへのアクセス権が、動作権限２２５に設定されているUnsigned権限に含まれている場合（Ｓ４２：Ｙｅｓ）、セキュリティ管理部２２１は、リソースライブラリ２２２へ肯定的は判定を通知し、通知を受けたリソースライブラリ２２２は、アプリケーション１４によるリソースへのアクセスを認証し、対応するリソースに要求を出し処理を終了する（Ｓ４３）。ここまでの処理手順によりアプリケーション１４によるリソースへのアクセスが実行される。
【００６８】
一方、動作権限２２５に対象の問い合わせられたリソースへアクセスする権限が、動作権限２２５に設定されているUnsigned権限に含まれていない場合（Ｓ４２：Ｎｏ）、セキュリティ管理部２２１は、認証状態管理部２１５へ認証状態を問い合わせる。
問い合わせを受けた認証状態管理部２１５は、アプリケーション認証スレッドによる認証処理が完了していない場合（Ｓ４４：Ｎｏ）、認証処理が完了するまで待機する。アプリケーション認証スレッドによる認証処理が完了した場合（Ｓ４４：Ｙｅｓ）、認証状態管理部２１５は、認証状態保持部２１８に保持されている動作権限情報を取得し、取得した動作権限情報をセキュリティ管理部２２１へ渡す（Ｓ４５）。
【００６９】
動作権限情報を受け取ったセキュリティ管理部２２１は、受け取った動作権限情報にリソースライブラリ２２２から問い合わせられたリソースへアクセスする権限が含まれているか否かを判定し（Ｓ４６）、結果をリソースライブラリ２２２へ通知する。
リソースライブラリ２２２は、肯定的な通知をうけた場合（Ｓ４６：Ｙｅｓ）には、アプリケーション１４によるリソースへのアクセスを認証し、対応するリソースに要求を出す（Ｓ４３）。これによりアプリケーション１４によるリソースへのアクセスが実行される。リソースライブラリ２２２は、否定的な通知をうけた場合（Ｓ４６：Ｎｏ）には、アプリケーション１４にリソースを利用できない旨のエラー情報を返し（Ｓ４７）、リソースへのアクセスを制御する処理を終了する。ここで、アプリケーション１４は、リソースライブラリ２２２からエラー情報を返された場合、処理を継続できないため実行を終了する。以上が、Tentative  unsigned  applicationであるアプリケーション１４の実行過程で発生したリソースアクセスを制御する動作である。
【００７０】
このような処理手順により、アプリケーション１４の改竄チェックが完了する前に、アプリケーション１４をUnsigned権限で起動し、アプリケーション１４の先頭の命令から順に実行することができる。その後、改竄チェックが完了し、アプリケーション１４が改竄されていないと判定されれば、アプリケーション１４の実行の過程で、Unsigned権限でアクセスが許可されないリソースへアクセスする命令に処理が達した場合にも、アプリケーション１４の送信者が用意していた動作権限情報により示される動作権限の範囲内でリソースへアクセスする命令を実行することができる。
【００７１】
従って、改竄チェックが完了する前にUnsigned権限でアプリケーションを迅速に起動でき、また、改竄チェックが完了するまでは、Unsigned権限で実行が禁止されるリソースへのアクセスが禁止されるので高い安全性を実現でき、その一方で、改竄チェックの完了後には、Unsigned権限で実行が禁止されるリソースへのアクセスも許可されるのでアプリケーションの高機能化を図ることができる。
【００７２】
以上のように本実施形態によれば、アプリケーションの先頭の命令から順に命令を実行した場合に、Unsigned権限で実行できない命令に処理手順が達するまでにディスプレイに画像を描画する命令が含まれており、且つ、Unsigned権限にグラフィック表示権限が含まれている場合には、アプリケーションのファイルサイズの大小に依らず、迅速にディスプレイに画像を表示できるため、ユーザの見かけ上の待ち時間が短縮され操作性が向上する。
【００７３】
また、従来のSigned  applicationの処理手順では、アプリケーションがグラフィック表示のみを行うアプリケーションである場合にも、アプリケーションを構成する全てのファイルの改竄チェックを行う必要があり、アプリケーションのファイルサイズが大きいければ、トランスポートストリームからの取得と改竄チェックに要する時間が長くアプリケーションの起動に時間がかかり、その結果、グラフィックの表示が遅れていた。本実施形態に係るTentative  unsigned  applicationの処理手順では、アプリケーションがグラフィック表示のみを行うアプリケーションであれば、改竄チェックの完了前にアプリケーションを起動し、そのとき設定されるUnsigned権限でグラフィックの表示も実行することができる。
【００７４】
尚、本実施形態に係るアプリケーション１４の種別がTentative  unsigned  applicationである場合、アプリケーション１４の起動の前には、管理情報１５のアプリケーション識別子を用いるアプリケーション１４の種別の判定と、送信者特定情報ファイル２３を用いる送信者の信頼性の判定とがなされる必要があり、少なくとも、アプリケーション１４の先頭の命令を含むメインクラスファイル２９と、送信者特定情報ファイル２３と、管理情報１５とが取得されている必要がある。
【００７５】
そこで、図１６に示すように、アプリケーション１４を分割して含む４つのモジュールＡ１乃至Ａ４と、管理情報１５を含むモジュールＭ１とにより、付加データ１３を伝送するオブジェクトカルーセルを構成する。このオブジェクトカルーセルにおいて、送信者特定情報ファイル２３及びメインクラスファイル２９伝送するモジュールＡ１と、管理情報１５を伝送するモジュールＭ１との割合を他のモジュールよりも多くすることにより、ＴＳデコーダ１０１が、オブジェクトカルーセルの何れの部分から付加データ１３の取得を開始したかにかかわらず、メインクラスファイル２９、送信者特定情報ファイル２３、及び管理情報１５の取得に要する時間を短縮できる可能性が高くなり、アプリケーションの起動を高い確率で高速化できる。
【００７６】
（第２実施形態）
アプリケーションは、トランスポートストリームから取得したものに限らず、取り外し可能な記録媒体に記録されているものも、一次記憶領域に読み込むみ実行することが可能である。しかし、取り外し可能な記録媒体に記録されているアプリケーションは、パーソナルコンピュータ等で容易に解析でき、放送局からトランスポートストリームに多重化して送出されてくるアプリケーションに比べて、改竄されている確率が高い。
【００７７】
そこで、第２実施形態では、改竄チェックの完了前にアプリケーションを起動する際に設定する暫定的な動作権限を、アプリケーションの取得経路に応じて変更するデジタルテレビ受信装置について説明する。
図１７は、第２実施形態に係るデジタルテレビ受信装置３のハードウェア構成を示す図である。以下、第１実施形態で説明した構成要素と同じ構成要素については、同一の符号を付して説明を省略する。
【００７８】
デジタルテレビ受信装置３は、実施形態１で説明したデジタルテレビ受信装置２に二次記憶領域１１３を追加した構成である。
二次記憶領域１１３は、ＳＤカード、光ディスク等の取り外し可能な不揮発性メモリである。二次記憶領域１１１、二次記憶領域１１３は、それぞれ異なるアプリケーションが記録されている。
【００７９】
図１８は、第２実施形態に係るデジタルテレビ受信装置３においてアプリケーション１４の実行を制御する機能構成を示す図である。図１８に示す構成は、第１実施形態で説明した図１２の構成と比較して、ライフサイクル管理部２１２の内部に取得経路保持部２３１追加し、認証状態管理部２１５の内部に、Unsigned権限保持部２１９に代えて、第１仮権限保持部２３２、第２仮権限保持部２３３、及び第３仮権限保持部２３４を追加した構成である。
【００８０】
取得経路保持部２３１は、アプリケーション情報取得部２１１が、一次記憶領域１１０に保持されているアプリケーション１４が、何れの取得経路から取得されたものであるかを示す情報を保持する機能ブロックである。取得経路保持部２３１に保持される情報は、アプリケーション１４が一次記憶領域１１０に記録されるときに、アプリケーション情報取得部２１１から取得され設定される。アプリケーションの取得経路は、「トランスポートストリームからの分離」、「二次記憶領域１１１からの読み出し」、「二次記憶領域１１３からの読み出し」、及び、「インターネットからダウンロード」の何れかである。本実施形態では、「トランスポートストリームからの分離」、「二次記憶領域１１１からの読み出し」、「二次記憶領域１１３からのよみだし」、「インターネットからダウンロード」の順に、取得されたアプリケーションが改竄されている危険性（以下、「取得経路の危険性」という。）が低いと想定している。
【００８１】
第１仮権限保持部２３２、第２仮権限保持部２３３、及び第３仮権限保持部２３４には、それぞれ第１仮権限情報、第２仮権限情報、第３仮権限情報が記録されている。第１仮権限情報、第２仮権限情報、第３仮権限情報は、何れもリソースへのアクセス権限を示す情報であり、第１仮権限情報、第２仮権限情報、第３仮権限情報の順に、より多くのリソースへアクセスする権限が示される。具体的には、第１仮権限情報により許可される権限は、画面表示を制御する権限、トランスポートストリームを制御してチャンネルを選択する権限、及び、二次記憶領域１１１及び１１３の全ての領域へアクセスする権限であり、第２仮権限情報により許可される権限は、画面表示を制御する権限、及び、二次記憶領域１１１及び１１３の全ての領域へアクセスする権限であり、第３仮権限情報により許可される権限は、画面表示を制御する権限、及び、取り外し可能メディア内の記憶領域である二次記憶領域１１３へアクセスする権限である。第１仮権限情報、第２仮権限情報、第３仮権限情報は、第１実施形態におけるUnsigned権限情報と同様に、例えば、上記のアクセス権限をＸＭＬ形式で記述することにより実現される。
【００８２】
次に、上述のように構成されたデジタルテレビ受信装置３において、アプリケーションの起動時に、動作権限を設定する動作について説明する。第２実施形態に係るデジタルテレビ受信装置３は、アプリケーションの取得に用いた取得経路の危険性が低いほど、より多くのリソースへのアクセスが可能な動作権限を設定する。
図１９は、第２実施形態に係るデジタルテレビ受信装置３において、アプリケーションの起動時に、動作権限を設定する処理手順を示すフローチャートである。
【００８３】
先ず、ライフサイクル管理部２１２は、取得経路保持部２３１に記録されている情報を取得し（Ｓ６１）、取得した情報に基づいて、Ｓ６２、Ｓ６４、及びＳ６５の処理手順において、アプリケーション１４が何処から一次記憶領域１１０に読み込まれたのかを判定する。
アプリケーション１４がトランスポートストリームから取得されたものであれば（Ｓ６２：Ｙｅｓ）、第１仮権限保持部２３２から第１仮権限を取得し、セキュリティ管理部２２１に指示して、アプリケーション１４の動作権限２２５に第１仮権限を設定を設定させる（Ｓ６３）。
【００８４】
アプリケーション１４が二次記憶領域１１１から読み出されたものであれば（Ｓ６４：Ｙｅｓ且つＳ６５：Ｎｏ）、第２仮権限保持部２３２から第２仮権限を取得し、セキュリティ管理部２２１に指示して、アプリケーション１４の動作権限２２５に第２仮権限を設定を設定させる（Ｓ６６）。
アプリケーション１４が二次記憶領域１１３から読み出されたものか、インターネットからダウンロードされたものの何れかであれば（Ｓ６４：Ｎｏ、若しくは、Ｓ６４：Ｙｅｓ且つＳ６５：Ｙｅｓ）、第３仮権限保持部２３２から第３仮権限を取得し、セキュリティ管理部２２１に指示して、アプリケーション１４の動作権限２２５に第３仮権限を設定を設定させる（Ｓ６７）。以上のように、アプリケーション１４の取得経路によりアプリケーションに設定する動作権限を変えることができる。改竄されている可能性が低い経路については、より多くのリソースへアクセスが許可される暫定的な動作権限を与えることによって、暫定的な動作権限で多くの命令を実行することが可能となり、暫定的な動作権限で実行できないリソースコールの発生時に改竄チェックの完了を待つ可能性が低くなる。
【００８５】
尚、本実施形態では、「トランスポートストリームからの分離」、「二次記憶領域１１１からの読み出し」、「二次記憶領域１１３からのよみだし」、「インターネットからダウンロード」の順に、アプリケーションが改竄されている危険性が低いとした。しかし、インターネットからのダウンロードにおいて、ＳＳＬ等を用いてTCP/IPで送るデータを暗号する場合と、ＳＳＬ等を用いずにデータを暗号化せずにダウンロードする場合とで、アプリケーションが改竄されている危険性は異なる。具体的には、ＳＳＬを用いずにダウンロードする方が、アプリケーションが改竄されている危険性が高くなる。そこで、インターネットからアプリケーションをダウンロードして実行するアプリケーション実行装置には、ＳＳＬの使用の有無に着目して、本発明を適用することができる。具体的には、アプリケーションのダウンロードが、ＳＳＬを用いてなされたか否かを監視し、アプリケーションの取得にＳＳＬが用いられた場合には、ＳＳＬが用いられなかった場合に比較して、より多くのリソースへアクセスが許可される暫定的な動作権限を与えてアプリケーションを起動すればよい。
【００８６】
尚、第２実施形態では、取得経路毎にアプリケーションが改竄を受ける危険度の高さに応じて暫定的な動作権限を変化させるとしたが、取得経路と、トランスポートストリームのデータ転送レートや二次記憶領域のデータアクセス時間などに依存するアプリケーションの取得に要する時間との関係を考慮し、アプリケーションの取得に要する時間が長い取得経路ほど、より多くのリソースへアクセスが許可される暫定的な動作権限を与えるとしてもよい。これによって、アプリケーションの取得に時間がかかり、取得後の改竄チェックもそれにともない時間がかかる場合にも、暫定的な動作権限で実行が禁止されるアプリケーションが少ないため、ユーザは改竄チェックが完了していないことを意識することなくアプリケーションを利用することができる。
【００８７】
さらに、二次記憶領域からアプリケーションを読み出す場合は、トランスポートストリームからアプリケーションを取得する場合に比較して、取得に要する時間が大幅に短い。そこで、図２０のフローチャートに示すように、取得経路がトランスポートストリームであれば（Ｓ５１：Ｙｅｓ）、アプリケーションの全体が一次記憶領域１１０に記録されるのを待たずに、アプリケーション認証スレッドの生成を指示し（Ｓ５２）、第３仮権限情報により許可される権限を設定して（Ｓ５３）、アプリケーション１４を起動し（Ｓ５４）、逆に、取得経路がトランスポートストリーム以外であれば（Ｓ５１：Ｎｏ）、従来のSigned  applicationの処理手順と同様に、アプリケーションの全体が一次記憶領域１１０に記録されるまで待機し、その後にＳ５４乃至Ｓ５７の処理手順を実行するとしてもよい。これによって、アプリケーションの取得に時間がかかる場合にのみ、アプリケーションの起動を高速化し、それ以外の場合は、従来の技術を用いて安全にアプリケーションを実行することができる。
（その他の変形例）
本発明を上記の実施形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【００８８】
（１）本発明は、各実施形態で説明したフローチャートの処理手順が開示するアプリケーション実行方法であるとしてもよい。また、これらの方法をコンピュータにより実現するプログラムであるとしてもよいし、前記プログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記プログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。
【００８９】
また、本発明は、前記プログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【００９０】
（２）本発明は、アプリケーション実行装置の制御を行うＬＳＩとしても実施可能である。このようなＬＳＩは、図１２、図１８に示す各機能ブロックを集積化することで実現できる。これらの機能ブロックは、個別に１チップ化されても良いし、一部または全てを含むように１チップ化されてもよい。
ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００９１】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または、汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Field  Programmable  Gate  Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロック及び部材の集積化を行ってもよい。このような技術には、バイオ技術の適応等が可能性としてありえる。
【００９２】
（３）第１実施形態において、改竄チェックの完了前にUnsigned権限を設定してアプリケーションを起動するとしたが、改竄チェックの完了前にアプリケーションを起動する際に、暫定的に設定する動作権限は、アプリケーションの実行によって自装置のシステムに影響を与えない範囲の動作権限であればよく、例えば、Unsigned権限から危険度が高いと判断される権限を除いたものであってもよいし、アクセスされても安全であることが確認されている二次記憶領域１１１上のファイルへのアクセス権限をUnsigned権限に追加したものであってもよい。
【００９３】
（４）第１実施形態では、１台の放送装置から送出されるトランスポートストリームを１台のデジタルテレビ受信装置で受信する例を示したが、本発明の特徴は、放送装置とデジタルテレビ受信装置との数的な関係に依存するものではなく、トランスポートストリームを送出する放送装置を複数台設置してもいし、トランスポートストリームを受信するデジタルテレビ受信装置が複数台設置してもよい。
【００９４】
（５）本発明の特徴は、アプリケーションの伝送経路の物理的特性に依存するものではなく、本発明は、地上波、衛星、ケーブルテレビ等の様々な伝送経路で伝送されるアプリケーションに適用することができる。
（６）第１実施形態、及び第２実施形態では、デジタルテレビ受信装置を例として本発明に係るアプリケーション実行装置を説明したが、本発明は、携帯電話等その他のアプリケーションを起動する環境についても同様に実施可能である。
【００９５】
（７）上記第１実施形態、第２実施形態、及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【００９６】
本発明にかかるアプリケーション実行装置は、アプリケーションの起動を高速化できるという効果を有し、オブジェクトカルーセル方式で伝送されるアプリケーションを取得し実行するデジタルテレビ受信装置等に有用である。
【図面の簡単な説明】
【００９７】
【図１】第１実施形態に係るデジタルテレビ受信装置を使用した双方向テレビシステムの構成を示す図。
【図２】（Ａ）送出データ１０の構成を示す図。  （Ｂ）送出データ１０を伝送するトランスポートストリームを模式的に示す図。
【図３】管理情報１５のデータ構造を模式的に示す図。
【図４】アプリケーション１４のディレクトリ構造を模式的に示す図。
【図５】送信者特定情報ファイル２３の詳細を示す図。
【図６】ハッシュ情報ファイル２４の詳細を示す図。
【図７】改竄チェックハッシュ値ファイル２５の詳細を示す図。
【図８】動作権限情報ファイル２８の一例を示す図。
【図９】ＭＨＰ規格に定められたUnsigned  applicationとSigned  applicationとの動作権限を示す図。
【図１０】デジタルテレビ受信装置２のハードウェア構成を示す図。
【図１１】ＲＯＭ１１２に記録されているプログラムの構成を示す図。
【図１２】アプリケーション１４の実行に係る詳細な構成を示す図。
【図１３】第１実施形態に係るデジタルテレビ受信装置２における選局処理の処理手順を示すフローチャート。
【図１４】（Ａ）第１実施形態に係るデジタルテレビ受信装置２におけるアプリケーション起動制御処理の処理手順を示すフローチャート。  （Ｂ）アプリケーション認証スレッドの処理手順を示すフローチャート。
【図１５】アプリケーション１４によるリソースへのアクセスを制御する処理手順を示すフローチャート。
【図１６】付加データ１３を伝送するオブジェクトカルーセルの一例を示す模式図。
【図１７】第２実施形態に係るデジタルテレビ受信装置３のハードウェア構成を示す図。
【図１８】第２実施形態に係るデジタルテレビ受信装置３においてアプリケーション１４の実行を制御する機能構成を示す図。
【図１９】第２実施形態に係るデジタルテレビ受信装置３において、アプリケーションの起動時に、動作権限を設定する処理手順を示すフローチャート。
【図２０】第２実施形態の変形例に係る特徴的な処理手順を示すフローチャート。
【符号の説明】
【００９８】
１    放送装置
２、３    デジタルテレビ受信装置
１０    送出データ
１１    映像データ
１２    音声データ
１３    付加データ
１４    アプリケーション
１５    管理情報
１６    アプリケーション識別子
１７    実行フラグ
１８    保存フラグ
１９    保存情報
２１    ルートディレクトリ
２２    アプリケーションディレクトリ
２３    送信者特定情報ファイル
２４    ハッシュ情報ファイル
２５    改竄チェックハッシュ値ファイル
２６    メインクラスディレクトリ
２７    ハッシュ情報ファイル
２８    動作権限情報ファイル
２９    メインクラスファイル
３０    サブクラスディレクトリ
３１    ハッシュ情報ファイル
３２、３３    サブクラスファイル
１０１    ＴＳデコーダ
１０２    オーディオデコーダ
１０３    ビデオデコーダ
１０４    スピーカー
１０５    ディスプレイ
１０６    画面出力部
１０７    ＣＰＵ
１０８    ネットワークデバイス
１０９    入力部
１１０    一次記憶領域
１１１    二次記憶領域
１１２    ＲＯＭ
１１３    二次記憶領域（取り外し可能メディア）
２０１    制御部
２０２    アプリケーション管理部
２０３    Ｊａｖａ（登録商標）クラスライブラリ
２０４    Ｊａｖａ（登録商標）ＶＭ
２０５    デバイスドライバ
２０６    ＯＳ
２１１    アプリケーション情報取得部
２１２    ライフサイクル管理部
２１３    アプリケーション認証部
２１４    送信者特定部
２１５    認証状態管理部
２１６    改竄チェック部
２１７    動作権限取得部
２１８    認証状態保持部
２１９    Unsigned権限保持部
２２１    セキュリティ管理部
２２２    リソースライブラリ
２２３    動作権限設定部
２２４    動作権限チェック部
２２５    動作権限
２３１    取得経路保持部
２３２、２３３、２３４    仮権限保持部
【図１】
2007506350.tif 000003
【図２】
2007506350.tif 000004
【図３】
2007506350.tif 000005
【図４】
2007506350.tif 000006
【図５】
2007506350.tif 000007
【図６】
2007506350.tif 000008
【図７】
2007506350.tif 000009
【図８】
2007506350.tif 000010
【図９】
2007506350.tif 000011
【図１０】
2007506350.tif 000012
【図１１】
2007506350.tif 000013
【図１２】
2007506350.tif 000014
【図１３】
2007506350.tif 000015
【図１４】
2007506350.tif 000016
【図１５】
2007506350.tif 000017
【図１６】
2007506350.tif 000018
【図１７】
2007506350.tif 000019
【図１８】
2007506350.tif 000020
【図１９】
2007506350.tif 000021
【図２０】
2007506350.tif 000022
【国際調査報告】
2007506350.tif 000023
2007506350.tif 000024
2007506350.tif 000025