(57)【要約】【課題】ホスト計算機側でＩＣタグ毎のデータフォーマット情報を管理する場合には、ＩＣタグの種類が増加するにつれ、管理するデータ量が増加する問題がある。また、ＩＣタグに読み取り制限をかける場合には、認証処理のために処理時間が増加する問題がある。【解決手段】ＩＣタグの端末は、データ格納情報を生成し、生成されたデータ格納情報に基づいて、データを分割し、分割されたデータをデータ格納情報とともにＩＣタグに書き込む。次に、端末は、ＩＣタグから取得したデータ格納情報に基づいて、データを取得し、元のデータを復元する。これによって、ＩＣタグ毎のデータフォーマットを管理することなく、ＩＣタグの内部データを正しく取得することができる。また、ＩＣタグ毎にデータを格納する領域を動的に変更することによって、ＩＣタグの内部データの意味を類推されることを防止することができる。【選択図】図１
2010086388.tif 000002
【特許請求の範囲】
【請求項１】
無線通信によってＩＣタグにアクセスし、前記ＩＣタグに対して発券処理を実行する第１の端末と、無線通信によって前記ＩＣタグにアクセスし、前記ＩＣタグに対して入出場処理を実行する第２の端末と、を備えるタグアクセスシステムであって、
前記ＩＣタグは、データを格納する記憶部と、前記第１の端末及び第２の端末からのコマンドを受信し、前記記憶部に格納されたデータを送信する入出力部と、を備え、
前記第１の端末は、前記第１の端末の外部からデータを入力する入力部と、前記ＩＣタグに送信するコマンドを生成するコマンド生成部と、前記ＩＣタグにアクセスするＩＣタグアクセス部と、前記コマンド生成部で使用される鍵情報を保管する鍵保管部と、を備え、
前記第２の端末は、前記ＩＣタグから受信したデータの正当性を判定する判定部と、前記ＩＣタグに送信するコマンドを生成するコマンド生成部と、前記ＩＣタグにアクセスするＩＣタグアクセス部と、前記コマンド生成部で使用される鍵情報を保管する鍵保管部と、を備え、
前記第１の端末は、
数列を生成し、
前記生成された数列に基づいて、データの格納位置及び格納形態を示すデータ格納情報を生成し、
前記生成されたデータ格納情報を前記ＩＣタグに格納し、
前記生成されたデータ格納情報に基づいて、データを分割し、
前記分割されたデータを前記ＩＣタグに格納することを特徴とするタグアクセスシステム。
【請求項２】
前記第２の端末は、
前記ＩＣタグに格納された前記データ格納情報を取得し、
前記取得したデータ格納情報に基づいて、分割された複数のデータの格納位置を特定し、
前記ＩＣタグに格納された前記分割された複数のデータを取得し、
前記データ格納情報に基づいて、前記分割された複数のデータを結合することによって、データを再構成することを特徴とする請求項１に記載のタグアクセスシステム。
【請求項３】
前記第２の端末は、
前記データ格納情報に基づいて、前記ＩＣタグに格納するデータを分割し、
前記分割されたデータを前記ＩＣタグに格納することを特徴とする請求項２に記載のタグアクセスシステム。
【請求項４】
前記タグアクセスシステムは、さらに、無線通信によって前記ＩＣタグにアクセスし、前記ＩＣタグに対して精算処理を実行する第３の端末を備え、
前記第３の端末は、
前記ＩＣタグから受信したデータの正当性を判定する判定部と、前記ＩＣタグに送信するコマンドを生成するコマンド生成部と、前記ＩＣタグにアクセスするＩＣタグアクセス部と、前記第３の端末の外部からデータを入力する入力部と、前記コマンド生成部で使用される鍵情報を保管する鍵保管部と、を備え、
前記ＩＣタグに格納された前記データ格納情報を取得し、
前記取得したデータ格納情報に基づいて、分割された複数のデータの格納位置を特定し、
前記ＩＣタグに格納された前記分割された複数のデータを取得し、
前記データ格納情報に基づいて、前記分割された複数のデータを結合することによって、データを再構成することを特徴とする請求項１に記載のタグアクセスシステム。
【請求項５】
前記第３の端末は、
前記データ格納情報に基づいて、前記ＩＣタグに格納するデータを分割し、
前記分割されたデータを前記ＩＣタグに格納することを特徴とする請求項４に記載のタグアクセスシステム。
【請求項６】
前記データ格納情報は、データの分割数と、データの格納エリアと、データの開始アドレスと、データのサイズと、暗号化及び圧縮の有無を示すデータ格納オプションと、を含むことを特徴とする請求項１に記載のタグアクセスシステム。
【請求項７】
前記データ格納情報は、データの分割数と、前記ＩＣタグのデータ格納領域が分割された各領域に割り当てられた識別子と、暗号化及び圧縮の有無を示すデータ格納オプションと、を含むことを特徴とする請求項１に記載のタグアクセスシステム。
【請求項８】
前記第１の端末は、
前記生成されたデータ格納情報に基づいて、データを分割し、
前記分割されたデータと、前記生成されたデータ格納情報を前記分割されたデータの格納位置及び格納形態を示す情報と、を含む分割データブロックを生成し、
前記生成された分割データブロックを前記ＩＣタグに格納することを特徴とする請求項１に記載のタグアクセスシステム。
【請求項９】
前記分割データブロックは、前記分割されたデータと、前記分割されたデータの位置を示す識別子と、前記分割されたデータの種別を示すデータ種別と、前記分割されたデータのサイズと、前記分割されたデータに対する暗号化及び圧縮の有無を示すデータ格納オプションと、を含むことを特徴とする請求項８に記載のタグアクセスシステム。
【請求項１０】
前記分割データブロックは、所定の区切り符号の後に配置されることを特徴とする請求項８に記載のタグアクセスシステム。
【請求項１１】
前記第２の端末は、
前記ＩＣタグに格納されたデータを取得し、
前記取得したデータに含まれる前記分割データブロックの区切り符号を先頭から順に読み取ることによって、前記分割データブロックの位置及び長さを特定し、
前記特定された分割データブロックを取得し、
前記取得した分割データブロックを正しい順序に並べ替えた後、前記分割データブロックから前記データ格納情報を再構成し、
前記データ格納情報に基づいて、分割データブロックに含まれる前記分割されたデータを結合することによって、データを再構成することを特徴とする請求項８に記載のタグアクセスシステム。
【請求項１２】
前記タグアクセスシステムは、さらに、無線通信によって前記ＩＣタグにアクセスし、前記ＩＣタグに対して精算処理を実行する第３の端末を備え、
前記第３の端末は、
前記ＩＣタグに格納されたデータを取得し、
前記取得したデータに含まれる前記分割データブロックの区切り符号を先頭から順に読み取ることによって、前記分割データブロックの位置及び長さを特定し、
前記特定された分割データブロックを取得し、
前記取得した分割データブロックを正しい順序に並べ替えた後、前記分割データブロックから前記データ格納情報を再構成し、
前記データ格納情報に基づいて、分割データブロックに含まれる前記分割されたデータを結合することによって、データを再構成することを特徴とする請求項８に記載のタグアクセスシステム。
【請求項１３】
前記第１の端末は、
乱数を生成し、
前記生成された乱数によって前記数列を構成することを特徴とする請求項１に記載のタグアクセスシステム。
【請求項１４】
前記第１の端末は、
前記生成された乱数の中に同じ値が含まれる場合、前記生成された同じ値を削除し、
新たな値を追加することを特徴とする請求項１３に記載のタグアクセスシステム。
【請求項１５】
前記第１の端末は、
前記発券処理毎に更新されるシリアル番号によって前記数列を構成することを特徴とする請求項１に記載のタグアクセスシステム。
【請求項１６】
前記第１の端末は、前記第１の端末に設定されている固有の識別子によって前記数列を構成することを特徴とする請求項１に記載のタグアクセスシステム。
【請求項１７】
無線通信によってＩＣタグにアクセスし、前記ＩＣタグに対して発券処理を実行する第１の端末と、無線通信によって前記ＩＣタグにアクセスし、前記ＩＣタグに対して入出場処理を実行する第２の端末と、を備えるタグアクセスシステムにおいて前記ＩＣタグにデータを格納する方法であって、
前記第１の端末は、
数列を生成し、
前記生成された数列に基づいて、データの格納位置及び格納形態を示すデータ格納情報を生成し、
前記生成されたデータ格納情報を前記ＩＣタグに格納し、
前記生成されたデータ格納情報に基づいて、データを分割し、
前記分割されたデータを前記ＩＣタグに格納し、
前記第１の端末及び前記第２の端末は、
前記ＩＣタグに格納された前記データ格納情報を取得し、
前記取得したデータ格納情報に基づいて、前記分割された複数のデータの格納位置を特定し、
前記ＩＣタグに格納された前記分割された複数のデータを取得し、
前記取得したデータ格納情報に基づいて、前記分割された複数のデータを結合することによって、データを再構成した後、再構成されたデータを検証することを特徴とするＩＣタグのデータ格納方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タグアクセスシステムに関し、特にデータを分割してＩＣタグに格納する方法に関する。
【背景技術】
【０００２】
主に流通業界での利用を目的としたＵＨＦ帯のＩＣタグの規格として、国際標準ＩＳＯ／ＩＥＣ１８０００−６が公開されている。この規格は、ＩＣタグに複数のデータ格納ブロックを定義しており、これらデータ格納ブロックをデータの種類に応じて使い分けることができる。
【０００３】
一般的に、ＩＣタグに格納するデータ量が増加し、単一のデータブロックにデータを格納することができない場合には、端末装置等はデータを分割してＩＣタグに格納する。この場合には、端末装置等は、ＩＣタグに格納されたデータを正しく取得するために、分割されたデータの構成（データフォーマット）を把握しておく必要がある。なお、流通業界等では、様々な種類のＩＣタグを取り扱うが、ＩＣタグのデータフォーマットはＩＣタグが準拠する規格によって異なる。
【０００４】
そこで、ホスト計算機側が複数の種類のデータフォーマットをあらかじめ管理し、ＩＣタグの種類に依存しないデータフォーマット定義情報を用いて、データフォーマットの異なるＩＣタグへデータを読み書きする方法が知られている（例えば、特許文献１参照）。
【０００５】
また、ＩＣタグのデータ格納領域が固定された場合には、不正な第三者が複数のＩＣタグの内部データを盗み見し、内部データを比較することが容易になるため、内部データの意味（日時、金額等）が類推されてしまう可能性がある。そこで、ＩＣタグ内のデータ格納領域に読み取り制限を設けることによって、容易な読み取りを防ぐ技術が知られている（例えば、特許文献２参照）。
【特許文献１】特開２００６−２７７４８４号公報
【特許文献２】特開２００８−０５９０１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ホスト計算機側でＩＣタグ毎のデータフォーマット情報を管理する場合には、ＩＣタグの種類が増加するにつれ、管理するデータ量が増加する。また、ホスト計算機を複数備える計算機システムの場合には、データフォーマット情報を管理する専用のサーバを備えるか、又は、すべてのホスト計算機に事前にデータフォーマット情報を設定しておく必要がある。
【０００７】
さらに、ＩＣタグの内部データの不正な読み取りを防ぐためにＩＣタグのデータ格納領域に読み取り制限をかける場合には、読み取り制限を解除するために、認証情報等を用いた認証処理を実行する必要があり、アクセスの処理時間が増加する問題がある。さらに、認証情報を生成するためは、鍵情報を管理する必要がある。
【０００８】
本発明は、前述した問題を鑑みてなされたものであって、ＩＣタグの種類毎のデータフォーマット情報を管理することなく、また、データ格納領域への読み取り制限を設けずに、ＩＣタグへ安全にデータを格納することができるＩＣタグのデータ格納システム及びデータ格納方法を提供する。
【課題を解決するための手段】
【０００９】
本発明の代表的な一例を示せば、以下のとおりである。すなわち、第１の発明は、無線通信によってＩＣタグにアクセスし、前記ＩＣタグに対して発券処理を実行する第１の端末と、無線通信によって前記ＩＣタグにアクセスし、前記ＩＣタグに対して入出場処理を実行する第２の端末と、を備えるタグアクセスシステムであって、前記ＩＣタグは、データを格納する記憶部と、前記第１の端末及び第２の端末からのコマンドを受信し、前記記憶部に格納されたデータを送信する入出力部と、を備え、前記第１の端末は、前記第１の端末の外部からデータを入力する入力部と、前記ＩＣタグに送信するコマンドを生成するコマンド生成部と、前記ＩＣタグにアクセスするＩＣタグアクセス部と、前記コマンド生成部で使用する鍵情報を保管する鍵保管部と、を備え、前記第２の端末は、前記ＩＣタグから受信したデータの正当性を判定する判定部と、前記ＩＣタグに送信するコマンドを生成するコマンド生成部と、前記ＩＣタグにアクセスするＩＣタグアクセス部と、前記コマンド生成部で使用される鍵情報を保管する鍵保管部と、を備え、前記第１の端末は、数列を生成し、前記生成された数列に基づいて、データの格納位置及び格納形態を示すデータ格納情報を生成し、前記生成されたデータ格納情報を前記ＩＣタグに格納し、前記生成されたデータ格納情報に基づいて、データを分割し、前記分割されたデータを前記ＩＣタグに格納することを特徴とする。
【発明の効果】
【００１０】
本発明の一実施形態によれば、ＩＣタグ毎のデータフォーマットを管理することなく、ＩＣタグの内部データを正しく取得することができる。
【発明を実施するための最良の形態】
【００１１】
本発明の概要は以下のとおりである。
【００１２】
本発明は、ＩＣタグに格納するデータを動的に分割し、格納する技術を提供する。具体的には、乱数を用いて、ＩＣタグに格納するデータの格納手順を記載したデータ格納情報を生成し、ＩＣタグ毎にデータ格納情報とその情報に基づいて分割されたデータとの組みを格納する。
【００１３】
例えば、本発明を鉄道の切符等に適用する場合には、ＩＣタグ（ＩＣタグを備えた切符）の発券処理において、発券端末は乱数を生成し、この乱数を用いてデータ格納情報を生成する。データ格納情報には、データの分割数、データの格納エリア、データの開始アドレス、データのサイズ、及び、データ格納オプション等の情報が含まれる。発券端末は、このデータ格納情報に基づいて、データを分割し、データ格納情報とともに分割されたデータをＩＣタグに書き込む。次に、入出場処理及び精算処理において、端末は、ＩＣタグからデータ格納情報を取得し、取得したデータ格納情報に基づいて、データが格納されている記憶領域を特定し、ＩＣタグの該当する記憶領域から分割されたデータを取得し、元のデータ券情報を再構成する。
【００１４】
＜実施形態１＞
本発明の第１の実施形態について説明する。
【００１５】
なお、以下に説明する第１の実施形態は、本発明の一実施形態であって、これによって本発明が限定されるものではない。また、第１の実施形態は、鉄道の出改札システムを例としているが、他の入退場管理システム（例えば、遊園地、映画館等の入退場管理システム）にも適用することができる。
【００１６】
図１は、本発明の第１の実施形態のＩＣタグのデータ格納システムの構成を示すブロック図である。
【００１７】
第１の実施形態のＩＣタグのデータ格納システムは、ＩＣタグ１０と、発券端末２０と、入出場端末３０と、精算端末４０とを備える。各端末は、無線通信によってＩＣタグ１０と接続される。
【００１８】
ＩＣタグ１０は、データ送受信部１０１、コマンド解析部１０２、データ格納情報出力部１０３、発券情報出力部１０４、入場情報出力部１０５、中間入出場情報出力部１０６、出場情報出力部１０７、データ格納情報記憶部１０８、発券情報記憶部１０９、入場情報記憶部１１０、中間入出場情報記憶部１１１及び出場情報記憶部１１２を備え、各端末からコマンドを受信し、受信したコマンドの内容に基づいて、処理を実行し、処理結果を送信する。
【００１９】
データ送受信部１０１は、各端末から送信されたコマンドを受信し、処理結果を送信する。コマンド解析部１０２は、各端末から送信されたコマンドを解析する。
【００２０】
データ格納情報出力部１０３は、発券処理においてＩＣタグ１０に格納されるデータ格納情報を出力する。発券情報出力部１０４は、発券処理においてＩＣタグ１０に格納される発券情報を出力する。入場情報出力部１０５は、入場処理においてＩＣタグ１０に格納される入場情報を出力する。中間入出場情報出力部１０６は、中間入出場処理においてＩＣタグ１０に格納される中間入出場情報を出力する。出場情報出力部１０７は、出場処理においてＩＣタグ１０に格納される出場情報を出力する。
【００２１】
データ格納情報記憶部１０８は、ＩＣタグ１０に書き込まれているデータの格納順序等を示すデータ格納情報を記憶する。発券情報記憶部１０９は、発券処理においてＩＣタグに格納される発券情報を記憶する。入場情報記憶部１１０は、入場処理においてＩＣタグに格納される入場情報を記憶する。中間入出場情報記憶部１１１は、中間入出場処理においてＩＣタグに格納される中間入出場情報を記憶する。出場情報記憶部１１２は、出場処理においてＩＣタグに格納される出場情報を記憶する。
【００２２】
発券端末２０は、入力部２０１と、コマンド生成部２０２と、ＩＣタグアクセス部２０３と、鍵保管部２０４とを備える。発券端末２０は、無線通信によってＩＣタグ１０にアクセスし、ＩＣタグ１０に格納されたデータを読み取る。また、利用者は、発券端末２０にデータ（料金等）を入力する。
【００２３】
入力部２０１は、外部からＩＣタグ１０に書き込む情報及び料金等を入力する。コマンド生成部２０２は、ＩＣタグ１０に対して送信するコマンドを生成する。ＩＣタグアクセス部２０３は、端末とＩＣタグ１０との間でコマンドを送受信する。鍵保管部２０４は、コマンド生成部２０２で使用する鍵情報を保管する。
【００２４】
入出場端末３０は、判定部３０１と、コマンド生成部３０２と、ＩＣタグアクセス部３０３と、鍵保管部３０４とを備え、無線通信によってＩＣタグ１０にアクセスし、ＩＣタグ１０に格納されたデータを読み取り、また、ＩＣタグ１０から読み出されたデータを判定する。
【００２５】
判定部３０１は、ＩＣタグ１０から取得したデータの正当性を判定する。コマンド生成部３０２は、ＩＣタグ１０に対して送信するコマンドを生成する。ＩＣタグアクセス部３０３は、端末とＩＣタグ１０との間でコマンドを送受信する。鍵保管部３０４は、コマンド生成部３０２で使用する鍵情報を保管する。
【００２６】
精算端末４０は、判定部４０１と、コマンド生成部４０２と、ＩＣタグアクセス部４０３と、入力部４０４とを備え、無線通信によってＩＣタグ１０にアクセスし、ＩＣタグ１０に格納されたデータを読み取り、また、ＩＣタグ１０から読み出されたデータを判定する。また、利用者は精算端末４０に精算金額等のデータを入力する。
【００２７】
判定部４０１は、ＩＣタグ１０から取得したデータの正当性を判定する。コマンド生成部４０２は、ＩＣタグ１０に対して送信するコマンドを生成する。ＩＣタグアクセス部４０３は、端末とＩＣタグ１０との間でコマンドを送受信する。入力部４０４は、外部からＩＣタグ１０に書き込む料金等を入力する。鍵保管部４０５は、コマンド生成部４０２で使用する鍵情報を保管する。
【００２８】
図２は、本発明の第１の実施形態のＩＣタグのハードウェア構成を示すブロック図である。
【００２９】
ＩＣタグ１０は、入出力部１０Ａ及び記憶部１０Ｂを備え、内部信号線１０Ｃで互いに接続されている。
【００３０】
入出力部１０Ａは、各端末から送信されたコマンド等の入力を受け付け、発券情報、入場情報、出場情報等を出力する無線送受信部である。
【００３１】
記憶部１０Ｂは、図１に示した、データ格納情報記憶部１０８、発券情報記憶部１０９、入場情報記憶部１１０、中間入出場情報記憶部１１１及び出場情報記憶部１１２を含み、また、ＩＣタグ１０と各端末との間の発券処理、入場処理、出場処理及び精算処理等において送受信されるデータを格納する。
【００３２】
なお、記憶部１０Ｂは、図１に示した、コマンド解析部１０２、データ格納情報出力部１０３、発券情報出力部１０４、入場情報出力部１０５、中間入出場情報出力部１０６、及び、出場情報出力部１０７を実現するプログラムを格納してもよい。
【００３３】
この場合には、ＩＣタグ１０はＣＰＵ（図示省略）を備え、ＣＰＵが記憶部１０Ｂに格納されたプログラムを実行することによって、各処理部（コマンド解析部１０２、データ格納情報出力部１０３等）を実現してもよい。また、ＩＣタグ１０は、各処理部（コマンド解析部１０２、データ格納情報出力部１０３等）を実現するロジック回路（図示省略）を備えてもよい。
【００３４】
また、ＩＣタグ１０は、図２に示した構成を備えているのであれば、クレジットカードのような形状であってもよいし、鉄道の切符、又は、映画館のチケットのような形状であってもよい。さらに、ＭＭＣ（ＭｕｌｔｉＭｅｄｉａ  Ｃａｒｄ）及びＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カードのようなメモリーカードの形状であってもよい。
【００３５】
図３は、本発明の第１の実施形態の発券端末のハードウェア構成を示すブロック図である。
【００３６】
発券端末２０は、入出力装置２０Ａ、ＩＣタグ入出力装置２０Ｂ、記憶装置２０Ｃ、ＣＰＵ２０Ｄ、メモリ２０Ｅ、及び、読取装置２０Ｆを備え、各部はバス等の内部信号線２０Ｈによって互いに接続されている。
【００３７】
入出力装置２０Ａは、利用者がＩＣタグ１０に格納する発券情報を入力する装置であり、また、発券処理の結果を出力する装置である。ＩＣタグ入出力装置２０Ｂは、ＩＣタグ１０にアクセスし、ＩＣタグ１０に格納されたデータを読み取り、また、各コマンドを送信する装置である。
【００３８】
記憶装置２０Ｃは、データ及びプログラム等を記憶する。ＣＰＵ２０Ｄは、メモリ２０Ｅに格納された各プログラムを実行するプロセッサである。メモリ２０Ｅは、図１に示した入力部２０１、コマンド生成部２０２、ＩＣタグアクセス部２０３及び鍵保管部２０４を実現するプログラムを格納する。
【００３９】
読取装置２０Ｆは、記憶媒体２０Ｇ（例えば、ＣＤ−ＲＯＭ、メモリーカード等）にデータの読み書きをする装置である。なお、ＩＣタグ１０がメモリーカード（例えば、ＭＭＣ）等である場合には、ＩＣタグ入出力装置２０Ｂの代わりに、読取装置２０ＦがＩＣタグへの読み書きを実行してもよい。
【００４０】
なお、精算端末４０（図示省略）は、図３に示した発券端末２０の構成と同じである。
【００４１】
図４は、本発明の第１の実施形態の入出場端末のハードウェア構成を示すブロック図である。
【００４２】
入出場端末３０は、出力装置３０Ａ、ＩＣタグ入出力装置３０Ｂ、記憶装置３０Ｃ、ＣＰＵ３０Ｄ、メモリ３０Ｅ、及び、読取装置３０Ｆを備え、各部はバス等の内部信号線３０Ｈによって互いに接続されている。入出場端末３０は、図１に示した発券端末２０とほぼ同じ構成である。
【００４３】
出力装置３０Ａは、入場処理の結果、中間入出場処理の結果、及び、出場処理の結果を出力する装置である。
【００４４】
ＣＰＵ３０Ｄは、メモリ３０Ｅに格納された図１に示した判定部３０１、コマンド生成部３０２、ＩＣタグアクセス部３０３及び鍵保管部３０４を実現するプログラムを実行するプロセッサである。
【００４５】
なお、第１の実施形態の発券端末２０、入出場端末３０及び精算端末４０は、パーソナルコンピュータ(ＰＣ)、携帯型情報機器（ＰＤＡ）、ＰＤＡを備えた携帯電話端末（スマートフォン）等の装置であってもよい。また、前述した各端末は、ＵＳＢ等の外部インタフェースを介して、ＩＣタグの読取装置を接続してもよい。
【００４６】
以下に、第１の実施形態のＩＣタグのデータ格納システムの処理について説明する。
【００４７】
ここでは、以下の処理は、ＩＣタグ１０、又は、各端末等に備わる各処理部が実行すると説明する。ただし、実際には、ＣＰＵが、各記憶装置に記憶されたプログラムがメモリに格納された後、メモリに格納されたプログラムに基づいて、処理を実行する。
【００４８】
なお、各端末は、あらかじめ各記憶装置に各プログラムを記憶してもよいし、必要に応じて、利用可能な他の記憶媒体によって各プログラムを取得してもよい。また、有線回線又は無線回線のネットワークを介して、他の装置から各プログラムを取得してもよい。
【００４９】
図５は、本発明の第１の実施形態のＩＣタグのデータ格納システムの処理を示すフローチャートである。
【００５０】
まず、発券端末２０は、何も情報が格納されていないＩＣタグ１０を用いて、ＩＣタグ１０と発券端末２０との間で発券処理を実行する（Ｓ５０１）。
【００５１】
次に、入出場端末３０は、入場処理を実行し、発券情報が格納されたＩＣタグ１０と入出場端末３０との間で発券情報の正当性を確認する（Ｓ５０２）。
【００５２】
次に、入出場端末３０は、中間入出場処理の有無を判定する（Ｓ５０３）。なお、中間入出場処理は、利用者が他社路線への乗り継ぎを行う場合に実行される。また、中間入出場処理の有無は、後述する中間入出場情報に基づいて判定される。
【００５３】
Ｓ５０３の処理において、中間入出場処理がある場合には、入出場端末３０は、発券情報及び入場情報が格納されたＩＣタグ１０と、入出場端末３０との間で、中間入出場処理を実行する（Ｓ５０４）。
【００５４】
一方、Ｓ５０３の処理において、中間入出場処理がない場合には、入出場端末３０は、Ｓ５０４の処理を実行せず、Ｓ５０５の処理へ進む。
【００５５】
次に、精算端末４０は、精算処理の有無を判定する（Ｓ５０５）。なお、精算処理は、利用者が発券時に指定した駅を乗り越した場合、又は、出場駅を変更した場合等に実行される。
【００５６】
Ｓ５０５の処理において、精算処理を実行する場合には、精算端末４０は、精算端末４０とＩＣタグ１０との間で精算処理を実行する（Ｓ５０６）。
【００５７】
一方、Ｓ５０５の処理において、精算処理を実行しない場合には、精算端末４０は、Ｓ５０６の精算処理を実行せず、Ｓ５０７の処理へ進む。
【００５８】
最後に、入出場端末３０は、出場処理を実行し、発券情報及び入場情報が格納されたＩＣタグ１０と入出場端末３０との間で、発券情報及び入場情報の正当性を確認する（Ｓ５０７）。
【００５９】
なお、Ｓ５０１に示した発券処理の詳細については、図６を用いて後述する。Ｓ５０２に示した入場処理の詳細については、図７を用いて後述する。Ｓ５０４に示した中間入出場処理の詳細については、図８を用いて後述する。Ｓ５０６に示した精算処理の詳細については、図９を用いて後述する。Ｓ５０７に示した出場処理の詳細については、図１０を用いて後述する。
【００６０】
次に、第１の実施形態の発券処理（図５に示したＳ５０１の処理）について説明する。
【００６１】
図６は、本発明の第１の実施形態の発券処理の例を示すフローチャートである。
【００６２】
まず、利用者は、発券端末２０に、料金を投入する（Ｓ６０１）。次に、利用者は、ＩＣタグ１０に格納する発券情報を入力する（Ｓ６０２）。ここで、発券情報とは、例えば、鉄道の切符の場合には、有効期間、発券駅、経由駅、出場駅、発券端末、券種及び金額等の情報である。
【００６３】
また、利用者は、発券情報のすべてを外部から入力する必要はない。発券情報の一部（例えば、時刻情報、発券駅情報等）は、発券端末２０が備える発券情報から取得され、入力されてもよい。
【００６４】
次に、発券端末２０のコマンド生成部２０２は、データ格納情報の生成に用いる乱数を生成する（Ｓ６０３）。ここで、発券端末２０のコマンド生成部２０２は、乱数の代わりに、発券端末２０で発券毎にカウントされるシリアル番号を使ってもよいし、発券端末２０に固有に設定されている定数（例えば、発券端末２０の識別子等）を使ってもよい。
【００６５】
次に、発券端末２０のコマンド生成部２０２は、生成された乱数を利用して、データ格納情報を生成する（Ｓ６０４）。
【００６６】
なお、データ格納情報の構成については、図１１を用いて後述するが、データ格納情報には、発券情報等の各情報の分割数、並びに、分割された各情報が格納される各記憶部のアドレス等が含まれる。
【００６７】
また、生成された一つの乱数列の中には、同じ数字が二つ以上含まれることがある。同じ乱数は同じデータ格納領域を示すため、異なる二つ以上のデータに同じ乱数が対応付けられた場合は、異なるデータが同じデータ格納領域に格納される可能性がある。したがって、一度使用されたデータ格納領域は使用済であるとして、その領域を示す乱数は一度しか使用しないものとする。
【００６８】
次に、発券端末２０のＩＣタグアクセス部２０３は、ＩＣタグ１０に対し、データ格納情報（Ａ６０１）を送信する。
【００６９】
次に、ＩＣタグ１０のデータ送受信部１０１は、データ格納情報（Ａ６０１）を受信する。ＩＣタグ１０のコマンド解析部１０２は、受信したデータ格納情報（Ａ６０１）をデータ格納情報記憶部１０８に格納する（Ｓ６０５）。次に、ＩＣタグ１０のデータ送受信部１０１は、処理結果を示すレスポンス（Ａ６０２）を発券端末２０に送信する。
【００７０】
ここで、レスポンスとは、ＩＣタグ１０が、受信したデータを記憶部に正常に格納したことを端末に通知する応答信号である。
【００７１】
次に、発券端末２０のコマンド生成部２０２は、データ格納情報（Ａ６０１）に基づいて、利用者によって入力された発券情報を分割する（Ｓ６０６）。ここで、券データ格納オプションＡ１２０５に暗号化等の処理が指定されている場合には、発券端末２０のコマンド生成部２０２は、鍵保管部２０４に格納されている鍵データを用いて、分割された発券情報を暗号化する。
【００７２】
なお、券データ格納オプションＡ１２０５については、図１２を用いて後述する。
【００７３】
次に、発券端末２０のＩＣタグアクセス部２０３は、ＩＣタグ１０に分割発券情報（Ａ６０３−１）を送信する。
【００７４】
次に、ＩＣタグ１０のデータ送受信部１０１は、分割発券情報（Ａ６０３−１）を受信する。ＩＣタグ１０のコマンド解析部１０２は、受信した分割発券情報（Ａ６０３−１）を発券情報記憶部１０９に格納する（Ｓ６０７−１）。次に、ＩＣタグ１０のデータ送受信部１０１は、処理結果を示すレスポンス（Ａ６０４−１）を発券端末２０に送信する。
【００７５】
次に、発券端末２０のコマンド生成部２０２は、分割された発券情報の数（Ｎ個）に応じて、前述した分割発券情報Ａ６０３−１の送信からレスポンスＡ６０４−１の受信までの処理をＮ回繰り返す。これによって、ＩＣタグ１０は、分割された発券情報のすべてを発券情報記憶部１０９に格納する。
【００７６】
最後に、発券端末２０は、発券処理の結果を出力する（Ｓ６０８）。発券処理の結果は、例えば、発券端末２０の入出力装置２０Ａに備えられた表示画面等（図示省略）に、テキストで表示されてもよいし、切符等を排出することによって利用者に通知してもよい。
【００７７】
次に、第１の実施形態の入場処理（図５に示したＳ５０２の処理）について説明する。
【００７８】
図７は、本発明の第１の実施形態の入場処理の例を示すフローチャートである。
【００７９】
まず、入出場端末３０のコマンド生成部３０２は、タグアクセスコマンド（Ａ７０１）を生成する（Ｓ７０１）。次に、入出場端末３０のＩＣタグアクセス部３０３は、ＩＣタグ１０にタグアクセスコマンド（Ａ７０１）を送信する。
【００８０】
ここで、タグアクセスコマンドとは、ＩＣタグ１０に対して、あらかじめ指定されたＩＣタグ１０の記憶領域（ここでは、データ格納情報記憶部１０８）に格納された情報（ここでは、データ格納情報）を端末側に送信するように要求する指示である。
【００８１】
次に、ＩＣタグ１０のデータ格納情報出力部１０３は、タグアクセスコマンド（Ａ７０１）に基づいて、データ格納情報記憶部１０８からデータ格納情報（Ａ７０２）を取得する（Ｓ７０２）。
【００８２】
次に、ＩＣタグ１０のデータ送受信部１０１は、取得したデータ格納情報（Ａ７０２）を入出場端末３０に送信する。
【００８３】
次に、入出場端末３０の判定部３０１は、受信したデータ格納情報を分析する（Ｓ７０３）。具体的には、入出場端末３０の判定部３０１は、受信したデータ格納情報を分析して、発券情報等は何個に分割されているのか、また、分割された発券情報等はＩＣタグ１０のどの記憶領域のどのアドレスに格納されているのかを確認する。
【００８４】
Ｓ７０３の処理によって、入出場端末３０は、分割されたデータが格納されている記憶領域の情報を取得することができる。次に、入出場端末３０のコマンド生成部３０２は、取得したデータ格納情報に基づいて、読込コマンド（Ａ７０３−１）を生成する。
【００８５】
入出場端末３０のＩＣタグアクセス部３０３は、生成された読込コマンドＡ７０３−１をＩＣタグ１０に送信する。ここで、読込コマンドとは、端末が、ＩＣタグ１０の指定された記憶領域（ここでは、発券情報記憶部１０９の記憶領域）に格納されたデータ（ここでは、分割発券情報（Ａ７０４−１））を取得するための指示である。
次に、ＩＣタグ１０の発券情報出力部１０４は、受信した読込コマンド（Ａ７０３−１）に基づいて、発券情報記憶部１０９に格納された分割発券情報（Ａ７０４−１）を取得する（Ｓ７０４−１）。次に、ＩＣタグ１０のデータ送受信部１０１は、取得した分割発券情報（Ａ７０４−１）を入出場端末３０に送信する。
【００８６】
次に、入出場端末３０は、受信した分割発券情報を記憶装置３０Ｃ等に記憶し、次の読込コマンドＡ７０３−２をＩＣタグ１０に送信する。以降の分割発券情報を取得する処理は、前述した処理と同じである。
【００８７】
入出場端末３０のコマンド生成部３０２は、発券情報の分割数（Ｎ個）に応じて、前述した読込コマンド（Ａ７０３−１）の送信から分割発券情報（Ａ７０４−１）の受信までの処理を、Ｎ回繰り返すことによって、入場処理で必要となるすべての分割発券情報を取得することができる。
【００８８】
次に、入出場端末３０は、取得したＮ個の分割発券情報を結合して、元の発券情報を再構成する（Ｓ７０５）。
【００８９】
なお、発券情報は、データ格納情報に基づいて、データの先頭から指定されたサイズに順々に分割されるため、分割されたデータブロック（分割発券情報）には、後述する図１１のデータ格納情報の構成に示すとおり、分割された順序を示す番号が付与されている。したがって、付与された番号の順序に従って、分割発券情報を結合することによって、元の発券情報を再構成することができる。
【００９０】
また、券データ格納オプションＡ１２０５（図１２）に暗号化等の処理が指定されている場合には、入出場端末３０のコマンド生成部３０２は、鍵保管部３０４に格納されている鍵データを用いて分割発券情報を復号する。
【００９１】
次に、入出場端末３０の判定部３０１は、再構成された発券情報の正当性を検証する（Ｓ７０６）。具体的には、入出場端末３０の判定部３０１は、発券情報に記載された有効期間、発券駅等の情報と、入出場端末３０の判定部３０１が備える情報とが一致するか否かを判定する。
【００９２】
Ｓ７０６の処理において、情報が一致しない場合には、入出場端末３０の判定部３０１は、発券情報が正当でないと判定し、処理を中止する（Ｓ７０７）。この場合には、入出場端末３０は、例えば、発券情報が正当でない旨を表示してもよいし、入出場端末３０のゲート（図示省略）を閉じるように指示してもよい。
【００９３】
一方、Ｓ７０６の処理において、情報が一致した場合には、入出場端末３０の判定部３０１は、発券情報が正当であると判定して、Ｓ７０８の処理へ進む。
【００９４】
次に、入出場端末３０のコマンド生成部３０２は、データ格納情報（Ａ７０２）に基づいて、ＩＣタグ１０に格納する入場情報を分割する（Ｓ７０８）。
【００９５】
ここで、入場情報とは、入出場端末３０があらかじめ備えている情報であり、例えば、鉄道の切符の場合には、入場時刻、入場駅等の情報である。
【００９６】
また、券データ格納オプションＡ１２０５（図１２）に暗号化等の処理が指定されている場合には、入出場端末３０のコマンド生成部３０２は、鍵保管部３０４に格納されている鍵データを用いて分割された入場情報を暗号化する。
【００９７】
次に、入出場端末３０のＩＣタグアクセス部３０３は、分割された入場情報（Ａ７０５−１）をＩＣタグ１０に送信する。
【００９８】
次に、ＩＣタグ１０のコマンド解析部１０２は、受信した分割入場情報（Ａ７０５−１）を入場情報記憶部１１０に格納する（Ｓ７０９−１）。次に、ＩＣタグ１０のデータ送受信部１０１は、入出場端末３０に対し、処理結果を示すレスポンス（Ａ７０６−１）を送信する。
【００９９】
次に、入出場端末３０のコマンド生成部３０２は、分割された入場情報の数（Ｎ個）に応じて、前述した分割入場情報（Ａ７０５−１）の送信からレスポンス（Ａ７０６−１）の受信までの処理をＮ回繰り返す。これによって、ＩＣタグ１０は、分割された入場情報のすべてを入場情報記憶部１１０に格納する。
【０１００】
最後に、入出場端末３０は、入場処理の結果を出力する（Ｓ７１０）。なお、入場処理の結果は、例えば、入出場端末３０がゲート（図示省略）を開くことによって表わされてもよいし、入出場端末３０の出力装置３０Ａに備えられた表示画面等（図示省略）に、入場処理が正常に終了した旨を表示することによって表わされてもよい。
【０１０１】
次に、第１の実施形態の中間入出場処理（図５に示したＳ５０４）について説明する。
【０１０２】
図８は、本発明の第１の実施形態の中間入出場処理の例を示すフローチャートである。
【０１０３】
まず、入出場端末３０のコマンド生成部３０２は、タグアクセスコマンド（Ａ８０１）を生成する（Ｓ８０１）。次に、入出場端末３０のＩＣタグアクセス部３０３は、ＩＣタグ１０に対してタグアクセスコマンド（Ａ８０１）を送信する。
【０１０４】
ＩＣタグ１０のデータ送受信部１０１は、タグアクセスコマンド（Ａ８０１）を受信する。次に、ＩＣタグ１０のデータ格納情報出力部１０３は、タグアクセスコマンド（Ａ８０１）に基づいて、データ格納情報記憶部１０８からデータ格納情報（Ａ８０２）を取得する（Ｓ８０２）。
【０１０５】
次に、ＩＣタグ１０のデータ送受信部１０１は、データ格納情報（Ａ８０２）を入出場端末３０に送信する。
【０１０６】
次に、入出場端末３０の判定部３０１は、受信したデータ格納情報を分析する（Ｓ８０３）。
【０１０７】
入出場端末３０のコマンド生成部３０２は、Ｓ８０３の処理によって、データが格納されている領域の情報を取得した後、その情報を用いて読込コマンド（Ａ８０３−１）を生成する。ＩＣタグアクセス部３０３は、生成された読込コマンド（Ａ８０３−１）をＩＣタグ１０に送信する。
【０１０８】
次に、受信した読込コマンド（Ａ８０３−１）に基づいて、ＩＣタグ１０の発券情報出力部１０４及び入場情報出力部１０５は、それぞれ、発券情報記憶部１０９及び入場情報記憶部１１０から、分割発券情報及び分割入場情報を取得する（Ｓ８０４−１）。
【０１０９】
次に、ＩＣタグ１０のデータ送受信部１０１は、取得した分割発券情報及び分割入場情報（Ａ８０４−１）を入出場端末３０に送信する。
【０１１０】
次に、入出場端末３０のコマンド生成部３０２は、受信した分割発券情報及び分割入場情報を記憶装置３０Ｃ等に記憶する。次に、入出場端末３０のＩＣタグアクセス部３０３は、読込コマンド（Ａ８０３−２）をＩＣタグ１０に送信する。
【０１１１】
入出場端末３０のコマンド生成部３０２は、データの分割数（Ｎ個）に応じて、前述した読込コマンド（Ａ８０３−１）の送信から分割発券情報及び分割入場情報（Ａ８０４−１）の受信までの処理をＮ回繰り返すことによって、中間入出場処理で必要となる発券情報及び入場情報を取得することができる。
【０１１２】
次に、入出場端末３０のコマンド生成部３０２は、取得した分割発券情報及び分割入場情報を結合して、元の発券情報及び入場情報を再構成する（Ｓ８０５）。なお、入場情報の再構成の方法は、前述したＳ７０５の処理における発券情報の再構成の方法と同様である。
【０１１３】
ここで、券データ格納オプションＡ１２０５（図１２）に暗号化等の処理が指定されている場合には、入出場端末３０のコマンド生成部３０２は、鍵保管部３０４に格納されている鍵データを用いて、分割発券情報及び分割入場情報を復号する。
【０１１４】
次に、入出場端末３０の判定部３０１は、再構成された発券情報の正当性を検証する（Ｓ８０６）。
【０１１５】
具体的には、入出場端末３０の判定部３０１は、発券情報に記載された有効期間、発券駅、経由駅等の情報と、入出場端末３０の判定部３０１が備える情報とが一致するか否かを判定する。
【０１１６】
Ｓ８０６の処理において、情報が一致しない場合には、入出場端末３０の判定部３０１は、発券情報が正当でないと判定して、処理を中止する（Ｓ８０７）。この場合には、入出場端末３０は、例えば、発券情報が正当でない旨を表示してもよいし、入出場端末３０のゲート（図示省略）を閉じるよう指示してもよい。
【０１１７】
一方、Ｓ８０６の処理において、情報が一致した場合には、入出場端末３０の判定部３０１は、発券情報が正当であると判定して、Ｓ８０８の処理へ進む。
【０１１８】
次に、入出場端末３０の判定部３０１は、入場情報に記載された情報と、入出場端末の判定部３０１が備える情報とを比較し、入場情報が正当であるか否かを判定する（Ｓ８０８）。
【０１１９】
Ｓ８０８の処理において、入場情報が正当でないと判定された場合（例えば、入場から中間入出場処理までの時間が所定の時間よりも長い場合、又は、入場フラグが設定されていない場合等）には、入出場端末３０の判定部３０１は、処理を中止する（Ｓ８０９）。この場合には、入出場端末３０は、例えば、入場情報が正当でない旨を表示してもよいし、入出場端末３０のゲート（図示省略）を閉じるよう指示してもよい。
【０１２０】
一方、Ｓ８０８の処理において、入場情報が正当であると判定された場合には、入出場端末３０の判定部３０１は、Ｓ８１０の処理へ進む。
【０１２１】
次に、入出場端末３０のコマンド生成部３０２は、データ格納情報Ａ８０２に基づいて、ＩＣタグ１０の中間入出場情報記憶部１１１に格納される中間入出場情報を分割する（Ｓ８１０）。
【０１２２】
ここで、中間入出場情報とは、他社線への連絡通路に設置されている入出場端末３０があらかじめ備えている情報であり、例えば、鉄道の切符の場合には、中間入出場時刻、中間入出場駅等の情報である。
【０１２３】
また、券データ格納オプションＡ１２０５（図１２）に暗号化等の処理が指定されている場合には、入出場端末３０のコマンド生成部３０２は、鍵保管部３０４に格納されている鍵データを用いて、分割された中間入場情報を暗号化する。
【０１２４】
次に、入出場端末３０のＩＣタグアクセス部３０３は、分割中間入出場情報（Ａ８０５−１）をＩＣタグ１０に送信する。
【０１２５】
次に、ＩＣタグ１０のコマンド解析部１０２は、受信した分割中間入出場情報（Ａ８０５−１）を中間入出場情報記憶部１１１に格納する（Ｓ８１１−１）。次に、ＩＣタグ１０のデータ送受信部１０１は、入出場端末３０に処理結果を示すレスポンス（Ａ８０６−１）を送信する。
【０１２６】
ここで、入出場端末３０は、分割された中間入出場情報の数（Ｎ個）に応じて、前述した分割中間入出場情報（Ａ８０５−１）の送信からレスポンス（Ａ８０６−１）の受信までの処理をＮ回繰り返す。最後に、入出場端末３０は、中間入出場処理の結果を出力する（Ｓ８１２）。この場合には、入出場端末３０は、例えば、入出場端末３０のゲート（図示省略）を開くように指示してもよい。
【０１２７】
次に、第１の実施形態の精算処理（図５に示したＳ５０６の処理）について説明する。
【０１２８】
図９は、本発明の第１の実施形態の精算処理の例を示すフローチャートである。
【０１２９】
まず、精算端末４０のコマンド生成部４０２は、タグアクセスコマンド（Ａ９０１）を生成する（Ｓ９０１）。次に、精算端末４０のＩＣタグアクセス部４０３は、ＩＣタグ１０にタグアクセスコマンド（Ａ９０１）を送信する。
【０１３０】
次に、ＩＣタグ１０のデータ格納情報出力部１０３は、受信したタグアクセスコマンド（Ａ９０１）に基づいて、データ格納情報記憶部１０８からデータ格納情報（Ａ９０２）を取得する（Ｓ９０２）。
【０１３１】
次に、ＩＣタグ１０のデータ送受信部１０１は、データ格納情報（Ａ９０２）を精算端末４０に送信する。
【０１３２】
次に、精算端末４０の判定部４０１は、受信したデータ格納情報（Ａ９０２）を分析する（Ｓ９０３）。Ｓ９０３の処理によって、精算端末４０のコマンド生成部４０２は、データの格納領域の情報を取得し、その情報を用いて読込コマンド（Ａ９０３−１）を生成する。精算端末４０のＩＣタグアクセス部４０３は、読込コマンド（Ａ９０３−１）をＩＣタグ１０に送信する。
【０１３３】
次に、ＩＣタグ１０の発券情報出力部１０４、入場情報出力部１０５及び中間入出場情報出力部１０６は、受信した読込コマンド（Ａ９０３−１）に基づいて、それぞれ、発券情報記憶部１０９、入場情報記憶部１１０及び中間入出場情報記憶部１１１から、分割発券情報、分割入場情報及び分割中間入出場情報を取得する（Ｓ９０４−１）。
【０１３４】
次に、ＩＣタグのデータ送受信部１０１は、取得した分割発券情報、分割入場情報及び分割中間入出場情報（Ａ９０４−１）を精算端末４０に送信する。
【０１３５】
次に、精算端末４０のコマンド生成部４０２は、受信した分割発券情報、分割入場情報及び分割中間入出場情報を記憶装置等に記憶する。精算端末４０のＩＣタグアクセス部４０３は、次の読込コマンド（Ａ９０３−２）をＩＣタグ１０に送信する。
【０１３６】
精算端末４０のコマンド生成部４０２は、データの分割数（Ｎ個）に応じて、前述した読込コマンド（Ａ９０３−１）の送信から分割発券情報、分割入場情報及び分割中間入出場情報（Ａ９０４−１）の受信までの処理をＮ回繰り返す。これによって、精算端末４０は、精算処理で必要となる発券情報、入場情報、及び、中間入出場情報を取得することができる。
【０１３７】
次に、精算端末４０のコマンド生成部４０２は、取得した分割発券情報、分割入場情報及び分割中間入出場情報を結合して、元の発券情報、入場情報及び中間入出場情報を再構成する（Ｓ９０５）。なお、中間入出場情報の再構成の方法は、前述したＳ７０５の処理における発券情報の再構成の方法と同様である。
【０１３８】
ここで、券データ格納オプションＡ１２０５（図１２）に暗号化等の処理が指定されている場合には、精算端末４０のコマンド生成部４０２は、鍵保管部４０５に格納されている鍵データを用いて、分割発券情報、分割入場情報及び分割中間入出場情報を復号する。
【０１３９】
次に、精算端末４０の判定部４０１は、再構成された発券情報の正当性を検証する（Ｓ９０６）。具体的には、精算端末４０の判定部４０１は、発券情報に記載された有効期間、発券駅、経由駅等の情報と、精算端末４０の判定部４０１が備える情報とが一致するか否かを判定する（Ｓ９０６）。
【０１４０】
Ｓ９０６の処理において、情報が一致しない場合には、精算端末４０の判定部４０１は、発券情報が正当でないと判定して、処理を中止する（Ｓ９０７）。この場合には、精算端末４０は、例えば、利用者に対して、精算処理することができない旨を通知してもよい。
【０１４１】
一方、Ｓ９０６の処理において、情報が一致した場合には、精算端末４０の判定部４０１は、発券情報が正当であると判定して、Ｓ９０８の処理へ進む。
【０１４２】
次に、精算端末４０の判定部４０１は、入場情報に記載された情報と、精算端末４０の判定部４０１が備える情報とを比較し、再構成された入場情報が正当であるか否かを判定する（Ｓ９０８）。
【０１４３】
Ｓ９０８の処理において、入場情報が正当でないと判定された場合（例えば、入場から精算処理までの時間が所定の時間よりも長い場合、又は、入場フラグが設定されていない場合等）には、精算端末４０の判定部４０１は、処理を中止する（Ｓ９０９）。この場合には、精算端末４０は、例えば、利用者に対して、精算処理することができない旨を通知してもよい。
【０１４４】
一方、Ｓ９０８の処理において、入場情報が正当であると判定された場合には、精算端末４０の判定部４０１は、Ｓ９１０の処理へ進む。
【０１４５】
次に、精算端末４０の判定部４０１は、中間入出場情報に記載された情報と、精算端末４０の判定部４０１が備える情報とを比較し、再構成された中間入出場情報が正当であるか否かを判定する（Ｓ９１０）。
【０１４６】
Ｓ９１０の処理において、中間入出場情報が正当でないと判定された場合（例えば、中間入出場から精算処理までの時間が所定の時間よりも長い場合等）には、精算端末４０の判定部４０１は、処理を中止する（Ｓ９１１）。この場合には、精算端末４０は、例えば、利用者に対して、精算処理することができない旨を通知してもよい。
【０１４７】
一方、Ｓ９１０の処理において、中間入出場情報が正当である判定された場合には、精算端末４０の判定部４０１は、Ｓ９１２の処理へ進む。
【０１４８】
次に、精算端末４０の判定部４０１は、入場駅から中間入出場駅を経由して精算端末４０に設定されている駅までの運賃と、ＩＣタグ１０に格納されている発券情報に含まれる金額とを比較し、精算に必要となる金額を算出する（Ｓ９１２）。
【０１４９】
次に、利用者は、算出された精算額を投入する（Ｓ９１３）。精算端末４０のコマンド生成部４０２は、利用者によって投入された料金に基づき、ＩＣタグ１０から取得した発券情報に含まれる金額情報を更新する（Ｓ９１４）。
【０１５０】
次に、精算端末４０のコマンド生成部４０２は、ＩＣタグ１０から受信したデータ格納情報Ａ９０２に基づいて、更新された発券情報を分割する（Ｓ９１５）。
【０１５１】
ここで、券データ格納オプションＡ１２０５（図１２）に暗号化等の処理が指定されている場合には、精算端末４０のコマンド生成部４０２は、鍵保管部４０５に格納されている鍵データを用いて、分割された発券情報を暗号化する。
【０１５２】
次に、精算端末４０のＩＣタグアクセス部４０３は、分割された発券情報（Ａ９０５−１）をＩＣタグ１０に送信する。
【０１５３】
次に、ＩＣタグ１０のコマンド解析部１０２は、受信した分割発券情報（Ａ９０５−１）を発券情報記憶部１０９に格納する（Ｓ９１６−１）。次に、ＩＣタグ１０のデータ送受信部１０１は、精算端末４０に対し、処理結果を示すレスポンス（Ａ９０６−１）を送信する。
【０１５４】
次に、精算端末４０のコマンド生成部４０２は、分割された発券情報の数（Ｎ個）に応じて、前述した分割発券情報（Ａ９０５−１）の送信からレスポンス（Ａ９０６−１）の受信までの処理をＮ回繰り返す。
【０１５５】
最後に、精算端末４０は精算処理の結果を出力する（Ｓ９１７）。精算処理の結果は、利用者に切符を返却することによって表わされてもよいし、精算端末４０の入出力装置２０Ａに備えられた表示装置等（図示省略）に精算処理が正常に終了した旨を表示することによって表わされてもよい。
【０１５６】
なお、Ｓ９１２の処理において、発券情報に記載された金額に過不足がなく、精算処理が必要でない場合には、精算端末４０は、精算処理の必要がない旨を利用者に通知し、以降の処理を省略してもよい。
【０１５７】
次に、第１の実施形態の出場処理（図５に示したＳ５０７の処理）について説明する。
【０１５８】
図１０は、本発明の第１の実施形態の出場処理の例を示すフローチャートである。
【０１５９】
まず、入出場端末３０のコマンド生成部３０２は、タグアクセスコマンド（Ａ１００１）を生成する（Ｓ１００１）。次に、入出場端末３０のＩＣタグアクセス部３０３は、ＩＣタグ１０にタグアクセスコマンド（Ａ１００１）を送信する。
【０１６０】
次に、ＩＣタグ１０のデータ格納情報出力部１０３は、受信したタグアクセスコマンド（Ａ１００１）に基づいて、データ格納情報記憶部１０８からデータ格納情報（Ａ１００２）を取得する（Ｓ１００２）。次に、ＩＣタグのデータ送受信部１０１は、データ格納情報（Ａ１００２）を入出場端末３０に送信する。
【０１６１】
次に、入出場端末３０の判定部３０１は、受信したデータ格納情報（Ａ１００２）を分析する（Ｓ１００３）。Ｓ１００３の処理によって、入出場端末３０のコマンド生成部３０２は、データの格納領域の情報を取得し、その情報を用いて読込コマンド（Ａ１００３−１）を生成する。入出場端末３０のＩＣタグアクセス部３０３は、読込コマンド（Ａ１００３−１）をＩＣタグ１０に送信する。
【０１６２】
次に、ＩＣタグ１０の発券情報出力部１０４、入場情報出力部１０５及び中間入出場情報出力部１０６は、受信した読込コマンド（Ａ１００３−１）に基づいて、それぞれ、発券情報記憶部１０９、入場情報記憶部１１０及び中間入出場情報記憶部１１１から、分割発券情報、分割入場情報及び分割中間入出場情報を取得する（Ｓ１００４−１）。
【０１６３】
次に、ＩＣタグのデータ送受信部１０１は、取得した分割発券情報、分割入場情報及び分割中間入出場情報（Ａ１００４−１）を入出場端末３０に送信する。
【０１６４】
次に、入出場端末３０のコマンド生成部３０２は、受信した分割発券情報、分割入場情報及び分割中間入出場情報を記憶装置３０Ｃ等に記憶する。ＩＣタグ１０のデータ送受信部１０１は、次の読込コマンド（Ａ１００３−２）をＩＣタグ１０に送信する。
【０１６５】
入出場端末３０のコマンド生成部３０２は、データの分割数（Ｎ個）に応じて、前述した読込コマンド（Ａ１００３−１）の送信から分割発券情報、分割入場情報及び分割中間入出場情報（Ａ１００４−１）の受信までの処理をＮ回繰り返す。これによって、入出場端末３０は、出場処理で必要となる発券情報、入場情報及び中間入出場情報を取得することができる。
【０１６６】
次に、入出場端末３０のコマンド生成部３０２は、取得した分割発券情報、分割入場情報及び分割中間入出場情報を結合して、元の発券情報、入場情報及び中間入出場情報を再構成する（Ｓ１００５）。
【０１６７】
ここで、券データ格納オプションＡ１２０５（図１２）に暗号化等の処理が指定されている場合には、入出場端末３０のコマンド生成部３０２は、鍵保管部３０４に格納されている鍵データを用いて、分割発券情報、分割入場情報及び分割中間入出場情報を復号する。
【０１６８】
次に、入出場端末３０の判定部３０１は、再構成された発券情報の正当性を検証する（Ｓ１００６）。
【０１６９】
具体的には、入出場端末３０の判定部３０１は、発券情報に記載された有効期間、発券駅、経由駅、金額等の情報と、入出場端末３０の判定部３０１が備える情報とが一致するか否かを判定する。
【０１７０】
Ｓ１００６の処理において、情報が一致しない場合には、入出場端末３０の判定部３０１は、発券情報が正当でないと判定して、処理を中止する（Ｓ１００７）。この場合には、入出場端末３０は、例えば、発券情報が正当でない旨を表示してもよいし、入出場端末３０のゲート（図示省略）を閉じるように指示してもよい。
【０１７１】
一方、Ｓ１００６の処理において、情報が一致した場合には、入出場端末３０の判定部３０１は、発券情報が正当であるとして、Ｓ１００８の処理へ進む。
【０１７２】
次に、入出場端末３０の判定部３０１は、入場情報に記載された情報と、入出場端末３０の判定部３０１が備える情報とを比較し、再構成された入場情報が正当であるか否かを判定する（Ｓ１００８）。
【０１７３】
Ｓ１００８の処理において、入場情報が正当でないと判定された場合（例えば、入場から出場処理までの時間が所定の時間よりも長い場合、又は、入場フラグが設定されていない場合等）には、入出場端末３０の判定部３０１は、処理を中止する（Ｓ１００９）。この場合には、入出場端末３０は、例えば、入場情報が正当でない旨を表示してもよいし、入出場端末３０のゲート（図示省略）を閉じるように指示してもよい。
【０１７４】
Ｓ１００８の処理において、入場情報が正当であると判定された場合には、入出場端末３０の判定部３０１は、Ｓ１０１０の処理へ進む。
【０１７５】
次に、入出場端末３０の判定部３０１は、中間入出場情報に記載された情報と、入出場端末３０の判定部３０１が備える情報とを比較し、再構成された中間入出場情報が正当であるか否かを判定する（Ｓ１０１０）。
【０１７６】
Ｓ１０１０の処理において、中間入出場情報が正当でないと判定された場合（例えば、中間入場から出場処理までの時間が所定の時間よりも長い場合、又は、発券情報に記載された経由駅と中間入出場駅とが一致しない場合等）には、入出場端末３０の判定部３０１は、処理を中止する（Ｓ１０１１）。
【０１７７】
この場合には、入出場端末３０は、例えば、中間入出場情報が正当でない旨を表示してもよいし、入出場端末３０のゲート（図示省略）を閉じるように指示してもよい。
【０１７８】
Ｓ１０１０の処理において、中間入出場情報が正当であると判定された場合には、入出場端末３０の判定部３０１は、Ｓ１０１２の処理へ進む。
【０１７９】
次に、入出場端末３０のコマンド生成部３０２は、データ格納情報（Ａ１００２）に基づいて、ＩＣタグ１０に格納する出場情報を分割する（Ｓ１０１２）。
【０１８０】
ここで、出場情報とは、入出場端末３０があらかじめ備えている情報であり、例えば、鉄道の切符の場合には、出場時刻、出場駅等の情報である。
【０１８１】
また、券データ格納オプションＡ１２０５（図１２）に暗号化等の処理が指定されている場合には、入出場端末３０のコマンド生成部３０２は、鍵保管部３０４に格納されている鍵データを用いて、分割された出場情報に暗号化等の処理を行う。
【０１８２】
次に、入出場端末３０のＩＣタグアクセス部４０３は、分割出場情報（Ａ１００５−１）をＩＣタグ１０に送信する。
【０１８３】
次に、ＩＣタグ１０のコマンド解析部１０２は、受信した分割出場情報（Ａ１００５−１）を出場情報記憶部１１２に格納する（Ｓ１０１３−１）。次に、ＩＣタグ１０のデータ送受信部１０１は、入出場端末３０に対し、処理結果を示すレスポンス（Ａ１００６−１）を送信する。
【０１８４】
次に、入出場端末３０のコマンド生成部３０２は、分割された出場情報の数（Ｎ個）に応じて、前述した分割出場情報（Ａ１００５−１）の送信からレスポンス（Ａ１００６−１）の受信までの処理をＮ回繰り返す。
【０１８５】
最後に、入出場端末３０は、出場処理の結果を出力する（Ｓ１０１４）。この場合には、入出場端末３０は、例えば、入出場端末３０のゲート（図示省略）を開くように指示してもよい。
【０１８６】
なお、図６から図１０に示した第１の実施形態における各処理において、発券端末２０、入出場端末３０及び精算端末４０は、安全を確保するために、各端末に備えられた鍵保管部に格納された鍵データを用いて、各端末とＩＣタグ１０との間で、認証処理、署名検証処理、データ暗号処理等の処理を実行してもよい。
【０１８７】
次に、第１の実施形態におけるデータ格納情報（図６に示したＳ６０４の処理によって生成される情報）の構成を、図１１を用いて説明する。
【０１８８】
図１１は、本発明の第１の実施形態のデータ格納情報の構成の例を示す説明図である。
【０１８９】
データ格納情報（Ａ１１０１）は、発券データ分割数（Ａ１１０２）、発券データ格納情報（Ａ１１０３−１１からＡ１１０３―Ｎ）、入場データ分割数（Ａ１１０４）、入場データ格納情報（Ａ１１０５−１からＡ１１０５−Ｎ）、中間入出場データ分割数（Ａ１１０６）、中間入出場データ格納情報（Ａ１１０７−１からＡ１１０７−Ｎ）、出場データ分割数（Ａ１１０８）及び出場データ格納情報（Ａ１００９−１からＡ１００９−Ｎ）を含む。
【０１９０】
発券データ分割数（Ａ１１０２）は、図６に示すＳ６０３の処理において、発券端末２０が生成した乱数によって導出された発券情報の分割数である。
【０１９１】
発券データ格納情報（Ａ１１０３−１１からＡ１１０３―Ｎ）は、その分割数に応じて分割された発券情報の格納情報である。
【０１９２】
入場データ分割数（Ａ１１０４）、中間入出場データ分割数（Ａ１１０６）及び出場データ分割数（Ａ１１０８）については、発券データ分割数（Ａ１１０２）と同様の構成である。
【０１９３】
入場データ格納情報（Ａ１１０５−１からＡ１１０５−Ｎ）、中間入出場データ格納情報（Ａ１１０７−１からＡ１１０７−Ｎ）及び出場データ格納情報（Ａ１００９−１からＡ１００９−Ｎ）については、発券データ格納情報（Ａ１１０３−１１からＡ１１０３―Ｎ）と同様の構成である。
【０１９４】
なお、分割されたデータ格納情報（例えば、発券データ１格納情報（Ａ１１０３−１））の構成については、図１２に示す券データ格納情報を用いて後述する。
【０１９５】
また、第１の実施形態においては、発券端末２０が、発券処理時（Ｓ５０１）に、乱数を生成し（Ｓ６０３）、発券情報、入場情報、中間入出場情報及び出場情報格納情報を分割するためのデータ格納情報を生成した（Ｓ６０４）が、タグアクセスの時間に制限がない場合には、入出場端末３０は、入場処理（Ｓ５０２）、中間入出場処理（Ｓ５０４）及び出場処理（Ｓ５０７）の各処理を実行する毎に乱数を生成し、生成された乱数に基づいてデータ格納情報をその都度生成してもよい。
【０１９６】
また、データ格納情報の要素の順序は、図１１に示した順序に限定されるものではなく、データ格納情報が各要素を含む構成であれば、適宜変更されてよい。
【０１９７】
次に図１１に示した発券データ格納情報、入場データ格納情報、中間入出場データ格納情報及び出場データ格納情報のデータブロックを、図１２を用いて説明する。
【０１９８】
図１２は、本発明の第１の実施形態の券データ格納情報の第１の構成の例を示す説明図である。
【０１９９】
券データ格納情報（Ａ１２０１）は、図１１に示した各データ格納情報の一つのデータブロック（例えば、発券データ１格納情報（Ａ１１０３−１）、入場データ１格納情報（Ａ１１０５−１）等）の内部の構成を示す。
【０２００】
券データ格納情報（Ａ１２０１）は、券データ格納エリア（Ａ１２０２）、券データ開始アドレス（Ａ１２０３）、券データメモリサイズ（Ａ１２０４）及び券データ格納オプション（Ａ１２０５）を含む。
【０２０１】
券データ格納エリア（Ａ１２０２）は、券データ（例えば、分割発券情報、分割入場情報等）が格納されているＩＣタグ１０に備えられた記憶部の格納エリアを示す。
券データ開始アドレス（Ａ１２０３）は、券データが格納されている格納エリア内の記憶領域の先頭アドレスを示す。
【０２０２】
券データメモリサイズ（Ａ１２０４）は、格納されている券データのサイズを示す。券データ格納オプション（Ａ１２０５）は、格納する券データに対して、各端末が暗号処理及び圧縮処理等を実行するか否かを示すフラグ等である。
【０２０３】
なお、ＩＣタグ１０が備える記憶部（メモリ）の記憶領域がバンクによって分割されて管理されていない場合には、券データ格納エリア（Ａ１２０２）は、券データ格納情報（Ａ１２０１）に含まれなくてもよい。
【０２０４】
また、券データ格納情報の要素の順序は、図１２に示した順序に限定されるものではなく、券データ格納情報が各要素を含む構成であれば、適宜変更されてよい。
【０２０５】
次に、図１２に示した券データ格納情報とは異なる構成を備えた券データ格納情報を、図１３を用いて説明する。
【０２０６】
図１３は、本発明の第１の実施形態の券データ格納情報の第２の構成の例を示す説明図である。
【０２０７】
券データ格納情報（Ａ１３０１）は、券データメモリ番号（Ａ１３０２）及び券データ格納オプション（Ａ１３０３）を含む。
【０２０８】
券データメモリ番号（Ａ１３０２）は、券データの格納場所を示し、図１２に示した券データ格納エリア（Ａ１２０２）と、券データ開始アドレス（Ａ１２０３）と、券データメモリサイズ（Ａ１２０４）との組み合わせに対して一意に割り振られた識別番号である。
【０２０９】
券データ格納オプション（Ａ１３０３）は、格納する券データに対して、各端末が暗号処理及び圧縮処理等を実行するか否かを示すフラグ等である。
【０２１０】
なお、券データ格納情報の要素の順序は、図１３に示した順序に限定されるものではなく、券データ格納情報が各要素を含む構成であれば、適宜変更されてよい。
【０２１１】
以上説明したとおり、本発明の一実施形態によれば、ＩＣタグ毎のデータフォーマットを管理することなく、ＩＣタグの内部データを正しく取得することができる。また、ＩＣタグ毎に動的にデータの格納領域を変更することによって、複数のＩＣタグの内部データを用いて内部データの意味を類推されることを防止することができる。
【０２１２】
＜実施形態２＞
以下に本発明の第２の実施形態を図１４から図２０を用いて説明する。
【０２１３】
第２の実施形態のＩＣタグのデータ格納システムの構成は、図１に示す第１の実施形態のＩＣタグのデータ格納システムと同じである。ただし、第２の実施形態のＩＣタグのデータ格納システムのＩＣタグ１０は、データ格納情報出力部１０３、及び、データ格納情報記憶部１０８を備えなくてよい。
【０２１４】
また、第２の実施形態のＩＣタグのデータ格納システムの処理の概要は、図５に示した第１の実施形態のＩＣタグのデータ格納システムの処理の概要と同じである。
【０２１５】
以下に、第２の実施形態における発券処理（Ｓ５０１）、入場処理（Ｓ５０２）、中間入出場処理（Ｓ５０４）、精算処理（Ｓ５０６）及び出場処理（Ｓ５０７）の詳細を説明する。
【０２１６】
次に、第２の実施形態の発券処理（図５に示したＳ５０１の処理）について説明する。
【０２１７】
図１４は、本発明の第２の実施形態の発券処理の例を示すフローチャートである。
【０２１８】
まず、利用者は、発券端末２０に、料金を投入する（Ｓ１４０１）。次に、利用者は、ＩＣタグ１０に格納する発券情報を入力する（Ｓ１４０２）。ここで、発券情報とは、例えば、鉄道の切符の場合、有効期間、発券駅、経由駅、発券端末、券種、金額等の情報である。
【０２１９】
また、利用者は、発券情報のすべてを外部から入力する必要はない。発券情報の一部（例えば、時刻情報、発券駅情報等）は、発券端末２０が備える発券情報から取得され、入力されてもよい。
【０２２０】
次に、発券端末２０のコマンド生成部２０２は、乱数を生成する（Ｓ１４０３）。
【０２２１】
ここで、発券端末２０は、乱数の代わりに、発券端末２０で発券毎にカウントされるシリアル番号を使ってもよいし、発券端末２０に固有に設定されている定数（例えば、発券端末２０の識別子等）を使ってもよい。
【０２２２】
次に、発券端末２０のコマンド生成部２０２は、生成された乱数からデータ格納情報を生成する（Ｓ１４０４）。
【０２２３】
ここで、データ格納情報には、発券情報の分割数、発券情報の格納エリア、発券情報の格納アドレス、発券情報のサイズ、発券情報の格納オプション、入場情報の分割数、入場情報の格納エリア、入場情報の格納アドレス、入場情報のサイズ、入場情報の格納オプション、中間入出場情報の分割数、中間入出場情報の格納エリア、中間入出場情報の格納アドレス、中間入出場情報のサイズ、中間入出場情報の格納オプション、出場情報の分割数、出場情報の格納エリア、出場情報の格納アドレス、出場情報のサイズ、出場情報の格納オプション等の情報が含まれる。
【０２２４】
また、生成された一つの乱数列の中には、同じ数字が二つ以上含まれることがある。同じ乱数は同じデータ格納領域を示すため、異なる二つ以上のデータに同じ乱数が対応付けられた場合は、異なるデータが同じデータ格納領域に格納される可能性がある。したがって、一度使用されたデータ格納領域は使用済であるとして、その領域を示す乱数は一度しか使用しないものとする。
【０２２５】
次に、発券端末２０のコマンド生成部２０２は、データ格納情報に基づいて、入力された発券情報を分割し、分割発券ブロックを生成する（Ｓ１４０５）。ここで、分割発券ブロックとは、後述する図１９に示すデータ構成を備えたデータブロックである。また、データ格納オプションＡ１９０６（図１９）に暗号化等の処理が指定されている場合には、発券端末２０のコマンド生成部２０２は、鍵保管部２０４に格納されている鍵データを用いて、分割された発券情報を暗号化する。
【０２２６】
次に、発券端末２０のＩＣタグアクセス部２０３は、ＩＣタグ１０に対し、分割発券情報ブロック（Ａ１４０１−１）を送信する。
【０２２７】
次に、ＩＣタグ１０のコマンド解析部１０２は、受信した分割発券情報ブロック（Ａ１４０１−１）を発券情報記憶部１０９に格納する（Ｓ１４０６−１）。
【０２２８】
次に、ＩＣタグ１０のデータ送受信部１０１は、処理結果を示すレスポンス（Ａ１４０２−１）を発券端末２０に送信する。
【０２２９】
次に、発券端末２０のコマンド生成部２０２は、分割された発券情報ブロックの数（Ｎ個）に応じて、前述した分割発券情報ブロック（Ａ１４０１−１）の送信からレスポンス（Ａ１４０２−１）の受信までの処理をＮ回繰り返す。これによって、ＩＣタグ１０は、分割されたすべての発券情報を発券情報記憶部１０９に格納する。
【０２３０】
次に、発券端末２０のコマンド生成部２０２は、Ｓ１４０４の処理において生成されたデータ格納情報に基づいて、入場情報を分割し、分割入場情報ブロック（Ａ１４０３−１）を生成する（Ｓ１４０７）。
【０２３１】
なお、この場合には、まだ入場処理が実行されていないため、入場情報には何もデータが記載されていない。したがって、入場情報には空データであることを示すデータ（例えば、すべてのビットが１であるデータ等）が記載される。
【０２３２】
また、分割入場情報ブロックとは、後述する図１９に示すデータ構成を備えたデータブロックである。
【０２３３】
次に、発券端末２０のＩＣタグアクセス部２０３は、ＩＣタグ１０に対し、分割入場情報ブロック（Ａ１４０３−１）を送信する。
【０２３４】
次に、ＩＣタグ１０のコマンド解析部１０２は、受信した分割入場情報ブロック（Ａ１４０３−１）を入場情報記憶部１１０に格納する（Ｓ１４０８−１）。次に、ＩＣタグ１０のデータ送受信部１０１は、処理結果を示すレスポンス（Ａ１４０４１）を発券端末２０に送信する。
【０２３５】
次に、発券端末２０のコマンド生成部２０２は、分割された入場情報ブロックの数（Ｎ個）に応じて、前述した分割入場情報ブロック（Ａ１４０３−１）の送信からレスポンス（Ａ１４０４−１）の受信までの処理をＮ回繰り返す。
【０２３６】
次に、発券端末２０のコマンド生成部２０２は、Ｓ１４０４の処理において生成されたデータ格納情報に基づいて、中間入出場情報を分割し、分割中間入出場情報ブロック（Ａ１４０５−１）を生成する（Ｓ１４０９）。
【０２３７】
なお、この場合には、まだ中間入出場処理が実行されていないため、中間入出場情報には何もデータが記載されていない。したがって、中間入出場情報には空データであることを示すデータ（例えば、すべてのビットが１であるデータ等）が記載される。
【０２３８】
また、分割中間入出場情報ブロックとは、後述する図１９に示すデータ構成を備えたデータブロックである。
【０２３９】
次に、発券端末２０のＩＣタグアクセス部２０３は、ＩＣタグ１０に対し、分割中間入出場情報ブロック（Ａ１４０５−１）を送信する。
【０２４０】
次に、ＩＣタグ１０のコマンド解析部１０２は、受信した分割中間入出場情報ブロック（Ａ１４０５−１）を中間入出場情報記憶部１１１に格納する（Ｓ１４１０−１）。
【０２４１】
次に、ＩＣタグ１０のデータ送受信部１０１は、処理結果を示すレスポンス（Ａ１４０６−１）を発券端末２０に送信する。
【０２４２】
次に、発券端末２０のコマンド生成部２０２は、分割された中間入出場情報ブロックの数（Ｎ個）に応じて、前述した分割中間入出場情報ブロック（Ａ１４０５−１）の送信からレスポンス（Ａ１４０６−１）の受信までの処理をＮ回繰り返す。
【０２４３】
次に、発券端末２０のコマンド生成部２０２は、Ｓ１４０４の処理において生成されたデータ格納情報に基づいて、出場情報を分割し、分割出場情報ブロック（Ａ１４０７−１）を生成する（Ｓ１４１１）。
【０２４４】
なお、この場合には、まだ出場処理が実行されていないため、出場情報には何も情報が記載されていない。したがって、出場情報には空データであることを示すデータ（例えば、すべてのビットが１であるデータ等）が記載される。
【０２４５】
また、分割出場情報ブロックとは、後述する図１９に示すデータ構成を備えたデータブロックである。
【０２４６】
次に、発券端末２０のＩＣタグアクセス部２０３は、ＩＣタグ１０に対し、分割出場情報ブロック（Ａ１４０７−１）を送信する。
【０２４７】
次に、ＩＣタグ１０のコマンド解析部１０２は、受信した分割出場情報ブロック（Ａ１４０７−１）を出場情報記憶部１１２に格納する（Ｓ１４１２−１）。
【０２４８】
次に、ＩＣタグ１０のデータ送受信部１０１は、処理結果を示すレスポンス（Ａ１４０８−１）を発券端末２０に送信する。
【０２４９】
次に、発券端末２０のコマンド生成部２０２は、分割された出場情報ブロックの数（Ｎ個）に応じて、前述した分割出場情報ブロック（Ａ１４０７−１）の送信からレスポンス（Ａ１４０８−１）の受信までの処理をＮ回繰り返す。
【０２５０】
最後に、発券端末２０は、発券端末２０に接続された表示画面等（図示省略）に発券処理の結果を出力する（Ｓ１４１３）。利用者は、発券された切符等を受け取る。
【０２５１】
以上説明したとおり、第２の実施形態の発券処理では、発券端末２０は、乱数を用いて生成したデータ格納情報を、分割されたデータとともに、分割券情報ブロック（図１９に示すＡ１９０１）としてＩＣタグ１０の各記憶部に格納する。なお、分割券情報ブロックについては、図１９を用いて後述するが、分割券情報ブロックＡ１９０１のデータ番号Ａ１９０２、データ種別Ａ１９０３、データサイズＡ１９０４及びデータ格納オプションＡ１９０６にデータ格納情報が記載され、分割券情報Ａ１９０５に分割されたデータが記載される。
【０２５２】
したがって、第２の実施形態のＩＣタグ１０は、図１に示した第１の実施形態のＩＣタグ１０が備えるデータ格納情報出力部１０３及びデータ格納情報記憶部１０８を備えなくてもよい。
【０２５３】
次に、第２の実施形態の入場処理（図５に示したＳ５０２の処理）について説明する。
【０２５４】
図１５は、本発明の第２の実施形態の入場処理の例を示すフローチャートである。
【０２５５】
まず、入出場端末３０のコマンド生成部３０２は、タグアクセスコマンド（Ａ１５０１）を生成する（Ｓ１５０１）。次に、入出場端末３０のＩＣタグアクセス部３０３は、ＩＣタグ１０に対してタグアクセスコマンド（Ａ１５０１）を送信する。次に、ＩＣタグ１０のデータ送受信部１０１は、タグアクセスコマンド（Ａ１５０１）を受信し、レスポンス（Ａ１５０２）を入出場端末３０に送信する。
【０２５６】
なお、第２の実施形態の発券処理では、データ格納情報をＩＣタグ１０の所定の記憶領域（例えば、識別子を格納するＩＤ領域等）に格納しないため、ＩＣタグ１０は、タグアクセスコマンド（Ａ１５０１）を受信しても、レスポンス（Ａ１５０２）を送信するのみである。
【０２５７】
次に、入出場端末３０のコマンド生成部３０２は、読込コマンド（Ａ１５０３）をＩＣタグ１０に送信する。
【０２５８】
なお、この場合の読込コマンド（Ａ１５０３）は、入出場端末３０がＩＣタグ１０の所定の記憶領域に格納されたデータを読み出すコマンドではなく、ＩＣタグ１０に格納されたすべての分割券情報ブロックを取得するコマンドである。
【０２５９】
次に、ＩＣタグ１０の発券情報出力部１０４、入場情報出力部１０５、中間入出場情報出力部１０６及び出場情報出力部１０７は、それぞれ、受信した読込コマンド（Ａ１５０３）に基づいて、発券情報記憶部１０９、入場情報記憶部１１０、中間入出場情報記憶部１１１及び出場情報記憶部１１２から券情報ブロックを取得する（Ｓ１５０２）。
【０２６０】
ここで、券情報ブロックとは、分割券情報ブロックが複数組み合わさったデータブロックである。券情報ブロックの構成は、後述する図２０を用いて説明する。
【０２６１】
次に、ＩＣタグ１０のデータ送受信部１０１は、取得した券情報ブロック（Ａ１５０４）を入出場端末３０に送信する。
【０２６２】
次に、入出場端末３０のコマンド生成部３０２は、受信した券情報ブロック（Ａ１５０４）を分析し、券情報ブロック（Ａ１５０４）に含まれる複数の分割券情報ブロックを取得する（Ｓ１５０３）。ここで、入出場端末３０のコマンド生成部３０２は、券情報ブロック（Ａ１５０４）を先頭からスキャンする。次に、コマンド生成部３０２は、ＮＵＬＬデータブロックが終了する一つ後のアドレスを、分割券情報ブロックの開始アドレスと判定し、また、次のＮＵＬＬデータブロックが開始する一つ前のアドレスを、分割券情報ブロックの終了アドレスと判定して、複数の分割券情報ブロックを取得する。
【０２６３】
次に、コマンド生成部３０２は、分割券情報ブロックの分割数及び格納場所等の情報に基づいて、発券処理時に生成されたデータ格納情報を取得する（Ｓ１５０４）。
【０２６４】
次に、入出場端末３０のコマンド生成部３０２は、Ｓ１５０４の処理において取得したデータ格納情報に基づいて、Ｓ１５０３の処理において取得した分割券情報ブロックを結合し、元の発券情報を再構成する（Ｓ１５０５）。
【０２６５】
ここで、データ格納オプションＡ１９０６（図１９）に暗号化等の処理が指定されている場合には、入出場端末３０のコマンド生成部３０２は、鍵保管部３０４に格納されている鍵データを用いて、分割券情報を復号する。
【０２６６】
次に、入出場端末３０の判定部３０１は、再構成された発券情報の正当性を検証する（Ｓ１５０６）。
【０２６７】
具体的には、入出場端末３０の判定部３０１は、発券情報に記載された有効期間、発券駅、経由駅等の情報と、入出場端末３０の判定部３０１が備える情報とが一致するか否かを判定する（Ｓ１５０６）。
【０２６８】
Ｓ１５０６の処理において、情報が一致しない場合には、入出場端末３０の判定部３０１は、発券情報が正当でないと判定し、処理を中止する（Ｓ１５０７）。
【０２６９】
一方、Ｓ１５０６の処理において、情報が一致した場合には、入出場端末３０の判定部３０１は、発券情報が正当であるとして、Ｓ１５０８の処理へ進む。
【０２７０】
入出場端末３０のコマンド生成部３０２は、Ｓ１５０４の処理において取得したデータ格納情報に基づいて、ＩＣタグ１０に格納する入場情報を分割し、分割入場情報ブロック（Ａ１５０５−１）を生成する（Ｓ１５０８）。ここで、入場情報とは、入出場端末３０があらかじめ備えている情報であり、例えば、鉄道の切符の場合には、入場時刻、入場駅等の情報である。
【０２７１】
また、分割入場情報ブロックとは、後述する図１９に示すデータ構成を備えたデータブロックである。
【０２７２】
なお、データ格納オプションＡ１９０６（図１９）に暗号化等の処理が指定されている場合には、入出場端末３０のコマンド生成部３０２は、鍵保管部３０４に格納されている鍵データを用いて、分割された入場情報を暗号化する。
【０２７３】
次に、入出場端末３０のＩＣタグアクセス部３０３は、分割入場情報ブロック（Ａ１５０５−１）をＩＣタグ１０に送信する。
【０２７４】
次に、ＩＣタグ１０のコマンド解析部１０２は、受信した分割入場情報ブロック（Ａ１５０５−１）を入場情報記憶部１１０に格納する（Ｓ１５０９−１）。次に、ＩＣタグ１０のデータ送受信部１０１は、入出場端末３０に対し、処理結果を示すレスポンス（Ａ１５０６−１）を送信する。
【０２７５】
次に、入出場端末３０のコマンド生成部３０２は、分割された入場情報の数（Ｎ個）に応じて、前述した分割入場情報ブロック（Ａ１５０５−１）の送信からレスポンス（Ａ１５０６−１）の受信までの処理をＮ回繰り返す。
【０２７６】
最後に、入出場端末３０は、入場処理の結果を出力する（Ｓ１５１０）。
【０２７７】
次に、第２の実施形態の中間入出場処理（図５に示したＳ５０４の処理）について説明する。
【０２７８】
図１６は、本発明の第２の実施形態の中間入出場処理の例を示すフローチャートである。
【０２７９】
まず、入出場端末３０のコマンド生成部３０２は、タグアクセスコマンド（Ａ１６０１）を生成する（Ｓ１６０１）。次に、入出場端末３０のＩＣタグアクセス部３０３は、ＩＣタグ１０に対してタグアクセスコマンド（Ａ１６０１）を送信する。
【０２８０】
次に、ＩＣタグ１０のデータ送受信部１０１は、タグアクセスコマンド（Ａ１６０１）を受信し、レスポンス（Ａ１６０２）を入出場端末３０に送信する。
【０２８１】
次に、入出場端末３０のＩＣタグアクセス部３０３は、読込コマンド（Ａ１６０３）をＩＣタグ１０に送信する。
【０２８２】
次に、ＩＣタグ１０の発券情報出力部１０４、入場情報出力部１０５、中間入出場情報出力部１０６及び出場情報出力部１０７は、それぞれ、受信した読込コマンド（Ａ１６０３）に基づいて、発券情報記憶部１０９、入場情報記憶部１１０、中間入出場情報記憶部１１１及び出場情報記憶部１１２から券情報ブロックを取得する（Ｓ１６０２）。
【０２８３】
ここで、券情報ブロックとは、分割券情報ブロックが複数組み合わさったデータブロックである。券情報ブロックの構成は、後述する図２０を用いて説明する。
【０２８４】
次に、ＩＣタグ１０のデータ送受信部１０１は、取得した券情報ブロック（Ａ１６０４）を入出場端末３０に送信する。
【０２８５】
次に、入出場端末３０のコマンド生成部３０２は、受信した券情報ブロック（Ａ１６０４）を分析し、券情報ブロック（Ａ１６０４）に含まれる複数の分割券情報ブロックを取得する（Ｓ１６０３）。
【０２８６】
ここで、入出場端末３０のコマンド生成部３０２は、券情報ブロック（Ａ１６０４）を先頭からスキャンする。次に、コマンド生成部３０２は、ＮＵＬＬデータブロックが終了する一つ後のアドレスを、分割券情報ブロックの開始アドレスと判定し、また、次のＮＵＬＬデータブロックが開始する一つ前のアドレスを、分割券情報ブロックの終了アドレスと判定して、複数の分割券情報ブロックを取得する。
【０２８７】
次に、コマンド生成部３０２は、分割券情報ブロックの分割数及び格納場所の情報に基づいて、発券処理時に生成されたデータ格納情報を取得する（Ｓ１６０４）。
【０２８８】
次に、入出場端末３０のコマンド生成部３０２は、Ｓ１６０４の処理において取得したデータ格納情報に基づいて、Ｓ１６０３で取得した分割券情報ブロックを結合し、元の発券情報及び入場情報を再構成する（Ｓ１６０５）。
【０２８９】
ここで、データ格納オプションＡ１９０６（図１９）に暗号化等の処理が指定されている場合には、入出場端末３０のコマンド生成部３０２は、鍵保管部３０４に格納されている鍵データを用いて、分割券情報を復号する。
【０２９０】
次に、入出場端末３０の判定部３０１は、再構成された発券情報の正当性を検証する（Ｓ１６０６）。
【０２９１】
具体的には、入出場端末３０の判定部３０１は、発券情報に記載された有効期間、発券駅、経由駅等の情報と、入出場端末３０の判定部３０１が備える情報とが一致するか否かを判定する（Ｓ１６０６）。
【０２９２】
Ｓ１６０６の処理において、情報が一致しない場合には、入出場端末３０の判定部３０１は、発券情報が正当でないと判定して、処理を中止する（Ｓ１６０７）。
【０２９３】
一方、Ｓ１６０６の処理において、情報が一致した場合には、入出場端末３０の判定部３０１は、発券情報が正当であると判定して、Ｓ１６０８の処理へ進む。
【０２９４】
次に、入出場端末３０の判定部３０１は、入場情報に記載された情報と、入出場端末３０の判定部３０１が備える情報とを比較し、再構成された入場情報が正当であるか否かを判定する（Ｓ１６０８）。
【０２９５】
Ｓ１６０８の処理において、入場情報が正当でないと判定された場合（例えば、入場から中間入出場処理までの時間が所定の時間よりも長い場合、又は、入場フラグが設定されていない場合等）には、入出場端末３０の判定部３０１は、処理を中止する（Ｓ１６０９）。
【０２９６】
一方、Ｓ１００８の処理において、入場情報が正当であると判定された場合には、入出場端末３０の判定部３０１は、Ｓ１６１０の処理へ進む。
【０２９７】
次に、入出場端末３０のコマンド生成部３０２は、Ｓ１６０４の処理において取得したデータ格納情報に基づいて、ＩＣタグ１０に格納する中間入出場情報を分割し、分割中間入場情報ブロック（Ａ１６０５−１）を生成する（Ｓ１６１０）。
【０２９８】
ここで、中間入出場情報とは、他社線への連絡通路に設置されている入出場端末３０があらかじめ備えている情報であり、例えば、鉄道の切符の場合、中間入出場時刻、中間入出場駅等の情報である。
【０２９９】
また、分割中間入出場情報ブロックとは、後述する図１９に示すデータ構成を備えたデータブロックである。
【０３００】
また、データ格納オプションＡ１９０６に暗号化等の処理が指定されている場合には、入出場端末３０のコマンド生成部３０２は、鍵保管部３０４に格納されている鍵データを用いて、分割された入場情報を暗号化する。
【０３０１】
次に、入出場端末３０のＩＣタグアクセス部３０３は、分割中間入出場情報ブロック（Ａ１６０５−１）をＩＣタグ１０に送信する。
【０３０２】
次に、ＩＣタグ１０のコマンド解析部１０２は、受信した分割中間入出場情報ブロック（Ａ１６０５−１）を中間入出場情報記憶部１１１に格納する（Ｓ１６１１−１）。
【０３０３】
次に、ＩＣタグ１０のデータ送受信部１０１は、入出場端末３０に対し、処理結果を示すレスポンス（Ａ１６０６−１）を送信する。
【０３０４】
次に、入出場端末３０のコマンド生成部３０２は、分割された中間入出場情報の数（Ｎ個）に応じて、前述した分割中間入出場情報ブロック（Ａ１６０５−１）の送信からレスポンス（Ａ１６０６−１）の受信までの処理をＮ回繰り返す。
【０３０５】
最後に、入出場端末３０は、中間入出場処理の結果を出力する（Ｓ１６１２）。
【０３０６】
次に、第２の実施形態の精算処理（図５に示したＳ５０６の処理）について説明する。
【０３０７】
図１７は、本発明の第２の実施形態の精算処理の例を示すフローチャートである。
【０３０８】
まず、精算端末４０のコマンド生成部４０２は、タグアクセスコマンド（Ａ１７０１）を生成する（Ｓ１７０１）。次に、精算端末４０のＩＣタグアクセス部４０３は、ＩＣタグ１０に対してタグアクセスコマンド（Ａ１７０１）を送信する。
【０３０９】
次に、ＩＣタグ１０のデータ送受信部１０１は、タグアクセスコマンド（Ａ１７０１）を受信し、レスポンス（Ａ１７０２）を精算端末４０に送信する。
【０３１０】
次に、精算端末４０のＩＣタグアクセス部４０３は、読込コマンド（Ａ１７０３）をＩＣタグ１０に送信する。
【０３１１】
次に、ＩＣタグ１０の発券情報出力部１０４、入場情報出力部１０５、中間入出場情報出力部１０６及び出場情報出力部１０７は、それぞれ、受信した読込コマンド（Ａ１７０３）に基づいて、発券情報記憶部１０９、入場情報記憶部１１０、中間入出場情報記憶部１１１及び出場情報記憶部１１２から券情報ブロックを取得する（Ｓ１７０２）。
【０３１２】
ここで、券情報ブロックとは、分割券情報ブロックが複数組み合わさったデータブロックである。券情報ブロックの構成は、後述する図２０を用いて説明する。
【０３１３】
ここで、券情報ブロックとは、分割券情報ブロックが複数組み合わさったデータブロックである。券情報ブロックの構成は、後述する図２０を用いて説明する。
【０３１４】
次に、ＩＣタグ１０のデータ送受信部１０１は、取得した券情報ブロック（Ａ１７０４）を精算端末４０に送信する。
【０３１５】
次に、精算端末４０のコマンド生成部４０２は、受信した券情報ブロック（Ａ１７０４）を分析し、券情報ブロック（Ａ１７０４）に含まれる複数の分割券情報ブロックを取得する（Ｓ１７０３）。
【０３１６】
ここで、精算端末４０のコマンド生成部４０２は、券情報ブロック（Ａ１７０４）を先頭からスキャンする。次に、コマンド生成部４０２は、ＮＵＬＬデータブロックが終了する一つ後のアドレスを、分割券情報ブロックの開始アドレスと判定し、また、次のＮＵＬＬデータブロックが開始する一つ前のアドレスを、分割券情報ブロックの終了アドレスと判定して、複数の分割券情報ブロックを取得する。
【０３１７】
次に、コマンド生成部４０２は、分割券情報ブロックの分割数及び格納場所の情報に基づいて、発券処理時に生成したデータ格納情報を取得する（Ｓ１７０４）。
【０３１８】
次に、精算端末４０のコマンド生成部４０２は、Ｓ１７０４の処理において取得したデータ格納情報に基づいて、Ｓ１７０３で取得した分割券情報ブロックを結合し、元の発券情報、入場情報及び中間入出場情報を再構成する（Ｓ１７０５）。
【０３１９】
ここで、データ格納オプションＡ１９０６（図１９）に暗号化等の処理が指定されている場合には、精算端末４０のコマンド生成部４０２は、鍵保管部４０５に格納されている鍵データを用いて、分割発券情報、分割入場情報及び分割中間入出場情報を復号する。
【０３２０】
次に、精算端末４０の判定部４０１は、再構成された発券情報の正当性を検証する（Ｓ１７０６）。
【０３２１】
具体的には、精算端末４０の判定部４０１は、発券情報に記載された有効期間、発券駅、経由駅等の情報と、精算端末４０の判定部４０１が備える情報とが一致するか否かを判定する（Ｓ１７０６）。
【０３２２】
Ｓ１７０６の処理において、情報が一致しない場合には、精算端末４０の判定部４０１は、発券情報が正当でないと判定して、処理を中止する（Ｓ１７０７）。
【０３２３】
一方、Ｓ１７０６の処理において、情報が一致した場合には、精算端末４０の判定部４０１は、発券情報が正当であると判定して、Ｓ１７０８の処理へ進む。
【０３２４】
次に、精算端末４０の判定部３０１は、入場情報に記載された情報と、精算端末４０の判定部３０１が備える情報とを比較し、再構成された入場情報が正当であるか否かを判定する（Ｓ１７０８）。
【０３２５】
Ｓ１７０８の処理において、入場情報が正当でないと判定された場合（例えば、入場から精算処理までの時間が所定の時間よりも長い場合、又は、入場フラグが設定されていない場合等）には、精算端末４０の判定部４０１は、処理を中止する（Ｓ１７０９）。
【０３２６】
一方、Ｓ１７０８の処理において、入場情報が正当であると判定された場合には、精算端末４０の判定部４０１は、Ｓ１７１０の処理へ進む。
【０３２７】
次に、精算端末４０の判定部４０１は、中間入出場情報に記載された情報と、精算端末４０の判定部４０１が備える情報とを比較し、再構成された中間入出場情報が正当であるか否かを判定する（Ｓ１７１０）。
【０３２８】
Ｓ１７１０の処理において、中間入出場情報が正当でないと判定された場合（例えば、中間入出場から精算処理までの時間が所定の時間よりも長い場合等）には、精算端末４０の判定部４０１は、処理を中止する（Ｓ１７１１）。
【０３２９】
一方、Ｓ１７１０の処理において、中間入出場情報が正当である判定された場合には、精算端末４０の判定部４０１は、Ｓ１７１２の処理へ進む。
【０３３０】
次に、精算端末４０の判定部４０１は、入場駅から中間入出場駅を経由して精算端末４０に設定されている駅までの運賃と、ＩＣタグ１０に格納されている発券情報に含まれる金額とを比較し、精算に必要となる金額を算出する（Ｓ１７１２）。
【０３３１】
次に、利用者は、算出された精算額を投入する（Ｓ１７１３）。次に、精算端末４０のコマンド生成部４０２は、利用者によって投入された料金に基づき、ＩＣタグ１０から取得した発券情報に含まれる金額情報を更新する（Ｓ１７１４）。
【０３３２】
次に、精算端末４０のコマンド生成部４０２は、Ｓ１７０４の処理において取得したデータ格納情報に基づいて、更新された発券情報を分割し、分割発券情報ブロック（Ａ１７０５−１）を生成する（Ｓ１７１５）。
【０３３３】
ここで、分割発券ブロックとは、後述する図１９に示すデータ構成を備えたデータブロックである。
【０３３４】
また、データ格納オプションＡ１９０６（図１９）に暗号化等の処理が指定されている場合には、精算端末４０のコマンド生成部４０２は、鍵保管部４０５に格納されている鍵データを用いて、分割発券情報を暗号化する。
【０３３５】
次に、精算端末４０のＩＣタグアクセス部４０３は、生成した分割発券情報ブロック（Ａ１７０５−１）をＩＣタグ１０に送信する。
【０３３６】
次に、ＩＣタグ１０のコマンド解析部１０２は、受信した分割発券情報ブロック（Ａ１７０５−１）を発券情報記憶部１０９に格納する（Ｓ１７１６−１）。
【０３３７】
次に、ＩＣタグ１０のデータ送受信部１０１は、精算端末４０に対し、処理結果を示すレスポンス（Ａ１７０６−１）を送信する。
【０３３８】
次に、精算端末４０のコマンド生成部４０２は、分割された発券情報ブロックの数（Ｎ個）に応じて、前述した分割発券情報（Ａ１７０５−１）の送信からレスポンス（Ａ１７０６−１）の受信までの処理をＮ回繰り返す。
【０３３９】
最後に、精算端末４０は、精算処理の結果を出力する（Ｓ１７１７）。
【０３４０】
次に、第２の実施形態の出場処理（図５に示したＳ５０７の処理）について説明する。
【０３４１】
図１８は、本発明の第２の実施形態の出場処理の例を示すフローチャートである。
【０３４２】
まず、入出場端末３０のコマンド生成部３０２は、タグアクセスコマンド（Ａ１８０１）を生成する（Ｓ１８０１）。次に、入出場端末３０のＩＣタグアクセス部３０３は、ＩＣタグ１０に対して、タグアクセスコマンド（Ａ１８０１）を送信する。
【０３４３】
次に、ＩＣタグ１０のデータ送受信部１０１は、タグアクセスコマンド（Ａ１８０１）を受信し、レスポンス（Ａ１８０２）を入出場端末３０に送信する。
【０３４４】
次に、入出場端末３０のＩＣタグアクセス部３０３は、読込コマンド（Ａ１８０３）をＩＣタグ１０に送信する。
【０３４５】
次に、ＩＣタグ１０の発券情報出力部１０４、入場情報出力部１０５、中間入出場情報出力部１０６及び出場情報出力部１０７は、それぞれ、受信した読込コマンド（Ａ１８０３）に基づいて、発券情報記憶部１０９、入場情報記憶部１１０、中間入出場情報記憶部１１１及び出場情報記憶部１１２から券情報ブロックを取得する（Ｓ１８０２）。
【０３４６】
ここで、券情報ブロックとは、分割券情報ブロックが複数組み合わさったデータブロックである。券情報ブロックの構成は、後述する図２０を用いて説明する。
【０３４７】
次に、ＩＣタグ１０のデータ送受信部１０１は、取得した券情報ブロック（Ａ１８０４）を入出場端末３０に送信する。
【０３４８】
次に、入出場端末３０のコマンド生成部３０２は、受信した券情報ブロック（Ａ１８０４）を分析し、券情報ブロック（Ａ１８０４）に含まれる複数の分割券情報ブロックを取得する（Ｓ１８０３）。
【０３４９】
ここで、入出場端末３０のコマンド生成部３０２は、券情報ブロック（Ａ１８０４）を先頭からスキャンする。次に、コマンド生成部３０２は、ＮＵＬＬデータブロックが終了する一つ後のアドレスを、分割券情報ブロックの開始アドレスと判定し、また、次のＮＵＬＬデータブロックが開始する一つ前のアドレスを、分割券情報ブロックの終了アドレスと判定して、複数の分割券情報ブロックを取得する。
【０３５０】
次に、コマンド生成部３０２は、分割券情報ブロックの分割数及び格納場所の情報に基づいて、発券処理時に生成したデータ格納情報を取得する（Ｓ１８０４）。
【０３５１】
次に、入出場端末３０のコマンド生成部３０２は、Ｓ１８０４の処理において取得したデータ格納情報に基づいて、Ｓ１８０３で取得した分割券情報ブロックを結合して、元の発券情報、入場情報及び中間入出場情報を再構成する（Ｓ１８０５）。
【０３５２】
ここで、データ格納オプションＡ１９０６（図１９）に暗号化等の処理が指定されている場合には、入出場端末３０のコマンド生成部３０２は、鍵保管部３０４に格納されている鍵データを用いて、分割発券情報、分割入場情報及び分割中間入出場情報を復号する。
【０３５３】
次に、入出場端末３０の判定部３０１は、再構成された発券情報の正当性を検証する（Ｓ１８０６）。
【０３５４】
具体的には、入出場端末３０の判定部３０１は、発券情報に記載された有効期間、発券駅、経由駅、金額等の情報と、入出場端末３０の判定部３０１が備える情報とが一致するか否かを判定する（Ｓ１８０６）。
【０３５５】
Ｓ１８０６の処理において、情報が一致しない場合には、入出場端末３０の判定部３０１は、発券情報が正当でないと判定して、処理を中止する（Ｓ１８０７）。
【０３５６】
一方、Ｓ１８０６の処理において、情報が一致した場合には、入出場端末３０の判定部３０１は、発券情報が正当であるとして、Ｓ１８０８の処理へ進む。
【０３５７】
次に、入出場端末３０の判定部３０１は、入場情報に記載された情報と、入出場端末３０の判定部３０１が備える情報とを比較し、再構成された入場情報が正当であるか否かを判定する（Ｓ１８０８）。
【０３５８】
Ｓ１８０８の処理において、入場情報が正当でないと判定された場合（例えば、入場から出場処理までの時間が所定の間よりも長い場合、又は、入場フラグが設定されていない場合等）には、入出場端末３０の判定部３０１は、処理を中止する（Ｓ１８０９）。
【０３５９】
一方、Ｓ１８０８の処理において、入場情報が正当であると判定された場合には、入出場端末３０の判定部３０１は、Ｓ１８１０の処理へ進む。
【０３６０】
次に、入出場端末３０の判定部３０１は、中間入出場情報に記載された情報と、入出場端末３０の判定部３０１が備える情報とを比較し、再構成された中間入出場情報が正当であるか否かを判定する（Ｓ１８１０）。
【０３６１】
Ｓ１８１０の処理において、中間入出場情報が正当でないと判定された場合（例えば、中間入出場から出場処理までの時間が所定の時間よりも長い場合、又は、発券情報に記載された経由駅と中間入出場駅とが一致しない場合等）には、入出場端末３０の判定部３０１は、処理を中止する（Ｓ１８１１）。
【０３６２】
一方、Ｓ１８１０の処理において、中間入出場情報が正当である判定された場合には、入出場端末３０の判定部３０１は、Ｓ１８１２の処理へ進む。
【０３６３】
次に、入出場端末３０のコマンド生成部３０２は、Ｓ１８０４の処理において取得したデータ格納情報に基づいて、ＩＣタグ１０に格納する出場情報を分割し、分割出場情報ブロックを生成する（Ｓ１８１２）。
【０３６４】
ここで、出場情報とは、入出場端末３０があらかじめ備えている情報であり、例えば、鉄道の切符の場合、出場時刻、出場駅等の情報である。
【０３６５】
また、分割出場情報ブロックとは、後述する図１９に示すデータ構成を備えたデータブロックである。
【０３６６】
データ格納オプションＡ１９０６（図１９）に暗号化等の処理が指定されている場合には、入出場端末３０のコマンド生成部３０２は、鍵保管部３０４に格納されている鍵データを用いて、分割された出場情報を暗号化する。
【０３６７】
次に、入出場端末３０のＩＣタグアクセス部３０３は、分割出場情報ブロック（Ａ１８０５−１）をＩＣタグ１０に送信する。
【０３６８】
次に、ＩＣタグ１０のコマンド解析部１０２は、受信した分割出場情報ブロック（Ａ１８０５−１）を出場情報記憶部１１２に格納する（Ｓ１８１３−１）。
【０３６９】
次に、ＩＣタグ１０のデータ送受信部１０１は、入出場端末３０に対し、処理結果を示すレスポンス（Ａ１８０６−１）を送信する。
【０３７０】
次に、入出場端末３０のコマンド生成部３０２は、分割された入場情報の数（Ｎ個）に応じて、前述した分割入場情報ブロック（Ａ１８０５−１）の送信からレスポンス（Ａ１８０６−１）の受信までの処理をＮ回繰り返す。
【０３７１】
最後に、入出場端末３０は、出場処理の結果を出力する（Ｓ１８１４）。
【０３７２】
なお、図１４から図１８に示した第２の実施形態における各処理において、発券端末２０、入出場端末３０及び精算端末４０は、安全を確保するために、各端末に備えられた鍵保管部に格納された鍵データを用いて、各端末とＩＣタグ１０との間で、認証処理、署名検証処理、データ暗号処理等の処理を実行してもよい。
【０３７３】
次に、第２の実施形態の分割券情報ブロック（Ｓ１４０５、Ｓ１４０７、Ｓ１４０９、Ｓ１４１１、Ｓ１５０８、Ｓ１６１０、Ｓ１７１５、Ｓ１８１２等の処理によって生成されるデータブロック）の構成を、図１９を用いて説明する。
【０３７４】
図１９は、本発明の第２の実施形態の分割券情報ブロックの構成の例を示す説明図である。
【０３７５】
分割券情報ブロック（Ａ１９０１）は、データ番号（Ａ１９０２）、データ種別（Ａ１９０３）、データサイズ（Ａ１９０４）、分割券情報（Ａ１９０５）、及び、データ格納オプション（Ａ１９０６）を含む。
【０３７６】
データ番号（Ａ１９０２）は、分割された券情報のシーケンス番号（すなわち、データを結合する順番）を示す。データ種別（Ａ１９０３）は、発券情報、入場情報、中間入出場情報、出場情報等のデータの種類を示す。データサイズ（Ａ１９０４）は、分割された券情報のサイズを示す。
【０３７７】
分割券情報（Ａ１９０５）は、分割された券情報そのものを示す。データ格納オプション（Ａ１９０６）は、各端末が分割券情報に対して暗号処理及び圧縮処理等を実行するか否かを示すフラグ等である。
【０３７８】
なお、分割券情報ブロック（Ａ１９０１）の要素の順序は、図１９に示した順序に限定されるものではなく、分割券情報ブロックが各要素を含む構成であれば、適宜変更されてよい。
【０３７９】
次に、第２の実施形態の券情報ブロック（Ａ１５０４、Ａ１６０４、Ａ１７０４、Ａ１８０４等）の構成を説明する。
【０３８０】
図２０は、本発明の第２の実施形態の券情報ブロックの構成の例を示す説明図である。
【０３８１】
券情報ブロック（Ａ２００１）は、分割券情報ブロックの区切りを示すＮＵＬＬデータ（Ａ２００２）と、分割券情報ブロック（Ａ２００３）とが、交互に配置される。
【０３８２】
ＮＵＬＬデータ（Ａ２００２）は、データブロックの区切りを示すものである。なお、データブロックの区切りを示す情報であるならば、ＮＵＬＬの代わりに、他の値が記載されていてもよい。
【０３８３】
図１４で示した発券処理時において、分割券情報ブロック（Ａ２００３）のそれぞれには、発券端末２０が生成した分割発券情報ブロック（Ａ１４０１）、分割入場情報ブロック（Ａ１４０３）、分割中間入出場情報ブロック（Ａ１４０５）及び分割出場情報ブロック（Ａ１４０７）のいずれかが格納される。
【０３８４】
分割券情報ブロック（Ａ２００３）には、前述したように、データ番号（Ａ１９０２）、データ種別（Ａ１９０３）、データサイズ（Ａ１９０４）及びデータ格納オプション（Ａ１９０６）が記載されている。したがって、各端末は、ＩＣタグ１０から取得したすべての分割券情報ブロックに含まれるこれらの情報によって、データ格納情報を取得することができる。
【０３８５】
また、分割券情報ブロック（Ａ２００３）に記載されたデータ種別（Ａ１９０３）毎に、分割券情報（Ａ１９０５）をデータ番号（Ａ１９０２）に従って結合することによって、発券情報、入場情報、中間入出場情報及び出場情報を再構成することができる。
【０３８６】
以上説明したとおり、本発明の一実施形態によれば、ＩＣタグのデータフォーマット情報を管理するサーバを必要とせず、また、ホスト側でＩＣタグのデータフォーマットを管理することなく、ＩＣタグの内部データを正しく取得することができる。また、ＩＣタグ毎にデータが格納される領域と格納されるデータのサイズとを動的に変更することができるため、第三者が複数のＩＣタグの内部データを用いて内部データの意味を類推することを防止することができる。
【０３８７】
なお、本発明は、前述した実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
【０３８８】
例えば、異なる端末がそれぞれ、入場処理、中間入出場処理、及び、出場処理を実行する場合、一つの端末が発券端末と入出場端末と精算端末との機能をすべて備える場合、及び、ＩＣタグ１０内の記憶領域が発券情報、入場情報、中間入出場情報、出場情報という単位で分割されておらず、すべての情報が一つの記憶領域に格納される場合等においても本発明を適用することができる。なお、前述した実施形態の場合においても、ＩＣタグ１０が実行する処理は変わらない。
【図面の簡単な説明】
【０３８９】
【図１】本発明の第１の実施形態のＩＣタグのデータ格納システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態のＩＣタグのハードウェア構成を示すブロック図である。
【図３】本発明の第１の実施形態の発券端末のハードウェア構成を示すブロック図である。
【図４】本発明の第１の実施形態の入出場端末のハードウェア構成を示すブロック図である。
【図５】本発明の第１の実施形態のＩＣタグのデータ格納システムの処理を示すフローチャートである。
【図６】本発明の第１の実施形態の発券処理の例を示すフローチャートである。
【図７】本発明の第１の実施形態の入場処理の例を示すフローチャートである。
【図８】本発明の第１の実施形態の中間入出場処理の例を示すフローチャートである。
【図９】本発明の第１の実施形態の精算処理の例を示すフローチャートである。
【図１０】本発明の第１の実施形態の出場処理の例を示すフローチャートである。
【図１１】本発明の第１の実施形態のデータ格納情報の構成の例を示す説明図である。
【図１２】本発明の第１の実施形態の券データ格納情報の第１の構成の例を示す説明図である。
【図１３】本発明の第１の実施形態の券データ格納情報の第２の構成の例を示す説明図である。
【図１４】本発明の第２の実施形態の発券処理の例を示すフローチャートである。
【図１５】本発明の第２の実施形態の入場処理の例を示すフローチャートである。
【図１６】本発明の第２の実施形態の中間入出場処理の例を示すフローチャートである。
【図１７】本発明の第２の実施形態の精算処理の例を示すフローチャートである。
【図１８】本発明の第２の実施形態の出場処理の例を示すフローチャートである。
【図１９】本発明の第２の実施形態の分割券情報ブロックの構成の例を示す説明図である。
【図２０】本発明の第２の実施形態の券情報ブロックの構成の例を示す説明図である。
【符号の説明】
【０３９０】
１０  ＩＣタグ
１０Ａ  入出力部
１０Ｂ  記憶部
１０Ｃ  内部信号線
２０  発券端末
２０Ａ  入出力装置
２０Ｂ  ＩＣタグ入出力装置
２０Ｃ  記憶装置
２０Ｄ  ＣＰＵ
２０Ｅ  メモリ
２０Ｆ  読取装置
２０Ｇ  記憶媒体
２０Ｈ  内部信号線
３０  入出場端末
３０Ａ  出力装置
３０Ｂ  ＩＣタグ入出力装置
３０Ｃ  記憶装置
３０Ｄ  ＣＰＵ
３０Ｅ  メモリ
３０Ｆ  読取装置
３０Ｇ  記憶媒体
３０Ｈ  内部信号線
４０  精算端末
１０１  データ送受信部
１０２  コマンド解析部
１０３  データ格納情報出力部
１０４  発券情報出力部
１０５  入場情報出力部
１０６  中間入出場情報出力部
１０７  出場情報出力部
１０８  データ格納情報記憶部
１０９  発券情報記憶部
１１０  入場情報記憶部
１１１  中間入出場情報記憶部
１１２  出場情報記憶部
２０１  入力部
２０２  コマンド生成部
２０３  ＩＣタグアクセス部
２０４  鍵保管部
３０１  判定部
３０２  コマンド生成部
３０３  ＩＣタグアクセス部
３０４  鍵保管部
４０１  判定部
４０２  コマンド生成部
４０３  ＩＣタグアクセス部
４０４  入力部
４０５  鍵保管部
Ａ１２０１  券データ格納情報
Ａ１３０１  券データ格納情報
Ａ１９０１  分割券情報ブロック
Ａ２００１  券情報ブロック
【図１】
2010086388.tif 000003
【図２】
2010086388.tif 000004
【図３】
2010086388.tif 000005
【図４】
2010086388.tif 000006
【図５】
2010086388.tif 000007
【図６】
2010086388.tif 000008
【図７】
2010086388.tif 000009
【図８】
2010086388.tif 000010
【図９】
2010086388.tif 000011
【図１０】
2010086388.tif 000012
【図１１】
2010086388.tif 000013
【図１２】
2010086388.tif 000014
【図１３】
2010086388.tif 000015
【図１４】
2010086388.tif 000016
【図１５】
2010086388.tif 000017
【図１６】
2010086388.tif 000018
【図１７】
2010086388.tif 000019
【図１８】
2010086388.tif 000020
【図１９】
2010086388.tif 000021
【図２０】
2010086388.tif 000022