(57)【要約】【課題】  ソフトウェアの使用許可を得たコンピュータのパーツを交換した場合であっても、そのソフトウェアの使用を可能とするライセンス情報の更新方法を提供する。【解決手段】  ソフトウェアの使用が特定のコンピュータにおいてのみ許可されており、そのライセンス情報が認証サーバで管理されている場合において、ソフトウェアの最初の起動時に、交換対象パーツを全て含んだ全体固有値と、交換対象パーツを１以上除いた部分固有値を複数算出し、これらの組み合わせを認証サーバに登録する。パーツ交換後、最初のコンピュータ起動時に、交換したパーツを認識し、それを記録しておく。パーツ交換後、最初のソフトウェア起動時に、全体固有値、部分固有値を算出して認証サーバに送信し、認証サーバでは、交換パーツ以外のパーツを除外した部分固有値および全体固有値を更新する。【選択図】  図３
2007026352.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアが特定の機器でのみ使用許可のライセンスが与えられる場合に、そのライセンスの認証を認証サーバで行うシステムにおいて、前記使用許可された機器のパーツ交換に従って、ライセンス情報を更新する方法であって、
前記ソフトウェアの初期起動時に、全体固有値算出の基礎とされるパーツである算出基礎パーツ全てに基づき算出した全体固有値と、算出基礎パーツのうち１以上のパーツを除外した他の算出基礎パーツに基づき算出した部分固有値を算出する段階と、算出した全体固有値と複数の部分固有値を、認証サーバに送信する段階と、前記認証サーバが、受信した全体固有値、部分固有値の組み合わせを登録する段階を有し、
前記パーツ交換後最初の対象機器起動時に、交換したパーツを認識する段階と、認識した交換パーツについて、交換済みである旨を記録する段階を有し、
パーツの交換後最初のソフトウェア起動時に、全体固有値および部分固有値を算出する段階と、前記交換済みである旨が記録されたパーツを除外して算出された部分固有値に、当該部分固有値が不変である旨を付加する段階と、当該全体固有値と複数の部分固有値を、前記認証サーバに送信する段階と、前記認証サーバが、受信した全体固有値と不変である旨が付加された部分固有値の組み合わせに基づいて、対応するライセンス情報を検出し、当該ライセンス情報を受信した全体固有値、部分固有値で更新する段階と、
を有することを特徴とするライセンス情報の更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにおいて、ソフトウェアの使用権限を有するか否かを認証するための技術に関する。
【背景技術】
【０００２】
従来より、ソフトウェアの不正コピーや不正使用を防ぐための様々な技法が用いられている。その中の一つに、ハードウェア固有情報を利用したものがある。ハードウェア固有情報を利用して、ソフトウェアの不正使用を防止する技法においては、ソフトウェアをコンピュータで最初に使用する際に、使用しようとするコンピュータのハードウェアの固有な情報（ＭＡＣアドレス、ＣＰＵＩＤ、ＨＤＤシリアル番号など、またはこれらを組み合わせたもの）から固有値を算出すると共に、使用しようとするソフトウェアに記録されているライセンスＮｏを読み取り、これらをサーバへ通知して、ライセンスＮｏと固有値の組み合わせをライセンス情報としてサーバに登録する。
【０００３】
そして、そのソフトウェアの次回以降の実行時には、再度使用しようとするコンピュータ側において固有値を算出すると共にライセンスＮｏを読み取ってライセンス情報をサーバに送信し、サーバに登録されているライセンス情報と比較して一致していれば、実行許可を与えるというものである。このようにすることにより、特定のソフトウェアを他のコンピュータで使用しようとした場合には、ライセンスＮｏと固有値の組み合わせが登録したものと異なることになるため、サーバから使用許可が出ず、コンピュータはそのソフトウェアを実行することができなくなる。したがって、あるソフトウェアは、最初に実行した１台のコンピュータでしか使用することができず、不正コピーの問題を解決している。（例えば、特許文献１参照）。
【特許文献１】特開２００１−１０９６２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の手法では、ソフトウェアの使用許可を得たコンピュータにおいて、固有値の算出の基礎とされたパーツを交換した場合、新たに算出した固有値は、保存されている固有値と異なるため、サーバは実行許可を出さないこととなり、正当に取得したソフトウェアを、正当に使用許可を得たコンピュータにおいても使用することができなくなる。
【０００５】
そこで、本発明は、ソフトウェアの使用許可を得たコンピュータのパーツを交換した場合であっても、そのソフトウェアの使用を可能とするライセンス情報の更新方法を提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明では、ソフトウェアが特定の機器でのみ使用許可のライセンスが与えられる場合に、そのライセンスの認証を認証サーバで行うシステムにおいて、前記使用許可された機器のパーツ交換に従って、ライセンス情報を更新する方法であって、前記ソフトウェアの初期起動時に、全体固有値算出の基礎とされるパーツである算出基礎パーツ全てに基づき算出した全体固有値と、算出基礎パーツのうち１以上のパーツを除外した他の算出基礎パーツに基づき算出した部分固有値を算出する段階と、算出した全体固有値と複数の部分固有値を、認証サーバに送信する段階と、前記認証サーバが、受信した全体固有値、部分固有値の組み合わせを登録する段階を有し、前記パーツ交換後最初の対象機器起動時に、交換したパーツを認識する段階と、認識した交換パーツについて、交換済みである旨を記録する段階を有し、パーツの交換後最初のソフトウェア起動時に、全体固有値および部分固有値を算出する段階と、前記交換済みである旨が記録されたパーツを除外して算出された部分固有値に、当該部分固有値が不変である旨を付加する段階と、当該全体固有値と複数の部分固有値を、前記認証サーバに送信する段階と、前記認証サーバが、受信した全体固有値と不変である旨が付加された部分固有値の組み合わせに基づいて、対応するライセンス情報を検出し、当該ライセンス情報を受信した全体固有値、部分固有値で更新する段階を有するライセンス情報の更新方法を提供する。
【発明の効果】
【０００７】
本発明によれば、ソフトウェアの初期起動時に、全てのパーツに基づく全体固有値と、１以上のパーツを除外した部分固有値を算出して登録し、パーツ交換後最初の対象機器起動時に、どのパーツが交換されたかを記録し、パーツ交換後最初のソフトウェア起動時に、全体固有値と部分固有値を算出すると共に、交換されたパーツを除いて算出された部分固有値が不変である旨を記録し、算出された全体固有値と部分固有値に基づいて、登録されたライセンス情報を更新するようにしたので、一度ライセンスされたコンピュータにおいては、パーツを交換した場合であっても、ソフトウェアの使用が可能となる。
【発明を実施するための最良の形態】
【０００８】
（システム環境）
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。図１は、本発明に係るライセンス情報の更新方法が実行されるライセンス認証の環境を示す図である。図１において、１０ａ〜１０ｃは対象機器、２０はネットワーク、３０は認証サーバである。対象機器１０は、ソフトウェアを使用する対象となる機器であり、インターネット等のネットワークアクセス機能を有している。本実施形態では、対象機器１０として、パソコン等のコンピュータ端末を想定して説明する。また、対象機器１０には、ライセンスの対象となるソフトウェアとは別に、本発明のライセンス情報の更新方法を対象機器１０に実行させるための専用のプログラムがインストールされている。なお、図１の例では、対象機器１０として、１０ａ〜１０ｃの３台のみを示しているが、現実には多数の対象機器１０がネットワーク２０に接続されている。ネットワーク２０は、一般の利用者が利用可能な汎用の通信ネットワークであり、インターネット等を利用することができる。認証サーバ３０は、対象機器１０からライセンスＮｏおよび固有値が送信されてきた場合に、ライセンスＮｏが新規なものであれば、それを登録し、既に登録されているライセンスＮｏである場合には、固有値との組み合わせが既に登録されているものと同一であるかどうかの判断を行い、ライセンスを得ている端末での使用であるかどうかを認証する機能を有している。認証サーバ３０におけるこのような機能は、専用のプログラムを実行することにより実現される。
【０００９】
対象機器１０には、内蔵された記憶装置等に、自身の各パーツのパーツ情報が記録されている。例えば、対象機器１０が汎用的なパソコンである場合、内蔵のハードディスクや各ハードウェア部品の所定の記憶領域内に記憶されているのが普通である。ここで、対象機器１０内に記憶されたパーツ情報の一例を図２に示す。図２に示すように、パーツ情報には、複数のパーツについての、パーツＩＤが記録されている。図２の例では、ＣＰＵ、ＬＡＮボード、マザーボード、サウンドボード、ＯＳ、ＨＤＤについて記録されている。また、各パーツについて、そのパーツが交換されたものであるかどうかを記録することが可能となっている。図２（ａ）の例では、“交換フラグ”の欄が空白になっており、対象とするソフトウェアの前回の起動後は、パーツが交換されていないことを示している。図１に示すシステム環境では、これらの情報は対象機器１０内のデバイスドライバにより抽出され、対象機器１０内の所定の記憶領域に記憶されている。
【００１０】
（ライセンス情報の登録）
上記のようなシステム環境で、あるソフトウェアを初めて対象機器１０で使用する場合、ソフトウェアを起動させると、対象機器１０は、ソフトウェア固有のライセンスＮｏを読み取る。ライセンスＮｏとは、個々の製品に付された番号であり、同一のソフトウェアであっても、製品ごとに異なるものである。また、対象機器１０は、自身の所定の記憶領域に記憶されている複数のパーツＩＤを用いて所定のルールで固有値を算出する。ここでは、図２に示した６個のパーツＩＤから固有値を算出することになる。全体固有値算出の基礎とされるこれらのパーツを算出基礎パーツと呼ぶことにする。固有値としては、あらかじめ設定された全ての算出基礎パーツを基に算出される「全体固有値」と、算出基礎パーツからいずれか１個のパーツを除いた他の５個の算出基礎パーツを基に算出される「部分固有値」の２種類を算出する。例えば、算出基礎パーツが６個存在する場合、各算出基礎パーツを除いた部分固有値を算出するため、６個の部分固有値を算出することになる。本実施形態では、具体的な算出手法として、ハッシュ関数を用いて固有値の算出を行う。なお、複数のパーツＩＤから固有値を算出する手法としては、ハッシュ関数を用いる手法以外の公知の手法を用いることも可能である。
【００１１】
ここで、対象機器１０が読み取ったライセンスＮｏ、算出した全体固有値、複数の部分固有値の一例を図３（ａ）に示す。図３（ａ）において、部分固有値１〜６は、ＣＰＵを除いた５つの算出基礎パーツに基づいた部分固有値、ＬＡＮボードを除いた５つの算出基礎パーツに基づいた部分固有値、マザーボードを除いた５つの算出基礎パーツに基づいた部分固有値、サウンドボードを除いた５つの算出基礎パーツに基づいた部分固有値、ＯＳを除いた５つの算出基礎パーツに基づいた部分固有値、ＨＤＤを除いた５つの算出基礎パーツに基づいた部分固有値にそれぞれ対応している。なお、本実施形態では、説明の便宜上、固有値を４桁で表現しているが、実際には、固有値は数十桁で表現されることが普通である。
【００１２】
続いて、対象機器１０は、ライセンスＮｏと算出した全体固有値、部分固有値の組み合わせを、ネットワーク２０を介して認証サーバ３０に送信する。例えば、図３（ａ）に示したような、ライセンスＮｏ、全体固有値、部分固有値の組み合わせが認証サーバ３０に送信されることになる。
【００１３】
認証サーバ３０では、受信したライセンスＮｏが既に登録されているものであるかどうかを確認し、未登録のものである場合には、受信したライセンスＮｏ、全体固有値、部分固有値の組み合わせをそのまま登録する。この場合の認証サーバ３０内のライセンス情報の一例を図３（ｂ）に示す。この場合、そのライセンスＮｏは初めて使用されたことになるので、認証サーバ３０は、使用を許可する旨の信号（以下、使用許可信号という）を対象機器１０に送信する。対象機器１０では、使用許可信号を受信すると、そのソフトウェアに使用許可を与え、ソフトウェアの起動が可能となる。次回以降にそのソフトウェアを対象機器１０で使用する場合には、全体固有値を算出した後、ライセンスＮｏと全体固有値の組み合わせを認証サーバ３０に送信する。この場合、認証サーバ３０は、受信したライセンスＮｏと全体固有値の組み合わせが既に登録されているものと一致することになるので、認証サーバ３０は、使用許可信号を対象機器１０に送信する。
【００１４】
（パーツ交換後、最初の対象機器起動時）
次に、一度ソフトウェアの使用許可を得た対象機器１０において、全体固有値の算出の基礎となっている算出基礎パーツを交換した場合について説明する。算出基礎パーツを交換した場合、算出基礎パーツに固有の情報であるパーツＩＤも当然異なることになる。したがって、算出される全体固有値も異なることになるため、ライセンスＮｏと算出した全体固有値の組み合わせを認証サーバ３０に送信しても、登録されている組み合わせではないとして、使用を許可しない旨の信号が対象機器１０に送信されることになり、対象機器１０ではそのソフトウェアを使用することができない。
【００１５】
そこで、本発明に係る方法では、以下のような処理を行うことになる。使用者が対象機器１０の算出基礎パーツを交換後、最初に対象機器１０を起動すると、対象機器１０は、デバイスドライバによりどの算出基礎パーツが交換されたかを認識し、パーツ情報中の対応パーツに、交換された旨を記録する。このときのパーツ情報の様子を図２（ｂ）に示す。図２（ｂ）に示すように、対象機器１０は、実際に交換されたパーツを、「交換パーツ」として記録する。すなわち、交換フラグを立てることになる。図２（ｂ）に示す例は、ＣＰＵに対応するデバイスドライバが、ＣＰＵが交換されたことを対象機器１０に伝え、対象機器１０がその旨をパーツ情報に記録した場合を示している。なお、上記“交換された旨”の情報は、システムやアプリケーションソフトの設定データが記録されているデータベースであるレジストリに記録しておくことによっても実現できる。
【００１６】
（パーツ交換後、最初のソフトウェア起動時）
使用者が、パーツ交換を実際に行った後に、ソフトウェアを起動させたとする。すると、対象機器１０は、ソフトウェア固有のライセンスＮｏを読み取る。また、対象機器１０は、自身の所定の記憶領域に「交換パーツ」が記録されているかどうかを確認し、「交換パーツ」が記録されている場合には、各部分固有値を算出すると共に、交換後の算出基礎パーツを含めた対象とする全ての算出基礎パーツに基づいて全体固有値を算出する。さらに、「交換パーツ」として記録されている算出基礎パーツを除外して算出される部分固有値は、交換の前後において不変であるため、不変である旨を、その部分固有値に付加して記録する。この場合のライセンス情報を図３（ｃ）に示す。そして、ライセンスＮｏ、全体固有値、部分固有値の組み合わせを認証サーバ３０に送信する。ここでは、図３（ｃ）に示すようなライセンスＮｏ、全体固有値、部分固有値の組み合わせが算出され、送信されることになる。
【００１７】
認証サーバ３０では、ライセンスＮｏ、全体固有値、部分固有値の組み合わせを受信すると、その中で不変である旨が付加された部分固有値を認識し、その部分固有値と、受信したライセンスＮｏの組み合わせが登録されているかどうかを確認する。この組み合わせが登録されている場合には、受信した全体固有値、および他の５つの部分固有値により、元の全体固有値および部分固有値を更新する。ここでは、受信したライセンスＮｏが“2345678”、不変である旨が付加された部分固有値が“QWER”であり、図３（ｂ）に示したように、ライセンスＮｏ“2345678”、部分固有値“QWER”が認証サーバ３０内に登録されているので、受信した全体固有値、不変である旨が付加されていない部分固有値で、認証サーバ３０内の全体固有値、部分固有値を更新する。この場合の認証サーバ３０内のライセンス情報の一例を図３（ｄ）に示す。
【００１８】
上記のようにして、パーツ交換後、最初の対象機器１０の起動時に、交換したパーツを認識、記録しておき、パーツ交換後、最初のソフトウェア起動時に、全体固有値、部分固有値を算出し、これらをライセンスＮｏと共に認証サーバ３０に送信して、認証サーバ３０内の全体固有値および部分固有値の更新を行うので、次回以降にそのソフトウェアを対象機器１０で使用する場合には、受信したライセンスＮｏと全体固有値の組み合わせが既に登録されているものと一致することになり、認証サーバ３０は、使用許可信号を対象機器１０に送信する。使用許可信号を受信した対象機器１０では、ソフトウェアの使用が可能となる。
【００１９】
なお、上記処理において、対象機器１０が、ソフトウェア固有のライセンスＮｏを読み取った後、自身の所定の記憶領域に「交換パーツ」が記録されているかどうかを確認し、「交換パーツ」が記録されていない場合には、パーツが交換されていないことになるため、全体固有値のみを算出し、読み取ったライセンスＮｏと共に認証サーバ３０に送信する。この場合は、受信したライセンスＮｏと全体固有値の組み合わせが、登録されているライセンスＮｏと全体固有値の組み合わせと同一になるので、認証サーバ３０は、使用許可信号を対象機器１０に送信することになる。
【００２０】
（変形例）
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、様々な変形が可能である。例えば、上記実施形態では、部分固有値として、１つの算出基礎パーツを除外した残りの算出基礎パーツについて算出するようにしたが、２つ以上の算出基礎パーツを除外した残りの算出基礎パーツについて算出するようにしても良い。このようにすることにより、２以上の算出基礎パーツを同時に交換した場合であっても、最初に使用許可が得られた対象機器によりソフトウェアの実行が可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明に係るライセンス情報の更新方法が実行されるシステム環境を示す図である。
【図２】対象機器１０内に記憶されたパーツ情報の一例を示す図である。
【図３】対象機器１０、認証サーバ３０内のライセンス情報の一例を示す図である。
【符号の説明】
【００２２】
１０・・・対象機器
２０・・・ネットワーク
３０・・・認証サーバ
【図１】
2007026352.tif 000003
【図２】
2007026352.tif 000004
【図３】
2007026352.tif 000005