説明

プログラム実行制御装置および実行権情報の移送方法

【課題】 ライセンス発行システムのような集中管理するためのサーバを必要とすることなく、実行権の移送を可能とするプログラム実行制御装置および実行権情報の移送方法を提供することを目的とする。
【解決手段】 アプリケーションプログラムを実行可能とする実行権を示す実行権情報をICカード20に記憶し、検証部11では実行権情報が正当なものであることを検証して、制御部12はアプリケーションプログラムの実行を可能としている。ICカード20の移送部23では、格納部21に記憶されている実行権情報を暗号化して実行権移送情報を生成する。そして、生成された実行権移送情報を、サーバを介することなく他の端末に送信する。受領側では受信した実行権移送情報を復号化して記憶する。そして、受領側では実行権情報を用いてアプリケーションプログラムの起動を可能とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ライセンス情報などの実行権情報を用いてプログラムを実行可能に制御するプログラム実行制御装置および実行権情報の移送方法に関する。
【背景技術】
【0002】
近年、市販プログラムなどが不正に複製されて、使用されることを防止するための技術が存在する。例えば、ドングルと呼ばれる外部機器(以下、「ドングル」と称する)を、パソコンなどのプログラムを実行する装置のUSBポートなどの接続インターフェース部に接続し、このドングルが接続されている場合のみプログラムを実行する技術が知られている。
【0003】
しかしながら、ドングルを利用する技術においては、物理的にドングルを輸送して、プログラムの実行権を与える必要がある。例えば、インターネットなどでプログラムを販売することは一般的であるが、ドングルを用いて実行制御を行う場合は、別途郵送などによりドングルを購入者に郵送する必要がある。また、プログラムを転売若しくは譲渡する場合も同様にドングルを輸送する必要がある。
【0004】
また、このドングルのような物理的なハードウエアを接続することなく、電子情報であるライセンス情報をユーザに与えることによりプログラムを実行させることができる技術が知られている。例えば、特許文献1に記載の技術のように、サーバ(ライセンス発行システム)が通信回線を介してユーザシステムにライセンス情報を与え、ユーザがライセンス情報を受けたときにアプリケーションプログラムを実行する技術が知られている。
【特許文献1】特開平10−149283号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術においては、実行権情報を移送する際には、ライセンス情報を発行するサーバが既に実行権を与えている端末装置から実行権情報を消去して、別の端末に実行権情報を与えることにより、実質的に実行権情報の移送を可能にしている。よって、実行権を移送しようとする端末はサーバと接続する必要があり、実行権の移送が制限される場合がある。また、サーバ側でライセンス情報などの実行権情報を集中管理することが必要と考えられ、その管理のためのセキュリティなどの様々な処理が必要である。よって、システム全体としての構成が複雑になる。
【0006】
そこで、本発明は、ライセンス情報などの実行権を他の端末に移送する際には、ライセンス発行システムのような集中管理のためのサーバを必要とすることなく、実行権の移送を可能とするプログラム実行制御装置および実行権情報の移送方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述の課題を解決するため、本発明のプログラム実行制御装置は、プログラムを実行可能とする実行権を示す実行権情報を記憶する記憶手段と、前記実行権情報が正当なものであることを検証する検証手段と、前記検証手段による検証に基づいてプログラムを起動させる制御を行う制御手段とを備えるプログラム実行制御装置において、実行権情報の送信先が入力される操作手段と、前記記憶手段に記憶されている実行権情報を含む情報を暗号化することで、または当該実行権情報を含む情報に電子署名を付加することで、実行権移送情報を生成する実行権移送情報生成手段と、前記実行権移送情報生成手段により生成された実行権移送情報を、前記操作手段により入力された送信先に送信する送信手段と、を備えている。
【0008】
また、本発明の実行権情報の移送方法は、プログラムを実行可能とする実行権を示す実行権情報を記憶し、前記実行権情報が正当なものであることを検証することによってプログラムの実行を制御するプログラム実行制御装置における実行権情報の移送方法であって、前記実行権情報の送信先の入力を受け付ける入力ステップと、前記実行権情報を含む情報を暗号化することで、または当該実行権情報を含む情報に電子署名を付加することで、実行権移送情報を生成する実行権移送情報生成ステップと、前記実行権移送情報を、入力された前記送信先に送信する送信ステップと、を備えている。
【0009】
この発明によれば、プログラムを実行可能とさせる実行権情報を含む情報が暗号化されて、または実行権情報を含む情報に電子署名が付加されて、生成された実行権移送情報が他の端末にサーバを介することなく送信されることにより、実行権情報をサーバなどで集中管理することなく他の端末に送信することができる。
【0010】
また、本発明のプログラム実行制御装置の上記記憶手段、上記送信手段、およ
び上記実行権移送情報生成手段は、耐タンパ装置内に構成されることも好ましい。
【0011】
この発明によれば、実行権情報を扱う記憶手段、送信手段、および実行権移送情報生成手段をICカードなどの耐タンパ装置に組み込むことにより、実行権情報の不正な複製や改竄を防止することができる。
【0012】
また、本発明のプログラム実行制御装置の上記実行権情報は、上記プログラムのハッシュ値とすることも好ましい。
【0013】
この発明によれば、MD5またはSHA−1などの公知のハッシュ関数によるハッシュ値を用いて実行権情報の正当性を判断させることにより、プログラムが改竄された際にその実行を未然に防止することができる。
【0014】
また、本発明のプログラム実行制御装置の上記実行権情報は、数値で表される度数情報を含み、上記プログラムが起動するたびに、上記度数情報から所定数を減算し、または上記度数情報に所定数を加算する第1演算手段と、上記第1演算手段により演算された結果、上記度数情報が予め定めた基準値に達した場合、上記実行権情報を削除する第1削除手段と、を備えることも好ましい。
【0015】
この発明によれば、実行権情報に含まれる度数情報に対して、プログラムが起動するごとに所定数を加算または減算していって、予め定めた基準値に達すると、実行権情報を削除することにより、実行権情報を使用することのできる回数を制限することができる。よって、実行権情報の不正な複製や改竄を行わせる機会を少なくすることができる。
【0016】
また、本発明のプログラム実行制御装置の上記実行権情報は、数値で表される度数情報を含み、上記送信手段による実行権移送情報が送信されるたびに、上記度数情報から所定数を減算し、または上記度数情報に所定数を加算する第2演算手段と、上記第2演算手段により減算または加算された結果、上記度数情報が予め定めた基準値に達した場合、上記実行権情報を削除する第2削除手段と、をさらに備え、上記実行権移送情報生成手段は、減算又は加算した数値を度数とした実行権情報を含む情報を暗号化し、または減算又は加算した数値を度数とした実行権情報を含む情報に電子署名を付加し、上記送信手段は、生成された実行権移送情報を送信することも好ましい。
【0017】
この発明によれば、実行権情報に含まれる度数情報に対して、暗号化された実行権移送情報が送信される際、所定数を加算または減算し、加算または減算された数値を度数として実行権情報を含む情報を暗号化して、または当該実行権情報を含む情報に電子署名を付加して、生成された実行権移送情報を送信することにより、送信元に実行権情報を保持したまま他の端末に実行権情報を送信することができ、実行権情報の分割を行うことができる。また、度数情報が予め定めた基準値に達した場合には、実行権情報を削除することにより、実質的に実行権情報の移動を可能とする。
【0018】
また、本発明のプログラム実行制御装置は、他の端末から実行権移送情報を受信する受信手段と、上記受信手段により受信された実行権移送情報を復号化することで、または実行権移送情報に付加された電子署名の正当性を判断することで、実行権情報を含む情報を生成する実行権情報生成手段と、をさらに備え、上記記憶手段は、上記実行権情報生成手段により生成された実行権情報を記憶することも好ましい。
【0019】
この発明によれば、実行権移送情報を受信して、これを復号化してまたは電子署名の正当性を判断して、当該実行権移送情報から取得された実行権情報を記憶手段に記憶することにより、実行権情報を他の端末から得ることができる。
【0020】
また、本発明のプログラム実行制御装置の上記受信手段は、度数を含んだ実行権移送情報を受信し、上記実行権情報生成手段により生成された実行権情報と同じ実行権情報が、既に上記記憶手段に記憶されている場合、既に上記記憶手段に記憶されている実行権情報の度数に、上記受信手段により受信した実行権情報の度数を加算した実行権情報を上記記憶手段が記憶するよう構成することも好ましい。
【0021】
この発明によれば、実行権情報に含まれる度数を受領側で加算して、加算した度数を実行権情報の度数とすることにより、度数を追加することができる。
【発明の効果】
【0022】
本発明は、プログラムを実行可能とさせる実行権情報を含む情報が暗号化されることにより、または当該実行権情報を含む情報に電子署名が付加されることにより実行権移送情報が生成され、生成された実行権移送情報が他の端末にサーバを介することなく送信されることにより、実行権情報をサーバなどで集中管理することなく他の端末に送信することができる。
【発明を実施するための最良の形態】
【0023】
以下、本発明のプログラム実行制御装置およびプログラム実行制御方法の実施の形態について、添付図面を参照しながら説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【0024】
まず、本実施形態のプログラム実行制御装置について説明する。図1は、プログラム実行制御装置1のブロック構成図である。プログラム実行制御装置1は、情報処理装置10およびICカード20から構成されており、情報処理装置10に形成されているICカード挿入口にICカード20が挿入された状態で、プログラム実行制御装置1は動作する。情報処理装置10は、検証部11(検証手段)、制御部12(制御手段)、アプリケーション格納部13、および通信部14を含んで構成される。また、ICカード20は、格納部21(記憶手段)、減算部22(第1演算手段、第2演算手段、第1削除手段、および第2削除手段)、移送部23(実行権移送情報生成手段および送信手段)、および受領部24(実行権情報生成手段および受信手段)を含んで構成されるものであり、外部からの違法なアクセスを禁止し、またメモリの内容を読み出すことのできない、いわゆる耐タンパ装置である。耐タンパ装置としては、ICカードのほか、スティック状のICメモリなどがある。なお、通信部14および移送部23は、本発明の送信手段として機能し、通信部14および受領部24は、本発明の受信手段として機能する。以下、各構成について説明する。
【0025】
検証部11は、アプリケーションプログラムの起動指示がなされたときに、起動するアプリケーションプログラムのハッシュ値を計算し、これを予め記憶されているハッシュ値と等しいか否かを検証する検証手段である。ハッシュ値の計算方法としては、例えばハッシュ関数の一種であるSHA−1(Secure Hash Algorithm 1)、またはMD5(Message Digest 5)などが挙げられる。検証部11は、格納部21に格納された実行権情報のハッシュ値が計算したハッシュ値と等しいかを検証し、格納部21に複数の実行権情報が記憶されている場合には、ハッシュ値が等しいものが見つかるまで繰り返し検証処理を行う。そして、制御部12は検証部11の検証結果に基づいて、さらに、後述する減算部22の減算結果に基づいてアプリケーションプログラムの動作を可能か、否かを判断することができる。
【0026】
制御部12は、検証部11の検証結果に基づいてアプリケーション格納部13に記憶されているアプリケーションを起動する制御手段として機能する。
【0027】
アプリケーション格納部13は、アプリケーションを記憶するメモリである。
【0028】
通信部14は、LANまたはインターネットなどのネットワークと接続する接続インターフェースである。この通信部14は、IDとIPアドレスとを対応付けて記憶する管理サーバと通信し、またICカード20の移送部23および受領部24を用いて実行権情報の送受信を行う。
【0029】
操作部15は、ユーザによる入力操作、またはアプリケーションプログラムの起動指示が行われる操作手段であり、ユーザによるICカード20のIDの入力または起動指示を受け付けることができる。なお、ICカード20のIDの代わりに、送信先のIPアドレスを直接入力することもできる。
【0030】
格納部21は、実行権情報を記憶する記憶手段である。実行権情報は、アプリケーションプログラムに基づいて生成されたハッシュ値(ハッシュ値の計算方法としては上述と同様にSHA−1、およびMD5がある)と、数値で表される度数情報とから構成される。このうち度数情報は、実行権情報が有効であることを示す情報であり、アプリケーションプログラムが実行されるたびに、または実行権情報が移送されるたびに、Nずつ減算される数値情報である(Nは1以上の整数)。そして、度数が0未満になると、実行権情報は無効とされ、アプリケーションプログラムの起動ができなくなる。
【0031】
この実行権情報の概念図を図2に示す。図2は、実行権情報の概念図であり、アプリケーションプログラムに基づいて生成されたハッシュ値、および度数情報から構成されている。このハッシュ値、および度数情報の初期値は、プログラム実行制御装置の通信部14を使ってネットワーク上に配置されるライセンスサーバから取得される情報であり、ライセンスサーバでハッシュ値、および度数が予め生成されている。なお、ライセンスサーバとの接続は初期値を取得するときのみであり、実行権情報の移送時には接続されない。
【0032】
図1に戻り、引き続き説明する。減算部22は、格納部21に記憶される度数情報を減算して、度数>0、度数=0、または度数<0のいずれの状態であるか判断するものである。
【0033】
減算部22は、格納部21に記憶されている度数情報からNずつ減算する処理を実行する第1減算手段および第2減算手段として機能する。そして、減算して得た結果が0より大であるか、0より小であるか、または0であるか、いずれかを判断する。アプリケーションプログラムの起動時に、度数情報を減算して得た結果が0以上であると、減算部22が判断した場合は、検証部11にその旨の出力を行う。また、0より小である場合は、その旨の出力を行う。検証部11では、0以上であるとの出力を受けるとアプリケーションプログラムを起動させる。なお、減算部22が、減算して得た結果が0であると判断した場合は、該当する実行権情報を削除する。よって減算部22は第1削除手段としても機能する。
【0034】
また、実行権情報を移送する際に度数情報を減算して得た結果が0以上であると、減算部22が判断した場合は、移送部23に対して実行権情報の移送を行うよう指示を出力する。また、0より小である場合は、実行権情報の移送の指示を出力しない。なお、減算部22が、減算して得た結果が0であると判断した場合は、該当する実行権情報を削除する。よって減算部22は第2削除手段としても機能する。
【0035】
移送部23は、格納部21に記憶される実行権情報を抽出し、抽出した実行権情報を暗号化して実行権移送情報を生成し、生成された実行権移送情報を送信するものであって、実行権移送情報生成手段および送信手段として機能する。また、暗号化処理の代わりに或いは必要に応じて、電子署名を実行権情報に付加することにより、実行権移送情報を生成して、生成された実行権移送情報を送信先に送信することもできる。なお、実行権移送情報には、アプリケーションを実行させるための実行権情報以外に、例えばリプレーアタックを防止するための乱数情報など、他の情報が含まれる場合もある。
【0036】
ここで、実行権移送情報の概念図について説明する。図3は、実行権移送情報の概念図である。図3に示すとおり、実行権移送情報は、暗号化された(または電子署名が付加された)実行権情報である。実行権移送情報は、受領側(ネットワーク上に配置される他の端末)で復号化できるように受領側と共有した暗号鍵を用いて暗号化された情報である。なお、共有化した暗号鍵を用いて暗号化する代わりに、秘密鍵を用いて暗号化するとともに、Diffie-Hellman鍵交換方式を用いてこの秘密鍵を受領側に通知するようにしても良い。
【0037】
受領部24は、通信部14を介して接続した他のプログラム実行制御装置から暗号化された実行権情報である実行権移送情報を復号化して受信することで実行権情報を生成するものであって、実行権情報生成手段および受信手段として機能する。また、実行権情報の送信元から電子署名を受信するとこれを解析してその正当性を判断することを行うこともできる。受領部24は、受信した実行権移送情報を送信側のプログラム実行制御装置と共有化した暗号鍵を用いて復号化して、実行権情報を取得する。受領部24は、取得した実行権情報を格納部21に登録する。なお、電子署名が付加された実行権情報を取得した場合は、電子署名の正当性を確認した後に、受信した実行権情報を格納部21に登録するようにする。また、受領部24は、格納部21に実行権情報を登録する際、以下の処理を行うよう構成しても良い。
【0038】
受領部24は、復号化された実行権情報と等しい実行権情報(度数以外の実行権情報の部分)が既に格納部に記憶されているか、否かを、判断する。具体的には、ハッシュ値が同じ実行権情報の有無を判断する。そして、受領部24では、ハッシュ値が同じ実行権情報が存在すると、受信した実行権情報の度数を抽出し、抽出した度数を、すでに格納部に記憶している実行権情報の度数に加算する。加算して得られた実行権情報を格納する。これより、実行権情報の度数を追加することができる。
【0039】
他のプログラム実行制御装置は、上述のプログラム実行制御装置と同じ構成とされているため、その説明を省略する。
【0040】
次に、このプログラム実行制御装置1の動作について説明する。まず、ICカード20に格納されている実行権情報を用いてアプリケーションを起動して動作させるときの処理について説明する。図4は、実行権情報を用いてアプリケーションを起動させるときの処理を示すフローチャートである。
【0041】
まず、ユーザの操作によりアプリケーション格納部13に格納されたアプリケーションプログラムの起動操作が行われる(S101)。そして、検証部11によりアプリケーションプログラムのハッシュ値が計算される(S102)。次に、検証部11により、計算されたハッシュ値とICカード20に格納されている実行権情報のハッシュ値とが比較される(S103)。検証部11により、計算されたハッシュ値とICカード20に格納されている実行権情報のハッシュ値とが一致したと判断された場合(S104)、減算部22により、格納部21に記憶されている度数情報からNだけ減算する。なお、ここではNを1とするが、Nを2以上の数値としてもよい。また、S104において、ハッシュ値一致しなかった場合、その処理を終了する。
【0042】
減算した(度数情報−N)が、0より大であるか、0より小であるか、または0であるか、が減算部22により判断される(S106)。ここで、(度数情報−N)<0であると判断される場合、アプリケーションプログラムを実行するための度数が足りなかったとして、アプリケーションプログラムを起動することなく、処理が終了する。なお、ここでは、実行権情報を削除することはしない。これは、上述したNが2以上である場合は、度数が少なくとも1つ残っている場合があり、のちに度数のみを追加することにより、実行権情報を実質的に有効にすることができるからである。
【0043】
また、(度数情報−N)>0であると判断される場合、減算して得られた数値を度数情報とする(S107)。これは次回アプリケーションを起動するときには、減算して得られた数値に置き換えられた度数情報に基づいて判断させるためである。度数情報を、減算して得られた数値とした後、プログラムが起動する(S109)。
【0044】
また、(度数情報−N)=0であると判断される場合、実行権情報を削除する(S108)。度数が残っている場合と異なり、実行権情報を度数情報とともに削除している。度数が残っている場合と異なって、実行権情報の全てを再登録する場合は、その再登録する処理に手間が変わらないからである。なお、度数情報のみを減算して0にし、実行権情報を削除しないよう制御することもできる。そして、実行権情報が削除されると、プログラムが起動する(S109)。
【0045】
このように、実行権情報を判断することにより、アプリケーションの起動をしてよいか、否かを判断することができる。
【0046】
次に、実行権情報を他のプログラム実行制御装置に移送するときの動作について説明する。図5は、他のプログラム実行制御装置に移送するときのプログラム実行制御装置1の処理を示すフローチャートである。
【0047】
まず、ユーザによる実行権情報の移送の処理が行われる(S201)。ここでは、ユーザにより送信先である他のプログラム実行制御装置のICカードのIDを入力することにより、送信先が特定される。入力されたIDは、通信部14によりネットワークに配置されている管理サーバに送信され、管理サーバでは受信したIDに対応したIPアドレスを抽出して返信する。通信部14はこの返信を受信することにより、送信先のIPアドレスを本実施形態のプログラム実行制御装置は取得することができる。
【0048】
なお、IDとIPアドレスと対応関係を記憶する管理サーバは、ICカードを保持するユーザの操作により予めIDとIPアドレスとが対応付けて登録される。具体的には、ICカードがプログラム実行制御装置に挿入されたときにプログラム実行制御装置がこれを検知し、ICカードのIDを読み取って、読み取ったIDとプログラム実行制御装置のIPアドレスとを通信部14を用いて管理サーバに登録する。なお、このような処理をすることなく、IPアドレスを直接入力するようにしても良い。また、ユーザは送信先を入力するほか、実行権情報の度数を入力するようにしてもよい。これにより、ユーザは自らの意思に応じた値を入力することができ、実行権情報の全てを移送することができるようになる。
【0049】
ユーザによる操作が行われ、送信先のIPアドレスが取得されると、IPアドレスを移送部に23に出力し、制御部12は移送部23にその旨の指示を行う(S202)。この指示を受けた移送部23は減算部22に対して度数の減算処理を指示する(S203)。そして、減算部22は(度数情報−N)を計算する(S204)。なお、ここでNは1以上の数値をとることができるが、ユーザの操作によりNとして大きな値を入力することができ、実質的に実行権の全てを移送すること、または実行権を分割することができる。
【0050】
この演算式により、(度数情報−N)<0である場合(S205)、実行権情報の移送処理を行うことなく、処理を終了する。また、(度数情報−N)>0である場合(S205)、移送部23により、度数情報をNとした実行権情報が共有化された暗号鍵を用いて暗号化されることで実行権移送情報が生成される(S206)。そして、移送部23により、実行権移送情報が通信部14を介して接続される他のプログラム実行制御装置に送信される(S209)。送信後、(度数情報−N)で得た数値を新たな度数情報として格納部21はこの新たな度数情報を実行権情報として記憶する。そして、次回の実行権情報の移送処理時またはプログラムの起動処理時に、新たな度数情報が用いられ、この度数情報を基準に判断される。
【0051】
また、(度数情報−N)=0である場合(S205)、移送部23により、実行権情報の度数をNとして、この実行権情報が暗号化されて(または実行権情報に電子署名を付加して)実行権移送情報が生成される(S207)。そして、減算部22により実行権情報は格納部21から削除される(S208)。削除後、移送部23により、実行権移送情報が通信部14を介して接続される他のプログラム実行制御装置に送信される(S209)。送信後の処理は、上述とは異なり、実行権情報が削除されていることから何もせず終了する。
【0052】
受領側である他のプログラム実行制御装置は、サーバを介することなく実行権移送情報を受信する(S301)。受信した実行権移送情報は共有化された暗号鍵に基づいて復号化されることで、実行権情報が生成される(S302)。そして、生成された実行権情報は、他のプログラム実行制御装置におけるICカードの所定の格納部に記憶される(S303)。なお、格納部に格納するに際して、以下の処理を行っても良い。
【0053】
復号化された実行権情報と等しい実行権情報(度数以外の実行権情報の部分)が、既に格納部に記憶されているか、否かを、受領側のICカードにおいて判断する。具体的には、ハッシュ値が同じ実行権情報の有無を判断する。ハッシュ値が同じ実行権情報が存在すると、受信した実行権情報の度数を抽出し、抽出した度数を、すでに格納部に記憶している実行権情報の度数に加算する。加算して得られた実行権情報を格納する。これより、実行権情報の度数を追加することができる。
【0054】
このように、移送される際には実行権情報は共有化された暗号鍵を用いて暗号化され、受領側では共有化された暗号鍵を用いて復号化して受信することができることから、実行権情報は改竄されることなく、同一性を担保しつつ、他の装置に安全に移送することができる。電子署名が付加された実行権情報についても同様に、同一性を担保しつつ、他の装置に安全に移送することができる。
【0055】
なお、実行権情報を移送するに際して、上述の暗号化する方法のほか、特開2001−143009号公報に記載されているとおり、データ全体をハッシュ関数によるハッシュ値に変換して送信する方法を採用することができる。
【0056】
また、上述のプログラム実行制御装置1は、度数情報がライセンスサーバから与えられた数値として、プログラムが起動するたびに、または実行権情報を移送するたびに度数情報からNずつを減算する処理をしているが、これに限るものではなく、初期値として度数を0とし、プログラムが起動するたびに、または実行権情報を移送するたびに度数情報にMを加算していき、所定数に達したときに、プログラムを実行し、また実行権情報の移送を可能とし、さらにMが加算された度数が所定値に達したときには、実行権情報を削除するようにしてもよい。
【0057】
次に、本実施形態のプログラム実行制御装置1の作用効果について説明する。本実施形態のプログラム実行制御装置1は、プログラムを実行可能とさせる実行権情報を含む情報を、移送部23が暗号化して、または実行権情報を含む情報に電子署名が付加されて、生成された実行権移送情報を他のプログラム実行制御装置にサーバを介することなく送信することにより、実行権情報をサーバなどで集中管理することなく他の端末に送信することができる。
【0058】
また、本実施形態のプログラム実行制御装置1は、実行権情報を扱う格納部21、移送部23をICカードなどの耐タンパ装置に組み込むことにより、実行権情報の不正な複製や改竄を防止することができる。また、あわせて受領部24を耐タンパ装置に組み込むこともできる。
【0059】
また、本実施形態のプログラム実行制御装置1は、MD5またはSHA−1などの公知のハッシュ関数によるハッシュ値を用いて実行権情報の正当性を判断させることにより、プログラムが改竄された際にその実行を未然に防止することができる。
【0060】
また、本実施形態のプログラム実行制御装置1は、実行権情報に含まれる度数情報に対して、減算部22がプログラムが起動するごとに所定数を減算していって、予め定めた基準値に達すると、実行権情報を削除することにより、実行権情報を使用することのできる回数を有限にすることができる。よって、実行権情報の不正な複製や改竄を行わせる機会を少なくすることができる。なお、減算の代わりに加算するようにしてもよい。
【0061】
また、本実施形態のプログラム実行制御装置1は、実行権情報に含まれる度数情報に対して、暗号化されたまたは電子署名が付加された実行権移送情報が送信される際、減算部22により所定数を減算し、減算された数値を度数として実行権情報を含む情報を移送部24により暗号化して、または実行権情報を含む情報に電子署名を付加して、暗号化された、または電子署名が付加された実行権移送情報を送信することにより、送信元に実行権情報を保持したまま他の端末に実行権情報を送信することができ、実行権情報の分割を行うことができる。また、度数情報が予め定めた基準値に達した場合には、実行権情報を削除することにより、実質的に実行権情報の移動を可能とする。なお、減算の代わりに加算するようにしてもよい。
【0062】
また、本実施形態のプログラム実行制御装置1は、受領部24により実行権移送情報を受信して、これを復号化してまたは電子署名の正当性を判断して、当該実行権情報を格納部21が記憶することにより、実行権情報を他の端末から得ることができる。
【0063】
また、本実施形態のプログラム実行制御装置1は、受領部24により実行権情報に含まれる度数を受領側で加算して、加算した度数を実行権情報の度数とすることにより、度数を追加することができる。
【図面の簡単な説明】
【0064】
【図1】プログラム実行制御装置のブロック構成図である。
【図2】実行権情報の概念図である。
【図3】実行権移送情報の概念図である。
【図4】実行権情報を用いてアプリケーションを起動させるときの処理を示すフローチャートである。
【図5】他のプログラム実行制御装置に移送するときのプログラム実行制御装置の処理を示すフローチャートである。
【符号の説明】
【0065】
1・・・プログラム実行制御装置、10・・・情報処理装置、11・・・検証部、12・・・制御部、13・・・アプリケーション格納部、14・・・通信部、20・・・カード、21・・・格納部、22・・・減算部、23・・・移送部、24・・・受領部。

