(57)【要約】【課題】入力装置に入力されたデータが不正に読み取られてしまうことを抑制できる端末装置を提供する。【解決手段】本明細書の端末装置２は、本体１０と、本体１０に着脱可能なキーボード５０とを備える。キーボード５０は、データを入力可能な操作キー６２と、操作キー６２特定のデータが入力される場合に、特定の暗号方式をランダムに決定し、特定の暗号方式を用いて特定のデータを暗号化した特定の暗号化データを生成し、特定の暗号方式に関係する特定の方式コードを生成する、ＣＰＵ５２とを有している。本体１０は、キーボード５０から特定の方式コードと特定の暗号化データを取得し、特定の方式コードを用いて特定の暗号方式を特定し、特定の暗号方式を用いて特定の暗号化データを復号化することによって特定のデータを生成する。【選択図】図１
2014158081.tif 000002
【特許請求の範囲】
【請求項１】
本体と、
本体に着脱可能な入力装置と、を備え、
入力装置は、
データを入力可能な操作部と、
操作部から特定のデータが入力される場合に、特定の暗号方式をランダムに決定し、特定の暗号方式を用いて特定のデータを暗号化した特定の暗号化データを生成し、特定の暗号方式に関係する特定の方式情報を生成する、制御部と、を有しており、
本体は、
入力装置から特定の方式情報と特定の暗号化データを取得し、特定の方式情報を用いて特定の暗号方式を特定し、特定の暗号方式を用いて特定の暗号化データを復号化することによって特定のデータを生成する、
端末装置。
【請求項２】
入力装置は、表示部をさらに有しており、
制御部は、特定の方式情報と特定の暗号化データのうち少なくとも一方が記録された特定の情報コードを生成し、特定の情報コードを表示部に表示させ、
本体は、情報コードを読取可能な読取部をさらに有しており、表示部に表示された特定の情報コードを読取部によって読み取ることによって、特定の方式情報と特定の暗号化データのうち少なくとも一方を取得する、
請求項１に記載の端末装置。
【請求項３】
入力装置は、メモリをさらに有しており、
制御部は、
生成された特定の暗号化データをメモリに一時的に記憶させるとともに、
特定の暗号化データが本体によって取得されることなく、特定の暗号化データをメモリに記憶させてから所定期間が経過する場合に、特定の暗号化データをメモリから削除する、
請求項１又は２に記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示する技術は、端末装置に関する。
【背景技術】
【０００２】
特許文献１には、本体と、本体に着脱可能な入力装置とを備える端末装置が開示されている。入力装置は、操作手段と、蓄電手段と、記憶手段とを備える。入力装置は、操作手段からデータが入力されると、データを予め定められた暗号方式を用いて暗号化して、記憶手段に記憶させる。その後、入力装置が本体に装着されると、入力装置は、記憶手段内の暗号化されたデータを本体に出力する。本体は、予め定められた暗号方式を用いて暗号化されたデータを復号化する。入力装置が本体から取り外され、蓄電手段に蓄えられた電力量が減少して所定値を下回ると、記憶手段内のデータが揮発して消去される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２４２８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術では、暗号方式が予め一つに定められている。そのため、その暗号方式がユーザ以外の者に知られていると、その者によって入力装置から暗号化データが不正に取得されると、その暗号化データから入力されたデータが復号化されてしまう可能性がある。本明細書では、入力装置に入力されたデータが不正に読み取られてしまうことを抑制できる端末装置を提供する。
【課題を解決するための手段】
【０００５】
本明細書が開示する端末装置は、本体と、本体に着脱可能な入力装置とを備える。入力装置は、データを入力可能な操作部と、操作部から特定のデータが入力される場合に、特定の暗号方式をランダムに決定し、特定の暗号方式を用いて特定のデータを暗号化した特定の暗号化データを生成し、特定の暗号方式に関係する特定の方式情報を生成する制御部とを有している。本体は、入力装置から特定の暗号方式と特定の暗号化データを取得し、特定の方式情報を用いて特定の暗号方式を特定し、特定の暗号方式を用いて特定の暗号化データを復号化することによって特定のデータを生成する。
【０００６】
上記の端末装置では、入力装置の制御部は、操作部から特定のデータが入力される場合に、特定の暗号方式をランダムに決定し、特定の暗号方式を用いて特定のデータを暗号化した特定の暗号化データを生成する。入力装置の操作部から特定のデータが入力される毎に、特定の暗号方式がランダムに決定されるため、例えば、ユーザ以外の者に入力装置が持ち去られたとしても、暗号方式が予め一つに定められている従来の構成と比べて、特定の暗号方式が解明され難い。そのため、入力装置に入力されたデータが不正に読み取られてしまうことを抑制することができる。
【図面の簡単な説明】
【０００７】
【図１】第１実施例の端末装置２の構成を示すブロック図。
【図２】第１実施例のキーボード５０のＣＰＵ５２が実行する処理を示すフローチャート。
【図３】特定の方式コード及び特定の暗号方式の決定方法の例を説明する図。
【図４】第１実施例の本体１０のＣＰＵ１２が実行する処理を示すフローチャート。
【図５】第２実施例のキーボード５０のＣＰＵ５２が実行する処理を示すフローチャート。
【図６】第２実施例の本体１０のＣＰＵ１２が実行する処理を示すフローチャート。
【発明を実施するための形態】
【０００８】
以下に説明する実施例の主要な特徴を列記しておく。なお、以下に示す技術要素は、それぞれ独立した技術要素であって、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。
【０００９】
（特徴１）入力装置は、表示部をさらに有していてもよい。制御部は、特定の方式情報と特定の暗号化データのうち少なくとも一方が記録された特定の情報コードを生成し、特定の情報コードを表示部に表示させてもよい。本体は、情報コードを読取可能な読取部をさらに有しており、表示部に表示された特定の情報コードを読取部によって読み取ることによって、特定の方式情報と特定の暗号化データのうち少なくとも一方を取得してもよい。
【００１０】
例えば、本体が入力装置と通信を行うことによって、特定の方式情報と特定の暗号化データの両方を入力装置から取得する構成を採用する場合、本体と入力装置との間の通信がユーザ以外の者によって傍受される可能性がある。この点、上記特徴１の構成によると、本体は、特定の方式情報と特定の暗号化データのうち少なくとも一方を取得するためには、入力装置の表示部に表示された特定の情報コードを読取部によって読み取る必要がある。そのため、仮に本体と入力装置との間の通信がユーザ以外の者によって傍受されたとしても、特定の方式情報と特定の暗号化データの両方が同時に傍受されることはない。また、仮に、ユーザ以外の者に入力装置の表示部に表示された情報コードが盗み見られたとしても、情報コードに記録された情報が即座に知られることもない。そのため、入力装置に入力されたデータが不正に読み取られてしまうことを効果的に抑制することができる。
【００１１】
（特徴２）入力装置は、メモリをさらに有していてもよい。制御部は、生成された特定の暗号化データをメモリに一時的に記憶させるとともに、特定の暗号化データが本体によって取得されることなく、特定の暗号化データをメモリに記憶させてから所定期間が経過する場合に、特定の暗号化データをメモリから削除してもよい。
【００１２】
上記特徴２の構成によると、所定期間を適切に設定することにより、仮に、ユーザ以外の者に入力装置が持ち去られたとしても、その者が特定の暗号方式を解明する前に特定の暗号化データをメモリから削除することができる。入力装置に入力されたデータが不正に読み取られてしまうことをより効果的に抑制することができる。
【実施例】
【００１３】
（第１実施例）
（装置構成：図１）
図１に示す端末装置２は、本体１０と、キーボード５０を備える。キーボード５０は本体１０に着脱可能である。端末装置２は、ＩＣカードを用いて決済処理を行う装置である。
【００１４】
本体１０は、ＣＰＵ１２と、メモリ１４と、電池１６と、表示器１８と、プリンタ２０と、外部インターフェイス２２と、カードリーダ２４と、情報コードリーダ２６と、キーボードインターフェイス２８と、操作キー３０とを備える。
【００１５】
ＣＰＵ１２は、メモリ１４内のプログラムに従って様々な処理を実行する。ＣＰＵ１２が実行する処理の内容は後で詳しく説明する。
【００１６】
メモリ１４は、不揮発性メモリであって、様々なプログラムを記憶している。また、メモリ１４は、様々な情報（例えば、後述の特定の方式コード、特定の暗号化データ、各種暗号の規格、各種暗号方式の決定パターンなど）を記憶する領域を有している。
【００１７】
電池１６は、本体１０の各要素に電力を供給する。表示器１８は、様々な情報を表示する。プリンタ２０は、ＣＰＵ１２の指示に従ってレシート等の印刷を行う。
【００１８】
外部インターフェイス２２は、図示しない通信網（例えばインターネット）と接続されている。通信網には、図示しないサーバが接続されている。そのため、本体１０は、外部インターフェイス２２及び通信網を介して、サーバと通信を行うことができる。
【００１９】
カードリーダ２４は、非接触型ＩＣカードを読み取ることができる。他の例では、カードリーダ２４は、接触型ＩＣカードを読み取り可能であってもよい。また、さらに他の例では、カードリーダ２４は、磁気カードを読み取り可能であってもよい。
【００２０】
情報コードリーダ２６は、バーコードや２次元コード等の各種情報コードを読み取ることができる。
【００２１】
キーボードインターフェイス２８は、キーボード５０のＣＰＵ５２をＣＰＵ１２と接続するためのインターフェイスである。キーボードインターフェイス２８には端子３２が接続されている。端子３２は、本体１０のケース表面に露出している。
【００２２】
操作キー３０は、複数個のボタンを備える。本体１０の利用者は、操作キー３０を操作して、本体１０に様々な情報を入力することができる。
【００２３】
キーボード５０は、ＣＰＵ５２と、メモリ５４と、電池５６と、表示器５８と、本体インターフェイス６０と、操作キー６２とを備える。
【００２４】
ＣＰＵ５２は、メモリ５４内のプログラムに従って様々な処理を実行する。ＣＰＵ５２が実行する処理の内容は後で詳しく説明する。
【００２５】
メモリ５４は、不揮発性メモリであって、様々なプログラムを記憶している。また、メモリ５４は、様々な情報（例えば、後述の特定の方式コード、特定の暗号化データ、各種暗号の規格、各種暗号方式の決定パターンなど）を記憶する領域を有している。
【００２６】
電池５６は、キーボード５０の各要素に電力を供給する。表示器５８は、様々な情報（例えば、後述の特定の情報コードなど）を表示する。
【００２７】
本体インターフェイス６０は、キーボード５０のＣＰＵ５２を本体１０のＣＰＵ１２と接続するためのインターフェイスである。本体インターフェイス６０には端子６４が接続されている。端子６４は、キーボード５０のケース表面に露出している。従って、本体１０にキーボード５０を据え付ける（装着する）と、本体１０の端子３２とキーボード５０の端子６４とが接続される。これにより、本体１０のＣＰＵ１２とキーボード５０のＣＰＵ５２とが、キーボードインターフェイス２８、端子３２、端子６４、及び、本体インターフェイス６０を介して通信可能に接続される。
【００２８】
操作キー６２は、複数個のボタンを備える。キーボード５０の利用者は、操作キー６２を操作して、キーボード５０に様々な情報を入力することができる。
【００２９】
続いて、図２〜図４を参照して、端末装置２を用いて決済処理を行う場合において、キーボード５０のＣＰＵ５２が実行する処理、及び、本体１０のＣＰＵ１２が実行する処理について説明する。図２〜図４で説明する処理は、以下に説明する例のように、商品の販売に伴って決済処理が行われるような状況で行われる。即ち、まず、商店の販売員が、顧客が購入を希望する商品に印刷されている情報コードを本体１０の情報コードリーダ２８に読み取らせる。これにより、本体１０のＣＰＵ１２は、商品の価格等の情報を取得する。次いで、販売員は、顧客から電子マネーが記憶されたＩＣカードを受け取り、そのＩＣカードをカードリーダ２４に読み取らせる。これにより、本体１０のＣＰＵ１２は、ＩＣカードのカードＩＤや、カードに記憶されている電子マネーの残高等、必要なカード情報を取得する。その後、販売員は、ＩＣカードを顧客に返却するとともに、キーボード５０を本体１０から取り外して顧客に手渡し、顧客に特定のデータ（例えばＩＣカードの暗証コード）の入力を求める。図２〜図４の処理は、上記の例のように、キーボード５０に特定のデータが入力されることが求められる状況で開始される。以下、上記の例に沿って、各処理を説明する。
【００３０】
（キーボード５０のＣＰＵ５２が実行する処理：図２）
まず、図２を参照して、キーボード５０のＣＰＵ５２が実行する処理について説明する。図２の処理は、本体１０のＣＰＵ１２が、商品の価格等の情報、及び、必要なカード情報を取得した後に、キーボード５０が本体１０から取り外されたことをトリガとして開始される。キーボード５０が本体１０から取り外されると、キーボード５０のＣＰＵ５２は、本体インターフェイス６０を介して、キーボード５０が本体１０から取り外されたことを検出することができる。ＣＰＵ５２は、キーボード５０が本体１０から取り外されたことを検出すると、図２のＳ１０の処理を開始する。
【００３１】
Ｓ１０では、ＣＰＵ５２は、特定のデータが入力されることを監視する。このとき、ＣＰＵ５２は、表示器５８に、特定のデータの文字数に対応する所定の文字数の入力欄を表示させている。顧客によって特定のデータが入力されると、ＣＰＵ５２はＳ１０でＹＥＳと判断し、Ｓ１２に進む。
【００３２】
Ｓ１２では、ＣＰＵ５２は、入力された特定のデータをメモリ５４に記憶させる。次いで、Ｓ１４では、ＣＰＵ５２は、特定のデータを暗号化するための暗号方式（以下、「特定の暗号方式」と呼ぶ）をランダムに決定する。具体的には、ＣＰＵ５２は、方式コード（以下、「特定の方式コード」と呼ぶ）をランダムに決定することで、特定の暗号方式を決定する。特定の暗号方式は、複数の情報を組合せて構成されており、組合される複数の情報には、暗号の規格（「ＡＥＳ」、「ＤＥＳ」、「ＦＥＡＬ」、「ＩＤＥＡ」等）、暗号化された後の特定のデータの文字数、及び、特定のデータに対して繰り返し暗号化処理を行う回数が含まれている。即ち、特定の方式コードとは、上記の特定の暗号方式に対応する文字列である。特定の方式コードについては、後で詳しく説明する。また、以下、本明細書では、暗号化された後の特定のデータを「特定の暗号化データ」と呼び、特定のデータに対して繰り返し暗号化処理を行う回数を「処理回数」と呼ぶ場合がある。
【００３３】
（特定の方式コード及び特定の暗号方式の決定方法の例：図３）
ここで、図３を参照して、Ｓ１４における特定の方式コード及び特定の暗号方式の決定方法の例について説明する。ＣＰＵ５２は、まず、特定の暗号方式を決定するために、所定の文字数を有する文字列（すなわち、特定の方式コード）をランダムに決定する。図３の例Ａでは、ＣＰＵ５２は、特定の方式コードとして文字列「１、０、２、４、６・・・・２」を決定する。文字列は乱数列と言い換えてもよい。文字列の先頭の文字は、特定の暗号方式の決定方法のパターンを表す。即ち、文字列の先頭の文字に応じて、特定の暗号方式の決定方法のパターンが変化する。例Ａでは、先頭の文字が「１」である。先頭の文字が「１」である場合、２番目の文字が暗号の規格（「ＡＥＳ」、「ＤＥＳ」等）、３番目の文字が暗号化された後の特定のデータの文字数（特定の暗号化データの文字数）、４番目の文字が入力された特定のデータに対して繰り返し暗号化処理を行う回数（処理回数）を示す。なお、先頭の文字が「１」である例Ａのパターンでは、５番目以降の文字は何も意味を有していない。
【００３４】
例Ａのパターン（先頭の文字が「１」の場合のパターン）では、２番目の文字が偶数の場合には暗号の規格を「ＡＥＳ」に決定し、２番目の文字が奇数の場合には暗号の規格を「ＤＥＳ」に決定する。図の例では、２番目の文字は「０」であるため、暗号の規格を「ＡＥＳ」に決定する。
【００３５】
例Ａのパターンでは、３番目の文字が「０」であれば特定の暗号化データの文字数を「５」に決定し、３番目の文字が「１」であれば特定の暗号化データの文字数を「１０」に決定する。３番目の文字が「２」以降の場合も、同様に、対応する所定の文字数に決定する。図の例では、３番目の文字が「２」であるため、特定の暗号化データの文字数を「１５」に決定する。
【００３６】
例Ａのパターンでは、４番目の文字が「０」であれば処理回数を「１」に決定し、４番目の文字が「１」であれば処理回数を「２」に決定する。４番目の文字が「２」以降の場合も、同様に、対応する所定の処理回数に決定する。図の例では、４番目の文字が「４」であるため、処理回数を「１０」に決定する。
【００３７】
この結果、特定の方式コード、即ち文字列「１、０、２、４、６・・・・２」に対応する特定の暗号方式が決定される。図の例では、特定の暗号方式は、暗号の規格「ＤＥＳ」、特定の暗号化データの文字数「１５」、処理回数「１０」に決定される。
【００３８】
図３の例Ｂでは、ＣＰＵ５２は、特定の方式コードとして文字列「２、５、１、８、４・・・・７」をランダムに決定する。上記の通り、先頭の文字は、特定の暗号方式の決定方法のパターンを表す。即ち、例Ｂでは、先頭の文字が「２」である。先頭の文字が「２」である場合のパターンでは、２番目の文字と３番目の文字の合計が処理回数、４番目の文字が特定の暗号化データの文字数、５番目の文字が暗号の規格（「ＡＥＳ」、「ＤＥＳ」等）を示す。なお、先頭の文字が「２」である例Ｂのパターンでは、６番目以降の文字は何も意味を有していない。
【００３９】
例Ｂのパターンでは、２番目の文字と３番目の文字の合計が処理回数を示す。図の例では、２番目の文字「５」と３番目の文字「１」の合計が「６」である。そのため、図の例では、処理回数を「６」に決定する。
【００４０】
例Ｂのパターンでは、４番目の文字が特定の暗号化データの文字数を示す。図の例では、４番目の文字は「８」であるため、暗号化後の特定のデータが「２５」に決定される。
【００４１】
例Ｂのパターンでは、５番目の文字が暗号の規格を示す。図の例では、５番目の文字は「４」であるため、暗号の規格が「ＡＥＳ」に決定される。
【００４２】
この結果、特定の方式コード、すなわち文字列「２、５、１、８、４・・・・７」に対応する特定の暗号方式が決定される。図の例では、特定の暗号方式は、暗号の規格「ＡＥＳ」、暗号化後の特定のデータの文字数「２５」、暗号化処理を行う回数「６」に決定される。
【００４３】
また、図３には例示していないが、ＣＰＵ５２が決定した文字列の先頭の文字が「３」である場合、例Ａ、Ｂとは異なる暗号方式の決定パターンが採用される。ＣＰＵ５２が決定した文字列の先頭の文字が「４」以降の場合も、それぞれ異なる決定パターンが採用される。本実施例では、上述の各決定パターンは、本体１０のメモリ１４とキーボード５０のメモリ５４に共に記憶されている。
【００４４】
上記のように、図２のＳ１４では、ＣＰＵ５２は、特定のデータを暗号化するための特定の暗号方式をランダムに決定するとともに、特定の暗号方式に対応する特定の方式コードを決定する。ＣＰＵ５２は、決定された特定の方式コードをメモリ５４に記憶させる。
【００４５】
次いで、Ｓ１６では、ＣＰＵ５２は、Ｓ１４で決定された特定の暗号方式を用いて、Ｓ１２でメモリ５４に入力された特定のデータを暗号化し、特定の暗号化データを生成する。特定の暗号化データは、特定の暗号方式を用いない限り復号化できない。ＣＰＵ５２は、生成された特定の暗号化データをメモリ５４に記憶させる。
【００４６】
次いで、Ｓ１８では、ＣＰＵ５２は、Ｓ１４で決定された特定の方式コードを情報コードに変換する。以下、特定の方式コードが変換された情報コードを「特定の情報コード」と呼ぶ。即ち、ＣＰＵ５２は、特定の方式コードが記録された特定の情報コードを生成する。生成される特定の情報コードは２次元コードである。さらに、ＣＰＵ５２は、生成された特定の情報コードをメモリ５４に記憶させる。それに伴い、ＣＰＵ５２は、Ｓ１４でメモリ５４に記憶させた特定の方式コードをメモリ５４から削除する。
【００４７】
次いで、Ｓ２０では、ＣＰＵ５２は、Ｓ１８で生成された特定の情報コードを表示器５８に表示させる。
【００４８】
次いで、Ｓ２２、Ｓ２４では、ＣＰＵ５２は、Ｓ２０で特定の情報コードを表示器５８に表示させてから所定期間が経過するまでの間に、本体１０から送信されたリクエスト信号を受信することを監視する。後で詳しく説明するように、キーボード５０の表示器５８に特定の情報コードが表示された後（Ｓ２０）、本体１０の情報コードリーダ２６によって、キーボード５０の表示器５８に表示された特定の情報コードが読み取られ（図４のＳ４０でＹＥＳ）、その後、本体１０にキーボード５０が装着される（図４のＳ４４でＹＥＳ）と、本体１０のＣＰＵ１２は、キーボード５０に対して所定のリクエスト信号を送信する。キーボード５０のＣＰＵ５２は、キーボードインターフェイス２８、端子３２、端子６４、及び、本体インターフェイス６０を介して、リクエスト信号を受信する。特定の情報コードを表示器５８に表示させてから所定期間が経過する前に、ＣＰＵ５２がリクエスト信号を受信すると、ＣＰＵ５２は図２のＳ２２でＹＥＳと判断し、Ｓ２６に進む。一方、ＣＰＵ５２がリクエスト信号を受信することなく所定期間が経過すると、ＣＰＵ５２はＳ２４でＹＥＳと判断し、Ｓ２６をスキップしてＳ２８に進む。この場合、ＣＰＵ５２は、表示器５８への特定の情報コードの表示を終了する。
【００４９】
Ｓ２６では、ＣＰＵ５２は、本体１０に対して、メモリ５４内の特定の暗号化データを送信する。
【００５０】
Ｓ２８では、ＣＰＵ５２は、メモリ５４内の特定の暗号化データを、メモリ５４から削除する。同時に、ＣＰＵ５２は、メモリ５４内の特定の情報コードもメモリ５４から削除する。Ｓ２８を終えると、ＣＰＵ５２は、図２の処理を終了する。
【００５１】
（本体１０のＣＰＵ１２によって実行される処理：図４）
続いて、図４を参照して、本体１０のＣＰＵ１２が実行する処理について説明する。上記の通り、図４の処理は、販売員がキーボード５０を本体１０から取り外して顧客に手渡し、顧客に特定のデータ（例えばＩＣカードの暗証コード）の入力を求める状況で開始される。キーボード５０が本体１０から取り外されると、本体１０のＣＰＵ１２は、キーボードインターフェイス２８を介して、キーボード５０が本体１０から取り外されたことを検出することができる。ＣＰＵ１２は、キーボード５０が本体１０から取り外されたことを検出すると、図４のＳ４０の処理を開始する。
【００５２】
Ｓ４０では、ＣＰＵ１２は、キーボード５０の表示器５８に表示された特定の情報コードが、本体１０の情報コードリーダ２６によって読み取られることを監視する。上記の通り、顧客がキーボード５０に特定のデータを入力すると、その後、キーボード５０の表示器５８に特定の情報コードが表示される（図２のＳ１０〜Ｓ２０参照）。販売員は、顧客からキーボード５０を受け取り、本体１０の情報コードリーダ２６を操作して、キーボード５０の表示器５８に表示された特定の情報コードを読み取ることができる。情報コードリーダ２６によって特定の情報コードが読み取られると、ＣＰＵ１２は、図４のＳ４０でＹＥＳと判断し、Ｓ４２に進む。
【００５３】
Ｓ４２では、ＣＰＵ１２は、読み取られた特定の情報コードに記録された特定の方式コードを取得する。ＣＰＵ１２は、取得した特定の方式コードをメモリ１４に記憶させる。
【００５４】
次いで、Ｓ４４、Ｓ４５では、ＣＰＵ１２は、特定の方式コードを取得してから所定期間が経過するまでの間に、キーボード５０が本体１０に装着されることを監視する。販売員は、顧客から受け取った（返却された）キーボード５０を本体１０のケースに据え付けることができる。キーボード５０が本体１０に据え付けられると、本体１０の端子３２とキーボード５０の端子６４とが接続される。これにより、本体１０のＣＰＵ１２とキーボード５０のＣＰＵ５２とが、キーボードインターフェイス２８、端子３２、端子６４、及び、本体インターフェイス６０を介して通信可能に接続される。この場合、本体１０のＣＰＵ１２は、キーボードインターフェイス２８を介して、本体１０にキーボード５０が装着されたことを検出することができる。ＣＰＵ１２は、Ｓ４２で特定の方式コードを取得してから所定期間が経過する前に、本体１０にキーボード５０が装着されたことを検出すると、Ｓ４４でＹＥＳと判断し、Ｓ４６に進む。一方、ＣＰＵ１２が、本体１０にキーボード５０が装着されたことを検出することなく所定期間が経過すると、ＣＰＵ１２はＳ４５でＹＥＳと判断し、処理をエラー終了する。この場合、ＣＰＵ１２は、Ｓ４２で取得した特定の方式コードをメモリ１４から削除する。
【００５５】
Ｓ４６では、ＣＰＵ１２は、キーボード５０に対して所定のリクエスト信号を送信する。
【００５６】
Ｓ４８では、ＣＰＵ１２は、キーボード５０から送信された特定の暗号化データを受信することを監視する。上記の通り、キーボード５０のＣＰＵ５２は、リクエスト信号を受信すると（図２のＳ２２でＹＥＳ）、本体１０に対して、特定の暗号化データを送信する。本体１０のＣＰＵ１２は、本体インターフェイス６０、端子６４、端子３２、及び、キーボードインターフェイス２８を介して、特定の暗号化データを受信する。特定の暗号化データを受信すると、ＣＰＵ１２はＳ４８でＹＥＳと判断し、Ｓ５０に進む。この際、ＣＰＵ１２は、受信した特定の暗号化データをメモリ１４に記憶させる。
【００５７】
Ｓ５０では、ＣＰＵ１２は、Ｓ４２で取得された特定の方式コードに対応する特定の暗号方式を特定する。具体的には、ＣＰＵ１２は、Ｓ４２で取得された特定の方式コードと、メモリ１４に記憶されている暗号方式の決定パターンとを対比して、特定の方式コードが示す文字列（例えば図３の例Ａの「１、０、２、４、６・・・２」）に対応する特定の暗号方式（例えば、暗号の規格「ＤＥＳ」、特定の暗号化データの文字数「１５」、処理回数「１０」（図３の例Ａ参照））を特定する。
【００５８】
次いで、Ｓ５２では、ＣＰＵ１２は、Ｓ５０で特定された特定の暗号方式を用いて、特定の暗号化データを復号化する。これにより、ＣＰＵ１２は、特定のデータ（顧客がキーボード５０に入力したデータ）を取得することができる。ＣＰＵ１２は、取得された特定のデータをメモリ１４に記憶させる。
【００５９】
次いで、Ｓ５４では、ＣＰＵ１２は、Ｓ５２で取得された特定のデータを用いた所定の認証（例えば、ＩＣカードの認証コードの認証）が成功するか否か判断する。認証が成功する場合、ＣＰＵ１２は、Ｓ５４でＹＥＳと判断し、Ｓ５６に進み、所定の決済処理を実行する。Ｓ５６の決済処理を終えると、ＣＰＵ１２は、図４の処理を終了する。一方、認証が失敗する場合、ＣＰＵ１２は、図４の処理をエラー終了する。ＣＰＵ１２は、図４の処理を終了する際、図４の処理の実行に伴ってメモリ１４に記憶された各情報（例えば、特定のデータ、特定の暗号化データ、特定の方式データ等）をメモリ１４から削除する。
【００６０】
以上、本実施例の端末装置２について詳しく説明した。本実施例では、キーボード５０は、特定のデータが入力されると（図２のＳ１０でＹＥＳ）、特定の暗号方式をランダムに決定し（Ｓ１４）、その特定の暗号方式を用いて特定のデータを暗号化して特定の暗号化データを生成する（Ｓ１６）。キーボード５０に特定のデータが入力される毎に、特定の暗号方式がランダムに決定されるため、例えば、販売員や顧客以外の者（以下「第三者」と呼ぶ）にキーボード５０が持ち去られたとしても、暗号方式が予め一つに定められている従来の構成と比べて、特定の暗号方式が解明され難い。そのため、キーボード５０に入力された特定のデータが不正に読み取られてしまうことを抑制することができる。
【００６１】
また、本実施例では、キーボード５０は、特定の方式コードが記録された特定の情報コードを生成し（図２のＳ１８）、特定の情報コードを表示器５８に表示させる（Ｓ２０）。本体１０は、表示器５８に表示された特定の情報コードを情報コードリーダ２６によって読み取ることによって、特定の方式コードを取得する（図４のＳ４０でＹＥＳ、Ｓ４２）。一方、キーボード５０は、特定の暗号化コードを、本体インターフェイス６０等を介して、本体１０に送信する（図２のＳ２６、図４のＳ４８でＹＥＳ）。そのため、仮に、本体１０とキーボード５０の間の通信が第三者に傍受されたとしても、特定の方式コードと、特定の暗号化データの両方が同時に傍受されることはない。また、仮に、第三者にキーボード５０の表示器５８に表示された特定の情報コードが盗み見られたとしても、特定の情報コードに記録された特定の方式コードが即座に知られることもない。そのため、キーボード５０に入力された特定のデータが不正に読み取られてしまうことを効果的に抑制することができる。
【００６２】
また、本実施例では、キーボード５０は、生成した特定の暗号化データをメモリ５４に記憶すると共に（図２のＳ１６）、生成した特定の情報コードを表示器５８に表示させる（Ｓ２０）。キーボード５０は、特定の情報コードを表示器５８に表示させてから所定期間が経過するまでの間に、本体１０からリクエスト信号を受信しない場合（Ｓ２４でＹＥＳ）、特定の暗号化データをメモリ５４から削除する（Ｓ２８）。即ち、本実施例では、キーボード５０は、特定の情報コードを表示器５８に表示させてから所定期間が経過するまでの間に、本体１０の情報コードリーダ２６によって特定の情報コードが読み取られ、かつ、本体１０にキーボード５０が装着されなかった場合に（Ｓ２４でＹＥＳ）、特定の暗号化データと特定の情報コードをメモリ５４から削除する（Ｓ２８）。本実施例では、キーボード５０のＣＰＵ５２が特定の情報コードを表示器５８に表示させるタイミングは、生成した特定の暗号化データをメモリ５４に記憶させるタイミングとほぼ同時である。即ち、本実施例の特定の情報コードを表示器５８に表示させてから所定期間は、請求項の「特定の暗号化データをメモリに記憶させてから所定期間」の一例である。この構成によると、仮に、第三者にキーボード５０が持ち去られたとしても、その者が特定の暗号方式を解明する前に特定の暗号化データをメモリ５４から削除することができる。キーボード５０に入力された特定のデータが不正に読み取られてしまうことをより効果的に抑制することができる。
【００６３】
本実施例の構成と請求項の記載との対応関係を記載しておく。キーボード５０が「入力装置」の一例である。キーボード５０の操作キー６２及びＣＰＵ５２が、それぞれ、「操作部」及び「制御部」の一例である。特定の方式コードが「特定の方式情報」の一例である。本体１０の情報コードリーダ２６が、「読取部」の一例である。
【００６４】
（第２実施例）
続いて、第２実施例について、第１実施例と異なる点を中心に説明する。本実施例の端末装置２も、その基本的構成は第１実施例の構成と共通する（図１参照）。本実施例では、キーボード５０のＣＰＵ５２が実行する処理の内容の一部、及び、本体１０のＣＰＵ１２が実行する処理の内容の一部が、第１実施例とは異なる。即ち、本実施例では、キーボード５０は、特定の方式コード及び特定の暗号化データの双方が記録された特定の情報コードを生成して表示器５８に表示させ、本体１０は、表示器５８に表示された特定の情報コードを情報コードリーダ２６で読み取ることによって、特定の方式コード及び特定の暗号化コードを取得する点が、第１実施例と異なる。以下、図５、図６を参照して、本実施例のキーボード５０のＣＰＵ５２が実行する処理、及び、本体１０のＣＰＵ１２が実行する処理について説明する。
【００６５】
（キーボード５０のＣＰＵ５２が実行する処理：図５）
Ｓ７０〜Ｓ７６までの各処理は、図２のＳ１０〜Ｓ１６までの各処理と同様である。Ｓ７８では、ＣＰＵ５２は、Ｓ７４で決定された特定の方式コード、及び、Ｓ７６で生成された特定の暗号化データを、情報コード（以下、本実施例において「特定の情報コード」と呼ぶ）に変換する。即ち、ＣＰＵ５２は、特定の方式コード及び特定の暗号化データが記録された特定の情報コードを生成する。さらに、ＣＰＵ５２は、生成された特定の情報コードをメモリ５４に記憶させる。それに伴い、ＣＰＵ５２は、Ｓ７４でメモリ５４に記憶させた特定の方式コード、及び、Ｓ７６でメモリ５４に記憶させた特定の暗号化データを、メモリ５４から削除する。
【００６６】
次いで、Ｓ８０では、ＣＰＵ５２は、Ｓ７８で生成された特定の情報コードを表示器５８に表示させる。
【００６７】
次いで、Ｓ８２、Ｓ８４では、ＣＰＵ５２は、Ｓ８０で特定の情報コードを表示器５８に表示させてから所定期間が経過するまでの間に、キーボード５０が本体１０に装着されたことを検知することを監視する。後述するように、キーボード５０の表示器５８に特定の情報コードが表示された後（Ｓ８０）、本体１０の情報コードリーダ２６によって、キーボード５０の表示器５８に表示された特定の情報コードが読み取られ（図６のＳ９０でＹＥＳ）ると、本体１０にキーボード５０が装着される（図６のＳ９４でＹＥＳ）。このため、Ｓ８０で特定の情報コードを表示器５８に表示させると、キーボード５０のＣＰＵ５２は、本体インターフェイス６０を介して、本体１０にキーボード５０が装着されたことを監視する。ＣＰＵ５２は、Ｓ８０で特定の情報コードを表示器５８に表示させてから所定期間が経過するまでの間に、本体１０にキーボード５０が装着されたことを検出すると、Ｓ８２でＹＥＳと判断し、Ｓ８６に進む。この場合のＳ８６では、ＣＰＵ５２は、メモリ５４内の特定の情報コードをメモリ５４から削除する。Ｓ８６を終えると、ＣＰＵ５２は、図５の処理を終了する。即ち、本実施例では、特定の情報コードを表示器５８に表示させてから所定期間が経過する前に本体１０にキーボード５０が装着された場合（Ｓ８２でＹＥＳ）に、メモリ５４から、ただちに特定の情報コードを削除することができる（Ｓ８６）。本体１０にキーボード５０が装着されたことが確認された時点で、メモリ５４から迅速に特定の情報コードを削除することにより、機密情報である特定のデータが不正に読み取られることを効果的に抑制することができる。Ｓ８６を終えると、ＣＰＵ５２は、図５の処理を終了する。
【００６８】
一方、ＣＰＵ５２が、本体１０にキーボード５０が装着されたことを検出することなく所定期間が経過すると、ＣＰＵ５２はＳ８４でＹＥＳと判断し、Ｓ８６に進む。この場合のＳ８６では、ＣＰＵ５２は、メモリ５４内の特定の情報コードをメモリ５４から削除する。所定期間が経過するまでの間に本体１０にキーボード５０が装着されない場合には、第三者がキーボード５０を持ち去った等の不測の事態が生じている可能性がある。従って、所定期間内に本体１０にキーボード５０が装着されない場合（Ｓ８４でＹＥＳ）に、メモリ５４内の特定の情報コードをメモリ５４から削除することにより（Ｓ８６）、機密情報である特定のデータが不正に読み取られることを効果的に抑制することができる。Ｓ８６を終えると、ＣＰＵ５２は、図５の処理を終了する。
【００６９】
（本体１０のＣＰＵ１２が実行する処理：図６）
図６のＳ９０では、ＣＰＵ１２は、キーボード５０の表示器５８に表示された特定の情報コード（図５のＳ８０）が、本体１０の情報コードリーダ２６によって読み取られることを監視する。情報コードリーダ２６によって特定の情報コードが読み取られると、ＣＰＵ１２は、図６のＳ９０でＹＥＳと判断し、Ｓ９２に進む。
【００７０】
Ｓ９２では、ＣＰＵ１２は、読み取られた特定の情報コードに記録された特定の方式コード及び特定の暗号化データを取得する。ＣＰＵ１２は、取得した特定の方式コード及び特定の暗号化コードをメモリ１４に記憶させる。
【００７１】
次いで、Ｓ９４、Ｓ９５では、ＣＰＵ１２は、特定の方式コード及び特定の暗号化データを取得してから所定期間が経過するまでの間に、キーボード５０が本体１０に装着されることを監視する。第１実施例と同様に、キーボード５０が本体１０に据え付けられると、本体１０のＣＰＵ１２は、キーボードインターフェイス２８を介して、本体１０にキーボード５０が装着されたことを検出することができる。ＣＰＵ１２は、特定の方式コード及び特定の暗号化データを取得してから所定期間が経過する前に本体１０にキーボード５０が装着されたことを検出すると、Ｓ９４でＹＥＳと判断し、Ｓ９６以降の処理を進める。所定期間が経過するまでの間に本体１０にキーボード５０が装着されない場合には、第三者がキーボード５０を持ち去った等の不測の事態が生じている可能性がある。本実施例では、ＣＰＵ１２は、特定の方式コード及び特定の暗号化データを取得してから所定期間内に本体１０にキーボード５０が装着されることをトリガとして、Ｓ９６以降の処理を進めるようにしている。そのため、機密情報である特定のデータが不正に読み取られることを効果的に抑制することができる。
【００７２】
一方、ＣＰＵ１２が、本体１０にキーボード５０が装着されたことを検出することなく所定期間が経過すると、ＣＰＵ１２はＳ９５でＹＥＳと判断し、処理をエラー終了する。この場合、ＣＰＵ１２は、Ｓ９２で取得した特定の方式コード及び特定の暗号化データをメモリ１４から削除する。上記の通り、所定期間が経過するまでの間に本体１０にキーボード５０が装着されない場合には、第三者がキーボード５０を持ち去った等の不測の事態が生じている可能性がある。本実施例では、所定期間内に本体１０にキーボード５０が装着されない場合（Ｓ９５でＹＥＳ）に、Ｓ９２で取得した特定の方式コード及び特定の暗号化データをメモリ１４から削除するため、機密情報である特定のデータが不正に読み取られることを効果的に抑制することができる。
【００７３】
Ｓ９６では、ＣＰＵ１２は、Ｓ９２で取得された特定の方式コードに対応する特定の暗号方式を特定する。特定の手法は、図４のＳ５０と同様である。
【００７４】
次いで、図６のＳ９８では、Ｓ９６で特定された特定の暗号方式を用いて、特定の暗号化データを復号化する。これにより、ＣＰＵ１２は、特定のデータ（顧客がキーボード５０に入力したデータ）を取得することができる。ＣＰＵ１２は、取得された特定のデータをメモリ１４に記憶させる。続くＳ１００、Ｓ１０２の各処理は、図４のＳ５４、Ｓ５６の各処理と同様である。
【００７５】
以上、本実施例の端末装置２について詳しく説明した。本実施例の端末装置２による場合も、第１実施例の端末装置２とほぼ同様の作用効果を発揮することができる。また、本実施例では、キーボード５０は、特定の方式コード及び特定の暗号化データの双方が記録された特定の情報コードを生成して表示器５８に表示させ、本体１０は、表示器５８に表示された特定の情報コードを情報コードリーダ２６で読み取ることによって、特定の方式コード及び特定の暗号化コードを取得する。そのため、仮に、本体１０とキーボード５０の間の通信が第三者に傍受されたとしても、特定の方式コード及び特定の暗号化データが傍受されることはない。また、仮に、第三者にキーボード５０の表示器５８に表示された特定の情報コードが盗み見られたとしても、特定の情報コードに記録された特定の方式コード及び特定の暗号化コードが即座に知られることもない。そのため、キーボード５０に入力された特定のデータが不正に読み取られてしまうことを効果的に抑制することができる。
【００７６】
また、本実施例でも、キーボード５０のＣＰＵ５２が特定の情報コードを表示器５８に表示させるタイミング（図５のＳ８０）は、特定の暗号化データをメモリ５４に記憶させるタイミング（Ｓ７６）とほぼ同時である。即ち、本実施例の特定の情報コードを表示器５８に表示させてから所定期間は、請求項の「特定の暗号化データをメモリに記憶させてから所定期間」の一例である。
【００７７】
以上、本発明の実施例について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例を含んでもよい。
【００７８】
（変形例１）  上記の各実施例では、図２のＳ１４（又は図５のＳ７４）で、キーボード５０のＣＰＵ５２は、図３で例示する手法に従って、特定の暗号方式及び特定の方式コードをランダムに決定している。特定の暗号方式及び特定の方式コードの決定手法は、これに限られず、特定の暗号方式及び特定の方式コードをランダムに決定可能な手法であれば、他の任意の手法を用いることができる。
【００７９】
（変形例２）  上記の各実施例では、キーボード５０の表示器５８に表示される特定の情報コードは２次元コードである。特定の情報コードは、２次元コードに限られず、バーコード等であってもよい。また、特定の情報コードは、所定の暗号鍵によって暗号化された非公開領域と、所定の暗号鍵によって暗号化されていない公開領域とを有する２次元コードであってもよい。その場合、本体１０のメモリ１４及びキーボード５０のメモリ５４の双方に、所定の暗号鍵が記憶されている必要がある。
【００８０】
（変形例３）  キーボード５０のＣＰＵ５２、及び、本体１０のＣＰＵ１２が、上記の各実施例で説明した処理（図２、図４、図５、図６）を行うのは、上記の各実施例で説明したような決済処理の実行が必要な場合には限られない。従って、キーボード５０のＣＰＵ５２、及び、本体１０のＣＰＵ１２は、任意のユーザ認証が求められる状況において、上記の各実施例で説明した処理を行うようにしてもよい。
【００８１】
（変形例４）  第２実施例では、ＣＰＵ１２は、図６のＳ９２で特定の方式コード及び特定の暗号化データを取得してから、所定期間内に本体１０にキーボード５０が装着されることをトリガとして、Ｓ９６以降の処理を進めるようにしている。これに代えて、ＣＰＵ１２は、Ｓ９２で特定の方式コード及び特定の暗号化データを取得した後、本体１０にキーボード５０が装着されるのを待つことなく、Ｓ９６以降の処理を進めてもよい。この場合、ＣＰＵ１２は、特定の方式コード及び特定の暗号化データを取得した後、迅速にＳ９６以降の各処理を進めることができる。同様に、ＣＰＵ５２は、図５のＳ８０で特定の情報コードを表示器５８に表示させた後、本体１０にキーボード５０が装着されたか否かに関わらず、特定の情報コードを表示してから所定期間が経過した後に特定の情報コードを削除するようにしてもよい（Ｓ８６）。
【００８２】
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００８３】
２：端末装置
１０：本体
１２：ＣＰＵ
１４：メモリ
１６：電池
１８：表示器
２０：プリンタ
２２：外部インターフェイス
２４：カードリーダ
２６：情報コードリーダ
２８：キーボードインターフェイス
２８：情報コードリーダ
２８：キーボードインターフェイス
３０：操作キー
３２：端子
５０：キーボード
５２：ＣＰＵ
５４：メモリ
５６：電池
５８：表示器
６０：本体インターフェイス
６２：操作キー
６４：端子
【図１】
2014158081.tif 000003
【図２】
2014158081.tif 000004
【図３】
2014158081.tif 000005
【図４】
2014158081.tif 000006
【図５】
2014158081.tif 000007
【図６】
2014158081.tif 000008