(57)【特許請求の範囲】
【請求項１】
秘密情報を格納したカードの前記秘密情報を読み取り該秘密情報をネットワークを介してホストコンピュータに照会してデータ処理を行うカードデータ処理装置において、前記カードの情報読み取り処理及び前記ネットワークを用いる通信処理を担当する第１オペレーティングシステム（以下、第１ＯＳという。）と、通信処理手段と、該第１ＯＳとの間でこの通信処理手段を介して前記秘密情報の保存処理を担当する第２オペレーティングシステム（以下、第２ＯＳという。）とを備えることを特徴とするカードデータ処理装置。
【請求項２】
請求項１において、前記第１ＯＳと前記第２ＯＳとが夫々使用する物理メモリや外部デバイスなどの計算機資源および管理プログラムを、第１ＯＳと第２ＯＳとが互いに影響を与えることなく動作するように別々に割り当てることを特徴とするカードデータ処理装置。
【請求項３】
請求項１または２において、上記ＯＳ間通信処理手段は、第２ＯＳの機能として持たせたカードデータ処理装置。
【請求項４】
請求項１〜３のいずれかにおいて、前記第１ＯＳから第２ＯＳ宛の通信の正常性を承認する機能を第２ＯＳが備えることを特徴とするカードデータ処理装置。
【請求項５】
請求項１〜４のいずれかにおいて、前記通信処理は、上記ネットワークで使用する通信プロトコルとは異なる別の通信プロトコルで行うことを特徴とするカードデータ処理装置。
【請求項６】
秘密情報を格納したカードの前記秘密情報を読み取り該秘密情報をネットワークを介してホストコンピュータに照会してデータ処理を行うカードデータ処理装置において、前記カードの情報読み取り処理及び前記ネットワークを用いる通信処理を担当する第１オペレーティングシステム（以下、第１０Ｓという。）と、ＯＳ実行リソース制御手段と、該第１０Ｓとの間でこのＯＳ実行リソース制御手段を介して前記秘密情報の保存処理を担当する第２オペレーティングシステム（以下、第２ＯＳという。）とを備えることを特徴とするカードデータ処理装置。
【請求項７】
上記ＯＳ実行リソース制御手段は、第１ＯＳと第２ＯＳとから独立しており、第１ＯＳと第２ＯＳとの使用する物理メモリや外部デバイスなどの計算機資源の互いに別々の割り当てを行うと共に、及び、第１ＯＳと第２ＯＳとの間の、上記通信ネットワークで使用する通信プロトコルとは異なる別の通信プロトコルによる通信処理を行うものとした請求項６のカードデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カードに書き込まれている個人情報等の秘密情報を読み取り該秘密情報をネットワークを介してホストコンピュータに照会するカードデータ処理装置に係り、特に、このカードデータ処理装置が保持した秘密情報に対するネットワークを介した不正アクセスを防止するのに好適なカードデータ処理装置に関する。
【０００２】
【従来の技術】
例えば、クレジットカードやキャッシュカードに書き込まれている個人情報を読み取り、ネットワークを介しカード会社や銀行のホストコンピュータと通信して料金支払い決済を行う決済端末装置の様なカードデータ処理装置が普及してきている。決済端末装置（以下、決済端末装置を例に説明する。）は、クレジットカードやキャッシュカードから銀行の口座番号や暗証番号等の個人情報を読み取り、入力された支払金額と共にこれら個人情報を決済端末装置内に保持するようになっている。そして、決済処理時に、保持している個人情報をネットワークを介しカード会社または銀行のホストコンピュータに送信し、カード会社または銀行で決済処理が行なわれる。
【０００３】
尚、従来技術に関連するものとして、例えば特開平５―３１４３２４号公報記載のものがある。
【０００４】
【発明が解決しようとする課題】
上述したような決済端末装置が内部に個人情報等の秘密情報を保持し、カード会社のホストコンピュータに対してネットワークを介し個人情報を照会している最中に、ネットワークを介してこの決済端末装置のＯＳ（オペレーションシステム）に不正アクセスされると、秘密にすべき個人情報が同じＯＳ上にあるため、この個人情報が盗難され、あるいは改竄される虞がある。決済端末装置内に保持されているデータは、銀行口座番号や暗証番号といった秘密のデータであり、不正アクセスによる盗難や改竄は防ぐ必要がある。
【０００５】
本発明の目的は、自装置内に保持された秘密情報に対するネットワークを介した不正アクセスを防止できるカードデータ処理装置を提供することにある。
【０００６】
【課題を解決するための手段】
本発明は、秘密情報を格納したカードの前記秘密情報を読み取り該秘密情報をネットワークを介してホストコンピュータに照会してデータ処理を行うカードデータ処理装置において、前記カードの情報読み取り処理及び前記ネットワークを用いる通信処理を担当する第１オペレーティングシステム（以下、第１ＯＳという。）と、通信処理手段と、該第１ＯＳとの間でこの通信処理手段を介して前記秘密情報の保存処理を担当する第２オペレーティングシステム（以下、第２ＯＳという。）とを備えることを特徴とするカードデータ処理装置を開示する。
【０００７】
これにより、第１ＯＳがカードから読み取った秘密データはＯＳ間通信手段を用いて第２ＯＳに渡され、第２ＯＳ内のメモリ（第１ＯＳの管理は及ばない。）に保持される。もし、第１ＯＳがネットワークを介して不正アクセスされても、秘密データを保持する第２ＯＳにはアクセスできず、また、ＯＳ間通信は特別のプロトコルを採用できるため、不正アクセス者による秘密データの取り出しが防止可能である。更に、第２ＯＳが秘密データを保持する物理メモリ上の使用領域を、第１ＯＳの使用領域と別にすることで、第１ＯＳが第２ＯＳ内の秘密データを直接見ることもできなくなる。このようにして秘密データの盗難，改竄が防止される。
【０００８】
更に本発明は、秘密情報を格納したカードの前記秘密情報を読み取り該秘密情報をネットワークを介してホストコンピュータに照会してデータ処理を行うカードデータ処理装置において、前記カードの情報読み取り処理及び前記ネットワークを用いる通信処理を担当する第１オペレーティングシステム（以下、第１０Ｓという。）と、ＯＳ実行リソース制御手段と、該第１０Ｓとの間でこのＯＳ実行リソース制御手段を介して前記秘密情報の保存処理を担当する第２オペレーティングシステム（以下、第２ＯＳという。）とを備えることを特徴とするカードデータ処理装置を開示する。
【０００９】
更に本発明は、上記ＯＳ実行リソース制御手段は、第１ＯＳと第２ＯＳとから独立しており、第１ＯＳと第２ＯＳとの使用する物理メモリや外部デバイスなどの計算機資源の互いに別々の割り当てを行うと共に、及び、第１ＯＳと第２ＯＳとの間の、上記通信ネットワークで使用する通信プロトコルとは異なる別の通信プロトコルによる通信処理を行うものとした請求項６のカードデータ処理装置を開示する。
【００１０】
【発明の実施の形態】
以下、本発明の一実施形態について図面を参照して説明する。
【００１１】
図１は、本発明の一実施形態に係るカードデータ処理装置の構成図である。この実施形態に係るカードデータ処理装置（この例では、決済端末装置）１００には、データ読取ボタン１１８を有する読取装置１０４と、金額入力装置１０５と、決済処理要求入力装置１０６とが接続される。また、この決済端末装置１００は、これら入力装置１０４，１０５，１０６から入力されたデータを、電話回線やインターネット等のネットワーク回線１０８を介して、カード会社または銀行等のホストコンピュータ１０７に照会するようになっている。
【００１２】
決済端末装置１００の本体には、第１ＯＳ（ＯＳ１）１０１と、第２ＯＳ（ＯＳ２）１０２と、これらの２つのＯＳに計算機資源を割り当てるＯＳ実行リソース制御機能（手段）１０３とが設けられている。かかる２つのＯＳを搭載する発明は、本件出願人によって実現化されたものであり、特開平１１−１４９３８５、特開平１１−８５５４６、特開平１１−４１０３２、特開平１１−４０９１４等で述べられている。商品名ＤＡＲＭＡとして既に実用化されている。
【００１３】
第１ＯＳ１０１は、読取装置１０４及び金額入力装置１０５から入力されるデータを読み取るカード情報読取機能（手段）１１２と、ＯＳ間データ送受信機能（手段）１１３と、ネットワーク回線１０８との間の通信制御を行うネットワーク通信機能（手段）１１４と、決済処理要求入力装置１０６からの入力指示に基づいて動作を開始する決済処理プログラム１０９とを備える。
【００１４】
ＯＳ実行リソース制御機能１０３は、第１ＯＳ、第２ＯＳから独立し、両ＯＳ間のファイアオール機能１１９、及びＯＳ間通信機能（手段）１１１を持つ。このＯＳ間通信機能１１１はネットワーク回線１０８上の通信プロトコルとは異なる特別の、例えば別の通信プロトコルによって、ＯＳ１とＯＳ２間の通信を行う。
【００１５】
第２ＯＳ１０２は、第１ＯＳ１０１のＯＳ間データ送受信機能１１３との間で、上記通信プロトコルに従って、ＯＳ間データ送受信機能１１５を利用して、データ通信を行う。この第２ＯＳは、承認機能（手段）１１６及びデータ保持機能（手段）１１７と、データ保持機能（手段）１１７に秘密データの保持動作を行わせるデータ保持プログラム１１０とを備える。
【００１６】
ＯＳ実行リソース制御機能１０３は、第１ＯＳと第２ＯＳとからそれぞれ独立しており、両方のＯＳ間データ送受信機能１１３，１１５間の通信制御を行うＯＳ間通信機能１１１と、第１ＯＳ１０１と第２ＯＳ１０２との間にファイアウォール１１９を設ける機能と、を有する。このファイアウォール機能１１９は、この実施形態では、第１ＯＳ１０１と第２ＯＳ１０２の各々が使用する物理メモリの使用領域を完全に分離して割り当て、ＯＳ同士が物理メモリを仲介して直接にデータの授受を行うことができないようにすることで、実現される。更に、通信ネットワーク回線１０８の通信プロトコルとは異なる別のプロトコルで通信を行わせることで、通信ネットワーク回線１０８を介してのデータの盗難やハッカー行為の防止を可能にする。
【００１７】
上述した決済処理プログラム１０９は、カード情報読取機能１１２を用いてカードから銀行口座番号や暗証番号といった個人データを読み取り、ＯＳ間データ送受信機能１１３を用いて第２ＯＳ１０２との間でこの個人データの授受を行なうと共に、第２ＯＳ１０２からこの個人データを取り出して、ネットワーク通信機能１１４を用い、カード会社または銀行のホストコンピュータに送信し、決済処理を行なう。
【００１８】
データ保持プログラム１１０は、ＯＳ間データ送受信機能１１５を用いて、第１ＯＳ１０１との間で個人データの授受を行う。また、承認機能１１６を用いて、第１ＯＳ１０１からの処理要求が第１ＯＳ１０１からの正当な処理要求であるか否かをチェックする。そして、正当と判断した処理要求が「データ保持」であれば、データ保持機能１１７を用いてデータを保持する。
【００１９】
図２は、第２ＯＳ１０２に保持されるデータの構造図である。データは、支払いを行った時刻、ユーザＩＤ、銀行の口座番号、暗証番号、支払金額からなる。
【００２０】
図３は、ＯＳ間で行われる通信の特別プロトコルを示す図である。このプロトコルは、承認コード、処理コード、データ、終了コードからなる。
【００２１】
承認コードは、第１ＯＳ１０１からの要求の正当性を第２ＯＳがチェックするためのコードである。第１ＯＳ１０１と第２ＯＳ１０２との間で予め取り決めておき、この承認コードが正しくない場合には、第１ＯＳ１０１からの処理要求が正当でないと判断して当該処理を行わず、失敗を返す。
【００２２】
処理コードは、第１ＯＳ１０１が第２ＯＳ１０２に要求する処理を表すコードである。また、この処理コードは、第２ＯＳ１０２から第１ＯＳ１０１へ通信するときは第２ＯＳ１０２の処理結果を表す。
【００２３】
図３に例示する様に、第１ＯＳから第２ＯＳに処理要求を行う場合、処理コード“００００００００”は「ＯＳ間通信開始」の処理要求を示し、処理コード“００００１１１１”は「データ保存処理」の処理要求を示す。逆に、第２ＯＳから第１ＯＳに処理結果を返送する場合、処理コード“００００００００”は「処理成功」を示す。
【００２４】
図４は、決済処理プログラムの処理手順を示すフローチャートである。この決済処理プログラムは、ユーザからの「カード情報読取要求」および「決済処理要求」を受け付け、各々の処理を行なう。このプログラムが開始されると（ステップ４００）、ユーザからの処理要求待ち状態になる（ステップ４０１）。処理要求があると、処理要求の種別を判別する（ステップ４０２）。ユーザがデータ読取ボタン１１８を押下した場合にはカード情報読取要求が出され、カード情報読取処理が実行される（ステップ４０３）。また、決済処理要求入力装置１０６から決済処理要求が入力された場合には、決済処理が実行される（ステップ４０４）。
【００２５】
図５は、決済処理プログラムにおけるカード情報読取処理（図４のステップ４０３）の詳細処理手順を示すフローチャートである。カード情報読取処理は、カードから情報を読み取り、読み取った情報を第２ＯＳ１０２にデータ保持してもらうことで完了する。
【００２６】
カードから情報を読み取るためにカードが読取装置にセットされ、読取ボタンが押下されると、読取処理が開始される（ステップ５００）。カードにはユーザＩＤ、口座番号、暗証番号等の個人情報が書き込まれている。第１ＯＳの読取機能によりカードのデータが決済端末装置１００に読み取られる（ステップ５０１）と、次に、利用金額が金額入力装置から入力される（ステップ５０２）。決済処理プログラムは、カードから読み取ったデータと入力された金額とから図２のデータ構造を作成する（ステップ５０３）。そして、この作成したデータを第２ＯＳに保持してもらうために、ＯＳ間データ送受信機能を用いてＯＳ間通信の開始要求を第２ＯＳに対して発行する（ステップ５０４）。このＯＳ間通信開始要求は、図３に示すＯＳ間通信プロトコルを用いて行う。
【００２７】
第２ＯＳから、ステップ５０４の要求に対する処理結果が返されてくると、第１ＯＳはその処理コードからＯＳ間通信開始処理が成功“００００００００”したか失敗“１１１１１１１１”したかを確認する（ステップ５０５）。失敗した場合はエラー終了する（ステップ５１１）。成功した場合は、次にデータ保持要求を発行し、ステップ５０３で作成した送信データを第２ＯＳに対して送信する（ステップ５０６）。このステップ５０６の要求に対して第２ＯＳから返されてくる処理結果により、第１ＯＳは、第２ＯＳによるデータ保持が成功したか失敗したかを確認し（ステップ５０７）、失敗した場合はエラー終了する（ステップ５１１）。成功した場合すなわち秘密データが第２ＯＳに保持された場合には、次に、ＯＳ間通信終了要求を発行する（ステップ５０８）。そして、第２ＯＳから返送されてくる処理結果の処理コードから、通信終了処理が成功したか失敗したかを確認し（ステップ５０９）、失敗であればエラー終了する（ステップ５１１）。成功の場合は、このカード情報読取処理を終了する（ステップ５１０）。
【００２８】
図６は、決済処理プログラムの決済処理（図４のステップ４０４）の詳細処理手順を示すフローチャートである。この決済処理では、図５の手順によって第２ＯＳに保持してもらっている秘密データを第１ＯＳが取り出し、銀行側のホストコンピュータに送信して決済してもらい、第２ＯＳ上の保持データを消去することで完了する。
【００２９】
決済処理要求入力装置１０６（図１）から決済処理要求が入力される（ステップ６００）と、第１ＯＳは、第２ＯＳからデータを取り出すためＯＳ間通信開始要求を発行する（ステップ６０１）。第１ＯＳは、第２ＯＳから返送されてくる処理結果を確認し（ステップ６０２）、失敗の場合はエラー終了する（ステップ６１８）。成功の場合は、第２ＯＳに対しデータ取り出し要求を発行する（ステップ６０３）。第１ＯＳはステップ６０３の要求に対する第２ＯＳの処理結果を確認し（ステップ６０４）、失敗の場合はエラー終了する（ステップ６１８）。成功の場合すなわち第１ＯＳが秘密データを第２ＯＳから受信した場合には、ＯＳ間通信終了要求を発行する（ステップ６０５）。次に、第１ＯＳは、ステップ６０５の要求に対する第２ＯＳの処理結果を確認し（ステップ６０６）、失敗の場合はエラー終了する（ステップ６１８）。
【００３０】
ステップ６０６の判定結果が成功である場合、即ち、第１ＯＳが第２ＯＳから個人データを取り出すことができ、更に、ＯＳ間通信処理が終了した場合には、次にステップ６０７に進み、第１ＯＳは自身のネットワーク通信機能を用いてインターネットあるいは公衆回線を介し、カード会社あるいは銀行等に個人データを送信し、決済処理を要求する。そして、銀行等からの決済処理結果により決済処理が成功したか否かを確認し（ステップ６０８）、決済処理が失敗した場合には、ユーザに決済処理が失敗したことを通知し（ステップ６１６）、決済処理を終了する（ステップ６１７）。そして、銀行等からの決済通知を確認したユーザは、カード会社あるいは銀行等に問い合わせをし、失敗の原因や問題を解決する。
【００３１】
銀行などによる決済処理が成功した場合は、第２ＯＳに保持されている個人データはもはや必要ないので、これを消去するために、第１ＯＳは第２ＯＳに対してＯＳ間通信開始要求を発行する（ステップ６０９）。第１ＯＳは、第２ＯＳからの処理結果を確認（ステップ６１０）し、通信開始処理が失敗した場合はエラー終了する（ステップ６１８）。ＯＳ間通信開始処理が成功した場合には、第１ＯＳは第２ＯＳに対して該当個人データの消去要求を発行する（ステップ６１１）。
【００３２】
第１ＯＳは、この消去要求に対する第２ＯＳからの処理結果を確認し（ステップ６１２）、失敗の場合はエラー終了する（ステップ６１８）。成功の場合は、ＯＳ間通信終了要求を発行し（ステップ６１３）、第２ＯＳからの処理結果を確認し（ステップ６１４）、失敗の場合はエラー終了し（ステップ６１８）、成功の場合は、処理を終了する（ステップ６１５）。
【００３３】
図７は、第２ＯＳで実行されるデータ保持プログラムの処理手順を示すフローチャートである。データ保持プログラムは、第１ＯＳからの処理要求を受け付け、処理要求の正当性を承認機能を用いてチェックしてからその処理を行なう。
【００３４】
データ保持プログラム開始（ステップ７００）後は、常に第１ＯＳからの通信待ち状態になっている（ステップ７０１）。第１ＯＳから通信があると、データ保持プログラムは、承認機能を用いて、通信プロトコル（図３）の承認コードをチェックする（ステップ７０２）。承認コードが正しくない場合は、第１ＯＳに失敗を返し（ステップ７１７）、通信待ち状態に戻る（ステップ７０１）。承認コードが正しい場合には、次に処理コードが何であるかを判別する（ステップ７０３）。
【００３５】
ステップ７０３により判別した処理コードがＯＳ間通信開始要求の場合にはＯＳ間通信を開始し（ステップ７０４）てから、第２ＯＳは第１ＯＳに成功を返し（ステップ７０５）、データに関する処理要求待ち状態になる（ステップ７０６）。ステップ７０３で判別した処理コードがＯＳ間通信開始要求以外の要求の場合は第１ＯＳに失敗を返し（ステップ７１８）、通信待ち状態に戻る（ステップ７０１）。
【００３６】
データ処理プログラムは、ステップ７０６で第１ＯＳからのデータに関する処理要求を受け付けると、承認機能を用いて承認コードをチェックする（ステップ７０７）。承認コードが正しくない場合には第１ＯＳに失敗を返し（ステップ７１９）、通信待ち状態に戻る（ステップ７０１）。承認コードが正しい場合には、処理コードが何であるかを判別する（ステップ７０８）。処理コードが「データ保持要求」の場合には、ＯＳ間通信プロトコルのデータ格納部分から個人データを取り出し、データ保持機能によりこの個人データをメモリ上に保持する（ステップ７０９）。既に保持されているデータがある場合には既保持データとの間を“ＮＵＬＬ”で区切り、既保持データの最後尾に新たな保持データを追加して保持し、第１ＯＳに成功を返す。
【００３７】
処理コードが「データ取り出し要求」の場合には、保持しているデータをＯＳ間通信プロトコルのデータ格納部分（図３参照）に入れ（ステップ７１０）、処理コードに“００００００００”（成功）を入れて第１ＯＳに返す（ステップ７１２）。処理コードが、「データ消去要求」の場合には、保持しているデータを消去し（ステップ７１１）、第１ＯＳに成功を返す（ステップ７１２）。処理コードがそれ以外の場合は、第１ＯＳに失敗“１１１１１１１１”を返し（ステップ７２０）、通信待ち状態に戻る（ステップ７０１）。
【００３８】
次に、データ保持プログラムは、第１ＯＳからのＯＳ間通信終了の発行を待機し（ステップ７１３）、第１ＯＳから処理要求を受けると、承認機能を用いて承認コードをチェックする（ステップ７１４）。承認コードが正しくない場合は、第１ＯＳに失敗を返し（ステップ７２１）、通信待ち状態に戻る（ステップ７０１）。承認コードが正しい場合は、処理コードが何かを判別する（ステップ７１５）。処理コードがＯＳ間通信終了要求の場合には、第１ＯＳに成功を返し（ステップ７１６）、通信待ち状態に戻る（ステップ７０１）。それ以外の場合は、第１ＯＳに失敗を返し（ステップ７２２）、通信待ち状態に戻る（ステップ７０１）。
【００３９】
以上述べたように、本実施形態によれば、ネットワーク通信を行う第１ＯＳと、秘密データ保持を行う第２ＯＳとを同一端末装置（カードデータ処理装置）に搭載し、各ＯＳのメモリ使用エリアが重ならない部分に第２ＯＳが秘密データを保持する構成とし、各ＯＳ間で行われる通信のプロトコルを一般的に使用される通信プロトコルでないプロトコルとしたので、カードから読み取った秘密データがカードデータ処理装置に保持されている最中にネットワークを介して不正アクセスされることがなくなる。
【００４０】
尚、ＯＳ実行リソース制御機能１０３は、第１ＯＳ又は第２ＯＳのどちらに属するようにする例もある。また、ＯＳ間通信機能のみを、第２ＯＳに持たせるようにする例もある。
【００４１】
以上述べた実施形態では決済端末装置を例に説明したが、今後普及するＩＣカードのように、個人の健康情報や行政処理情報など大量の個人情報が格納されたカードのデータ処理装置にも同様に本発明を適用できることはいうまでもない。
【００４２】
【発明の効果】
本発明のよれば、カードから読み取られ端末装置内に保持されている秘密データがネットワークを介して不正アクセスされる危険がなくなるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るカードデータ処理装置の構成図である。
【図２】図１に示すカードデータ処理装置が保持するデータの構造図である。
【図３】図１に示す２つのＯＳ間で行われる通信のプロトコルを示す図である。
【図４】図１に示す第１ＯＳが処理する決済処理プログラムの処理手順を示すフローチャートである。
【図５】図４に示すカード情報読取処理の詳細手順を示すフローチャートである。
【図６】図４に示す決済処理の詳細手順を示すフローチャートである。
【図７】図１に示す第２ＯＳが処理するデータ保持プログラムの処理手順を示すフローチャートである。
【符号の説明】
１００  決済端末
１０１，１０２  ＯＳ
１０３  ＯＳ実行空間割り当て制御機能
１０４  読取装置
１０５  金額入力装置
１０６  決済処理要求入力装置
１０７  カード会社または銀行のホストコンピュータ
１０８  インターネット或いは公衆回線
１０９  決済処理プログラム
１１０  データ保持プログラム
１１１  ＯＳ間通信機能
１１２  カード情報読取機能
１１３  ＯＳ間データ送受信機能
１１４  ネットワーク通信機能
１１５  ＯＳ間データ送受信機能
１１６  承認機能
１１７  データ保持機能
１１８  データ読取ボタン
１１９  ファイアウォール
【図１】
0004309068.tif 000002
【図２】
0004309068.tif 000003
【図３】
0004309068.tif 000004
【図４】
0004309068.tif 000005
【図５】
0004309068.tif 000006
【図６】
0004309068.tif 000007
【図７】
0004309068.tif 000008