WO2011039902A1 - コンテンツ起動方法、コンテンツ再生装置 - Google Patents

コンテンツ起動方法、コンテンツ再生装置 Download PDF

Info

Publication number
WO2011039902A1
WO2011039902A1 PCT/JP2010/002849 JP2010002849W WO2011039902A1 WO 2011039902 A1 WO2011039902 A1 WO 2011039902A1 JP 2010002849 W JP2010002849 W JP 2010002849W WO 2011039902 A1 WO2011039902 A1 WO 2011039902A1
Authority
WO
WIPO (PCT)
Prior art keywords
firmware
program
content
activation
game
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.)
Ceased
Application number
PCT/JP2010/002849
Other languages
English (en)
French (fr)
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to US13/000,548 priority Critical patent/US20110213986A1/en
Priority to CN2010800015971A priority patent/CN102089768A/zh
Publication of WO2011039902A1 publication Critical patent/WO2011039902A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2109Game systems

Definitions

  • the game program activation unit 202 executes the activation program and performs initialization work for executing the game program in the playback device (S18).
  • the game program execution unit 204 controls the playback device to provide a game to the user (S20).
  • the game program side control transfer unit 206 transfers control of the playback device to the firmware 100 (S22).
  • the processing in this flowchart ends.
  • the decryption key setting program 300 passes control to the boot program decryption unit 106 of the firmware 100 without acquiring a key.
  • the firmware-side control transfer unit 110 transfers the control of the playback device to the game program 200 regardless of whether or not the start program decoding unit 106 has decoded the start program (S44).
  • the firmware 100 realizes not only the function of decrypting the activation program and transferring control of the playback device to the game program 200, but also functions such as playback of still images and moving images and browsing of web content on the playback device. It also has a role to play. In order to update the firmware 100, operation verification of all these functions is necessary, and the update frequency of the firmware 100 is limited to about once every several months.
  • the creator of the game encrypts the startup program in advance.
  • the creator of the game can not only encrypt the startup program, but can also add an electronic signature to the startup program.
  • the activation program decrypting unit 106 only has to decrypt the activation program and verify the digital signature.
  • a digital signature verification unit (not shown) may be provided in the activation program decryption unit 106 so that the digital signature verification unit also verifies the digital signature. It is advantageous in that falsification of the startup program can be verified by attaching a digital signature in addition to encryption of the startup program.
  • firmware 100 firmware, 102 execution instruction reception unit, 104 decryption key setting unit, 106 activation program decryption unit, 108 decryption key storage unit, 110 firmware side control transfer unit, 200 game program, 202 game program activation unit, 204 game program execution unit, 206 game program side control transfer section, 210 firmware verification section, 300 decryption key setting program, 304 decryption key setting section, 308 decryption key storage section, 310 firmware verification section, 400 memory.
  • This invention can be used for content activation control.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

 ファームウェア検証部310は、コンテンツの起動に先立って、前記コンテンツの起動を制御するファームウェアが改竄されているか否かを確認する。復号鍵設定部304は、前記ファームウェアが改竄されていない場合、前記コンテンツを起動するための暗号化された起動プログラムを復号するための鍵を、前記ファームウェアに設定する。起動プログラム復号部106は、鍵の設定された前記ファームウェアにより、暗号化された起動プログラムを復号する。

Description

コンテンツ起動方法、コンテンツ再生装置
 この発明は、コンテンツの起動を制御する方法に関する。
 ゲームや音楽、写真や動画などを再生したりウェブコンテンツの閲覧等を可能にする再生装置は、通常ファームウェアを備えている。ここでファームウェアとは、再生装置を制御してこれらの機能を実現するためのインターフェイスをユーザに提供したり、ゲーム等の有償のコンテンツプログラムに再生装置の制御を移行したりする機能を実現するプログラムである。ファームウェアは新機能の追加等を目的として定期的に更新され、通常無償で公開される。ユーザは、新しいファームウェアをダウンロードする等により取得して更新し、再生装置上で新機能を実行することができるようになっている。
 ファームウェアは公開されて誰もが自由に入手できる。このため、ファームウェアにおけるコンテンツプログラムへの制御移行の仕組みが、ファームウェアの提供者以外の第三者によって改竄され、記録媒体から不正に抜き出されたコンテンツ等、再生装置で本来実行されるべきではないコンテンツプログラムが実行される可能性がある。
 本発明はこのような課題に鑑みてなされたものであり、その目的は、再生装置におけるプログラムの起動を安全に制御するための技術を提供することにある。
 上記課題を解決するために、本発明のある態様は、コンテンツの起動を制御する方法に関する。この方法は、コンテンツの起動に先立って、前記コンテンツの起動を制御するファームウェアが改竄されているか否かを確認するファームウェア検証ステップと、前記ファームウェアが改竄されていない場合、前記コンテンツを起動するための暗号化された起動プログラムを復号するための鍵を、前記ファームウェアに設定する復号鍵設定ステップと、鍵の設定された前記ファームウェアにより、暗号化された起動プログラムを復号する起動プログラム復号ステップとをプロセッサに実行させる。
 上記課題を解決するために、本発明の別の態様は、コンテンツ再生装置に関する。この装置は、コンテンツの起動に先立って、前記コンテンツの起動を制御するファームウェアが改竄されているか否かを確認するファームウェア検証部と、前記ファームウェアが改竄されていない場合、前記コンテンツを起動するための暗号化された起動プログラムを復号するための鍵を、前記ファームウェアに設定する復号鍵設定部と、鍵の設定された前記ファームウェアにより、暗号化された起動プログラムを復号する起動プログラム復号部とを含む。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、システム、コンピュータプログラム、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
 本発明によれば、再生装置におけるプログラムの起動を安全に制御するための技術を提供することができる。
