(57)【要約】【課題】ソフトウェアプログラムの無許可のインストールを防ぐシステム及び方法に対する要求がある。【解決手段】ソフトウェアプログラムの無許可のインストールを防ぐシステム及び方法は、ハードウェアキー及びソフトウェアキーに基づく起動キーを用いる。該ハードウェアキーは、特定のハードウェア装置と関連付けられており、一方、該ソフトウェアキーは、インストールされるソフトウェアプログラムと関連付けられている。該ソフトウェアプログラムのハードウェア装置へのインストールは、該起動キーから抽出された該ソフトウェアキーが、該ソフトウェアプログラムのソフトウェアキーと一致した場合にのみ、開始することが許可される。【選択図】図１
2008152764.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアプログラムの無許可のインストールを防ぐ方法であって、
ハードウェア装置において、ハードウェアキー及びソフトウェアキーに基づく起動キーを用いて前記ソフトウェアプログラムのインストールプロセスを開始するステップであって、前記ハードウェアキーが特定のハードウェア装置と関連付けられており、前記ソフトウェアキーが前記ソフトウェアプログラムと関連付けられている、開始するステップと、
前記ハードウェア装置において、前記起動キーを処理して前記起動キーから少なくとも前記ソフトウェアキーを抽出するステップと、
前記ハードウェア装置において、前記起動キーから抽出した前記ソフトウェアキーと、前記ソフトウェアプログラムの対応するソフトウェアキーとを比較するステップと、
前記ソフトウェアキーが前記対応するソフトウェアキーに一致した場合にのみ、前記ソフトウェアプログラムの前記ハードウェア装置への前記インストールプロセスを開始できるようにするステップと
を含む方法。
【請求項２】
前記処理は、前記ハードウェア装置において、前記起動キーを解読して前記起動キーから前記ハードウェアキー及びソフトウェアキーを抽出するステップを含む、請求項１に記載の方法。
【請求項３】
前記起動キーを解読して前記ハードウェアキー及びソフトウェアキーを抽出するステップは、前記ハードウェア装置において、秘密鍵を用いて、前記起動キーを解読して、前記起動キーから前記ハードウェアキー及びソフトウェアキーを抽出するステップを含む、請求項２に記載の方法。
【請求項４】
前記起動キーから抽出した前記ハードウェアキーを、前記ハードウェア装置の対応するハードウェアキーと比較するステップをさらに備え、前記開始できるようにするステップは、前記ソフトウェアの前記ハードウェア装置内への前記インストールプロセスを、前記ソフトウェアキーが前記対応するソフトウェアキーに一致し、前記ハードウェアキーが前記対応するハードウェアキーに一致した場合にのみ、開始できるようにするステップを含む、請求項２に記載の方法。
【請求項５】
前記ハードウェアキー及び前記ソフトウェアキーを暗号化して前記起動キーを生成するステップをさらに備える、請求項２に記載の方法。
【請求項６】
前記抽出するステップは、前記ハードウェア装置において、前記ハードウェアキーを暗号解読キーとして用いて前記起動キーを解読して、前記起動キーから少なくとも前記ソフトウェアキーを抽出するステップを含む、請求項１に記載の方法。
【請求項７】
前記ハードウェアキーを暗号化キーとして用いて前記ソフトウェアキーを暗号化して、前記起動キーを生成するステップをさらに含む、請求項６に記載の方法。
【請求項８】
前記解読するステップは、前記起動キーを解読して、少なくとも前記ソフトウェアキー及び購入キーを抽出するステップを含み、前記購入キーは、前記ソフトウェアプログラムの購入取引と関連付けられている、請求項１に記載の方法。
【請求項９】
前記ソフトウェアプログラムの前記ハードウェア装置からのアンインストールプロセスを開始するステップと、
前記起動キーを用いてアンインストールキーを生成するステップであって、前記アンインストールキーが、前記ソフトウェアプログラムの返金のために用いられる、生成するステップと、
前記ハードウェア装置において、前記起動キーが無効であるとして警告を出すステップと、
をさらに含む、請求項１に記載の方法。
【請求項１０】
前記ソフトウェアプログラムの前記ハードウェア装置への別のインストールプロセスを前記起動キーを用いて開始するステップと、
前記起動キーが、無効であるとして警告が出されているか否かを判断するステップと、
前記起動キーが、無効であるとして警告が出されていない場合にのみ、前記ソフトウェアプログラムの前記ハードウェア装置への別のインストールプロセスを開始できるようにするステップと、
をさらに含む、請求項９に記載の方法。
【請求項１１】
ソフトウェアプログラムの無許可のインストールを防ぐシステムであって、
ハードウェアキー及びソフトウェアキーに基づいて起動キーを生成するように構成された起動サーバであって、前記ハードウェアキーが特定のハードウェア装置と関連付けられており、前記ソフトウェアキーが前記ソフトウェアプログラムと関連付けられている、起動サーバと、および
前記ソフトウェアプログラムのインストールプロセス中に前記起動キーを処理して、前記起動キーから少なくとも前記ソフトウェアキーを抽出するように構成されたハードウェア装置であって、さらに、前記起動キーから抽出した前記ソフトウェアキーと、前記ソフトウェアプログラムの対応するソフトウェアキーとを比較するように構成され、さらに、前記ソフトウェアキーが前記対応するソフトウェアキーに一致した場合にのみ、前記ソフトウェアプログラムの前記インストールプロセスを開始できるように構成されたハードウェア装置と、
を備えるシステム。
【請求項１２】
前記ハードウェア装置は、前記起動キーを解読し、前記起動キーから前記ハードウェアキー及びソフトウェアキーを抽出するように構成されている、請求項１１に記載のシステム。
【請求項１３】
前記ハードウェア装置は、秘密鍵を用いて前記起動キーを解読して、前記起動キーから前記ハードウェアキー及びソフトウェアキーを抽出するように構成されている、請求項１２に記載のシステム。
【請求項１４】
前記起動サーバは、前記秘密鍵を用いて、前記ハードウェアキー及びソフトウェアキーを暗号化して、前記起動キーを生成するように構成されている、請求項１３に記載のシステム。
【請求項１５】
前記ハードウェア装置は、前記起動キーから抽出した前記ハードウェアキーを前記ハードウェア装置の対応するハードウェアキーと比較するように構成されており、前記ハードウェア装置はさらに、前記ソフトウェアの前記ハードウェア装置への前記インストールプロセスを、前記ソフトウェアキーが前記対応するソフトウェアキーに一致し、前記ハードウェアキーが前記対応するハードウェアキーに一致した場合にのみ、開始できるように構成されている、請求項１２に記載のシステム。
【請求項１６】
前記ハードウェア装置は、前記ハードウェア装置において、前記ハードウェアキーを暗号解読キーとして用いて前記起動キーを解読し、前記起動キーから少なくとも前記ソフトウェアキーを抽出するように構成されている、請求項１１に記載のシステム。
【請求項１７】
前記起動サーバは、前記ハードウェアキーを暗号化キーとして用いて前記ソフトウェアキーを暗号化し、前記起動キーを生成するように構成されている、請求項１６に記載のシステム。
【請求項１８】
前記起動サーバは、少なくとも前記ソフトウェアキー及び購入キーを暗号化して前記起動キーを生成するように構成されており、前記購入キーが前記ソフトウェアプログラムの購入取引と関連付けられている、請求項１１に記載のシステム。
【請求項１９】
前記ハードウェア装置は、前記ソフトウェアプログラムの前記ハードウェア装置からのアンインストールプロセス中に前記起動キーを用いてアンインストールキーを生成するように構成されており、前記アンインストールキーは、前記ソフトウェアプログラムの返金のために用いられ、前記ハードウェア装置はさらに、前記ハードウェア装置内の前記起動キーを無効であるとして警告を出すように構成されている、請求項１１に記載のシステム。
【請求項２０】
前記ハードウェア装置は、前記起動キーを用いた前記ソフトウェアプログラムの前記ハードウェア装置内への別のインストールプロセス中に、前記起動キーが無効であるとして警告が出されているか否かを判断するように構成されており、前記ハードウェア装置は、前記起動キーが無効であるとして警告が出されていない場合にのみ、前記ソフトウェアプログラムの前記ハードウェア装置への別のインストールプロセスを開始できるように構成されている、請求項１９に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
ソフトウェアプログラムの無許可の使用は、ソフト開発会社の大きな懸案事項である。現在使用されているソフトウェアプログラムの４０％以上が無許可であると推定する人もいる。しかし、正当なユーザに対して大きな負担を伴うことなく、ソフトウェアプログラムの無許可の使用を防ぐ有効な手段は、なかなか見つかっていない。
【０００２】
現在、ソフトウェアプログラムは、通常、インストールプロセスを可能にするためにインストール中に与えられなければならない起動キーと共に符号化される。該起動キーは、通常、該ソフトウェアプログラムを含むコンピュータプロダクトの添付文書に印刷されている。そのため、該ソフトウェアプログラムは、対応する起動キーが与えられない限り、インストールすることができず、このことは、無許可のユーザに対するソフトウェアプログラムの広範な流布を阻止することができる。
【０００３】
しかし、該ソフトウェアプログラム及び該起動キーの両方のコピーが流布した場合には、該ソフトウェアプログラムは、該ソフトウェアプログラムの正当なユーザによって実行することができる同じインストールプロセスを用いて、任意の無許可のコンピュータシステムにインストールすることができる。従って、起動キーの使用は、無許可のユーザに対するソフトウェアプログラムの広範な流布を防ぐことができない。
【０００４】
さらに、該起動キーは、該ソフトウェアプログラムの元の購入者が、該ソフトウェアプログラムを返金のために戻した後、該戻したソフトウェアプログラムを使用し続けることを防いでいない。該元の購入者は、単純に、該ソフトウェアプログラムを自分のコンピュータシステムからアンインストールしないことにより、該戻したソフトウェアプログラムを使用し続けるかもしれない。あるいは、該元の購入者は、単に、該ソフトウェアプログラム及び該起動キーのコピーを用いて、該ソフトウェアプログラムを再インストールすることにより、該戻したソフトウェアプログラムを使用し続ける可能性もある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従って、上述した懸案事項に対処するソフトウェアプログラムの無許可のインストールを防ぐシステム及び方法に対する要求がある。
【課題を解決するための手段】
【０００６】
ソフトウェアプログラムの無許可のインストールを防ぐシステム及び方法は、ハードウェアキー及びソフトウェアキーに基づいている起動キーを利用する。該ハードウェアキーは、特定のハードウェア装置と関連付けられており、一方、該ソフトウェアキーは、インストールされる該ソフトウェアプログラムに関連付けられている。該ソフトウェアプログラムのハードウェア装置へのインストールは、該起動キーから抽出した該ソフトウェアキーが、該ソフトウェアプログラムの該ソフトウェアキーに一致した場合にのみ開始できるようになっている。
【０００７】
本発明の実施形態によるソフトウェアプログラムの無許可のインストールを防ぐシステムは、起動サーバ及びハードウェア装置を備える。該起動サーバは、ハードウェアキー及びソフトウェアキーに基づいて、起動キーを生成するように構成される。該ハードウェアキーは、特定のハードウェア装置と関連付けられる。該ソフトウェアキーは、該ソフトウェアプログラムと関連付けられる。該ハードウェア装置は、該ソフトウェアプログラムのインストールプロセス中に、該起動キーを処理して、該起動キーから少なくとも該ソフトウェアキーを抽出するように構成される。該ハードウェア装置はさらに、該起動キーから抽出した該ソフトウェアキーと、該ソフトウェアプログラムの対応するソフトウェアキーとを比較するように構成される。該ハードウェア装置はさらに、該ソフトウェアプログラムのインストールプロセスを、該ソフトウェアキーが該対応するソフトウェアキーに一致した場合にのみ、開始できるように構成される。
【０００８】
本発明の実施形態によるソフトウェアプログラムの無許可のインストールを防ぐ方法は、ハードウェア装置において、ハードウェアキー及びソフトウェアキーに基づいて起動キーを用いて、該ソフトウェアプログラムのインストールプロセスを開始することであって、該ハードウェアキーが特定のハードウェア装置と関連付けられており、該ソフトウェアキーが該ソフトウェアプログラムと関連付けられていることと、該ハードウェア装置において、該起動キーを処理して、該起動キーから少なくとも該ソフトウェアキーを抽出することと、該ハードウェア装置において、該起動キーから抽出したソフトウェアキーと、該ソフトウェアプログラムの対応するソフトウェアキーとを比較することと、および該ソフトウェアキーが該対応するソフトウェアキーに一致した場合にのみ、該ソフトウェアプログラムの該ハードウェア装置へのインストールプロセスを開始できるようにすることとを備える。
【０００９】
本発明の他の態様および効果は、本発明の原理の例証として示した添付図面と共に理解すれば、以下の詳細な説明から明らかになる。
【発明を実施するための最良の形態】
【００１０】
図１を参照して、本発明の実施形態によるソフトウェアプログラムの無許可のインストールを防ぐシステム１００について説明する。システム１００は、特定のハードウェア装置に対して固有の有効起動キーを要することにより、ソフトウェアプログラムの無許可のインストールを防ぐ。それによって、システム１００は、有効起動キーを用いて、ソフトウェアプログラムを指定されたハードウェア装置にインストールすることを許可する。その結果、システム１００は、ソフトウェアプログラムが無許可のハードウェア装置にインストールされること、および該ソフトウェアプログラムが、既に返金のために戻された後に、前にインストールされたハードウェア装置に再びインストールされることを防ぐ。
【００１１】
図１に示すように、システム１００は、ネットワーク１０８に接続されている、起動サーバ１０２、オンラインストア１０４、および多数のカスタマハードウェア装置１０６を含む。ネットワーク１０８は、起動サーバ１０２、オンラインストア１０４及びカスタマハードウェア装置１０６の間でデータを送信できるようになっている任意のネットワークとすることができる。例えば、ネットワーク１０８は、広域ネットワーク（ｌａｒｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ；ＬＡＮ）またはインターネットとすることができる。
【００１２】
システム１００の起動サーバ１０２は、無許可のインストールが防止されている１つ以上のソフトウェアプログラムの権利者に関連するサーバである。図２に示すように、起動サーバ１０２は、バス２１６に接続されているネットワークインタフェース２１０、記憶装置２１２、およびプロセッサ２１４を含む。ネットワークインタフェース２１０は、起動サーバ１０２が、ネットワーク１０８を介して、オンラインストア１０４及びカスタマハードウェア装置１０６と通信できるように構成されている。例えば、ネットワークインタフェース２１０は、ネットワークカードまたはアダプタとすることができる。記憶装置２１２は、通常、パーソナルコンピュータ内に見られるハードドライブとすることができる。他の実施形態においては、記憶装置２１２は、フラッシュメモリまたはＲＯＭ等の任意の種類のコンピュータメモリであってもよい。記憶装置２１２は、起動サーバ１０２に必要なデータ及びコンピュータプログラムを格納するのに使用される。具体的には、記憶装置２１２は、ソフトウェアキー、ハードウェアキー及び購入キーに基づいて暗号化された起動キーを生成することができる暗号化アルゴリズムを含む。
【００１３】
該ソフトウェアキーは、特定の種類のソフトウェアプログラムに固有に割当てられているコードのストリングである。すなわち、同じソフトウェアプログラムは、同じソフトウェアキーを有する。従って、異なる種類のソフトウェアプログラムは、異なるソフトウェアキーを有する。該ハードウェアキーは、各カスタマハードウェア装置に固有の識別コードである。例えば、該ハードウェアキーは、カスタマハードウェア装置のプロセッサ内にハードコードされた固有コードのストリングとすることができる。別の例として、該ハードウェアキーは、カスタマハードウェア装置のＭＡＣアドレスとすることができる。該購入キーは、特定のソフトウェアプログラムの購入の時間に固有のコードのストリングである。例えば、該購入キーは、購入取引の時間と日付とすることができる。別の例として、該購入キーは、購入時における通し番号のうちの特定の番号とすることができる。
【００１４】
起動サーバ１０２のプロセッサ２１４は、データを処理して様々な機能を実行するディジタル信号プロセッサである。具体的には、プロセッサ２１４は、記憶装置２１２に格納された暗号化アルゴリズムを実行して、各購入されたソフトウェアプログラムのための起動キーを生成するように構成またはプログラミングされている。本実施形態において、プロセッサ２１４は、該ソフトウェアキー、該ハードウェアキー及び該購入キーを、秘密暗号化／暗号解読キーを用いて暗号化して、各購入されたソフトウェアプログラムのための起動キーを生成するように構成されている。その結果、プロセッサ２１４は、該起動キーを直接、またはオンラインストア１０４を介して、該ソフトウェアプログラムを購入するのに使用されるハードウェア装置１０６へ送信することができる。
【００１５】
システム１００のオンラインストア１０４は、１つ以上のソフトウェアプログラムを販売するウェブサイトである。オンラインストア１０４は、起動サーバ１０２を含むネットワーク１０８に接続されたどのサーバにも設けることができる。オンラインストア１０４は、ソフトウェアプログラムの各購入者に該ハードウェアキーを要求し、および該購入者から該ハードウェアキーを受信するように構成またはプログラミングされている。また、オンラインストア１０４は、ソフトウェアプログラムが例えば、該購入取引の正確な時刻に購入される場合に、該購入キーを生成するように構成またはプログラミングされる。オンラインストア１０４はさらに、購入されたソフトウェアプログラムのためのソフトウェアキーを抽出するように構成されている。ソフトウェアプログラムが購入されると、オンラインストア１０４は、該ソフトウェアキー、ハードウェアキー及び購入キーを起動サーバ１０２へ送信し、その結果、該起動サーバは、該送信されたソフトウェアキー、ハードウェアキー及び購入キーに基づいて起動キーを生成することができる。
【００１６】
システム１００のカスタマハードウェア装置１０６は、オンラインストア１０４および／または起動サーバ１０２と通信して、データを送受信することができる装置である。それによって、カスタマハードウェア装置１０６は、オンラインストア１０４からソフトウェアプログラムを購入し、および起動サーバ１０２によって生成される起動キーを、該起動サーバから直接、または該オンラインストアを介して該起動サーバから間接的に受信するのに用いることができる。本実施形態において、カスタマハードウェア装置１０６は、購入したソフトウェアプログラムがインストールされるべき装置であると仮定する。しかし、他の実施形態においては、該ソフトウェアプログラムは、ネットワーク１０８に接続することができる、または接続することができない、ハードウェア装置１０６と同様の他のハードウェア装置にインストールするために購入してもよい。
【００１７】
次に、図３を参照すると、本発明の実施形態によるカスタマハードウェア装置１０６の１つが図示されている。図３に示すように、カスタマハードウェア装置１０６は、バス３１６に接続されている、ネットワークインタフェース３１０、記憶装置３１２、およびプロセッサ３１４を含む。ネットワークインタフェース３１０は、カスタマハードウェア装置１０６が、ネットワーク１０８を介してオンラインストア１０４および／または起動サーバ１０２と通信できるように構成されている。例えば、ネットワークインタフェース３１０は、内部ＲＯＭ（図示せず）に格納された固有の媒体アクセス制御（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ；ＭＡＣ）アドレスを備えたネットワークカードまたはアダプタとすることができる。記憶装置３１２は、パーソナルコンピュータ内に一般的に見られるハードドライブとすることができる。他の実施形態においては、記憶装置３１２は、フラッシュメモリまたはＲＯＭ等の任意の種類のコンピュータメモリであってもよい。記憶装置３１２は、ハードウェア装置１０６に必要なデータ及びコンピュータプログラムを格納するのに使用される。具体的には、記憶装置３１２は、起動キーを生成するために起動サーバ１０２によって用いられる同じ秘密鍵である秘密暗号化／暗号解読キーを用いて、該起動サーバからの暗号化された起動キーを解読することのできる暗号解読アルゴリズムを含む。
【００１８】
カスタマハードウェア装置１０６のプロセッサ３１４は、データを処理して様々な機能を実行するディジタル信号プロセッサである。具体的には、プロセッサ３１４は、起動サーバ１０２からの起動キーに対して、記憶装置３１２に格納されている暗号解読アルゴリズムを実行して、該起動キーから該ソフトウェアキー、ハードウェアキー及び購入キーを抽出するように構成またはプログラミングされる。該暗号解読アルゴリズムは、購入したソフトウェアプログラムのインストール中に実行される。また、プロセッサ３１４は、抽出したハードウェアキーを、このカスタマハードウェア装置１０６のハードウェアキーと比較し、および該抽出したソフトウェアキーを、インストールするソフトウェアプログラムのソフトウェアキーと比較するように構成される。該ソフトウェアプログラムのインストールは、これら２つの抽出したキーがそれぞれのキーと一致した場合にのみ開始できるようになっている。
【００１９】
図３に示すように、カスタマハードウェア装置１０６は、入力／出力（Ｉ／Ｏ）インタフェース３２２に接続されている入力装置３１８及びディスプレイ装置３２０も含むことができる。入力装置３１８は、キーボード、または別の種類の入力装置とすることができる。ディスプレイ装置３２０は、液晶ディスプレイ（ＬＣＤ）等のコンピュータモニタとすることができる。Ｉ／Ｏインタフェース３２２は、プロセッサ３１４と、入力装置３１８及びディスプレイ装置３２０の両方との間の信号の伝送を可能にするようにバス３１６に接続される。
【００２０】
本発明の実施形態による購入したソフトウェアプログラムの無許可のインストールを防ぐシステム１００の動作を、図４のプロセスフロー図を参照して説明する。ブロック４０２において、目的とするハードウェア装置のためのソフトウェアプログラムが、オンラインストア１０４において、カスタマハードウェア装置１０６のうちの１つを用いて購入される。次に、ブロック４０４において、該目的とするハードウェア装置のハードウェアキー、購入したソフトウェアプログラムのソフトウェアキー及び購入取引の購入キーが、オンラインストア１０４から起動サーバ１０２へ送信される。次いで、ブロック４０６において、起動サーバ１０２は、秘密鍵を用いて、該ハードウェアキー、ソフトウェアキー及び購入キーを暗号化して、該購入したソフトウェアプログラムのための暗号化された起動キーを生成する。次に、ブロック４０８において、該暗号化された起動キーが、該ソフトウェアプログラムの購入に使用されるカスタマハードウェア装置１０６へ直接またはオンラインストア１０４を介して送信される。
【００２１】
次に、ブロック４１０において、購入されたソフトウェアプログラムのインストールプロセスが、特定のハードウェア装置において、該暗号化された起動キーを用いて開始される。次いで、ブロック４１２において、該特定のハードウェア装置のプロセッサは、起動サーバ１０２による暗号化に使用されたのと同じ秘密暗号化／暗号解読キーを用いて該起動キーを解読して、該起動キーからハードウェアキー、ソフトウェアキー及び購入キーを抽出する。
【００２２】
次に、ブロック４１４において、該特定のハードウェア装置のプロセッサによって、該抽出されたハードウェアキーが、該特定のハードウェア装置のハードウェアキーに一致するか否かの判断がなされる。次いで、該キーが一致しない場合、該動作はブロック４１６へ進み、購入したソフトウェアプログラムのインストールプロセスが終了する。その結果、該購入したソフトウェアプログラムは、該特定のハードウェア装置にはインストールされない。しかし、その後、該キーが一致した場合には、該動作はブロック４１８へ進む。
【００２３】
ブロック４１８において、該特定のハードウェア装置のプロセッサによって、該抽出されたソフトウェアキーが、該インストールされるソフトウェアプログラムのソフトウェアキーに一致するか否かの判断がなされる。次いで、該キーが一致しない場合、該動作はブロック４１６へ進み、そこで該購入したソフトウェアプログラムのインストールプロセスは終了する。しかし、その後、該キーが一致した場合には、該動作はブロック４２０へ進み、該購入したソフトウェアプログラムの該特定のハードウェア装置へのインストールプロセスは、該購入したソフトウェアプログラムを正しくインストールできるように開始できるようになっている。
【００２４】
代替的な実施形態において、システム１００は、該ソフトウェアキー及び購入キーのみを含む暗号化された起動キーを用いる。この代替的な実施形態において、該ハードウェアキーは、該起動キーに暗号化されない。そうではなく、該ハードウェアキーは、該起動キーを暗号化および解読するための秘密暗号化／暗号解読キーとして用いられる。それによって、本実施形態においては、該起動サーバ１０２は、該ハードウェアキーを暗号化キーとして用いて該ソフトウェアキー及び購入キーを暗号化し、該購入したソフトウェアプログラムのための暗号化された起動キーを生成するように構成される。それに応じて、ハードウェア装置１０６は、該ハードウェアキーを暗号解読キーとして用いて該暗号化された起動キーを解読して、該ソフトウェアキー及び購入キーを抽出するように構成される。その後、該抽出されたソフトウェアキーは、該ソフトウェアプログラムの現在のハードウェア装置へのインストールが許可されたものであるか否かを判断するために、該インストールされる該ソフトウェアプログラムのソフトウェアキーと比較される。
【００２５】
本発明の代替的な実施形態による購入したソフトウェアプログラムの無許可のインストールを防ぐシステム１００の動作を、図５のプロセスフロー図を参照して説明する。ブロック５０２において、目的とするハードウェア装置のためのソフトウェアプログラムが、オンラインストア１０４において、カスタマハードウェア装置１０６のうちの１つを用いて購入される。次に、ブロック５０４において、該目的とするハードウェア装置のハードウェアキー、該購入したソフトウェアプログラムのソフトウェアキー及び該購入取引のための購入キーが、オンラインストア１０４から起動サーバ１０２へ送信される。次いで、ブロック５０６において、起動サーバ１０２は、該ハードウェアキーを暗号化キーとして用いて該ソフトウェアキー及び購入キーを暗号化して、該購入したソフトウェアプログラムのための暗号化された起動キーを生成する。次に、ブロック５０８において、該暗号化された起動キーは、該ソフトウェアプログラムの購入のために使用されるカスタマハードウェア装置１０６へ直接またはオンラインストア１０４を介して送信される。
【００２６】
次いで、ブロック５１０において、該購入したソフトウェアプログラムのインストールプロセスが、特定のハードウェア装置において、該暗号化された起動キーを用いて開始される。次いでブロック５１２において、該特定のハードウェア装置のプロセッサは、該ハードウェアキーを暗号解読キーとして用いて該暗号化された起動キーを解読し、該起動キーから該ソフトウェアキー及び購入キーを抽出する。
【００２７】
次に、ブロック５１４において、該特定のハードウェア装置のプロセッサによって、該抽出したソフトウェアキーが該購入したソフトウェアプログラムのソフトウェアキーに一致するか否かの判断がなされる。次いで、該キーが一致しない場合、該動作はブロック５１６へ進み、該購入したソフトウェアプログラムのインストールプロセスは終了する。しかし、その後、該キーが一致した場合には、該動作はブロック５１８へ進み、該購入したソフトウェアプログラムの該特定のハードウェア装置へのインストールプロセスは、該購入したソフトウェアプログラムを正しくインストールできるように開始できるようになっている。
【００２８】
別の実施形態においては、システム１００は、戻されたソフトウェアプログラムのハードウェア装置への無許可のインストールを防ぐように構成することができる。本実施形態において、起動サーバ１０２は、該起動サーバが該ソフトウェアプログラムが以前にインストールされたハードウェア装置１０６から有効アンインストールキーを受信した後にのみ、戻されたソフトウェアプログラムのための返金許可をオンラインストア１０４へ与える。それに応じて、本実施形態においては、各ハードウェア装置１０６は、購入されたソフトウェアプログラムが返金のためにアンインストールされる場合に、購入したソフトウェアプログラムの元の起動キーを暗号化して、アンインストールキーを生成するように構成される。本実施形態において、該元の起動キーは、該ソフトウェアプログラムが元々は、ハードウェア装置１０６にインストールされた場合、該ハードウェア装置のプロセッサのレジスタ（または、該ハードウェア装置の記憶装置）に格納される。したがって、該ソフトウェアプログラムが返金以外の何らかの目的でアンインストールされる場合には、該ハードウェア装置は、該アンインストールキーを生成しない。アンインストールキーが生成される場合には、該プロセッサのレジスタ内の対応する起動キーが、該レジスタ内で無効であるとして警告が出され、または知らされる。その結果として、該戻されたソフトウェアプログラムは、当該起動キーが無効であるとして警告されているため、元の起動キーを用いて、該ハードウェア装置に再びインストールすることはできない。
【００２９】
本発明の実施形態による戻されたソフトウェアプログラムの無許可のインストールを防ぐシステム１００の動作を、図６及び図７のプロセスフロー図を参照して説明する。図６のフロー図は、本発明の実施形態によるアンインストールキーを生成し、返金のために該アンインストールキーを確認するプロセスを示す。図７のフロー図は、本発明の実施形態による戻されたソフトウェアプログラムの無許可のインストールを防ぐために、ソフトウェアプログラムのインストール中に起動キーを確認するプロセスを示す。
【００３０】
本発明の実施形態によるアンインストールキーを生成し、返金のために該アンインストールキーを確認するプロセスは、ブロック６０２で始まり、ユーザは、返金のために、ハードウェア装置からソフトウェアプログラムの恒久的なアンインストールプロセスを開始する。次に、ブロック６０４において、該ハードウェア装置のプロセッサは、アンインストールするソフトウェアプログラムのための起動キーを検索して暗号化し、アンインストールキーを生成する。次いで、ブロック６０６において、該ハードウェア装置のプロセッサは、該ハードウェア装置のレジスタまたは記憶装置内の該起動キーが無効であるとして警告を出す。次いで、ブロック６０８において、該アンインストールキーは、ネットワーク１０８を介して起動サーバ１０２へ送信される。
【００３１】
次に、ブロック６１０において、起動サーバ１０２は、該アンインストールキーを解読して該起動キーを抽出する。次いで、ブロック６１２において、該起動サーバのプロセッサによって、該抽出された起動キーが、購入されたソフトウェアプログラムのための有効な起動キーのうちの１つと一致するか否かの判断がなされる。次いで、該キーが一致しない場合、該プロセスはブロック６１４へ進み、アンインストールしたソフトウェアプログラムのための返金は無効と見なされる。次いで、該キーが一致した場合には、該プロセスはブロック６１６に進み、アンインストールされたソフトウェアプログラムのための返金が有効と見なされる。返金が許可されたか、すなわち、有効または無効と見なされたか否かにより、オンラインストア１０４は、該アンインストールされたソフトウェアプログラムに対する払い戻しを行い、該ユーザに返金を知らせるかまたは単に該ユーザに、該アンインストールされたソフトウェアプログラムに対して返金が許可されないことを通知する。
【００３２】
本発明の実施形態による戻されたソフトウェアプログラムの無許可のインストールを防ぐために、ソフトウェアプログラムのインストール中に起動キーを確認するプロセスは、ブロック７０２で始まり、ユーザは、ハードウェア装置において、起動キーを用いて該ソフトウェアプログラムのインストールプロセスを開始する。次に、ブロック７０４において、該ハードウェア装置のプロセッサによって、該起動キーが、該ハードウェア装置のレジスタまたは記憶装置内の起動キーのリストに載っているか否かの判断がなされる。次いで、載っていない場合、該プロセスはブロック７０８へ進み、該インストールプロセスは続行を許可される。しかし、該起動キーが該リストに載っている場合には、該プロセスはブロック７０６に進む。
【００３３】
ブロック７０６においては、該ハードウェア装置のプロセッサによって、該起動キーのリスト内の該起動キーが無効であるとして警告が出されているか否かの判断がなされる。次いで、警告が出されている場合、該プロセスはブロック７１０へ進み、そこで該インストールプロセスは終了する。しかし、その後、該起動キーが無効であるとして警告が出されていない場合には、該プロセスはブロック７０８へ進み、該ハードウェア装置内の該ソフトウェアプログラムのインストールプロセスは開始することが許可され、このことは、図４及び図５を参照して既に説明した動作のうちの１つを実行することを含んでもよい。
【００３４】
本発明の実施形態によるソフトウェアプログラムの無許可のインストールを防ぐ方法を、図８のプロセスフロー図を参照して説明する。ブロック８０２において、該ソフトウェアプログラムのインストールプロセスが、ハードウェア装置において、ハードウェアキー及びソフトウェアキーに基づく起動キーを用いて開始される。該ハードウェアキーは、特定のハードウェア装置に関連付けられている。該ソフトウェアキーは、該ソフトウェアプログラムと関連付けられている。次に、ブロック８０４において、該起動キーは、少なくとも該起動キーから該ソフトウェアキーを抽出するために、該ハードウェア装置において処理される。次いで、ブロック８０６において、該抽出されたソフトウェアキーは、該ハードウェア装置において、該ソフトウェアプログラムの対応するソフトウェアキーと比較される。次いで、ブロック８０８において、該ハードウェア装置内での該ソフトウェアプログラムのインストールプロセスは、該抽出されたソフトウェアキーが対応するソフトウェアキーと一致した場合にのみ、開始することが許可される。
【００３５】
本発明の特定の実施形態を記載し、説明してきたが、本発明は、そのように記載され、説明された部材の特定の構成または配置に限定すべきではない。本発明の範囲は、本明細書に添付された請求項およびそれらの等価物によって定義されるべきである。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施形態によるソフトウェアプログラムの無許可のインストールを防ぐシステムの構成図である。
【図２】本発明の実施形態による図１のシステムに含まれる起動サーバのブロック図である。
【図３】本発明の実施形態による図１のシステムに含まれるハードウェア装置のブロック図である。
【図４】本発明の実施形態による購入されたソフトウェアプログラムの無許可のインストールを防ぐための図１のシステムの動作のプロセスフロー図である。
【図５】本発明の代替的な実施形態による購入されたソフトウェアプログラムの無許可のインストールを防ぐための図１のシステムの動作のプロセスフロー図である。
【図６】本発明の実施形態による返金の場合に、アンインストールキーを生成し、該アンインストールキーを確認するプロセスのフロー図である。
【図７】本発明の実施形態による戻されたソフトウェアプログラムの無許可のインストールを防ぐための、ソフトウェアプログラムのインストール中に起動キーを認証するプロセスのフロー図である。
【図８】本発明の実施形態によるソフトウェアプログラムの無許可のインストールを防ぐ方法のプロセスフロー図である。
【図１】
2008152764.tif 000003
【図２】
2008152764.tif 000004
【図３】
2008152764.tif 000005
【図４】
2008152764.tif 000006
【図５】
2008152764.tif 000007
【図６】
2008152764.tif 000008
【図７】
2008152764.tif 000009
【図８】
2008152764.tif 000010
【外国語明細書】
2008152764.tif 000011
2008152764.tif 000012
2008152764.tif 000013
2008152764.tif 000014
2008152764.tif 000015
2008152764.tif 000016
2008152764.tif 000017
2008152764.tif 000018
2008152764.tif 000019
2008152764.tif 000020
2008152764.tif 000021
2008152764.tif 000022
2008152764.tif 000023
2008152764.tif 000024
2008152764.tif 000025
2008152764.tif 000026
2008152764.tif 000027
2008152764.tif 000028
2008152764.tif 000029
2008152764.tif 000030
2008152764.tif 000031
2008152764.tif 000032
2008152764.tif 000033
2008152764.tif 000034