(57)【要約】【課題】メモリに書き込むデータの機密保護性を高めることができるデータ書込装置を得る。【解決手段】秘匿データをメモリカード３００に書き込む場合、属性設定部１０３およびエントリ書込部１０４は、秘匿データに対応するディレクトリエントリに特定の属性を付与する。情報書込部１０２およびデータ書込部１０５は、秘匿データを、特定の属性が付与されたディレクトリエントリで指定されるデータ書込開始位置からメモリカード３００に書き込む。【選択図】図１
2007148566.tif 000002
【特許請求の範囲】
【請求項１】
メモリ上のデータの管理をディレクトリエントリに記載した内容を用いて行うデータ書込装置において、
秘匿データを前記メモリに書き込む場合、当該秘匿データに対応するディレクトリエントリに特定の属性を付与する属性情報書込手段と、
前記特定の属性が付与されたディレクトリエントリで指定されるデータ書込開始位置から当該秘匿データを前記メモリに書き込むデータ書込手段とを備えたデータ書込装置。
【請求項２】
特定の属性を付与するディレクトリエントリは、ボリュームラベルのディレクトリエントリであることを特徴とする請求項１記載のデータ書込装置。
【請求項３】
メモリは、挿抜可能に構成されていることを特徴とする請求項１または請求項２記載のデータ書込装置。
【請求項４】
秘匿データとして、メモリ上のデータの格納位置を管理する情報としたことを特徴とする請求項１から請求項３のうちのいずれか１項記載のデータ書込装置。
【請求項５】
メモリ上のデータの管理をディレクトリエントリに記載した内容を用いて行うデータ読出装置において、
前記メモリからディレクトリエントリの情報を取得し、当該ディレクトリエントリに特定の属性が付与されていた場合、秘匿データと判断する属性情報取得手段と、
前記属性情報取得手段で秘匿データと判断された場合、当該ディレクトリエントリで指定された読出開始位置よりデータを読み込むデータ読込手段とを備えたデータ読出装置。
【請求項６】
特定の属性を有するディレクトリエントリは、ボリュームラベルのディレクトリエントリであることを特徴とする請求項５記載のデータ読出装置。
【請求項７】
属性情報取得手段は、秘匿データがメモリ上のデータの格納位置を管理する情報であった場合は、当該情報に基づいて、データの格納位置を判定し、
データ読込手段は、前記属性情報取得手段で判定されたデータの格納位置から読み込むことを特徴とする請求項５または請求項６記載のデータ読出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、メモリ上の秘匿データの書込や読出を実施するデータ書込装置及びデータ読出装置に関するものである。
【背景技術】
【０００２】
従来のデータアクセス装置は、例えば、ＭＳ−ＤＯＳ（登録商標）上で動作するファイル内のデータを特定の有資格者以外に秘密にする場合、ファイルの属性情報を保持するディレクトリエントリ内の先頭クラスタを一定の規則に従って書き換え処理を実施し、書き換え前の正しい先頭クラスタ番号を有資格者のみに伝えるようにしている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開平７−１３８７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
これにより、ファイル内のデータの秘匿化が図られるが、このような従来の方法では、特定の有資格者以外の者であっても、ファイルの存在の有無及びファイル内のデータの連続性を管理するＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）とファイルサイズから、ファイルの開始クラスタ番号を類推することが可能であった。その結果、ファイル名とデータ内容の相関関係は必ずしも特定できないが、ＦＡＴ領域の連続性とファイルサイズが保持されているため、ファイル単位でのデータ内容の取得が可能であり、データの機密保護性が低いなどの課題があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、データの機密保護性を高めることができるデータ書込装置及びデータ読出装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るデータ書込装置は、秘匿データをメモリに書き込む場合、秘匿データに対応するディレクトリエントリに特定の属性を付与する属性情報書込手段と、特定の属性が付与されたディレクトリエントリで指定されるデータ書込開始位置から秘匿データをメモリに書き込むデータ書込手段とを備えたものである。
【発明の効果】
【０００７】
この発明のデータ書込装置は、特定の属性が付与されたディレクトリエントリを用いて秘匿データを書き込むようにしたので、メモリに書き込むデータの機密保護性を高めることができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１は、この発明の実施の形態１によるデータアクセス装置を示す構成図である。
図示のように、データアクセス装置は、データ書込装置１００とデータ読出装置２００から構成され、メモリカード３００に対してデータの書込、読出を行う装置である。このデータアクセス装置は、例えば携帯情報端末や携帯電話等に搭載され、また、メモリカード３００は、これら携帯電話等に挿抜可能なメモリである。尚、メモリとしてこのようなメモリカード３００だけでなく、例えば、フロッピー（登録商標）ディスクといった記録媒体であっても同様に適用可能である。
【０００９】
データ書込装置１００は、未使用領域検出部１０１、情報書込部１０２、属性設定部１０３、エントリ書込部１０４、データ書込部１０５を備え、データ読出装置２００は、エントリ読込部２０１、属性解析部２０２、情報読込部２０３、データ読込部２０４を備えている。また、これらデータ書込装置１００とデータ読出装置２００に共通の構成として情報入出力制御部１０６を備えている。
【００１０】
未使用領域検出部１０１は、データ読込部２０４で読み込まれたメモリカード３００のデータから、一般情報や秘匿データの別なく未使用領域を検出するための機能部である。ここで、一般情報は秘匿する必要のない情報であり、本発明のデータ書込装置１００やデータ読出装置２００の構成を備えていないデータアクセス装置においても、読込や書込が可能な情報である。情報書込部１０２は、情報入出力制御部１０６から渡された一般情報や秘匿データを書込データとしてデータ書込部１０５に送出する機能部である。例えば、新規書込を行う場合、未使用領域検出部１０１で検出された空きクラスタに一般情報または秘匿データを書き込む。
【００１１】
属性設定部１０３は、情報入出力制御部１０６で設定された属性をディレクトリエントリのボリュームラベルに書き込むよう設定を行う機能部である。エントリ書込部１０４は、属性設定部１０３で設定した属性情報をクラスタ内の所定の位置にエントリを配置し、データ書込部１０５に対して書込単位でデータを送出する機能部である。そして、これら属性設定部１０３とエントリ書込部１０４および情報入出力制御部１０６によって、秘匿データをメモリに書き込む場合、その秘匿データに対応するディレクトリエントリに特定の属性を付与する属性情報書込手段を構成している。データ書込部１０５は、情報書込部１０２やエントリ書込部１０４の書込情報に基づいて、メモリカード３００に書込を行う機能部であり、このデータ書込部１０５と情報書込部１０２とで、特定の属性が付与されたディレクトリエントリで指定されるデータ書込開始位置から秘匿データをメモリに書き込むデータ書込手段を構成している。また、情報入出力制御部１０６は、一般情報や秘匿データのメモリカード３００への書き込み制御と、メモリカード３００からの一般情報や秘匿データの読込制御を行う機能部である。
【００１２】
エントリ読込部２０１は、データ読込部２０４で読み込まれたデータからディレクトリエントリの一覧を取得する機能部である。属性解析部２０２は、エントリ読込部２０１で取得したエントリ情報を解析し、秘匿データの有無の判断や秘匿データが存在する場合のファイルの属性情報を入手する機能部である。そして、これらエントリ読込部２０１と属性解析部２０２および情報入出力制御部１０６により、メモリからディレクトリエントリの情報を取得し、そのディレクトリエントリに特定の属性が付与されていた場合に秘匿データと判断する属性情報取得手段を構成している。情報読込部２０３は、属性解析部２０２でファイルの属性を取得した後、データをメモリカード３００から読み込む機能部である。また、この情報読込部２０３では、属性解析部２０２で秘匿データを持つ属性であると判定された場合に、読み込んだデータを秘匿データとして情報入出力制御部１０６に渡すよう構成されている。データ読込部２０４は、情報入出力制御部１０６の指示に基づいてメモリカード３００からデータを読み出す機能部である。そして、このデータ読込部２０４と情報読込部２０３とで、属性情報取得手段で秘匿データと判断された場合、そのディレクトリエントリで指定された読出開始位置よりデータを読み込むデータ読込手段を構成している。
【００１３】
図２は、ＭＳ−ＤＯＳによるＦＡＴ型のファイルシステムにおいて、ファイルやディレクトリの属性情報を管理するディレクトリエントリを示す説明図である。
図２のディレクトリエントリは３２バイトで構成され、メモリカード３００に格納されるファイルやディレクトリの属性情報を格納する。
ディレクトリエントリは、ディレクトリ内で一意に名称が特定されるファイル名と、ファイルの種別を示す拡張子と、ディレクトリエントリの性質を示す属性と、ファイルが格納される領域を示す予約領域と、ファイルの作成された日時や更新された日時を示す更新日時と、ファイルの格納先を示す開始クラスタ番号と、ファイルのサイズを示すファイルサイズとから構成されている。
【００１４】
次に、実施の形態１の動作について説明する。
先ず、データ読出装置２００がメモリカード３００に既に格納されている一般情報を読み込む際の動作を説明する。
ユーザが一般情報に関するパス付のファイル名を指定すると、情報入出力制御部１０６がパス付のファイル名を取得し、読込処理が実行されることを指定する。
パス付のファイル名として、例えば、下記の文字列が入力されたものとする。
／ＡＡＡ／ＢＢＢ．ＤＯＣ
“ＡＡＡ”はルートディレクトリにぶら下がっているディレクトリであり、“ＢＢＢ．ＤＯＣ”は“ＡＡＡ”ディレクトリ内において一般情報が格納されているファイルの名称である。
【００１５】
情報入出力制御部１０６に、パス付のファイル名が入力されると、一般情報が格納されているファイルが属するディレクトリのディレクトリエントリを探索するために、ルートディレクトリの探索より開始する。このルートディレクトリの探索を行うためには、先ず、情報入出力制御部１０６が、データ読込部２０４に対して、ルートディレクトリが格納されているクラスタをメモリカード３００より読み込むよう指示し、これをエントリ読込部２０１に展開する。次に、属性解析部２０２は、パス付のファイル名を解析して、ルートディレクトリとして取得したデータよりパス名のうち“ＡＡＡ”と一致するディレクトリを比較してディレクトリエントリを探し出す。
【００１６】
ルートディレクトリより探し出すディレクトリは、パス付のファイル名で指定された文字列のうち“／”により区分されている先頭の文字列が相当するので、先頭の文字列であるディレクトリ名“ＡＡＡ”と、ルートディレクトリ内に格納されているディレクトリエントリとを比較する。比較するディレクトリエントリは、ルートディレクトリ内に格納されたファイルやディレクトリの個数だけ存在しており、全てを比較対象とする。
【００１７】
属性解析部２０２では、情報入出力制御部１０６より指定された文字列と、ディレクトリエントリのファイル名を比較して一致するディレクトリエントリを探し出すことにより、ディレクトリエントリを特定し、同ディレクトリエントリより、開始クラスタ番号を取得する。
【００１８】
開始クラスタ番号を特定できることで、ディレクトリＡＡＡの内部に格納されているファイルやディレクトリの検索が可能になる。情報入出力制御部１０６は、データ読込部２０４に対して、取得した開始クラスタ番号をメモリカード３００から読み込むよう指示を行い、ディレクトリＡＡＡの内容をエントリ読込部２０１に展開する。属性解析部２０２は、パス付ファイル名で取得したファイル名を解析し、ルートディレクトリ内のディレクトリＡＡＡに格納されているファイル、もしくはディレクトリ名を取得する。／ＡＡＡに続き“／”で区分されている文字列が次に探し出すディレクトリエントリの名前であり、入力された文字列から次は、“／”で区切られる最後尾の文字列でもある“ＢＢＢ．ＤＯＣ”となる。
【００１９】
ディレクトリＡＡＡにあるディレクトリエントリにおいて、“ＢＢＢ．ＤＯＣ”と一致するファイル名が存在する場合、開始クラスタ番号を取得することで、入力されたパス付きファイルのデータの格納位置が確定される。これにより、情報入出力制御部１０６は、開始クラスタ番号のファイルをメモリカード３００から読み込むよう情報読込部２０３に指示し、情報読込部２０３はデータ読込部２０４によって読み込まれたデータを一般情報として情報入出力制御部１０６に渡す。
【００２０】
次に、データアクセス装置が新規に一般情報をメモリカード３００に書き込む際の動作を説明する。
ユーザがメモリカード３００に対してファイルの書き込み位置をパス付ファイル名で指定すると、情報入出力制御部１０６はパス付ファイル名を取得し、書き込み処理が実行されることを指定する。パス付ファイルは一般情報を読み込む際と同様に、パス名とファイル名により構成され、“／”により文字列が区分される構成となる。パス付のファイル名として、例えば、下記の文字列が入力されたものとする。
／ＡＡＡ／ＣＣＣ．ＤＯＣ
“ＡＡＡ”はルートディレクトリにぶら下がっているディレクトリであり、“ＣＣＣ．ＤＯＣ”は“ＡＡＡ”ディレクトリ内に新規に作成するファイルの名称である。“ＡＡＡ”はルートディレクトリ内に既に存在する必要があり、存在していない場合は書き込みエラーとなる。
【００２１】
情報入出力制御部１０６にパス付のファイル名が入力されると、指定されたパス付のファイル名を解析し、ルートディレクトリ内に格納されているディレクトリエントリより“ＡＡＡ”と比較する。エントリ読込部２０１には、ルートディレクトリエントリ内に格納されているファイルやディレクトリの各ディレクトリエントリの一覧が格納されているが、ファイルかディレクトリを問わず、名前は一意に決定する。
ディレクトリエントリの属性を属性解析部２０２で解析し、仮にファイル名が一致しても、属性がディレクトリでない場合はエラーとして、書き込み処理を終了する。
【００２２】
属性解析部２０２により一致したディレクトリエントリを特定できると、情報入出力制御部１０６はディレクトリＡＡＡに格納されているファイルやディレクトリを取得するために、ディレクトリエントリより開始クラスタ番号を取得する。
情報入出力制御部１０６は、開始クラスタ番号に基づいてディレクトリＡＡＡのデータを読み込むようデータ読込部２０４に指示し、エントリ読込部２０１によりディレクトリＡＡＡの格納内容を展開する。読み込まれたディレクトリＡＡＡのディレクトリエントリの一覧から、指定されたパス付のファイル名のうち、“／”で区分される最後尾の文字列である“ＣＣＣ．ＤＯＣ”に該当するディレクトリエントリを探し出す。
【００２３】
新規にファイルを作成する場合、ディレクトリＡＡＡ内には、ファイル名が一致するディレクトリエントリが存在しないことが前提であるため、比較して一致するディレクトリエントリが存在した場合は、エラーで終了する。ディレクトリＡＡＡ内で一致しなかった場合、“ＣＣＣ．ＤＯＣ”のディレクトリエントリの領域を確保する。
【００２４】
情報入出力制御部１０６は、エントリの確保が確認されたところで、データの格納領域をメモリカード３００より取得するために、未使用領域検出部１０１においてメモリカード３００の使用クラスタを管理しているＦＡＴから、空きクラスタ番号を取得する。
【００２５】
情報入出力制御部１０６に入力されているデータは、取得した空きクラスタへの書き込むデータとして、情報書込部１０２に設定される。設定された後、書き込む空きクラスタ番号と設定されたデータがデータ書込部１０５に渡されることで、データ書込部１０５はメモリカード３００の該当する位置に書き込みを行うようデータ書込部１０５にデータを渡す。書き込むデータサイズが、クラスタサイズよりも大きい場合は、クラスタサイズを単位として、未使用領域検出部１０１より、必要な空きクラスタを必要な個数だけ確保して、データの書き込みを順次行う。情報入出力制御部１０６に入力された全てのデータを格納するにあたり、必要な空きクラスタの個数を確保できない場合は、エラーとして処理を終了する。
【００２６】
未使用領域検出部１０１において取得した全ての空きクラスタ番号は、情報入出力制御部１０６により使用していることを確認した後、ファイルとしてデータの連続性を確保するようＦＡＴに追記し、情報書込部１０２からデータ書込部１０５でメモリカード３００への書き込みを行う。
【００２７】
メモリカード３００に書き込んだデータを保証するため、属性設定部１０３およびエントリ書込部１０４によって、ファイルＣＣＣ．ＤＯＣのために確保したディレクトリエントリの属性情報を設定する。ディレクトリエントリを構成するために、ファイル名はＣＣＣ、拡張子はＤＯＣ、属性はアーカイブファイルであれば０ｘ２０、更新日時は更新された時間、開始クラスタ番号は未使用領域検出部１０１で最初に取得した空きクラスタ番号、ファイルサイズは情報入出力制御部１０６が書き込んだサイズを、属性情報として設定する。
【００２８】
エントリ読込部２０１で読み込んだディレクトリＡＡＡと同一の内容がエントリ書込部１０４に格納され、ファイルＣＣＣ．ＤＯＣのディレクトリエントリを格納するために確保された領域に対して、属性情報を設定したディレクトリエントリを上書きする。上書きされたディレクトリエントリは、データ書込部１０５に対してクラスタ単位でデータが渡され、メモリカード３００に書き込まれる。
ディレクトリエントリの書き込みにより、情報入出力制御部１０６に対して命令された一般情報の書き込みが終了する。
【００２９】
次に、メモリカード３００に秘匿データを新規に書き込む際の動作を説明する。
ユーザがメモリカード３００に対して、秘匿データを書き込むことを情報入出力制御部１０６に伝え、書き込むデータの全てを情報入出力制御部１０６に対して渡すことで、書き込みが開始される。初めに、データ読込部２０４が、メモリカード３００よりルートディレクトリの読込を行う。読み込まれたルートディレクトリ内のディレクトリエントリ一覧は、エントリ読込部２０１に格納される。
【００３０】
ルートディレクトリの一覧が格納されたエントリ読込部２０１に対して、属性解析部２０２は秘匿データのエントリを書き込むための領域を検索する。一般情報ではメモリカード３００に対する書き込みの際は、ファイル名により、特定ディレクトリ内の特定ディレクトリエントリを一意に決定できるようにディレクトリエントリのファイル名と拡張子に属性情報を入れて作成する。しかし、秘匿データを格納するディレクトリエントリは、ボリュームラベルの属性を持つディレクトリエントリとする。
【００３１】
属性解析部２０２は、エントリ読込部２０１に格納されているディレクトリエントリのうち、属性情報のみに着目し、０ｘ０８即ち下位４ビット目が１である属性と一致するディレクトリエントリを検出する。
メモリカード３００のボリュームラベルは、一般的にはユーザにより設定されないと作成されることのない値であり、ルートディレクトリ内に存在していない場合もある。属性値でボリュームラベルを示すディレクトリエントリが既に存在する場合は、存在しているディレクトリエントリが対象となるが、ルートディレクトリエントリ内に存在しない場合は、新規に作成するために、ディレクトリエントリが格納可能な領域を確保する。
【００３２】
新規にディレクトリエントリを作成する場合には属性設定部１０３において、該当するディレクトリエントリのファイル名を任意に設定する。あわせて属性値もボリュームラベルであることを示す下位４ビット目を１に設定する。尚、設定されたファイル名は、そのままメモリカード３００のボリュームラベル名に設定される。
【００３３】
ボリュームラベルの属性を持つディレクトリエントリが確保されると、秘匿データを格納する領域を確保するために、情報入出力制御部１０６は、未使用領域検出部１０１に対して空きクラスタ番号の要求を行い、空きクラスタ番号を取得する。
【００３４】
情報入出力制御部１０６に入力されているデータは、取得した空きクラスタへの書き込む秘匿データとして、情報書込部１０２に設定される。設定された後、書き込む空きクラスタ番号と設定された秘匿データがデータ書込部１０５に渡されることで、データ書込部１０５はメモリカード３００の該当する位置に秘匿データの書込を行う。書き込むデータサイズが、クラスタサイズよりも大きい場合は、クラスタサイズを単位として、未使用領域検出部１０１より、必要な空きクラスタを必要な個数だけ確保して、データの書き込みを順次行う。また、情報入出力制御部１０６に入力された全ての秘匿データを格納するにあたり、必要な空きクラスタの個数を確保できない場合は、エラーとして処理を終了する。
【００３５】
未使用領域検出部１０１において取得した全ての空きクラスタ番号は、ファイルとして秘匿データの連続性を確保するようＦＡＴに追記し、情報書込部１０２からデータ書込部１０５によりメモリカード３００への書き込みを行う。
【００３６】
メモリカード３００に書き込んだ秘匿データを保証するため、属性設定部１０３とエントリ書込部１０４を用いて、ボリュームラベルとして確保しているディレクトリエントリに、開始クラスタ番号とファイルサイズを格納し、属性情報として設定する。ルートディレクトリ内に確保されている領域に、属性情報が設定されているボリュームラベルのディレクトリエントリを上書きする。上書きされたディレクトリエントリは、データ書込部１０５に対してクラスタ単位でデータが渡され、メモリカード３００に書き込まれる。
ディレクトリエントリの書き込みにより、情報入出力制御部１０６に対して命令された秘匿データの書き込みが終了する。
【００３７】
次に、メモリカード３００から秘匿データを読み込む際の動作を説明する。
ユーザがメモリカード３００に対して、秘匿データを読み込むことを情報入出力制御部１０６に伝えることで、読込が開始される。一般情報を読み込む際に指定した、パス付のファイル名は必要としない。
秘匿データを読み込むことを情報入出力制御部１０６が認識すると、秘匿データの書き込みを行う際と同じ手順で、エントリ読込部２０１にあるルートディレクトリエントリ内のディレクトリエントリ一覧の中から、ボリュームラベルの属性であるディレクトリエントリを検索して探し出す。
【００３８】
属性解析部２０２により、ボリュームラベルの属性を持つディレクトリエントリが発見されることで、ディレクトリエントリより開始クラスタ番号とファイルサイズを取得する。情報入出力制御部１０６は、開始クラスタ番号を特定できることで、データ読込部２０４により読み込んだ開始クラスタ番号内のデータとして格納されている秘匿データを、情報読込部２０３を介して取得することが可能になる。
【００３９】
秘匿データのサイズは属性解析部２０２により解析されて情報入出力制御部１０６が取得しているが、クラスタサイズよりもサイズが大きい場合は、データ読込部２０４によってＦＡＴを読み込み、開始クラスタ番号より連結されているクラスタ番号の情報を入手する。情報入出力制御部１０６が全ての秘匿データを取得することで、秘匿データの読込が終了する。
【００４０】
尚、上記実施の形態１では、ボリュームラベルの属性を持つディレクトリエントリにおいて、従来のデータアクセス装置ではルートディレクトリエントリ内にあるボリュームラベルのみが有効であるため、ルートディレクトリ内にあるボリュームラベルについて説明しているが、ルートディレクトリ以下に構成されるディレクトリ内にボリュームラベルを設定しても良い。従来のデータアクセス装置では、ルートディレクトリ以外に格納されているボリュームラベルの属性を持つディレクトリエントリは無視されるので、動作に問題はない。ルートディレクトリ以外のディレクトリに存在するボリュームラベルの指定については、一般情報を指定する際と同様に、パス付ファイル名で指定しても良い。勿論、ディレクトリ内に１つのボリュームラベルしか存在しない場合は、パス名だけでも良い。
【００４１】
また、秘匿データとして扱われるデータは、テキストやバイナリなど形式を問わず、暗号化の有無にも依存しない。暗号化された情報であれば、更に秘匿性を高める効果がある。
【００４２】
また、上記実施の形態１では、パス付のファイル名の区切りを“／”で指定するように示しているが、“￥”で指定しても良い。またパス付のファイル名を絶対パスにより指定するように示したが、相対パスで指定しても良い。
【００４３】
また、手順として、新規にファイルを作成する際、ディレクトリエントリの確保が保証されてから、データを確保するためのクラスタの有無を確認しているが、クラスタの確保が保証されてから、ディレクトリエントリの確保を行っても、全く問題はない。
更に、データをメモリカード３００に書き込んだ後に、属性情報が格納されたディレクトリエントリをメモリカード３００に書き込んでいるが、ディレクトリエントリを書き込んだ後にデータを書きこんでも、全く問題はない。
【００４４】
また、データの扱う単位をクラスタとして１つのクラスタは複数のセクタより構成されることを想定しているが、１つのクラスタに対して１つのセクタで構成しても全く問題はない。
【００４５】
また、ボリュームラベルに格納する開始クラスタ番号とファイルサイズについては、書き込む位置を他のディレクトリエントリの位置に合わせる必要もなく、予約領域も含めた位置に属性設定部１０３が任意に設定した位置の値を、属性解析部２０２が取得してその値が属性情報として何を示すのか、規定しておけば問題はない。
【００４６】
また、ボリュームラベルに格納する開始クラス番号は、論理ブロック番号を想定しているが、メモリカード３００より物理ブロック番号指定で読み込めるようにしても問題はない。メモリカード３００には、破損した際に容量の低下を補うために、論理ブロック番号が振られていないが使用可能な物理ブロックである代替ブロックが存在するので、その代替ブロックを指定しても良い。代替ブロックを指定することで、従来のデータアクセス装置において、データを操作する際にアクセスできないブロックに書き込むこととなり、データの秘匿性の効果は更に高まる。
【００４７】
更に、上記実施の形態１では、秘匿データに対応したディレクトリエントリとしてボリュームラベルのディレクトリエントリとしたが、これに限定されるものではなく、秘匿データに対応させて特定の属性を持つディレクトリエントリを決めておくことで、同様の効果を得ることができる。
【００４８】
以上のように、実施の形態１のデータ書込装置によれば、メモリ上のデータの管理をディレクトリエントリに記載した内容を用いて行うデータ書込装置において、秘匿データをメモリに書き込む場合、秘匿データに対応するディレクトリエントリに特定の属性を付与する属性情報書込手段と、特定の属性が付与されたディレクトリエントリで指定されるデータ書込開始位置から秘匿データをメモリに書き込むデータ書込手段とを備えたので、メモリに書き込むデータの機密保護性を高めることができる。
【００４９】
また、実施の形態１のデータ書込装置によれば、特定の属性を付与するディレクトリエントリをボリュームラベルのディレクトリエントリとしたので、本発明の秘匿データを認識しないデータ読込装置であっても読込エラー等が発生せず、このようなデータ読込装置に対して悪影響を与えることなく、データの機密保護性を高めることができる。
また、従来のデータアクセス装置では、ボリュームラベルに対しては、ファイル名と拡張子の領域のみがディレクトリエントリ内で活用されるデータであったため、残りの属性以外の箇所を値が記載されていても何も処理されず、従って、データアクセス装置として問題はない。
【００５０】
また、この実施の形態１のデータ書込装置によれば、ボリュームラベルのディレクトリエントリには本来記載されない開始クラスタ番号とファイルサイズを活用するため、ボリュームラベルが削除された場合でも、秘匿データの属性より属性情報を取得することが可能である。
ボリュームラベルが削除される場合、無効なディレクトリエントリであることを示すために、ディレクトリエントリの先頭に０ｘＥ５を設定する。ディレクトリエントリを構成する残りのデータは記載されたままであるため、削除されたディレクトリエントリであっても、ボリュームラベルを示す属性であり、開始クラスタ番号とファイルサイズより秘匿データを取得することが可能である。
【００５１】
また、ボリュームラベルの属性を持つディレクトリエントリについては、ルートディレクトリ内に存在する１つのみが有効である。実施の形態１では、ルートディレクトリ内でボリュームラベルの属性を持つディレクトリエントリを1つとしているが、従来のデータアクセス装置では、最初に検出したボリュームラベルのディレクトリエントリのみを有効とし、残りは正常に書き込まれていても無視されるため、情報入出力制御部１０６により複数個作成しても問題はない。その場合、情報入出力制御部１０６がルートディレクトリより検出したボリュームラベルの属性を持つディレクトリエントリを全て把握することで、複数の秘匿データを管理することができる。
【００５２】
また、実施の形態１のデータ書込装置によれば、メモリを挿抜可能に構成したので、データ書込装置に対して挿抜可能なメモリに対して秘匿データの書込を行うことができる。
【００５３】
また、実施の形態１のデータ読出装置によれば、メモリ上のデータの管理をディレクトリエントリに記載した内容を用いて行うデータ読出装置において、メモリからディレクトリエントリの情報を取得し、ディレクトリエントリに特定の属性が付与されていた場合、秘匿データと判断する属性情報取得手段と、属性情報取得手段で秘匿データと判断された場合、ディレクトリエントリで指定された読出開始位置よりデータを読み込むデータ読込手段とを備えたので、メモリ上で、特定の属性を有するディレクトリエントリによって秘匿データを示している場合でも、このような秘匿データを読み込むことが可能であり、機密保護性を高めたデータを読み込むことができる。
【００５４】
また、実施の形態１のデータ読出装置によれば、特定の属性を有するディレクトリエントリをボリュームラベルのディレクトリエントリとしたので、例えば、メモリに秘匿データと一般情報とが混在している場合でも、容易にそれぞれのデータを読み込むことができる。
【００５５】
実施の形態２．
上記実施の形態１では、扱う秘匿データとしてメモリカードの管理に関係ない情報を想定しているが、例えばＦＡＴといったメモリ上のデータの格納位置を管理する情報を秘匿データとすることも可能であり、これを実施の形態２として次に説明する。
【００５６】
実施の形態２において、データアクセス装置の図面上の構成は実施の形態１と同様であるため、図１を援用して説明する。即ち、実施の形態２のデータ書込装置は、ＦＡＴを秘匿データとし、この秘匿データを、実施の形態１と同様に、ボリュームラベルのディレクトリエントリを用いて管理するようにしたものである。また、データ読込装置は、秘匿データがＦＡＴであった場合、そのＦＡＴに基づいてファイルの格納位置を判定するようにしたものである。
【００５７】
図３は、この発明の実施の形態２によるデータアクセス装置で操作するＦＡＴの内容を示す説明図である。
図３（ａ）に示す秘匿用ＦＡＴは、データアクセス装置がメモリカード３００内の秘匿データとして入手し、情報入出力制御部１０６に保持される内容を示すＦＡＴで、図３（ｂ）に示す公開用ＦＡＴは、メモリカード３００のＦＡＴを格納する領域に記載されている内容を示すＦＡＴである。
【００５８】
図３（ａ）（ｂ）に示す秘匿用ＦＡＴ及び公開用ＦＡＴでは、ファイルＡ、ファイルＢのクラスタを管理している状態を示しており、各ＦＡＴ内の番号は、次に続くクラスタ番号が何番かを示している。ＦＦＦ番は次に続くクラスタが存在せず、終端であることを示しており、０番は全く使用されていないことを示す。
【００５９】
次に、実施の形態２の動作について説明する。
データアクセス装置にメモリカード３００が挿入された際、情報入出力制御部１０６はメモリカード３００の初期情報として、データ読込部２０４よりメモリカード３００内に格納されているＦＡＴ、即ち、公開用ＦＡＴを取得して情報読込部２０３に展開するよう指示する。そして、この展開したＦＡＴをメモリカード３００に記録するためのＦＡＴとして情報入出力制御部１０６で保持する。
【００６０】
また、秘匿データとして格納されているＦＡＴ、即ち秘匿用ＦＡＴを取得するために、情報入出力制御部１０６は、メモリカード３００よりルートディレクトリエントリの情報を読み出すようデータ読込部２０４に指示し、エントリ読込部２０１に展開する。次に、属性解析部２０２は、エントリ読込部２０１で取得したディレクトリエントリ一覧の中から、属性がボリュームラベルを示すディレクトリエントリを検索する。該当するディレクトリエントリが取得できると、属性解析部２０２は更にディレクトリエントリより開始クラスタ番号とファイルサイズの情報を取得する。ＦＡＴはメモリカード３００の容量により管理するクラスタ数が決まるため、ファイルサイズによりクラスタサイズを超過するＦＡＴの大きさでも問題はない。
【００６１】
情報入出力制御部１０６は、入手した開始クラスタ番号とファイルサイズから、データ読込部２０４に対して指定したクラスタの内容を情報読込部２０３に展開するように指示する。情報読込部２０３に展開された内容には、秘匿用ＦＡＴが定義されているので、公開用ＦＡＴと同様に情報入出力制御部１０６で保持する。
【００６２】
メモリカード３００にデータを書き込む場合、情報入出力制御部１０６は２つのＦＡＴを持ち、従来のデータアクセス装置でもファイルとして読込可能とするファイルにするかどうかを決定して、公開用ＦＡＴと秘匿用ＦＡＴに書き込むデータを決定する。
【００６３】
従来のデータアクセス装置で正しくファイルを読込可能とする場合には、ファイルＡが関連するＦＡＴに格納する番号に示すように、秘匿用ＦＡＴと公開用ＦＡＴで同じにする必要がある。
データの書き込みを行う際に、未使用領域検出部１０１で確保できたクラスタ番号をそのまま採用し、両ＦＡＴ内で同じ位置に同じ番号を記載する。属性設定部１０３で設定するディレクトリエントリに関して設定する属性情報に関しては、一般情報を属性設定部１０３に設定する手順と同等である。
【００６４】
従来のデータアクセス装置でファイルにアクセスした際に、ファイルの連続性が保証されず、正しくファイルを読み込めないようにする場合には、ファイルＢの例で示すように、関連するＦＡＴに格納する番号を秘匿用ＦＡＴと公開用ＦＡＴで異なる番号にする。
ファイルのデータの書き込みを行う際、従来のデータアクセス装置でファイルが連続して正しく読み取れるＦＡＴを秘匿用ＦＡＴに、その秘匿用ＦＡＴ内の番号を操作したものが公開用ＦＡＴとなる。ＦＡＴ内の番号の操作は、情報入出力制御部１０６が実行する。
【００６５】
情報入出力制御部１０６は、秘匿用ＦＡＴと公開用ＦＡＴを内部に展開して保持している。そこで、ファイルの書き込みを行う際、先ず、従来のデータアクセス装置で読込可能なＦＡＴを秘匿ＦＡＴに展開する。情報入出力制御部１０６は、データの書き込みデータを入力として受け取ると、保持する秘匿用ＦＡＴから空きクラスタ番号を取得して、情報書込部１０２に書き込むデータを設定して、データ書込部１０５によりメモリカード３００に書き込む。取得した空きクラスタ番号は、データを書き込むために秘匿用ＦＡＴに確保済みであることを示すために、０ｘＦＦＦ番の終端値を設定し、次に続くクラスタがないことを示す。
【００６６】
但し、書き込む情報がクラスタサイズよりも大きい場合は、更に秘匿用ＦＡＴより空きクラスタを取得して、情報書込部１０２により連続してデータを書き込む。秘匿用ＦＡＴは、その前に確保されクラスタとの連続性を確保するために、新しく確保された空きクラスタの番号が格納され、新たに確保された空きクラスタに終端値を示す０ｘＦＦＦが格納される。
【００６７】
図３（ａ）において、ファイルＢを作成するにあたり秘匿用ＦＡＴで確保されたクラスタは、４番、５番、６番、７番のクラスタである。秘匿用ＦＡＴで空きを示す０番があった場合、前から空きを検索するので、ＦＡＴの先頭より空きクラスタは見つかるため、この例では前から４個のクラスタを確保でき、最終的にこれで情報入出力制御部１０６が全てのデータをクラスタに格納している。
【００６８】
データの書き込み終了後、情報入出力制御部１０６は、属性設定部１０３に対して、開始クラスタ番号とファイルサイズを属性情報として設定し、エントリ書込部１０４で所定の位置に属性情報を設定したディレクトリエントリを上書きして、データ書込部１０５よりメモリカード３００に書き込む。
【００６９】
次に、情報入出力制御部１０６で保持している公開用ＦＡＴに対して領域を確保する。未使用領域検出部１０１は、データを格納するために秘匿用ＦＡＴで確保したクラスタ数と同個数のクラスタを、公開用ＦＡＴより確保する。公開用ＦＡＴで確保するクラスタ番号は、使用されていない箇所を検索し、秘匿用ＦＡＴと異なるクラスタを抽出する。図３（ａ）では、ファイルＢは開始クラスタ番号を４番から始まり、５番、６番、７番と続いているが、開始クラスタ番号の４番を同一として、９番、５番、７番のクラスタを連結し、情報入出力制御部１０６に保持されている公開用ＦＡＴを更新する。ファイルの最後のクラス番号も開始クラスタと同様に、同じクラスタ番号とする。
【００７０】
秘匿が必要なファイルに対して、公開用ＦＡＴの更新が終了したら、公開用ＦＡＴをメモリカード３００に書き込む。公開用ＦＡＴを書き込む位置は、メモリカード３００内でＦＡＴが書き込まれる固定された領域であり、情報書込部１０２に展開して、データ書込部１０５よりメモリカード３００に格納する。
【００７１】
全ての操作が終了してメモリカード３００を従来のデータアクセス装置で読み込むと、秘匿されているデータの内容は、非連続なデータにより構成され、場所によっては別のファイルの内容、もしくは全くデータが書き込まれていないデータにより構成されることになる。
図３に示すファイルＢの場合、本来はクラスタ番号が４番、５番、６番、７番の順でファイルの連続性が保証されるが、図３（ｂ）に示す公開用ＦＡＴによりクラスタを確認するため、４番、９番、５番、７番となり、２つめのクラスタは空のデータ、３つ目のクラスタは本来のファイルの２つ目のデータが表れることになる。
【００７２】
尚、上記実施の形態２では、ボリュームラベルを示すディレクトリエントリをルートディレクトリ内に１つとしたが、複数個存在しても問題はない。また、ファイルのみの秘匿の対象としたが、１つのディレクトリに多数のファイルやディレクトリを格納することで、１つのクラスタ内に全てのディレクトリエントリが格納できない場合は、ディレクトリ内を連続的に使用可能とするよう、ＦＡＴを確保してつなげていくので、ディレクトリに対しても同様の処理を行い、ディレクトリの内容を秘匿化してもよい。
【００７３】
また、公開用ＦＡＴをデータ書込部１０５からメモリカード３００に対する書き込む場合、エントリ書込部１０４の書き込みよりも先に実施したが、メモリカード３００に格納される構成が最終的に同じであれば、書き込み手順は問わない。
【００７４】
また、未使用領域検出部１０１において秘匿用ＦＡＴの空きクラスタを検索する際に、空きの先頭から使用することを想定しているが、空いている場所であればどこでもよく、空きクラスタの番号に依存することはないので問題はない。また、空きクラスタ番号を公開用ＦＡＴに設定する際に、ファイルの最終クラスタは秘匿用ＦＡＴと公開用ＦＡＴで同じクラスタ番号を設定しているが、同じでなくても良い。但し、最終クラスタの位置を同じにすることで、ファイルの終端が保証されるので、従来のデータアクセス装置でデータが秘匿されているファイルにアクセスした際の動作の安定性が向上する。
【００７５】
また秘匿するファイルサイズが大きくなれば、接続されるクラスタの個数が増加するが、全てのクラスタに対して、格納位置が変わるように公開用ＦＡＴを変更する必要はない。システムに応じて、開始クラスタから特定個数は変更しないようにしても良い。その場合、従来のデータアクセス装置では先頭より特定バイトは、正常のファイルとして読み込めるので、ファイルのヘッダ情報を記載しても良い。
【００７６】
以上のように、実施の形態２のデータ書込装置によれば、秘匿データとして、メモリ上のデータの格納位置を管理する情報としたので、メモリに書き込むデータの機密保護性を高めることができ、また、本発明の秘匿データを認識しないデータ読込装置であっても読込エラー等が発生せず、このようなデータ読込装置に対して悪影響を与えることがない。
【００７７】
また、実施の形態２のデータ読出装置によれば、属性情報取得手段は、秘匿データがメモリ上のデータの格納位置を管理する情報であった場合は、その情報に基づいて、データの格納位置を判定し、データ読込手段は、属性情報取得手段で判定されたデータの格納位置から読み込むようにしたので、秘匿データをメモリ上のデータの格納位置を管理する情報としたものであっても、確実に秘匿データを読み出すことができる。
【００７８】
また、実施の形態２のデータアクセス装置によれば、情報入出力制御部１０６で秘匿用ＦＡＴと公開用ＦＡＴの２つを管理する構成にして、ファイルを書き込む際にメモリカード３００のファイルの連続性が保証されていない公開用ＦＡＴをメモリカード３００の本来のＦＡＴ位置に書き戻し、ファイルの本来のＦＡＴである秘匿用ＦＡＴをボリュームラベルに格納されている開始クラスタ番号に格納することで、従来のデータアクセス装置では、ファイルとして存在するに関わらず非連続で、内容が保証されないファイルを作成することが可能となった。その結果、実施の形態２の構成であるデータアクセス装置では、正常にファイルを操作できるにも関わらず、従来のデータアクセス装置では操作できないため、メモリカード内のデータの秘匿性を高める効果がある。また、秘匿されているファイルと秘匿されていないファイルが混在して１つのメモリカードに存在させることが可能であり、ユーザの意思により選択が可能となっているので、秘匿性を高めつつも更に利便性も高めている。
【図面の簡単な説明】
【００７９】
【図１】この発明の実施の形態１によるデータ書込装置およびデータ読出装置を示す構成図である。
【図２】ディレクトリエントリの説明図である。
【図３】この発明の実施の形態２によるデータ書込装置およびデータ読出装置で操作するＦＡＴの内容を示す説明図である。
【符号の説明】
【００８０】
１００  データ書込装置、１０１  未使用領域検出部、１０２  情報書込部、１０３  属性設定部、１０４  エントリ書込部、１０５  データ書込部、１０６  情報入出力制御部、２００  データ読出装置、２０１  エントリ読込部、２０２  属性解析部、２０３  情報読込部、２０４  データ読込部、３００  メモリカード。
【図１】
2007148566.tif 000003
【図２】
2007148566.tif 000004
【図３】
2007148566.tif 000005