JP4893411B2 - 端末装置及びプログラム - Google Patents

端末装置及びプログラム Download PDF

Info

Publication number
JP4893411B2
JP4893411B2 JP2007084113A JP2007084113A JP4893411B2 JP 4893411 B2 JP4893411 B2 JP 4893411B2 JP 2007084113 A JP2007084113 A JP 2007084113A JP 2007084113 A JP2007084113 A JP 2007084113A JP 4893411 B2 JP4893411 B2 JP 4893411B2
Authority
JP
Japan
Prior art keywords
unit
boot
hash value
stored
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007084113A
Other languages
English (en)
Other versions
JP2008244992A (ja
Inventor
裕幸 横川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2007084113A priority Critical patent/JP4893411B2/ja
Publication of JP2008244992A publication Critical patent/JP2008244992A/ja
Application granted granted Critical
Publication of JP4893411B2 publication Critical patent/JP4893411B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、端末装置及びプログラムに関する。
従来、顧客との取引を行う端末が実施されている。端末としては、耐タンパモジュールを有する端末が考えられている(例えば、特許文献1参照)。耐タンパ性は、取引端末の筐体のこじ開けなどの不正アクセスから機密情報の漏洩を防止する能力である。耐タンパ性は、例えば、配線を樹脂で固めることで、配線からの信号盗聴を不可能にしたり、所定の検知手段により端末の筐体が開けられたことが検知されると、内部のフラッシュROM(Read Only Memory)やRAM(Random Access Memory)の内容を破壊する機能を付加することなどにより実現されている。
このため、不正な第三者に耐タンパモジュールが開けられても、その中の記録媒体に記録されたデータを盗まれることがない。耐タンパモジュールを有する端末としては、例えば、本体に耐タンパモジュールを合体させて使用していた。
また、ハッシュを用いて、プログラムの改ざんを検出する方法が考えられている(例えば、特許文献2参照)。
特開2003−16527号公報 特開2005−180966号公報
しかし、従来の耐タンパモジュールを有する端末では、耐タンパモジュール外のプログラムが改ざんや不正利用されるおそれがあった。また、プログラムの改ざん防止を強固にすることで、意図的か過失によるものかはともかく、容易な方法で誤用、転用、悪用を防止する要請がある。
プログラムの変更検出をするにあたり、モジュール間のインタフェース速度が遅いと、実用にならないという点がある。耐タンパモジュールとして、IC(Integrated Circuit)カード技術を応用したSAM(Secure Application Module)等のチップではインタフェースが低速のシリアルであり、せっかくの高度な耐タンパ機能が活きないおそれがあった。
本発明の課題は、耐タンパモジュール外のプログラムの変更を容易に検出することである。
請求項1に記載の発明の端末装置は、
予め設定されたブートプログラムを含むブート部のハッシュ値を記憶すると共に、予め設定された前記ブート部及び前記拡張部のハッシュ値を記憶する第1の記憶手段と、
入力されるブート部のハッシュ値を算出し、当該算出したブート部のハッシュ値と、前記記憶されたブート部のハッシュ値と、が一致するか否かを判別し、その判別結果を出力すると共に、前記算出したブート部のハッシュ値及び入力される拡張部のハッシュ値と、前記記憶されたブート部及び拡張部のハッシュ値と、が一致するか否かを判別し、その判別結果を出力する第1の制御手段と、を有する耐タンパモジュールと、
前記ブート部とそれ以外のデータ及びプログラムを含む拡張部とを記憶する第2の記憶手段と、
前記ブート部に記憶されたプログラムの実行により、前記第2の記憶手段に記憶されたブート部を前記第1の制御手段に入力してその判別結果を取得し、当該判別結果においてハッシュ値が一致する場合に、前記ブート部の使用を伴う端末装置の動作を許可に設定すると共に、前記ブート部に記憶されたプログラムの実行により、前記第2の記憶手段に記憶された拡張部のハッシュ値を算出し、当該算出した拡張部のハッシュ値と、前記第2の記憶手段に記憶されたブート部とを前記第1の制御手段に入力してその判別結果を取得し、当該判別結果においてハッシュ値が一致する場合に、前記記憶されたブート部及び拡張部の使用を伴う端末装置の動作を許可に設定する第2の制御手段と、
を備える。
請求項に記載の発明は、請求項に記載の端末装置において、
情報を出力する第1の出力手段を備え、
前記第2の記憶手段は、端末装置の所属に固有の出力データである第1の固定出力データを記憶し、
前記拡張部は、前記第1の固定出力データを含み、
前記第2の制御手段は、前記動作を許可に設定した後に、前記第1の出力手段に所定情報を出力する際に、前記記憶された第1の固定出力データを読み出して当該所定情報を当該第1の固定出力データとともに前記第1の出力手段に出力させる。
請求項に記載の発明は、請求項1または2に記載の端末装置において、
情報を出力する第2の出力手段を備え、
前記第1の記憶手段は、端末装置の所属に固有の出力データである第2の固定出力データを記憶し、
前記第2の制御手段は、前記動作を許可に設定した後に、前記第2の出力手段に所定情報を出力する際に、前記記憶された第2の固定出力データを読み出して当該所定情報を当該第2の固定出力データとともに前記第2の出力手段に出力させる。
請求項に記載の発明は、請求項1または2に記載の端末装置において、
情報を出力する第3の出力手段と、
端末装置の認証を行うとともに当該端末装置に固有の出力データである第3の固定出力データを提供する認証装置と通信する通信手段と、を備え、
前記第2の制御手段は、前記動作を許可に設定した後に、前記通信手段を介して認証要求を前記認証装置に送信し、当該認証装置から認証が許可される場合に、前記第3の固定出力データを前記認証装置から受信し、前記第3の出力手段に所定情報を出力する際に、当該所定情報を前記受信された第3の固定出力データとともに前記第3の出力手段に出力させる。
請求項に記載の発明のプログラムは、
コンピュータを、
予め設定されたブートプログラムを含むブート部のハッシュ値を記憶すると共に、予め設定された前記ブート部及び前記拡張部のハッシュ値を記憶する第1の記憶手段と、
入力されるブート部のハッシュ値を算出し、当該算出したブート部のハッシュ値と、前記記憶されたブート部のハッシュ値と、が一致するか否かを判別し、その判別結果を出力すると共に、前記算出したブート部のハッシュ値及び入力される拡張部のハッシュ値と、前記記憶されたブート部及び拡張部のハッシュ値と、が一致するか否かを判別し、その判別結果を出力する第1の制御手段と、を有する耐タンパモジュール、
前記ブート部とそれ以外のデータ及びプログラムを含む拡張部とを記憶する第2の記憶手段、
前記ブート部に記憶されたプログラムの実行により、前記第2の記憶手段に記憶されたブート部を前記第1の制御手段に入力してその判別結果を取得し、当該判別結果においてハッシュ値が一致する場合に、前記ブート部の使用を伴う端末装置の動作を許可に設定すると共に、前記ブート部に記憶されたプログラムの実行により、前記第2の記憶手段に記憶された拡張部のハッシュ値を算出し、当該算出した拡張部のハッシュ値と、前記第2の記憶手段に記憶されたブート部とを前記第1の制御手段に入力してその判別結果を取得し、当該判別結果においてハッシュ値が一致する場合に、前記記憶されたブート部及び拡張部の使用を伴う端末装置の動作を許可に設定する第2の制御手段、
として機能させる。
本発明によれば、耐タンパモジュール外のブート部であって、ブートプログラムを含むブート部の変更を容易に検出できる。
以下、添付図面を参照して本発明に係る好適な第1〜第4の実施の形態及び変形例を詳細に説明する。なお、本発明は、図示例に限定されるものではない。
(第1の実施の形態)
図1〜図9を参照して、本発明に係る第1の実施の形態を説明する。先ず、図1〜図5を参照して、本実施の形態の装置構成を説明する。図1に、本実施の形態の決済システム1の構成を示す。
図1に示すように、決済システム1は、センタサーバ10と、端末装置としての電子機器20と、を備えて構成される。センタサーバ10は、通信ネットワークNを介して電子機器20と通信接続されている。
決済システム1では、例えば、店舗等に電子機器20が設置され、カード会社等のセンタサーバ10に管理される。カード情報を有するカード情報を有するクレジットカード等のIC(Integrated Circuit)カードにより顧客が商品購入の決済をする場合に、電子機器20でICカードの情報を読み取りセンタサーバ10に送信する。センタサーバ10は、ICカードの認証後に決済処理を行う。
通信ネットワークNは、例えば、WAN(Wide Area Network)とするが、LAN(Local Area Network)等の通信ネットワークとしてもよく、電話回線、専用線、移動体通信網、通信衛星網、CATV(Cable Television)回線、インターネットプロバイダ等を含めてもよい。
次いで、センタサーバ10の内部構成を説明する。図2に、センタサーバ10の内部構成を示す。
図2に示すように、センタサーバ10は、CPU(Central Processing Unit)11と、入力部12と、RAM13と、表示部14と、記憶部15と、通信部16と、を備えて構成され、各部がバス17を介して接続される。
CPU11は、センタサーバ10の各部を中央制御する。CPU11は、記憶部15に記憶されているシステムプログラム及び各種アプリケーションプログラムの中から指定されたプログラムをRAM13に展開し、RAM13に展開されたプログラムとの協働で、各種処理を実行する。
CPU11は、第1の端末管理プログラムとの協働で、電子機器20の本体部30からID情報を受信して、ID情報が正当である場合に、認証OK信号を本体部30に送信する。また、CPU11は、本体部30から決済情報を受信して、決済情報に基づいて決済に関する信用確認処理等を行い、その決済の結果に応じた決済許可信号又は決済不許可信号を本体部30に送信する。
入力部12は、カーソルキー、文字、数字入力キー及び各種機能キーなどを備えたキーボードを含む構成とし、操作者により各キーが押下された操作信号をCPU11に出力する。また、入力部12は、マウス等のポインティングデバイスを含み、位置入力信号を受け付けてCPU11に送信することとしてもよい。
RAM13は、揮発性のメモリであり、実行される各種プログラムやこれら各種プログラムに係るデータ等を格納するワークエリアを有し、その情報を一時的に格納する。
表示部14は、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)等で構成され、CPU11からの表示信号に従って画面表示を行う。
記憶部15は、磁気記録媒体を有するHDD(Hard Disk Drive)等により構成され、各種プログラム及び各種データを記録媒体から読み出し及び書き込み可能に記憶する。
また、記憶部15は、第1の端末管理プログラムと、鍵T1と、を記憶する。
通信部16は、モデム、TA(Terminal Adapter)、ルータ、ネットワークカード等により構成され、接続される通信ネットワークN上の電子機器20等の外部機器と情報を送受信する。
次いで、電子機器20の構成を説明する。図3に、電子機器20の内部構成を示す。
図3に示すように、電子機器20は、本体部30と、耐タンパモジュールとしてのモジュール40と、を備えて構成される。モジュール40は、本体部30に対し、着脱可能な構成として説明する。しかし、本体部30とモジュール40とが、一体型である構成としてもよい。
本体部30は、耐タンパ性がない又は弱い部分である。本体部30は、第2の制御手段としての出力手段CPU31と、第1〜第3の出力手段としてのプリント部32と、RAM33と、第1〜第3の出力手段としての表示部34と、第2の記憶手段としてのフラッシュメモリ35と、通信手段としての通信部36と、を備えて構成される。
CPU31、RAM33、通信部36は、センタサーバ10のCPU11、RAM13、通信部16と同様の構成であり、異なる部分を主として説明する。
CPU31は、フラッシュメモリ35に記憶されたブートプログラム351との協働で、アプリ部35Bのハッシュ値を算出し、アプリ部35Bのハッシュ値及びブート部35Aをモジュール40に送信し、それらの変更が行われていないことを示すプログラムOK信号をモジュール40から受信した場合に、ブート部35A及びアプリ部35Bの使用を許可し、ID情報をセンタサーバ10に送信して認証を得て、ICカードのカード情報及び暗証情報を含む決済情報を生成しセンタサーバ10に送信して決済処理を行う。このとき、CPU31は、フラッシュメモリ35のアプリ部35Bに記憶された固定データ355の固定表示データを含む表示画面を表示部34に表示させ、固定データ355の固定プリントデータを含む情報をプリント部32により記録紙にレシートとしてプリントさせる。
また、CPU31は、モジュール40のCPU41とデータ通信が可能である。
プリント部32は、例えば、サーマルプリンタであり、レシート用、ジャーナル用(商品登録内容の記録用)のロール紙を有し、CPU31から入力される指示に従って、各ロール紙に対して金額データ等をプリントアウトする。また、プリント部32は、レシートの出力時に、固定プリントデータを固定的にプリントする。
表示部34は、LCD等で構成され、CPU31からの表示信号に従って画面表示を行う。また、表示部34は、表示画面の表示時に、固定表示データを固定的に表示する。
フラッシュメモリ35は、各種プログラム及び各種データを読み出し及び書き込み可能に記憶する。フラッシュメモリ35は、後述するブートプログラム351としての第1のブートプログラム、認証プログラム352、アプリケーションプログラム353、固定データ出力プログラム354、固定データ355と、各種データと、鍵D1で暗号化された暗号化データd1と、端末ID101と、を記憶する。
フラッシュメモリ35に代えて、例えばハードディスクからRAMにロードされたもの、電源バックアップされたRAM、フラッシュメモリ以外の不揮発メモリ等として構成してもよい。
通信部36は、通信ネットワークNを介してセンタサーバ10とデータの送受信を行う。
モジュール40は、耐タンパ性を有する。モジュール40は、第1の制御手段としてのCPU41と、入力部42と、RAM43と、カードリーダ44と、第1の記憶手段としてのフラッシュメモリ45と、を備えて構成される。
CPU41、RAM43、フラッシュメモリ45は、本体部30のCPU31、RAM33、フラッシュメモリ35と同様の構成であり、異なる部分を主として説明する。
CPU41は、フラッシュメモリ45に記憶された第1のモジュール処理プログラムとの協働で、本体部30からアプリ部35Bのハッシュ値及びブート部35A自体を受信し、ブート部35Aのハッシュ値を算出し、アプリ部35Bのハッシュ値及び算出したブート部35Aのハッシュ値と、フラッシュメモリ45に記憶されたハッシュ値451とが一致するか否かを判別し、一致する場合に、プログラムOK信号を本体部30に送信する。その後、CPU41は、本体部30からカード情報読み取り指示及び暗証情報入力指示を受信し、カードリーダ44によりICカードからカード情報を読み取り、入力部42から暗証情報の入力を受付け、カード情報及び暗証情報を鍵T1で暗号化して本体部30に送信する。
入力部42は、数字入力キー及び各種機能キーなどを備えたキーボードを含む構成とし、操作者により各キーが押下された操作信号をCPU41に出力する。
カードリーダ44は、図示しないソケット等の接続部等を備える。接続部は、ICカードが接続され、その接続されたICカードのカード情報を読み取る。
ICカードは、各顧客が有する決済用の記録媒体としてのカードである。ICカードは、接触式又は非接触式のカードであり、各ICカードでユニークなカード情報を記憶するICチップを備える。決済用の記録媒体としては、ICカードに代えて、磁気カード、生体認証カード等、他の記録媒体としてもよい。
フラッシュメモリ45は、第1のモジュールプログラムと、鍵T1,D1と、ハッシュ値451と、を記憶する。
次に、図4及び図5を参照して、決済システム1の各装置に記憶される情報を説明する。図4に、電子機器20に記憶されるプログラム等の情報を示す。図5に、決済システム1の各装置に記憶される鍵等の情報を示す。
図4に示すように、フラッシュメモリ35を、記憶データの種類に応じて、ブート部35Aと、アプリ部35Bと、データ部35Cと、に分ける。ブート部35Aは、ブートプログラム351と、認証プログラム352と、を記憶する。アプリ部35Bは、アプリケーションプログラム353と、固定データ出力プログラム354と、固定データ355と、を記憶する。データ部35Cは、各種データを記憶する。
通常、プログラムを起動するときには、プログラムを起動させるためのプログラム、すなわちブートプログラム351が存在し、ブートプログラム351が起動したアプリケーションプログラム353が実際の処理を担当する。アプリケーションプログラム353は、各種アプリケーションのプログラムであり、ブートプログラム351及び認証プログラム352以外のプログラムとする。
認証プログラム352は、ブート部35A及びアプリ部35Bの正当性を認証するするプログラムである。認証プログラム352は、一種のアプリケーションプログラムであるが、ブートプログラム351の実行開始に連動して実行される。固定データ出力プログラム354は、アプリケーションプログラムの一種であり、電子機器20で固定データ355を表示及びプリントするデータである。固定データ355は、電子機器20でのアプリケーションプログラム実行時に、プリント部32に毎回固定的にプリントする固定プリントデータと、表示部34に毎回固定的に表示する固定表示データと、を含む。固定データ355は、電子機器20の使用者、店等の所属に固有のデータであり、その所属を識別可能に出力するためのデータである。固定データ355は、例えば、電子機器20が設けられた店舗の店名、電話番号等の文字データや、店名ロゴ等の画像データである。
データ部35Cは、アプリケーションプログラム353の実行時等に用いるデータや、アプリケーションプログラム353等により処理した結果のデータを記憶する。
モジュールのフラッシュメモリ45は、ハッシュ値451を記憶する。ハッシュ値451は、アプリ部35B及びブートプログラム351の認証(変更検出)に用いる予め設定されたハッシュ値であり、アプリ部35Bのハッシュ値及びブートプログラム351のハッシュ値をマージした値と等価である。
図5に示すように、決済システム1において、センタサーバ10の記憶部15には、鍵T1が記憶されている。鍵T1は、センタサーバ10が電子機器20を認証するための鍵であり、電子機器ごとにユニークな鍵である。
本体部30のフラッシュメモリ35(データ部35C)には、鍵D1で暗号化された暗号化データd1と、端末ID101と、が記憶されている。鍵D1は、本体部30にあるデータを暗号化または復号化するための鍵である。暗号化データd1は、例えば、決済処理に使用されるカード判別データである。カード判別データは、ICカードの機能を判別したり、ICカードのカード情報のリストを含み、使えないICカードを判定するための情報である。端末IDとは、電子機器毎にユニークな識別情報である。端末ID101は、電子機器20の認証に用いる。
モジュール40のフラッシュメモリ45には、鍵T1と、鍵D1と、が記憶されている。
各鍵の暗号化及び復号化には、互いに相応する鍵を用いて行われる。例えば、ある鍵を用いて情報を暗号化した場合に、その鍵に相応する鍵を用いると暗号化された情報の復号化が可能となる。本実施の形態では、暗号化する鍵と、復号化する鍵とが、同一である共通の共通鍵方式で暗号化及び復号化するものとして説明する。しかし、公開鍵方式や、セション鍵方式等の方式で暗号化及び復号化する構成としてもよい。公開鍵方式では、公開鍵と秘密鍵のペアが互いに相応する鍵となる。
次に、図6及び図7を参照して、決済システム1の動作を説明する。図6に、第1のモジュール処理、第1のブート処理、第1の端末管理処理の流れを示す。図7に、図6の第1のモジュール処理、第1のブート処理、第1の端末管理処理の続きの流れを示す。
電子機器20のモジュール40で実行される第1のモジュール処理を説明する。モジュール40において、例えば、アプリ部35Bのハッシュ値が本体部30(のCPU31)から受信開始されたことをトリガとして、フラッシュメモリ45から読み出されて適宜RAM43に展開された第1のモジュール処理プログラムとCPU41との協働で、第1のモジュール処理が実行される。
先ず、アプリ部35Bのハッシュ値が本体部30から受信される(ステップS11)。そして、ブート部35A自体が本体部30から受信される(ステップS12)。そして、所定のハッシュ関数を用いて、受信したブート部35A自体のハッシュ値が算出される(ステップS13)。
そして、ステップS11で受信したアプリ部35Bのハッシュ値と、ステップS12で算出したブート部35Aのハッシュ値とがマージされ、当該マージされたハッシュ値と、フラッシュメモリ45に予め記憶されたハッシュ値451と、が比較され、一致しているか否かが判別される(ステップS14)。
一致していない場合(ステップS14;NO)、ブート部35A及びアプリ部35Bの少なくとも一つが変更されたと判別され、電子機器20の使用が停止に設定され(ステップS15)、第1のモジュール処理が終了する。
一致した場合(ステップS14;YES)、ブート部35A及びアプリ部35Bが変更されていないと判別され、それらブート部35A及びアプリ部35Bの認証OKの旨のプログラムOK信号が本体部30に送信される(ステップS16)。
そして、ICカードのカード読み取り指示が本体部30から受信される(ステップS17)。そして、カード読み取り指示に応じて、カードリーダ44によりセットされたICカードのカード情報が読み取られる(ステップS18)。そして、読み取られたカード情報が、フラッシュメモリ35のデータ部35Cに記憶された鍵T1により暗号化され、暗号化カード情報として本体部30に送信される(ステップS19)。
そして、暗証情報入力指示が本体部30から送信される(ステップS20)。暗証情報とは、カード情報に対応する暗証情報であり、本実施の形態では、暗証番号とする。しかし、パスワード、指紋等の生体情報等、他の暗証情報としてもよい。
そして、暗証情報入力指示に応じて、入力部42を介してICカードのユーザから暗証情報が入力される(ステップS21)。そして、入力された暗証番号が、データ部35Cに記憶された鍵T1により暗号化され、暗号化カード情報として本体部30に送信され(ステップS22)、第1のモジュール処理が終了される。
次いで、電子機器20の本体部30で実行される第1のブート処理を説明する。本体部30において、例えば、電源がオンされたことをトリガとして、フラッシュメモリ35から読み出されて適宜RAM33に展開されたブートプログラム351(第1のブートプログラム)と、CPU31との協働で、第1のブート処理が実行される。
先ず、ブート部35Aの認証プログラム352が読み出されて実行開始される(ステップS31)。そして、認証プログラム実行により、ハッシュ計算の初期値がクリアされる(ステップS32)。
そして、認証プログラム実行により、フラッシュメモリ35のアプリ部35Bが読み出されて、所定のハッシュ関数を用いて、アプリ部35Bのハッシュ値が算出される(ステップS33)。そして、認証プログラム実行により、ステップS11に対応して、ステップS33で算出されたアプリ部35Bのハッシュ値がモジュール40(のCPU41)に送信される(ステップS34)。そして、ブート部35Aが読み出され、ブート部35A自体がモジュール40に送信される(ステップS35)。
そして、認証プログラム実行により、ステップS16に対応して、プログラムOK信号がモジュール40から受信され、ブート部35A及びアプリ部35B(及びデータ部35C)の使用を伴う電子機器20の動作が許可に設定される(ステップS36)。そして、フラッシュメモリ35に記憶されたアプリケーションプログラム353及び固定データ出力プログラム354が読み出されて実行開始される(ステップS37)。以下のステップS38〜S48は、アプリケーションプログラム353又は固定データ出力プログラム354の実行により動作実行される。ステップS38〜S48の説明で、特に、固定データ出力プログラムの実行によるステップには、その実行の旨を記載する。そして、ID情報が生成され、通信部36を介して、ID情報がセンタサーバ10に送信される(ステップS38)。ID情報は、フラッシュメモリ35に記憶された端末ID101を含む。
そして、送信したID情報に対応して、通信部36を介して、センタサーバ10による電子機器20の認証OKを示す認証OK信号がセンタサーバ10から受信される(ステップS39)。そして、固定データ出力プログラム実行により、フラッシュメモリ35のアプリ部35Bの固定データ355の固定表示データが読み出され、その固定表示データを含む表示画面情報が表示部34に表示される(ステップS40)。
そして、ステップS17に対応して、ICカードのカード情報読み取り指示がモジュール40に送信される(ステップS41)。そして、ステップS19に対応して、暗号化カード情報がモジュール40から受信される(ステップS42)。そして、ステップS20に対応して、暗証情報入力指示がモジュール40に送信される(ステップS43)。そして、ステップS22に対応して、暗号化暗証情報がモジュール40から受信される(ステップS44)。
また、例えば、フラッシュメモリ35に記憶された使用していないカード情報の暗号化データd1がモジュール40に送信される。モジュール40で暗号化データd1が鍵D1で復号化され、本体部30において、その復号化データを用いて、カード情報が使用していないものであるか判別され、使用していないものである場合に、そのICカード60の決済が禁止に設定されることとしてもよい。
そして、ステップS42,S44で受信された暗号化カード情報及び暗号化暗証情報を含む決済情報が、通信部36を介してセンタサーバ10に送信される(ステップS45)。決済情報は、暗号化カード情報及び暗号化暗証情報に加えて、例えば、カードユーザが購入した商品の代金等の情報が含まれる。そして、送信した決済情報の決済が許可か否かを示す決済許可情報又は決済不許可情報が、通信部36を介してセンタサーバ10から受信される(ステップS46)。
そして、ステップS46で受信された決済許可情報又は決済不許可情報に基づいて、決済処理が行われたか否かが確認される(ステップS47)。そして、固定データ出力プログラム実行により、決済許可である場合に、フラッシュメモリ35のアプリ部35Bの固定データ355の固定プリントデータが読み出され、その固定プリントデータを含む、商品購入結果等の各種情報がプリント部32により記録紙にレシートとしてプリントアウトされ(ステップS48)、第1のブート処理が終了する。決済不許可である場合に、その旨等がプリント部32にプリントアウトされることとしてもよい。
次いで、センタサーバ10で実行される第1の端末管理処理を説明する。センタサーバ10において、例えば、ステップS38に対応して、通信部16を介して、ID情報が本体部30から受信開始されたことをトリガとして、記憶部15から読み出されて適宜RAM13に展開された第1の端末管理プログラムとCPU11との協働で、第1の端末管理処理が実行される。
先ず、通信部16を介して、ID情報が本体部30から受信される(ステップS51)。そして、ステップS39に対応して、受信したID情報に基づいて電子機器20の動作がOKである旨の認証OK信号が生成され、通信部16を介して、認証OK信号が本体部30に送信される(ステップS52)。より具体的には、ID情報中の端末IDと正当な電子機器の端末IDとの一致が判別され、一致した場合に、認証OK信号が生成される。一致しない場合には、図示しないが、動作拒否信号が生成され本体部30に送信され、電子機器20の動作が停止される。
そして、ステップS45に対応して、通信部16を介して、決済情報が受信される(ステップS53)。そして、決済情報中の暗号化カード情報及び暗号化暗証情報が記憶部15に記憶された鍵T1で復号化される(ステップS54)。そして、ステップS54で復号化されたカード情報及び暗証情報を用いて、ICカードの認証(信用確認処理)が行われる(ステップS55)。また、ICカードが認証された場合には、受信した決済情報の、カードユーザが購入した商品の代金等の情報に基づいて、カード決済が行われる。
そして、ステップS46に対応して、ステップS56のICカードの認証において認証された場合に、決済が許可された旨を示す決済許可情報が生成され、通信部16を介して決済許可情報が本体部30に送信され、認証されない場合に、決済が許可されない旨を示す決済不許可情報が生成され、通信部16を介して決済不許可情報が本体部30に送信される(ステップS56)。
以上、本実施の形態によれば、モジュール40のフラッシュメモリ45にハッシュ値451を記憶し、モジュール40で、本体部30から送信されるブート部35A自体のハッシュ値を算出し、このハッシュ値及び本体部30から送信されるアプリ部35Bのハッシュ値と、ハッシュ値451とが一致するか否かを判別する。一致する場合に、ブート部35A及びアプリ部35Bが変更されていなく、ブート部35A及びアプリ部35Bの使用を伴う電子機器20の動作が許可される。
このため、内部データの変更が難しい耐タンパ性を有するモジュール40にハッシュ値451を記憶し、モジュール40で比較的小容量のブート部35Aのハッシュ計算を行うことで、モジュール40のインターフェース速度が限られていても、ブート部35A及びアプリ部35Bの変更の高速なチェックが可能である。よって、モジュール40外のブート部35A及びアプリ部35Bの変更を容易に検出できる。
また、変更確認をした比較的小容量のブート部35Aに認証プログラム352を持たせる。このため、モジュール40の性能に依らない変更検出ができる。
また、アプリ部35Bの変更検出について、そのハッシュ値を、ブート部35A自身のハッシュ値とマージさせることで、アプリ部35Bのハッシュ値もモジュール40で保護できる。
また、アプリ部35Bの使用が許可された場合に、フラッシュメモリ35に記憶された固定データを、それ以降必ず表示及びプリントする。このため、電子機器20の利用者が見た目で誤用・不正流用を判断でき、電子機器の不正利用を防ぐことができる。例えば、不正に転売等されたカード状などの小型のモジュール40を使おうと試みても、店名等の表示・プリントデータが固定されているため、利用することはできない。
なお、本実施の形態では、ブート部35A及びアプリ部35Bの変更を検出する構成であるが、これに限定されるものではない。例えば、モジュール40のフラッシュメモリ45にブート部35Aのハッシュ値を記憶し、モジュール40で、本体部30から送信されるブート部35A自体のハッシュ値を算出し、算出したハッシュ値と、フラッシュメモリ45に記憶されたハッシュ値とが一致するか否かを判別する構成としてもよい。一致する場合に、ブート部35Aが変更されていなく、ブート部35Aの使用を伴う電子機器20の動作が許可される。
この構成によれば、モジュール40にブート部35Aのハッシュ値を記憶し、モジュール40で比較的小容量のブート部35Aのハッシュ計算を行うことで、モジュール40のインターフェース速度が限られていても、ブート部35Aの変更の高速なチェックが可能である。よって、モジュール40外のブート部35Aの変更を容易に検出できる。
(第2の実施の形態)
図8及び図9を参照して、本発明に係る第2の実施の形態を説明する。本実施の形態の装置構成は、決済システム1を用いるものとし、第1の実施の形態と異なる部分を主として説明する。
第1の実施の形態では、固定データ355がフラッシュメモリのアプリ部35Bに記憶される構成であった。本実施の形態では、モジュール40のフラッシュメモリ45が、ハッシュ値451とともに、固定データ355に対応する固定データを記憶する。
また、センタサーバ10の記憶部15は、第2の端末管理プログラムを記憶する。本体部30のフラッシュメモリ35は、ブートプログラム351として第2のブートプログラムを記憶する。モジュール40のフラッシュメモリ45は、第2のモジュール処理プログラムを記憶する。
次に、図8及び図9を参照して、決済システム1の動作を説明する。図8に、第2のモジュール処理、第2のブート処理、第2の端末管理処理の流れを示す。図9に、図8の第2のモジュール処理、第2のブート処理、第2の端末管理処理の続きの流れを示す。
電子機器20のモジュール40で実行される第2のモジュール処理を説明する。モジュール40において、例えば、アプリ部35Bのハッシュ値が本体部30(のCPU31)から受信開始されたことをトリガとして、フラッシュメモリ45から読み出されて適宜RAM43に展開された第2のモジュール処理プログラムとCPU41との協働で、第2のモジュール処理が実行される。
ステップS61〜S66は、第1のモジュール処理のステップS11〜S16と同様である。ステップS66の実行後、表示部34に表示させるための固定表示データの読み出し指示が本体部30から受信される(ステップS67)。そして、固定表示データ読み出し指示に応じて、フラッシュメモリ45から固定データの固定表示データが読み出され、本体部30に送信される(ステップS68)。
ステップS69〜S74は、第1のモジュール処理のステップS17〜S22と同様である。ステップS74の実行後、プリント部32にプリントさせる情報であるプリント情報の読み出し指示が本体部30から受信される(ステップS75)。そして、プリント情報読み出し指示に応じて、フラッシュメモリ45から固定データの固定プリントデータが読み出され、本体部30に送信され(ステップS76)、第2のモジュール処理が終了する。
次いで、電子機器20の本体部30で実行される第2のブート処理を説明する。本体部30において、例えば、電源がオンされたことをトリガとして、フラッシュメモリ35から読み出されて適宜RAM33に展開された第2のブートプログラムと、CPU31との協働で、第2のブート処理が実行される。
ステップS81〜S87は、第1のブート処理のステップS31〜S37と同様である。ステップS87の実行後、ステップS67に対応して、固定表示データ読み出し指示がモジュール40に送信される(ステップS88)。そして、ステップS68に対応して、固定表示データがモジュール40から受信される(ステップS89)。そして、ステップS89で受信された固定表示データを含む表示画面が表示部34に表示される(ステップS90)。
ステップS91〜S97は、第1のブート処理のステップS41〜S47と同様である。ステップS97の実行後、ステップS75に対応して、固定プリントデータ読み出し指示がモジュール40に送信される(ステップS98)。そして、ステップS76に対応して、固定プリントデータがモジュール40から受信される(ステップS99)。そして、ステップS99で受信された固定プリントデータを含む、各種情報がプリント部32により記録紙にレシートとしてプリントアウトされ(ステップS100)、第2のブート処理が終了する。
次いで、センタサーバ10で実行される第2の端末管理処理を説明する。センタサーバ10において、例えば、ステップS95に対応して、通信部16を介して、決済情報が本体部30から受信開始されたことをトリガとして、記憶部15から読み出されて適宜RAM13に展開された第2の端末管理プログラムと、CPU11との協働で、第2の端末管理処理が実行される。
ステップS111〜S114は、第1の端末管理処理のステップS53〜S56と同様である。ステップS114の実行後、第2の端末管理処理が終了する。
以上、本実施の形態によれば、第1の実施の形態と同様の効果を奏するとともに、アプリ部35Bに固定データが無いので、電子機器毎にハッシュ値が変わらない。このため、モジュール40に設定されるハッシュ値は同一で良いので、電子機器を容易に製造できる。
また、改ざんの難しい耐タンパ性を有するモジュール40のフラッシュメモリ45中に固定データを記憶し、その固定データを必ず表示及びプリントする。このため、電子機器20の利用者が見た目で誤用・不正流用を判断でき、電子機器の不正利用を防ぐことができるとともに、固定データの変更を防ぐことができる。
(第3の実施の形態)
図10及び図11を参照して、本発明に係る第3の実施の形態を説明する。本変形例の装置構成は、決済システム1を用いるものとし、第2の実施の形態と異なる部分を主として説明する。
第2の実施の形態では、固定データがモジュール40のフラッシュメモリ45に記憶され、端末ID101が本体部30のフラッシュメモリ35に記憶された。本実施の形態では、センタサーバ10の記憶部15は、固定データを記憶する。記憶部15に記憶される固定データは、登録されている全ての電子機器それぞれの固定データとし、各固定データは、各電子機器の端末IDに対応付けられて記憶部15に記憶される。また、モジュール40のフラッシュメモリ45は、端末ID101を記憶する。
また、センタサーバ10の記憶部15は、第3の端末管理プログラムを記憶する。本体部30のフラッシュメモリ35は、ブートプログラム351としての第3のブートプログラムを記憶する。モジュール40のフラッシュメモリ45は、第3のモジュール処理プログラムを記憶する。
次に、図10及び図11を参照して、決済システム1の動作を説明する。図10に、第3のモジュール処理、第3のブート処理、第3の端末管理処理の流れを示す。図11に、図10の第3のモジュール処理、第3のブート処理、第3の端末管理処理の続きの流れを示す。
電子機器20のモジュール40で実行される第3のモジュール処理を説明する。モジュール40において、例えば、アプリ部35Bのデータのハッシュ値が本体部30(のCPU31)から受信開始されたことをトリガとして、フラッシュメモリ45から読み出されて適宜RAM43に展開された第3のモジュール処理プログラムとCPU41との協働で、第3のモジュール処理が実行される。
ステップS121〜S126は、第1のモジュール処理のステップS11〜S16と同様である。ステップS16の実行後、ID情報の読み出し指示が本体部30から受信される(ステップS127)。そして、ID情報読み出し指示に基づいてフラッシュメモリ45から、端末ID101が読み出され、端末ID101がフラッシュメモリ45に記憶された鍵T1で暗号化され暗号化端末IDとされ、暗号化端末ID及び暗号化していない端末IDを含むID情報として本体部30に送信される(ステップS128)。
ステップS129〜S134は、第1のモジュール処理のステップS17〜S22と同様である。ステップS134の実行後、第3のモジュール処理が終了する。
次いで、電子機器20の本体部30で実行される第3のブート処理を説明する。本体部30において、例えば、電源がオンされたことをトリガとして、フラッシュメモリ35から読み出されて適宜RAM33に展開された第3のブートプログラムと、CPU31との協働で、第3のブート処理が実行される。
ステップS141〜S147は、第1のブート処理のステップS31〜S37と同様である。ステップS147の実行後、ステップS127に対応して、ID情報読み出し指示がモジュール40に送信される(ステップS148)。そして、ステップS128に対応して、ID情報がモジュール40から受信され、通信部36を介して、センタサーバ10へ送信される(ステップS149)。
そして、固定データとしての固定表示データ及び固定プリントデータが、通信部36を介してセンタサーバ10から受信される(ステップS150)。そして、受信した固定表示データを含む表示画面が表示部34に表示される(ステップS151)。
ステップS152〜S158は、第1のブート処理のステップS41〜S47と同様である。ステップS158の実行後、ステップS150で受信された固定プリントデータを含む各種情報がプリント部32により記録紙にレシートとしてプリントアウトされ(ステップS160)、第3のブート処理が終了する。
次いで、センタサーバ10で実行される第3の端末管理処理を説明する。センタサーバ10において、例えば、ステップS149に対応して、通信部16を介して、ID情報が本体部30から受信開始されたことをトリガとして、記憶部15から読み出されて適宜RAM13に展開された第3の端末管理プログラムと、CPU11との協働で、第3の端末管理処理が実行される。
先ず、通信部16を介して、ID情報が本体部30から受信される(ステップS161)。そして、受信したID情報の正当性が確認される(ステップS162)。ID情報の正当性の確認は、より具体的には、ID情報中の暗号化端末IDが記憶部15に記憶された鍵T1で復号化される。そして、復号化された端末IDとID情報中の端末IDとの一致が判別され、一致する場合に、電子機器20の正当性が認証され、電子機器20の動作が許可される。一致しない場合には、図示しないが、動作拒否信号が生成され本体部30に送信され、電子機器20の動作が停止される。
そして、受信した端末IDに対応する固定データの固定表示データ及び固定プリントデータが記憶部15から読み出される(ステップS163)。そして、ステップS150に対応して、通信部16を介して、読み出された固定表示データ及び固定プリントデータが本体部30に送信される(ステップS164)。
ステップS165〜S168は、第1の端末管理処理のステップS53〜S56と同様である。ステップS168の実行後、第3の端末管理処理が終了する。
以上、本実施の形態によれば、第2の実施の形態と同様の効果を奏するとともに、電子機器20が固定データをセンタサーバ10からダウンロードし、モジュール40のフラッシュメモリ45には、ID情報の生成に関する情報だけを記憶すればよい。このため、本体部30のプログラムだけで第2の実施の形態と同等の機能が実現でき、またモジュール40のフラッシュメモリ45の記憶容量を低く設定でき、さらに表示・プリント内容の自由度を増加できる。
(第4の実施の形態)
図12〜図17を参照して、本発明に係る第4の実施の形態を説明する。先ず、図12及び図13を参照して、本実施の形態の装置構成を説明する。図12に、本実施の形態の電子機器20Aの構成を示す。図13に、SAM50の内部構成を示す。
本実施の形態の決済システムは、第1の実施の形態の決済システム1の電子機器20を、電子機器20Aに代えた構成とする。このため、決済システム1と同じ部分に同じ符号を付し、異なる部分を主として説明する。
本実施の形態では、センタサーバ10の記憶部15は、固定データとして固定表示データF1及び固定プリントデータF2を記憶する。記憶部15に記憶される固定表示データF1及び固定プリントデータF2は、登録されている全ての電子機器それぞれの固定表示データF1及び固定プリントデータF2とし、各データは、各電子機器の端末IDに対応付けられて記憶部15に記憶される。
図12に示すように、電子機器20Aは、本体部30と、モジュール40Aとを備えて構成される。モジュール40Aは、CPU41と、入力部42と、RAM43と、カードリーダ44と、フラッシュメモリ45と、SAM50と、を備えて構成される。また、モジュール40Aは、耐タンパ性が無い又は弱いものとして説明するが、耐タンパ性が強い構成としてもよい。
モジュール40Aに耐タンパ性が無い又は弱いため、第1の実施の形態でフラッシュメモリ45に記憶していた、ハッシュ値451、鍵T1,D1は、SAM50(のフラッシュメモリ57)に記憶される。また、本体部30のフラッシュメモリ35は、ブートプログラム351としての第4のブートプログラムを記憶し、アプリ部35Bに固定データ355を記憶しない構成とする。
次いで、SAM50の構成を説明する。耐タンパモジュールとしてのSAM50は、強固な耐タンパ性を有するモジュールであり、例えば、ICカードとして構成される。図13に示すように、SAM50は、第1の制御手段としてのCPU51と、暗号演算部52と、RAM53と、異常検出部54と、ROM55と、通信部56と、第1の記憶手段としてのフラッシュメモリ57と、を備えて構成され、各部がバス58を介して接続される。
CPU51、RAM53、フラッシュメモリ57については、モジュール40AのCPU41、RAM43、フラッシュメモリ45の構成と同様であり、異なる部分を主として説明する。
CPU51は、ROM55やフラッシュメモリ57に記憶されたプログラムとの協働で、各種処理を実行する。例えば、CPU51は、異常検出部54によりSAM50の異常が検出された場合に、RAM53及びフラッシュメモリ57に記憶された情報を破壊(消去)する。また、CPU51は、フラッシュメモリ57に記憶された鍵を用いて、暗号演算部52により情報を暗号化又は復号化させる。なお、CPU51は、異常検出部54の異常検出時に、SAM50の動作を停止する等の構成としてもよい。
また、CPU51は、SAM処理プログラムとの協働で、本体部30からモジュール40を介してアプリ部35Bのハッシュ値及びブート部35A自体を受信し、ブート部35Aのハッシュ値を算出し、アプリ部35Bのハッシュ値及び算出したブート部35Aのハッシュ値と、フラッシュメモリ57に記憶されたハッシュ値とが一致するか否かを判別し、一致する場合に、プログラムOK信号を本体部30に送信する。その後、CPU51は、本体部30からID情報読み出し指示を受信して、ID情報を生成して鍵T1で暗号化して本体部30に送信し、本体部30から固定表示データF3及び固定プリントデータF4の読み出し指示を受信して、フラッシュメモリ45から固定表示データF3及び固定プリントデータF4を読み出して本体部30に送信する。
暗号演算部52は、CPU51の指示により、フラッシュメモリ57に記憶された鍵を用いて、各種情報を暗号化し、また暗号化された各種情報を復号化する。
異常検出部54は、例えば、電圧センサ、温度センサ、光センサ等の少なくとも一つを備え、善意又は悪意によらず第三者がSAM50のデータを読み取ろうと又は変更しようとする際の異常電圧、異常温度、異常光量等を検出し、その異常の旨を示す検出信号をCPU51に出力する。
ROM55には、書き換えが不要であるデータが予め記憶されている。例えば、SAM50のシステムプログラムである。
通信部56は、通信制御部により構成され、モジュール40のCPU41と通信接続して情報を送受信する。
フラッシュメモリ57は、各種プログラム及び各種データを読み出し又は書き込み可能に記憶する。フラッシュメモリ57に代えてEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリを用いる構成としてもよい。
フラッシュメモリ57は、SAM処理プログラムと、鍵T1,D1と、固定表示データF3及び固定プリントデータF4と、端末ID101と、予め設定されたブート部35A及びアプリ部35Bのハッシュ値と、を記憶する。SAM処理プログラムは、ROM55に記憶される構成としてもよい。
次に、図14〜図17を参照して、本実施の形態の決済システムの動作を説明する。図14に、SAM処理、第4のモジュール処理、第4のブート処理、第4の端末管理処理の流れを示す。図15に、図14のSAM処理、第4のモジュール処理、第4のブート処理、第4の端末管理処理の続きの流れを示す。図16に、図15のSAM処理、第4のモジュール処理、第4のブート処理、第4の端末管理処理の続きの流れを示す。図17に、図16のSAM処理、第4のモジュール処理、第4のブート処理、第4の端末管理処理の続きの流れを示す。
SAM50で実行されるSAM処理を説明する。SAM50において、例えば、アプリ部35Bのデータのハッシュ値がモジュール40(のCPU41)から受信開始されたことをトリガとして、フラッシュメモリ57から読み出されて適宜RAM53に展開されたSAM処理プログラムとCPU51との協働で、SAM処理が実行される。
先ず、アプリ部35Bのハッシュ値がモジュール40から受信される(ステップS171)。そして、ブート部35A自体がモジュール40から受信される(ステップS172)。そして、所定のハッシュ関数を用いて、受信したブート部35Aのハッシュ値が算出される(ステップS173)。
そして、ステップS171で受信したアプリ部35Bのハッシュ値、ステップS172で算出したブート部35Aのハッシュ値と、がマージされ、当該マージされたハッシュ値と、フラッシュメモリ57に予め記憶されたハッシュ値と、が比較され、一致しているか否かが判別される(ステップS174)。
一致していない場合(ステップS174;NO)、電子機器20Aの使用が停止に設定され(ステップS175)、SAM処理が終了する。一致した場合(ステップS174;YES)、それらプログラムの認証OKの旨のプログラムOK信号がモジュール40に送信される(ステップS176)。
そして、ID情報の読み出し指示がモジュール40から受信される(ステップS177)。そして、ID情報読み出し指示に基づいてフラッシュメモリ57から、端末ID101が読み出され、端末ID101がフラッシュメモリ57に記憶された鍵T1で暗号化され暗号化端末IDとされ、暗号化端末ID及び暗号化していない端末IDを含むID情報としてモジュール40に送信される(ステップS178)。
そして、固定表示データF3及び固定プリントデータF4の読み出し指示がモジュール40から受信される(ステップS179)。そして、固定表示データF3及び固定プリントデータF4読み出し指示に応じて、フラッシュメモリ57に記憶された固定表示データF3及び固定プリントデータF4が読み出され、モジュール40に送信され(ステップS180)、SAM処理が終了する。
次いで、電子機器20のモジュール40A(のCPU41)で実行される第4のモジュール処理を説明する。モジュール40Aにおいて、例えば、アプリ部35Bのハッシュ値が本体部30(のCPU31)から受信開始されたことをトリガとして、フラッシュメモリ45から読み出されて適宜RAM43に展開された第4のモジュール処理プログラムとCPU41との協働で、第4のモジュール処理が実行される。
先ず、ステップS171に対応して、アプリ部35Bのハッシュ値が本体部30から受信され、SAM50に送信される(ステップS181)。そして、ステップS172に対応して、ブートプログラム351自体が本体部30から受信され、SAM50に送信される(ステップS182)。
そして、ステップS176に対応して、プログラムOK信号がSAM50から受信され、本体部30に送信される(ステップS183)。そして、ステップS177に対応して、ID情報読み出し指示が本体部30から受信され、SAM50に送信される(ステップS184)。そして、ステップS178に対応して、ID情報がSAM50から受信され、本体部30に送信される(ステップS185)。
そして、ステップS179に対応して、固定表示データF3及び固定プリントデータF4読み出し指示が本体部30から受信され、SAM50に送信される(ステップS186)。そして、ステップS180に対応して、固定表示データF3及び固定プリントデータF4がSAM50から受信され、本体部30に送信される(ステップS187)。
ステップS188〜S193は、第1のモジュール処理のステップS17〜S22と同様である。ステップS193の実行後、第4のモジュール処理が終了する。
次いで、電子機器20の本体部30で実行される第4のブート処理を説明する。本体部30において、例えば、電源がオンされたことをトリガとして、フラッシュメモリ35から読み出されて適宜RAM33に展開された第4のブートプログラムと、CPU31との協働で、第4のブート処理が実行される。
ステップS201〜S207は、第1のブート処理のステップS31〜S37と同様である。そして、ステップS207の実行後、ステップS184に対応して、ID情報読み出し指示がモジュール40Aに送信される(ステップS208)。そして、ステップS185に対応して、ID情報がモジュール40Aから受信され、通信部36を介して、センタサーバ10へ送信される(ステップS209)。
そして、固定データとしての固定表示データF1及び固定プリントデータF2が、通信部36を介してセンタサーバ10から受信される(ステップS210)。そして、受信した固定表示データF1を含む表示画面が表示部34に表示される(ステップS211)。
そして、ステップS186に対応して、固定表示データF3及び固定プリントデータF4読み出し指示がモジュール40Aに送信される(ステップS212)。そして、ステップS187に対応して、固定表示データF3及び固定プリントデータF4がモジュール40から受信される(ステップS213)。そして、受信した固定表示データF3を含む表示画面が表示部34に表示される(ステップS214)。
ステップS215〜S221は、第1のブート処理のステップS41〜S47と同様である。ステップS221の実行後、ステップS210,S213で受信された固定プリントデータF2,F4を含む各種情報がレシートとしてプリント部32にプリントアウトされ(ステップS224)、第4のブート処理が終了する。
次いで、センタサーバ10で実行される第4の端末管理処理を説明する。センタサーバ10において、例えば、ステップS209に対応して、通信部16を介して、ID情報が本体部30から受信開始されたことをトリガとして、記憶部15から読み出されて適宜RAM13に展開された第4の端末管理プログラムと、CPU11との協働で、第4の端末管理処理が実行される。
先ず、通信部16を介して、ID情報が本体部30から受信される(ステップS231)。そして、受信したID情報の正当性が確認される(ステップS232)。
そして、受信したID情報の端末IDに対応する固定表示データF1及び固定プリントデータF2が記憶部15から読み出される(ステップS233)。そして、ステップS211に対応して、通信部16を介して、読み出された固定表示データF1及び固定プリントデータF2が本体部30に送信される(ステップS234)。
ステップS235〜S238は、第1の端末管理処理のステップS53〜S56と同様である。ステップS238の実行後、第4の端末管理処理が終了する。
以上、本実施の形態によれば、第1の実施の形態と同様の効果を奏するとともに、SAM50を用いる。このため、SAM50に記憶した固定データの改ざんがさらに難しく、悪意のある流用に対しても有効に対抗できる。従来型の、筐体の開封センサでは安いドリルでセンサをバイパスできるのに対し、SAMでは半導体のサブミクロンレベルで対策を施されたものを解析するには高価な専用機器と技術力が必要になるためである。
また、電子機器20Aは、センタサーバ10及びSAM50から固定データを取得できる。このため、SAM50のフラッシュメモリ57には、ID情報に関する情報と、最小限の固定データを記憶できる。よって、高価なSAM50中の記憶容量を低く設定でき、比較的大容量な固定データをセンタサーバ10から取得できる。
(変形例)
図18を参照して、上記第4の実施の形態の変形例を説明する。図18に、本変形例の電子機器20Bの内部構成を示す。
本変形例は、第4の実施の形態の決済システムの電子機器20Aを、電子機器20Bに代えた構成である。図18に示すように、電子機器20Bは、CPU61と、入力部62と、RAM63と、表示部64と、フラッシュメモリ65と、通信部66と、プリント部67と、カードリーダ68と、SAM50と、を備えて構成される。
CPU61、入力部62、RAM63、表示部64、フラッシュメモリ65、通信部66、プリント部67、カードリーダ68は、それぞれ、電子機器20AのCPU31,41、入力部42、RAM33,43、表示部34、フラッシュメモリ35,45、通信部36、プリント部32、カードリーダ44と同様の構成である。
本変形例によれば、SAM50を一つの耐タンパモジュールと見なすして構成する。このため、耐タンパ部分を最小限にすることができる。
また、電子機器20Bの冗長部分が少ない(SAM50以外にCPUが一つでよい等)。このため、電子機器を容易に製造でき、低価格化及び小型化を図ることができる。
なお、上記各実施の形態及び変形例における記述は、本発明に係る端末装置及びプログラムの一例であり、これに限定されるものではない。
上記第4の実施の形態及び変形例では、SAM50が電子機器に設置されている構成としたが、SAM50を取り外せるとしても取り外せなくてもセキュリティ強度上は同じである。
また、上記各実施の形態及び変形例では、固定データ出力プログラムがアプリ部35Bに含まれる構成としたが、これに限定されるものではない。例えば、固定データ出力プログラム等がブート部35Aに含まれる構成としてもよい。
また、例えば、上記各実施の形態及び変形例で説明したこの電子機器を音楽プレーヤのようなものとする構成としてもよい。すなわち、センタサーバでオンライン販売の契約を確認できなければ楽曲のダウンロードを許可しない、というような形態も可能である。
また、上記各実施の形態及び変形例のうちの少なくとも2つを適宜組み合わせる構成としてもよい。また、センタサーバ10に複数の電子機器20を接続可能な構成としてもよい。
また、上記各実施の形態及び変形例における決済システムの各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
本発明に係る第1の実施の形態の決済システム1の構成を示すブロック図である。 センタサーバ10の内部構成を示すブロック図である。 電子機器20の内部構成を示すブロック図である。 電子機器20に記憶されるプログラム等の情報を示す図である。 決済システム1の各装置に記憶される鍵等の情報を示す図である。 第1のモジュール処理、第1のブート処理、第1の端末管理処理を示すフローチャートである。 図6の第1のモジュール処理、第1のブート処理、第1の端末管理処理の流れを示すフローチャートである。 第2のモジュール処理、第2のブート処理、第2の端末管理処理を示すフローチャートである。 図8の第2のモジュール処理、第2のブート処理、第2の端末管理処理の続きを示すフローチャートである。 第3のモジュール処理、第3のブート処理、第3の端末管理処理を示すフローチャートである。 図10の第3のモジュール処理、第3のブート処理、第3の端末管理処理の続きを示すフローチャートである。 本発明に係る第4の実施の形態の電子機器20Aの構成を示すブロック図である。 SAM50の内部構成を示すブロック図である。 SAM処理、第4のモジュール処理、第4のブート処理、第4の端末管理処理を示すフローチャートである。 図14のSAM処理、第4のモジュール処理、第4のブート処理、第4の端末管理処理の続きを示すフローチャートである。 図15のSAM処理、第4のモジュール処理、第4のブート処理、第4の端末管理処理の続きを示すフローチャートである。 図16のSAM処理、第4のモジュール処理、第4のブート処理、第4の端末管理処理の続きを示すフローチャートである。 変形例の電子機器20Bの内部構成を示すブロック図である。
符号の説明
1 決済システム
10 センタサーバ
11 CPU
12 入力部
13 RAM
14 表示部
15 記憶部
16 通信部
17 バス
20,20A,20B 電子機器
30 本体部
31 CPU
32 プリント部
33 RAM
34 表示部
35 フラッシュメモリ
36 通信部
40,40A モジュール
41 CPU
42 入力部
43 RAM
44 カードリーダ
45 フラッシュメモリ
36 通信部
50 SAM
51 CPU
52 暗号演算部
53 RAM
54 異常検出部
55 ROM
56 通信部
57 フラッシュメモリ
58 バス
61 CPU
62 入力部
63 RAM
64 表示部
65 フラッシュメモリ
66 通信部
67 プリント部
68 カードリーダ