実施形態1に係る再生装置に搭載されているファームウェアとその再生装置で実行されるゲームプログラムとにおける、ゲームプログラムの起動から終了までの間に関わる機能ブロックを模式的に表した図である。 実施形態1におけるゲームプログラムの実行指示からゲーム終了までの間にファームウェアおよびゲームプログラムで行われる処理の流れを示したフローチャートである。 実施形態2に係る再生装置で実行されるゲームプログラムにおける、ゲームプログラムの起動から終了までの間に関わる機能ブロックを模式的に表した図である。 実施形態2におけるゲームプログラムの実行指示からゲーム終了までの間にファームウェアおよびゲームプログラムで行われる処理の流れを示したフローチャートである。 実施形態3に係る再生装置に搭載されているファームウェア100とその再生装置で実行されるゲームプログラム200、および起動プログラムを復号する鍵の設定に特化した復号鍵設定プログラム300における、ゲームプログラム200の起動から終了までの間に関わる機能ブロックを模式的に表した図である。 実施形態3におけるゲームプログラムの実行指示からゲームプログラムに制御を移行するまでの間にファームウェアおよび復号鍵設定プログラムで行われる処理の流れを示したフローチャートである。 図6Aにおける処理の後半部分であり、ファームウェア100から再生装置の制御を受けてから再びファームウェア100に制御を戻すまでの間にゲームプログラム200で行われる処理の流れを示したフローチャートである。
 本発明の実施の形態(以下、「実施形態」という。)を実施形態1、実施形態2、実施形態3の3つに分けて説明する。これらの実施形態を説明するに先立って、まずこれらの概要を述べる。以下ではコンテンツプログラムとしてゲームプログラムを例に説明する。
 実施形態1は、ゲームを起動するための起動プログラムをあらかじめ暗号化しておき、ファームウェアの中にその起動プログラムの復号に用いる鍵を埋め込んでおく、というものである。実施形態2は、再生装置において実行されるゲームプログラムの中で再生装置のファームウェアが改竄されているか否かを確認し、改竄が確認されればゲームプログラムを終了する、というものである。実施形態3は、ゲームプログラムの起動に先立って、再生装置のファームウェアが改竄されているか否かを確認し、改竄されていないことが確認された場合、あらかじめ暗号化されている、ゲームを起動するための起動プログラムを復号する鍵を使用可能な状態にする、というものである。実施形態3は、ファームウェアの改竄の確認と鍵設定とを、ファームウェアやゲーム等のプログラムとは異なる専用のプログラムで行う。このプログラムはゲームの起動前に読み出されて実行され、メモリには常駐しない。
