(57)【要約】【課題】  ユーザの使い勝手と不正利用の防止との両立を、簡便な方法によって実現するライセンス認証装置及びライセンス認証方法を提供すること。【解決手段】  外部装置の固有情報からユーザコードを生成する（Ｓ１０５）。そして、入力されたライセンスキーが、ユーザコードに基づいて生成されたものであるかを確認する（Ｓ１０８）。確認の結果、ライセンスキーがユーザコードに基づいて生成されたものであれば、正当なライセンスキーとして認証を行う（Ｓ３１０）。【選択図】  図３
2007079874.tif 000002
【特許請求の範囲】
【請求項１】
固有情報を有する外部装置を用いるソフトウェアのライセンス認証を行うライセンス認証装置であって、
前記外部装置から前記固有情報を取得する固有情報取得手段と、
前記固有情報から、ユーザ固有情報を生成する生成手段と、
ユーザにより入力されたライセンスキーを取得する取得手段と、
前記ライセンスキーが、前記ユーザ固有情報に所定の操作を行なって生成されたものかどうかを判定する判定手段と、
前記判定手段により、前記ライセンスキーが前記ユーザ固有情報に所定の操作を行なって生成されたものであると判定された場合に、前記ソフトウェアのライセンス認証が完了した旨を記憶装置に登録する登録手段とを有することを特徴とするライセンス認証装置。
【請求項２】
前記生成手段が、前記ライセンスキーの入力時に前記ライセンス認証装置に接続されている外部装置の前記固有情報に基づいて前記ユーザ固有情報を生成することを特徴とする請求項１記載のライセンス認証装置。
【請求項３】
さらに、前記ソフトウェアの起動時に前記記憶装置を参照する参照手段と、
前記ライセンス認証が完了している旨の登録が無い場合には、前記ソフトウェアの機能を制限する制限手段を更に有することを特徴とする請求項１又は請求項２記載のライセンス認証装置。
【請求項４】
さらに、前記ソフトウェアの起動時に前記記憶装置を参照する参照手段を有し、前記ライセンス認証が完了している旨の登録がある場合には、前記固有情報取得手段が前記固有情報を取得した外部装置は異なる外部装置が接続された場合でも、ライセンス認証の要求を行なわないことを特徴とする請求項１又は請求項２記載のライセンス認証装置。
【請求項５】
前記外部装置は、ＩＥＥＥ１３９４規格に準拠した制御が可能な機器であることを特徴とする、請求項１乃至請求項４のいずれか１項に記載のライセンス認証装置。
【請求項６】
固有情報を有する外部装置を用いるソフトウェアのライセンス認証を行うライセンス認証方法であって、
前記外部装置から前記固有情報を取得し、記憶装置に格納する固有情報取得ステップと、
前記固有情報から、ユーザ固有情報を生成し、前記記憶装置に格納する生成ステップと、
ユーザにより入力されたライセンスキーを取得する取得手段と、
前記ライセンスキーが、前記記憶装置に格納された前記ユーザ固有情報に所定の操作を行なって生成されたものかどうかを判定する判定手段と、
前記判定手段により、前記ライセンスキーが前記ユーザ固有情報に所定の操作を行なって生成されたものであると判定された場合に、前記ソフトウェアのライセンス認証が完了した旨を前記記憶装置に登録する登録手段とを有することを特徴とするライセンス認証方法。
【請求項７】
請求項６に記載のライセンス認証方法をコンピュータ装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアのライセンス認証を行うライセンス認証装置及びライセンス認証方法に関する。
【背景技術】
【０００２】
従来、特に有償ソフトウェアにおいては、ライセンス購入者にのみソフトウェアの使用を許諾するため、ライセンス認証を行うものが提案されている（特許文献１参照）。ライセンス認証の方法としては、ソフトウェア的な方法とハードウェア的な方法が知られている。前者には、シリアル番号やライセンス認証キーをライセンス認証画面に入力するものや、ライセンス発行サーバ等の外部システムにライセンスキー発行を依頼するものがある。また、後者には、ソフトウェア固有の情報が記録されているＵＳＢメモリ等の特定のハードウェア（ハードウェアキー又はドングルとも呼ばれる）を検出することでライセンスの認証を行うものがある。
【０００３】
ライセンス契約書等に記載されたライセンスキーを入力する方法では、所定の規則に従って作成された英数字の組み合わせをライセンスキーとしてユーザに提供する。そしてライセンス認証の対象ソフトウェアには、ユーザがライセンス認証画面で入力したライセンスキーが、所定の規則にしたがっているか否かを判定する機能を含めておき、判定結果に基づいて認証を行う。
【０００４】
外部システムを利用する場合、まず、認証対象のソフトウェアは、ネットワークカードやＣＰＵ情報など、ソフトウェアがインストールされたシステムに固有の情報を収集する。次に、収集した情報を、ネットワーク接続など何らかの手段により、外部のライセンスキー発行システムに送信し、ライセンスキー発行を依頼する。ライセンス発行システムは、受信した固有情報に基づき、予め定めた規則によりライセンスキーを発行する。発行したライセンスキーは例えば電子メールやウェブブラウザ画面を通じてユーザに提示され、ユーザは発行されたライセンスキーを認証画面に入力する。
【０００５】
認証対象ソフトウェアは、入力されたライセンスキーと、ライセンス発行システムに送信した自システム固有の情報との整合性について検証し、入力されたライセンスキーが自システムの固有の情報に対応している場合は正規ライセンスとして認証を行う。
【０００６】
特定のハードウェアを使用する場合、ユーザはソフトウェア起動前に、予めハードウェアキーをコンピュータに接続しておく。そして、ソフトウェアは起動時にハードウェアキーの検出及び検証を行い、正しいハードウェアキーが検出できた場合は、正規のライセンスに基づく利用であると判断して正常起動する。一方、ハードウェアキーが検出できなかった場合や、記憶内容が正しくない場合には、起動を中止する。
【特許文献１】特開２００３−１７４４４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前述したライセンス認証方法には以下のような問題がある。
ライセンス契約書等に記載されたライセンスキーを入力させ、ソフトウェアに組み込まれているライセンスキー検証機能を利用して認証を行う方法では、１つのライセンスキーを、複数の異なる環境にインストールされたソフトウェアの認証に利用できてしまう。近年は、同一ネットワーク内に存在するコンピュータ間のライセンスキーの使い回しを防止する機能を有するソフトウェアも存在するが、それ以外の環境におけるライセンスキーの使い回しは制限できず、ソフトウェアの不正利用を防止することができない。
【０００８】
ソフトウェアがインストールされたハードウェア環境の固有情報を元に発行したライセンスキーを用いる方法により、ライセンスキーの使い回しは防止することができる。しかし、コンピュータのパーツを交換又は買い換え、或いはインストール先のコンピュータの変更が生じた場合、ライセンスキーとハードウェア環境との対応が整合しなくなり、正規のライセンスを所有しているにもかかわらず、ソフトウェアを使用できなくなる。この場合、再度ライセンスキーの発行を依頼する必要があり、煩わしい上、新たなライセンスキー発行までの間、ソフトウェアが使用できない。
【０００９】
ハードウェアキーを用いる方法では、ハードウェアキーを必ずコンピュータに接続しなければならず、手間がかかる。また、常時接続しておくと、コンピュータのインターフェースを１つ占有することになり、拡張性を損ねることになる。また、ハードウェアキーを紛失したり、ハードウェアキーが壊れたりした場合には、ソフトウェアを起動することができない。
【００１０】
本発明はこのような従来技術の問題を解決するためになされたもので、ユーザの使い勝手と不正利用の防止との両立を、簡便な方法によって実現するライセンス認証装置及びライセンス認証方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述の目的は、固有情報を有する外部装置を用いるソフトウェアのライセンス認証を行うライセンス認証装置であって、外部装置から固有情報を取得する固有情報取得手段と、固有情報から、ユーザ固有情報を生成する生成手段と、ユーザにより入力されたライセンスキーを取得する取得手段と、ライセンスキーが、ユーザ固有情報に所定の操作を行なって生成されたものかどうかを判定する判定手段と、判定手段により、ライセンスキーがユーザ固有情報に所定の操作を行なって生成されたものであると判定された場合に、ソフトウェアのライセンス認証が完了した旨を記憶装置に登録する登録手段とを有することを特徴とするライセンス認証装置によって達成される。
【００１２】
また、上述の目的は、固有情報を有する外部装置を用いるソフトウェアのライセンス認証を行うライセンス認証方法であって、外部装置から固有情報を取得し、記憶装置に格納する固有情報取得ステップと、固有情報から、ユーザ固有情報を生成し、記憶装置に格納する生成ステップと、ユーザにより入力されたライセンスキーを取得する取得手段と、ライセンスキーが、記憶装置に格納されたユーザ固有情報に所定の操作を行なって生成されたものかどうかを判定する判定手段と、判定手段により、ライセンスキーがユーザ固有情報に所定の操作を行なって生成されたものであると判定された場合に、ソフトウェアのライセンス認証が完了した旨を記憶装置に登録する登録手段とを有することを特徴とするライセンス認証方法によっても達成される。
【発明の効果】
【００１３】
このような構成により、本発明によれば、ユーザの使い勝手と不正利用の防止との両立を、簡便な方法によって実現することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明をその好適な実施形態に基づき詳細に説明する。
図９は、本実施形態におけるライセンス認証装置として機能するパーソナルコンピュータ（ＰＣ）７００の構成例を示すブロック図である。
【００１５】
本実施形態におけるＰＣ７００には、固有情報を有する外部装置であるデジタルビデオカメラ（ＤＶＣ）１００を制御するソフトウェア（以下、ＤＶＣ制御ソフトウェア）がインストールされている。ＰＣ７００は、このＤＶＣ制御ソフトウェアに従ってライセンス認証装置として機能する。ＤＶＣ制御ソフトウェアは、後述するライセンス登録が完了している場合は、全ての機能をユーザに提供し、後述するライセンス登録が完了していない場合は、一部の機能のみをユーザに提供する。例えば、ライセンス登録が完了していない場合は、再生及び停止の何れかは指示できても、早送り、巻き戻し、一時停止は何れも指示できないようにする。また、ＤＶＣ制御ソフトウェアは、後述するライセンス登録が完了しているか否かに応じて、ユーザに提供するＧＵＩ（グラフィカルユーザインターフェース）の構成を変更する。ＧＵＩには、ＤＶＣ１００を制御するためのコントロールパネルが含まれる。
【００１６】
ディスプレイ７０１は、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ(Liquid Crystal Display)等から構成される。ディスプレイ７０１には、ＤＶＣ制御ソフトウェアがユーザに提供するＧＵＩや、各種のメッセージメニューなどが表示される。ディスプレイコントローラ７０２は、ディスプレイ７０１への画面表示制御を行う。入力デバイス７０３は、文字などを入力したり、ＧＵＩにおけるアイコンやボタンなどを指し示すためなどに用いられる。具体的には、キーボード、マウス、トラックボール、ジョイスティック、タッチパネルなどが含まれる。ＣＰＵ（Central Processing Unit）７０４はＰＣ７００全体の制御を司る。
【００１７】
ＲＯＭ（Read Only Memory）７０５はＣＰＵ７０４が実行するプログラムやパラメータ等を記憶している。ＲＡＭ（Random Access Memory）７０６は各種プログラムをＣＰＵ７０４が実行するときのワークエリア、エラー処理時の一時退避エリア等として用いられる。
【００１８】
ハードディスクドライブ（ＨＤＤ）７０７、リムーバブルメディアドライブ（ＲＭＤ）７０８は、外部記憶装置として機能する。リムーバブルメディアドライブは、取り外し可能な記憶媒体の読み書き又は読み出しを行う装置であり、フレキシブルディスクドライブ、光ディスクドライブ、光磁気ディスクドライブ、メモリカードリーダはもとより、取り外し式ＨＤＤなどであってもよい。
【００１９】
なお、ＤＶＣ制御ソフトウェアは、ＰＣ７００にインストールされると、少なくともＨＤＤ７０７に記憶される。ＯＳ、ブラウザ等のアプリケーションプログラム、データ、ライプラリ等は、その用途に応じてＲＯＭ７０５、ＨＤＤ７０７、ＲＭＤ７０８の１つ以上に記憶される。
【００２０】
拡張スロット７０９は、例えばＰＣＩ(Peripheral Component Interconnect)バス規格に準拠した拡張カード装着用スロットである。この拡張スロット７０９には、拡張ビデオキャプチャボードや、サウンドボード、ＧＰＩＢボードなど、様々な拡張ボードを装着することが可能である。
外部インターフェース７１０は、ＩＥＥＥ１３９４−１９９５規格及びその拡張規格に準拠した通信インターフェースである。
【００２１】
ネットワークインタフェース７１１は、ＩＥＥＥ８０２．３ｘ（xはi, u, z, ab)等に準拠した有線通信機能、又はＩＥＥＥ８０２．１１ａ／ｂ／ｇ、Bluetooth（登録商標）等に準拠した無線通信機能を有する。バス７１２はアドレスバス、データバスおよび制御バスからなり、上述した各ユニット間を接続する。
【００２２】
本実施形態におけるＰＣ７００は、ＯＳや必要なドライバソフトウェア等を用いることによって、ネットワークインタフェース７１１を介してインターネット等のコンピュータネットワーク上のコンピュータと通信可能である。
【００２３】
図１は、本実施形態におけるライセンス認証装置の動作を示すフローチャートである。この動作は、ＰＣ７００でユーザがＤＶＣ制御ソフトウェアを起動することによって開始される。
【００２４】
ユーザがＤＶＣ制御ソフトウェアを起動すると、ＣＰＵ７０４は、ＨＤＤ７０７等に記憶されたＤＶＣ制御ソフトウェアを読み出し、ＲＡＭ７０６にロードし、実行する。そして、ステップＳ１０１において、既にライセンス登録が行われているか否かを確認する。ライセンス登録に関する情報は、例えばＨＤＤ７０７中の環境設定用ファイル等に暗号化されて記録されており、その情報を参照することによって確認可能である。
【００２５】
ステップＳ１０１での確認結果により、ＲＡＭ７０６の所定アドレスに、ＤＶＣ制御ソフトウェアの内部変数である”Ｌｉｃｅｎｓｅ”の値をセットする。変数”Ｌｉｃｅｎｓｅ”はＴＲＵＥまたはＦＡＬＳＥの値を保持する論理型変数であり、ライセンス登録済みであった場合はステップＳ１０２でＴＲＵＥが、未登録であった場合はステップＳ１０３でＦＡＬＳＥがセットされる。ＤＶＣ制御ソフトウェアの初回起動時にはライセンス登録がまだ行われていない状態であるため、ステップＳ１０３でＦＡＬＳＥがセットされる。
【００２６】
ステップＳ１０４で、アプリケーションの初期ＧＵＩ画面をディスプレイ７０１に提示し、入力デバイス７０３を介したユーザの指示（ユーザアクション）を待機する。図２は、本実施形態におけるＤＶＣ制御ソフトウェアのＧＵＩ画面の例である。ＧＵＩ画面２００には、ボタン２０１〜２０６が配置されている。
【００２７】
ユーザが入力デバイス２０３、例えばマウスを操作し、マウスカーソルをライセンス確認ボタン２０１上に移動させ、マウスボタンをクリックすると、ＣＰＵ７０４はライセンス確認ボタン２０１のクリックをユーザアクションとして検出する。そして、ステップＳ１０５に進む。なお、以下、マウスポインタがボタン上にある状態でマウスボタンがクリックされた状態を、「ボタンが押下された」と表現する。ステップＳ１０５では後述するライセンス処理を行った後、ステップＳ１０４に戻って次のユーザアクションを待機する。
【００２８】
図２のボタン２０３、２０４、２０５、２０６はそれぞれＤＶＣ１００の制御を指示するためのボタンであり、ボタン２０３〜２０６が押下されると、ＣＰＵ７０４はＤＶＣ制御用ボタンの押下をユーザアクションとして検出し、ステップＳ１０６に進む。ステップＳ１０６では、後述するＤＶＣ制御処理を行った後、ステップＳ１０４に戻って次のユーザアクションを待機する。
【００２９】
図２のボタン２０２は終了ボタンであり、このボタンが押下されると、ＣＰＵ７０４は終了ボタンの押下をユーザアクションとして検出し、ＤＶＣ制御ソフトウェアの終了処理を行う。
【００３０】
図３は、図１のステップＳ１０５で実行されるライセンス処理の詳細を示すフローチャートである。
ステップＳ３０１で、ＣＰＵ７０４は、ステップＳ１０２又はステップＳ１０３でセットした変数”Ｌｉｃｅｎｓｅ”の値を参照し、ライセンス登録済みであるか未登録であるかを検出する。変数”Ｌｉｃｅｎｓｅ”の値がＴＲＵＥの場合はライセンス登録済みであり、ステップＳ３１２で図４に示すようなライセンス登録情報画面をディスプレイ７０１に表示する。そして、ＯＫボタンの押下を検出すると、処理を終了し、ステップＳ１０４へ戻る。
【００３１】
ステップＳ３０１で、変数”Ｌｉｃｅｎｓｅ”の値がＦＡＬＳＥの場合は、ライセンス未登録であるため、ステップＳ３０２へ進んでＰＣ７００にＤＶＣ１００が接続されているか否かを調べる。ＤＶＣ１００が外部インターフェース７１０に接続されていない場合は、ステップＳ３０３へ進み、図５に示すようなエラーメッセージをディスプレイ７０１に表示する。
【００３２】
ステップＳ３０２でＤＶＣ１００の接続が検出された場合は、ステップＳ３０４でＤＶＣ１００が有する固有ＩＤ（Manufacturers Unique Identifier:ＥＵＩ６４）を取得する。ＥＵＩ６４は８バイトのデータで、ＩＥＥＥ１３９４インターフェースを搭載した機器（ＩＥＥＥ１３９４機器）が有する固有ＩＤである。すなわち、ＥＵＩ６４はＩＥＥＥ１３９４機器１台ごとに異なる値を有する。ＥＵＩ６４は、ＩＥＥＥ１３９４機器が有するコンフィグレーションＲＯＭ（configuration ROM）という特定の領域にアクセスすることで取得できる。本実施形態では、ＤＶＣ１００が有するＥＵＩ６４の値は８バイトの１６進数で”００００８５０００１ＡＢ３ＦＣ８”であるとする。
【００３３】
ステップＳ３０５で、ＣＰＵ７０４は、取得したＥＵＩ６４の値から、ＤＶＣ１００を所有するユーザに固有のデータとして、ユーザコードを生成する。ユーザコードはＥＵＩ６４の値に対して所定のアルゴリズムを用いて変換を行ったデータである。本実施形態では、ＥＵＩ６４を１６進表記したものを文字列とみなし、各文字のアスキーコード値に２を加えた結果の文字列をユーザコードとして生成する。
【００３４】
所定のアルゴリズムはＥＵＩ６４および生成されたユーザコードからは容易に解読できないものが望ましいが、本実施形態では説明を簡単にするため前述のようなアルゴリズムで説明を行う。本実施形態ではＤＶＣ１００のＥＵＩ６４が”００００８５０００１ＡＢ３ＦＣ８”であるので、前述のアルゴリズムに従って変換した文字列”２２２２：７２２２３ＣＤ５ＨＥ：”がユーザコードとなる。
【００３５】
ステップＳ３０６で、ＣＰＵ７０４は図６に示すようなライセンス登録画面６００をディスプレイ７０１に表示する。６０１はユーザコードの表示部であり、ＥＵＩ６４の値からステップＳ３０５で生成した文字列を表示する。ここで、ユーザコードは単に表示されるだけであり、ユーザが直接入力したり、変更することは許されない。６０２はライセンスキー入力部、６０３はユーザ名入力部、６０４はライセンス登録ボタン、６０５はライセンス登録キャンセルボタンである。ライセンス登録キャンセルボタン６０５が押下された場合には、ライセンス処理を終了する。６０６はライセンスキー取得ボタンである。
【００３６】
ユーザは、ライセンス登録画面のライセンスキー入力部６０２にライセンスキーを、ユーザ名入力部６０３に任意のユーザ名を、それぞれ入力デバイス７０３を用いて入力し、ライセンス登録ボタン６０４を押下することでライセンス登録が可能である。ここで入力するライセンスキーは、ユーザコードから生成される文字列である。
【００３７】
ユーザコードからのライセンスキーの生成は、外部のサーバや、電話による自動応答システム等により行う。例えば、外部のサーバでライセンスキーを発行する場合には、図９に示すように、ネットワークインターフェース７１１を通じてライセンス発行サーバ８００へアクセスし、ライセンスキーの発行を受ける。
【００３８】
図１０は、ＰＣ７００がネットワークインターフェース７１１を介して外部のライセンス発行サーバにアクセスし、ライセンスキーを取得する手順の例を示すシーケンスチャートである。
【００３９】
図６のライセンス登録画面において、ライセンスキー取得ボタン６０６が押下されると、ＣＰＵ７０４は、ＨＤＤ７０７から例えばブラウザアプリケーションを起動する。その後、ＣＰＵ７０４は、ライセンス発行サーバ８００のネットワークアドレス（例えばＵＲＬ）にアクセスする（ステップＳ９０１）。この際、ＰＣ７００とライセンス発行サーバ８００との間では、ＨＴＴＰＳを代表とするセキュアなコネクションを確立することが好ましい。
【００４０】
ライセンス発行サーバ８００は、ＰＣ７００に対し、ライセンス発行に必要な情報を入力させるためのフォーム画面のデータを送信する（ステップＳ９０２）。フォーム画面に入力させる情報には、ユーザコードを始めとし、決済情報（クレジットカード情報など）、個人情報（住所、氏名、電話番号、電子メールアドレスなど）といった、通常オンライン決済に必要な情報を含むことができる。
【００４１】
ＣＰＵ７０４は、表示中のフォーム画面中に含まれる送信ボタンの押下など、入力データの送信指示があると、フォームに入力された情報をライセンス発行サーバ８００へ送信する（ステップＳ９０３）。
【００４２】
ライセンス発行サーバ８００は、フォームデータに入力漏れ等の不備がないか確認し、不備がなければ受け付け完了通知画面を返送する（Ｓ９０４）。また、受信したデータを用い、別の決済用サーバ９００に与信依頼を行う（Ｓ９０５）。決済サーバ９００は例えばクレジットカード情報と与信データベースとから、カードの持ち主とカード番号とが対応しているか、支払いに能力に問題が無いか等の判断を行ない、結果をライセンス発行サーバ８００に通知する（Ｓ９０６）。
【００４３】
ライセンス発行サーバ８００は、与信結果に問題がなければ、ユーザコードからライセンスキーを生成し、ステップＳ９０３で受信した電子メールアドレスへライセンスキーを送信する（Ｓ９０７）。また、与信結果に問題がある場合にも、その旨を記載した電子メールを送信する。
【００４４】
本実施形態において、ライセンスキーは所定のアルゴリズムを用いてユーザコードを変換したデータであり、本実施形態ではユーザコードの各文字のアスキーコード値に５を加えた結果の文字列をライセンスキーとして生成する。所定のアルゴリズムはユーザコードおよび生成されたライセンスキーからは容易に解読できないものが望ましいが、本実施形態では説明を簡単にするためこのようなアルゴリズムで説明を行う。
【００４５】
本実施形態では、ユーザコードが”２２２２：７２２２３ＣＤ５ＨＥ：”であるため、ライセンス発行サーバ８００が生成するライセンスキーは、”７７７７？＜７７７８ＨＩ：ＭＪ？”となる。
【００４６】
なお、図１０の例では、ステップＳ９０３でフォームデータを受信した後、ＰＣ７００とライセンス発行サーバ８００との間のコネクションを切断し、別途電子メールでライセンスキーを通知した。しかし、フォームデータ受信後、与信結果がでるまでコネクションを維持し、ステップＳ９０７でライセンス通知画面を送信するようにしても良い。もちろん、この場合でも、電子メールでの通知を並行して行うことができる。
【００４７】
また、オンラインでライセンスキーを取得できない場合などは、ライセンス発行サーバ８００の代わりに周知の自動電話応答システムを用いることができる。この場合、ユーザは電話のプッシュボタンを用いてユーザコードを入力し、自動電話応答システムは周知のダイヤルトーン識別技術に基づいてユーザコードを認識する。そして、生成したライセンスキーを合成音声により通知する。
【００４８】
ユーザは、電子メールアプリケーションや電話によりライセンスキーを受信すると、ライセンスキーをライセンス登録画面のライセンスキー入力部６０２に、ユーザ名入力部６０３にユーザ名を入力してライセンス登録ボタン６０４を押下する。
【００４９】
図３に戻り、ＣＰＵ７０４は登録ボタン６０４の押下を検出すると、ステップＳ３０８で、入力されたライセンスキーとユーザコード表示部６０１に表示されているユーザコードとの整合性の検証を行う。すなわち、本実施形態のＤＶＣ制御ソフトウェアには、ライセンスキー発行サーバ８００と同様のライセンスキー生成アルゴリズムを実行する機能モジュールが含まれている。
【００５０】
ＣＰＵ７０４は、入力されたユーザコードからライセンスキーの生成を行い、入力されたライセンスコードと、ユーザコードから生成したライセンスコードが一致しているか否か判定する。そして、不一致の場合はステップＳ３０９で、図７に示すようなエラーメッセージを表示する。また、一致していた場合は、ステップＳ３１０でライセンス情報を環境設定用ファイル等に記録するライセンス登録処理を行う。そして、ステップＳ３１１で変数”Ｌｉｃｅｎｓｅ”にＴＲＵＥをセットした後、ステップＳ３１２で図４に示すようなライセンス登録情報を画面に表示して処理を終了する。
【００５１】
次に、図８のフローチャートを用いて、図１のステップＳ１０６におけるＤＶＣ制御処理の詳細について説明する。
図２のＧＵＩ画面２００において、ＤＶＣ制御ボタン２０３〜２０６のいずれかが押下されると、ステップＳ１０４からステップＳ１０６へ移行し、図８の処理が開始される。まず、ステップＳ８０１では、図３のステップＳ３０２と同様にして、ＤＶＣ１００がＩＥＥＥ１３９４インターフェースに接続されているか否かを検出し、接続が検出されない場合は何も行わずにステップＳ１０４へ戻る。
【００５２】
一方、ＤＶＣ１００の接続が検出された場合、ＣＰＵ７０４は、ステップＳ８０２においてＤＶＣ制御の種類を判定する。そして、再生ボタン２０３または停止ボタン２０４が押下された場合は、ステップＳ８０３で対応するＤＶＣ制御信号をＤＶＣ１００に送信する。巻き戻しボタン２０５または早送りボタン２０６が押下された場合は、ステップＳ８０７で変数”Ｌｉｃｅｎｓｅ”の値を判定する。
【００５３】
ライセンス登録済みで変数”Ｌｉｃｅｎｓｅ”の値がＴＲＵＥである場合は、ステップＳ８０３で、押下されたボタンに対応するＤＶＣ制御信号をＤＶＣ１００に送信する。ライセンス未登録で変数”Ｌｉｃｅｎｓｅ”の値がＦＡＬＳＥである場合は、機能制限を行うために、何もせずに終了する。なお、この際、ライセンス未登録が原因であることをユーザに通知するため、「ライセンス未登録のため、その機能は使用できません。ライセンス登録するには「ライセンス確認」ボタンをクリックして下さい」等のメッセージを表示するようにしても良い。
【００５４】
以上説明したように、本実施形態によれば、ＤＶＣ制御ソフトウェアのライセンス認証を、外部装置の固有情報に基づいて生成したユーザコードと、ユーザコードに基づいて生成したライセンスキーとにより行う。そのため、ライセンスキーが単独で流出した場合でも、そのライセンスキーの元となったユーザコードが無ければ、ＤＶＣ制御ソフトウェアを利用することができない。また、ユーザコードとライセンスキーとがセットで流出したとしても、ライセンスキーに対応したユーザコードの生成には、特定の固有情報を有する外部装置が必要であるため、事実上ライセンスキーの不正利用は不可能である。
【００５５】
一方で、ユーザは、ライセンスキーを取得したＰＣ以外でＤＶＣ制御ソフトウェアを利用したい場合でも、同じ外部装置を接続することにより、同じライセンスキーを利用してライセンス登録が可能である。
【００５６】
さらに、一旦ライセンス登録がなされたＰＣでは、その後他の外部装置（例えば、ライセンス登録時とは異なる機種のＤＶＣ等）に対してＤＶＣソフトウェアを用いる場合であっても、新たなライセンス登録の必要が無い。
このように、本実施形態によれば、ユーザの使い勝手が良い上、ＤＶＣソフトウェアの不正利用を確実に行うことが可能となる。
【００５７】
＜他の実施形態＞
なお、上述の実施形態においては、固有情報を有する外部装置として、ＤＶＣを例にして説明したが、本発明はＤＶＣ以外の、固有情報を有する外部装置を利用するソフトウェアのライセンス認証にも同様にして適用することが可能である。
【００５８】
また、上述の実施形態では、ユーザコードからのライセンスキー生成を、ライセンスキー生成サーバ等の外部装置を利用して行う例を説明した。しかし、ライセンスキー生成をＰＣ７００で行うことももちろん可能であり、そのような構成であっても本発明の効果は達成される。
【００５９】
本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるコンピュータプログラム自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００６０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６１】
この場合、本発明の機能処理をコンピュータで実現するためのコンピュータプログラムは、記録媒体又は有線／無線通信によりコンピュータに供給される。プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ、ＤＶＤ等の光／光磁気記録媒体、不揮発性の半導体メモリなどがある。
【００６２】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）をサーバに記憶しておく。プログラムデータファイルとしては、実行形式のものであっても、ソースコードであっても良い。
【００６３】
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムデータファイルをダウンロードすることによって供給する。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
【００６４】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルをクライアントコンピュータに提供するサーバ装置も本発明に含む。
【００６５】
また、本発明のコンピュータプログラムを暗号化して格納した記録媒体をユーザに配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを可能とすることも可能である。鍵情報は例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
【００６６】
また、コンピュータにより実施形態の機能を実現するためのコンピュータプログラムが、実施形態の機能を、すでにコンピュータ上で稼働するＯＳの機能を利用して実現しても良い。
【００６７】
さらに、本発明を構成するコンピュータプログラムの少なくとも一部が、コンピュータに装着される拡張ボード等のファームウェアとして提供され、拡張ボード等が備えるＣＰＵを利用して上述の実施形態の機能を実現しても良い。
【図面の簡単な説明】
【００６８】
【図１】本実施形態におけるライセンス認証装置として機能するＰＣの動作を説明するフローチャートである。
【図２】ＤＶＣ制御ソフトウェアのＧＵＩ画面例を示す図である。
【図３】図１のステップＳ１０５で実行されるライセンス処理の詳細を示すフローチャートである。
【図４】ライセンス登録情報表示画面例を示す図である。
【図５】ＤＶＣ未検出時のエラーメッセージ表示画面例を示す図である。
【図６】ライセンス未登録時の確認画面例を示す図である。
【図７】不正なライセンスキー入力時のエラーメッセージ表示画面例を示す図である。
【図８】図１のステップＳ１０６におけるＤＶＣ制御処理の詳細を示すフローチャートである。
【図９】本実施形態におけるライセンス認証装置として機能するＰＣの構成例を示すブロック図である。
【図１０】本実施形態におけるライセンス認証装置が、外部のライセンス発行サーバにアクセスし、ライセンスキーを取得する手順の例を示すシーケンスチャートである。
【図１】
2007079874.tif 000003
【図２】
2007079874.tif 000004
【図３】
2007079874.tif 000005
【図４】
2007079874.tif 000006
【図５】
2007079874.tif 000007
【図６】
2007079874.tif 000008
【図７】
2007079874.tif 000009
【図８】
2007079874.tif 000010
【図９】
2007079874.tif 000011
【図１０】
2007079874.tif 000012