【特許請求の範囲】
【請求項1】
プログラムを実行可能とする実行権を示す実行権情報を記憶する記憶手段と、前記実行権情報が正当なものであることを検証する検証手段と、前記検証手段による検証に基づいてプログラムを起動させる制御を行う制御手段とを備えるプログラム実行制御装置において、
実行権情報の送信先が入力される操作手段と、
前記記憶手段に記憶されている実行権情報を含む情報を暗号化することで、または当該実行権情報を含む情報に電子署名を付加することで、実行権移送情報を生成する実行権移送情報生成手段と、
前記実行権移送情報生成手段により生成された実行権移送情報を、前記操作手段により入力された送信先に送信する送信手段と、
を備えるプログラム実行制御装置。
【請求項2】
前記記憶手段、前記送信手段、および前記実行権移送情報生成手段は、耐タンパ装置内に構成されていることを特徴とする請求項1記載のプログラム実行制御装置。
【請求項3】
前記実行権情報は、前記プログラムのハッシュ値であることを特徴とする請求項1又は2に記載のプログラム実行制御装置。
【請求項4】
前記実行権情報は、数値で表される度数情報を含み、
前記プログラムが起動するたびに、前記度数情報から所定数を減算し、または前記度数情報に所定数を加算する第1演算手段と、
前記第1演算手段により演算された結果、前記度数情報が予め定めた基準値に達した場合、前記実行権情報を削除する第1削除手段と、
をさらに備える請求項1〜3のいずれか1項に記載のプログラム実行制御装置。
【請求項5】
前記実行権情報は、数値で表される度数情報を含み、
前記送信手段による実行権移送情報が送信されるたびに、前記度数情報から所定数を減算し、または前記度数情報に所定数を加算する第2演算手段と、
前記第2演算手段により減算または加算された結果、前記度数情報が予め定めた基準値に達した場合、前記実行権情報を削除する第2削除手段と、をさらに備え、
前記実行権移送情報生成手段は、減算又は加算した数値を度数とした実行権情報を暗号化し、または減算又は加算した数値を度数とした実行権情報に電子署名を付加し、前記送信手段は、生成された実行権移送情報を送信することを特徴とする請求項1〜4のいずれか1項に記載のプログラム実行制御装置。
【請求項6】
他の端末から実行権移送情報を受信する受信手段と、
前記受信手段により受信された実行権移送情報を復号化することで、または実行権移送情報に付加された電子署名の正当性を判断することで、実行権情報を含む情報を生成する実行権情報生成手段と、をさらに備え、
前記記憶手段は、前記実行権情報生成手段により生成された実行権情報を記憶することを特徴とする請求項1〜5のいずれか1項に記載のプログラム実行制御装置。
【請求項7】
前記受信手段は、度数を含んだ実行権移送情報を受信し、
前記実行権情報生成手段により生成された実行権情報と同じ実行権情報が、既に前記記憶手段に記憶されている場合、既に前記記憶手段に記憶されている実行権情報の度数に、前記受信手段により受信された実行権情報の度数を加算した実行権情報を前記記憶手段が記憶することを特徴とする請求項6に記載のプログラム実行制御装置。
【請求項8】
プログラムを実行可能とする実行権を示す実行権情報を記憶し、前記実行権情報が正当なものであることを検証することによってプログラムの実行を制御するプログラム実行制御装置における実行権情報の移送方法であって、
前記実行権情報の送信先の入力を受け付ける入力ステップと、
前記実行権情報を含む情報を暗号化することで、または当該実行権情報を含む情報に電子署名を付加することで、実行権移送情報を生成する実行権移送情報生成ステップと、
前記実行権移送情報を、入力された前記送信先に送信する送信ステップと、
を備える実行権情報の移送方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2006−48446(P2006−48446A)
【公開日】平成18年2月16日(2006.2.16)
【国際特許分類】
【出願番号】特願2004−229844(P2004−229844)
【出願日】平成16年8月5日(2004.8.5)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】