JP2005326994A - コンピュータのソフトウェアライセンス認証システム - Google Patents
コンピュータのソフトウェアライセンス認証システム Download PDFInfo
- Publication number
- JP2005326994A JP2005326994A JP2004143066A JP2004143066A JP2005326994A JP 2005326994 A JP2005326994 A JP 2005326994A JP 2004143066 A JP2004143066 A JP 2004143066A JP 2004143066 A JP2004143066 A JP 2004143066A JP 2005326994 A JP2005326994 A JP 2005326994A
- Authority
- JP
- Japan
- Prior art keywords
- software
- user
- license
- computer
- digital signature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】コンピュータのソフトウェアの不正コピーを心理面から抑止する。
【解決手段】
ソフトウェアで作成されたアプリケーションデータファイルの中に正規ユーザの情報を埋め込んでおいて該ユーザのデジタル署名を行う。前記アプリケーションデータファイルを受け取った第三者が前記ユーザの公開鍵でデジタル署名の認証を行うと、前記正規ユーザの個人情報(氏名等)が表示される。
従って、不正利用者がこのソフトウェアでアプリケーションデータを作成しデジタル署名を行えば、正規ユーザのデジタル署名が作成され、不正利用の事実が露見してしまう。
このことがソフトウェアの不正コピーを心理面から抑止することになる。
【選択図】図1
【解決手段】
ソフトウェアで作成されたアプリケーションデータファイルの中に正規ユーザの情報を埋め込んでおいて該ユーザのデジタル署名を行う。前記アプリケーションデータファイルを受け取った第三者が前記ユーザの公開鍵でデジタル署名の認証を行うと、前記正規ユーザの個人情報(氏名等)が表示される。
従って、不正利用者がこのソフトウェアでアプリケーションデータを作成しデジタル署名を行えば、正規ユーザのデジタル署名が作成され、不正利用の事実が露見してしまう。
このことがソフトウェアの不正コピーを心理面から抑止することになる。
【選択図】図1
Description
本発明はコンピュータのソフトウェアライセンス認証システムに関し、特に、ソフトウェアの不正コピーを行ったことが第三者に容易に分かるようにすることにより、不正コピーを心理面から抑止することを目的とするコンピュータのソフトウェアライセンス認証システムに関する。
従来、コンピュータのソフトウェアの不正利用を抑止する方法として、大きく分けて以下の4つが知られている。
第1には、ソフトウェアのインストールを正規の購入者のみに許可するというものであり、そのために、該ソフトウェアに添付された製造番号等をインストール時に入力させるという方法が一般的に行われている。
しかし、この方法は前記製造番号等を正規の購入者から教えてもらえば、他人がその製造番号をインストール時に入力することによって容易にコピーすることが可能となるという欠点がある。また、いったんインストールされてしまえば不正コピーか正規購入かの区別もできない。
第2には、ソフトウェアのコンピュータへのインストールは自由にさせるが、そのソフトウェアの実行を正規購入者にのみ許可するというものであり、そのために、特殊なハードウェアキー(ドングル)をコンピュータに装着させ、このハードウェアキーが無いとソフトウェアが動作しないようにしている。
しかし、この方法はハードウェアキーを利用するためコストアップとなるとともに、ハードウェアキーを装着するためのインタフェースをコンピュータ側に設けなければならず、そのインタフェースを有しないコンピュータでは利用できない。また、複数のソフトウェアを同時に使用するような場合は、すべてのソフトウェアについての対応するハードウェアキーを装着しなければならず、装着が煩雑であるという問題がある。
第3には、ソフトウェア供給者が認めたコンピュータにのみインストールを許可するという方法がある(特許文献1参照)。これはそのコンピュータが故障して買い換えた場合や、同一ユーザの予備のコンピュータでは使用できないという問題がある。
第4には、ライセンス管理・監視サーバによってライセンス利用状況を監視するものであるが(特許文献2参照)、サーバの導入コストがかかることや、該サーバによって監視されるクライアントコンピュータが常にネットワークに接続されている必要があるため、スタンドアロンのコンピュータは管理できないという不都合がある。
特開2000−293368
特開平10−228504
第1には、ソフトウェアのインストールを正規の購入者のみに許可するというものであり、そのために、該ソフトウェアに添付された製造番号等をインストール時に入力させるという方法が一般的に行われている。
しかし、この方法は前記製造番号等を正規の購入者から教えてもらえば、他人がその製造番号をインストール時に入力することによって容易にコピーすることが可能となるという欠点がある。また、いったんインストールされてしまえば不正コピーか正規購入かの区別もできない。
第2には、ソフトウェアのコンピュータへのインストールは自由にさせるが、そのソフトウェアの実行を正規購入者にのみ許可するというものであり、そのために、特殊なハードウェアキー(ドングル)をコンピュータに装着させ、このハードウェアキーが無いとソフトウェアが動作しないようにしている。
しかし、この方法はハードウェアキーを利用するためコストアップとなるとともに、ハードウェアキーを装着するためのインタフェースをコンピュータ側に設けなければならず、そのインタフェースを有しないコンピュータでは利用できない。また、複数のソフトウェアを同時に使用するような場合は、すべてのソフトウェアについての対応するハードウェアキーを装着しなければならず、装着が煩雑であるという問題がある。
第3には、ソフトウェア供給者が認めたコンピュータにのみインストールを許可するという方法がある(特許文献1参照)。これはそのコンピュータが故障して買い換えた場合や、同一ユーザの予備のコンピュータでは使用できないという問題がある。
第4には、ライセンス管理・監視サーバによってライセンス利用状況を監視するものであるが(特許文献2参照)、サーバの導入コストがかかることや、該サーバによって監視されるクライアントコンピュータが常にネットワークに接続されている必要があるため、スタンドアロンのコンピュータは管理できないという不都合がある。
上述のように、コンピュータのソフトウェアの不正利用は正規の購入者の協力があれば可能であることから、これを完全になくすことはできないと考えられる。また、正規の購入者が自己の使用のためにコピーすることまでを制限することが、正規ユーザの不利益になる場合もある。
けだし、不正利用者は、不正利用を行ってもそれが外部に知られない限りは不正利用を止めようとしないと思われるので、不正利用していることを第三者が簡単に知ることができるようにすれば効果的である。
そこで、本発明では、これまでの発想の転換を図り、正規の購入者以外の者がそのソフトウェアをコピーして使用した場合に、その不正利用の事実を第三者に知らせるようにすることで、コピーしようとする心理を抑制し、結果的にソフトウェアの不正利用を抑止することを目的とする。
けだし、不正利用者は、不正利用を行ってもそれが外部に知られない限りは不正利用を止めようとしないと思われるので、不正利用していることを第三者が簡単に知ることができるようにすれば効果的である。
そこで、本発明では、これまでの発想の転換を図り、正規の購入者以外の者がそのソフトウェアをコピーして使用した場合に、その不正利用の事実を第三者に知らせるようにすることで、コピーしようとする心理を抑制し、結果的にソフトウェアの不正利用を抑止することを目的とする。
本発明はコンピュータのソフトウェアライセンス認証システムに関し、本発明の上記目的は、ソフトウェアの製品固有情報と該ソフトウェアを使用するユーザのユーザ固有情報とから生成されたライセンス番号の正当性を検証するライセンス正当性検証手段と、
前記検証の結果、正当であった場合にのみ前記ソフトウェアの製品固有情報、ユーザ固有情報及び前記ライセンス番号を含むライセンス許可情報を記憶手段の所定の領域に書き込むとともに前記ソフトウェアの動作を許可するソフトウェア動作許可手段と、
前記ソフトウェアにより生成されるアプリケーションデータと前記ライセンス許可情報のうち前記ユーザを特定可能な部分とを対象としてデジタル署名を行い、前記アプリケーションデータ、前記ライセンス許可情報のうち前記ユーザを特定可能な部分、及び前記デジタル署名を一つのファイルとして作成するデジタル署名手段と、前記デジタル署名の認証を行うデジタル署名認証手段と、を具備したソフトウェアライセンス認証システムであって、前記ファイルが前記ソフトウェアに読み込まれ、前記デジタル署名認証手段によるデジタル認証に成功すると、前記ユーザ固有情報が表示されることを特徴とするコンピュータのソフトウェアライセンス認証システムによって達成される。
前記検証の結果、正当であった場合にのみ前記ソフトウェアの製品固有情報、ユーザ固有情報及び前記ライセンス番号を含むライセンス許可情報を記憶手段の所定の領域に書き込むとともに前記ソフトウェアの動作を許可するソフトウェア動作許可手段と、
前記ソフトウェアにより生成されるアプリケーションデータと前記ライセンス許可情報のうち前記ユーザを特定可能な部分とを対象としてデジタル署名を行い、前記アプリケーションデータ、前記ライセンス許可情報のうち前記ユーザを特定可能な部分、及び前記デジタル署名を一つのファイルとして作成するデジタル署名手段と、前記デジタル署名の認証を行うデジタル署名認証手段と、を具備したソフトウェアライセンス認証システムであって、前記ファイルが前記ソフトウェアに読み込まれ、前記デジタル署名認証手段によるデジタル認証に成功すると、前記ユーザ固有情報が表示されることを特徴とするコンピュータのソフトウェアライセンス認証システムによって達成される。
本発明に係るソフトウェアライセンス認証システムによれば、ソフトウェアの不正コピーを行ったことが第三者に容易に分かるので、コンピュータソフトウェアの不正コピーを心理面から抑止することができる。
ソフトウェア(アプリケーションプログラム)によって作成されるデータにデジタル署名を入れることで、特別な監視サーバを用いることなく、データファイルを見るだけでいつ誰がソフトウェアを利用したかを証明・追跡することができる。
ソフトウェア(アプリケーションプログラム)によって作成されるデータにデジタル署名を入れることで、特別な監視サーバを用いることなく、データファイルを見るだけでいつ誰がソフトウェアを利用したかを証明・追跡することができる。
従来は、データファイルにコメントとして作成者の名称をいれることができたが、簡単に改変できるため、あまり意味がなかった。このため、データファイルからは誰がそのソフトウェアを利用したかを証明することはできなかった。
本発明は、簡単に言えば、ライセンスを受けたソフトウェアで作成されたアプリケーションデータ(ワープロ文書等)にデジタル署名を行えば、その作成された文書ファイル等に前記ライセンスを受けた正規ユーザの情報(名前)が自動的に埋め込まれるような仕組みにすることにより、正規ユーザ以外の者がそのソフトウェアを用いて文書ファイルを作成しても正規ユーザの情報が書き込まれようにして、ソフトウェアの不正コピーを行ったことが第三者に容易に分かるようにするものである。
本発明は、簡単に言えば、ライセンスを受けたソフトウェアで作成されたアプリケーションデータ(ワープロ文書等)にデジタル署名を行えば、その作成された文書ファイル等に前記ライセンスを受けた正規ユーザの情報(名前)が自動的に埋め込まれるような仕組みにすることにより、正規ユーザ以外の者がそのソフトウェアを用いて文書ファイルを作成しても正規ユーザの情報が書き込まれようにして、ソフトウェアの不正コピーを行ったことが第三者に容易に分かるようにするものである。
本発明に係るコンピュータのソフトウェアライセンス認証システムにおいては、製造番号(ソフトウェアの製品固有情報の一例であり、通常はソフトウェアのパッケージに書かれている。)とは別にライセンス番号を発行する点が特徴となっている。前記ライセンス番号は、ユーザ固有情報と製造番号とを関連付けて作成されるため、製造番号だけがコピーされてもソフトウェアを利用できない。ただし、ライセンス番号、ユーザ固有情報及び製造番号のすべてをコピーすれば不正利用できるが、ソフトウェアをコピーしても、それによって作られたデータにデジタル署名することで正規ユーザの署名が入り、実際にデータを作成した者(不正利用者)の名前と一致しなくなる。これが不正コピーの抑止力となる。この抑止は心理的効果である。
図1は、本発明に係るコンピュータのソフトウェアライセンス認証システムを利用して、そのソフトウェアの利用者がライセンスを受けた正当な利用者であることを検証するための一連の手続きの流れを示す図である。
まずはじめに、ソフトウェア製造者が、製造したソフトウェアに製造番号を付与する(ステップS1)。製造番号はソフトウェアの製品固有情報であり、ユニークな番号である。
製造番号付与の目的は、出荷時点の一意性(ユニーク性)を製品に付与することであり、形式は次のようになっている。
「1111-2222-2222-3333-4444-4444」
最初の4桁「1111」の部分はソフトウェアの種類を示している。また、次の8桁、「2222-2222」の部分は同じソフトウェアの種類の中における製品の固有番号であり、例えば、ロット番号+シリアル番号(通し番号)で構成される。
さらに、次の4桁、「3333」の部分はそれ以前の12桁の部分から特殊な暗号式で生成されたコードであり、製造者にしか発行できず、製造者にしか検証できない。最後の8桁、「4444-4444」の部分は、それ以前の16桁の部分から特殊な暗号式(これはアプリケーションソフトの中にも組み込まれている。)で生成されたコードであり、製造者が発行し、アプリケーションソフトでも検証可能なものである。
以上のように製造番号は、2重の暗号コードが組み込まれており、偽造が困難である。
製造番号付与の目的は、出荷時点の一意性(ユニーク性)を製品に付与することであり、形式は次のようになっている。
「1111-2222-2222-3333-4444-4444」
最初の4桁「1111」の部分はソフトウェアの種類を示している。また、次の8桁、「2222-2222」の部分は同じソフトウェアの種類の中における製品の固有番号であり、例えば、ロット番号+シリアル番号(通し番号)で構成される。
さらに、次の4桁、「3333」の部分はそれ以前の12桁の部分から特殊な暗号式で生成されたコードであり、製造者にしか発行できず、製造者にしか検証できない。最後の8桁、「4444-4444」の部分は、それ以前の16桁の部分から特殊な暗号式(これはアプリケーションソフトの中にも組み込まれている。)で生成されたコードであり、製造者が発行し、アプリケーションソフトでも検証可能なものである。
以上のように製造番号は、2重の暗号コードが組み込まれており、偽造が困難である。
次に、ユーザがソフトウェアを購入し、ライセンス番号の発行を請求し、発行を受ける(ステップS2)。店頭などで販売されるソフトウェアパッケージには、中に製造番号を記入したメモが外から見えないように梱包されている。なお、多数利用する企業ユーザなどには、ソフトウェアを格納したメディア(CD−ROM等)は一つだけ販売し、製造番号のリストを必要な数だけ別途販売することもある。
また、インターネットによるソフトウェア販売の場合、ソフトウェアそのものはオンラインで無償ダウンロードできるようにし、製造番号を代金と引き換えに販売する形式のものもある。
前記製造番号とユーザ固有情報(氏名、Eメールアドレス、住所、電話番号等)とを前記ソフトウェア製造者(あるいは、その委託を受けたライセンス発行機関)に知らせ、ライセンス番号の発行を受ける。詳細は後述するが、オンライン又はオフラインのいずれでもよい。
また、インターネットによるソフトウェア販売の場合、ソフトウェアそのものはオンラインで無償ダウンロードできるようにし、製造番号を代金と引き換えに販売する形式のものもある。
前記製造番号とユーザ固有情報(氏名、Eメールアドレス、住所、電話番号等)とを前記ソフトウェア製造者(あるいは、その委託を受けたライセンス発行機関)に知らせ、ライセンス番号の発行を受ける。詳細は後述するが、オンライン又はオフラインのいずれでもよい。
次に、ユーザは発行されたライセンス番号を、そのソフトウェアを動作させるコンピュータに登録し、ソフトウェアを完全に動作可能な状態にする(ステップS3)。
次に、そのソフトウェアを用いて作成したデータ(ソフトウェアがワープロソフトならば文書データになる。)に対してデジタル署名を行う(ステップS4)。署名対象には前記作成されたデータのほかに、ライセンス許可情報(ユーザ固有情報+ライセンス番号+製造番号)のうちユーザを特定できる部分、及び現在時刻(ソフトで自動挿入される。)をも含めるものとする。
そして前記アプリケーションデータ、前記ライセンス許可情報のうち前記ユーザを特定可能な部分、署名時刻、及び前記デジタル署名を一つのファイルとして作成する。
次に、前記作成されたファイルを受け取った第三者が前記ソフトウェアを用いてデジタル署名の認証を行い、認証に成功すると前記ライセンス許可情報のうち前記ユーザを特定可能な部分が表示され、そのファイルを作成した者が誰であるかが前記第三者に知られるところとなる(ステップS5)。もし、不正コピーを行ったソフトウェアでアプリケーションデータを作成しそれにデジタル署名を行えば、正規ユーザの署名が入るので、不正コピーを行ったことが第三者に知られてしまう。これが不正コピーの心理的な抑止力となる。
次に、そのソフトウェアを用いて作成したデータ(ソフトウェアがワープロソフトならば文書データになる。)に対してデジタル署名を行う(ステップS4)。署名対象には前記作成されたデータのほかに、ライセンス許可情報(ユーザ固有情報+ライセンス番号+製造番号)のうちユーザを特定できる部分、及び現在時刻(ソフトで自動挿入される。)をも含めるものとする。
そして前記アプリケーションデータ、前記ライセンス許可情報のうち前記ユーザを特定可能な部分、署名時刻、及び前記デジタル署名を一つのファイルとして作成する。
次に、前記作成されたファイルを受け取った第三者が前記ソフトウェアを用いてデジタル署名の認証を行い、認証に成功すると前記ライセンス許可情報のうち前記ユーザを特定可能な部分が表示され、そのファイルを作成した者が誰であるかが前記第三者に知られるところとなる(ステップS5)。もし、不正コピーを行ったソフトウェアでアプリケーションデータを作成しそれにデジタル署名を行えば、正規ユーザの署名が入るので、不正コピーを行ったことが第三者に知られてしまう。これが不正コピーの心理的な抑止力となる。
図2は、ソフトウェアの購入からライセンス番号の発行を受けるまでの流れを示すフローチャートであり、図1のステップS2の内容をブレイクダウンしたものである。
ユーザがソフトウェアを購入し、パッケージ等に記された製造番号を入手する(ステップS21)。次に、前記ソフトウェアをインストールし(ステップS22)、ソフトウェアを起動させる(ステップS23)。
次にそのソフトウェアに搭載されているライセンス番号取得機能を立ち上げる(ステップS24)。Webブラウザが起動し、ライセンス番号発行のWebサーバのURLが表示される。WebサーバのURLは、マニュアルに記載され、それをユーザが入力するようにしてもよい。前記サーバにアクセスしてライセンス番号の発行を受ける(ステップS25)。
図3はオンラインでライセンス番号の発行を受ける場合のシステム系統図であり、図4はそのフローチャートである。以下、図3、図4に基づいてライセンス番号の発行手続きについて詳細に説明する。
ユーザがソフトウェアを購入し、パッケージ等に記された製造番号を入手する(ステップS21)。次に、前記ソフトウェアをインストールし(ステップS22)、ソフトウェアを起動させる(ステップS23)。
次にそのソフトウェアに搭載されているライセンス番号取得機能を立ち上げる(ステップS24)。Webブラウザが起動し、ライセンス番号発行のWebサーバのURLが表示される。WebサーバのURLは、マニュアルに記載され、それをユーザが入力するようにしてもよい。前記サーバにアクセスしてライセンス番号の発行を受ける(ステップS25)。
図3はオンラインでライセンス番号の発行を受ける場合のシステム系統図であり、図4はそのフローチャートである。以下、図3、図4に基づいてライセンス番号の発行手続きについて詳細に説明する。
図3は、ライセンス番号の発行をオンラインで行う場合のシステム系統図であるが、10はソフトウェアがインストールされるユーザのコンピュータ、20はWebサーバ、30は前記Webサーバ20と接続されたライセンス発行サーバ、31は前記ライセンス発行サーバ30に接続されたデータベースである。コンピュータ10とWebサーバ20はインターネット40を介して相互に通信可能に接続されている。なお、セキュリティ上の理由から、Webサーバ20はファイアウォール50を介してインターネットに接続されている
また、Webサーバ20とライセンス発行サーバ30を別々に設けているのは、インターネットからの攻撃を防御するためである。
前記Webサーバ20はユーザからのライセンス番号依頼を受付け、ライセンス発行サーバ30への取次ぎを行うものである。ライセンス発行サーバ30はユーザから送信された所定のデータに基づいてライセンス番号を生成するとともに、発行履歴をデータベース31に登録する働きをする。
また、Webサーバ20とライセンス発行サーバ30を別々に設けているのは、インターネットからの攻撃を防御するためである。
前記Webサーバ20はユーザからのライセンス番号依頼を受付け、ライセンス発行サーバ30への取次ぎを行うものである。ライセンス発行サーバ30はユーザから送信された所定のデータに基づいてライセンス番号を生成するとともに、発行履歴をデータベース31に登録する働きをする。
次に、図4に基づいてオンラインによるライセンス番号の発行手順について説明する。
ユーザが前記ソフトウェアを起動すると、ライセンス番号取得機能が立ち上がり、Webブラウザが起動し、Webサーバ20のURLが表示される。ユーザがそのURLをクリックするとWebサーバ20に接続され(ステップS251)、コンピュータ10のディスプレイにメニュー画面(図5)が表示される。なお、Webサーバ20は、セキュア(安全な)通信方式をとるため、URLは、http://www.…co.jpでなくhttps://www.…co.jpとなる。
ユーザがメニュー画面において、「1 ライセンス番号発行」を選択すると(ステップS252)、ライセンス番号発行データ入力画面(図6)が表示されるので、製造番号、ユーザ名等をデータ入力し、「発行」ボタンをクリックする(ステップS253)。なお、図6における[その他情報]とは、例えば、ユーザの住所や電話番号などの本人を特定できる情報を指す。より強固にするために、利用するデジタル証明書の固有情報(DN:Distinguish Name)を追加入力させてもよい。あるいは、ユーザ名やe-mailアドレスの情報が証明書に含まれていることを条件としてもよい。
「発行」ボタンがクリックされると、Webサーバ20が前記入力されたデータをライセンス発行サーバ30へ転送する(ステップS254)。データを受け取ったライセンス発行サーバ30は、まず、「製造番号」が真正なものであるかどうかをチェックする。ここで、製造番号が真正なものであれば、その製造番号に対してライセンス番号が未発行であるか否かをデータベース31を検索してチェックする。このチェックは、ライセンス番号の二重取りを防止するためである。
ライセンス番号が未発行であれば、ライセンス発行サーバ30は前記ユーザ入力情報を基にしてライセンス番号を生成し、データベース31に製造番号と関連付けて登録するとともに、Webサーバ20に対してライセンス番号を送る(ステップS255)。
このライセンス番号の形式は、例えば次のような形式になっている。
「1111-1111-2222-3333-3333」
ここに、"1111-1111"の部分はライセンス通し番号であり、"2222"の部分は、製造番号、ユーザ名、e-mailアドレス、その他情報、及び前記ライセンス通し番号から特殊な暗号で生成されたコードである。このコードは、ライセンス発行サーバ30でしか生成できず、その検証もライセンス発行サーバ30のみが可能なものである。
また、"3333-3333"の部分は、製造番号、ユーザ名、e-mailアドレス、その他情報、及び"1111-1111-2222"の部分から特殊な暗号で生成されたコードであり、ライセンス発行サーバ30で生成するが、検証は前記ソフトウェア(アプリケーションプログラム)でも可能である。これにより、ライセンス番号を偽造することは事実上不可能となる。
ユーザが前記ソフトウェアを起動すると、ライセンス番号取得機能が立ち上がり、Webブラウザが起動し、Webサーバ20のURLが表示される。ユーザがそのURLをクリックするとWebサーバ20に接続され(ステップS251)、コンピュータ10のディスプレイにメニュー画面(図5)が表示される。なお、Webサーバ20は、セキュア(安全な)通信方式をとるため、URLは、http://www.…co.jpでなくhttps://www.…co.jpとなる。
ユーザがメニュー画面において、「1 ライセンス番号発行」を選択すると(ステップS252)、ライセンス番号発行データ入力画面(図6)が表示されるので、製造番号、ユーザ名等をデータ入力し、「発行」ボタンをクリックする(ステップS253)。なお、図6における[その他情報]とは、例えば、ユーザの住所や電話番号などの本人を特定できる情報を指す。より強固にするために、利用するデジタル証明書の固有情報(DN:Distinguish Name)を追加入力させてもよい。あるいは、ユーザ名やe-mailアドレスの情報が証明書に含まれていることを条件としてもよい。
「発行」ボタンがクリックされると、Webサーバ20が前記入力されたデータをライセンス発行サーバ30へ転送する(ステップS254)。データを受け取ったライセンス発行サーバ30は、まず、「製造番号」が真正なものであるかどうかをチェックする。ここで、製造番号が真正なものであれば、その製造番号に対してライセンス番号が未発行であるか否かをデータベース31を検索してチェックする。このチェックは、ライセンス番号の二重取りを防止するためである。
ライセンス番号が未発行であれば、ライセンス発行サーバ30は前記ユーザ入力情報を基にしてライセンス番号を生成し、データベース31に製造番号と関連付けて登録するとともに、Webサーバ20に対してライセンス番号を送る(ステップS255)。
このライセンス番号の形式は、例えば次のような形式になっている。
「1111-1111-2222-3333-3333」
ここに、"1111-1111"の部分はライセンス通し番号であり、"2222"の部分は、製造番号、ユーザ名、e-mailアドレス、その他情報、及び前記ライセンス通し番号から特殊な暗号で生成されたコードである。このコードは、ライセンス発行サーバ30でしか生成できず、その検証もライセンス発行サーバ30のみが可能なものである。
また、"3333-3333"の部分は、製造番号、ユーザ名、e-mailアドレス、その他情報、及び"1111-1111-2222"の部分から特殊な暗号で生成されたコードであり、ライセンス発行サーバ30で生成するが、検証は前記ソフトウェア(アプリケーションプログラム)でも可能である。これにより、ライセンス番号を偽造することは事実上不可能となる。
Webサーバ20はライセンス発行サーバ30からライセンス番号を受け取ると(ステップS256)、それをユーザのコンピュータに送る(ステップS257)。その結果、ユーザのコンピュータ10のディスプレイには図7に示す完了画面が表示される。ユーザが「OK」ボタンを押すことにより手続きが完了する。
一方、製造番号が不正なものであったり、ライセンス番号が既に発行済みであったりした場合には、ライセンス発行サーバ30はその旨をWebサーバ20に通知し(ステップS258)、Webサーバ20はそれをユーザに通知する(ステップS259)。
なお、ライセンス番号の通知をe-mailで行う運用としてもよい。いうまでもないが、Webサーバ20へは常時接続する必要はなく、ライセンス番号発行時のみ接続すればよい。
以上のように、本実施例においては、ライセンス番号の発行を自動化、高速化するためにWebサーバで行っているが、郵送等のオフラインによる手段も用いることができる。
一方、製造番号が不正なものであったり、ライセンス番号が既に発行済みであったりした場合には、ライセンス発行サーバ30はその旨をWebサーバ20に通知し(ステップS258)、Webサーバ20はそれをユーザに通知する(ステップS259)。
なお、ライセンス番号の通知をe-mailで行う運用としてもよい。いうまでもないが、Webサーバ20へは常時接続する必要はなく、ライセンス番号発行時のみ接続すればよい。
以上のように、本実施例においては、ライセンス番号の発行を自動化、高速化するためにWebサーバで行っているが、郵送等のオフラインによる手段も用いることができる。
次に、ライセンス番号の発行を受けたユーザは発行されたライセンス番号を、そのソフトウェアを動作させるコンピュータに登録し、ソフトウェアを完全に動作可能な状態にする(図1のステップS3)。これについて図8のフローチャートを参照して詳細に説明する。
ユーザがソフトウェアを起動させると(ステップS31)、ライセンス番号設定入力画面(図9)が表示される(ステップS32)。この入力画面において所定の必要事項を入力し、OKボタンをクリックする(ステップS33)。
そうすると、ソフトウェアが入力された製造番号及びライセンス番号が正しいか否かを検証する。すなわち、アプリケーションソフトウェアで検証できる部分のみの検証となる。具体的には、製造番号の中の「4444-4444」の部分、及びライセンス番号の中の「3333-3333」の部分が、入力された他の情報(ユーザ名等)との関係からみて正しいか否かをチェックすることになる。従って、ユーザ名のところには正規ユーザの名前を入力する必要がある。
入力したデータが正しくない場合は、入力した値が無効となり、再入力が促される(ステップS34)。入力したデータがすべて正しい場合には、上記の入力されたデータが「ライセンス許可情報」としてコンピュータ10の記憶部内の特別な領域に格納されるとともに(ステップS35)、ソフトウェアの動作制限が解除される(ステップS36)。なお、前記ライセンス許可情報はユーザがアクセスすることはできないようになっているので、改竄することも不可能である。
かかるライセンス番号の設定が正しく行われない場合は、アプリケーションプログラムが全く動作しないか、もしくは機能制限付きでしか動作しない。
ユーザがソフトウェアを起動させると(ステップS31)、ライセンス番号設定入力画面(図9)が表示される(ステップS32)。この入力画面において所定の必要事項を入力し、OKボタンをクリックする(ステップS33)。
そうすると、ソフトウェアが入力された製造番号及びライセンス番号が正しいか否かを検証する。すなわち、アプリケーションソフトウェアで検証できる部分のみの検証となる。具体的には、製造番号の中の「4444-4444」の部分、及びライセンス番号の中の「3333-3333」の部分が、入力された他の情報(ユーザ名等)との関係からみて正しいか否かをチェックすることになる。従って、ユーザ名のところには正規ユーザの名前を入力する必要がある。
入力したデータが正しくない場合は、入力した値が無効となり、再入力が促される(ステップS34)。入力したデータがすべて正しい場合には、上記の入力されたデータが「ライセンス許可情報」としてコンピュータ10の記憶部内の特別な領域に格納されるとともに(ステップS35)、ソフトウェアの動作制限が解除される(ステップS36)。なお、前記ライセンス許可情報はユーザがアクセスすることはできないようになっているので、改竄することも不可能である。
かかるライセンス番号の設定が正しく行われない場合は、アプリケーションプログラムが全く動作しないか、もしくは機能制限付きでしか動作しない。
次に、そのソフトウェアを用いて作成したデータ(ソフトウェアがワープロソフトならば文書データになる。)に対してデジタル署名を行う(図1のステップS4)。署名対象には前記作成されたデータのほかに、ライセンス許可情報(ユーザ固有情報+ライセンス番号+製造番号)のうちユーザを特定できる部分、及び署名時刻(自動挿入される。)をも含めるものとする。より強固にするために、固有情報(DN distinguish Name)を登録済みの証明書でデジタル署名することも可能である。または、ユーザ名やe-mailの情報が証明書に含まれていることを条件としてもよい。
これについて図10のフローチャートを参照して詳細に説明する。
ユーザがソフトウェアを起動し(ステップS41)、そのソフトウェアを使用してデータを編集する(ステップS42)。データを編集するとは、実際には、文章や表などを作成することである。
ユーザがデータ編集を終了し、ソフトウェアが内蔵しているデジタル署名機能を選択し起動させる(ステップS43)。
次に、前記編集したデータと所定の情報(及び現在時刻)とをデジタル署名の対象に含める(ステップS44)。
ここに、所定の情報(「ライセンス許可情報のうちユーザを特定できる部分」を指す。)とは以下の内容を指す。
(1)製造番号の"1111-2222-2222"の部分(製品を特定できる部分である)。製造番号の後半残りは偽造防止用の暗号コードであり、署名対象に含めない。
(2)ライセンス番号の"1111-1111"の部分。ライセンス番号の後半残りは偽造防止用の暗号コードと実行権利を与える暗号コードであり、署名対象に含めない。
(3)ユーザ名及びe-mailアドレス。メモやその他の情報は、個人情報保護の観点から含めない。
次に、前記署名対象部分のハッシュ値を計算し(これをハッシュ値Aという。)、デジタル署名を行う(ステップS45)。なお、デジタル署名を行うため、しかるべき発行機関から証明書の発行を受けておくものとする。
デジタル署名が終了したら、ファイルに作成データ、前記所定情報及び時刻、前記デジタル署名を書き込む(ステップS46)。
このように、データファイルには、データ以外に、ユーザを特定する情報が書き込まれ、その情報を含めてデジタル署名されているため、誰がいつこのデータを作成したかが分かるようになっている。
図11はコンピュータの記憶部(図示せず)に記憶されたファイルとデータの関係を示す図である。前記ステップS3において登録されたライセンス許可情報(ユーザ固有情報+ライセンス番号+製造番号)は、その性質上大きく二つに分けられる。一つは、ユーザが特定できる部分であり、他は実行許可となる暗号部分やその他情報(住所、電話番号等)である。なお、ライセンス許可情報は物理的に二つに分けられているわけではない。
データを作成した後に、ソフトウェアは前記ライセンス許可情報のうち、ユーザを特定できる部分を読み出し、それとデータ及び現在時刻とを一緒にしてデジタル署名を行い、前記データ、ライセンス情報のうちユーザが特定できる部分、署名時刻、前記デジタル署名がファイルに書き込まれる。
これについて図10のフローチャートを参照して詳細に説明する。
ユーザがソフトウェアを起動し(ステップS41)、そのソフトウェアを使用してデータを編集する(ステップS42)。データを編集するとは、実際には、文章や表などを作成することである。
ユーザがデータ編集を終了し、ソフトウェアが内蔵しているデジタル署名機能を選択し起動させる(ステップS43)。
次に、前記編集したデータと所定の情報(及び現在時刻)とをデジタル署名の対象に含める(ステップS44)。
ここに、所定の情報(「ライセンス許可情報のうちユーザを特定できる部分」を指す。)とは以下の内容を指す。
(1)製造番号の"1111-2222-2222"の部分(製品を特定できる部分である)。製造番号の後半残りは偽造防止用の暗号コードであり、署名対象に含めない。
(2)ライセンス番号の"1111-1111"の部分。ライセンス番号の後半残りは偽造防止用の暗号コードと実行権利を与える暗号コードであり、署名対象に含めない。
(3)ユーザ名及びe-mailアドレス。メモやその他の情報は、個人情報保護の観点から含めない。
次に、前記署名対象部分のハッシュ値を計算し(これをハッシュ値Aという。)、デジタル署名を行う(ステップS45)。なお、デジタル署名を行うため、しかるべき発行機関から証明書の発行を受けておくものとする。
デジタル署名が終了したら、ファイルに作成データ、前記所定情報及び時刻、前記デジタル署名を書き込む(ステップS46)。
このように、データファイルには、データ以外に、ユーザを特定する情報が書き込まれ、その情報を含めてデジタル署名されているため、誰がいつこのデータを作成したかが分かるようになっている。
図11はコンピュータの記憶部(図示せず)に記憶されたファイルとデータの関係を示す図である。前記ステップS3において登録されたライセンス許可情報(ユーザ固有情報+ライセンス番号+製造番号)は、その性質上大きく二つに分けられる。一つは、ユーザが特定できる部分であり、他は実行許可となる暗号部分やその他情報(住所、電話番号等)である。なお、ライセンス許可情報は物理的に二つに分けられているわけではない。
データを作成した後に、ソフトウェアは前記ライセンス許可情報のうち、ユーザを特定できる部分を読み出し、それとデータ及び現在時刻とを一緒にしてデジタル署名を行い、前記データ、ライセンス情報のうちユーザが特定できる部分、署名時刻、前記デジタル署名がファイルに書き込まれる。
以下に述べる様に、このファイルが第三者に渡されたとき、前記ソフトウェアと同一のソフトウェアでデジタル署名の認証を行う際に、3つの情報がすべて読み出され、認証に成功すると、ライセンス許可情報のうちユーザが特定できる部分が表示され、誰がいつこのデータを作成したのかが分かるようになっている。以下、図12に示すフローチャートに基づいて、デジタル署名認証の手順について説明する。
デジタル署名の認証を行う第三者(以下、「認証者」という。)が自分のコンピュータにインストールされているソフトウェアを起動する(ステップS51)。正規ユーザが作成したファイルを受け取った認証者が受け取ったファイルをコンピュータに読み込む(ステップS52)。
ソフトウェアのデジタル署名認証機能を選択し、起動させる(ステップS53)。前記ファイルに含まれるデータ(アプリケーションデータ、前記所定情報及び時刻、前記デジタル署名)の中のアプリケーションデータ、前記所定情報及び時刻からハッシュ値Bを計算する(ステップS54)。また、前記デジタル署名をデータ作成者(正規ユーザ)の公開鍵で復号化する(ステップS55)。復号化できない場合は、デジタル証明書が有効でない(公開鍵が正規ユーザのものでない)旨の表示がなされて終了する(ステップS59)。
復号化ができた場合はハッシュ値Aを取り出し(ステップS56)、前記ハッシュ値Bと一致するか否かをチェックする。
一致した場合はデジタル証明書の有効性をチェックする。有効期限が切れている場合があるからである。
チェックの結果、デジタル証明書が有効である場合は、認証に成功した旨の表示(表示文例1)がなされ(ステップS57)、有効でない場合はその旨の表示(表示文例2又は3)がなされる(ステップS59)。
一方、ハッシュ値AとBが一致しなかった場合は、アプリケーションデータ又は所定情報が改竄されていることを意味しているので、その旨を表示(表示文例4)する(ステップS58)。
デジタル署名の認証を行う第三者(以下、「認証者」という。)が自分のコンピュータにインストールされているソフトウェアを起動する(ステップS51)。正規ユーザが作成したファイルを受け取った認証者が受け取ったファイルをコンピュータに読み込む(ステップS52)。
ソフトウェアのデジタル署名認証機能を選択し、起動させる(ステップS53)。前記ファイルに含まれるデータ(アプリケーションデータ、前記所定情報及び時刻、前記デジタル署名)の中のアプリケーションデータ、前記所定情報及び時刻からハッシュ値Bを計算する(ステップS54)。また、前記デジタル署名をデータ作成者(正規ユーザ)の公開鍵で復号化する(ステップS55)。復号化できない場合は、デジタル証明書が有効でない(公開鍵が正規ユーザのものでない)旨の表示がなされて終了する(ステップS59)。
復号化ができた場合はハッシュ値Aを取り出し(ステップS56)、前記ハッシュ値Bと一致するか否かをチェックする。
一致した場合はデジタル証明書の有効性をチェックする。有効期限が切れている場合があるからである。
チェックの結果、デジタル証明書が有効である場合は、認証に成功した旨の表示(表示文例1)がなされ(ステップS57)、有効でない場合はその旨の表示(表示文例2又は3)がなされる(ステップS59)。
一方、ハッシュ値AとBが一致しなかった場合は、アプリケーションデータ又は所定情報が改竄されていることを意味しているので、その旨を表示(表示文例4)する(ステップS58)。
(表示文例1)
ユーザ名 "yamada"、e-mail "yamada@advance.co.jp"が、製造番号"1111-2222-2222"、ライセンス番号"1111-1111"の本ソフトウェアで2004年4月30日10時15分に作成されたこのデータは、○△機関が発行したyamadaさん用の有効期限2006年12月31日までの証明書でデジタル署名されています。デジタル署名の認証に成功しました。またデジタル証明書の認証にも成功しました。
(表示文例2)
ユーザ名 "yamada"、e-mail "yamada@advance.co.jp"が、製造番号"1111-2222-2222"、ライセンス番号"1111-1111"の本ソフトウェアで2004年4月30日10時15分に作成されたこのデータは、○△機関が発行したyamadaさん用の有効期限2006年12月31日までの証明書でデジタル署名されています。データの改ざんはありませんが、デジタル証明書の有効期限が切れています。
(表示文例3)
ユーザ名 "yamada"、e-mail "yamada@advance.co.jp"が、製造番号"1111-2222-2222"、ライセンス番号"1111-1111"の本ソフトウェアで2004年4月30日10時15分に作成されたこのデータは、○△機関が発行したyamadaさん用の有効期限2006年12月31日までの証明書でデジタル署名されています。データの改ざんはありませんが、このデジタル証明書の有効性を確認できませんでした。
(表示文例4)
デジタル署名の認証に失敗しました。データが改ざんされています。
ユーザ名 "yamada"、e-mail "yamada@advance.co.jp"が、製造番号"1111-2222-2222"、ライセンス番号"1111-1111"の本ソフトウェアで2004年4月30日10時15分に作成されたこのデータは、○△機関が発行したyamadaさん用の有効期限2006年12月31日までの証明書でデジタル署名されています。デジタル署名の認証に成功しました。またデジタル証明書の認証にも成功しました。
(表示文例2)
ユーザ名 "yamada"、e-mail "yamada@advance.co.jp"が、製造番号"1111-2222-2222"、ライセンス番号"1111-1111"の本ソフトウェアで2004年4月30日10時15分に作成されたこのデータは、○△機関が発行したyamadaさん用の有効期限2006年12月31日までの証明書でデジタル署名されています。データの改ざんはありませんが、デジタル証明書の有効期限が切れています。
(表示文例3)
ユーザ名 "yamada"、e-mail "yamada@advance.co.jp"が、製造番号"1111-2222-2222"、ライセンス番号"1111-1111"の本ソフトウェアで2004年4月30日10時15分に作成されたこのデータは、○△機関が発行したyamadaさん用の有効期限2006年12月31日までの証明書でデジタル署名されています。データの改ざんはありませんが、このデジタル証明書の有効性を確認できませんでした。
(表示文例4)
デジタル署名の認証に失敗しました。データが改ざんされています。
以上のように、デジタル署名の認証を行うことで誰にライセンスしたソフトウェアであるかがはっきりとわかるので、不正利用の心理的な抑止力となる。
10 ソフトウェア利用者コンピュータ
20 Webサーバ
30 ライセンス発行サーバ
31 ライセンス発行データベース
40 インターネット
50 ファイアウォール
20 Webサーバ
30 ライセンス発行サーバ
31 ライセンス発行データベース
40 インターネット
50 ファイアウォール
Claims (3)
- ソフトウェアの製品固有情報と該ソフトウェアを使用するユーザのユーザ固有情報とから生成されたライセンス番号の正当性を検証するライセンス正当性検証手段と、
前記検証の結果、正当であった場合にのみ前記ソフトウェアの製品固有情報、ユーザ固有情報及び前記ライセンス番号を含むライセンス許可情報を記憶手段の所定の領域に書き込むとともに前記ソフトウェアの動作を許可するソフトウェア動作許可手段と、
前記ソフトウェアにより生成されるアプリケーションデータと前記ライセンス許可情報のうち前記ユーザを特定可能な部分とを対象としてデジタル署名を行い、前記アプリケーションデータ、前記ライセンス許可情報のうち前記ユーザを特定可能な部分、及び前記デジタル署名を一つのファイルとして作成するデジタル署名手段と、
前記デジタル署名の認証を行うデジタル署名認証手段と、
を具備したソフトウェアライセンス認証システムであって、
前記ファイルが前記ソフトウェアに読み込まれ、前記デジタル署名認証手段によるデジタル認証に成功すると、前記ユーザ固有情報が表示されることを特徴とするコンピュータのソフトウェアライセンス認証システム。 - 前記ユーザ固有情報が、少なくとも前記ユーザの氏名を含むものである請求項1に記載のコンピュータのソフトウェアライセンス認証システム。
- 前記デジタル署名の対象に、署名を行う現在時刻をさらに含めたことを特徴とする請求項1又は2に記載のコンピュータのソフトウェアライセンス認証システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004143066A JP2005326994A (ja) | 2004-05-13 | 2004-05-13 | コンピュータのソフトウェアライセンス認証システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004143066A JP2005326994A (ja) | 2004-05-13 | 2004-05-13 | コンピュータのソフトウェアライセンス認証システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005326994A true JP2005326994A (ja) | 2005-11-24 |
Family
ID=35473320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004143066A Pending JP2005326994A (ja) | 2004-05-13 | 2004-05-13 | コンピュータのソフトウェアライセンス認証システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005326994A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150131590A (ko) * | 2014-05-15 | 2015-11-25 | 주식회사 이노티움 | 웹 접속 정보가 삽입된 실행 파일을 제공하는 실행 파일 제공 시스템 및 실행 파일 제공 방법 |
-
2004
- 2004-05-13 JP JP2004143066A patent/JP2005326994A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150131590A (ko) * | 2014-05-15 | 2015-11-25 | 주식회사 이노티움 | 웹 접속 정보가 삽입된 실행 파일을 제공하는 실행 파일 제공 시스템 및 실행 파일 제공 방법 |
KR101600023B1 (ko) | 2014-05-15 | 2016-03-04 | 주식회사 이노티움 | 웹 접속 정보가 삽입된 실행 파일을 제공하는 실행 파일 제공 시스템 및 실행 파일 제공 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7757077B2 (en) | Specifying security for an element by assigning a scaled value representative of the relative security thereof | |
US6772340B1 (en) | Digital rights management system operating on computing device and having black box tied to computing device | |
US7016498B2 (en) | Encrypting a digital object on a key ID selected therefor | |
US7529927B2 (en) | Specifying security for an element by assigning a scaled value representative of the relative security thereof | |
US7203966B2 (en) | Enforcement architecture and method for digital rights management system for roaming a license to a plurality of user devices | |
US7353209B1 (en) | Releasing decrypted digital content to an authenticated path | |
US7319759B1 (en) | Producing a new black box for a digital rights management (DRM) system | |
KR100912276B1 (ko) | 하드웨어 식별에 기초한 디지털권 관리 방법을 이용한 전자소프트웨어 배포 방법 및 시스템 | |
US5995625A (en) | Electronic cryptographic packing | |
US7305366B2 (en) | Content revocation and license modification in a digital rights management (DRM) system on a computing device | |
US20060064756A1 (en) | Digital rights management system based on hardware identification | |
JP2004206435A (ja) | ライセンス管理方法、およびライセンス管理システム | |
US20020169974A1 (en) | Detecting and responding to a clock rollback in a digital rights management system on a computing device | |
US20020019814A1 (en) | Specifying rights in a digital rights license according to events | |
JPWO2007108127A1 (ja) | システムプログラムダウンロードシステム | |
JP2007072608A (ja) | 機器情報送信プログラム、サービス制御プログラム、機器情報送信装置、サービス制御装置および機器情報送信方法 | |
JP3758316B2 (ja) | ソフトウェアライセンス管理装置および方法 | |
JP2005326994A (ja) | コンピュータのソフトウェアライセンス認証システム | |
JPH10222064A (ja) | デジタル情報管理システム、端末装置、情報管理センタ及びデジタル情報管理方法 | |
JP2003029863A (ja) | ソフトウェアライセンス管理システム | |
JP2007011535A (ja) | データファイル保護装置 | |
WO2001052471A1 (en) | Producing a new black box for a digital rights management (drm) system | |
JP2005196687A (ja) | 電子記録保護方法、プログラム、および情報処理装置 | |
KR20080004289A (ko) | 프로그램 불법설치 방지를 위한 웹 인증키 생성 시스템 및방법 |