Claims (5)

  1. 予め設定されたブートプログラムを含むブート部のハッシュ値を記憶すると共に、予め設定された前記ブート部及び前記拡張部のハッシュ値を記憶する第1の記憶手段と、
    入力されるブート部のハッシュ値を算出し、当該算出したブート部のハッシュ値と、前記記憶されたブート部のハッシュ値と、が一致するか否かを判別し、その判別結果を出力すると共に、前記算出したブート部のハッシュ値及び入力される拡張部のハッシュ値と、前記記憶されたブート部及び拡張部のハッシュ値と、が一致するか否かを判別し、その判別結果を出力する第1の制御手段と、を有する耐タンパモジュールと、
    前記ブート部とそれ以外のデータ及びプログラムを含む拡張部とを記憶する第2の記憶手段と、
    前記ブート部に記憶されたプログラムの実行により、前記第2の記憶手段に記憶されたブート部を前記第1の制御手段に入力してその判別結果を取得し、当該判別結果においてハッシュ値が一致する場合に、前記ブート部の使用を伴う端末装置の動作を許可に設定すると共に、前記ブート部に記憶されたプログラムの実行により、前記第2の記憶手段に記憶された拡張部のハッシュ値を算出し、当該算出した拡張部のハッシュ値と、前記第2の記憶手段に記憶されたブート部とを前記第1の制御手段に入力してその判別結果を取得し、当該判別結果においてハッシュ値が一致する場合に、前記記憶されたブート部及び拡張部の使用を伴う端末装置の動作を許可に設定する第2の制御手段と、
    を備える端末装置。
  2. 情報を出力する第1の出力手段を備え、
    前記第2の記憶手段は、端末装置の所属に固有の出力データである第1の固定出力データを記憶し、
    前記拡張部は、前記第1の固定出力データを含み、
    前記第2の制御手段は、前記動作を許可に設定した後に、前記第1の出力手段に所定情報を出力する際に、前記記憶された第1の固定出力データを読み出して当該所定情報を当該第1の固定出力データとともに前記第1の出力手段に出力させる請求項に記載の端末装置。
  3. 情報を出力する第2の出力手段を備え、
    前記第1の記憶手段は、端末装置の所属に固有の出力データである第2の固定出力データを記憶し、
    前記第2の制御手段は、前記動作を許可に設定した後に、前記第2の出力手段に所定情報を出力する際に、前記記憶された第2の固定出力データを読み出して当該所定情報を当該第2の固定出力データとともに前記第2の出力手段に出力させる請求項1または2に記載の端末装置。
  4. 情報を出力する第3の出力手段と、
    端末装置の認証を行うとともに当該端末装置に固有の出力データである第3の固定出力データを提供する認証装置と通信する通信手段と、を備え、
    前記第2の制御手段は、前記動作を許可に設定した後に、前記通信手段を介して認証要求を前記認証装置に送信し、当該認証装置から認証が許可される場合に、前記第3の固定出力データを前記認証装置から受信し、前記第3の出力手段に所定情報を出力する際に、当該所定情報を前記受信された第3の固定出力データとともに前記第3の出力手段に出力させる請求項1または2に記載の端末装置。
  5. コンピュータを、
    予め設定されたブートプログラムを含むブート部のハッシュ値を記憶すると共に、予め設定された前記ブート部及び前記拡張部のハッシュ値を記憶する第1の記憶手段と、
    入力されるブート部のハッシュ値を算出し、当該算出したブート部のハッシュ値と、前記記憶されたブート部のハッシュ値と、が一致するか否かを判別し、その判別結果を出力すると共に、前記算出したブート部のハッシュ値及び入力される拡張部のハッシュ値と、前記記憶されたブート部及び拡張部のハッシュ値と、が一致するか否かを判別し、その判別結果を出力する第1の制御手段と、を有する耐タンパモジュール、
    前記ブート部とそれ以外のデータ及びプログラムを含む拡張部とを記憶する第2の記憶手段、
    前記ブート部に記憶されたプログラムの実行により、前記第2の記憶手段に記憶されたブート部を前記第1の制御手段に入力してその判別結果を取得し、当該判別結果においてハッシュ値が一致する場合に、前記ブート部の使用を伴う端末装置の動作を許可に設定すると共に、前記ブート部に記憶されたプログラムの実行により、前記第2の記憶手段に記憶された拡張部のハッシュ値を算出し、当該算出した拡張部のハッシュ値と、前記第2の記憶手段に記憶されたブート部とを前記第1の制御手段に入力してその判別結果を取得し、当該判別結果においてハッシュ値が一致する場合に、前記記憶されたブート部及び拡張部の使用を伴う端末装置の動作を許可に設定する第2の制御手段、
    として機能させるためのプログラム。