(実施形態1)
 図1は、実施形態1に係る再生装置に搭載されているファームウェア100とその再生装置で実行されるゲームプログラム200とにおける、ゲームプログラム200の起動から終了までの間に関わる機能ブロックを模式的に表した図である。ファームウェア100とゲームプログラム200とは、再生装置のメモリ400にロードされ、図示しない再生装置のプロセッサによって実行される。
 ファームウェア100は、実行指示受付部102、復号鍵設定部104、起動プログラム復号部106、復号鍵記憶部108、ファームウェア側制御移行部110を含む。実行指示受付部102は、再生装置のユーザからゲームプログラムの実行指示を受け付ける。これは例えばGUI(Graphical User Interface)等の既知の技術で実現される。復号鍵設定部104は、まず実行指示受付部102からゲームプログラムの情報を受け取る。次に、ゲームを起動するためのプログラムを復号するのに用いる鍵を復号鍵記憶部108から取得する。
 ここで、ゲームを起動するための起動プログラムは、ゲームの作成者によってあらかじめ暗号化されている。暗号化および復号に用いる鍵は、ゲーム作成時の最新のファームウェア100に格納されている最新の鍵を用いることとする。ファームウェア100を更新する度に鍵を追加するようにすれば、仮に何らかの手段によって過去の鍵が第三者に漏洩したとしても、最新の鍵を利用した起動プログラムは復号できない。また、最新の鍵が第三者に漏洩したことが確認された場合には、再度新しい鍵を追加したファームウェア100を更新する。
 したがって「ゲームプログラムの情報」とは、そのゲームの起動プログラムを復号するための鍵を特定する情報であり、具体的にはゲームの発売年月日やタイトル名、あるいは鍵のバージョン等の情報である。また、復号鍵記憶部108には、過去に発売されたゲームの起動プログラムを復号するために、作成されている全ての鍵を格納する。
 ここで、起動プログラムの暗号化および復号は、RSA暗号等既知の公開鍵暗号方式を用いれば実現できる。あるいは、ファームウェア100の作成者とゲームプログラム200の作成者との間であらかじめ取り決めて共有する共有鍵を用いても実現できる。
 起動プログラム復号部106は、復号鍵設定部104が復号鍵記憶部108から取得した鍵を受け取り、起動プログラムを復号する。ファームウェア側制御移行部110は、起動プログラムが復号されたら、再生装置の制御をゲームプログラム200に受け渡す。
 ゲームプログラム200は、ゲームプログラム起動部202、ゲームプログラム実行部204、ゲームプログラム側制御移行部206を含む。
 ゲームプログラム起動部202は、起動プログラム復号部106が復号した起動プログラムを実行し、再生装置においてゲームプログラムを実行するための初期化作業を行う。ゲームプログラム実行部204はゲームプログラムの本体を実行し、再生装置を制御してユーザにゲームを提供する。ゲームプログラム側制御移行部206は、ゲームプログラム実行部204においてゲームプログラムが終了すると、メモリ解放等の後処理をして、再生装置の制御をファームウェア100に受け渡す。
 図2は、実施形態1におけるゲームプログラムの実行指示からゲーム終了までの間にファームウェア100およびゲームプログラム200で行われる処理の流れを示したフローチャートである。本フローチャートにおける処理は、ユーザによりゲームプログラムの実行指示がされると開始する。
 実行指示受付部102は、再生装置のユーザからゲームプログラムの実行指示を受け付ける(S10)。復号鍵設定部104は、復号鍵記憶部108から起動プログラムを復号するための鍵を取得する(S12)。起動プログラム復号部106は、復号鍵設定部104が復号鍵記憶部108から取得した鍵を受け取り、起動プログラムを復号する(S14)。ファームウェア側制御移行部110は、起動プログラムが復号されたら、再生装置の制御をゲームプログラム200に受け渡す(S16)。
 ゲームプログラム起動部202は起動プログラムを実行し、再生装置においてゲームプログラムを実行するための初期化作業を行う(S18)。ゲームプログラム実行部204は再生装置を制御してユーザにゲームを提供する(S20)。ゲームプログラム側制御移行部206は、ゲームプログラム実行部204においてゲームプログラムが終了すると、再生装置の制御をファームウェア100に受け渡す(S22)。受け渡しが終われば本フローチャートにおける処理は終了する。
 以上の構成による実施形態1の利用シーンは以下のとおりである。まず、ユーザは再生装置にゲームプログラムの格納された記録媒体を挿入し、ゲーム開始を指示する。ファームウェア100はゲームプログラムの情報を確認し、起動プログラムを復号する鍵を設定する。鍵が設定されれば起動プログラムは復号され、ユーザはゲームを実行することができる。
 ゲームプログラムの情報から、起動プログラムを復号する鍵をファームウェア100が持っていないことが分かると、ファームウェア100はゲームプログラムの格納された記録媒体に格納されている更新用のファームウェアを用いてファームウェア100を更新する必要がある旨、あるいは、ネットワーク等を介して最新版のファームウェアをダウンロードしてファームウェア100を更新する必要がある旨のメッセージをユーザに通知する。
 以上より、実施形態1によれば、何らかの理由(例えばファームウェア100が第三者によって解析され鍵が取得される等)によってファームウェア100が所持する鍵が第三者に漏洩したとしても、新しい鍵を追加してファームウェアを更新すれば、その鍵を用いて起動プログラムを暗号化したゲームは、第三者によって不正に実行されることを防止できる。
