説明

ソフトウェアインストール方法、およびソフトウェアインストールプログラム

【課題】 ソフトウェア提供者およびユーザが、煩雑な業務/作業を必要とせず、また低コストでソフトウェアのインストールやアップデート、追加を行なえ、しかも不正コピーを確実に防止できるようにする。
【解決手段】 追加機能モジュール(201〜203)をインストール可能な電子機器(100)の製造番号リストをあらかじめ暗号化して得た暗号リスト(201a〜203a)を用意し、電子機器に対して追加機能モジュールを追加インストールする際、電子機器から該電子機器の製造番号(102)を読み出し、暗号リストを復号化して得た製造番号リスト中で電子機器から読み出した製造番号を検索し、当該製造番号を検索できた場合のみ電子機器のアプリケーション本体(103)に対する追加機能モジュールの追加インストールを許可する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器に既にインストールされているアプリケーション本体に追加機能モジュールを追加インストールするソフトウェアインストール方法、およびソフトウェアインストールプログラムに関するものである。
【背景技術】
【0002】
従来より、コンピュータや各種のコンピュータ応用電子機器において、ソフトウェアの不正コピーが大きな問題となっている。この不正コピーには、ソフトウェアの記憶媒体自体をコピーしてしまう形態の他、ライセンス上、単一機器へのインストールのみしか許されていないソフトウェアを複数の電子機器にインストールしてしまうものがある。いずれにしても、このような不正コピーが行なわれると、ソフトウェア提供者の利益が著しく損なわれる問題がある。
【0003】
この不正コピーの問題に鑑み、従来より、(1)アプリケーションのCD−ROMやマニュアルにシリアル番号や登録キーのような認証情報を格納/記載し、インストールの際にユーザにこれらの認証情報の入力を求める技術、(2)アプリケーションの初回のインストール時にインストール対象の機器の固有情報(たとえば当該機器のROMなどに書き込まれたシリアル番号やMACアドレス)からパスワードないし暗証情報を生成し、元のアプリケーションに書き込み、他の機器へインストールしてもアプリケーションが動作しないようにする技術(たとえば下記の特許文献1および特許文献2)、あるいは、(3)ソフトウェア提供者とユーザの間でユーザ登録手続を行ない、その後ユーザの間でソフトウェア提供者からユーザに提供されるパスワードないし暗証情報を入力することで初めてアプリケーションが動作するよう制御する、などの技術(たとえば下記の特許文献3)が知られている。
【特許文献1】特開2001−265581号公報
【特許文献2】特開2002−236522号公報
【特許文献3】国際特許公開公報 WO99/41657
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術(1)では、ユーザがシリアル番号や登録キーのような認証情報を入力し、また、再インストールなどを考慮してユーザがこれら認証情報を紛失しないように管理する手間が必要であった。
【0005】
また、上記の従来技術(2)では、対象の電子機器1台あたりソフトウェアパッケージを1本供給する必要があり、ユーザに100台の機器があれば100本のソフトウェアパッケージを管理しなければならない面倒があり、また資源節約の見地から見ても無駄が大きい。また、初回のインストール時にパスワードないし暗証情報を生成する方式では、初回のインストールよりも前に行なわれる不正コピーには対処できない、という問題がある。
【0006】
さらに、上記の従来技術(3)では、ソフトウェア提供者がユーザ登録業務を運営(ユーザとの連絡にはたとえば郵便やWEBページのインターフェースを用いる)する必要があり、ソフトウェア提供者側の管理コストが大きくなる問題があり、またユーザ側でも面倒な登録手続きを行なわなければならず、また登録手続きにともなうタイムラグを0とするのは困難であり、ユーザが実際にソフトウェアを使い始めるまでに時間がかかる、という問題もある。
【0007】
したがって、ソフトウェア提供者およびユーザが、煩雑な業務/作業を必要とせず、また低コストでソフトウェアのインストールやアップデート、追加を行なえ、不正コピー防止のしくみが望まれている。
【0008】
また、この種のソフトウェアパッケージは、ソフトウェア本体部分の他に、拡張機能部分を別パッケージ(モジュール)として供給する構成が知られている。このように、ある電子機器に対して、ソフトウェア本体と、拡張機能部分をインストール可能なシステムにおいて、上記の従来技術を用いようとすると、ソフトウェア本体および各拡張機能部分(単数とは限らず、多数の場合がある)それぞれに上述の各認証情報の管理、生成処理、あるいは登録業務が必要となり、ソフトウェア提供者およびユーザが負担しなければならない管理業務の手間とコストは膨大なものになってしまう。
【0009】
本発明の課題は、上記の問題を解決し、ソフトウェア提供者およびユーザが、煩雑な業務/作業を必要とせず、また低コストでソフトウェアのインストールやアップデート、追加を行なえ、しかも不正コピーを確実に防止できるようにすることにある。
【課題を解決するための手段】
【0010】
上記課題を解決するため、本発明は、電子機器に既にインストールされているアプリケーション本体に追加機能モジュールを追加インストールするソフトウェアインストール方法およびソフトウェアインストールプログラムにおいて、前記追加機能モジュールをインストール可能な前記電子機器の製造番号リストをあらかじめ暗号化して得た暗号リストを用い、前記電子機器に対して前記追加機能モジュールを追加インストールする際、前記電子機器から該電子機器の製造番号を読み出し、前記暗号リストを復号化して得た製造番号リスト中で当該電子機器から読み出した製造番号を検索し、当該製造番号を検索できた場合のみ当該電子機器のアプリケーション本体に対する前記追加機能モジュールの追加インストールを実行する構成を採用した。
【発明の効果】
【0011】
本発明では、上記のように、追加機能モジュールをインストール可能な電子機器の製造番号リストをあらかじめ暗号化して得た暗号リストを用意し、電子機器に対して追加機能モジュールを追加インストールする際、電子機器から該電子機器の製造番号を読み出し、暗号リストを復号化して得た製造番号リスト中で電子機器から読み出した製造番号を検索し、当該製造番号を検索できた場合のみ電子機器のアプリケーション本体に対する追加機能モジュールの追加インストールを許可するようにしている。
【0012】
本発明のソフトウェアインストールの手法は、従来のようなユーザによるインストールキーの入力や管理、メーカー側の煩雑なユーザ登録業務を必要とせず、たとえ追加機能モジュールの数が多数に渡る場合でも、ソフトウェア提供者およびユーザの煩雑な業務/作業を必要とせず、低コストでソフトウェアのインストールやアップデート、追加を適正に行なえ、ソフトウェアの不正コピーを確実に防止できる、という優れた効果がある。
【0013】
また、本発明は、追加機能モジュールごとに暗号リストの復号化、製造番号の照合、インストールを繰り返すものであり、複数の追加機能モジュールを自動的に確実に追加インストールすることができる。
【発明を実施するための最良の形態】
【0014】
以下、ホストコンピュータ、計測機器、工業用ロボット、ミシン、画像処理装置などの電子機器に対して既にインストールされているアプリケーション本体に追加機能モジュールを追加インストールするための構成を例示する。
【実施例1】
【0015】
図1に本発明の情報処理システムの基本構成およびその動作の概略を示す。図1において符号100はソフトウェアのインストール対象の電子機器である。電子機器100は、ホストコンピュータ、計測機器、工業用ロボット、ミシン、画像処理装置などコンピュータによってプログラムを実行することにより所定の動作を行なう任意の機器である。
【0016】
図1の電子機器100にはメモリ101が設けられており、メモリ101の不揮発領域(ROMなど)にはこの電子機器100に固有の製造番号102を書き込んでおく。
【0017】
メモリ101のRAM領域あるいは外部記憶媒体などから構成されたメモリ領域には、電子機器100の不図示のCPUにより実行されるアプリケーション本体103が格納される。アプリケーション本体103には、その製品のバージョン(またはそのソフトウェア製品自体)を識別するバージョンまたは製造番号(以下、バージョン/製造番号と記す)104が格納されている。このバージョン/製造番号の利用方法については後で詳述する。
【0018】
電子機器100は、上記のメモリ101、CPUの他、不図示の部材(I/O制御のためのチップセット、周辺機器のドライバ回路、ネットワークインターフェースなど)を有しており、不図示のCPUがメモリ101上の、アプリケーション本体103あるいはさらに後述のようにしてインストールされた追加機能から構成されたアプリケーションを実行することにより所定の動作を行なう。
【0019】
本実施例では、メモリ101のアプリケーション本体103に対して、インストーラ(インストールプログラム)200を用いて追加機能モジュール201、202、203(…)をインストールする。
【0020】
インストーラ200はネットワーク(あるいは他の適当な通信経路)経由で電子機器100に接続された所定の機器(たとえばホストコンピュータ)で実行するか、あるいは、電子機器100に対してフレキシブルディスクやCD−ROMなどの媒体経由で導入され、メモリ101上の所定領域で実行できるようにしておく。
【0021】
追加機能モジュール201、202、203は、それぞれその追加機能モジュールをインストール可能な電子機器の製造番号102と照合される暗号リスト201a、202a、203aを含む。これら暗号リスト201a、202a、203aは、たとえば追加機能モジュールをインストール可能な電子機器の製造番号102の全桁あるいは照合を必要とする所定の一部を暗号化することにより生成されたデータ(製造番号)のリストである。この暗号化には任意の暗号方式(DES、3DESなど)を用いることができ、その復号キーはインストーラ200内に組み込んでおく。
【0022】
図1の中央部分は、インストーラ200が追加機能モジュール201、202、203をインストールする際の処理を示している。この例は、電子機器100に対する追加機能モジュール201、202、203のインストールをインストーラ200が順次試行する場合の処理を示している。
【0023】
インストーラ200が起動されると、電子機器100のメモリ101から製造番号102を読み出す一方、追加機能モジュール201、202、203の暗号リスト201a、202a、203aを復号化(204、205、206)してデータ(製造番号)のリストを得、電子機器100のメモリ101から読み出した製造番号102が上記復号化(204、205、206)により得られた各製造番号リスト中に存在するか否かを判定(207、208、209)する。
【0024】
そして、復号化(204、205、206)により得られた製造番号リスト中で電子機器100のメモリ101から読み出した製造番号102を検索できた場合は、インストール手順(301、302、303)を起動して該当の追加機能モジュール201、202、203を電子機器100のメモリ101上のアプリケーション本体103に追加する。もちろん、インストール手順(301、302、303)および各追加機能モジュール201、202、203は、インストール手順(301、302、303)を経由せずには各追加機能モジュール201、202、203をインストールできないように作成しておく(たとえば各追加機能モジュール201、202、203の実行コード自体を暗号化しておくといった対策を施しておく)のはいうまでもない。
【0025】
以上のようにして、電子機器100のメモリ101のアプリケーション本体103に追加すべき各追加機能モジュール201、202、203は、各追加機能モジュール201、202、203に関連づけられた暗号リスト(暗号化された製造番号リスト)に(その全部ないし一部が)含まれる製造番号102を持つ電子機器100のみに追加でき、一方、他の製造番号を持つ電子機器にはインストールできないように制御することができる。
【0026】
図2は、図1の処理を実現するためのインストーラ200の制御の流れの一例を示している。
【0027】
図2のインストーラ200はネットワーク経由で電子機器100に接続された所定の機器(たとえばホストコンピュータ)上で実行されるか、あるいは、電子機器100に対してフレキシブルディスクやCD−ROMなどの媒体経由で導入され、電子機器100上で実行される。
【0028】
図2のステップS401では、電子機器100から製造番号102を読み出し、続いてステップS402〜S406のループで追加機能201〜203のインストールを順次処理する。
【0029】
まず、ステップS402では、インストーラ200とともに格納された(あるいはインストーラ200と別の記憶媒体やネットワークホストなどに格納されていてもよい)暗号リスト(201a、202a、ないし203a)の1つを読み出し、復号化する。
【0030】
ステップS403およびS404では、復号化した製造番号リストと、ステップS401で読み出した製造番号(102)を照合し、一致を見た場合のみステップS405で該当の追加機能(201、202、ないし203)をインストール(301、302、303)する。
【0031】
ステップS404で、製造番号(102)を復号化した製造番号リストで検索できなかった場合は、この時点でエラー処理を行なうことができる。このエラー処理では、電子機器100が該当の追加機能をインストールできる製造番号を持っておらず、該当の追加機能が電子機器100にインストールできない(できなかった)ことを表示メッセージ(あるいは音声メッセージなど)を介してユーザに通知する。
【0032】
ステップS406では、処理すべき追加機能(201、202、ないし203)が残っているか否かを判定し、処理すべき追加機能が残っている場合はステップS402にループし、処理を繰り返す。
【0033】
ステップS407ではステップS402〜S406のループで1つ以上の追加機能を有効にインストールしたか否かを判定する。ステップS402〜S406のループで1つ以上有効なインストールが行なわれた場合には、ステップS408でインストールできた追加機能とインストールできなかった追加機能をリスト表示し、ユーザに通知する。なお、特に、インストールできなかった追加機能に関しては、上記のエラー処理と同様に、電子機器100が該当の追加機能をインストールできる製造番号を持っておらず該当の追加機能が電子機器100にインストールできない(できなかった)ことを表示メッセージ(あるいは音声メッセージなど)により警告してもよい。
【0034】
ステップS407で追加機能を1つもインストールできなかった場合は、不正なインストールをユーザが強行した場合が考えられるから、ステップS409においてより強い警告を行なう。たとえば、全ての追加機能をインストール可能な製造番号と、当該機器の製造番号が全て不一致であり、不正インストールが疑われる点などを警告してもよい。
【0035】
なお、追加機能をインストール可能な暗号リストを復号化するためのキー情報は、たとえばインストーラ200とともに格納しておく(ただし、リバースエンジニアリングが不可能あるいは困難である格納形式とするのが望ましい)ことができる。もちろん、開発者レベルやユーザレベルなどの権限情報を設定しておき、たとえばインストーラ200を実行する機器上において、あるい一定以上の権限を有している場合に暗号リストの閲覧を許容するようにしてもよい。
【0036】
また、追加機能をインストール可能な暗号リストを復号化するためのキー情報(あるいはパスワードなど)は、インストーラ200とともに格納しておくのではなく、キーボードやICカードリーダなどからユーザに入力させてもよい。
【0037】
以上のようにして、製造番号を基準として、暗号リストの形式で電子機器に対して追加する追加機能モジュールごとにその追加機能モジュールを追加できる製造番号を定義し、暗号化された製造番号リストに(その全部ないし一部が)含まれる製造番号を持つ電子機器のみに追加機能モジュールを追加できるようにコントロールすることができ、他の製造番号を持つ電子機器への不正なインストールを防止することができる。
【0038】
図3は、実際の製品供給に関して本発明のインストール方法をどのように運用できるかを示した例である。
【0039】
図3のユーザ環境にはグループAの20台の電子機器(a1〜a20)、グループBの15台の電子機器(b1〜b15)、グループCの10台の電子機器(c1〜c15)が稼働しており、各機器のメモリ(図1の101)にはアプリケーション本体103が既にインストールされている。
【0040】
グループA、BおよびCの機器は、製品のグレードや、ユーザとメーカーとの契約時の条件などに応じて、メーカー(あるいは販売者、ソフトウェア供給業者)が後からインストール可能な追加機能をあらかじめ選択しておきたい場合がある。
【0041】
たとえば、図3の例では、(ア)追加機能F1はグループAの電子機器、およびグループCの電子機器にのみインストール可能とし、一方、(イ)追加機能F2はグループBの電子機器、およびグループCの電子機器にのみインストール可能とする、といった形態である。
【0042】
このような場合には、メーカー(あるいは販売者、ソフトウェア供給業者)が追加機能F1にはグループAの電子機器、およびグループCの電子機器の製造番号を暗号化した暗号リスト501を付与し、追加機能F2にはグループBの電子機器、およびグループCの電子機器の製造番号を暗号化した暗号リスト502を付与しておけばよい。
【0043】
このように暗号リスト501、502を付与しておくことにより、図3の中央に示すように、メーカー(あるいは販売者、ソフトウェア供給業者)の上記の(ア)、(イ)の意図通りに各追加機能F1およびF2のインストールを制御することができる。
【0044】
以上のように、本実施例によれば、追加機能モジュールをインストール可能な電子機器の製造番号リストをあらかじめ暗号化して得た暗号リストを用意し、電子機器に対して追加機能モジュールを追加インストールする際、電子機器から該電子機器の製造番号を読み出し、暗号リストを復号化して得た製造番号リスト中で電子機器から読み出した製造番号を検索し、当該製造番号を検索できた場合のみ電子機器のアプリケーション本体に対する追加機能モジュールの追加インストールを許可するようにしている。
【0045】
本実施例のソフトウェアインストールの手法は、従来のようなユーザによるインストールキーの入力や管理、メーカー側の煩雑なユーザ登録業務を必要とせず、たとえ追加機能モジュールの数が多数に渡る場合でも、ソフトウェア提供者およびユーザの煩雑な業務/作業を必要とせず、低コストでソフトウェアのインストールやアップデート、追加を適正に行なえ、ソフトウェアの不正コピーを確実に防止できる、という優れた効果がある。
【0046】
また、本実施例は、追加機能モジュールごとに暗号リストの復号化、製造番号の照合、インストールを繰り返すものであり、複数の追加機能モジュールを自動的に確実に追加インストールすることができる。
【0047】
なお、以上では、図1のバージョン/製造番号104の利用方法について詳しく述べなかったが、このバージョン/製造番号104は次のようにして利用することができる。
【0048】
図1の追加機能モジュール201〜203のインストールを制御する場合、上記のように対象の電子機器100(の製造番号)を識別することによりインストールの可/不可を決定するだけでは足りない場合がある。たとえば、メモリ101上のアプリケーション本体103のバージョン/製造番号104によっては、追加機能モジュール201〜203をインストールできないような仕様でアプリケーション本体103あるいは追加機能モジュール201〜203が製造される場合がある。
【0049】
したがって、追加機能モジュール201〜203を特定のバージョン/製造番号104を持つアプリケーション本体103に対してしか追加できないように制御することができれば好適である。
【0050】
このためには、追加機能モジュール201〜203の暗号リスト201a〜203aの中に、電子機器の製造番号だけではなく、追加機能201〜203をそれぞれインストール可能なアプリケーション本体103の製造番号(104)を暗号化して含めておけばよい。
【0051】
そして、図1のステップ207〜209、あるいは図2のステップS403〜S404においてアプリケーション本体103の製造番号(104)も各暗号リスト(201a〜203a)内の暗号化された製造番号と照合し、一致した場合のみ、インストールを許可し、製造番号が一致しなかった場合には、当該の追加機能モジュールはアプリケーション本体103の製造番号104が不一致であるのでインストールできない旨の警告表示を行なう。
【0052】
以上のようにして、電子機器にインストールされているアプリケーション本体103と互換性のある追加機能モジュールのみを確実に電子機器にインストールすることができる。
【産業上の利用可能性】
【0053】
本発明は、ホストコンピュータ、計測機器、工業用ロボット、ミシン、画像処理装置などの各種電子機器に既にインストールされているアプリケーション本体に追加機能モジュールを追加インストールする場合に適用でき、実際に当該の電子機器がどのような動作を行なうかによって本発明が制限を受けないのはもちろんである。
【0054】
本発明のインストールプログラムは、対象の電子機器や、インストールプログラムを実行する機器の出荷時からROMなどの記憶媒体に格納しておく他、種々の外部記憶媒体(CDROM、フレキシブルディスクなど)からこれらの装置に供給することができ、あるいは任意のサーバからネットワーク経由で供給することもできる。
【図面の簡単な説明】
【0055】
【図1】本発明による追加機能インストール方式の概略を示した説明図である。
【図2】本発明による追加機能インストール方式を実現するためのインストーラの処理の流れを示したフローチャート図である。
【図3】製品の供給環境に応じた本発明による追加機能インストールの例を示した説明図である。
【符号の説明】
【0056】
100 電子機器
101 メモリ
102 製造番号
103 アプリケーション本体
104 バージョン/製造番号
200 インストーラ
201、202、203、F1、F2 追加機能モジュール
201a〜203a、501、502 暗号リスト

