説明

情報読取装置及び情報読取装置の制御方法

【課題】記録媒体に書き込まれた書込情報を読み取る情報読取装置において、予め装置内に実行不能状態で記憶されているプログラムを不正な手段によって有効化されることを防止するとともに、そのプログラムを有効化するための追加アプリケーションを必要とせず、既存のアプリケーションを使ってプログラムを実行可能にすることを目的とする。
【解決手段】追加機能提供ファームウェアを暗号化してROM21に記憶させ、追加機能提供ファームウェアを復号化するための共通鍵を公開鍵で暗号化したライセンス番号をライセンスシートに書き込んでおき、更に共通鍵を復号化するための機器固有に秘密鍵をROM21に記憶させておき、追加機能の実行が必要となった場合に、ライセンスシートからライセンス番号を読み取った後(ステップS11)、秘密鍵を用いてライセンス番号を復号化して共通鍵を取得し(ステップS13)、取得した共通鍵を用いて追加機能提供ファームウェアを復号化してRAM23上に展開する(ステップS15)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スキャナ、バーコードリーダ、OCR(Optical Character Reader)、MICR(Magnetic Ink Character Reader)等の記録媒体に書き込まれた書込情報を読み取る情報読取装置及び情報読取装置の制御方法に関する。
【背景技術】
【0002】
従来、ネットワーク上からソフトウェアをダウンロードしてパソコン等の情報処理装置にインストールすることが行われている。一般に、ソフトウェアをインストールする際には、ソフトウェアのライセンス認証を必要とし、ライセンスの正当性が確認されない限りインストールすることができないようになっている場合が多い。
【0003】
特許文献1には、ネットワークを介してソフトウェアをダウンロードし、情報処理装置にインストールする場合に、ソフトウェアのライセンス認証を行う方法が記載されている。特許文献1では、ソフトウェア使用許諾権利書であるライセンスシートをスキャナで読み込んでライセンス情報を取得し、取得したライセンス情報に基づいて、外部のソフトウェアの提供元から取得したソフトウェアについて正当なライセンスを有するか否かを判別するようにしている。より詳しくは、ライセンス情報に含まれるソフトウェアの使用許諾された機械番号が、当該ソフトウェアをインストールしようとする機械番号と一致するかどうかを判断してソフトウェアライセンスの正当性を確認するようにしている。
【0004】
ところで、上記のような方法でインストールされるソフトウェアには装置へ新規追加されるソフトウェアもあれば、装置に生じる不具合の修正や機能向上を目的として、既にインストールされているソフトウェアを新しいバージョンのものにアップデートあるいはアップグレードする追加機能提供用のソフトウェアもある。
【0005】
【特許文献1】特開2005−267405号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の情報処理装置はネットワークに接続されていることが前提となっており、ネットワークに接続することが困難な小型処理装置においてはソフトウェアをネットワーク上からダウンロードしてインストールする方法は採用することができない。このような小型処理装置において、新規ソフトウェアあるいは既存のソフトウェアに対する追加ソフトウェアをインストールするには、予め小型処理装置内に新規ソフトウェアあるいは追加ソフトウェアを記憶させておき、必要に応じてそれらのソフトウェアを有効化させて対応する方法がある。これには、予め装置内に記憶されているソフトウェアを不正な手段によって有効化されることがないよう手段を講じておく必要がある。
【0007】
小型処理装置と通信可能に接続されたホストコンピュータから、コマンドによって新規ソフトウェアあるいは追加ソフトウェアを有効化する方法があるが、これには、ソフトウェアを有効化するために必要なメンテナンス用のアプリケーションをホストコンピュータ側へ別途用意する必要がある。特に、ホストコンピュータが特定のアプリケーションに特化して動作している環境においては、他のアプリケーションを用意するには通常時の動作環境が適正に維持されるか等の検証が必要になり、煩雑である。このため、ホストコンピュータにメンテナンス用のアプリケーションを追加することなく、新規ソフトウェアあるいは追加ソフトウェアを有効化する方法が求められる。
【0008】
本発明は、上記課題を考慮し、記録媒体に書き込まれた書込情報を読み取る情報読取装置において、予め装置内に実行不能状態で記憶されているプログラムを不正な手段によって有効化されることを防止するとともに、そのプログラムを有効化するための追加アプリケーションを必要とせず、既存のアプリケーションを使ってプログラムを実行可能にすることを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決することのできる本発明は、記録媒体に書き込まれた書込情報を読み取る情報読取装置であって、実行不可能なように暗号化されたプログラムであって、前記情報読取装置に追加機能を提供する追加機能提供プログラムを記憶するプログラム記憶部と、暗号化された情報であって、前記追加機能提供プログラムを復号化して実行可能にする実行可能化情報が書き込まれた記録媒体に対する読み取り処理を実行する情報読取部と、前記情報読取部で読み取られた前記実行可能化情報を復号化するために必要な復号化情報を記憶する情報記憶部と、前記情報読取部が前記記録媒体から前記実行可能化情報を読み取ると、前記復号化情報で前記実行可能化情報を復号化し、復号化した前記実行可能化情報で前記追加機能提供プログラムを復号化し、復号化した前記追加機能提供プログラムを主記憶部へ読み出し実行可能な状態にする追加機能提供管理部と、を有することを特徴とする。
【0010】
また、上記課題を解決することのできる本発明は、実行不可能なように暗号化されたプログラムであって情報読取装置に追加機能を提供する追加機能提供プログラムを記憶するプログラム記憶部と、暗号化された情報であって、前記追加機能提供プログラムを復号化して実行可能にする実行可能化情報が書き込まれた記録媒体に対する読み取り処理を実行する情報読取部と、前記情報読取部で読み取られた前記実行可能化情報を復号化するために必要な復号化情報を記憶する情報記憶部と、を備えた情報読取装置の制御方法であって、
前記記録媒体から前記実行可能化情報を読み取る読取ステップと、前記復号化情報で前記実行可能化情報を復号化する第1復号化ステップと、前記第1復号化ステップで復号化された前記実行可能化情報で前記追加機能提供プログラムを復号化する第2復号化ステップと、前記第2復号化ステップで復号化された前記追加機能提供プログラムを主記憶部へ読み出し実行可能な状態にするステップと、を有することを特徴とする。
【0011】
上記構成によれば、情報読取装置に追加機能を提供する追加機能提供プログラムを暗号化して情報読取装置のプログラム記憶部に記憶させておくとともに、追加機能提供プログラムを復号するための実行可能化情報を暗号化して記録媒体に書き込んでおき、追加機能の実行が必要になった場合には、記録媒体から実行可能化情報を読み取って復号化情報で復号し、復号した実行可能化情報で追加機能提供プログラムを復号する。したがって、実行可能化情報を復号することができない限り、追加機能提供プログラムを実行させることができないので、不正な手段によって追加機能提供プログラムが有効化されることを防止することができる。
【0012】
なお、本発明の情報読取装置は、ホストコンピュータと、前記ホストコンピュータからの指示に応じて読み取り処理を実行する小型情報機器と、を含めたシステムとして捉えることもできる。この場合には、ホストコンピュータからの指示に応じて小型情報機器が、実行可能化情報が書き込まれた記録媒体を読み取ることによって、追加機能提供プログラムを復号化する実行可能化情報を取得する。そして、読み取られた実行可能化情報は小型情報機器に予め保持されている復号化情報によって復号化することができる。このような形態においては、ホストコンピュータは追加機能提供プログラムを実行化するために他のアプリケーションを必要としないので、既存のアプリケーションに追加変更を加える必要がない。
【0013】
また、本発明において、前記実行可能化情報は、磁気インク文字により構成され、前記情報読取部は、磁気インク文字読取装置によって前記記録媒体に対する読み取り処理を実行することを特徴とする。
また、本発明において、前記実行可能化情報は、磁気インク文字により構成され、前記読取ステップにおいて、磁気インク文字読取装置によって前記記録媒体に対する読み取り処理を実行することを特徴とする。
【0014】
上記構成によれば、磁気インク文字読取装置を備えた装置であれば、ネットワークに接続することを前提としていない装置でも、容易に追加機能提供プログラムを実行化して機能アップを図ることが可能となる。例えば、小切手等の単票用紙に書き込まれた磁気インク文字の読み取り機能に特化された小型の情報読取装置に対しても機能アップを実現することができる。
【0015】
また、本発明において、前記情報読取部は、前記磁気インク文字読取装置による読み取り処理を実行するほか、光学式文字読取装置によっても前記記録媒体に対する読み取り処理を実行し、前記磁気インク文字読取装置によって読み取られた読み取り結果と、前記光学式文字読取装置によって読み取られた読み取り結果とが一致するか否かによって読み取り結果を判断する読取判断部を有することを特徴とする。
【0016】
また、本発明において、前記読取ステップにおいて、前記磁気インク文字読取装置による読み取り処理を実行するほか、光学式文字読取装置によっても前記記録媒体に対する読み取り処理を実行し、前記磁気インク文字読取装置によって読み取られた読み取り結果と、前記光学式文字読取装置によって読み取られた読み取り結果と、が一致するか否かによって読み取り結果を判断する読取判断ステップを有することを特徴とする。
【0017】
上記構成によれば、実行可能化情報を磁気インク文字読取装置と光学式文字読取装置との双方で読み取り、それぞれの読み取り結果を比較するので、実行可能化情報の読み取り精度の向上を図ることができる。
【0018】
また、本発明は、前記追加機能提供プログラムが正しく復号化されたか否かを、誤り検出方法によって判断する誤り検出判断部を有し、前記誤り検出判断部が正しく復号化されたと判断すると、前記追加機能提供管理部は、追加機能実行指示に応じて、前記主記憶部に展開された復号化された前記追加機能提供プログラムを呼び出し、前記主記憶部へ読み出し実行可能な状態にし、前記誤り検出判断部が正しく復号化されなかったと判断すると、前記追加機能提供管理部は、前記実行可能化情報を無効化するとともに、復号化した前記追加機能提供プログラムを前記主記憶部から呼び出せないようにすることを特徴とする。
【0019】
また、本発明は、前記追加機能提供プログラムが正しく復号化されたか否かを、誤り検出方法によって判断する誤り検出ステップを有し、前記誤り検出ステップにおいて、正しく復号化されたと判断すると、追加機能実行指示に応じて、前記主記憶部に展開された前記追加機能提供プログラムを呼び出し、前記誤り検出ステップにおいて、正しく復号化されなかったと判断すると、前記実行可能化情報を無効化するとともに、復号化した前記追加機能提供プログラムを前記主記憶部から呼び出せないようにすることを特徴とする。
【0020】
上記構成によれば、追加機能提供プログラムの復号が正しく行われか否かを誤り検出法によって判断し、復号が正しく行われた場合は追加機能実行指示に応じて、前記主記憶部に展開された前記追加機能提供プログラムを呼び出し、復号が正しく行われなかった場合は追加機能提供プログラムを主記憶部へ呼び出せないようにするので、追加機能提供プログラムの復号化における信頼性向上を図ることができる。
【0021】
また、本発明において、前記追加機能提供プログラムはチェックサムを付加してから暗号化されたプログラムであって、前記誤り検出判断部は、前記チェックサムを検証して誤り検出することを特徴とする。
また、本発明において、前記追加機能提供プログラムはチェックサムを付加してから暗号化されたプログラムであって、前記誤り検出ステップにおいて、前記チェックサムを検証して誤り検出することを特徴とする。
【0022】
上記構成によれば、追加機能提供プログラムにチェックサムを付加して暗号化するので、追加機能提供プログラムの復号化における信頼性向上を図ることが可能である。
【0023】
また、本発明は、前記追加機能提供管理部は、前記復号化情報で前記実行可能化情報を復号化すると、復号化した前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする。
また、本発明は、前記第1復号化ステップにおいて前記復号化情報で前記実行可能化情報を復号化すると、復号化した前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする。
【0024】
上記構成によれば、復号化した実行可能化情報を不揮発性記憶部に記憶させるので、次回の電源投入以降に記録媒体から実行可能化情報を読み取る必要がなくなり、電源投入時から追加機能提供プログラムが実行可能状態になるまでの時間を短縮できる。
【0025】
また、本発明は、前記追加機能提供管理部は、前記復号化情報で前記実行可能化情報を復号化すると、復号化する前の前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする。
また、本発明は、前記第1復号化ステップにおいて前記復号化情報で前記実行可能化情報を復号化すると、復号化する前の前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする。
【0026】
上記構成によれば、追加機能提供プログラムの復号のために実行可能化情報を復号する毎に、復号した実行可能化情報を不揮発性記憶部に記憶させるのではなく、復号する前の実行可能化情報を不揮発性記憶部に記憶させることも可能である。したがって、復号化後の実行可能化情報が第3者に不正に取得されるのを防止することができる。
【0027】
また、本発明において、前記情報記憶部には、前記復号化情報と情報読取装置毎に与えられたシリアル番号とで排他的論理和をとった値が記憶されていることを特徴とする。
【0028】
上記構成によれば、復号化情報と情報読取装置毎に与えられたシリアル番号とから得られる排他的論理和を、情報記憶部に記憶することも可能である。排他的論理和(XOR演算)の演算性質により、得られた排他的論理和の値と、シリアル番号と、の排他的論理和を再びとることによって元の復号化情報を得ることができる。すなわち、不正の目的を持った第3者が「復号化情報とシリアル番号をXORした値」、「暗号化された追加機能提供プログラム」及び「ライセンス番号」がセットでデットコピーされた場合でも、機器毎のシリアル番号は異なるため、他の情報読取装置に対して不正に機能アップを行おうとしても結果として暗号化された追加機能提供プログラムを復号化することができないため、不正利用を防ぐことが可能である。
【0029】
また、本発明において、前記実行可能化情報は、共通鍵暗号方式における共通鍵であって、前記追加機能提供プログラムは、前記実行可能化情報によって暗号化されるとともに前記実行可能化情報によって復号化されることを特徴とする。
また、本発明において、前記実行可能化情報は、共通鍵暗号方式における共通鍵であって、前記追加機能提供プログラムは、前記実行可能化情報によって暗号化されるとともに、前記第2復号化ステップにおいて前記実行可能化情報によって復号化されることを特徴とする。
【0030】
上記構成によれば、追加機能提供プログラムは実行可能化情報を共通鍵とする共通鍵暗号方式によって暗号化され、そして復号化される。すなわち暗号化と復号化に同一の鍵を使用するので、追加機能提供プログラムのサイズが大きい場合でも比較的高速な処理を行うことができる。
【0031】
また、本発明において、前記復号化情報は、公開鍵暗号方式における秘密鍵であり、前記実行可能化情報は、前記秘密鍵と対応する公開鍵によって暗号化され、前記復号化情報によって復号化されることを特徴とする。
また、本発明において、前記復号化情報は、公開鍵暗号方式における秘密鍵であり、前記実行可能化情報は、前記秘密鍵と対応する公開鍵によって暗号化され、前記第1復号化ステップにおいて前記復号化情報によって復号化されることを特徴とする。
【0032】
上記構成によれば、共通鍵によって暗号化された実行可能化情報は、公開鍵暗号方式における公開鍵によってさらに暗号化される。したがって、実行可能化情報が書き込まれた記録媒体を作成提供する者は、記録媒体の作成に際して、共通鍵と実行可能化情報を暗号化する1種類の公開鍵とだけを管理すればよいので、多くの記録媒体を作成する場合でも鍵の管理が煩雑になることを防止することができる。
【0033】
また、本発明は、前記復号化情報は、公開鍵暗号方式における公開鍵であり、前記実行可能化情報は、前記公開鍵と対応する秘密鍵によって暗号化され、前記復号化情報によって復号化されることを特徴とする。
また、本発明は、前記復号化情報は、公開鍵暗号方式における公開鍵であり、前記実行可能化情報は、前記公開鍵と対応する秘密鍵によって暗号化され、前記第1復号化ステップにおいて前記復号化情報によって復号化されることを特徴とする。
【0034】
上記構成によれば、情報読取装置の情報記憶部に記憶される復号化情報は、公開鍵暗号方式における公開鍵である。したがって、復号化情報を記憶させた情報記憶部を組み込ませた情報読取装置を製造販売する者は、製造過程において情報記憶部へ復号化情報を記憶させる際に、1種類の公開鍵だけを管理すればよいので、多くの情報読取装置を製造する場合でも鍵の管理が煩雑になることを防止することができる。
【発明を実施するための最良の形態】
【0035】
以下、本発明に係る実施形態について図面を参照して詳細に説明する。なお、本実施形態では、本発明に係る情報読取装置の一例として、ホストコンピュータと、前記ホストコンピュータからの指示に応じて読み取り処理を実行する小型情報機器と、から構成される情報読取システムを挙げて説明する。図1は、本発明の一実施形態に係る情報読取システムを構成する小型情報機器の用紙搬送路を示す模式図である。
(小型情報機器の機械的構成について)
図1に示すように本実施形態に係る小型情報機器1は、給紙部であるASF(Auto Sheet Feeder:オートシートフィーダ)3に装填される小切手等の単票用紙を筐体に形成された用紙搬送路2に沿って搬送しながら、単票用紙上の両面画像の読み取り、単票用紙上の磁気インク文字の読み取りを実行可能に構成されている。
【0036】
小切手Sの用紙搬送路2は略U字型形状を有しており、U字の底の部分に相当する部位が中間搬送路Mとなっている。この中間搬送路Mには、各種読取装置が設けられている。用紙搬送路2は、外側ガイド2aと内側ガイド2bとの間に画成された搬送部2cによって構成されており、この搬送部2cに沿って小切手Sは搬送される。
【0037】
用紙搬送路2の上流側には、複数の小切手Sを装填可能なASF3が設けられている。複数の小切手Sは、矢印Aの方向からASF3を介して用紙搬送路2に挿入される。ASF3に装填された複数の小切手Sは、一枚ずつ分離されて用紙搬送路2内に送り出される。
【0038】
用紙搬送路2には、小切手Sの搬送を行う搬送手段として、中間搬送路Mの上流側に用紙搬送ローラ6と、中間搬送路M中に中間搬送ローラ16と、中間搬送路Mの下流側に第2搬送ローラ7と、排出口4の手前に排出ローラ8が設けられている。用紙搬送ローラ6は、駆動ローラ6aと、用紙搬送路2を介して駆動ローラ6aに対向配置された押し付けローラ6bとを有している。また、第2搬送ローラ7は、駆動ローラ7aと、用紙搬送路2を介して駆動ローラ7aに対向配置された押し付けローラ7bとを有している。中間搬送ローラ16は、用紙搬送路2の下方に配置された下部押えローラ16aと、下部押えローラ16aの上方に配置された上部押えローラ16bと、中間搬送路Mを介して上部押えローラ16a及び下部押えローラ16bと対向配置された駆動ローラ17とを有している。
【0039】
ASF3から用紙搬送路2内に送り出された小切手Sは、用紙搬送ローラ6、中間搬送ローラ16、ならびに第2搬送ローラ7によって中間搬送路M内を搬送され、排出ローラ8により矢印Bの方向へ排出口4から排出される。
【0040】
中間搬送路Mには、画像読み取りを行う用紙の画像読取装置11(光学式文字読取装置:OCR)および第2の画像読取装置12(光学式文字読取装置:OCR)がそれぞれ中間搬送路Mの両側に搬送方向にずれた状態で設置されている。用紙の画像読取装置11および第2の画像読取装置12は、それぞれCIS(Contact Image Sensor)タイプのスキャナである。用紙の画像読取装置11および第2の画像読取装置12は、中間搬送路Mを搬送される小切手Sの一面に光を照射し、反射した光を複数の受光素子(光電変換素子)を介して受光し、受光した光を電気信号に変換して1ライン分の画像を取得する。本実施形態では、用紙の画像読取装置11は小切手Sの裏面画像を、第2の画像読取装置12は小切手Sの表面画像を1ラインずつ順次読み取ることにより、小切手Sの二次元画像を取得する。
【0041】
駆動ローラ17の下方には、磁気インク文字を読み取る磁気インク文字読取装置(MICR(Magnetic Ink Character Reader))13が設置されている。磁気インク文字読取装置13は、小切手Sの表面に印刷された磁気インク文字を読み取るためのセンサである。この磁気インク文字読取装置13は、中間搬送路Mを介して磁気インク文字読取装置13に対向配置された押付レバーによって小切手Sが磁気インク文字読取装置13の表面に押し付けられた状態で読み取りを実行する。この場合、小切手Sについては、口座番号などの情報が磁気インク文字で印刷された磁気インク文字記録領域を読み取る。
【0042】
(ライセンスシートについて)
次に、本実施形態の情報読取システムにおけるライセンスシートの読み取り処理について説明する。
小型情報機器1は、上述した小切手Sに対する読み取り処理を実行するほか、小切手Sとほぼ同程度の大きさのライセンスシートを読み取ることができるようになっている。ここで、ライセンスシート(記録媒体)とは、小型情報機器1の工場出荷時において実行不可能な状態で記憶されているプログラムを、出荷後に小型情報機器1のユーザーが必要に応じてそのプログラムを実行可能化する際に必要となる実行許可証のようなものである。ユーザーは小型情報機器1の購入後、既存の機能をさらにアップさせる必要が生じた場合等に、小型情報機器1の販売あるいは提供者等からライセンスシートを購入する。つまり、ライセンスシートの購入代金は小型情報機器1の追加機能の対価となる。
【0043】
ライセンスシートの具体的な形式を図2に示す。ライセンスシートLSは、小切手Sとほぼ同等の大きさに形成されており、用紙搬送路2への挿入が可能となっている。「ライセンスに関する説明文」51には、ユーザーに対する説明のために記述するライセンスの内容に関する説明文が記載され、「対象機器シリアル番号」52には、機器固有のシリアル番号が記載されている。ライセンスシートは小型情報機器ごとに固有のシートが作成されるため、ユーザーが対象機器とライセンスシートとを対応付けできるように機器のシリアル番号が記載されている。「ライセンスシート識別マーク」53には、画像読取装置12にて読み取ったシートがライセンスシートであるか否かを識別するためのマークが記載されている。小型情報機器1は、ライセンスシート識別マークが記載されていることを確認すると、後述する機能追加に関する処理を開始する。
【0044】
「磁気文字」54には、後述するライセンス番号に相当する情報(実行可能化情報)が磁気インク文字(MICR文字)等で記載されている。「ライセンス番号」55(実行可能化情報)には、暗号化されて実行不可能な状態の追加機能提供ファームウェア(追加機能提供プログラム)を復号化して実行可能にするために必要な鍵を、さらに装置固有の秘密鍵(あるいは秘密鍵に対応する公開鍵=復号化情報)によって暗号化したものがライセンス番号として記載されている。
【0045】
本実施形態の小型情報機器1には、小型情報機器1に追加機能を提供する追加機能提供ファームウェアが暗号化された状態で保存されており、この暗号化されている追加機能提供ファームウェアはライセンスシートLSの表面に印刷されたライセンス番号で復号化されて実行可能状態となる。ただし、上記のごとくライセンス番号は、公開鍵(あるいは公開鍵に対応する秘密鍵)にて暗号化されており、前記公開鍵に対応する小型情報機器1固有の秘密鍵(あるいは秘密鍵に対応する公開鍵=復号化情報)によって復号化される。すなわち、ライセンス番号は、公開鍵暗号化方式における公開鍵(あるいは秘密鍵)よって暗号化された番号であっって、公開鍵に対応する装置固有の秘密鍵(あるいは秘密鍵に対応する公開鍵=復号化情報)によって復号化される。
一方、追加機能提供ファームウェアは、共通鍵暗号化方式における共通鍵(追加機能提供ファームウェア暗号化用の暗号鍵=ライセンス番号を復号化することによって得られる復号鍵)によって暗号化され、復号化される。
このように、本実施形態では、共通鍵、公開鍵および秘密鍵の3つの鍵を使って小型情報機器1の機能アップ処理を行うようになっている。
【0046】
(小型情報機器の内部構成について)
図3は、本実施形態の情報読取システム100を構成する小型情報機器1の概略構成を示すブロック図である。上述した画像読取装置11及び12と磁気インク文字読取装置13はCPU20(Central Processing Unit)によって制御される。ROM(Read Only Memory)21には、CPU20が読み出して実行する制御プログラムと、小型情報機器1に追加機能を提供する追加機能提供ファームウェアと、暗号化されたライセンス番号を復号化するための秘密鍵(復号化情報)とが記憶されている。追加機能提供ファームウェアは、上記のごとく共通鍵によって暗号化された状態で記憶されている。
【0047】
なお、ROM21に装置固有の秘密鍵をそのまま記憶させておいてもよいが、秘密鍵と、小型情報機器毎に与えられるシリアル番号(図2に示すライセンスシートLSでは「対象機器シリアル番号」52である)と、をXOR演算した値(排他的論理和)をROM21に記憶させておいてもよい。
XOR演算の演算性質により、得られた排他的論理和の値と、シリアル番号と、の排他的論理和を再びとることによって元の秘密鍵を得ることができる。すなわち、不正の目的を持った第3者が「秘密鍵とシリアル番号をXORした値」、「暗号化された追加機能提供ファームウェア」及び「ライセンス番号」がセットでデットコピーされた場合でも、機器毎のシリアル番号は異なるため、他の小型情報機器に対して不正に機能アップを行おうとしても結果として暗号化された追加機能提供プログラムを復号化することができないため、不正利用を防ぐことが可能である。
【0048】
不揮発性メモリ22には、ライセンス番号を復号化することによって得られた値、すなわち共通鍵が格納される。RAM(Random Access Memory)23には、共通鍵によって復号化された追加機能提供ファームウェアが格納される。CPU20は、ライセンスシートLSのライセンス番号を読み取る処理、ライセンス番号の読み取りが正しく行われたか否かを判断する処理、追加機能提供ファームウェアを復号する処理、追加機能提供ファームウェアが正しく復号化された否かを判断する処理、復号した追加機能提供ファームウェアを実行する処理など、各種処理を行う。
【0049】
(情報読取システムの内部処理について)
図4は、本実施形態の情報読取システム100の内部処理を示したブロック図である。この図において、図3のROM21に対応するプログラム記憶部30には制御プログラムと追加機能提供ファームウェアと復号化情報とが記憶され、図3の不揮発性メモリ22に対応する情報記憶部31にはライセンス番号を復号化することによって得られる共通鍵が記憶される。また、図3のRAM23に対応する主記憶部32には復号化された追加機能提供ファームウェアが記憶される。
【0050】
ホストコンピュータ110では、通常の小切手Sに対する読み取り業務に使用されるアプリケーションだけが動作している。つまり、ホストコンピュータ110には、追加機能提供ファームウェアを実行可能にするための特別なアプリケーションは組み込まれていない状態である。したがって、ホストコンピュータ110は、ライセンスシートLSの読み取り開始のタイミングを作るために、通常の読み取り処理と同様の読み取りコマンドを小型情報機器1へ送信すればよい。
【0051】
読み取りコマンドは、情報読取システム100の全体の動作を統括制御するシステム制御部112によって生成され、送受信部111を介して小型情報機器1へ送信される。
【0052】
情報読取部33は、画像読取装置11及び12を制御する画像読取制御部331と、磁気インク文字読取装置13を制御する磁気インク文字読取制御部332とを備え、ホストコンピュータ110から送信される読み取りコマンドに応じて、ASF3に載置されている小切手SやライセンスシートLSに対する読み取り処理を実行する。
【0053】
追加機能提供管理部34は、追加機能提供ファームウェアを管理するものであり、情報読取部33によってライセンスシートLSからライセンス番号が読み取られることで、プログラム記憶部30(ROM21)に記憶されている秘密鍵を読み出し、読み出した秘密鍵によりライセンス番号を復号化して共通鍵を取得する。そして、取得した共通鍵を情報記憶部31(不揮発性メモリ22)に記憶させた後、プログラム記憶部30(ROM21)に記憶されている追加機能提供ファームウェアを読み出す。そして、共通鍵を用いて追加機能提供ファームウェアを復号化し、それを主記憶部32(RAM23)上に展開する。ライセンス番号から復号した共通鍵を情報記憶部31(不揮発性メモリ22)に記憶させることで次回の電源投入以降にライセンスシートLSからライセンス番号を読み取る必要がなくなり、電源投入時から追加機能提供ファームウェアが実行可能状態になるまでの時間を短縮できる。
【0054】
なお、ライセンス番号を復号化して共通鍵を取得した後に、復号化する前のライセンス番号を情報記憶部31に記憶させるようにしても良い。このようにすることにより、情報記憶部31(不揮発性メモリ22)から追加機能提供ファームウェアを復号化する共通鍵が不正に取得されるのを防ぐことができる。
【0055】
読取判断部35は、情報読取部33がライセンスシートLSから読み取った読み取り結果を判断する。具体的には、ライセンスシートLSの「ライセンスシート識別マーク」53を画像読取装置12にて読み取り、読み取り対象シートが小切手S等ではなくライセンスシートであるか否かを判断する。
また、読取判断部35は、磁気インク文字読取装置13によってライセンスシートLSから読み取られた結果と、画像読取装置(光学式文字読取装置)12によってライセンスシートLSから読み取られた読み取り結果とが一致するか否かによって読み取り結果を判断する。磁気インク文字読取装置13と画像読取装置12のそれぞれの読み取り結果が一致しないと判断した場合には、追加機能提供ファームウェアを実行可能な状態にする処理を中止するとともに、送受信部38を介してホストコンピュータ110へ読み取り不能ステータスを送信する。ライセンスシートLSのライセンス番号に対して光学的な読み取りと磁気的な読み取りの両方を行うことで、ライセンス番号の読み取り精度の向上が図れる。
【0056】
誤り検出判断部36は、追加機能提供ファームウェアが正しく復号化されたか否かを誤り検出方法によって判断し、その結果を主制御部37に通知する。誤り検出には、例えばチェックサムを検証する方法があり、追加機能提供ファームウェアにチェックサムを付加してから暗号化し、その後、復号化して主記憶部32(RAM23)上に展開した際にチェックサムを検証することで、誤りを検出することができる。
【0057】
追加機能提供管理部34は、誤り検出判断部36からの通知に従い、追加機能提供ファームウェアが正しく復号化された場合は、ホストコンピュータ110から追加機能実行指示が送信されると、主記憶部32(RAM23)に展開された追加機能提供ファームウェアを呼び出して、追加機能を実行する。一方、追加機能提供ファームウェアが正しく復号化されなかった場合には、ライセンス番号を無効化するとともに、復号化した追加機能提供ファームウェアを主記憶部32(RAM23)から呼び出せないようにする。
【0058】
(情報読取システムにおけるライセンスシート読み取り処理について)
次に、本実施形態の情報読取システムにおけるライセンスシート読み取り処理の具体的な流れを説明する。
図5は、ライセンスシートLSの読み取りから追加機能提供ファームウェアが実行可能状態になるまでの処理を示すフローチャートである。同図において、まず画像読取装置12と磁気インク文字読取装置13によってライセンスシートLSに印刷されたライセンス番号及び磁気インク文字で記載されたライセンス番号に相当する情報を読み取る(ステップS11)。次いで、磁気インク文字読取装置13によって読み取った結果と、画像読取装置12によって読み取った読み取り結果と、が一致するか否かによって読み取りが成功したか否かを判断し(ステップS12)、磁気インク文字読取装置13と画像読取装置12のそれぞれの読み取り結果が一致しなければ(ステップS12:No)、読み取りが失敗したとして、ホストコンピュータ110へ読み取り不能ステータスを送信し(ステップS19)、本処理を終了する。
【0059】
これに対して、磁気インク文字読取装置13と画像読取装置12のそれぞれの読み取り結果が一致すれば(ステップS12:Yes)、読み取りに成功したとして、読み取ったライセンス番号を機器固有の秘密鍵によって復号化し、追加機能提供ファームウェアを復号化するために必要な共通鍵を取得する(ステップS13)。すなわち、ROM21(プログラム記憶部30)に記憶されている秘密鍵を読み出し、読み出した秘密鍵によりライセンス番号から「追加機能提供ファームウェア暗号化用の暗号鍵=追加機能提供ファームウェア復号化用の復号鍵=共通鍵」を復号する。
【0060】
共通鍵を取得した後、共通鍵を不揮発性メモリ22(情報記憶部31)に記憶させる(ステップS14)。次いで、ROM21(プログラム記憶部30)に記憶されている追加機能提供ファームウェアを読み出し、これを共通鍵を用いて復号化し、RAM23上に展開する(ステップS15)。そして、RAM23上に展開した追加機能提供ファームウェアが正しく復号されたか、追加ファーム領域のチェックサムを検証する(ステップS16)。追加機能提供ファームウェアが正しく復号された場合(ステップS16:Yes)は、追加機能の実行が必要となった場合に、RAM23(主記憶部32)上に展開した追加機能提供ファームウェアを呼び出す(ステップS17)。これに対して、追加機能提供ファームウェアが正しく復号されなかった場合は(ステップS16:No)、不揮発性メモリ22(情報記憶部31)上の共通鍵を無効にすると共に、追加機能提供ファームウェアをRAM23へ呼び出せないようにする。ステップS17とステップS18のいずれか一方の処理を行った後、本処理を終了する。
【0061】
以上説明したように本実施形態の情報読取システム100によれば、小型情報機器1に追加機能を提供する追加機能提供ファームウェアを共通鍵暗号化方式における共通鍵で暗号化してプログラム記憶部30(ROM21)に記憶させ、この共通鍵を公開鍵暗号方式の公開鍵で暗号化したライセンス番号をライセンスシートLSに書き込んでおき、さらにライセンス番号から共通鍵を復号化するための機器固有の秘密鍵(共通鍵に対応する秘密鍵)をプログラム記憶部30(ROM21)に記憶させておき、追加機能の実行が必要となった場合に、ライセンスシートLSからライセンス番号を読み取り、秘密鍵を用いてライセンス番号を復号化して共通鍵を取得し、取得した共通鍵を不揮発性メモリ22に記憶させた後、この共通鍵を用いて追加機能提供ファームウェアを復号化してRAM23上に展開し、そして、追加機能提供ファームウェアが正しく復号されたかどうかを追加ファーム領域のチェックサムを検証して判断し、正しく復号された場合は追加機能の実行が必要になったときにRAM23上に展開した追加機能提供ファームウェアを実行し、正しく復号されなかった場合は共通鍵を無効にすると共に追加機能提供ファームウェアを実行しないようにする。したがって、ライセンス番号から追加機能提供ファームウェアを復号化するために必要な共通鍵を復号化できない限り、追加機能提供ファームウェアが実行可能な状態にならないので、追加機能提供ファームウェアの不正使用を防止することができる。
【0062】
また、ライセンス番号を磁気インク文字により構成して、ライセンス番号を画像読取装置12と磁気インク文字読取装置13の双方で読み取り、それぞれで読み取った結果からライセンス番号を正しく読み取れたかどうかを判断するので、ライセンス番号の読み取り精度の向上が図れる。
【0063】
勿論、ライセンス番号の読み取りを磁気インク文字読取装置13のみによって行うことも可能である。この場合には、画像読取装置12による読取処理を実行する必要がなく、双方の読取結果を照合し判断する処理を省くことができるので、処理速度の高速化することができる。そして、光学式文字読取装置を備えておらず、磁気インク文字読取装置だけを備えた構成の小型情報機器においても、本発明を採用することができる。
【0064】
また、追加機能提供ファームウェアが正しく復号できたか否かを誤り検出方法によって判断し、追加機能提供ファームウェアが正しく復号できた場合は、復号した追加機能提供ファームウェアをRAM23(主記憶部32)へ読み出し実行可能な状態にし、追加機能提供ファームウェアが正しく復号できなかった場合は、共通鍵を無効にするとともに、復号化した追加機能提供ファームウェアをRAM23(主記憶部32)へ読み出しできないようにしたので、実行された復号化処理が不正なライセンスシートLSに記載されたライセンス番号によって行われた結果であることを検出することができる。
【0065】
また、不正なライセンス番号を用いても、秘密鍵による復号、および取り出した共通鍵による追加機能提供ファームウェアの復号処理自体は実行されてしまうが、本実施形態では、追加機能提供ファームウェアを暗号化する際に、チェックサムを付加してから暗号化しているため、追加機能提供ファームウェアのチェックサムを検証することによって、正当なライセンス番号であったかどうかの判定をすることができ、追加機能提供ファームウェアの復号における信頼性向上が図れる。
【0066】
また、ライセンス番号を機器固有の秘密鍵によって復号化することによって取得した共通鍵を、不揮発性メモリ22(情報記憶部31)に記憶するので、次回の電源投入以降にライセンスシートLSからライセンス番号を読み取る必要がなくなり、電源投入時から追加機能提供ファームウェアが実行可能状態になるまでの時間を短縮できる。
【0067】
また、共通鍵を不揮発性メモリ22(情報記憶部31)に記憶させるのではなく、復号化する前のライセンス番号を不揮発性メモリ22(情報記憶部31)に記憶させるようにすることで、復号化後の共通鍵が不正に取得されるのを防止できる。
【0068】
また、本実施形態では、読み取りコマンドをホストコンピュータ110のシステム制御部112で生成して小型情報機器1へ送信する構成としたがこの構成に限られることはない。例えば、小型情報機器1側に単票用紙読み取り開始ボタンを設けることによって、ホストコンピュータ110を接続しなくても、一連の処理、つまりライセンスシートLSの読み取り処理から機能追加に関する処理までを小型情報機器単体で実行することも可能である。
【0069】
さらに、本実施形態では、ライセンス番号の読み取りに画像読取装置12、磁気インク文字読取装置13を用いたが、これに限られることはない。例えば、小型情報機器にバーコードリーダーを備えた構成とし、ライセンス番号をバーコードによって記載することもできる。すなわち、本発明に係る情報読取装置は、機械認識に適合した形式による読み取り処理を実行可能な装置を含む概念である。
【図面の簡単な説明】
【0070】
【図1】本発明の一実施形態に係る小型情報機器の用紙搬送路を示す模式図である。
【図2】本発明の一実施形態に係る小型情報機器に用いられるライセンスシートの一例を示す図である。
【図3】本発明の一実施形態に係る小型情報機器の内部構成を示すブロック図である。
【図4】本発明の一実施形態に係る情報読取システムの内部処理を示したブロック図である。
【図5】本発明の一実施形態に係る情報読取システムにおけるライセンスシートの読み取りから追加機能提供ファームウェアが実行可能状態になるまでの処理を示すフローチャートである。
【符号の説明】
【0071】
1:小型情報機器、2:用紙搬送路、3:ASF、4:排出口、6:用紙搬送ローラ、7:第2搬送ローラ、8:排出ローラ、11、12:画像読取装置、13:磁気インク文字読取装置、16:中間搬送ローラ、17:駆動ローラ、20:CPU、21:ROM、22:不揮発性メモリ、23:RAM、30:プログラム記憶部、31:情報記憶部、32:主記憶部、33:情報読取部、34:追加機能提供管理部、35:読取判断部、36:誤り検出判断部、37:主制御部、331:画像読取制御部、332:磁気インク文字読取制御部、LS:ライセンスシート、M:中間搬送路