(実施形態2)
 図3は実施形態2に係る再生装置で実行されるゲームプログラム200における、ゲームプログラム200の起動から終了までの間に関わる機能ブロックを模式的に表した図である。実施形態2は、ファームウェア100については実施形態1と同様なのでその説明は省略する。また、実施形態1と同様に、ファームウェア100とゲームプログラム200とは、再生装置のメモリ400にロードされ、図示しない再生装置のプロセッサによって実行される。
 実施形態2に係るゲームプログラム200は実施形態1に係るゲームプログラム200と同様に、ゲームプログラム起動部202、ゲームプログラム実行部204、ゲームプログラム側制御移行部206を含む。実施形態2に係るゲームプログラム200はさらに、ファームウェア検証部210を含む。
 ゲームプログラム起動部202は、起動プログラム復号部106が復号した起動プログラムを実行し、再生装置においてゲームプログラムを実行するための初期化作業を行う。起動プログラムが実行されゲームが立ち上がると、ファームウェア検証部210は、再生装置に搭載されているファームウェア100が第三者に改竄されたものか否かを確認する。
 ここで、ファームウェア検証部210は、ファームウェアの提供者がゲームの開発者に対してAPI(Application Program Interface)の形で提供することにより実現できる。このAPIは、メモリ400内にロードされた、ファームウェア100の実行プログラムやデータのメモリ配置を調べること等、既知の方法により当該ファームウェアが第三者に改竄されたものか否かを確認する。
 ファームウェア検証部210がファームウェア100をファームウェアの提供者が提供した正当なものであると確認した場合、ゲームプログラム実行部204は再生装置を制御してユーザにゲームを提供する。ゲームプログラム側制御移行部206は、ゲームプログラム実行部204においてゲームプログラムが終了すると、再生装置の制御をファームウェア100に受け渡す。ファームウェア検証部210がファームウェア100が不正なものであると確認した場合、ファームウェア検証部210はゲームプログラム側制御移行部206に通知し、ゲームプログラム側制御移行部206は再生装置の制御をファームウェア100に受け渡す。
 あるいは、ファームウェア検証部210がファームウェア100が不正なものであると確認した場合、ゲームプログラム実行部204は、ファームウェア100が正当なものであると確認した場合とは異なる不正検知モードでゲームプログラムを実行するようにしてもよい。ここで「不正検知モード」とは、ファームウェア検証部210がファームウェア100が不正なものであると確認した場合にゲームプログラム実行部204が入るモードである。このモードでは、ゲームプログラム実行部204は、ファームウェアが不正である旨のメッセージを表示したり、ゲームの難易度を通常よりも上げたりしてゲームプログラムを実行する。ゲームの難易度の調整は、例えばゲームの進行速度を早めたり、ゲーム内の敵を強くしたりする等、ゲームを実行する際のパラメータを調整することで実現できる。
 図4は、実施形態2におけるゲームプログラムの実行指示からゲーム終了までのファームウェア100およびゲームプログラム200で行われる処理の流れを示したフローチャートである。実行指示受付部102は、再生装置のユーザからゲームプログラムの実行指示を受け付けてから(S10)、ゲームプログラム起動部202がゲームプログラム起動し、再生装置においてゲームプログラムを実行するための初期化作業を行う(S18)までの流れは実施形態1と同一である。
 ファームウェア検証部210は、起動プログラムが実行されゲームが立ち上がると、再生装置に搭載されているファームウェア100が第三者に改竄されたものか否かを確認する(S24)。ファームウェア100が正当な場合(S26Y)、ゲームプログラム実行部204は再生装置を制御してユーザにゲームを提供する(S28)。ゲームプログラム実行部204においてゲームプログラムが終了すると、ゲームプログラム側制御移行部206は、再生装置の制御をファームウェア100に受け渡す(S30)。ファームウェア100が正当でない場合(S26N)は、ゲームプログラムは実行されることなく、直ちにファームウェア100に再生装置の制御が受け渡される(S30)。ファームウェア100に再生装置の制御が受け渡されると、本フローチャートにおける処理は終了する。なお、ゲームプログラム実行部204に「不正検知モード」がある場合には、ファームウェア100が正当でない場合(S26N)に、ゲームプログラム実行部204が「不正検知モード」となってゲームプログラムが実行されるようにしてもよい。
 以上の構成による実施形態2の利用シーンは以下のとおりである。実施形態1と同様に、まず、ユーザは再生装置にゲームプログラムの格納された記録媒体を挿入し、ゲーム開始を指示する。ファームウェア100はゲームプログラムの情報を確認し、起動プログラムを復号する鍵を設定する。鍵が設定されれば起動プログラムは復号されゲームプログラムが開始する。
 ゲームプログラムが開始すると、ゲームプログラム内において、ファームウェア100が第三者に改竄されたものか否かを確認する。もしファームウェア100が第三者に改竄されたものであることが確認できると、ゲームプログラムはゲーム本体を実行することなく処理を終了する。これにより、ファームウェア100が第三者に改竄されて起動プログラムを復号する鍵が漏洩し、ゲームプログラムが不正に実行されたとしても、ゲームプログラムの本体部分を実行することなくゲームプログラムを終了することができる。
