説明

ソフトウエアのライセンス認証方法

【課題】 プライバシーの侵害につながりかねないコンピュータ固有情報をライセンサに連絡することなく、不正利用を確実に防止可能なソフトウエアのライセンス認証方法を提供する。
【解決手段】 ライセンス対象コンピュータ10が、インストールされたソフトウエアの機能を制限する手順と、ライセンス対象コンピュータ10のハードウエア構成要素からコンピュータを一意に識別可能なコンピュータ固有情報を抽出する手順17と、インストールのセッションごとにセッションIDをランダムに生成する手順11と、セッションIDをキーにコンピュータ固有情報を暗号化し(15)、コンピュータ内の記憶域18に保存する手順と、セッションIDとシリアルナンバーとをライセンサに送信しライセンスキーの発行を要求する手順12とを含むソフトウエアのライセンス認証方法。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パーソナルコンピュータ(PC)などのコンピュータへのソフトウエアのライセンス認証方法に係り、特に、ライセンスを認証する際にプライバシー保護と不正コピー防止とを両立させる手段に関する。
【背景技術】
【0002】
従来、ライセンサから提供されたライセンスキーをインストールプログラムに入力し、キーの正当性をインストールプログラムがチェックする認証方法が一般的であった。
【0003】
しかし、ライセンスキーは、一旦発行されると、ライセンサ側で管理できず、無制限に流用可能となってしまう。その結果、契約台数以上のコンピュータにソフトウエアを容易にインストールされてしまうという問題があった。
【0004】
ライセンスキーをハードウエアデバイスとして提供し、ソフトウエア利用のたびにハードウエアデバイス内のライセンス情報をチェックして認証する方法もある。
【0005】
しかし、コスト高である上に、ハードウエアデバイスを接続するためのインタフェースがコンピュータ側に必要になるという制約があり、広く普及するには至っていない。
【0006】
そこで、コンピュータ固有情報によりライセンスを認証する方法が提案された。インストール作業に先立ちインストール対象のコンピュータ固有情報(例えば、コンピュータのハードウエア情報やIPアドレスなどコンピュータごとに固有の値を持つ情報)およびソフトウエアに付帯するシリアルナンバーをライセンサに送信する。ライセンサは、シリアルナンバーが正当なものであるか照合し、問題が無ければ、コンピュータ固有情報をキーにライセンスキーを暗号化したアクティベーションコードを返信する。アクティベーションコードをインストールプログラムに入力すると、正規のコンピュータであれば、自身のコンピュータ固有情報でライセンスキーを復号でき、ソフトウエアのインストール作業が完了する。
【0007】
この方法によれば、たとえコンピュータソフトウエアを構成するファイルを丸ごと他のコンピュータにコピーされた場合でも、ソフトウエア起動ごとにランセンスキーの復号を試行しライセンスを認証するので、不正利用を防止できる。また、シリアルナンバーとコンピュータ固有情報のペアがライセンサ側で管理され、シリアルナンバーを流用したアクティベーションコードの再発行を防止できるとされている。
【0008】
アクティベーションコードの発行方法には、ライセンス認証サーバを用いる方法(例えば、特許文献1参照)や、ICカードにアクティベーションコードの発行機能とコンピュータ固有情報の保持機能とを持たせる方法(例えば、特許文献2参照)が提案されている。
【0009】
ライセンスサーバ自体の不正設置を防止する方法として、ルートサーバでサーバ証明書を発行し、アクティベーションコードの発行に際しルートサーバでの認証を必要とする方法が提案されている(例えば、特許文献3参照)。
【0010】
OSのオリジナルナンバー,ハードディスクの製造ナンバー,ネットワークカードのMACアドレスなどのユーザのコンピュータ固有のID情報を取得してユーザマシンIDおよび通知用IDを生成し、ライセンサに通知し、ライセンサが認証パスワードを発行する方法が提案されている(例えば、特許文献4参照)。
【0011】
【特許文献1】特開2000−207199号公報(第4〜5頁 図1〜図4)
【特許文献2】特開2005−122283号公報(第8〜10頁 図3,図4)
【特許文献3】特開2004−206435号公報(第8〜11頁 図1〜図6)
【特許文献4】特開2004−171500号公報(第3〜4頁 図1〜図4)
【発明の開示】
【発明が解決しようとする課題】
【0012】
特許文献1の方法では、コンピュータ固有情報をライセンサに連絡する必要があり、ユーザにとってはプライバシー保護の観点から抵抗感がある。また、ライセンスを認証する全コンピュータについてアクティベーションコードの発行手続きをとらなければならず、手間がかかる。この手間を削減するために、顧客サイト側にアクティベーションコードを発行する機能を備えたローカルなライセンス認証サーバを設置する方法がある。
【0013】
しかし、この方法では、サーバ導入コストおよび管理コストが発生してしまう。さらに、サーバ自体の不正設置を防止できない。
【0014】
特許文献2の方法では、特殊なハードウエアデバイスとその接続インタフェースがコンピュータに必要であり、コストアップとなる。
【0015】
特許文献3の方法では、デジタル証明書を含めてコピーされた場合、例えば、HDDイメージ全体を他のサーバにコピーされた場合は、不正を検知できない。
【0016】
特許文献4の方法では、通知用IDを送る際に、ユーザ名,居住地,電話番号,生年月日,年齢,職業などの他の情報も併せて送らせ、ライセンサが、ユーザへの認証パスワードの発行のみならず、ユーザ情報のデータベースを作成することも可能であるとしている。この方法では、ユーザの情報が第三者の手元に蓄積されることになり、近時のプライバシー保護への傾向に逆行するばかりか、ライセンサにとっても、その情報の機密保持や機密漏洩時の賠償などに多大の労力と費用とを必要とする。
【0017】
さらに、アクティベーションコードの発行要求は、ライセンス契約したコンピュータ台数分必要であり、全コンピュータ台数についてのハードウエア固有情報をライセンサに通知しなければならなかった。
【0018】
本発明の第1の課題は、プライバシーの侵害につながりかねないコンピュータ固有情報をライセンサに連絡することなく、不正利用を確実に防止可能なソフトウエアのライセンス認証方法を提供することである。
【0019】
本発明の第2の課題は、複数台のコンピュータに関するコンピュータ固有情報の全てをライセンサに連絡しなくても、複数台のコンピュータにおける不正利用を確実に防止可能なソフトウエアのライセンス認証方法を提供することである。
【課題を解決するための手段】
【0020】
本発明は、上記第1の課題を解決するために、ライセンス対象コンピュータが、インストールされたソフトウエアの機能を制限する手順と、前記コンピュータのハードウエア構成要素から前記コンピュータを一意に識別可能なコンピュータ固有情報を抽出する手順と、インストールのセッションごとにセッションIDをランダムに生成する手順と、セッションIDをキーに前記コンピュータ固有情報を暗号化し前記コンピュータ内の記憶域に保存する手順と、セッションIDとシリアルナンバーとをライセンサに送信しライセンスキーの発行を要求する手順とを含むソフトウエアのライセンス認証方法を提案する。
【0021】
本発明は、上記第2の課題を解決するために、互いに接続された複数のライセンス対象コンピュータが、それぞれにインストールされたソフトウエアの機能を制限する手順と、前記コンピュータのハードウエア構成要素から前記コンピュータを一意に識別可能なコンピュータ固有情報を抽出する手順と、自身のセッションID生成前にそれ以前に接続された他のコンピュータのセッションIDの入力を受け付ける手順と、インストールのセッションごとに自身のセッションIDをランダムに生成する手順と、自身のセッションIDをキーに前記コンピュータ固有情報を暗号化し前記コンピュータ内の記憶域に保存する手順と、自身のセッションIDとシリアルナンバーとをライセンサに送信しライセンスキーの発行を要求する手順とを含み、前記ライセンサが、シリアルナンバーとセッションIDとを一対として登録管理するライセンス管理データベースを有し、未登録シリアルナンバーに対するライセンスキーの発行要求に応じてソフトウエア機能の制限を解除するためのライセンスキーを前記複数のライセンス対象コンピュータのうち最後のコンピュータのセッションIDで暗号化しアクティベーションコードを生成する手順と、アクティベーションコードを前記最後のコンピュータに送信する手順とを含み、前記最後のコンピュータが、暗号化され当該コンピュータ内の記憶域に保存されたセッションIDをコンピュータ固有情報で復号する手順と、セッションIDの復号に失敗した場合は不正コピーされたと判定する手順と、セッションIDの復号に成功した場合はセッションIDでアクティベーションコードからライセンスキーを復号する手順と、ライセンスキーの復号に失敗した場合は不正なライセンスキーを使用したと判定する手順と、ライセンスキーの復号に成功した場合は正規なコンピュータでのアクティベーションであると判断し、ソフトウエアの機能の制限を解除する手順とを含み、互いに接続された複数のライセンス対象コンピュータが、前記最後のコンピュータのライセンスを認証されたらその直前のライセンス対象コンピュータのアクティベーションコードを逆順に発行し、ライセンス認証を繰り返す手順を含むソフトウエアのライセンス認証方法を提案する。
【0022】
本発明においては、ライセンス付与時にコンピュータ個体を識別する照合キーをコンピュータ固有情報から分離し、照合キーの利用にコンピュータ固有情報を必要とする。ライセンスに際しては、プライバシー保護上問題となるコンピュータ固有情報をやりとりせずに、照合キーを送信する。本発明では、この照合キーとして、インストールセッションごとにユニークなセッションIDを生成して用いる。
【0023】
ここで、インストールセッションとは、コンピュータにソフトウエアをインストールし、機能を有効化するまでの一連の行為をいう。同一コンピュータに対する同一ソフトウエアのインストールであっても、インストールを一旦中断した後に再開したり、再インストールしたりする場合は、行為が一連でないので、異なるセッションと見なす。
【0024】
ソフトウエアをインストールしたコンピュータでは、インストールプログラムによりセッションIDが生成される。セッションIDは、コンピュータ固有情報により暗号化されてコンピュータの記憶域に保存されるので、暗号化されたセッションIDを含むソフトウエア全体を別のコンピュータにコピーした場合でも、コピー先のコンピュータではセッションIDを復号できないことになり、セッションを継続するコンピュータの一意性が確保される。
【0025】
インストールプログラムは、アクティベーションコードの発行を要求するために、生成したセッションIDとシリアルナンバーとをライセンサに送信する。ネットワークを介してインストールプログラムから自動的に送信しても、FAX,Eメールに転記して送信してもよい。
【0026】
セッションIDとシリアルナンバーとを受信したライセンサは、受信したシリアルナンバーがライセンスデータベースに登録済みでないかをチェックする。登録済みのシリアルナンバーが不正に流用されライセンスキーの発行を要求してきた場合は、ライセンスキーの重複発行を防止できる。
【0027】
シリアルナンバーが登録されていなければ、シリアルナンバーとセッションIDとのペアをライセンス管理データベースに登録し、セッションIDでライセンスキーを暗号化しアクティベーションコードを生成する。アクティベーションコードは、ネットワークを介してインストールプログラムに直接送信しても、FAX,Eメールに転記して送信してもよい。
【0028】
ライセンス対象コンピュータにおいては、セッションIDによりアクティベーションコードからライセンスキーが復号されるので、正規なセッションIDを持たないコンピュータではライセンスコードを取得できないことになり、アクティベーションコードの不正流用を防止できる。
【0029】
ライセンスキーは、コンピュータ固有情報により再暗号化され、ライセンス対象コンピュータ内の記憶域に保存される。
【0030】
ソフトウエアの起動には、コンピュータ固有情報によるライセンスキーの復号を必要とする。したがって、アクティベーション後のコンピュータからライセンスキーの情報を含むソフトウエア全体を不正にコピーしても、ライセンスキーを復号できず、不正利用を防止できる。
【0031】
本発明においては、複数台のコンピュータにインストールする際は、セッションIDが連鎖的に生成される。アクティベーション発行要求は、最終コンピュータのみで送信すればよく、最終コンピュータのライセンス認証完了によって、セッションIDの生成とは逆順に他のコンピュータもランセンスを連鎖的に認証される。セッションIDには最終的なインストール台数が含まれており、ライセンサ側ではライセンス数と実際のインストール数とを照合し確認できる。また、アクティベーションコードを発行できるのは1台コンピュータにつき別の1台のみであるから、連鎖から外れたコンピュータはライセンス認証が得られず、不正インストールを防止できる。
【0032】
悪意のある第3者が適当なシリアルナンバーとセッションIDとのペアでアクティベーションコードの発行要求を試み、たまたま正規なシリアルナンバーを入力してしまうことも想定される。この場合、本発明では、セッションIDにはシリアルナンバーのメッセージダイジェストを含めることもでき、セッションIDがインストールプログラムによって正規の手続きで生成されたものかを検証できる。これによって、正規のシリアルナンバー保持者のアクティベーションコード発行を妨害されることはない。
【発明の効果】
【0033】
本発明によれば、シリアルナンバー,アクティベーションコードの流用による不正インストールを防止できる。また、正規にライセンスされたコンピュータからソフトウエアを不正にコピーしても、その利用を阻止できる。 これらの防御機能を実現するに際して、コンピュータ固有情報をライセンサに提供する必要が無く、ユーザのプライバシーが保護される。
【0034】
さらに、複数台のコンピュータへのインストールに際しても、1回のアクティベーションコードの発行手続きで済み、煩わしさが軽減される。
【発明を実施するための最良の形態】
【0035】
次に、図1〜図6を参照して、本発明によるソフトウエアのライセンス認証方法の実施例を説明する。
【実施例1】
【0036】
図1は、本発明により1台のコンピュータにライセンスを認証するライセンス認証システムの系統構成を示すブロック図である。
【0037】
本実施例1のライセンス認証システムは、ソフトウエアをインストールするライセンス対象コンピュータ10と、アクティベーションコード発行サーバ20とからなり、ネットワーク50により接続されている。ライセンス対象コンピュータ10は、パーソナルコンピュータPCに限らず、ワークステーションやサーバなどの場合もある。
【0038】
インストールに際しては、インストールプログラムおよびライセンス対象アプリケーションプログラムを記録した記録媒体30と、記録媒体30に付帯しライセンサから提供されるシリアルナンバー40とが必要になる。
【0039】
ライセンス対象コンピュータ10は、セッションID生成部11と、アクティベーションコード発行サーバ20にアクティベーションコードの発行を要求する発行要求部12と、ライセンスキー復号部13と、ライセンスキー照合部14と、暗号部15と、復号部16と、PC固有情報抽出部17、HDD18と、インストールされたアプリケーションプログラム19の格納部とを含んでいる。
【0040】
アプリケーションコード発行サーバ20は、ライセンスキーの発行要求を受け付ける発行受付部21と、シリアルキー登録照合部22と、ライセンスキー暗号部23と、シリアルナンバーとセッションIDとをペアで登録するライセンス管理データベース24とを含んでいる。
【0041】
次に、アプリケーションプログラムをライセンス対象コンピュータ10にインストールし、ライセンス認証を受け、ライセンスされたアプリケーションプログラムを有効にする手順の一例を説明する。
【0042】
図2は、ライセンス対象コンピュータ10がアクティベーションコードの発行を要求する処理手順を示すフローチャートである。
【0043】
アプリケーションプログラムユーザは、記録媒体30からインストールプログラムを起動する(S100)。インストールプログラムの指示に従い、シリアルナンバーを入力すると(S101)、アプリケーションプログラム19を構成するモジュールが記録媒体30からライセンス対象コンピュータ10にコピーされる(S102)。
【0044】
なお、アプリケーションプログラム19の動作にライセンス対象コンピュータ10のシステムファイルを変更する必要がある場合は、その変更も併せて実施する。また、本実施例1においては、インストールプログラムおよびアプリケーションプログラムを記録媒体30で提供する形態を示しているが、ネットワークを介してダウンロードする形態であってもよい。
【0045】
セッションID生成部11が、インストールセッションごとにユニークなコードとしてセッションIDを生成する(S103)。このようにユニークなセッションIDの生成には、インストール開始時点の時刻とシリアルナンバーのメッセージダイジェストとを組み合わせ、インストールプログラム19に内蔵された秘密鍵を用いて暗号化しコードを生成する方法がある。コンピュータのシステム時刻にはミリ秒程度の分解能があるので、インストール作業にかかる時間スケールと比較すると、十分にユニークなセッションIDを生成できる。
【0046】
メッセージダイジェストとは、原文から所定のアルゴリズムで生成される固定長の擬似乱数列であり、不可逆で原文を再現できないので、同じメッセージダイジェストを生成する2つの原文を見つけることが不可能という性質を持つ。このようなアルゴリズムには、MD5やSHAがある。
【0047】
コンピュータ固有抽出情報部17が、コンピュータ固有の情報を抽出し、コンピュータ固有抽出情報とする(S104)。コンピュータ固有抽出情報には、イーサネット(登録商標)LANインタフェースのMACアドレスやプロセッサコードとなどのコンピュータを構成する部品に割り当てられた固有識別番号を利用できる。
【0048】
暗号部15は、コンピュータ固有抽出情報をキーとして、セッションIDを暗号化する。結果の暗号は、ライセンス対象コンピュータ10内のHDD18に保存する(S105)。
【0049】
発行要求部12は、ネットワーク50を介して、シリアルナンバーとセッションIDとをアクティベーションコード発行サーバ20に送信し、アクティベーションコードの発行を要求する(S106)。
【0050】
インストールプログラムの機能によっては、アクティベーションコード発行サーバ20と直接通信する本実施例とは異なり、ライセンス対象コンピュータ10をネットワーク50に接続できない利用状態も想定される。この場合は、ライセンス対象コンピュータ10のディスプレイ上にセッションIDを表示し、ユーザがEメール,FAX,電話などの手段を用いてライセンサに通知する形態でもよい。
【0051】
また、アクティベーションコード発行サーバ20は、インターネット上にWebサーバとして公開され、Web画面からセッションIDとライセンスナンバーとを入力し、アクティベーションコードの発行を要求する形態でもよい。
【0052】
図3は、アクティベーションコード発行サーバ20の処理手順の一例を示すフローチャートである。
【0053】
アクティベーションコード発行サーバ20は、シリアルナンバーとセッションIDとを受信する(S201)。アクティベーションコード発行サーバ20のシリアルキー登録照合部22は、シリアルナンバーとセッションIDとがライセンス管理DB24に登録済みか否かをチェックする(S202)。セッションIDが登録済みであれば、シリアルナンバーが不正に流用されたと判断し(S203)、アクティベーションコードの発行処理を中断する(S205)。この場合は、ネットワーク50を介して、ライセンス対象コンピュータ10にメッセージを送信し、ユーザに不正流用である旨を通知する。
【0054】
アクティベーションコード発行サーバ20のシリアルキー登録照合部22は、セッションIDが未登録であれば、アクティベーションコード発行の正当な要求であると推定し(S203)、ライセンス管理DB24にシリアルナンバーとセッションIDとをペアで登録する(S204)。
【0055】
アクティベーションコード発行サーバ20のライセンスキー暗号部23は、セッションIDをキーとしてアプリケーションプログラムの機能抑制を解除するライセンスキーを暗号化し、アクティベーションコードを生成する(S206)。生成したアクティベーションコードは、ネットワーク50を介して、ライセンス対象コンピュータ10に送信される(S207)。
【0056】
本実施例1では、ライセンス対象コンピュータ10のインストールプログラムと直接通信し、アクティベーションコードを通知しているが、EメールやFAXなどで通知する形態でもよい。また、Web画面から発行要求を受け付けた場合は、Web画面上にアクティベーションコードを表示してもよい。
【0057】
図4は、ライセンス対象コンピュータ10におけるアプリケーションプログラムのアクティベーション手順を示すフローチャートである。ライセンス対象コンピュータ10は、アクティベーションコードを受信すると(S111)、コンピュータ固有情報を抽出する(S112)。続いて、暗号化されHDD18に保存されているセッションID181を読み込み、コンピュータ固有情報をキーとしてセッションIDを復号する(S113)。セッションIDの復号に失敗した場合(S104)、アクティベーション処理を中断する(S116)。
【0058】
暗号化されたセッションIDを不正にコピーされたとしても、元々セッションIDを生成したコンピュータでなければ、コンピュータ固有情報が異なり、セッションIDの復号が不可能なので、アクティベーションの継続を防止できる。
【0059】
セッションIDの復号に成功した場合(S104)、復号したセッションIDをキーとして、アクティベーションコードからライセンスキーを復号する(S116)。ライセンスキーの復号に失敗した場合(S107)、アクティベーション処理を中断する。アクティベーションコードを不正に入手しても、暗号キーとなるセッションIDが異なるので、ライセンスキーが得られない。したがって、アクティベーションコードの不正流用を防止できる。
【0060】
復号に成功した場合(S107)、得られたライセンスキーは、コンピュータ固有情報をキーとして、再度暗号化し、HDD18に保存する。
【0061】
図5は、ライセンス対象コンピュータ10におけるライセンス認証手順を示すフローチャートである。
【0062】
ユーザが、アプリケーションプログラム19を起動すると(S121)、コンピュータ固有情報を抽出し(S122)、暗号化されたライセンスキー182を復号する(S123)。ライセンスキー182の復号に失敗した場合(S124)、処理を中断する(S125)。
【0063】
復号失敗の第1の原因は、アクティベーション処理が未完了で、ライセンスキーが存在しないことである。第1の原因の場合は、ライセンスキーを取得するように促すガイダンスを表示する。
【0064】
復号失敗の第2の原因は、アクティベーションの完了したコンピュータから、ライセンスキーを不正にコピーしたことである。第2の原因の場合は、暗号キーであるコンピュータ固有情報が異なるので、復号に失敗する。
【0065】
復号に成功した場合(S124)、アプリケーションプログラム19の抑制された機能への制限を解除する。
【0066】
機能制限およびその解除方法としては、例えば、アプリケーションプログラムの実行コード中にライセンスキーを埋め込み、プログラム中で照合する方法がある。
【0067】
また、アプリケーションプログラム動作のために必要な一部の実行モジュールや定義ファイルなどがライセンスキーで予め暗号化されており、プログラム実行時に得られたライセンスキーで復号する方法もある。
【実施例2】
【0068】
図6は、本発明により複数台のコンピュータにライセンスを認証するライセンス認証システムの系統構成を示すブロック図である。
【0069】
本実施例2のライセンス認証システムは、ソフトウエアをインストールするライセンス対象コンピュータ10と、アクティベーションコード発行サーバ20とからなり、ネットワーク50により接続されている。ライセンス対象コンピュータ10は、PC1〜PCNのN台有り、相互に接続されている。ライセンス対象コンピュータ10は、パーソナルコンピュータPCに限らず、ワークステーションやサーバなどの場合もある。
【0070】
インストールに際しては、複数台のコンピュータにインストール可能ないわゆるボリュームラインセンス版のインストールプログラムおよびライセンス対象アプリケーションプログラムを記録した記録媒体30と、記録媒体30に付帯しライセンサから提供されるシリアルナンバー40とが必要になる。
【0071】
個々のライセンス対象コンピュータ10であるPC1〜PCNは、実施例1と変わらず、セッションID生成部11と、アクティベーションコード発行サーバ20にアクティベーションコードの発行を要求する発行要求部12と、ライセンスキー復号部13と、ライセンスキー照合部14と、暗号部15と、復号部16と、PC固有情報抽出部17、HDD18と、インストールされたアプリケーションプログラム19の格納部とを含んでいる。
【0072】
アプリケーションコード発行サーバ20も、実施例1と同様に、ライセンスキーの発行要求を受け付ける発行受付部21と、シリアルキー登録照合部22と、ライセンスキー暗号部23と、シリアルナンバーとセッションIDとをペアで登録するライセンス管理データベース24とを含んでいる。
【0073】
次に、アプリケーションプログラムを複数のライセンス対象コンピュータ10にインストールし、ライセンス認証を受け、ライセンスされたアプリケーションプログラムを有効にする手順の一例を説明する。
【0074】
1台目のライセンス対象コンピュータPC1でセッションIDのS1を生成し、これをライセンス対象コンピュータPC2に入力する。セッションIDのS1には、累積インストール台数1が付加されている。続いて、ライセンス対象コンピュータPC2に対応するセッションIDのS2を生成する。セッションIDのS2には、セッションIDのS1の累積インストール台数に1を加算した結果2が付加される。
【0075】
このようにして、ライセンス対象コンピュータPCNまで、セッションIDの入力と生成とを順次繰り返し、最終的に、ライセンス対象コンピュータPCNに対応するセッションIDのSNを得る。セッションIDのSNには、シリアルナンバーと累積インストール台数Nとが付加されている。
【0076】
ライセンス対象コンピュータPCNがセッションIDのSNをライセンサのアクティベーションコード発行サーバ20に送信すると、アクティベーションコード発行サーバ20は、顧客サイトにおけるライセンス対象コンピュータの台数を把握できる。アクティベーションコード発行サーバ20は、その台数が契約ライセンス数の制限内であれば、ライセンス対象コンピュータPCNのアクティベーションコードANを発行する。
【0077】
ユーザは、アクティベーションコードANをライセンス対象コンピュータNに入力し、ライセンスの認証を受ける。ライセンス対象コンピュータPCNが正規であり、ライセンス認証が成功すれば、ライセンス対象コンピュータPCNのインストーラが、ライセンス対象コンピュータPCN−1のアクティベーションコードAN−1を発行し、ライセンス対象コンピュータPCN−1のライセンスを認証させる。
【0078】
この手順を繰り返し、セッションIDを生成したときとは逆順に、ライセンス対象コンピュータPCN−1、ライセンス対象コンピュータPCN−2,PCN−3,…,…,ライセンス対象コンピュータ1まで、ライセンスを認証させる。アクティベーションコードの発行は、各ライセンス対象コンピュータで1台に限られるので、セッションIDの連鎖から漏れたコンピュータへのインストールを防止できる。
【0079】
本実施例2によれば、アクティベーションコード発行サーバ20側からみれば、1台のライセンス対象コンピュータのアクティベーションのみで、契約ライセンス数の制限内で複数台のコンピュータにライセンスを認証できる。
【図面の簡単な説明】
【0080】
【図1】本発明により1台のコンピュータにライセンスを認証するライセンス認証システムの系統構成を示すブロック図である。
【図2】ライセンス対象コンピュータ10がアクティベーションコードの発行を要求する処理手順を示すフローチャートである。
【図3】アクティベーションコード発行サーバ20の処理手順の一例を示すフローチャートである。
【図4】ライセンス対象コンピュータ10におけるアプリケーションプログラムのアクティベーション手順を示すフローチャートである。
【図5】ライセンス対象コンピュータ10におけるライセンス認証手順を示すフローチャートである。
【図6】本発明により複数台のコンピュータにライセンスを認証するライセンス認証システムの系統構成を示すブロック図である。
【符号の説明】
【0081】
10 ライセンス対象コンピュータ
11 セッションID生成部
12 アクティベーションコードの発行要求部
13 ライセンスキー復号部
14 ライセンスキー照合部
15 暗号部
16 復号部
17 PC固有情報抽出部
18 HDD
181 セッションID
182 ライセンスキー
19 アプリケーションプログラム
20 アクティベーションコード発行サーバ
21 発行受付部
22 シリアルキー登録照合部
23 ライセンスキー暗号部
24 ライセンス管理データベース
30 記録媒体
40シリアルナンバー
50 ネットワーク

