(57)【特許請求の範囲】
【請求項１】
制御対象の装置の接続が最初の接続か否かを判定する判定部と、
前記装置の接続が最初の接続である場合に、前記装置に設定されたライセンスキーを取得する取得部と、
前記取得部が取得したライセンスキーが正規であり、且つ予め設定された前記ライセンスキーの認証期間内であるか否かの認証を行う認証部と、
前記認証が成功したときに、前記装置の固有コードを前記装置から取得して登録する登録部と、
前記装置の接続が２回目以降の接続である場合に、前記装置から前記装置の固有コードを取得し、登録済みの固有コードと照合を行う照合部と、
前記装置の動作を制御する暗号化されたドライバモジュールを記憶する記憶部と、
前記認証が成功したとき、または前記照合が一致したとき、前記暗号化されたドライバモジュールを復号化する復号化部と、
を備えるライセンス認証装置。
【請求項２】
前記認証部は、前記ライセンスキーの認証期間として、予め設定されたライセンスキー毎に異なる複数の認証期間の中から、前記取得したライセンスキーに対応した認証期間に対して、該認証期間内であるか否かを認証する、
請求項１記載のライセンス認証装置。
【請求項３】
前記記憶部は、前記ドライバモジュールに加えて、前記認証に関する制御を行うライセンス認証モジュールをも記憶し、
前記記憶部に記憶された前記ドライバモジュールと前記ライセンス認証モジュールとのうち、前記ドライバモジュールの更新を行い、前記ライセンス認証モジュールの更新を行わないように制御する更新制御部、を更に備える、
請求項１または２記載のライセンス認証装置。
【請求項４】
制御対象の装置の接続が最初の接続か否かを判定し、
前記装置の接続が最初の接続である場合に、前記装置に設定されたライセンスキーを取得し、
取得したライセンスキーが正規であり、且つ予め設定された前記ライセンスキーの認証期間内であるか否かの認証を行い、
前記認証が成功したときに、前記装置の固有コードを前記装置から取得して登録し、
前記装置の接続が２回目以降の接続である場合に、前記装置から前記装置の固有コードを取得し、登録済みの固有コードと照合を行い、
前記装置の動作を制御する暗号化されたドライバモジュールを記憶し、
前記認証が成功したとき、または前記照合が一致したとき、前記暗号化されたドライバモジュールを復号化する、
処理をコンピュータが実行するライセンス認証方法。
【請求項５】
制御対象の装置の接続が最初の接続か否かを判定し、
前記装置の接続が最初の接続である場合に、前記装置に設定されたライセンスキーを取得し、
取得したライセンスキーが正規であり、且つ予め設定された前記ライセンスキーの認証期間内であるか否かの認証を行い、
前記認証が成功したときに、前記装置の固有コードを前記装置から取得して登録し、
前記装置の接続が２回目以降の接続である場合に、前記装置から前記装置の固有コードを取得し、登録済みの固有コードと照合を行い、
前記装置の動作を制御する暗号化されたドライバモジュールを記憶し、
前記認証が成功したとき、または前記照合が一致したとき、前記暗号化されたドライバモジュールを復号化する、
処理をコンピュータに実行させるためのライセンス認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラムに関する。
【背景技術】
【０００２】
ソフトウェアのライセンス認証方法として、流通するソフトウェアの電子媒体１枚につき１つのライセンスキーを付随させる方法がある。この方法では、電子媒体に記録されたソフトウェアとその付随のライセンスキーとが１対１に対応している。
【０００３】
ソフトウェアを使用する際に、ライセンスキーを入力しなければ、ソフトウェアの処理動作が有効化（アクティベーション化）されないようにすることで、ソフトウェアの不正使用を防ぐことができる。
【０００４】
また、ソフトウェアのライセンスキーと、ソフトウェアがインストールされたコンピュータの特定の装置の固有の識別情報のハッシュ値とを、１対１に対応させて、インターネットを介して、ライセンス認証用サーバのデータベースに登録することにより、より安全性の高いライセンス認証を実現する方法もある。
【０００５】
例えば、ライセンスキーとハッシュ値とがライセンス認証用サーバのデータベースに１対１で対応して登録される。その後、ライセンスキーが付与されたソフトウェアが他のコンピュータにインストールされ、他のコンピュータからインターネットを介してライセンスキーとハッシュ値とが送信されたとする。この場合、他のコンピュータから送信されたライセンスキーとハッシュ値との対応が、既に登録されているライセンスキーとハッシュ値との対応と異なるものとなる。
【０００６】
そのため、ライセンス認証用サーバは、ソフトウェアが不正に使用されたものとみなして、ソフトウェアのアクティベーション化を停止させ、ソフトウェアを使用不可にする。これらのライセンス認証方法以外にも、ドングル（プロテクトドングルとも称される）を用いたライセンス認証も存在する。
【０００７】
関連する先行技術として、装置の固有コードがメモリカードに保存された固有コードと一致しているか否かを判別し、セットアップした固有のデータが複写されて不正利用されるのを防止する技術が提案されている（例えば、特許文献１参照）。
【０００８】
また、パスワードの情報（パスワード、有効期限等）が認証情報データベースに登録され、認証用サーバは、認証情報データベースに入力されたパスワードと一致するものがあることを確認すると、現在接続してきたユーザの端末の有効期限内の通信を許可する技術が提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１１−２４９９６７号公報
【特許文献２】特開２００４−２０７８２０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
例えば、金融機関としての銀行の営業店業務等に広く利用されている装置に帳票読取装置（ＯＨＲ：Over Head Reader）と称される装置がある。帳票読取装置（ＯＨＲ）は、コンピュータに接続され、コンピュータにインストールされたドライバ（デバイスドライバ）と称されるソフトウェアによって制御される。
【００１１】
帳票読取装置を制御するソフトウェアのように、コンピュータにインストールされ、帳票読取装置と分離した電子媒体等として製造されまたは流通するソフトウェアは、複製によって不正使用されるリスクがある。
【００１２】
特に、事業活動のグローバル展開のために、帳票読取装置等の制御対象の装置とその動作の制御用のソフトウェアとが、海外の事業者等に提供される場合、制御対象の装置またはその動作の制御用のソフトウェアが、複製によって不正に使用されるリスクが増加する。
【００１３】
そこで、帳票読取装置等の制御対象の装置およびその動作の制御用のソフトウェアの正当な使用を保証するためにライセンス認証を行うことが要求される。ただし、従来の認証方法では以下のような問題がある。
【００１４】
ソフトウェアと１対１に対応するライセンスキーの入力のみによるライセンス認証では、対となるソフトウェアのライセンスキーが不正に取得されてコンピュータに入力される可能性がある。この場合、複製したソフトウェアによるアクティベーション化が容易に行われてしまう。従って、複数のコンピュータに同一のソフトウェアをインストールして使用することが可能になり、該ソフトウェアの複製や不正利用を防ぐことができない。
【００１５】
また、インターネットを介してライセンス認証サーバにアクセスさせ、ライセンス認証サーバによるアクティベーション化を行うライセンス認証の場合、銀行のように独自のオンラインシステムにより、インターネット通信網から切離される。このため、インターネットを介してライセンス認証サーバにアクセスすることができず、ライセンス認証サーバによるライセンス認証を行うことができない。
【００１６】
また、ドングルによるハードウェア認証によるライセンス認証では、例えば、ＵＳＢ（Universal Serial Bus）等の外部接続機器が使用される。コンピュータウイルス等に対するセキュリティの観点から、外部接続機器が使用されることは好ましくない。
【００１７】
本発明は、独立したネットワーク環境において、高い安全性を維持しつつ、装置を制御するソフトウェアの不正使用を防止することを目的とする。
【課題を解決するための手段】
【００１８】
１つの態様として、ライセンス認証装置は、制御対象の装置の接続が最初の接続か否かを判定する判定部と、前記装置の接続が最初の接続である場合に、前記装置に設定されたライセンスキーを取得する取得部と、前記取得部が取得したライセンスキーが正規であり、且つ予め設定された前記ライセンスキーの認証期間内であるか否かの認証を行う認証部と、前記認証が成功したときに、前記装置の固有コードを前記装置から取得して登録する登録部と、前記装置の接続が２回目以降の接続である場合に、前記装置から前記装置の固有コードを取得し、登録済みの固有コードと照合を行う照合部と、前記認証が成功したとき、または前記照合が一致したとき、前記装置の動作を制御する暗号化されたソフトウェアを復号化する復号化部と、を備える。
【００１９】
別の態様として、ライセンス認証方法は、制御対象の装置の接続が最初の接続か否かを判定し、前記装置の接続が最初の接続である場合に、前記装置に設定されたライセンスキーを取得し、取得したライセンスキーが正規であり、且つ予め設定された前記ライセンスキーの認証期間内であるか否かの認証を行い、前記認証が成功したときに、前記装置の固有コードを前記装置から取得して登録し、前記装置の接続が２回目以降の接続である場合に、前記装置から前記装置の固有コードを取得し、登録済みの固有コードと照合を行い、前記認証が成功したとき、または前記照合が一致したとき、前記装置の動作を制御する暗号化されたソフトウェアを復号化する、処理をコンピュータが実行する。
【００２０】
また、別の態様として、ライセンス認証プログラムは、制御対象の装置の接続が最初の接続か否かを判定し、前記装置の接続が最初の接続である場合に、前記装置に設定されたライセンスキーを取得し、取得したライセンスキーが正規であり、且つ予め設定された前記ライセンスキーの認証期間内であるか否かの認証を行い、前記認証が成功したときに、前記装置の固有コードを前記装置から取得して登録し、前記装置の接続が２回目以降の接続である場合に、前記装置から前記装置の固有コードを取得し、登録済みの固有コードと照合を行い、前記認証が成功したとき、または前記照合が一致したとき、前記装置の動作を制御する暗号化されたソフトウェアを復号化する、処理をコンピュータに実行させる。
【発明の効果】
【００２１】
１つの側面によれば、独立したネットワーク環境において、高い安全性を維持しつつ、装置を制御するソフトウェアの不正使用を防止することができる。
【図面の簡単な説明】
【００２２】
【図１】ライセンス認証の構成例および手順（シナリオ＃１）の例を示す図である。
【図２】制御部の機能ブロックの例を示す図である。
【図３】制御部の動作例のフロー（シナリオ＃１）を示す図である。
【図４】ライセンス認証の手順（シナリオ＃２）の例を示す図である。
【図５】制御部の動作例のフロー（シナリオ＃２）を示す図である。
【図６】ライセンス認証の手順（シナリオ＃３）の例を示す図である。
【図７】制御部の動作例のフロー（シナリオ＃３）を示す図である。
【図８】ライセンス認証の手順（シナリオ＃４）の例を示す図である。
【図９】制御部の動作例のフロー（シナリオ＃４）を示す図である。
【図１０】ドライバのデータ構造の一例を示す図である。
【図１１】各ライセンスキーの認証期間の一例を示す図である。
【図１２】ライセンスキーの認証期間とソフトウェア有効期間の一例を示す図である。
【図１３】制御部のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して、実施形態について説明する。以下の実施形態において、ライセンス認証は、コンピュータに接続される帳票読取装置の動作を制御するソフトウェアのライセンス認証の例を示す。ただし、実施形態のライセンス認証は、帳票読取装置以外の任意の装置に適用可能である。
【００２４】
実施形態では、金融機関で使用される帳票読取装置の動作を制御するソフトウェアのライセンス認証について説明する。帳票読取装置は、コンピュータに接続される。コンピュータにインストールされるソフトウェアが帳票読取装置を制御する。このソフトウェアは、ドライバ（デバイスドライバ）とも称される。
【００２５】
また、実施形態で運用が想定されるコンピュータを含むシステムは、複数台のコンピュータが相互に接続されている場合もあり、１台のコンピュータが単体で運用される場合もある。ただし、各コンピュータは、外部のネットワーク（例えば、インターネット通信網）等には接続されない、独立したネットワークを構成する。
【００２６】
図１は、本実施形態によるライセンス認証の構成例および手順（シナリオ＃１）を示す。帳票読取装置１０は、該帳票読取装置１０の動作を制御するドライバがインストールされるコンピュータ２０と、ケーブル３０を介して接続される。コンピュータ２０は、ライセンス認証装置の一例である。
【００２７】
帳票読取装置１０には、該帳票読取装置１０の動作を制御するドライバの正規な使用を認証するためのライセンスキー１１と、該帳票読取装置１０に固有の識別情報である固有コード１２とが予め設定される。
【００２８】
また、コンピュータ２０にインストールされるドライバは、一旦、不揮発性のメモリであるソリッドステートドライブ（ＳＳＤ）やハードディスクドライブ（ＨＤＤ）等の補助記憶部２２に格納される。
【００２９】
帳票読取装置１０の動作を制御するドライバの本体部分は、暗号化された状態で提供され、補助記憶部２２に暗号化された状態で格納される。ドライバは、本体部分（暗号化ドライバとも称される）の他に、ライセンス認証のために使用される初回接続フラグ、認証期間情報、および固有コードの各情報を含む。
【００３０】
制御部２１は、ライセンス認証のための各種情報を使用して、ライセンス認証の動作を実施する。そして、ライセンス認証が成功した場合に、暗号化された状態のドライバの復号化が制御部２１によって行われる。これにより、復号化されたドライバが、主記憶部２３に展開されて、帳票読取装置１０の動作の制御が可能となり、帳票読取装置１０を使用することが可能となる。
【００３１】
図２は、制御部２１の機能ブロックの例を示している。制御部２１は、判定部３１と取得部３２と認証部３３と登録部３４と照合部３５と復号化部３６と更新制御部３７とを備える。
【００３２】
判定部３１は、制御対象である帳票読取装置１０との接続が最初の接続か否かを判定する。帳票読取装置１０は、装置の一例である。取得部３２は、帳票読取装置１０の接続が最初の接続の場合に、帳票読取装置１０に設定されたライセンスキー１１を取得する。
【００３３】
認証部３３は、取得部３２が取得したライセンスキーが正規であり、且つ予め設定されたライセンスキー１１の認証期間内であるか否かの認証を行う。登録部３４は、認証が成功したときに、帳票読取装置１０の固有コードを取得して登録する。
【００３４】
照合部３５は、帳票読取装置１０の接続が２回目以降の接続である場合に、帳票読取装置１０から固有コードを取得し、登録済みの固有コードと照合を行う。復号化部３６は、認証部３３により認証が成功したとき、または照合部３５による照合が一致したとき、暗号化されたドライバを復号化する。更新制御部３７は、ドライバの更新制御を行う。
【００３５】
図３に制御部２１の動作例（シナリオ＃１）のフローを示す。以下、ライセンス認証の動作例のフロー（シナリオ＃１）について説明する。まず、帳票読取装置１０の初回接続時のライセンス認証について説明する。
【００３６】
帳票読取装置１０のドライバがインストールされたコンピュータ２０の制御部２１は、コンピュータ２０に帳票読取装置１０が接続されたことを認識する（ステップＳ２１）。判定部３１は、初回接続フラグを確認し、帳票読取装置１０の接続が初回接続であるか否かを判定する（ステップＳ２２）。この動作は図１の手順（１）に相当する。
【００３７】
図１の例に示すように、初回接続の場合、初回接続フラグは「初回」を示している。２回目以降の接続の場合、初回接続フラグは「Ｎｏ」を示している。なお、初回接続であるか否かを示す情報は、図１の例の初回接続フラグには限定されない。
【００３８】
初回接続でない場合（ステップＳ２２でＮｏ）には、後述するシナリオ＃２の動作を実施する。初回接続の場合（ステップＳ２２でＹｅｓ）、取得部３２は、帳票読取装置１０に対してライセンスキー１１の送信を要求する（ステップＳ２３）。この動作は図１の手順（２）に相当する。この要求に対して帳票読取装置１０は、ライセンスキー１１をコンピュータ２０に送信する。この動作は図１の手順（３）に相当する。
【００３９】
認証部３３は、取得したライセンスキー１１が正規のものであるか否かを認証する（ステップＳ２４）。認証部３３が正規なライセンスキー１１でないと認証した場合（ステップＳ２４でＮｏ）、後述するシナリオ＃３の動作を実施する。
【００４０】
認証部３３が正規なライセンスキー１１であると認証した場合（ステップＳ２４でＹｅｓ）、認証部３３は、ライセンスキー１１に付随して送信された認証期間の情報を確認する。そして、認証部３３は、ライセンス認証が予め設定された所定の認証期間内であるか否かを判定する（ステップＳ２５）。所定の認証期間であるか否かは、現在の日付（コンピュータ２０本体の日付情報を元に取得される）に基づいて判定することができる。
【００４１】
ライセンスキー１１が正規であったとしても、ライセンスキーの認証が所定の認証期間内でない場合（ステップＳ２５でＮｏ）、後述するシナリオ＃３の動作を実施する。ライセンスキー１１が正規のものであり、かつ認証期間の範囲内である場合（ステップＳ２５でＹｅｓ）、認証部３３による認証が成功する。この場合、制御部２１は、初回接続フラグを２回目以降の「Ｎｏ」に設定する（ステップＳ２６）。この動作は図１の手順（４）に相当する。
【００４２】
次に制御部２１は、帳票読取装置１０に対して固有コード１２を送信するように要求する（ステップＳ２７）。この動作は図１の手順（５）に相当する。この要求に対して、帳票読取装置１０は、固有コード１２をコンピュータ２０に送信する。この動作は図１の手順（６）に相当する。
【００４３】
登録部３４は、送信された固有コード１２を受信すると、該固有コード１２を補助記憶部２２の固有コード格納領域に登録する（ステップＳ２８）。そして、復号化部３６は、暗号化された状態のドライバ本体を復号化し、復号化したドライバを主記憶部２３に展開する（ステップＳ２９）。この動作は図１の手順（７）に相当する。なお、ステップＳ２６からステップ２９までの動作をシナリオ＃１の動作と称することとする。
【００４４】
次に前述のシナリオ＃２の動作例について説明する。シナリオ＃２は、帳票読取装置１０の接続が初回接続ではないと判定されたときの動作例である。このときの動作手順を図４に示し、また制御部２１の動作例のフローを図５に示す。
【００４５】
ドライバがインストールされたコンピュータ２０の制御部２１は、コンピュータ２０に帳票読取装置１０が接続されたことを認識すると（ステップＳ４１）、初回接続フラグを確認し、帳票読取装置１０の接続が初回接続であるか否かを判定する（Ｓ４２）。この動作は図４の手順（１）に相当する。
【００４６】
初回接続である場合には（ステップＳ４２でＹｅｓ）、前述のシナリオ＃１または後述のシナリオ＃３を実施する。初回接続でない場合には（ステップＳ４２でＮｏ）、帳票読取装置１０に対してライセンスキー１１を要求することなく、固有コード１２の送信を要求する（ステップＳ４３）。この動作は図４の手順（２）に相当する。
【００４７】
この要求に対して、帳票読取装置１０は、固有コード１２をコンピュータ２０に送信する。この動作は図４の手順（３）に相当する。照合部３５は、送信された固有コード１２を受信すると、該固有コード１２と、固有コード格納領域に登録済みの固有コードとを照合し、一致するか否かを判定する（ステップＳ４４）。
【００４８】
送信された固有コード１２が、固有コード格納領域に登録済みの固有コードと一致する場合（ステップＳ４４でＹｅｓ）、制御部２１は、暗号化された状態のドライバ本体を復号化し、該復号化したドライバ本体を主記憶部２３に展開する（ステップＳ４５）。この動作は図４の手順（４）に相当する。なお、ステップＳ４３からステップ４５までの動作をシナリオ＃２の動作と称することとする。
【００４９】
次に前述のシナリオ＃３の動作例について説明する。シナリオ＃３は、帳票読取装置１０の接続が初回接続であり、ライセンス認証が不可（ＮＧ）と判定された場合の動作例である。このときの動作手順を図６に示し、また制御部２１の動作例のフローを図７に示す。
【００５０】
帳票読取装置１０のドライバがインストールされたコンピュータ２０の制御部２１がコンピュータ２０に帳票読取装置１０が接続されたことを認識すると（ステップＳ６１）、判定部３１は、初回接続フラグを確認し、帳票読取装置１０の接続が初回接続であるか否かを判定する（ステップＳ６２）。この動作は図６の手順（１）に相当する。
【００５１】
初回接続でない場合（ステップＳ６２でＮｏ）には、前述のシナリオ＃２または後述のシナリオ＃４の動作を実施する。初回接続の場合（ステップＳ６２でＹｅｓ）、取得部３２は、帳票読取装置１０に対してライセンスキー１１の送信を要求する（ステップＳ６３）。この動作は図６の手順（２）に相当する。要求に対して帳票読取装置１０は、ライセンスキー１１をコンピュータ２０に送信する。この動作は図６の手順（３）に相当する。
【００５２】
認証部３３は、送信されたライセンスキー１１が正規のものであるか否かを認証する（ステップＳ６４）。次に、認証部３３は、ライセンスキー１１に付随して送信された認証期間の情報を確認し、認証期間内であるか否かを判定する（ステップＳ６５）。
【００５３】
ライセンスキー１１が正規のものでない場合（ステップＳ６４でＮｏ）、および認証期間の範囲内でない場合（ステップＳ６５でＮｏ）、ライセンス認証は拒否される。これにより、ライセンス認証が失敗する（ステップＳ６６）。
【００５４】
一方、ライセンスキー１１が正規のものであり（ステップＳ６４でＹｅｓ）、且つ認証期間の範囲内である場合（ステップＳ６５でＹｅｓ）、ライセンス認証は成功する。この場合、上述したシナリオ＃１が実施される。
【００５５】
ステップＳ６６の動作は、シナリオ＃３の動作である。従って、暗号化されたドライバ本体の復号化が行われることなく、認証処理が終了する。このため、ドライバは使用可能な状態にならず、ドライバの不正使用が防止される。
【００５６】
次に前述のシナリオ＃４の動作例について説明する。シナリオ＃４は、帳票読取装置１０の接続が初回接続ではなく、固有コード不一致と判定された場合の動作例である。このときの動作手順を図８に示し、また制御部２１の動作例のフローを図９に示す。
【００５７】
帳票読取装置１０のドライバがインストールされたコンピュータ２０の制御部２１がコンピュータ２０に帳票読取装置１０が接続されたことを認識すると（ステップＳ８１）、判定部３１は、初回接続フラグを確認し、帳票読取装置１０の接続が初回接続であるか否かを判定する（ステップＳ８２）。この動作は図８の手順（１）に相当する。
【００５８】
初回接続である場合には（ステップＳ８２でＹｅｓ）、前述のシナリオ＃１またはシナリオ＃３が実施される。照合部３３は、初回接続でない場合に（ステップＳ８２でＮｏ）、帳票読取装置１０に対してライセンスキー１１を要求することなく、固有コード１２の送信を要求する（ステップＳ８３）。この動作は図８の手順（２）に相当する。
【００５９】
この要求に対して、帳票読取装置１０は、固有コード１２をコンピュータ２０に送信する。この動作は図８の手順（３）に相当する。コンピュータ２０の照合部３５は、固有コード１２と、固有コード格納領域に登録済みの固有コードとを照合し、一致するか否かを判定する（ステップＳ８４）。
【００６０】
送信された固有コード１２が、固有コード格納領域に登録済みの固有コードと一致する場合（ステップＳ８４でＹｅｓ）、前述のシナリオ＃２の動作が実施される。送信された固有コード１２が、登録済みの固有コードと一致しない場合（Ｓ８４でＮｏ）、制御部２１は、暗号化された状態のドライバ本体の復号化を拒否する。
【００６１】
これにより、ドライバの復号化が失敗する。（ステップＳ８５）。そして、ドライバ本体は復号化されることなく、認証処理が終了する。従って、ドライバが使用可能な状態にならず、ドライバの不正使用が防止される。
【００６２】
図１０にドライバのデータ構造の一例を示す。ドライバ９０は、帳票読取装置１０の動作を制御する本体部分である基幹ドライバ群（ｘｘｘ．ｓｙｓ，ｘｘｘ．ｄｌｌ，ｘｘｘ．ｅｘｅ、その他）を含むドライバモジュール９１と、ライセンス認証モジュール９２とを有する。
【００６３】
ドライバモジュール９１のデータは、帳票読取装置１０の動作制御を行うデータであり、暗号化されて補助記憶部２２に格納される。ライセンス認証モジュール９２は、認証部３３が認証を行うときに使用される。
【００６４】
従って、ドライバモジュール９１は、認証部３３がライセンス認証モジュール９２を用いた認証を行い、認証が成功した場合に、使用可能になる。そして、復号化部３６は、ライセンス認証モジュール９２を使用して、復号化の処理を行う。
【００６５】
ライセンス認証モジュール９２は、ライセンス認証に用いるライセンスキーテーブル９２１、初回接続フラグ９２２、および固有コード９２３の情報を格納する領域を有している。このライセンス認証モジュール９２をインタフェースとして介在させて制御部２１はライセンス認証およびドライバ復号化を行う。
【００６６】
ライセンスキーテーブル９２１には、１または複数のライセンスキーと各ライセンスキーの認証期間情報とを対応付けて格納させておく。そして、ドライバの提供者は、該ドライバの制御対象である帳票読取装置１０の提供時期に合致した認証期間を有するライセンスキー１１を、帳票読取装置１０に設定する。
【００６７】
例えば、図１１に示すように、ライセンスキーＡの認証期間ａは、２０１４年４月１日〜４月３０日とし、ライセンスキーＢの認証期間ｂは、２０１４年５月１日〜５月３１日とし、ライセンスキーＣの認証期間ｃは、２０１４年６月１日〜６月３０日などとする。
【００６８】
ライセンスキーテーブル９２１に複数のライセンスキーとそれに対応した複数の認証期間の情報とを格納させておき、提供時期の異なる帳票読取装置１０に、提供時期に見合った認証期間のライセンスキーを設定することにより、１種類のドライバと提供時期の異なる帳票読取装置１０とに対する、認証時期を制限したライセンス認証を行うことができる。
【００６９】
また、ライセンスキーテーブル９２１に格納された複数のライセンスキーのうち、提供する特定の帳票読取装置１０の提供時期に合致した認証期間のライセンスキーのみを有効化することにより、複製等により取得したドライバが、提供時期の異なる帳票読取装置１０に対して不正に使用されることを防ぐなど、種々の不正使用に対して改変した認証を行うことが可能である。
【００７０】
次に、ドライバ９０の更新について説明する。図１０の例に示すように、ドライバ９０は、暗号化されたドライバモジュール９１とライセンス認証モジュール９２とを含んでいる。ドライバモジュール９１は、第１のモジュールの一例であり、ライセンス認証モジュール９２は、第２のモジュールの一例である。
【００７１】
ドライバ９０の更新は、更新制御部３７が行う。ドライバの更新を行うとき、更新制御部３７は、ドライバ９０のうち、ドライバモジュール９１の更新を行い、ライセンス認証モジュール９２の更新は行わない。なお、更新後のドライバモジュール９１も暗号化がされている。
【００７２】
従って、更新制御部３７は、ドライバ９０の更新を行うとき、ドライバモジュール９１の更新を行い、ライセンス認証モジュール９２の更新を行わない。これにより、ドライバモジュール９１が更新されても、ライセンス認証モジュール９２を引き続き利用することができる。このため、ドライバ９０の更新が行われたとしても、新たな認証作業等は発生せず、認証期間に違反しない。
【００７３】
また、図１２にライセンスキー認証期間とソフトウェア有効期間の一例を示す。従来方式ではライセンスキー認証期間内に認証を行う事でその期間中、ソフトウェアが有効となっていた。そのためソフトウェア有効期間を延長させるためライセンスキーを複数用いると不正利用されるリスクがあったが、本方式においては一度認証が成功する事でその後もソフトウェアを有効にできるため、従来と比べライセンス認証期間を短くすることが可能となり、不正利用されるリスクを減らすことが可能となる。
【００７４】
以上説明したように、帳票読取装置１０の提供時期に見合った認証期間内に、帳票読取装置１０のドライバのライセンス認証を行った場合にのみ、ライセンスキーを用いた認証が有効となり、帳票読取装置１０の提供時期の認証期間から外れた時期に、帳票読取装置１０のドライバのライセンス認証を行った場合には、ライセンス認証が失敗する。
【００７５】
従って、複製等による不正な方法で帳票読取装置１０を制御するドライバを取得し、帳票読取装置１０の提供時期からずれた時期にライセンス認証を行うと、認証が拒否されるため、帳票読取装置１０に対するドライバの不正使用を防ぐことが可能となる。
【００７６】
一旦、ライセンスキーを用いた認証が成功すると、その帳票読取装置１０の固有コード１２が、そのドライバをインストールしたコンピュータ２０に登録されるため、２回目以降の接続時には、ライセンス認証を行わなくても、接続された帳票読取装置１０の固有コード１２を、登録済みの固有コードと照合して認証を行うことにより、認証期間に関係なく、接続された帳票読取装置１０に対する認証が永続的に行われる。
【００７７】
仮にライセンス認証モジュールが他のコンピュータ２０の制御部２１にコピーされたとしても、コピー先のコンピュータ２０に繋がれた帳票読取装置１０の固有コードが、登録済みの固有コードと異なるものとなるため、シナリオ＃４として説明したように、暗号化されたドライバモジュールが復号化されず、該ドライバの不正使用が防止される。
【００７８】
上述したように、外部ネットワークを接続することなく、高い安全性を確保しつつ、帳票読取装置１０の提供時期に見合ったライセンス認証を行うことができる。また、外部接続機器を接続することなく、ライセンス認証を行うことができる。
【００７９】
次に、図１３を参照して、制御部２１のハードウェア構成の一例を説明する。図１３の例に示すように、バス１００に対して、プロセッサ１１１とＲＡＭ(Random Access Memory)１１２とＲＯＭ(Read Only Memory)１１３と補助記憶装置１１４と媒体接続部１１５と入出力インタフェース１１６とが接続されている。
【００８０】
プロセッサ１１１はＣＰＵ（Central Processing Unit)のような任意の処理回路である。プロセッサ１１１はＲＡＭ１１２に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態の処理を実現するプログラムを適用することができる。ＲＯＭ１１３はＲＡＭ１１２に展開されるプログラムを記憶する不揮発性の記憶装置である。
【００８１】
補助記憶装置１１４は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等を補助記憶装置１１４に適用することができる。媒体接続部１１５は、可搬型記録媒体１１７と接続可能に設けられている。
【００８２】
可搬型記録媒体１１７としては、可搬型のメモリや光学式ディスク（例えば、ＣＤ（Compact Disk)やＤＶＤ（Digital Versatile Disk)等）を適用することができる。この可搬型記録媒体１１７に実施形態の処理を行うプログラムが記録されていてもよい。入出力インタフェース１１６は、例えば、帳票読取装置１０とデータの入出力を行うインタフェースである。
【００８３】
ＲＡＭ１１２、ＲＯＭ１１３および補助記憶装置１１４は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【００８４】
以上、本発明の実施形態について説明したが、本発明は、以上に述べた実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を採ることができる。
【符号の説明】
【００８５】
１０  帳票読取装置
１１  ライセンスキー
１２  固有コード
２０  コンピュータ
２１  制御部
２２  補助記憶部
２３  主記憶部
３１  判定部
３２  取得部
３３  認証部
３４  登録部
３５  照合部
３６  復号化部
３７  更新制御部
【図１】
0006272608.tif 000002
【図２】
0006272608.tif 000003
【図３】
0006272608.tif 000004
【図４】
0006272608.tif 000005
【図５】
0006272608.tif 000006
【図６】
0006272608.tif 000007
【図７】
0006272608.tif 000008
【図８】
0006272608.tif 000009
【図９】
0006272608.tif 000010
【図１０】
0006272608.tif 000011
【図１１】
0006272608.tif 000012
【図１２】
0006272608.tif 000013
【図１３】
0006272608.tif 000014