(実施形態3)
 図5は、実施形態3に係る再生装置に搭載されているファームウェア100とその再生装置で実行されるゲームプログラム200、および起動プログラムを復号する鍵の設定に特化した復号鍵設定プログラム300における、ゲームプログラム200の起動から終了までの間に関わる機能ブロックを模式的に表した図である。ファームウェア100、ゲームプログラム200および復号鍵設定プログラム300は、再生装置のメモリ400にロードされ、図示しない再生装置のプロセッサによって実行される。
 ファームウェア100は、実行指示受付部102、起動プログラム復号部106,ファームウェア側制御移行部110を含む。実行指示受付部102が再生装置のユーザからゲームプログラムの実行指示を受け付けると、復号鍵設定プログラム300をメモリ400にロードし実行する。
 復号鍵設定プログラム300は、ファームウェア検証部310、復号鍵設定部304、復号鍵記憶部308を含む。復号鍵設定プログラム300が起動すると、まず、ファームウェア検証部310は、再生装置に搭載されているファームウェア100が第三者に改竄されたものか否かを確認する。ファームウェア100が改竄されていないことが確認できた場合、復号鍵設定部304は、ファームウェア検証部310を介して実行指示受付部102から受け取ったゲームプログラムの情報に基づいて、復号鍵記憶部308から起動プログラムを復号する鍵を選択して取得し、起動プログラム復号部106に鍵を渡す。起動プログラム復号部106が鍵を受け取ると、復号鍵設定プログラム300の実行は終了し、メモリ400から解放される。
 ファームウェア100が改竄されていることが確認されると、ファームウェア検証部310は何もせずに起動プログラム復号部106に処理を渡して復号鍵設定プログラム300の実行が終了し、メモリ400から解放される。
 起動プログラム復号部106は、復号鍵設定部304から鍵を受け取った場合、起動プログラムを復号する。復号鍵設定部304から鍵を受け取らない場合には何も行わない。ファームウェア側制御移行部110は再生装置の制御をゲームプログラム200に受け渡す。
 ゲームプログラム起動部202は、起動プログラムの開始を試みる。起動プログラム復号部106によって起動プログラムが復号されている場合には、起動プログラムが正しく実行され、再生装置においてゲームプログラムを実行するための初期化作業が行われる。初期化作業の後、ゲームプログラム実行部204はゲーム本体を実行し、ユーザにゲームを提供する。ゲームが終了すると、ゲームプログラム実行部204はゲームプログラム側制御移行部206に制御を渡す。
 起動プログラム復号部106によって起動プログラムが復号されていない場合には、ゲームプログラム起動部202は、起動プログラムを開始できない。この場合、ゲームプログラム起動部202は、起動プログラムを開始せずに、ゲームプログラム側制御移行部206に制御を渡す。なお、起動プログラムが復号されていない場合は、ファームウェア100が改竄されていると考えられるため、ユーザにその旨を通知するメッセージを表示したり、ファームウェア100の更新を促すメッセージを表示したりしてもよい。
 ゲームプログラム側制御移行部206は、再生装置の制御をファームウェア100に受け渡す。
 実施形態3におけるゲームプログラム200の実行指示からゲーム終了までのファームウェア100、ゲームプログラム200および復号鍵設定プログラム300の処理の流れを図6Aおよび図6Bを参照して説明する。
 図6Aはゲームプログラム200の実行指示からゲームプログラム200に制御を移行するまでの間にファームウェア100および復号鍵設定プログラム300で行われる処理の流れを示したフローチャートである。
 実行指示受付部102が再生装置のユーザからゲームプログラムの実行指示を受け付けると(S32)、復号鍵設定プログラム300をメモリ400にロードし実行する(S34)。ファームウェア検証部310は、再生装置に搭載されているファームウェア100が第三者に改竄されたものか否かを確認する(S36)。ファームウェア100が改竄されていない正当なものであることが確認できた場合(S38Y)、復号鍵設定部304は、復号鍵記憶部308から起動プログラムを復号する鍵を取得する(S40)。起動プログラム復号部106は復号鍵設定部304から鍵を受け取ると、起動プログラムを復号する(S42)。
 ファームウェア100が改竄されていることを確認した場合(S38N)、復号鍵設定プログラム300は鍵を取得することなく、ファームウェア100の起動プログラム復号部106に制御を受け渡す。ファームウェア側制御移行部110は、起動プログラム復号部106が起動プログラムを復号したか否かに関わらず、ゲームプログラム200に再生装置の制御を移行する(S44)。
 図6Bは、ファームウェア100から再生装置の制御を受けてから再びファームウェア100に制御を戻すまでの間にゲームプログラム200で行われる処理の流れを示したフローチャートである。
 ゲームプログラム起動部202は、起動プログラムの開始を試みる(S46)。起動プログラム復号部106によって起動プログラムが復号されている場合には、起動プログラムの起動に成功し(S48Y)、再生装置においてゲームプログラムを実行するための初期化作業が行われる。初期化作業の後、ゲームプログラム実行部204はゲーム本体を実行し、ユーザにゲームを提供する(S50)。ゲームが終了すると、ゲームプログラム側制御移行部206は、再生装置の制御をファームウェア100に受け渡す(S52)。
 起動プログラム復号部106によって起動プログラムが復号されていない場合には、ゲームプログラム起動部202は、起動プログラムを開始できない(S48N)。この場合、ゲーム本体は実行されることなく、ゲームプログラム側制御移行部206は、再生装置の制御をファームウェア100に受け渡す(S52)。再生装置の制御をファームウェア100に受け渡されると、本フローチャートにおける処理は終了する。
 以上の構成による実施形態3の利用シーンは以下のとおりである。実施形態1と同様に、まず、ユーザは再生装置にゲームプログラムの格納された記録媒体を挿入し、ゲーム開始を指示する。ファームウェア100はゲームプログラム200の情報を確認し、復号鍵設定プログラム300を実行する。ファームウェア100が改竄されていなければ、復号鍵設定プログラム300は起動プログラムを復号する鍵を適切に設定するので、ユーザはゲームを実行することができる。
 ゲームプログラムの情報から、起動プログラムを復号する鍵を復号鍵設定プログラム300が持っていないことが分かると、ファームウェア100はゲームプログラムの格納された記録媒体に格納されている更新用の復号鍵設定プログラム300に置き換える。あるいは、ネットワーク等を介して最新版の復号鍵設定プログラム300をダウンロードして復号鍵設定プログラム300を更新する必要がある旨のメッセージをユーザに通知する。
 以上より、実施形態3によれば、ファームウェア100が第三者によって解析されたとしても、ファームウェア100には起動プログラムを復号するための鍵は存在しないので、第三者に鍵が漏洩することがない。実施形態2の場合では、ゲームプログラム200内でファームウェア100の改竄の検証を行うため、第三者がゲームプログラム200を改竄することにより、当該検証をスキップしてゲームを不正に実行する可能性もあり得る。実施形態3によれば、ファームウェア100が不正なものであると確認できた場合、ゲームプログラム200はそもそも起動しないので、第三者がゲームプログラム200を改竄することにより不正に実行することが防止できる。
 前述したように、ファームウェア100は起動プログラムを復号してゲームプログラム200に再生装置の制御を移行する機能のみならず、再生装置上で静止画や動画の再生、ウェブコンテンツの閲覧等の機能を実現する役割も担っている。ファームウェア100を更新するためにはこれら全ての機能の動作検証等が必要であり、ファームウェア100の更新頻度は数ヶ月に1回程度に制限される。
 実施形態3によれば、ファームウェア100の改竄確認と起動プログラムを復号するための鍵設定とを行う復号鍵設定プログラム300は、ファームウェア100から分離して存在する。復号鍵設定プログラム300の更新はファームウェア100の更新のタイミングに縛られることはなく、復号鍵設定プログラム300の更新頻度をファームウェア100の更新頻度よりも高くすることが可能となる。したがって、例えば第三者がファームウェア100および復号鍵設定プログラム300を改竄してゲームを不正に実行できるようにしたとしても、早い時期に復号鍵設定プログラム300を更新し、新しい鍵を迅速に追加することができる。
 さらに、復号鍵設定プログラム300はファームウェア100とは異なり、ゲームの起動に特化して用いられるプログラムである。したがって、ゲームプログラム200を格納する記録媒体にゲームプログラム200とともに格納することでユーザに配布するという形態を取ることもできる。ゲームを実行しないユーザには復号鍵設定プログラム300は不要だからである。こうすると、ファームウェア100をインターネット等を通じて公開する場合と比較して、第三者が復号鍵設定プログラム300を入手する機会が少なくなり、当該プログラムが改竄されにくくなるという効果もある。また、復号鍵設定プログラム300はゲームプログラム200の起動前に呼び出され、処理が終わるとメモリから開放される。メモリ上に常駐しないため、第三者は当該プログラムを解析しにくいという効果もある。
 また、復号鍵設定プログラム300はファームウェア100の数十分の一程度の大きさのプログラムで足りる。したがって、例えばユーザが再生装置をインターネット等のネットワークに接続した場合に、新しい復号鍵設定プログラム300を自動でダウンロードして更新するようにしたとしても、ユーザにストレスを感じさせないという効果もある。ファームウェア100をダウンロードする場合とは異なり、短時間でダウンロードが終了するからである。
 以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 上記の説明において、ゲームの作成者が起動プログラムをあらかじめ暗号化すると説明した。ゲームの作成者は、起動プログラムを暗号化するのみならず、起動プログラムに電子署名を付加することもできる。この場合、起動プログラム復号部106は、起動プログラムを復号するとともに、デジタル署名の検証も行うようにすればよい。あるいは、起動プログラム復号部106内にデジタル署名検証部(図示しない)を設け、デジタル署名検証部がデジタル署名の検証も行うようにしてもよい。起動プログラムの暗号化に加えてデジタル署名も付すことにより、起動プログラムの改竄を検証できるようになる点で有利である。
 100 ファームウェア、 102 実行指示受付部、 104 復号鍵設定部、 106 起動プログラム復号部、 108 復号鍵記憶部、 110 ファームウェア側制御移行部、 200 ゲームプログラム、 202 ゲームプログラム起動部、 204 ゲームプログラム実行部、 206 ゲームプログラム側制御移行部、 210 ファームウェア検証部、 300 復号鍵設定プログラム、 304 復号鍵設定部、 308 復号鍵記憶部、 310 ファームウェア検証部、 400 メモリ。
 この発明は、コンテンツの起動制御に利用できる。

