(57)【特許請求の範囲】
【請求項１】
第１の日付情報を記憶するメモリと、
外部機器から送信されたコマンドを受信する受信部と、
前記受信部により受信された前記コマンドを解析し、第２の日付情報を取得する解析部と、
前記解析部により取得された前記第２の日付情報と、前記メモリにより記憶されている前記第１の日付情報とを比較する比較部と、
前記比較部による比較の結果に基づいて、前記コマンドに基づく処理を実行するか否か判定する判定部と、
前記判定部の判定結果に基づいて、前記処理を実行し、前記コマンドに対するレスポンスを生成するコマンド処理部と、
前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する送信部と、
を具備し、
前記メモリは、複数の第１の日付情報を記憶し、
前記解析部は、受信したコマンドを解析し、前記複数の第１の日付情報のうちの何れかを示す比較対象情報を取得し、
前記比較部は、前記比較対象情報が示す第１の日付情報と、前記第２の日付情報とを比較する、
携帯可能電子装置。
【請求項２】
前記メモリは、
ＣＶＣＡ証明書を記憶する第１の記憶部と、
複数のレコードデータを記憶する第２の記憶部と、
当該携帯可能電子装置の最新の処理日付である最終処理日付を記憶する第３の記憶部と、
を具備し、
前記比較部は、前記比較対象情報に基づいて、前記第１の記憶部により記憶されている前記ＣＶＣＡ証明書の発行日付と、前記第２の記憶部により記憶されている複数のレコードデータのうちの最新のレコードデータに含まれる日付と、前記第３の記憶部により記憶されている最終処理日付とのうちのいずれかを第１の日付情報として前記第２の日付情報と比較する、
請求項１に記載の携帯可能電子装置。
【請求項３】
前記判定部は、前記第２の日付情報が前記第１の日付情報より新しい場合にコマンド処理を実行すると判定する、請求項１に記載の携帯可能電子装置。
【請求項４】
前記判定部は、前記第２の日付情報が前記第１の日付情報から所定期間経過している場合にコマンド処理を実行すると判定する、請求項１に記載の携帯可能電子装置。
【請求項５】
前記判定部は、前記第２の記憶部により記憶されている複数の前記レコードデータのうち、前記第２の日付情報から所定期間以内に記憶されたレコードデータの件数が予め設定される所定数未満である場合にコマンド処理を実行すると判定する、請求項２に記載の携帯可能電子装置。
【請求項６】
前記判定部は、前記第２の日付情報が前記第１の日付情報より古い場合にコマンド処理を実行しないと判定し、
前記コマンド処理部は、前記判定部によりコマンド処理を実行しないと判定された場合、エラーを示す情報を含むレスポンスを生成する、
請求項１に記載の携帯可能電子装置。
【請求項７】
前記各部を備えるＩＣモジュールと、
前記ＩＣモジュールが配設される本体と、
を具備する請求項１に記載の携帯可能電子装置。
【請求項８】
携帯可能電子装置に用いられる前記携帯可能電子装置の制御方法であって、
複数の第１の日付情報を予め記憶し、
外部機器から送信されたコマンドを受信し、
受信した前記コマンドを解析し、第２の日付情報と、前記複数の第１の日付情報のうちの何れかを示す比較対象情報と、を取得し、
取得した前記第２の日付情報と、前記比較対象情報が示す前記第１の日付情報とを比較し、
比較の結果に基づいて、前記コマンドに基づく処理を実行するか否か判定し、
判定結果に基づいて、前記処理を実行し、前記コマンドに対するレスポンスを生成し、
生成した前記レスポンスを前記外部機器に送信する、
携帯可能電子装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、携帯可能電子装置、及び携帯可能電子装置の制御方法に関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置として用いられるＩＣカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたＩＣモジュールとを備えている。ＩＣモジュールは、ＩＣチップを有している。ＩＣチップは、電源が無い状態でもデータを保持することができるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはフラッシュＲＯＭなどの不揮発性メモリと、種々の演算を実行するＣＰＵとを有している。
【０００３】
ＩＣカードは、例えば、国際標準規格ＩＳＯ／ＩＥＣ７８１６に準拠したＩＣカードである。ＩＣカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ＩＣカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【０００４】
ＩＣカードは、ＩＣカードを処理する処理装置からコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ＩＣカードは、種々の機能を実現することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２７７７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＩＣカードにデータを追記する場合、従来のコマンドでは、ＩＣカードは、受け取ったコマンドに基づく書込みの可否を「ライフサイクル」、または「ＥＦの属性情報」などを用いて判断する。
【０００７】
例えば、ＩＣカードに既に記録されているデータに付随する日付情報より古い日付情報がタイムスタンプとしてＩＣカードに書き込まれる場合、ＩＣカードは、書き込みを不可とすることが望ましい。しかし、ＩＣカードは、「ライフサイクル」及び「ＥＦの属性情報」からこのようなデータの正当性をＩＣカード側で判断できない。このような場合、書き込みの可否を端末で判断する必要がある。
【０００８】
端末装置でコマンドの正当性を確認するために、端末装置は、全てのデータを読出し、ＩＣカードに送信するコマンドの日付情報と、読み出したデータの日付情報とを比較する必要がある。この為、コマンドの発行回数及び処理時間などが増加し、処理端末による処理が複雑化するという課題がある。
【０００９】
そこで、より簡易な処理でコマンドの正当性を判断することができる携帯可能電子装置、及び携帯可能電子装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
一実施形態に係る携帯可能電子装置は、第１の日付情報を記憶するメモリと、外部機器から送信されたコマンドを受信する受信部と、前記受信部により受信された前記コマンドを解析し、第２の日付情報を取得する解析部と、前記解析部により取得された前記第２の日付情報と、前記メモリにより記憶されている前記第１の日付情報とを比較する比較部と、前記比較部による比較の結果に基づいて、前記コマンドに基づく処理を実行するか否か判定する判定部と、前記判定部の判定結果に基づいて、前記処理を実行し、前記コマンドに対するレスポンスを生成するコマンド処理部と、前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する送信部と、を具備し、前記メモリは、複数の第１の日付情報を記憶し、前記解析部は、受信したコマンドを解析し、前記複数の第１の日付情報のうちの何れかを示す比較対象情報を取得し、前記比較部は、前記比較対象情報が示す第１の日付情報と、前記第２の日付情報とを比較する。
【図面の簡単な説明】
【００１１】
【図１】図１は、一実施形態に係るＩＣカード処理システムの構成例について説明するための図である。
【図２】図２は、一実施形態に係るＩＣカードの構成例について説明するための図である。
【図３】図３は、一実施形態に係るレコードデータの例について説明するための図である。
【図４】図４は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図５】図５は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図６】図６は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図７】図７は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【図８】図８は、一実施形態に係るＩＣカード処理システムの処理の例について説明するための図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら、一実施形態に係る携帯可能電子装置、及び携帯可能電子装置の制御方法について詳細に説明する。
【００１３】
本実施形態に係る携帯可能電子装置（ＩＣカード）２０及びＩＣカードを処理する処理装置（端末装置）１０は、例えば、接触通信、及び／または非接触通信の機能を備える。これにより、ＩＣカード２０及び端末装置１０は、互いにデータの送受信を行うことができる。
【００１４】
図１は、一実施形態に係るＩＣカード処理システム１の構成例を示す。  
ＩＣカード処理システム１は、ＩＣカード２０を処理する端末装置１０と、ＩＣカード２０と、を備える。
【００１５】
端末装置１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、カードリーダライタ１５、操作部１７、ディスプレイ１８、及び電源部１９を備える。ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、カードリーダライタ１５、操作部１７、及びディスプレイ１８は、それぞれバスを介して互いに接続されている。
【００１６】
ＣＰＵ１１は、端末装置１０全体の制御を司る制御部として機能する。ＣＰＵ１１は、ＲＯＭ１２又は不揮発性メモリ１４に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、ＣＰＵ１１は、カードリーダライタ１５を介してＩＣカード２０とコマンド及びレスポンスの送受信を行う。
【００１７】
ＲＯＭ１２は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＡＭ１３は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ１３は、ＣＰＵ１１の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ１３は、カードリーダライタ１５を介して外部の機器と送受信するデータを一時的に格納する。また、ＲＡＭ１３は、ＣＰＵ１１が実行するプログラムを一時的に格納する。
【００１８】
不揮発性メモリ１４は、例えばＥＥＰＲＯＭ、ＦＲＡＭなどを備える。不揮発性メモリ１４は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。
【００１９】
カードリーダライタ１５は、ＩＣカード２０と通信を行うためのインターフェース装置である。カードリーダライタ１５は、接触通信、または非接触通信によりＩＣカード２０とデータの送受信を行う。
【００２０】
接触通信のインターフェースとして用いられる場合、カードリーダライタ１５は、ＩＣカード２０が装着されるスロットと、ＩＣカード２０が備えるコンタクトパターンと接続される複数の接触端子を備える。
【００２１】
スロットにＩＣカード２０が装着される場合、カードリーダライタ１５の複数の接触端子は、ＩＣカード２０のコンタクトパターンに接続される。これにより、端末装置１０とＩＣカード２０とは電気的に接続される。カードリーダライタ１５は、スロットに装着されるＩＣカード２０に対して、電力の供給、クロックの供給、リセット信号の入力、及びデータの送受信などを行う。
【００２２】
また、非接触通信のインターフェースとして用いられる場合、カードリーダライタ１５は、送受信するデータに対して信号処理を施す信号処理部と、所定の共振周波数を有するアンテナとを備える。
【００２３】
カードリーダライタ１５は、例えば、信号処理部により、送受信するデータに対して符号化、復号、変調、及び復調などの信号処理を行なう。また、カードリーダライタ１５は、符号化及び変調を施したデータをアンテナに供給する。アンテナは、供給されたデータに応じて磁界を発生させる。これにより、端末装置１０は、通信可能範囲に存在するＩＣカード２０に対してデータを非接触で送信することができる。
【００２４】
さらに、カードリーダライタ１５のアンテナは、磁界を検知し、検知した磁界に応じて信号を生成する。これにより、カードリーダライタ１５は、信号を非接触で受信することができる。信号処理部は、アンテナにより受信された信号に対して復調及び復号を行う。これにより、端末装置１０は、ＩＣカード２０から送信された元のデータを取得することができる。
【００２５】
操作部１７は、例えば操作キーなどを備え、操作者により入力される操作に基づいて、操作信号を生成する。操作部１７は、生成した操作信号をＣＰＵに入力する。これにより、ＣＰＵ１１は、操作者により入力された操作に基づいて処理を事項することができる。
【００２６】
ディスプレイ１８は、ＣＰＵ１１、または図示されないグラフィックコントローラなどの表示処理モジュールから入力される映像を表示するための信号に基づいて種々の情報を表示する。
【００２７】
電源部１９は、端末装置１０の各部に電力を供給する。電源部１９は、例えば、商用電源より電力を受け取り、所定の電圧に変換し、端末装置１０の各部に供給する。
【００２８】
図２は、一実施形態に係るＩＣカード２０の構成例を示す。  
図２に示すように、ＩＣカード２０は、例えば、矩形状の本体２１と、本体２１内に内蔵されたＩＣモジュール２２とを備える。ＩＣモジュール２２は、ＩＣチップ２３と、通信部２４とを備える。ＩＣチップ２３と通信部２４とは、互いに接続された状態でＩＣモジュール２２内に形成されている。
【００２９】
なお、本体２１は、少なくとも通信部２４が配設されるＩＣモジュール２２を設置可能な形状であれば、矩形状に限らず如何なる形状であっても良い。
【００３０】
ＩＣチップ２３は、通信部２４、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、電源部３１、及びロジック部３２などを備える。通信部２４、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、電源部３１、及びロジック部３２は、バスを介して互いに接続されている。
【００３１】
通信部２４は、端末装置（外部機器）１０のカードリーダライタ１５と通信を行うためのインターフェースである。通信部２４は、接触通信、または非接触通信により、端末装置１０とデータの送受信を行う。
【００３２】
接触通信のインターフェースとして用いられる場合、通信部２４は、カードリーダライタ１５の接触端子と接続されるコンタクトパターンを備える。コンタクトパターンは、導電性を有する金属などによりＩＣモジュール２２の表面に形成される接触端子である。即ち、コンタクトパターンは、端末装置１０と接触可能に形成されている。
【００３３】
コンタクトパターンは、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれ端子として機能する。通信部２４は、コンタクトパターンを介してカードリーダライタ１５とデータの送受信を行うことができる。
【００３４】
また、非接触通信のインターフェースとして用いられる場合、通信部２４は、信号処理部とアンテナとを備える。
【００３５】
信号処理部は、端末装置１０に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、信号処理部は、端末装置１０に送信するデータの変調（増幅）を行う。信号処理部は、信号処理を施したデータをアンテナに供給する。
【００３６】
アンテナは、例えば、ＩＣモジュール２２内に所定の形状で配設される金属線により構成される。ＩＣカード２０は、端末装置１０に送信するデータに応じてアンテナにより磁界を発生させる。これにより、ＩＣカード２０は、端末装置１０に対してデータを送信することができる。また、ＩＣカード２０は、電磁誘導によりアンテナに発生する誘導電流に基づいて端末装置１０から送信されるデータを認識する。
【００３７】
例えば、信号処理部は、アンテナに発生する誘導電流に対して復調、及び復号を行う。例えば、信号処理部は、アンテナにより受信する信号の解析を行う。これにより、通信部２４は、２値の論理データを取得する。通信部２４は、解析したデータをバスを介してＣＰＵ２５に送信する。
【００３８】
ＣＰＵ２５は、ＩＣカード２０全体の制御を司る制御部として機能する。ＣＰＵ２５は、ＲＯＭ２６あるいは不揮発性メモリ２８に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、端末装置１０から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
【００３９】
ＲＯＭ２６は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２６は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２０内に組み込まれる。即ち、ＲＯＭ２６に記憶される制御プログラム及び制御データは、予めＩＣカード２０の仕様に応じて組み込まれる。
【００４０】
ＲＡＭ２７は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ２７は、ＣＰＵ２５の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ２７は、通信部２４を介して端末装置１０から受信したデータを一時的に格納する。またＲＡＭ２７は、通信部２４を介して端末装置１０に送信するデータを一時的に格納する。またさらに、ＲＡＭ２７は、ＣＰＵ２５が実行するプログラムを一時的に格納する。
【００４１】
不揮発性メモリ２８は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性のメモリを備える。不揮発性メモリ２８は、ＩＣカード２０の運用用途に応じて制御プログラム及び種々のデータを格納する。
【００４２】
たとえば、不揮発性メモリ２８では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。ＣＰＵ２５は、不揮発性メモリ２８、または、ＲＯＭ２６に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００４３】
電源部３１は、端末装置１０の各部に電力を供給する。ＩＣカード２０が接触通信を行う構成を備える場合、電源部３１は、通信部２４のコンタクトパターンを介してカードリーダライタ１５から供給される電力をＩＣカード２０の各部に供給する。
【００４４】
また、ＩＣカード２０が非接触通信を行う構成を備える場合、カードリーダライタ１５のアンテナから送信される電波、特にキャリア波に基づいて電力を生成する。さらに、電源部３１は、動作クロックを生成する。電源部３１は、発生させた電力及び動作クロックをＩＣカード２０の各部に電力を供給する。ＩＣカード２０の各部は、電力の供給を受けた場合、動作可能な状態になる。
【００４５】
ロジック部３２は、演算処理をハードウエアにより行う演算部である。例えば、ロジック部３２は、端末装置１０からのコマンドに基づいて、暗号化、復号、及び乱数の生成などの処理を行う。例えば、端末装置１０から相互認証コマンドを受信する場合、ロジック部３２は、乱数を生成し、生成した乱数をＣＰＵ２５に伝送する。
【００４６】
また、不揮発性メモリ２８は、レコード構造でデータを記憶する記憶部２８ａを備えている。記憶部２８ａは、例えば、図３により示されるデータを記憶する。例えば、ＩＣカード２０がＩＣ旅券として用いられる場合、図３により示されるように、記憶部２８ａは、レコード構造で出入国情報を記憶する。
【００４７】
レコード構造には、固定長順編成構造、可変長順編成構造、または固定長循環順編成構造などの種類が存在する。レコード構造で記憶されるデータは、少なくとも、レコード番号（レコード識別子）と、データの本体（レコードデータ）とを有する。
【００４８】
図３に示される例では、記憶部２８ａは、Ｔａｇ  Ｌｅｎｇｔｈ  Ｖａｌｕｅ（ＴＬＶ）構造のデータをレコードデータとして記憶している。即ち、記憶部２８ａは、レコード番号、データ種別（Ｔａｇ）、データの長さ（Ｌｅｎｇｔｈ）、及びデータ値（Ｖａｌｕｅ）を記憶する。
【００４９】
ＴＬＶデータオブジェクトのＴａｇは、ＩＣカード２０のＣＰＵ２５にＴＬＶデータオブジェクトを識別させる為の情報である。Ｌｅｎｇｔｈは、ＴＬＶデータオブジェクトのＶａｌｕｅのデータ長を示す情報である。Ｖａｌｕｅは、ＴＬＶデータオブジェクトのデータ本体である。
【００５０】
出入国情報を記憶する場合、記憶部２８ａは、Ｖａｌｕｅとして、入出を示す情報（入出情報）、国コード（国記号）、場所コード、及び登録日付（日付情報）を記憶する。
【００５１】
入出情報は、１ｂｙｔｅのデータである。例えば、入出情報の論理値が「０」である場合、入出情報は、入国を示す。また、入出情報の論理値が「１」である場合、入出情報は、出国を示す。
【００５２】
国記号は、３ｂｙｔｅのデータである。国記号は、例えば、国際標準規格ＩＳＯ／ＩＥＣ３１６６−２により規定される国コードを示す。
【００５３】
場所コードは、３ｂｙｔｅのデータである。場所コードは、例えば、「成田」、「羽田」などの場所を示す情報が各国毎にコード化されたものである。なお、本実施形態では、場所コードについて具体的な値を示さない。
【００５４】
日付情報は、８ｂｙｔｅのデータである。日付情報は、当該出入国情報がＩＣカード２０の不揮発性メモリ２８に書き込まれた時刻を示すタイムスタンプである。日付情報は、例えば「ｙｙｙｙｍｍｄｄ」の形式で書き込まれる。即ち、日付情報は、４バイトの西暦を示す情報、２バイトの月を示す情報、２バイトの日を示す情報を含む。
【００５５】
図３に示される例によると、レコード番号が「０１」であるレコードには、入出情報として「１」＝出国、国記号として「３９２」＝日本、場所コードとして「ｘｘｘ」、日付情報として「２００９１２２２」が記録されている。
【００５６】
また、端末装置１０は、入出情報の値と、「入国」及び「出国」とが対応付けられたテーブルを予め備える。また、端末装置１０は、国記号の値と、国名を示す情報とが対応付けられたテーブルを予め備える。また、端末装置１０は、場所コードの値と、場所を示す情報とが対応付けられたテーブルを予め備える。またさらに、端末装置１０は、日付情報の値に基づいて、出入国情報が記録された時刻を特定する為の手法（またはテーブル）を予め備える。
【００５７】
端末装置１０は、ＩＣカード２０からレコードを読み出した場合、読み出した各情報の値に基づいて、予め記憶している各テーブルを参照することにより、入出情報、国名、場所名、及び日付情報を特定することができる。
【００５８】
また、不揮発性メモリ２８は、ＣＶＣＡ証明書を記憶する記憶部２８ｂを備えている。Ｃａｒｄ  Ｖｅｒｉｆｉａｂｌｅ  Ｃｅｒｔｉｆｉｃａｔｉｏｎ  Ａｕｔｈｏｒｉｔｉｅｓ（ＣＶＣＡ）証明書は、ＩＣカード２０がＩＣ旅券として用いられる為に必要な情報を含むものである。ＣＶＣＡ証明書は、少なくとも、ＣＶＣＡ証明書の発行日付を示す情報を含む。
【００５９】
またさらに、不揮発性メモリ２８は、ＩＣカード２０の最新の処理日付を記憶する記憶部２８ｃを備える。記憶部２８ｃは、ＩＣカード２０がコマンドを端末装置１０から受信した場合、受信したコマンドに含まれる日付情報を記憶する。これにより、記憶部２８ｃは、ＩＣカード２０が処理された最新（直近）の日付を示す情報（最終処理日付）を記憶することができる。なお、受信するコマンドは、日付情報を含むものであれば如何なるものであってもよい。
【００６０】
図４は、端末装置１０からＩＣカード２０に送信されるコマンドの例を示す。図４に示されるコマンドは、「ＣＬＡ」３０１、「ＩＮＳ」３０２、「Ｐ１」３０３、「Ｐ２」３０４、「Ｌｃ」３０５、「Ｄａｔａ」３０６、及び「Ｌｅ」３０７を有する。
【００６１】
「ＣＬＡ」３０１は、コマンドの層別を示すｃｌａｓｓ  ｂｙｔｅである。「ＩＮＳ」３０２は、コマンドの種別を示すｉｎｓｔｒｕｃｔｉｏｎ  ｂｙｔｅである。「Ｐ１」３０３及び「Ｐ２」３０４は、「ＩＮＳ」３０２に応じたパラメータを示すｐａｒａｍｅｔｅｒ  ｂｙｔｅである。
【００６２】
「Ｌｃ」３０５は、「Ｄａｔａ」３０６のデータの長さ（バイト数）を示すｌｅｎｇｔｈ  ｆｉｅｌｄ  ｆｏｒ  ｃｏｒｄｉｎｇ  ｎｕｍｂｅｒ  Ｎｃである。「Ｄａｔａ」３０６は、当該コマンドのデータ本体を示すｃｏｍｍａｎｄ  ｄａｔａ  ｆｉｅｌｄである。「Ｌｅ」３０７は、当該コマンドに対するレスポンスのデータ長を示すｌｅｎｇｔｈ  ｆｉｅｌｄ  ｆｏｒ  ｃｏｒｄｉｎｇ  ｎｕｍｂｅｒ  Ｎｅである。
【００６３】
さらに、「Ｄａｔａ」３０６は、図５に示されるように、複数のＴＬＶデータオブジェクトを含む。
【００６４】
図５は、「Ｄａｔａ」３０６に含まれるデータを示す。図５に示されるように、「Ｄａｔａ」３０６は、Ｔａｇ４０１、Ｌｅｎ４０２、比較対象４０３、Ｔａｇ４０４、Ｌｅｎ４０５、オフセット４０６、Ｔａｇ４０７、Ｌｅｎ４０８、日付情報４０９、Ｔａｇ４１０、Ｌｅｎ４１１、及び追記データ４１２を含む。なお、以下、ＩＣカード２０に既に記憶されているデータに付随する日付情報を第１の日付情報とし、端末装置１０から送信されるコマンドに含まれる日付情報を第２の日付情報として説明する。
【００６５】
即ち、「Ｄａｔａ」３０６は、比較対象４０３を含むＴＬＶデータオブジェクト、抽出オフセット４０６を含むＴＬＶデータオブジェクト、第２の日付情報４０９を含むＴＬＶデータオブジェクト、及び追記データ４１２を含むＴＬＶデータオブジェクトを有する。なお、比較対象４０３、オフセット４０６、日付情報４０９、及び追記データ４１２がそれぞれ固定長である場合、「Ｄａｔａ」３０６は、ＴＬＶデータオブジェクトのＶａｌｕｅのみを含む構成であってもよい。
【００６６】
比較対象４０３は、ＩＣカード２０により記憶されている第１の日付情報の種類を示す情報である。例えば、本実施形態のＩＣカード処理システム１では、例えば、記憶部２８ａにより記憶されている複数のレコードデータのうちの最新のレコードデータに含まれる日付情報、記憶部２８ｂにより記憶されているＣＶＣＡ証明書の発行日付、または記憶部２８ｃにより記憶されているＩＣカード２０の最終処理日付が、第１の日付情報として用いられる。
【００６７】
オフセット４０６は、このコマンドの日付情報（第２の日付情報）４０９比較するデータの位置を示す情報である。オフセット４０６は、比較対象において、最新のレコードデータに含まれる日付情報が第１の日付情報として指定された場合にコマンドに付加される情報である。オフセット４０６は、レコードの先頭からのバイト数、または、レコードのＶａｌｕｅの先頭からのバイト数などを示す。
【００６８】
日付情報４０９は、ＩＣカード２０により記憶されている第１の日付情報と比較される第２の日付情報である。
【００６９】
追記データ４１２は、当該コマンドによりＩＣカード２０に追記されるデータ本体である。
【００７０】
なお、端末装置１０及びＩＣカード２０は、図６に示されるテーブルに基づいて、比較対象４０３の生成及び解析を行う。
【００７１】
例えば、比較対象として、ＣＶＣＡ証明書の発行日付を指定する場合、端末装置１０は、比較対象４０３として「０」をセットする。ＩＣカード２０は、受信したコマンドの「Ｄａｔａ」３０６の比較対象４０３が「０」である場合、比較対象としてＣＶＣＡ証明書の発行日付が指定されていることを認識する。この場合、ＩＣカード２０は、記憶部２８ｂにより記憶されているＣＶＣＡ証明書の発行日付（第１の日付情報）を読み出し、受信したコマンドの日付情報（第２の日付情報）４０９と比較する。
【００７２】
また、例えば、比較対象として、最新のレコードデータに含まれる日付情報を指定する場合、端末装置１０は、比較対象４０３として「１」をセットする。ＩＣカード２０は、受信したコマンドの「Ｄａｔａ」３０６の比較対象４０３が「１」である場合、比較対象として最新のレコードデータに含まれる日付情報が指定されていることを認識する。この場合、ＩＣカード２０は、記憶部２８ａにより記憶されているレコードデータのうちの最新のレコードデータの日付情報（第１の日付情報）を読み出し、受信したコマンドの日付情報（第２の日付情報）４０９と比較する。
【００７３】
なお、この場合、ＩＣカード２０は、最新のレコードデータのオフセット４０６により示される位置から所定長の長さのデータを第１の日付情報として読み出す。
【００７４】
また、例えば、比較対象として、最終処理日付を指定する場合、端末装置１０は、比較対象４０３として「２」をセットする。ＩＣカード２０は、受信したコマンドの「Ｄａｔａ」３０６の比較対象４０３が「２」である場合、比較対象として最終処理日付が指定されていることを認識する。この場合、ＩＣカード２０は、記憶部２８ｃにより記憶されている最終処理日付（第１の日付情報）を読み出し、受信したコマンドの日付情報（第２の日付情報）４０９と比較する。
【００７５】
ＩＣカード２０は、第２の日付情報が、第１の日付情報より新しい日付である場合、受信したコマンドが正当なコマンドであると判断する。この場合、ＩＣカード２０は、受信したコマンドに応じてコマンド処理を行い、正常終了を示すレスポンスを端末装置１０に送信する。
【００７６】
また、ＩＣカード２０は、第２の日付情報が、第１の日付情報より古い日付である場合、受信したコマンドが不当なコマンドであると判断する。この場合、ＩＣカード２０は、受信したコマンドに応じてコマンド処理を行わずに、エラー終了を示すレスポンスを端末装置１０に送信する。
【００７７】
図７は、ＩＣカード２０が受信するコマンドの例を示す。  
例えば、図７に示されるコマンドは、「ＣＬＡ」、「ＩＮＳ」、「Ｐ１」、「Ｐ２」、「Ｌｃ」、「Ｄａｔａ」、及び「Ｌｅ」を有する。また、この「Ｄａｔａ」は、比較対象７０１、オフセット７０２、日付情報７０３、及び追記データ７０４を含む。図７に示される例では、比較対象７０１が「１」であり、オフセット７０２が「８」であり、日付情報７０３が「２０１００５０３」である。
【００７８】
図７に示されるコマンドを受信する場合、ＩＣカード２０は、比較対象が最新レコードデータに含まれる日付であることを認識する。さらに、ＩＣカード２０は、記憶部２８ａにより記憶されている複数のレコードデータのうちの最新のレコードデータを参照し、参照したレコードデータのオフセット７０２により示される位置のデータを第１の日付情報として読み出す。
【００７９】
さらに、ＩＣカード２０は、受信したコマンドの日付情報（第２の日付情報）７０３と、読み出した第１の日付情報とを比較する。ＩＣカード２０は、第２の日付情報が、第１の日付情報より新しい日付である場合、受信したコマンドが正当なコマンドであると判断し、コマンド処理を実行し、正常終了を示すレスポンスを端末装置１０に送信する。また、ＩＣカード２０は、第２の日付情報が、第１の日付情報より古い日付である場合、受信したコマンドが不当なコマンドであると判断し、エラー終了を示すレスポンスを端末装置１０に送信する。
【００８０】
図８は、ＩＣカード２０の処理の例を示す。  
まず、端末装置１０は、比較対象データを決定し、図４及び図５に示されるようなコマンドを生成する。端末装置１０は、生成したコマンドをＩＣカード２０に送信する。
【００８１】
ＩＣカード２０は、端末装置１０から送信されたコマンドを受信する（ステップＳ１１）。次に、ＩＣカード２０は、受信したコマンドの解析を行う（ステップＳ１２）。これにより、ＩＣカード２０は、コマンドにより指定される比較対象、オフセット、及び追記データを認識する。さらに、ＩＣカード２０は、第２の日付情報を特定する（ステップＳ１３）。
【００８２】
次に、ＩＣカード２０は、認識された比較対象を確認する（ステップＳ１４）。比較対象がＣＶＣＡ証明書の発行日付である場合、ＩＣカード２０は、記憶部２８ｂにより記憶されているＣＶＣＡ証明書の発行日付（第１の日付情報）を読み出す（ステップＳ１５）。
【００８３】
また、比較対象が最新のレコードデータに含まれる日付情報である場合、ＩＣカード２０は、記憶部２８ａにより記憶されているレコードデータのうちの最新のレコードデータの日付情報（第１の日付情報）を読み出す（ステップＳ１６）。
【００８４】
さらに、比較対象が最終処理日付である場合、ＩＣカード２０は、記憶部２８ｃにより記憶されている最終処理日付（第１の日付情報）を読み出す（ステップＳ１７）。
【００８５】
ＩＣカード２０は、読み出した第１の日付情報と、受信したコマンドから認識した第２の日付情報とを比較する（ステップＳ１８）。これにより、ＩＣカード２０は、第２の日付情報が第１の日付情報より新しいか否かを判断する（ステップＳ１９）。
【００８６】
第２の日付情報が第１の日付情報より新しい場合、ＩＣカード２０は、受信したコマンドに応じたコマンド処理を実行する（ステップＳ２０）。例えば、受信したコマンドが、図７に示されるようにデータの追記を指示するコマンドである場合、ＩＣカード２０は、受信したコマンドの追記データを不揮発性メモリ２８の記憶部２８ａなどに追記する。
【００８７】
さらに、ＩＣカード２０は、受信したコマンドに含まれる日付情報に基づいて、最終処理日付を更新する（ステップＳ２１）。即ち、ＩＣカード２０は、不揮発性メモリ２８の記憶部２８ｃにより記憶されている最終処理日付に、受信したコマンドに含まれている日付情報を上書きする。
【００８８】
ＩＣカード２０は、実行したコマンド処理の処理結果に基づいて正常終了を示すレスポンスを生成し（ステップＳ２２）、生成されたレスポンスを端末装置１０に送信し（ステップＳ２３）、処理を終了する。
【００８９】
また、第２の日付情報が第１の日付情報より古い場合、ＩＣカード２０は、コマンド処理を行わずに、エラー終了を示すレスポンスを生成し（ステップＳ２４）、生成されたレスポンスを端末装置１０に送信し（ステップＳ２３）、処理を終了する。
【００９０】
この構成によると、ＩＣカード２０は、受信したコマンドに含まれる第２の日付情報と、自身が保持する第１の日付情報とに基づいて、受信したコマンドの正当性を判断することができる。ＩＣカード２０は、受信したコマンドの正当性が確認された場合にコマンド処理を実行する。これにより、端末装置１０における処理を簡易化し、且つコマンドの正当性の確認を行うことができる。この為、コマンドの発行回数及び処理時間などを抑えることができる。
【００９１】
この結果、より簡易な処理でコマンドの正当性を判断することができる携帯可能電子装置、及び携帯可能電子装置の制御方法を提供することができる。
【００９２】
なお、上記の実施形態では、出入国情報は、入出情報、国記号、場所コード、及び日付情報を有する構成として説明したが、この構成に限定されない。出入国情報は、如何なる情報であってもよい。さらに、レコード構造で記憶されているレコードデータは、出入国情報に限られるものではなく、如何なるものであっても、上記の実施形態を実施することができる。
【００９３】
また、上記の実施形態では、端末装置１０からＩＣカード２０に送信されるコマンドは、比較対象、オフセット、日付情報、及び追記データを備える構成として説明したが、この構成に限定されない。比較対象及びオフセットがＩＣカード２０に予め設定されている場合、端末装置１０は、少なくとも日付情報を含むコマンドをＩＣカード２０に送信すればよい。この場合、ＩＣカード２０は、受信したコマンドの日付情報（第２の日付情報）と、自身が記憶する第１の日付情報とに基づいて、コマンドの正当性を確認することができる。また、コマンドの種類も、追記コマンドに限定されるものではなく、少なくとも日付情報を含むコマンドであれば如何なるコマンドであってもよい。
【００９４】
また、上記の実施形態では、ＩＣカード２０は、第２の日付情報が第１の日付情報より新しいか否かに基づいて、受信したコマンドの正当性を確認する構成として説明したが、この構成に限定されない。ＩＣカード２０は、第２の日付情報により示される日付が、第１の日付情報により示される日付から所定時間経過しているか否かに基づいて、受信したコマンドの正当性を確認する構成であってもよい。これにより、ＩＣカード２０は、書き込み後、一定期間次の書き込みを制限することができる。
【００９５】
またさらに、ＩＣカード２０は、コマンドを受信する場合に、過去のレコードデータを参照することにより、所定期間内に当該ＩＣカード２０により実行された書き込み処理の回数をカウントする構成であってもよい。この場合、ＩＣカード２０は、受信したコマンドの日付情報から過去の所定期間の間に記憶されたレコードデータの件数を確認し、確認した件数が予め設定される所定値以上である場合に、受信したコマンドが不正であると判断する。これにより、ＩＣカード２０は、所定期間内に所定値回数以上の書き込みが行われることを制限することができる。
【００９６】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【００９７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００９８】
１…ＩＣカード処理システム、１０…端末装置、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…不揮発性メモリ、１５…カードリーダライタ、１７…操作部、１８…ディスプレイ、１９…電源部、２０…ＩＣカード、２１…本体、２２…ＩＣモジュール、２３…ＩＣチップ、２４…通信部、２５…ＣＰＵ、２６…ＲＯＭ、２７…ＲＡＭ、２８…不揮発性メモリ、２８ａ乃至２８ｃ…記憶部、３１…電源部。
【図１】
0005490044.tif 000002
【図２】
0005490044.tif 000003
【図３】
0005490044.tif 000004
【図４】
0005490044.tif 000005
【図５】
0005490044.tif 000006
【図６】
0005490044.tif 000007
【図７】
0005490044.tif 000008
【図８】
0005490044.tif 000009