【特許請求の範囲】
【請求項1】
ライセンス対象コンピュータが、インストールされたソフトウエアの機能を制限する手順と、
前記コンピュータのハードウエア構成要素から前記コンピュータを一意に識別可能なコンピュータ固有情報を抽出する手順と、
インストールのセッションごとにセッションIDをランダムに生成する手順と、
セッションIDをキーに前記コンピュータ固有情報を暗号化し前記コンピュータ内の記憶域に保存する手順と、
セッションIDとシリアルナンバーとをライセンサに送信しライセンスキーの発行を要求する手順とを含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項2】
請求項1に記載のソフトウエアのライセンス認証方法において、
前記ライセンサが、シリアルナンバーとセッションIDとを一対として登録管理するライセンス管理データベースを有し、
未登録シリアルナンバーに対するライセンスキーの発行要求に応じてソフトウエア機能の制限を解除するためのライセンスキーをセッションIDで暗号化しアクティベーションコードを生成する手順と、
アクティベーションコードを前記ライセンス対象コンピュータに送信する手順とを含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項3】
請求項1または2に記載のソフトウエアのライセンス認証方法において、
前記ライセンス対象コンピュータが、暗号化され当該コンピュータ内の記憶域に保存されたセッションIDをコンピュータ固有情報で復号する手順と、
セッションIDの復号に失敗した場合は不正コピーされたと判定する手順と、
セッションIDの復号に成功した場合はセッションIDでアクティベーションコードからライセンスキーを復号する手順と、
ライセンスキーの復号に失敗した場合は不正なライセンスキーを使用したと判定する手順と、
ライセンスキーの復号に成功した場合は正規なコンピュータでのアクティベーションであると判断し、ソフトウエアの機能の制限を解除する手順とを含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項4】
請求項3に記載のソフトウエアのライセンス認証方法において、
前記ライセンス対象コンピュータが、復号したライセンスキーをコンピュータ固有情報で暗号化し前記コンピュータ内の記憶域に保存する手順と、
ソフトウエアの利用時にコンピュータ固有情報でライセンスキーを復号する手順と、
ライセンスキーの復号に失敗した場合は不正コピーされたと判定しソフトウエアの機能を抑制する手順とを含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項5】
ライセンス対象コンピュータが、インストールされたソフトウエアの機能を制限する手順と、前記コンピュータのハードウエア構成要素から前記コンピュータを一意に識別可能なコンピュータ固有情報を抽出する手順と、インストールのセッションごとにセッションIDをランダムに生成する手順と、セッションIDをキーに前記コンピュータ固有情報を暗号化し前記コンピュータ内の記憶域に保存する手順と、セッションIDとシリアルナンバーとをライセンサに送信しライセンスキーの発行を要求する手順とを含み、
前記ライセンサが、シリアルナンバーとセッションIDとを一対として登録管理するライセンス管理データベースを有し、未登録シリアルナンバーに対するライセンスキーの発行要求に応じてソフトウエア機能の制限を解除するためのライセンスキーをセッションIDで暗号化しアクティベーションコードを生成する手順と、アクティベーションコードを前記ライセンス対象コンピュータに送信する手順とを含み、
前記ライセンス対象コンピュータが、暗号化され当該コンピュータ内の記憶域に保存されたセッションIDをコンピュータ固有情報で復号する手順と、セッションIDの復号に失敗した場合は不正コピーされたと判定する手順と、セッションIDの復号に成功した場合はセッションIDでアクティベーションコードからライセンスキーを復号する手順と、ライセンスキーの復号に失敗した場合は不正なライセンスキーを使用したと判定する手順と、ライセンスキーの復号に成功した場合は正規なコンピュータでのアクティベーションであると判断し、ソフトウエアの機能の制限を解除する手順とを含み、
前記ライセンス対象コンピュータが、復号したライセンスキーをコンピュータ固有情報で暗号化し前記コンピュータ内の記憶域に保存する手順と、ソフトウエアの利用時にコンピュータ固有情報でライセンスキーを復号する手順と、ライセンスキーの復号に失敗した場合は不正コピーされたと判定しソフトウエアの機能を抑制する手順とを含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項6】
互いに接続された複数のライセンス対象コンピュータが、それぞれにインストールされたソフトウエアの機能を制限する手順と、前記コンピュータのハードウエア構成要素から前記コンピュータを一意に識別可能なコンピュータ固有情報を抽出する手順と、自身のセッションID生成前にそれ以前に接続された他のコンピュータのセッションIDの入力を受け付ける手順と、インストールのセッションごとに自身のセッションIDをランダムに生成する手順と、自身のセッションIDをキーに前記コンピュータ固有情報を暗号化し前記コンピュータ内の記憶域に保存する手順と、自身のセッションIDとシリアルナンバーとをライセンサに送信しライセンスキーの発行を要求する手順とを含み、
前記ライセンサが、シリアルナンバーとセッションIDとを一対として登録管理するライセンス管理データベースを有し、未登録シリアルナンバーに対するライセンスキーの発行要求に応じてソフトウエア機能の制限を解除するためのライセンスキーを前記複数のライセンス対象コンピュータのうち最後のコンピュータのセッションIDで暗号化しアクティベーションコードを生成する手順と、アクティベーションコードを前記最後のコンピュータに送信する手順とを含み、
前記最後のコンピュータが、暗号化され当該コンピュータ内の記憶域に保存されたセッションIDをコンピュータ固有情報で復号する手順と、セッションIDの復号に失敗した場合は不正コピーされたと判定する手順と、セッションIDの復号に成功した場合はセッションIDでアクティベーションコードからライセンスキーを復号する手順と、ライセンスキーの復号に失敗した場合は不正なライセンスキーを使用したと判定する手順と、ライセンスキーの復号に成功した場合は正規なコンピュータでのアクティベーションであると判断し、ソフトウエアの機能の制限を解除する手順とを含み、
互いに接続された複数のライセンス対象コンピュータが、前記最後のコンピュータのライセンスを認証されたらその直前のライセンス対象コンピュータのアクティベーションコードを逆順に発行し、ライセンス認証を繰り返す手順を含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項7】
請求項6に記載のソフトウエアのライセンス認証方法において、
各ライセンス対象コンピュータのセッションIDには、請求項6の情報に加えて累積インストール台数の情報を含み、
それ以前に接続されたコンピュータのセッションIDに含まれる累積インストール台数を抽出して1を加算し、自身が生成するセッションIDに加算結果を付加することを特徴とするソフトウエアのライセンス認証方法。
【請求項8】
請求項6または7に記載のソフトウエアのライセンス認証方法において、
前記ライセンス対象コンピュータが、復号したライセンスキーをコンピュータ固有情報で暗号化し前記コンピュータ内の記憶域に保存する手順と、
ソフトウエアの利用時にコンピュータ固有情報でライセンスキーを復号する手順と、
ライセンスキーの復号に失敗した場合は不正コピーされたと判定しソフトウエアの機能を抑制する手順とを含むことを特徴とするソフトウエアのライセンス認証方法。
【請求項9】
請求項1ないし8のいずれか一項に記載のソフトウエアのライセンス認証方法において、
セッションIDが、シリアルナンバーのメッセージダイジェストを含むことを特徴とするソフトウエアのライセンス認証方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−21021(P2008−21021A)
【公開日】平成20年1月31日(2008.1.31)
【国際特許分類】
【出願番号】特願2006−190673(P2006−190673)
【出願日】平成18年7月11日(2006.7.11)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】