Claims (8)

  1.  コンテンツの起動に先立って、前記コンテンツの起動を制御するファームウェアが改竄されているか否かを確認するファームウェア検証ステップと、
     前記ファームウェアが改竄されていない場合、前記コンテンツを起動するための暗号化された起動プログラムを復号するための鍵を、前記ファームウェアに設定する復号鍵設定ステップと、
     鍵の設定された前記ファームウェアにより、暗号化された起動プログラムを復号する起動プログラム復号ステップとをプロセッサに実行させることを特徴とするコンテンツ起動方法。
  2.  前記ファームウェア検証ステップと前記復号鍵設定ステップとを実行するためのプログラムモジュールは、前記ファームウェアとは分離して提供されるものであり、
     前記ファームウェアはメモリに常駐される一方で、前記プログラムモジュールは、実行前に前記メモリに読み込まれ、実行後に前記メモリから解放されることを特徴とする請求項1に記載の方法。
  3.  コンテンツの起動に先立って、前記コンテンツの起動を制御するファームウェアが改竄されているか否かを確認するファームウェア検証部と、
     前記ファームウェアが改竄されていない場合、前記コンテンツを起動するための暗号化された起動プログラムを復号するための鍵を、前記ファームウェアに設定する復号鍵設定部と、
     鍵の設定された前記ファームウェアにより、暗号化された起動プログラムを復号する起動プログラム復号部とを含むことを特徴とするコンテンツ再生装置。
  4.  前記ファームウェア検証部と前記復号鍵設定部とは、前記ファームウェアとは分離して提供されるプログラムによって実現されるものであり、
     前記プログラムは、前記ファームウェアの更新頻度よりも高い頻度で更新されることを特徴とする請求項3に記載の装置。
  5.  前記プログラムは、前記コンテンツを格納する記録媒体に前記コンテンツとともに格納されて配布されることを特徴とする請求項4に記載の装置。
  6.  コンテンツの起動に先立って、前記コンテンツの起動を制御するファームウェアが改竄されているか否かを確認するファームウェア検証機能と、
     前記ファームウェアが改竄されていない場合、前記コンテンツを起動するための暗号化された起動プログラムを復号するための鍵を、前記ファームウェアに設定する復号鍵設定機能と、
     鍵の設定された前記ファームウェアにより、暗号化された起動プログラムを復号する起動プログラム復号機能とをコンピュータに実現させることを特徴とするプログラム。
  7.  コンテンツの起動に先立って、前記コンテンツを実行するコンテンツ再生装置の動作を制御するファームウェアが改竄されているか否かを確認するファームウェア検証機能と、
     前記ファームウェアが第三者に改竄されていないことが確認できた場合、あらかじめ前記コンテンツの作成者によって暗号化された、前記コンテンツを起動するための起動プログラムを復号する鍵を、複数の前記鍵を格納する復号鍵のデータベースから選択して取得する復号鍵取得機能とを前記再生装置のプロセッサに実現させることを特徴とする、前記ファームウェアとは分離して提供されるプログラム。
  8.  請求項7に記載のプログラムを記録した記録媒体。
