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