(57)【要約】【課題】ソフトウェアのライセンス管理を公開鍵暗号方式の暗号鍵を用いて行うライセンス管理方法、およびライセンス管理システムを提供する。【解決手段】製品管理サーバ２は、ライセンス秘密鍵２１と識別コードから製品に付される第１のデジタル署名を作成し、ルートサーバ３は、ルート秘密鍵３１とライセンス公開鍵２２から第２のデジタル署名を、アクティベーション公開鍵４２から第３のデジタル署名を作成し、認証サーバ４は、第２のデジタル署名と、ライセンス公開鍵２１の正当性と、第１のデジタル署名と識別コードの正当性を判定し、アクティベーション秘密鍵４１と製品コードと端末コードとから第４のデジタル署名を作成し、ユーザ端末５は、第４のデジタル署名とアクティベーション公開鍵４２の正当性と、第４のデジタル署名と製品識別コードと端末コードとの正当性を判定し、判定結果に基づいて、ソフトウェアの機能制限を解除する。【選択図】      図１
2004206435.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア製品を識別する識別コードを発行する製品管理サーバと、前記識別コードとユーザ端末を識別する端末コードとを含むライセンス情報を記録するデータベースを備え、前記ユーザ端末から送信される情報と前記ライセンス情報とを照合する認証サーバと、認証の基準となるデジタル署名を作成するルートサーバとから構成されるライセンス管理システムにおいて、ユーザ端末にインストールされるソフトウェアのライセンス管理を公開鍵暗号方式の秘密鍵と公開鍵とを用いて行うライセンス管理方法であって、
前記製品管理サーバにおいて、前記製品管理サーバの秘密鍵を用いて、前記識別コードから前記ソフトウェア製品に付される第１のデジタル署名を作成する第１のデジタル署名作成工程と、
前記ルートサーバにおいて、前記製品管理サーバから前記製品管理サーバの公開鍵を取得し、前記ルートサーバの秘密鍵を用いて、前記製品管理サーバの公開鍵から第２のデジタル署名を作成する第２のデジタル署名作成工程と、
前記ルートサーバにおいて、前記認証サーバから前記認証サーバの公開鍵を取得し、前記ルートサーバの秘密鍵を用いて、前記認証サーバの公開鍵から第３のデジタル署名を作成する第３のデジタル署名作成工程と、
前記認証サーバにおいて、前記ルートサーバから取得する前記ルートサーバの公開鍵を用いて前記第２のデジタル署名の正否を判定し、判定結果に基づいて前記製品管理サーバの公開鍵を取得する第１の判定工程と、
前記認証サーバにおいて、前記ユーザ端末から第１のデジタル署名と前記端末コードとを受信すると、前記製品管理サーバの公開鍵を用いて前記第１のデジタル署名の正否を判定し、判定結果に基づいて前記識別コードを取得する第２の判定工程と、
前記認証サーバにおいて、前記識別コードと前記端末コードとを前記データベースに記録されているライセンス情報と照合し、所定の条件に該当する場合は、当該識別コードと当該端末コードとを前記データベースに記録する記録工程と、
前記認証サーバにおいて、前記認証サーバの秘密鍵を用いて、前記製品コードと前記端末コードとから第４のデジタル署名を作成する第４のデジタル署名作成工程と、
前記ユーザ端末において、前記ルートサーバから取得する前記ルートサーバの公開鍵を用いて前記第３のデジタル署名の正否を判定し、判定結果に基づいて前記認証サーバの公開鍵を取得する第３の判定工程と、
前記ユーザ端末において、前記第３の判定工程において取得された前記認証サーバの公開鍵を用いて前記第４のデジタル署名の正否を判定し、判定結果に基づいて前記製品識別コードと前記端末コードを取得する第４の判定工程と、
前記ユーザ端末において、前記第４の判定工程の判定結果に基づいて、前記ソフトウェアの機能制限を解除する制限解除工程と、
を有することを特徴とするライセンス管理方法。
【請求項２】
前記認証サーバは、前記第３のデジタル署名の有効期限を示すサーバ有効期限を有し、
前記第３のデジタル署名作成工程では、前記ルートサーバにおいて、前記認証サーバから前記認証サーバの公開鍵と前記サーバ有効期限とを取得し、前記ルートサーバの秘密鍵を用いて、前記認証サーバの公開鍵と前記サーバ有効期限とから認証サーバのデジタル署名を作成し、
前記第３の判定工程では、前記ユーザ端末において、前記ルートサーバから取得する前記ルートサーバの公開鍵を用いて前記認証サーバのデジタル署名の正否を判定し、前記サーバ有効期限と前記認証サーバの公開鍵とを取得し、
前記第３の判定工程で正当と判定された前記サーバ有効期限と現在の日付とを照合する照合工程を有することを特徴とする請求項１に記載のライセンス管理方法。
【請求項３】
前記認証サーバは、ソフトウェアの使用期限を示すソフト有効期限を有し、
前記第４のデジタル署名作成工程では、認証サーバの秘密鍵を用いて、前記製品コードと前記端末コードと前記ソフト有効期限とから端末のデジタル署名を作成し、
前記第４の判定工程では、前記ユーザ端末において、前記認証サーバから取得する前記認証サーバの公開鍵を用いて前記第４のデジタル署名の正否を判定し、前記製品コードと前記端末コードと前記ソフト有効期限とを取得し、
前記制限解除工程では、前記第４の判定工程で正当と判定された前記ソフト有効期限に基づいて、インストールされた前記ソフトウェアの機能制限を解除することを特徴とする請求項１または請求項２に記載のライセンス管理方法。
【請求項４】
ソフトウェア製品がインストールされるユーザ端末と、前記ソフトウェア製品を識別する識別コードを発行する製品管理サーバと、前記識別コードと前記ユーザ端末を識別する端末コードとを含むライセンス情報を記録するデータベースを備え、前記ユーザ端末から送信される情報と前記ライセンス情報とを照合する認証サーバと、認証の基準となるデジタル署名を作成するルートサーバとから構成されるライセンス管理システムであって、
前記製品管理サーバは、
前記製品管理サーバの秘密鍵を用いて、前記識別コードから前記ソフトウェア製品に付される第１のデジタル署名を作成する第１のデジタル署名作成手段、
を備え、
前記ルートサーバは、
前記製品管理サーバから前記製品管理サーバの公開鍵を取得し、前記ルートサーバの秘密鍵を用いて、前記製品管理サーバの公開鍵から第２のデジタル署名を作成する第２のデジタル署名作成手段と、
前記認証サーバから前記認証サーバの公開鍵を取得し、前記ルートサーバの秘密鍵を用いて、前記認証サーバの公開鍵から第３のデジタル署名を作成する第３のデジタル署名作成手段と、
を備え、
前記認証サーバは、
前記ルートサーバから取得する前記ルートサーバの公開鍵を用いて前記第２のデジタル署名の正否を判定し、判定結果に基づいて前記製品管理サーバの公開鍵を取得する第１の判定手段と、
前記ユーザ端末から第１のデジタル署名と前記端末コードとを受信すると、前記製品管理サーバの公開鍵を用いて前記第１のデジタル署名の正否を判定し、判定結果に基づいて前記識別コードを取得する第２の判定手段と、
前記識別コードと前記端末コードとを前記データベースに記録されているライセンス情報と照合し、所定の条件に該当する場合は、当該識別コードと当該端末コードとを前記データベースに記録する記録手段と、
前記認証サーバの秘密鍵を用いて、前記製品コードと前記端末コードとから第４のデジタル署名を作成する第４のデジタル署名作成手段と、
を備え、
前記ユーザ端末は、
前記ルートサーバから取得する前記ルートサーバの公開鍵を用いて前記第３のデジタル署名の正否を判定し、判定結果に基づいて前記認証サーバの公開鍵を取得する第３の判定手段と、
前記第３の判定手段によって取得された前記認証サーバの公開鍵を用いて前記第４のデジタル署名の正否を判定し、判定結果に基づいて前記製品識別コードと前記端末コードを取得する第４の判定手段と、
前記第４の判定手段の判定結果に基づいて、前記ソフトウェアの機能制限を解除する制限解除手段と、
を備えることを特徴とするライセンス管理システム。
【請求項５】
前記認証サーバは、前記第３のデジタル署名の有効期限を示すサーバ有効期限を有し、
前記第３のデジタル署名作成手段は、前記ルートサーバにおいて、前記認証サーバから前記認証サーバの公開鍵と前記サーバ有効期限とを取得し、前記ルートサーバの秘密鍵を用いて、前記認証サーバの公開鍵と前記サーバ有効期限とから認証サーバのデジタル署名を作成し、
前記ユーザ端末において、前記第３の判定手段は、前記ルートサーバから取得する前記ルートサーバの公開鍵を用いて前記認証サーバのデジタル署名の正否を判定し、前記サーバ有効期限と前記認証サーバの公開鍵とを取得し、
前記第３の判定手段で正当と判定された前記サーバ有効期限と現在の日付とを照合する照合手段を有することを特徴とする請求項４に記載のライセンス管理システム。
【請求項６】
前記認証サーバは、ソフトウェアの使用期限を示すソフト有効期限を有し、
前記第４のデジタル署名作成手段は、認証サーバの秘密鍵を用いて、前記製品コードと前記端末コードと前記ソフト有効期限とから端末のデジタル署名を作成し、
前記ユーザ端末において、前記第４の判定手段は、前記認証サーバから取得する前記認証サーバの公開鍵を用いて前記第４のデジタル署名の正否を判定し、前記製品コードと前記端末コードと前記ソフト有効期限とを取得し、
前記制限解除手段は、前記第４の判定手段で正当と判定された前記ソフト有効期限に基づいて、インストールされた前記ソフトウェアの機能制限を解除することを特徴とする請求項４または請求項５に記載のライセンス管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ソフトウェアのライセンス管理を公開鍵暗号方式の秘密鍵と公開鍵とを用いて行うライセンス管理方法およびライセンス管理システムに関する。
【０００２】
【従来の技術】
一般的に、ソフトウェアは、ＣＤ−ＲＯＭ等の記憶媒体に記憶させた形で提供されたり、インターネットを通じてダウンロードする形でユーザに提供されたりする。このようなソフトウェアは容易に複製が可能であり、そのため実際には１本のソフトウェアがコピーされて、複数のコンピュータで不正に使用されることがある。
【０００３】
このような不正使用を防止するため、従来、ライセンスコードを用いる方法がある。この方法では、ライセンスコードをソフトウェアの販売時に添付したり、入金された時にユーザに伝えたりしてユーザに渡し、ユーザはソフトウェアをインストールする際にライセンスコードを入力する。このライセンスコードをソフトウェアで認証することによって正規ユーザであるかどうかを確認することができる。
【０００４】
しかし、この方法では、ライセンスコードを知りさえすれば、不正にコピーしたソフトウェアを使用することが可能である。またライセンスコードの生成パターンが流出すると、新たなライセンスコードが不正に生成され、正規のライセンスコードを知らなくてもソフトウェアを不正に使用することが可能となってしまう。逆に、ライセンスコードを高度に複雑化すれば、ユーザの操作が煩雑となる。従って、この方法では、不正使用に対して十分な効果が発揮できなかった。
【０００５】
これに対し、販売管理サーバとライセンス管理サーバを用いて認証をソフトウェアの管理を行う方法も提案されている（例えば、特許文献１）。この方法では、販売管理サーバがユーザに対してライセンスコードを発行すると共に、ライセンス管理サーバに対して発行履歴をライセンス管理サーバに通知する。ユーザはライセンスコードとマシン識別コードをライセンス管理サーバに通知すると、ライセンスコードを発行履歴と照合して、問題がなければソフトウェア使用キーを発行する。従って、ライセンスコードの発行履歴を確認でき、またマシン識別コードによってユーザを識別できるので、不正なコピーを防止できる。
【０００６】
【特許文献１】
特開２０００−２０７１９９号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、この方法では、販売管理サーバやライセンス管理サーバに対する認証を行っていないため、不正なユーザに対しては有効であるが、販売管理サーバやライセンス管理サーバが不正な場合には、不正を防止することができなかった。
【０００８】
例えば、販売管理サーバを不正に設け、ライセンスコードを発行して販売管理サーバに通知した場合、これを発見することができない。またライセンス管理サーバのソフトウェア使用キーの生成方法が流出し、ライセンス管理サーバを不正に設けられた場合、これを発見することはできない。このように、販売管理サーバやライセンス管理サーバに不正があった場合、これを防止することができないという問題があった。
【０００９】
本発明は上記事情に鑑み、ユーザ端末にインストールされるソフトウェアのライセンス管理を公開鍵暗号方式の秘密鍵と公開鍵とを用いて行うライセンス管理方法、およびライセンス管理システムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載の発明であるライセンス管理方法は、ソフトウェア製品を識別する識別コードを発行する製品管理サーバと、前記識別コードとユーザ端末を識別する端末コードとを含むライセンス情報を記録するデータベースを備え、前記ユーザ端末から送信される情報と前記ライセンス情報とを照合する認証サーバと、認証の基準となるデジタル署名を作成するルートサーバとから構成されるライセンス管理システムにおいて、ユーザ端末にインストールされるソフトウェアのライセンス管理を公開鍵暗号方式の秘密鍵と公開鍵とを用いて行うライセンス管理方法であって、前記製品管理サーバにおいて、前記製品管理サーバの秘密鍵を用いて、前記識別コードから前記ソフトウェア製品に付される第１のデジタル署名を作成する第１のデジタル署名作成工程と、前記ルートサーバにおいて、前記製品管理サーバから前記製品管理サーバの公開鍵を取得し、前記ルートサーバの秘密鍵を用いて、前記製品管理サーバの公開鍵から第２のデジタル署名を作成する第２のデジタル署名作成工程と、前記ルートサーバにおいて、前記認証サーバから前記認証サーバの公開鍵を取得し、前記ルートサーバの秘密鍵を用いて、前記認証サーバの公開鍵から第３のデジタル署名を作成する第３のデジタル署名作成工程と、前記認証サーバにおいて、前記ルートサーバから取得する前記ルートサーバの公開鍵を用いて前記第２のデジタル署名の正否を判定し、判定結果に基づいて前記製品管理サーバの公開鍵を取得する第１の判定工程と、前記認証サーバにおいて、前記ユーザ端末から第１のデジタル署名と前記端末コードとを受信すると、前記製品管理サーバの公開鍵を用いて前記第１のデジタル署名の正否を判定し、判定結果に基づいて前記識別コードを取得する第２の判定工程と、前記認証サーバにおいて、前記識別コードと前記端末コードとを前記データベースに記録されているライセンス情報と照合し、所定の条件に該当する場合は、当該識別コードと当該端末コードとを前記データベースに記録する記録工程と、前記認証サーバにおいて、前記認証サーバの秘密鍵を用いて、前記製品コードと前記端末コードとから第４のデジタル署名を作成する第４のデジタル署名作成工程と、前記ユーザ端末において、前記ルートサーバから取得する前記ルートサーバの公開鍵を用いて前記第３のデジタル署名の正否を判定し、判定結果に基づいて前記認証サーバの公開鍵を取得する第３の判定工程と、前記ユーザ端末において、前記第３の判定工程において取得された前記認証サーバの公開鍵を用いて前記第４のデジタル署名の正否を判定し、判定結果に基づいて前記製品識別コードと前記端末コードを取得する第４の判定工程と、前記ユーザ端末において、前記第４の判定工程の判定結果に基づいて、前記ソフトウェアの機能制限を解除する制限解除工程とを有することを特徴とする。
【００１１】
請求項１の発明によれば、ソフトウェア固有の識別コードやユーザ端末固有の端末コードを用いて、製品管理サーバの暗号鍵と認証サーバの暗号鍵をルートサーバで認証してから使用するので、ソフトウェアの偽造、改ざんだけでなく、暗号鍵の偽造、改ざん、偽の製品管理サーバ、偽の認証サーバなどに対しても対抗できる、不正行為を防止するソフトウェアのライセンス管理が可能となる。
【００１２】
また、請求項２に記載の発明であるライセンス管理方法は、請求項１に記載のライセンス管理方法であって、前記認証サーバは、前記第３のデジタル署名の有効期限を示すサーバ有効期限を有し、前記第３のデジタル署名作成工程では、前記ルートサーバにおいて、前記認証サーバから前記認証サーバの公開鍵と前記サーバ有効期限とを取得し、前記ルートサーバの秘密鍵を用いて、前記認証サーバの公開鍵と前記サーバ有効期限とから認証サーバのデジタル署名を作成し、前記第３の判定工程では、前記ユーザ端末において、前記ルートサーバから取得する前記ルートサーバの公開鍵を用いて前記認証サーバのデジタル署名の正否を判定し、前記サーバ有効期限と前記認証サーバの公開鍵とを取得し、前記第３の判定工程で正当と判定された前記サーバ有効期限と現在の日付とを照合する照合工程を有することを特徴とする。
【００１３】
請求項２の発明によれば、第３のデジタル署名の有効期限を示すサーバ有効期限を設定しているので、たとえ予想外の偽造、改ざんに類する行為があったとしても、設定されたサーバ有効期限で無効となるので、不正使用を一時的なものにすることができる。
【００１４】
また、請求項３に記載の発明であるライセンス管理方法は、請求項１または請求項２に記載のライセンス管理方法であって、前記認証サーバは、ソフトウェアの使用期限を示すソフト有効期限を有し、前記第４のデジタル署名作成工程では、認証サーバの秘密鍵を用いて、前記製品コードと前記端末コードと前記ソフト有効期限とから端末のデジタル署名を作成し、前記第４の判定工程では、前記ユーザ端末において、前記認証サーバから取得する前記認証サーバの公開鍵を用いて前記第４のデジタル署名の正否を判定し、前記製品コードと前記端末コードと前記ソフト有効期限とを取得し、前記制限解除工程では、前記第４の判定工程で正当と判定された前記ソフト有効期限に基づいて、インストールされた前記ソフトウェアの機能制限を解除することを特徴とする。
【００１５】
請求項３の発明によれば、ソフトウェアの使用期限を示すソフト有効期限が切れると再びアクティベーションを促すようにしておけば、ユーザは再びアクティベーションを行うこととなり、たとえ予想外の偽造、改ざんに類する行為があったとしても、設定されたソフト有効期限で機能が停止するので、不正使用を一時的なものにすることができる。
【００１６】
また、請求項４に記載の発明であるライセンス管理システムは、ソフトウェア製品がインストールされるユーザ端末と、前記ソフトウェア製品を識別する識別コードを発行する製品管理サーバと、前記識別コードと前記ユーザ端末を識別する端末コードとを含むライセンス情報を記録するデータベースを備え、前記ユーザ端末から送信される情報と前記ライセンス情報とを照合する認証サーバと、認証の基準となるデジタル署名を作成するルートサーバとから構成されるライセンス管理システムであって、前記製品管理サーバは、前記製品管理サーバの秘密鍵を用いて、前記識別コードから前記ソフトウェア製品に付される第１のデジタル署名を作成する第１のデジタル署名作成手段を備え、前記ルートサーバは、前記製品管理サーバから前記製品管理サーバの公開鍵を取得し、前記ルートサーバの秘密鍵を用いて、前記製品管理サーバの公開鍵から第２のデジタル署名を作成する第２のデジタル署名作成手段と、前記認証サーバから前記認証サーバの公開鍵を取得し、前記ルートサーバの秘密鍵を用いて、前記認証サーバの公開鍵から第３のデジタル署名を作成する第３のデジタル署名作成手段とを備え、前記認証サーバは、前記ルートサーバから取得する前記ルートサーバの公開鍵を用いて前記第２のデジタル署名の正否を判定し、判定結果に基づいて前記製品管理サーバの公開鍵を取得する第１の判定手段と、前記ユーザ端末から第１のデジタル署名と前記端末コードとを受信すると、前記製品管理サーバの公開鍵を用いて前記第１のデジタル署名の正否を判定し、判定結果に基づいて前記識別コードを取得する第２の判定手段と、前記識別コードと前記端末コードとを前記データベースに記録されているライセンス情報と照合し、所定の条件に該当する場合は、当該識別コードと当該端末コードとを前記データベースに記録する記録手段と、前記認証サーバの秘密鍵を用いて、前記製品コードと前記端末コードとから第４のデジタル署名を作成する第４のデジタル署名作成手段とを備え、前記ユーザ端末は、前記ルートサーバから取得する前記ルートサーバの公開鍵を用いて前記第３のデジタル署名の正否を判定し、判定結果に基づいて前記認証サーバの公開鍵を取得する第３の判定手段と、前記第３の判定手段によって取得された前記認証サーバの公開鍵を用いて前記第４のデジタル署名の正否を判定し、判定結果に基づいて前記製品識別コードと前記端末コードを取得する第４の判定手段と、前記第４の判定手段の判定結果に基づいて、前記ソフトウェアの機能制限を解除する制限解除手段とを備えることを特徴とする。
【００１７】
請求項４の発明によれば、ソフトウェア固有の識別コードやユーザ端末固有の端末コードを用いて、製品管理サーバの暗号鍵と認証サーバの暗号鍵をルートサーバで認証してから使用するので、ソフトウェアの偽造、改ざんだけでなく、暗号鍵の偽造、改ざん、偽の製品管理サーバ、偽の認証サーバなどに対しても対抗できる、不正行為を防止するソフトウェアのライセンス管理が可能となる。
【００１８】
また、請求項５に記載の発明であるライセンス管理システムは、請求項４に記載のライセンス管理システムであって、前記認証サーバは、前記第３のデジタル署名の有効期限を示すサーバ有効期限を有し、前記第３のデジタル署名作成手段は、前記ルートサーバにおいて、前記認証サーバから前記認証サーバの公開鍵と前記サーバ有効期限とを取得し、前記ルートサーバの秘密鍵を用いて、前記認証サーバの公開鍵と前記サーバ有効期限とから認証サーバのデジタル署名を作成し、前記ユーザ端末において、前記第３の判定手段は、前記ルートサーバから取得する前記ルートサーバの公開鍵を用いて前記認証サーバのデジタル署名の正否を判定し、前記サーバ有効期限と前記認証サーバの公開鍵とを取得し、前記第３の判定手段で正当と判定された前記サーバ有効期限と現在の日付とを照合する照合手段を有することを特徴とする。
【００１９】
請求項５の発明によれば、第３のデジタル署名の有効期限を示すサーバ有効期限を設定しているので、たとえ予想外の偽造、改ざんに類する行為があったとしても、設定されたサーバ有効期限で無効となるので、不正使用を一時的なものにすることができる。
【００２０】
また、請求項６に記載の発明であるライセンス管理システムは、請求項４または請求項５に記載のライセンス管理システムであって、前記認証サーバは、ソフトウェアの使用期限を示すソフト有効期限を有し、前記第４のデジタル署名作成手段は、認証サーバの秘密鍵を用いて、前記製品コードと前記端末コードと前記ソフト有効期限とから端末のデジタル署名を作成し、前記ユーザ端末において、前記第４の判定手段は、前記認証サーバから取得する前記認証サーバの公開鍵を用いて前記第４のデジタル署名の正否を判定し、前記製品コードと前記端末コードと前記ソフト有効期限とを取得し、前記制限解除手段は、前記第４の判定手段で正当と判定された前記ソフト有効期限に基づいて、インストールされた前記ソフトウェアの機能制限を解除することを特徴とする。
【００２１】
請求項６の発明によれば、ソフトウェアの使用期限を示すソフト有効期限が切れると再びアクティベーションを促すようにしておけば、ユーザは再びアクティベーションを行うこととなり、たとえ予想外の偽造、改ざんに類する行為があったとしても、設定されたソフト有効期限で機能が停止するので、不正使用を一時的なものにすることができる。
【００２２】
【発明の実施の形態】
本発明の実施の形態を説明するにあたって、まず、図９を用いて、公開鍵暗号方式の認証の原理を説明する。
【００２３】
ソフトウェア作成者の手元には、秘密鍵Ｄ６１と公開鍵Ｅ６２との一組の鍵があり、秘密鍵Ｄ６１と復号化アルゴリズムＡとを利用して、メッセージ（ソフトウェア）Ｍ６３からデジタル署名Ｓ６４（Ｓ＝Ａ（Ｄ，Ｍ））が作成され（ステップＳ７１）、メッセージＭ６３とデジタル署名Ｓ６４をまとめた証明書データＬ６５（Ｌ＝（Ｍ，Ｓ））が作成される（ステップＳ７２）。作成された証明書データＬ６５はソフトウェア利用者側に送信される（ステップＳ７３）。また、公開鍵Ｅ６２は、不特定多数に公開されるものとする。
【００２４】
そして、証明書データＬ６５はソフトウェア利用者に提供され、証明書データＬ６５の中のメッセージＭ６３とデジタル署名Ｓ６４とは、公開されている公開鍵Ｅ６２と暗号化アルゴリズムＣとを利用してメッセージＭ’６６（Ｍ’＝Ｃ（Ｅ，Ｓ））を計算する（ステップＳ７４）。メッセージＭ６３とメッセージＭ’６６とを比較し（ステップＳ７５）、両者が一致するかどうか判定する（ステップＳ７６）。両者が一致する場合は、デジタル署名Ｓ６４は正当なものと認められ（ステップＳ７７）、両者が一致しなければ、デジタル署名Ｓ６４は不当なものとして、メッセージＭ６３は破棄される（ステップＳ７８）。
【００２５】
証明書データＬ６５に改ざん、偽造がなければ、秘密鍵Ｄ６１と一対である公開鍵Ｅ６２によってデジタル署名Ｓ６４の正当性が確認されると同時に、このデジタル署名Ｓ６４は秘密鍵Ｄ６１によって、メッセージＭ６３から作られたものであることが確認される。従って、ソフトウェア利用者はメッセージＭ６３をソフトウェア作成者からの正しいデータとして受け入れることが可能となる。
【００２６】
この公開鍵暗号方式の認証の原理に基づいて、本実施形態のソフトウェア管理システムは構成される。
【００２７】
以下、本実施形態におけるソフトウェア管理システム１について、図１〜図８を用いて説明する。
【００２８】
まず、本実施形態におけるソフトウェア管理システム１の構成について、図１を用いて説明する。
【００２９】
本実施形態におけるソフトウェア管理システム１は、製品管理サーバ２、ルートサーバ３、認証サーバ４、およびユーザ端末５から構成され、それぞれ構内ＬＡＮ、専用線、インターネット７等のネットワーク６によって相互に接続される。図１では、各サーバ２〜４はＬＡＮ等のネットワーク６によって接続されているが、それぞれインターネット７を介して接続されてもよい。また、製品管理サーバ２は、製品（ソフトウェア）を梱包して出荷する工場に設置され、ルートサーバ３は、セキュリティの確保しやすい場所に設置することが望ましい。
【００３０】
また、製品管理サーバ２は製品管理情報データベース８を、ルートサーバ３はルート情報データベース９を、認証サーバ４は認証情報データベース１０をそれぞれ備える。
【００３１】
製品管理サーバ２が備える製品管理情報データベース８には、ライセンス秘密鍵２１、ライセンス公開鍵２２、製品番号２３、製品のシリアルナンバー２４、ライセンスコード２５が記録される。また、ルートサーバ３が備えるルート情報データベース９には、ルート秘密鍵３１、ルート公開鍵３２が記録される。
【００３２】
また、認証サーバ４が備える認証情報データベース１０には、アクティベーション秘密鍵４１、アクティベーション公開鍵４２、ライセンスキー証明書データ４３、サーバ有効期限４４、認証サーバ証明書データ４５、アクティベーション情報４６、ソフト有効期限４７が記録される。
【００３３】
ライセンス秘密鍵２１、ライセンス公開鍵２２、ルート秘密鍵３１、ルート公開鍵３２、アクティベーション秘密鍵４１、アクティベーション公開鍵４２は、例えば、ＲＳＡ方式で設計される。
【００３４】
また、認証情報データベース１０に記録されるアクティベーション情報４６は、図２に示すように、ユーザ端末５から送信される製品番号２３、シリアルナンバー２４、ライセンスコード２５、ＭＡＣアドレス（Media Access Control Address）を記録するデータテーブルである。
【００３５】
なお、製品管理サーバ２、ルートサーバ３、認証サーバ４、およびユーザ端末５は、いずれもそれぞれの処理にあわせた暗号化プログラム、および復号化プログラムを予め有することとする。すなわち、製品管理サーバ２は、ライセンス秘密鍵に対応した復号化プログラムを有し、ルートサーバ３は、ルート公開鍵に対応した復号化プログラムを有し、認証サーバ４は、ルート公開鍵に対応した暗号化プログラムと、ライセンス公開鍵に対応した暗号化プログラムと、アクティベーション公開鍵に対応した復号化プログラムとを有し、ユーザ端末５は、ルート公開鍵に対応した暗号化プログラムと、アクティベーション公開鍵に対応して暗号化プログラムを有し、デジタル書名を作成する際、およびデジタル署名を複合する際に用いられる。
【００３６】
＜製品管理サーバの処理手順＞
次に、製品管理サーバ２の処理手順について、図３を用いて説明する。
【００３７】
工場からソフトウェアを出荷する際には、製品管理サーバ２では、個々の製品を区別して生産の管理や販売の管理、サポートの管理を行えるよう、製品にシリアルナンバー２４を発行し、個々の製品に付加している。シリアルナンバー２４は年月日、連番などを組み合わせて作成され、製品管理情報データベース８に記録される。例えば、ＹＹ／ＭＭ／連番で構成され、２００２年１２月のひとつめの出荷分に対して、「２００２１２０００１」といった番号が作られる。
【００３８】
また、製品の種類を区別して生産の管理や販売の管理、サポートの管理を行えるよう製品番号２３が作成され、製品管理情報データベース８に記録される。このソフトウェアの製品番号２３は、例えば「ＳＷ−１０００」とする。
【００３９】
まず、製品管理サーバ２は、ライセンス公開鍵２２を製品管理情報データベース８から取得して、ルートサーバ３に送信しておく（ステップＳ０１）。
【００４０】
次に、製品管理サーバ２は、製品番号２３、シリアルナンバー２４、およびライセンス秘密鍵２１を製品管理情報データベース８から取得して、この製品番号２３、シリアルナンバー２４、およびライセンス秘密鍵２１を用いてデジタル署名を作成する（ステップＳ０２）。そして、製品管理サーバ２は、このデジタル署名をライセンスコード２５として製品管理情報データベース８に記録する。
【００４１】
また、この製品管理サーバ２にはプリンタ等の印刷装置（図示しない）が接続されており、製品管理サーバ２は、製品に添付する保証書に製品番号２３、シリアルナンバー２４、およびライセンスコード２５を印刷するよう印刷装置に指示を出す（ステップＳ０３）。そしてこれらを印刷した保証書をソフトウェアに添付して梱包し、出荷する。
【００４２】
＜ルートサーバの処理手順＞
次に、ルートサーバ３の処理手順について、図４を用いて説明する。
【００４３】
まず、ルートサーバ３は、ルート情報データベース９からルート公開鍵３２を取得し、認証サーバ４に送信する（ステップＳ１１）。
【００４４】
次に、ルートサーバ３は、製品管理サーバ２からライセンス公開鍵２２を受信すると（ステップＳ１２）、ルート情報データベース９からルート秘密鍵３１を取得し、そのライセンス公開鍵２２とルート秘密鍵３１とを用いてデジタル署名を作成し（ステップＳ１３）、ライセンス公開鍵２２とデジタル署名とをまとめた証明書データを作成する。ルートサーバ３は、この証明書データをライセンスキー証明書データ４３として認証サーバ４に送信する（ステップＳ１４）。
【００４５】
また、ルートサーバ３は、認証サーバ４からサーバ有効期限４４とアクティベーション公開鍵４２を受信すると（ステップＳ１５）、ルートサーバ３は、サーバ有効期限４４とアクティベーション公開鍵４２とルート秘密鍵３１とを用いてデジタル署名を作成し（ステップＳ１６）、サーバ有効期限４４とアクティベーション公開鍵４２とデジタル署名とをまとめた証明書データを作成する。ルートサーバ３は、この証明書データを認証サーバ証明書データ４５として認証サーバ４に送信する（ステップＳ１７）。
【００４６】
なお、認証作業の簡略化のため、サーバ有効期限４４は用いなくてもよい。
【００４７】
＜認証サーバの処理手順＞
次に、認証サーバ４の処理手順について、図５を用いて説明する。
【００４８】
まず、認証サーバ４は、ルートサーバ３からルート公開鍵３２を受信する（ステップＳ２１）。また、認証サーバ４は、ルートサーバ３からライセンスキー証明書データ４３を受信する（ステップＳ２２）。
【００４９】
次に、認証サーバ４は、このルート公開鍵３２を用いてライセンスキー証明書データ４３中のデジタル署名の正当性を判定し、ライセンス公開鍵２２が受け入れ可能であるか判定する（ステップＳ２３）。ルート公開鍵３２とライセンスキー証明書データ４３中のデジタル署名とから作成されるライセンス公開鍵２２と、ライセンスキー証明書データ４３中のライセンス公開鍵２２とが一致すると判定されると、デジタル署名の正当性が承認されたことになり、以後は、認証サーバ４は、このライセンス公開鍵２２を使用する。デジタル署名とライセンス公開鍵２２のどちらか一方でも改ざん、偽造などされている場合は、承認されず拒絶されるので、認証サーバ４は警告を表示して作業を終了する。
【００５０】
また、認証サーバ４は、認証情報データベース１０からデジタル署名のサーバ有効期限４４を設定し、認証情報データベース１０に記録する。このサーバ有効期限４４は、例えば、現在の日付の属する月の３ヶ月後の月末とする。即ち、２００３年１月１日時点でのサーバ有効期限４４は２００３年４月３０日である。サーバ有効期限４４は毎月１日に更新される。
【００５１】
認証サーバ４は、設定されたサーバ有効期限４４とアクティベーション公開鍵４２とを認証情報データベース１０から取得し、ルートサーバ３へ送信する（ステップＳ２４）。
【００５２】
また、ルートサーバ３から認証サーバ証明書データ４５が送信されると、認証サーバ４は、その認証サーバ証明書データ４５を受信し、認証情報データベース１０に記録する（ステップＳ２５）。
【００５３】
なお、認証作業の簡略化のため、サーバ有効期限４４を設定しなくてもよい。
【００５４】
以上、製品管理サーバ２、ルートサーバ３、および認証サーバ４の各処理手順をまとめると、図６のシーケンス図のようになる。図６に示す一連の処理が、ソフトウェアの出荷段階で行われる。
【００５５】
＜ユーザ端５のアクティベーション処理手順＞
次に、ユーザ端末５から行われるアクティベーション処理について、図７〜図８に基づいて説明する。
【００５６】
まず、ユーザは自分のユーザ端末５に購入したソフトウェアをインストールする。ソフトウェアを正規のものと確認し機能制限を解除し、警告表示を停止することをアクティベーションと呼ぶ。この段階ではアクティベーションがされていないのでソフトウェアは完全には機能しない。
【００５７】
しかし、ソフトウェアはＰＣの環境によって動作しなかったり処理速度に問題が生じたりすることがあるので、アクティベーションする前でも一部の機能制限をした状態で使用可能としたり、アクティベーションを行うよう警告を表示しながら使用可能としたりして、予め動作確認が可能としておくのが望ましい。
【００５８】
ユーザは、ソフトウェアの動作に問題がないことを確認した上で、アクティベーションを開始する。ユーザ端末５でソフトウェアが起動されると、図８（ａ）に示すようなアクティベーションするかどうかを確認する画面が表示される。この図８（ａ）の画面で「はい」のボタンをクリックすると（ステップＳ３１）、ユーザ端末５は、まず自身のＭＡＣアドレスを取得する（ステップＳ３２）。
【００５９】
ＭＡＣアドレスとは、ネットワーク６でホストを識別するために設定されるハードウェアアドレスであり、Ethernet（登録商標）では、ネットワーク６に接続するデバイスであるNIC（Network Interface Card）に対して４８ビットの識別符号が付けられており、Ethernet（登録商標）アドレスとも呼ぶ。４８ビットのうち前半２４ビットがIEEE（Institute of Electrical and Electronic Engineers）で管理されたベンダー固有のＩＤで、後半２４ビットが各NICの連番となり、世界中に1つしかないユニークな番号になる。このＭＡＣアドレスによってユーザ端末５を特定することができる。
【００６０】
ここで取得されるＭＡＣアドレスは、例えば、１２桁の１６進数「００−８０−８８−４１−０１−Ａ０」といった形で表される。
【００６１】
そして、図８（ｂ）の入力画面で、ユーザがソフトウェアに添付された保証書に記載されているシリアルナンバー２４、製品番号２３、ライセンスコード２５を入力し、「送信」のボタンをクリックすると（ステップＳ３３）、ユーザ端末５は、先に取得したＭＡＣアドレスと、シリアルナンバー２４、製品番号２３、ライセンスコード２５を、インターネット７を介して認証サーバ４に送信する（ステップＳ３４）。なお、ユーザが自らＭＡＣアドレスを入力するようにしてもよい。
【００６２】
一方、認証サーバ４は、ユーザ端末５からシリアルナンバー２４、製品番号２３、ライセンスコード２５、およびＭＡＣアドレスを受信すると、まず、ライセンス公開鍵２２を用いてライセンスコード２５の正当性について判定し、製品番号２３、シリアルナンバー２４が受け入れ可能であるか判定する（ステップＳ３５）。ライセンス公開鍵２２は、予めルート公開鍵３２によって正当なものと判定されているので、これを用いて判定を行うことができる。
【００６３】
認証サーバ４は、ライセンス公開鍵２２とライセンスコード２５（デジタル署名）を用いて、シリアルナンバー２４と製品番号２３を復号する。認証サーバ４は、ライセンスコード２５から復号されるシリアルナンバー２４、および製品番号２３と、ユーザ端末５から送信されるシリアルナンバー２４、および製品番号２３とを比較し、両者が一致すると判定すると、ライセンスコード２５の正当性が承認されたことになり、製品番号２３、シリアルナンバー２４を受け入れる。
【００６４】
また、逆に認証サーバ４が、ライセンスコード２５を正当なものと判定しなければデータに改ざん、偽造などがあったものとして警告を表示し、作業を終了する。
【００６５】
次に、製品番号２３、シリアルナンバー２４、ライセンスコード２５の正当性が承認されると、アクティベーション情報４６との照合が行われる。アクティベーション情報４６には、ライセンスコード２５、製品番号２３、シリアルナンバー２４、ＭＡＣアドレスを記録するレコードが、アクティベーションの度に生成され、記憶される。
【００６６】
そこでまず、認証サーバ４は、正当性が承認されたライセンスコード２５と同じライセンスコード２５を記録しているレコードを、下記の条件をもって抽出する（ステップＳ３６）。
【００６７】
条件１：同一のライセンスコード２５が記録されているレコードが存在しない。
【００６８】
条件２：ライセンスコード２５が一致し、かつＭＡＣアドレスが一致するレコードが存在する。
【００６９】
条件３：ライセンスコード２５は一致するが、ＭＡＣアドレスの異なるレコードの数が２以下である。
【００７０】
以上、３つの条件のうち、ひとつでも該当すれば（ステップＳ３７）、認証サーバ４は、ユーザ端末５から送られた製品番号２３、シリアルナンバー２４、ライセンスコード２５、およびＭＡＣアドレスを新たなレコードとしてアクティベーション情報４６に記録する（ステップＳ３８）。なお、ライセンスコード２５が一致し、かつＭＡＣアドレスが一致する場合のみ、アクティベーション情報４６への記録は行わない。また、３つの条件をすべて満たさない場合は、認証サーバ４は、アクティベーション情報４６への記録を行わず、作業を終了する（ステップＳ３９）。
【００７１】
なお、何等かの事情で４回目のアクティベーションを必要とするユーザは、電話などの手段でサービスセンターに連絡し、事情が確認されればアクティベーション情報４６の該当レコードを削除してもらってから、再度アクティベーションを行う。
【００７２】
また、認証サーバ４は、ソフトウェアの使用期限を示すソフト有効期限４７を設定する（ステップＳ４０）。ソフト有効期限４７は例えば現在の日付の属する月の６ヶ月後の月末とする。即ち、２００３年１月１日時点でのソフト有効期限４７は２００３年７月３１日である。ソフト有効期限４７は毎月１日に更新される。
【００７３】
次に、認証サーバ４は、製品番号２３、シリアルナンバー２４、ＭＡＣアドレス、ソフト有効期限４７、ライセンスコード２５とアクティベーション秘密鍵４１を用いてデジタル署名を作成し（ステップＳ４１）、製品番号２３、シリアルナンバー２４、ＭＡＣアドレス、ソフト有効期限４７、ライセンスコード２５、認証サーバ証明書データ４５と、作成したデジタル署名とをあわせた証明書データを作成する。認証サーバ４は、この証明書データをアクティベーションコードとして認証情報データベース１０に記録し、ユーザ端末５に送信する（ステップＳ４２）。
【００７４】
なお、認証作業の簡略化のためソフト有効期限４７を設定しない場合は、製品番号２３、シリアルナンバー２４、ＭＡＣアドレス、ライセンスコード２５とアクティベーション秘密鍵４１を用いてデジタル署名を作成し、製品番号２３、シリアルナンバー２４、ＭＡＣアドレス、認証サーバ証明書データ４５と、作成したデジタル署名とをあわせたアクティベーションコードを作成する。
【００７５】
ユーザ端末５は、認証サーバ４からアクティベーションコードを受信すると、インターネット７を介してルートサーバ３にアクセスして、ルート公開鍵３２を取得する（ステップＳ４３）。
【００７６】
まず、ユーザ端末５は、アクティベーションコードから認証サーバ証明書データ４５を抽出し、ルート公開鍵３２を用いて認証サーバ証明書データ４５中のデジタル署名の正当性を判定し、アクティベーション公開鍵４２、サーバ有効期限４４が受け入れ可能であるか判定する（ステップＳ４４）。判定処理の簡略化のためサーバ有効期限４４を設定しない場合は、ルート公開鍵３２を用いて認証サーバ証明書データ４５中のデジタル署名の正当性を判定し、アクティベーション公開鍵４２が受け入れ可能であるか判定する。
【００７７】
ユーザ端末５は、ルート公開鍵３２と認証サーバ証明書データ４５中のデジタル署名を用いて、アクティベーション公開鍵４２とサーバ有効期限４４を復号する。ユーザ端末５は、認証サーバ証明書データ４５中のデジタル署名から復号されるアクティベーション公開鍵４２、およびサーバ有効期限４４と、認証サーバ証明書データ４５中のアクティベーション公開鍵４２、およびサーバ有効期限４４とを比較し、両者が一致すると判定すると、認証サーバ証明書データ４５中のデジタル署名の正当性が承認されたことになり、アクティベーション公開鍵４２とサーバ有効期限４４を受け入れる。
【００７８】
また、逆に認証サーバ４が、認証サーバ証明書データ４５中のデジタル署名を正当なものと判定しなければデータに改ざん、偽造などがあったものとして警告を表示し、作業を終了する。
【００７９】
次に、ユーザ端末５は、サーバ有効期限４４と現在の日付とを比較し（ステップＳ４５）、現在の日付が有効期限内であれば次のステップに進み、有効期限外であれば警告を表示して作業を終了する（ステップＳ４６）。仮に認証サーバ証明書データ４５が盗難されても、その認証サーバ証明書データ４５は、サーバ有効期限４４が切れると使用できなくなるので、不正使用を最小限にとどめることができる。なお、判定処理の簡略化のためサーバ有効期限４４が設定されていない場合は、ユーザ端末５はこの処理を行わない。
【００８０】
次に、ユーザ端末５は、先に正当なデータであると承認されたアクティベーション公開鍵４２を用いてライセンスコード２５の正当性を判定し、アクティベーションコード中の製品番号２３、シリアルナンバー２４、ＭＡＣアドレス、ソフト有効期限４７が受け入れ可能であるか判定する（ステップＳ４７）。
【００８１】
ユーザ端末５は、アクティベーション公開鍵４２とアクティベーションコード中のデジタル署名を用いて、製品番号２３、シリアルナンバー２４、ＭＡＣアドレス、ソフト有効期限４７、ライセンスコード２５を復号する。ユーザ端末５は、アクティベーションコード中のデジタル署名から復号される製品番号２３、シリアルナンバー２４、ＭＡＣアドレス、ソフト有効期限４７、およびライセンスコード２５と、アクティベーションコード中の製品番号２３、シリアルナンバー２４、ＭＡＣアドレス、ソフト有効期限４７、およびライセンスコード２５とを比較し、両者が一致すると判定すると、アクティベーションコード中のデジタル署名の正当性が承認されたことになり、製品番号２３、シリアルナンバー２４、ＭＡＣアドレス、ソフト有効期限４７、ライセンスコード２５を受け入れる。
【００８２】
また逆に認証サーバ４が、アクティベーションコード中のデジタル署名を正当なものと判定しなければデータに改ざん、偽造などがあったものとして警告を表示し、作業を終了する。
【００８３】
ユーザ端末５は、アクティベーションコード中の製品番号２３、シリアルナンバー２４、ライセンスコード２５、ＭＡＣアドレスと、先に入力し認証サーバ４に送信した製品番号２３、シリアルナンバー２４、ライセンスコード２５、ＭＡＣアドレスとを比較し、データの誤配信や違う端末向けの認証の盗用等を検出する（ステップＳ４８）。
【００８４】
全ての判定処理が終了すると、ユーザ端末５は、ソフト有効期限４７をそのソフトウェアの使用期限として、ソフトウェアの全ての機能が実行可能になるよう機能制限を解除し、警告表示を停止する（ステップＳ４９）。また、ソフト有効期限４７が設定されていない場合は、無期限でソフトウェアの全ての機能が実行可能になるよう機能制限を解除し、警告表示を停止する。
【００８５】
これによって一連のアクティベーション作業がすべて完了する。
【００８６】
このように、ソフトウェアの製品番号２３、シリアルナンバー２４、製品管理サーバ２で用いられる暗号鍵、認証サーバ４で用いられる暗号鍵がルートサーバ３によって認証されるので、単にソフトウェアの製品番号２３、シリアルナンバー２４の改ざんだけでなく、製品管理サーバ２で用いられる暗号鍵、認証サーバ４で用いられる暗号鍵、アクティベーションコードの偽造、改ざんにも対処できる強固な認証システムが形成される。
【００８７】
なお、上記実施形態では、ＲＳＡ方式の暗号鍵の例を説明したが、公開鍵暗号方式にはＲＳＡの他にもＤＳＡ（Digital Signature Algorithm）、ＥｌＧａｍａｌなどがあり、ＲＳＡ以外の公開鍵暗号方式であってもよい。
【００８８】
また、認証サーバ証明書データ４５を、その正当性を判定する度にユーザ端末５に送信し、ユーザ端末５にてルートサーバ３の公開鍵で正当性を判定しているので、認証サーバ４を変更したり、認証サーバ４のアクティベーション公開鍵４２・アクティベーション秘密鍵４１を変更したりしても、そのままシステムを使用することができる。さらに、サーバ有効期限４４を設定しているので、たとえ予想外の偽造、改ざんに類する行為があったとしても、設定されたサーバ有効期限４４で無効となるので、不正使用を一時的なものにすることができる。
【００８９】
ただし、正当性の判定作業の煩雑さと不正防止効果とを比較衡量した上で、正当性の判定作業の負担軽減を優先する場合は、認証サーバ４でサーバ有効期限４４を設定せず、ユーザ端末５においてもサーバ有効期限４４と現在の日付との照合を行わないようにしても良い。
【００９０】
また、ソフト有効期限４７が切れると再びアクティベーションを促すようにしておけば、ユーザは再びアクティベーションを行うこととなり、たとえ予想外の偽造、改ざんに類する行為があったとしても、設定されたソフト有効期限４７で機能が停止するので、不正使用を一時的なものにすることができる。
【００９１】
ただし、ユーザの操作の煩雑さと不正使用の防止効果とを比較衡量した上で、ユーザの負担軽減を優先する場合は、認証サーバ４でソフト有効期限４７を設定せず、ユーザ端末５では無期限のアクティベーションと許可するようにしても良い。
【００９２】
また、上記実施形態では、ライセンスキー証明書データ４３（製品管理サーバ２のデジタル署名と製品管理サーバ２のライセンス公開鍵２２）をデジタル署名後に認証サーバ４に送る例を示したが、ライセンスキー証明書データ４３を製品管理サーバ２に送り返してソフトウェア製品に添付して出荷しても良い。この場合、アクティベーション時に、ユーザ端末５から認証サーバ４にライセンスキー証明書データ４３を送ることとなる。
【００９３】
この場合、製品管理サーバ２を複数所有したり、増設したり、製品管理サーバ２が用いる暗号鍵を更新したりしても、暗号鍵の種類を意識せず、そのままシステムを使用することができる長所がある。
【００９４】
また、上記実施形態では、ユーザ端末５がルートサーバ３のルート公開鍵３２を入手する方法として、ユーザ端末５が認証作業の時にルートサーバ３に要求し、ルートサーバ３から送られる例を示したが、これに限定されるものではなく、例えば、予めソフトウェアの内部にルートサーバ３のルート公開鍵３２が記憶されていてもよい。
【００９５】
また、上記実施形態では、ユーザ端末５固有の番号としてＭＡＣアドレスを使用する例を示したが、これに限定されるものではなく、例えば、ＭＡＣアドレスにチェックサムなどを付加したものや、プロセッサのシリアルナンバー、ハードディスクのＩＤ、それらを組み合わせたもの等、ユーザ端末５を特定できる番号であればよい。
【００９６】
【発明の効果】
以上詳細に説明したように、本発明によれば、ソフトウェア固有の識別コードやユーザ端末固有の端末コードを用いて、製品管理サーバの暗号鍵と認証サーバの暗号鍵をルートサーバで認証してから使用するので、ソフトウェアの偽造、改ざんだけでなく、暗号鍵の偽造、改ざん、偽の製品管理サーバ、偽の認証サーバなどに対しても対抗できる、不正行為を防止するソフトウェアのライセンス管理が可能となる。
【００９７】
また、第３のデジタル署名の有効期限を示すサーバ有効期限を設定しているので、たとえ予想外の偽造、改ざんに類する行為があったとしても、設定されたサーバ有効期限で無効となるので、不正使用を一時的なものにすることができる。
【００９８】
さらに、ソフトウェアの使用期限を示すソフト有効期限が切れると再びアクティベーションを促すようにしておけば、ユーザは再びアクティベーションを行うこととなり、たとえ予想外の偽造、改ざんに類する行為があったとしても、設定されたソフト有効期限で機能が停止するので、不正使用を一時的なものにすることができる。
【図面の簡単な説明】
【図１】本発明のソフトウェア管理システムの構成を示す図である。
【図２】アクティベーション情報を示すデータテーブルである。
【図３】製品管理サーバの処理手順を示すフローチャートである。
【図４】ルートサーバの処理手順を示すフローチャートである。
【図５】認証サーバの処理手順を示すフローチャートである。
【図６】製品管理サーバ、ルートサーバ、認証サーバの処理手順の関係を示すシーケンス図である。
【図７】ユーザ端末と認証サーバの処理手順を示すシーメンス図である。
【図８】ユーザ端末でアクティベーションを行なう際に表示される画面例である。
【図９】公開鍵暗号方式によるデジタル署名と認証の処理手順を示すフローチャートである。
【符号の説明】
１  ソフトウェア管理システム
２  製品管理サーバ
３  ルートサーバ
４  認証サーバ
５  ユーザ端末
６  ネットワーク
７  インターネット
８  製品管理情報データベース
９  ルート情報データベース
１０  認証情報データベース
２１  ライセンス秘密鍵
２２  ライセンス公開鍵
２３  製品番号
２４  シリアルナンバー
２５  ライセンスコード
３１  ルート秘密鍵
３２  ルート公開鍵
４１  アクティベーション秘密鍵
４２  アクティベーション公開鍵
４３  ライセンスキー証明書データ
４４  サーバ有効期限
４５  認証サーバ証明書データ
４６  アクティベーション情報
４７  ソフト有効期限
６１  秘密鍵Ｄ
６２  公開鍵Ｅ
６３  メッセージＭ
６４  デジタル署名Ｓ
６５  証明書データＬ
６６  メッセージＭ’
【図１】
2004206435.tif 000003
【図２】
2004206435.tif 000004
【図３】
2004206435.tif 000005
【図４】
2004206435.tif 000006
【図５】
2004206435.tif 000007
【図６】
2004206435.tif 000008
【図７】
2004206435.tif 000009
【図８】
2004206435.tif 000010
【図９】
2004206435.tif 000011