PCT/JP2010/002849 2009-09-30 2010-04-20 コンテンツ起動方法、コンテンツ再生装置 Ceased WO2011039902A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/000,548 US20110213986A1 (en) 2009-09-30 2010-04-20 Method for Activating Content and Content Reproduction Apparatus
CN2010800015971A CN102089768A (zh) 2009-09-30 2010-04-20 内容启动方法、内容再现装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009226894A JP4702861B2 (ja) 2009-09-30 2009-09-30 コンテンツ起動方法、コンテンツ再生装置
JP2009-226894 2009-09-30

Publications (1)

Publication Number Publication Date
WO2011039902A1 true WO2011039902A1 (ja) 2011-04-07

Family

ID=43825756

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/002849 Ceased WO2011039902A1 (ja) 2009-09-30 2010-04-20 コンテンツ起動方法、コンテンツ再生装置

Country Status (4)

Country Link
US (1) US20110213986A1 (ja)
JP (1) JP4702861B2 (ja)
CN (1) CN102089768A (ja)
WO (1) WO2011039902A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3007094B1 (en) * 2014-10-08 2021-05-05 Nintendo Co., Ltd. Boot program, information processing apparatus, information processing system, information processing method, semiconductor apparatus, and program
US10182387B2 (en) * 2016-06-01 2019-01-15 At&T Intellectual Property I, L.P. Method and apparatus for distributing content via diverse networks
GB2554942B (en) * 2016-10-14 2018-11-21 Imagination Tech Ltd Verifying firmware binary images using a hardware design and formal assertions
CN112948838A (zh) * 2021-02-24 2021-06-11 长沙海格北斗信息技术有限公司 芯片加密启动方法、导航芯片及其接收机
JP7596898B2 (ja) 2021-04-01 2024-12-10 ブラザー工業株式会社 画像形成装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006038622A1 (ja) * 2004-10-06 2006-04-13 Nec Corporation コンテンツ配信システム
JP2006245704A (ja) * 2005-02-28 2006-09-14 Sony Corp 復号回路
JP2009169986A (ja) * 2009-05-07 2009-07-30 Panasonic Corp コンテンツ再生方法および情報処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11194708A (ja) * 1998-01-07 1999-07-21 Sony Corp 情報処理装置および方法、並びに伝送媒体
US7515718B2 (en) * 2000-12-07 2009-04-07 Igt Secured virtual network in a gaming environment
EP1429224A1 (en) * 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
KR100604828B1 (ko) * 2004-01-09 2006-07-28 삼성전자주식회사 펌웨어 암호화 방법 및 해독 방법과 그 처리 장치
JP4116024B2 (ja) * 2005-07-29 2008-07-09 株式会社ソニー・コンピュータエンタテインメント ペリフェラルの使用管理方法、電子システム及びその構成装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006038622A1 (ja) * 2004-10-06 2006-04-13 Nec Corporation コンテンツ配信システム
JP2006245704A (ja) * 2005-02-28 2006-09-14 Sony Corp 復号回路
JP2009169986A (ja) * 2009-05-07 2009-07-30 Panasonic Corp コンテンツ再生方法および情報処理装置

