特許第6272608号(P6272608)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通フロンテック株式会社の特許一覧

特許6272608ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム
<>
  • 特許6272608-ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム 図000002
  • 特許6272608-ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム 図000003
  • 特許6272608-ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム 図000004
  • 特許6272608-ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム 図000005
  • 特許6272608-ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム 図000006
  • 特許6272608-ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム 図000007
  • 特許6272608-ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム 図000008
  • 特許6272608-ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム 図000009
  • 特許6272608-ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム 図000010
  • 特許6272608-ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム 図000011
  • 特許6272608-ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム 図000012
  • 特許6272608-ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム 図000013
  • 特許6272608-ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6272608
(24)【登録日】2018年1月12日
(45)【発行日】2018年1月31日
(54)【発明の名称】ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラム
(51)【国際特許分類】
   G06F 21/10 20130101AFI20180122BHJP
   G06F 21/44 20130101ALI20180122BHJP
   G06Q 50/10 20120101ALI20180122BHJP
【FI】
   G06F21/10 350
   G06F21/44
   G06Q50/10
【請求項の数】5
【全頁数】16
(21)【出願番号】特願2014-263391(P2014-263391)
(22)【出願日】2014年12月25日
(65)【公開番号】特開2016-122419(P2016-122419A)
(43)【公開日】2016年7月7日
【審査請求日】2016年12月5日
(73)【特許権者】
【識別番号】000237639
【氏名又は名称】富士通フロンテック株式会社
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】加藤 智也
(72)【発明者】
【氏名】稲岡 秀行
(72)【発明者】
【氏名】奥山 浩司
【審査官】 宮司 卓佳
(56)【参考文献】
【文献】 特開2008−233334(JP,A)
【文献】 特開2011−204246(JP,A)
【文献】 特開2010−231385(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/10
G06F 21/44
G06Q 50/10
(57)【特許請求の範囲】
【請求項1】
制御対象の装置の接続が最初の接続か否かを判定する判定部と、
前記装置の接続が最初の接続である場合に、前記装置に設定されたライセンスキーを取得する取得部と、
前記取得部が取得したライセンスキーが正規であり、且つ予め設定された前記ライセンスキーの認証期間内であるか否かの認証を行う認証部と、
前記認証が成功したときに、前記装置の固有コードを前記装置から取得して登録する登録部と、
前記装置の接続が2回目以降の接続である場合に、前記装置から前記装置の固有コードを取得し、登録済みの固有コードと照合を行う照合部と、
前記装置の動作を制御する暗号化されたドライバモジュールを記憶する記憶部と、
前記認証が成功したとき、または前記照合が一致したとき、前記暗号化されたドライバモジュールを復号化する復号化部と、
を備えるライセンス認証装置。
【請求項2】
前記認証部は、前記ライセンスキーの認証期間として、予め設定されたライセンスキー毎に異なる複数の認証期間の中から、前記取得したライセンスキーに対応した認証期間に対して、該認証期間内であるか否かを認証する、
請求項1記載のライセンス認証装置。
【請求項3】
前記記憶部は、前記ドライバモジュールに加えて、前記認証に関する制御を行うライセンス認証モジュールをも記憶し
前記記憶部に記憶された前記ドライバモジュールと前記ライセンス認証モジュールとのうち、前記ドライバモジュールの更新を行い、前記ライセンス認証モジュールの更新を行わないように制御する更新制御部、を更に備える
請求項1または2記載のライセンス認証装置。
【請求項4】
制御対象の装置の接続が最初の接続か否かを判定し、
前記装置の接続が最初の接続である場合に、前記装置に設定されたライセンスキーを取得し、
取得したライセンスキーが正規であり、且つ予め設定された前記ライセンスキーの認証期間内であるか否かの認証を行い、
前記認証が成功したときに、前記装置の固有コードを前記装置から取得して登録し、
前記装置の接続が2回目以降の接続である場合に、前記装置から前記装置の固有コードを取得し、登録済みの固有コードと照合を行い、
前記装置の動作を制御する暗号化されたドライバモジュールを記憶し、
前記認証が成功したとき、または前記照合が一致したとき、前記暗号化されたドライバモジュールを復号化する、
処理をコンピュータが実行するライセンス認証方法。
【請求項5】
制御対象の装置の接続が最初の接続か否かを判定し、
前記装置の接続が最初の接続である場合に、前記装置に設定されたライセンスキーを取得し、
取得したライセンスキーが正規であり、且つ予め設定された前記ライセンスキーの認証期間内であるか否かの認証を行い、
前記認証が成功したときに、前記装置の固有コードを前記装置から取得して登録し、
前記装置の接続が2回目以降の接続である場合に、前記装置から前記装置の固有コードを取得し、登録済みの固有コードと照合を行い、
前記装置の動作を制御する暗号化されたドライバモジュールを記憶し、
前記認証が成功したとき、または前記照合が一致したとき、前記暗号化されたドライバモジュールを復号化する、
処理をコンピュータに実行させるためのライセンス認証プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ライセンス認証装置、ライセンス認証方法およびライセンス認証プログラムに関する。
【背景技術】
【0002】
ソフトウェアのライセンス認証方法として、流通するソフトウェアの電子媒体1枚につき1つのライセンスキーを付随させる方法がある。この方法では、電子媒体に記録されたソフトウェアとその付随のライセンスキーとが1対1に対応している。
【0003】
ソフトウェアを使用する際に、ライセンスキーを入力しなければ、ソフトウェアの処理動作が有効化(アクティベーション化)されないようにすることで、ソフトウェアの不正使用を防ぐことができる。
【0004】
また、ソフトウェアのライセンスキーと、ソフトウェアがインストールされたコンピュータの特定の装置の固有の識別情報のハッシュ値とを、1対1に対応させて、インターネットを介して、ライセンス認証用サーバのデータベースに登録することにより、より安全性の高いライセンス認証を実現する方法もある。
【0005】
例えば、ライセンスキーとハッシュ値とがライセンス認証用サーバのデータベースに1対1で対応して登録される。その後、ライセンスキーが付与されたソフトウェアが他のコンピュータにインストールされ、他のコンピュータからインターネットを介してライセンスキーとハッシュ値とが送信されたとする。この場合、他のコンピュータから送信されたライセンスキーとハッシュ値との対応が、既に登録されているライセンスキーとハッシュ値との対応と異なるものとなる。
【0006】
そのため、ライセンス認証用サーバは、ソフトウェアが不正に使用されたものとみなして、ソフトウェアのアクティベーション化を停止させ、ソフトウェアを使用不可にする。これらのライセンス認証方法以外にも、ドングル(プロテクトドングルとも称される)を用いたライセンス認証も存在する。
【0007】
関連する先行技術として、装置の固有コードがメモリカードに保存された固有コードと一致しているか否かを判別し、セットアップした固有のデータが複写されて不正利用されるのを防止する技術が提案されている(例えば、特許文献1参照)。
【0008】
また、パスワードの情報(パスワード、有効期限等)が認証情報データベースに登録され、認証用サーバは、認証情報データベースに入力されたパスワードと一致するものがあることを確認すると、現在接続してきたユーザの端末の有効期限内の通信を許可する技術が提案されている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開平11−249967号公報
【特許文献2】特開2004−207820号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
例えば、金融機関としての銀行の営業店業務等に広く利用されている装置に帳票読取装置(OHR:Over Head Reader)と称される装置がある。帳票読取装置(OHR)は、コンピュータに接続され、コンピュータにインストールされたドライバ(デバイスドライバ)と称されるソフトウェアによって制御される。
【0011】
帳票読取装置を制御するソフトウェアのように、コンピュータにインストールされ、帳票読取装置と分離した電子媒体等として製造されまたは流通するソフトウェアは、複製によって不正使用されるリスクがある。
【0012】
特に、事業活動のグローバル展開のために、帳票読取装置等の制御対象の装置とその動作の制御用のソフトウェアとが、海外の事業者等に提供される場合、制御対象の装置またはその動作の制御用のソフトウェアが、複製によって不正に使用されるリスクが増加する。
【0013】
そこで、帳票読取装置等の制御対象の装置およびその動作の制御用のソフトウェアの正当な使用を保証するためにライセンス認証を行うことが要求される。ただし、従来の認証方法では以下のような問題がある。
【0014】
ソフトウェアと1対1に対応するライセンスキーの入力のみによるライセンス認証では、対となるソフトウェアのライセンスキーが不正に取得されてコンピュータに入力される可能性がある。この場合、複製したソフトウェアによるアクティベーション化が容易に行われてしまう。従って、複数のコンピュータに同一のソフトウェアをインストールして使用することが可能になり、該ソフトウェアの複製や不正利用を防ぐことができない。
【0015】
また、インターネットを介してライセンス認証サーバにアクセスさせ、ライセンス認証サーバによるアクティベーション化を行うライセンス認証の場合、銀行のように独自のオンラインシステムにより、インターネット通信網から切離される。このため、インターネットを介してライセンス認証サーバにアクセスすることができず、ライセンス認証サーバによるライセンス認証を行うことができない。
【0016】
また、ドングルによるハードウェア認証によるライセンス認証では、例えば、USB(Universal Serial Bus)等の外部接続機器が使用される。コンピュータウイルス等に対するセキュリティの観点から、外部接続機器が使用されることは好ましくない。
【0017】
本発明は、独立したネットワーク環境において、高い安全性を維持しつつ、装置を制御するソフトウェアの不正使用を防止することを目的とする。
【課題を解決するための手段】
【0018】
1つの態様として、ライセンス認証装置は、制御対象の装置の接続が最初の接続か否かを判定する判定部と、前記装置の接続が最初の接続である場合に、前記装置に設定されたライセンスキーを取得する取得部と、前記取得部が取得したライセンスキーが正規であり、且つ予め設定された前記ライセンスキーの認証期間内であるか否かの認証を行う認証部と、前記認証が成功したときに、前記装置の固有コードを前記装置から取得して登録する登録部と、前記装置の接続が2回目以降の接続である場合に、前記装置から前記装置の固有コードを取得し、登録済みの固有コードと照合を行う照合部と、前記認証が成功したとき、または前記照合が一致したとき、前記装置の動作を制御する暗号化されたソフトウェアを復号化する復号化部と、を備える。
【0019】
別の態様として、ライセンス認証方法は、制御対象の装置の接続が最初の接続か否かを判定し、前記装置の接続が最初の接続である場合に、前記装置に設定されたライセンスキーを取得し、取得したライセンスキーが正規であり、且つ予め設定された前記ライセンスキーの認証期間内であるか否かの認証を行い、前記認証が成功したときに、前記装置の固有コードを前記装置から取得して登録し、前記装置の接続が2回目以降の接続である場合に、前記装置から前記装置の固有コードを取得し、登録済みの固有コードと照合を行い、前記認証が成功したとき、または前記照合が一致したとき、前記装置の動作を制御する暗号化されたソフトウェアを復号化する、処理をコンピュータが実行する。
【0020】
また、別の態様として、ライセンス認証プログラムは、制御対象の装置の接続が最初の接続か否かを判定し、前記装置の接続が最初の接続である場合に、前記装置に設定されたライセンスキーを取得し、取得したライセンスキーが正規であり、且つ予め設定された前記ライセンスキーの認証期間内であるか否かの認証を行い、前記認証が成功したときに、前記装置の固有コードを前記装置から取得して登録し、前記装置の接続が2回目以降の接続である場合に、前記装置から前記装置の固有コードを取得し、登録済みの固有コードと照合を行い、前記認証が成功したとき、または前記照合が一致したとき、前記装置の動作を制御する暗号化されたソフトウェアを復号化する、処理をコンピュータに実行させる。
【発明の効果】
【0021】
1つの側面によれば、独立したネットワーク環境において、高い安全性を維持しつつ、装置を制御するソフトウェアの不正使用を防止することができる。
【図面の簡単な説明】
【0022】
図1】ライセンス認証の構成例および手順(シナリオ#1)の例を示す図である。
図2】制御部の機能ブロックの例を示す図である。
図3】制御部の動作例のフロー(シナリオ#1)を示す図である。
図4】ライセンス認証の手順(シナリオ#2)の例を示す図である。
図5】制御部の動作例のフロー(シナリオ#2)を示す図である。
図6】ライセンス認証の手順(シナリオ#3)の例を示す図である。
図7】制御部の動作例のフロー(シナリオ#3)を示す図である。
図8】ライセンス認証の手順(シナリオ#4)の例を示す図である。
図9】制御部の動作例のフロー(シナリオ#4)を示す図である。
図10】ドライバのデータ構造の一例を示す図である。
図11】各ライセンスキーの認証期間の一例を示す図である。
図12】ライセンスキーの認証期間とソフトウェア有効期間の一例を示す図である。
図13】制御部のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0023】
以下、図面を参照して、実施形態について説明する。以下の実施形態において、ライセンス認証は、コンピュータに接続される帳票読取装置の動作を制御するソフトウェアのライセンス認証の例を示す。ただし、実施形態のライセンス認証は、帳票読取装置以外の任意の装置に適用可能である。
【0024】
実施形態では、金融機関で使用される帳票読取装置の動作を制御するソフトウェアのライセンス認証について説明する。帳票読取装置は、コンピュータに接続される。コンピュータにインストールされるソフトウェアが帳票読取装置を制御する。このソフトウェアは、ドライバ(デバイスドライバ)とも称される。
【0025】
また、実施形態で運用が想定されるコンピュータを含むシステムは、複数台のコンピュータが相互に接続されている場合もあり、1台のコンピュータが単体で運用される場合もある。ただし、各コンピュータは、外部のネットワーク(例えば、インターネット通信網)等には接続されない、独立したネットワークを構成する。
【0026】
図1は、本実施形態によるライセンス認証の構成例および手順(シナリオ#1)を示す。帳票読取装置10は、該帳票読取装置10の動作を制御するドライバがインストールされるコンピュータ20と、ケーブル30を介して接続される。コンピュータ20は、ライセンス認証装置の一例である。
【0027】
帳票読取装置10には、該帳票読取装置10の動作を制御するドライバの正規な使用を認証するためのライセンスキー11と、該帳票読取装置10に固有の識別情報である固有コード12とが予め設定される。
【0028】
また、コンピュータ20にインストールされるドライバは、一旦、不揮発性のメモリであるソリッドステートドライブ(SSD)やハードディスクドライブ(HDD)等の補助記憶部22に格納される。
【0029】
帳票読取装置10の動作を制御するドライバの本体部分は、暗号化された状態で提供され、補助記憶部22に暗号化された状態で格納される。ドライバは、本体部分(暗号化ドライバとも称される)の他に、ライセンス認証のために使用される初回接続フラグ、認証期間情報、および固有コードの各情報を含む。
【0030】
制御部21は、ライセンス認証のための各種情報を使用して、ライセンス認証の動作を実施する。そして、ライセンス認証が成功した場合に、暗号化された状態のドライバの復号化が制御部21によって行われる。これにより、復号化されたドライバが、主記憶部23に展開されて、帳票読取装置10の動作の制御が可能となり、帳票読取装置10を使用することが可能となる。
【0031】
図2は、制御部21の機能ブロックの例を示している。制御部21は、判定部31と取得部32と認証部33と登録部34と照合部35と復号化部36と更新制御部37とを備える。
【0032】
判定部31は、制御対象である帳票読取装置10との接続が最初の接続か否かを判定する。帳票読取装置10は、装置の一例である。取得部32は、帳票読取装置10の接続が最初の接続の場合に、帳票読取装置10に設定されたライセンスキー11を取得する。
【0033】
認証部33は、取得部32が取得したライセンスキーが正規であり、且つ予め設定されたライセンスキー11の認証期間内であるか否かの認証を行う。登録部34は、認証が成功したときに、帳票読取装置10の固有コードを取得して登録する。
【0034】
照合部35は、帳票読取装置10の接続が2回目以降の接続である場合に、帳票読取装置10から固有コードを取得し、登録済みの固有コードと照合を行う。復号化部36は、認証部33により認証が成功したとき、または照合部35による照合が一致したとき、暗号化されたドライバを復号化する。更新制御部37は、ドライバの更新制御を行う。
【0035】
図3に制御部21の動作例(シナリオ#1)のフローを示す。以下、ライセンス認証の動作例のフロー(シナリオ#1)について説明する。まず、帳票読取装置10の初回接続時のライセンス認証について説明する。
【0036】
帳票読取装置10のドライバがインストールされたコンピュータ20の制御部21は、コンピュータ20に帳票読取装置10が接続されたことを認識する(ステップS21)。判定部31は、初回接続フラグを確認し、帳票読取装置10の接続が初回接続であるか否かを判定する(ステップS22)。この動作は図1の手順(1)に相当する。
【0037】
図1の例に示すように、初回接続の場合、初回接続フラグは「初回」を示している。2回目以降の接続の場合、初回接続フラグは「No」を示している。なお、初回接続であるか否かを示す情報は、図1の例の初回接続フラグには限定されない。
【0038】
初回接続でない場合(ステップS22でNo)には、後述するシナリオ#2の動作を実施する。初回接続の場合(ステップS22でYes)、取得部32は、帳票読取装置10に対してライセンスキー11の送信を要求する(ステップS23)。この動作は図1の手順(2)に相当する。この要求に対して帳票読取装置10は、ライセンスキー11をコンピュータ20に送信する。この動作は図1の手順(3)に相当する。
【0039】
認証部33は、取得したライセンスキー11が正規のものであるか否かを認証する(ステップS24)。認証部33が正規なライセンスキー11でないと認証した場合(ステップS24でNo)、後述するシナリオ#3の動作を実施する。
【0040】
認証部33が正規なライセンスキー11であると認証した場合(ステップS24でYes)、認証部33は、ライセンスキー11に付随して送信された認証期間の情報を確認する。そして、認証部33は、ライセンス認証が予め設定された所定の認証期間内であるか否かを判定する(ステップS25)。所定の認証期間であるか否かは、現在の日付(コンピュータ20本体の日付情報を元に取得される)に基づいて判定することができる。
【0041】
ライセンスキー11が正規であったとしても、ライセンスキーの認証が所定の認証期間内でない場合(ステップS25でNo)、後述するシナリオ#3の動作を実施する。ライセンスキー11が正規のものであり、かつ認証期間の範囲内である場合(ステップS25でYes)、認証部33による認証が成功する。この場合、制御部21は、初回接続フラグを2回目以降の「No」に設定する(ステップS26)。この動作は図1の手順(4)に相当する。
【0042】
次に制御部21は、帳票読取装置10に対して固有コード12を送信するように要求する(ステップS27)。この動作は図1の手順(5)に相当する。この要求に対して、帳票読取装置10は、固有コード12をコンピュータ20に送信する。この動作は図1の手順(6)に相当する。
【0043】
登録部34は、送信された固有コード12を受信すると、該固有コード12を補助記憶部22の固有コード格納領域に登録する(ステップS28)。そして、復号化部36は、暗号化された状態のドライバ本体を復号化し、復号化したドライバを主記憶部23に展開する(ステップS29)。この動作は図1の手順(7)に相当する。なお、ステップS26からステップ29までの動作をシナリオ#1の動作と称することとする。
【0044】
次に前述のシナリオ#2の動作例について説明する。シナリオ#2は、帳票読取装置10の接続が初回接続ではないと判定されたときの動作例である。このときの動作手順を図4に示し、また制御部21の動作例のフローを図5に示す。
【0045】
ドライバがインストールされたコンピュータ20の制御部21は、コンピュータ20に帳票読取装置10が接続されたことを認識すると(ステップS41)、初回接続フラグを確認し、帳票読取装置10の接続が初回接続であるか否かを判定する(S42)。この動作は図4の手順(1)に相当する。
【0046】
初回接続である場合には(ステップS42でYes)、前述のシナリオ#1または後述のシナリオ#3を実施する。初回接続でない場合には(ステップS42でNo)、帳票読取装置10に対してライセンスキー11を要求することなく、固有コード12の送信を要求する(ステップS43)。この動作は図4の手順(2)に相当する。
【0047】
この要求に対して、帳票読取装置10は、固有コード12をコンピュータ20に送信する。この動作は図4の手順(3)に相当する。照合部35は、送信された固有コード12を受信すると、該固有コード12と、固有コード格納領域に登録済みの固有コードとを照合し、一致するか否かを判定する(ステップS44)。
【0048】
送信された固有コード12が、固有コード格納領域に登録済みの固有コードと一致する場合(ステップS44でYes)、制御部21は、暗号化された状態のドライバ本体を復号化し、該復号化したドライバ本体を主記憶部23に展開する(ステップS45)。この動作は図4の手順(4)に相当する。なお、ステップS43からステップ45までの動作をシナリオ#2の動作と称することとする。
【0049】
次に前述のシナリオ#3の動作例について説明する。シナリオ#3は、帳票読取装置10の接続が初回接続であり、ライセンス認証が不可(NG)と判定された場合の動作例である。このときの動作手順を図6に示し、また制御部21の動作例のフローを図7に示す。
【0050】
帳票読取装置10のドライバがインストールされたコンピュータ20の制御部21がコンピュータ20に帳票読取装置10が接続されたことを認識すると(ステップS61)、判定部31は、初回接続フラグを確認し、帳票読取装置10の接続が初回接続であるか否かを判定する(ステップS62)。この動作は図6の手順(1)に相当する。
【0051】
初回接続でない場合(ステップS62でNo)には、前述のシナリオ#2または後述のシナリオ#4の動作を実施する。初回接続の場合(ステップS62でYes)、取得部32は、帳票読取装置10に対してライセンスキー11の送信を要求する(ステップS63)。この動作は図6の手順(2)に相当する。要求に対して帳票読取装置10は、ライセンスキー11をコンピュータ20に送信する。この動作は図6の手順(3)に相当する。
【0052】
認証部33は、送信されたライセンスキー11が正規のものであるか否かを認証する(ステップS64)。次に、認証部33は、ライセンスキー11に付随して送信された認証期間の情報を確認し、認証期間内であるか否かを判定する(ステップS65)。
【0053】
ライセンスキー11が正規のものでない場合(ステップS64でNo)、および認証期間の範囲内でない場合(ステップS65でNo)、ライセンス認証は拒否される。これにより、ライセンス認証が失敗する(ステップS66)。
【0054】
一方、ライセンスキー11が正規のものであり(ステップS64でYes)、且つ認証期間の範囲内である場合(ステップS65でYes)、ライセンス認証は成功する。この場合、上述したシナリオ#1が実施される。
【0055】
ステップS66の動作は、シナリオ#3の動作である。従って、号化されたドライバ本体の復号化が行われることなく、認証処理が終了する。このため、ドライバは使用可能な状態にならず、ドライバの不正使用が防止される。
【0056】
次に前述のシナリオ#4の動作例について説明する。シナリオ#4は、帳票読取装置10の接続が初回接続ではなく、固有コード不一致と判定された場合の動作例である。このときの動作手順を図8に示し、また制御部21の動作例のフローを図9に示す。
【0057】
帳票読取装置10のドライバがインストールされたコンピュータ20の制御部21がコンピュータ20に帳票読取装置10が接続されたことを認識すると(ステップS81)、判定部31は、初回接続フラグを確認し、帳票読取装置10の接続が初回接続であるか否かを判定する(ステップS82)。この動作は図8の手順(1)に相当する。
【0058】
初回接続である場合には(ステップS82でYes)、前述のシナリオ#1またはシナリオ#3が実施される。照合部33は、初回接続でない場合に(ステップS82でNo)、帳票読取装置10に対してライセンスキー11を要求することなく、固有コード12の送信を要求する(ステップS83)。この動作は図8の手順(2)に相当する。
【0059】
この要求に対して、帳票読取装置10は、固有コード12をコンピュータ20に送信する。この動作は図8の手順(3)に相当する。コンピュータ20の照合部35は、固有コード12と、固有コード格納領域に登録済みの固有コードとを照合し、一致するか否かを判定する(ステップS84)。
【0060】
送信された固有コード12が、固有コード格納領域に登録済みの固有コードと一致する場合(ステップS84でYes)、前述のシナリオ#2の動作が実施される。送信された固有コード12が、登録済みの固有コードと一致しない場合(S84でNo)、制御部21は、暗号化された状態のドライバ本体の復号化を拒否する。
【0061】
これにより、ドライバの復号化が失敗する。(ステップS85)。そして、ドライバ本体は復号化されることなく、認証処理が終了する。従って、ドライバが使用可能な状態にならず、ドライバの不正使用が防止される。
【0062】
図10にドライバのデータ構造の一例を示す。ドライバ90は、帳票読取装置10の動作を制御する本体部分である基幹ドライバ群(xxx.sys,xxx.dll,xxx.exe、その他)を含むドライバモジュール91と、ライセンス認証モジュール92とを有する。
【0063】
ドライバモジュール91のデータは、帳票読取装置10の動作制御を行うデータであり、暗号化されて補助記憶部22に格納される。ライセンス認証モジュール92は、認証部33が認証を行うときに使用される。
【0064】
従って、ドライバモジュール91は、認証部33がライセンス認証モジュール92を用いた認証を行い、認証が成功した場合に、使用可能になる。そして、復号化部36は、ライセンス認証モジュール92を使用して、復号化の処理を行う。
【0065】
ライセンス認証モジュール92は、ライセンス認証に用いるライセンスキーテーブル921、初回接続フラグ922、および固有コード923の情報を格納する領域を有している。このライセンス認証モジュール92をインタフェースとして介在させて制御部21はライセンス認証およびドライバ復号化を行う。
【0066】
ライセンスキーテーブル921には、1または複数のライセンスキーと各ライセンスキーの認証期間情報とを対応付けて格納させておく。そして、ドライバの提供者は、該ドライバの制御対象である帳票読取装置10の提供時期に合致した認証期間を有するライセンスキー11を、帳票読取装置10に設定する。
【0067】
例えば、図11に示すように、ライセンスキーAの認証期間aは、2014年4月1日〜4月30日とし、ライセンスキーBの認証期間bは、2014年5月1日〜5月31日とし、ライセンスキーCの認証期間cは、2014年6月1日〜6月30日などとする。
【0068】
ライセンスキーテーブル921に複数のライセンスキーとそれに対応した複数の認証期間の情報とを格納させておき、提供時期の異なる帳票読取装置10に、提供時期に見合った認証期間のライセンスキーを設定することにより、1種類のドライバと提供時期の異なる帳票読取装置10とに対する、認証時期を制限したライセンス認証を行うことができる。
【0069】
また、ライセンスキーテーブル921に格納された複数のライセンスキーのうち、提供する特定の帳票読取装置10の提供時期に合致した認証期間のライセンスキーのみを有効化することにより、複製等により取得したドライバが、提供時期の異なる帳票読取装置10に対して不正に使用されることを防ぐなど、種々の不正使用に対して改変した認証を行うことが可能である。
【0070】
次に、ドライバ90の更新について説明する。図10の例に示すように、ドライバ90は、暗号化されたドライバモジュール91とライセンス認証モジュール92とを含んでいる。ドライバモジュール91は、第1のモジュールの一例であり、ライセンス認証モジュール92は、第2のモジュールの一例である。
【0071】
ドライバ90の更新は、更新制御部37が行う。ドライバの更新を行うとき、更新制御部37は、ドライバ90のうち、ドライバモジュール91の更新を行い、ライセンス認証モジュール92の更新は行わない。なお、更新後のドライバモジュール91も暗号化がされている。
【0072】
従って、更新制御部37は、ドライバ90の更新を行うとき、ドライバモジュール91の更新を行い、ライセンス認証モジュール92の更新を行わない。これにより、ドライバモジュール91が更新されても、ライセンス認証モジュール92を引き続き利用することができる。このため、ドライバ90の更新が行われたとしても、新たな認証作業等は発生せず、認証期間に違反しない。
【0073】
また、図12にライセンスキー認証期間とソフトウェア有効期間の一例を示す。従来方式ではライセンスキー認証期間内に認証を行う事でその期間中、ソフトウェア有効となっていた。そのためソフトウェア有効期間を延長させるためライセンスキーを複数用いると不正利用されるリスクがあったが、本方式においては一度認証が成功する事でその後もソフトウェア有効にできるため、従来と比べライセンス認証期間を短くすることが可能となり、不正利用されるリスクを減らすことが可能となる。
【0074】
以上説明したように、帳票読取装置10の提供時期に見合った認証期間内に、帳票読取装置10のドライバのライセンス認証を行った場合にのみ、ライセンスキーを用いた認証が有効となり、帳票読取装置10の提供時期の認証期間から外れた時期に、帳票読取装置10のドライバのライセンス認証を行った場合には、ライセンス認証が失敗する。
【0075】
従って、複製等による不正な方法で帳票読取装置10を制御するドライバを取得し、帳票読取装置10の提供時期からずれた時期にライセンス認証を行うと、認証が拒否されるため、帳票読取装置10に対するドライバの不正使用を防ぐことが可能となる。
【0076】
一旦、ライセンスキーを用いた認証が成功すると、その帳票読取装置10の固有コード12が、そのドライバをインストールしたコンピュータ20に登録されるため、2回目以降の接続時には、ライセンス認証を行わなくても、接続された帳票読取装置10の固有コード12を、登録済みの固有コードと照合して認証を行うことにより、認証期間に関係なく、接続された帳票読取装置10に対する認証が永続的に行われる。
【0077】
仮にライセンス認証モジュールが他のコンピュータ20の制御部21にコピーされたとしても、コピー先のコンピュータ20に繋がれた帳票読取装置10の固有コードが、登録済みの固有コードと異なるものとなるため、シナリオ#4として説明したように、暗号化されたドライバモジュールが復号化されず、該ドライバの不正使用が防止される。
【0078】
上述したように、外部ネットワークを接続することなく、高い安全性を確保しつつ、帳票読取装置10の提供時期に見合ったライセンス認証を行うことができる。また、外部接続機器を接続することなく、ライセンス認証を行うことができる。
【0079】
次に、図13を参照して、制御部21のハードウェア構成の一例を説明する。図13の例に示すように、バス100に対して、プロセッサ111とRAM(Random Access Memory)112とROM(Read Only Memory)113と補助記憶装置114と媒体接続部115と入出力インタフェース116とが接続されている。
【0080】
プロセッサ111はCPU(Central Processing Unit)のような任意の処理回路である。プロセッサ111はRAM112に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態の処理を実現するプログラムを適用することができる。ROM113はRAM112に展開されるプログラムを記憶する不揮発性の記憶装置である。
【0081】
補助記憶装置114は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等を補助記憶装置114に適用することができる。媒体接続部115は、可搬型記録媒体117と接続可能に設けられている。
【0082】
可搬型記録媒体117としては、可搬型のメモリや光学式ディスク(例えば、CD(Compact Disk)やDVD(Digital Versatile Disk)等)を適用することができる。この可搬型記録媒体117に実施形態の処理を行うプログラムが記録されていてもよい。入出力インタフェース116は、例えば、帳票読取装置10とデータの入出力を行うインタフェースである。
【0083】
RAM112、ROM113および補助記憶装置114は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【0084】
以上、本発明の実施形態について説明したが、本発明は、以上に述べた実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を採ることができる。
【符号の説明】
【0085】
10 帳票読取装置
11 ライセンスキー
12 固有コード
20 コンピュータ
21 制御部
22 補助記憶部
23 主記憶部
31 判定部
32 取得部
33 認証部
34 登録部
35 照合部
36 復号化部
37 更新制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13