【特許請求の範囲】
【請求項1】
電子機器に既にインストールされているアプリケーション本体に追加機能モジュールを追加インストールするソフトウェアインストール方法において、
前記追加機能モジュールをインストール可能な前記電子機器の製造番号リストをあらかじめ暗号化して得た暗号リストを用い、
前記電子機器に対して前記追加機能モジュールを追加インストールする際、
前記電子機器から該電子機器の製造番号を読み出し、前記暗号リストを復号化して得た製造番号リスト中で当該電子機器から読み出した製造番号を検索し、当該製造番号を検索できた場合のみ当該電子機器のアプリケーション本体に対する前記追加機能モジュールの追加インストールを実行することを特徴とするソフトウェアインストール方法。
【請求項2】
請求項1に記載のソフトウェアインストール方法において、前記暗号リストに、前記追加機能モジュールを追加インストール可能なアプリケーション本体のバージョンまたは製造番号リストを暗号化して含めておき、前記電子機器に対して前記追加機能モジュールを追加インストールする際、電子機器に既にインストールされているアプリケーション本体のバージョンまたは製造番号を読み出し、前記暗号リストを復号化して得たバージョンまたは製造番号リスト中でアプリケーション本体から読み出したバージョンまたは製造番号を検索できた場合のみ当該電子機器のアプリケーション本体に対する前記追加機能モジュールの追加インストールを実行することを特徴とするソフトウェアインストール方法。
【請求項3】
請求項1に記載のソフトウェアインストール方法を実施するためのソフトウェアインストールプログラムであって、前記電子機器または前記電子機器に所定の通信経路を介して接続されたホスト機器上で動作し、前記電子機器に既にインストールされているアプリケーション本体への追加機能モジュールの追加インストールを制御することを特徴とするソフトウェアインストールプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2006−146835(P2006−146835A)
【公開日】平成18年6月8日(2006.6.8)
【国際特許分類】
【出願番号】特願2004−339733(P2004−339733)
【出願日】平成16年11月25日(2004.11.25)
【出願人】(000003399)JUKI株式会社 (1,557)
【Fターム(参考)】