(57)【特許請求の範囲】
【請求項１】
システム領域と、バックアップ領域と、業務情報領域とを有する不揮発性の記憶部と、
前記記憶部に対し情報の書き込み又は読み出しを行う制御部と、
を有し、選択的に外部接続装置との間で情報の授受を行う携帯可能情報記録媒体であって、
前記制御部は、
前記業務情報領域に格納されている情報の書き換えを行う場合に、書き換え前の情報を前記バックアップ領域に複写するとともに、前記書き換え前の情報の開始ページ番号及びページ数をバックアップ情報として前記システム領域に記録し、
前記業務情報領域の書き換えが正常に終了した場合に、前記開始ページ番号を０に変更することにより前記バックアップ情報をクリアし、
リセット後であって、第一コマンド実行前に、前記開始ページ番号が０であるか否かに基づいて書き換えの正常／異常を判断し、異常である場合は、前記バックアップ情報内の前記開始ページ番号及び前記ページ数に基づいて前記バックアップ領域の情報を、前記業務情報領域に複写して復帰させること、
を特徴とする携帯可能情報記憶媒体。
【請求項２】
請求項１に記載の携帯可能情報記憶媒体において、
前記制御部は、前記書き換えが異常であると判断した場合に、外部接続装置に対し警告を送信すること、
を特徴とする携帯可能情報記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不揮発性の記憶部を有する携帯可能情報記録媒体に関し、特に、記憶部の情報書き換え時における情報の欠損を防止可能な携帯可能情報記録媒体に関するものである。
【０００２】
【従来の技術】
ＩＣカードは、磁気カードに代わる次世代の媒体として注目を集めており、最近では、半導体集積回路の小型化、低コスト化のための技術革新により、実社会の種々のシステムにおいて実用されるに至っている。特に、ＣＰＵを内蔵したＩＣカードは、単なる情報記録媒体としての機能だけではなく、情報処理機能を有するため、高度なセキュリティを必要とする情報処理システムへの利用が期待されている。
このようなＩＣカードでは、データ保存用のメモリとして一般にＥＥＰＲＯＭが使用されている。ＥＥＰＲＯＭは、電気的に記憶情報の消去が可能な不揮発性メモリであり、反復書き換えが可能であるというＩＣカードでの利用に適した特性を有している。
【０００３】
【発明が解決しようとする課題】
しかし、上述したＥＥＰＲＯＭでは、データの書き換えを行う場合は、はじめに旧データを消去し、その後に新たなデータの書き込みを行う。このために、システム制御系にノイズが加わり電源が落ちる、又はＩＣカードをそれが接続されているリーダ・ライタ等から引き抜くいわゆるティアリング等に起因して、データの書き換えが中断されると、記憶部内の情報、すなわち旧データ・新データがともに失われてしまう場合があるという問題があった。
そこで、本発明は、上記問題を解決して、記憶部のデータ書き換え時に不慮の事態が発生した場合であっても、データの欠損を防止可能な携帯可能情報記録媒体を提供することを課題としている。
【０００４】
【課題を解決するための手段】
前記課題を解決するために、請求項１の発明は、システム領域と、バックアップ領域と、業務情報領域とを有する不揮発性の記憶部と、前記記憶部に対し情報の書き込み又は読み出しを行う制御部と、を有し、選択的に外部接続装置との間で情報の授受を行う携帯可能情報記録媒体であって、前記制御部は、前記業務情報領域に格納されている情報の書き換えを行う場合に、書き換え前の情報を前記バックアップ領域に複写するとともに、前記書き換え前の情報の開始ページ番号及びページ数をバックアップ情報として前記システム領域に記録し、前記業務情報領域の書き換えが正常に終了した場合に、前記開始ページ番号を０に変更することにより前記バックアップ情報をクリアし、リセット後であって、第一コマンド実行前に、前記開始ページ番号が０であるか否かに基づいて書き換えの正常／異常を判断し、異常である場合は、前記バックアップ情報内の前記開始ページ番号及び前記ページ数に基づいて前記バックアップ領域の情報を、前記業務情報領域に複写して復帰させること、
を特徴とする。
【０００５】
請求項２の発明は、請求項１に記載の携帯可能情報記憶媒体において、前記制御部は、前記書き換えが異常であると判断した場合に、外部接続装置に対し警告を送信すること、を特徴とする。
【０００６】
【発明の実施の形態】
以下、図面等を参照して、本発明に係る実施形態について、さらに詳しく説明する。
図１は、本実施形態に係るＩＣカード１０がリーダ・ライタ装置２０に接続されている様子を示すブロック図である。
ＩＣカード１０には、Ｉ／Ｏインタフェース１１、ＣＰＵ１２、ＲＯＭ１３、ＲＡＭ１４、ＥＥＰＲＯＭ１５が内蔵されている。Ｉ／Ｏインタフェース１１は、Ｉ／Ｏライン３０を介してデータを送受するための入出力回路であり、ＣＰＵ１２はこのＩ／Ｏインタフェース１１を介して、リーダ・ライタ装置２０と交信する。ＲＯＭ１３内には、ＣＰＵ１２によって実行されるべきプログラムが記憶されており、ＣＰＵ１２はこのプログラムに基いて、ＩＣカード１０を統括制御する機能を有する。ＲＡＭ１４は、ＣＰＵ１２がこのような統括制御を行う上での作業領域として使用されるメモリである。一方、ＥＥＰＲＯＭ１５は、このＩＣカード１０に記録すべき本来のデータを格納するメモリである。
【０００７】
このＩＣカード１０に対しては、外部のリーダ・ライタ装置２０から電源やクロックが供給される。したがって、ＩＣカード１０がリーダ・ライタ装置２０と切り離されると、ＩＣカード１０への電源およびクロックの供給は停止する。しかしながら、ＥＥＰＲＯＭ１５は不揮発性メモリであるため、電源供給が停止した後もその記録内容はそのまま保持される。ただし、ＲＡＭ１４内のデータについては、電源供給の停止によりすべて失われる。
【０００８】
ＩＣカード１０内の各メモリ１３、１４、１５へのアクセスは、すべてＣＰＵ１２を介して行われ、外部からこれらメモリを直接アクセスすることはできない。すなわち、リーダ・ライタ装置２０からＣＰＵ１２に対して所定の「コマンド」を与えると、ＣＰＵ１２はこの「コマンド」を解釈実行し、その結果を、リーダ・ライタ装置２０に対して「レスポンス」として返送することになる。
【０００９】
たとえば、ＥＥＰＲＯＭ１５内の所定のファイルに書き込みを行う場合には、「書込コマンド」とともに、書込対象となるデータをＣＰＵ１２に与え、ＣＰＵ１２による「書込コマンド」の実行という形式で書込処理が行われることになる。逆に、ＥＥＰＲＯＭ１５内の所定のファイルからデータの読み出しを行う場合には、所定の「読出コマンド」をＣＰＵ１２に与え、ＣＰＵ１２による「読出コマンド」の実行という形式によって読出処理が行われることになる。このように、ＩＣカード１０内において「コマンド」の実行が終了すると、実行した「コマンド」に対する「レスポンス」が外部に対して返送される。たとえば、「書込コマンド」を与えた場合には、書込処理が支障なく実行されたか否かを示す「レスポンス」が返送され、「読出コマンド」を与えた場合には、読出対象となったデータがレスポンスという形で返送されることになる。ただし、ＥＥＰＲＯＭ１５へのアクセスは、無条件で行われるわけではなく、所定のアクセス条件が満足されることが前提となる。このアクセス条件は、例えば個々のファイルごとに設定される。
【００１０】
図２は、ＥＥＰＲＯＭ１５の内部構成を示す図である。本実施形態では、ＥＥＰＲＯＭ１５のユーザーエリアがファイル格納エリアとバックアップエリアに分割されていることを特徴としている。ファイル格納エリアは、アプリケーションが使用するデータのための基礎ファイルであるＷＥＦ等を格納する領域である。図に示されるように、ＷＥＦのディレクトリは”ＷＥＦ  ＤＩＲ”エリアに、データは”ＷＥＦ  ＤＡＴＡ”エリアにそれぞれ格納される。一方、バックアップエリアは、上記”ＷＥＦ  ＤＩＲ”エリア、及び”ＷＥＦ  ＤＡＴＡ”エリア内のデータを複写・保存するための領域である。したがって、バックアップエリアの大きさは、そのバイト数がシステムが取り扱うデータの最大バイト数となるように設定される。
【００１１】
図３は、ＣＰＵ１２の機能を示すブロック図である。本実施形態のＣＰＵ１２は、主処理部とティアリング処理部という２つの処理部から構成される。主処理部は、Ｉ／Ｏインターフェイスを介してリーダ・ライタと通信を行う、又はメモリー管理を行うなど、従来のＩＣカードの有する一般的機能を実現する処理部である。一方、ティアリング処理部は、主処理部の指示に従い、ファイル格納エリアにある当該ＷＥＦのデータをバックアップエリアに複写する、いわゆるバックアップを行うことにより、データの消失・欠損を防止する機能を果たす処理部である。なお、ＷＥＦのデータとは、"ＷＥＦ ＤＩＲ"エリア及び"ＷＥＦ ＤＡＴＡ"エリアに格納されているデータを意味する。
【００１２】
ティアリング処理部は、さらに３つの処理部より構成されている。第１の処理部は、主処理部がＷＥＦの書き換えを行う前に当該ＷＥＦのバックアップを行うデータバックアップ部である。第２の処理部は、主処理部がＷＥＦの書き換えを行った後に、システムエリアにあるバックアップ情報をリセットするバックアップ情報クリア部である。また、第３の処理部は、主処理部が各コマンドの先頭ブロックを受信したときに、そのコマンドがＩＣカードリセット後の第一コマンドであるか否かを判断し、第一コマンドであった場合にバックアップ情報を確認し、ＷＥＦの書き換え異常の検知、及びデータの復帰を行うティアリングチェック部である。
【００１３】
図４は、本実施形態において、「書込コマンド」が実行されるときのＣＰＵ１２の動作を説明する図である。主処理部は、リーダ・ライタ装置２０よりコマンドを受信すると、はじめにそのコマンドのパラメータをチェックし、コマンドが「書込コマンド」であることを認めると、ティアリング処理部に対しデータバックアップを行うことを指示する（Ｓ４００）。ティアリング処理部では、上記主処理部からの指示に従い、当該ＷＥＦの書き換え前のデータをバックアップする（Ｓ４１０）。バックアップが終了すると、主処理部は、ファイル格納エリアにある当該ＷＥＦのデータを消去し、その後に新しいデータを書き込む（Ｓ４２０）。一つのデータブロックの書き込みが終了すると、主処理部は、リーダ・ライタ装置２０に対し、さらに書き込むべきデータブロックの存在の有無を問い合わせ（Ｓ４３０）、次ブロックがあれば、それを受信して（Ｓ４４０）、当該ＷＥＦに書き込む（Ｓ４２０）。全てのデータブロックの書き込みが終了すると、ティアリング処理部は、主処理部からの指示に従い、バックアップ情報クリア部を動作させ、システムエリアのバックアップ情報をクリアする（Ｓ４５０）。最後に、主処理部は、リーダ・ライタ装置２０に対して、レスポンスの送信等を行い（Ｓ４６０）、一連の書き換え動作が終了する。
【００１４】
図５は、データバックアップ部の動作を説明する図である。データバックアップ部は、はじめに主処理部から書き込むべきデータの書き込み開始アドレス及び書き込みバイト数を受信し（Ｓ５００）、それらより主処理部の書き込みぺ一ジ数を算出する（Ｓ５１０）。次に、得られた書き込みぺ一ジ数は、バックアップエリアのバイト数と比較される（Ｓ５２０）。比較の結果、バックアップエリアの方が小さい場合は、取り扱うべきデータ量（バイト数）に異常があるとみなし、バックアップを実行せずにその動作を終了する（Ｓ５３０）。逆に、バックアップエリアの方が大きい場合は、動作を続行し、ファイル格納エリアの書き込み開始アドレスを含むぺ一ジから、最終書き込みぺ一ジまでの内容をぺ一ジ単位でバックアップエリアに複写する（Ｓ５４０）。また、バックアップエリアへの書き込み時には、その都度書き込みが正常に行われたか否かの確認を行い（Ｓ５５０）、その結果ライト・アフター・ベリファイエラーが発生した場合には、ベリファイエラー・ステータスを送信バッファーにセットして動作を終了する（Ｓ５５３、Ｓ５５５）。一方、バックアップエリアに正常に複写ができた場合には、ファイル格納エリア内のコピー元となっているＷＥＦの開始ぺ一ジ番号及びぺ一ジ数をシステムエリアにバックアップ情報として保存するとともに、そのバックアップ情報にはＣＲＣ（Cyclic Redundancy Check ）コードをも付記する（Ｓ５６０）。また、この場合にも、システムエリアヘの書き込みが正常に行われたか否かの確認がなされ（Ｓ５７０）、ベリファイエラーが発生した場合には、ベリファイエラー・ステータスを送信バッファーにセットして動作を終了し（Ｓ５７３、Ｓ５７５）、エラーが発生しなければ、そのまま動作を終了する（Ｓ５８０）。
【００１５】
図６は、バックアップ情報クリア部の動作を説明する図である。図に示すように、バックアップ情報クリア部は、データバックアップ部がシステムエリアに書き込んだコピー開始ページ番号を”０”に変更することによりバックアップ情報をクリアする。
【００１６】
図７は、ＩＣカード１０がリーダ・ライタ装置２０に接続されて、最初のコマンドを実行するまでのＣＰＵ１２の動作を説明する図である。
ＩＣカード１０がリーダ・ライタ装置２０に接続されると、ＣＰＵ１２に電源が供給され、これによりＣＰＵ１２のリセットと（６１０）、内部チェックが行われる（Ｓ６２０）。次に、リーダ・ライタ装置２０からのコマンドが受信される（Ｓ６３０）。受信されたコマンドは、それがリセット後の第１コマンドであるか否かが判断され（Ｓ６４０）、第１コマンドであった場合は、ティアリング処理部においてティアリングチェックが実行される（Ｓ６５０）。したがって、第１コマンドの実行とそれに伴うレスポンスの送信は、ティアリングチェックが終了した後にはじめて行われる（Ｓ６６０）。
【００１７】
図８は、ティアリングチェック部の動作を説明する図である。
ティアリングチェック部は、はじめにシステムエリアにおけるバックアップ情報が格納されているページのＣＲＣチェックを行い（Ｓ６００）、チェックの結果、エラーが検出された場合には動作を終了する（Ｓ６１０）。エラーが検出されなかった場合には、バックアップ開始ページの値を確認する（Ｓ６２０）。バックアップ開始ページが”０”である場合には、図４に示した動作説明図において、Ｓ４２０〜Ｓ４４０におけるファイル格納エリアへのデータ書き込みが全て正常に行われ、最後にＳ４５０のバックアップ情報のクリアがなされたことを意味する。したがって、この場合には、バックアップされている情報をファイル格納エリアに復帰させる必要はなく、ティアリングチェック部は、そのまま動作を終了する（６２５）。
【００１８】
逆に、バックアップ開始ページが”０”でない場合には、上記ファイル格納エリアへの書き込みが正常に終了されおらず、該当するエリアにおいて正規のデータが失われていることを意味する。よって、ティアリングチェック部は、警告ステータスを送信バッファーにセットする。これにより、この後に主処理部がＳ４６０（図４参照）を実行するときに、リーダ・ライタ装置２０に対して、ファイル格納エリアの書き込み状態が異常であった旨の警告が送信される。
次に、ティアリングチェック部は、バックアップ情報内に記録されているバックアップ開始ページ及びページ数に基づいてバックアップエリアにあるデータをファイル格納エリアの元の位置に複写し、当該ＷＥＦのデータを復帰させる（Ｓ６４０）。さらに、コピーの終了後に、バックアップ情報内のバックアップ開始ぺ一ジを”０”に書き換え（Ｓ６５０）、その動作を終了する（Ｓ６６０）。
【００１９】
以上説明したように、本実施形態では、ＥＥＰＲＯＭのユーザーエリアをファイル格納エリア及びバックアップエリアに分割し、ファイル格納エリアにあるＷＥＦを書き換える場合には、予めそのＷＥＦの有するデータのバックアップを行ってから、新たなデータを当該ＷＥＦに書き込むこととしている。これにより、ＥＥＰＲＯＭへデータの書き込みを行っている途中で、ノイズの影響を受けて書き込みが中断する事故が発生した場合、又はＩＣカードをリーダ・ライタ装置から引く抜く等の不正行為がなされた場合であっても、ＥＥＰＲＯＭに格納されているデータの消失・欠損を防止することが可能である。さらに、本実施形態では、ＷＥＦへの書き込みの異常が検知された場合に、その旨をリーダ・ライタ装置へ警告することとしている。これにより、アプリケーション提供者は、例えば当該ＩＣカードについて比較的短期間に同警告が複数回なされていれば、その書き込み異常を単なる偶発的事故から識別し、ティアリング等の不正行為がなされた可能性について察知することが可能である。
【００２０】
【発明の効果】
以上詳しく説明したように、請求項１に係る発明によれば、複写手段は、制御部が業務情報領域に格納されている情報の書き換えを行う場合に、書き換え前の情報をバックアップ領域に複写するとともに、書き換え前の情報に関する管理情報をシステム領域に記録し、複写無効手段は、業務情報領域の書き換えが正常に終了した場合に、管理情報を無効にし、情報復帰手段は、リセット後であって、第一コマンド実行前に、管理情報に基づいて書き換えの正常／異常を判断し、異常である場合はバックアップ領域の情報を業務情報領域に復帰させることとしたので、業務情報領域に格納されている情報が書き換え時に消失・欠損することを防止することが可能となった。
また、請求項２に係る発明によれば、警告手段は、情報復帰手段が書き換えが異常であると判断した場合に、外部接続装置に対し警告を送信することとしたので、アプリケーション提供者に異常を察知させることが可能となった。
【図面の簡単な説明】
【図１】本発明に係るＩＣカードがリーダ・ライタ装置に接続されている様子を示すブロック図である。
【図２】本発明におけるＥＥＰＲＯＭの内部構成を示す図である。
【図３】本発明におけるＣＰＵの機能を示すブロック図である。
【図４】本発明において、「書込コマンド」が実行されるときのＣＰＵの動作を説明する図である。
【図５】本発明におけるデータバックアップ部の動作を説明する図である。
【図６】本発明におけるバックアップ情報クリア部の動作を説明する図である。
【図７】本発明において、リセット後であって、第一コマンドを実行するまでのＣＰＵの動作を説明する図である。
【図８】本発明において、ティアリングチェック部の動作を説明する図である。
【符号の説明】
１０  ＩＣカード
１１  Ｉ／Ｏインターフェース
１２  ＣＰＵ
１３  ＲＯＭ
１４  ＲＡＭ
１５  ＥＥＰＲＯＭ
２０  リーダ・ライタ装置
３０  Ｉ／Ｏライン
【図１】
0003775697.tif 000002
【図２】
0003775697.tif 000003
【図３】
0003775697.tif 000004
【図４】
0003775697.tif 000005
【図５】
0003775697.tif 000006
【図６】
0003775697.tif 000007
【図７】
0003775697.tif 000008
【図８】
0003775697.tif 000009