(57)【特許請求の範囲】
【請求項１】
メモリにファイルを格納しているＩＣカードにおいて、
前記ファイルの内容から、外部より指定されたパターンと同一パターンを有する情報を検索する検索手段と、
前記検索手段が前記情報を発見した場合に、前記情報が格納されているアドレスを外部に送信する送信手段とを備え、
前記検索手段は、
前記情報を発見した回数を記録する回数記録手段と、
外部からの命令により指定された値を記憶する回数指定手段と
を有し、
前記送信手段は、前記回数記録手段に記録されている値が前記回数指定手段に記憶されている値に達したときに、最後に発見された前記情報の格納されているアドレスを外部へ送信すること
を特徴とするＩＣカード。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリに格納されているファイルについて、指定したパターンと同一パターンの情報を所有しているか否かを検索することが可能なＩＣカードに関するものである。
【０００２】
【従来の技術】
図５は、従来のＩＣカードの構成、及びそのＩＣカードとリーダライタ装置との接続関係を示すブロック図である。
従来のＩＣカード１０は、通常、Ｉ／Ｏインタフェース１１、ＣＰＵ１２、ＲＯＭ１３、ＲＡＭ１４、ＥＥＰＲＯＭ１５を内蔵している。Ｉ／Ｏインタフェース１１は、データを送受するための入出力回路であり、ＣＰＵ１２はこのＩ／Ｏインタフェース１１を介してリーダライタ装置２０と交信する。ＲＯＭ１３内には、ＣＰＵ１２によって実行されるべきプログラムが記憶されており、ＣＰＵ１２は、このプログラムに基いてＩＣカード１０を統括制御する。ＲＡＭ１４は、ＣＰＵ１２がこのような統括制御を行う上で作業領域として使用するメモリである。一方、ＥＥＰＲＯＭ１５は、このＩＣカード１０に記録すべき本来のデータを格納するメモリである。
【０００３】
図６は、図５に示すＥＥＰＲＯＭ１５内の階層構造を示すブロック図である。本実施形態のＥＥＰＲＯＭは、３つの階層から構成される。３つの階層とは、第１層のＭＦ(Master File) 、第２層のＤＦ(Dedicated File)及び第３層のＥＦ(Elementary File)である。 ＭＦは、データメモリ全体のファイルである。ＭＦは
、各アプリケーション（サービス）に共通したデータを格納するためのファイルであり、例えば、このＩＣカード１０の所有者の氏名、住所、電話番号などの情報が記録される。ＤＦは、専用ファイルであり、アプリケーションごとにＤＦの設定がなされている。ＥＦは、基礎ファイルであり、ＣＰＵがＩＣカードを管理・制御する際に解釈実行するデータを格納するＩＥＦと、アプリケーションで使用するデータを格納するＷＥＦ（作業用基礎ファイル）の２種類がある。
【０００４】
ＩＣカード１０内の各メモリ１３、１４、１５へのアクセスは、すべてＣＰＵ１２を介して行われ、外部からこれらメモリを直接アクセスすることはできない。すなわち、リーダライタ装置２０からＣＰＵ１２に対して所定の「コマンド」を与えると、ＣＰＵ１２はこの「コマンド」を解釈実行し、その結果を、リーダライタ装置２０に対して「レスポンス」として返送することになる。
【０００５】
リーダライタ装置２０において、特定のＷＥＦの内容を知りたい場合には、そのＷＥＦのファイルＩＤをＩＣカード１０に通知し、ＩＣカード１０にそのＷＥＦを選択させなければならない。さらに、リーダライタ装置２０は、選択されたファイルの全部の情報ではなく、特定の情報のみを知りたい場合には、その情報が書き込まれているレコードＩＤ又はオフセットアドレスをＩＣカード１０に通知しなければならない。オフセットアドレス等を通知すると、ＩＣカード１０は、そのオフセットアドレスに書き込まれている情報を読み出し、リーダライタ装置２０へ送信する。
【０００６】
一方、リーダライタ装置２０において、求める情報が書き込まれているレコードＩＤ又はオフセットアドレスが既知でない場合には、ＷＥＦの内容全部をＩＣカード１０より受信し、リーダライタ装置２０側でファイルの内容を確認しなければならなかった。さらに、必要な情報を所有しているＷＥＦのファイルＩＤも既知でない場合には、ＤＦ内の全てのＷＥＦの内容をＩＣカード１０より受信し、その内容を調べなければならなかった。
【０００７】
【発明が解決しようとする課題】
しかし、前述した従来のＩＣカードでは、リーダライタ装置との間で行う通信速度が９６００ｂｐｓ前後と比較的遅く、１つの基礎ファイルの情報全部をリーダライタ装置へ送信する場合には莫大な時間が必要となる。このために、リーダライタ装置においてＷＥＦのファイルＩＤ又は求める情報が書き込まれているオフセットアドレス等の情報がない場合には、事実上ＩＣカードより情報を取得することができないという問題があった。
【０００８】
また、最近は、一のＩＣカードを複数の機関で共通に使用することに対する要請が高まっている。一例としては、一のＩＣカードを複数の医療機関で治療履歴を記録するカルテとして利用することがある。このような場合には、カルテを安全に管理すること等の理由から、通常、それぞれの医療機関が別個にＷＥＦを設け、利用することとなる。一方、医師は、患者に医薬品を与える前に、他の医療機関でその医薬品との関係で有害な副作用を引き起こすものが与えられていないかを調べる必要がある。したがって、医師が他の医療機関の管理するＷＥＦをも参照できるようにすることが望まれるが、ＷＥＦの内容全てを無条件に参照可能とすれば、患者のプライバシーが害されるという問題があった。
【０００９】
そこで、本発明の課題は、セキュリティーを害さず、かつ、迅速にファイルに特定の情報があるか否かを確認できるＩＣカードを提供することである。
【００１２】
【課題を解決するための手段】
前記課題を解決するために、請求項１の発明は、メモリにファイルを格納しているＩＣカードにおいて、前記ファイルの内容から、外部より指定されたパターンと同一パターンを有する情報を検索する検索手段と、前記検索手段が前記情報を発見した場合に、前記情報が格納されているアドレスを外部に送信する送信手段とを備え、前記検索手段は、前記情報を発見した回数を記録する回数記録手段と、外部からの命令により指定された値を記憶する回数指定手段とを有し、前記送信手段は、前記回数記録手段に記録されている値が前記回数指定手段に記憶されている値に達したときに、最後に発見された前記情報の格納されているアドレスを外部へ送信することを特徴とする。
【００１３】
【発明の実施の形態】
以下、図面等を参照して、本発明に係る実施形態について、さらに詳しく説明する。
（第１実施形態）
はじめに、本発明に係るＩＣカードの第１実施形態について説明する。本実施形態は、ハードウェア構成において従来のＩＣカードと同一であるが、カレントＥＦ又はショートＥＦ−ＩＤで指定されたトランスペアレント形式のＷＥＦの中で、指定されたパターンと同一パターンのデータを検索して、検索したデータの位置をレスポンスとして送信する機能を備える点において従来のＩＣカードと異なっている。上記機能は、リーダライタ装置２０よりＳＥＡＲＣＨコマンドを受信し、これを処理することにより発揮される。
【００１４】
図１は、ＳＥＡＲＣＨコマンドのＡＰＤＵを示す図である。
ＳＥＡＲＣＨコマンドの第１バイト目から第４バイト目は、順にコマンドのクラス（ＣＬＡ）、種別コード（ＩＮＳ）、パラメータ（Ｐ１、Ｐ２）である。パラメータＰ１、Ｐ２は、検索対象であるＷＥＦにおいて、検索をすべき領域の先頭のオフセットアドレス（以下「検索開始アドレス」という）を指定する。すなわち、パラメータＰ１の第８ビット（ｂ８）が０である場合には、Ｐ１及びＰ２は、検索を開始すべきアドレスを残りの１５ビットで指定する。一方、パラメータＰ１のｂ８が１である場合には、Ｐ１の上位５ビットがショートＥＦ−ＩＤを指定し、Ｐ２の８ビットが検索開始アドレスを指定する。
【００１５】
第６ビット目以降に続くデータフィールドは、検索すべきパターンに関する情報である。データフィールドは、２バイトの検索終了ファイル内アドレス、２バイトの検索インターバルバイト数、１バイトの検索番号及び任意バイト数の検索データ（検索パターン）より構成される。これらデータフィールドを構成する各情報の意味内容については、図２に関する説明において詳述する。
第５ビット目のＬＣは、データフィールドの長さ（バイト数）情報である。
【００１６】
図２は、ＳＥＡＲＣＨコマンドを受信し、処理するときのＩＣカード１０の動作を示す流れ図である。
リーダライタ装置２０からＳＥＡＲＣＨコマンドがあった場合には、ＣＰＵ１２は、実行前チェックを行い（Ｓ５０１）、エラーがあったときには、その旨のメッセージ（Ｓ５０３）を送信する。実行前チェックは、コマンドのパラメータＰ１、Ｐ２が適正であるか、ＬＣとデータフィールドの内容の間に整合がとれているか等について行われる。例えば、ＬＣの値が６未満である、又はデータフィールドの大きさと矛盾する場合には、ＳＥＡＲＣＨコマンドが適切な情報を備えていないことになるので、その旨のエラーメッセージが送信される。
【００１７】
次に、読み出しファイルを指定する（Ｓ５０４）。Ｐ１のｂ８が１の場合には、ショートＥＦ−ＩＤでのファイル検索サブルーチンを使用して、読み出しファイルの指定を行う。ショートＥＦ−ＩＤ検索サブルーチンへは、カレントＤＦのファイルエントリのアドレス（ＣＲＴ−ＤＦ）、検索するＥＦのショートＥＦ−ＩＤ、及びファイル種別（本実施形態の場合はＷＥＦ）を引数として渡す。
【００１８】
ＣＰＵ１２は、指定したファイルを検索する（Ｓ５０５）。以下、その具体的方法について図３を用いて説明する。図３は、ＥＥＰＲＯＭ１５におけるファイル格納イメージを示す図である。図中、なお、ＣＲＴ−ＤＰは、格納されている全ディレクトリアドレスのうち最も先頭に格納されているもののファイルエントリのアドレスを示すポインタである。ＥＥＰＲＯＭ１５には、アドレスの大なる方から順にシステム情報エリア及びＭＦディレクトリが、さらに続けてＷＥＦ等のディレクトリが隙間なく格納されている。ショートＥＦ−ＩＤ検索サブルーチンは、ＣＲＴ−ＤＦからＣＲＴ−ＤＰまで順にファイルディレクトリを参照し、ＣＲＴ−ＤＦを親ＤＦとするＷＥＦであって、ファイルＩＤの下位５ビットがショートＥＦ−ＩＤと一致するものを検索する。
【００１９】
上記の検索の結果、検索エラー又は検索したファイルがレコード形式のＷＥＦの場合には（図２のＳ５０６）、該当するメッセージを送信し（Ｓ５０７、Ｓ５２１）、コマンドを終了する。上記の他は、検索したファイルのアドレスを、ＲＡＭ１４のカレントＥＦアドレスにセットする（Ｓ５０８）。
【００２０】
次に、読み出しファイルのチェックを行い（Ｓ５１０）、エラーの場合には、その旨のメッセージ（Ｓ５１１）を送信する（Ｓ５２１）。
チェック項目は、ＲＡＭ１４のカレントＥＦアドレスが００００ｈのとき、検索開始アドレス又は検索終了アドレスがライトアペインドポインタを超えているとき、検索開始アドレスが検索終了アドレスを超えているとき、データ領域のＣＲＣチェックエラーのときである。
【００２１】
「ＲＡＭ１４のカレントＥＦアドレスが００００ｈのとき」とは、カレントＥＦアドレスが選択されていないときのことである。このときがエラーとして処理されるのは、ショートＥＦ−ＩＤが指定されていない場合である。
「検索開始アドレス又は検索終了アドレスがライトアペインドポインタを超えているとき」をエラーとして処理するのは、実際にデータが格納されている領域を越えて誤った範囲を検索範囲として指定しているからである。また、「検索開始アドレスが検索終了アドレスを超えているとき」も、コマンドの内容が整合性を欠くので、エラー処理を行うこととしている。
「データ領域のＣＲＣチェックエラーのとき」にエラーメッセージを送信するのは、ＷＥＦに格納されているデータがそもそも異常を有するものである旨をリーダライタ装置に警告するためである。
【００２２】
Ｓ５１２では、ＳＥＡＲＣＨコマンドのパラメータＰ１、Ｐ２を参照することにより、検索ファイルの検索開始位置を取得する。Ｐ１のｂ８が１の場合には、Ｐ２の８ビットをファイル先頭からのオフセットアドレスとして認識し、検索を行う際の読み出し開始位置とする。Ｐ１のｂ８が０の場合には、（Ｐ１の下位７ビット）＋（Ｐ２の計１５ビット）をファイル先頭からのオフセットアドレスとして認識し、読み出し開始位置とする。ここで、再度検索開始アドレスがライトアペンドポインタを超えているか否かを確認し、越えている場合には（Ｓ５１４）、その旨のメッセージを送信する（Ｓ５１５、Ｓ５２１）。
次に、検索終了アドレスのチェックを行う（Ｓ５１６）。検索終了アドレスがライトアペンドポインタ（又はファイルエンド）を超えないことを確認し、超える場合には、検索終了アドレスにライトアペンドポインタ（又はファイルエンド）をセットする（Ｓ５１７）。
【００２３】
次に、ＣＰＵ１２は、データの検索を行う（Ｓ５１８）。検索するキー（パターン）は、Ｄａｔａ  Ｆｉｅｌｄの先頭から６バイト目以降の検索データであり、検索キー長（検索パターン長）は、ＬＣ−５である。（検索アドレス）＋（検索キー長）が検索終了アドレスを超えた場合には、検索を終了し、その旨のメッセージを送信してコマンドを終了する。比較方法は、検索キー長分（検索パターン長分）の完全一致により行う。一致データが検索番号分見つかった（Ｓ５１９）場合には、そのデータのファイル内のオフセットアドレス２バイトと、正常であるメッセージを送信し（Ｓ５２１）、処理を終了する。不一致の場合には、インターバルサイズ分（コマンドのデータフィールドで指定する検索インターバルバイト数）アドレスを進めて、次の検索を行う（Ｓ５１８）。
【００２４】
（第１実施形態の変形例）
第１実施形態で説明したＳＥＡＲＣＨコマンドの処理内容は、種々の態様に変形することが可能である。図４は、ＳＥＡＲＣＨコマンドの処理内容の変形例を示す流れ図である。本変形例におけるＳＥＡＲＣＨコマンドの処理内容は、Ｓ５１９とＳ５２１の間に新たに検索パターンの発見回数を確認する処理（Ｓ５２２、Ｓ５２３）を有する点において第１実施形態と異なる。
本変形例では、Ｓ５１８、Ｓ５１９の検索において指定された検索パターンと同一のデータを発見した場合には、ＲＡＭ１４上の所定アドレスに格納されている発見個数Ｎに１加算する（Ｓ５２２）。次に、発見個数Ｎがコマンドのデータフィールドで指定された検索番号以上か否かが判断される（Ｓ５２３）。発見個数Ｎが検索番号以上である場合には、Ｓ５２１の処理がなされる。すなわち、検索番号で指定される回数目に発見されたデータのアドレスがリーダライタ装置２０に送信される。他の場合には、Ｓ５１８へ戻り、さらに検索が継続される。
【００２５】
以上説明したように、本発明の第１実施形態及びその変形例のＩＣカードは、ＳＥＡＲＣＨコマンドを実行すると、選択されたＷＥＦ内で指定されたパターンと同一パターンの情報を検索し、その結果、同一パターンの情報が発見されたときは当該情報のオフセットアドレスをレスポンスとして外部へ送信する。したがって、本実施形態では、フォーマットが未知のＷＥＦから、特定の情報のみを読み出すことが可能である。すなわち、最初にＳＥＡＲＣＨコマンドを用いて上記特定情報が格納されている領域のオフセットアドレスを取得すれば、そのオフセットアドレスに基づいて、ＲＥＡＤ  ＢＩＮＡＲＹコマンド等を用いることにより、上記特定情報のみをＷＥＦから読み出すことができる。換言すれば、本実施形態では、フォーマットが未知であるＷＥＦから特定の情報を取得する場合に、その内容の全てを外部へ読み出す必要を回避することで通信時間を必要最小限に抑制し、迅速に上記特定の情報を取得することを可能としているのである。
【００２６】
また、本実施形態は、一のＩＣカードを複数のシステムにおいて多目的に使用する場合のＩＣカードの利用価値を増大させるものである。ここで、一例として、一のＩＣカードを２つの金融システムにおいて同時に使用可能とした場合を考える。この場合には、カード所有者のプライバシー保護の観点から、Ａ金融システムの取引明細を記録したＷＥＦについて、Ｂ金融システムによるアクセスを許容すべきではない。一方、Ｂ金融システムとしては、カード所有者に貸し出しを行う場合に、カード所有者が他の金融機関からの借入金を有するか否かを事前に確認し、取引の安全性を確保する必要がある。
【００２７】
上記のような場合に、Ａ、Ｂそれぞれの金融システムが、「借入金」を検索パターンとしたＳＥＡＲＣＨコマンドの実行を各々のＷＥＦにおいて認めれば、各金融システムは、カード所有者が他の金融機関より金銭の借入をしているか否かを確認することが可能となる。しかも、ＳＥＡＲＣＨコマンドは、検索パターンが一致する領域のオフセットアドレスのみをレスポンスとして返すので、ＷＥＦの他の情報を他金融機関に知られ、プライバシーが犯されるおそれはない。このように、本実施形態は、ＩＣカードの機密性という特徴を損なうことなく、ＩＣカードを用いた取引の安全性を向上させることが可能である。
【００２８】
また、本実施形態では、ＳＥＡＲＣＨコマンドにより検索されるべき領域を指定することが可能となっている。したがって、検索したい領域が明確である場合には、それを指定することにより、不必要な領域を検索する無駄を回避し、検索時間を抑制することが可能となっている。
さらに、ＳＥＡＲＣＨコマンドでは、検索インターバルバイト数が指定可能となっている。よって、検索する領域が同一であっても、検索パターンの内容又は検索事項の重要度等に合わせ、検索する速度を適切に加減することが可能となっている。
さらにまた、ＳＥＡＲＣＨコマンドでは、検索番号が指定可能となっている。したがって、ＷＥＦの中で任意の回数目に現れる検索パターンと同一パターンを有する情報について、そのオフセットアドレスを取得することが可能である。
【００２９】
（その他の実施形態）
なお、本発明は、上記実施形態に限定されるものではない。上記実施形態は、例示であり、本発明の特許請求の範囲に記載された技術的思想と実質的に同一な構成を有し、同様な作用効果を奏するものは、いかなるものであっても本発明の技術的範囲に包含される。
【００３０】
例えば、上記実施形態では、トランスペアレント構造のＷＥＦを検索する場合について説明しているが、これは、検索対象を限定する意味ではない。ＳＥＡＲＣＨコマンドの対象は、例えばレコード構造のＷＥＦであってもよい。この場合には、コマンドのパラメータＰ１、Ｐ２により検索を開始すべきオフセットアドレスを指定する代わりに、パラメータＰ２のみでレコードナンバーを指定することとなる。
【００３１】
【発明の効果】
以上詳しく説明したように、本発明によれば、内容の不明なファイルについて、特定の情報が保存されているか否かを確認することが可能である。そして、ファイルの中で任意の回数目に現れる検索パターンと同一パターンの情報を検索することが可能である。
【図面の簡単な説明】
【図１】ＳＥＡＲＣＨコマンドのＡＰＤＵを示す図である。
【図２】ＳＥＡＲＣＨコマンドを受信し、処理するときのＩＣカード１０の動作を示す流れ図である。
【図３】ＥＥＰＲＯＭ１５におけるファイル格納イメージを示す図である。
【図４】ＳＥＡＲＣＨコマンドの処理内容の変形例を示す流れ図である。
【図５】従来のＩＣカードの構成、及びそのＩＣカードとリーダライタ装置との接続関係を示すブロック図である。
【図６】ＥＥＰＲＯＭ１５内の階層構造を示すブロック図である。
【符号の説明】
１１  Ｉ／Ｏインタフェース
１２  ＣＰＵ
１３  ＲＯＭ
１４  ＲＡＭ
１５  ＥＥＰＲＯＭ
２０  リーダライタ装置
【図１】
0003718565.tif 000002
【図２】
0003718565.tif 000003
【図３】
0003718565.tif 000004
【図４】
0003718565.tif 000005
【図５】
0003718565.tif 000006
【図６】
0003718565.tif 000007