JP4719150B2 - アプリケーション実行装置、アプリケーション実行方法、集積回路およびプログラム - Google Patents

アプリケーション実行装置、アプリケーション実行方法、集積回路およびプログラム Download PDF

Info

Publication number
JP4719150B2
JP4719150B2 JP2006526813A JP2006526813A JP4719150B2 JP 4719150 B2 JP4719150 B2 JP 4719150B2 JP 2006526813 A JP2006526813 A JP 2006526813A JP 2006526813 A JP2006526813 A JP 2006526813A JP 4719150 B2 JP4719150 B2 JP 4719150B2
Authority
JP
Japan
Prior art keywords
application
application program
determination
acquisition
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006526813A
Other languages
English (en)
Other versions
JP2007506350A (ja
JP2007506350A5 (ja
Inventor
芳典 今西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2006526813A priority Critical patent/JP4719150B2/ja
Publication of JP2007506350A publication Critical patent/JP2007506350A/ja
Publication of JP2007506350A5 publication Critical patent/JP2007506350A5/ja
Application granted granted Critical
Publication of JP4719150B2 publication Critical patent/JP4719150B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • H04N21/23617Multiplexing of additional data and video streams by inserting additional data into a data carousel, e.g. inserting software modules into a DVB carousel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

本発明は、アプリケーションプログラムを取得して実行するアプリケーション実行装置に関し、特に、デジタルテレビ放送を介して取得したアプリケーションプログラムを実行する技術に関する。
様々なデジタルテレビ放送規格が検討されているが、多くの国で採用されているMHP(Multimedia Home Platform)規格では、アプリケーションプログラム(以下、「アプリケーション」という。)をオブジェクトカルーセル方式で放送波に多重化して送信し、受信したデジタルテレビ受信装置で実行する仕様が策定されている。
デジタルテレビ受信装置でアプリケーションを実行することにより、従来のテレビ受信装置では成し得なかった様々な機能を実現することができる。例えば、放送波から受信した放送番組に連動してアプリケーションが収集した情報を、インターネット等のネットワークを介して放送局へ送信する双方向テレビシステムなどが実現できる。
しかし、デジタルテレビ受信装置のファイルシステムの利用や、ネットワークへの接続等(以下、まとめて「リソースへのアクセス」という。)を、アプリケーションに無制限に許可すると、アプリケーションに悪意のあるコードが含まれていた場合、ユーザが不利益をこうむるおそれや、自装置の制御システムが悪影響を受けるおそれがある。例えば、アプリケーションの実行により、視聴中にチャンネルが変更されたり、デジタルテレビ受信装置に記録されている情報が外部に送信されたり破壊されるおそれがある。そこで、MHP仕様書12章「Security」には、アプリケーションを安全に実行する仕様が定められている。
このなかで、実行のためにアプリケーションの認証を必要としないUnsigned applicationと、実行に認証を必要とするSigned applicationとが定められている。
Unsigned applicationの実行の際には、システムに影響を及ぼすおそれのあるリソースへのアクセスを禁止することにより、システムを保護している。一方、Signed applicationの実行の際には、より多くのリソースへのアクセスを許可するが、アプリケーション起動の前に、X.509証明書を利用した送信者の特定と、ハッシュ値を用いたアプリケーションが改竄されているか否かの判定(以下、「改竄チェック」という。)とを行う。それにより、信頼のおける送信者による正当なアプリケーションのみを認証することで、システムの保護を実現している。
特開平09−121340号公報
しかしながら、Signed applicationはUnsigned applicationに比べて高機能を実現できるものの認証処理に時間を必要とし、迅速に起動することが出来ない。そこで、高機能なアプリケーションをより迅速に起動する手法が必要とされている。
本発明は、安全性を確保しつつ、高機能なアプリケーションの起動を高速化することができるアプリケーション実行装置、アプリケーション実行方法、アプリケーション実行装置の集積回路およびプログラムを提供することを目的とする。
上記目的を達成するために、本発明に係るアプリケーション実行装置は、リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得手段と、前記取得手段により取得されたアプリケーションプログラムが改竄されているか否かを判定する判定手段と、所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得手段と、前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得手段と、前記判定手段によるアプリケーションプログラムが改竄されているか否かの判定が完了する前にアプリケーションプログラムを起動し、起動から前記判定が完了するまでは、前記仮権限情報により許可される範囲で前記アプリケーションプログラムを実行し、前記判定が完了した後は、前記アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲で前記アプリケーションプログラムを実行する実行手段とを備え、前記実行手段は、前記アプリケーションプログラムの実行の過程で、前記他のリソースへアクセスする命令に達したときに、前記判定手段による判定が完了していない場合は、前記判定手段による判定の完了を待つことを特徴とする。
これによって、本発明に係るアプリケーション実行装置は、改竄の有無の判定に要する時間を待つことなくアプリケーションを起動できる。また、アプリケーションが改竄されていなければ、所定のリソースに加えて、他のリソースへのアクセスも実行されるため、所定のリソース以外のリソースへのアクセスを必要とする高機能なアプリケーションを実現できる。
従って、高い安全性を確保しつつ、高機能なアプリケーションを迅速に起動することができる。
また、前記実行手段は、前記判定において、前記アプリケーションプログラムが改竄されていると判定された場合、前記アプリケーションプログラムのファイルサイズを0と見なすとしてもよい。
これによって、アプリケーションが改竄されている場合には、アプリケーションのファイルサイズが0と見なされる。そのため、判定後にアプリケーションが実行されることがない。
従って、所定のリソース以外のリソースへアクセスし自装置に影響をおよぼすおそれのある命令が改竄によりアプリケーションに混入されていても、高い安全性を実現することができる。
また、前記実行手段は、前記取得手段によるアプリケーションプログラムの取得が完了する前に、前記アプリケーションプログラムの実行を開始するとしてもよい。
これによって、本発明に係るアプリケーション実行装置は、アプリケーションの取得に要する時間を待つことなくアプリケーションを起動できる。
従って、アプリケーションをより迅速に起動することができる。
また、前記取得手段による取得は、前記アプリケーションプログラムを伝送するデジタルストリームを受信することによりなされるとしてもよい。
これによって、データストリームの伝送速度が遅く、アプリケーションの取得に時間がかかる場合にも、本発明に係るアプリケーション実行装置は、取得が完了する前にアプリケーションの先頭の命令を実行できる。
従って、アプリケーションを伝送するデータストリームの伝送速度に係らず、迅速にアプリケーションを起動することができる。
また、前記取得手段により受信されるデジタルストリームは、デジタルテレビ放送を伝送するトランスポートストリームであり、
前記アプリケーションプログラムは、オブジェクトカルーセル方式で前記トランスポートストリームに多重化されているとしてもよい。
デジタルテレビ放送の受信装置が、トランスポートストリームから、オブジェクトカルーセル方式で伝送されているアプリケーションを取得するために必要な時間は、例えば、10万ステップのアプリケーションでカルーセルの一周期分おおよそ20秒を要する。そのため、アプリケーション全体を検証する必要がある改竄チェックには、少なくとも20秒が必要となる。しかし、本発明に係るアプリケーション実行装置は、アプリケーションの取得が完了することを待つことなく、先頭の命令を実行することができる。
従って、本発明に係るアプリケーション実行装置は、アプリケーションの起動に要する時間を大幅に短縮し、アプリケーションの起動に必要な一部分を取得してからアプリケーション全体の取得が完了するまでに要する時間にも、アプリケーションの命令の実行を進めることができる。
また、前記所定のリソースは、MHP規格においてUnsigned applicationでのアクセスが許可されているリソースであるとしてもよい。
これによって、従来のUnsigned applicationで改竄の有無を判定することなくアクセスが許可されていたリソースは、実行手段においても、判定手段による判定が完了する前にアクセスが許可される。また、従来のUnsigned applicationでアクセスが禁止されていたシステムに影響を及ぼすおそれのあるリソースは、実行手段において、少なくとも判定手段による判定が完了するまでアクセスが禁止される。
従って、実行手段における命令の実行は、従来のUnsigned applicationの命令の実行と同程度の安全性を確保することができる。
また、前記アプリケーションプログラムの送信者を特定する送信者特定情報に基づいて、前記送信者を特定する送信者判定手段を更に備え、前記アプリケーションプログラムを伝送するオブジェクトカルーセルはさらに、前記送信者特定情報を伝送し、前記取得手段は、前記アプリケーションプログラムとともに、前記送信者特定情報を取得し、前記実行手段は、送信者判定手段による特定が完了した後に、前記アプリケーションプログラムの実行を開始する構成としてもよい。
これによって、アプリケーションは、送信者が特定されるまで実行されないため、信頼できない送信者から送信されたアプリケーションが不用意に実行されるおそれがない。
従って、より高い安全性を確保することができる。
また、前記取得手段は、前記アプリケーションプログラムとともに、前記アプリケーションプログラムの種別を示すアプリケーション識別子を取得し、前記実行手段は、前記アプリケーションプログラムが所定の種別である場合にのみ、前記判定手段による判定が完了する前にアプリケーションプログラムを実行する構成としてもよい。
これによって、本発明に係るアプリケーション実行装置は、アプリケーションの種別に応じて、改竄の有無の判定が完了する前に実行を開始することができる。
従って、従来、改竄の有無の判定が完了した後に実行を開始していた種別のアプリケーションと、本発明に係る新たな種別のアプリケーションとを使い分けることができる。
また、前記実行手段は、前記アプリケーションプログラムの実行の過程で、前記他のリソースへアクセスする命令に達したときに、前記判定手段による判定が完了していない場合は、前記判定手段による判定の完了を待つ構成としてもよい。
これによって、改竄の有無の判定が完了する前に、所定のリソース以外のリソースへのアクセスが許可されることがない。従って、本発明に係るアプリケーション実行装置は、所定のリソース以外のリソースが自装置に影響を及ぼすおそれのあるリソースであっても、高い安全性を実現することができる。さらに、判定により改竄されていないことが確認された後には、所定のリソース以外のリソースへのアクセスが許可されるので、アプリケーションの高機能化を図ることができる。
また、前記アプリケーションプログラムは、前記アプリケーションプログラムのハッシュ値を記録したハッシュ情報を含み、前記判定手段による判定は、前記アプリケーションプログラムのハッシュ値を算出し、前記ハッシュ情報と比較することによりなされる構成としてもよい。
これによって、本発明に係るアプリケーション実行装置は、アプリケーションの一部分でも改変されていれば、ハッシュ値の差異により改竄を検知できる。
従って、アプリケーションの改竄を的確に検出でき、高い安全性を実現することができる。
また、前記取得手段における前記アプリケーションプログラムの取得は、複数の取得経路の何れかを介してなされ、前記複数の取得経路は、それぞれの取得経路を介して取得されるアプリケーションが改竄されている危険の度合いが異なり、前記仮権限取得手段は、前記取得手段において前記アプリケーションプログラムを取得した取得経路に対応する仮権限情報を取得し、前記仮権限情報は、対応する取得経路の前記危険の度合いが低いほど、自装置に影響を与えるおそれが強いリソースを、前記所定のリソースに含む構成としてもよい。
これによって、アプリケーションが改竄されている危険の度合が小さく安全性が高い取得経路からアプリケーションが取得される場合には、判定手段による判定が完了する前に、実行手段において、自装置に影響を与えるおそれが強いリソースへアクセスする命令も含めて多くの命令が実行される。従って、所定のリソース以外のリソースへアクセスする命令に達するまでに、判定手段による判定が完了している可能性が高くなる。
従って、実行手段において、判定手段による判定の完了を待つ可能性が低く、アプリケーション実行装置のユーザは、高い安全性を確保しつつ、違和感なくアプリケーションを利用することができる。
また、前記危険の度合いが低い取得経路とは、取得過程のアプリケーションプログラムが暗号化されている取得経路であり、前記危険の度合いが高い取得経路とは、前記取得過程のアプリケーションプログラムが暗号化されていない取得経路である構成としてもよい。
これによって、取得過程で暗号化されていたアプリケーションは、判定手段による判定が完了する前に、実行手段において、自装置に影響を与えるおそれが強いリソースへアクセスする命令も含めて多くの命令が実行される。
従って、実行手段において、判定手段による判定の完了を待つ可能性が低く、アプリケーション実行装置のユーザは、高い安全性を確保しつつ、違和感なくアプリケーションを利用することができる。
また、前記取得手段における前記アプリケーションプログラムの取得は、複数の取得経路の何れかを介してなされ、前記複数の取得経路は、それぞれ前記アプリケーションプログラムの取得に要する所要時間が異なり、前記仮権限取得手段は、複数の仮権限情報のうち、前記取得手段において前記アプリケーションプログラムを取得した取得経路に対応する仮権限情報を取得し、前記仮権限情報は、対応する取得経路の前記所要時間が長いほど自装置に影響を与えるおそれが強いリソースを、前記所定のリソースに含む構成としてもよい。
アプリケーションの取得に要する所要時間が長い取得経路からアプリケーションが取得される場合には、判定手段による判定に要する時間も長くなる。しかし、上記の構成により、このようなアプリケーションは、判定手段による判定が完了する前に、実行手段において、自装置に影響を与えるおそれが強いリソースへアクセスする命令も含めて多くの命令が実行される。従って、所定のリソースへアクセスする命令に達するまでに、判定手段による判定が完了している可能性が高くなる。
従って、実行手段において、判定手段による判定の完了を待つ可能性が低く、アプリケーション実行装置のユーザは、アプリケーションの取得に要する所要時間が長い場合にも、違和感なくアプリケーションを利用することができる。
また、前記取得手段において、記録媒体からの読み出しにより前記アプリケーションプログラムが取得される場合に、前記判定手段において、前記アプリケーションプログラムが改竄されていないと判定されたならば、前記判定手段による判定が完了した後に前記アプリケーションプログラムを実行を開始するSigned application実行手段を更に備え、前記実行手段は、前記取得手段において、前記アプリケーションプログラを伝送するデジタルストリームの受信により前記アプリケーションプログラムが取得される場合に、前記判定手段による判定が完了する前に前記アプリケーションプログラムを実行する構成としてもよい。
アプリケーションの取得が記録媒体からの読み出しによりなされ、取得に時間がかからない場合には、取得に要する時間が短いため、改竄チェックにも時間がかかることがない。このような場合、本発明に係るアプリケーション実行装置は、従来のSigned applicationと同様に改竄チェックの後にアプリケーションを起動するので、従来のSigned applicationの実行と同程度の安全性を確保することができる。一方、アプリケーションの取得がデジタルストリームの取得によりなされ、取得に時間がかかる場合には、改竄チェックにも同様に時間がかかる。しかし、このような場合、本発明に係るアプリケーション実行装置は、判定手段による判定の完了を待つことなくアプリケーションを起動し、所定のリソースのみアクセスを許可する。その後、判定手段による判定が完了しアプリケーションが改竄されていないと判定された場合、さらに、所定のリソース以外のリソースもアクセスを許可する。そのため、安全性を確保しつつ、起動を高速化することができる。
また、上記目的を達成するために、本発明に係る集積回路は、アプリケーション実行装置を制御する集積回路であって、リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得手段と、前記取得手段により取得されたアプリケーションプログラムが改竄されているか否かを判定する判定手段と、所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得手段と、前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得手段と、前記判定手段によるアプリケーションプログラムが改竄されているか否かの判定が完了する前にアプリケーションプログラムを起動し、起動から前記判定が完了するまでは、前記仮権限情報により許可される範囲で前記アプリケーションプログラムを実行し、前記判定が完了した後は、前記アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲で前記アプリケーションプログラムを実行する実行手段とを備え、前記実行手段は、前記アプリケーションプログラムの実行の過程で、前記他のリソースへアクセスする命令に達したときに、前記判定手段による判定が完了していない場合は、前記判定手段による判定の完了を待つことを特徴とする。
これによって、本発明に係るアプリケーション実行装置は、改竄の有無の判定に要する時間を待つことなくアプリケーションを起動できる。また、アプリケーションが改竄されていなければ、所定のリソースに加えて、他のリソースへのアクセスも実行されるため、所定のリソース以外のリソースへのアクセスを必要とする高機能なアプリケーションを実現できる。さらに、アプリケーションが改竄されている場合には、アプリケーションの実行が終了されるので、所定のリソース以外のリソースへアクセスしアプリケーション実行装置に影響をおよぼすおそれのある命令が改竄によりアプリケーションに混入されていても、高い安全性を実現することができる。
従って、高い安全性を確保しつつ、高機能なアプリケーションを迅速に起動することができる。
また、上記目的を達成するために、本発明に係るアプリケーション実行方法は、リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得ステップと、前記取得ステップにおいて取得されたアプリケーションプログラムが改竄されているか否かを判定する判定ステップと、所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得ステップと、前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得ステップと、前記判定ステップによるアプリケーションプログラムが改竄されているか否かの判定が完了する前にアプリケーションプログラムを起動し、起動から前記判定が完了するまでは、前記仮権限情報により許可される範囲で前記アプリケーションプログラムを実行し、前記判定が完了した後は、前記アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲で前記アプリケーションプログラムを実行し、前記アプリケーションプログラムが改竄されていると判定された場合、前記アプリケーションプログラムの実行を終了する実行ステップとを含み、前記実行ステップにおいて、前記アプリケーションプログラムの実行の過程で、前記他のリソースへアクセスする命令に達したときに、前記判定ステップによる判定が完了していない場合は、前記判定ステップによる判定の完了を待つことを特徴とする。
これによって、本発明に係るアプリケーション実行装置は、改竄の有無の判定に要する時間を待つことなくアプリケーションを起動できる。また、アプリケーションが改竄されていなければ、所定のリソースに加えて、他のリソースへのアクセスも実行されるため、所定のリソース以外のリソースへのアクセスを必要とする高機能なアプリケーションを実現できる。さらに、アプリケーションが改竄されている場合には、アプリケーションの実行が終了されるので、所定のリソース以外のリソースへアクセスしアプリケーション実行装置に影響をおよぼすおそれのある命令が改竄によりアプリケーションに混入されていても、高い安全性を実現することができる。
従って、高い安全性を確保しつつ、高機能なアプリケーションを迅速に起動することができる。
また、上記目的を達成するために、本発明に係るプログラムは、リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得ステップと、前記取得ステップにおいて取得されたアプリケーションプログラムが改竄されているか否かを判定する判定ステップと、所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得ステップと、前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得ステップと、前記判定ステップによるアプリケーションプログラムが改竄されているか否かの判定が完了する前にアプリケーションプログラムを起動し、起動から前記判定が完了するまでは、前記仮権限情報により許可される範囲で前記アプリケーションプログラムを実行し、前記判定が完了した後は、前記アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲で前記アプリケーションプログラムを実行し、前記アプリケーションプログラムが改竄されていると判定された場合、前記アプリケーションプログラムの実行を終了する実行ステップとの各ステップをコンピュータに実行させ、前記実行ステップにおいて、前記アプリケーションプログラムの実行の過程で、前記他のリソースへアクセスする命令に達したときに、前記判定ステップによる判定が完了していない場合は、前記判定ステップによる判定の完了まで前記命令の実行を待機させることを特徴とする。
これによって、本発明に係るアプリケーション実行装置は、改竄の有無の判定に要する時間を待つことなくアプリケーションを起動できる。また、アプリケーションが改竄されていなければ、所定のリソースに加えて、他のリソースへのアクセスも実行されるため、所定のリソース以外のリソースへのアクセスを必要とする高機能なアプリケーションを実現できる。さらに、アプリケーションが改竄されている場合には、アプリケーションの実行が終了されるので、所定のリソース以外のリソースへアクセスしコンピュータに影響をおよぼすおそれのある命令が改竄によりアプリケーションに混入されていても、高い安全性を実現することができる。
従って、高い安全性を確保しつつ、高機能なアプリケーションを迅速に起動することができる。
(第1実施形態)
以下、本発明に係るアプリケーション実行装置の実施形態について、図を用いて説明する。本実施形態では、アプリケーション実行装置の一例として、放送波からアプリケーションプログラムを取得して実行するデジタルテレビ受信装置を説明に用いる。
図1は、本実施形態に係るデジタルテレビ受信装置を使用した双方向テレビシステムの構成を示す図である。
放送装置1は、デジタルテレビ放送の放送局に設置された機器であり、送出データ10を送出すると共に、インターネット等のネットワークを介してデジタルテレビ受信装置2から情報を収集する。
デジタルテレビ受信装置2は、デジタルテレビ放送の視聴者が使用する機器であり、放送装置1から送出されるデジタルテレビ放送の送出データ10を受信する。さらに、送出データ10に含まれる放送番組を再生する機能、及び送出データ10に含まれるアプリケーションを実行する機能を有する。デジタルテレビ受信装置2において実行されたアプリケーションが、ネットワークを介して放送装置1に情報を送信することにより、双方向のサービスが実現する。
ここで、放送装置1から送出される送出データ10について説明する。
放送装置1から送出される送出データ10は、図2(A)に示すように、放送番組の映像データ11及び音声データ12と、付加データ13とからなる。送出データ10の実体は、図2(B)に示すように、映像データ11のストリーム、音声データ12のストリーム、及びDSM−CCセクション化されオブジェクトカルーセル方式で伝送される付加データ13とが多重化されたMPEG2トランスポートストリームである。MPEG2トランスポートストリーム、及び、DSM−CCについては、それぞれMPEG規格書ISO/IEC138181−1、ISO/IEC138181−6に詳細が開示されており、本明細書ではこれらの説明を省略する。
付加データ13には、Java(登録商標)言語で記述されたプログラムであるアプリケーション14、及びアプリケーションの管理情報15が含まれている。付加データ13の伝送方式はオブジェクトカルーセル方式であるため同じ情報が周期的に伝送されており、何れのタイミングで送出データ10が選局されても、一定の期間で付加データ13の全ての情報を取得することができる。
図3は、管理情報15のデータ構造を模式的に示す図である。
管理情報15は、アプリケーション識別子16、実行フラグ17、保存フラグ18、及び保存情報19の各情報を含む。
アプリケーション識別子16は、0x0000乃至0xFFFFの何れかの値をとり、アプリケーション14を一意に識別する情報である。アプリケーション識別子16の値が0x0000乃至0x3FFFの何れかの値である場合には、アプリケーション14がMHP規格に規定されたUnsigned applicationであることを示す。また、アプリケーション識別子16の値が0x4000乃至0x7FFFの何れかの値である場合には、アプリケーション14がMHP規格に規定されたSigned applicationであることを示す。アプリケーション識別子16の値が0x8000乃至0xFFFFの何れかの値である場合には、アプリケーション14が、本発明に係る新たな仕様であるTentative unsigned applicationであることを示す。
図4は、アプリケーション14のディレクトリ構造を模式的に示す図である。アプリケーション14は、ルートディレクトリ21の配下に、アプリケーションディレクトリ22を有し、アプリケーションディレクトリ22の配下に、送信者特定情報ファイル23、アプリケーションディレクトリのハッシュ情報ファイル24、改竄チェックハッシュ値ファイル25、及びメインクラスディレクトリ26を有する。
メインクラスディレクトリ26の配下には、メインクラスディレクトリのハッシュ情報ファイル27、動作権限情報ファイル28、メインクラスファイル29、及びサブクラスディレクトリ30を有し、サブクラスディレクトリ30には、サブクラスディレクトリのハッシュ情報ファイル31、及びサブクラスファイル32、33を有する。
図5は、送信者特定情報ファイル23の詳細を示す図である。送信者特定情報ファイル23は、アプリケーション14の送信者を証明するX.509証明書である。X.509証明書において、送信者名は、発行人名23aに記録されている。公開鍵情報23bに設定されている公開鍵は、改竄チェックハッシュ値ファイル25に設定されているハッシュ値の取得に用いられる。X.509については、RFC2459等に詳細が開示されており、本明細書ではこれらの説明を省略する。
図6は、ハッシュ情報ファイル24の詳細を示す図である。ハッシュ情報ファイル24には、ハッシュ値の数24aと、ハッシュ値の数24aに設定されている数の情報群とが記録されている。それぞれの情報群は、ハッシュアルゴリズム24b、ファイル数24c、ファイル数24cに設定されている数のファイル名24d、及び、ファイル名24dに設定されているファイルの内容をハッシュ計算したハッシュ値24eからなる。
図7は、改竄チェックハッシュ値ファイル25の詳細を示す図である。改竄チェックハッシュ値ファイル25は、X.509証明書識別子25a、ハッシュアルゴリズム25b、及び、アプリケーションディレクトリのハッシュ情報ファイル24に基づいて算出されたハッシュ値を、送信者特定情報ファイル23の公開鍵情報23bに設定された公開鍵に対応する秘密鍵で暗号化した署名データ25cからなる。
図8は、動作権限情報ファイル28の一例を示す図である。動作権限情報ファイル28は、アプリケーション14の実行の際に必要となるリソースへアクセスする権限が、XML形式で記載されたファイルである。動作権限情報ファイル28に記載される権限は、図9に示す権限のうちAdditional Permissionに分類される1つ以上の権限である。動作権限情報ファイル28に記載されたリソースへのアクセスは、デジタルテレビ受信装置2において、アプリケーション14の送信者が信頼のおける送信者であると特定され、且つ、アプリケーション14が改竄されていないと判定された場合(以下、信頼のおける送信者から送信され、改竄されていないアプリケーションを、「正当なアプリケーション」という。)に許可される。XMLについては、RFC3023等に詳細が開示されており、本明細書ではこれらの説明を省略する。
次に、デジタルテレビ受信装置2のハードウェア構成について説明する。デジタルテレビ受信装置2は、図10に示すように、TSデコーダ101、オーディオデコーダ102、ビデオデコーダ103、スピーカー104、ディスプレイ105、画面出力部106、CPU107、ネットワークデバイス108、入力部109、一次記憶領域110、二次記憶領域111、及びROM112を備える。
MPEGトランスポートストリームに多重化されたデータを、TSデコーダ101が分離し、分離された映像データ11、音声データ12をそれぞれビデオデコーダ103、オーディオデコーダ102がデコードし、スピーカー104、及びディスプレイ105へ出力することにより、放送番組を再生する機能が実現される。
また、画面出力部106は、デジタルテレビ受信装置2の設定画面や、アプリケーション14の表示画面の画像データを、ビデオデコーダ103から出力されるデコードされた映像データに重畳し、入力部109は、リモコンを介して入力されるユーザ操作を受け付ける受信ユニットである。受け付けられたユーザ操作に応じて、CPUが画面出力部106に画像を更新させることにより、デジタルテレビ受信装置2における対話的操作が実現される.
一次記憶領域110は、具体的にはRAMにより実現される作業領域であり、送出データ10から分離されたアプリケーション14が記録される。二次記憶領域111は、ハードディスク、EEPROM等の装置に内蔵された不揮発性メモリであり、信頼のおける送信者のリストを保持している。ROM112には、デジタルテレビ受信装置2を制御するプログラムが記録されており、ROM112内のプログラムがCPUに読み込まれ、プログラムとハードウェア資源とが協動することにより、デジタルテレビ受信装置2はその機能を達成する。以上が、デジタルテレビ受信装置2のハードウェア構成である。
続いてROM112に記録されているプログラムについて説明する。図11は、ROM112に記録されているプログラムの構成を示す図である。
ROM112に記録されているプログラムは、制御部201、アプリケーション管理部202、Java(登録商標)クラスライブラリ203、Java(登録商標)VM204、デバイスドライバ205、及びOS206からなる。
制御部201は、入力部109で受け付けたユーザ操作に応じて、デジタルテレビ受信装置2の動作を制御するプログラムである。
デバイスドライバ205は、スピーカー104、ディスプレイ105、画面出力部106、及び、ネットワークデバイス108のドライバである。
アプリケーション管理部202と、Java(登録商標)クラスライブラリ203とは、一次記憶領域110に保存されているアプリケーション14の実行を制御する。
図12は、アプリケーション14の実行に係る詳細な構成を示す図である。アプリケーション管理部202は、アプリケーション情報取得部211、ライフサイクル管理部212、及びアプリケーション認証部213からなり、Java(登録商標)クラスライブラリ203は、セキュリティ管理部221、及びリソースライブラリ222からなる。
アプリケーション情報取得部211は、付加データ13の管理情報15を取得する。
ライフサイクル管理部212は、管理情報15の内容に応じてアプリケーション14を、Unsigned application、Signed application、及びTentative unsigned applicationの何れかの仕様で起動させる。
アプリケーション認証部213は、送信者特定部214、認証状態管理部215、改竄チェック部216、及び動作権限取得部217を内部に含み、アプリケーション14の正当性を判定する。認証状態管理部215は、内部に認証状態保持部218、及び、Unsigned権限保持部219を含む。Unsigned権限保持部219には、Unsigned権限情報が記録されている。Unsigned権限情報は、MHP規格においてUnsigned applicationの実行の際にアクセスが許可されているリソースへのアクセス権限(以下、「Unsigned権限」という。)を示す情報である。例えば、Unsigned権限情報は、Unsigned権限をXML形式で記述することにより実現される。
尚、MHP規格の規定では、Unsigned applicationの実行の際には、一部のリソースへのアクセスが制限される。具体的には、図9でUnsigned applicationの項に「×」が付されたリソースへのアクセスは、Unsigned applicationの実行の際に制限される。一方、Signed applicationの実行の際には、動作権限情報ファイルに設定されたリソースへのアクセスが制限なく可能となる。本発明に係るTentative unsigned applicationは、改竄チェックの完了を待たずに、アプリケーションをUnsigned権限で起動する。そのため、Tentative unsigned applicationは、改竄チェックが完了するまでは、Unsigned applicationと同様に一部のリソースへのアクセスが制限される。しかし、改竄チェックが完了しアプリケーションの正当性が確認された後は、Signed applicationと同様に、動作権限情報ファイルに設定されたリソースへのアクセスが制限なく可能となる。
Java(登録商標)クラスライブラリ203のセキュリティ管理部221は、動作権限設定部223、動作権限チェック部224を内部に含み、アプリケーション14からアクセスが許可されるリソースの範囲を制御する。
以上が、デジタルテレビ受信装置2の構成である。
次に、上述のように構成されたデジタルテレビ受信装置2の動作について図13乃至15を用いて説明する。本実施形態では、デジタルテレビ受信装置2の動作の一例として、チャンネルの変更に伴うアプリケーションの自動実行について説明する。
図13は、本実施形態に係るデジタルテレビ受信装置2における選局処理の処理手順を示すフローチャートである。
制御部201は、入力部109からチャンネル変更要のユーザ操作を受け付けると(S1)、TSデコーダ101に対して指定チャンネルへのチャンネル変更と、トランスポートストリームの分離を指示し、デバイスドライバ205を介して、オーディオデコーダ102とビデオデコーダ103とに、映像データ11、及び音声データ12の再生を指示する(S2)。制御部201はさらに、TSデコーダ101に、トランスポートストリームから分離した付加データ13を一次記憶領域110へ保存するよう指示し、アプリケーション管理部202に、アプリケーションの起動制御を指示する(S3)。指示を受けたTSデコーダ101は、送出データ10から付加データ13を伝送するオブジェクトカルーセルを取得し、取得した分から順次一次記憶領域110へ保存していく。TSデコーダ101が指示を受けてからオブジェクトカルーセルの一周期(例えば、約20秒)が経過すると、一次記憶領域110には、付加データ13の全ての部分が保存される。以上が、デジタルテレビ受信装置2における選局処理の動作である。
次にアプリケーションの起動を制御する動作について説明する。
図14(A)は、本実施形態に係るデジタルテレビ受信装置2におけるアプリケーション起動制御処理の処理手順を示すフローチャートである。
S3で制御部201からアプリケーションの起動制御を指示されたアプリケーション管理部202のアプリケーション情報取得部211は、一次記憶領域110に記録されている付加データ13から、管理情報15を取得する(S11)。但し、送出データ10が選局されときに、TSデコーダ101において付加データ13の何れの部分から取得されるかは不定であるため、アプリケーション情報取得部211が管理情報15を取得しようとした時点で、一次記憶領域110に管理情報15が記録されていない場合(S12:No)もある。このような場合には、TSデコーダ101において管理情報15を含むモジュールが受信されるまで管理情報15の取得処理を繰り返す。アプリケーション情報取得部211は、管理情報15を取得すると(S12:Yes)、管理情報15をライフサイクル管理部212へ渡す。
管理情報15を受け取ったライフサイクル管理部212は、アプリケーションを自動起動するか否かを判定する(S13)。具体的には、管理情報15の実行フラグ17をチェックし、実行フラグ17がOFFに設定されている場合は(S13:No)、アプリケーションを自動起動しないと判定し、起動制御を終了する。実行フラグ17がONに設定されている場合(S13:Yes)、ライフサイクル管理部212は、アプリケーションを自動起動すると判定し、管理情報15のアプリケーション識別子16の値に基づいて、S14乃至S16の処理手順で、アプリケーション14がUnsigned application、Signed application、及び、Tentative unsigned applicationの内の何れの種別であるかを判定する。
アプリケーション識別子16が、0x0000乃至0x3FFFの何れかの値である場合(S14:Yes)、ライフサイクル管理部212は、アプリケーション14が従来のUnsigned applicationであると判断する。この場合ライフサイクル管理部212は、Unsigned権限保持部219に保持されているUnsigned権限情報を取得し、取得したUnsigned権限情報をセキュリティ管理部221の動作権限設定部223へ渡す。動作権限設定部223は、Unsigned権限情報に基づいて、アプリケーション14の動作権限225にUnsigned権限を設定する(S17)。
アプリケーション識別子16が、0x4000乃至0x7FFFの何れかの値である場合(S15:Yes)、ライフサイクル管理部212は、アプリケーション14が、従来のSigned applicationであると判断し、アプリケーション認証部213に、アプリケーションの正当性の判定を指示する。正当性の判定を指示されたアプリケーション認証部213は先ず、送信者特定部214においてS18の送信者判定を実行する。送信者特定部214は、一次記憶領域110から図5に示す送信者特定情報ファイル23を取得し、送信者特定情報ファイル23の発行人名23aが、あらかじめ二次記憶領域内に記録されている信頼のおける送信者のリストに含まれていれば、信頼のおける送信者として判定する(S18:Yes)。ここで、X.509証明書の公開鍵情報23bを利用して送信者特定情報ファイル23が送信者本人により送られたかどうを判定できる。アプリケーション14の送信者が信頼のおける送信者であった場合、アプリケーション認証部213はさらに、アプリケーション14の全ての部分が一次記憶領域110に記録されるのを待ち、改竄チェック部216によりアプリケーション14の改竄チェックを実行する(S19)。具体的には、改竄チェック部216は、アプリケーションディレクトリ22、メインクラスディレクトリ26、及びサブクラスディレクトリ30の各ディレクトリにおいて、配下の全てのファイルに基づいてハッシュ値を算出し、算出したハッシュ値とそれぞれのディレクトリのハッシュ情報ファイル24、27、及び31に設定されているハッシュ値とを比較する。さらに、ハッシュ情報ファイル24に基づいてハッシュ値を算出し、算出したハッシュッ値と、改竄チェックハッシュ値ファイル25に設定されている署名データ25cを送信者特定情報ファイル23の公開鍵情報23bに設定されている公開鍵で復号化して得られたハッシュ値とを比較する。以上のハッシュ値の比較が全て一致した場合、改竄チェック部216は、アプリケーション14が改竄されていないと判定し、何れかの比較でハッシュ値が一致しなかった場合にアプリケーション14が改竄されていると判定する。アプリケーション14が改竄されていない場合(S19:Yes)、改竄チェック部216は、動作権限取得部217に結果を通知し、通知を受けた動作権限取得部217は、一次記憶領域110から動作権限情報ファイル28を取得する(S20)。ただしこのとき、もともとアプリケーション14に動作権限情報ファイル28が含まれていなかったために、動作権限情報ファイル28を一次記憶領域110から取得できない場合、動作権限取得部217は、動作権限情報ファイル28に代えて、Unsigned権限保持部219に保持されているUnsigned権限情報を取得する。取得された動作権限情報ファイル28は、ライフサイクル管理部212を介してセキュリティ管理部221の動作権限設定部223へ渡され、動作権限設定部223は、動作権限情報ファイル28に基づいて、アプリケーション14の動作権限225を設定する(S21)。
一方、送信者が信頼のおける送信者ではない場合(S18:No)、若しくは、アプリケーション14が改竄されている場合(S19:No)、アプリケーション認証部213は結果をライフサイクル管理部212へ通知し、通知を受けたライフサイクル管理部212は、アプリケーション14を起動せずに処理を終了する。
アプリケーション識別子16が、0x8000乃至0xFFFFの何れかの値である場合(S16:Yes)、ライフサイクル管理部212は、アプリケーション14が、本発明に係る新たな種別であるTentative unsigned applicationであると判断し、アプリケーション認証部213に、アプリケーションの正当性の判定を指示する。正当性の判定を指示されたアプリケーション認証部213は先ず、TSデコーダ101において送信者特定情報ファイル23が取得され一次記憶領域110に記録されるのを待ち、送信者特定情報ファイル23が取得されたら、送信者特定部214においてS18と同様の手順で送信者判定を実行する。アプリケーション14の送信者が信頼のおける送信者であった場合(S25:Yes)、アプリケーション認証部213は、改竄チェック部216と、動作権限取得部217とにアプリケーション認証スレッドの生成を指示(S22)すると共に、ライフサイクル管理部212に、アプリケーション14の送信者が信頼のおける送信者であることを通知する。通知をうけたライフサイクル管理部212は、Unsigned権限保持部219に保持されているUnsigned権限情報を取得し、取得したUnsigned権限情報をセキュリティ管理部221の動作権限設定部223へ渡す。Unsigned権限情報を受け取った動作権限設定部223は、Unsigned権限情報に基づいてアプリケーション14の動作権限225にUnsigned権限を設定する(S23)。一方、送信者が信頼のおける送信者ではない場合(S25:No)、アプリケーション認証部213は結果をライフサイクル管理部212へ通知し、通知を受けたライフサイクル管理部212は、アプリケーション14を起動せずに処理を終了する。
S17、S21、及び、S23の何れかで、アプリケーション14の動作権限225を設定し終えたのち、ライフサイクル管理部212は、Java(登録商標)クラスライブラリ203を利用してアプリケーション14を起動させる(S24)。以上が、アプリケーションの起動を制御する動作である。
以上の処理手順により、アプリケーションの起動を高速化することができる。例えば、アプリケーションの全体のデータサイズが大きく、一周期分のオブジェクトカルーセルの取得及びアプリケーションのハッシュ値の算出に時間がかかる場合、従来のSigned applicationの処理手順ではアプリケーションの取得から起動までにファイルサイズに応じた長さの時間がかかったが、本実施形態にかかるTentative unsigned applicationの処理手順によれば、オブジェクトカルーセルの一部が取得された時点で、アプリケーションを起動することができる。
続いて、起動制御のS22で、改竄チェック部216と動作権限取得部217とに生成が指示されたアプリケーション認証スレッドの動作について説明する。アプリケーション認証スレッドは、図14(A)のS24で起動されたTentative unsigned applicationのアプリケーション14の実行と並行して処理されるスレッドである。
図14(B)は、アプリケーション認証スレッドの処理手順を示すフローチャートである。
アプリケーション認証スレッドにおいて改竄チェック部216は、TSデコーダ101で付加データ13の全ての部分が取得され、一次記憶領域110にアプリケーション14の全ての部分が記録された後に、一次記憶領域110に記録されているアプリケーション14の改竄チェックを実行する(S31)。アプリケーション14が改竄されていない場合(S32:Yes)、改竄チェック部216は、動作権限取得部217に結果を通知し、通知を受けた動作権限取得部217は、一次記憶領域110から動作権限情報ファイル28を取得し、取得した動作権限情報ファイル28を認証状態管理部215に渡す。動作権限情報ファイル28を受け取った認証状態管理部215は、認証状態保持部218へ動作権限情報ファイル28を登録して(S33)、アプリケーション認証スレッドの処理を終了する。一方、アプリケーション14が改竄されていた場合(S32:No)、改竄チェック部216は、認証状態管理部215へアプリケーションの正当性が認証されないことを通知する。認証されなかったことを通知された場合、認証状態管理部215は、認証状態保持部218に認証が失敗したことを示す情報を登録して(S34)、アプリケーション認証スレッドの処理を終了する。以上が、アプリケーション認証スレッドの動作である。
尚、MHP規格ではsigned applicationの改竄チェックに失敗した場合、改竄をチェックしたファイルはファイルサイズを0と見なすように定められている。その結果、改竄チェックに失敗したファイルは、存在するがファイル内容がないものとして扱われる。そこで、本発明をMHP規格に厳密に適合させる場合には、アプリケーションの正当性が認証されなかったことを改竄チェック部216から通知された場合、S34における認証状態管理部215の処理を以下のように変更してもよい。即ち、S34において、認証状態管理部215は、認証状態保持部218に認証が失敗したことを示す情報を登録すると共に、一次記憶領域に記録されているアプリケーション14の全ファイル、若しくは、算出したハッシュ値がハッシュ情報ファイルに記録されているハッシュ値と一致しなかったファイルを、一次記憶領域を管理するファイルシステムにおいて、ファイルサイズを0に変更するとしてもよい。
一方、図14(A)のS24で起動されたアプリケーション14がTentative unsigned applicationである場合は、図14(B)に示したアプリケーション認証スレッドと並行して、アプリケーション14が実行される。アプリケーション14の実行過程で発生するリソースへのアクセスは、Java(登録商標)クラスライブラリ203により、アクセスの可否が判定される。従来のUnsigned application若しくはSigned applicationでは、図14(A)のS17若しくはS21でアプリケーションに設定された動作権限225に基づいて、アクセスの可否が判定されていた。しかし、本発明に係るTentative unsigned applicationでは、改竄チェックの完了前は、起動時にS23で設定された動作権限225に基づいて、アクセスの可否が判定されるが、改竄チェックが完了し、アプリケーションが改竄されていないと判定された後は、S23で設定された動作権限225に加えて、図14(B)に示すアプリケーション認証スレッドのS33で認証状態保持部218に登録された動作権限情報ファイル28に基づいて、アクセスの可否が判定される。
以下に、Tentative unsigned applicationであるアプリケーション14の実行過程で発生したリソースアクセスを、Java(登録商標)クラスライブラリ203において制御する動作について説明する。
図15は、アプリケーション14によるリソースへのアクセスを制御する処理手順を示すフローチャートである。
アプリケーション14は、ネットワークへの接続や、二次記憶領域111のファイルの読み出し等のリソースへのアクセスが必要となった場合に
、リソースライブラリ222をコールする(S41)。
コールを受けたリソースライブラリ222は、対応するリソースへアクセスする権限が、アプリケーション14に設定されているか否かをセキュリティ管理部221へ問い合わせる。
セキュリティ管理部221は、アプリケーション14に設定されている動作権限225を動作権限チェック部224を用いて参照し、問い合わせられたリソースへアクセスする権限が設定されているか否かを判定する(S42)。ここでアプリケーション14の動作権限225には、図14(A)のS23でUnsigned権限が設定されている。問い合わせられたリソースへのアクセス権が、動作権限225に設定されているUnsigned権限に含まれている場合(S42:Yes)、セキュリティ管理部221は、リソースライブラリ222へ肯定的は判定を通知し、通知を受けたリソースライブラリ222は、アプリケーション14によるリソースへのアクセスを認証し、対応するリソースに要求を出し処理を終了する(S43)。ここまでの処理手順によりアプリケーション14によるリソースへのアクセスが実行される。
一方、動作権限225に対象の問い合わせられたリソースへアクセスする権限が、動作権限225に設定されているUnsigned権限に含まれていない場合(S42:No)、セキュリティ管理部221は、認証状態管理部215へ認証状態を問い合わせる。
問い合わせを受けた認証状態管理部215は、アプリケーション認証スレッドによる認証処理が完了していない場合(S44:No)、認証処理が完了するまで待機する。アプリケーション認証スレッドによる認証処理が完了した場合(S44:Yes)、認証状態管理部215は、認証状態保持部218に保持されている動作権限情報を取得し、取得した動作権限情報をセキュリティ管理部221へ渡す(S45)。
動作権限情報を受け取ったセキュリティ管理部221は、受け取った動作権限情報にリソースライブラリ222から問い合わせられたリソースへアクセスする権限が含まれているか否かを判定し(S46)、結果をリソースライブラリ222へ通知する。
リソースライブラリ222は、肯定的な通知をうけた場合(S46:Yes)には、アプリケーション14によるリソースへのアクセスを認証し、対応するリソースに要求を出す(S43)。これによりアプリケーション14によるリソースへのアクセスが実行される。リソースライブラリ222は、否定的な通知をうけた場合(S46:No)には、アプリケーション14にリソースを利用できない旨のエラー情報を返し(S47)、リソースへのアクセスを制御する処理を終了する。ここで、アプリケーション14は、リソースライブラリ222からエラー情報を返された場合、処理を継続できないため実行を終了する。以上が、Tentative unsigned applicationであるアプリケーション14の実行過程で発生したリソースアクセスを制御する動作である。
このような処理手順により、アプリケーション14の改竄チェックが完了する前に、アプリケーション14をUnsigned権限で起動し、アプリケーション14の先頭の命令から順に実行することができる。その後、改竄チェックが完了し、アプリケーション14が改竄されていないと判定されれば、アプリケーション14の実行の過程で、Unsigned権限でアクセスが許可されないリソースへアクセスする命令に処理が達した場合にも、アプリケーション14の送信者が用意していた動作権限情報により示される動作権限の範囲内でリソースへアクセスする命令を実行することができる。
従って、改竄チェックが完了する前にUnsigned権限でアプリケーションを迅速に起動でき、また、改竄チェックが完了するまでは、Unsigned権限で実行が禁止されるリソースへのアクセスが禁止されるので高い安全性を実現でき、その一方で、改竄チェックの完了後には、Unsigned権限で実行が禁止されるリソースへのアクセスも許可されるのでアプリケーションの高機能化を図ることができる。
以上のように本実施形態によれば、アプリケーションの先頭の命令から順に命令を実行した場合に、Unsigned権限で実行できない命令に処理手順が達するまでにディスプレイに画像を描画する命令が含まれており、且つ、Unsigned権限にグラフィック表示権限が含まれている場合には、アプリケーションのファイルサイズの大小に依らず、迅速にディスプレイに画像を表示できるため、ユーザの見かけ上の待ち時間が短縮され操作性が向上する。
また、従来のSigned applicationの処理手順では、アプリケーションがグラフィック表示のみを行うアプリケーションである場合にも、アプリケーションを構成する全てのファイルの改竄チェックを行う必要があり、アプリケーションのファイルサイズが大きいければ、トランスポートストリームからの取得と改竄チェックに要する時間が長くアプリケーションの起動に時間がかかり、その結果、グラフィックの表示が遅れていた。本実施形態に係るTentative unsigned applicationの処理手順では、アプリケーションがグラフィック表示のみを行うアプリケーションであれば、改竄チェックの完了前にアプリケーションを起動し、そのとき設定されるUnsigned権限でグラフィックの表示も実行することができる。
尚、本実施形態に係るアプリケーション14の種別がTentative unsigned applicationである場合、アプリケーション14の起動の前には、管理情報15のアプリケーション識別子を用いるアプリケーション14の種別の判定と、送信者特定情報ファイル23を用いる送信者の信頼性の判定とがなされる必要があり、少なくとも、アプリケーション14の先頭の命令を含むメインクラスファイル29と、送信者特定情報ファイル23と、管理情報15とが取得されている必要がある。
そこで、図16に示すように、アプリケーション14を分割して含む4つのモジュールA1乃至A4と、管理情報15を含むモジュールM1とにより、付加データ13を伝送するオブジェクトカルーセルを構成する。このオブジェクトカルーセルにおいて、送信者特定情報ファイル23及びメインクラスファイル29伝送するモジュールA1と、管理情報15を伝送するモジュールM1との割合を他のモジュールよりも多くすることにより、TSデコーダ101が、オブジェクトカルーセルの何れの部分から付加データ13の取得を開始したかにかかわらず、メインクラスファイル29、送信者特定情報ファイル23、及び管理情報15の取得に要する時間を短縮できる可能性が高くなり、アプリケーションの起動を高い確率で高速化できる。
(第2実施形態)
アプリケーションは、トランスポートストリームから取得したものに限らず、取り外し可能な記録媒体に記録されているものも、一次記憶領域に読み込むみ実行することが可能である。しかし、取り外し可能な記録媒体に記録されているアプリケーションは、パーソナルコンピュータ等で容易に解析でき、放送局からトランスポートストリームに多重化して送出されてくるアプリケーションに比べて、改竄されている確率が高い。
そこで、第2実施形態では、改竄チェックの完了前にアプリケーションを起動する際に設定する暫定的な動作権限を、アプリケーションの取得経路に応じて変更するデジタルテレビ受信装置について説明する。
図17は、第2実施形態に係るデジタルテレビ受信装置3のハードウェア構成を示す図である。以下、第1実施形態で説明した構成要素と同じ構成要素については、同一の符号を付して説明を省略する。
デジタルテレビ受信装置3は、実施形態1で説明したデジタルテレビ受信装置2に二次記憶領域113を追加した構成である。
二次記憶領域113は、SDカード、光ディスク等の取り外し可能な不揮発性メモリである。二次記憶領域111、二次記憶領域113は、それぞれ異なるアプリケーションが記録されている。
図18は、第2実施形態に係るデジタルテレビ受信装置3においてアプリケーション14の実行を制御する機能構成を示す図である。図18に示す構成は、第1実施形態で説明した図12の構成と比較して、ライフサイクル管理部212の内部に取得経路保持部231追加し、認証状態管理部215の内部に、Unsigned権限保持部219に代えて、第1仮権限保持部232、第2仮権限保持部233、及び第3仮権限保持部234を追加した構成である。
取得経路保持部231は、アプリケーション情報取得部211が、一次記憶領域110に保持されているアプリケーション14が、何れの取得経路から取得されたものであるかを示す情報を保持する機能ブロックである。取得経路保持部231に保持される情報は、アプリケーション14が一次記憶領域110に記録されるときに、アプリケーション情報取得部211から取得され設定される。アプリケーションの取得経路は、「トランスポートストリームからの分離」、「二次記憶領域111からの読み出し」、「二次記憶領域113からの読み出し」、及び、「インターネットからダウンロード」の何れかである。本実施形態では、「トランスポートストリームからの分離」、「二次記憶領域111からの読み出し」、「二次記憶領域113からのよみだし」、「インターネットからダウンロード」の順に、取得されたアプリケーションが改竄されている危険性(以下、「取得経路の危険性」という。)が低いと想定している。
第1仮権限保持部232、第2仮権限保持部233、及び第3仮権限保持部234には、それぞれ第1仮権限情報、第2仮権限情報、第3仮権限情報が記録されている。第1仮権限情報、第2仮権限情報、第3仮権限情報は、何れもリソースへのアクセス権限を示す情報であり、第1仮権限情報、第2仮権限情報、第3仮権限情報の順に、より多くのリソースへアクセスする権限が示される。具体的には、第1仮権限情報により許可される権限は、画面表示を制御する権限、トランスポートストリームを制御してチャンネルを選択する権限、及び、二次記憶領域111及び113の全ての領域へアクセスする権限であり、第2仮権限情報により許可される権限は、画面表示を制御する権限、及び、二次記憶領域111及び113の全ての領域へアクセスする権限であり、第3仮権限情報により許可される権限は、画面表示を制御する権限、及び、取り外し可能メディア内の記憶領域である二次記憶領域113へアクセスする権限である。第1仮権限情報、第2仮権限情報、第3仮権限情報は、第1実施形態におけるUnsigned権限情報と同様に、例えば、上記のアクセス権限をXML形式で記述することにより実現される。
次に、上述のように構成されたデジタルテレビ受信装置3において、アプリケーションの起動時に、動作権限を設定する動作について説明する。第2実施形態に係るデジタルテレビ受信装置3は、アプリケーションの取得に用いた取得経路の危険性が低いほど、より多くのリソースへのアクセスが可能な動作権限を設定する。
図19は、第2実施形態に係るデジタルテレビ受信装置3において、アプリケーションの起動時に、動作権限を設定する処理手順を示すフローチャートである。
先ず、ライフサイクル管理部212は、取得経路保持部231に記録されている情報を取得し(S61)、取得した情報に基づいて、S62、S64、及びS65の処理手順において、アプリケーション14が何処から一次記憶領域110に読み込まれたのかを判定する。
アプリケーション14がトランスポートストリームから取得されたものであれば(S62:Yes)、第1仮権限保持部232から第1仮権限を取得し、セキュリティ管理部221に指示して、アプリケーション14の動作権限225に第1仮権限を設定を設定させる(S63)。
アプリケーション14が二次記憶領域111から読み出されたものであれば(S64:Yes且つS65:No)、第2仮権限保持部232から第2仮権限を取得し、セキュリティ管理部221に指示して、アプリケーション14の動作権限225に第2仮権限を設定を設定させる(S66)。
アプリケーション14が二次記憶領域113から読み出されたものか、インターネットからダウンロードされたものの何れかであれば(S64:No、若しくは、S64:Yes且つS65:Yes)、第3仮権限保持部232から第3仮権限を取得し、セキュリティ管理部221に指示して、アプリケーション14の動作権限225に第3仮権限を設定を設定させる(S67)。以上のように、アプリケーション14の取得経路によりアプリケーションに設定する動作権限を変えることができる。改竄されている可能性が低い経路については、より多くのリソースへアクセスが許可される暫定的な動作権限を与えることによって、暫定的な動作権限で多くの命令を実行することが可能となり、暫定的な動作権限で実行できないリソースコールの発生時に改竄チェックの完了を待つ可能性が低くなる。
尚、本実施形態では、「トランスポートストリームからの分離」、「二次記憶領域111からの読み出し」、「二次記憶領域113からのよみだし」、「インターネットからダウンロード」の順に、アプリケーションが改竄されている危険性が低いとした。しかし、インターネットからのダウンロードにおいて、SSL等を用いてTCP/IPで送るデータを暗号する場合と、SSL等を用いずにデータを暗号化せずにダウンロードする場合とで、アプリケーションが改竄されている危険性は異なる。具体的には、SSLを用いずにダウンロードする方が、アプリケーションが改竄されている危険性が高くなる。そこで、インターネットからアプリケーションをダウンロードして実行するアプリケーション実行装置には、SSLの使用の有無に着目して、本発明を適用することができる。具体的には、アプリケーションのダウンロードが、SSLを用いてなされたか否かを監視し、アプリケーションの取得にSSLが用いられた場合には、SSLが用いられなかった場合に比較して、より多くのリソースへアクセスが許可される暫定的な動作権限を与えてアプリケーションを起動すればよい。
尚、第2実施形態では、取得経路毎にアプリケーションが改竄を受ける危険度の高さに応じて暫定的な動作権限を変化させるとしたが、取得経路と、トランスポートストリームのデータ転送レートや二次記憶領域のデータアクセス時間などに依存するアプリケーションの取得に要する時間との関係を考慮し、アプリケーションの取得に要する時間が長い取得経路ほど、より多くのリソースへアクセスが許可される暫定的な動作権限を与えるとしてもよい。これによって、アプリケーションの取得に時間がかかり、取得後の改竄チェックもそれにともない時間がかかる場合にも、暫定的な動作権限で実行が禁止されるアプリケーションが少ないため、ユーザは改竄チェックが完了していないことを意識することなくアプリケーションを利用することができる。
さらに、二次記憶領域からアプリケーションを読み出す場合は、トランスポートストリームからアプリケーションを取得する場合に比較して、取得に要する時間が大幅に短い。そこで、図20のフローチャートに示すように、取得経路がトランスポートストリームであれば(S51:Yes)、アプリケーションの全体が一次記憶領域110に記録されるのを待たずに、アプリケーション認証スレッドの生成を指示し(S52)、第3仮権限情報により許可される権限を設定して(S53)、アプリケーション14を起動し(S54)、逆に、取得経路がトランスポートストリーム以外であれば(S51:No)、従来のSigned applicationの処理手順と同様に、アプリケーションの全体が一次記憶領域110に記録されるまで待機し、その後にS54乃至S57の処理手順を実行するとしてもよい。これによって、アプリケーションの取得に時間がかかる場合にのみ、アプリケーションの起動を高速化し、それ以外の場合は、従来の技術を用いて安全にアプリケーションを実行することができる。
(その他の変形例)
本発明を上記の実施形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)本発明は、各実施形態で説明したフローチャートの処理手順が開示するアプリケーション実行方法であるとしてもよい。また、これらの方法をコンピュータにより実現するプログラムであるとしてもよいし、前記プログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記プログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。
また、本発明は、前記プログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(2)本発明は、アプリケーション実行装置の制御を行うLSIとしても実施可能である。このようなLSIは、図12、図18に示す各機能ブロックを集積化することで実現できる。これらの機能ブロックは、個別に1チップ化されても良いし、一部または全てを含むように1チップ化されてもよい。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または、汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロック及び部材の集積化を行ってもよい。このような技術には、バイオ技術の適応等が可能性としてありえる。
(3)第1実施形態において、改竄チェックの完了前にUnsigned権限を設定してアプリケーションを起動するとしたが、改竄チェックの完了前にアプリケーションを起動する際に、暫定的に設定する動作権限は、アプリケーションの実行によって自装置のシステムに影響を与えない範囲の動作権限であればよく、例えば、Unsigned権限から危険度が高いと判断される権限を除いたものであってもよいし、アクセスされても安全であることが確認されている二次記憶領域111上のファイルへのアクセス権限をUnsigned権限に追加したものであってもよい。
(4)第1実施形態では、1台の放送装置から送出されるトランスポートストリームを1台のデジタルテレビ受信装置で受信する例を示したが、本発明の特徴は、放送装置とデジタルテレビ受信装置との数的な関係に依存するものではなく、トランスポートストリームを送出する放送装置を複数台設置してもいし、トランスポートストリームを受信するデジタルテレビ受信装置が複数台設置してもよい。
(5)本発明の特徴は、アプリケーションの伝送経路の物理的特性に依存するものではなく、本発明は、地上波、衛星、ケーブルテレビ等の様々な伝送経路で伝送されるアプリケーションに適用することができる。
(6)第1実施形態、及び第2実施形態では、デジタルテレビ受信装置を例として本発明に係るアプリケーション実行装置を説明したが、本発明は、携帯電話等その他のアプリケーションを起動する環境についても同様に実施可能である。
(7)上記第1実施形態、第2実施形態、及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明にかかるアプリケーション実行装置は、アプリケーションの起動を高速化できるという効果を有し、オブジェクトカルーセル方式で伝送されるアプリケーションを取得し実行するデジタルテレビ受信装置等に有用である。
第1実施形態に係るデジタルテレビ受信装置を使用した双方向テレビシステムの構成を示す図。 (A)送出データ10の構成を示す図。 (B)送出データ10を伝送するトランスポートストリームを模式的に示す図。 管理情報15のデータ構造を模式的に示す図。 アプリケーション14のディレクトリ構造を模式的に示す図。 送信者特定情報ファイル23の詳細を示す図。 ハッシュ情報ファイル24の詳細を示す図。 改竄チェックハッシュ値ファイル25の詳細を示す図。 動作権限情報ファイル28の一例を示す図。 MHP規格に定められたUnsigned applicationとSigned applicationとの動作権限を示す図。 デジタルテレビ受信装置2のハードウェア構成を示す図。 ROM112に記録されているプログラムの構成を示す図。 アプリケーション14の実行に係る詳細な構成を示す図。 第1実施形態に係るデジタルテレビ受信装置2における選局処理の処理手順を示すフローチャート。 (A)第1実施形態に係るデジタルテレビ受信装置2におけるアプリケーション起動制御処理の処理手順を示すフローチャート。 (B)アプリケーション認証スレッドの処理手順を示すフローチャート。 アプリケーション14によるリソースへのアクセスを制御する処理手順を示すフローチャート。 付加データ13を伝送するオブジェクトカルーセルの一例を示す模式図。 第2実施形態に係るデジタルテレビ受信装置3のハードウェア構成を示す図。 第2実施形態に係るデジタルテレビ受信装置3においてアプリケーション14の実行を制御する機能構成を示す図。 第2実施形態に係るデジタルテレビ受信装置3において、アプリケーションの起動時に、動作権限を設定する処理手順を示すフローチャート。 第2実施形態の変形例に係る特徴的な処理手順を示すフローチャート。
符号の説明
1 放送装置
2、3 デジタルテレビ受信装置
10 送出データ
11 映像データ
12 音声データ
13 付加データ
14 アプリケーション
15 管理情報
16 アプリケーション識別子
17 実行フラグ
18 保存フラグ
19 保存情報
21 ルートディレクトリ
22 アプリケーションディレクトリ
23 送信者特定情報ファイル
24 ハッシュ情報ファイル
25 改竄チェックハッシュ値ファイル
26 メインクラスディレクトリ
27 ハッシュ情報ファイル
28 動作権限情報ファイル
29 メインクラスファイル
30 サブクラスディレクトリ
31 ハッシュ情報ファイル
32、33 サブクラスファイル
101 TSデコーダ
102 オーディオデコーダ
103 ビデオデコーダ
104 スピーカー
105 ディスプレイ
106 画面出力部
107 CPU
108 ネットワークデバイス
109 入力部
110 一次記憶領域
111 二次記憶領域
112 ROM
113 二次記憶領域(取り外し可能メディア)
201 制御部
202 アプリケーション管理部
203 Java(登録商標)クラスライブラリ
204 Java(登録商標)VM
205 デバイスドライバ
206 OS
211 アプリケーション情報取得部
212 ライフサイクル管理部
213 アプリケーション認証部
214 送信者特定部
215 認証状態管理部
216 改竄チェック部
217 動作権限取得部
218 認証状態保持部
219 Unsigned権限保持部
221 セキュリティ管理部
222 リソースライブラリ
223 動作権限設定部
224 動作権限チェック部
225 動作権限
231 取得経路保持部
232、233、234 仮権限保持部

Claims (17)

  1. リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得手段と、
    前記取得手段により取得されたアプリケーションプログラムが改竄されているか否かを判定する判定手段と、
    所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得手段と、
    前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得手段と、
    前記判定手段によるアプリケーションプログラムが改竄されているか否かの判定が完了する前にアプリケーションプログラムを起動し、起動から前記判定が完了するまでは、前記仮権限情報により許可される範囲で前記アプリケーションプログラムを実行し、前記判定が完了した後は、前記アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲で前記アプリケーションプログラムを実行する実行手段とを備え
    前記実行手段は、前記アプリケーションプログラムの実行の過程で、前記他のリソースへアクセスする命令に達したときに、前記判定手段による判定が完了していない場合は、前記判定手段による判定の完了を待つ
    ことを特徴とするアプリケーション実行装置。
  2. 前記実行手段は、前記判定において、前記アプリケーションプログラムが改竄されていると判定された場合、前記アプリケーションプログラムのファイルサイズを0と見なすこと
    を特徴とする請求項1に記載のアプリケーション実行装置。
  3. 前記実行手段は、前記取得手段による前記アプリケーションプログラムの取得が完了する前に、前記アプリケーションプログラムの実行を開始すること
    を特徴とする請求項1に記載のアプリケーション実行装置。
  4. 前記取得手段による取得は、前記アプリケーションプログラムを伝送するデジタルストリームを受信することによりなされること
    を特徴とする請求項3に記載のアプリケーション実行装置。
  5. 前記取得手段により受信されるデジタルストリームは、デジタルテレビ放送を伝送するトランスポートストリームであり、
    前記アプリケーションプログラムは、オブジェクトカルーセル方式で前記トランスポートストリームに多重化されていること
    を特徴とする請求項4に記載のアプリケーション実行装置。
  6. 前記所定のリソースは、MHP規格においてUnsigned applicationでのアクセスが許可されているリソースであること
    を特徴とする請求項5に記載のアプリケーション実行装置。
  7. 前記アプリケーションプログラムの送信者を特定する送信者特定情報に基づいて、前記送信者を特定する送信者判定手段を更に備え、
    前記アプリケーションプログラムを伝送するオブジェクトカルーセルはさらに、前記送信者特定情報を伝送し、
    前記取得手段は、前記アプリケーションプログラムとともに、前記送信者特定情報を取得し、
    前記実行手段は、送信者判定手段による特定が完了した後に、前記アプリケーションプログラムの実行を開始すること
    を特徴とする請求項5に記載のアプリケーション実行装置。
  8. 前記取得手段は、前記アプリケーションプログラムとともに、前記アプリケーションプログラムの種別を示すアプリケーション識別子を取得し、
    前記実行手段は、前記アプリケーションプログラムが所定の種別である場合にのみ、前記判定手段による判定が完了する前に前記アプリケーションプログラムを実行すること
    を特徴とする請求項1に記載のアプリケーション実行装置。
  9. 前記所定の種別とは、前記判定手段による判定が完了するまで、前記所定のリソースへのアクセスのみが許可されるアプリケーションプログラムの種別であること
    を特徴とする請求項8に記載のアプリケーション実行装置。
  10. 前記アプリケーションプログラムは、前記アプリケーションプログラムのハッシュ値を記録したハッシュ情報を含み、
    前記判定手段による判定は、前記アプリケーションプログラムのハッシュ値を算出し、前記ハッシュ情報と比較することによりなされること
    を特徴とする請求項1に記載のアプリケーション実行装置。
  11. 前記取得手段における前記アプリケーションプログラムの取得は、複数の取得経路の何れかを介してなされ、
    前記複数の取得経路は、それぞれの取得経路を介して取得される前記アプリケーションが改竄されている危険の度合いが異なり、
    前記仮権限取得手段は、前記取得手段において前記アプリケーションプログラムを取得した取得経路に対応する仮権限情報を取得し、
    前記仮権限情報は、対応する取得経路の前記危険の度合いが低いほど、自装置に影響を与えるおそれが強いリソースを、前記所定のリソースに含むこと
    を特徴とする請求項1に記載のアプリケーション実行装置。
  12. 前記危険の度合いが低い取得経路とは、取得過程のアプリケーションプログラムが暗号化されている取得経路であり、
    前記危険の度合いが高い取得経路とは、前記取得過程のアプリケーションプログラムが暗号化されていない取得経路であること
    を特徴とする請求項11に記載のアプリケーション実行装置。
  13. 前記取得手段における前記アプリケーションプログラムの取得は、複数の取得経路の何れかを介してなされ、
    前記複数の取得経路は、それぞれ前記アプリケーションプログラムの取得に要する所要時間が異なり、
    前記仮権限取得手段は、複数の仮権限情報のうち、前記取得手段において前記アプリケーションプログラムを取得した取得経路に対応する仮権限情報を取得し、
    前記仮権限情報は、対応する取得経路の前記所要時間が長いほど自装置に影響を与えるおそれが強いリソースを、前記所定のリソースに含むこと
    を特徴とする請求項1に記載のアプリケーション実行装置。
  14. 前記取得手段において、記録媒体からの読み出しにより前記アプリケーションプログラムが取得される場合に、前記判定手段において、前記アプリケーションプログラムが改竄されていないと判定されたならば、前記判定手段による判定が完了した後に前記アプリケーションプログラムの実行を開始するSigned application実行手段を更に備え、
    前記実行手段は、前記取得手段において、前記アプリケーションプログラムを伝送するデジタルストリームの受信により前記アプリケーションプログラムが取得される場合に、前記判定手段による判定が完了する前に前記アプリケーションプログラムを実行すること
    を特徴とする請求項1に記載のアプリケーション実行装置。
  15. アプリケーション実行装置を制御する集積回路であって、
    リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得手段と、
    前記取得手段により取得されたアプリケーションプログラムが改竄されているか否かを判定する判定手段と、
    所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得手段と、
    前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得手段と、
    前記判定手段によるアプリケーションプログラムが改竄されているか否かの判定が完了する前にアプリケーションプログラムを起動し、起動から前記判定が完了するまでは、前記仮権限情報により許可される範囲で前記アプリケーションプログラムを実行し、前記判定が完了した後は、前記アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲で前記アプリケーションプログラムを実行する実行手段とを備え
    前記実行手段は、前記アプリケーションプログラムの実行の過程で、前記他のリソースへアクセスする命令に達したときに、前記判定手段による判定が完了していない場合は、前記判定手段による判定の完了を待つ
    ことを特徴とする集積回路。
  16. リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得ステップと、
    前記取得ステップにおいて取得されたアプリケーションプログラムが改竄されているか否かを判定する判定ステップと、
    所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得ステップと、
    前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得ステップと、
    前記判定ステップによるアプリケーションプログラムが改竄されているか否かの判定が完了する前にアプリケーションプログラムを起動し、起動から前記判定が完了するまでは、前記仮権限情報により許可される範囲で前記アプリケーションプログラムを実行し、前記判定が完了した後は、前記アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲で前記アプリケーションプログラムを実行し、前記アプリケーションプログラムが改竄されていると判定された場合、前記アプリケーションプログラムの実行を終了する実行ステップとを含み、
    前記実行ステップにおいて、前記アプリケーションプログラムの実行の過程で、前記他のリソースへアクセスする命令に達したときに、前記判定ステップによる判定が完了していない場合は、前記判定ステップによる判定の完了を待つ
    ことを特徴とするアプリケーション実行方法。
  17. リソースへアクセスする命令を含むアプリケーションプログラムを取得する取得ステップと、
    前記取得ステップにおいて取得されたアプリケーションプログラムが改竄されているか否かを判定する判定ステップと、
    所定のリソースのみアクセスが許可されることを示す仮権限情報を取得する仮権限取得ステップと、
    前記所定のリソースに加え、他のリソースへのアクセスが許可されることを示す権限情報を取得する権限取得ステップと、
    前記判定ステップによるアプリケーションプログラムが改竄されているか否かの判定が完了する前にアプリケーションプログラムを起動し、起動から前記判定が完了するまでは、前記仮権限情報により許可される範囲で前記アプリケーションプログラムを実行し、前記判定が完了した後は、前記アプリケーションプログラムが改竄されていないと判定された場合に、前記権限情報により許可される範囲で前記アプリケーションプログラムを実行し、前記アプリケーションプログラムが改竄されていると判定された場合、前記アプリケーションプログラムの実行を終了する実行ステップとの各ステップをコンピュータに実行させ
    前記実行ステップにおいて、前記アプリケーションプログラムの実行の過程で、前記他のリソースへアクセスする命令に達したときに、前記判定ステップによる判定が完了していない場合は、前記判定ステップによる判定の完了まで前記命令の実行を待機させる
    ことを特徴とするコンピュータプログラム。
JP2006526813A 2003-09-17 2004-09-17 アプリケーション実行装置、アプリケーション実行方法、集積回路およびプログラム Expired - Fee Related JP4719150B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006526813A JP4719150B2 (ja) 2003-09-17 2004-09-17 アプリケーション実行装置、アプリケーション実行方法、集積回路およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2003324158 2003-09-17
JP2003324158 2003-09-17
PCT/JP2004/014029 WO2005029842A1 (en) 2003-09-17 2004-09-17 Application execution device, application execution method, integrated circuit, and computer-readable program
JP2006526813A JP4719150B2 (ja) 2003-09-17 2004-09-17 アプリケーション実行装置、アプリケーション実行方法、集積回路およびプログラム

Publications (3)

Publication Number Publication Date
JP2007506350A JP2007506350A (ja) 2007-03-15
JP2007506350A5 JP2007506350A5 (ja) 2007-11-01
JP4719150B2 true JP4719150B2 (ja) 2011-07-06

Family

ID=34372739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006526813A Expired - Fee Related JP4719150B2 (ja) 2003-09-17 2004-09-17 アプリケーション実行装置、アプリケーション実行方法、集積回路およびプログラム

Country Status (6)

Country Link
US (1) US7676847B2 (ja)
EP (1) EP1678943A1 (ja)
JP (1) JP4719150B2 (ja)
KR (1) KR101102717B1 (ja)
CN (2) CN100459659C (ja)
WO (1) WO2005029842A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2548546A1 (en) * 2003-12-18 2005-06-30 Matsushita Electric Industrial Co., Ltd. Method for storing, authenticalting and executing an application program
CN101853355B (zh) 2005-02-14 2013-04-24 松下电器产业株式会社 集成电路
US20060206484A1 (en) * 2005-03-14 2006-09-14 Hitachi, Ltd. Method for preserving consistency between worm file attributes and information in management servers
WO2006129813A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Broadcast recording and reproduction apparatus with expiration date management unit
EP1905240A1 (en) * 2005-06-30 2008-04-02 Koninklijke Philips Electronics N.V. Method and system for providing conditional access to data in an mhp or ocap broadcast system
US8656268B2 (en) 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US8799757B2 (en) 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
JP2008158686A (ja) * 2006-12-21 2008-07-10 Toshiba Corp プログラム検証装置及び方法、プログラム検証に基づく署名システム
WO2008127092A2 (en) * 2007-03-14 2008-10-23 Aht Europe Ltd Device and method for gaining conditional access to a data network
US10482254B2 (en) * 2010-07-14 2019-11-19 Intel Corporation Domain-authenticated control of platform resources
US20120095877A1 (en) 2010-10-19 2012-04-19 Apple, Inc. Application usage policy enforcement
US8656465B1 (en) * 2011-05-09 2014-02-18 Google Inc. Userspace permissions service
EP2713295A4 (en) * 2011-05-19 2015-04-22 Japan Broadcasting Corp COOPERATIVE RADIO COMMUNICATION RECEIVER, RESOURCE ACCESS CONTROL PROGRAM AND COOPERATIVE RADIO COMMUNICATION SYSTEM
US20130282870A1 (en) * 2012-04-18 2013-10-24 Sony Corporation Reception apparatus, reception method, transmission apparatus, transmission method, and program
CN102646184B (zh) * 2012-05-04 2014-10-22 上海天臣防伪技术股份有限公司 一种利用nfc手机读取iso15693标签的方法
CN104768054A (zh) * 2014-01-03 2015-07-08 光宝电子(广州)有限公司 音频播放装置、多媒体影音播放系统及其播放方法
JP6561436B2 (ja) * 2014-07-17 2019-08-21 セイコーエプソン株式会社 情報処理装置、情報処理装置を制御する方法、コンピュータープログラム
EP3641259A1 (de) * 2018-10-15 2020-04-22 Siemens Aktiengesellschaft Vorrichtung und verfahren zur prüfung von eigenschaften von ressourcen
US11093620B2 (en) * 2018-11-02 2021-08-17 ThreatConnect, Inc. Ahead of time application launching for cybersecurity threat intelligence of network security events
CN113766328A (zh) * 2020-02-17 2021-12-07 聚好看科技股份有限公司 播放媒体资源的方法、装置、显示设备及存储介质
US11863573B2 (en) 2020-03-06 2024-01-02 ThreatConnect, Inc. Custom triggers for a network security event for cybersecurity threat intelligence
CN113468606A (zh) * 2020-03-30 2021-10-01 华为技术有限公司 一种应用程序的访问方法及电子设备
US11985144B2 (en) 2021-06-25 2024-05-14 ThreatConnect, Inc. Browser extension for cybersecurity threat intelligence and response

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002517852A (ja) * 1998-06-12 2002-06-18 マイクロソフト コーポレイション 信頼できないコンテントを安全に実行するための方法およびシステム
JP2002215459A (ja) * 2001-01-15 2002-08-02 Hitachi Ltd ディジタル回路
US6526513B1 (en) * 1999-08-03 2003-02-25 International Business Machines Corporation Architecture for dynamic permissions in java

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2519390B2 (ja) * 1992-09-11 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ通信方法及び装置
US5625693A (en) 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US5680461A (en) * 1995-10-26 1997-10-21 Sun Microsystems, Inc. Secure network protocol system and method
US5915085A (en) 1997-02-28 1999-06-22 International Business Machines Corporation Multiple resource or security contexts in a multithreaded application
US6014702A (en) * 1997-06-04 2000-01-11 International Business Machines Corporation Host information access via distributed programmed objects
US6345361B1 (en) * 1998-04-06 2002-02-05 Microsoft Corporation Directional set operations for permission based security in a computer system
US6694434B1 (en) * 1998-12-23 2004-02-17 Entrust Technologies Limited Method and apparatus for controlling program execution and program distribution

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002517852A (ja) * 1998-06-12 2002-06-18 マイクロソフト コーポレイション 信頼できないコンテントを安全に実行するための方法およびシステム
US6526513B1 (en) * 1999-08-03 2003-02-25 International Business Machines Corporation Architecture for dynamic permissions in java
JP2002215459A (ja) * 2001-01-15 2002-08-02 Hitachi Ltd ディジタル回路

Also Published As

Publication number Publication date
EP1678943A1 (en) 2006-07-12
US20070033651A1 (en) 2007-02-08
CN101426076A (zh) 2009-05-06
KR20060076768A (ko) 2006-07-04
WO2005029842A1 (en) 2005-03-31
US7676847B2 (en) 2010-03-09
JP2007506350A (ja) 2007-03-15
KR101102717B1 (ko) 2012-01-05
CN100459659C (zh) 2009-02-04
CN1853408A (zh) 2006-10-25

Similar Documents

Publication Publication Date Title
JP4719150B2 (ja) アプリケーション実行装置、アプリケーション実行方法、集積回路およびプログラム
KR101070545B1 (ko) 애플리케이션 프로그램을 인증 및 실행하는 방법
EP2797023B1 (en) Information processing device, server device, information processing method, server processing method, and program
US20140344877A1 (en) Reception device, program, and reception method
KR102550672B1 (ko) 영상처리장치 및 그 제어방법
JP5027636B2 (ja) 送信装置およびそのプログラム、ならびに、受信装置およびapi実行プログラム
MXPA06014020A (es) Metodo para autenticar y ejecutar un programa.
MX2013002076A (es) Dispositivo de recepcion metodo de recepcion, y programa.
KR101569950B1 (ko) 오디오/비디오 데이터 처리 장치를 위한 보안 모듈
EP2713295A1 (en) Cooperative broadcast communication receiver device, resource access control program and cooperative broadcast communication system
CN103875253A (zh) 信息处理设备、信息处理方法、程序和服务器设备
EP3054701B1 (en) Receiver device, broadcast device, server device and reception method
CN105308979A (zh) 显示装置和内容视听系统
US20040193884A1 (en) Secure watchdog for embedded systems
EP2713297A1 (en) Broadcast/communication linking receiver apparatus and resource managing apparatus
EP3021517B1 (en) Reception device, reception method, and transmission method
KR100950596B1 (ko) Dcas 기반 방송 수신 장치 및 이의 보안 강화 방법
JP2010191816A (ja) 記録再生装置、コンテンツ鍵制御方法、プログラム、および記録媒体
KR20090123433A (ko) 디스플레이 기기 및 컨텐츠 관리 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070911

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110203

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110401

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees