JP2009093229A - プログラム制御装置及び方法とプログラム - Google Patents

プログラム制御装置及び方法とプログラム Download PDF

Info

Publication number
JP2009093229A
JP2009093229A JP2007260361A JP2007260361A JP2009093229A JP 2009093229 A JP2009093229 A JP 2009093229A JP 2007260361 A JP2007260361 A JP 2007260361A JP 2007260361 A JP2007260361 A JP 2007260361A JP 2009093229 A JP2009093229 A JP 2009093229A
Authority
JP
Japan
Prior art keywords
program
information
extension
basic
identification information
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.)
Granted
Application number
JP2007260361A
Other languages
English (en)
Other versions
JP5036475B2 (ja
JP2009093229A5 (ja
Inventor
Noriyuki Nakazawa
紀之 中澤
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2007260361A priority Critical patent/JP5036475B2/ja
Priority to US12/238,428 priority patent/US8146168B2/en
Publication of JP2009093229A publication Critical patent/JP2009093229A/ja
Publication of JP2009093229A5 publication Critical patent/JP2009093229A5/ja
Application granted granted Critical
Publication of JP5036475B2 publication Critical patent/JP5036475B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】仕向毎にライセンス方式が異なるプログラムの管理を適正に行う。
【解決手段】起動制限確認処理部104は、起動制限対象プログラムの名称の基本部分と仕向地を示す構成情報103とを連結して、基本プログラム101の拡張プログラムとなる起動制限対象プログラムを特定し、それが拡張プログラム群102に含まれるか判定する。含まれれば、その起動制限対象プログラムをロードし、ロードに成功すれば、それに含まれる署名データを読み出す。その署名データを、公開鍵105で解読し、解読により得られた確認情報を、拡張プログラム識別情報106と仕向地を示す構成情報103とを連結した情報と照合する。一致すれば、その起動制限対象プログラムは正規ヒントしてインストールされ、一致しなければ処理を中断する。
【選択図】図1

Description

本発明は、基本プログラム上で動作する拡張プログラムを、基本プログラムと拡張プログラムの組み合わせに基づいて起動制限するプログラム制御装置及び方法とプログラムに関する。
従来、プログラムの起動制御方法として、ライセンス管理方法が数多く出願されている。例えば、ライセンス管理対象となるソフトウェアを暗号化し、ユーザが入力したライセンス番号等の情報を元に、ソフトウェアを復号するための鍵をライセンス発行サーバが発行する。ライセンス管理サービスはこの鍵を受け取り、ライセンス管理対象となるソフトウェアを復号する。その際、ライセンス管理サービスが動作するマシンに固有の情報を使用することにより、他のマシンでのソフトウェアの実行を抑止するもの等が挙げられる(たとえば特許文献1等参照)。
また、地域的な制限を実現する装置としては、例えばDVDプレーヤがある。DVDプレーヤは、DVDプレーヤのリージョンコードとDVDビデオのリージョンコードが一致しない場合、DVDビデオの再生を抑止する。
特開2005−78167号公報
しかしながら、上述した従来の技術では、拡張ソフトウェアのライセンス形態が仕向け地毎に異なる状況には対応できない。例えば、特定の地域では無料で配布している拡張プログラムが、別の地域ではライセンス販売されているような場合がある。この場合、ライセンス販売されている地域内であっても、他の地域で無料配布している拡張プログラムの起動を抑止できない。このため、本来有償であるはずのプログラムを無償で利用できる。
これに対して、DVDプレーヤは、地域的な再生の制限を実現している。しかしDVDプレーヤでは、ひとつの媒体にはひとつのリージョンコードしか記録できない。このため、たとえば単一の媒体で複数の仕向地向けの拡張プログラムを提供するような実装に適用することは困難である。またDVDではそのコンテンツはコピーコントロールされているが、リージョンコードは暗号化や署名の対象ではない。そのため、コピーコントロールされていない媒体をソフトウェアの提供用の媒体として用いた場合、リージョンコードの偽造等により、地域的な制限の不適当な解除が可能となる。
本発明は上記従来例に鑑みて成されたもので、複数の仕向地向けに拡張プログラムを提供するとともに、各仕向地それぞれに固有の起動制限を実現できるプログラム制御装置及び方法とプログラムを提供することを目的とする。
上記目的を達成するために本発明は以下の構成を備える。すなわち、
基本プログラムの機能を拡張する拡張プログラムの起動制限を行うプログラム制御装置であって、
指定された拡張プログラムの識別情報と、前記基本プログラムが持つ、基本プログラムと拡張プログラムとの対応付け情報とに基づいて、起動の対象となる拡張プログラムを特定する特定手段と、
特定された前記対象拡張プログラムに含まれる、前記拡張プログラムの識別情報と前記対応付け情報とを秘密鍵で暗号化した署名情報を、前記秘密鍵に対応する公開鍵で復号する復号手段と、
前記復号手段により復号された復号後の情報を、前記拡張プログラムの識別情報および前記対応付け情報と照合する照合手段と、
前記照合手段による照合の結果、一致した場合には前記特定手段により特定された拡張プログラムを実行可能な状態にする手段とを備える。
本発明によって、基本プログラムの構成情報に従って拡張プログラムの起動を制限することにより、本来起動すべきでない拡張プログラムが起動できてしまう問題を解決することが出来る。
[第1実施形態]
<ソフトウェアの構成>
図1は、本発明の第1の実施形態に係る基本プログラム上での拡張プログラムの起動制限を行う方式を実装した各プログラムのブロック図である。図1において、拡張プログラム群102は、基本プログラム101の機能を拡張するために、基本プログラム101上で、基本プログラム101が用意する機能を用いつつ動作する。基本プログラム101はコンピュータにより実行される。拡張プログラム群102はたとえば記憶媒体により提供され、利用者による選択や、基本プログラム101への対応に応じて、適切な起動制限対象プログラムが拡張プログラムとしてコンピュータにインストールされて実行される。拡張プログラム群102には、相異なる国や地域を仕向地とする、同一機能を拡張プログラム群を含む。すなわち拡張プログラム群102は、同一の識別情報と相異なる対応付け情報とを持つプログラムが含まれている。
構成情報103は基本プログラム101の構成情報であり、本例では構成情報としてプログラムの仕向け情報を用いている。本例では、基本プログラム101の仕向けは日本であり「ja」である。本例では、構成情報は、拡張プログラムとの対応付けを示す対応付け情報でもある。すなわち、ある仕向地向けの拡張プログラムは、同じ仕向地向けの基本プログラムのアドオンとして実行される。なお図1では、拡張プログラム群とは複数の仕向地に向けた個々の拡張プログラム(図1では起動制限対象プログラムと呼んでいる。)をまとめた総称である。起動制限対象プログラムについては仕向地はその名称の一部として記述される。
起動制限確認処理部104は、拡張プログラム群102の起動確認処理部107から呼び出されるプログラムモジュールである。公開鍵105は、拡張プログラム群102固有の公開鍵であり、これを用いて起動制限対象プログラム(すなわち拡張プログラム)の認証が行われる。具体的には、この公開鍵105に対応する秘密鍵を用いた暗号化により作成されたデジタル署名(署名情報あるいは署名データと呼ぶ。)の復号(解読)に用いられる。公開鍵105は、少なくとも拡張プログラム群102に含まれる個々の拡張プログラムについて共通に適用される。拡張プログラム識別情報106は、拡張プログラム群を一意に識別するための情報であり、例えば拡張プログラム群の名称や、乱数等を用いて自動生成した識別子が使用される。なお本実施形態では拡張プログラム識別情報は、個々の拡張プログラムの識別情報の基本部分とは異なるが、同一であっても良い。
起動確認処理部107は、拡張プログラムが基本プログラム101上で動作可能か否かを確認するためのプログラムモジュールであり、基本プログラム101の起動制限確認処理部104の呼び出し結果に応じて、起動の可否を決定する。起動制限対象プログラム108、109、110は、拡張プログラム群に含まれ、基本プログラム101にアドオンされて機能を拡張する、各仕向地毎の個々の拡張プログラムである。記憶媒体には、これら拡張プログラムはプログラムファイルとして記録されている。すなわち起動制限対象プログラムのことを単に拡張プログラムと呼ぶ場合もある。
拡張基本プログラム101の構成情報103に対応して、複数の起動制限対象プログラムを拡張プログラム群に含むことが可能である。この例では、仕向けとして「ja(日本)」「us(米国)」「eu(欧州)」に対応した起動制限対象プログラムが拡張プログラム群102に含まれている。起動制限対象プログラムは、例えば、ダイナミックリンクライブラリのような形態で構成され、その名称は、基本部分と、それぞれの仕向け情報と、ライブラリであることを示す拡張部分とを含む。例えば、図の例で起動制限対象プログラムの基本名を、ExtPrgとすれば、起動制限対象プログラム108、109、110のファイル名はそれぞれ、ExtPrg.ja.dll、ExtPrg.us.dll,ExtPrg.eu.dllとなる。起動制限対象プログラムの名称に含まれる仕向情報もやはり基本プログラムとの対応付けを示す対応付け情報ということができる。
起動制限対象プログラム108、109、110内には、プログラムごとの固有情報を公開鍵105と対になる秘密鍵で暗号化した署名データ1081,1091,1101がそれぞれ格納される。固有情報は、拡張プログラム識別情報106と、各起動制限対象プログラムの仕向け情報とから生成される。固有情報は、例えば、各情報を連結することにより生成される。
拡張プログラム群102は、たとえばコンパクトディスク(登録商標)などの記憶媒体に保存され、ユーザに提供される。したがってこの記憶媒体には、複数の国や地域を仕向地とする複数の拡張プログラムが記憶されていることになる。
<コンピュータの構成>
図2は、基本プログラム101及び拡張プログラム群102が動作するホストコンピュータのハードウェア構成を示すブロック図である。図2において、ホストコンピュータ201は、CPU202、RAM203、ROM204、外部記憶装置211を備える。CPU202は、こうしたROM204または外部記憶装置211に記憶されたソフトウェアを実行し、システムバス205に接続された各デバイスを総括的に制御する。RAM203は、CPU202の主メモリあるいはワークエリアなどとして機能する。外部記憶装置211は、ハードディスク(HD)や光ディスク、フレキシブルディスク(FD)等を持つ。外部記憶装置211は、ブートプログラム、オペレーティングシステム、認証サーバ、認証クライアントを含む各種のアプリケーション、データベースデータ、フォントデータ、ユーザファイル等を記憶する。
さらにホストコンピュータ201において、キーボードコントローラ(KBDC)206は、キーボード(KBD)207や図示しないポインティングデバイスからの入力情報をCPU202に送る。ビデオコントローラ(VC)208は、CRTやLDC等からなる表示装置209の表示を制御する。ディスクコントローラ(DKC)210は、外部記憶装置211とのアクセスを制御する。通信コントローラ(COMM I/F)212は、コンピュータをローカルエリアネットワーク(LAN)213に接続するインターフェースである。
<拡張プログラムのインストール処理>
以下、起動確認処理部107及び起動制限確認処理部104による処理をフローチャートを用いて説明する。図3は、拡張プログラム群102に含まれた起動確認処理部107の処理を示すフローチャートである。拡張プログラム群102を記録した媒体がコンピュータにより読み込まれると、起動確認処理部107がロードされて実行される。図3はその実行後の処理を示す。起動確認処理部107は媒体に記憶されたプログラムコードであり、それをコンピュータが実行することで図3の手順で機能する起動確認処理部107が実現される。
まず、ステップS301で、拡張プログラム固有の公開鍵105と拡張プログラム識別情報106とを取り出す。ステップS302で、取り出された公開鍵105と拡張プログラム識別情報106および起動制限対象プログラムの基本名をパラメータとして、基本プログラム101の起動制限確認処理部104を呼び出す。たとえば、公開鍵105は2進符号列であり、拡張プログラム識別情報106は「External Program」などの文字や数字の列、起動制限対象プログラムの基本名も「ExtPrg」などの文字数字列である。呼出の結果、起動制限確認処理部104より拡張プログラム起動の可否が返されるので、ステップS303にて、返された値を検証し、起動可能である場合は、ステップS304にて拡張プログラム群102の処理を続行する。検証の結果、起動不可である場合は、ステップS305にて拡張プログラム群102の処理を中止する。その際、ユーザに対し、拡張プログラムが起動できなかった旨を通知する等の処理を行うことも考えられる。拡張プログラム群102の処理を続行する場合には、たとえば、S302で特定された起動制限対象プログラムをコンピュータにインストールし、基本プログラム101の拡張部分として、指定された機能を遂行する場合に直ちに実行可能な状態とされる。
図4は、基本プログラム101の起動制限確認処理部104の処理を示すフローチャートである。起動制限確認処理部104は起動確認処理部107のステップS302により、拡張プログラムの公開鍵105、拡張プログラム識別情報106例では及び起動制限対象プログラムの基本名(例では「ExtPrg」)と共に呼び出される。
先ず、ステップS401で、渡された拡張プログラム識別情報106(「External Program」)と基本プログラムの構成情報103(例では「jp」)とから確認情報を生成する。次にステップS402で、起動制限対象プログラムの基本名と、基本プログラムの構成情報103とから拡張プログラムとなる起動制限対象プログラムを決定する。本例の場合は、起動制限対象プログラムの基本名は「ExtPrg」、構成情報103は「ja」であるので、起動制限対象プログラムは、「ExtPrg.ja.dll」と決定される。「.dll」はライブラリを示す拡張子であり、固定的に付加される。ステップS403で、ステップS402で決定した名称を持つ起動制限対象プログラムが拡張プログラム群102中に存在するか否か判定する。存在しない場合は、指定された拡張プログラムは起動不可であると判断し、ステップS407にて、呼出元に「起動不可」である旨を返却する。
ステップS402で決定した名称を持つ起動制限対象プログラムが存在した場合は、ステップS404にて、該当する起動制限対象プログラム(ライブラリ)をロードする。本例では、起動制限対象プログラム108が該当する。起動制限対象プログラムのロードに失敗した場合は、起動不可である旨を呼出元に返却する(ステップS407)。ロードに成功した場合は、ステップS405で、ロードした起動制限対象プログラム108から署名データを取り出す。本例ではプログラム108に含まれる署名データ1081を取り出す。
ステップS406では、ステップS401で生成した確認情報とステップS405にて取り出した署名データを、拡張プログラム群102の起動確認処理部107より渡された公開鍵105にて検証する。公開鍵105は署名データ作成時に暗号化に用いた秘密鍵に対応する鍵である。秘密鍵に対応する公開鍵とは、その秘密鍵で暗号化した暗号を解読するための鍵であり、あるいはその逆である。検証はたとえば以下のように行う。署名データを公開鍵で解読し、固有情報に復号する。得られた固有情報をステップS401で生成した確認情報と照合する。固有情報は、基本プログラム101の情報から得られた、その基本プログラムの拡張プログラムとして本来採用されるべきプログラムの識別情報と仕向の情報(構成情報)とを含む。従って照合した両者が一致すれば、拡張プログラム識別情報および構成情報は改竄されておらず、ステップS402で特定された起動制限対象プログラムは、基本プログラム101の拡張プログラムとして利用できる正当なプログラムであると判断できる。したがってこの場合には検証は成功である。一方、一致しない場合、その拡張プログラムの識別情報か、プログラムのファイル名に含まれた仕向情報のいずれかが改竄されているおそれがあると判断できる。したがってこの場合には検証は失敗である。
検証が成功した場合は、ステップS408にて起動可能である旨を処理の呼出元に返却する。検証に失敗した場合は、起動不可である旨を処理の呼出元に返却する(ステップS407)。図3の手順により、検証が成功すれば当該起動制限対象プログラムが、基本プログラム101に対応する拡張プログラムとしてコンピュータにインストールされ、実行可能な状態とされる。
以上のようにして、本実施形態によれば、仕向情報をディジタル署名の元となる情報の一部として使用しているため、仕向の改竄を防止することができる。これにより、基本プログラムの構成情報に従って拡張プログラムの起動を制限でき、本来起動すべきでない拡張プログラムが起動できてしまう問題を解決することが出来る。
[第2実施形態]
本発明の第2の実施形態は、第1の実施形態の起動制限対象プログラムが、ライセンス制御の管理下にある場合である。図5は、本発明の第2の実施形態に係る基本プログラム上での拡張プログラムの起動制限を行う方式を実装したプログラムのブロック図であり、図1に対し、ライセンス管理サービス501が追加されている。他の構成に関しては、第1の実施形態と同じであるため、第1の実施形態の説明で使用した図をそのまま利用することにする。また図5では省略したが、各起動制限対象プログラムには署名データが含まれている。
ライセンス管理サービス501は、内部にライセンス情報データベース502を持ち、ここに、現在ライセンス管理サービスに登録されているライセンスに関する情報、たとえな復号鍵が格納されている。本実施形態でのライセンス管理の動作の概要を以下に記す。ライセンス管理の対象となる起動制限対象プログラムは、ライセンス管理システムにより暗号化されている。図5の例では、錠が施されている起動制限対象プログラム108と起動制限対象プログラム110が暗号化されており、起動制限対象プログラム109は暗号化がなされていない。即ち、拡張プログラムは、日本及び欧州向けにはライセンス販売されるが、米国向けには無償で配布される。
ユーザはライセンスを購入することにより、拡張アプリケーションの供給元より、ライセンス番号を入手する。ユーザは更に、前記ライセンス番号とアプリケーションが動作するホストコンピュータを一意に識別するホストコンピュータ識別子を、図示しないライセンス発行サーバに送付する。ライセンス発行サーバはライセンスの供給元が用意するライセンスの発行を行うためのサーバである。ライセンス発行サーバはライセンス番号とホストコンピュータ識別子から、起動制限対象プログラム(本例ではプログラム108)を復号するための鍵を作成してユーザに送付する。ホストコンピュータを一意に識別するホスト識別子としては、ホストコンピュータのCPUIDや、ハードディスクの固体識別番号等が用いられる。ユーザはライセンス発行サーバが発行した鍵を、ライセンス情報(または許諾情報とも呼ぶ。)としてライセンス管理サーバ501に登録する。ライセンス管理サーバ501は登録された鍵を、ライセンス情報データベース502内に保管する。鍵は、ユーザに関連づけたり、プログラム識別情報に関連づけたり、あるいは固有情報に関連づけたりして登録することができる。
拡張プログラムをインストールする手順は、図3及び図7に示したものである。図3は第1実施形態と共通なので説明を省略する。
図7は、基本プログラム101の起動制限確認処理部104の処理を示すフローチャートである。起動制限確認処理部104は起動確認処理部107のステップS302により、拡張プログラムの公開鍵105、拡張プログラム識別情報106例では及び起動制限対象プログラムの基本名(例では「ExtPrg」)と共に呼び出される。図4と共通の部分には図4と同じ符号を付したのでその説明は省略する。図7が図4と相違するのは、ステップS403で、特定された起動制限対象プログラムが存在する場合、ステップS400−S703を行ってライセンスの認証を行うことである。
ステップS700では、ライセンス管理サーバ501から該当する鍵、すなわちライセンス情報の取得を試みる。鍵はたとえばユーザに関連づけたり、プログラム識別情報に関連づけたり、あるいは固有情報に関連づけたりして登録されているので、それら関連づけを用いて取得する鍵を特定する。ステップS701では、該当する鍵すなわちライセンス情報の取得に成功したか否か判定する。成功すればステップS702に分岐する。ステップS702では、そのライセンス情報を用いて、ステップS402で特定した起動制限対象プログラムの解読(すなわち復号)を試みる。ステップS703でその結果が成功であったか否か判定する。成功であればステップS404へ進み、復号後の起動制限対象プログラムをロードする。失敗であれば、起動不可の旨を示す情報を呼出し元に返して処理を終了する。なお復号の成功は、たとえば所定の符号列を元データに埋め込み、それを照合することで判定できる。
この結果、暗号化された起動制限対象プログラム108の復号は、起動制限対象プログラムのロード時に行われ、正しいライセンス情報がライセンス管理サービスに登録されていない場合は、ロードに失敗する。また、ライセンス管理下に置かれていない起動制限対象プログラム109は暗号化されていないため、ライセンス情報が無くともロードに成功する。
この拡張プログラムを、例えば、米国向けの基本プログラム上で動作させた場合は、ライセンスがなくても動作可能である、しかし、欧州向けの基本プログラム上で動作させた場合は、ライセンスが登録されていない場合は、拡張プログラムは起動しない。更に、米国向けの起動制限対象プログラムのファイル名を、欧州向けのファイル名に変更したとしても、ステップS406の署名の検証に失敗するため、拡張プログラムは起動しない。
このように、第1実施形態の効果に加えて、仕向ごとのライセンス管理を実現することもできる。
なお、拡張プログラムには、図6に示すように、基本プログラムの仕向け毎の固有情報601、602、603が含まれるものもある。仕向け毎の固有情報601、602、603は、仕向け事に異なるデータや処理が含まれ、拡張プログラム群102は、これらのデータや処理を用いてその処理を行う。固有情報としては、例えば、暗号アルゴリズムで使用する鍵のビット長や、暗号アルゴリズム本体の処理が挙げられる。例えば、暗号の鍵長を、米国では512ビット、日本では256ビット、ある特定の地域では128ビットに制限する、といったことが可能となる。また、暗号化の方式として、日本と米国ではRijndael、ある特定の地域ではDESを強制することが可能となる。
なお、第1及び第2実施形態では、基本プログラムに付加される拡張プログラムの管理を例としたが、たとえば基本プログラムをオペレーティングシステムとみなし、拡張プログラムをそのOS上で動作する他のプログラムとみなした場合にも適用できる。換言すれば、基本プログラムはオペレーティングシステムを含み、拡張プログラムはそのOS上で動作するアプリケーションやドライバ等、OS以外のプログラムを含むものとしても本発明を適用できる。
なお本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、本発明には、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
第1の実施形態に係る基本プログラム上での拡張プログラムの起動制限を行う方式を実装したプログラムのブロック図である。 プログラムが動作するホストコンピュータのハードウェア構成を示すブロック図である。 拡張プログラムの起動確認処理部の処理を示すフローチャートである。 第1実施形態における基本プログラムの起動制限確認処理部の処理を示すフローチャートである。 第2の実施形態に係る基本プログラム上での拡張プログラムの起動制限を行う方式を実装したプログラムのブロック図である。 基本プログラム上での拡張プログラムの起動制限を行う方式を実装したプログラムのバリエーションのブロック図である。 第2実施形態における基本プログラムの起動制限確認処理部の処理を示すフローチャートである。
符号の説明
202 CPU
203 ROM
204 RAM
205 システムバス
206 キーボードコントローラ
207 キーボード
208 ビデオコントローラ
209 表示装置
210 外部記憶装置コントローラ
211 外部記憶装置
212 ネットワークインタ−フェイス
213 ローカルエリアネットワーク

Claims (6)

  1. 基本プログラムの機能を拡張する拡張プログラムの起動制限を行うプログラム制御装置であって、
    指定された拡張プログラムの識別情報と、前記基本プログラムが持つ、基本プログラムと拡張プログラムとの対応付け情報とに基づいて、起動の対象となる拡張プログラムを特定する特定手段と、
    特定された前記拡張プログラムに含まれる、前記拡張プログラムの識別情報と前記対応付け情報とを秘密鍵で暗号化した署名情報を、前記秘密鍵に対応する公開鍵で復号する復号手段と、
    前記復号手段により復号された復号後の情報を、前記拡張プログラムの識別情報および前記対応付け情報と照合する照合手段と、
    前記照合手段による照合の結果、一致した場合には前記特定手段により特定された拡張プログラムを実行可能な状態にする手段と
    を備えることを特徴とするプログラム制御装置。
  2. 前記対応付け情報は、プログラムの仕向地の識別情報を含むことを特徴とする請求項1に記載のプログラム制御装置。
  3. ひとつの記憶媒体に、同一の識別情報と相異なる対応付け情報とを持つ複数の拡張プログラムが記憶されており、
    前記特定手段は、前記複数の拡張プログラムのうちから、指定された拡張プログラムの識別情報と、前記基本プログラムが持つ対応付け情報と一致する対応付け情報を持つ拡張プログラムを、起動の対象となる前記拡張プログラムとして特定することを特徴とする請求項1または2に記載のプログラム制御装置。
  4. 入力された許諾情報が正当であるか判定し、正当であれば前記特定手段により特定された前記拡張プログラムを記憶手段にロードするロード手段を更に備え、
    前記復号手段は、ロードされた前記拡張プログラムから、該プログラムに含まれる前記署名情報を復号し、
    前記照合手段は、前記復号手段により復号された復号後の情報を、ロードされた前記拡張プログラムの識別情報および前記対応付け情報と照合することを特徴とする請求項3に記載のプログラム制御装置。
  5. 拡張プログラムにより機能拡張が可能であり、前記拡張プログラムの起動制限を行うための基本プログラムであって、
    指定された拡張プログラムの識別情報と、基本プログラムとの対応付け情報とに基づいて、起動の対象となる拡張プログラムを特定する特定手段と、
    特定された前記拡張プログラムに含まれる、前記拡張プログラムの識別情報と前記対応付け情報とを秘密鍵で暗号化した署名情報を、前記秘密鍵に対応する公開鍵で復号する復号手段と、
    前記復号手段により復号された復号後の情報を、前記拡張プログラムの識別情報および前記対応付け情報と照合する照合手段と、
    前記照合手段による照合の結果、一致した場合には前記特定手段により特定された拡張プログラムを実行可能な状態にする手段と
    してコンピュータを機能させることを特徴とするプログラム。
  6. 基本プログラムの機能を拡張する拡張プログラムの起動制限をコンピュータにより行うプログラム制御方法であって、
    指定された拡張プログラムの識別情報と、前記基本プログラムが持つ、基本プログラムと拡張プログラムとの対応付け情報とに基づいて、起動の対象となる拡張プログラムを特定する特定工程と、
    特定された前記拡張プログラムに含まれる、前記拡張プログラムの識別情報と前記対応付け情報とを秘密鍵で暗号化した署名情報を、前記秘密鍵に対応する公開鍵で復号する復号工程と、
    前記復号工程により復号された復号後の情報を、前記拡張プログラムの識別情報および前記対応付け情報と照合する照合工程と、
    前記照合工程による照合の結果、一致した場合には前記特定工程により特定された拡張プログラムを実行可能な状態にする工程と
    を備えることを特徴とするプログラム制御方法。
JP2007260361A 2007-10-03 2007-10-03 プログラム制御装置及び方法とプログラム Expired - Fee Related JP5036475B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007260361A JP5036475B2 (ja) 2007-10-03 2007-10-03 プログラム制御装置及び方法とプログラム
US12/238,428 US8146168B2 (en) 2007-10-03 2008-09-25 Program control apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007260361A JP5036475B2 (ja) 2007-10-03 2007-10-03 プログラム制御装置及び方法とプログラム

Publications (3)

Publication Number Publication Date
JP2009093229A true JP2009093229A (ja) 2009-04-30
JP2009093229A5 JP2009093229A5 (ja) 2010-11-11
JP5036475B2 JP5036475B2 (ja) 2012-09-26

Family

ID=40523254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007260361A Expired - Fee Related JP5036475B2 (ja) 2007-10-03 2007-10-03 プログラム制御装置及び方法とプログラム

Country Status (2)

Country Link
US (1) US8146168B2 (ja)
JP (1) JP5036475B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012178116A (ja) * 2011-02-28 2012-09-13 Kyocera Document Solutions Inc 画像形成装置
JP2016134089A (ja) * 2015-01-21 2016-07-25 キヤノン株式会社 アップデートされたアプリケーションを配信する配信管理サーバーおよび配信管理方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631333B2 (en) * 2010-06-07 2014-01-14 Microsoft Corporation Feature set differentiation by tenant and user
CN103873508B (zh) * 2012-12-12 2016-04-13 腾讯科技(深圳)有限公司 一种隐藏活动组成员识别信息的方法、服务器及终端
US20210152367A1 (en) * 2019-11-19 2021-05-20 International Business Machines Corporation Monitoring a condition of electronic devices

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07234784A (ja) * 1994-02-22 1995-09-05 Sega Enterp Ltd プログラム実行装置
JP2002132522A (ja) * 2000-06-13 2002-05-10 Microsoft Corp オペレーティング・システム用多言語ユーザ・インターフェース
US20030181242A1 (en) * 2002-03-20 2003-09-25 Se-Wai Lee Method and apparatus for sotfware delivery and management
JP2004102623A (ja) * 2002-09-09 2004-04-02 Canon Inc ドライバのインストール方法及び装置及びインストール装置の制御プログラム及び記憶媒体
JP2004303210A (ja) * 2003-03-19 2004-10-28 Ricoh Co Ltd ファイル作成方法、サーバ、コンピュータ端末、記録媒体、情報処理装置及びプログラム追加システム
JP2005353127A (ja) * 2004-06-08 2005-12-22 Ricoh Co Ltd 情報記憶・再生装置
WO2006004090A1 (ja) * 2004-07-07 2006-01-12 Pioneer Corporation 情報記録媒体、情報記録装置及び方法、情報配信装置及び方法、並びにコンピュータプログラム
WO2006041179A1 (ja) * 2004-10-15 2006-04-20 Vodafone K.K. 連係動作方法及び通信端末装置
US20070130073A1 (en) * 2005-12-06 2007-06-07 Massimiliano Celli Method, system and computer program for distributing software products in trial mode

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078167A (ja) 2003-08-28 2005-03-24 Canon Inc 情報処理装置、情報処理方法、プログラム及び記憶媒体
US7752139B2 (en) * 2005-12-27 2010-07-06 Michael Noel Hu Method and system for managing software licenses and reducing unauthorized use of software
US20070244824A1 (en) * 2006-04-13 2007-10-18 Bowe Bell + Howell Company Web-based method for accessing licensed products and features
US20080115124A1 (en) * 2006-11-10 2008-05-15 Charles J. Kulas Trial mode for selectively trying a component that adds functionality to base software

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07234784A (ja) * 1994-02-22 1995-09-05 Sega Enterp Ltd プログラム実行装置
JP2002132522A (ja) * 2000-06-13 2002-05-10 Microsoft Corp オペレーティング・システム用多言語ユーザ・インターフェース
US20030181242A1 (en) * 2002-03-20 2003-09-25 Se-Wai Lee Method and apparatus for sotfware delivery and management
JP2004102623A (ja) * 2002-09-09 2004-04-02 Canon Inc ドライバのインストール方法及び装置及びインストール装置の制御プログラム及び記憶媒体
JP2004303210A (ja) * 2003-03-19 2004-10-28 Ricoh Co Ltd ファイル作成方法、サーバ、コンピュータ端末、記録媒体、情報処理装置及びプログラム追加システム
JP2005353127A (ja) * 2004-06-08 2005-12-22 Ricoh Co Ltd 情報記憶・再生装置
WO2006004090A1 (ja) * 2004-07-07 2006-01-12 Pioneer Corporation 情報記録媒体、情報記録装置及び方法、情報配信装置及び方法、並びにコンピュータプログラム
WO2006041179A1 (ja) * 2004-10-15 2006-04-20 Vodafone K.K. 連係動作方法及び通信端末装置
US20070130073A1 (en) * 2005-12-06 2007-06-07 Massimiliano Celli Method, system and computer program for distributing software products in trial mode

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012178116A (ja) * 2011-02-28 2012-09-13 Kyocera Document Solutions Inc 画像形成装置
JP2016134089A (ja) * 2015-01-21 2016-07-25 キヤノン株式会社 アップデートされたアプリケーションを配信する配信管理サーバーおよび配信管理方法

Also Published As

Publication number Publication date
JP5036475B2 (ja) 2012-09-26
US8146168B2 (en) 2012-03-27
US20090092256A1 (en) 2009-04-09

Similar Documents

Publication Publication Date Title
CN101281468B (zh) 生成固件更新文件和更新固件的方法和设备
CN109284586B (zh) 一种软件授权许可实现方法和装置
US20210294879A1 (en) Securing executable code integrity using auto-derivative key
US8660964B2 (en) Secure device licensing
JP4790021B2 (ja) Srmのデジタル著作権管理方法及び装置
US8533859B2 (en) System and method for software protection and secure software distribution
US8060751B2 (en) Access-control method for software module and programmable electronic device therefor
KR19980081644A (ko) 정보처리장치, 방법 및 기록매체
CN104581214A (zh) 基于ARM TrustZone系统的多媒体内容保护方法和装置
US20100185873A1 (en) System and method for file processing and file processing program
AU2007356968B2 (en) Encryption method for digital data memory card and assembly performing the same
US20110271350A1 (en) method for protecting software
JP5036475B2 (ja) プログラム制御装置及び方法とプログラム
CN112596740A (zh) 一种程序部署方法及装置
US7085742B2 (en) Authenticating software licenses
US20090132833A1 (en) Storage device, terminal device using the storage device, and method thereof
EP1471405A1 (en) Method and device for protecting information against unauthorised use
JP2009059008A (ja) ファイル管理システム
JPH11250192A (ja) Icチップ内蔵記録媒体、情報アクセス制御装置
KR101405915B1 (ko) 데이터의 암호화 저장 방법 및 암호화된 데이터의 판독방법
JP4391535B2 (ja) 外部記憶装置、並びに、この外部記憶装置を備える画像処理装置及び画像形成装置
US20070073623A1 (en) Method of manufacturing application software
JP5295156B2 (ja) 情報処理装置及びソフトウェアの不正使用防止方法
JP5151531B2 (ja) 画像形成装置及びデータ管理方法
JP2000105696A (ja) ソフトウェア不正利用防止方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100927

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120515

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120604

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120703

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5036475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees