(57)【要約】【課題】不正なプログラムが決済機能搭載ハンディターミナルにインストールされた場合に、ＰＩＮ入力ユニットの機能を無効にすることにより、不正なプログラムがそのユニットから情報を不正に入手することを防止する。【解決手段】ブートローダとオペレーティングシステムを格納した記録媒体に含まれるデータに基づき第１の一方向性関数値を計算し、第１の一方向性関数値を製造時に追加機能ユニットに格納して、情報処理装置が起動された後、記録媒体に含まれるデータに基づき第２の一方向性関数値を計算し、第１の一方向性関数値と第２の一方向性関数値が異なる場合に、追加機能ユニットの機能を無効とし、記録媒体は情報処理装置に備わり、追加機能ユニットは情報処理装置に付加され、情報処理装置は決済機能搭載ハンディターミナルであり、追加機能ユニットはＰＩＮ入力ユニットである。【選択図】図５
2012181882.tif 000002
【特許請求の範囲】
【請求項１】
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化／無効化方法であって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第１の一方向性関数値を計算して、該第１の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第２の一方向性関数値を計算するステップと、
前記第１の一方向性関数値と前記第２の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を有し、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とする追加機能ユニットの有効化／無効化方法。
【請求項２】
請求項１に記載の追加機能ユニットの有効化／無効化方法であって、
前記第２の一方向性関数値の計算を前記情報処理装置で行い、
前記第２の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第１の一方向性関数値と前記第２の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化／無効化方法。
【請求項３】
請求項１に記載の追加機能ユニットの有効化／無効化方法であって、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第３の一方向性関数値を計算して、該第３の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第４の一方向性関数値を計算するステップと、
少なくとも一部のアプリケーションプログラムについて、前記第３の一方向性関数値と前記第４の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を更に有することを特徴とする追加機能ユニットの有効化／無効化方法。
【請求項４】
請求項３に記載の追加機能ユニットの有効化／無効化方法であって、
前記第４の一方向性関数値の計算を前記情報処理装置で行い、
前記第４の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第３の一方向性関数値と前記第４の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化／無効化方法。
【請求項５】
請求項１に記載の追加機能ユニットの有効化／無効化方法であって、
複数のアプリケーションプログラムのデータに基づいて第５の一方向性関数値を計算して、該第５の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、複数のアプリケーションプログラムのデータに基づいて第６の一方向性関数値を計算するステップと、
前記第５の一方向性関数値と前記第６の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を更に有することを特徴とする追加機能ユニットの有効化／無効化方法。
【請求項６】
請求項５に記載の追加機能ユニットの有効化／無効化方法であって、
前記第６の一方向性関数値の計算を前記情報処理装置で行い、
前記第６の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第５の一方向性関数値と前記第６の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化／無効化方法。
【請求項７】
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化／無効化システムであって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第１の一方向性関数値を計算して、該第１の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第２の一方向性関数値を計算する手段と、
前記第１の一方向性関数値と前記第２の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
を備え、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とする追加機能ユニットの有効化／無効化システム。
【請求項８】
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化／無効化システムとしてコンピュータを機能させるためのプログラムであって、
コンピュータを、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第１の一方向性関数値を計算して、該第１の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第２の一方向性関数値を計算する手段と、
前記第１の一方向性関数値と前記第２の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
として機能させ、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とするプログラム。
【請求項９】
情報処理装置に付加される追加機能ユニットであって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第１の一方向性関数値を製造時から格納しておく手段と、
前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第２の一方向性関数値と前記第１の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
を備え、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とする追加機能ユニット。
【請求項１０】
情報処理装置に付加される追加機能ユニットの有効化／無効化装置としてコンピュータを機能させるためのプログラムであって、
前記コンピュータを、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第１の一方向性関数値を製造時から格納しておく手段と、
前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第２の一方向性関数値と前記第１の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
としてコンピュータを機能させ、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化／無効化方法、そのシステム及びそのプログラムに関し、特に、追加機能ユニットとしてのＰＩＮ(Personal Identification Number)入力ユニットが付加された情報処理装置としてのハンディターミナルにおけるＰＩＮ入力ユニットの有効化／無効化方法、そのシステム及びそのプログラムに関する。
【背景技術】
【０００２】
クレジットカードのＰＩＮを入力するための端末装置を対象に、決済カードのセキュリティに関する国際統一基準が規定化されている。ＰＩＮ入力専用のキーボードと表示装置を設けることにより、ＰＩＮコードの盗み出しを防止できるが、ＰＩＮ入力専用機を用いると、ハンディターミナルと合わせて２台装置を持つ必要が生じ、携帯性が損なわれる。また、ひとつの装置の中に、２つのキーボードと表示装置を実装することは製品コストも上がり、用途が限定されることになる。
【０００３】
特開２００９−１１７８８７号公報（特許文献１）には、クライアント側に証明書を記録して、クライアント−サーバ間で認証処理を行うネットワークシステムが記載されている。
【０００４】
特開昭６２−２７５７８４号公報（特許文献２）には、電子マネーを格納するメモリに、受信電子マネーの正当性確認機能、格納電子マネーの改ざん防止機能を付加する技術が記載されている。
【０００５】
特開２００８−２８２１１２号公報（特許文献３）には、決済業務を行う担当者を認証するための発明が記載されている。
【０００６】
特開２００２−２５８９６３号公報（特許文献４）には、不正コピーされたときに警告メッセージを表示する方法を特徴にした発明が記載されている。
【０００７】
特開２００２−１０９４３９号公報（特許文献５）には、パスワードや生体情報を用いて不正な決済処理を防止する発明が記載されている。
【０００８】
特開２００８−１３９９１０号公報（特許文献６）には、携帯電話で決済業務を行うための利用者を認証するシステムが記載されている。
【０００９】
特開２００８−００９６８１号公報（特許文献７）には、決済できる携帯端末を操作する担当者を認証するシステムが記載されている。
【００１０】
特開２００８−０７７２５６号公報（特許文献８）には、電子マネー機能の不正利用を防止するために、利用者の認証を行うシステムが記載されている。
【００１１】
特開２００６−２４７１９２号公報（特許文献９）には、利用者認証のために、サーバを利用した決済システムが記載されている。
【００１２】
特開２００２−３５２１６５号公報（特許文献１０）には、利用者の位置情報から認証を行う発明が記載されている。
【００１３】
特開２００４−１９９２６９号公報（特許文献１１）には、予め登録されている電話番号と個人情報から利用者認証する発明が記載されている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００９−１１７８８７号公報
【特許文献２】特開昭６２−２７５７８４号公報
【特許文献３】特開２００８−２８２１１２号公報
【特許文献４】特開２００２−２５８９６３号公報
【特許文献５】特開２００２−１０９４３９号公報
【特許文献６】特開２００８−１３９９１０号公報
【特許文献７】特開２００８−００９６８１号公報
【特許文献８】特開２００８−０７７２５６号公報
【特許文献９】特開２００６−２４７１９２号公報
【特許文献１０】特開２００２−３５２１６５号公報
【特許文献１１】特開２００４−１９９２６９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
クレジットカードのＰＩＮ入力を行う場合、アプリケーションプログラムで使用するキーボードとは別に、ＰＩＮ入力専用のキーボードで入力を行う。表示もアプリケーションプログラムとＰＩＮ入力で使用する表示装置を分離することにより、ＰＩＮコードの盗み出しを防止している。
【００１６】
アプリケーションプログラムで使用するキーボードと表示装置を、ＰＩＮ入力でも共有することができれば、ハンディターミナルを小型化することができて携帯性の向上、構造設計・製造工程の簡易化、製品コストの低減、利便性の向上につながる。
【００１７】
しかし、キーボードと表示装置を共有することにより、不正なプログラムがインストールされ、ＰＩＮ入力の擬似入力画面を作ってＰＩＮコードを盗み出しすることができる。
【００１８】
特許文献１に記載の発明では、認証処理を行う不正なプログラムがインストールされると防御できない。
【００１９】
特許文献２乃至１１に記載の発明は、プログラムコード自体の正当性を認証するものではない。
【００２０】
本発明は、不正なプログラムが情報処理装置にインストールされた場合に、追加機能ユニットの機能を無効にすることにより、不正なプログラムが追加機能ユニットから情報を不正に入手することを防止するための追加機能ユニットの有効化／無効化方法、そのシステム及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明によれば、追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化／無効化方法であって、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第１の一方向性関数値を計算して、該第１の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第２の一方向性関数値を計算するステップと、前記第１の一方向性関数値と前記第２の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、を有し、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とする追加機能ユニットの有効化／無効化方法が提供される。
【００２２】
また、本発明によれば、追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化／無効化システムであって、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第１の一方向性関数値を計算して、該第１の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第２の一方向性関数値を計算する手段と、前記第１の一方向性関数値と前記第２の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、を備え、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とする追加機能ユニットの有効化／無効化システムが提供される。
【００２３】
更に、本発明によれば、追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化／無効化システムとしてコンピュータを機能させるためのプログラムであって、コンピュータを、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第１の一方向性関数値を計算して、該第１の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第２の一方向性関数値を計算する手段と、前記第１の一方向性関数値と前記第２の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、として機能させ、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とするプログラムが提供される。
【００２４】
更に、本発明によれば、情報処理装置に付加される追加機能ユニットであって、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第１の一方向性関数値を製造時から格納しておく手段と、前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第２の一方向性関数値と前記第１の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、を備え、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とする追加機能ユニットが提供される。
【００２５】
更に、本発明によれば、情報処理装置に付加される追加機能ユニットの有効化／無効化装置としてコンピュータを機能させるためのプログラムであって、前記コンピュータを、ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第１の一方向性関数値を製造時から格納しておく手段と、前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第２の一方向性関数値と前記第１の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、としてコンピュータを機能させ、前記記録媒体は、前記情報処理装置に備えられ、前記追加機能ユニットは、前記情報処理装置に付加されるものであり、前記情報処理装置は、決済機能搭載ハンディターミナルであり、前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とするプログラムが提供される。
【発明の効果】
【００２６】
本発明によれば、不正なプログラムが情報処理装置にインストールされた場合に、追加機能ユニットの機能を無効にすることにより、不正なプログラムが追加機能ユニットから情報を不正に入手することを防止することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態によるＰＩＮ入力ユニットを内蔵したハンディターミナルのブロック図である。
【図２】本発明の実施形態によるプログラム認証用情報テーブルの構成図である。
【図３】本発明の実施形態によるインストール・モジュール準備と装置登録を示す図である。
【図４】本発明の実施形態によるＲＯＭ認証手順を示す図である。
【図５】本発明の実施形態によるアプリケーションプログラム認証手順を示す図である。
【発明を実施するための形態】
【００２８】
以下、図面を参照して本発明を実施するための形態について詳細に説明する。
【００２９】
本実施形態では、クレジットカードのＰＩＮ入力、表示と、アプリケーションプログラムの業務処理の入力、表示を、共通のキーボードと表示装置で実行できる決済機能搭載ハンディターミナルにおいて、ＰＩＮ入力ユニットが、メインユニットのブートローダ、ＯＳ(Operating System)、及びアプリケーションプログラムを認証する機能を有する。
【００３０】
クレジットカードのＰＩＮ入力処理ができるＰＩＮ入力ユニットのメモリに、メインユニットで実行するブートローダ、ＯＳ、及びアプリケーションプログラムの認証情報を登録する。
【００３１】
認証情報により、メインユニットで実行されるブートローダ、ＯＳ、及びアプリケーションプログラムが正当なプログラムか否かについて、ＰＩＮ入力ユニットが認証処理を行い、メインユニットで実行するブートローダ、ＯＳ、及びアプリケーションプログラムが正当であると確認できた場合は、ＰＩＮ入力ユニットの機能を有効にする。認証処理で不正を発見した場合は、ＰＩＮ入力ユニットの機能を無効にする。
【００３２】
これにより、ＰＩＮコードの盗み出しを目的にした不正なブートローダ、ＯＳ又はアプリケーションプログラムが発見された場合、ＰＩＮ入力ユニットの機能が無効となり、キーコード通知機能も停止するため、キー入力実行ができなくなりＰＩＮコードの盗み出しを防止することができる。ここで、ＰＩＮ入力ユニットの機能を無効にするとは、少なくともＰＩＮコードを入力して、メインユニットに送信する機能を無効にすることを含む。また、ＰＩＮ入力ユニットの機能を無効にすることは、接触ＩＣカード又は非接触ＩＣカードからデータを読み出して、そのデータをメインユニットに送信する機能を無効にすることを含んでもよい。
【００３３】
図１を参照して決済機能搭載ハンディターミナルの構成について説明する。
【００３４】
図１を参照すると、本発明の実施形態による決済機能搭載ハンディターミナルは、メインユニット及びＰＩＮ入力／汎用テンキーユニットを含む。メインユニットは、ストレージ１０１、ＲＯＭ(Read Only Memory)１０２、ＲＡＭ(Random Access Memory)１０３、中央制御部（メインＣＰＵ(Central Processing Unit)）１０４及び表示ユニット１０５を含む。ＰＩＮ入力／汎用テンキーユニットは、サブＣＰＵ１０６、プログラム格納メモリ１０７、データ格納メモリ１０８、キーボード１０９及びＩＣカードユニット１１０を含む。
【００３５】
ストレージ１０１は、アプリケーションプログラムを格納するメモリである。ＲＯＭ１０２は、ブートローダやＯＳを格納するメモリである。ＲＡＭ１０３は、第１種の実行プログラムを格納するメモリである。ここで、第１種の実行プログラムとは、ブートローダ、ＯＳ、アプリケーションプログラムのうち中央制御部１０４により実行されるプログラムのことをいう。中央制御部（メインＣＰＵ）１０４は、実行プログラムを実行する。表示ユニット１０５は、画面を表示する。サブＣＰＵ１０６は、ＰＩＮ入力／汎用テンキーユニットを制御する。プログラム格納メモリ１０７は、サブＣＰＵ１０６により実行される第２種の実行プログラムを格納するメモリである。ここで、第２種の実行プログラムとは、キーボード制御プログラム、ＩＣカード制御プログラム及びＰＩＮ入力制御プログラムである。データ格納メモリ１０８は、プログラム認証情報テーブルや暗号鍵（例えば、共通鍵方式における共通鍵）を記憶する。キーボード１０９は、ＰＩＮ入力をする。ＩＣカードユニット１１０は、挿入された接触ＩＣカード（例えば、クレジットカード）又はかざされた非接触ＩＣカードから情報を読み取る。
【００３６】
次に、図２、図３、図４、図５を主に参照して、メインユニットに実装されているブートローダ、ＯＳ及びアプリケーションプログラムを認証する方法について説明する。
【００３７】
図２を参照してプログラム認証情報テーブルの構成を説明する。プログラム認証情報テーブルは、データ格納メモリ１０８に格納されている。
【００３８】
プログラム認証情報テーブルは、１つ以上のレコード２０３を含み、各レコードは１つのプログラムに対応する。ここでプログラムとは、ブートローダ、ＯＳ、アプリケーションプログラムのことである。各レコードは、プログラムＩＤのフィールド２０１と、プログラムのハッシュ値とを含む。プログラムＩＤは、例えば、プログラムの名称である。プログラムのハッシュ値は、例えば、プログラムのファイルのイメージデータの全体に所定のハッシュ関数をかけることにより得られた値である。
【００３９】
図３を参照して装置に装着するＲＯＭの準備と装置登録について説明する。
【００４０】
プログラム開発環境にて、装置上で実行するブートローダとＯＳの開発を行う（３０１）。
【００４１】
実行プログラムであるブートローダとＯＳを格納したＲＯＭを作成して、ＲＯＭのイメージデータの全体に基づいたハッシュ値を計算する（３０２）。ここで、ＲＯＭは、ＥＰＲＯＭ(Erasable Programmable Read Only Memory)、ＥＥＰＲＯＭ(Electrically Erasable Programmable Read Only Memory)、フラッシュメモリ、ＭＲＡＭ(Magnetic Random Access Memory)、バッテリにより電源が維持されたＲＡＭ(Random Access Memory)を含む。ＲＯＭは、格納された実行プログラムであるブートローダとＯＳを維持し、そこから読み出せるものであればどのような記録媒体であってもよい。なお、ＲＯＭのイメージデータの全体に基づいたハッシュ値を計算する代わりに、ブートローダのイメージデータ全体及びＯＳのイメージデータの全体に基づいたハッシュ値を計算してもよい。
【００４２】
”ＲＯＭ”という文字列のコードをプログラムＩＤとして、ＲＯＭのイメージデータの全体に基づいたハッシュ値といっしょに、ＯＳ・ブートローダ用プログラム認証情報テーブルに登録する。
【００４３】
ＯＳ・ブートローダ用プログラム認証情報テーブルをＰＩＮ入力ユニットに登録する過程の中で、ＯＳ・ブートローダ用プログラム認証情報テーブルが改ざんされないようにするために、ＯＳ・ブートローダ用共通鍵３０５を使って、ＯＳ・ブートローダ用プログラム認証情報テーブルを暗号化する（３０４）。
【００４４】
ＰＩＮ入力ユニットに登録されているＯＳ・ブートローダ用共通鍵３０８は、ＯＳ・ブートローダ開発環境にあるＯＳ・ブートローダ用共通鍵であってＯＳ・ブートローダ用プログラム認証情報テーブルを暗号化する時に利用したＯＳ・ブートローダ用共通鍵と同一である。ＯＳ・ブートローダ開発環境からＰＩＮ入力ユニットが入力した、暗号化されているＯＳ・ブートローダ用プログラム認証情報テーブルを、ＰＩＮ入力ユニットに格納されているＯＳ・ブートローダ用共通鍵３０８を用いて、復号して（暗号解読して）、復号後のＯＳ・ブートローダ用プログラム認証情報テーブルをＰＩＮ入力ユニットに登録する（３０９）。
【００４５】
図４を参照してメインユニットとＰＩＮ入力ユニット間のＲＯＭ認証手順を説明する。
【００４６】
ハンディターミナルのメインユニットの起動（４０１）と共に、ＰＩＮ入力ユニットが起動する。ＰＩＮ入力ユニットが起動した直後はＰＩＮ入力ユニットの機能は無効である。ＰＩＮ入力ユニットが起動したならばＰＩＮ入力ユニットにあるＲＯＭ認証機能を起動する。
【００４７】
他方、メインユニットが起動すると最初にブートローダが起動される（４０３）。ブートローダはＲＯＭのハッシュ値を計算して（４０４）、計算したハッシュ値をＰＩＮ入力ユニットに送信する（４０５）。
【００４８】
ＰＩＮ入力ユニットは、メインユニットから受信したハッシュ値とＰＩＮ入力ユニットに保持されている認証情報テーブルに登録されているハッシュ値とを比較する（４０６）。
【００４９】
両方のハッシュ値が違っていれば、メインユニットに実装されていて、ＲＯＭに格納されているブートローダとＯＳは不正なものであると判断して、ＰＩＮ入力ユニットの機能を無効状態のままにして処理を終了する。なお、本発明では、このように無効状態のままにすることも無効にするという。ＰＩＮ入力ユニットの機能を無効状態のままにして処理を終了する前に、ＰＩＮ入力ユニットから、メインユニットに、ＲＯＭに格納されているブートローダとＯＳが不正なものであったことを通知し、メインユニットでこの旨を表示するようにしてもよい。
【００５０】
比較した結果、両方のハッシュ値が同じであれば、メインユニットに実装されていて、ＲＯＭに格納されているブートローダとＯＳは正当なものであると判断するが、以下に説明するアプリケーションプログラムの認証の結果、アプリケーションプログラムが正当なものであることも判断されるまで、ＰＩＮ入力ユニットの機能の有効化を保留する（４０７）。
【００５１】
次に、図３、図５を参照して、ＲＯＭ認証の後に行う、メインユニットのストレージ１０１に実装されているアプリケーションプログラムの認証方法について説明する。ＲＯＭに格納されているブートローダとＯＳが不正なものであると判断された場合は、アプリケーションプログラムの認証は、行わない。
【００５２】
図３を参照してメインユニットのストレージに格納されているアプリケーションプログラムの準備と装置登録について説明する。
【００５３】
アプリケーションプログラム開発環境にて、メインユニット上で実行するアプリケーションプログラムの実行ファイルを作成する（３１０）。実行ファイルのイメージデータの全部をハッシュ関数にかけることにより、実行プログラムのハッシュ値を計算する（３１１）。実行プログラムのファイル名をプログラムＩＤとして、ハッシュ値といっしょに、アプリケーションプログラム認証情報テーブルに登録する（３１２）。アプリケーションプログラムが複数ある場合は、各アプリケーションプログラムの実行ファイルについてハッシュ値を計算し、アプリケーションプログラム用認証情報テーブルには、各アプリケーションプログラムについて、プログラムＩＤとそのハッシュ値を登録する。
【００５４】
アプリケーションプログラム認証情報テーブルをＰＩＮ入力ユニットに登録する過程の中でアプリケーションプログラム認証情報テーブルが改ざんされないように、アプリケーションプログラム用共通鍵を使って、アプリケーションプログラム認証情報テーブルを暗号化する（３１３）。
【００５５】
ＰＩＮ入力ユニットに登録されているアプリケーションプログラム用共通鍵３１７は、アプリケーションプログラム開発環境に含まれているアプリケーションプログラム用共通鍵３１４と同じである。アプリケーションプログラム用共通鍵はハンディターミナルの装置製造元が作成して、アプリケーションプログラムの開発者へ提供する。ハンディターミナルの製造元は、ハンディターミナルを製造する際にＰＩＮ入力ユニットにアプリケーションプログラム用共通鍵３１７を登録しておく。
【００５６】
アプリケーションプログラムの実行ファイルはメインユニットのストレージ３１６に格納される。アプリケーションプログラム開発環境からＰＩＮ入力ユニットが入力した、暗号化されているアプリケーションプログラム認証情報テーブルは、ＰＩＮ入力ユニットに登録されているアプリケーションプログラム用共通鍵３１７で復号してＰＩＮ入力ユニットのメモリにアプリケーションプリグラム認証情報テーブル３１８として登録される。
【００５７】
図５を参照してＰＩＮ入力ユニットがメインユニットにあるアプリケーションプログラムを認証する手順を説明する。
【００５８】
アプリケーションプログラム起動開始がメインユニットからＰＩＮ入力ユニットに通知されると（５０１）、ＰＩＮ入力ユニットは認証処理を開始する（５０２）。メインユニット上で実行する第１のアプリケーションプログラムの実行ファイル名をＩＤとして、そのＩＤをメインユニットからＰＩＮ入力ユニットに通知する（５０３）。ＰＩＮ入力ユニットは、ＰＩＮ入力ユニットに登録されているアプリケーションプログラム認証情報テーブルから第１のプログラムのハッシュ値を取得する（５０４）。他方、メインユニットは第１のプログラムのハッシュ値を計算して（５０５）、そのハッシュ値をＰＩＮ入力ユニットに送信する（５０６）。ＰＩＮ入力ユニットは、メインユニットから受信したハッシュ値とアプリケーションプログラム認証情報テーブルに登録されているハッシュ値とを比較する（５０７）。
【００５９】
両方のハッシュ値が違っていれば、メインユニットに実装されている第１のアプリケーションプログラムの実行ファイルは不正なものであると判断して、その判断結果を一時記憶する。
【００６０】
両方のハッシュ値が同一であれば、メインユニットに実装されている第１のアプリケーションプログラムの実行ファイルは正当なものであると判断して、その判断結果を一時記憶する。
【００６１】
アプリケーションプログラムがメインユニットに２つ以上実装されている場合には、第１のアプリケーションプログラムについて行った上記の方法を残りのアプリケーションプログラムについて繰り返す。
【００６２】
そして、残りのアプリケーションプログラムのうちの各アプリケーションプログラムについて、ＰＩＮ入力ユニットのアプリケーションプログラム認証情報テーブルに格納されているハッシュ値と、メインユニットで計算されてＰＩＮ入力ユニットに送信されてきたハッシュ値とが一致するか否かを判断し、その判断結果を一時記憶する。
【００６３】
第１のアプリケーションプログラムと残りの全てのアプリケーションプログラムについての判断が終了したならば、それらの判断結果をみる。少なくとも１つのアプリケーションプログラムについて判断結果がそのアプリケーションプログラムの実行ファイルが不正なものであることを示しているならば、ＰＩＮ入力ユニットの機能を無効のままにする。他方、全てのアプリケーションプログラムについて判断結果がそのアプリケーションプログラムの実行ファイルが正当なものであることを示しているならば、ＰＩＮ入力ユニットの機能を有効にする。
【００６４】
以下では、メインユニットに実装されているアプリケーションプログラムが２個であるとして、続きの動作について説明をする。
【００６５】
ＰＩＮ入力ユニットは、第１のアプリケーションプログラムについての比較が完了したことをメインユニットに通知する（５０８）。
【００６６】
メインユニット上で実行する第２のアプリケーションプログラムの実行ファイル名をＩＤとして、そのＩＤをメインユニットからＰＩＮ入力ユニットに通知する（５０９）。ＰＩＮ入力ユニットは、ＰＩＮ入力ユニットに登録されているアプリケーションプログラム認証情報テーブルから第２のプログラムのハッシュ値を取得する（５１０）。他方、メインユニットは第２のプログラムのハッシュ値を計算して（５１１）、そのハッシュ値をＰＩＮ入力ユニットに送信する（５１２）。ＰＩＮ入力ユニットは、メインユニットから受信したハッシュ値とアプリケーションプログラム認証情報テーブルに登録されているハッシュ値とを比較する（５１３）。
【００６７】
ＰＩＮ入力ユニットは、メインユニットに第２のアプリケーションプログラムの実行ファイルについての判断結果を一時記憶し、第２のアプリケーションプログラムについての比較が完了したことをメインユニットに通知する（５１４）。
【００６８】
メインユニットは、実行するすべてのアプリケーションプログラムの起動が既に全て完了しているならば、アプリケーションプログラム起動終了をＰＩＮ入力ユニットに通知する（５１５）。
【００６９】
ＰＩＮ入力ユニットは起動終了を受けて、ハッシュ値の比較結果を確認する（５１６）。認証情報テーブルに登録されているすべてのプログラムが、ハッシュ値比較において同じ値であれば（５１７）、ＰＩＮ入力ユニットの機能を有効にする。
【００７０】
ハッシュ値の比較において違う値を検出し、または、ハッシュ値を比較したアプリケーションプログラムの数が登録されているアプリケーションプログラム数に満たない場合、または、登録されていないプログラムを検出した場合は、エラーと判断して、ＰＩＮ入力ユニットの機能を無効にする。なお、ＰＩＮ入力ユニットに登録されているアプリケーションプログラム認証情報テーブルからプログラムのハッシュ値を取得するときに、キーとなるプログラムＩＤがアプリケーションプログラム認証情報テーブルに登録されていない時に、登録されていないプログラムを検出することができる。
【００７１】
本実施形態の効果は、ＰＩＮ入力ユニットが、メインユニットに実装されている場合において、ブートローダとＯＳが格納されているＲＯＭの認証を行い、ＲＯＭが不正なものであるならば、ＰＩＮ入力ユニットの機能を無効にすることにより、ＲＯＭの書換えによる不正なプログラムの実行を防ぎ、クレジットカードのＰＩＮコードの盗み出しを防止することができることである。また、ＰＩＮ入力ユニットが、メインユニットに実装されている場合において、アプリケーションプログラムの実行ファイルの認証を行い、アプリケーションプログラムの実行ファイルが不正なものであるならば、ＰＩＮ入力ユニットの機能を無効にすることにより、アプリケーションプログラムの実行ファイル書換えによる不正な実行ファイルの実行を防ぎ、クレジットカードのＰＩＮコードの盗み出しを防止することができることである。
【００７２】
従って、アプリケーションプログラムとＰＩＮ入力プログラムとがキーボードと表示装置とを共有できることにより、プラットフォームの共通化ができて、製品展開を効率的に行うことができる。また、装置の小型化、装置の構造設計の簡易化、装置の製造工程の簡易化ができて製品コストを低減できる。
【００７３】
上記の実施形態では、アプリケーションプログラム毎にハッシュ値を計算することとしていたが、メインユニットにあるアプリケーションプログラム全体についてハッシュ値を計算するようにしてもよい。
【００７４】
上記のハンディターミナルの各部及びＰＩＮ入力ユニットの各部は、ハードウェアによって構成することもできるが、それらの全部又は一部をソフトウェアによって構成することもできる。ここで、ソフトウェアによって構成するとは、コンピュータをそれらの部分として機能させるためのプログラムをコンピュータが読み込んで実行することにより構成することを意味する。
【００７５】
本発明は、ハンディターミナルのメインユニットを利用した場合に限られるものではなく、ハンディターミナルのメインユニットの代わりに如何なる情報処理装置を利用した場合であっても、本発明を利用することができる。
【００７６】
また、本発明は、ＰＩＮ入力ユニットを利用した場合に限られるものではなく、ＰＩＮ入力ユニットの代わりに如何なる追加機能ユニットを利用した場合であっても、本発明を適用することができる。
【００７７】
更に、本発明は、ハッシュ値を利用した場合に限られるものではなく、ハッシュ値の代わりに如何なる一方向性関数値を利用した場合であっても、本発明を適用することができる。
【００７８】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００７９】
（付記１）
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化／無効化方法であって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第１の一方向性関数値を計算して、該第１の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第２の一方向性関数値を計算するステップと、
前記第１の一方向性関数値と前記第２の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を有し、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とする追加機能ユニットの有効化／無効化方法。
【００８０】
（付記２）
付記１に記載の追加機能ユニットの有効化／無効化方法であって、
前記第２の一方向性関数値の計算を前記情報処理装置で行い、
前記第２の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第１の一方向性関数値と前記第２の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化／無効化方法。
【００８１】
（付記３）
付記１に記載の追加機能ユニットの有効化／無効化方法であって、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第３の一方向性関数値を計算して、該第３の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第４の一方向性関数値を計算するステップと、
少なくとも一部のアプリケーションプログラムについて、前記第３の一方向性関数値と前記第４の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を更に有することを特徴とする追加機能ユニットの有効化／無効化方法。
【００８２】
（付記４）
付記３に記載の追加機能ユニットの有効化／無効化方法であって、
前記第４の一方向性関数値の計算を前記情報処理装置で行い、
前記第４の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第３の一方向性関数値と前記第４の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化／無効化方法。
【００８３】
（付記５）
付記１に記載の追加機能ユニットの有効化／無効化方法であって、
複数のアプリケーションプログラムのデータに基づいて第５の一方向性関数値を計算して、該第５の一方向性関数値を製造時に前記追加機能ユニットに格納しておくステップと、
前記情報処理装置が起動された後に、複数のアプリケーションプログラムのデータに基づいて第６の一方向性関数値を計算するステップと、
前記第５の一方向性関数値と前記第６の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とするステップと、
を更に有することを特徴とする追加機能ユニットの有効化／無効化方法。
【００８４】
（付記６）
付記５に記載の追加機能ユニットの有効化／無効化方法であって、
前記第６の一方向性関数値の計算を前記情報処理装置で行い、
前記第６の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第５の一方向性関数値と前記第６の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化／無効化方法。
【００８５】
（付記７）
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化／無効化システムであって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第１の一方向性関数値を計算して、該第１の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第２の一方向性関数値を計算する手段と、
前記第１の一方向性関数値と前記第２の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
を備え、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とする追加機能ユニットの有効化／無効化システム。
【００８６】
（付記８）
付記７に記載の追加機能ユニットの有効化／無効化システムであって、
前記第２の一方向性関数値の計算を前記情報処理装置で行い、
前記第２の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第１の一方向性関数値と前記第２の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化／無効化システム。
【００８７】
（付記９）
付記７に記載の追加機能ユニットの有効化／無効化システムであって、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第３の一方向性関数値を計算して、該第３の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第４の一方向性関数値を計算する手段と、
少なくとも一部のアプリケーションプログラムについて、前記第３の一方向性関数値と前記第４の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
を更に備えることを特徴とする追加機能ユニットの有効化／無効化システム。
【００８８】
（付記１０）
付記９に記載の追加機能ユニットの有効化／無効化システムであって、
前記第４の一方向性関数値の計算を前記情報処理装置で行い、
前記第４の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第３の一方向性関数値と前記第４の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化／無効化システム。
【００８９】
（付記１１）
付記７に記載の追加機能ユニットの有効化／無効化システムであって、
複数のアプリケーションプログラムのデータに基づいて第５の一方向性関数値を計算して、該第５の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、複数のアプリケーションプログラムのデータに基づいて第６の一方向性関数値を計算する手段と、
前記第５の一方向性関数値と前記第６の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
を更に備えることを特徴とする追加機能ユニットの有効化／無効化システム。
【００９０】
（付記１２）
付記１１に記載の追加機能ユニットの有効化／無効化システムであって、
前記第６の一方向性関数値の計算を前記情報処理装置で行い、
前記第６の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第５の一方向性関数値と前記第６の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットの有効化／無効化システム。
【００９１】
（付記１３）
追加機能ユニットが付加された情報処理装置における追加機能ユニットの有効化／無効化システムとしてコンピュータを機能させるためのプログラムであって、
コンピュータを、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて第１の一方向性関数値を計算して、該第１の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、前記記録媒体に含まれるデータに基づいて第２の一方向性関数値を計算する手段と、
前記第１の一方向性関数値と前記第２の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
として機能させ、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とするプログラム。
【００９２】
（付記１４）
付記１３に記載のプログラムであって、
前記第２の一方向性関数値の計算を前記情報処理装置で行い、
前記第２の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第１の一方向性関数値と前記第２の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とする追加機能ユニットのプログラム。
【００９３】
（付記１５）
付記１３に記載のプログラムであって、
コンピュータを、更に、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第３の一方向性関数値を計算して、該第３の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて第４の一方向性関数値を計算する手段と、
少なくとも一部のアプリケーションプログラムについて、前記第３の一方向性関数値と前記第４の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
として機能させるためのプログラム。
【００９４】
（付記１６）
付記１５に記載のプログラムであって、
前記第４の一方向性関数値の計算を前記情報処理装置で行い、
前記第４の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第３の一方向性関数値と前記第４の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とするプログラム。
【００９５】
（付記１７）
付記１３に記載のプログラムであって、
コンピュータを、更に、
複数のアプリケーションプログラムのデータに基づいて第５の一方向性関数値を計算して、該第５の一方向性関数値を製造時に前記追加機能ユニットに格納しておく手段と、
前記情報処理装置が起動された後に、複数のアプリケーションプログラムのデータに基づいて第６の一方向性関数値を計算する手段と、
前記第５の一方向性関数値と前記第６の一方向性関数値とが異なる場合には、前記追加機能ユニットの機能を無効とする手段と、
として機能させるためのプログラム。
【００９６】
（付記１８）
付記１７に記載のプログラムであって、
前記第６の一方向性関数値の計算を前記情報処理装置で行い、
前記第６の一方向性関数値を前記情報処理装置から前記追加機能ユニットに送信し、
前記第５の一方向性関数値と前記第６の一方向性関数値との比較を前記追加機能ユニットで行うことを特徴とするプログラム。
【００９７】
（付記１９）
情報処理装置に付加される追加機能ユニットであって、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第１の一方向性関数値を製造時から格納しておく手段と、
前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第２の一方向性関数値と前記第１の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
を備え、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とする追加機能ユニット。
【００９８】
（付記２０）
付記１９に記載の追加機能ユニットであって、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて計算された第３の一方向性関数値を製造時から格納しておく手段と、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて前記情報処理装置が起動された後に計算された第４の一方向性関数値と第３の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
を更に備えることを特徴とする追加機能ユニット。
【００９９】
（付記２１）
付記１９に記載の追加機能ユニットであって、
複数のアプリケーションプログラムのデータに基づいて計算された第５の一方向性関数値を製造時から格納しておく手段と、
複数のアプリケーションプログラムのデータに基づいて前記情報処理装置が起動された後に計算された第６の一方向性関数値と前記第５の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
を更に備えることを特徴とする追加機能ユニット。
【０１００】
（付記２２）
情報処理装置に付加される追加機能ユニットの有効化／無効化装置としてコンピュータを機能させるためのプログラムであって、
前記コンピュータを、
ブートローダ及びオペレーティングシステムを格納した記録媒体に含まれるデータに基づいて計算された第１の一方向性関数値を製造時から格納しておく手段と、
前記記録媒体に含まれるデータに基づいて前記情報処理装置が起動された後に計算された第２の一方向性関数値と前記第１の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
としてコンピュータを機能させ、
前記記録媒体は、前記情報処理装置に備えられ、
前記追加機能ユニットは、前記情報処理装置に付加されるものであり、
前記情報処理装置は、決済機能搭載ハンディターミナルであり、
前記追加機能ユニットは、ＰＩＮ入力ユニットであることを特徴とするプログラム。
【０１０１】
（付記２３）
付記２２に記載のプログラムであって、
コンピュータを、更に、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて計算された第３の一方向性関数値を製造時から格納しておく手段と、
アプリケーションプログラム毎に、アプリケーションプログラムのデータに基づいて前記情報処理装置が起動された後に計算された第４の一方向性関数値と第３の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
として機能させるためのプログラム。
【０１０２】
（付記２４）
付記２２に記載のプログラムであって、
コンピュータを、更に、
複数のアプリケーションプログラムのデータに基づいて計算された第５の一方向性関数値を製造時から格納しておく手段と、
複数のアプリケーションプログラムのデータに基づいて前記情報処理装置が起動された後に計算された第６の一方向性関数値と前記第５の一方向性関数値とが異なる場合には、当該追加機能ユニットの機能を無効とする手段と、
として機能させるためのプログラム。
【符号の説明】
【０１０３】
１０１  ストレージ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  中央制御部
１０５  表示ユニット
１０６  サブＣＰＵ
１０７  プログラム格納メモリ
１０８  データ格納メモリ
１０９  キーボード
１１０  ＩＣカードユニット
【図１】
2012181882.tif 000003
【図２】
2012181882.tif 000004
【図３】
2012181882.tif 000005
【図４】
2012181882.tif 000006
【図５】
2012181882.tif 000007