(57)【特許請求の範囲】
【請求項１】
外部の端末装置からのアクセスが可能なメモリカードにおいて使用されるファイル管理方法であって、
前記メモリカードは、カード内処理系と記憶手段とを有し、
前記端末装置は、端末処理系とキャッシュメモリとを有し、
前記記憶手段は、ファイル管理情報と、カード専用ファイル管理情報と、カード専用ファイルの実データとを格納し、
前記カード内処理系が、通信手段を介して、前記記憶手段の空き領域の確保を前記端末処理系に要求する要求ステップと、
前記端末処理系が、前記要求ステップでの要求を受けて、前記記憶手段から前記キャッシュメモリにあらかじめ読み出されたファイル管理情報を参照し、前記記憶手段の空き領域の確保処理を実施する確保ステップと、
前記端末処理系が、前記確保ステップで確保した領域のファイル管理情報として、データを構成するクラスタの連結情報を架空に設定した架空ファイル情報を生成し、前記架空ファイル情報を用いて、前記キャッシュメモリにあらかじめ読み出されたファイル管理情報を更新し、前記更新されたファイル管理情報で、前記記憶手段に格納されているファイル管理情報を上書きする更新ステップと、
前記端末処理系が、前記確保ステップで確保された領域の情報を、前記カード内処理系に通知する通知ステップと、
前記カード内処理系が、前記確保ステップで確保された領域へ、前記カード専用ファイルの実データをクラスタ単位で書き込む処理を行う書込ステップと、
前記カード内処理系が、前記記憶手段に書き込まれた前記実データに対応するファイル管理情報を、前記記憶手段に格納されているカード専用ファイル管理情報に書き込むステップと、を有し、
前記記憶手段に格納されているカード専用ファイル管理情報は、前記カード内処理系のみが参照可能であり、前記端末処理系及び前記キャッシュメモリからは参照できないことを特徴とするファイル管理方法。
【請求項２】
前記カード内処理系は、確保を要求する領域のサイズ情報を前記端末処理系に伝え、前記端末処理系は、前記カード内処理系から伝えられた前記サイズ情報に応じて前記記憶手段の空き領域を確保することを特徴とする請求項１記載のファイル管理方法。
【請求項３】
メモリカードの記憶手段にアクセスしてファイル管理を行う端末装置であって、
端末処理系とキャッシュメモリとを有し、
前記キャッシュメモリは、
前記メモリカードの前記記憶手段からファイル管理情報をあらかじめ読み出して保持するファイル情報保持手段と、
前記ファイル情報保持手段に保持されたファイル管理情報が更新された場合に、前記メモリカードの記憶手段へ、前記更新されたファイル管理情報を書き込むファイル情報書き込み手段と、を有し、
前記端末処理系は、
前記メモリカードの内部のカード内処理系との通信を行う通信手段と、
前記カード内処理系から前記記憶手段の空き領域の確保の要求を受信する要求受信手段と、
前記ファイル情報保持手段に保持されたファイル管理情報を参照し、前記要求受信手段によって受信された要求に基づいて前記記憶手段の空き領域の確保処理を行う領域確保手段と、
前記領域確保手段によって確保された領域のファイル管理情報として、データを構成するクラスタの連結情報を架空に設定した架空ファイル情報を生成する架空ファイル情報生成手段と、
前記架空ファイル情報を用いて、前記ファイル情報保持手段に保持されたファイル管理情報を更新するファイル情報処理手段と、
前記領域確保手段によって確保された領域の情報を前記メモリカードの内部のカード内処理系に通知する確保領域通知手段と、
を有することを特徴とする端末装置。
【請求項４】
カード内処理系と記憶手段とを有するメモリカードであって、
前記記憶手段は、ファイル管理情報と、カード専用ファイル管理情報と、カード専用ファイルの実データとを格納し、
前記カード内処理系は、
外部の端末装置の端末処理系との通信を行う通信手段と、
前記端末処理系に対して、前記カード内処理系が確保を要求する領域のサイズを指定して前記記憶手段の空き領域の確保を要求する領域確保要求手段と、
前記端末処理系から、確保された領域の情報を受信する確保領域受信手段と、
前記記憶手段における前記カード専用ファイル管理情報の格納位置情報を保持する管理情報格納位置保持手段と、
前記確保領域受信手段が受信した情報に基づいて、前記記憶手段の前記確保された領域に前記カード専用ファイルの実データを書き込む処理と、
前記管理情報格納位置保持手段に保持されている前記カード専用ファイル管理情報の格納位置情報を参照して、前記格納位置に格納された前記カード専用ファイル管理情報に、前記書き込まれた実データに対応するファイル管理情報を書き込む処理と、を行う書込手段と、
を有し、
前記カード専用ファイル管理情報の格納位置情報は、前記カード内処理系のみが参照可能であることを特徴とするメモリカード。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ファイル管理方法ならびにそれを用いたメモリカードおよび端末装置に関し、特に、メモリカードに実際に記録されているファイルとファイル管理情報との不整合を防止するものである。
【０００２】
【従来の技術】
近年、ＩＣカードは、定期券、テレホンカード、およびキャッシュカードなどに利用され、メモリカードは、パーソナルコンピュータ（ＰＣ）、デジタルカメラ、および音楽プレイヤーの記憶媒体などに利用されるなど、双方とも多方面で利用されている。
【０００３】
メモリカードは、デジタルカメラや音楽プレイヤーなどの内蔵記憶領域を補うことと、可搬性を目的として利用されている。例えば、デジタルカメラで撮影した画像の電子データを、装着されたメモリカードに納め、このメモリカードをＰＣに装着することで、ＰＣ上で画像を閲覧することが可能になる。
【０００４】
一方、図２７に示すように、メモリとＣＰＵとを内蔵するＩＣカード２０は、データの書き込み・読み出しが可能な、ＩＣメモリから成る記憶手段２２と、記憶手段２２とインタフェース（Ｉ／Ｆ）２３を介して接続され、記憶手段２２へのデータの書き込み・読み出しを制御する、ＣＰＵから成るカード内処理系２１とを備えている。カード内処理系２１は、記憶手段２２のファイル管理を担っている。また、端末１０は、ＩＣカード２０にデータを書き込んだり、ＩＣカード２０からデータを読み出したりする際に、互いの通信手段１１、２４を介してカード内処理系２１に書き込みまたは読み出しの要求を送り、カード内処理系２１を通じて、記憶手段２２にデータを書き込み、または、記憶手段２２からデータを読み出す。
【０００５】
このとき、カード内処理系２１は、その端末１０が記憶手段２２に記憶されたデータの処理資格を持つ正当な端末であることを認証した上で、端末１０からの書き込み要求や読み出し要求に応じる。そのため、そのカードが例えばキャッシュカードである場合には、銀行端末以外は、そのカードに記憶されたデータへのアクセスが拒否され、カードに記憶されたデータのセキュリティが保持される。
【０００６】
このように、端末を認証することにより、記憶されたデータのセキュリティを保持するＩＣカードが利用される一方で、最近、ユーザが何枚ものカードを持たなくても良いように、一枚で多目的に使用できる、ＩＣカード機能を含んだ多機能なメモリカードの開発が進められている。
【０００７】
このカード（以下、“セキュアカード”と呼ぶ）は、図２８に示すように、記憶手段３２と、記憶手段３２とインタフェース（Ｉ／Ｆ）３３を介して接続され、記憶手段３２へのデータの書き込み・読み出しを制御するカード内処理系３１とを備えているが、記憶手段３２に対しては、インタフェース（Ｉ／Ｆ）３４を介して端末１０が直接アクセスすることも可能である。
【０００８】
端末１０がセキュアカード３０の記憶手段３２に対して直接アクセスする場合、上述したＩＣカード２０とは異なり認証を伴わないため、どの端末１０でも、データの読み出しが可能である。これはカードの多目的化に沿うものであるが、データのセキュリティは保持できない。そのため、秘匿性を要するデータについては、直接アクセスができないようにする仕組みが必要となる。
【０００９】
この仕組みとして、カード内処理系３１が秘匿性の高いデータのファイルを管理し、そのファイル管理情報を一切端末１０には公表せず、そのファイルのデータの書き込み・読み出しは、カード内処理系３１から認証を受けた端末１０のみがカード内処理系３１を経由して行う一方、秘匿性の高くないデータのファイルに関するファイル管理情報は端末１０に公表し、そのファイルの書き込み・読み出しは直接端末１０が行う方式が考えられている。
【００１０】
このような方式を採用したセキュアカードの利用範囲は多岐に及ぶ。すなわち、ＰＣ、デジタルカメラ、オーディオ／ビデオプレイヤーなどのメモリカード、銀行端末で使用する電子通帳やキャッシュカード、店舗の端末で使用するクレジットカードやデビッドカード、あるいは電子マネーの決済／電子領収書受取保存／使用履歴記録用のカードなどに適用できる。また、音楽配信のコンテンツを蓄積するとともに、その料金をカード内のクレジット／デビッドなどの決済機能で支払うことが可能である。
【００１１】
上記の利用範囲のうち、例えばＰＣやデジタルカメラでメモリカードとしてセキュアカードを利用するような場合には、わざわざ利用者の識別を行うことは、利便性を損なう。そのため、こうした利用に際しては、利用者識別などの認証を行うこと無く、端末１０がカードの記憶手段３２に直接アクセスすることが許容される。
【００１２】
一方、ある店舗で受領した電子領収書が他の店舗で自由に参照されたり、電子通帳の内容が店舗の端末で読まれたりすることは、プライバシー保護の観点から問題がある。そのため、電子領収書データは、所有者または発行店のみが参照できるように、また、電子通帳は銀行端末のみがアクセスできるように、セキュアカード３０のカード内処理系３１によりファイル管理される。
【００１３】
また、音楽配信の例では、暗号化コンテンツを復号化するための復号鍵は、不正に取り出されないように、カード内処理系３１を経由して記憶手段３２に格納され、一方、暗号化されたコンテンツ本体は、復号鍵がないと意味を持たないため、記憶手段３２への直接アクセスで保存される。
【００１４】
図２９は、セキュアカード３０の記憶手段３２に端末１０が直接アクセスして行うデータ書き込みと、セキュアカード３０のカード内処理系３１が行うデータ書き込みとを模式的に示している。なお、ファイルを管理するシステムには、ＦＡＴ（File Allocation Table）を使用するＦＡＴファイルシステムや、ＮＴＦＳ（Windows（登録商標） NT File System）、ＵＦＳ（Unix（登録商標） File System）などが知られているが、ここでは、ＦＡＴを使用してファイルを管理する場合について説明する。
【００１５】
図２９において、セキュアカード３０は、ファイルを管理するためのディレクトリエントリ及びＦＡＴ３３がファイル管理情報として記録された記憶手段３２と、カード内処理系３１とを具備し、端末１０は、記憶手段３２への直接アクセスを制御する端末処理系１１と、データを一時記憶する端末キャッシュメモリ１２とを具備している。
【００１６】
セキュアカード３０が端末１０に装着され、端末１０からセキュアカード３０へのアクセスが開始されると、まず、記憶手段３２に記録されているディレクトリエントリ及びＦＡＴ３３が端末キャッシュメモリ１２に読み出される（４１）。読み出されたディレクトリエントリ及びＦＡＴを、図２９では、ＦＡＴ１３とする。端末処理系１１は、セキュアカード３０の記憶手段３２にデータ（ＤＡＴ２）を書き込む場合、ＦＡＴ１３にＤＡＴ２のファイル管理情報を追加し（４２）、同時にキャッシュメモリ１２にＤＡＴ２を書き込む（４３）。キャッシュメモリ１２は、時期を見て、ＦＡＴ３３をＦＡＴ１３で上書きし（４４）、同時に、ＦＡＴ１３に記述されたファイル管理情報に従ってＤＡＴ２を記憶手段３２に格納する（４５）。
【００１７】
一方、セキュアカード３０のカード内処理系３１は、セキュアカード３０の記憶手段３２にデータ（ＤＡＴ１）を書き込む場合、自らファイルを管理するためのディレクトリエントリ及びＦＡＴ３４にＤＡＴ１のファイル管理情報を追加し（４６）、同時にＦＡＴ３４に記述したファイル管理情報に従ってＤＡＴ１を記憶手段３２に格納する（４７）。
【００１８】
前述した音楽配信の例では、カード内処理系３１による復号鍵（ＤＡＴ１に対応）の記憶手段３２への格納と、端末処理系１１による暗号化されたコンテンツ本体（ＤＡＴ２に対応）の記憶手段３２への格納とがほぼ同時に行われる可能性がある。
【００１９】
なお、カード内処理系３１は、図３０に示すように、自らファイルを管理するためのディレクトリエントリ及びＦＡＴを、記憶手段３２の中に拡張（Extension）ファイル管理情報であるＥＸＴ−ディレクトリエントリ及びＥＸＴ−ＦＡＴ３５として格納することも可能である。
【００２０】
【発明が解決しようとする課題】
しかし、このセキュアカードの場合、端末処理系１１が知り得る記憶手段３２のファイル管理情報（すなわち、ＦＡＴ３３およびＦＡＴ１３）の中には、カード内処理系３１により管理されているファイル管理情報（すなわち、ＦＡＴ３４）が含まれていないため、例えば図３１に示すように、端末処理系１１は、カード内処理系３１によりＤＡＴ１が格納されている領域をＤＡＴ２の格納領域としてＦＡＴ１３で指定する虞がある。
【００２１】
たとえカード内処理系３１がＤＡＴ１を書き込んだ領域に関する情報をＦＡＴ３３に追加、更新しても、端末１０は、端末キャッシュメモリ１２に読み出されているＦＡＴ１３を参照するため、ＤＡＴ１の書き込み領域を端末は知ることができない。さらに、ＦＡＴ１３によるＦＡＴ３３の上書きにより、カード内処理系３１が更新したＦＡＴ３３の内容が無効となる。
【００２２】
この場合、端末処理系１１で更新されたＦＡＴ１３のファイル管理情報に従ってＤＡＴ２が書き込まれると、ＤＡＴ１は消去されてしまうことになる。
【００２３】
こうした事態は、端末で管理するファイル管理情報（ＦＡＴ１３）が、実際に記憶手段３２に記録されているファイルの状態と整合していない（不整合の）ために生じる。
【００２４】
このようなファイル管理情報の不整合を防止するため、従来、記憶装置を複数のホストで共有するＳＡＮ（Storage Area Network）では、サーバがファイル管理情報を一元的に管理する方式が採られている。この方式においては、共有する記憶装置にデータを格納する各クライアントは、サーバにファイル名やサイズを伝えて、データ領域の確保を要求し、サーバから確保領域が伝えられると、指定された領域にデータを格納した後、ファイル構成情報をサーバに伝える。
【００２５】
しかし、この方式をセキュアカードに適用した場合には、リムーバブルメディアであるが故に、ＳＡＮのサーバに相当する端末が状況によって異なる。そのため、カード内処理系３１で管理するファイル管理情報が不特定の端末に知られることになり、データのセキュリティを確保することが危うくなる。
【００２６】
本発明は、かかる点に鑑みてなされたものであり、カード内処理系で作成、格納されたファイルの情報を端末に漏らすことなく、メモリカードに記録されているファイルと、端末が管理するためのファイル管理情報との不整合を防止することができるファイル管理方法ならびにそれを用いたメモリカードおよび端末装置を提供することを目的とする。
【００２７】
【課題を解決するための手段】
本発明のファイル管理方法は、外部の端末装置からのアクセスが可能なメモリカードにおいて使用されるファイル管理方法であって、前記メモリカードは、カード内処理系と記憶手段とを有し、前記端末装置は、端末処理系とキャッシュメモリとを有し、前記記憶手段は、ファイル管理情報と、カード専用ファイル管理情報と、カード専用ファイルの実データとを格納し、前記カード内処理系が、通信手段を介して、前記記憶手段の空き領域の確保を前記端末処理系に要求する要求ステップと、前記端末処理系が、前記要求ステップでの要求を受けて、前記記憶手段から前記キャッシュメモリにあらかじめ読み出されたファイル管理情報を参照し、前記記憶手段の空き領域の確保処理を実施する確保ステップと、前記端末処理系が、前記確保ステップで確保した領域のファイル管理情報として、データを構成するクラスタの連結情報を架空に設定した架空ファイル情報を生成し、前記架空ファイル情報を用いて、前記キャッシュメモリにあらかじめ読み出されたファイル管理情報を更新し、前記更新されたファイル管理情報で、前記記憶手段に格納されているファイル管理情報を上書きする更新ステップと、前記端末処理系が、前記確保ステップで確保された領域の情報を、前記カード内処理系に通知する通知ステップと、前記カード内処理系が、前記確保ステップで確保された領域へ、前記カード専用ファイルの実データをクラスタ単位で書き込む処理を行う書込ステップと、前記カード内処理系が、前記記憶手段に書き込まれた前記実データに対応するファイル管理情報を、前記記憶手段に格納されているカード専用ファイル管理情報に書き込むステップと、を有し、前記記憶手段に格納されているカード専用ファイル管理情報は、前記カード内処理系のみが参照可能であり、前記端末処理系及び前記キャッシュメモリからは参照できないようにした。
【００２８】
この方法によれば、端末処理系は、カード内処理系から記憶手段の領域確保の要求を受けて領域の確保処理を実施し、この領域の情報をファイル管理情報に反映し、カード内処理系は、この領域にデータの書き込み処理を行い、この結果生じるファイル管理情報を端末処理系へ通知しないため、カード内処理系のみが参照可能なデータを書き込む領域に端末処理系が他のデータを書き込むことがないと同時に、カード内処理系が書き込むデータの情報が端末処理系に漏れることがなく、記憶手段に記録されるデータと、ファイル管理情報との不整合を防止することができる。
【００３３】
本発明の端末装置は、メモリカードの記憶手段にアクセスしてファイル管理を行う端末装置であって、端末処理系とキャッシュメモリとを有し、前記キャッシュメモリは、前記メモリカードの前記記憶手段からファイル管理情報をあらかじめ読み出して保持するファイル情報保持手段と、前記ファイル情報保持手段に保持されたファイル管理情報が更新された場合に、前記メモリカードの記憶手段へ、前記更新されたファイル管理情報を書き込むファイル情報書き込み手段と、を有し、前記端末処理系は、前記メモリカードの内部のカード内処理系との通信を行う通信手段と、前記カード内処理系から前記記憶手段の空き領域の確保の要求を受信する要求受信手段と、前記ファイル情報保持手段に保持されたファイル管理情報を参照し、前記要求受信手段によって受信された要求に基づいて前記記憶手段の空き領域の確保処理を行う領域確保手段と、前記領域確保手段によって確保された領域のファイル管理情報として、データを構成するクラスタの連結情報を架空に設定した架空ファイル情報を生成する架空ファイル情報生成手段と、前記架空ファイル情報を用いて、前記ファイル情報保持手段に保持されたファイル管理情報を更新するファイル情報処理手段と、前記領域確保手段によって確保された領域の情報を前記メモリカードの内部のカード内処理系に通知する確保領域通知手段と、を有するようにした。
【００３４】
この構成によれば、メモリカード内部のカード内処理系から記憶手段の領域確保の要求を受けて領域を確保し、確保された領域の情報を自己のためのファイル管理情報に反映するとともに、メモリカード内部のカード内処理系に伝達するため、メモリカード内部のカード内処理系のみが参照可能なデータを書き込む領域に端末装置が他のデータを書き込むことがなく、記憶手段に記録されるデータと、端末装置のためのファイル管理情報との不整合を防止することができる。
【００３５】
本発明のメモリカードは、カード内処理系と記憶手段とを有するメモリカードであって、前記記憶手段は、ファイル管理情報と、カード専用ファイル管理情報と、カード専用ファイルの実データとを格納し、前記カード内処理系は、外部の端末装置の端末処理系との通信を行う通信手段と、前記端末処理系に対して、前記カード内処理系が確保を要求する領域のサイズを指定して前記記憶手段の空き領域の確保を要求する領域確保要求手段と、前記端末処理系から、確保された領域の情報を受信する確保領域受信手段と、前記記憶手段における前記カード専用ファイル管理情報の格納位置情報を保持する管理情報格納位置保持手段と、前記確保領域受信手段が受信した情報に基づいて、前記記憶手段の前記確保された領域に前記カード専用ファイルの実データを書き込む処理と、前記管理情報格納位置保持手段に保持されている前記カード専用ファイル管理情報の格納位置情報を参照して、前記格納位置に格納された前記カード専用ファイル管理情報に、前記書き込まれた実データに対応するファイル管理情報を書き込む処理と、を行う書込手段と、を有し、前記カード専用ファイル管理情報の格納位置情報は、前記カード内処理系のみが参照可能であるようにした。
【００３６】
この構成によれば、端末装置の端末処理系に対してサイズを指定して記憶手段の領域確保を要求し、この要求の結果確保された領域の情報を受信し、この領域にデータを書き込み、書き込んだ位置の情報をメモリカード内部のカード内処理系のみが参照可能な状態で格納するため、メモリカード内部のカード内処理系のみが参照可能なデータを書き込む領域の情報を端末装置の端末処理系のためのファイル管理情報に反映することができると同時に、上記のデータを書き込んだ位置の情報はメモリカード内部のカード内処理系のみが参照可能となり、記憶手段に記録されるデータと、端末装置の端末処理系のためのファイル管理情報との不整合を防止するとともに、データの秘匿性を高めることができる。
【００３９】
【発明の実施の形態】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【００４０】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るセキュアカードおよび端末装置の構成を示すブロック図である。
【００４１】
本発明の第１の実施形態に係るセキュアカードは、図１に示すように、カードに搭載されたアプリケーションプログラムにより実現されるカード内処理系１００と、フラッシュメモリ２００（記憶手段）とを有する。カード内処理系１００は、端末装置との通信手段１１０と、データを処理するデータ処理手段１２０と、データのサイズを端末に通知して、フラッシュメモリ２００の使用領域の確保および解放などの変更を要求する領域変更要求手段１３０と、端末装置から確保領域の情報を受信する確保領域情報受信手段１４０と、フラッシュメモリ２００へのカード専用ファイルの実データ２１０の書き込み／削除及びカード専用ファイル管理情報２２０の書き込みを行う書き込み／消去手段１５０と、カード専用ファイル管理情報２２０を書き込んだフラッシュメモリ２００の格納位置情報を保持する管理情報検索手段１６０とを具備する。フラッシュメモリ２００には、いずれの端末も参照可能なファイル管理情報２３０とそのファイルの実データ、及び、カード内処理系１００だけが参照できるカード専用ファイルの実データ２１０と、カード専用ファイルのファイル管理情報２２０とが格納される。ここで、「カード専用ファイルのファイル管理情報」とは、カード内処理系１００のためのファイル管理情報であり、カード処理系１００が読み込んだり書き込んだりするファイルの情報を格納したものである。本明細書においては、「ある処理系のためのファイル管理情報」とは、ファイル管理情報そのものを書き換える処理系やファイル管理情報が格納される位置には依存せず、当該ファイル管理情報が管理するファイルを読み込んだり書き込んだりする処理系のためのファイル管理情報を意味する。
【００４２】
なお、カード専用ファイル管理情報２２０と、それを書き込む書き込み／消去手段１５０と、カード専用ファイル管理情報２２０の格納位置情報を保持する管理情報検索手段１６０とは、確保領域に書き込んだデータ２１０の書き込み位置をカード内処理系１００のみが参照可能な状態に保持する「書込位置情報格納手段」を構成している。また、カード内処理系１００だけが参照できるカード専用ファイルの実データ２１０と、カード専用ファイルのファイル管理情報２２０とは、カード内処理系１００の「ファイル管理システム」を構成している。
【００４３】
また、本実施形態における端末装置は、図１に示すように、端末処理系３００とキャッシュメモリ４００とを有する。端末処理系３００は、カード内処理系１００との通信手段３１０と、データを処理するデータ処理手段３２０と、キャッシュメモリ４００に保持される端末処理系３００のためのファイル管理情報の更新処理を行うファイル情報処理手段３３０と、カード内処理系１００から領域確保要求を受信する領域変更要求受信手段３４０と、端末処理系３００のためのファイル管理情報を参照してフラッシュメモリ２００の空き領域を確保する領域確保手段３５０と、カード内処理系１００のために確保した領域の架空ファイル情報を生成する架空ファイル情報生成手段３６０と、確保した領域をカード内処理系１００に伝達する確保領域通知手段３７０とを備えている。また、キャッシュメモリ４００は、フラッシュメモリ２００から読み出した端末処理系３００のためのファイル管理情報２３０を保持するファイル情報保持手段４１０と、更新されたファイル管理情報をフラッシュメモリ２００に書き込むファイル情報書き込み手段４２０とを備えている。
【００４４】
本実施形態のようにファイルを管理するシステムには、上述のように、ＦＡＴ（File Allocation Table）を使用するＦＡＴファイルシステム、ＮＴＦＳ（Windows（登録商標） NT File System）、およびＵＦＳ（Unix（登録商標） File System）などが知られているが、ここでは、ＦＡＴを使用してファイルを管理する場合を例にとって説明する。
【００４５】
ここで、ＦＡＴの概要について説明しておく。
【００４６】
フラッシュメモリ２００に格納されるデータは、図２に示すように、クラスタ単位で記録され、１つのクラスタに収まりきらない大きさのファイルのデータは、複数のクラスタに分けて保存される。なお、図中の矢印はデータを記録したクラスタの順序（連結情報）を示している。このクラスタの使用状況はファイル管理情報（“メタ情報”とも云う）としてメモリに記録される。
【００４７】
ＦＡＴは、クラスタの使用状況を管理するテーブルである。図３（Ａ）にはＦＡＴの一部を示し、図３（Ｂ）には、ＦＡＴとともにファイル管理情報を構成するディレクトリエントリを示している。ディレクトリエントリには、ファイル名、サイズ、先頭クラスタ等の情報が含まれる。ＦＡＴは、記憶領域に含まれるクラスタ数分の記述枠を持ち（図中、上段は通し番号、下段は記述枠、通し番号は実際のテーブルには含まれない）、この枠に連結情報（現クラスタの次のクラスタ番号）が記述される。図３（Ａ）では、クラスタ３２〜１４３を示している。各枠の位置から、実データが記述されたクラスタの位置が特定できる。ファイルを参照するときは、ファイル名よりディレクトリエントリを検索して先頭クラスタを取得し、ＦＡＴを参照して、先頭クラスタから順に連結を追う。−１はファイルの終了を表している。また、ファイルを書き込むときは、ディレクトリエントリにファイル名、サイズ、先頭クラスタなどを登録し、ＦＡＴに連結情報を登録し、ＦＡＴに登録された連結情報に基づいて、該当するクラスタにデータ実体を書き込んでいく。図１において、端末処理系３００のためのファイル管理情報２３０およびカード専用ファイル管理情報２２０は、上述のようなＦＡＴとディレクトリエントリとから成るものとする。また、フラッシュメモリ２００に記録されたファイル管理情報２３０は、どの端末装置でも読み出すことができる。端末装置は、これを読み書きすることで、ファイルの管理を行う。
【００４８】
カード内処理系１００は、フラッシュメモリ２００にデータを新規に書き込んだり、追記したり、データを削除したりする場合に、そのデータのサイズを端末装置に伝えて、データ格納領域の変更を要求する。
【００４９】
カード内処理系１００からデータ格納領域の確保要求が出された場合には、端末装置は、自己のためのファイル管理情報２３０上でデータ格納領域を確保し、そのデータ格納領域に関するファイル管理情報として、クラスタの連結情報を架空に設定した架空ファイル情報を生成し、その架空ファイル情報を用いてファイル管理情報２３０を更新する。そのため、各端末装置は、そのファイル管理情報２３０を読み出した場合に、そのデータ格納領域が使用済みであることを知ることはできるが、ファイルのデータ実体の正確な情報を知ることはできない。
【００５０】
一方、カード内処理系１００は、確保されたデータ格納領域の通知を端末処理系３００から受けると、その領域のクラスタにカード専用ファイルの実データ２１０を書き込み、そのカード専用ファイルのファイル管理情報２２０をフラッシュメモリ２００に書き込む。なお、カード専用ファイル管理情報２２０が書き込まれているフラッシュメモリ２００の領域を表す位置情報は管理情報検索手段１６０に保持されており、この管理情報検索手段１６０を参照してカード専用ファイル管理情報２２０の書き込みが行われる。
【００５１】
カード専用ファイル管理情報２２０は、端末装置には一切知らせない。そのため、このカード専用ファイル管理情報２２０で管理される実データのセキュリティは保全される。
【００５２】
次いで、カード内処理系１００が、端末処理系３００にデータ格納領域の確保を要求する場合の処理手順を説明する。なお、フラッシュメモリ２００のファイル管理情報２３０は、あらかじめ端末装置によって読み出され、キャッシュメモリ４００のファイル情報保持手段４１０によって保持されているものとする。
【００５３】
まず、カード内処理系１００の領域変更要求手段１３０は、書き込み／消去手段１５０が書き込むデータのサイズ情報を含む利用領域変更要求を、通信手段１１０を介して端末処理系３００に送信する（１）。端末処理系３００の領域変更要求受信手段３４０は、受信した利用領域変更要求をファイル情報処理手段３３０に伝え、ファイル情報処理手段３３０は、ファイル情報保持手段４１０に保持された端末処理系３００のためのファイル管理情報を参照し（２）、フラッシュメモリ２００の空き領域を検索する。空き領域が無い場合には、カード内処理系１００にエラーを返信する。
【００５４】
空き領域が有る場合には、領域確保手段３５０が、端末処理系３００のためのファイル管理情報の中に、利用領域変更要求に含まれたサイズの領域を確保し（３）、架空ファイル情報生成手段３６０が、その領域を利用しているものとするための架空ファイルの管理情報を生成し（４）、ファイル情報処理手段３３０は、この架空ファイル情報を、ファイル情報保持手段４１０によって保持されている端末処理系３００のためのファイル管理情報のディレクトリエントリ及びＦＡＴに追加する（５）。
【００５５】
この場合、ディレクトリエントリのファイル名情報はランダムでも規則的（端末識別子＋番号など）でも良い。また、ＦＡＴの連結情報はランダムでもシーケンシャルでも良い。
【００５６】
更新されたファイル管理情報は、ファイル情報書き込み手段４２０により、フラッシュメモリ２００に上書きされる（６）。なお、このファイル管理情報の上書きについては、端末の処理方法に依存するため、このタイミングで発生するとは限らない。
【００５７】
また、ファイル情報処理手段３３０は、確保領域通知手段３７０を通じて、確保した領域をカード内処理系１００に通知する（７）。
【００５８】
カード内処理系１００の確保領域情報受信手段１４０は、端末処理系３００から確保領域情報を受信し、書き込み／消去手段１５０に通知する。書き込み／消去手段１５０は、確保領域情報に従って実データ２１０をフラッシュメモリ２００に書き込む（８）。同時に、管理情報検索手段１６０に保持されている格納位置情報を参照してカード専用ファイル管理情報２２０の記録位置を知り（９）、カード専用ファイル管理情報２２０に実データ２１０のファイル管理情報を記録する（１０）。
【００５９】
カード専用ファイル管理情報２２０での情報の持ち方は、管理する実データが後から正常に読み出せる状態であればどのような形態でも良いが、本明細書では、ＦＡＴと同様のフォーマットで保持する場合について示している。
【００６０】
次いで、カード内処理系１００が、端末処理系３００にデータ格納領域の解放を要求する場合（すなわち、データが削除される場合）の処理手順を説明する。カード内処理系１００では、書き込み／消去手段１５０が、実データの消去を行い、カード専用ファイル管理情報２２０を修正する。領域変更要求手段１３０は、実データ削除領域、つまり、解放位置を指定した領域変更（解放）要求を端末装置に送信する。解放位置は、解放領域の先頭アドレスとサイズとで指定する。あるいは、全アドレスで指定しても良い。
【００６１】
端末処理系３００では、この利用領域変更要求を受信すると、ファイル情報処理手段３３０が、ファイル情報保持手段４１０に保持された端末処理系３００のためのファイル管理情報を参照して、解放を要求された領域を使用しているファイルを検索し、該当するファイルのファイル管理情報を修正する。
【００６２】
このとき、図４に示すように、架空ファイルの削除領域をファイル管理情報の連結情報から外す処理を行う。この処理により、架空ファイル全体が消える場合には、架空ファイルのファイル管理情報を端末処理系３００のためのファイル管理情報から削除する。
【００６３】
次に、カード内処理系１００が、端末処理系３００にデータ格納領域を確保する処理の詳細について具体例を２つ挙げて説明する。
【００６４】
図５は、カード内処理系１００が、端末処理系３００にデータ格納領域の確保を要求する場合の処理を模式的に示している。ここでは、カード内処理系１００によりカードのフラッシュメモリ２００（記憶手段）に書き込まれたデータの管理を拡張ファイル管理情報であるＥＸＴ−ＦＡＴで行う場合を示している。このＥＸＴ−ＦＡＴ自体も、フラッシュメモリ２００に書き込まれ、端末装置による直接アクセスを抑止する必要がある。そのため、ＥＸＴ−ＦＡＴの領域を架空ファイル化して、端末処理系３００のためのファイル管理情報の中に含める処理が必要になる。
【００６５】
図５は、端末処理系３００のためのファイル管理情報の中に、ＥＸＴ−ＦＡＴ領域を確保するための処理について模式的に示している。
【００６６】
まず、フラッシュメモリ２００に格納されているＦＡＴ’（ファイル管理情報２３０に対応）をキャッシュメモリ４００にＦＡＴ”として読み出す（１）。カード内処理系のアプリケーション（Ｃ−Ａｐｐ）は、ＥＸＴ−ＦＡＴのサイズを端末処理系３００に通知する（２）。端末処理系３００は、領域確保処理を行い、架空ファイル（以下、“ＤＭＹ”という）としてＥＸＴ−ＦＡＴサイズ分のファイル管理情報を作成して（３）、ＦＡＴ”にＤＭＹの情報を追加する（４）。端末処理系３００は、カード内処理系１００に確保領域を通知する（５）。カード内処理系１００のＣ−Ａｐｐは、通知された領域情報に従ってＥＸＴ−ＦＡＴを作成し（６）、ＥＸＴ−ＦＡＴの格納位置をカード内処理系１００で保持する（７）。
【００６７】
このＥＸＴ−ＦＡＴは、端末装置にはキャッシュメモリ４００におけるファイル管理情報ＦＡＴ”によってＤＭＹに見える。また、端末装置によるＥＸＴ−ＦＡＴの実データへのアクセスは、例えば各ファイル／ブロックごとに設定されている読み出し不可・書き込み不可などのアクセス制御を示す情報（アクセス制御情報）により拒否される。
【００６８】
なお、ここでは、ＥＸＴ−ＦＡＴについてのみ示したが、ＥＸＴディレクトリエントリの領域についても、ＥＸＴ−ＦＡＴと同様に、架空ファイル化して、端末が管理するファイル管理情報ＦＡＴ”の中に含める処理を行う。また、ＥＸＴ−ＦＡＴと同様に、ＥＸＴディレクトリエントリに関しても、その格納位置情報をカード処理系１００内部で保持する。
【００６９】
なお、ＥＸＴ−ＦＡＴ、及びルートディレクトリに関するＥＸＴディレクトリエントリは、固定サイズであり、カード内処理系１００がカード専用ファイルを作成するためには必要なものであるため、あらかじめ、例えばカード発行機によって、端末装置からの直接アクセスが不可能な固定領域に作成してもよい。
【００７０】
図６は、カード内処理系１００内部の管理情報検索手段１６０に保持されたＥＸＴ−ＦＡＴ及びＥＸＴディレクトリエントリの格納位置情報の例を示している。ここではＥＸＴ−ＦＡＴの領域が複数に分割されている場合を示しており、分割された全ての領域に関する先頭アドレスとサイズとでＥＸＴ−ＦＡＴの領域を表している。管理情報検索手段１６０は、これらの情報を、端末からはアクセス不可能でありカード内処理系１００からのみアクセス可能なＴＲＭ（タンパレジスタントモジュール）領域内部に保持する。
【００７１】
図７は、カード内処理系１００が、端末処理系３００にデータ格納領域の確保を要求する場合の他の処理を模式的に示している。ここでは、カード内処理系１００によりカード専用ファイルのデータ（以下、“ＤＡＴ１”という）が新規作成される場合を示している。
【００７２】
まず、フラッシュメモリ２００に格納されているＦＡＴ’をキャッシュメモリ４００にＦＡＴ”として読み出す（１）。カード内処理系１００のアプリケーション（Ｃ−Ａｐｐ）は、ＤＡＴ１のサイズを端末処理系３００に通知する（２）。端末処理系３００は、領域確保処理を行い、架空ファイル（以下、“ＤＭＹ１”という）としてＤＡＴ１サイズ分のファイル管理情報を作成して（３）、ＦＡＴ”にＤＭＹ１の情報を追加する（４）。端末処理系３００は、カード内処理系１００に確保領域を通知する（５）。Ｃ−Ａｐｐは、通知された領域情報に従って、ＥＸＴ−ＦＡＴにＤＡＴ１のファイル管理情報を追加し（６）、同時にファイル管理情報に従ってＤＡＴ１を書き込む（７）。
【００７３】
図８（Ａ）は、ＤＭＹ１の情報が追加される前のＦＡＴ’を、図８（Ｂ）は、その時のディレクトリエントリをそれぞれ示し、図９（Ａ）は、ＤＭＹ１の情報が追加された後のＦＡＴ”を、図９（Ｂ）は、その時のディレクトリエントリをそれぞれ示している。図９（Ａ）、図９（Ｂ）において、端末処理系３００は、カード内処理系１００から１４クラスタ分の確保要求を受けて、ＤＭＹ１として“ｄｕｍｍｙ１”という架空ファイルの情報をＦＡＴ”に追加している。
【００７４】
このように、端末処理系３００のためのファイル管理情報の中に、カード専用ファイルの架空ファイルを含めることにより、図７に示すように、端末処理系３００がデータ（ＤＡＴ２）の情報をＦＡＴ”に追加した（５１０）後に、ＤＡＴ２を端末処理系３００からキャッシュメモリ４００に書き込み（５２０）、さらにＤＡＴ２をフラッシュメモリ２００に書き込む処理（５３０）や、ＦＡＴ”をＦＡＴ’に上書きする処理（５４０）が何時発生しても、カード専用ファイルのデータ（すなわち、ＤＡＴ１）の書き込み領域に対する排他制御が可能になる。
【００７５】
なお、端末処理系３００が、カード内処理系１００に確保領域を知らせる場合、領域が連続しているときは、先頭のアドレスとサイズとを通知する。あるいは、カード内処理系１００がサイズを把握しているので、先頭アドレスのみを通知するだけでも良い。また、領域が複数に分割されているときは、分割された全ての領域に関する先頭アドレスとサイズとを通知する。あるいは、全アドレス（クラスタ番号）を通知しても良い。
【００７６】
次に、架空ファイルの作成方法について説明する。
【００７７】
例えば、図７に示す処理において、ＤＡＴ１が記録された後、新たなカード専用ファイルのデータ（以下、“ＤＡＴ３”という）を記録するための領域確保要求が出されると、端末処理系３００は、ＤＡＴ１を記録する場合と同様の手順で、領域を確保し、架空ファイルを作成し、確保領域をカード内処理系１００に通知する。そして、カード内処理系１００は、領域確保の通知を受けて、ＥＸＴ−ＦＡＴにＤＡＴ３の情報を追加し、同時に、通知された領域情報に従って、ＤＡＴ３をフラッシュメモリ２００に書き込む。
【００７８】
このとき、端末処理系３００は、図１０に示すように、既存の架空ファイル（クラスタ１〜７）とは独立に、確保領域（クラスタ１０〜１２）を新規の架空ファイルとしても良いし、図１１に示すように、既存の架空ファイルに新たな連結情報を追加して、１つの架空ファイルとしても良い。また、図１２に示すように、固定サイズ（この例では８クラスタ、すなわち、クラスタ１〜７および１０）単位で１つの架空ファイルを作成するようにしても良い。
【００７９】
図１３（Ａ）は、図１０に示す方法で架空ファイルを作成した場合のＦＡＴ”を、図１３（Ｂ）は、その場合のディレクトリエントリをそれぞれ示している。図１３（Ｂ）に示すディレクトリエントリにおいて、“ｄｕｍｍｙ１”は既存架空ファイル、“ｄｕｍｍｙ２”は新たに作成された架空ファイルを示している。また、図１４（Ａ）は、図１１に示す方法で架空ファイルを作成した場合のＦＡＴ”を、図１４（Ｂ）は、その場合のディレクトリエントリをそれぞれ示している。図１４（Ａ）に示すＦＡＴ”において、クラスタ９８〜１００は、既存架空ファイルに新たに連結されたクラスタである。
【００８０】
一方、図１５（Ａ）は、カード専用ファイルのファイル管理情報であるＥＸＴ−ＦＡＴを、図１５（Ｂ）は、同じくカード専用ファイルのファイル管理情報であるＥＸＴ−ディレクトリエントリをそれぞれ示している。ここには、実際のカード専用ファイルの構成情報が格納されている。この情報はカード内処理系１００からしか見ることができない。図１５（Ａ）に示すＥＸＴ−ＦＡＴと図１３（Ａ）または図１４（Ａ）に示すＦＡＴ”とを比べると連結情報が異なっている。また、１つの架空ファイルが、１つのカード専用ファイルに対応しているとは限らない。そのため、ＦＡＴ”しか見えない端末装置は、カード専用ファイルを例え読み出せたとしても、データを正確に理解することが困難である。これにより、カード専用ファイルのデータのセキュリティは、より強化される。
【００８１】
次に、カード内処理系１００によるカード専用ファイルへのアペンド（追記）処理、ならびにカード専用ファイルの削除または縮小する場合の処理について説明する。
【００８２】
図１６は、カード内処理系１００によるカード専用ファイルへのアペンド（追記）処理を模式的に示している。同図を用いて、カード専用ファイルのデータ（ＤＡＴ１）のうち、カード内処理系１００が、既に記録しているデータ（以下、“ＤＡＴ１（１）”という）に、新たなデータ（以下、“ＤＡＴ１（２）”という）を追記する場合について説明する。
【００８３】
まず、フラッシュメモリ２００に格納されているＦＡＴ’をキャッシュメモリ４００にＦＡＴ”として読み出す（１）。カード内処理系１００のアプリケーション（Ｃ−Ａｐｐ）は、ＤＡＴ１（２）のサイズを端末処理系３００に通知する（２）。端末処理系３００は、領域確保処理を行い、架空ファイル（以下、“ＤＭＹ２”という）としてＤＡＴ１（２）サイズ分のファイル管理情報を作成して（３）、ＦＡＴ”にＤＭＹ２の情報を追加する（４）。端末処理系３００は、カード内処理系１００に確保領域を通知する（５）。Ｃ−Ａｐｐは、通知された領域情報に従って、ＥＸＴ−ＦＡＴに記録されたＤＡＴ１の情報を更新し（６）、同時に、ＤＡＴ１（２）を書き込む（７）。
【００８４】
このように、カード専用ファイルへのアペンド処理であっても、端末処理系３００での処理は図７の場合と全く変わらない。カード専用ファイルへの追記の関係は、カード内処理系１００のみが参照可能なＥＸＴ−ＦＡＴの中だけに記録される。
【００８５】
図１７は、上記の処理でＤＡＴ１（１）に追記したＤＡＴ１（２）を削除する処理を模式的に示している。
【００８６】
まず、フラッシュメモリ２００に格納されているＦＡＴ’をキャッシュメモリ４００にＦＡＴ”として読み出す（１）。カード内処理系１００のアプリケーション（Ｃ−Ａｐｐ）は、ＤＡＴ１（２）を消去し（２）、同時にＥＸＴ−ＦＡＴに記録されたＤＡＴ１の情報を更新する（３）。Ｃ−Ａｐｐは、ＤＡＴ１（２）の位置を通知する（４）。端末処理系３００は、位置情報から該当ファイルを検索し、ＤＭＹ２がヒットする（５）。そして、端末処理系３００は、ＤＭＹ２のファイル管理情報を修正（縮小／削除）する（６）。
【００８７】
図１８（Ａ）は、図１４（Ａ）に示すＦＡＴの状態から、クラスタ８７〜８９の３クラスタの解放要求を受け、架空ファイル“ｄｕｍｍｙ１”のサイズを３クラスタ分減らしたときのＦＡＴの状態を、図１８（Ｂ）は、そのときのディレクトリエントリの状態をそれぞれ示している。
【００８８】
このように、本実施形態によれば、カード専用ファイルのための確保領域に架空ファイルを設定することにより、端末処理系３００のためのファイル管理情報と実際のフラッシュメモリ上のデータ記録との不整合を除くことができ、また、カード専用ファイルが記憶された領域に他のファイルが記憶されないように排他制御を行うことができる。
【００８９】
なお、本実施形態においては、カード専用ファイルのための確保領域に架空ファイルを設定したが、この架空ファイルを設定する代わりに、図１９（Ａ）に示すように、ＦＡＴの確保領域に不良セクタ（図１９（Ａ）では「−２」で表示）を設定しても、カード専用ファイルに対する排他制御が可能である。この場合、ディレクトリエントリには何も情報を追加しない（図１９（Ｂ）参照）。但し、ＥＸＴ−ＦＡＴ及びＥＸＴディレクトリは、確保領域を架空ファイル化する場合と同じである。
【００９０】
（第２の実施形態）
図２０は、本発明の第２の実施形態に係るセキュアカードおよび端末装置の構成を示すブロック図である。なお、同図において、図１と同じ部分には同じ符号を付し、詳しい説明を省略する。
【００９１】
図２０に示すセキュアカードのカード内処理系１００ａは、図１に示すセキュアカードのカード内処理系１００に空き領域記憶手段１７０および書き込み順序決定手段１８０を追加し、管理情報検索手段１６０に代えて拡張ファイル管理情報検索手段１９０を備えた構成を採る。また、図２０に示すセキュアカードのフラッシュメモリ２００ａは、図１に示すセキュアカードのフラッシュメモリ２００のカード専用ファイル管理情報２２０に代えて拡張ファイル管理情報２４０を有する構成を採る。
【００９２】
本実施形態の特徴は、カード内処理系１００は、書き込みに必要なデータサイズよりも大きい領域をファイル（本実施形態においては、これを“架空ファイル”と云う）で使用するものとして、例えば１２８キロバイトを１単位としてｎ単位分の領域を１架空ファイル用に要求して確保する点である。
【００９３】
空き領域記憶手段１７０は、架空ファイル用の確保領域を記憶し、この確保領域から書き込みに使用する領域を指定する。
【００９４】
書き込み順序決定手段１８０は、領域にデータを書き込んでいく順序（クラスタの連結順序）を決定する。
【００９５】
また、拡張ファイル管理情報検索手段１９０は、書き込み順序決定手段１８０が決定する順序で書き込まれたカード専用ファイル管理情報（以下、“拡張ファイル管理情報”と云う）２４０の格納位置情報を保持する。
【００９６】
このセキュアカードのカード内処理系１００ａは、図２０に示すように、確保領域を記憶し、記憶した確保領域から書き込み領域を指定する空き領域記憶手段１７０と、端末装置に対して架空ファイルのサイズを指定してフラッシュメモリ２００ａの領域確保を要求する領域変更要求手段１３０と、端末装置から確保領域とその領域に端末が登録した架空ファイル名との情報を受信する確保領域情報受信手段１４０と、空き領域記憶手段１７０より指定された書き込み領域への実データ２１０の書き込み／削除及び拡張ファイル管理情報２４０の書き込みを実行する書き込み／消去手段１５０と、書き込み／消去手段１５０にデータの書き込み順序を指定する書き込み順序決定手段１８０と、拡張ファイル管理情報２４０の格納位置情報を保持する拡張ファイル管理情報検索手段１９０とを備えている。
【００９７】
この拡張ファイル管理情報検索手段１９０、書き込み／消去手段１５０及び拡張ファイル管理情報２４０は、このカード内処理系１００ａでの「書込位置情報格納手段」を構成している。
【００９８】
このカード内処理系１００ａの書き込み／消去手段１５０は、書き込むデータのサイズを空き領域記憶手段１７０に通知する。空き領域記憶手段１７０は、書き込み／消去手段１５０が書き込むデータのサイズ分の空き領域を保持していない場合に、そのデータのサイズと現在の空き領域のサイズの差分より大きな領域の確保を領域変更要求手段１３０を通じて端末処理系３００に要求する。カード内処理系１００ａの領域変更要求手段１３０は、空き領域記憶手段１７０が要求したサイズ情報を含む利用領域変更要求を端末装置に送信する。
【００９９】
端末処理系３００の領域変更要求受信手段３４０は、受信した利用領域変更要求をファイル情報処理手段３３０に伝え、ファイル情報処理手段３３０は、ファイル情報保持手段４１０に保持された端末処理系３００のためのファイル管理情報を参照し、フラッシュメモリ２００ａの空き領域を検索する。
【０１００】
空き領域が有る場合には、領域確保手段３５０が、端末処理系３００のためのファイル管理情報の中に、利用領域変更要求に含まれたサイズの領域を確保し、架空ファイル情報生成手段３６０が、その領域を利用しているものとするための架空ファイルの管理情報を生成し、ファイル情報処理手段３３０は、この架空ファイル情報を端末処理系３００のためのファイル管理情報に登録する。
【０１０１】
ファイル情報処理手段３３０は、確保領域通知手段３７０を通じて、確保した領域と、対応する架空ファイルの名前とをカード内処理系１００ａに通知する。
【０１０２】
カード内処理系１００ａの確保領域情報受信手段１４０は、端末処理系３００から受信した確保領域及び架空ファイル名を含む確保領域情報を空き領域記憶手段１７０に伝え、空き領域記憶手段１７０は、確保領域情報を記憶する。
【０１０３】
空き領域記憶手段１７０は、書き込むべき領域を書き込み順序決定手段１８０に通知する。
【０１０４】
図２１（Ａ）は、空き領域記憶手段１７０が管理するデータ実体の一例を示している。架空ファイルの先頭クラスタであるクラスタ４４には、この架空ファイル名“ｄｕｍｍｙ１．ｄｍｙ”と、先頭クラスタを除く使用クラスタ数１３とが格納されている。なお、図２１（Ａ）において、“Ｄａｔａ”は、カード専用ファイルが格納されていることを表し、“Ｎｕｌｌ”は、データが格納されていない、つまり空き領域であることを表している。
【０１０５】
空き領域記憶手段１７０から書き込むべき領域を通知された書き込み順序決定手段１８０は、通知された領域にデータを書き込んでいく順序を決定する。
【０１０６】
このとき、書き込み順序決定手段１８０は、書き込むべき領域に対して変則的な書き込み順序を決定し、決定した順序を、書き込み／消去手段１５０に通知する。ここで、「変則的」とは、シーケンシャルでないと云う意味であり、完全にばらばらな配置、あるいは、逆順にしただけなど、あらゆる順序を含む。
【０１０７】
書き込み／消去手段１５０は、書き込み順序決定手段１８０が決定した順序に従ってデータ実体をフラッシュメモリ２００ａに書き込む。同時に、拡張ファイル管理情報検索手段１９０に保持された拡張ファイル管理情報２４０の格納位置情報を参照して、拡張ファイル管理情報２４０に、データ実体を書き込んだ位置を記録する。
【０１０８】
なお、第１の実施形態において説明したように、データ実体を書き込んだ位置を記録するための拡張ファイル管理情報２４０もフラッシュメモリ２００ａに記録されている。したがって、拡張ファイル管理情報２４０は、領域変更要求手段１３０によって領域の確保が要求された結果、フラッシュメモリ２００ａの既に確保された領域に書き込まれている。ここで、「既に確保された領域」とは、拡張ファイル管理情報２４０が書き込まれる直前に領域変更要求手段１３０の要求に応じて端末処理系３００が確保した領域、およびそれ以前に端末処理系３００が確保した領域を意味しており、拡張ファイル管理情報２４０がフラッシュメモリ２００ａに書き込まれる時点で確保されているすべての領域を含む。
【０１０９】
この拡張ファイル管理情報検索手段１９０及び拡張ファイル管理情報２４０については後に詳述する。
【０１１０】
図２２は、カード内処理系１００ａに空き領域記憶手段１７０と書き込み順序決定手段１８０とを備える場合の、ＤＡＴ１に関するファイルが新規作成される場合の処理を模式的に示している。端末側の処理は図７と同様であるので省略する。
【０１１１】
カード内処理系１００のアプリケーション（Ｃ−Ａｐｐ）は、ＤＡＴ１のサイズ分の空き領域をカード内処理系で保持しているか否かを調べ（１）、ＤＡＴ１のサイズ分の空き領域がなければ、端末に要求する確保サイズを決定する（２）。このサイズは、ＤＡＴ１を格納するのに不足しているサイズ以上のサイズであり、かつ毎回同じサイズ、またはある固定サイズの倍数長であることが望ましい（例えば、３２ｋバイトを基本として、不足分にあわせて６４ｋバイト、９６ｋバイトと云うように、３２ｋバイトの倍数長とする）。
【０１１２】
そして、Ｃ−Ａｐｐは、端末処理系３００に（２）で決定したサイズを通知し（３）、端末処理系３００から確保領域情報と確保領域に対応した架空ファイル名とを受信する（４）。その後、Ｃ−Ａｐｐは、端末処理系３００から受信した確保領域情報を空き領域記憶手段１７０に一旦記憶させ（５）、空き領域記憶手段１７０は、ＤＡＴ１を書き込みする領域を決定し、Ｃ−Ａｐｐへ通知する（６）。さらに、書き込み順序決定手段１８０は、書き込み領域にＤＡＴ１を書き込む順序を決定してＣ−Ａｐｐへ通知し（７）、Ｃ−Ａｐｐは、通知された順序に従ってＥＸＴ−ＦＡＴにＤＡＴ１のファイル管理情報を追加し（８）、同時にファイル管理情報に従ってＤＡＴ１を書き込む（９）。
【０１１３】
こうすることで、カード内処理系１００ａで作成するファイルのサイズ情報を端末装置に開示する必要がなくなるという効果が得られる。また、ＤＡＴ１のサイズ分空き領域を保持していれば、端末処理系３００に確保要求を出すことなくＤＡＴ１の書き込みが可能となるので、ファイルの書き込みタイミングと領域確保要求タイミングとが完全には一致しなくなり、カード内処理系１００ａのファイル作成動作が端末処理系３００に知られにくくなるという効果がある。また、確保処理の回数が減り、処理が軽くなるという効果もある。
【０１１４】
また、このセキュアカードでは、書き込み順序決定手段１８０を設け、特別な処理を追加しなければ、通常選択されるであろう（おそらくアドレスの若い方からシーケンシャルな）書き込み順序を、敢えて変則的な順序に変換している。このように、書き込み順序を明示的に変則的にしたことにより、たとえ端末装置によって不正にカード専用ファイルの実データの読み出しが行われたとしても、連結情報を推測することが困難となり、データを正確に読み出すことができない。即ち、秘匿性を高める効果がある。
【０１１５】
なお、ここでは、カード内処理系１００ａに、空き領域記憶手段１７０と書き込み順序決定手段１８０との両方を備える場合について説明したが、いずれか一方だけを備える構成としても良い。
【０１１６】
次いで、カード内処理系１００ａが、端末処理系３００にデータ格納領域の解放を要求する場合（すなわち、データが削除される場合）の処理手順を説明する。
【０１１７】
図２３は、カード内処理系１００ａに空き領域記憶手段１７０を備える場合の解放処理を模式的に示している。
【０１１８】
カード内処理系がＤＡＴ１のデータ実体を消去し（１）、ＥＸＴ−ＦＡＴを更新して（２）、ＤＡＴ１が消去された領域をカード内処理系での未使用領域とする（３）。
【０１１９】
このとき、空き領域が１つの架空ファイル全体の領域を含んでいれば、該架空ファイル名を指定して（４）、端末に領域解放要求を行う（５）。これを受けて、端末装置は、指定された架空ファイルのファイル管理情報を削除する（６）。
【０１２０】
空き領域が１つの架空ファイル全体の領域を含んでいるか否かの判定方法を、空き領域記憶手段１７０を備えるときのＥＸＴ−ＦＡＴおよびＥＸＴディレクトリエントリをそれぞれ示す図２４（Ａ）および図２４（Ｂ）と、空き領域記憶手段１７０で保持されたデータをそれぞれ示す図２１（Ａ）、図２１（Ｂ）および図２１（Ｃ）とを用いて説明する。
【０１２１】
図２４（Ａ）に示すＥＸＴ−ＦＡＴには、連結情報に加えて、確保時の架空ファイルの先頭クラスタ情報が記録されている。すなわち、図２４（Ａ）においては、上段が通し番号、中段が連結情報記述枠、下段が先頭クラスタ番号記述枠である。図２４（Ａ）に示すＥＸＴ−ＦＡＴによって管理される領域、すなわち、クラスタ４４〜４７、クラスタ６４〜６７、クラスタ８６〜８９、およびクラスタ９６〜１００の１７クラスタが、１つの架空ファイル“ｄｕｍｍｙ１．ｄｍｙ”として確保されているものとする。なお、架空ファイル“ｄｕｍｍｙ１．ｄｍｙ”として確保された領域のうち、９８〜１００が空き領域となっている。
【０１２２】
図２１（Ａ）は、図２４（Ａ）に対応したデータ実体を示している。架空ファイルの先頭クラスタである４４番クラスタには、この架空ファイル名“ｄｕｍｍｙ１．ｄｍｙ”と、先頭クラスタを除く使用クラスタ数１３が格納されている。なお、“Ｄａｔａ”は、カード処理系１００ａ内で作成されたファイル、ここでは“ｓｆｉｌｅ３”が格納されていることを表し、“Ｎｕｌｌ”はデータが格納されていない、つまり空き領域であることを表している。
【０１２３】
この状態からファイル“ｓｆｉｌｅ３”の最終２クラスタ、つまりクラスタ８７とクラスタ４７を消去した状態が図２１（Ｂ）である。このとき、クラスタ４４における使用クラスタ数を２減らして１１とする。
【０１２４】
さらに、“ｓｆｉｌｅ３”全体を消去した状態が図２１（Ｃ）である。このとき、クラスタ４４における使用クラスタ数を１１減らして０とする。クラスタ４４に格納された使用クラスタ数が０となったときに、同じくクラスタ４４に格納された架空ファイル名“ｄｕｍｍｙ１．ｄｍｙ”を取り出すとともに、クラスタ４４のデータを消去することで、１つの架空ファイル全体が空き領域となったことを判別することができる。
【０１２５】
これにより、端末装置は１つの架空ファイルとして見えている領域をまとめて解放するので、通常ファイルの削除時と同じ処理によって解放作業を行うことができるという効果がある。
【０１２６】
また、データ実体の消去タイミングと端末処理系３００への解放要求タイミングとが完全には一致しなくなり、カード内処理系１００ａのデータ消去動作が端末装置に知られにくくなるという効果がある。
【０１２７】
なお、ここでは、領域確保に架空ファイルを設定する場合について説明したが、第１の実施形態で説明したように、端末処理系３００のためのファイル管理情報の確保領域に不良セクタを設定して、カード専用ファイルに対する排他制御を行う方式においても、この空き領域記憶手段１７０を備えるセキュアカードを使用することができる。
【０１２８】
ただし、この場合、端末装置は、架空ファイルという単位では無く、クラスタ単位で領域を確保しているため、空き領域記憶手段１７０でも、クラスタ単位での使用／未使用フラグ設定を行う必要がある。また、解放時も、ファイル単位という概念がないので、ある一定量の連続領域が空きとなった場合、あるいは、ある一定量（連続領域に限らず）が空き領域となった場合などに解放要求を行う。
【０１２９】
次いで、拡張ファイル管理情報２４０について説明する。
【０１３０】
ＥＸＴ−ＦＡＴを除く、データやディレクトリエントリは、書き込み順序決定手段１８０により、書き込み順序をランダムに決定しても、問題なく読み出すことができる。なぜなら、ＥＸＴ−ＦＡＴに格納位置と順序とが記憶されるため、ランダムに配置しても、ＥＸＴ−ＦＡＴを参照して正しい順序で読み出すことが可能であるためである。
【０１３１】
しかし、ＥＸＴ−ＦＡＴ自体をランダム配置する場合にはＥＸＴ−ＦＡＴの順序を示す情報が必要となる。
【０１３２】
このＥＸＴ−ＦＡＴの順序を示す情報が拡張ファイル管理情報検索手段１９０によって保持される。
【０１３３】
図２５（Ａ）は、正順に整列されたＥＸＴ−ＦＡＴの一例を示している。このＥＸＴ−ＦＡＴは、一定サイズ（この例ではクラスタ１つのサイズであり、３２クラスタ分の連結情報を保持するサイズである）で分割され、書き込み順序決定手段１８０により並び替えられて、図中（ｘ）に示すクラスタ番号のように変則的な順序で格納される。
【０１３４】
このとき、拡張ファイル管理情報検索手段１９０では、図２６に示すように、ＥＸＴ−ＦＡＴ格納順序（図２５（Ａ）中の（ｘ）に示す格納クラスタ番号）と、ＥＸＴ−ＦＡＴ１クラスタ当たりで保持する連結情報数とを含むＥＸＴ−ＦＡＴ順序情報が保持される。
【０１３５】
図２５（Ａ）に示すように変則的な順序で格納されたＥＸＴ−ＦＡＴからファイルを読み出す場合は、次のように行う。なお、図２５（Ａ）は、ＥＸＴ−ＦＡＴの先頭１６クラスタ分（０〜５１１番の連結情報）を抜粋したものである。
【０１３６】
まず、参照したいファイル名“ｓｆｉｌｅ１”を図２５（Ｂ）のＥＸＴディレクトリエントリより検索し、ファイルの先頭クラスタ（クラスタ３２２）を取得する。次に、先頭クラスタに連結される次クラスタの番号を取得するために、ＥＸＴ−ＦＡＴにおける１クラスタ当たりの連結情報数（この例では３２クラスタ分）を取得し、クラスタ番号と、ＥＸＴ−ＦＡＴにおける１クラスタ当たりの連結情報数より、クラスタ３２２の次クラスタ情報は、（３２２＋１）／３２＋１＝１１．０９３７５より、ＥＸＴ−ＦＡＴの１１クラスタ目、つまり５２７番クラスタ内に存在し、（３２２＋１）−（１１−１）×３２＝３より、３つめの枠に記述されていることを導くことができる。
【０１３７】
これにより、次データの格納クラスタを取得する。以降ファイル終端（連結情報に−１が格納）まで繰り返すことで、“ｓｆｉｌｅ１”全体を参照することができる。
【０１３８】
新規作成したファイルの情報をＥＸＴ−ＦＡＴに追加する場合でも、書き込み順序決定手段１８０により指定された、ファイルを格納するクラスタ番号より、ファイル参照時と同様に、該クラスタに連結する次クラスタの番号、つまり連結情報を格納すべき位置を導くことができる。
【０１３９】
なお、本実施形態においては、拡張ファイル管理情報検索手段１９０が、拡張ファイル管理情報２４０の格納位置を保持する構成としており、フラッシュメモリ２００ａ内におけるデータの格納位置などのメタデータは、一括管理されるものとしているが、このようなメタデータは、データ実体を記録するために確保された領域にデータ実体と共に記録されるようにしても良い。
【０１４０】
また、上記各実施形態ではＦＡＴファイルシステムを例に説明したが、ＮＴＦＳやＵＦＳ等、その他のファイル管理システムを用いることも勿論可能である。
【０１４１】
以上のように本発明によれば、本発明のファイル管理方法では、カード内の処理により記録したカード専用ファイルの使用領域に対し、端末の直接アクセスを排する排他制御を実現することができる。
【０１４２】
また、カード専用ファイルの情報秘匿が可能である。
【０１４３】
また、このメモリカードに対して、端末は、従来のメモリカードに適用していたファイルシステムをそのまま利用することができ、端末の従来機種に対する互換性を維持している。
【０１４４】
また、カード専用ファイルの使用可能領域は可変であり、メモリカードの機能を効率的な利用することができる。
【０１４５】
また、カード内処理系で作成、格納されたファイルの情報を端末に漏らすことなく、メモリカードに記録されているファイルと、端末処理系のためのファイル管理情報との不整合を防止するために、カード作成時にあらかじめ、直接アクセス不可能な領域を固定サイズで作成しておく方式が考えられるが、この方式と比較して、本発明は、直接アクセス不可能な領域のサイズが可変であるため、使用履歴や電子領収書などは、利用される領域のサイズを予め想定することが困難であり、そのため、サイズを固定する方式が適切でない場合にも適用することができる。
【０１４６】
また、カード内処理系がフラッシュメモリに格納した実データを保護するため、カード内処理系がデータを書き込んだ領域には、端末処理系から直接アクセスができないようにアクセス制御する方式も考えられるが、この場合、データの書き込み領域に対する端末処理系の書き込みトライは、エラーとして処理されるにもかかわらず、端末からは、データの書き込み領域が使用可能な領域に見えるため、同領域への書き込みトライが繰り返され、エラーが頻発する事態が予想される。しかしながら、本発明によれば、端末処理系にてカード内処理系の確保領域を認識しているので、このような書き込みトライが発生することがない。
【０１４７】
【発明の効果】
以上説明したように、本発明によれば、端末装置が管理するファイル管理情報と、メモリカードの記憶手段に実際に記録されるファイルとの不整合を防止することができ、カード内の処理により記録したカード専用ファイルの使用領域に対し、端末の直接アクセスを排する排他制御を実現することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るセキュアカードおよび端末装置の構成を示すブロック図
【図２】セキュアカードでの実データの記録形態の一例を示す図
【図３】ＦＡＴおよびディレクトリエントリの一例を示す図
【図４】第１の実施形態における架空ファイルの縮小方法を示す図
【図５】第１の実施形態におけるＥＸＴ−ＦＡＴ領域の排他制御手順を示す図
【図６】第１の実施形態における管理情報検索手段で保持されるデータの一例を示す図
【図７】第１の実施形態におけるカード専用ファイルの作成処理手順を示す図
【図８】第１の実施形態におけるＦＡＴおよびディレクトリエントリの一例を示す図
【図９】第１の実施形態における架空ファイルを作成した状態のＦＡＴおよびディレクトリエントリの一例を示す図
【図１０】第１の実施形態における架空ファイルの第１の作成形態を示す図
【図１１】第１の実施形態における架空ファイルの第２の作成形態を示す図
【図１２】第１の実施形態における架空ファイルの第３の作成形態を示す図
【図１３】第１の実施形態における架空ファイルを新設した状態のＦＡＴおよびディレクトリエントリの一例を示す図
【図１４】第１の実施形態における架空ファイルに追記した状態のＦＡＴおよびディレクトリエントリの一例を示す図
【図１５】第１の実施形態におけるＥＸＴ−ＦＡＴおよびＥＸＴディレクトリエントリの一例を示す図
【図１６】第１の実施形態におけるアペンド処理手順を示す図
【図１７】第１の実施形態における領域解放処理手順を示す図
【図１８】第１の実施形態における架空ファイルの一部を解放した状態のＦＡＴおよびディレクトリエントリの一例を示す図
【図１９】第１の実施形態における確保領域を不良セクタとしたＦＡＴおよびディレクトリエントリの一例を示す図
【図２０】本発明の第２の実施形態におけるセキュアカードおよび端末装置の構成を示すブロック図
【図２１】第２の実施形態における空き領域記憶手段で保持されるデータの一例を示す図
【図２２】第２の実施形態におけるカード専用ファイルのデータ書き込み手順を示す図
【図２３】第２の実施形態におけるデータ削除手順を示す図
【図２４】第２の実施形態におけるＥＸＴ−ＦＡＴおよびＥＸＴディレクトリエントリの一例を示す図
【図２５】第２の実施形態におけるＥＸＴ−ＦＡＴおよびＥＸＴディレクトリエントリの他の一例を示す図
【図２６】第２の実施形態における管理情報検索手段で保持されるデータの一例を示す図
【図２７】ＩＣカードの構成の一例を示す図
【図２８】セキュアカードの構成の一例を示す図
【図２９】セキュアカードへのデータ書き込み処理の一例を説明するための図
【図３０】セキュアカードへのデータ書き込み処理の他の一例を説明するための図
【図３１】セキュアカードにおける問題点を説明するための図
【符号の説明】
１３０  領域変更要求手段
１４０  確保領域情報受信手段
１５０  書き込み／消去手段
１６０  管理情報検索手段
１７０  空き領域記憶手段
１８０  書き込み順序決定手段
１９０  拡張ファイル管理情報検索手段
２２０  カード専用ファイル管理情報
２３０  ファイル管理情報
２４０  拡張ファイル管理情報
３３０  ファイル情報処理手段
３４０  領域変更要求受信手段
３５０  領域確保手段
３６０  架空ファイル情報生成手段
３７０  確保領域通知手段
４１０  ファイル情報保持手段
４２０  ファイル情報書き込み手段
【図１】
0004057858.tif 000002
【図２】
0004057858.tif 000003
【図３】
0004057858.tif 000004
【図４】
0004057858.tif 000005
【図５】
0004057858.tif 000006
【図６】
0004057858.tif 000007
【図７】
0004057858.tif 000008
【図８】
0004057858.tif 000009
【図９】
0004057858.tif 000010
【図１０】
0004057858.tif 000011
【図１１】
0004057858.tif 000012
【図１２】
0004057858.tif 000013
【図１３】
0004057858.tif 000014
【図１４】
0004057858.tif 000015
【図１５】
0004057858.tif 000016
【図１６】
0004057858.tif 000017
【図１７】
0004057858.tif 000018
【図１８】
0004057858.tif 000019
【図１９】
0004057858.tif 000020
【図２０】
0004057858.tif 000021
【図２１】
0004057858.tif 000022
【図２２】
0004057858.tif 000023
【図２３】
0004057858.tif 000024
【図２４】
0004057858.tif 000025
【図２５】
0004057858.tif 000026
【図２６】
0004057858.tif 000027
【図２７】
0004057858.tif 000028
【図２８】
0004057858.tif 000029
【図２９】
0004057858.tif 000030
【図３０】
0004057858.tif 000031
【図３１】
0004057858.tif 000032