(57)【要約】【課題】  プライバシーの侵害につながりかねないコンピュータ固有情報をライセンサに連絡することなく、不正利用を確実に防止可能なソフトウエアのライセンス認証方法を提供する。【解決手段】  ライセンス対象コンピュータ１０が、インストールされたソフトウエアの機能を制限する手順と、ライセンス対象コンピュータ１０のハードウエア構成要素からコンピュータを一意に識別可能なコンピュータ固有情報を抽出する手順１７と、インストールのセッションごとにセッションＩＤをランダムに生成する手順１１と、セッションＩＤをキーにコンピュータ固有情報を暗号化し(１５)、コンピュータ内の記憶域１８に保存する手順と、セッションＩＤとシリアルナンバーとをライセンサに送信しライセンスキーの発行を要求する手順１２とを含むソフトウエアのライセンス認証方法。【選択図】        図１
2008021021.tif 000002
【特許請求の範囲】
【請求項１】
ライセンス対象コンピュータが、インストールされたソフトウエアの機能を制限する手順と、
前記コンピュータのハードウエア構成要素から前記コンピュータを一意に識別可能なコンピュータ固有情報を抽出する手順と、
インストールのセッションごとにセッションＩＤをランダムに生成する手順と、
セッションＩＤをキーに前記コンピュータ固有情報を暗号化し前記コンピュータ内の記憶域に保存する手順と、
セッションＩＤとシリアルナンバーとをライセンサに送信しライセンスキーの発行を要求する手順とを含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項２】
請求項１に記載のソフトウエアのライセンス認証方法において、
前記ライセンサが、シリアルナンバーとセッションＩＤとを一対として登録管理するライセンス管理データベースを有し、
未登録シリアルナンバーに対するライセンスキーの発行要求に応じてソフトウエア機能の制限を解除するためのライセンスキーをセッションＩＤで暗号化しアクティベーションコードを生成する手順と、
アクティベーションコードを前記ライセンス対象コンピュータに送信する手順とを含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項３】
請求項１または２に記載のソフトウエアのライセンス認証方法において、
前記ライセンス対象コンピュータが、暗号化され当該コンピュータ内の記憶域に保存されたセッションＩＤをコンピュータ固有情報で復号する手順と、
セッションＩＤの復号に失敗した場合は不正コピーされたと判定する手順と、
セッションＩＤの復号に成功した場合はセッションＩＤでアクティベーションコードからライセンスキーを復号する手順と、
ライセンスキーの復号に失敗した場合は不正なライセンスキーを使用したと判定する手順と、
ライセンスキーの復号に成功した場合は正規なコンピュータでのアクティベーションであると判断し、ソフトウエアの機能の制限を解除する手順とを含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項４】
請求項３に記載のソフトウエアのライセンス認証方法において、
前記ライセンス対象コンピュータが、復号したライセンスキーをコンピュータ固有情報で暗号化し前記コンピュータ内の記憶域に保存する手順と、
ソフトウエアの利用時にコンピュータ固有情報でライセンスキーを復号する手順と、
ライセンスキーの復号に失敗した場合は不正コピーされたと判定しソフトウエアの機能を抑制する手順とを含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項５】
ライセンス対象コンピュータが、インストールされたソフトウエアの機能を制限する手順と、前記コンピュータのハードウエア構成要素から前記コンピュータを一意に識別可能なコンピュータ固有情報を抽出する手順と、インストールのセッションごとにセッションＩＤをランダムに生成する手順と、セッションＩＤをキーに前記コンピュータ固有情報を暗号化し前記コンピュータ内の記憶域に保存する手順と、セッションＩＤとシリアルナンバーとをライセンサに送信しライセンスキーの発行を要求する手順とを含み、
前記ライセンサが、シリアルナンバーとセッションＩＤとを一対として登録管理するライセンス管理データベースを有し、未登録シリアルナンバーに対するライセンスキーの発行要求に応じてソフトウエア機能の制限を解除するためのライセンスキーをセッションＩＤで暗号化しアクティベーションコードを生成する手順と、アクティベーションコードを前記ライセンス対象コンピュータに送信する手順とを含み、
前記ライセンス対象コンピュータが、暗号化され当該コンピュータ内の記憶域に保存されたセッションＩＤをコンピュータ固有情報で復号する手順と、セッションＩＤの復号に失敗した場合は不正コピーされたと判定する手順と、セッションＩＤの復号に成功した場合はセッションＩＤでアクティベーションコードからライセンスキーを復号する手順と、ライセンスキーの復号に失敗した場合は不正なライセンスキーを使用したと判定する手順と、ライセンスキーの復号に成功した場合は正規なコンピュータでのアクティベーションであると判断し、ソフトウエアの機能の制限を解除する手順とを含み、
前記ライセンス対象コンピュータが、復号したライセンスキーをコンピュータ固有情報で暗号化し前記コンピュータ内の記憶域に保存する手順と、ソフトウエアの利用時にコンピュータ固有情報でライセンスキーを復号する手順と、ライセンスキーの復号に失敗した場合は不正コピーされたと判定しソフトウエアの機能を抑制する手順とを含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項６】
互いに接続された複数のライセンス対象コンピュータが、それぞれにインストールされたソフトウエアの機能を制限する手順と、前記コンピュータのハードウエア構成要素から前記コンピュータを一意に識別可能なコンピュータ固有情報を抽出する手順と、自身のセッションＩＤ生成前にそれ以前に接続された他のコンピュータのセッションＩＤの入力を受け付ける手順と、インストールのセッションごとに自身のセッションＩＤをランダムに生成する手順と、自身のセッションＩＤをキーに前記コンピュータ固有情報を暗号化し前記コンピュータ内の記憶域に保存する手順と、自身のセッションＩＤとシリアルナンバーとをライセンサに送信しライセンスキーの発行を要求する手順とを含み、
前記ライセンサが、シリアルナンバーとセッションＩＤとを一対として登録管理するライセンス管理データベースを有し、未登録シリアルナンバーに対するライセンスキーの発行要求に応じてソフトウエア機能の制限を解除するためのライセンスキーを前記複数のライセンス対象コンピュータのうち最後のコンピュータのセッションＩＤで暗号化しアクティベーションコードを生成する手順と、アクティベーションコードを前記最後のコンピュータに送信する手順とを含み、
前記最後のコンピュータが、暗号化され当該コンピュータ内の記憶域に保存されたセッションＩＤをコンピュータ固有情報で復号する手順と、セッションＩＤの復号に失敗した場合は不正コピーされたと判定する手順と、セッションＩＤの復号に成功した場合はセッションＩＤでアクティベーションコードからライセンスキーを復号する手順と、ライセンスキーの復号に失敗した場合は不正なライセンスキーを使用したと判定する手順と、ライセンスキーの復号に成功した場合は正規なコンピュータでのアクティベーションであると判断し、ソフトウエアの機能の制限を解除する手順とを含み、
互いに接続された複数のライセンス対象コンピュータが、前記最後のコンピュータのライセンスを認証されたらその直前のライセンス対象コンピュータのアクティベーションコードを逆順に発行し、ライセンス認証を繰り返す手順を含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項７】
請求項６に記載のソフトウエアのライセンス認証方法において、
各ライセンス対象コンピュータのセッションＩＤには、請求項６の情報に加えて累積インストール台数の情報を含み、
それ以前に接続されたコンピュータのセッションＩＤに含まれる累積インストール台数を抽出して１を加算し、自身が生成するセッションＩＤに加算結果を付加することを特徴とするソフトウエアのライセンス認証方法。
【請求項８】
請求項６または７に記載のソフトウエアのライセンス認証方法において、
前記ライセンス対象コンピュータが、復号したライセンスキーをコンピュータ固有情報で暗号化し前記コンピュータ内の記憶域に保存する手順と、
ソフトウエアの利用時にコンピュータ固有情報でライセンスキーを復号する手順と、
ライセンスキーの復号に失敗した場合は不正コピーされたと判定しソフトウエアの機能を抑制する手順とを含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項９】
請求項１ないし８のいずれか一項に記載のソフトウエアのライセンス認証方法において、
セッションＩＤが、シリアルナンバーのメッセージダイジェストを含むことを特徴とするソフトウエアのライセンス認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ(ＰＣ)などのコンピュータへのソフトウエアのライセンス認証方法に係り、特に、ライセンスを認証する際にプライバシー保護と不正コピー防止とを両立させる手段に関する。
【背景技術】
【０００２】
従来、ライセンサから提供されたライセンスキーをインストールプログラムに入力し、キーの正当性をインストールプログラムがチェックする認証方法が一般的であった。
【０００３】
しかし、ライセンスキーは、一旦発行されると、ライセンサ側で管理できず、無制限に流用可能となってしまう。その結果、契約台数以上のコンピュータにソフトウエアを容易にインストールされてしまうという問題があった。
【０００４】
ライセンスキーをハードウエアデバイスとして提供し、ソフトウエア利用のたびにハードウエアデバイス内のライセンス情報をチェックして認証する方法もある。
【０００５】
しかし、コスト高である上に、ハードウエアデバイスを接続するためのインタフェースがコンピュータ側に必要になるという制約があり、広く普及するには至っていない。
【０００６】
そこで、コンピュータ固有情報によりライセンスを認証する方法が提案された。インストール作業に先立ちインストール対象のコンピュータ固有情報(例えば、コンピュータのハードウエア情報やＩＰアドレスなどコンピュータごとに固有の値を持つ情報)およびソフトウエアに付帯するシリアルナンバーをライセンサに送信する。ライセンサは、シリアルナンバーが正当なものであるか照合し、問題が無ければ、コンピュータ固有情報をキーにライセンスキーを暗号化したアクティベーションコードを返信する。アクティベーションコードをインストールプログラムに入力すると、正規のコンピュータであれば、自身のコンピュータ固有情報でライセンスキーを復号でき、ソフトウエアのインストール作業が完了する。
【０００７】
この方法によれば、たとえコンピュータソフトウエアを構成するファイルを丸ごと他のコンピュータにコピーされた場合でも、ソフトウエア起動ごとにランセンスキーの復号を試行しライセンスを認証するので、不正利用を防止できる。また、シリアルナンバーとコンピュータ固有情報のペアがライセンサ側で管理され、シリアルナンバーを流用したアクティベーションコードの再発行を防止できるとされている。
【０００８】
アクティベーションコードの発行方法には、ライセンス認証サーバを用いる方法(例えば、特許文献１参照)や、ＩＣカードにアクティベーションコードの発行機能とコンピュータ固有情報の保持機能とを持たせる方法(例えば、特許文献２参照)が提案されている。
【０００９】
ライセンスサーバ自体の不正設置を防止する方法として、ルートサーバでサーバ証明書を発行し、アクティベーションコードの発行に際しルートサーバでの認証を必要とする方法が提案されている(例えば、特許文献３参照)。
【００１０】
ＯＳのオリジナルナンバー，ハードディスクの製造ナンバー，ネットワークカードのＭＡＣアドレスなどのユーザのコンピュータ固有のＩＤ情報を取得してユーザマシンＩＤおよび通知用ＩＤを生成し、ライセンサに通知し、ライセンサが認証パスワードを発行する方法が提案されている(例えば、特許文献４参照)。
【００１１】
【特許文献１】特開２０００−２０７１９９号公報(第４〜５頁  図１〜図４)
【特許文献２】特開２００５−１２２２８３号公報(第８〜１０頁  図３，図４)
【特許文献３】特開２００４−２０６４３５号公報(第８〜１１頁  図１〜図６)
【特許文献４】特開２００４−１７１５００号公報(第３〜４頁  図１〜図４)
【発明の開示】
【発明が解決しようとする課題】
【００１２】
特許文献１の方法では、コンピュータ固有情報をライセンサに連絡する必要があり、ユーザにとってはプライバシー保護の観点から抵抗感がある。また、ライセンスを認証する全コンピュータについてアクティベーションコードの発行手続きをとらなければならず、手間がかかる。この手間を削減するために、顧客サイト側にアクティベーションコードを発行する機能を備えたローカルなライセンス認証サーバを設置する方法がある。
【００１３】
しかし、この方法では、サーバ導入コストおよび管理コストが発生してしまう。さらに、サーバ自体の不正設置を防止できない。
【００１４】
特許文献２の方法では、特殊なハードウエアデバイスとその接続インタフェースがコンピュータに必要であり、コストアップとなる。
【００１５】
特許文献３の方法では、デジタル証明書を含めてコピーされた場合、例えば、ＨＤＤイメージ全体を他のサーバにコピーされた場合は、不正を検知できない。
【００１６】
特許文献４の方法では、通知用ＩＤを送る際に、ユーザ名，居住地，電話番号，生年月日，年齢，職業などの他の情報も併せて送らせ、ライセンサが、ユーザへの認証パスワードの発行のみならず、ユーザ情報のデータベースを作成することも可能であるとしている。この方法では、ユーザの情報が第三者の手元に蓄積されることになり、近時のプライバシー保護への傾向に逆行するばかりか、ライセンサにとっても、その情報の機密保持や機密漏洩時の賠償などに多大の労力と費用とを必要とする。
【００１７】
さらに、アクティベーションコードの発行要求は、ライセンス契約したコンピュータ台数分必要であり、全コンピュータ台数についてのハードウエア固有情報をライセンサに通知しなければならなかった。
【００１８】
本発明の第１の課題は、プライバシーの侵害につながりかねないコンピュータ固有情報をライセンサに連絡することなく、不正利用を確実に防止可能なソフトウエアのライセンス認証方法を提供することである。
【００１９】
本発明の第２の課題は、複数台のコンピュータに関するコンピュータ固有情報の全てをライセンサに連絡しなくても、複数台のコンピュータにおける不正利用を確実に防止可能なソフトウエアのライセンス認証方法を提供することである。
【課題を解決するための手段】
【００２０】
本発明は、上記第１の課題を解決するために、ライセンス対象コンピュータが、インストールされたソフトウエアの機能を制限する手順と、前記コンピュータのハードウエア構成要素から前記コンピュータを一意に識別可能なコンピュータ固有情報を抽出する手順と、インストールのセッションごとにセッションＩＤをランダムに生成する手順と、セッションＩＤをキーに前記コンピュータ固有情報を暗号化し前記コンピュータ内の記憶域に保存する手順と、セッションＩＤとシリアルナンバーとをライセンサに送信しライセンスキーの発行を要求する手順とを含むソフトウエアのライセンス認証方法を提案する。
【００２１】
本発明は、上記第２の課題を解決するために、互いに接続された複数のライセンス対象コンピュータが、それぞれにインストールされたソフトウエアの機能を制限する手順と、前記コンピュータのハードウエア構成要素から前記コンピュータを一意に識別可能なコンピュータ固有情報を抽出する手順と、自身のセッションＩＤ生成前にそれ以前に接続された他のコンピュータのセッションＩＤの入力を受け付ける手順と、インストールのセッションごとに自身のセッションＩＤをランダムに生成する手順と、自身のセッションＩＤをキーに前記コンピュータ固有情報を暗号化し前記コンピュータ内の記憶域に保存する手順と、自身のセッションＩＤとシリアルナンバーとをライセンサに送信しライセンスキーの発行を要求する手順とを含み、前記ライセンサが、シリアルナンバーとセッションＩＤとを一対として登録管理するライセンス管理データベースを有し、未登録シリアルナンバーに対するライセンスキーの発行要求に応じてソフトウエア機能の制限を解除するためのライセンスキーを前記複数のライセンス対象コンピュータのうち最後のコンピュータのセッションＩＤで暗号化しアクティベーションコードを生成する手順と、アクティベーションコードを前記最後のコンピュータに送信する手順とを含み、前記最後のコンピュータが、暗号化され当該コンピュータ内の記憶域に保存されたセッションＩＤをコンピュータ固有情報で復号する手順と、セッションＩＤの復号に失敗した場合は不正コピーされたと判定する手順と、セッションＩＤの復号に成功した場合はセッションＩＤでアクティベーションコードからライセンスキーを復号する手順と、ライセンスキーの復号に失敗した場合は不正なライセンスキーを使用したと判定する手順と、ライセンスキーの復号に成功した場合は正規なコンピュータでのアクティベーションであると判断し、ソフトウエアの機能の制限を解除する手順とを含み、互いに接続された複数のライセンス対象コンピュータが、前記最後のコンピュータのライセンスを認証されたらその直前のライセンス対象コンピュータのアクティベーションコードを逆順に発行し、ライセンス認証を繰り返す手順を含むソフトウエアのライセンス認証方法を提案する。
【００２２】
本発明においては、ライセンス付与時にコンピュータ個体を識別する照合キーをコンピュータ固有情報から分離し、照合キーの利用にコンピュータ固有情報を必要とする。ライセンスに際しては、プライバシー保護上問題となるコンピュータ固有情報をやりとりせずに、照合キーを送信する。本発明では、この照合キーとして、インストールセッションごとにユニークなセッションＩＤを生成して用いる。
【００２３】
ここで、インストールセッションとは、コンピュータにソフトウエアをインストールし、機能を有効化するまでの一連の行為をいう。同一コンピュータに対する同一ソフトウエアのインストールであっても、インストールを一旦中断した後に再開したり、再インストールしたりする場合は、行為が一連でないので、異なるセッションと見なす。
【００２４】
ソフトウエアをインストールしたコンピュータでは、インストールプログラムによりセッションＩＤが生成される。セッションＩＤは、コンピュータ固有情報により暗号化されてコンピュータの記憶域に保存されるので、暗号化されたセッションＩＤを含むソフトウエア全体を別のコンピュータにコピーした場合でも、コピー先のコンピュータではセッションＩＤを復号できないことになり、セッションを継続するコンピュータの一意性が確保される。
【００２５】
インストールプログラムは、アクティベーションコードの発行を要求するために、生成したセッションＩＤとシリアルナンバーとをライセンサに送信する。ネットワークを介してインストールプログラムから自動的に送信しても、ＦＡＸ，Ｅメールに転記して送信してもよい。
【００２６】
セッションＩＤとシリアルナンバーとを受信したライセンサは、受信したシリアルナンバーがライセンスデータベースに登録済みでないかをチェックする。登録済みのシリアルナンバーが不正に流用されライセンスキーの発行を要求してきた場合は、ライセンスキーの重複発行を防止できる。
【００２７】
シリアルナンバーが登録されていなければ、シリアルナンバーとセッションＩＤとのペアをライセンス管理データベースに登録し、セッションＩＤでライセンスキーを暗号化しアクティベーションコードを生成する。アクティベーションコードは、ネットワークを介してインストールプログラムに直接送信しても、ＦＡＸ，Ｅメールに転記して送信してもよい。
【００２８】
ライセンス対象コンピュータにおいては、セッションＩＤによりアクティベーションコードからライセンスキーが復号されるので、正規なセッションＩＤを持たないコンピュータではライセンスコードを取得できないことになり、アクティベーションコードの不正流用を防止できる。
【００２９】
ライセンスキーは、コンピュータ固有情報により再暗号化され、ライセンス対象コンピュータ内の記憶域に保存される。
【００３０】
ソフトウエアの起動には、コンピュータ固有情報によるライセンスキーの復号を必要とする。したがって、アクティベーション後のコンピュータからライセンスキーの情報を含むソフトウエア全体を不正にコピーしても、ライセンスキーを復号できず、不正利用を防止できる。
【００３１】
本発明においては、複数台のコンピュータにインストールする際は、セッションＩＤが連鎖的に生成される。アクティベーション発行要求は、最終コンピュータのみで送信すればよく、最終コンピュータのライセンス認証完了によって、セッションＩＤの生成とは逆順に他のコンピュータもランセンスを連鎖的に認証される。セッションＩＤには最終的なインストール台数が含まれており、ライセンサ側ではライセンス数と実際のインストール数とを照合し確認できる。また、アクティベーションコードを発行できるのは１台コンピュータにつき別の１台のみであるから、連鎖から外れたコンピュータはライセンス認証が得られず、不正インストールを防止できる。
【００３２】
悪意のある第３者が適当なシリアルナンバーとセッションＩＤとのペアでアクティベーションコードの発行要求を試み、たまたま正規なシリアルナンバーを入力してしまうことも想定される。この場合、本発明では、セッションＩＤにはシリアルナンバーのメッセージダイジェストを含めることもでき、セッションＩＤがインストールプログラムによって正規の手続きで生成されたものかを検証できる。これによって、正規のシリアルナンバー保持者のアクティベーションコード発行を妨害されることはない。
【発明の効果】
【００３３】
本発明によれば、シリアルナンバー，アクティベーションコードの流用による不正インストールを防止できる。また、正規にライセンスされたコンピュータからソフトウエアを不正にコピーしても、その利用を阻止できる。  これらの防御機能を実現するに際して、コンピュータ固有情報をライセンサに提供する必要が無く、ユーザのプライバシーが保護される。
【００３４】
さらに、複数台のコンピュータへのインストールに際しても、１回のアクティベーションコードの発行手続きで済み、煩わしさが軽減される。
【発明を実施するための最良の形態】
【００３５】
次に、図１〜図６を参照して、本発明によるソフトウエアのライセンス認証方法の実施例を説明する。
【実施例１】
【００３６】
図１は、本発明により１台のコンピュータにライセンスを認証するライセンス認証システムの系統構成を示すブロック図である。
【００３７】
本実施例１のライセンス認証システムは、ソフトウエアをインストールするライセンス対象コンピュータ１０と、アクティベーションコード発行サーバ２０とからなり、ネットワーク５０により接続されている。ライセンス対象コンピュータ１０は、パーソナルコンピュータＰＣに限らず、ワークステーションやサーバなどの場合もある。
【００３８】
インストールに際しては、インストールプログラムおよびライセンス対象アプリケーションプログラムを記録した記録媒体３０と、記録媒体３０に付帯しライセンサから提供されるシリアルナンバー４０とが必要になる。
【００３９】
ライセンス対象コンピュータ１０は、セッションＩＤ生成部１１と、アクティベーションコード発行サーバ２０にアクティベーションコードの発行を要求する発行要求部１２と、ライセンスキー復号部１３と、ライセンスキー照合部１４と、暗号部１５と、復号部１６と、ＰＣ固有情報抽出部１７、ＨＤＤ１８と、インストールされたアプリケーションプログラム１９の格納部とを含んでいる。
【００４０】
アプリケーションコード発行サーバ２０は、ライセンスキーの発行要求を受け付ける発行受付部２１と、シリアルキー登録照合部２２と、ライセンスキー暗号部２３と、シリアルナンバーとセッションＩＤとをペアで登録するライセンス管理データベース２４とを含んでいる。
【００４１】
次に、アプリケーションプログラムをライセンス対象コンピュータ１０にインストールし、ライセンス認証を受け、ライセンスされたアプリケーションプログラムを有効にする手順の一例を説明する。
【００４２】
図２は、ライセンス対象コンピュータ１０がアクティベーションコードの発行を要求する処理手順を示すフローチャートである。
【００４３】
アプリケーションプログラムユーザは、記録媒体３０からインストールプログラムを起動する(Ｓ１００)。インストールプログラムの指示に従い、シリアルナンバーを入力すると(Ｓ１０１)、アプリケーションプログラム１９を構成するモジュールが記録媒体３０からライセンス対象コンピュータ１０にコピーされる(Ｓ１０２)。
【００４４】
なお、アプリケーションプログラム１９の動作にライセンス対象コンピュータ１０のシステムファイルを変更する必要がある場合は、その変更も併せて実施する。また、本実施例１においては、インストールプログラムおよびアプリケーションプログラムを記録媒体３０で提供する形態を示しているが、ネットワークを介してダウンロードする形態であってもよい。
【００４５】
セッションＩＤ生成部１１が、インストールセッションごとにユニークなコードとしてセッションＩＤを生成する(Ｓ１０３)。このようにユニークなセッションＩＤの生成には、インストール開始時点の時刻とシリアルナンバーのメッセージダイジェストとを組み合わせ、インストールプログラム１９に内蔵された秘密鍵を用いて暗号化しコードを生成する方法がある。コンピュータのシステム時刻にはミリ秒程度の分解能があるので、インストール作業にかかる時間スケールと比較すると、十分にユニークなセッションＩＤを生成できる。
【００４６】
メッセージダイジェストとは、原文から所定のアルゴリズムで生成される固定長の擬似乱数列であり、不可逆で原文を再現できないので、同じメッセージダイジェストを生成する２つの原文を見つけることが不可能という性質を持つ。このようなアルゴリズムには、ＭＤ５やＳＨＡがある。
【００４７】
コンピュータ固有抽出情報部１７が、コンピュータ固有の情報を抽出し、コンピュータ固有抽出情報とする(Ｓ１０４)。コンピュータ固有抽出情報には、イーサネット(登録商標)ＬＡＮインタフェースのＭＡＣアドレスやプロセッサコードとなどのコンピュータを構成する部品に割り当てられた固有識別番号を利用できる。
【００４８】
暗号部１５は、コンピュータ固有抽出情報をキーとして、セッションＩＤを暗号化する。結果の暗号は、ライセンス対象コンピュータ１０内のＨＤＤ１８に保存する(Ｓ１０５)。
【００４９】
発行要求部１２は、ネットワーク５０を介して、シリアルナンバーとセッションＩＤとをアクティベーションコード発行サーバ２０に送信し、アクティベーションコードの発行を要求する(Ｓ１０６)。
【００５０】
インストールプログラムの機能によっては、アクティベーションコード発行サーバ２０と直接通信する本実施例とは異なり、ライセンス対象コンピュータ１０をネットワーク５０に接続できない利用状態も想定される。この場合は、ライセンス対象コンピュータ１０のディスプレイ上にセッションＩＤを表示し、ユーザがＥメール，ＦＡＸ，電話などの手段を用いてライセンサに通知する形態でもよい。
【００５１】
また、アクティベーションコード発行サーバ２０は、インターネット上にＷｅｂサーバとして公開され、Ｗｅｂ画面からセッションＩＤとライセンスナンバーとを入力し、アクティベーションコードの発行を要求する形態でもよい。
【００５２】
図３は、アクティベーションコード発行サーバ２０の処理手順の一例を示すフローチャートである。
【００５３】
アクティベーションコード発行サーバ２０は、シリアルナンバーとセッションＩＤとを受信する(Ｓ２０１)。アクティベーションコード発行サーバ２０のシリアルキー登録照合部２２は、シリアルナンバーとセッションＩＤとがライセンス管理ＤＢ２４に登録済みか否かをチェックする(Ｓ２０２)。セッションＩＤが登録済みであれば、シリアルナンバーが不正に流用されたと判断し(Ｓ２０３)、アクティベーションコードの発行処理を中断する(Ｓ２０５)。この場合は、ネットワーク５０を介して、ライセンス対象コンピュータ１０にメッセージを送信し、ユーザに不正流用である旨を通知する。
【００５４】
アクティベーションコード発行サーバ２０のシリアルキー登録照合部２２は、セッションＩＤが未登録であれば、アクティベーションコード発行の正当な要求であると推定し（Ｓ２０３）、ライセンス管理ＤＢ２４にシリアルナンバーとセッションＩＤとをペアで登録する(Ｓ２０４)。
【００５５】
アクティベーションコード発行サーバ２０のライセンスキー暗号部２３は、セッションＩＤをキーとしてアプリケーションプログラムの機能抑制を解除するライセンスキーを暗号化し、アクティベーションコードを生成する(Ｓ２０６)。生成したアクティベーションコードは、ネットワーク５０を介して、ライセンス対象コンピュータ１０に送信される(Ｓ２０７)。
【００５６】
本実施例１では、ライセンス対象コンピュータ１０のインストールプログラムと直接通信し、アクティベーションコードを通知しているが、ＥメールやＦＡＸなどで通知する形態でもよい。また、Ｗｅｂ画面から発行要求を受け付けた場合は、Ｗｅｂ画面上にアクティベーションコードを表示してもよい。
【００５７】
図４は、ライセンス対象コンピュータ１０におけるアプリケーションプログラムのアクティベーション手順を示すフローチャートである。ライセンス対象コンピュータ１０は、アクティベーションコードを受信すると(Ｓ１１１)、コンピュータ固有情報を抽出する(Ｓ１１２)。続いて、暗号化されＨＤＤ１８に保存されているセッションＩＤ１８１を読み込み、コンピュータ固有情報をキーとしてセッションＩＤを復号する(Ｓ１１３)。セッションＩＤの復号に失敗した場合(Ｓ１０４)、アクティベーション処理を中断する(Ｓ１１６)。
【００５８】
暗号化されたセッションＩＤを不正にコピーされたとしても、元々セッションＩＤを生成したコンピュータでなければ、コンピュータ固有情報が異なり、セッションＩＤの復号が不可能なので、アクティベーションの継続を防止できる。
【００５９】
セッションＩＤの復号に成功した場合(Ｓ１０４)、復号したセッションＩＤをキーとして、アクティベーションコードからライセンスキーを復号する(Ｓ１１６)。ライセンスキーの復号に失敗した場合(Ｓ１０７)、アクティベーション処理を中断する。アクティベーションコードを不正に入手しても、暗号キーとなるセッションＩＤが異なるので、ライセンスキーが得られない。したがって、アクティベーションコードの不正流用を防止できる。
【００６０】
復号に成功した場合(Ｓ１０７)、得られたライセンスキーは、コンピュータ固有情報をキーとして、再度暗号化し、ＨＤＤ１８に保存する。
【００６１】
図５は、ライセンス対象コンピュータ１０におけるライセンス認証手順を示すフローチャートである。
【００６２】
ユーザが、アプリケーションプログラム１９を起動すると(Ｓ１２１)、コンピュータ固有情報を抽出し(Ｓ１２２)、暗号化されたライセンスキー１８２を復号する(Ｓ１２３)。ライセンスキー１８２の復号に失敗した場合(Ｓ１２４)、処理を中断する(Ｓ１２５)。
【００６３】
復号失敗の第１の原因は、アクティベーション処理が未完了で、ライセンスキーが存在しないことである。第１の原因の場合は、ライセンスキーを取得するように促すガイダンスを表示する。
【００６４】
復号失敗の第２の原因は、アクティベーションの完了したコンピュータから、ライセンスキーを不正にコピーしたことである。第２の原因の場合は、暗号キーであるコンピュータ固有情報が異なるので、復号に失敗する。
【００６５】
復号に成功した場合(Ｓ１２４)、アプリケーションプログラム１９の抑制された機能への制限を解除する。
【００６６】
機能制限およびその解除方法としては、例えば、アプリケーションプログラムの実行コード中にライセンスキーを埋め込み、プログラム中で照合する方法がある。
【００６７】
また、アプリケーションプログラム動作のために必要な一部の実行モジュールや定義ファイルなどがライセンスキーで予め暗号化されており、プログラム実行時に得られたライセンスキーで復号する方法もある。
【実施例２】
【００６８】
図６は、本発明により複数台のコンピュータにライセンスを認証するライセンス認証システムの系統構成を示すブロック図である。
【００６９】
本実施例２のライセンス認証システムは、ソフトウエアをインストールするライセンス対象コンピュータ１０と、アクティベーションコード発行サーバ２０とからなり、ネットワーク５０により接続されている。ライセンス対象コンピュータ１０は、ＰＣ１〜ＰＣＮのＮ台有り、相互に接続されている。ライセンス対象コンピュータ１０は、パーソナルコンピュータＰＣに限らず、ワークステーションやサーバなどの場合もある。
【００７０】
インストールに際しては、複数台のコンピュータにインストール可能ないわゆるボリュームラインセンス版のインストールプログラムおよびライセンス対象アプリケーションプログラムを記録した記録媒体３０と、記録媒体３０に付帯しライセンサから提供されるシリアルナンバー４０とが必要になる。
【００７１】
個々のライセンス対象コンピュータ１０であるＰＣ１〜ＰＣＮは、実施例１と変わらず、セッションＩＤ生成部１１と、アクティベーションコード発行サーバ２０にアクティベーションコードの発行を要求する発行要求部１２と、ライセンスキー復号部１３と、ライセンスキー照合部１４と、暗号部１５と、復号部１６と、ＰＣ固有情報抽出部１７、ＨＤＤ１８と、インストールされたアプリケーションプログラム１９の格納部とを含んでいる。
【００７２】
アプリケーションコード発行サーバ２０も、実施例１と同様に、ライセンスキーの発行要求を受け付ける発行受付部２１と、シリアルキー登録照合部２２と、ライセンスキー暗号部２３と、シリアルナンバーとセッションＩＤとをペアで登録するライセンス管理データベース２４とを含んでいる。
【００７３】
次に、アプリケーションプログラムを複数のライセンス対象コンピュータ１０にインストールし、ライセンス認証を受け、ライセンスされたアプリケーションプログラムを有効にする手順の一例を説明する。
【００７４】
１台目のライセンス対象コンピュータＰＣ１でセッションＩＤのＳ１を生成し、これをライセンス対象コンピュータＰＣ２に入力する。セッションＩＤのＳ１には、累積インストール台数１が付加されている。続いて、ライセンス対象コンピュータＰＣ２に対応するセッションＩＤのＳ２を生成する。セッションＩＤのＳ２には、セッションＩＤのＳ１の累積インストール台数に１を加算した結果２が付加される。
【００７５】
このようにして、ライセンス対象コンピュータＰＣＮまで、セッションＩＤの入力と生成とを順次繰り返し、最終的に、ライセンス対象コンピュータＰＣＮに対応するセッションＩＤのＳＮを得る。セッションＩＤのＳＮには、シリアルナンバーと累積インストール台数Ｎとが付加されている。
【００７６】
ライセンス対象コンピュータＰＣＮがセッションＩＤのＳＮをライセンサのアクティベーションコード発行サーバ２０に送信すると、アクティベーションコード発行サーバ２０は、顧客サイトにおけるライセンス対象コンピュータの台数を把握できる。アクティベーションコード発行サーバ２０は、その台数が契約ライセンス数の制限内であれば、ライセンス対象コンピュータＰＣＮのアクティベーションコードＡＮを発行する。
【００７７】
ユーザは、アクティベーションコードＡＮをライセンス対象コンピュータＮに入力し、ライセンスの認証を受ける。ライセンス対象コンピュータＰＣＮが正規であり、ライセンス認証が成功すれば、ライセンス対象コンピュータＰＣＮのインストーラが、ライセンス対象コンピュータＰＣＮ−１のアクティベーションコードＡＮ−１を発行し、ライセンス対象コンピュータＰＣＮ−１のライセンスを認証させる。
【００７８】
この手順を繰り返し、セッションＩＤを生成したときとは逆順に、ライセンス対象コンピュータＰＣＮ−１、ライセンス対象コンピュータＰＣＮ−２，ＰＣＮ−３，…，…，ライセンス対象コンピュータ１まで、ライセンスを認証させる。アクティベーションコードの発行は、各ライセンス対象コンピュータで１台に限られるので、セッションＩＤの連鎖から漏れたコンピュータへのインストールを防止できる。
【００７９】
本実施例２によれば、アクティベーションコード発行サーバ２０側からみれば、１台のライセンス対象コンピュータのアクティベーションのみで、契約ライセンス数の制限内で複数台のコンピュータにライセンスを認証できる。
【図面の簡単な説明】
【００８０】
【図１】本発明により１台のコンピュータにライセンスを認証するライセンス認証システムの系統構成を示すブロック図である。
【図２】ライセンス対象コンピュータ１０がアクティベーションコードの発行を要求する処理手順を示すフローチャートである。
【図３】アクティベーションコード発行サーバ２０の処理手順の一例を示すフローチャートである。
【図４】ライセンス対象コンピュータ１０におけるアプリケーションプログラムのアクティベーション手順を示すフローチャートである。
【図５】ライセンス対象コンピュータ１０におけるライセンス認証手順を示すフローチャートである。
【図６】本発明により複数台のコンピュータにライセンスを認証するライセンス認証システムの系統構成を示すブロック図である。
【符号の説明】
【００８１】
１０  ライセンス対象コンピュータ
１１  セッションＩＤ生成部
１２  アクティベーションコードの発行要求部
１３  ライセンスキー復号部
１４  ライセンスキー照合部
１５  暗号部
１６  復号部
１７  ＰＣ固有情報抽出部
１８  ＨＤＤ
１８１  セッションＩＤ
１８２  ライセンスキー
１９  アプリケーションプログラム
２０  アクティベーションコード発行サーバ
２１  発行受付部
２２  シリアルキー登録照合部
２３  ライセンスキー暗号部
２４  ライセンス管理データベース
３０  記録媒体
４０シリアルナンバー  
５０  ネットワーク
【図１】
2008021021.tif 000003
【図２】
2008021021.tif 000004
【図３】
2008021021.tif 000005
【図４】
2008021021.tif 000006
【図５】
2008021021.tif 000007
【図６】
2008021021.tif 000008