(57)【要約】【課題】フィスカルデータを記憶するプリンターであって、特に、プログラムの不正改造を比較的簡素な装置構成で効率的に検出することのできるプリンター、等を提供する。【解決手段】フィスカルデータを記憶するプリンターが、起動プログラムとフィスカルデータ制御プログラムを記憶する記憶部と、前記起動プログラムによって起動し、前記フィスカルデータ制御プログラムを含む制御プログラムによって前記プリンターの制御を行う第１制御部と、前記第１制御部が前記フィスカルデータ制御プログラムによる制御を開始する前に、前記第１制御部から送信される前記フィスカルデータ制御プログラムが正規なプログラムであるか否かを判断する第２制御部を備えたスマートカードと、を有する。【選択図】  図２
2015152998.tif 000002
【特許請求の範囲】
【請求項１】
フィスカルデータを記憶するプリンターであって、
起動プログラムとフィスカルデータ制御プログラムを記憶する記憶部と、
前記起動プログラムによって起動し、前記フィスカルデータ制御プログラムを含む制御プログラムによって前記プリンターの制御を行う第１制御部と、
前記第１制御部が前記フィスカルデータ制御プログラムによる制御を開始する前に、前記第１制御部から送信される前記フィスカルデータ制御プログラムが正規なプログラムであるか否かを判断する第２制御部を備えたスマートカードと、を有する
ことを特徴とするプリンター。
【請求項２】
請求項１において、
前記第２制御部は、前記判断の結果を前記第１制御部へ返答し、
前記第１制御部は、前記フィスカルデータ制御プログラムが正規なプログラムである場合には、当該フィスカルデータ制御プログラムによる制御を開始し、前記フィスカルデータ制御プログラムが正規なプログラムでない場合には、当該フィスカルデータ制御プログラムによる制御を開始しない
ことを特徴とするプリンター。
【請求項３】
請求項１あるいは２において、
前記第２制御部は、前記フィスカルデータ制御プログラムが正規なプログラムでない場合に、当該第２制御部を動作不能状態とする
ことを特徴とするプリンター。
【請求項４】
請求項１乃至３のいずれか１項において、
前記第２制御部は、正規な前記フィスカルデータ制御プログラムのコードに基づく正規情報を予め記憶し、前記第１制御部から前記フィスカルデータ制御プログラムが送信された際に、当該フィスカルデータ制御プログラムのコードに基づいて実情報を生成し、当該実情報が前記正規情報と一致すれば前記フィスカルデータ制御プログラムが正規なプログラムであると判断し、前記実情報が前記正規情報と一致しなければ前記フィスカルデータ制御プログラムが正規なプログラムでないと判断する
ことを特徴とするプリンター。
【請求項５】
請求項４において、
前記正規情報は、前記第２制御部が、前記フィスカルデータ制御プログラムのコードを所定の方法で暗号化又は要約化し予め記憶した情報であり、
前記実情報は、前記第２制御部が、前記第１制御部から前記フィスカルデータ制御プログラムが送信された際に、当該フィスカルデータ処理プログラムのコードを前記所定の方法で暗号化又は要約化して情報である
ことを特徴とするプリンター。
【請求項６】
請求項５において、
前記所定の方法は、ハッシュ関数にコードを与えることである
ことを特徴とするプリンター。
【請求項７】
請求項１乃至６のいずれか１項において、
前記第２制御部は、前記プリンターの電源が投入された際に前記判断を行う
ことを特徴とするプリンター。
【請求項８】
フィスカルデータを記憶するプリンターの制御方法であって、
前記プリンターに、起動プログラムとフィスカルデータ制御プログラムを記憶する記憶部と、前記起動プログラムによって起動し、前記フィスカルデータ制御プログラムによって前記プリンターの制御を行う第１制御部と、第２制御部を含むスマートカードと、が備えられ、
前記第１制御部が、前記フィスカルデータ制御プログラムによる制御を開始する前に、前記フィスカルデータ制御プログラムを前記第２制御部に送信し、
前記第２制御部が、前記送信されたフィスカルデータ制御プログラムが正規なプログラムであるか否かを判断する
ことを特徴とするプリンターの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィスカルデータを記憶するプリンター等に関し、特に、プログラムの不正改造を比較的簡素な装置構成で効率的に検出することのできるプリンター及びプリンターの制御方法に関する。
【背景技術】
【０００２】
従来、小売販売業においては、多くの場合、商品販売時の会計用にレジスター（いわゆるレジ）が用いられており、会計の記録としてレシートが印刷されて顧客に渡される。このレシート用のプリンターは、レジと一体となって、又は、レジと接続されて設けられる。
【０００３】
このような商品販売に係る会計の記録（売上の情報）は、納税のために正しく保管される必要があるが、国によっては、店主による脱法行為を防止するために、レジのプリンターとしていわゆるフィスカルプリンターを用いる場合がある。
【０００４】
かかるフィスカルプリンターは、各国の法令に従ってその機能や記録する情報が異なるが、通常、プリンター内に設けられた独立のメモリにフィスカルデータ（レシートに出力した情報など売上の情報）を記録し、そこに記録された情報が後に徴税のために用いられる。
【０００５】
このようなフィスカルプリンターにおいては、脱法行為を防止するために記録したフィスカルデータが改ざんされることを防止することが必要であり、これまでに、フィスカルデータを記憶するメモリの構造、データ自体の暗号化、メモリを収容する筐体等についていくつかの提案がなされている。
【０００６】
下記特許文献１では、フィスカル情報を含むデータを記憶するメモリが実装される基板を収納するケースについての提案がなされている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−１４０２０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、フィスカルプリンターのファームウェア（制御プログラム）が不正に改造される虞もあり、プログラムに関しても、このような不正改造されたプログラムを早期に検出し、不正なプログラムが起動しないように措置を講ずる必要がある。
【０００９】
また、このようなプログラムのチェック（検出）には、プリンターの制御部にメインＣＰＵとは別に備えられるサブＣＰＵを用いて当該チェック行うことも考えられるが、全てのプリンターがサブＣＰＵを備える構成であるとは限らない。
【００１０】
そこで、本発明の目的は、フィスカルデータを記憶するプリンターであって、特に、プログラムの不正改造を比較的簡素な装置構成で効率的に検出することのできるプリンター、等を提供することである。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明の一つの側面は、フィスカルデータを記憶するプリンターが、起動プログラムとフィスカルデータ制御プログラムを記憶する記憶部と、前記起動プログラムによって起動し、前記フィスカルデータ制御プログラムを含む制御プログラムによって前記プリンターの制御を行う第１制御部と、前記第１制御部が前記フィスカルデータ制御プログラムによる制御を開始する前に、前記第１制御部から送信される前記フィスカルデータ制御プログラムが正規なプログラムであるか否かを判断する第２制御部を備えたスマートカードと、を有する、ことである。
【００１２】
更に、上記発明において、一つの好ましい態様は、前記第２制御部は、前記判断の結果を前記第１制御部へ返答し、前記第１制御部は、前記フィスカルデータ制御プログラムが正規なプログラムである場合には、当該フィスカルデータ制御プログラムによる制御を開始し、前記フィスカルデータ制御プログラムが正規なプログラムでない場合には、当該フィスカルデータ制御プログラムによる制御を開始しない、ことを特徴とする。
【００１３】
更に、上記発明において、好ましい態様は、前記第２制御部は、前記フィスカルデータ制御プログラムが正規なプログラムでない場合に、当該第２制御部を動作不能状態とする、ことを特徴とする。
【００１４】
更に、上記発明において、一つの好ましい態様は、前記第２制御部は、正規な前記フィスカルデータ制御プログラムのコードに基づく正規情報を予め記憶し、前記第１制御部から前記フィスカルデータ制御プログラムが送信された際に、当該フィスカルデータ制御プログラムのコードに基づいて実情報を生成し、当該実情報が前記正規情報と一致すれば前記フィスカルデータ制御プログラムが正規なプログラムであると判断し、前記実情報が前記正規情報と一致しなければ前記フィスカルデータ制御プログラムが正規なプログラムでないと判断する、ことを特徴とする。
【００１５】
更に、上記発明において、一つの好ましい態様は、前記正規情報は、前記第２制御部が、前記フィスカルデータ制御プログラムのコードを所定の方法で暗号化又は要約化し予め記憶した情報であり、前記実情報は、前記第２制御部が、前記第１制御部から前記フィスカルデータ制御プログラムが送信された際に、当該フィスカルデータ処理プログラムのコードを前記所定の方法で暗号化又は要約化して情報である、ことを特徴とする。
【００１６】
更に、上記発明において、一つの好ましい態様は、前記所定の方法は、ハッシュ関数にコードを与えることである、ことを特徴とする。
【００１７】
更に、上記発明において、一つの好ましい態様は、前記第２制御部は、前記プリンターの電源が投入された際に前記判断を行う、ことを特徴とする。
【００１８】
上記の目的を達成するために、本発明の別の側面は、フィスカルデータを記憶するプリンターの制御方法において、前記プリンターに、起動プログラムとフィスカルデータ制御プログラムを記憶する記憶部と、前記起動プログラムによって起動し、前記フィスカルデータ制御プログラムによって前記プリンターの制御を行う第１制御部と、第２制御部を含むスマートカードと、が備えられ、前記第１制御部が、前記フィスカルデータ制御プログラムによる制御を開始する前に、前記フィスカルデータ制御プログラムを前記第２制御部に送信し、前記第２制御部が、前記送信されたフィスカルデータ制御プログラムが正規なプログラムであるか否かを判断する、ことである。
【００１９】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【図面の簡単な説明】
【００２０】
【図１】本発明を適用したフィスカルプリンターの実施の形態例に係る構成図である。
【図２】セキュア制御部２３等の機能構成図である。
【図３】フィスカルプリンター２の起動から停止までの処理手順を例示したフローチャートである。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
【００２２】
図１は、本発明を適用したフィスカルプリンターの実施の形態例に係る構成図である。図１に示すフィスカルプリンター２が本発明を適用したプリンターであり、当該プリンターでは、プリンターの正規なフィスカルデータ制御プログラム（ファームウェア）のハッシュ値を予め記憶しており、起動時に、いわゆるスマートカードで構成されるセキュア制御部２３が、その時点で記憶されているフィスカルデータ制御プログラム２１２が起動される前に、そのハッシュ値を求めて上記記憶された正規なハッシュ値と比較し、当該フィスカルデータ制御プログラム２１２が正規なものであるか否かを判断する。これにより、フィスカルプリンターにおけるプログラムの不正改造を比較的簡素な装置構成により効率的に検出することが可能になる。その結果、不正なプログラムの起動を防止でき、フィスカルデータの改ざん等の不正行為を効果的に防止できる。
【００２３】
図１に示すように、本実施の形態例に係るフィスカルプリンター２は、そのホスト装置であるホストコンピューター１と接続され、店舗等のレジなどに配置される。そして、ホストコンピューター１は、ＰＯＳシステムのレジスターとして具現化され、フィスカルプリンター２は当該レジスターによる会計処理の後にレシートの印刷を実行する。また、フィスカルプリンター２は、各会計処理の情報（各レシートに含まれる情報）、日計の売上情報等をフィスカルデータとして記憶する。記憶されたフィスカルデータは、徴税等のために利用される。
【００２４】
ホストコンピューター１は、顧客に対して会計処理をする度にそのレシートの印刷データをフィスカルプリンター２に送信してレシートの印刷を指示すると共に、その日の販売終了後に日計の売上情報等をフィスカルプリンター２に送信する。
【００２５】
図１に示すフィスカルデータ読出装置３は、フィスカルプリンター２に記憶されるフィスカルデータを読み出す装置であり、政府等の特別な許可を得た者が所有する。当該フィスカルデータ読出装置３を用いて読み出されたフィスカルデータは、徴税等のために用いられる。また、フィスカルデータ読出装置３を用いずに、通信ネットワークを介して政府等のサーバーにホストコンピューター１又はフィスカルプリンター２からフィスカルデータを送信する構成としてもよい。
【００２６】
次に、フィスカルプリンター２は、図１に示すような概略構成を備えるが、図示されていないものとして、通信インターフェース、操作装置、表示装置等を備えている。
【００２７】
まず、ＲＯＭ２１は、当該フィスカルプリンター２の制御プログラム（ファームウェア）を記憶している。
【００２８】
メイン制御部２２（第１制御部）は、ＣＰＵ、ＲＡＭ、その他の周辺回路を備え、フィスカルプリンター２の各部を中枢的に制御する部分である。具体的には、ホストコンピューター１からの指示に従って、印刷処理の指示、フィスカルデータの記憶処理の指示など
を実行する。当該メイン制御部２２によるこれらの制御処理は、上記ＲＯＭ２１に記憶される制御プログラムを読み込んで、当該プログラムに従ってＣＰＵが動作することによって実行される。また、メイン制御部２２は、次に説明するセキュア制御部２３の判断結果に基づいて制御処理の起動・不起動を決定する。
【００２９】
セキュア制御部２３（第２制御部）は、フィスカルプリンター２における不正を防止し、適正なフィスカルデータの取り扱いを確保するための処理を実行する。具体的には、ＲＯＭ２１に記憶される制御プログラムが正規のものであるか否かの判断、フィスカルデータの暗号化、フィスカルデータへのデジタル署名の付加等の処理を実行する。また、セキュア制御部２３は、いわゆるスマートカードで構成されている。スマートカードとは、ＩＣカード（ＩＣＣ：Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｃａｒｄ）、チップカードとも呼ばれ、データの記録や演算のための集積回路を組み込んだカードのことであり、ここでは、カード内で演算処理が可能なカードを意味する。従って、セキュア制御部２３（スマートカード）は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭなどの半導体メモリとＣＰＵなどのプロセッサーを備えている。なお、スマートカードは、第三者にとってその内部構成が理解しづらく、不正行為に対して一般的に安全とされている。
【００３０】
次に、ＥＪ（エレクトリックジャーナル）メモリ制御部２４は、メイン制御部２２の制御の下でＥＪメモリ２５へのデータの読み書きを制御する部分である。ＥＪメモリ制御部２４は、ＣＰＵを備え、セキュア制御部２３で暗号化等のセキュア処理が実行されたフィスカルデータをＥＪメモリ２５に記憶する。このＥＪメモリ２５に記憶されるフィスカルデータは、ホストコンピューター１で会計処理が行われる度に発行されるレシートに含まれる情報であり、例えば、顧客が購入した商品毎に、商品コード、商品単価、購入個数、商品代金、商品の総購入代金などの情報である。
【００３１】
ＥＪメモリ２５は、このようなレシートに係るフィスカルデータを記憶する部分であり、例えば、フラッシュメモリで構成される。なお、ＥＪメモリ２５への記憶処理は、レシートの発行の度に行われる。
【００３２】
次に、フィスカルメモリ制御部２６は、メイン制御部２２の制御の下でフィスカルメモリ２７へのデータの読み書きを制御する部分である。フィスカルメモリ制御部２６は、ＣＰＵを備え、セキュア制御部２３で暗号化等のセキュア処理が実行されたフィスカルデータをフィスカルメモリ２７に記憶する。このフィスカルメモリ２７に記憶されるフィスカルデータは、日計売上データであり、例えば、店舗の１日毎の総売上データである。
【００３３】
フィスカルメモリ２７は、このように日計売上に係るフィスカルデータを記憶する部分であり、例えば、フラッシュメモリで構成される。なお、フィスカルメモリ２７への記憶処理は、その日の営業終了時などに行われる。
【００３４】
次に、印刷制御部２８は、いわゆるプリンターのコントローラーであり、ホストコンピューター１から送信される印刷データに基づいて印刷実行部２９にレシートの印刷を行わせる。図示していないが、印刷制御部２８は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＡＳＩＣ等で構成される。
【００３５】
印刷実行部２９は、レシートの印刷を実行する部分であり、印刷方式が感熱用紙を用いたサーマル方式である場合には、発熱素子を備えたサーマルヘッド、プラテン、用紙の搬送装置等で構成される。
【００３６】
図２は、セキュア制御部２３等の機能構成図を示している。図２に示されるように、ＲＯＭ２１（記憶部）には、上述した制御プログラムとしてブートプログラム２１１（起動
プログラム）とフィスカルデータ制御プログラム２１２（アプリケーションプログラム）が記憶される。ブートプログラム２１１は、メイン制御部２２のブート部２２１用のプログラムであり、フィスカルデータ制御プログラム２１２は、メイン制御部２２のフィスカルデータ制御部２２２用のプログラムである。
【００３７】
メイン制御部２２には、機能構成として、ブート部２２１とフィスカルデータ制御部２２２が備えられる。ブート部２２１は、フィスカルプリンター２の起動処理を行う部分であり、フィスカルデータ制御部２２２は、メイン制御部２２が実行する上述した各処理を行う部分である。
【００３８】
セキュア制御部２３には、機能構成として、送受信部２３１、ハッシュ計算部２３２、正規ハッシュ値記憶部２３４、及び判断部２３３等が備えられる。なお、図２には、セキュア制御部２３が行うフィスカルデータの暗号処理等に係る機能構成は示していない。
【００３９】
送受信部２３１は、メイン制御部２３１との通信を司る部分であり、ハッシュ計算部２３２は、フィスカルデータ制御プログラム２１２のコード（データ）からハッシュ値（以降、現ハッシュ値（実情報）と呼ぶ）を計算する部分である。判断部２３３は、当該計算されたハッシュ値と予め求められた正規のプログラムのハッシュ値に基づいて、フィスカルデータ制御プログラム２１２が正規のプログラムであるか否かを判断する部分である。正規ハッシュ値記憶部２３４は、上記正規のプログラムのハッシュ値、より具体的には、フィスカルデータ制御プログラム２１２としてＲＯＭ２１に記憶され、フィスカルデータ制御部２２２の動作を制御するプログラムとして正しいプログラムのコードをハッシュ値にしたもの（以降、正規ハッシュ値（正規情報）と呼ぶ）、を記憶する部分である。なお、現ハッシュ値と正規ハッシュ値は同一のハッシュ関数を用いて求められる。なお、正規ハッシュ値は、フィスカルプリンター２の製造時や設置時などに予めセキュア制御部２３に記憶させておく。
【００４０】
以上説明したような構成を有する本実施の形態例に係るフィスカルプリンター２では、起動時における制御プログラムの不正検出処理に特徴があり、以下、当該処理を中心に起動から停止までの処理内容について説明する。図３は、フィスカルプリンター２の起動から停止までの処理手順を例示したフローチャートである。
【００４１】
まず、フィスカルプリンター２の電源が投入（ＯＮに）されると（図３のステップＳ１）、メイン制御部２２はＲＯＭ２１のブートプログラム２１１をワーキングメモリに読み込み、ブート部２２１が起動する（図３のステップＳ２）。
【００４２】
次に、ブート部２２１は、ＲＯＭ２１のフィスカルデータ制御プログラム２１２を読み出して、フィスカルデータ制御部２２２を起動せずに（起動する前に）、当該フィスカルデータ制御プログラム２１２のコード（データ）をセキュア制御部２３に送信する（図３のステップＳ３）。
【００４３】
セキュア制御部２３では、送受信部２３１がフィスカルデータ制御プログラム２１２のコードを受信して、当該コードをハッシュ計算部２３２に渡す。ハッシュ計算部２３２は、受け取ったフィスカルデータ制御プログラム２１２のコードのハッシュ値（現ハッシュ値）を計算する（図３のステップＳ４）。具体的には、フィスカルデータ制御プログラム２１２のコードを所定のハッシュ関数に与え、その結果値を現ハッシュ値とする。
【００４４】
次に、計算された現ハッシュ値がハッシュ計算部２３２から判断部２３３に渡され、判断部２３３がＲＯＭ２１に記憶されているフィスカルデータ制御プログラム２１２が正規のプログラムであるか否かを判断する（図３のステップＳ５）。具体的には、受け取った
現ハッシュ値と正規ハッシュ値記憶部２３４に記憶される正規ハッシュ値を比較し、両者が一致していればＲＯＭ２１に記憶されているフィスカルデータ制御プログラム２１２が正規のプログラムであると判断し、両者が一致していなければＲＯＭ２１に記憶されているフィスカルデータ制御プログラム２１２が正規のプログラムではないと判断する。
【００４５】
上記判断の結果、現ハッシュ値と正規ハッシュ値が一致していれば（図３のステップＳ５の「一致」）、判断部２３３は、ＲＯＭ２１に記憶されているフィスカルデータ制御プログラム２１２が正規のプログラムである旨の情報を、送受信部２３１を介してメイン制御部２２に送信し、上記フィスカルデータ制御プログラム２１２の受信に対する応答を行う（図３のステップＳ６）。
【００４６】
当該応答を受けたメイン制御部２２では、ブート部２２１がフィスカルデータ制御プログラム２１２をワーキングメモリに読み込んでフィスカルデータ制御部２２２を起動する（図３のステップＳ７）。
【００４７】
これにより、フィスカルプリンター２が処理可能に起動されることになるので、フィスカルデータ制御部２２２の制御の下、各部が動作してフィスカルプリンター２の通常処理が実行される。具体的には、ホストコンピューター１から送信される印刷データに従ったレシートの印刷処理、レシートに係るフィスカルデータの記憶処理等が繰り返し実行される。そして、営業時間が終了し、日計売上に係るフィスカルデータの記憶処理等が完了すると、処理がステップＳ１２に移行する。
【００４８】
一方、上記判断（Ｓ５）において、現ハッシュ値と正規ハッシュ値が不一致であれば（図３のステップＳ５の「不一致」）、判断部２３３は、セキュア制御部２３をロック状態、すなわち、動作不能状態とする（図３のステップＳ９）。
【００４９】
その後、判断部２３３は、ＲＯＭ２１に記憶されているフィスカルデータ制御プログラム２１２が正規のプログラムでない旨の情報を、送受信部２３１を介してメイン制御部２２に送信し、上記フィスカルデータ制御プログラム２１２の受信に対する応答を行う（図３のステップＳ１０）。
【００５０】
当該応答を受けたメイン制御部２２では、ブート部２２１がフィスカルデータ制御部２２２を起動させない（図３のステップＳ１１）。これにより、フィスカルプリンター２は電源投入後、起動しない状態となる。その後、処理がステップＳ１２に移行する。
【００５１】
ステップＳ１２では、フィスカルプリンター２の起動を停止するために電源を切る、又は、フィスカルプリンター２が起動できない状態であるので電源を切る、状況となるので、フィスカルプリンター２の電源が切られる（ＯＦＦにされる）。
【００５２】
以上により、フィスカルプリンター２の動作が終了する。
【００５３】
なお、上述の説明では、フィスカルデータ制御プログラム２１２が正規のプログラムであるか否かをチェックするために、ハッシュ値（ハッシュ関数）を用いたが、これは一例であって他の暗号化技術、要約化技法を用いてもよい。
【００５４】
また、スマートカードで構成されるセキュア制御部２３は、フィスカルプリンター２に対して着脱式としてもよい。この場合には、特定の管理者が当該スマートカードを管理し、店舗の開店時に当該スマートカードをフィスカルプリンター２に取付け、閉店後、当該スマートカードをフィスカルプリンター２から取り外すようにする。また、未使用時には、安全な場所に保管する。
【００５５】
以上説明したように、本実施の形態例におけるフィスカルプリンター２では、実体的な処理を行うフィスカルデータ制御プログラム２１２が起動する前に、スマートカードで構成されるセキュア制御部２３が、フィスカルデータ制御プログラム２１２が正規なものであるか否かを判断する。従って、不正なプログラムを検出でき、その不正なプログラムが起動することを未然に防ぐことができる。また、セキュア制御部２３が、スマートカードで構成されるため、第三者がその内部を解読することは難しく、その点においても不正行為を防止でき、且つ、装置構成も比較的簡素なものにすることができる。
【００５６】
また、フィスカルデータ制御プログラム２１２が不正なプログラムであると判断された際に、メイン制御部２２のフィスカルデータ制御部２２２とセキュア制御部２３の両方が動作しない状態となるので、不正行為を確実に防止することができる。
【００５７】
また、不正なプログラムの検出にハッシュ値を用いるので、ほぼ確実に不正なプログラムを検出できる。
【００５８】
なお、本発明は、フィスカルプリンターでないプリンターにも応用することができる。
【００５９】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【符号の説明】
【００６０】
１  ホストコンピューター、  ２  フィスカルプリンター、  ３  フィスカルデータ読出装置、  ２１  ＲＯＭ、  ２２  メイン制御部、  ２３  セキュア制御部（スマートカード）、  ２４  ＥＪメモリ制御部、  ２５  ＥＪメモリ、  ２６  フィスカルメモリ制御部、  ２７  フィスカルメモリ、  ２８  印刷制御部、  ２９  印刷実行部、  ２１１
ブートプログラム、  ２１２  フィスカルデータ制御プログラム、  ２２１  ブート部、  ２２２  フィスカルデータ制御部、  ２３１  送受信部、  ２３２  ハッシュ計算部、  ２３３  判断部、  ２３４  正規ハッシュ値記憶部
【図１】
2015152998.tif 000003
【図２】
2015152998.tif 000004
【図３】
2015152998.tif 000005