説明

フィスカルプリンター

【課題】書き込み速度を低下させることなく、フィスカルメモリーに書き込まれたフィスカル情報の改竄の有無を検出できるフィスカルプリンターを提案すること。
【解決手段】フィスカル情報が書き込まれるフィスカルメモリーモジュール41は、第1メモリー411、フィスカル制御用CPU42、第2メモリー413を有する。フィスカル制御用CPU42によってフィスカル情報が第1メモリー411に書き込まれる際に、フィスカル制御用CPU42はフィスカル情報に対応する第1ハッシュ値を第2メモリー413に書き込む。第1メモリー411からフィスカル情報を読み出す際には、フィスカル制御用CPU42はフィスカル制御用CPU42を介して第2メモリー413から第1ハッシュ値を読み出し、第1ハッシュ値と、第1メモリー411から読み出したフィスカル情報から算出した第2ハッシュ値を比較して、フィスカル情報の改竄を検出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レシート等の印刷と共に販売取引に関するフィスカル情報をフィスカルメモリーに記憶保持する機能を備えたフィスカルプリンターに関する。
【背景技術】
【0002】
フィスカルプリンターはPOSシステムなどにおいてキャッシュレジスターのプリンターとして用いられており、レシート等を印刷すると共に、商品等の販売取引に関する販売取引に関する売上金額や課税額等の決済情報(フィスカル情報)を記憶保持する機能を備えている。特許文献1に記載のフィスカルプリンターは、フィスカル情報を記憶保持するためのフィスカルメモリーを搭載している。
【0003】
フィスカルプリンターが記憶するべきフィスカル情報は各国の法律で定められており、フィスカルメモリーに記憶保持されたフィスカル情報は税務監査用データなどとして用いられる。従って、フィスカルメモリーとしては、一旦書き込まれたフィスカル情報の消去や書き換えが行われていないことを保障するために、OTP−ROM(One Time Programmable Read Only Memory)が用いられている。
【0004】
近年、OTP−ROMは需要の低下によって入手が困難な状態となっているので、書き換え可能な不揮発性メモリーによってOTP−ROMを代替することができれば製品生産上非常に有効である。しかし、書き換え可能な不揮発性メモリーをフィスカルメモリーとして用いる場合には、フィスカルメモリーに記憶保持したフィスカル情報の消去や書き換えといった改竄が容易となるので、改竄を防止する措置を講ずるか、或いは、改竄が行われた場合にその改竄を検出可能としておくことによって改竄を抑止することが必要となる。
【0005】
ここで、情報の改竄を防止する技術としては、特許文献2に記載されているように、暗号鍵を用いて情報を暗号化するものが知られている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−276593号公報
【特許文献2】特開2003−69551号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、フィスカル情報を暗号化して改竄を防止する技術では、暗号鍵が不正に利用された場合に、改竄を防止できないという問題がある。また、暗号鍵の不正使用による改竄が行われた場合には、その改竄を検出することができないので、改竄されたフィスカル情報が税務監査用データなどとして用いられてしまうという問題がある。さらに、フィスカル情報の暗号化に際してフィスカルプリンターの制御部の負荷が増加するので、不揮発性メモリーに対するフィスカル情報の書き込み速度が低下するという問題がある。
【0008】
そこで、改竄が行われた場合にその改竄を検出可能とすることによって改竄を抑止することが考えられるが、不揮発性メモリーに対する書き込み速度を低下させることなく、書き換え可能な不揮発性メモリーに書き込まれたフィスカル情報の改竄の有無を検出することができるフィスカルプリンターは提案されていない。
【0009】
本発明の課題は、この点に鑑みて、不揮発性メモリーに対する書き込み速度を低下させることなく、不揮発性メモリーに書き込まれたフィスカル情報の改竄の有無を検出することができるフィスカルプリンターを提供することにある。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、本発明のフィスカルプリンターは、
フィスカル情報を記憶保持するためのフィスカルメモリーモジュールと、
前記フィスカルメモリーモジュールに対して前記フィスカル情報の書き込みおよび読み出しを行なう制御部とを有し、
前記フィスカルメモリーモジュールは、
前記制御部によって前記フィスカル情報の書き込みおよび読み出しが行われる不揮発性の第1メモリーと、
前記制御部による前記第1メモリーへの書き込みを監視しているメモリー制御部と、
前記第1メモリーよりも容量が小さく前記メモリー制御部によって書き込みおよび読み出しが行われる不揮発性の第2メモリーとを備え、
前記メモリー制御部は、前記フィスカル情報が前記第1メモリーに書き込まれる際に、当該フィスカル情報に対応する第1ハッシュ値を所定のハッシュ関数を用いて算出して前記第2メモリーに書き込み、
前記制御部は、
前記第1メモリーから前記フィスカル情報を読み出す際に、前記メモリー制御部を介して前記第2メモリーから前記第1ハッシュ値を読み出すハッシュ値取得部と、
前記第1メモリーから読み出した前記フィスカル情報に対応する第2ハッシュ値を前記ハッシュ関数を用いて算出するハッシュ値算出部と、
前記第2ハッシュ値と前記第1ハッシュ値とに基づいて前記第1メモリーから読み出した前記フィスカル情報が改竄されているか否かを判定する改竄判定部とを備えていることを特徴とする。
【0011】
本発明によれば、フィスカル情報に改竄がない場合には、第1メモリーへの書き込み時にメモリー制御部によって第2メモリーへ書き込まれた第1ハッシュ値と、第1メモリーから読み出したフィスカル情報から制御部が算出した第2ハッシュ値とで、同じ値を得ることができる。従って、第1ハッシュ値と第2ハッシュ値に基づいて、第1メモリーに記憶保持されていたフィスカル情報の改竄の有無を判別できる。よって、改竄されたフィスカル情報がそのまま税務監査用データなどに用いられてしまうことを防止できる。また、制御部は、フィスカル情報を暗号化する必要がなく、直接、第1メモリーに書き込んでいるので、第1メモリーに対する書き込み速度が低下することがない。
【0012】
本発明において、前記メモリー制御部は、前記第2メモリーに対する消去および上書きを禁止していることが望ましい。このようにすれば、第1ハッシュ値が書き換えられることを回避することができる。
【0013】
本発明において、前記第1メモリーは、複数のメモリー領域に区画されており、前記メモリー制御部は、前記メモリー領域毎に当該メモリー領域に書き込まれる情報に対応するハッシュ値を算出し、このハッシュ値を当該メモリー領域と対応付けた形態で前記第1ハッシュ値として前記第2メモリーに書き込み、前記ハッシュ値取得部は、読み出しが行われる前記メモリー領域に対応付けられた前記第1ハッシュ値を取得し、前記ハッシュ値算出部は、前記メモリー領域毎に当該メモリー領域から読み出した情報に対応する第2ハッシュ値を算出することが望ましい。このようにすれば、フィスカル情報全体に対応するハッシュ値を算出する場合と比較して、第1ハッシュ値を算出する際にメモリー制御部にかかる負荷が分散する。また、制御部によるフィスカル情報の第1メモリーに対する書き込みと並行して、メモリー制御部による第1ハッシュ値の算出および第1ハッシュ値の第2メモリーへの書き込みを行うことができる。従って、不揮発性メモリーに対する書き込み速度を低下させることがない。
【0014】
本発明において、前記フィスカルメモリーモジュールは、前記第1メモリー、前記メモリー制御部および前記第2メモリーを搭載している基板を備えており、少なくとも、前記メモリー制御部、前記第2メモリーおよび前記メモリー制御部と前記第2メモリーを電気的に接続している配線が前記基板上で樹脂により封止されていることが望ましい。このようにすれば、外部から第2メモリーに直接アクセスすることによって第2メモリーに書き込まれている第1ハッシュ値が書き換えられることを回避できる。
【0015】
本発明において、前記第1メモリーは、書き換え可能な不揮発性メモリーであることが望ましい。このようにすれば、広く流通しているフラッシュメモリーなどを利用してフィスカルメモリーモジュールを構成することができる。
【発明の効果】
【0016】
本発明によれば、フィスカル情報に改竄がない場合には、第1メモリーへの書き込み時にメモリー制御部によって第2メモリーへ書き込まれた第1ハッシュ値と、第1メモリーから読み出したフィスカル情報から制御部が算出した第2ハッシュ値とで、同じ値を得ることができる。従って、第1ハッシュ値と第2ハッシュ値に基づいて、第1メモリーに記憶保持されていたフィスカル情報の改竄の有無を判別できる。よって、改竄されたフィスカル情報がそのまま税務監査用データなどに用いられてしまうことを防止できる。また、制御部は、フィスカル情報を暗号化する必要がなく、直接、第1メモリーに書き込んでいるので、第1メモリーに対する書き込み速度が低下することがない。
【図面の簡単な説明】
【0017】
【図1】フィスカルプリンターの制御系の主要部分を示す概略ブロック図である。
【図2】第1、第2メモリーのメモリー領域を説明するための説明図である。
【発明を実施するための形態】
【0018】
以下に、図面を参照して、本発明を適用したフィスカルプリンターの実施の形態を説明する。
【0019】
図1は本実施の形態に係るフィスカルプリンターの制御系の主要部分を示す概略ブロック図である。フィスカルプリンター1は、POSシステムのホスト側のコンピューター2に接続して用いられ、コンピューター2の側から供給される販売取引に関する印刷情報を印刷してレシートとして発行する。また、決済処理の度に、コンピューター2の側から供給される販売取引に関するフィスカル情報を記憶保持する機能を備えている。
【0020】
フィスカルプリンター1は、プリンター制御回路基板3およびフィスカル制御回路基板4を備えている。プリンター制御回路基板3には、印刷動作を行うために、一般のプリンターと同様なプリンター制御機能を備えたプリンター制御用CPU31および印刷制御用のファームウェア等が記憶されている書き替え可能な不揮発性メモリーであるフラッシュメモリー32が搭載されている。
【0021】
フィスカル制御回路基板4には、フィスカル情報を記憶保持するためのフィスカルメモリーモジュール41と、フィスカルメモリーモジュール41に対するフィスカル情報の書き込みおよび読み出しを行なうフィスカル制御用(制御部)CPU42が搭載されている。フィスカル制御用CPU42には、フィスカル制御用CPU42の演算処理に用いられるRAM43が接続されている。
【0022】
フィスカルメモリーモジュール41は、フィスカル制御用CPU42によってフィスカル情報が書き込まれる第1メモリー411と、フィスカル制御用CPU42による第1メモリー411への書き込みを監視しているメモリー制御用CPU(メモリー制御部)412と、メモリー制御用CPU412によって書き込みおよび読み出しが行われる第2メモリー413を搭載している。
【0023】
第1メモリー411および第2メモリー413は、いずれもフラッシュメモリーなどの書き換え可能な不揮発性メモリーであり、第2メモリー413は第1メモリー411よりも容量が小さい。メモリー制御用CPU412は、フィスカル制御用CPU42によってフィスカル情報が第1メモリー411に書き込まれる際に、このフィスカル情報に対応する第1ハッシュ値を算出して第2メモリー413に書き込む。メモリー制御用CPU412は第2メモリー413に対する消去および上書きを禁止しており、第2メモリー413に書き込まれた第1ハッシュ値が書き換えられることを防止している。
【0024】
ここで、メモリー制御用CPU412、第2メモリー413およびメモリー制御用CPU412と第2メモリー413を電気的に接続している配線は、図1に2点鎖線で示すように、フィスカル制御回路基板4上においてエポキシ樹脂などで封止されている。この封止により、外部から第2メモリー413に直接アクセスすることによって第2メモリー413に書き込まれている第1ハッシュ値が書き換えられることが防止されている。
【0025】
フィスカル制御用CPU42は、ホスト側のコンピューター2との間で情報の送受信を行うためのインターフェース機能およびプリンター制御用CPU31との間で情報の送受信を行うためのインターフェース機能を備えている。また、第1メモリー411からフィスカル情報を読み出す際に、メモリー制御用CPU412を介して第2メモリー413から第1ハッシュ値を取得するハッシュ値取得部421と、第1メモリー411から読み出したフィスカル情報に対応する第2ハッシュ値を算出するハッシュ値算出部422と、第2ハッシュ値と第1ハッシュ値とに基づいて第1メモリー411から読み出したフィスカル情報が改竄されているか否かを判定する改竄判定部423を備えている。
【0026】
次に、フィスカル制御回路基板4には、レシート内容を記憶保持するためのEJ(電子ジャーナル)メモリー44およびEJメモリー制御用CPU45が搭載されている。EJメモリー制御用CPU45はフィスカル制御用CPU42との間で通信を行い、フィスカルプリンター1によるレシート発行毎に、レシート内容に関するテキスト情報を受け取り、受け取った情報をEJメモリー44に記憶保持する。
【0027】
ここで、フィスカル制御回路基板4は、プリンター本体から取り外し可能な状態に取り付けられており、プリンター制御回路基板3に対しては着脱可能なコネクター45を介して電気的に接続されている。コネクター46は、プリンター制御回路基板3に搭載されているプリンター側コネクター端子部33と、フィスカル制御回路基板4に搭載されているフィスカル側コネクター端子部461とを備え、これらが取り外し可能な状態で接続されている。従って、正当な権限のある担当者が、フィスカルプリンター1からフィスカル制御回路基板4を取り外し、そこに搭載されているフィスカルメモリーモジュール41の記憶データを取得することが可能である。
【0028】
(フィスカル情報の書き込みおよび読み出し)
フィスカル制御用CPU42がフィスカルメモリーモジュール41の第1メモリー411にフィスカル情報を書き込む場合には(ステップST1)、この書き込みを監視しているメモリー制御用CPU412が、書き込まれるフィスカル情報に対応する第1ハッシュ値を算出して第2メモリー413に書き込む(ステップST2)。
【0029】
より詳細には、第1メモリー411は、図2(a)に示すように、複数のメモリー領域に区画されており、メモリー制御用CPU412はメモリー領域411a、411b・・毎に当該メモリー領域411a、411b・・に書き込まれる情報に対応する第1ハッシュ値を算出し、このハッシュ値を当該メモリー領域411a、411b・・と対応づけた形態で第2メモリー413に書き込む。
【0030】
本例では、ハッシュ関数としてSHA−1を使用しており、メモリー制御用CPU412によって算出される各メモリー領域411a、411b・・の情報に対応する第1ハッシュ値は20バイトの固定長となる。また、第1メモリー411の各メモリー領域411a、411b・・の情報に対応する第1ハッシュ値は、図2(b)に示すように、第1メモリー411の各メモリー領域411a、411b・・と対応づけて区画されている第2メモリー413の各メモリー領域413a、413b・・に書き込まれることにより、第1メモリー411の各メモリー領域411a、411b・・と対応付けられる。従って、第2メモリー413の容量を第1メモリー411の容量に応じて決定することが可能であり、第2メモリー413として必要最小限の容量を備える不揮発性メモリーを用いることができる。
【0031】
ここで、メモリー制御用CPU412は、メモリー領域411a、411b・・毎に当該メモリー領域411a、411b・・に書き込まれる情報に対応する第1ハッシュ値を算出しているので、フィスカル情報全体に対応するハッシュ値を算出する場合と比較して、フィスカル制御用CPU42にかかる負荷が分散する。また、メモリー制御用CPU412による第2ハッシュ値の算出および第2ハッシュ値の第2メモリー413への書き込みは、フィスカル制御用CPU42によるフィスカル情報の第1メモリー411への書き込みと並行して行うことができる。さらに、フィスカル制御用CPU42は、フィスカル情報を暗号化する必要がなく、直接、第1メモリー411に書き込んでいる。従って、フィスカル制御用CPU42による第1メモリー411へのフィスカル情報の書き込み速度は低下しない。
【0032】
次に、フィスカル制御用CPU42が第1メモリー411に記憶保持されているフィスカル情報を読み出す際には(ステップST3)、ハッシュ値取得部421がフィスカル情報の読み出しが行われる第1メモリー411のメモリー領域411a、411b・・に対応付けられた第1ハッシュ値を、メモリー制御用CPU412を介して、第2メモリー413から取得する(ステップST4)。また、ハッシュ値算出部422が第1メモリー411のメモリー領域411a、411b・・毎に、当該メモリー領域411a、411b・・から読み出した情報に対応する第2ハッシュ値を、第1ハッシュ値を求める際に利用したハッシュ関数と同一のハッシュ関数を用いて算出し、しかる後に、改竄判定部423は第1ハッシュ値と第2ハッシュ値とに基づいて第1メモリー411から読み出したフィスカル情報が改竄されているか否かを判定する(ステップST5)。
【0033】
すなわち、フィスカル情報に改竄がない場合には、第1メモリー411への書き込み時にメモリー制御用CPU412によって第2メモリー413へ書き込まれた第1ハッシュ値と、第1メモリー411から読み出したフィスカル情報からフィスカル制御用CPU42が算出した第2ハッシュ値とで、同じ値を得ることができる。一方、フィスカル情報に改竄がある場合には、第1ハッシュ値と第2ハッシュ値とが異なる。従って、第1ハッシュ値と第2ハッシュ値に基づいて、第1メモリー411に記憶保持されていたフィスカル情報の改竄の有無を判別できる。よって、改竄されたフィスカル情報がそのまま税務監査用データなどに用いられてしまうことを防止できる。
【0034】
(その他の実施の形態)
なお、上記の例では、第1メモリー411および第2メモリー413は、いずれもフラッシュメモリーなどの書き換え可能な不揮発性メモリーであるが、容量の小さい第2メモリー413については、OTP−ROMなどの書き換え不可能な不揮発性メモリーを用いてもよい。このようにすれば、第2メモリー413へ書き込まれた第1ハッシュ値が外部からのアクセスによって改竄されてしまうことを、より確実に、防止できる。
【0035】
また、フィスカル制御用CPU42がフィスカルメモリーモジュール41に対する読み書きを行う権限を備えているか否かを、フィスカルメモリーモジュール41の側から判断するために、フィスカル制御用CPU42がフィスカルメモリーモジュール41に書き込むフィスカル情報にデジタルシグネチャーを付加するようにしてもよい。この場合には、メモリー制御用CPU412がデジタルシグネチャーに基づいてフィスカル制御用CPU42が読み書きを行う権限を備えているか否かを認証すればよい。
【符号の説明】
【0036】
1・フィスカルプリンター、2・コンピューター、3・プリンター制御回路基板、4・フィスカル制御回路基板、31・プリンター制御用CPU、32・フラッシュメモリー、33・プリンター側コネクター端子部、41・フィスカルメモリーモジュール、42・フィスカル制御用CPU(制御部)、43・RAM、44・EJメモリー、45・EJメモリー制御用CPU、46・コネクター、411・第1メモリー、411a・411b・第1メモリーのメモリー領域、412・メモリー制御用CPU(メモリー制御部)、413・第2メモリー、413a・413b・第2メモリーのメモリー領域、421・ハッシュ値取得部、422・ハッシュ値算出部、423・改竄判定部、461・フィスカル側コネクター端子部