JP2007084113A 2007-03-28 2007-03-28 端末装置及びプログラム Expired - Fee Related JP4893411B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007084113A JP4893411B2 (ja) 2007-03-28 2007-03-28 端末装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007084113A JP4893411B2 (ja) 2007-03-28 2007-03-28 端末装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2008244992A JP2008244992A (ja) 2008-10-09
JP4893411B2 true JP4893411B2 (ja) 2012-03-07

Family

ID=39915752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007084113A Expired - Fee Related JP4893411B2 (ja) 2007-03-28 2007-03-28 端末装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4893411B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5277935B2 (ja) * 2008-12-16 2013-08-28 大日本印刷株式会社 ライセンス管理システム及び方法
CN102131190A (zh) * 2011-03-31 2011-07-20 华为终端有限公司 一种移动终端加密的方法、硬件加密器件及移动终端
WO2013081406A1 (en) * 2011-12-02 2013-06-06 Samsung Electronics Co., Ltd. Method and apparatus for securing touch input
JP5830693B2 (ja) * 2013-12-11 2015-12-09 パナソニックIpマネジメント株式会社 決済端末装置
JP2015114788A (ja) * 2013-12-11 2015-06-22 パナソニックIpマネジメント株式会社 決済端末装置
JP5776023B1 (ja) * 2014-03-10 2015-09-09 パナソニックIpマネジメント株式会社 情報処理装置及び情報処理方法
JP5736549B1 (ja) * 2014-03-11 2015-06-17 パナソニックIpマネジメント株式会社 情報処理装置及び情報処理方法
JP5861069B2 (ja) 2014-03-27 2016-02-16 パナソニックIpマネジメント株式会社 可搬型決済端末装置
JP2015215687A (ja) 2014-05-08 2015-12-03 パナソニックIpマネジメント株式会社 可搬型決済端末装置
JP5685739B1 (ja) * 2014-05-08 2015-03-18 パナソニックIpマネジメント株式会社 可搬型決済端末装置
JP6354438B2 (ja) * 2014-08-08 2018-07-11 大日本印刷株式会社 情報処理装置、情報処理システム及び処理プログラム
JP6245560B2 (ja) * 2015-01-28 2017-12-13 パナソニックIpマネジメント株式会社 決済端末装置
JP6454175B2 (ja) * 2015-02-23 2019-01-16 パナソニックIpマネジメント株式会社 可搬型決済端末装置
JP7100502B2 (ja) 2018-06-13 2022-07-13 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
JP7171339B2 (ja) 2018-09-26 2022-11-15 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP7210238B2 (ja) * 2018-11-15 2023-01-23 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP7242351B2 (ja) 2019-03-11 2023-03-20 キヤノン株式会社 起動時にソフトウェアの改ざん検知処理を省略することが可能な電子機器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2647924B1 (fr) * 1989-06-06 1994-06-17 Bull Cp8 Procede pour verifier l'integrite d'un logiciel ou de donnees, et systeme pour la mise en oeuvre de ce procede
JPH04338823A (ja) * 1991-05-16 1992-11-26 N T T Data Tsushin Kk Icカード利用のソフトモジュール不正改ざん検出方法
JP3293760B2 (ja) * 1997-05-27 2002-06-17 株式会社エヌイーシー情報システムズ 改ざん検知機能付きコンピュータシステム
JP2002300153A (ja) * 2001-03-29 2002-10-11 Matsushita Electric Ind Co Ltd 認証方法、端末内機能要素、端末装置、サーバ、及び、認証システム
US7725703B2 (en) * 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module