【特許請求の範囲】
【請求項1】
記録媒体に書き込まれた書込情報を読み取る情報読取装置であって、
実行不可能なように暗号化されたプログラムであって、前記情報読取装置に追加機能を提供する追加機能提供プログラムを記憶するプログラム記憶部と、
暗号化された情報であって、前記追加機能提供プログラムを復号化して実行可能にする実行可能化情報が書き込まれた記録媒体に対する読み取り処理を実行する情報読取部と、
前記情報読取部で読み取られた前記実行可能化情報を復号化するために必要な復号化情報を記憶する情報記憶部と、
前記情報読取部が前記記録媒体から前記実行可能化情報を読み取ると、前記復号化情報で前記実行可能化情報を復号化し、復号化した前記実行可能化情報で前記追加機能提供プログラムを復号化し、復号化した前記追加機能提供プログラムを主記憶部へ展開して実行可能な状態にする追加機能提供管理部と、を有することを特徴とする情報読取装置。
【請求項2】
前記実行可能化情報は、磁気インク文字により構成され、
前記情報読取部は、磁気インク文字読取装置によって前記記録媒体に対する読み取り処理を実行することを特徴とする請求項1に記載の情報読取装置。
【請求項3】
前記情報読取部は、前記磁気インク文字読取装置による読み取り処理を実行するほか、光学式文字読取装置によっても前記記録媒体に対する読み取り処理を実行し、前記磁気インク文字読取装置によって読み取られた読み取り結果と、前記光学式文字読取装置によって読み取られた読み取り結果とが一致するか否かによって読み取り結果を判断する読取判断部を有することを特徴とする請求項2に記載の情報読取装置。
【請求項4】
前記追加機能提供プログラムが正しく復号化されたか否かを、誤り検出方法によって判断する誤り検出判断部を有し、
前記誤り検出判断部が正しく復号化されたと判断すると、前記追加機能提供管理部は、追加機能実行指示に応じて、前記主記憶部に展開された前記追加機能提供プログラムを呼び出し、
前記誤り検出判断部が正しく復号化されなかったと判断すると、前記追加機能提供管理部は、前記実行可能化情報を無効化するとともに、復号化した前記追加機能提供プログラムを前記主記憶部から呼び出せないようにすることを特徴とする請求項1から3の何れかに記載の情報読取装置。
【請求項5】
前記追加機能提供プログラムはチェックサムを付加してから暗号化されたプログラムであって、
前記誤り検出判断部は、前記チェックサムを検証して誤り検出することを特徴とする請求項4に記載の情報読取装置。
【請求項6】
前記追加機能提供管理部は、前記復号化情報で前記実行可能化情報を復号化すると、復号化した前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする請求項1から5の何れかに記載の情報読取装置。
【請求項7】
前記追加機能提供管理部は、前記復号化情報で前記実行可能化情報を復号化すると、復号化する前の前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする請求項1から5の何れかに記載の情報読取装置。
【請求項8】
前記情報記憶部には、前記復号化情報と情報読取装置毎に与えられたシリアル番号との排他的論理和をとった値が記憶されていることを特徴とする請求項1から7の何れかに記載の情報読取装置。
【請求項9】
前記実行可能化情報は、共通鍵暗号方式における共通鍵であって、
前記追加機能提供プログラムは、前記実行可能化情報によって暗号化されるとともに前記実行可能化情報によって復号化されることを特徴とする請求項1から8の何れかに記載の情報読取装置。
【請求項10】
前記復号化情報は、公開鍵暗号方式における秘密鍵であり、
前記実行可能化情報は、前記秘密鍵と対応する公開鍵によって暗号化され、前記復号化情報によって復号化されることを特徴とする請求項9に記載の情報読取装置。
【請求項11】
前記復号化情報は、公開鍵暗号方式における公開鍵であり、
前記実行可能化情報は、前記公開鍵と対応する秘密鍵によって暗号化され、前記復号化情報によって復号化されることを特徴とする請求項9に記載の情報読取装置。
【請求項12】
実行不可能なように暗号化されたプログラムであって情報読取装置に追加機能を提供する追加機能提供プログラムを記憶するプログラム記憶部と、暗号化された情報であって、前記追加機能提供プログラムを復号化して実行可能にする実行可能化情報が書き込まれた記録媒体に対する読み取り処理を実行する情報読取部と、前記情報読取部で読み取られた前記実行可能化情報を復号化するために必要な復号化情報を記憶する情報記憶部と、を備えた情報読取装置の制御方法であって、
前記記録媒体から前記実行可能化情報を読み取る読取ステップと、
前記復号化情報で前記実行可能化情報を復号化する第1復号化ステップと、
前記第1復号化ステップで復号化された前記実行可能化情報で前記追加機能提供プログラムを復号化する第2復号化ステップと、
前記第2復号化ステップで復号化された前記追加機能提供プログラムを主記憶部へ読み出し実行可能な状態にするステップと、を有することを特徴とする情報読取装置の制御方法。
【請求項13】
前記実行可能化情報は、磁気インク文字により構成され、
前記読取ステップにおいて、磁気インク文字読取装置によって前記記録媒体に対する読み取り処理を実行することを特徴とする請求項12に記載の情報読取装置の制御方法。
【請求項14】
前記読取ステップにおいて、前記磁気インク文字読取装置による読み取り処理を実行するほか、光学式文字読取装置によっても前記記録媒体に対する読み取り処理を実行し、
前記磁気インク文字読取装置によって読み取られた読み取り結果と、前記光学式文字読取装置によって読み取られた読み取り結果と、が一致するか否かによって読み取り結果を判断する読取判断ステップを有することを特徴とする請求項13に記載の情報読取装置の制御方法。
【請求項15】
前記追加機能提供プログラムが正しく復号化されたか否かを、誤り検出方法によって判断する誤り検出ステップを有し、
前記誤り検出ステップにおいて、正しく復号化されたと判断すると、追加機能実行指示に応じて、前記主記憶部に展開された前記追加機能提供プログラムを呼び出し、
前記誤り検出ステップにおいて、正しく復号化されなかったと判断すると、前記実行可能化情報を無効化するとともに、復号化した前記追加機能提供プログラムを前記主記憶部から呼び出せないようにすることを特徴とする請求項12から14の何れかに記載の情報読取装置の制御方法。
【請求項16】
前記追加機能提供プログラムはチェックサムを付加してから暗号化されたプログラムであって、
前記誤り検出ステップにおいて、前記チェックサムを検証して誤り検出することを特徴とする請求項15に記載の情報読取装置の制御方法。
【請求項17】
前記第1復号化ステップにおいて前記復号化情報で前記実行可能化情報を復号化すると、復号化した前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする請求項12から16の何れかに記載の情報読取装置の制御方法。
【請求項18】
前記第1復号化ステップにおいて前記復号化情報で前記実行可能化情報を復号化すると、復号化する前の前記実行可能化情報を不揮発性記憶部に記憶することを特徴とする請求項12から16の何れかに記載の情報読取装置の制御方法。
【請求項19】
前記実行可能化情報は、共通鍵暗号方式における共通鍵であって、
前記追加機能提供プログラムは、前記実行可能化情報によって暗号化されるとともに、前記第2復号化ステップにおいて前記実行可能化情報によって復号化されることを特徴とする請求項12から18の何れかに記載の情報読取装置の制御方法。
【請求項20】
前記復号化情報は、公開鍵暗号方式における秘密鍵であり、
前記実行可能化情報は、前記秘密鍵と対応する公開鍵によって暗号化され、前記第1復号化ステップにおいて前記復号化情報によって復号化されることを特徴とする請求項19に記載の情報読取装置の制御方法。
【請求項21】
前記復号化情報は、公開鍵暗号方式における公開鍵であり、
前記実行可能化情報は、前記公開鍵と対応する秘密鍵によって暗号化され、前記第1復号化ステップにおいて前記復号化情報によって復号化されることを特徴とする請求項19に記載の情報読取装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2008−165593(P2008−165593A)
【公開日】平成20年7月17日(2008.7.17)
【国際特許分類】
【出願番号】特願2006−355817(P2006−355817)
【出願日】平成18年12月28日(2006.12.28)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】