【特許請求の範囲】
【請求項1】
フィスカル情報を記憶保持するためのフィスカルメモリーモジュールと、
前記フィスカルメモリーモジュールに対して前記フィスカル情報の書き込みおよび読み出しを行なう制御部とを有し、
前記フィスカルメモリーモジュールは、
前記制御部によって前記フィスカル情報の書き込みおよび読み出しが行われる不揮発性の第1メモリーと、
前記制御部による前記第1メモリーへの書き込みを監視しているメモリー制御部と、
前記第1メモリーよりも容量が小さく前記メモリー制御部によって書き込みおよび読み出しが行われる不揮発性の第2メモリーとを備え、
前記メモリー制御部は、前記フィスカル情報が前記第1メモリーに書き込まれる際に、当該フィスカル情報に対応する第1ハッシュ値を所定のハッシュ関数を用いて算出して前記第2メモリーに書き込み、
前記制御部は、
前記第1メモリーから前記フィスカル情報を読み出す際に、前記メモリー制御部を介して前記第2メモリーから前記第1ハッシュ値を読み出すハッシュ値取得部と、
前記第1メモリーから読み出した前記フィスカル情報に対応する第2ハッシュ値を前記ハッシュ関数を用いて算出するハッシュ値算出部と、
前記第2ハッシュ値と前記第1ハッシュ値とに基づいて前記第1メモリーから読み出した前記フィスカル情報が改竄されているか否かを判定する改竄判定部とを備えていることを特徴とするフィスカルプリンター。
【請求項2】
請求項1において、
前記メモリー制御部は、前記第2メモリーに対する消去および上書きを禁止していることを特徴とするフィスカルプリンター。
【請求項3】
請求項1または2において、
前記第1メモリーは、複数のメモリー領域に区画されており、
前記メモリー制御部は、前記メモリー領域毎に当該メモリー領域に書き込まれる情報に対応するハッシュ値を算出し、このハッシュ値を当該メモリー領域と対応付けた形態で前記第1ハッシュ値として前記第2メモリーに書き込み、
前記ハッシュ値取得部は、読み出しが行われる前記メモリー領域に対応付けられた前記第1ハッシュ値を取得し、
前記ハッシュ値算出部は、前記メモリー領域毎に当該メモリー領域から読み出した情報に対応する第2ハッシュ値を算出することを特徴とするフィスカルプリンター。
【請求項4】
請求項1ないし3のうちのいずれかの項において、
前記フィスカルメモリーモジュールは、前記第1メモリー、前記メモリー制御部および前記第2メモリーを搭載している基板を備えており、
少なくとも、前記メモリー制御部、前記第2メモリーおよび前記メモリー制御部と前記第2メモリーを電気的に接続している配線が前記基板上で樹脂により封止されていることを特徴とするフィスカルプリンター。
【請求項5】
請求項1ないし4のうちのいずれかの項において、
前記第1メモリーは、書き換え可能な不揮発性メモリーであることを特徴とするフィスカルプリンター。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2012−103940(P2012−103940A)
【公開日】平成24年5月31日(2012.5.31)
【国際特許分類】
【出願番号】特願2010−252562(P2010−252562)
【出願日】平成22年11月11日(2010.11.11)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】