Also Published As

Publication number Publication date
JP2008244992A (ja) 2008-10-09

Similar Documents

Publication Publication Date Title
JP4893411B2 (ja) 端末装置及びプログラム
CN100495430C (zh) 生物体认证装置、终端装置及自动交易装置
KR100768754B1 (ko) 휴대용 전자식 청구 및 인증 장치와 이를 위한 방법
KR101661933B1 (ko) 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법
JP6665217B2 (ja) カードリーダとモバイルデバイスとの間のセキュアなセッションの確立
EP1302018B1 (en) Secure transactions with passive storage media
US6895502B1 (en) Method and system for securely displaying and confirming request to perform operation on host computer
US8447991B2 (en) Card authentication system
US8612769B2 (en) Electronic signature method and device
US20120095919A1 (en) Systems and methods for authenticating aspects of an online transaction using a secure peripheral device having a message display and/or user input
US8423783B2 (en) Secure PIN management of a user trusted device
WO2009149715A1 (en) Secure link module and transaction system
US20110022837A1 (en) Method and Apparatus For Performing Secure Transactions Via An Insecure Computing and Communications Medium
CN101170626A (zh) 信息处理装置,信息处理方法,程序以及记录介质
JP4104801B2 (ja) Icカード読取装置及びicカードシステム
JP3588021B2 (ja) Icカード、及びicカード読取装置
JPH0822517A (ja) ハイブリッドカードの改ざん防止方式
US20090200372A1 (en) Method for authenticating micro-processor cards, corresponding micro-processor card, card reader terminal and programs
JP4564943B2 (ja) 生体認証装置、端末装置及び自動取引装置
WO2001095074A2 (en) A method and system for securely displaying and confirming request to perform operation on host
JP2008242922A (ja) 認証装置、認証システム及びプログラム
JP4893410B2 (ja) 端末装置
JP4046918B2 (ja) Icカード、icカード読取装置及びicカードシステム
TW522700B (en) Software protection method
AU2021329996A1 (en) Electronic payments systems, methods and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111013

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111013

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111122

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111205

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees