(57)【要約】【課題】記録媒体に書き込まれた書込情報を読み取る情報読取装置において、予め装置内に実行不能状態で記憶されているプログラムを不正な手段によって有効化されることを防止するとともに、そのプログラムを有効化するための追加アプリケーションを必要とせず、既存のアプリケーションを使ってプログラムを実行可能にすることを目的とする。【解決手段】追加機能提供ファームウェアを暗号化してＲＯＭ２１に記憶させ、追加機能提供ファームウェアを復号化するための共通鍵を公開鍵で暗号化したライセンス番号をライセンスシートに書き込んでおき、更に共通鍵を復号化するための機器固有に秘密鍵をＲＯＭ２１に記憶させておき、追加機能の実行が必要となった場合に、ライセンスシートからライセンス番号を読み取った後（ステップＳ１１）、秘密鍵を用いてライセンス番号を復号化して共通鍵を取得し（ステップＳ１３）、取得した共通鍵を用いて追加機能提供ファームウェアを復号化してＲＡＭ２３上に展開する（ステップＳ１５）。【選択図】図５
2008165593.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体に書き込まれた書込情報を読み取る情報読取装置であって、
実行不可能なように暗号化されたプログラムであって、前記情報読取装置に追加機能を提供する追加機能提供プログラムを記憶するプログラム記憶部と、
暗号化された情報であって、前記追加機能提供プログラムを復号化して実行可能にする実行可能化情報が書き込まれた記録媒体に対する読み取り処理を実行する情報読取部と、
前記情報読取部で読み取られた前記実行可能化情報を復号化するために必要な復号化情報を記憶する情報記憶部と、
前記情報読取部が前記記録媒体から前記実行可能化情報を読み取ると、前記復号化情報で前記実行可能化情報を復号化し、復号化した前記実行可能化情報で前記追加機能提供プログラムを復号化し、復号化した前記追加機能提供プログラムを主記憶部へ展開して実行可能な状態にする追加機能提供管理部と、を有することを特徴とする情報読取装置。
【請求項２】
前記実行可能化情報は、磁気インク文字により構成され、
前記情報読取部は、磁気インク文字読取装置によって前記記録媒体に対する読み取り処理を実行することを特徴とする請求項１に記載の情報読取装置。
【請求項３】
前記情報読取部は、前記磁気インク文字読取装置による読み取り処理を実行するほか、光学式文字読取装置によっても前記記録媒体に対する読み取り処理を実行し、前記磁気インク文字読取装置によって読み取られた読み取り結果と、前記光学式文字読取装置によって読み取られた読み取り結果とが一致するか否かによって読み取り結果を判断する読取判断部を有することを特徴とする請求項２に記載の情報読取装置。
【請求項４】
前記追加機能提供プログラムが正しく復号化されたか否かを、誤り検出方法によって判断する誤り検出判断部を有し、
前記誤り検出判断部が正しく復号化されたと判断すると、前記追加機能提供管理部は、追加機能実行指示に応じて、前記主記憶部に展開された前記追加機能提供プログラムを呼び出し、
前記誤り検出判断部が正しく復号化されなかったと判断すると、前記追加機能提供管理部は、前記実行可能化情報を無効化するとともに、復号化した前記追加機能提供プログラムを前記主記憶部から呼び出せないようにすることを特徴とする請求項１から３の何れかに記載の情報読取装置。
【請求項５】
前記追加機能提供プログラムはチェックサムを付加してから暗号化されたプログラムであって、
前記誤り検出判断部は、前記チェックサムを検証して誤り検出することを特徴とする請求項４に記載の情報読取装置。
【請求項６】
前記追加機能提供管理部は、前記復号化情報で前記実行可能化情報を復号化すると、復号化した前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする請求項１から５の何れかに記載の情報読取装置。
【請求項７】
前記追加機能提供管理部は、前記復号化情報で前記実行可能化情報を復号化すると、復号化する前の前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする請求項１から５の何れかに記載の情報読取装置。
【請求項８】
前記情報記憶部には、前記復号化情報と情報読取装置毎に与えられたシリアル番号との排他的論理和をとった値が記憶されていることを特徴とする請求項１から７の何れかに記載の情報読取装置。
【請求項９】
前記実行可能化情報は、共通鍵暗号方式における共通鍵であって、
前記追加機能提供プログラムは、前記実行可能化情報によって暗号化されるとともに前記実行可能化情報によって復号化されることを特徴とする請求項１から８の何れかに記載の情報読取装置。
【請求項１０】
前記復号化情報は、公開鍵暗号方式における秘密鍵であり、
前記実行可能化情報は、前記秘密鍵と対応する公開鍵によって暗号化され、前記復号化情報によって復号化されることを特徴とする請求項９に記載の情報読取装置。
【請求項１１】
前記復号化情報は、公開鍵暗号方式における公開鍵であり、
前記実行可能化情報は、前記公開鍵と対応する秘密鍵によって暗号化され、前記復号化情報によって復号化されることを特徴とする請求項９に記載の情報読取装置。
【請求項１２】
実行不可能なように暗号化されたプログラムであって情報読取装置に追加機能を提供する追加機能提供プログラムを記憶するプログラム記憶部と、暗号化された情報であって、前記追加機能提供プログラムを復号化して実行可能にする実行可能化情報が書き込まれた記録媒体に対する読み取り処理を実行する情報読取部と、前記情報読取部で読み取られた前記実行可能化情報を復号化するために必要な復号化情報を記憶する情報記憶部と、を備えた情報読取装置の制御方法であって、
前記記録媒体から前記実行可能化情報を読み取る読取ステップと、
前記復号化情報で前記実行可能化情報を復号化する第１復号化ステップと、
前記第１復号化ステップで復号化された前記実行可能化情報で前記追加機能提供プログラムを復号化する第２復号化ステップと、
前記第２復号化ステップで復号化された前記追加機能提供プログラムを主記憶部へ読み出し実行可能な状態にするステップと、を有することを特徴とする情報読取装置の制御方法。
【請求項１３】
前記実行可能化情報は、磁気インク文字により構成され、
前記読取ステップにおいて、磁気インク文字読取装置によって前記記録媒体に対する読み取り処理を実行することを特徴とする請求項１２に記載の情報読取装置の制御方法。
【請求項１４】
前記読取ステップにおいて、前記磁気インク文字読取装置による読み取り処理を実行するほか、光学式文字読取装置によっても前記記録媒体に対する読み取り処理を実行し、
前記磁気インク文字読取装置によって読み取られた読み取り結果と、前記光学式文字読取装置によって読み取られた読み取り結果と、が一致するか否かによって読み取り結果を判断する読取判断ステップを有することを特徴とする請求項１３に記載の情報読取装置の制御方法。
【請求項１５】
前記追加機能提供プログラムが正しく復号化されたか否かを、誤り検出方法によって判断する誤り検出ステップを有し、
前記誤り検出ステップにおいて、正しく復号化されたと判断すると、追加機能実行指示に応じて、前記主記憶部に展開された前記追加機能提供プログラムを呼び出し、
前記誤り検出ステップにおいて、正しく復号化されなかったと判断すると、前記実行可能化情報を無効化するとともに、復号化した前記追加機能提供プログラムを前記主記憶部から呼び出せないようにすることを特徴とする請求項１２から１４の何れかに記載の情報読取装置の制御方法。
【請求項１６】
前記追加機能提供プログラムはチェックサムを付加してから暗号化されたプログラムであって、
前記誤り検出ステップにおいて、前記チェックサムを検証して誤り検出することを特徴とする請求項１５に記載の情報読取装置の制御方法。
【請求項１７】
前記第１復号化ステップにおいて前記復号化情報で前記実行可能化情報を復号化すると、復号化した前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする請求項１２から１６の何れかに記載の情報読取装置の制御方法。
【請求項１８】
前記第１復号化ステップにおいて前記復号化情報で前記実行可能化情報を復号化すると、復号化する前の前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする請求項１２から１６の何れかに記載の情報読取装置の制御方法。
【請求項１９】
前記実行可能化情報は、共通鍵暗号方式における共通鍵であって、
前記追加機能提供プログラムは、前記実行可能化情報によって暗号化されるとともに、前記第２復号化ステップにおいて前記実行可能化情報によって復号化されることを特徴とする請求項１２から１８の何れかに記載の情報読取装置の制御方法。
【請求項２０】
前記復号化情報は、公開鍵暗号方式における秘密鍵であり、
前記実行可能化情報は、前記秘密鍵と対応する公開鍵によって暗号化され、前記第１復号化ステップにおいて前記復号化情報によって復号化されることを特徴とする請求項１９に記載の情報読取装置の制御方法。
【請求項２１】
前記復号化情報は、公開鍵暗号方式における公開鍵であり、
前記実行可能化情報は、前記公開鍵と対応する秘密鍵によって暗号化され、前記第１復号化ステップにおいて前記復号化情報によって復号化されることを特徴とする請求項１９に記載の情報読取装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャナ、バーコードリーダ、ＯＣＲ（Optical Character Reader）、ＭＩＣＲ（Magnetic Ink Character Reader）等の記録媒体に書き込まれた書込情報を読み取る情報読取装置及び情報読取装置の制御方法に関する。
【背景技術】
【０００２】
従来、ネットワーク上からソフトウェアをダウンロードしてパソコン等の情報処理装置にインストールすることが行われている。一般に、ソフトウェアをインストールする際には、ソフトウェアのライセンス認証を必要とし、ライセンスの正当性が確認されない限りインストールすることができないようになっている場合が多い。
【０００３】
特許文献１には、ネットワークを介してソフトウェアをダウンロードし、情報処理装置にインストールする場合に、ソフトウェアのライセンス認証を行う方法が記載されている。特許文献１では、ソフトウェア使用許諾権利書であるライセンスシートをスキャナで読み込んでライセンス情報を取得し、取得したライセンス情報に基づいて、外部のソフトウェアの提供元から取得したソフトウェアについて正当なライセンスを有するか否かを判別するようにしている。より詳しくは、ライセンス情報に含まれるソフトウェアの使用許諾された機械番号が、当該ソフトウェアをインストールしようとする機械番号と一致するかどうかを判断してソフトウェアライセンスの正当性を確認するようにしている。
【０００４】
ところで、上記のような方法でインストールされるソフトウェアには装置へ新規追加されるソフトウェアもあれば、装置に生じる不具合の修正や機能向上を目的として、既にインストールされているソフトウェアを新しいバージョンのものにアップデートあるいはアップグレードする追加機能提供用のソフトウェアもある。
【０００５】
【特許文献１】特開２００５−２６７４０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の情報処理装置はネットワークに接続されていることが前提となっており、ネットワークに接続することが困難な小型処理装置においてはソフトウェアをネットワーク上からダウンロードしてインストールする方法は採用することができない。このような小型処理装置において、新規ソフトウェアあるいは既存のソフトウェアに対する追加ソフトウェアをインストールするには、予め小型処理装置内に新規ソフトウェアあるいは追加ソフトウェアを記憶させておき、必要に応じてそれらのソフトウェアを有効化させて対応する方法がある。これには、予め装置内に記憶されているソフトウェアを不正な手段によって有効化されることがないよう手段を講じておく必要がある。
【０００７】
小型処理装置と通信可能に接続されたホストコンピュータから、コマンドによって新規ソフトウェアあるいは追加ソフトウェアを有効化する方法があるが、これには、ソフトウェアを有効化するために必要なメンテナンス用のアプリケーションをホストコンピュータ側へ別途用意する必要がある。特に、ホストコンピュータが特定のアプリケーションに特化して動作している環境においては、他のアプリケーションを用意するには通常時の動作環境が適正に維持されるか等の検証が必要になり、煩雑である。このため、ホストコンピュータにメンテナンス用のアプリケーションを追加することなく、新規ソフトウェアあるいは追加ソフトウェアを有効化する方法が求められる。
【０００８】
本発明は、上記課題を考慮し、記録媒体に書き込まれた書込情報を読み取る情報読取装置において、予め装置内に実行不能状態で記憶されているプログラムを不正な手段によって有効化されることを防止するとともに、そのプログラムを有効化するための追加アプリケーションを必要とせず、既存のアプリケーションを使ってプログラムを実行可能にすることを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決することのできる本発明は、記録媒体に書き込まれた書込情報を読み取る情報読取装置であって、実行不可能なように暗号化されたプログラムであって、前記情報読取装置に追加機能を提供する追加機能提供プログラムを記憶するプログラム記憶部と、暗号化された情報であって、前記追加機能提供プログラムを復号化して実行可能にする実行可能化情報が書き込まれた記録媒体に対する読み取り処理を実行する情報読取部と、前記情報読取部で読み取られた前記実行可能化情報を復号化するために必要な復号化情報を記憶する情報記憶部と、前記情報読取部が前記記録媒体から前記実行可能化情報を読み取ると、前記復号化情報で前記実行可能化情報を復号化し、復号化した前記実行可能化情報で前記追加機能提供プログラムを復号化し、復号化した前記追加機能提供プログラムを主記憶部へ読み出し実行可能な状態にする追加機能提供管理部と、を有することを特徴とする。
【００１０】
また、上記課題を解決することのできる本発明は、実行不可能なように暗号化されたプログラムであって情報読取装置に追加機能を提供する追加機能提供プログラムを記憶するプログラム記憶部と、暗号化された情報であって、前記追加機能提供プログラムを復号化して実行可能にする実行可能化情報が書き込まれた記録媒体に対する読み取り処理を実行する情報読取部と、前記情報読取部で読み取られた前記実行可能化情報を復号化するために必要な復号化情報を記憶する情報記憶部と、を備えた情報読取装置の制御方法であって、
前記記録媒体から前記実行可能化情報を読み取る読取ステップと、前記復号化情報で前記実行可能化情報を復号化する第１復号化ステップと、前記第１復号化ステップで復号化された前記実行可能化情報で前記追加機能提供プログラムを復号化する第２復号化ステップと、前記第２復号化ステップで復号化された前記追加機能提供プログラムを主記憶部へ読み出し実行可能な状態にするステップと、を有することを特徴とする。
【００１１】
上記構成によれば、情報読取装置に追加機能を提供する追加機能提供プログラムを暗号化して情報読取装置のプログラム記憶部に記憶させておくとともに、追加機能提供プログラムを復号するための実行可能化情報を暗号化して記録媒体に書き込んでおき、追加機能の実行が必要になった場合には、記録媒体から実行可能化情報を読み取って復号化情報で復号し、復号した実行可能化情報で追加機能提供プログラムを復号する。したがって、実行可能化情報を復号することができない限り、追加機能提供プログラムを実行させることができないので、不正な手段によって追加機能提供プログラムが有効化されることを防止することができる。
【００１２】
なお、本発明の情報読取装置は、ホストコンピュータと、前記ホストコンピュータからの指示に応じて読み取り処理を実行する小型情報機器と、を含めたシステムとして捉えることもできる。この場合には、ホストコンピュータからの指示に応じて小型情報機器が、実行可能化情報が書き込まれた記録媒体を読み取ることによって、追加機能提供プログラムを復号化する実行可能化情報を取得する。そして、読み取られた実行可能化情報は小型情報機器に予め保持されている復号化情報によって復号化することができる。このような形態においては、ホストコンピュータは追加機能提供プログラムを実行化するために他のアプリケーションを必要としないので、既存のアプリケーションに追加変更を加える必要がない。
【００１３】
また、本発明において、前記実行可能化情報は、磁気インク文字により構成され、前記情報読取部は、磁気インク文字読取装置によって前記記録媒体に対する読み取り処理を実行することを特徴とする。
また、本発明において、前記実行可能化情報は、磁気インク文字により構成され、前記読取ステップにおいて、磁気インク文字読取装置によって前記記録媒体に対する読み取り処理を実行することを特徴とする。
【００１４】
上記構成によれば、磁気インク文字読取装置を備えた装置であれば、ネットワークに接続することを前提としていない装置でも、容易に追加機能提供プログラムを実行化して機能アップを図ることが可能となる。例えば、小切手等の単票用紙に書き込まれた磁気インク文字の読み取り機能に特化された小型の情報読取装置に対しても機能アップを実現することができる。
【００１５】
また、本発明において、前記情報読取部は、前記磁気インク文字読取装置による読み取り処理を実行するほか、光学式文字読取装置によっても前記記録媒体に対する読み取り処理を実行し、前記磁気インク文字読取装置によって読み取られた読み取り結果と、前記光学式文字読取装置によって読み取られた読み取り結果とが一致するか否かによって読み取り結果を判断する読取判断部を有することを特徴とする。
【００１６】
また、本発明において、前記読取ステップにおいて、前記磁気インク文字読取装置による読み取り処理を実行するほか、光学式文字読取装置によっても前記記録媒体に対する読み取り処理を実行し、前記磁気インク文字読取装置によって読み取られた読み取り結果と、前記光学式文字読取装置によって読み取られた読み取り結果と、が一致するか否かによって読み取り結果を判断する読取判断ステップを有することを特徴とする。
【００１７】
上記構成によれば、実行可能化情報を磁気インク文字読取装置と光学式文字読取装置との双方で読み取り、それぞれの読み取り結果を比較するので、実行可能化情報の読み取り精度の向上を図ることができる。
【００１８】
また、本発明は、前記追加機能提供プログラムが正しく復号化されたか否かを、誤り検出方法によって判断する誤り検出判断部を有し、前記誤り検出判断部が正しく復号化されたと判断すると、前記追加機能提供管理部は、追加機能実行指示に応じて、前記主記憶部に展開された復号化された前記追加機能提供プログラムを呼び出し、前記主記憶部へ読み出し実行可能な状態にし、前記誤り検出判断部が正しく復号化されなかったと判断すると、前記追加機能提供管理部は、前記実行可能化情報を無効化するとともに、復号化した前記追加機能提供プログラムを前記主記憶部から呼び出せないようにすることを特徴とする。
【００１９】
また、本発明は、前記追加機能提供プログラムが正しく復号化されたか否かを、誤り検出方法によって判断する誤り検出ステップを有し、前記誤り検出ステップにおいて、正しく復号化されたと判断すると、追加機能実行指示に応じて、前記主記憶部に展開された前記追加機能提供プログラムを呼び出し、前記誤り検出ステップにおいて、正しく復号化されなかったと判断すると、前記実行可能化情報を無効化するとともに、復号化した前記追加機能提供プログラムを前記主記憶部から呼び出せないようにすることを特徴とする。
【００２０】
上記構成によれば、追加機能提供プログラムの復号が正しく行われか否かを誤り検出法によって判断し、復号が正しく行われた場合は追加機能実行指示に応じて、前記主記憶部に展開された前記追加機能提供プログラムを呼び出し、復号が正しく行われなかった場合は追加機能提供プログラムを主記憶部へ呼び出せないようにするので、追加機能提供プログラムの復号化における信頼性向上を図ることができる。
【００２１】
また、本発明において、前記追加機能提供プログラムはチェックサムを付加してから暗号化されたプログラムであって、前記誤り検出判断部は、前記チェックサムを検証して誤り検出することを特徴とする。
また、本発明において、前記追加機能提供プログラムはチェックサムを付加してから暗号化されたプログラムであって、前記誤り検出ステップにおいて、前記チェックサムを検証して誤り検出することを特徴とする。
【００２２】
上記構成によれば、追加機能提供プログラムにチェックサムを付加して暗号化するので、追加機能提供プログラムの復号化における信頼性向上を図ることが可能である。
【００２３】
また、本発明は、前記追加機能提供管理部は、前記復号化情報で前記実行可能化情報を復号化すると、復号化した前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする。
また、本発明は、前記第１復号化ステップにおいて前記復号化情報で前記実行可能化情報を復号化すると、復号化した前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする。
【００２４】
上記構成によれば、復号化した実行可能化情報を不揮発性記憶部に記憶させるので、次回の電源投入以降に記録媒体から実行可能化情報を読み取る必要がなくなり、電源投入時から追加機能提供プログラムが実行可能状態になるまでの時間を短縮できる。
【００２５】
また、本発明は、前記追加機能提供管理部は、前記復号化情報で前記実行可能化情報を復号化すると、復号化する前の前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする。
また、本発明は、前記第１復号化ステップにおいて前記復号化情報で前記実行可能化情報を復号化すると、復号化する前の前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする。
【００２６】
上記構成によれば、追加機能提供プログラムの復号のために実行可能化情報を復号する毎に、復号した実行可能化情報を不揮発性記憶部に記憶させるのではなく、復号する前の実行可能化情報を不揮発性記憶部に記憶させることも可能である。したがって、復号化後の実行可能化情報が第３者に不正に取得されるのを防止することができる。
【００２７】
また、本発明において、前記情報記憶部には、前記復号化情報と情報読取装置毎に与えられたシリアル番号とで排他的論理和をとった値が記憶されていることを特徴とする。
【００２８】
上記構成によれば、復号化情報と情報読取装置毎に与えられたシリアル番号とから得られる排他的論理和を、情報記憶部に記憶することも可能である。排他的論理和（ＸＯＲ演算）の演算性質により、得られた排他的論理和の値と、シリアル番号と、の排他的論理和を再びとることによって元の復号化情報を得ることができる。すなわち、不正の目的を持った第３者が「復号化情報とシリアル番号をＸＯＲした値」、「暗号化された追加機能提供プログラム」及び「ライセンス番号」がセットでデットコピーされた場合でも、機器毎のシリアル番号は異なるため、他の情報読取装置に対して不正に機能アップを行おうとしても結果として暗号化された追加機能提供プログラムを復号化することができないため、不正利用を防ぐことが可能である。
【００２９】
また、本発明において、前記実行可能化情報は、共通鍵暗号方式における共通鍵であって、前記追加機能提供プログラムは、前記実行可能化情報によって暗号化されるとともに前記実行可能化情報によって復号化されることを特徴とする。
また、本発明において、前記実行可能化情報は、共通鍵暗号方式における共通鍵であって、前記追加機能提供プログラムは、前記実行可能化情報によって暗号化されるとともに、前記第２復号化ステップにおいて前記実行可能化情報によって復号化されることを特徴とする。
【００３０】
上記構成によれば、追加機能提供プログラムは実行可能化情報を共通鍵とする共通鍵暗号方式によって暗号化され、そして復号化される。すなわち暗号化と復号化に同一の鍵を使用するので、追加機能提供プログラムのサイズが大きい場合でも比較的高速な処理を行うことができる。
【００３１】
また、本発明において、前記復号化情報は、公開鍵暗号方式における秘密鍵であり、前記実行可能化情報は、前記秘密鍵と対応する公開鍵によって暗号化され、前記復号化情報によって復号化されることを特徴とする。
また、本発明において、前記復号化情報は、公開鍵暗号方式における秘密鍵であり、前記実行可能化情報は、前記秘密鍵と対応する公開鍵によって暗号化され、前記第１復号化ステップにおいて前記復号化情報によって復号化されることを特徴とする。
【００３２】
上記構成によれば、共通鍵によって暗号化された実行可能化情報は、公開鍵暗号方式における公開鍵によってさらに暗号化される。したがって、実行可能化情報が書き込まれた記録媒体を作成提供する者は、記録媒体の作成に際して、共通鍵と実行可能化情報を暗号化する１種類の公開鍵とだけを管理すればよいので、多くの記録媒体を作成する場合でも鍵の管理が煩雑になることを防止することができる。
【００３３】
また、本発明は、前記復号化情報は、公開鍵暗号方式における公開鍵であり、前記実行可能化情報は、前記公開鍵と対応する秘密鍵によって暗号化され、前記復号化情報によって復号化されることを特徴とする。
また、本発明は、前記復号化情報は、公開鍵暗号方式における公開鍵であり、前記実行可能化情報は、前記公開鍵と対応する秘密鍵によって暗号化され、前記第１復号化ステップにおいて前記復号化情報によって復号化されることを特徴とする。
【００３４】
上記構成によれば、情報読取装置の情報記憶部に記憶される復号化情報は、公開鍵暗号方式における公開鍵である。したがって、復号化情報を記憶させた情報記憶部を組み込ませた情報読取装置を製造販売する者は、製造過程において情報記憶部へ復号化情報を記憶させる際に、１種類の公開鍵だけを管理すればよいので、多くの情報読取装置を製造する場合でも鍵の管理が煩雑になることを防止することができる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明に係る実施形態について図面を参照して詳細に説明する。なお、本実施形態では、本発明に係る情報読取装置の一例として、ホストコンピュータと、前記ホストコンピュータからの指示に応じて読み取り処理を実行する小型情報機器と、から構成される情報読取システムを挙げて説明する。図１は、本発明の一実施形態に係る情報読取システムを構成する小型情報機器の用紙搬送路を示す模式図である。
（小型情報機器の機械的構成について）
図１に示すように本実施形態に係る小型情報機器１は、給紙部であるＡＳＦ（Auto Sheet Feeder:オートシートフィーダ）３に装填される小切手等の単票用紙を筐体に形成された用紙搬送路２に沿って搬送しながら、単票用紙上の両面画像の読み取り、単票用紙上の磁気インク文字の読み取りを実行可能に構成されている。
【００３６】
小切手Ｓの用紙搬送路２は略Ｕ字型形状を有しており、Ｕ字の底の部分に相当する部位が中間搬送路Ｍとなっている。この中間搬送路Ｍには、各種読取装置が設けられている。用紙搬送路２は、外側ガイド２ａと内側ガイド２ｂとの間に画成された搬送部２ｃによって構成されており、この搬送部２ｃに沿って小切手Ｓは搬送される。
【００３７】
用紙搬送路２の上流側には、複数の小切手Ｓを装填可能なＡＳＦ３が設けられている。複数の小切手Ｓは、矢印Ａの方向からＡＳＦ３を介して用紙搬送路２に挿入される。ＡＳＦ３に装填された複数の小切手Ｓは、一枚ずつ分離されて用紙搬送路２内に送り出される。
【００３８】
用紙搬送路２には、小切手Ｓの搬送を行う搬送手段として、中間搬送路Ｍの上流側に用紙搬送ローラ６と、中間搬送路Ｍ中に中間搬送ローラ１６と、中間搬送路Ｍの下流側に第２搬送ローラ７と、排出口４の手前に排出ローラ８が設けられている。用紙搬送ローラ６は、駆動ローラ６ａと、用紙搬送路２を介して駆動ローラ６ａに対向配置された押し付けローラ６ｂとを有している。また、第２搬送ローラ７は、駆動ローラ７ａと、用紙搬送路２を介して駆動ローラ７ａに対向配置された押し付けローラ７ｂとを有している。中間搬送ローラ１６は、用紙搬送路２の下方に配置された下部押えローラ１６ａと、下部押えローラ１６ａの上方に配置された上部押えローラ１６ｂと、中間搬送路Ｍを介して上部押えローラ１６ａ及び下部押えローラ１６ｂと対向配置された駆動ローラ１７とを有している。
【００３９】
ＡＳＦ３から用紙搬送路２内に送り出された小切手Ｓは、用紙搬送ローラ６、中間搬送ローラ１６、ならびに第２搬送ローラ７によって中間搬送路Ｍ内を搬送され、排出ローラ８により矢印Ｂの方向へ排出口４から排出される。
【００４０】
中間搬送路Ｍには、画像読み取りを行う用紙の画像読取装置１１（光学式文字読取装置：ＯＣＲ）および第２の画像読取装置１２（光学式文字読取装置：ＯＣＲ）がそれぞれ中間搬送路Ｍの両側に搬送方向にずれた状態で設置されている。用紙の画像読取装置１１および第２の画像読取装置１２は、それぞれＣＩＳ(Contact Image Sensor)タイプのスキャナである。用紙の画像読取装置１１および第２の画像読取装置１２は、中間搬送路Ｍを搬送される小切手Ｓの一面に光を照射し、反射した光を複数の受光素子（光電変換素子）を介して受光し、受光した光を電気信号に変換して１ライン分の画像を取得する。本実施形態では、用紙の画像読取装置１１は小切手Ｓの裏面画像を、第２の画像読取装置１２は小切手Ｓの表面画像を１ラインずつ順次読み取ることにより、小切手Ｓの二次元画像を取得する。
【００４１】
駆動ローラ１７の下方には、磁気インク文字を読み取る磁気インク文字読取装置（ＭＩＣＲ（Magnetic Ink Character Reader））１３が設置されている。磁気インク文字読取装置１３は、小切手Ｓの表面に印刷された磁気インク文字を読み取るためのセンサである。この磁気インク文字読取装置１３は、中間搬送路Ｍを介して磁気インク文字読取装置１３に対向配置された押付レバーによって小切手Ｓが磁気インク文字読取装置１３の表面に押し付けられた状態で読み取りを実行する。この場合、小切手Ｓについては、口座番号などの情報が磁気インク文字で印刷された磁気インク文字記録領域を読み取る。
【００４２】
（ライセンスシートについて）
次に、本実施形態の情報読取システムにおけるライセンスシートの読み取り処理について説明する。
小型情報機器１は、上述した小切手Ｓに対する読み取り処理を実行するほか、小切手Ｓとほぼ同程度の大きさのライセンスシートを読み取ることができるようになっている。ここで、ライセンスシート（記録媒体）とは、小型情報機器１の工場出荷時において実行不可能な状態で記憶されているプログラムを、出荷後に小型情報機器１のユーザーが必要に応じてそのプログラムを実行可能化する際に必要となる実行許可証のようなものである。ユーザーは小型情報機器１の購入後、既存の機能をさらにアップさせる必要が生じた場合等に、小型情報機器１の販売あるいは提供者等からライセンスシートを購入する。つまり、ライセンスシートの購入代金は小型情報機器１の追加機能の対価となる。
【００４３】
ライセンスシートの具体的な形式を図２に示す。ライセンスシートＬＳは、小切手Ｓとほぼ同等の大きさに形成されており、用紙搬送路２への挿入が可能となっている。「ライセンスに関する説明文」５１には、ユーザーに対する説明のために記述するライセンスの内容に関する説明文が記載され、「対象機器シリアル番号」５２には、機器固有のシリアル番号が記載されている。ライセンスシートは小型情報機器ごとに固有のシートが作成されるため、ユーザーが対象機器とライセンスシートとを対応付けできるように機器のシリアル番号が記載されている。「ライセンスシート識別マーク」５３には、画像読取装置１２にて読み取ったシートがライセンスシートであるか否かを識別するためのマークが記載されている。小型情報機器１は、ライセンスシート識別マークが記載されていることを確認すると、後述する機能追加に関する処理を開始する。
【００４４】
「磁気文字」５４には、後述するライセンス番号に相当する情報（実行可能化情報）が磁気インク文字（ＭＩＣＲ文字）等で記載されている。「ライセンス番号」５５（実行可能化情報）には、暗号化されて実行不可能な状態の追加機能提供ファームウェア（追加機能提供プログラム）を復号化して実行可能にするために必要な鍵を、さらに装置固有の秘密鍵（あるいは秘密鍵に対応する公開鍵＝復号化情報）によって暗号化したものがライセンス番号として記載されている。
【００４５】
本実施形態の小型情報機器１には、小型情報機器１に追加機能を提供する追加機能提供ファームウェアが暗号化された状態で保存されており、この暗号化されている追加機能提供ファームウェアはライセンスシートＬＳの表面に印刷されたライセンス番号で復号化されて実行可能状態となる。ただし、上記のごとくライセンス番号は、公開鍵（あるいは公開鍵に対応する秘密鍵）にて暗号化されており、前記公開鍵に対応する小型情報機器１固有の秘密鍵（あるいは秘密鍵に対応する公開鍵＝復号化情報）によって復号化される。すなわち、ライセンス番号は、公開鍵暗号化方式における公開鍵（あるいは秘密鍵）よって暗号化された番号であっって、公開鍵に対応する装置固有の秘密鍵（あるいは秘密鍵に対応する公開鍵＝復号化情報）によって復号化される。
一方、追加機能提供ファームウェアは、共通鍵暗号化方式における共通鍵（追加機能提供ファームウェア暗号化用の暗号鍵＝ライセンス番号を復号化することによって得られる復号鍵）によって暗号化され、復号化される。
このように、本実施形態では、共通鍵、公開鍵および秘密鍵の３つの鍵を使って小型情報機器１の機能アップ処理を行うようになっている。
【００４６】
（小型情報機器の内部構成について）
図３は、本実施形態の情報読取システム１００を構成する小型情報機器１の概略構成を示すブロック図である。上述した画像読取装置１１及び１２と磁気インク文字読取装置１３はＣＰＵ２０（Central Processing Unit）によって制御される。ＲＯＭ（Read Only Memory）２１には、ＣＰＵ２０が読み出して実行する制御プログラムと、小型情報機器１に追加機能を提供する追加機能提供ファームウェアと、暗号化されたライセンス番号を復号化するための秘密鍵（復号化情報）とが記憶されている。追加機能提供ファームウェアは、上記のごとく共通鍵によって暗号化された状態で記憶されている。
【００４７】
なお、ＲＯＭ２１に装置固有の秘密鍵をそのまま記憶させておいてもよいが、秘密鍵と、小型情報機器毎に与えられるシリアル番号（図２に示すライセンスシートＬＳでは「対象機器シリアル番号」５２である）と、をＸＯＲ演算した値（排他的論理和）をＲＯＭ２１に記憶させておいてもよい。
ＸＯＲ演算の演算性質により、得られた排他的論理和の値と、シリアル番号と、の排他的論理和を再びとることによって元の秘密鍵を得ることができる。すなわち、不正の目的を持った第３者が「秘密鍵とシリアル番号をＸＯＲした値」、「暗号化された追加機能提供ファームウェア」及び「ライセンス番号」がセットでデットコピーされた場合でも、機器毎のシリアル番号は異なるため、他の小型情報機器に対して不正に機能アップを行おうとしても結果として暗号化された追加機能提供プログラムを復号化することができないため、不正利用を防ぐことが可能である。
【００４８】
不揮発性メモリ２２には、ライセンス番号を復号化することによって得られた値、すなわち共通鍵が格納される。ＲＡＭ（Random Access Memory）２３には、共通鍵によって復号化された追加機能提供ファームウェアが格納される。ＣＰＵ２０は、ライセンスシートＬＳのライセンス番号を読み取る処理、ライセンス番号の読み取りが正しく行われたか否かを判断する処理、追加機能提供ファームウェアを復号する処理、追加機能提供ファームウェアが正しく復号化された否かを判断する処理、復号した追加機能提供ファームウェアを実行する処理など、各種処理を行う。
【００４９】
（情報読取システムの内部処理について）
図４は、本実施形態の情報読取システム１００の内部処理を示したブロック図である。この図において、図３のＲＯＭ２１に対応するプログラム記憶部３０には制御プログラムと追加機能提供ファームウェアと復号化情報とが記憶され、図３の不揮発性メモリ２２に対応する情報記憶部３１にはライセンス番号を復号化することによって得られる共通鍵が記憶される。また、図３のＲＡＭ２３に対応する主記憶部３２には復号化された追加機能提供ファームウェアが記憶される。
【００５０】
ホストコンピュータ１１０では、通常の小切手Ｓに対する読み取り業務に使用されるアプリケーションだけが動作している。つまり、ホストコンピュータ１１０には、追加機能提供ファームウェアを実行可能にするための特別なアプリケーションは組み込まれていない状態である。したがって、ホストコンピュータ１１０は、ライセンスシートＬＳの読み取り開始のタイミングを作るために、通常の読み取り処理と同様の読み取りコマンドを小型情報機器１へ送信すればよい。
【００５１】
読み取りコマンドは、情報読取システム１００の全体の動作を統括制御するシステム制御部１１２によって生成され、送受信部１１１を介して小型情報機器１へ送信される。
【００５２】
情報読取部３３は、画像読取装置１１及び１２を制御する画像読取制御部３３１と、磁気インク文字読取装置１３を制御する磁気インク文字読取制御部３３２とを備え、ホストコンピュータ１１０から送信される読み取りコマンドに応じて、ＡＳＦ３に載置されている小切手ＳやライセンスシートＬＳに対する読み取り処理を実行する。
【００５３】
追加機能提供管理部３４は、追加機能提供ファームウェアを管理するものであり、情報読取部３３によってライセンスシートＬＳからライセンス番号が読み取られることで、プログラム記憶部３０（ＲＯＭ２１）に記憶されている秘密鍵を読み出し、読み出した秘密鍵によりライセンス番号を復号化して共通鍵を取得する。そして、取得した共通鍵を情報記憶部３１（不揮発性メモリ２２）に記憶させた後、プログラム記憶部３０（ＲＯＭ２１）に記憶されている追加機能提供ファームウェアを読み出す。そして、共通鍵を用いて追加機能提供ファームウェアを復号化し、それを主記憶部３２（ＲＡＭ２３）上に展開する。ライセンス番号から復号した共通鍵を情報記憶部３１（不揮発性メモリ２２）に記憶させることで次回の電源投入以降にライセンスシートＬＳからライセンス番号を読み取る必要がなくなり、電源投入時から追加機能提供ファームウェアが実行可能状態になるまでの時間を短縮できる。
【００５４】
なお、ライセンス番号を復号化して共通鍵を取得した後に、復号化する前のライセンス番号を情報記憶部３１に記憶させるようにしても良い。このようにすることにより、情報記憶部３１（不揮発性メモリ２２）から追加機能提供ファームウェアを復号化する共通鍵が不正に取得されるのを防ぐことができる。
【００５５】
読取判断部３５は、情報読取部３３がライセンスシートＬＳから読み取った読み取り結果を判断する。具体的には、ライセンスシートＬＳの「ライセンスシート識別マーク」５３を画像読取装置１２にて読み取り、読み取り対象シートが小切手Ｓ等ではなくライセンスシートであるか否かを判断する。
また、読取判断部３５は、磁気インク文字読取装置１３によってライセンスシートＬＳから読み取られた結果と、画像読取装置（光学式文字読取装置）１２によってライセンスシートＬＳから読み取られた読み取り結果とが一致するか否かによって読み取り結果を判断する。磁気インク文字読取装置１３と画像読取装置１２のそれぞれの読み取り結果が一致しないと判断した場合には、追加機能提供ファームウェアを実行可能な状態にする処理を中止するとともに、送受信部３８を介してホストコンピュータ１１０へ読み取り不能ステータスを送信する。ライセンスシートＬＳのライセンス番号に対して光学的な読み取りと磁気的な読み取りの両方を行うことで、ライセンス番号の読み取り精度の向上が図れる。
【００５６】
誤り検出判断部３６は、追加機能提供ファームウェアが正しく復号化されたか否かを誤り検出方法によって判断し、その結果を主制御部３７に通知する。誤り検出には、例えばチェックサムを検証する方法があり、追加機能提供ファームウェアにチェックサムを付加してから暗号化し、その後、復号化して主記憶部３２（ＲＡＭ２３）上に展開した際にチェックサムを検証することで、誤りを検出することができる。
【００５７】
追加機能提供管理部３４は、誤り検出判断部３６からの通知に従い、追加機能提供ファームウェアが正しく復号化された場合は、ホストコンピュータ１１０から追加機能実行指示が送信されると、主記憶部３２（ＲＡＭ２３）に展開された追加機能提供ファームウェアを呼び出して、追加機能を実行する。一方、追加機能提供ファームウェアが正しく復号化されなかった場合には、ライセンス番号を無効化するとともに、復号化した追加機能提供ファームウェアを主記憶部３２（ＲＡＭ２３）から呼び出せないようにする。
【００５８】
（情報読取システムにおけるライセンスシート読み取り処理について）
次に、本実施形態の情報読取システムにおけるライセンスシート読み取り処理の具体的な流れを説明する。
図５は、ライセンスシートＬＳの読み取りから追加機能提供ファームウェアが実行可能状態になるまでの処理を示すフローチャートである。同図において、まず画像読取装置１２と磁気インク文字読取装置１３によってライセンスシートＬＳに印刷されたライセンス番号及び磁気インク文字で記載されたライセンス番号に相当する情報を読み取る（ステップＳ１１）。次いで、磁気インク文字読取装置１３によって読み取った結果と、画像読取装置１２によって読み取った読み取り結果と、が一致するか否かによって読み取りが成功したか否かを判断し（ステップＳ１２）、磁気インク文字読取装置１３と画像読取装置１２のそれぞれの読み取り結果が一致しなければ（ステップＳ１２：Ｎｏ）、読み取りが失敗したとして、ホストコンピュータ１１０へ読み取り不能ステータスを送信し（ステップＳ１９）、本処理を終了する。
【００５９】
これに対して、磁気インク文字読取装置１３と画像読取装置１２のそれぞれの読み取り結果が一致すれば（ステップＳ１２：Ｙｅｓ）、読み取りに成功したとして、読み取ったライセンス番号を機器固有の秘密鍵によって復号化し、追加機能提供ファームウェアを復号化するために必要な共通鍵を取得する（ステップＳ１３）。すなわち、ＲＯＭ２１（プログラム記憶部３０）に記憶されている秘密鍵を読み出し、読み出した秘密鍵によりライセンス番号から「追加機能提供ファームウェア暗号化用の暗号鍵＝追加機能提供ファームウェア復号化用の復号鍵＝共通鍵」を復号する。
【００６０】
共通鍵を取得した後、共通鍵を不揮発性メモリ２２（情報記憶部３１）に記憶させる（ステップＳ１４）。次いで、ＲＯＭ２１（プログラム記憶部３０）に記憶されている追加機能提供ファームウェアを読み出し、これを共通鍵を用いて復号化し、ＲＡＭ２３上に展開する（ステップＳ１５）。そして、ＲＡＭ２３上に展開した追加機能提供ファームウェアが正しく復号されたか、追加ファーム領域のチェックサムを検証する（ステップＳ１６）。追加機能提供ファームウェアが正しく復号された場合（ステップＳ１６：Ｙｅｓ）は、追加機能の実行が必要となった場合に、ＲＡＭ２３（主記憶部３２）上に展開した追加機能提供ファームウェアを呼び出す（ステップＳ１７）。これに対して、追加機能提供ファームウェアが正しく復号されなかった場合は（ステップＳ１６：Ｎｏ）、不揮発性メモリ２２（情報記憶部３１）上の共通鍵を無効にすると共に、追加機能提供ファームウェアをＲＡＭ２３へ呼び出せないようにする。ステップＳ１７とステップＳ１８のいずれか一方の処理を行った後、本処理を終了する。
【００６１】
以上説明したように本実施形態の情報読取システム１００によれば、小型情報機器１に追加機能を提供する追加機能提供ファームウェアを共通鍵暗号化方式における共通鍵で暗号化してプログラム記憶部３０（ＲＯＭ２１）に記憶させ、この共通鍵を公開鍵暗号方式の公開鍵で暗号化したライセンス番号をライセンスシートＬＳに書き込んでおき、さらにライセンス番号から共通鍵を復号化するための機器固有の秘密鍵（共通鍵に対応する秘密鍵）をプログラム記憶部３０（ＲＯＭ２１）に記憶させておき、追加機能の実行が必要となった場合に、ライセンスシートＬＳからライセンス番号を読み取り、秘密鍵を用いてライセンス番号を復号化して共通鍵を取得し、取得した共通鍵を不揮発性メモリ２２に記憶させた後、この共通鍵を用いて追加機能提供ファームウェアを復号化してＲＡＭ２３上に展開し、そして、追加機能提供ファームウェアが正しく復号されたかどうかを追加ファーム領域のチェックサムを検証して判断し、正しく復号された場合は追加機能の実行が必要になったときにＲＡＭ２３上に展開した追加機能提供ファームウェアを実行し、正しく復号されなかった場合は共通鍵を無効にすると共に追加機能提供ファームウェアを実行しないようにする。したがって、ライセンス番号から追加機能提供ファームウェアを復号化するために必要な共通鍵を復号化できない限り、追加機能提供ファームウェアが実行可能な状態にならないので、追加機能提供ファームウェアの不正使用を防止することができる。
【００６２】
また、ライセンス番号を磁気インク文字により構成して、ライセンス番号を画像読取装置１２と磁気インク文字読取装置１３の双方で読み取り、それぞれで読み取った結果からライセンス番号を正しく読み取れたかどうかを判断するので、ライセンス番号の読み取り精度の向上が図れる。
【００６３】
勿論、ライセンス番号の読み取りを磁気インク文字読取装置１３のみによって行うことも可能である。この場合には、画像読取装置１２による読取処理を実行する必要がなく、双方の読取結果を照合し判断する処理を省くことができるので、処理速度の高速化することができる。そして、光学式文字読取装置を備えておらず、磁気インク文字読取装置だけを備えた構成の小型情報機器においても、本発明を採用することができる。
【００６４】
また、追加機能提供ファームウェアが正しく復号できたか否かを誤り検出方法によって判断し、追加機能提供ファームウェアが正しく復号できた場合は、復号した追加機能提供ファームウェアをＲＡＭ２３（主記憶部３２）へ読み出し実行可能な状態にし、追加機能提供ファームウェアが正しく復号できなかった場合は、共通鍵を無効にするとともに、復号化した追加機能提供ファームウェアをＲＡＭ２３（主記憶部３２）へ読み出しできないようにしたので、実行された復号化処理が不正なライセンスシートＬＳに記載されたライセンス番号によって行われた結果であることを検出することができる。
【００６５】
また、不正なライセンス番号を用いても、秘密鍵による復号、および取り出した共通鍵による追加機能提供ファームウェアの復号処理自体は実行されてしまうが、本実施形態では、追加機能提供ファームウェアを暗号化する際に、チェックサムを付加してから暗号化しているため、追加機能提供ファームウェアのチェックサムを検証することによって、正当なライセンス番号であったかどうかの判定をすることができ、追加機能提供ファームウェアの復号における信頼性向上が図れる。
【００６６】
また、ライセンス番号を機器固有の秘密鍵によって復号化することによって取得した共通鍵を、不揮発性メモリ２２（情報記憶部３１）に記憶するので、次回の電源投入以降にライセンスシートＬＳからライセンス番号を読み取る必要がなくなり、電源投入時から追加機能提供ファームウェアが実行可能状態になるまでの時間を短縮できる。
【００６７】
また、共通鍵を不揮発性メモリ２２（情報記憶部３１）に記憶させるのではなく、復号化する前のライセンス番号を不揮発性メモリ２２（情報記憶部３１）に記憶させるようにすることで、復号化後の共通鍵が不正に取得されるのを防止できる。
【００６８】
また、本実施形態では、読み取りコマンドをホストコンピュータ１１０のシステム制御部１１２で生成して小型情報機器１へ送信する構成としたがこの構成に限られることはない。例えば、小型情報機器１側に単票用紙読み取り開始ボタンを設けることによって、ホストコンピュータ１１０を接続しなくても、一連の処理、つまりライセンスシートＬＳの読み取り処理から機能追加に関する処理までを小型情報機器単体で実行することも可能である。
【００６９】
さらに、本実施形態では、ライセンス番号の読み取りに画像読取装置１２、磁気インク文字読取装置１３を用いたが、これに限られることはない。例えば、小型情報機器にバーコードリーダーを備えた構成とし、ライセンス番号をバーコードによって記載することもできる。すなわち、本発明に係る情報読取装置は、機械認識に適合した形式による読み取り処理を実行可能な装置を含む概念である。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施形態に係る小型情報機器の用紙搬送路を示す模式図である。
【図２】本発明の一実施形態に係る小型情報機器に用いられるライセンスシートの一例を示す図である。
【図３】本発明の一実施形態に係る小型情報機器の内部構成を示すブロック図である。
【図４】本発明の一実施形態に係る情報読取システムの内部処理を示したブロック図である。
【図５】本発明の一実施形態に係る情報読取システムにおけるライセンスシートの読み取りから追加機能提供ファームウェアが実行可能状態になるまでの処理を示すフローチャートである。
【符号の説明】
【００７１】
１：小型情報機器、２：用紙搬送路、３：ＡＳＦ、４：排出口、６：用紙搬送ローラ、７：第２搬送ローラ、８：排出ローラ、１１、１２：画像読取装置、１３：磁気インク文字読取装置、１６：中間搬送ローラ、１７：駆動ローラ、２０：ＣＰＵ、２１：ＲＯＭ、２２：不揮発性メモリ、２３：ＲＡＭ、３０：プログラム記憶部、３１：情報記憶部、３２：主記憶部、３３：情報読取部、３４：追加機能提供管理部、３５：読取判断部、３６：誤り検出判断部、３７：主制御部、３３１：画像読取制御部、３３２：磁気インク文字読取制御部、ＬＳ：ライセンスシート、Ｍ：中間搬送路
【図１】
2008165593.tif 000003
【図２】
2008165593.tif 000004
【図３】
2008165593.tif 000005
【図４】
2008165593.tif 000006
【図５】
2008165593.tif 000007