説明

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

【課題】再生装置におけるプログラムの実行を適切に制御するための技術を提供する。
【解決手段】ファームウェア検証部310は、コンテンツの起動に先立って、前記コンテンツの起動を制御するファームウェアが改竄されているか否かを確認する。復号鍵設定部304は、前記ファームウェアが改竄されていない場合、前記コンテンツを起動するための暗号化された起動プログラムを復号するための鍵を、前記ファームウェアに設定する。起動プログラム復号部106は、鍵の設定された前記ファームウェアにより、暗号化された起動プログラムを復号する。

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

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

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate


【公開番号】特開2011−76354(P2011−76354A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−226894(P2009−226894)
【出願日】平成21年9月30日(2009.9.30)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】