情報処理装置、情報処理装置の制御方法、プログラム、及び情報記憶媒体
【課題】アプリケーション又はコンテンツがコピーされた非正規装置におけるアプリケーション又はコンテンツの利用を制限することが可能な情報処理装置を提供すること。
【解決手段】格納状況情報格納部32は、記憶部30に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、アプリケーション又はコンテンツの構成要素の一部として記憶部30に格納する。実行制限部34は、アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はコンテンツの現在の格納状況が格納状況情報が示す格納状況と異なる場合に、該アプリケーション又はコンテンツの実行を制限する。
【解決手段】格納状況情報格納部32は、記憶部30に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、アプリケーション又はコンテンツの構成要素の一部として記憶部30に格納する。実行制限部34は、アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はコンテンツの現在の格納状況が格納状況情報が示す格納状況と異なる場合に、該アプリケーション又はコンテンツの実行を制限する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置、情報処理装置の制御方法、プログラム、及び情報記憶媒体に関する。
【背景技術】
【0002】
アプリケーション又はコンテンツを実行する情報処理装置が知られている。このような情報処理装置に関しては、アプリケーション又はコンテンツを正規に利用可能な情報処理装置(ここでは「正規装置」と呼ぶ。)以外の情報処理装置(ここでは「非正規装置」と呼ぶ。)にコピーされたアプリケーション又はコンテンツが利用されるのを制限するための技術が提案されている。
【0003】
具体的には、サーバにおいて、情報処理装置のIDと、該情報処理装置で正規に利用可能なアプリケーション又はコンテンツのIDと、を対応づけて記憶しておき、情報処理装置でアプリケーション又はコンテンツが利用される場合に、情報処理装置のIDと、アプリケーション又はコンテンツのIDと、の組み合わせをサーバで照合することによって、アプリケーション又はコンテンツが非正規装置において利用されるのを制限する技術が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−282238号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の技術では、アプリケーション又はコンテンツがコピーされている非正規装置において、該非正規装置のIDとして、正規装置のIDが偽装されてしまうと、アプリケーション又はコンテンツの利用を制限することができなかった。
【0006】
本発明は上記課題に鑑みてなされたものであって、アプリケーション又はコンテンツが複製されている非正規装置におけるアプリケーション又はコンテンツの利用を制限することが可能な情報処理装置、情報処理装置の制御方法、プログラム、及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係る情報処理装置は、記憶手段に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、前記アプリケーション又はコンテンツの構成要素の一部として前記記憶手段に格納する格納状況情報格納手段と、前記アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はコンテンツの現在の格納状況が前記格納状況情報が示す格納状況と異なる場合に、前記実行を制限する実行制限手段と、を含むことを特徴とする。
【0008】
また、本発明に係る情報処理装置の制御方法は、記憶手段に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、前記アプリケーション又はコンテンツの構成要素の一部として前記記憶手段に格納する格納状況情報格納ステップと、前記アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はデータの現在の格納状況が前記格納状況情報が示す格納状況と異なる場合に、前記実行を制限する実行制限ステップと、を含むことを特徴とする。
【0009】
また、本発明に係るプログラムは、記憶手段に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、前記アプリケーション又はコンテンツの構成要素の一部として前記記憶手段に格納する格納状況情報格納手段、及び、前記アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はデータの現在の格納状況が前記格納状況情報が示す格納状況と異なる場合に、前記実行を制限する実行制限手段、としてコンピュータを機能させるためのプログラムである。
【0010】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0011】
また、本発明の一態様では、前記格納状況情報は、前記アプリケーション又はコンテンツの所定の構成要素の格納位置を示す情報を含み、前記実行制限手段は、前記アプリケーション又はコンテンツの実行が指示された場合において、前記所定の構成要素が前記格納状況情報が示す格納位置に格納されていない場合に、前記実行を制限する手段を含むようにしてもよい。
【0012】
また、本発明の一態様では、前記格納手段は、前記格納状況情報を前記所定の構成要素の格納位置と所定の位置関係を有する位置に格納するようにしてもよい。
【0013】
また、本発明の一態様では、ユーザ識別情報とユーザパスワードとを入力するように前記ユーザに案内する案内手段と、前記ユーザによって入力されたユーザ識別情報及びユーザパスワードが、ユーザ識別情報とユーザパスワードとを対応づけて記憶してなるユーザ情報記憶手段に照らして正当であると判定された場合に、前記記憶手段に格納される前記格納状況情報を、前記アプリケーション又はコンテンツの現在の格納状況を示す情報に更新する格納状況情報更新手段と、を含むようにしてもよい。
【0014】
また、本発明の一態様では、前記格納状況情報は、前記アプリケーション又はコンテンツが格納された前記記憶手段の最大記憶容量を示す情報を含み、前記実行制限手段は、前記アプリケーション又はコンテンツの実行が指示された場合において、前記アプリケーション又は前記データが格納された前記記憶手段の最大記憶容量が前記格納状況情報が示す最大記憶容量と異なる場合に、前記実行を制限する手段を含むようにしてもよい。
【0015】
また、本発明の一態様では、ユーザ識別情報とユーザパスワードとを入力するように前記ユーザに案内する手段と、前記ユーザによって入力されたユーザ識別情報及びユーザパスワードが、ユーザ識別情報とユーザパスワードとを対応づけて記憶してなるユーザ情報記憶手段に照らして正当であると判定された場合に、前記記憶手段に格納される前記格納状況情報を、前記アプリケーション又はコンテンツが現在格納されている前記記憶手段の最大記憶容量を示す情報に更新する手段と、を含むようにしてもよい。
【発明の効果】
【0016】
本発明によれば、アプリケーション又はコンテンツが複製されている非正規装置におけるアプリケーション又はコンテンツの利用を制限することが可能になる。
【図面の簡単な説明】
【0017】
【図1】アプリケーション又はコンテンツの提供システムの全体構成を示す図である。
【図2】ユーザテーブルの一例を示す図である。
【図3】本発明の実施形態に係る情報処理装置の機能ブロック図である。
【図4】記憶部の格納内容の一例を示す図である。
【図5】記憶部の格納内容の他の一例を示す図である。
【図6】記憶部の格納内容の他の一例を示す図である。
【図7】記憶部の格納内容の他の一例を示す図である。
【図8】情報処理装置で実行される処理の一例を示すフロー図である。
【図9】情報処理装置で実行される処理の一例を示すフロー図である。
【図10】記憶部の格納内容の他の一例を示す図である。
【図11】記憶部の格納内容の他の一例を示す図である。
【図12】情報処理装置及びサーバで実行される処理の一例を示す図である。
【図13】記憶部の格納内容の他の一例を示す図である。
【図14】情報処理装置で実行される処理の一例を示すフロー図である。
【図15】情報処理装置で実行される処理の一例を示すフロー図である。
【図16】記憶部の格納内容の他の一例を示す図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。
【0019】
図1は、アプリケーション(アプリケーションソフトウェア)又はコンテンツの提供システムの全体構成を示している。図1に示すように、アプリケーション又はコンテンツの提供システム1は、本発明の実施形態に係る情報処理装置10と、配信システム20と、を含んでいる。情報処理装置10及び配信システム20は、例えばインターネット等を含んで構成される通信ネットワーク2に接続され、相互にデータ通信が可能になっている。
【0020】
配信システム20は1又は複数のサーバコンピュータを含む。図1に示す例では、配信システム20はサーバ22とデータベース24とを含んでいる。サーバ22はアプリケーション又はコンテンツを情報処理装置10に配信するための装置である。なお、「コンテンツ」とは、例えば、電子書籍、画像、映像、又は音楽等である。
【0021】
サーバ22は、情報処理装置10から受信した処理要求に基づく処理を実行する。例えば、サーバ22は、制御部(例えばCPU等)、主記憶部(例えばRAM等)、補助記憶部(例えばハードディスク又はソリッドステートドライブ)、及び通信インタフェース等を備えている。
【0022】
サーバ22はデータベース24にアクセスできるようになっている。データベース24には、例えば、アプリケーション又はコンテンツの提供システム1を利用するユーザに関するデータや、アプリケーション又はコンテンツの提供システム1で提供されているアプリケーション又はコンテンツに関するデータ等が記憶される。なお、データベース24はサーバ22とは別のサーバコンピュータ内に構築されていてもよいし、サーバ22に構築されていてもよい。
【0023】
情報処理装置10はアプリケーション又はコンテンツを楽しむために使用する情報処理装置である。情報処理装置10は、例えばパーソナルコンピュータ、携帯電話機、又は携帯情報端末等である。
【0024】
図1に示すように、情報処理装置10は、制御部11、主記憶部12、補助記憶部13、操作部14、通信インタフェース15、表示部16、音声出力部17、及び光ディスクドライブ部18を備えている。
【0025】
制御部11は例えば1又は複数のCPUを含み、補助記憶部13に記憶されたオペレーションシステム又はプログラムに従って情報処理を実行する。主記憶部12は例えばRAMであり、補助記憶部13は例えばハードディスク又はソリッドステートドライブである。操作部14は例えばキー、マウス、スティック、又はタッチパネル等である。通信インタフェース15は情報処理装置10を通信ネットワーク2に接続するためのインタフェースである。表示部16は例えば液晶表示ディスプレイ等であり、音声出力部17は例えばスピーカ等である。光ディスクドライブ部18は、光ディスク(情報記憶媒体)に記憶されたプログラムやデータを読み取る。
【0026】
なお例えば、プログラムやデータは光ディスクを介して補助記憶部13に供給される。すなわち、プログラムやデータが記憶された光ディスクが光ディスクドライブ部18に装着され、光ディスクに記憶されたプログラムやデータが光ディスクドライブ部18によって読み出され、補助記憶部13に記憶される。なお、光ディスクドライブ部18は必須の構成要素ではない。光ディスク以外の情報記憶媒体(例えばメモリカード)に記憶されたプログラム又はデータを読み取るための構成要素が光ディスクドライブ部18の代わりに含まれるようにしてもよい。そして、光ディスク以外の情報記憶媒体を介してプログラムやデータが補助記憶部13に供給されるようにしてもよい。または、プログラム及びデータは通信ネットワーク2を介して補助記憶部13に供給されるようにしてもよい。
【0027】
本実施形態の場合、例えば、サーバ22ではデーモンプログラム(例えばHTTPデーモン)が起動される。また、情報処理装置10では、サーバ22にアクセスするためのアプリケーションが起動される。このアプリケーションによって、処理要求(例えばHTTPリクエスト)が情報処理装置10からサーバ22に送信される。また、サーバ22からは、上記の処理要求に対応する処理結果(例えばHTTPレスポンス)が情報処理装置10に送信される。例えば、所定の記述言語(例えばウェブページ記述言語)で記述されたページデータが情報処理装置10に送信される。そして、このページデータに基づいて、処理結果に基づく画面が情報処理装置10の表示部に表示される。
【0028】
上記の提供システム1ではアプリケーション又はコンテンツが販売される。例えば、提供システム1では、コンテンツデータと、コンテンツデータをユーザに提供するためのプログラムと、を含んでなるアプリケーションソフトウェアが販売される。また例えば、提供システム1では、所定のプログラムによって再生可能なコンテンツデータが販売される。アプリケーション又はコンテンツを入手しようとするユーザは情報処理装置10からサーバ22にアクセスして、アプリケーション又はコンテンツを購入する。
【0029】
なお、アプリケーション又はコンテンツを購入する際にはユーザ認証画面(図示せず)が表示部16に表示される。ユーザ認証画面では、ユーザID及びユーザパスワードを入力するようにユーザに要求される。ユーザ認証画面で入力されたユーザID及びユーザパスワードは情報処理装置10からサーバ22に送信され、サーバ22において、データベース24に記憶されるユーザテーブルに照らして、ユーザID及びユーザパスワードの組み合わせが正当であるか否かが判定される。
【0030】
図2は、データベース24に記憶されるユーザテーブルの一例を示している。図2に示すユーザテーブルは、「ユーザID」、「ユーザパスワード」、「クレジットカード情報」、「アプリケーション/コンテンツ情報」フィールドを含んでいる。なお、「アプリケーション/コンテンツ情報」フィールドには、ユーザが正規に入手(購入)したアプリケーション又はコンテンツのID(識別情報)のリストが登録される。
【0031】
ユーザ認証画面で入力されたユーザID及びユーザパスワードの組み合わせが正当であると判定された場合、例えば、「クレジットカード情報」フィールドに登録された情報に基づいて決済処理が実行される。そして、決済処理が完了すると、購入されたアプリケーション又はコンテンツが情報処理装置10にダウンロードされ、補助記憶部13にインストールされる。
【0032】
以下、正規にアプリケーション又はコンテンツがダウンロードされた情報処理装置10(正規装置)に記憶されたアプリケーション又はコンテンツが他の情報処理装置10(非正規装置)にコピーされた場合において、非正規装置におけるアプリケーション又はコンテンツの利用を制限するための技術について説明する。なお、以下では、説明の簡便のため、上記の「アプリケーション又はコンテンツ」が、コンテンツ(例えば電子書籍)を見るためのビューアアプリケーションである場合について主に説明する。このビューアアプリケーションは、コンテンツデータと、コンテンツデータを表示部16に表示するためのプログラムと、を含んでなるアプリケーションであることとする。
【0033】
図3は、本実施形態に係る情報処理装置10において実現される機能ブロックのうち、本発明に関連する機能ブロックを示す機能ブロック図である。図3に示すように、情報処理装置10は、記憶部30、格納状況情報格納部32、実行制限部34、ユーザ認証情報入力案内部36、及び格納状況情報更新部38について説明する。
【0034】
例えば、記憶部30は補助記憶部13である。また、格納状況情報格納部32、実行制限部34、ユーザ認証情報入力案内部36、及び格納状況情報更新部38は制御部11によって実現される。すなわち、制御部11がプログラムに従って処理を実行することによって、制御部11が、格納状況情報格納部32、実行制限部34、ユーザ認証情報入力案内部36、及び格納状況情報更新部38として機能するようになる。
【0035】
なお以下では、まず、記憶部30、格納状況情報格納部32、及び実行制限部34について説明する。そして、記憶部30、格納状況情報格納部32、及び実行制限部34の説明が完了した後で、ユーザ認証情報入力案内部36、及び格納状況情報更新部38について説明する。
【0036】
記憶部30について説明する。記憶部30には、配信システム20からダウンロードされたアプリケーション又はコンテンツが格納される。図4は記憶部30の格納内容の一例を示している。図4に示す例は、アプリケーションA,Bと、ビューアアプリケーションと、が記憶部30にインストールされている状態を示している。ビューアアプリケーションは、ビューアプログラムと、コンテンツデータと、セキュアデータと、を含んでいる。
【0037】
セキュアデータは、ビューアアプリケーション以外のアプリケーションがアクセスできないように守られたデータである。ビューアアプリケーションを実行するために重要な各種情報が暗号化された状態でセキュアデータに格納される。例えば、セキュアデータにはシークレットトークンが含まれる。シークレットトークンは、ビューアアプリケーション(コンテンツ)を実行する際にキーとなる情報である。シークレットトークンは、特別な規則に則って生成された情報列であり、他の情報と区別可能な情報列である。ここでは、シークレットトークンが5つの記号からなる記号列であることとして説明する。なお、ここで、「記号」とは広義の記号を意味し、「記号」には例えば文字や符号類(狭義の記号)等が含まれる。図4に示す例は、シークレットトークンが「abcde」である場合を示している。なお、図4において「121」〜「125」はシークレットトークンが格納される位置(アドレス)を示している。
【0038】
格納状況情報格納部32について説明する。格納状況情報格納部32は、記憶部30に格納(インストール)されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報をアプリケーション又はコンテンツの構成要素の一部として記憶部30に格納する。
【0039】
「所定の基準タイミング」は、少なくとも現時点よりも前の所定のタイミングである。例えば、「所定の基準タイミング」は、アプリケーション又はコンテンツが記憶部30に格納(インストール)されたタイミングである。または、「所定の基準タイミング」は、例えば、記憶部30に格納(インストール)されたアプリケーション又はコンテンツが最初に実行されたタイミングであってもよい。
【0040】
また、「格納状況情報」は、例えば、アプリケーション又はコンテンツの所定の構成要素の記憶部30における格納位置(記憶媒体上における物理記憶位置)を示す情報を含む。
【0041】
また、「格納状況情報をアプリケーション又はコンテンツの構成要素の一部として記憶部30に格納する」とは、アプリケーション又はコンテンツが他の情報処理装置10にコピーされる場合には格納状況情報がアプリケーション又はコンテンツ本体とともに一体としてコピーされるように、格納状況情報を記憶部30に格納することを意味している。
【0042】
格納状況情報格納部32は、アプリケーション又はコンテンツが格納された領域のうちの所定の位置に格納状況情報を格納する。ここで、「所定の位置」とは、例えば、所定の構成要素の格納位置と所定の位置関係を有する位置である。なお、「所定の位置」とは、例えば、アプリケーション又はコンテンツが格納された領域のうちの先頭位置であってもよい。
【0043】
ここで、例えば、図4に示すようなビューアアプリケーションが記憶部30にインストールされており、かつ、シークレットトークンが「所定の構成要素」に相当している場合を想定して、格納状況情報格納部32の動作の具体例について説明する。図5及び図6は、格納状況情報格納部32の動作の具体例について説明するための図である。なお、図5及び図6において、「121」〜「130」は記憶部30における位置(アドレス)を示している。
【0044】
例えば、ビューアアプリケーションが記憶部30にインストールされる場合、シークレットトークンの末尾にダミーコードを付加してなる記号列(文字列)がセキュアデータ内に設定される(図5参照)。図5に示す例の場合、「abcde」がシークレットトークンに相当しており、「xxxxx」がダミーコードに相当している。
【0045】
なお、後述するように、ダミーコードが格納されている領域は、格納状況情報(すなわち、シークレットトークンの格納位置を示す情報)を格納するために用いられる。つまり、ダミーコードは、格納状況情報を格納するための領域を確保する役割を果たしている。このため、ダミーコードのサイズ(長さ)は格納状況情報のサイズを考慮して設定される。
【0046】
格納状況情報格納部32は、所定の基準タイミングにおいて、シークレットトークンの格納位置を取得し、該格納位置を示す格納状況情報を、ダミーコードが格納された領域に格納する(図6参照)。この場合、ダミーコードが、シークレットトークンの格納位置を示す格納状況情報によって上書きされる。なお、格納状況情報は暗号化される。
【0047】
図6に示すように、この場合、格納状況情報が、シークレットトークンの格納位置の直後に格納されることになる。なお、格納状況情報の格納位置と、シークレットトークン(所定の構成要素)の格納位置と、の位置関係は図6に示した例に限られない。例えば、格納状況情報が、シークレットトークンの格納位置の直前に格納されるようにしてもよい。また、シークレットトークンの格納位置と所定の位置関係を有する位置であれば、シークレットトークンの格納位置とは離れた位置に格納状況情報が格納されるようにしてもよい。
【0048】
実行制限部34について説明する。アプリケーション又はコンテンツの実行が指示された場合、実行制限部34は、該アプリケーション又はコンテンツの現在の格納状況が格納状況情報が示す格納状況と異なっているか否かを判定する。そして、実行制限部34は、アプリケーション又はコンテンツの現在の格納状況が格納状況情報が示す格納状況と異なっている場合、該アプリケーション又はコンテンツの実行を制限する。言い換えれば、実行制限部34は、アプリケーション又はコンテンツの現在の格納状況が格納状況情報が示す格納状況と一致している場合に、該アプリケーション又はコンテンツの実行を許可する。
【0049】
例えば、アプリケーション又はコンテンツの所定の構成要素の格納位置を示す情報が格納状況情報に含まれる場合、実行制限部34は、アプリケーション又はコンテンツの所定の構成要素が格納状況情報が示す格納位置に格納されているか否かを判定する。そして、アプリケーション又はコンテンツの所定の構成要素が格納状況情報が示す格納位置に格納されていない場合、実行制限部34は該アプリケーション又はコンテンツの実行を制限する。
【0050】
例えば、記憶部30の格納内容が図6に示すようになっている状態において、ユーザが操作部14を用いてビューアアプリケーションの実行を指示した場合、実行制限部34は、ビューアアプリケーションのシークレットトークン(所定の構成要素)の格納位置と、格納状況情報が示す格納位置と、が異なっているか否かを判定する。そして、ビューアアプリケーションのシークレットトークンの格納位置と、格納状況情報が示す格納位置と、が異なっている場合、実行制限部34はビューアアプリケーションの実行を制限(抑止)する。一方、ビューアアプリケーションのシークレットトークンの格納位置と、格納状況情報が示す格納位置と、が異なっていない場合、実行制限部34はビューアアプリケーションの実行を許可する。
【0051】
ここで、正規にビューアアプリケーションがダウンロードされた情報処理装置10(正規装置)の記憶部30に格納されたビューアアプリケーションが他の情報処理装置10(非正規装置)の記憶部30にコピーされた場合を想定する。図7は、非正規装置の記憶部30の格納内容の一例を示している。なお、図7において、「61」〜「64」は記憶部30における位置(アドレス)を示している。
【0052】
正規装置の記憶部30に記憶されたビューアアプリケーションが非正規装置の記憶部30がコピーされた場合、ビューアアプリケーションが、正規装置の記憶部30における格納位置と全く同じ位置に格納される可能性は極めて低い。このため、図7に示すように、ビューアアプリケーションのシークレットトークンは、正規装置の記憶部30における格納位置(アドレス121〜125)とは異なる位置(例えばアドレス61〜65)に格納される。その結果、非正規装置でビューアアプリケーションの実行が指示されたとしても、シークレットトークンの実際の格納位置(アドレス61〜65)と、格納状況情報が示す格納位置(アドレス121〜125)と、が異なるため、ビューアアプリケーションの実行が制限(抑止)される。
【0053】
このように、本実施形態に係る情報処理装置10によれば、正規にアプリケーション又はコンテンツがダウンロードされた情報処理装置10(正規装置)に格納されたアプリケーション又はコンテンツが他の情報処理装置10(非正規装置)にコピーされた場合において、非正規装置におけるアプリケーション又はコンテンツの利用を制限することが可能になる。
【0054】
以上に説明した格納状況情報格納部32及び実行制限部34は制御部11がプログラムに従って処理を実行することによって実現される。ここで、格納状況情報格納部32及び実行制限部34を実現するための処理について説明する。図8及び図9は、格納状況情報格納部32及び実行制限部34を実現するための処理を示すフロー図である。
【0055】
図8は、正規に入手されたビューアアプリケーションが情報処理装置10にインストールされた後、ビューアアプリケーションの初回起動時に実行される処理の一例を示している。一方、図9は、ビューアアプリケーションの2回目以降の起動時に実行される処理の一例を示している。制御部11がビューアアプリケーション(ビューアプログラム)に従って、図8及び図9に示す処理を実行することによって、制御部11は格納状況情報格納部32及び実行制限部34として機能するようになる。
【0056】
図8に示す処理について説明する。図8に示すように、ビューアアプリケーションの初回起動時において、まず、制御部11はシークレットトークンの格納位置を取得する(S101)。
【0057】
その後、制御部11(格納状況情報格納部32)は、ステップS101で取得された格納位置を示す格納状況情報を暗号化し、暗号化された格納状況情報を、シークレットトークンの直後に確保された領域に格納する(S102)。すなわち、制御部11は、暗号化された格納状況情報を、ダミーコードが格納された領域に格納する。また、制御部11はビューアアプリケーションの格納位置も補助記憶部13に保存しておく(S103)。その後、制御部11はコンテンツデータを表示部16に表示させるための処理を実行する(S104)。
【0058】
図9に示す処理について説明する。図9に示すように、ビューアアプリケーションの2回目以降の起動時において、まず、制御部11はシークレットトークンの実際の格納位置を取得する(S201)。また、制御部11は、シークレットトークンの直後に格納された格納状況情報を読み出す(S202)。そして、制御部11は、シークレットトークンの実際の格納位置と、格納状況情報が示す格納位置と、が一致しているか否かを判定する(S203)。
【0059】
シークレットトークンの実際の格納位置と、格納状況情報が示す格納位置と、が一致している場合、制御部11はコンテンツデータを表示部16に表示させるための処理を実行する(S204)。一方、シークレットトークンの実際の格納位置と、格納状況情報が示す格納位置と、が一致していない場合、制御部11(実行制限部34)はエラーメッセージを表示部16に表示し(S205)、ビューアアプリケーションの起動を中止する(言い換えれば、コンテンツデータの表示部16への表示を抑止する)。
【0060】
以上説明したように、本実施形態に係る情報処理装置10によれば、正規にアプリケーション又はコンテンツがダウンロードされた情報処理装置10(正規装置)に記憶されたアプリケーション又はコンテンツが他の情報処理装置10(非正規装置)にコピーされた場合において、非正規装置におけるアプリケーション又はコンテンツの利用を制限することが可能になる。
【0061】
ところで、正規にアプリケーション又はコンテンツがダウンロードされた情報処理装置10(正規装置)において、例えばデフラグが実行された場合(すなわち、記憶部30の空き領域の断片化を解消するために記憶部30内のデータの再配置が実行された場合)には、アプリケーション又はコンテンツの格納位置が変化してしまう場合がある。この場合、アプリケーション又はコンテンツの実際の格納位置と、格納状況情報が示す格納位置と、が異なってしまうことによって、該アプリケーション又はコンテンツの実行が制限されてしまう。その結果、ユーザはアプリケーション又はコンテンツを正規に入手したにも関わらず、該アプリケーション又はコンテンツを利用できなってしまう。
【0062】
図10は、記憶部30の状態が図6に示す状態においてデフラグが実行された場合の記憶部30の状態の一例を示している。図10に示す状態では、図6と比べて、シークレットトークンの格納位置が変化している。この場合、シークレットトークンの実際の格納位置(アドレス101〜105)と、格納状況情報が示す格納位置(アドレス121〜125)とが異なっているため、ビューアアプリケーションが起動されなくなってしまう。
【0063】
上記のような状態になってしまった場合にも、正当なユーザがアプリケーション又はコンテンツを利用できるように担保する必要がある。ユーザ認証情報入力案内部36と格納状況情報更新部38はそのための機能ブロックである。
【0064】
ユーザ認証情報入力案内部36について説明する。ユーザ認証情報入力案内部36は、ユーザID(ユーザ識別情報)とユーザパスワードとを入力するようにユーザに案内する。例えば、ユーザ認証情報入力案内部36は、ユーザID及びユーザパスワードを入力するためのユーザ認証画面を表示部16に表示させる。
【0065】
格納状況情報更新部38について説明する。格納状況情報更新部38は、ユーザによって入力されたユーザID及びユーザパスワードが正当であると判定された場合に、アプリケーション又はコンテンツの構成要素の一部として記憶部30に格納される格納状況情報を、アプリケーション又はコンテンツの現在の格納状況を示す格納状況情報に更新する。
【0066】
なお、ユーザによって入力されたユーザID及びユーザパスワードが正当であるか否かの判定は、例えば、配信システム20(サーバ22)において行われる(詳細については後述する:図12参照)。
【0067】
ユーザ認証情報入力案内部36及び格納状況情報更新部38によれば、記憶部30の状態が例えば図10に示したような状態になったとしても、正当なユーザは記憶部30の状態を図11に示すような状態にすることが可能になる。図11に示す状態では、シークレットトークンの実際の格納位置(アドレス101〜105)と、格納状況情報が示す格納位置(アドレス110〜105)とが一致しているため、ビューアアプリケーションが起動するようになる。その結果、ユーザがビューアアプリケーションを利用できるようになる。
【0068】
ここで、ユーザ認証情報入力案内部36と格納状況情報更新部38を実現するために情報処理装置10で実行される処理について説明する。図12は、ユーザ認証情報入力案内部36と格納状況情報更新部38を実現するための処理を示すフロー図である。図12は、例えば、図9のステップS205でエラーメッセージが表示され、ビューアアプリケーションの実行が中止された場合に実行される処理の一例を示している。制御部11がビューアアプリケーション(ビューアプログラム)に従って、図12に示す処理を実行することによって、制御部11はユーザ認証情報入力案内部36と格納状況情報更新部38として機能するようになる。
【0069】
図12に示すように、まず、制御部11(ユーザ認証情報入力案内部36)はユーザ認証画面を表示部16に表示する(S301)。ユーザ認証画面では、ユーザID及びユーザパスワードを入力するようにユーザに要求される。制御部11は、ユーザ認証画面で入力されたユーザID及びユーザパスワードと、ビューアアプリケーションのIDと、をサーバ22に送信する(S302)。
【0070】
ユーザID、ユーザパスワード、及びビューアアプリケーションのIDがサーバ22で受信された場合、サーバ22の制御部は、データベース24(ユーザ認証情報記憶手段)に記憶されるユーザテーブル(図2)を参照して、受信されたユーザID及びユーザパスワードの組み合わせが正当であるか否かを判定する(S303)。受信されたユーザID及びユーザパスワードの組み合わせがユーザテーブルに登録されている場合、受信されたユーザID及びユーザパスワードの組み合わせが正当であると判定される。
【0071】
また、サーバ22の制御部は、受信されたユーザIDのユーザがビューアアプリケーションを購入したユーザであるか否かを判定する(S304)。すなわち、制御部はユーザテーブルを参照して、受信されたユーザIDに対応づけられた「アプリケーション/コンテンツ情報」フィールドに登録されたアプリケーション又はコンテンツのIDのリストに、受信されたビューアアプリケーションのIDが含まれているか否かを判定する。アプリケーション又はコンテンツのIDのリストに、受信されたビューアアプリケーションのIDが含まれている場合、ユーザがビューアアプリケーションを購入したユーザであると判定される。
【0072】
サーバ22の制御部はステップS303及びS304における判定結果を通知するための通知情報を情報処理装置10に送信する(S305)。通知情報が情報処理装置10で受信された場合、制御部11は、ユーザID及びユーザパスワードの組み合わせが正当であり、かつ、ユーザがビューアアプリケーションを購入したユーザであるとの判定結果がサーバ22から通知されたか否かを判定する(S306)。
【0073】
ユーザID及びユーザパスワードの組み合わせが正当であり、かつ、ユーザがビューアアプリケーションを購入したユーザであるとの判定結果がサーバ22から通知された場合、制御部11は、ビューアアプリケーションのシークレットトークンの現在の格納位置を取得する(S307)。そして、制御部11(格納状況情報更新部38)は、S307で取得された格納位置を示す情報を暗号化し、暗号化された該情報によって、シークレットトークンが格納された領域の直後の領域に格納された格納状況情報を更新する(S308)。そして、制御部11はコンテンツデータを表示部16に表示させるための処理を実行する(S309)。
【0074】
一方、ユーザID及びユーザパスワードの組み合わせが正当でないとの判定結果、又は、ユーザがビューアアプリケーションを購入したユーザでないとの判定結果がサーバ22から通知された場合、制御部11はエラーメッセージを表示部16に表示し(S310)、ビューアアプリケーションの起動を中止する。
【0075】
以上のようにすることによって、デフラグの実行等によって、アプリケーション又はコンテンツの実際の格納位置と、格納状況情報が示す格納位置と、が異なる状態になってしまった場合であっても、該アプリケーション又はコンテンツを正規に入手したユーザが該アプリケーション又はコンテンツを利用できるように担保することが可能になる。
【0076】
なお、本発明は以上に説明した実施形態に限定されるものではない。
【0077】
[1]例えば、「格納状況情報」は、アプリケーション又はコンテンツが格納されている記憶部30(補助記憶部13)に関する情報を含むようにしてもよい。具体的には、「格納状況情報」は、アプリケーション又はコンテンツが格納されている記憶部30の最大記憶容量(例えば最大物理記憶容量)を示す情報を含むようにしてもよい。
【0078】
[1−1]図13は、格納状況情報が、アプリケーション又はコンテンツの所定の構成要素の記憶部30における格納位置を示す情報(アドレス126〜130)と、アプリケーション又はコンテンツが格納されている記憶部30の最大記憶容量を示す情報(アドレス131〜135)と、を含む場合の記憶部30の格納内容の一例を示している。
【0079】
この場合、図8に示す処理の代わりに、図14に示す処理が実行される。また、図9に示す処理の代わりに、図15に示す処理が実行される。
【0080】
図14に示す処理について説明する。図14のステップS401は図8のステップS101と同様である。ステップS401の処理が実行された後、制御部11は、ビューアアプリケーションがインストールされている記憶部30の最大記憶容量を取得する(S402)。そして、制御部11(格納状況情報格納部32)は、ステップS401で取得された格納位置と、ステップS402で取得された最大記憶容量と、を示す格納状況情報を暗号化し、暗号化された格納状況情報を、シークレットトークンの直後に確保された領域に格納する(S403)。また、制御部11はビューアアプリケーションの格納位置も補助記憶部13に保存しておく(S404)。その後、制御部11はコンテンツデータを表示部16に表示させるための処理を実行する(S405)。
【0081】
図15に示す処理について説明する。図15のステップS501は図9のステップS201と同様である。ステップS501の処理が実行された後、制御部11は、ビューアアプリケーションがインストールされている記憶部30の最大記憶容量を取得する(S502)。
【0082】
また、制御部11は、シークレットトークンの直後に格納された格納状況情報を読み出す(S503)。そして、制御部11は、シークレットトークンの実際の格納位置と、格納状況情報が示す格納位置と、が一致しているか否かを判定する(S504)。
【0083】
シークレットトークンの実際の格納位置と、格納状況情報が示す格納位置と、が一致している場合、制御部11は、ビューアアプリケーションがインストールされている記憶部30の最大記憶容量と、格納状況情報が示す最大記憶容量と、が一致しているか否かを判定する(S505)。
【0084】
ビューアアプリケーションがインストールされている記憶部30の最大記憶容量と、格納状況情報が示す最大記憶容量と、が一致している場合、制御部11はコンテンツデータを表示部16に表示させるための処理を実行する(S506)。
【0085】
ステップS504において、シークレットトークンの実際の格納位置と、格納状況情報が示す格納位置と、が一致していないと判定された場合、又は、ステップS505において、ビューアアプリケーションがインストールされている記憶部30の最大記憶容量と、格納状況情報が示す最大記憶容量と、が一致していないと判定された場合、制御部11(実行制限部34)はエラーメッセージを表示部16に表示し(S507)、ビューアアプリケーションの起動を中止する(言い換えれば、コンテンツデータの表示部16への表示を抑止する)。
【0086】
ここで、正規にビューアアプリケーションがダウンロードされた情報処理装置10(正規装置)の記憶部30に格納されたビューアアプリケーションが他の情報処理装置10(非正規装置)の記憶部30にコピーされた場合を想定する。
【0087】
正規装置の記憶部30に記憶されたビューアアプリケーションが非正規装置の記憶部30がコピーされた場合、正規装置の記憶部30の最大記憶容量と、非正規装置の記憶部30の最大記憶容量と、が全く一致する可能性は極めて低い。その結果、非正規装置でビューアアプリケーションの実行が指示されたとしても、ビューアアプリケーションが格納された記憶部30(非正規装置の記憶部30)の最大記憶容量と、格納状況情報が示す格納位置(正規装置の記憶部30)の最大記憶容量と、が異なるため、ビューアアプリケーションの実行が制限(抑止)されるようになる。すなわち、以上のようにすれば、正規装置に記憶されたアプリケーション又はコンテンツが非正規装置にコピーされた場合において、非正規装置におけるアプリケーション又はコンテンツの利用をより確実に制限できるようになる。
【0088】
なお、図15のステップS507でエラーメッセージが表示され、ビューアアプリケーションの実行が中止された場合、先述の図12に示す処理が実行されるようにしてもよい。またこの場合、図12のステップS307において、制御部11は、シークレットトークンの現在の格納位置を取得するとともに、ビューアアプリケーションがインストールされている記憶部30の最大記憶容量を取得するようにしてもよい。そして、ステップS308において、制御部11は、ステップS307で取得された格納位置及び最大記憶容量を示す格納状況情報を暗号化し、暗号化された該情報によって、シークレットトークンが格納された領域の直後の領域に格納された格納状況情報を更新するようにしてもよい。
【0089】
[1−2]「格納状況情報」は、アプリケーション又はコンテンツが格納されている記憶部30(補助記憶部13)の最大記憶容量(例えば最大物理記憶容量)を示す情報のみを含むようにしてもよい。
【0090】
図16は、格納状況情報が、アプリケーション又はコンテンツが格納されている記憶部30の最大記憶容量を示す情報のみを含む場合の記憶部30の格納内容の一例を示している。
【0091】
なお、この場合、図14に示す処理において、ステップS401の処理を省略するようにすればよい。そして、ステップS403において、制御部11は、ステップS402で取得された最大記憶容量を示す格納状況情報を暗号化し、暗号化された格納状況情報を、シークレットトークンの直後に確保された領域に格納するようにすればよい。
【0092】
また、図15に示す処理において、ステップS501,S504の処理を省略するようにすればよい。また、ステップS507でエラーメッセージが表示され、ビューアアプリケーションの実行が中止された場合、先述の図12に示す処理が実行されるようにしてもよい。なお、この場合、図12のステップS307において、制御部11は、ビューアアプリケーションがインストールされている記憶部30の最大記憶容量を取得するようにすればよい。そして、ステップS308において、制御部11は、ステップS307で取得された最大記憶容量を示す格納状況情報を暗号化し、暗号化された該情報によって、シークレットトークンが格納された領域の直後の領域に格納された格納状況情報を更新するようにすればよい。
【0093】
[1−3]なお、格納状況情報は上記に説明したものに限られない。例えば、アプリケーション又はコンテンツの格納状況に関する情報であって、かつ、正規装置に記憶されるアプリケーション又はコンテンツを非正規装置にコピーした場合に正規装置と非正規装置との間で異なることとなるような情報であれば、格納状況情報として用いることができる。
【0094】
[2]情報処理装置10で実行されるアプリケーションはコンテンツ(例えば、電子書籍、画像、映像、音楽、又はゲーム等)をユーザに提供するようなアプリケーションに限られない。例えば、テキストエディタのようなアプリケーションであってもよい。
【符号の説明】
【0095】
1 アプリケーション又はコンテンツの提供システム、2 通信ネットワーク、10 情報処理装置、11 制御部、12 主記憶部、13 補助記憶部、14 操作部、15 通信インタフェース、16 表示部、17 音声出力部、18 光ディスクドライブ部、20 配信システム、22 サーバ、24 データベース、30 記憶部、32 格納状況情報格納部、34 実行制限部、36 ユーザ認証情報入力案内部、38 格納状況情報更新部。
【技術分野】
【0001】
本発明は情報処理装置、情報処理装置の制御方法、プログラム、及び情報記憶媒体に関する。
【背景技術】
【0002】
アプリケーション又はコンテンツを実行する情報処理装置が知られている。このような情報処理装置に関しては、アプリケーション又はコンテンツを正規に利用可能な情報処理装置(ここでは「正規装置」と呼ぶ。)以外の情報処理装置(ここでは「非正規装置」と呼ぶ。)にコピーされたアプリケーション又はコンテンツが利用されるのを制限するための技術が提案されている。
【0003】
具体的には、サーバにおいて、情報処理装置のIDと、該情報処理装置で正規に利用可能なアプリケーション又はコンテンツのIDと、を対応づけて記憶しておき、情報処理装置でアプリケーション又はコンテンツが利用される場合に、情報処理装置のIDと、アプリケーション又はコンテンツのIDと、の組み合わせをサーバで照合することによって、アプリケーション又はコンテンツが非正規装置において利用されるのを制限する技術が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−282238号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の技術では、アプリケーション又はコンテンツがコピーされている非正規装置において、該非正規装置のIDとして、正規装置のIDが偽装されてしまうと、アプリケーション又はコンテンツの利用を制限することができなかった。
【0006】
本発明は上記課題に鑑みてなされたものであって、アプリケーション又はコンテンツが複製されている非正規装置におけるアプリケーション又はコンテンツの利用を制限することが可能な情報処理装置、情報処理装置の制御方法、プログラム、及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係る情報処理装置は、記憶手段に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、前記アプリケーション又はコンテンツの構成要素の一部として前記記憶手段に格納する格納状況情報格納手段と、前記アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はコンテンツの現在の格納状況が前記格納状況情報が示す格納状況と異なる場合に、前記実行を制限する実行制限手段と、を含むことを特徴とする。
【0008】
また、本発明に係る情報処理装置の制御方法は、記憶手段に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、前記アプリケーション又はコンテンツの構成要素の一部として前記記憶手段に格納する格納状況情報格納ステップと、前記アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はデータの現在の格納状況が前記格納状況情報が示す格納状況と異なる場合に、前記実行を制限する実行制限ステップと、を含むことを特徴とする。
【0009】
また、本発明に係るプログラムは、記憶手段に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、前記アプリケーション又はコンテンツの構成要素の一部として前記記憶手段に格納する格納状況情報格納手段、及び、前記アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はデータの現在の格納状況が前記格納状況情報が示す格納状況と異なる場合に、前記実行を制限する実行制限手段、としてコンピュータを機能させるためのプログラムである。
【0010】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0011】
また、本発明の一態様では、前記格納状況情報は、前記アプリケーション又はコンテンツの所定の構成要素の格納位置を示す情報を含み、前記実行制限手段は、前記アプリケーション又はコンテンツの実行が指示された場合において、前記所定の構成要素が前記格納状況情報が示す格納位置に格納されていない場合に、前記実行を制限する手段を含むようにしてもよい。
【0012】
また、本発明の一態様では、前記格納手段は、前記格納状況情報を前記所定の構成要素の格納位置と所定の位置関係を有する位置に格納するようにしてもよい。
【0013】
また、本発明の一態様では、ユーザ識別情報とユーザパスワードとを入力するように前記ユーザに案内する案内手段と、前記ユーザによって入力されたユーザ識別情報及びユーザパスワードが、ユーザ識別情報とユーザパスワードとを対応づけて記憶してなるユーザ情報記憶手段に照らして正当であると判定された場合に、前記記憶手段に格納される前記格納状況情報を、前記アプリケーション又はコンテンツの現在の格納状況を示す情報に更新する格納状況情報更新手段と、を含むようにしてもよい。
【0014】
また、本発明の一態様では、前記格納状況情報は、前記アプリケーション又はコンテンツが格納された前記記憶手段の最大記憶容量を示す情報を含み、前記実行制限手段は、前記アプリケーション又はコンテンツの実行が指示された場合において、前記アプリケーション又は前記データが格納された前記記憶手段の最大記憶容量が前記格納状況情報が示す最大記憶容量と異なる場合に、前記実行を制限する手段を含むようにしてもよい。
【0015】
また、本発明の一態様では、ユーザ識別情報とユーザパスワードとを入力するように前記ユーザに案内する手段と、前記ユーザによって入力されたユーザ識別情報及びユーザパスワードが、ユーザ識別情報とユーザパスワードとを対応づけて記憶してなるユーザ情報記憶手段に照らして正当であると判定された場合に、前記記憶手段に格納される前記格納状況情報を、前記アプリケーション又はコンテンツが現在格納されている前記記憶手段の最大記憶容量を示す情報に更新する手段と、を含むようにしてもよい。
【発明の効果】
【0016】
本発明によれば、アプリケーション又はコンテンツが複製されている非正規装置におけるアプリケーション又はコンテンツの利用を制限することが可能になる。
【図面の簡単な説明】
【0017】
【図1】アプリケーション又はコンテンツの提供システムの全体構成を示す図である。
【図2】ユーザテーブルの一例を示す図である。
【図3】本発明の実施形態に係る情報処理装置の機能ブロック図である。
【図4】記憶部の格納内容の一例を示す図である。
【図5】記憶部の格納内容の他の一例を示す図である。
【図6】記憶部の格納内容の他の一例を示す図である。
【図7】記憶部の格納内容の他の一例を示す図である。
【図8】情報処理装置で実行される処理の一例を示すフロー図である。
【図9】情報処理装置で実行される処理の一例を示すフロー図である。
【図10】記憶部の格納内容の他の一例を示す図である。
【図11】記憶部の格納内容の他の一例を示す図である。
【図12】情報処理装置及びサーバで実行される処理の一例を示す図である。
【図13】記憶部の格納内容の他の一例を示す図である。
【図14】情報処理装置で実行される処理の一例を示すフロー図である。
【図15】情報処理装置で実行される処理の一例を示すフロー図である。
【図16】記憶部の格納内容の他の一例を示す図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。
【0019】
図1は、アプリケーション(アプリケーションソフトウェア)又はコンテンツの提供システムの全体構成を示している。図1に示すように、アプリケーション又はコンテンツの提供システム1は、本発明の実施形態に係る情報処理装置10と、配信システム20と、を含んでいる。情報処理装置10及び配信システム20は、例えばインターネット等を含んで構成される通信ネットワーク2に接続され、相互にデータ通信が可能になっている。
【0020】
配信システム20は1又は複数のサーバコンピュータを含む。図1に示す例では、配信システム20はサーバ22とデータベース24とを含んでいる。サーバ22はアプリケーション又はコンテンツを情報処理装置10に配信するための装置である。なお、「コンテンツ」とは、例えば、電子書籍、画像、映像、又は音楽等である。
【0021】
サーバ22は、情報処理装置10から受信した処理要求に基づく処理を実行する。例えば、サーバ22は、制御部(例えばCPU等)、主記憶部(例えばRAM等)、補助記憶部(例えばハードディスク又はソリッドステートドライブ)、及び通信インタフェース等を備えている。
【0022】
サーバ22はデータベース24にアクセスできるようになっている。データベース24には、例えば、アプリケーション又はコンテンツの提供システム1を利用するユーザに関するデータや、アプリケーション又はコンテンツの提供システム1で提供されているアプリケーション又はコンテンツに関するデータ等が記憶される。なお、データベース24はサーバ22とは別のサーバコンピュータ内に構築されていてもよいし、サーバ22に構築されていてもよい。
【0023】
情報処理装置10はアプリケーション又はコンテンツを楽しむために使用する情報処理装置である。情報処理装置10は、例えばパーソナルコンピュータ、携帯電話機、又は携帯情報端末等である。
【0024】
図1に示すように、情報処理装置10は、制御部11、主記憶部12、補助記憶部13、操作部14、通信インタフェース15、表示部16、音声出力部17、及び光ディスクドライブ部18を備えている。
【0025】
制御部11は例えば1又は複数のCPUを含み、補助記憶部13に記憶されたオペレーションシステム又はプログラムに従って情報処理を実行する。主記憶部12は例えばRAMであり、補助記憶部13は例えばハードディスク又はソリッドステートドライブである。操作部14は例えばキー、マウス、スティック、又はタッチパネル等である。通信インタフェース15は情報処理装置10を通信ネットワーク2に接続するためのインタフェースである。表示部16は例えば液晶表示ディスプレイ等であり、音声出力部17は例えばスピーカ等である。光ディスクドライブ部18は、光ディスク(情報記憶媒体)に記憶されたプログラムやデータを読み取る。
【0026】
なお例えば、プログラムやデータは光ディスクを介して補助記憶部13に供給される。すなわち、プログラムやデータが記憶された光ディスクが光ディスクドライブ部18に装着され、光ディスクに記憶されたプログラムやデータが光ディスクドライブ部18によって読み出され、補助記憶部13に記憶される。なお、光ディスクドライブ部18は必須の構成要素ではない。光ディスク以外の情報記憶媒体(例えばメモリカード)に記憶されたプログラム又はデータを読み取るための構成要素が光ディスクドライブ部18の代わりに含まれるようにしてもよい。そして、光ディスク以外の情報記憶媒体を介してプログラムやデータが補助記憶部13に供給されるようにしてもよい。または、プログラム及びデータは通信ネットワーク2を介して補助記憶部13に供給されるようにしてもよい。
【0027】
本実施形態の場合、例えば、サーバ22ではデーモンプログラム(例えばHTTPデーモン)が起動される。また、情報処理装置10では、サーバ22にアクセスするためのアプリケーションが起動される。このアプリケーションによって、処理要求(例えばHTTPリクエスト)が情報処理装置10からサーバ22に送信される。また、サーバ22からは、上記の処理要求に対応する処理結果(例えばHTTPレスポンス)が情報処理装置10に送信される。例えば、所定の記述言語(例えばウェブページ記述言語)で記述されたページデータが情報処理装置10に送信される。そして、このページデータに基づいて、処理結果に基づく画面が情報処理装置10の表示部に表示される。
【0028】
上記の提供システム1ではアプリケーション又はコンテンツが販売される。例えば、提供システム1では、コンテンツデータと、コンテンツデータをユーザに提供するためのプログラムと、を含んでなるアプリケーションソフトウェアが販売される。また例えば、提供システム1では、所定のプログラムによって再生可能なコンテンツデータが販売される。アプリケーション又はコンテンツを入手しようとするユーザは情報処理装置10からサーバ22にアクセスして、アプリケーション又はコンテンツを購入する。
【0029】
なお、アプリケーション又はコンテンツを購入する際にはユーザ認証画面(図示せず)が表示部16に表示される。ユーザ認証画面では、ユーザID及びユーザパスワードを入力するようにユーザに要求される。ユーザ認証画面で入力されたユーザID及びユーザパスワードは情報処理装置10からサーバ22に送信され、サーバ22において、データベース24に記憶されるユーザテーブルに照らして、ユーザID及びユーザパスワードの組み合わせが正当であるか否かが判定される。
【0030】
図2は、データベース24に記憶されるユーザテーブルの一例を示している。図2に示すユーザテーブルは、「ユーザID」、「ユーザパスワード」、「クレジットカード情報」、「アプリケーション/コンテンツ情報」フィールドを含んでいる。なお、「アプリケーション/コンテンツ情報」フィールドには、ユーザが正規に入手(購入)したアプリケーション又はコンテンツのID(識別情報)のリストが登録される。
【0031】
ユーザ認証画面で入力されたユーザID及びユーザパスワードの組み合わせが正当であると判定された場合、例えば、「クレジットカード情報」フィールドに登録された情報に基づいて決済処理が実行される。そして、決済処理が完了すると、購入されたアプリケーション又はコンテンツが情報処理装置10にダウンロードされ、補助記憶部13にインストールされる。
【0032】
以下、正規にアプリケーション又はコンテンツがダウンロードされた情報処理装置10(正規装置)に記憶されたアプリケーション又はコンテンツが他の情報処理装置10(非正規装置)にコピーされた場合において、非正規装置におけるアプリケーション又はコンテンツの利用を制限するための技術について説明する。なお、以下では、説明の簡便のため、上記の「アプリケーション又はコンテンツ」が、コンテンツ(例えば電子書籍)を見るためのビューアアプリケーションである場合について主に説明する。このビューアアプリケーションは、コンテンツデータと、コンテンツデータを表示部16に表示するためのプログラムと、を含んでなるアプリケーションであることとする。
【0033】
図3は、本実施形態に係る情報処理装置10において実現される機能ブロックのうち、本発明に関連する機能ブロックを示す機能ブロック図である。図3に示すように、情報処理装置10は、記憶部30、格納状況情報格納部32、実行制限部34、ユーザ認証情報入力案内部36、及び格納状況情報更新部38について説明する。
【0034】
例えば、記憶部30は補助記憶部13である。また、格納状況情報格納部32、実行制限部34、ユーザ認証情報入力案内部36、及び格納状況情報更新部38は制御部11によって実現される。すなわち、制御部11がプログラムに従って処理を実行することによって、制御部11が、格納状況情報格納部32、実行制限部34、ユーザ認証情報入力案内部36、及び格納状況情報更新部38として機能するようになる。
【0035】
なお以下では、まず、記憶部30、格納状況情報格納部32、及び実行制限部34について説明する。そして、記憶部30、格納状況情報格納部32、及び実行制限部34の説明が完了した後で、ユーザ認証情報入力案内部36、及び格納状況情報更新部38について説明する。
【0036】
記憶部30について説明する。記憶部30には、配信システム20からダウンロードされたアプリケーション又はコンテンツが格納される。図4は記憶部30の格納内容の一例を示している。図4に示す例は、アプリケーションA,Bと、ビューアアプリケーションと、が記憶部30にインストールされている状態を示している。ビューアアプリケーションは、ビューアプログラムと、コンテンツデータと、セキュアデータと、を含んでいる。
【0037】
セキュアデータは、ビューアアプリケーション以外のアプリケーションがアクセスできないように守られたデータである。ビューアアプリケーションを実行するために重要な各種情報が暗号化された状態でセキュアデータに格納される。例えば、セキュアデータにはシークレットトークンが含まれる。シークレットトークンは、ビューアアプリケーション(コンテンツ)を実行する際にキーとなる情報である。シークレットトークンは、特別な規則に則って生成された情報列であり、他の情報と区別可能な情報列である。ここでは、シークレットトークンが5つの記号からなる記号列であることとして説明する。なお、ここで、「記号」とは広義の記号を意味し、「記号」には例えば文字や符号類(狭義の記号)等が含まれる。図4に示す例は、シークレットトークンが「abcde」である場合を示している。なお、図4において「121」〜「125」はシークレットトークンが格納される位置(アドレス)を示している。
【0038】
格納状況情報格納部32について説明する。格納状況情報格納部32は、記憶部30に格納(インストール)されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報をアプリケーション又はコンテンツの構成要素の一部として記憶部30に格納する。
【0039】
「所定の基準タイミング」は、少なくとも現時点よりも前の所定のタイミングである。例えば、「所定の基準タイミング」は、アプリケーション又はコンテンツが記憶部30に格納(インストール)されたタイミングである。または、「所定の基準タイミング」は、例えば、記憶部30に格納(インストール)されたアプリケーション又はコンテンツが最初に実行されたタイミングであってもよい。
【0040】
また、「格納状況情報」は、例えば、アプリケーション又はコンテンツの所定の構成要素の記憶部30における格納位置(記憶媒体上における物理記憶位置)を示す情報を含む。
【0041】
また、「格納状況情報をアプリケーション又はコンテンツの構成要素の一部として記憶部30に格納する」とは、アプリケーション又はコンテンツが他の情報処理装置10にコピーされる場合には格納状況情報がアプリケーション又はコンテンツ本体とともに一体としてコピーされるように、格納状況情報を記憶部30に格納することを意味している。
【0042】
格納状況情報格納部32は、アプリケーション又はコンテンツが格納された領域のうちの所定の位置に格納状況情報を格納する。ここで、「所定の位置」とは、例えば、所定の構成要素の格納位置と所定の位置関係を有する位置である。なお、「所定の位置」とは、例えば、アプリケーション又はコンテンツが格納された領域のうちの先頭位置であってもよい。
【0043】
ここで、例えば、図4に示すようなビューアアプリケーションが記憶部30にインストールされており、かつ、シークレットトークンが「所定の構成要素」に相当している場合を想定して、格納状況情報格納部32の動作の具体例について説明する。図5及び図6は、格納状況情報格納部32の動作の具体例について説明するための図である。なお、図5及び図6において、「121」〜「130」は記憶部30における位置(アドレス)を示している。
【0044】
例えば、ビューアアプリケーションが記憶部30にインストールされる場合、シークレットトークンの末尾にダミーコードを付加してなる記号列(文字列)がセキュアデータ内に設定される(図5参照)。図5に示す例の場合、「abcde」がシークレットトークンに相当しており、「xxxxx」がダミーコードに相当している。
【0045】
なお、後述するように、ダミーコードが格納されている領域は、格納状況情報(すなわち、シークレットトークンの格納位置を示す情報)を格納するために用いられる。つまり、ダミーコードは、格納状況情報を格納するための領域を確保する役割を果たしている。このため、ダミーコードのサイズ(長さ)は格納状況情報のサイズを考慮して設定される。
【0046】
格納状況情報格納部32は、所定の基準タイミングにおいて、シークレットトークンの格納位置を取得し、該格納位置を示す格納状況情報を、ダミーコードが格納された領域に格納する(図6参照)。この場合、ダミーコードが、シークレットトークンの格納位置を示す格納状況情報によって上書きされる。なお、格納状況情報は暗号化される。
【0047】
図6に示すように、この場合、格納状況情報が、シークレットトークンの格納位置の直後に格納されることになる。なお、格納状況情報の格納位置と、シークレットトークン(所定の構成要素)の格納位置と、の位置関係は図6に示した例に限られない。例えば、格納状況情報が、シークレットトークンの格納位置の直前に格納されるようにしてもよい。また、シークレットトークンの格納位置と所定の位置関係を有する位置であれば、シークレットトークンの格納位置とは離れた位置に格納状況情報が格納されるようにしてもよい。
【0048】
実行制限部34について説明する。アプリケーション又はコンテンツの実行が指示された場合、実行制限部34は、該アプリケーション又はコンテンツの現在の格納状況が格納状況情報が示す格納状況と異なっているか否かを判定する。そして、実行制限部34は、アプリケーション又はコンテンツの現在の格納状況が格納状況情報が示す格納状況と異なっている場合、該アプリケーション又はコンテンツの実行を制限する。言い換えれば、実行制限部34は、アプリケーション又はコンテンツの現在の格納状況が格納状況情報が示す格納状況と一致している場合に、該アプリケーション又はコンテンツの実行を許可する。
【0049】
例えば、アプリケーション又はコンテンツの所定の構成要素の格納位置を示す情報が格納状況情報に含まれる場合、実行制限部34は、アプリケーション又はコンテンツの所定の構成要素が格納状況情報が示す格納位置に格納されているか否かを判定する。そして、アプリケーション又はコンテンツの所定の構成要素が格納状況情報が示す格納位置に格納されていない場合、実行制限部34は該アプリケーション又はコンテンツの実行を制限する。
【0050】
例えば、記憶部30の格納内容が図6に示すようになっている状態において、ユーザが操作部14を用いてビューアアプリケーションの実行を指示した場合、実行制限部34は、ビューアアプリケーションのシークレットトークン(所定の構成要素)の格納位置と、格納状況情報が示す格納位置と、が異なっているか否かを判定する。そして、ビューアアプリケーションのシークレットトークンの格納位置と、格納状況情報が示す格納位置と、が異なっている場合、実行制限部34はビューアアプリケーションの実行を制限(抑止)する。一方、ビューアアプリケーションのシークレットトークンの格納位置と、格納状況情報が示す格納位置と、が異なっていない場合、実行制限部34はビューアアプリケーションの実行を許可する。
【0051】
ここで、正規にビューアアプリケーションがダウンロードされた情報処理装置10(正規装置)の記憶部30に格納されたビューアアプリケーションが他の情報処理装置10(非正規装置)の記憶部30にコピーされた場合を想定する。図7は、非正規装置の記憶部30の格納内容の一例を示している。なお、図7において、「61」〜「64」は記憶部30における位置(アドレス)を示している。
【0052】
正規装置の記憶部30に記憶されたビューアアプリケーションが非正規装置の記憶部30がコピーされた場合、ビューアアプリケーションが、正規装置の記憶部30における格納位置と全く同じ位置に格納される可能性は極めて低い。このため、図7に示すように、ビューアアプリケーションのシークレットトークンは、正規装置の記憶部30における格納位置(アドレス121〜125)とは異なる位置(例えばアドレス61〜65)に格納される。その結果、非正規装置でビューアアプリケーションの実行が指示されたとしても、シークレットトークンの実際の格納位置(アドレス61〜65)と、格納状況情報が示す格納位置(アドレス121〜125)と、が異なるため、ビューアアプリケーションの実行が制限(抑止)される。
【0053】
このように、本実施形態に係る情報処理装置10によれば、正規にアプリケーション又はコンテンツがダウンロードされた情報処理装置10(正規装置)に格納されたアプリケーション又はコンテンツが他の情報処理装置10(非正規装置)にコピーされた場合において、非正規装置におけるアプリケーション又はコンテンツの利用を制限することが可能になる。
【0054】
以上に説明した格納状況情報格納部32及び実行制限部34は制御部11がプログラムに従って処理を実行することによって実現される。ここで、格納状況情報格納部32及び実行制限部34を実現するための処理について説明する。図8及び図9は、格納状況情報格納部32及び実行制限部34を実現するための処理を示すフロー図である。
【0055】
図8は、正規に入手されたビューアアプリケーションが情報処理装置10にインストールされた後、ビューアアプリケーションの初回起動時に実行される処理の一例を示している。一方、図9は、ビューアアプリケーションの2回目以降の起動時に実行される処理の一例を示している。制御部11がビューアアプリケーション(ビューアプログラム)に従って、図8及び図9に示す処理を実行することによって、制御部11は格納状況情報格納部32及び実行制限部34として機能するようになる。
【0056】
図8に示す処理について説明する。図8に示すように、ビューアアプリケーションの初回起動時において、まず、制御部11はシークレットトークンの格納位置を取得する(S101)。
【0057】
その後、制御部11(格納状況情報格納部32)は、ステップS101で取得された格納位置を示す格納状況情報を暗号化し、暗号化された格納状況情報を、シークレットトークンの直後に確保された領域に格納する(S102)。すなわち、制御部11は、暗号化された格納状況情報を、ダミーコードが格納された領域に格納する。また、制御部11はビューアアプリケーションの格納位置も補助記憶部13に保存しておく(S103)。その後、制御部11はコンテンツデータを表示部16に表示させるための処理を実行する(S104)。
【0058】
図9に示す処理について説明する。図9に示すように、ビューアアプリケーションの2回目以降の起動時において、まず、制御部11はシークレットトークンの実際の格納位置を取得する(S201)。また、制御部11は、シークレットトークンの直後に格納された格納状況情報を読み出す(S202)。そして、制御部11は、シークレットトークンの実際の格納位置と、格納状況情報が示す格納位置と、が一致しているか否かを判定する(S203)。
【0059】
シークレットトークンの実際の格納位置と、格納状況情報が示す格納位置と、が一致している場合、制御部11はコンテンツデータを表示部16に表示させるための処理を実行する(S204)。一方、シークレットトークンの実際の格納位置と、格納状況情報が示す格納位置と、が一致していない場合、制御部11(実行制限部34)はエラーメッセージを表示部16に表示し(S205)、ビューアアプリケーションの起動を中止する(言い換えれば、コンテンツデータの表示部16への表示を抑止する)。
【0060】
以上説明したように、本実施形態に係る情報処理装置10によれば、正規にアプリケーション又はコンテンツがダウンロードされた情報処理装置10(正規装置)に記憶されたアプリケーション又はコンテンツが他の情報処理装置10(非正規装置)にコピーされた場合において、非正規装置におけるアプリケーション又はコンテンツの利用を制限することが可能になる。
【0061】
ところで、正規にアプリケーション又はコンテンツがダウンロードされた情報処理装置10(正規装置)において、例えばデフラグが実行された場合(すなわち、記憶部30の空き領域の断片化を解消するために記憶部30内のデータの再配置が実行された場合)には、アプリケーション又はコンテンツの格納位置が変化してしまう場合がある。この場合、アプリケーション又はコンテンツの実際の格納位置と、格納状況情報が示す格納位置と、が異なってしまうことによって、該アプリケーション又はコンテンツの実行が制限されてしまう。その結果、ユーザはアプリケーション又はコンテンツを正規に入手したにも関わらず、該アプリケーション又はコンテンツを利用できなってしまう。
【0062】
図10は、記憶部30の状態が図6に示す状態においてデフラグが実行された場合の記憶部30の状態の一例を示している。図10に示す状態では、図6と比べて、シークレットトークンの格納位置が変化している。この場合、シークレットトークンの実際の格納位置(アドレス101〜105)と、格納状況情報が示す格納位置(アドレス121〜125)とが異なっているため、ビューアアプリケーションが起動されなくなってしまう。
【0063】
上記のような状態になってしまった場合にも、正当なユーザがアプリケーション又はコンテンツを利用できるように担保する必要がある。ユーザ認証情報入力案内部36と格納状況情報更新部38はそのための機能ブロックである。
【0064】
ユーザ認証情報入力案内部36について説明する。ユーザ認証情報入力案内部36は、ユーザID(ユーザ識別情報)とユーザパスワードとを入力するようにユーザに案内する。例えば、ユーザ認証情報入力案内部36は、ユーザID及びユーザパスワードを入力するためのユーザ認証画面を表示部16に表示させる。
【0065】
格納状況情報更新部38について説明する。格納状況情報更新部38は、ユーザによって入力されたユーザID及びユーザパスワードが正当であると判定された場合に、アプリケーション又はコンテンツの構成要素の一部として記憶部30に格納される格納状況情報を、アプリケーション又はコンテンツの現在の格納状況を示す格納状況情報に更新する。
【0066】
なお、ユーザによって入力されたユーザID及びユーザパスワードが正当であるか否かの判定は、例えば、配信システム20(サーバ22)において行われる(詳細については後述する:図12参照)。
【0067】
ユーザ認証情報入力案内部36及び格納状況情報更新部38によれば、記憶部30の状態が例えば図10に示したような状態になったとしても、正当なユーザは記憶部30の状態を図11に示すような状態にすることが可能になる。図11に示す状態では、シークレットトークンの実際の格納位置(アドレス101〜105)と、格納状況情報が示す格納位置(アドレス110〜105)とが一致しているため、ビューアアプリケーションが起動するようになる。その結果、ユーザがビューアアプリケーションを利用できるようになる。
【0068】
ここで、ユーザ認証情報入力案内部36と格納状況情報更新部38を実現するために情報処理装置10で実行される処理について説明する。図12は、ユーザ認証情報入力案内部36と格納状況情報更新部38を実現するための処理を示すフロー図である。図12は、例えば、図9のステップS205でエラーメッセージが表示され、ビューアアプリケーションの実行が中止された場合に実行される処理の一例を示している。制御部11がビューアアプリケーション(ビューアプログラム)に従って、図12に示す処理を実行することによって、制御部11はユーザ認証情報入力案内部36と格納状況情報更新部38として機能するようになる。
【0069】
図12に示すように、まず、制御部11(ユーザ認証情報入力案内部36)はユーザ認証画面を表示部16に表示する(S301)。ユーザ認証画面では、ユーザID及びユーザパスワードを入力するようにユーザに要求される。制御部11は、ユーザ認証画面で入力されたユーザID及びユーザパスワードと、ビューアアプリケーションのIDと、をサーバ22に送信する(S302)。
【0070】
ユーザID、ユーザパスワード、及びビューアアプリケーションのIDがサーバ22で受信された場合、サーバ22の制御部は、データベース24(ユーザ認証情報記憶手段)に記憶されるユーザテーブル(図2)を参照して、受信されたユーザID及びユーザパスワードの組み合わせが正当であるか否かを判定する(S303)。受信されたユーザID及びユーザパスワードの組み合わせがユーザテーブルに登録されている場合、受信されたユーザID及びユーザパスワードの組み合わせが正当であると判定される。
【0071】
また、サーバ22の制御部は、受信されたユーザIDのユーザがビューアアプリケーションを購入したユーザであるか否かを判定する(S304)。すなわち、制御部はユーザテーブルを参照して、受信されたユーザIDに対応づけられた「アプリケーション/コンテンツ情報」フィールドに登録されたアプリケーション又はコンテンツのIDのリストに、受信されたビューアアプリケーションのIDが含まれているか否かを判定する。アプリケーション又はコンテンツのIDのリストに、受信されたビューアアプリケーションのIDが含まれている場合、ユーザがビューアアプリケーションを購入したユーザであると判定される。
【0072】
サーバ22の制御部はステップS303及びS304における判定結果を通知するための通知情報を情報処理装置10に送信する(S305)。通知情報が情報処理装置10で受信された場合、制御部11は、ユーザID及びユーザパスワードの組み合わせが正当であり、かつ、ユーザがビューアアプリケーションを購入したユーザであるとの判定結果がサーバ22から通知されたか否かを判定する(S306)。
【0073】
ユーザID及びユーザパスワードの組み合わせが正当であり、かつ、ユーザがビューアアプリケーションを購入したユーザであるとの判定結果がサーバ22から通知された場合、制御部11は、ビューアアプリケーションのシークレットトークンの現在の格納位置を取得する(S307)。そして、制御部11(格納状況情報更新部38)は、S307で取得された格納位置を示す情報を暗号化し、暗号化された該情報によって、シークレットトークンが格納された領域の直後の領域に格納された格納状況情報を更新する(S308)。そして、制御部11はコンテンツデータを表示部16に表示させるための処理を実行する(S309)。
【0074】
一方、ユーザID及びユーザパスワードの組み合わせが正当でないとの判定結果、又は、ユーザがビューアアプリケーションを購入したユーザでないとの判定結果がサーバ22から通知された場合、制御部11はエラーメッセージを表示部16に表示し(S310)、ビューアアプリケーションの起動を中止する。
【0075】
以上のようにすることによって、デフラグの実行等によって、アプリケーション又はコンテンツの実際の格納位置と、格納状況情報が示す格納位置と、が異なる状態になってしまった場合であっても、該アプリケーション又はコンテンツを正規に入手したユーザが該アプリケーション又はコンテンツを利用できるように担保することが可能になる。
【0076】
なお、本発明は以上に説明した実施形態に限定されるものではない。
【0077】
[1]例えば、「格納状況情報」は、アプリケーション又はコンテンツが格納されている記憶部30(補助記憶部13)に関する情報を含むようにしてもよい。具体的には、「格納状況情報」は、アプリケーション又はコンテンツが格納されている記憶部30の最大記憶容量(例えば最大物理記憶容量)を示す情報を含むようにしてもよい。
【0078】
[1−1]図13は、格納状況情報が、アプリケーション又はコンテンツの所定の構成要素の記憶部30における格納位置を示す情報(アドレス126〜130)と、アプリケーション又はコンテンツが格納されている記憶部30の最大記憶容量を示す情報(アドレス131〜135)と、を含む場合の記憶部30の格納内容の一例を示している。
【0079】
この場合、図8に示す処理の代わりに、図14に示す処理が実行される。また、図9に示す処理の代わりに、図15に示す処理が実行される。
【0080】
図14に示す処理について説明する。図14のステップS401は図8のステップS101と同様である。ステップS401の処理が実行された後、制御部11は、ビューアアプリケーションがインストールされている記憶部30の最大記憶容量を取得する(S402)。そして、制御部11(格納状況情報格納部32)は、ステップS401で取得された格納位置と、ステップS402で取得された最大記憶容量と、を示す格納状況情報を暗号化し、暗号化された格納状況情報を、シークレットトークンの直後に確保された領域に格納する(S403)。また、制御部11はビューアアプリケーションの格納位置も補助記憶部13に保存しておく(S404)。その後、制御部11はコンテンツデータを表示部16に表示させるための処理を実行する(S405)。
【0081】
図15に示す処理について説明する。図15のステップS501は図9のステップS201と同様である。ステップS501の処理が実行された後、制御部11は、ビューアアプリケーションがインストールされている記憶部30の最大記憶容量を取得する(S502)。
【0082】
また、制御部11は、シークレットトークンの直後に格納された格納状況情報を読み出す(S503)。そして、制御部11は、シークレットトークンの実際の格納位置と、格納状況情報が示す格納位置と、が一致しているか否かを判定する(S504)。
【0083】
シークレットトークンの実際の格納位置と、格納状況情報が示す格納位置と、が一致している場合、制御部11は、ビューアアプリケーションがインストールされている記憶部30の最大記憶容量と、格納状況情報が示す最大記憶容量と、が一致しているか否かを判定する(S505)。
【0084】
ビューアアプリケーションがインストールされている記憶部30の最大記憶容量と、格納状況情報が示す最大記憶容量と、が一致している場合、制御部11はコンテンツデータを表示部16に表示させるための処理を実行する(S506)。
【0085】
ステップS504において、シークレットトークンの実際の格納位置と、格納状況情報が示す格納位置と、が一致していないと判定された場合、又は、ステップS505において、ビューアアプリケーションがインストールされている記憶部30の最大記憶容量と、格納状況情報が示す最大記憶容量と、が一致していないと判定された場合、制御部11(実行制限部34)はエラーメッセージを表示部16に表示し(S507)、ビューアアプリケーションの起動を中止する(言い換えれば、コンテンツデータの表示部16への表示を抑止する)。
【0086】
ここで、正規にビューアアプリケーションがダウンロードされた情報処理装置10(正規装置)の記憶部30に格納されたビューアアプリケーションが他の情報処理装置10(非正規装置)の記憶部30にコピーされた場合を想定する。
【0087】
正規装置の記憶部30に記憶されたビューアアプリケーションが非正規装置の記憶部30がコピーされた場合、正規装置の記憶部30の最大記憶容量と、非正規装置の記憶部30の最大記憶容量と、が全く一致する可能性は極めて低い。その結果、非正規装置でビューアアプリケーションの実行が指示されたとしても、ビューアアプリケーションが格納された記憶部30(非正規装置の記憶部30)の最大記憶容量と、格納状況情報が示す格納位置(正規装置の記憶部30)の最大記憶容量と、が異なるため、ビューアアプリケーションの実行が制限(抑止)されるようになる。すなわち、以上のようにすれば、正規装置に記憶されたアプリケーション又はコンテンツが非正規装置にコピーされた場合において、非正規装置におけるアプリケーション又はコンテンツの利用をより確実に制限できるようになる。
【0088】
なお、図15のステップS507でエラーメッセージが表示され、ビューアアプリケーションの実行が中止された場合、先述の図12に示す処理が実行されるようにしてもよい。またこの場合、図12のステップS307において、制御部11は、シークレットトークンの現在の格納位置を取得するとともに、ビューアアプリケーションがインストールされている記憶部30の最大記憶容量を取得するようにしてもよい。そして、ステップS308において、制御部11は、ステップS307で取得された格納位置及び最大記憶容量を示す格納状況情報を暗号化し、暗号化された該情報によって、シークレットトークンが格納された領域の直後の領域に格納された格納状況情報を更新するようにしてもよい。
【0089】
[1−2]「格納状況情報」は、アプリケーション又はコンテンツが格納されている記憶部30(補助記憶部13)の最大記憶容量(例えば最大物理記憶容量)を示す情報のみを含むようにしてもよい。
【0090】
図16は、格納状況情報が、アプリケーション又はコンテンツが格納されている記憶部30の最大記憶容量を示す情報のみを含む場合の記憶部30の格納内容の一例を示している。
【0091】
なお、この場合、図14に示す処理において、ステップS401の処理を省略するようにすればよい。そして、ステップS403において、制御部11は、ステップS402で取得された最大記憶容量を示す格納状況情報を暗号化し、暗号化された格納状況情報を、シークレットトークンの直後に確保された領域に格納するようにすればよい。
【0092】
また、図15に示す処理において、ステップS501,S504の処理を省略するようにすればよい。また、ステップS507でエラーメッセージが表示され、ビューアアプリケーションの実行が中止された場合、先述の図12に示す処理が実行されるようにしてもよい。なお、この場合、図12のステップS307において、制御部11は、ビューアアプリケーションがインストールされている記憶部30の最大記憶容量を取得するようにすればよい。そして、ステップS308において、制御部11は、ステップS307で取得された最大記憶容量を示す格納状況情報を暗号化し、暗号化された該情報によって、シークレットトークンが格納された領域の直後の領域に格納された格納状況情報を更新するようにすればよい。
【0093】
[1−3]なお、格納状況情報は上記に説明したものに限られない。例えば、アプリケーション又はコンテンツの格納状況に関する情報であって、かつ、正規装置に記憶されるアプリケーション又はコンテンツを非正規装置にコピーした場合に正規装置と非正規装置との間で異なることとなるような情報であれば、格納状況情報として用いることができる。
【0094】
[2]情報処理装置10で実行されるアプリケーションはコンテンツ(例えば、電子書籍、画像、映像、音楽、又はゲーム等)をユーザに提供するようなアプリケーションに限られない。例えば、テキストエディタのようなアプリケーションであってもよい。
【符号の説明】
【0095】
1 アプリケーション又はコンテンツの提供システム、2 通信ネットワーク、10 情報処理装置、11 制御部、12 主記憶部、13 補助記憶部、14 操作部、15 通信インタフェース、16 表示部、17 音声出力部、18 光ディスクドライブ部、20 配信システム、22 サーバ、24 データベース、30 記憶部、32 格納状況情報格納部、34 実行制限部、36 ユーザ認証情報入力案内部、38 格納状況情報更新部。
【特許請求の範囲】
【請求項1】
記憶手段に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、前記アプリケーション又はコンテンツの構成要素の一部として前記記憶手段に格納する格納状況情報格納手段と、
前記アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はコンテンツの現在の格納状況が前記格納状況情報が示す格納状況と異なる場合に、前記実行を制限する実行制限手段と、
を含むことを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置において、
前記格納状況情報は、前記アプリケーション又はコンテンツの所定の構成要素の格納位置を示す情報を含み、
前記実行制限手段は、前記アプリケーション又はコンテンツの実行が指示された場合において、前記所定の構成要素が前記格納状況情報が示す格納位置に格納されていない場合に、前記実行を制限する手段を含む、
ことを特徴とする情報処理装置。
【請求項3】
請求項2に記載の情報処理装置において、
前記格納手段は、前記格納状況情報を前記所定の構成要素の格納位置と所定の位置関係を有する位置に格納することを特徴とする情報処理装置。
【請求項4】
請求項1乃至3のいずれかに記載の情報処理装置において、
ユーザ識別情報とユーザパスワードとを入力するように前記ユーザに案内する案内手段と、
前記ユーザによって入力されたユーザ識別情報及びユーザパスワードが、ユーザ識別情報とユーザパスワードとを対応づけて記憶してなるユーザ情報記憶手段に照らして正当であると判定された場合に、前記記憶手段に格納される前記格納状況情報を、前記アプリケーション又はコンテンツの現在の格納状況を示す情報に更新する格納状況情報更新手段と、
を含むことを特徴とする情報処理装置。
【請求項5】
請求項1乃至4のいずれかに記載の情報処理装置において、
前記格納状況情報は、前記アプリケーション又はコンテンツが格納された前記記憶手段の最大記憶容量を示す情報を含み、
前記実行制限手段は、前記アプリケーション又はコンテンツの実行が指示された場合において、前記アプリケーション又は前記データが格納された前記記憶手段の最大記憶容量が前記格納状況情報が示す最大記憶容量と異なる場合に、前記実行を制限する手段を含む、
ことを特徴とする情報処理装置。
【請求項6】
請求項5に記載の情報処理装置において、
ユーザ識別情報とユーザパスワードとを入力するように前記ユーザに案内する手段と、
前記ユーザによって入力されたユーザ識別情報及びユーザパスワードが、ユーザ識別情報とユーザパスワードとを対応づけて記憶してなるユーザ情報記憶手段に照らして正当であると判定された場合に、前記記憶手段に格納される前記格納状況情報を、前記アプリケーション又はコンテンツが現在格納されている前記記憶手段の最大記憶容量を示す情報に更新する手段と、
を含むことを特徴とする情報処理装置。
【請求項7】
記憶手段に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、前記アプリケーション又はコンテンツの構成要素の一部として前記記憶手段に格納する格納状況情報格納ステップと、
前記アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はデータの現在の格納状況が前記格納状況情報が示す格納状況と異なる場合に、前記実行を制限する実行制限ステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項8】
記憶手段に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、前記アプリケーション又はコンテンツの構成要素の一部として前記記憶手段に格納する格納状況情報格納手段、及び、
前記アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はデータの現在の格納状況が前記格納状況情報が示す格納状況と異なる場合に、前記実行を制限する実行制限手段、
としてコンピュータを機能させるためのプログラム。
【請求項9】
請求項8に記載のプログラムを記録したコンピュータ読み取り可能な情報記憶媒体。
【請求項1】
記憶手段に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、前記アプリケーション又はコンテンツの構成要素の一部として前記記憶手段に格納する格納状況情報格納手段と、
前記アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はコンテンツの現在の格納状況が前記格納状況情報が示す格納状況と異なる場合に、前記実行を制限する実行制限手段と、
を含むことを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置において、
前記格納状況情報は、前記アプリケーション又はコンテンツの所定の構成要素の格納位置を示す情報を含み、
前記実行制限手段は、前記アプリケーション又はコンテンツの実行が指示された場合において、前記所定の構成要素が前記格納状況情報が示す格納位置に格納されていない場合に、前記実行を制限する手段を含む、
ことを特徴とする情報処理装置。
【請求項3】
請求項2に記載の情報処理装置において、
前記格納手段は、前記格納状況情報を前記所定の構成要素の格納位置と所定の位置関係を有する位置に格納することを特徴とする情報処理装置。
【請求項4】
請求項1乃至3のいずれかに記載の情報処理装置において、
ユーザ識別情報とユーザパスワードとを入力するように前記ユーザに案内する案内手段と、
前記ユーザによって入力されたユーザ識別情報及びユーザパスワードが、ユーザ識別情報とユーザパスワードとを対応づけて記憶してなるユーザ情報記憶手段に照らして正当であると判定された場合に、前記記憶手段に格納される前記格納状況情報を、前記アプリケーション又はコンテンツの現在の格納状況を示す情報に更新する格納状況情報更新手段と、
を含むことを特徴とする情報処理装置。
【請求項5】
請求項1乃至4のいずれかに記載の情報処理装置において、
前記格納状況情報は、前記アプリケーション又はコンテンツが格納された前記記憶手段の最大記憶容量を示す情報を含み、
前記実行制限手段は、前記アプリケーション又はコンテンツの実行が指示された場合において、前記アプリケーション又は前記データが格納された前記記憶手段の最大記憶容量が前記格納状況情報が示す最大記憶容量と異なる場合に、前記実行を制限する手段を含む、
ことを特徴とする情報処理装置。
【請求項6】
請求項5に記載の情報処理装置において、
ユーザ識別情報とユーザパスワードとを入力するように前記ユーザに案内する手段と、
前記ユーザによって入力されたユーザ識別情報及びユーザパスワードが、ユーザ識別情報とユーザパスワードとを対応づけて記憶してなるユーザ情報記憶手段に照らして正当であると判定された場合に、前記記憶手段に格納される前記格納状況情報を、前記アプリケーション又はコンテンツが現在格納されている前記記憶手段の最大記憶容量を示す情報に更新する手段と、
を含むことを特徴とする情報処理装置。
【請求項7】
記憶手段に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、前記アプリケーション又はコンテンツの構成要素の一部として前記記憶手段に格納する格納状況情報格納ステップと、
前記アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はデータの現在の格納状況が前記格納状況情報が示す格納状況と異なる場合に、前記実行を制限する実行制限ステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項8】
記憶手段に格納されたアプリケーション又はコンテンツの、所定の基準タイミングにおける格納状況を示す格納状況情報を、前記アプリケーション又はコンテンツの構成要素の一部として前記記憶手段に格納する格納状況情報格納手段、及び、
前記アプリケーション又はコンテンツの実行が指示された場合において、該アプリケーション又はデータの現在の格納状況が前記格納状況情報が示す格納状況と異なる場合に、前記実行を制限する実行制限手段、
としてコンピュータを機能させるためのプログラム。
【請求項9】
請求項8に記載のプログラムを記録したコンピュータ読み取り可能な情報記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2013−15931(P2013−15931A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−146891(P2011−146891)
【出願日】平成23年6月30日(2011.6.30)
【特許番号】特許第5020399号(P5020399)
【特許公報発行日】平成24年9月5日(2012.9.5)
【出願人】(399037405)楽天株式会社 (416)
【Fターム(参考)】
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願日】平成23年6月30日(2011.6.30)
【特許番号】特許第5020399号(P5020399)
【特許公報発行日】平成24年9月5日(2012.9.5)
【出願人】(399037405)楽天株式会社 (416)
【Fターム(参考)】
[ Back to top ]