(57)【要約】【課題】データの暗号化の高速化を実現しつつ、不正な処理が行われることを防止する。【解決手段】フィスカルプリンター１６は、入力されたデータを暗号化する機能を少なくとも有し、ＩＣチップ記憶部８６が実装された暗号用ＩＣチップ８１と、当該チップに制御コマンドを出力して、当該チップに処理を実行させる暗号用ＩＣチップ制御部８２と、を備え、ＩＣチップ記憶部８６にパスワードを記憶すると共に、第２ＳＲＡＭ８３に共通のパスワードを記憶し、暗号用ＩＣチップ制御部８２は、パスワードを含む制御コマンドを暗号用ＩＣチップ８１に出力し、当該チップは、制御コマンドに含まれるパスワード、及び、ＩＣチップ記憶部８６に記憶されたパスワードに基づいて、制御コマンドの認証を行う機能を有する。【選択図】図１
2014102534.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータを暗号化する機能を少なくとも有し、第１のメモリーが実装されたチップと、
前記チップに制御コマンドを出力して、前記チップに処理を実行させる制御部と、を備え、
前記第１のメモリーに記憶されたパスワードと共通のパスワードが、前記制御部がアクセス可能な第２のメモリーに記憶され、
前記制御部は、前記パスワードを含む制御コマンドを前記チップに出力し、
前記チップは、前記制御コマンドに含まれる前記パスワード、及び、前記第１のメモリーに記憶された前記パスワードに基づいて、前記制御コマンドの認証を行う機能を有することを特徴とする情報処理装置。
【請求項２】
不正なアクセスを検出する不正検出部をさらに備え、
前記不正検出部により不正が検出された場合、前記第２のメモリーに記憶された前記パスワードを無効化することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記不正検出部により不正が検出された場合、前記第２のメモリーに記憶された前記パスワードを上書きし、また、揮発性メモリーにより構成された前記第２のメモリーに供給される電力を遮断して前記パスワードを消去ことにより、前記第２のメモリーに記憶された前記パスワードを無効化することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記チップは、公開鍵暗号方式に係る秘密鍵及び公開鍵を生成する機能を有し、当該機能により生成された前記秘密鍵を前記第１のメモリーに記憶することを特徴とする請求項１ないし３のいずれかに記載の情報処理装置。
【請求項５】
入力されたデータを暗号化する機能を少なくとも有し、第１のメモリーが実装されたチップと、前記チップに制御コマンドを出力して、前記チップに処理を実行させる制御部と、を備える情報処理装置の制御方法であって、
前記第１のメモリーにパスワードを記憶すると共に、前記制御部がアクセス可能な第２のメモリーに共通の前記パスワードを記憶し、
前記制御部により、前記パスワードを含む制御コマンドを前記チップに出力し、
前記チップにより、前記制御コマンドに含まれる前記パスワード、及び、前記第１のメモリーに記憶された前記パスワードに基づいて、前記制御コマンドの認証を行うことを特徴とする情報処理装置の制御方法。
【請求項６】
入力されたデータを暗号化する機能を少なくとも有し、第１のメモリーが実装されたチップと、前記チップに制御コマンドを出力して、前記チップに処理を実行させる制御部と、を備え、前記第１のメモリーに記憶されたパスワードと共通のパスワードが、前記制御部がアクセス可能な第２のメモリーに記憶された情報処理装置の前記チップ、及び、前記制御部により実行されるプログラムであって、
前記制御部に、前記パスワードを含む制御コマンドを前記チップに出力させ、
前記チップに、前記制御コマンドに含まれる前記パスワード、及び、前記第１のメモリーに記憶された前記パスワードに基づいて、前記制御コマンドの認証を行わせることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィスカルデータを記憶する情報処理装置、当該情報処理装置の制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
従来、商品を販売等する店舗に設けられ、取引に関する情報（売上に関する情報や、課税に関する情報等）を含むフィスカルデータを記憶する情報処理装置（電子式キャッシュレジスター、レシート用のプリンター）が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０５−１２０５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した情報処理装置のように、フィスカルデータを記憶するものでは、データの信頼性向上、改ざんの防止のため、フィスカルデータやこれに付随するデータを暗号化鍵により暗号化する場合がある。このような場合、高速な暗号化を実現したいとするニーズがある一方、不正な処理が行われることを防止する必要がある。
本発明は、上述した事情に鑑みてなされたものであり、データの暗号化の高速化を実現しつつ、不正な処理が行われることを防止することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、入力されたデータを暗号化する機能を少なくとも有し、第１のメモリーが実装されたチップと、前記チップに制御コマンドを出力して、前記チップに処理を実行させる制御部と、を備え、前記第１のメモリーに記憶されたパスワードと共通のパスワードが、前記制御部がアクセス可能な第２のメモリーに記憶され、前記制御部は、前記パスワードを含む制御コマンドを前記チップに出力し、前記チップは、前記制御コマンドに含まれる前記パスワード、及び、前記第１のメモリーに記憶された前記パスワードに基づいて、前記制御コマンドの認証を行う機能を有することを特徴とする。
この構成によれば、入力されたデータを暗号化する機能を有する専用のチップにより、各種データの高速な暗号化を実現できる。さらに、チップは、制御部から入力された制御コマンドに含まれるパスワード、及び、実装された第１のメモリーに記憶されたパスワードに基づいて、制御コマンドの認証を行うため、例えば、チップが第三者によって取り外された後、当該第三者により不正なアクセスがあった場合であっても、そのことを検出でき、かつ、対応する適切な処理、例えば、データを利用不可能とする処理等を実行することが可能である。
【０００６】
また、本発明は、不正なアクセスを検出する不正検出部をさらに備え、前記不正検出部により不正が検出された場合、前記第２のメモリーに記憶された前記パスワードを無効化することを特徴とする。
この構成によれば、不正なアクセスがあった場合、第２のメモリーに記憶されたパスワードが無効化され、制御部による制御コマンドによってチップを制御できなくなるため、不正な手段によってチップが不正な処理を実行してしまうことを防止できる。
【０００７】
また、本発明は、前記不正検出部により不正が検出された場合、前記第２のメモリーに記憶された前記パスワードを上書きし、また、揮発性メモリーにより構成された前記第２のメモリーに供給される電力を遮断して前記パスワードを消去ことにより、前記第２のメモリーに記憶された前記パスワードを無効化することを特徴とする。
この構成によれば、第２のメモリーに記憶されたパスワードを的確に無効化できる。
【０００８】
また、本発明は、前記チップは、公開鍵暗号方式に係る秘密鍵及び公開鍵を生成する機能を有し、当該機能により生成された前記秘密鍵を前記第１のメモリーに記憶することを特徴とする。
ここで、秘密鍵は、例えば、フィスカルデータに係るデジタル署名を生成する際に利用するものであり、不正な手段によって第三者に取得されることを防止しなければならない。そして上記構成によれば、チップは、制御部から入力された制御コマンドに含まれるパスワード、及び、実装された第１のメモリーに記憶されたパスワードに基づいて、制御コマンドの認証を行うため、不正な制御コマンドにより、秘密鍵が取得されることを防止できる。
【０００９】
また、上記目的を達成するために、本発明は、入力されたデータを暗号化する機能を少なくとも有し、第１のメモリーが実装されたチップと、前記チップに制御コマンドを出力して、前記チップに処理を実行させる制御部と、を備える情報処理装置の制御方法であって、前記第１のメモリーにパスワードを記憶すると共に、前記制御部がアクセス可能な第２のメモリーに共通の前記パスワードを記憶し、前記制御部により、前記パスワードを含む制御コマンドを前記チップに出力し、前記チップにより、前記制御コマンドに含まれる前記パスワード、及び、前記第１のメモリーに記憶された前記パスワードに基づいて、前記制御コマンドの認証を行うことを特徴とする。
この制御方法によれば、入力されたデータを暗号化する機能を有する専用のチップにより、各種データの高速な暗号化を実現できる。さらに、チップは、制御部から入力された制御コマンドに含まれるパスワード、及び、実装された第１のメモリーに記憶されたパスワードに基づいて、制御コマンドの認証を行うため、例えば、チップが第三者によって取り外された後、当該第三者により不正なアクセスがあった場合であっても、そのことを検出でき、かつ、対応する適切な処理、例えば、データを利用不可能とする処理等を実行することが可能である。
【００１０】
また、上記目的を達成するために、本発明は、入力されたデータを暗号化する機能を少なくとも有し、第１のメモリーが実装されたチップと、前記チップに制御コマンドを出力して、前記チップに処理を実行させる制御部と、を備え、前記第１のメモリーに記憶されたパスワードと共通のパスワードが、前記制御部がアクセス可能な第２のメモリーに記憶された情報処理装置の前記チップ、及び、前記制御部により実行されるプログラムであって、前記制御部に、前記パスワードを含む制御コマンドを前記チップに出力させ、前記チップに、前記制御コマンドに含まれる前記パスワード、及び、前記第１のメモリーに記憶された前記パスワードに基づいて、前記制御コマンドの認証を行わせることを特徴とする。
このプログラムによれば、入力されたデータを暗号化する機能を有する専用のチップにより、各種データの高速な暗号化を実現できる。さらに、チップは、制御部から入力された制御コマンドに含まれるパスワード、及び、実装された第１のメモリーに記憶されたパスワードに基づいて、制御コマンドの認証を行うため、例えば、チップが第三者によって取り外された後、当該第三者により不正なアクセスがあった場合であっても、そのことを検出でき、かつ、対応する適切な処理、例えば、データを利用不可能とする処理等を実行することが可能である。
【発明の効果】
【００１１】
本発明によれば、データの暗号化の高速化を実現しつつ、不正な処理が行われることを防止できる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る情報処理システムの構成を示す図である。
【図２】フィスカルプリンターの動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係る情報処理システム１の構成を示す図である。
図１に示すように、情報処理システム１は、フィスカルプリンター１６（情報処理装置）を備えており、このフィスカルプリンター１６にホストコンピューター１５、及び、フィスカルデータ読出装置４０が接続可能な構成となっている。
フィスカルプリンター１６は、ホストコンピューター１５の制御の下、レシートを発行すると共に、ホストコンピューター１５から入力されたフィスカル情報（フィスカルデータ）を記憶する。
フィスカル情報（フィスカルデータ）とは、商品等の販売取引に関する情報（売上に関する情報や課税額等に関する情報）であって、記憶すべき情報として予め定められた情報のことである。このフィスカル情報は、例えば、政府等の国家機関による店舗からの税金の徴収に際し、国家機関が当該店舗における取引の実態を把握するために参照する情報として利用される。従って、フィスカル情報が改ざんされることを防止する必要がある。本実施形態では、フィスカル情報（フィスカルデータ）として、後述する書込レシートデータ５４、及び、日計売上データ５３の２種類のデータが存在する。
なお、以下の説明では、フィスカルプリンター１６が出力するレシートは、店舗のレジカウンターにおいて顧客による会計に際して発行されるレシートであり、必ず、購入した商品ごとの小計金額Ｔ１（商品ごとに、商品の単価と購入数量の積によって算出される金額。）と、合計金額Ｔ２（小計金額Ｔ１の和によって算出される金額。）、及び、支払金額Ｔ３（合計金額Ｔ２に消費税等の税を加味して算出される金額。）が記録されているものとする。
【００１４】
図１に示すように、フィスカルプリンター１６は、管理基板２０、プリンター基板２１、及び、サブ基板２２の３つの基板を備えている。
管理基板２０には、メイン制御部２５（制御部）と、ＰＣコネクター２６ａと、フィスカルコネクター２６ｂと、通信ＩＣ２７と、ＲＯＭ２８と、第１ＳＲＡＭ２９と、ＲＴＣ３０と、ＥＪメモリー３１と、ＥＪメモリー制御部３２と、バッファーＩＣ３３と、暗号化モジュール８０と、が実装されている。
メイン制御部２５は、フィスカルプリンター１６の各部を中枢的に制御するものであり、ＣＰＵやその他の周辺回路を備えている。ＰＣコネクター２６ａは、フィスカルプリンター１６の通常使用時においてホストコンピューター１５が接続されるコネクターである。ホストコンピューター１５は、ＰＣコネクター２６ａを介してフィスカルプリンター１６にレシートの発行に係る動作を行わせる制御コマンドを出力し、また、フィスカル情報として、後述する日計売上データ５３を出力する。フィスカルコネクター２６ｂは、フィスカルデータ読出装置４０が接続されるコネクターである。フィスカルデータ読出装置４０とは、後述するＥＪメモリー３１や、フィスカルメモリー５０に記憶されたデータを読み出すための装置であり、例えば国家機関（政府等）に係る者等の、特別な許可を得た者だけが所持し得る。上述したホストコンピューター１５はＰＣコネクター２６ａに接続された状態が維持されるが、フィスカルデータ読出装置４０は、ホストコンピューター１５と異なり、データの読み出しが行われる際に、適宜、フィスカルコネクター２６ｂに接続される。
【００１５】
通信ＩＣ２７は、ＰＣコネクター２６ａ及びフィスカルコネクター２６ｂに接続され、メイン制御部２５の制御の下、ホストコンピューター１５や、フィスカルデータ読出装置４０との間でデータの送受信を行う。ＲＯＭ２８は、メイン制御部２５が各種制御を行うための制御プログラム（ファームウェア）等の各種データを不揮発的に記憶する。第１ＳＲＡＭ２９は、メイン制御部２５のＣＰＵのワークエリアとして機能する揮発性のメモリーであり、各種データを一時的に記憶する。ＲＴＣ３０（Real-time clock：リアルタイムクロック）は、現在日時（年月日、時刻）を示すデータをメイン制御部２５に出力する。第１ＳＲＡＭ２９、ＲＴＣ３０には、フィスカルプリンター１６の電源がオフされた場合であっても、図示せぬ電池からバックアップ用の電力が供給される。
ＥＪメモリー３１は、ＮＡＮＤ型フラッシュメモリーであり、大容量のデータを記憶可能である。特に、本実施形態では、ＥＪメモリー３１は、ＭＬＣタイプのＮＡＮＤ型フラッシュメモリーである。
周知の通り、ＭＬＣタイプのＮＡＮＤ型フラッシュメモリーは、ＳＬＣタイプのものと比較して、低コストで大容量化が可能である。従って、後に明らかとなるとおり、頻繁に書込みに係る処理が発生する可能性があり、かつ、記憶されるデータのサイズが増大するペースが速い可能性がある書込レシートデータ５４を記憶するメモリーとして適している。
ＥＪメモリー３１において、書込レシートデータ５４及びこれに付随するデータが書き込まれる記憶領域は、１つのアドレスに対して１度しかデータを書き込めないメモリーとして機能する。これにより、ＥＪメモリー３１に書き込まれたフィスカルデータが後から編集されることが防止され、ＥＪメモリー３１に記憶されたフィスカルデータ対する改ざんが防止されている。ＥＪメモリー制御部３２は、ＣＰＵを備え、メイン制御部２５の制御の下、ＥＪメモリー３１に対してデータの読み書き、消去を行う。バッファーＩＣ３３は、ＥＪメモリー３１に対するデータの読み出し、書き込みの効率を向上するために設けられたバッファーを制御する。
これらＥＪメモリー３１、ＥＪメモリー制御部３２、及び、バッファーＩＣ３３は、エポキシ樹脂によって管理基板２０に封止されており、ＥＪメモリー３１が管理基板２０から物理的に取り外された上で、ＥＪメモリー３１に記憶されたデータが改ざんされることが防止されている。
【００１６】
暗号化モジュール８０は、暗号用ＩＣチップ８１（チップ）と、暗号用ＩＣチップ制御部８２（制御部）と、第２ＳＲＡＭ８３（第２のメモリー）と、を備えている。
暗号用ＩＣチップ８１は、後述する各種処理を実行可能な制御回路を有するＩＣチップ処理部８５（制御部）と、ＥＥＰＲＯＭによって構成されたＩＣチップ記憶部８６（第１のメモリー）と、が実装されている。ＩＣチップ処理部８５の機能、及び、ＩＣチップ記憶部８６に記憶されるデータについては後述する。
暗号用ＩＣチップ制御部８２は、メイン制御部２５と信号通信可能に接続されており、メイン制御部２５と協働して、又は、単独で、暗号用ＩＣチップ８１に制御コマンドを出力して暗号用ＩＣチップ８１に処理を実行させることにより、暗号用ＩＣチップ８１を制御する。また、暗号用ＩＣチップ制御部８２は、メイン制御部２５を起動させる前に、当該メイン制御部２５で動作するファームウェアが不正に改変されていないかどうかを確認するための処理を実行する機能を有している。
第２ＳＲＡＭ８３に記憶されるデータについては後述する。
通信モジュール３７は、電話網やインターネット等のネットワークを介して、政府等が管理するサーバー装置等の外部機器通信するためのモジュールである。外部機器との通信するときの規格は、ＧＰＲＳの規格等、何であってもよい。
管理基板２０に実装された不正検出部３５については、後述する。
【００１７】
また、プリンター基板２１には、プリンター制御部４５が実装されており、プリンター制御部４５は、ホストコンピューター１５が出力した制御コマンドに基づいて、記録機構４６を制御して、レシートを発行する。
記録機構４６は、ロール紙の印刷面に熱を与えることにより画像を記録するサーマルヘッド４６ａや、ロール紙を搬送する搬送機構４６ｂ、所定の位置でロール紙を切断する切断機構４６ｃ等を備えており、プリンター制御部４５の制御の下、これら機構や装置を動作させて、レシートを発行する。
プリンター基板２１には、プリンター側コネクター４２が設けられ、管理基板２０には、管理側コネクター４３が設けられており、これらプリンター側コネクター４２と、管理側コネクター４３とが接続されることにより、管理基板２０と、プリンター基板２１とが接続される。
本実施形態では、レシートの発行に際し、まず、フィスカルプリンター１６に接続されたホストコンピューター１５が、制御コマンドを生成し、生成した制御コマンドをＰＣコネクター２６ａを介してメイン制御部２５に出力する。制御コマンドが入力されたメイン制御部２５は、入力された制御コマンドをプリンター制御部４５に出力する。
【００１８】
サブ基板２２には、フィスカルメモリー５０と、フィスカルメモリー制御部５１とが実装されている。
フィスカルメモリー５０は、シリアルバスを採用した素子を利用した、いわゆるシリアルフラッシュメモリーである。周知の通り、シリアルフラッシュメモリーは、ＮＡＮＤ型フラッシュメモリーと比較して、記憶したデータの信頼性が高く、かつ、データの書込み可能回数が多い、という特徴がある。
フィスカルメモリー５０には、フィスカル書込日時データ５２、及び、日計売上データ５３が記憶されるが、これらについては後述する。フィスカルメモリー５０において、日計売上データ５３及びこれに付随するデータが書き込まれる記憶領域は、１つのアドレスに対して１度しかデータを書き込めないメモリーとして機能する。これにより、フィスカルメモリー５０に書き込まれたフィスカルデータが後から編集されることが防止され、フィスカルメモリー５０に記憶されたフィスカルデータ対する改ざんが防止されている。
フィスカルメモリー制御部５１は、プログラム可能な論理回路を書き込んだデバイスであるＣＰＬＤ（Complex programmable logic device）を備え、メイン制御部２５の制御の下、フィスカルメモリー５０に対してデータの読み書き、消去を行う。
これらフィスカルメモリー５０、及び、フィスカルメモリー制御部５１は、エポキシ樹脂によってサブ基板２２に封止されており、例えば、フィスカルメモリー５０がサブ基板２２から物理的に取り外された上で、フィスカルメモリー５０に記憶されたデータが改ざんされることが防止されている。
【００１９】
次いで、ＥＪメモリー３１に記憶される書込レシートデータ５４、及び、フィスカルメモリー５０に記憶される日計売上データ５３について説明する。上述したように、これらデータは、フィスカルデータに該当する。
書込レシートデータ５４とは、フィスカルプリンター１６によって発行されるレシートに記録される情報を示すデータであって、記憶すべきデータとして予め定められているデータのことである。例えば、レシートに、顧客が購入した商品毎に、商品を示す情報や、商品の単価を示す情報、当該商品を購入した個数を示す情報、各商品の購入に係る代金を示す情報、全ての商品の総購入代金を示す情報等が記録されている場合であって、これら情報を示すデータが記憶すべきデータとして予め定められている場合、これら情報を示すデータが書込レシートデータ５４に該当する。
上述したように、本実施形態では、フィスカルプリンター１６によってレシートを発行する場合、ホストコンピューター１５によって制御コマンドが生成され、この制御コマンドがメイン制御部２５に出力され、さらに、制御コマンドがメイン制御部２５からプリンター制御部４５に出力される。その際、メイン制御部２５は、制御コマンドから、書込レシートデータ５４として記憶すべき情報を抽出し、抽出したこれら情報に基づいて書込レシートデータ５４を生成し、生成した書込レシートデータ５４を、ＥＪメモリー制御部３２を制御して、ＥＪメモリー３１に記憶する。
本実施形態では、書込レシートデータ５４には、レシートにおける小計金額Ｔ１と、合計金額Ｔ２と、支払金額Ｔ３が含まれている。すなわち、上述したように、本実施形態に係るフィスカルプリンター１６が発行するレシートには、小計金額Ｔ１と、合計金額Ｔ２、及び、支払金額Ｔ３が記録されているが、メイン制御部２５は、制御コマンドから、少なくともこれら３つの情報を抽出し、書込レシートデータ５４としてＥＪメモリー３１に記憶する。
【００２０】
ここで、メイン制御部２５は、ＥＪメモリー３１に書込レシートデータ５４を書き込む際、ＲＴＣ３０から現在日時（日付＋時刻）を示すデータを取得し、取得したデータに基づいて日時を示すデータであるＥＪ書込日時データ５５を生成し、書込レシートデータ５４と、ＥＪ書込日時データ５５とを対応付けて書き込む。つまり、書込レシートデータ５４のそれぞれは、ＥＪメモリー３１に書き込まれた日時を示すデータであるＥＪ書込日時データ５５と対応づけてＥＪメモリー３１に記憶される。
さらに、メイン制御部２５は、書込レシートデータ５４を書き込む際、書込レシートデータ５４を元データとして生成されたデジタル署名たるＥＪデジタル署名５６を、書込レシートデータ５４と対応付けて書き込む。つまり、書込レシートデータ５４のそれぞれは、各データに基づいて生成されるＥＪデジタル署名５６と対応付けてＥＪメモリー３１に記憶される。ＥＪデジタル署名５６を生成する手段については後述する。
フィスカルデータ読出装置４０や、その他のフィスカルプリンター１６に記憶されたフィスカルデータの調査、検査を行う装置（例えば、政府が管理するサーバー装置）は、各フィスカルプリンター１６がＥＪデジタル署名５６を生成する際に使用するハッシュ関数を管理すると共に、ＥＪデジタル署名５６を生成する際に利用した秘密鍵（後述するＥＪデジタル署名用秘密鍵ＫＡ１）に対応する公開鍵を管理しており、ある１のフィスカルプリンター１６に係る書込レシートデータ５４と、対応するＥＪデジタル署名５６とに基づいて、書込レシートデータ５４に対する改ざんを検出可能である。
なお、ＥＪ書込日時データ５５と、書込レシートデータ５４とを対応づけて記憶する理由の１つは、国によっては、法律や、規則によりそのことが義務づけられているからである。
以上のように、書込レシートデータ５４は、レシートの発行に応じて生成されるため、頻繁に書込みに係る処理が発生する可能性があり、かつ、記憶されるデータのサイズが増大するペースが速い可能性がある。
【００２１】
日計売上データ５３とは、フィスカルプリンター１６によるレシートの発行が行われた会計によって得た「１日」の総売上のことである。「１日」とは、本実施形態では、情報処理システム１が適用された店舗における開店から閉店までの期間のことである。つまり、集計データは、レシートに含まれる会計情報を集計した情報に関するデータである。
ホストコンピューター１５は、レジカウンターにおいて行われる会計ごとにフィスカルプリンター１６を制御してレシートを発行すると共に、会計ごとの売上金額（＝レシートにおける支払金額Ｔ３）を累積的に記憶する。そして、ホストコンピューター１５は、店舗の閉店後、所定のタイミング（例えば、担当者の指示があったタイミングや、所定の時刻に至ったタイミング）で、累積的に記憶した会計ごとの売上金額に基づいて、対応するフィスカルプリンター１６に係る「１日」における総売上を計算し、計算した総売上に基づいて、日計売上データ５３を生成し、生成した日計売上データ５３をメイン制御部２５に出力する。日計売上データ５３が入力されると、メイン制御部２５は、フィスカルメモリー制御部５１を制御し、フィスカルメモリー５０に日計売上データ５３を書き込む。
ここで、メイン制御部２５は、フィスカルメモリー５０に日計売上データ５３を書き込む際、ＲＴＣ３０に現在日時を示すデータを出力させ、このデータに基づいて、書き込みを行った日時を取得し、取得した日時を示すデータであるフィスカル書込日時データ５２（集計データ）と、日計売上データ５３とを対応づけた状態で、フィスカルメモリー５０に日計売上データ５３を書き込む。つまり、日計売上データ５３のそれぞれは、フィスカルメモリー５０に書き込まれた日時を示すデータであるフィスカル書込日時データ５２と対応づけてフィスカルメモリー５０に記憶される。
さらに、メイン制御部２５は、日計売上データ５３を書き込む際、日計売上データ５３を元データとして生成されたデジタル署名たるフィスカルデジタル署名５８を、日計売上データ５３と対応付けて書き込む。つまり、日計売上データ５３のそれぞれは、各データに基づいて生成されるフィスカルデジタル署名５８と対応付けてフィスカルメモリー５０に記憶される。フィスカルデジタル署名５８を生成する手段については後述する。
フィスカルデータ読出装置４０や、その他のフィスカルプリンター１６に記憶されたフィスカルデータの調査、検査を行う装置（例えば、政府が管理するサーバー装置）は、フィスカルデジタル署名５８を利用して、日計売上データ５３にタイする改ざんを検出可能である。
このように、本実施形態では、フィスカル書込日時データ５２と、日計売上データ５３とを対応づけて記憶するが、これは、国によっては、法律や、規則によりそのことが義務づけられているからである。
【００２２】
一方、ホストコンピューター１５は、ホスト制御部４４を備えている。ホスト制御部４４は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の周辺回路を備え、ホストコンピューター１５の各部を中枢的に制御するものであり、アプリケーション実行部４４ａ、及び、プリンタードライバー実行部４４ｂを備えている。
アプリケーション実行部４４ａは、ホストコンピューター１５が備える所定の記憶部に記憶されたアプリケーションプログラムを読み出して実行することにより、発行するレシートに記録すべき情報を含んだアプリ出力データを生成し、生成したアプリ出力データをプリンタードライバー実行部４４ｂに出力する。例えば、アプリケーション実行部４４ａは、図示せぬバーコードリーダーからの入力値に基づいて、顧客が購入した商品の商品コードを特定するとともに、所定のデータベースにアクセスし、商品コードを利用して当該商品の単価や、商品名を取得する等して、上述した小計金額、合計金額、及び、支払金額を含む各種情報を取得し、取得した情報に基づいて、アプリ出力データを生成する。
プリンタードライバー実行部４４ｂは、ホストコンピューター１５が備える所定の記憶部に記憶されたプリンタードライバーを読み出して実行することにより、アプリケーション実行部４４ａから入力されたアプリ出力データに基づいて、フィスカルプリンター１６のコマンド仕様に準拠して、フィスカルプリンター１６にレシートの発行に係る一連の動作を行わせる制御コマンドを生成し、フィスカルプリンター１６に出力する。
制御コマンドには、例えば、画像の記録の開始を指示するコマンドや、サーマルヘッド４６ａを駆動させることを指示するコマンド、ロール紙を搬送方向に所定量だけ送ることを指示するコマンド、切断機構４６ｃによりロール紙の切断を指示するコマンド等の各種コマンドが含まれている。
【００２３】
次に、デジタル署名たるＥＪデジタル署名５６、及び、フィスカルデジタル署名５８を生成する手段について説明する。
ある１の書込レシートデータ５４について、ＥＪデジタル署名５６を生成する場合、メイン制御部２５は、当該１の書込レシートデータ５４を元データとして所定のハッシュ関数に基づいてハッシュ値を求め、求めたハッシュ値を暗号用ＩＣチップ制御部８２に出力する。
暗号用ＩＣチップ制御部８２は、メイン制御部２５から入力されたハッシュ値について、当該ハッシュ値を、ＥＪデジタル署名用秘密鍵ＫＡ１を利用して暗号化させてＥＪデジタル署名５６を生成させ、さらに、生成させたＥＪデジタル署名５６を出力させる旨の制御コマンドを生成して、暗号用ＩＣチップ８１のＩＣチップ処理部８５に出力する。
当該制御コマンドが入力されると、ＩＣチップ処理部８５は、ＩＣチップ記憶部８６に事前に記憶されているＥＪデジタル署名用秘密鍵ＫＡ１を利用して、ハッシュ値を暗号化する。ＥＪデジタル署名用秘密鍵ＫＡ１は、公開鍵暗号方式に係る秘密鍵であるが、当該秘密鍵が生成され、ＩＣチップ記憶部８６に記憶されるときの処理については後述する。秘密鍵たるＥＪデジタル署名用秘密鍵ＫＡ１によって暗号化されたハッシュ値がＥＪデジタル署名５６である。
ここで、暗号用ＩＣチップ８１は、ＩＣチップ記憶部８６に記憶された特定の鍵によって、データを暗号化する専用の回路、専用のプログラムが組み込まれたチップである。従って、データの暗号化に係る処理について非常に高速に実行できる。
ＥＪデジタル署名５６を生成すると、ＩＣチップ処理部８５は、生成したＥＪデジタル署名５６を、暗号用ＩＣチップ制御部８２に出力する。
暗号用ＩＣチップ制御部８２は、ＩＣチップ処理部８５から入力されたＥＪデジタル署名５６をメイン制御部２５に出力し、メイン制御部２５は、入力されたＥＪデジタル署名５６を書込レシートデータ５４と対応付けてＥＪメモリー３１に記憶する。
以上、ＥＪデジタル署名５６を生成する手段について説明したが、フィスカルデジタル署名５８についても同様の手段により生成される。すなわち、フィスカルデジタル署名５８を生成するための秘密鍵たるフィスカルデジタル署名用秘密鍵ＫＡ２が事前にＩＣチップ記憶部８６に記憶されており、ＩＣチップ処理部８５は、当該秘密鍵を利用して、フィスカルデジタル署名５８を生成して、出力する。
なお、上記例では、メイン制御部２５がハッシュ値を算出していたが、ハッシュ値の算出を暗号用ＩＣチップ制御部８２が行う構成であってもよく、また、ＩＣチップ処理部８５が行う構成であってもよい。
【００２４】
次に、ＥＪデジタル署名５６や、フィスカルデジタル署名５８を生成する際に使用する秘密鍵を生成する処理、その他の付随する処理を行う際のフィスカルプリンター１６の動作について説明する。
図２は、上記動作を説明するためのフローチャートであり、（Ａ）は暗号用ＩＣチップ制御部８２の動作を、（Ｂ）はＩＣチップ処理部８５の動作をそれぞれ示している。
まず、暗号用ＩＣチップ制御部８２は、所定の事象が発生したことをトリガーとして、ステップＳＡ２以下の処理を開始する（ステップＳＡ１）。本実施形態では、フィスカルプリンター１６の出荷後、ユーザーにより初めて当該プリンターの電源が投入されたことが、トリガーの１つなる。この他、ユーザーによって明示の指示があった場合や、所定の初期化が行われ場合等にも、当該事象をトリガーとして、暗号用ＩＣチップ制御部８２によってステップＳＡ２以下の処理が開始される。
次いで、暗号用ＩＣチップ制御部８２は、認証用パスワードＰＷ（パスワード）を生成する（ステップＳＡ２）。この認証用パスワードＰＷは、暗号用ＩＣチップ制御部８２から、暗号用ＩＣチップ８１のＩＣチップ処理部８５に出力される制御コマンドの認証に利用されるパスワードである。後に明らかとなるとおり、暗号用ＩＣチップ制御部８２は、制御コマンドのフォーマットに準拠して、制御コマンドに認証用パスワードＰＷを含めた上で、制御コマンドをＩＣチップ処理部８５に出力し、一方、ＩＣチップ処理部８５は、制御コマンドに含まれる認証用パスワードＰＷと、ＩＣチップ記憶部８６に記憶された認証用パスワードＰＷとに基づいて、制御コマンドの認証を行う。
次いで、暗号用ＩＣチップ制御部８２は、ステップＳＡ２において生成した認証用パスワードＰＷを、ＩＣチップ記憶部８６の所定の記憶領域に記憶させる制御コマンドを生成して、ＩＣチップ処理部８５に出力する（ステップＳＡ３）。当該制御コマンドが入力されると、ＩＣチップ処理部８５は、当該制御コマンドに基づいて、認証用パスワードＰＷをＩＣチップ記憶部８６に記憶する（ステップＳＢ１）。
次いで、暗号用ＩＣチップ制御部８２は、ステップＳＡ２において生成した認証用パスワードＰＷを、第２ＳＲＡＭ８３の所定の記憶領域に記憶する（ステップＳＡ４）。
なお、本実施形態では、認証用パスワードＰＷを生成する機能を暗号用ＩＣチップ制御部８２が有しているが、当該機能をＩＣチップ処理部８５が有する構成であってもよく、また、メイン制御部２５が有する構成であってもよい。
【００２５】
次いで、暗号用ＩＣチップ制御部８２は、ＥＪデジタル署名５６を生成するための秘密鍵であるＥＪデジタル署名用秘密鍵ＫＡ１、及び、対応する公開鍵である公開鍵ＫＢ１を生成させ、さらに、フィスカルデジタル署名５８を生成するための秘密鍵であるフィスカルデジタル署名用秘密鍵ＫＡ２、及び、対応する公開鍵である公開鍵ＫＢ２を生成させる旨の制御コマンドを生成し、ＩＣチップ処理部８５に出力する（ステップＳＡ５）。暗号用ＩＣチップ制御部８２は、当該制御コマンドに、所定のフォーマットに準拠して、認証用パスワードＰＷを含める。
当該制御コマンドが入力されると、ＩＣチップ処理部８５は、当該制御コマンドの認証を行う（ステップＳＢ２）。具体的には、ＩＣチップ記憶部８６は、制御コマンドに含まれる認証用パスワードＰＷと、ＩＣチップ記憶部８６に記憶されている認証用パスワードＰＷが一致するか否かを判別し、一致する場合は認証に成功したと判別し、一方、一致しない場合は認証に失敗したと判別する。
このように、本実施形態では、ＩＣチップ処理部８５は、暗号用ＩＣチップ制御部８２から入力された制御コマンドについて、認証用パスワードＰＷに基づいて、認証を行う。このため、暗号用ＩＣチップ８１が第三者によって不正の手段により取り外された後、当該第三者により制御コマンドを利用した不正なアクセスがあった場合であっても、不正を検出でき、かつ、対応する適切な処理、例えば、データを利用不可能とする処理等を実行することが可能である。以下では、ステップＳＢ２において認証が成功したものとして説明を進める。
次いで、ＩＣチップ処理部８５は、ＲＳＡ暗号方式等の所定の公開鍵暗号方式に準拠したＥＪデジタル署名用秘密鍵ＫＡ１、及び、公開鍵ＫＢ１の鍵ペア、及び、フィスカルデジタル署名用秘密鍵ＫＡ２、及び、公開鍵ＫＢ２の鍵ペアを生成する（ステップＳＢ３）。
ここで、本実施形態では、異なる種類のフィスカルデータ（書込レシートデータ５４、及び、日計売上データ５３）については、異なる秘密鍵を用いて対応するデジタル署名を生成する構成となっている。これは、以下の理由による。すなわち、仮に、第三者が不正の手段によって、いずれか１つのフィスカルデータ、例えば、書込レシートデータ５４を取得したとする。この場合、書込レシートデータ５４に対する改ざんが可能となる可能性がある一方、日計売上データ５３に対する改ざんは不可能である。そして、書込レシートデータ５４に対してのみ改ざんが行われた場合は、書込レシートデータ５４と、日計売上データ５３とに不整合が生じる。このため、当該不整合を検出する手段を実装することにより、書込レシートデータ５４に対する改ざんを検出可能である。すなわち、異なる種類のフィスカルデータについては、異なる秘密鍵を用いて対応するデジタル署名を生成する構成とすることにより、何らかの改ざんが行われた場合に、そのことが検出できる可能性を高めている。また、このことが改ざんに対する抑止力となっている。
なお、本例では、フィスカルプリンター１６が記憶するフィスカルデータは、書込レシートデータ５４、及び、日計売上データ５３の２種類であるが、３種類以上のフィスカルデータを記憶する構成であってもよいことは勿論である。この場合、フィスカルデータの種類ごとに、デジタル署名生成用の秘密鍵が生成されることとなるため、秘密鍵に係るデータのサイズは、非常に大きくなる場合がある。
また、暗号用ＩＣチップ８１は、秘密鍵、公開鍵を生成する処理を実行する専用の回路、専用のプログラムが組み込まれたチップである。従って、当該処理について非常に高速に実行できる。
２つの鍵ペアの生成が完了すると、ＩＣチップ処理部８５は、その旨、暗号用ＩＣチップ制御部８２に通知する（ステップＳＢ４）。
【００２６】
当該通知を受けると、暗号用ＩＣチップ制御部８２は、生成した鍵のうち、秘密鍵（ＥＪデジタル署名用秘密鍵ＫＡ１、及び、フィスカルデジタル署名用秘密鍵ＫＡ２）については、ＩＣチップ記憶部８６に記憶させ、一方、公開鍵（公開鍵ＫＢ１、及び、公開鍵ＫＢ２については、）については、ＩＣチップ記憶部８６に記憶させることなく送信させる旨の制御コマンドを生成し、ＩＣチップ処理部８５に出力する（ステップＳＡ６）。この制御コマンドには、認証用パスワードＰＷが含まれている。
当該制御コマンドが入力されると、ＩＣチップ処理部８５は、当該制御コマンドの認証を行った上で（ステップＳＢ５）、当該制御コマンドに基づいて、ＥＪデジタル署名用秘密鍵ＫＡ１、及び、フィスカルデジタル署名用秘密鍵ＫＡ２をＩＣチップ記憶部８６に記憶する（ステップＳＢ６）。なお、ＩＣチップ記憶部８６は、物理的、ソフトウェア的な不正な手段によってデータにアクセスされることが防止される構成、構造となっている。さらに、ＩＣチップ処理部８５は、公開鍵ＫＢ１、及び、公開鍵ＫＢ２を暗号用ＩＣチップ制御部８２に出力する（ステップＳＢ７）。
公開鍵ＫＢ１、及び、公開鍵ＫＢ２を取得すると、暗号用ＩＣチップ制御部８２は、これら公開鍵を、第２ＳＲＡＭ８３に記憶する（ステップＳＡ７）。
このように、本実施形態では、暗号用ＩＣチップ８１の機能により生成された秘密鍵、及び、公開鍵のうち、秘密鍵を、暗号用ＩＣチップ８１（チップ）に実装されたＩＣチップ記憶部８６（第１のメモリー）に記憶する一方、公開鍵（データの暗号化に利用する鍵に係るデータ以外のデータ）を、第２ＳＲＡＭ８３に記憶する。これにより、生成された公開鍵、換言すれば、データの暗号化に利用しない鍵については、ＩＣチップ記憶部８６とは異なる第２ＳＲＡＭ８３に記憶されるため、ＩＣチップ記憶部８６に公開鍵を記憶したことに起因した容量不足により、ＩＣチップ記憶部８６に秘密鍵を記憶できないといった事態が生じることを防止でき、効率のよい暗号化を実現できる。特に、本実施形態では、フィスカルデータの種類ごとに秘密鍵、及び、公開鍵が生成されるが、フィスカルデータの種類が多く、従って、秘密鍵に係るデータ、及び、公開鍵に係るデータのサイズが大きい場合であっても、ＩＣチップ記憶部８６に秘密鍵を記憶できないといった事態が生じることを防止でき、効率のよい暗号化を実現できる。
【００２７】
次に、不正検出部３５、及び、関連する部材の機能について説明する。
不正検出部３５は、第三者によるフィスカルメモリー５０に対する不正のアクセスを検出する機能ブロックである。
当該不正検出部３５は、物理的なアクセス、ソフトウェア的なアクセスにかかわらず、不正なアクセスを所定の手段によって検出する。以下、具体例を挙げて不正検出部３５の機能を説明する。
例えば、不正検出部３５は、フィスカルプリンター１６のカバー、その他の部品、装置が不正の手段により取り外された場合に、その旨の信号が入力される構成となっており、当該信号の入力により、不正のアクセスを検出する。
また例えば、不正検出部３５は、ＰＣコネクター２６ａや、フィスカルコネクター２６ｂ、通信モジュール３７を介して入力されるデータを監視し、不正なデータの入力があれば、不正のアクセスがあったものと判別する。
また例えば、不正検出部３５には、傾きセンサーや、振動センサー等が接続され、フィスカルプリンター１６の設置後、所定の閾値以上の傾きが検出された場合や、所定の閾値以上の振動が検出された場合に、不正のアクセスを検出する。
また例えば、不正検出部３５には、ＧＰＳセンサーが搭載され、フィスカルプリンター１６が所定の範囲を超えて移動した場合に、不正のアクセスを検出する。
以上、具体例を挙げて不正検出部３５の構成を説明したが、当該構成はこれに限らず、既存の全ての不正を検出する手段を適用可能である。
【００２８】
不正検出部３５により不正なアクセスが検出された場合、その旨の信号が、不正検出部３５から暗号用ＩＣチップ制御部８２に出力される構成となっている。
不正を検出した旨の信号が入力されると暗号用ＩＣチップ制御部８２は、以下の処理を行う。すなわち、暗号用ＩＣチップ制御部８２は、第２ＳＲＡＭ８３にアクセスし、認証用パスワードＰＷが記憶された記憶領域を、他のデータ（ＮＵＬＬデータであってもよく、他の意味をなさないデータであってもよい。）によって上書きし、認証用パスワードＰＷを無効化する。
このように、本実施形態では、フィスカルプリンター１６に対する不正なアクセスが検出された場合、第２ＳＲＡＭ８３に記憶された認証用パスワードＰＷが無効化される。これにより、以下の効果を奏する。
すなわち、第２ＳＲＡＭ８３に記憶された認証用パスワードＰＷが無効化されると、暗号用ＩＣチップ制御部８２が出力した制御コマンドについて、ＩＣチップ処理部８５における認証が成功しない状態となる。これにより、暗号用ＩＣチップ制御部８２から制御コマンドを出力して、ＩＣチップ処理部８５に何らかの処理を実行させることが不可能となる。このため、第三者が不正の目的を持って、ＩＣチップ処理部８５に制御コマンドを出力して、秘密鍵を出力させたり、秘密鍵を改変したりすることが不可能となる。つまり、ＩＣチップ記憶部８６に記憶されたデータに対する第三者による不正なアクセスが防止される。
なお、認証用パスワードＰＷを無効化する手段としては、認証用パスワードＰＷを上書きする手段のみならず、例えば、不正検出部３５により不正が検出された場合、揮発性メモリーたる第２ＳＲＡＭ８３に対する電力の供給を遮断して、認証用パスワードＰＷを消去する手段であってもよい。
【００２９】
以上説明したように、本実施形態に係るフィスカルプリンター１６は、データの暗号化に利用する鍵を生成する機能、及び、入力されたデータを暗号化する機能を少なくとも有し、ＩＣチップ記憶部８６（第１のメモリー）が実装された暗号用ＩＣチップ８１（チップ）と、暗号用ＩＣチップ８１の機能により生成された鍵をＩＣチップ記憶部８６に記憶する一方、鍵に係るデータ以外のデータの少なくとも一部を、ＩＣチップ記憶部８６と異なる第２ＳＲＡＭ８３（第２のメモリー）に記憶する暗号用ＩＣチップ制御部８２（制御部）と、を備える。
この構成によれば、入力されたデータを暗号化する機能を有する専用のチップにより、各種データの高速な暗号化を実現できる。さらに、暗号化に利用する鍵については、ＩＣチップ記憶部８６に記憶する一方、暗号化に利用する鍵に係るデータ以外のデータの少なくとも一部については、ＩＣチップ記憶部８６とは異なる第２ＳＲＡＭ８３に記憶されるため、ＩＣチップ記憶部８６の容量不足により、鍵に係るデータがＩＣチップ記憶部８６に記憶できないといった事態が生じることを抑制でき、効率のよい暗号化を実現できる。
【００３０】
また、本実施形態では、暗号用ＩＣチップ８１は、データの暗号化に利用する鍵を生成する機能として、公開鍵暗号方式に係る秘密鍵及び公開鍵を生成する機能を有している。そして、メイン制御部２５は、暗号用ＩＣチップ８１の機能により生成された秘密鍵をＩＣチップ記憶部８６に記憶する一方、当該チップの機能により生成された公開鍵を第２ＳＲＡＭ８３に記憶する。
この構成によれば、チップは、公開鍵暗号方式に係る秘密鍵及び公開鍵を生成する機能を有している。そして、当該機能により生成された公開鍵、換言すれば、データの暗号化に利用しない鍵については、ＩＣチップ記憶部８６とは異なる第２ＳＲＡＭ８３に記憶されるため、ＩＣチップ記憶部８６に公開鍵を記憶したことに起因した容量不足により、ＩＣチップ記憶部８６に秘密鍵を記憶できないといった事態が生じることを防止でき、効率のよい暗号化を実現できる。
【００３１】
また、本実施形態に係るフィスカルプリンター１６は、異なる種類のフィスカルデータを記憶し、暗号用ＩＣチップ８１により、フィスカルデータの種類ごとに、秘密鍵及び公開鍵の鍵ペアを生成する。
この構成によれば、異なるフィスカルデータのそれぞれに秘密鍵を生成し、秘密鍵が複数存在し、従って、秘密鍵に係るデータ、及び、公開鍵に係るデータのサイズが大きい場合であっても、公開鍵はＩＣチップ記憶部８６に記憶されないため、ＩＣチップ記憶部８６に公開鍵を記憶したことに起因した容量不足により、ＩＣチップ記憶部８６に秘密鍵を記憶できないといった事態が生じることを防止でき、効率のよい暗号化を実現できる。
【００３２】
また、本実施形態に係るフィスカルプリンター１６は、入力されたデータを暗号化する機能を少なくとも有し、ＩＣチップ記憶部８６が実装された暗号用ＩＣチップ８１と、暗号用ＩＣチップ８１に制御コマンドを出力して、当該チップに処理を実行させる暗号用ＩＣチップ制御部８２（制御部）と、を備えている。そして、フィスカルプリンター１６は、ＩＣチップ記憶部８６に認証用パスワードＰＷを記憶すると共に、暗号用ＩＣチップ制御部８２がアクセス可能な第２ＳＲＡＭ８３に共通の認証用パスワードＰＷを記憶する。さらに、暗号用ＩＣチップ制御部８２は、認証用パスワードＰＷを含む制御コマンドを暗号用ＩＣチップ８１に出力し、暗号用ＩＣチップ８１は、制御コマンドに含まれる認証用パスワードＰＷ、及び、ＩＣチップ記憶部８６に記憶された認証用パスワードＰＷに基づいて、制御コマンドの認証を行う機能を有する。
この構成によれば、入力されたデータを暗号化する機能を有する専用のチップにより、各種データの高速な暗号化を実現できる。さらに、暗号用ＩＣチップ８１は、暗号用ＩＣチップ制御部８２から入力された制御コマンドに含まれるパスワード、及び、実装されたＩＣチップ記憶部８６に記憶されたパスワードに基づいて、制御コマンドの認証を行うため、例えば、チップが第三者によって取り外された後、当該第三者により不正なアクセスがあった場合であっても、そのことを検出でき、かつ、対応する適切な処理、例えば、データを利用不可能とする処理等を実行することが可能である。
【００３３】
また、本実施形態に係るフィスカルプリンター１６は、不正なアクセスを検出する不正検出部３５をさらに備えており、不正検出部３５により不正が検出された場合、第２ＳＲＡＭ８３に記憶された認証用パスワードＰＷを無効化する。
この構成によれば、不正なアクセスがあった場合、第２ＳＲＡＭ８３に記憶された認証用パスワードＰＷが無効化され、暗号用ＩＣチップ制御部８２による制御コマンドによって暗号用ＩＣチップ８１を制御できなくなるため、不正な手段によって当該チップが不正な処理を実行してしまうことを防止できる。
【００３４】
また、本実施形態では、不正検出部３５により不正が検出された場合、第２ＳＲＡＭ８３に記憶された認証用パスワードＰＷを上書きし、また、揮発性メモリーにより構成された第２ＳＲＡＭ８３に供給される電力を遮断することにより、第２ＳＲＡＭ８３に記憶された認証用パスワードＰＷを無効化する。
この構成によれば、第２ＳＲＡＭ８３に記憶されたパスワードを的確に無効化できる。
【００３５】
また、本実施形態では、暗号用ＩＣチップ８１は、公開鍵暗号方式に係る秘密鍵及び公開鍵を生成する機能を有し、当該機能により生成された前記秘密鍵をＩＣチップ記憶部８６に記憶する。
この構成によれば、暗号用ＩＣチップ８１は、暗号用ＩＣチップ制御部８２から入力された制御コマンドに含まれる認証用パスワードＰＷ、及び、実装されたＩＣチップ記憶部８６に記憶された認証用パスワードＰＷに基づいて、制御コマンドの認証を行うため、不正な制御コマンドにより、秘密鍵が取得されることを防止できる。
【００３６】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、本実施形態では、暗号用ＩＣチップ制御部８２が、暗号用ＩＣチップ８１の機能により生成された秘密鍵をＩＣチップ記憶部８６に記憶する一方、鍵に係るデータ以外のデータの少なくとも一部（公開鍵）を、第２ＳＲＡＭ８３に記憶する処理を行っていた。しかしながら、当該処理を、ＩＣチップ処理部８５が行ってもよく、メイン制御部２５が行ってもよく、また、各機能ブロックが協働して行ってもよい。この場合、処理を行う主体、又は、主体の組合せが「制御部」として機能する。
例えば、上述した実施形態では、フィスカル情報（フィスカルデータ）として、書込レシートデータ５４と、フィスカル書込日時データ５２とを例示したが、フィスカル情報がこれらデータに限られないことは言うまでもない。また例えば、図１に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、各機能ブロックの機能を、外部接続される別の装置に持たせるようにしてもよく、また、説明した各種動作について、外部接続される記憶媒体に記憶させたプログラムを実行することにより、実行するようにしてもよい。
【符号の説明】
【００３７】
１…情報処理システム、１５…ホストコンピューター、１６…フィスカルプリンター（情報処理装置）、２５…メイン制御部（制御部）、３５…不正検出部、５３…日計売上データ（フィスカルデータ）、５４…書込レシートデータ（フィスカルデータ）、８０…暗号化モジュール、８１…暗号用ＩＣチップ（チップ）、８２…暗号用ＩＣチップ制御部（制御部）、８３…第２ＳＲＡＭ（第２のメモリー）、８５…ＩＣチップ処理部（制御部）、８６…ＩＣチップ記憶部（第１のメモリー）。
【図１】
2014102534.tif 000003
【図２】
2014102534.tif 000004