追加機能ユニットの有効化/無効化方法、そのシステム及びそのプログラム並びに追加機能ユニット
【課題】不正なプログラムが決済機能搭載ハンディターミナルにインストールされた場合に、PIN入力ユニットの機能を無効にすることにより、不正なプログラムがそのユニットから情報を不正に入手することを防止する。
【解決手段】ブートローダとオペレーティングシステムを格納した記録媒体に含まれるデータに基づき第1の一方向性関数値を計算し、第1の一方向性関数値を製造時に追加機能ユニットに格納して、情報処理装置が起動された後、記録媒体に含まれるデータに基づき第2の一方向性関数値を計算し、第1の一方向性関数値と第2の一方向性関数値が異なる場合に、追加機能ユニットの機能を無効とし、記録媒体は情報処理装置に備わり、追加機能ユニットは情報処理装置に付加され、情報処理装置は決済機能搭載ハンディターミナルであり、追加機能ユニットはPIN入力ユニットである。
【解決手段】ブートローダとオペレーティングシステムを格納した記録媒体に含まれるデータに基づき第1の一方向性関数値を計算し、第1の一方向性関数値を製造時に追加機能ユニットに格納して、情報処理装置が起動された後、記録媒体に含まれるデータに基づき第2の一方向性関数値を計算し、第1の一方向性関数値と第2の一方向性関数値が異なる場合に、追加機能ユニットの機能を無効とし、記録媒体は情報処理装置に備わり、追加機能ユニットは情報処理装置に付加され、情報処理装置は決済機能搭載ハンディターミナルであり、追加機能ユニットはPIN入力ユニットである。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化方法、そのシステム及びそのプログラムに関し、特に、追加機能ユニットとしてのPIN(Personal Identification Number)入力ユニットが付加された情報処理装置としてのハンディターミナルにおけるPIN入力ユニットの有効化/無効化方法、そのシステム及びそのプログラムに関する。
【背景技術】
【0002】
クレジットカードのPINを入力するための端末装置を対象に、決済カードのセキュリティに関する国際統一基準が規定化されている。PIN入力専用のキーボードと表示装置を設けることにより、PINコードの盗み出しを防止できるが、PIN入力専用機を用いると、ハンディターミナルと合わせて2台装置を持つ必要が生じ、携帯性が損なわれる。また、ひとつの装置の中に、2つのキーボードと表示装置を実装することは製品コストも上がり、用途が限定されることになる。
【0003】
特開2009−117887号公報(特許文献1)には、クライアント側に証明書を記録して、クライアント−サーバ間で認証処理を行うネットワークシステムが記載されている。
【0004】
特開昭62−275784号公報(特許文献2)には、電子マネーを格納するメモリに、受信電子マネーの正当性確認機能、格納電子マネーの改ざん防止機能を付加する技術が記載されている。
【0005】
特開2008−282112号公報(特許文献3)には、決済業務を行う担当者を認証するための発明が記載されている。
【0006】
特開2002−258963号公報(特許文献4)には、不正コピーされたときに警告メッセージを表示する方法を特徴にした発明が記載されている。
【0007】
特開2002−109439号公報(特許文献5)には、パスワードや生体情報を用いて不正な決済処理を防止する発明が記載されている。
【0008】
特開2008−139910号公報(特許文献6)には、携帯電話で決済業務を行うための利用者を認証するシステムが記載されている。
【0009】
特開2008−009681号公報(特許文献7)には、決済できる携帯端末を操作する担当者を認証するシステムが記載されている。
【0010】
特開2008−077256号公報(特許文献8)には、電子マネー機能の不正利用を防止するために、利用者の認証を行うシステムが記載されている。
【0011】
特開2006−247192号公報(特許文献9)には、利用者認証のために、サーバを利用した決済システムが記載されている。
【0012】
特開2002−352165号公報(特許文献10)には、利用者の位置情報から認証を行う発明が記載されている。
【0013】
特開2004−199269号公報(特許文献11)には、予め登録されている電話番号と個人情報から利用者認証する発明が記載されている。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2009−117887号公報
【特許文献2】特開昭62−275784号公報
【特許文献3】特開2008−282112号公報
【特許文献4】特開2002−258963号公報
【特許文献5】特開2002−109439号公報
【特許文献6】特開2008−139910号公報
【特許文献7】特開2008−009681号公報
【特許文献8】特開2008−077256号公報
【特許文献9】特開2006−247192号公報
【特許文献10】特開2002−352165号公報
【特許文献11】特開2004−199269号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
クレジットカードのPIN入力を行う場合、アプリケーションプログラムで使用するキーボードとは別に、PIN入力専用のキーボードで入力を行う。表示もアプリケーションプログラムとPIN入力で使用する表示装置を分離することにより、PINコードの盗み出しを防止している。
【0016】
アプリケーションプログラムで使用するキーボードと表示装置を、PIN入力でも共有することができれば、ハンディターミナルを小型化することができて携帯性の向上、構造設計・製造工程の簡易化、製品コストの低減、利便性の向上につながる。
【0017】
しかし、キーボードと表示装置を共有することにより、不正なプログラムがインストールされ、PIN入力の擬似入力画面を作ってPINコードを盗み出しすることができる。
【0018】
特許文献1に記載の発明では、認証処理を行う不正なプログラムがインストールされると防御できない。
【0019】
特許文献2乃至11に記載の発明は、プログラムコード自体の正当性を認証するものではない。
【0020】
本発明は、不正なプログラムが情報処理装置にインストールされた場合に、追加機能ユニットの機能を無効にすることにより、不正なプログラムが追加機能ユニットから情報を不正に入手することを防止するための追加機能ユニットの有効化/無効化方法、そのシステム及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0021】
本発明によれば、追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化方法であって、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算するステップと、前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、を有し、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットの有効化/無効化方法が提供される。
【0022】
また、本発明によれば、追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化システムであって、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算する手段と、前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、を備え、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットの有効化/無効化システムが提供される。
【0023】
更に、本発明によれば、追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化システムとしてコンピュータを機能させるためのプログラムであって、コンピュータを、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算する手段と、前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、として機能させ、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、PIN入力ユニットであることを特徴とするプログラムが提供される。
【0024】
更に、本発明によれば、情報処理装置に付加される追加機能ユニットであって、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第1の一方向性関数値を製造時から格納しておく手段と、前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第2の一方向性関数値と前記第1の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、を備え、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットが提供される。
【0025】
更に、本発明によれば、情報処理装置に付加される追加機能ユニットの有効化/無効化装置としてコンピュータを機能させるためのプログラムであって、前記コンピュータを、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第1の一方向性関数値を製造時から格納しておく手段と、前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第2の一方向性関数値と前記第1の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、としてコンピュータを機能させ、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、PIN入力ユニットであることを特徴とするプログラムが提供される。
【発明の効果】
【0026】
本発明によれば、不正なプログラムが情報処理装置にインストールされた場合に、追加機能ユニットの機能を無効にすることにより、不正なプログラムが追加機能ユニットから情報を不正に入手することを防止することができる。
【図面の簡単な説明】
【0027】
【図1】本発明の実施形態によるPIN入力ユニットを内蔵したハンディターミナルのブロック図である。
【図2】本発明の実施形態によるプログラム認証用情報テーブルの構成図である。
【図3】本発明の実施形態によるインストール・モジュール準備と装置登録を示す図である。
【図4】本発明の実施形態によるROM認証手順を示す図である。
【図5】本発明の実施形態によるアプリケーションプログラム認証手順を示す図である。
【発明を実施するための形態】
【0028】
以下、図面を参照して本発明を実施するための形態について詳細に説明する。
【0029】
本実施形態では、クレジットカードのPIN入力、表示と、アプリケーションプログラムの業務処理の入力、表示を、共通のキーボードと表示装置で実行できる決済機能搭載ハンディターミナルにおいて、PIN入力ユニットが、メインユニットのブートローダ、OS(Operating System)、及びアプリケーションプログラムを認証する機能を有する。
【0030】
クレジットカードのPIN入力処理ができるPIN入力ユニットのメモリに、メインユニットで実行するブートローダ、OS、及びアプリケーションプログラムの認証情報を登録する。
【0031】
認証情報により、メインユニットで実行されるブートローダ、OS、及びアプリケーションプログラムが正当なプログラムか否かについて、PIN入力ユニットが認証処理を行い、メインユニットで実行するブートローダ、OS、及びアプリケーションプログラムが正当であると確認できた場合は、PIN入力ユニットの機能を有効にする。認証処理で不正を発見した場合は、PIN入力ユニットの機能を無効にする。
【0032】
これにより、PINコードの盗み出しを目的にした不正なブートローダ、OS又はアプリケーションプログラムが発見された場合、PIN入力ユニットの機能が無効となり、キーコード通知機能も停止するため、キー入力実行ができなくなりPINコードの盗み出しを防止することができる。ここで、PIN入力ユニットの機能を無効にするとは、少なくともPINコードを入力して、メインユニットに送信する機能を無効にすることを含む。また、PIN入力ユニットの機能を無効にすることは、接触ICカード又は非接触ICカードからデータを読み出して、そのデータをメインユニットに送信する機能を無効にすることを含んでもよい。
【0033】
図1を参照して決済機能搭載ハンディターミナルの構成について説明する。
【0034】
図1を参照すると、本発明の実施形態による決済機能搭載ハンディターミナルは、メインユニット及びPIN入力/汎用テンキーユニットを含む。メインユニットは、ストレージ101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、中央制御部(メインCPU(Central Processing Unit))104及び表示ユニット105を含む。PIN入力/汎用テンキーユニットは、サブCPU106、プログラム格納メモリ107、データ格納メモリ108、キーボード109及びICカードユニット110を含む。
【0035】
ストレージ101は、アプリケーションプログラムを格納するメモリである。ROM102は、ブートローダやOSを格納するメモリである。RAM103は、第1種の実行プログラムを格納するメモリである。ここで、第1種の実行プログラムとは、ブートローダ、OS、アプリケーションプログラムのうち中央制御部104により実行されるプログラムのことをいう。中央制御部(メインCPU)104は、実行プログラムを実行する。表示ユニット105は、画面を表示する。サブCPU106は、PIN入力/汎用テンキーユニットを制御する。プログラム格納メモリ107は、サブCPU106により実行される第2種の実行プログラムを格納するメモリである。ここで、第2種の実行プログラムとは、キーボード制御プログラム、ICカード制御プログラム及びPIN入力制御プログラムである。データ格納メモリ108は、プログラム認証情報テーブルや暗号鍵(例えば、共通鍵方式における共通鍵)を記憶する。キーボード109は、PIN入力をする。ICカードユニット110は、挿入された接触ICカード(例えば、クレジットカード)又はかざされた非接触ICカードから情報を読み取る。
【0036】
次に、図2、図3、図4、図5を主に参照して、メインユニットに実装されているブートローダ、OS及びアプリケーションプログラムを認証する方法について説明する。
【0037】
図2を参照してプログラム認証情報テーブルの構成を説明する。プログラム認証情報テーブルは、データ格納メモリ108に格納されている。
【0038】
プログラム認証情報テーブルは、1つ以上のレコード203を含み、各レコードは1つのプログラムに対応する。ここでプログラムとは、ブートローダ、OS、アプリケーションプログラムのことである。各レコードは、プログラムIDのフィールド201と、プログラムのハッシュ値とを含む。プログラムIDは、例えば、プログラムの名称である。プログラムのハッシュ値は、例えば、プログラムのファイルのイメージデータの全体に所定のハッシュ関数をかけることにより得られた値である。
【0039】
図3を参照して装置に装着するROMの準備と装置登録について説明する。
【0040】
プログラム開発環境にて、装置上で実行するブートローダとOSの開発を行う(301)。
【0041】
実行プログラムであるブートローダとOSを格納したROMを作成して、ROMのイメージデータの全体に基づいたハッシュ値を計算する(302)。ここで、ROMは、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュメモリ、MRAM(Magnetic Random Access Memory)、バッテリにより電源が維持されたRAM(Random Access Memory)を含む。ROMは、格納された実行プログラムであるブートローダとOSを維持し、そこから読み出せるものであればどのような記録媒体であってもよい。なお、ROMのイメージデータの全体に基づいたハッシュ値を計算する代わりに、ブートローダのイメージデータ全体及びOSのイメージデータの全体に基づいたハッシュ値を計算してもよい。
【0042】
”ROM”という文字列のコードをプログラムIDとして、ROMのイメージデータの全体に基づいたハッシュ値といっしょに、OS・ブートローダ用プログラム認証情報テーブルに登録する。
【0043】
OS・ブートローダ用プログラム認証情報テーブルをPIN入力ユニットに登録する過程の中で、OS・ブートローダ用プログラム認証情報テーブルが改ざんされないようにするために、OS・ブートローダ用共通鍵305を使って、OS・ブートローダ用プログラム認証情報テーブルを暗号化する(304)。
【0044】
PIN入力ユニットに登録されているOS・ブートローダ用共通鍵308は、OS・ブートローダ開発環境にあるOS・ブートローダ用共通鍵であってOS・ブートローダ用プログラム認証情報テーブルを暗号化する時に利用したOS・ブートローダ用共通鍵と同一である。OS・ブートローダ開発環境からPIN入力ユニットが入力した、暗号化されているOS・ブートローダ用プログラム認証情報テーブルを、PIN入力ユニットに格納されているOS・ブートローダ用共通鍵308を用いて、復号して(暗号解読して)、復号後のOS・ブートローダ用プログラム認証情報テーブルをPIN入力ユニットに登録する(309)。
【0045】
図4を参照してメインユニットとPIN入力ユニット間のROM認証手順を説明する。
【0046】
ハンディターミナルのメインユニットの起動(401)と共に、PIN入力ユニットが起動する。PIN入力ユニットが起動した直後はPIN入力ユニットの機能は無効である。PIN入力ユニットが起動したならばPIN入力ユニットにあるROM認証機能を起動する。
【0047】
他方、メインユニットが起動すると最初にブートローダが起動される(403)。ブートローダはROMのハッシュ値を計算して(404)、計算したハッシュ値をPIN入力ユニットに送信する(405)。
【0048】
PIN入力ユニットは、メインユニットから受信したハッシュ値とPIN入力ユニットに保持されている認証情報テーブルに登録されているハッシュ値とを比較する(406)。
【0049】
両方のハッシュ値が違っていれば、メインユニットに実装されていて、ROMに格納されているブートローダとOSは不正なものであると判断して、PIN入力ユニットの機能を無効状態のままにして処理を終了する。なお、本発明では、このように無効状態のままにすることも無効にするという。PIN入力ユニットの機能を無効状態のままにして処理を終了する前に、PIN入力ユニットから、メインユニットに、ROMに格納されているブートローダとOSが不正なものであったことを通知し、メインユニットでこの旨を表示するようにしてもよい。
【0050】
比較した結果、両方のハッシュ値が同じであれば、メインユニットに実装されていて、ROMに格納されているブートローダとOSは正当なものであると判断するが、以下に説明するアプリケーションプログラムの認証の結果、アプリケーションプログラムが正当なものであることも判断されるまで、PIN入力ユニットの機能の有効化を保留する(407)。
【0051】
次に、図3、図5を参照して、ROM認証の後に行う、メインユニットのストレージ101に実装されているアプリケーションプログラムの認証方法について説明する。ROMに格納されているブートローダとOSが不正なものであると判断された場合は、アプリケーションプログラムの認証は、行わない。
【0052】
図3を参照してメインユニットのストレージに格納されているアプリケーションプログラムの準備と装置登録について説明する。
【0053】
アプリケーションプログラム開発環境にて、メインユニット上で実行するアプリケーションプログラムの実行ファイルを作成する(310)。実行ファイルのイメージデータの全部をハッシュ関数にかけることにより、実行プログラムのハッシュ値を計算する(311)。実行プログラムのファイル名をプログラムIDとして、ハッシュ値といっしょに、アプリケーションプログラム認証情報テーブルに登録する(312)。アプリケーションプログラムが複数ある場合は、各アプリケーションプログラムの実行ファイルについてハッシュ値を計算し、アプリケーションプログラム用認証情報テーブルには、各アプリケーションプログラムについて、プログラムIDとそのハッシュ値を登録する。
【0054】
アプリケーションプログラム認証情報テーブルをPIN入力ユニットに登録する過程の中でアプリケーションプログラム認証情報テーブルが改ざんされないように、アプリケーションプログラム用共通鍵を使って、アプリケーションプログラム認証情報テーブルを暗号化する(313)。
【0055】
PIN入力ユニットに登録されているアプリケーションプログラム用共通鍵317は、アプリケーションプログラム開発環境に含まれているアプリケーションプログラム用共通鍵314と同じである。アプリケーションプログラム用共通鍵はハンディターミナルの装置製造元が作成して、アプリケーションプログラムの開発者へ提供する。ハンディターミナルの製造元は、ハンディターミナルを製造する際にPIN入力ユニットにアプリケーションプログラム用共通鍵317を登録しておく。
【0056】
アプリケーションプログラムの実行ファイルはメインユニットのストレージ316に格納される。アプリケーションプログラム開発環境からPIN入力ユニットが入力した、暗号化されているアプリケーションプログラム認証情報テーブルは、PIN入力ユニットに登録されているアプリケーションプログラム用共通鍵317で復号してPIN入力ユニットのメモリにアプリケーションプリグラム認証情報テーブル318として登録される。
【0057】
図5を参照してPIN入力ユニットがメインユニットにあるアプリケーションプログラムを認証する手順を説明する。
【0058】
アプリケーションプログラム起動開始がメインユニットからPIN入力ユニットに通知されると(501)、PIN入力ユニットは認証処理を開始する(502)。メインユニット上で実行する第1のアプリケーションプログラムの実行ファイル名をIDとして、そのIDをメインユニットからPIN入力ユニットに通知する(503)。PIN入力ユニットは、PIN入力ユニットに登録されているアプリケーションプログラム認証情報テーブルから第1のプログラムのハッシュ値を取得する(504)。他方、メインユニットは第1のプログラムのハッシュ値を計算して(505)、そのハッシュ値をPIN入力ユニットに送信する(506)。PIN入力ユニットは、メインユニットから受信したハッシュ値とアプリケーションプログラム認証情報テーブルに登録されているハッシュ値とを比較する(507)。
【0059】
両方のハッシュ値が違っていれば、メインユニットに実装されている第1のアプリケーションプログラムの実行ファイルは不正なものであると判断して、その判断結果を一時記憶する。
【0060】
両方のハッシュ値が同一であれば、メインユニットに実装されている第1のアプリケーションプログラムの実行ファイルは正当なものであると判断して、その判断結果を一時記憶する。
【0061】
アプリケーションプログラムがメインユニットに2つ以上実装されている場合には、第1のアプリケーションプログラムについて行った上記の方法を残りのアプリケーションプログラムについて繰り返す。
【0062】
そして、残りのアプリケーションプログラムのうちの各アプリケーションプログラムについて、PIN入力ユニットのアプリケーションプログラム認証情報テーブルに格納されているハッシュ値と、メインユニットで計算されてPIN入力ユニットに送信されてきたハッシュ値とが一致するか否かを判断し、その判断結果を一時記憶する。
【0063】
第1のアプリケーションプログラムと残りの全てのアプリケーションプログラムについての判断が終了したならば、それらの判断結果をみる。少なくとも1つのアプリケーションプログラムについて判断結果がそのアプリケーションプログラムの実行ファイルが不正なものであることを示しているならば、PIN入力ユニットの機能を無効のままにする。他方、全てのアプリケーションプログラムについて判断結果がそのアプリケーションプログラムの実行ファイルが正当なものであることを示しているならば、PIN入力ユニットの機能を有効にする。
【0064】
以下では、メインユニットに実装されているアプリケーションプログラムが2個であるとして、続きの動作について説明をする。
【0065】
PIN入力ユニットは、第1のアプリケーションプログラムについての比較が完了したことをメインユニットに通知する(508)。
【0066】
メインユニット上で実行する第2のアプリケーションプログラムの実行ファイル名をIDとして、そのIDをメインユニットからPIN入力ユニットに通知する(509)。PIN入力ユニットは、PIN入力ユニットに登録されているアプリケーションプログラム認証情報テーブルから第2のプログラムのハッシュ値を取得する(510)。他方、メインユニットは第2のプログラムのハッシュ値を計算して(511)、そのハッシュ値をPIN入力ユニットに送信する(512)。PIN入力ユニットは、メインユニットから受信したハッシュ値とアプリケーションプログラム認証情報テーブルに登録されているハッシュ値とを比較する(513)。
【0067】
PIN入力ユニットは、メインユニットに第2のアプリケーションプログラムの実行ファイルについての判断結果を一時記憶し、第2のアプリケーションプログラムについての比較が完了したことをメインユニットに通知する(514)。
【0068】
メインユニットは、実行するすべてのアプリケーションプログラムの起動が既に全て完了しているならば、アプリケーションプログラム起動終了をPIN入力ユニットに通知する(515)。
【0069】
PIN入力ユニットは起動終了を受けて、ハッシュ値の比較結果を確認する(516)。認証情報テーブルに登録されているすべてのプログラムが、ハッシュ値比較において同じ値であれば(517)、PIN入力ユニットの機能を有効にする。
【0070】
ハッシュ値の比較において違う値を検出し、または、ハッシュ値を比較したアプリケーションプログラムの数が登録されているアプリケーションプログラム数に満たない場合、または、登録されていないプログラムを検出した場合は、エラーと判断して、PIN入力ユニットの機能を無効にする。なお、PIN入力ユニットに登録されているアプリケーションプログラム認証情報テーブルからプログラムのハッシュ値を取得するときに、キーとなるプログラムIDがアプリケーションプログラム認証情報テーブルに登録されていない時に、登録されていないプログラムを検出することができる。
【0071】
本実施形態の効果は、PIN入力ユニットが、メインユニットに実装されている場合において、ブートローダとOSが格納されているROMの認証を行い、ROMが不正なものであるならば、PIN入力ユニットの機能を無効にすることにより、ROMの書換えによる不正なプログラムの実行を防ぎ、クレジットカードのPINコードの盗み出しを防止することができることである。また、PIN入力ユニットが、メインユニットに実装されている場合において、アプリケーションプログラムの実行ファイルの認証を行い、アプリケーションプログラムの実行ファイルが不正なものであるならば、PIN入力ユニットの機能を無効にすることにより、アプリケーションプログラムの実行ファイル書換えによる不正な実行ファイルの実行を防ぎ、クレジットカードのPINコードの盗み出しを防止することができることである。
【0072】
従って、アプリケーションプログラムとPIN入力プログラムとがキーボードと表示装置とを共有できることにより、プラットフォームの共通化ができて、製品展開を効率的に行うことができる。また、装置の小型化、装置の構造設計の簡易化、装置の製造工程の簡易化ができて製品コストを低減できる。
【0073】
上記の実施形態では、アプリケーションプログラム毎にハッシュ値を計算することとしていたが、メインユニットにあるアプリケーションプログラム全体についてハッシュ値を計算するようにしてもよい。
【0074】
上記のハンディターミナルの各部及びPIN入力ユニットの各部は、ハードウェアによって構成することもできるが、それらの全部又は一部をソフトウェアによって構成することもできる。ここで、ソフトウェアによって構成するとは、コンピュータをそれらの部分として機能させるためのプログラムをコンピュータが読み込んで実行することにより構成することを意味する。
【0075】
本発明は、ハンディターミナルのメインユニットを利用した場合に限られるものではなく、ハンディターミナルのメインユニットの代わりに如何なる情報処理装置を利用した場合であっても、本発明を利用することができる。
【0076】
また、本発明は、PIN入力ユニットを利用した場合に限られるものではなく、PIN入力ユニットの代わりに如何なる追加機能ユニットを利用した場合であっても、本発明を適用することができる。
【0077】
更に、本発明は、ハッシュ値を利用した場合に限られるものではなく、ハッシュ値の代わりに如何なる一方向性関数値を利用した場合であっても、本発明を適用することができる。
【0078】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0079】
(付記1)
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化方法であって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算するステップと、
前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を有し、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットの有効化/無効化方法。
【0080】
(付記2)
付記1に記載の追加機能ユニットの有効化/無効化方法であって、
前記第2の一方向性関数値の計算を前記情報処理装置で行い、
前記第2の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第1の一方向性関数値と前記第2の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化方法。
【0081】
(付記3)
付記1に記載の追加機能ユニットの有効化/無効化方法であって、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第3の一方向性関数値を計算して、該第3の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第4の一方向性関数値を計算するステップと、
少なくとも一部のアプリケーションプログラムについて、前記第3の一方向性関数値と前記第4の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を更に有することを特徴とする追加機能ユニットの有効化/無効化方法。
【0082】
(付記4)
付記3に記載の追加機能ユニットの有効化/無効化方法であって、
前記第4の一方向性関数値の計算を前記情報処理装置で行い、
前記第4の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第3の一方向性関数値と前記第4の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化方法。
【0083】
(付記5)
付記1に記載の追加機能ユニットの有効化/無効化方法であって、
複数のアプリケーションプログラムのデータに基づいて第5の一方向性関数値を計算して、該第5の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、複数のアプリケーションプログラムのデータに基づいて第6の一方向性関数値を計算するステップと、
前記第5の一方向性関数値と前記第6の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を更に有することを特徴とする追加機能ユニットの有効化/無効化方法。
【0084】
(付記6)
付記5に記載の追加機能ユニットの有効化/無効化方法であって、
前記第6の一方向性関数値の計算を前記情報処理装置で行い、
前記第6の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第5の一方向性関数値と前記第6の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化方法。
【0085】
(付記7)
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化システムであって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算する手段と、
前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
を備え、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットの有効化/無効化システム。
【0086】
(付記8)
付記7に記載の追加機能ユニットの有効化/無効化システムであって、
前記第2の一方向性関数値の計算を前記情報処理装置で行い、
前記第2の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第1の一方向性関数値と前記第2の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化システム。
【0087】
(付記9)
付記7に記載の追加機能ユニットの有効化/無効化システムであって、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第3の一方向性関数値を計算して、該第3の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第4の一方向性関数値を計算する手段と、
少なくとも一部のアプリケーションプログラムについて、前記第3の一方向性関数値と前記第4の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
を更に備えることを特徴とする追加機能ユニットの有効化/無効化システム。
【0088】
(付記10)
付記9に記載の追加機能ユニットの有効化/無効化システムであって、
前記第4の一方向性関数値の計算を前記情報処理装置で行い、
前記第4の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第3の一方向性関数値と前記第4の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化システム。
【0089】
(付記11)
付記7に記載の追加機能ユニットの有効化/無効化システムであって、
複数のアプリケーションプログラムのデータに基づいて第5の一方向性関数値を計算して、該第5の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、複数のアプリケーションプログラムのデータに基づいて第6の一方向性関数値を計算する手段と、
前記第5の一方向性関数値と前記第6の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
を更に備えることを特徴とする追加機能ユニットの有効化/無効化システム。
【0090】
(付記12)
付記11に記載の追加機能ユニットの有効化/無効化システムであって、
前記第6の一方向性関数値の計算を前記情報処理装置で行い、
前記第6の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第5の一方向性関数値と前記第6の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化システム。
【0091】
(付記13)
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化システムとしてコンピュータを機能させるためのプログラムであって、
コンピュータを、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算する手段と、
前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
として機能させ、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とするプログラム。
【0092】
(付記14)
付記13に記載のプログラムであって、
前記第2の一方向性関数値の計算を前記情報処理装置で行い、
前記第2の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第1の一方向性関数値と前記第2の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットのプログラム。
【0093】
(付記15)
付記13に記載のプログラムであって、
コンピュータを、更に、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第3の一方向性関数値を計算して、該第3の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第4の一方向性関数値を計算する手段と、
少なくとも一部のアプリケーションプログラムについて、前記第3の一方向性関数値と前記第4の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
として機能させるためのプログラム。
【0094】
(付記16)
付記15に記載のプログラムであって、
前記第4の一方向性関数値の計算を前記情報処理装置で行い、
前記第4の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第3の一方向性関数値と前記第4の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とするプログラム。
【0095】
(付記17)
付記13に記載のプログラムであって、
コンピュータを、更に、
複数のアプリケーションプログラムのデータに基づいて第5の一方向性関数値を計算して、該第5の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、複数のアプリケーションプログラムのデータに基づいて第6の一方向性関数値を計算する手段と、
前記第5の一方向性関数値と前記第6の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
として機能させるためのプログラム。
【0096】
(付記18)
付記17に記載のプログラムであって、
前記第6の一方向性関数値の計算を前記情報処理装置で行い、
前記第6の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第5の一方向性関数値と前記第6の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とするプログラム。
【0097】
(付記19)
情報処理装置に付加される追加機能ユニットであって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第1の一方向性関数値を製造時から格納しておく手段と、
前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第2の一方向性関数値と前記第1の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
を備え、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニット。
【0098】
(付記20)
付記19に記載の追加機能ユニットであって、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて計算された第3の一方向性関数値を製造時から格納しておく手段と、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて前記情報処理装置が起動された後に計算された第4の一方向性関数値と第3の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
を更に備えることを特徴とする追加機能ユニット。
【0099】
(付記21)
付記19に記載の追加機能ユニットであって、
複数のアプリケーションプログラムのデータに基づいて計算された第5の一方向性関数値を製造時から格納しておく手段と、
複数のアプリケーションプログラムのデータに基づいて前記情報処理装置が起動された後に計算された第6の一方向性関数値と前記第5の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
を更に備えることを特徴とする追加機能ユニット。
【0100】
(付記22)
情報処理装置に付加される追加機能ユニットの有効化/無効化装置としてコンピュータを機能させるためのプログラムであって、
前記コンピュータを、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第1の一方向性関数値を製造時から格納しておく手段と、
前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第2の一方向性関数値と前記第1の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
としてコンピュータを機能させ、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とするプログラム。
【0101】
(付記23)
付記22に記載のプログラムであって、
コンピュータを、更に、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて計算された第3の一方向性関数値を製造時から格納しておく手段と、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて前記情報処理装置が起動された後に計算された第4の一方向性関数値と第3の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
として機能させるためのプログラム。
【0102】
(付記24)
付記22に記載のプログラムであって、
コンピュータを、更に、
複数のアプリケーションプログラムのデータに基づいて計算された第5の一方向性関数値を製造時から格納しておく手段と、
複数のアプリケーションプログラムのデータに基づいて前記情報処理装置が起動された後に計算された第6の一方向性関数値と前記第5の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
として機能させるためのプログラム。
【符号の説明】
【0103】
101 ストレージ
102 ROM
103 RAM
104 中央制御部
105 表示ユニット
106 サブCPU
107 プログラム格納メモリ
108 データ格納メモリ
109 キーボード
110 ICカードユニット
【技術分野】
【0001】
本発明は、追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化方法、そのシステム及びそのプログラムに関し、特に、追加機能ユニットとしてのPIN(Personal Identification Number)入力ユニットが付加された情報処理装置としてのハンディターミナルにおけるPIN入力ユニットの有効化/無効化方法、そのシステム及びそのプログラムに関する。
【背景技術】
【0002】
クレジットカードのPINを入力するための端末装置を対象に、決済カードのセキュリティに関する国際統一基準が規定化されている。PIN入力専用のキーボードと表示装置を設けることにより、PINコードの盗み出しを防止できるが、PIN入力専用機を用いると、ハンディターミナルと合わせて2台装置を持つ必要が生じ、携帯性が損なわれる。また、ひとつの装置の中に、2つのキーボードと表示装置を実装することは製品コストも上がり、用途が限定されることになる。
【0003】
特開2009−117887号公報(特許文献1)には、クライアント側に証明書を記録して、クライアント−サーバ間で認証処理を行うネットワークシステムが記載されている。
【0004】
特開昭62−275784号公報(特許文献2)には、電子マネーを格納するメモリに、受信電子マネーの正当性確認機能、格納電子マネーの改ざん防止機能を付加する技術が記載されている。
【0005】
特開2008−282112号公報(特許文献3)には、決済業務を行う担当者を認証するための発明が記載されている。
【0006】
特開2002−258963号公報(特許文献4)には、不正コピーされたときに警告メッセージを表示する方法を特徴にした発明が記載されている。
【0007】
特開2002−109439号公報(特許文献5)には、パスワードや生体情報を用いて不正な決済処理を防止する発明が記載されている。
【0008】
特開2008−139910号公報(特許文献6)には、携帯電話で決済業務を行うための利用者を認証するシステムが記載されている。
【0009】
特開2008−009681号公報(特許文献7)には、決済できる携帯端末を操作する担当者を認証するシステムが記載されている。
【0010】
特開2008−077256号公報(特許文献8)には、電子マネー機能の不正利用を防止するために、利用者の認証を行うシステムが記載されている。
【0011】
特開2006−247192号公報(特許文献9)には、利用者認証のために、サーバを利用した決済システムが記載されている。
【0012】
特開2002−352165号公報(特許文献10)には、利用者の位置情報から認証を行う発明が記載されている。
【0013】
特開2004−199269号公報(特許文献11)には、予め登録されている電話番号と個人情報から利用者認証する発明が記載されている。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2009−117887号公報
【特許文献2】特開昭62−275784号公報
【特許文献3】特開2008−282112号公報
【特許文献4】特開2002−258963号公報
【特許文献5】特開2002−109439号公報
【特許文献6】特開2008−139910号公報
【特許文献7】特開2008−009681号公報
【特許文献8】特開2008−077256号公報
【特許文献9】特開2006−247192号公報
【特許文献10】特開2002−352165号公報
【特許文献11】特開2004−199269号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
クレジットカードのPIN入力を行う場合、アプリケーションプログラムで使用するキーボードとは別に、PIN入力専用のキーボードで入力を行う。表示もアプリケーションプログラムとPIN入力で使用する表示装置を分離することにより、PINコードの盗み出しを防止している。
【0016】
アプリケーションプログラムで使用するキーボードと表示装置を、PIN入力でも共有することができれば、ハンディターミナルを小型化することができて携帯性の向上、構造設計・製造工程の簡易化、製品コストの低減、利便性の向上につながる。
【0017】
しかし、キーボードと表示装置を共有することにより、不正なプログラムがインストールされ、PIN入力の擬似入力画面を作ってPINコードを盗み出しすることができる。
【0018】
特許文献1に記載の発明では、認証処理を行う不正なプログラムがインストールされると防御できない。
【0019】
特許文献2乃至11に記載の発明は、プログラムコード自体の正当性を認証するものではない。
【0020】
本発明は、不正なプログラムが情報処理装置にインストールされた場合に、追加機能ユニットの機能を無効にすることにより、不正なプログラムが追加機能ユニットから情報を不正に入手することを防止するための追加機能ユニットの有効化/無効化方法、そのシステム及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0021】
本発明によれば、追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化方法であって、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算するステップと、前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、を有し、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットの有効化/無効化方法が提供される。
【0022】
また、本発明によれば、追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化システムであって、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算する手段と、前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、を備え、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットの有効化/無効化システムが提供される。
【0023】
更に、本発明によれば、追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化システムとしてコンピュータを機能させるためのプログラムであって、コンピュータを、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算する手段と、前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、として機能させ、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、PIN入力ユニットであることを特徴とするプログラムが提供される。
【0024】
更に、本発明によれば、情報処理装置に付加される追加機能ユニットであって、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第1の一方向性関数値を製造時から格納しておく手段と、前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第2の一方向性関数値と前記第1の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、を備え、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットが提供される。
【0025】
更に、本発明によれば、情報処理装置に付加される追加機能ユニットの有効化/無効化装置としてコンピュータを機能させるためのプログラムであって、前記コンピュータを、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第1の一方向性関数値を製造時から格納しておく手段と、前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第2の一方向性関数値と前記第1の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、としてコンピュータを機能させ、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、PIN入力ユニットであることを特徴とするプログラムが提供される。
【発明の効果】
【0026】
本発明によれば、不正なプログラムが情報処理装置にインストールされた場合に、追加機能ユニットの機能を無効にすることにより、不正なプログラムが追加機能ユニットから情報を不正に入手することを防止することができる。
【図面の簡単な説明】
【0027】
【図1】本発明の実施形態によるPIN入力ユニットを内蔵したハンディターミナルのブロック図である。
【図2】本発明の実施形態によるプログラム認証用情報テーブルの構成図である。
【図3】本発明の実施形態によるインストール・モジュール準備と装置登録を示す図である。
【図4】本発明の実施形態によるROM認証手順を示す図である。
【図5】本発明の実施形態によるアプリケーションプログラム認証手順を示す図である。
【発明を実施するための形態】
【0028】
以下、図面を参照して本発明を実施するための形態について詳細に説明する。
【0029】
本実施形態では、クレジットカードのPIN入力、表示と、アプリケーションプログラムの業務処理の入力、表示を、共通のキーボードと表示装置で実行できる決済機能搭載ハンディターミナルにおいて、PIN入力ユニットが、メインユニットのブートローダ、OS(Operating System)、及びアプリケーションプログラムを認証する機能を有する。
【0030】
クレジットカードのPIN入力処理ができるPIN入力ユニットのメモリに、メインユニットで実行するブートローダ、OS、及びアプリケーションプログラムの認証情報を登録する。
【0031】
認証情報により、メインユニットで実行されるブートローダ、OS、及びアプリケーションプログラムが正当なプログラムか否かについて、PIN入力ユニットが認証処理を行い、メインユニットで実行するブートローダ、OS、及びアプリケーションプログラムが正当であると確認できた場合は、PIN入力ユニットの機能を有効にする。認証処理で不正を発見した場合は、PIN入力ユニットの機能を無効にする。
【0032】
これにより、PINコードの盗み出しを目的にした不正なブートローダ、OS又はアプリケーションプログラムが発見された場合、PIN入力ユニットの機能が無効となり、キーコード通知機能も停止するため、キー入力実行ができなくなりPINコードの盗み出しを防止することができる。ここで、PIN入力ユニットの機能を無効にするとは、少なくともPINコードを入力して、メインユニットに送信する機能を無効にすることを含む。また、PIN入力ユニットの機能を無効にすることは、接触ICカード又は非接触ICカードからデータを読み出して、そのデータをメインユニットに送信する機能を無効にすることを含んでもよい。
【0033】
図1を参照して決済機能搭載ハンディターミナルの構成について説明する。
【0034】
図1を参照すると、本発明の実施形態による決済機能搭載ハンディターミナルは、メインユニット及びPIN入力/汎用テンキーユニットを含む。メインユニットは、ストレージ101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、中央制御部(メインCPU(Central Processing Unit))104及び表示ユニット105を含む。PIN入力/汎用テンキーユニットは、サブCPU106、プログラム格納メモリ107、データ格納メモリ108、キーボード109及びICカードユニット110を含む。
【0035】
ストレージ101は、アプリケーションプログラムを格納するメモリである。ROM102は、ブートローダやOSを格納するメモリである。RAM103は、第1種の実行プログラムを格納するメモリである。ここで、第1種の実行プログラムとは、ブートローダ、OS、アプリケーションプログラムのうち中央制御部104により実行されるプログラムのことをいう。中央制御部(メインCPU)104は、実行プログラムを実行する。表示ユニット105は、画面を表示する。サブCPU106は、PIN入力/汎用テンキーユニットを制御する。プログラム格納メモリ107は、サブCPU106により実行される第2種の実行プログラムを格納するメモリである。ここで、第2種の実行プログラムとは、キーボード制御プログラム、ICカード制御プログラム及びPIN入力制御プログラムである。データ格納メモリ108は、プログラム認証情報テーブルや暗号鍵(例えば、共通鍵方式における共通鍵)を記憶する。キーボード109は、PIN入力をする。ICカードユニット110は、挿入された接触ICカード(例えば、クレジットカード)又はかざされた非接触ICカードから情報を読み取る。
【0036】
次に、図2、図3、図4、図5を主に参照して、メインユニットに実装されているブートローダ、OS及びアプリケーションプログラムを認証する方法について説明する。
【0037】
図2を参照してプログラム認証情報テーブルの構成を説明する。プログラム認証情報テーブルは、データ格納メモリ108に格納されている。
【0038】
プログラム認証情報テーブルは、1つ以上のレコード203を含み、各レコードは1つのプログラムに対応する。ここでプログラムとは、ブートローダ、OS、アプリケーションプログラムのことである。各レコードは、プログラムIDのフィールド201と、プログラムのハッシュ値とを含む。プログラムIDは、例えば、プログラムの名称である。プログラムのハッシュ値は、例えば、プログラムのファイルのイメージデータの全体に所定のハッシュ関数をかけることにより得られた値である。
【0039】
図3を参照して装置に装着するROMの準備と装置登録について説明する。
【0040】
プログラム開発環境にて、装置上で実行するブートローダとOSの開発を行う(301)。
【0041】
実行プログラムであるブートローダとOSを格納したROMを作成して、ROMのイメージデータの全体に基づいたハッシュ値を計算する(302)。ここで、ROMは、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュメモリ、MRAM(Magnetic Random Access Memory)、バッテリにより電源が維持されたRAM(Random Access Memory)を含む。ROMは、格納された実行プログラムであるブートローダとOSを維持し、そこから読み出せるものであればどのような記録媒体であってもよい。なお、ROMのイメージデータの全体に基づいたハッシュ値を計算する代わりに、ブートローダのイメージデータ全体及びOSのイメージデータの全体に基づいたハッシュ値を計算してもよい。
【0042】
”ROM”という文字列のコードをプログラムIDとして、ROMのイメージデータの全体に基づいたハッシュ値といっしょに、OS・ブートローダ用プログラム認証情報テーブルに登録する。
【0043】
OS・ブートローダ用プログラム認証情報テーブルをPIN入力ユニットに登録する過程の中で、OS・ブートローダ用プログラム認証情報テーブルが改ざんされないようにするために、OS・ブートローダ用共通鍵305を使って、OS・ブートローダ用プログラム認証情報テーブルを暗号化する(304)。
【0044】
PIN入力ユニットに登録されているOS・ブートローダ用共通鍵308は、OS・ブートローダ開発環境にあるOS・ブートローダ用共通鍵であってOS・ブートローダ用プログラム認証情報テーブルを暗号化する時に利用したOS・ブートローダ用共通鍵と同一である。OS・ブートローダ開発環境からPIN入力ユニットが入力した、暗号化されているOS・ブートローダ用プログラム認証情報テーブルを、PIN入力ユニットに格納されているOS・ブートローダ用共通鍵308を用いて、復号して(暗号解読して)、復号後のOS・ブートローダ用プログラム認証情報テーブルをPIN入力ユニットに登録する(309)。
【0045】
図4を参照してメインユニットとPIN入力ユニット間のROM認証手順を説明する。
【0046】
ハンディターミナルのメインユニットの起動(401)と共に、PIN入力ユニットが起動する。PIN入力ユニットが起動した直後はPIN入力ユニットの機能は無効である。PIN入力ユニットが起動したならばPIN入力ユニットにあるROM認証機能を起動する。
【0047】
他方、メインユニットが起動すると最初にブートローダが起動される(403)。ブートローダはROMのハッシュ値を計算して(404)、計算したハッシュ値をPIN入力ユニットに送信する(405)。
【0048】
PIN入力ユニットは、メインユニットから受信したハッシュ値とPIN入力ユニットに保持されている認証情報テーブルに登録されているハッシュ値とを比較する(406)。
【0049】
両方のハッシュ値が違っていれば、メインユニットに実装されていて、ROMに格納されているブートローダとOSは不正なものであると判断して、PIN入力ユニットの機能を無効状態のままにして処理を終了する。なお、本発明では、このように無効状態のままにすることも無効にするという。PIN入力ユニットの機能を無効状態のままにして処理を終了する前に、PIN入力ユニットから、メインユニットに、ROMに格納されているブートローダとOSが不正なものであったことを通知し、メインユニットでこの旨を表示するようにしてもよい。
【0050】
比較した結果、両方のハッシュ値が同じであれば、メインユニットに実装されていて、ROMに格納されているブートローダとOSは正当なものであると判断するが、以下に説明するアプリケーションプログラムの認証の結果、アプリケーションプログラムが正当なものであることも判断されるまで、PIN入力ユニットの機能の有効化を保留する(407)。
【0051】
次に、図3、図5を参照して、ROM認証の後に行う、メインユニットのストレージ101に実装されているアプリケーションプログラムの認証方法について説明する。ROMに格納されているブートローダとOSが不正なものであると判断された場合は、アプリケーションプログラムの認証は、行わない。
【0052】
図3を参照してメインユニットのストレージに格納されているアプリケーションプログラムの準備と装置登録について説明する。
【0053】
アプリケーションプログラム開発環境にて、メインユニット上で実行するアプリケーションプログラムの実行ファイルを作成する(310)。実行ファイルのイメージデータの全部をハッシュ関数にかけることにより、実行プログラムのハッシュ値を計算する(311)。実行プログラムのファイル名をプログラムIDとして、ハッシュ値といっしょに、アプリケーションプログラム認証情報テーブルに登録する(312)。アプリケーションプログラムが複数ある場合は、各アプリケーションプログラムの実行ファイルについてハッシュ値を計算し、アプリケーションプログラム用認証情報テーブルには、各アプリケーションプログラムについて、プログラムIDとそのハッシュ値を登録する。
【0054】
アプリケーションプログラム認証情報テーブルをPIN入力ユニットに登録する過程の中でアプリケーションプログラム認証情報テーブルが改ざんされないように、アプリケーションプログラム用共通鍵を使って、アプリケーションプログラム認証情報テーブルを暗号化する(313)。
【0055】
PIN入力ユニットに登録されているアプリケーションプログラム用共通鍵317は、アプリケーションプログラム開発環境に含まれているアプリケーションプログラム用共通鍵314と同じである。アプリケーションプログラム用共通鍵はハンディターミナルの装置製造元が作成して、アプリケーションプログラムの開発者へ提供する。ハンディターミナルの製造元は、ハンディターミナルを製造する際にPIN入力ユニットにアプリケーションプログラム用共通鍵317を登録しておく。
【0056】
アプリケーションプログラムの実行ファイルはメインユニットのストレージ316に格納される。アプリケーションプログラム開発環境からPIN入力ユニットが入力した、暗号化されているアプリケーションプログラム認証情報テーブルは、PIN入力ユニットに登録されているアプリケーションプログラム用共通鍵317で復号してPIN入力ユニットのメモリにアプリケーションプリグラム認証情報テーブル318として登録される。
【0057】
図5を参照してPIN入力ユニットがメインユニットにあるアプリケーションプログラムを認証する手順を説明する。
【0058】
アプリケーションプログラム起動開始がメインユニットからPIN入力ユニットに通知されると(501)、PIN入力ユニットは認証処理を開始する(502)。メインユニット上で実行する第1のアプリケーションプログラムの実行ファイル名をIDとして、そのIDをメインユニットからPIN入力ユニットに通知する(503)。PIN入力ユニットは、PIN入力ユニットに登録されているアプリケーションプログラム認証情報テーブルから第1のプログラムのハッシュ値を取得する(504)。他方、メインユニットは第1のプログラムのハッシュ値を計算して(505)、そのハッシュ値をPIN入力ユニットに送信する(506)。PIN入力ユニットは、メインユニットから受信したハッシュ値とアプリケーションプログラム認証情報テーブルに登録されているハッシュ値とを比較する(507)。
【0059】
両方のハッシュ値が違っていれば、メインユニットに実装されている第1のアプリケーションプログラムの実行ファイルは不正なものであると判断して、その判断結果を一時記憶する。
【0060】
両方のハッシュ値が同一であれば、メインユニットに実装されている第1のアプリケーションプログラムの実行ファイルは正当なものであると判断して、その判断結果を一時記憶する。
【0061】
アプリケーションプログラムがメインユニットに2つ以上実装されている場合には、第1のアプリケーションプログラムについて行った上記の方法を残りのアプリケーションプログラムについて繰り返す。
【0062】
そして、残りのアプリケーションプログラムのうちの各アプリケーションプログラムについて、PIN入力ユニットのアプリケーションプログラム認証情報テーブルに格納されているハッシュ値と、メインユニットで計算されてPIN入力ユニットに送信されてきたハッシュ値とが一致するか否かを判断し、その判断結果を一時記憶する。
【0063】
第1のアプリケーションプログラムと残りの全てのアプリケーションプログラムについての判断が終了したならば、それらの判断結果をみる。少なくとも1つのアプリケーションプログラムについて判断結果がそのアプリケーションプログラムの実行ファイルが不正なものであることを示しているならば、PIN入力ユニットの機能を無効のままにする。他方、全てのアプリケーションプログラムについて判断結果がそのアプリケーションプログラムの実行ファイルが正当なものであることを示しているならば、PIN入力ユニットの機能を有効にする。
【0064】
以下では、メインユニットに実装されているアプリケーションプログラムが2個であるとして、続きの動作について説明をする。
【0065】
PIN入力ユニットは、第1のアプリケーションプログラムについての比較が完了したことをメインユニットに通知する(508)。
【0066】
メインユニット上で実行する第2のアプリケーションプログラムの実行ファイル名をIDとして、そのIDをメインユニットからPIN入力ユニットに通知する(509)。PIN入力ユニットは、PIN入力ユニットに登録されているアプリケーションプログラム認証情報テーブルから第2のプログラムのハッシュ値を取得する(510)。他方、メインユニットは第2のプログラムのハッシュ値を計算して(511)、そのハッシュ値をPIN入力ユニットに送信する(512)。PIN入力ユニットは、メインユニットから受信したハッシュ値とアプリケーションプログラム認証情報テーブルに登録されているハッシュ値とを比較する(513)。
【0067】
PIN入力ユニットは、メインユニットに第2のアプリケーションプログラムの実行ファイルについての判断結果を一時記憶し、第2のアプリケーションプログラムについての比較が完了したことをメインユニットに通知する(514)。
【0068】
メインユニットは、実行するすべてのアプリケーションプログラムの起動が既に全て完了しているならば、アプリケーションプログラム起動終了をPIN入力ユニットに通知する(515)。
【0069】
PIN入力ユニットは起動終了を受けて、ハッシュ値の比較結果を確認する(516)。認証情報テーブルに登録されているすべてのプログラムが、ハッシュ値比較において同じ値であれば(517)、PIN入力ユニットの機能を有効にする。
【0070】
ハッシュ値の比較において違う値を検出し、または、ハッシュ値を比較したアプリケーションプログラムの数が登録されているアプリケーションプログラム数に満たない場合、または、登録されていないプログラムを検出した場合は、エラーと判断して、PIN入力ユニットの機能を無効にする。なお、PIN入力ユニットに登録されているアプリケーションプログラム認証情報テーブルからプログラムのハッシュ値を取得するときに、キーとなるプログラムIDがアプリケーションプログラム認証情報テーブルに登録されていない時に、登録されていないプログラムを検出することができる。
【0071】
本実施形態の効果は、PIN入力ユニットが、メインユニットに実装されている場合において、ブートローダとOSが格納されているROMの認証を行い、ROMが不正なものであるならば、PIN入力ユニットの機能を無効にすることにより、ROMの書換えによる不正なプログラムの実行を防ぎ、クレジットカードのPINコードの盗み出しを防止することができることである。また、PIN入力ユニットが、メインユニットに実装されている場合において、アプリケーションプログラムの実行ファイルの認証を行い、アプリケーションプログラムの実行ファイルが不正なものであるならば、PIN入力ユニットの機能を無効にすることにより、アプリケーションプログラムの実行ファイル書換えによる不正な実行ファイルの実行を防ぎ、クレジットカードのPINコードの盗み出しを防止することができることである。
【0072】
従って、アプリケーションプログラムとPIN入力プログラムとがキーボードと表示装置とを共有できることにより、プラットフォームの共通化ができて、製品展開を効率的に行うことができる。また、装置の小型化、装置の構造設計の簡易化、装置の製造工程の簡易化ができて製品コストを低減できる。
【0073】
上記の実施形態では、アプリケーションプログラム毎にハッシュ値を計算することとしていたが、メインユニットにあるアプリケーションプログラム全体についてハッシュ値を計算するようにしてもよい。
【0074】
上記のハンディターミナルの各部及びPIN入力ユニットの各部は、ハードウェアによって構成することもできるが、それらの全部又は一部をソフトウェアによって構成することもできる。ここで、ソフトウェアによって構成するとは、コンピュータをそれらの部分として機能させるためのプログラムをコンピュータが読み込んで実行することにより構成することを意味する。
【0075】
本発明は、ハンディターミナルのメインユニットを利用した場合に限られるものではなく、ハンディターミナルのメインユニットの代わりに如何なる情報処理装置を利用した場合であっても、本発明を利用することができる。
【0076】
また、本発明は、PIN入力ユニットを利用した場合に限られるものではなく、PIN入力ユニットの代わりに如何なる追加機能ユニットを利用した場合であっても、本発明を適用することができる。
【0077】
更に、本発明は、ハッシュ値を利用した場合に限られるものではなく、ハッシュ値の代わりに如何なる一方向性関数値を利用した場合であっても、本発明を適用することができる。
【0078】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0079】
(付記1)
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化方法であって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算するステップと、
前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を有し、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットの有効化/無効化方法。
【0080】
(付記2)
付記1に記載の追加機能ユニットの有効化/無効化方法であって、
前記第2の一方向性関数値の計算を前記情報処理装置で行い、
前記第2の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第1の一方向性関数値と前記第2の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化方法。
【0081】
(付記3)
付記1に記載の追加機能ユニットの有効化/無効化方法であって、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第3の一方向性関数値を計算して、該第3の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第4の一方向性関数値を計算するステップと、
少なくとも一部のアプリケーションプログラムについて、前記第3の一方向性関数値と前記第4の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を更に有することを特徴とする追加機能ユニットの有効化/無効化方法。
【0082】
(付記4)
付記3に記載の追加機能ユニットの有効化/無効化方法であって、
前記第4の一方向性関数値の計算を前記情報処理装置で行い、
前記第4の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第3の一方向性関数値と前記第4の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化方法。
【0083】
(付記5)
付記1に記載の追加機能ユニットの有効化/無効化方法であって、
複数のアプリケーションプログラムのデータに基づいて第5の一方向性関数値を計算して、該第5の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、複数のアプリケーションプログラムのデータに基づいて第6の一方向性関数値を計算するステップと、
前記第5の一方向性関数値と前記第6の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を更に有することを特徴とする追加機能ユニットの有効化/無効化方法。
【0084】
(付記6)
付記5に記載の追加機能ユニットの有効化/無効化方法であって、
前記第6の一方向性関数値の計算を前記情報処理装置で行い、
前記第6の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第5の一方向性関数値と前記第6の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化方法。
【0085】
(付記7)
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化システムであって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算する手段と、
前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
を備え、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットの有効化/無効化システム。
【0086】
(付記8)
付記7に記載の追加機能ユニットの有効化/無効化システムであって、
前記第2の一方向性関数値の計算を前記情報処理装置で行い、
前記第2の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第1の一方向性関数値と前記第2の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化システム。
【0087】
(付記9)
付記7に記載の追加機能ユニットの有効化/無効化システムであって、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第3の一方向性関数値を計算して、該第3の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第4の一方向性関数値を計算する手段と、
少なくとも一部のアプリケーションプログラムについて、前記第3の一方向性関数値と前記第4の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
を更に備えることを特徴とする追加機能ユニットの有効化/無効化システム。
【0088】
(付記10)
付記9に記載の追加機能ユニットの有効化/無効化システムであって、
前記第4の一方向性関数値の計算を前記情報処理装置で行い、
前記第4の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第3の一方向性関数値と前記第4の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化システム。
【0089】
(付記11)
付記7に記載の追加機能ユニットの有効化/無効化システムであって、
複数のアプリケーションプログラムのデータに基づいて第5の一方向性関数値を計算して、該第5の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、複数のアプリケーションプログラムのデータに基づいて第6の一方向性関数値を計算する手段と、
前記第5の一方向性関数値と前記第6の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
を更に備えることを特徴とする追加機能ユニットの有効化/無効化システム。
【0090】
(付記12)
付記11に記載の追加機能ユニットの有効化/無効化システムであって、
前記第6の一方向性関数値の計算を前記情報処理装置で行い、
前記第6の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第5の一方向性関数値と前記第6の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化システム。
【0091】
(付記13)
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化システムとしてコンピュータを機能させるためのプログラムであって、
コンピュータを、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算する手段と、
前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
として機能させ、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とするプログラム。
【0092】
(付記14)
付記13に記載のプログラムであって、
前記第2の一方向性関数値の計算を前記情報処理装置で行い、
前記第2の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第1の一方向性関数値と前記第2の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットのプログラム。
【0093】
(付記15)
付記13に記載のプログラムであって、
コンピュータを、更に、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第3の一方向性関数値を計算して、該第3の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第4の一方向性関数値を計算する手段と、
少なくとも一部のアプリケーションプログラムについて、前記第3の一方向性関数値と前記第4の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
として機能させるためのプログラム。
【0094】
(付記16)
付記15に記載のプログラムであって、
前記第4の一方向性関数値の計算を前記情報処理装置で行い、
前記第4の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第3の一方向性関数値と前記第4の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とするプログラム。
【0095】
(付記17)
付記13に記載のプログラムであって、
コンピュータを、更に、
複数のアプリケーションプログラムのデータに基づいて第5の一方向性関数値を計算して、該第5の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、複数のアプリケーションプログラムのデータに基づいて第6の一方向性関数値を計算する手段と、
前記第5の一方向性関数値と前記第6の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
として機能させるためのプログラム。
【0096】
(付記18)
付記17に記載のプログラムであって、
前記第6の一方向性関数値の計算を前記情報処理装置で行い、
前記第6の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第5の一方向性関数値と前記第6の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とするプログラム。
【0097】
(付記19)
情報処理装置に付加される追加機能ユニットであって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第1の一方向性関数値を製造時から格納しておく手段と、
前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第2の一方向性関数値と前記第1の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
を備え、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニット。
【0098】
(付記20)
付記19に記載の追加機能ユニットであって、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて計算された第3の一方向性関数値を製造時から格納しておく手段と、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて前記情報処理装置が起動された後に計算された第4の一方向性関数値と第3の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
を更に備えることを特徴とする追加機能ユニット。
【0099】
(付記21)
付記19に記載の追加機能ユニットであって、
複数のアプリケーションプログラムのデータに基づいて計算された第5の一方向性関数値を製造時から格納しておく手段と、
複数のアプリケーションプログラムのデータに基づいて前記情報処理装置が起動された後に計算された第6の一方向性関数値と前記第5の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
を更に備えることを特徴とする追加機能ユニット。
【0100】
(付記22)
情報処理装置に付加される追加機能ユニットの有効化/無効化装置としてコンピュータを機能させるためのプログラムであって、
前記コンピュータを、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第1の一方向性関数値を製造時から格納しておく手段と、
前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第2の一方向性関数値と前記第1の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
としてコンピュータを機能させ、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とするプログラム。
【0101】
(付記23)
付記22に記載のプログラムであって、
コンピュータを、更に、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて計算された第3の一方向性関数値を製造時から格納しておく手段と、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて前記情報処理装置が起動された後に計算された第4の一方向性関数値と第3の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
として機能させるためのプログラム。
【0102】
(付記24)
付記22に記載のプログラムであって、
コンピュータを、更に、
複数のアプリケーションプログラムのデータに基づいて計算された第5の一方向性関数値を製造時から格納しておく手段と、
複数のアプリケーションプログラムのデータに基づいて前記情報処理装置が起動された後に計算された第6の一方向性関数値と前記第5の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
として機能させるためのプログラム。
【符号の説明】
【0103】
101 ストレージ
102 ROM
103 RAM
104 中央制御部
105 表示ユニット
106 サブCPU
107 プログラム格納メモリ
108 データ格納メモリ
109 キーボード
110 ICカードユニット
【特許請求の範囲】
【請求項1】
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化方法であって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算するステップと、
前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を有し、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットの有効化/無効化方法。
【請求項2】
請求項1に記載の追加機能ユニットの有効化/無効化方法であって、
前記第2の一方向性関数値の計算を前記情報処理装置で行い、
前記第2の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第1の一方向性関数値と前記第2の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化方法。
【請求項3】
請求項1に記載の追加機能ユニットの有効化/無効化方法であって、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第3の一方向性関数値を計算して、該第3の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第4の一方向性関数値を計算するステップと、
少なくとも一部のアプリケーションプログラムについて、前記第3の一方向性関数値と前記第4の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を更に有することを特徴とする追加機能ユニットの有効化/無効化方法。
【請求項4】
請求項3に記載の追加機能ユニットの有効化/無効化方法であって、
前記第4の一方向性関数値の計算を前記情報処理装置で行い、
前記第4の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第3の一方向性関数値と前記第4の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化方法。
【請求項5】
請求項1に記載の追加機能ユニットの有効化/無効化方法であって、
複数のアプリケーションプログラムのデータに基づいて第5の一方向性関数値を計算して、該第5の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、複数のアプリケーションプログラムのデータに基づいて第6の一方向性関数値を計算するステップと、
前記第5の一方向性関数値と前記第6の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を更に有することを特徴とする追加機能ユニットの有効化/無効化方法。
【請求項6】
請求項5に記載の追加機能ユニットの有効化/無効化方法であって、
前記第6の一方向性関数値の計算を前記情報処理装置で行い、
前記第6の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第5の一方向性関数値と前記第6の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化方法。
【請求項7】
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化システムであって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算する手段と、
前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
を備え、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットの有効化/無効化システム。
【請求項8】
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化システムとしてコンピュータを機能させるためのプログラムであって、
コンピュータを、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算する手段と、
前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
として機能させ、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とするプログラム。
【請求項9】
情報処理装置に付加される追加機能ユニットであって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第1の一方向性関数値を製造時から格納しておく手段と、
前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第2の一方向性関数値と前記第1の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
を備え、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニット。
【請求項10】
情報処理装置に付加される追加機能ユニットの有効化/無効化装置としてコンピュータを機能させるためのプログラムであって、
前記コンピュータを、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第1の一方向性関数値を製造時から格納しておく手段と、
前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第2の一方向性関数値と前記第1の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
としてコンピュータを機能させ、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とするプログラム。
【請求項1】
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化方法であって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算するステップと、
前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を有し、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットの有効化/無効化方法。
【請求項2】
請求項1に記載の追加機能ユニットの有効化/無効化方法であって、
前記第2の一方向性関数値の計算を前記情報処理装置で行い、
前記第2の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第1の一方向性関数値と前記第2の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化方法。
【請求項3】
請求項1に記載の追加機能ユニットの有効化/無効化方法であって、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第3の一方向性関数値を計算して、該第3の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第4の一方向性関数値を計算するステップと、
少なくとも一部のアプリケーションプログラムについて、前記第3の一方向性関数値と前記第4の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を更に有することを特徴とする追加機能ユニットの有効化/無効化方法。
【請求項4】
請求項3に記載の追加機能ユニットの有効化/無効化方法であって、
前記第4の一方向性関数値の計算を前記情報処理装置で行い、
前記第4の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第3の一方向性関数値と前記第4の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化方法。
【請求項5】
請求項1に記載の追加機能ユニットの有効化/無効化方法であって、
複数のアプリケーションプログラムのデータに基づいて第5の一方向性関数値を計算して、該第5の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、複数のアプリケーションプログラムのデータに基づいて第6の一方向性関数値を計算するステップと、
前記第5の一方向性関数値と前記第6の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を更に有することを特徴とする追加機能ユニットの有効化/無効化方法。
【請求項6】
請求項5に記載の追加機能ユニットの有効化/無効化方法であって、
前記第6の一方向性関数値の計算を前記情報処理装置で行い、
前記第6の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第5の一方向性関数値と前記第6の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化/無効化方法。
【請求項7】
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化システムであって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算する手段と、
前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
を備え、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニットの有効化/無効化システム。
【請求項8】
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化/無効化システムとしてコンピュータを機能させるためのプログラムであって、
コンピュータを、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第1の一方向性関数値を計算して、該第1の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第2の一方向性関数値を計算する手段と、
前記第1の一方向性関数値と前記第2の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
として機能させ、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とするプログラム。
【請求項9】
情報処理装置に付加される追加機能ユニットであって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第1の一方向性関数値を製造時から格納しておく手段と、
前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第2の一方向性関数値と前記第1の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
を備え、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とする追加機能ユニット。
【請求項10】
情報処理装置に付加される追加機能ユニットの有効化/無効化装置としてコンピュータを機能させるためのプログラムであって、
前記コンピュータを、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第1の一方向性関数値を製造時から格納しておく手段と、
前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第2の一方向性関数値と前記第1の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
としてコンピュータを機能させ、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、PIN入力ユニットであることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図2】
【図3】
【図4】
【図5】
【公開番号】特開2012−181882(P2012−181882A)
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願番号】特願2012−146838(P2012−146838)
【出願日】平成24年6月29日(2012.6.29)
【分割の表示】特願2011−30746(P2011−30746)の分割
【原出願日】平成23年2月16日(2011.2.16)
【出願人】(000227205)NECインフロンティア株式会社 (1,047)
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願日】平成24年6月29日(2012.6.29)
【分割の表示】特願2011−30746(P2011−30746)の分割
【原出願日】平成23年2月16日(2011.2.16)
【出願人】(000227205)NECインフロンティア株式会社 (1,047)
[ Back to top ]