(57)【要約】【課題】  ソフトウェア実行時ライセンス認証において、専用のハードウエアを使用せず、コンピュータ毎にユニークで可読性の低いライセンス情報を保持することが可能なライセンス認証方法及びライセンス認証装置を実現する。【解決手段】  提供されたソフトウェアをインストールするユーザコンピュータのＭＡＣアドレスをキーとしてライセンス情報を暗号化してファイル保存する第１ステップと、  前記ファイル保存されている暗号化ライセンス情報を、前記ＭＡＣアドレスをキーとして復号化する第２ステップと、  復号化された前記ライセンス情報に基づいて前記ソフトウェアのインストール又は実行に関する認証を行う第３ステップと、を備える。【選択図】                    図１
2007206928.tif 000002
【特許請求の範囲】
【請求項１】
提供されるソフトウェアをインストールするユーザコンピュータのＭＡＣアドレスをキーとしてライセンス情報を暗号化してファイル保存する第１ステップと、
前記ファイル保存されている暗号化ライセンス情報を、前記ＭＡＣアドレスをキーとして復号化する第２ステップと、
復号化された前記ライセンス情報に基づいて前記ソフトウェアのインストール又は実行に関する認証を行う第３ステップと、
を備えることを特徴とするライセンス認証方法。
【請求項２】
前記第２ステップ及び第３ステップは、前記ソフトウェアのインストール時に起動され、前記認証が成立した時にインストールが許可されることを特徴とする請求項１に記載のライセンス認証方法。
【請求項３】
前記第２ステップ及び第３ステップは、インストール済みの前記ソフトウェアを実行した時に起動され、前記認証が成立した時にその実行が許可されることを特徴とする請求項１に記載のライセンス認証方法。
【請求項４】
前記第２ステップは、復号化の成否を、前記ライセンス情報に含まれるＩＤ情報の一致により確認する成否判定ステップを含むことを特徴とする請求項１乃至３のいずれかに記載のライセンス認証方法。
【請求項５】
前記ライセンス情報が、前記提供されるソフトウェアに内在されていることを特徴とする請求項１乃至４のいずれかに記載のライセンス認証方法。
【請求項６】
暗号化された前記ライセンス情報は、前記ユーザコンピュータ内部にファイル保存されることを特徴とする請求項１乃至５のいずれかに記載のライセンス認証方法。
【請求項７】
提供されるソフトウェアをインストールするユーザコンピュータのＭＡＣアドレスをキーとしてライセンス情報を暗号化してファイル保存する暗号化手段と、
前記ファイル保存されている暗号化ライセンス情報を、前記ＭＡＣアドレスをキーとして復号化する復号化手段と、
復号化された前記ライセンス情報に基づいて前記ソフトウェアのインストール又は実行に関する認証を行う認証手段と、
を備えることを特徴とするライセンス認証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発ベンダ等から提供されるソフトウェアを、ユーザコンピュータにインストールする際に実行されるライセンス認証方法及びライセンス認証装置に関するものである。
【背景技術】
【０００２】
現在、ソフトウェアのライセンス認証方法は、大きく分けて２つに分類することができる。一つ目は、ソフトウェアのインストール時に、ユーザを認証する方法である。この方法は、ユーザがコンピュータシステムにソフトウェアをインストールする際、特定のライセンス情報を入力し、その情報に対して認証を行うものである。つまり、ライセンス情報を持つユーザに対して、ソフトウェアのインストールを許可することになる。
【０００３】
二つ目は、ソフトウェアの実行時にライセンスを認証する方法である。この方法は、システムが、ソフトウェアを実行する際、コンピュータ上に配置されたライセンス情報に対して認証を行うものである。つまり、ライセンス情報が配置されたコンピュータに対して、ソフトウェアの実行を許可するものである。
【０００４】
図５は、インストール時ライセンス認証の処理手順を示すフローチャートである。ステップＳ１はライセンス入力待ちであり、ベンダより任意の手段でユーザに対して発行されたライセンス情報を入力する。
【０００５】
ライセンス情報の発行手段は様々であり、Ｗｅｂを利用したものや、ソフトウェアにバンドルされるものがある。ステップＳ１で入力されたライセンス情報に対する認証が実行され、判定ステップＳ３の判定結果が適切であればステップＳ４でインストールが実行され、不適切であればインストールが実行されず終了となる。
【０００６】
この方法の特徴は、システムがライセンス情報を保持する必要がないため、ライセンス情報を保持するためのコストを低減することができる点である。しかし、その反面、ライセンス情報は、ユーザがインストール時にライセンス情報を扱うため、可読性が要求されるので、不正インストールが容易に行われる危険性が高い。
【０００７】
図６は、ソフトウェア実行時ライセンス認証の処理手順を示すフローチャートである。ステップＳ１はライセンスの取得である。ベンダは、事前に任意の手段でユーザコンピュータ上又は外部コンピュータ上のファイルにライセンス情報を配置・保持させておき、ユーザはソフトウェア実行時時にそのライセンス情報を呼び出して取得する。
【０００８】
ステップＳ２はライセンスの認証であり、前記ファイルより呼び出されたライセンス情報に基づいて認証する。判定ステップＳ３の判定結果が適切であればステップＳ４でソフトウェアが実行され、不適切であれば実行されず終了となる。
【０００９】
この方法の特徴は、コンピュータがライセンス情報を扱うため、ライセンス情報の可読性が要求されないことである。そのため、コンピュータ毎にユニークで可読性の低いライセンス情報を配置することで、ソフトウェアの不正実行を防止することが可能である。
【００１０】
しかし、コンピュータ毎に、ユニークで可読性の低いライセンスを配置・保持することは困難である。そのため、一般的に、ライセンス情報を保持するための専用ハードウエアを用意し、そこにベンダから発行されるライセンス情報を保持する技術を利用することが多い。
【００１１】
図７は、専用ハードウエアを用意し、そこにライセンス情報を保持する場合の認証システムの構成例を示す機能ブロック図である。１はソフトウェア開発ベンダであり、提供されたソフトウェア２は、ユーザコンピュータ３にインストールされる。３１はインストールされたソフトウェアファイルを示す。
【００１２】
インストールに先立ち、ユーザコンピュータ側からベンダ１に対してライセンス発行要求が出される。この時ソフトウェアを実行するユーザＩＤ情報が渡される。ベンダ１はこの要求に基づいてライセンスを発行する。
【００１３】
４はライセンス情報サーバであり、ディスク４１上のライセンス情報ファイル４１にベンダ１より発行されたライセンス情報を保持する。必要応じて暗号化処理をする。このライセンス情報サーバ４は、通信バス５でユーザコンピュータ３と通信可能に接続されている。
【００１４】
ユーザがインストールソフトウェア３１を実行した場合に、呼び出し手段３２は、ライセンス情報サーバ４のライセンス情報ファイル４２よりライセンス情報を呼び出し、認証手段３３に渡す。ライセンス情報が暗号化されている場合には、ベンダより通知されるキー（ソフトウェア２に内在する場合もある）により復号化し、認証手段３３に渡す。
【００１５】
認証手段３３は、ライセンス情報サーバ４からのライセンス情報ソフトウェアの実行に関する認証を行い、成立していれば実行を許可し、不成立の場合には、実行は不許可となり、適当な表示手段３４でエラー表示する。
【００１６】
このように、専用ハードウエアとしてライセンス情報サーバ４を外部に持たせる構成では、サーバの信頼性やコンピュータとの適合性の問題、更には、独自のライフサイクルを持つため、ソフトウェアのライフタイムに渡り、ライセンス認証を維持するためのコストが発生することになる。
【００１７】
ライセンス認証は、ソフトウェア開発ベンダを保護するための仕組みであり、ソフトウェア自体の価値向上には貢献しない機能である。従って、その開発・維持コストを、提供されるソフトウェア製品の価格に含めることは望ましくない。
【００１８】
特許文献１には、ソフトウェアのインストール時にライセンス認証を行うシステムが記載されている。
【００１９】
【特許文献１】特開２００４−２１３４３６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
従来のライセンス認証方法では、次のような問題点がある。
（１）インストール時ライセンス認証は、ライセンス認証に必要とされるコストを低く抑えられるが、不正コピーされる危険性がある。
【００２１】
（２）専用ハードウエアを利用したソフトウェア実行時認証は、ソフトウェアの不正実行を防止することができるが、ライセンス認証を維持するためのコストが発生する。
【００２２】
（３）専用ハードウエアの信頼性や、コンピュータへの適合性の問題により発生するリスクが予測不能である。
【００２３】
本発明は上述した問題点を解決するためになされたものであり、ソフトウェア実行時ライセンス認証において、専用のハードウエアを使用せず、コンピュータ毎にユニークで可読性の低いライセンス情報を保持することが可能なライセンス認証方法及びライセンス認証装置を実現することを目的とする。
【課題を解決するための手段】
【００２４】
このような課題を達成するために、本発明は次の通りの構成になっている。
（１）提供されるソフトウェアをインストールするユーザコンピュータのＭＡＣアドレスをキーとしてライセンス情報を暗号化してファイル保存する第１ステップと、
前記ファイル保存されている暗号化ライセンス情報を、前記ＭＡＣアドレスをキーとして復号化する第２ステップと、
復号化された前記ライセンス情報に基づいて前記ソフトウェアのインストール又は実行に関する認証を行う第３ステップと、
を備えることを特徴とするライセンス認証方法。
【００２５】
（２）前記第２ステップ及び第３ステップは、前記ソフトウェアのインストール時に起動され、前記認証が成立した時にインストールが許可されることを特徴とする（１）に記載のライセンス認証方法。
【００２６】
（３）前記第２ステップ及び第３ステップは、インストール済みの前記ソフトウェアを実行した時に起動され、前記認証が成立した時にその実行が許可されることを特徴とする（１）に記載のライセンス認証方法。
【００２７】
（４）前記第２ステップは、復号化の成否を、前記ライセンス情報に含まれるＩＤ情報の一致により確認する成否判定ステップを含むことを特徴とする（１）乃至（３）のいずれかに記載のライセンス認証方法。
【００２８】
（５）前記ライセンス情報が、前記提供されるソフトウェアに内在されていることを特徴とする（１）乃至（４）のいずれかに記載のライセンス認証方法。
【００２９】
（６）暗号化された前記ライセンス情報は、前記ユーザコンピュータ内部にファイル保存されることを特徴とする（１）乃至（５）のいずれかに記載のライセンス認証方法。
【００３０】
（７）提供されるソフトウェアをインストールするユーザコンピュータのＭＡＣアドレスをキーとしてライセンス情報を暗号化してファイル保存する暗号化手段と、
前記ファイル保存されている暗号化ライセンス情報を、前記ＭＡＣアドレスをキーとして復号化する復号化手段と、
復号化された前記ライセンス情報に基づいて前記ソフトウェアのインストール又は実行に関する認証を行う認証手段と、
を備えることを特徴とするライセンス認証装置。
【発明の効果】
【００３１】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
（１）専用ハードウエアを使用したソフトウェア実行時ライセンス認証方式と比較して、
ＭＡＣアドレスによる暗号化により、コンピュータ固有のライセンス情報を生成できる。
【００３２】
（２）ＭＡＣアドレスによる復号化のため、ライセンス情報の不正コピーが防止できる。
【００３３】
（３）ライセンス情報を暗号化して管理するため、改竄されにくい。
【００３４】
（４）専用ハードウエアを必要としないので、販売・維持・管理コストが大幅に削減できる。
【００３５】
（５）ソフトウェアのライフタイムに渡り、高品質で安定したライセンス認証を実現することができる。
【００３６】
（６）専用ハードウエアを必要としないので、信頼性や適合性の問題が発生しない。
【００３７】
（７）ハードウエアに依存しないアーキテクチャなので、製品のライフタイムに渡り安定する。
【００３８】
（８）ライセンス情報をファイルで保持できるので、バックアップ・リストアが容易に行える。
【発明を実施するための最良の形態】
【００３９】
以下、本発明を図面により詳細に説明する。図１は、本発明を適用したライセンス認証装置の一実施形態を示す機能ブロック図である。図７で説明した従来装置と同一要素には同一符号を付して説明を省略する。以下、本発明の特徴部につき説明する。
【００４０】
図１において、１００は本発明が適用されたユーザコンピュータである。ユーザは、事前処理としてベンダ１に対してライセンス発行を要求する。このとき、ユーザＩＤ共にソフトウェアを実行するユーザコンピュータのＭＡＣアドレス情報をベンダ１に通知する。
【００４１】
ベンダ１は、ユーザから通知された情報に基づいて、ＭＡＣアドレスをキーとして暗号化したライセンス情報を持ったライセンスをユーザに発行する。具体的には、任意の手段でユーザに渡される暗号化したライセンス情報を含むライセンスインストールプログラム１０１をユーザコンピュータ３で実行させ、ユーザコンピュータのディスク上の暗号化ライセンス情報ファイル１０２に配置させる。ライセンスインストールプログラムは、提供されるソフトウェア２に内在されている場合もある。
【００４２】
現在、普及しているコンピュータ（主にパーソナルコンピュータ）は、Ethernet（登録商標）を介して通信するためのハードウエアが装着されている。このハードウエアには、ＭＡＣ(Media Access Control)アドレスと呼ばれる全世界でユニーク性が保証された識別情報が割り当てられている。１０３は、ユーザコンピュータ１００に配置されたＭＡＣアドレス情報である。
【００４３】
暗号化されたライセンス情報は、ユーザコンピュータ上に配置された暗号化情報ライセンスファイル１０２として容易に保持することができる。そのため、ライセンス情報を保持するための専用のハードウエアを必要としない。
【００４４】
又、暗号化されたライセンス情報を読み出す時は、復号化するめのキー（暗号化に使用したＭＡＣアドレス）が必要となるので、適切なキーを持つコンピュータ以外では、復号化することができない。つまり、ＭＡＣアドレスを利用して、ライセンス情報を暗号化することにより、コンピュータ毎にユニークで、可読性の低いライセンス情報を持つことが可能となる。
【００４５】
１０４は、インストールされたソフトウェアファイルであり、ユーザがこれを実行しようとした場合には、認証手段１０５、復号化手段１０６が起動し、ベンダより発行されたライセンス情報を、暗号化ライセンス情報ファイル１０２から読み出し、復号化してソフトウェア実行に関する認証が実行される。
【００４６】
復号化手段１０６は、１０３のＭＡＣアドレスをキーとして利用し、暗号化されて保持されているライセンス情報を復号化して認証手段１０５に渡す。１０７は、必要に応じて設けられる成否判定手段であり、復号化が正常に実行されたか否かをチェックする。
【００４７】
復号化処理の成否判定の手法として、暗号化したライセンス情報に含まれるＩＤ情報を復号化した情報が予め設定されたＩＤ情報との一致により判定することができる。成否判定手段１０７は、ＩＤ情報の一致があれば復号化したライセンス情報を認証手段１０５に渡し、不一致であれば表示手段１０８でエラー表示する。
【００４８】
認証手段１０５は、成否判定手段１０８から渡されたライセン情報に基づいて認証を行い、実行しようとしているソフトウェアの実行がライセンスされている場合には実行を許可し、実行を不許可して表示手段１０７でエラー表示する。
【００４９】
図２は、ライセンスの発行から配置・認証に至る全体のプロセスを示す遷移図である。（Ａ）はベンダによるライセンス発行ステップであり、ライセンス情報をユーザコンピュータのＭＡＣアドレスをキーとして暗号化する。
【００５０】
ライセンスの内容を例示すれば、“１”のフラグが立っているプログラムＬ１及びＬ３は実行を許可するが、“０” のフラグが立っているプログラムＬ２は不許可とされる。
このとき、ライセンス情報の中に復号化の成否を判定するＩＤを入れることができる。この例では、“Yokogawa”をＩＤとする。
【００５１】
暗号化のアルゴリズムは任意であるが、例えばマイクロソフト社のVisual Studio.Netでは、ＤＥＳ(Data Encript Standard)の実装が提供されているので、これを使用することができる。
【００５２】
この場合、ＭＡＣアドレスをＤＥＳの共通キーとして使用するが、マイクロソフト社の実装は、一般に提供されているものであるため、何らかの方法（排他論理和やビットシフト等）で、ＭＡＣアドレスを変形し、ＤＥＳのキーすることが望ましい。復号化にも同様な変形が必要である。
【００５３】
（Ｂ）はユーザによるライセンスの配置ステップであり、暗号化したライセンス情報を、ユーザコンピュータのディスク上のファイル１０２に配置する。
【００５４】
（Ｃ）はソフトウェア実行時における、ユーザコンピュータ内でのライセンスの認証ステップであり、ユーザコンピュータのディスク上のファイル１０２より暗号化されたライセンス情報を読み出し、ＭＡＣアドレスをキーとして復号化する。この時、復号化の成否を、ＩＤ“Yokogawa”が正しく読み出されることにより確認する。
【００５５】
図３は、ベンダによるライセンス発行の処理手順を示すフローチャートである。ステップＳ１はユーザ情報の入力待ちである。ベンダは、ユーザ自身を認識するＩＤ及びソフトウェアを実行するユーザコンピュータに配置されたＭＡＣアドレスの入力を、ユーザに対して要求する。
【００５６】
ライセンス発行用ソフトウェアは、ユーザのアイデンティティ毎に、予め与えられたライセンス情報を保持する。ステップＳ２では、ベンダがユーザ情報を取得する。ステップＳ３では、ＭＡＣアドレスをキーとして利用し、ライセンス情報を暗号化し、ステップＳ４で発行するライセンスを生成する。
【００５７】
図４は、ユーザコンピュータによるライセンス認証の処理手順を示すフローチャートである。ステップＳ１はライセンス情報の読み出しであり、実行されるソフトウェアは、ユーザコンピュータ上に配置された暗号化ライセンス情報ファイル１０２に保存されたライセンス情報を読み出す。
【００５８】
ステップＳ２は、ＭＡＣアドレスの読み出しであり、ソフトウェアが実行されるコンピュータが保持するＭＡＣアドレスを読み出す。ＭＡＣアドレスの読み出し機能は、ＯＳにより提供される。
【００５９】
ステップＳ３はライセンス情報の復号化であり、ＭＡＣアドレスをキーとして利用し、ライセンス情報を復号化する。ステップＳ４は、ライセンスの認証であり、復号化したライセンス情報を基に認証する。認証に失敗した場合には、ソフトウェアの実行は許可されない。
【図面の簡単な説明】
【００６０】
【図１】本発明を適用したライセンス認証装置の一実施形態を示す機能ブロック図である。
【図２】ライセンスの発行から配置・認証に至る全体のプロセスを示す遷移図である。
【図３】ベンダによるライセンス発行の処理手順を示すフローチャートである。
【図４】ユーザコンピュータによるライセンス認証の処理手順を示すフローチャートである。
【図５】従来のインストール時ライセンス認証の処理手順を示すフローチャートである。
【図６】従来のソフトウェア実行時ライセンス認証の処理手順を示すフローチャートである。
【図７】専用ハードウエアにライセンス情報を保持する場合の認証システムの構成例を示す機能ブロック図である。
【符号の説明】
【００６１】
１  ソフトウェ開発ベンダ
２  提供ソフトウェア
１００  ユーザコンピュータ
１０１  ライセンスインストールプログラム
１０２  暗号化ライセンス情報ファイル
１０３  ＭＡＣアドレス
１０４  インストールソフトウェア
１０５  認証手段
１０６  復号化手段
１０７  成否判定手段
１０８  表示手段
【図１】
2007206928.tif 000003
【図２】
2007206928.tif 000004
【図３】
2007206928.tif 000005
【図４】
2007206928.tif 000006
【図５】
2007206928.tif 000007
【図６】
2007206928.tif 000008
【図７】
2007206928.tif 000009