Also Published As

Publication number Publication date
JP2011076354A (ja) 2011-04-14
JP4702861B2 (ja) 2011-06-15
CN102089768A (zh) 2011-06-08
US20110213986A1 (en) 2011-09-01

Similar Documents

Publication Publication Date Title
US8539240B2 (en) Rights object authentication in anchor point-based digital rights management
US7089425B2 (en) Remote access authorization of local content
JP4798935B2 (ja) 長期にリニューアル可能なセキュリティを提供するコンテンツセキュリティ方法、その装置およびコンピュータ読取可能記憶媒体
CN1220121C (zh) 程序分发设备、客户设备、程序分发系统和程序分发方法
CA2679592C (en) Method, system and software product for transferring content to a remote device
KR20040103743A (ko) 콘텐츠 재생 장치 및 콘텐츠 재생 제어 방법
JP2004532495A5 (ja)
EP2979392B1 (en) A challenge-response method and associated client device
JP4702861B2 (ja) コンテンツ起動方法、コンテンツ再生装置
JP3863401B2 (ja) ソフトウェア処理装置
CN101615415A (zh) 信息处理装置和数据处理方法及程序
JP2012518972A (ja) 更新可能なコンテンツ保護を有するコンテンツ配布
JP2010157867A (ja) 動画再生コード生成装置、動画配信システム、実行形式プログラム、同プログラムを記録した記録媒体、サーバー、及び動画再生コード生成方法
US20100241863A1 (en) Device for reproducing digital content, secure electronic entity, system comprising said elements and method for reproducing digital content
KR20130034599A (ko) 정보 저장 디바이스, 정보 처리 디바이스, 정보 처리 시스템, 정보 처리 방법, 및 프로그램
JP2015135703A (ja) デジタル著作権制御用再帰的セキュリティプロトコルのための方法およびシステム
JP2009122923A (ja) 著作権保護システム、再生装置、及び再生方法
WO2009030888A1 (en) Delivery of digital content
KR20060024652A (ko) 암호화된 멀티미디어 파일을 저장하는 기억 장치 및 그파일의 재생 방법
AU2016202276B2 (en) Method, system and software product for transferring content to a remote device
JP2010061182A (ja) ソフトウェア管理方法、ソフトウェア管理装置およびソフトウェア管理プログラム
KR20110023699A (ko) 착탈형 메모리를 이용한 컨텐츠 보안 장치 및 이를 이용한 보안 방법
JP2006229672A (ja) コンテンツ再生装置、セキュア処理プログラム、セキュア処理プログラムが記録された記録媒体、権利管理プログラム、及び権利管理プログラムが記録された記録媒体
HK1137544B (en) Method, system and software product for transferring content to a remote device
JP2009020904A (ja) サービス提供システム、サービス提供方法、及びサービス提供プログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080001597.1

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 13000548

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10820029

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10820029

Country of ref document: EP

Kind code of ref document: A1