明 細 書 コンピュータシステムおよびファイルの保存 ·読出方法 技 術 分 野
本発明は、 コンピュータシステムおよびファイルの保存 ·読出方法に関し、 特に、 ファイル保存時におけるファイル名についてのセキュリティを向上させ る技術に関する。 背 景 技 術
一般に、 コンピュータシステムにおけるデータは、 ファイル単位で取り扱わ れ、 保存処理や読出処理も、 それぞれファイル単位で実行される。 このため、 個々のファイルを互いに識別するために、 各ファイルにはそれぞれ所定のファ ィル名を付与しておく必要がある。 一般的なアプリケーションプログラムの場 合、 ファイルを保存するときには、 当該保存対象ファィルに対して、 ユーザが 任意のファイル名を付与することができるようになつている。通常、ユーザは、 保存対象ファイルについて、 その内容や作成日時などを容易に把握できるよう に、 最も適当と思われるファイル名を付与することになる。
アプリケーションプログラムによっては、 特定の規則に基づいて、 所定のフ アイル名を自動的に付与する機能が用意されていることもある。 たとえば、 特 開 2 0 0 1 - 1 8 8 6 9 7号公報には、 監視フォルダにファイルが入れられる と、 当該ファイルに所定のファイル名を自動付与し、 階層構造をもった所定の フォルダに振り分けて保存する技術が開示されている。
上述したように、 ファイルを保存するとき、 ユーザは、 当該保存対象フアイ ルの内容に関連したファイル名を付与するのが一般的である。 また、 上述した 特許文献に開示されている技術のように、 ファイル名の自動付与を行う場合で
あっても、 ファイルの内容に何らかの関連をもたせたファイル名を付与するの が一般的である。 たとえば、 会計処理のためのデータファイルであれば、 「4月 分売上帳」 のようなファイル名を付しておけば、 当該ファイルが売上情報の 4 月分のデータであることが一目瞭然である。 同様に、 顧客データファイルであ れば、 「X社顧客台帳」 のようなファイル名を付しておけば、 当該ファイルが X 社の顧客に関するデータであることが直ちに認識できる。
.このように、 特定のファイルを作成し、 後にこれを利用する正規のユーザの 立場からは、 ファイルの内容に関連づけたファイル名を付与しておくことは、 利便性を向上させる上で非常に重要である。 しかしながら、 セキュリティの観 点からは、 このような利便性に基づくファイル名付与は好ましくない。 たとえ ば、 「4月分売上帳」 なるファイル名が付与されたデータファイルは、 誰の目か ら見ても、 その内容を容易に類推することが可能になる。 したがって、 フアイ ル名のリストが、 別なユーザの目に触れるようなことがあると、 個々のフアイ ルを開くことなしに、 各ファイルにどんな情報が含まれているのかを知られて しまうことになる。
最近は、 L ANの普及により、 多数のコンピュータがネットワークで接続さ れており、 他人が作成したファイルの一覧表をネットワーク経由で目にするこ とも少なくない。 したがって、 ファイル名からファイルの内容を類推されるお それがあると、 悪意をもったユーザによって、 重要なファイルを不正にコピ一 されたり、 ファイル自身を破壊されたり、 消去されたりする被害に遭遇する可 能性も高まってくる。 もちろん、 アクセス権の設定や、 データファイルの暗号 化といった手法により、 不正な手段による攻撃からデータファイルを保護する 技術も採用されている。 しかしながら、 ファイル名自身に対するセキュリティ は、 これまでの対策では決して十分ではなく、 ファイル名の一覧表が多数のュ 一ザの目に触れる機会は多い。
そこで本発明は、 ファイル名に対しても十分なセキュリティを確保すること
が可能なコンピュータシステムを提供することを目的とし、 また、 そのような ファイルの保存 ·読出方法を提供することを目的とする。 発 明 の 開 示 '
(1) 本発明の第 1の態様は、 データを展開するメモリと、 所定のプログラム に基づいてメモリ上に展開されているデータに対して処理を施すプログラム実 行部と、 所定のデータからなるファイルを格納するファイル格納部と、 メモリ 上に展開されているデータを、 指示された所定のファイル名をもつファイルと してフアイル格納部に保存する保存処理部と、 フアイル格納部に保存されてい る各フアイルに対応する所定のフアイル名をユーザに提示するフアイル名提示 部と、 フアイル名提示部によって提示されているファイル名の中からユーザに よって選択された特定のファイル名に対応するファイル内のデータをメモリ上 に展開する展開処理部と、 ユーザに対するインターフェイス機能を果たすユー ザインターフェイス部と、 を備えるコンピュータシステムにおいて、
現時点でログインしているユーザを認識するユーザ認識部と、
保存処理部がファイルを保存する際に、 ログイン中のユーザからユーザ用フ アイル名を入力し、 これを所定のァルゴリズムに基づいて保存用ファイル名に 変換するファイル名変換処理を実行し、 保存処理部に対して、 この保存用ファ ィル名を用いた保存を行うよう指示を与える保存制御部と、
保存制御部によってファイル名変換処理が行われた場合に、 ユーザ用フアイ ル名と保存用ファイル名との対応関係を示す情報を、 ログイン中のュ一ザにつ いてのファイル名対応情報として記憶する対応情報記憶部と、
ファイル名提示部がファイル名の提示を行う際に、 ログイン中のユーザにつ いてのフアイル名対応情報を対応情報記憶部内から参照し、 参照した対応情報 に基づいて、 保存用ファイル名の代わりにユーザ用ファイル名を提示するよう 指示を与える提示制御部と、
展開処理部がデ一夕を展開する際に、 ログイン中のユーザからユーザ用ファ ィル名の選択指示を入力するとともに、 ログイン中のユーザについてのフアイ ル名対応情報を対応情報記憶部内から参照し、 参照した対応情報に基づいて、 選択されたユーザ用フアイル名を保存用ファイル名に変換するフアイル名変換 処理を実行し、 展開処理部に対して、 変換後の保存用ファイル名をもつフアイ ル内のデータを展開するよう指示を与える展開制御部と、
を更に設けるようにしたものである。
(2) 本発明の第 2の態様は、 上述の第 1の態様に係るコンピュータシステム において、
保存制御部が、 乱数を利用したアルゴリズムに基づいて、 ランダムなコード を含む保存用ファイル名を生成することによりフアイル名変換処理を実行する ようにしたものである。
(3) 本発明の第 3の態様は、 上述の第 1または第 2の態様に係るコンピュー 夕システムにおいて、
対応情報記憶部が、 ユーザ用ファイル名と保存用ファイル名との対応関係を 示す対応表をフアイル名対応情報として記憶するようにしたものである。
(4) 本発明の第 4の態様は、 上述の第 1の態様に係るコンピュータシステム において、
保存制御部が、 一ザ用ファイル名から保存用ファイル名への可逆的な変換 アルゴリズムに基づいて、 保存用ファイル名を生成することによりファイル名 変換処理を実行するようにしたものである。 ,
(5) 本発明の第 5の態様は、 上述の第 4の態様に係るコンピュータシステム において、
対応情報記憶部が、 ファイル名変換処理に用いた可逆的な変換アルゴリズム を示す情報をフアイル名対応情報として記憶するようにしたものである。
(6) 本発明の第 6の態様は、 上述の第 1〜第 5の態様に係るコンピュータシ
ステムにおいて、
保存^!御部が、 拡張子の部分を含めたファイル名全体に対して、 ファイル名 変換処理を実行するようにしたものである。
(7) 本発明の第 7の態様は、 上述の第 1〜第 6の態様に係るコンピュータシ ステムにおいて、
保存制御部が、 ファイル名のみならず、 ファイルとともに保存されるタイム スタンプなどの属性情報に対しても内容を変更する変換処理を実行し、 対応' I青報記憶部が、 ファイル名の対応関係のみならず、 属性情報の変更前後 の対応関係についてもファイル名対応情報として記憶する処理を実行し、 展開制御部が、 属性情報の変更前後の対応関係に基づいて、 変更された属性 情報の内容を復元する処理を実行するようにしたものである。
(8) 本発明の第 8の態様は、 上述の第 1〜第 7の態様に係るコンピュータシ ステムにおいて、
対応情報記憶部が、 ファイル名対応情報を暗号化した上で記憶する処理を実 行し、 記憶しているファイル名対応情報に対する参照を受けた場合に、 参照対 象となる情報を復号化して提供する処理を実行するようにしたものである。
(9) 本発明の第 9の態様は、 上述の第 1〜第 8の態様に係るコンピュータシ ステムにおいて、
対応'膚報記憶部を、 コンピュータシステム本体に対して着脱自在な携帯可能 情報記録媒体によつて構成するようにしたものである。
(10) 本発明の第 1 0の態様は、上述の第 1〜第 9の態様に係るコンピュータ システムにおいて、
保存制御部、 展開制御部、 提示制御部としての機能を、 コンピュータに専用 のアプリケ一シヨンプログラムを組み込むことにより実現し、 当該プログラム を起動した場合にのみ、 保存制御部、 展開制御部、 提示制御部が動作するよう にしたものである。
(11) 本発明の第 1 1の態様は、上述の第 1〜第 1 0の態様に係るコンピュー 夕システムにおいて、
ファイル格納部を、 分散して配置された複数のデータ格納装置によって構成 し、
保存処理部に、 保存対象ファイルを複数の分割ファイルに分割し、 各分割フ アイルをそれぞれ異なるデータ格納装置に格納する機能をもたせ、
展開処理部に、 それぞれ異なるデータ格納装置に格納されている複数の分割 ファイルを合成して元のファイルに復元した上でメモリ上に展開する機能をも たせ、
対応情幸 記憶部に、 「1つのユーザ用ファイル名」 に対して分割ファイルの各 ファイル名として用いられる 「複数の保存用ファイル名」 を対応させるフアイ ル名対応' I青報を記憶する機能をもたせるようにしたものである。
(12) 本発明の第 1 2の態様は、上述の第 1〜第 1 1の態様に係るコンビユー 夕システムにおける保存制御部、 展開制御部、 提示制御部としてコンピュータ を機能させるプログラムを用意し、 このプログラムをコンピュータ読み取り可 能な記録媒体に記録して配付できるようにしたものである。
(13) 本発明の第 1 3の態様は、データを所定のファイル名をもつファイルと してファイル格納部に保存する保存プロセスと、 フアイル格納部に保存されて いたファイル内のデータを読み出す読出プロセスと、 をコンピュータシステム に実行させるファイルの保存 ·読出方法において、
保存プロセスでは、
現時点で口グインしているュ一ザを認識する保存.ユーザ認識段階と、 保存対象ファィルに付すべきユーザ用ファイル名を入力する保存対象ファィ ル名入力段階と、
ユーザ用フアイル名を所定のァルゴリズムに基づいて保存用ファイル名に変 換するフアイル名変換段階と、
ユーザ用ファイル名と保存用ファイル名との対応関係を示す情報を、 口グイ • ン中のユーザについてのファイル名対応情報として保存する対応情報保存段階 と、
保存対象ファイルを、 保存用ファイル名の下でフアイル格納部に保存するフ アイル保存段階と、 を行い、
読出プロセスでは、
現時点でログインしているユーザを認識する読出ユーザ認識段階と、 読出対象ファイルを特定するためのュ一ザ用ファイル名を入力する読出対象 ファイル名入力段階と、
ログイン中のユーザについてのファイル名対応情報に基づいて、 入力された ユーザ用ファイル名に対応する保存用ファイル名を参照するフアイル名参照段 階と、
参照により得られた保存用ファイル名の下でフアイル格納部に保存されてい るファイルを、 読出対象ファイルとして読み出すファイル読出段階と、
を行うようにしたものである。
(14) 本発明の第 1 4の態様は、上述の第 1 3の態様に係るファイルの保存 · 読出方法において、
読出対象フアイル名入力段階が、 ファイル名対応情報に基づいて、 ファイル 格納部に保存されている各ファイルに対応するユーザ用ファイル名を参照して 一覧表示し、 ユーザに一覧表示されたファイル名の中から特定のファイル名を 選択させる方法により実行されるようにしたものである。
本発明によれば、 実際に保存される際に用いるファイル名が自動的に変更さ れるため、 ファイル名に対しても十分なセキュリティを確保することが可能に なる。
図 面 の 簡 単 な 説 明
図 1は、 一般的なコンピュータシステムにおけるファイルの保存 ·読出処理 に関与する構成要素を示すブロック図である。
図 2は、 本発明の基本的な実施形態に係るコンピュータシステムのブロック 図である。
図 3は、 図 2に示すコンピュータシステムにおける対応情報記憶部 8 0内の 記憶内容の一例を示す図である。
図 4は、 図 2に示すコンピュータシステムにおけるファイル格納部 5 0内の 格納状態の一例を示す図である。
図 5は、 図 4に示すような格納状態について、 図 3に示すファイル名対応情 報を用いてユーザに提示されるフアイル名一覧を示す図である。
図 6は、 図 2に示すコンピュータシステムを構成するためのハードウェアと ソフトウェアとの役割分担の一例を示すプロック図である。
図 7は、 本発明の別な実施形態に係るコンピュータシステムのブロック図で ある。
図 8は、 図 7に示すコンピュータシステムの動作を説明する図である。 発明を実施するための最良の形態
以下、 本発明を図示する実施形態に基づいて説明する。
くくく § 1 . 一般的なコンピュータシステム 〉>〉
図 1は、 一般的なコンピュータシステムにおけるファイルの保存 ·読出処理 に関与する構成要素を示すブロック図である。 このコンピュータシステムは、 図示のとおり、 メモリ 1 0、 プログラム実行部 2 0、 保存処理部 3 0、 展開処 理部 4 0、 ファイル格納咅! 5 5 0、 ファイル名提示部 6 0、 ユーザインターフエ イス部 7 0の各要素から構成される。 メモリ 1 0は、 一般的には、 R AMなど の揮発性メモリによって構成され、 処理対象となるデータを展開し、 一時的に
記憶するために利用される。 プログラム実行部 2 0は、 所定のプログラムに基 づいてメモリ 1 0上に展開されているデータに対して、 所定の処理を施す機能 をもった構成要素であり、 C P Uなどの論理演算用ハードウェアと、 O Sプロ グラムやアプリケーションプログラムなどのソフトウェアによって実現される。 もちろん、 実際には、 各プログラムを格納しておくハードディスク装置や R O Mなどのメモリ、 プログラム実行時のワークエリアとして利用される RAMの 一部なども、 プログラム実行部 2 0を構成する一要素になるが、 ここでは、 こ れらの要素を統括して、 プログラム実行部 2 0と呼ぶことにする。
メモリ 1 0は、 上述したように、 プログラム実行部 2 0による処理対象とな るデータを一時的に展開する記憶領域であり、 処理が完了したデータは、 この メモリ 1 0からファイル格納部 5 0へと移される。 すなわち、 ファイル格納部 5 0は、 所定のデータをファイルとして格納する構成要素であり、 実際には、 ハードディスク装置やフロッピディスク装置などの磁気記録装置、 C D— R、 C D - RAM, D VD - R, D V D— R AMなどの光記録装置、 MO記録装置 などの光磁気記録装置などが、 ファイル格納部 5 0として利用されることにな る。 図には、 ファイル格納部 5 0内に、 3つのファイル F 1〜F 3が格納され た状態が示されている。 具体的には、 ファイル F 1は 「4月分売上帳」 なるフ アイル名の下に格納されており、 ファイル F 2は 「5月分売上帳」 なるフアイ ル名の下に格納されており、 ファイル F 3は 「6月分売上帳」 なるファイル名 の下に格納されている。 図示の例では、 これら 3つのファイルのうち、 フアイ ル F 1の内容が、 メモリ 1 0上に 「4月分売上帳のデータ D 1」 として展開さ れており、 プログラム実行部 2 0による処理の対象となっている。 「4月分売上 帳のデータ D 1」に対する必要な処理が完了すると、 このデータ D 1は、再び、 ファイル格納部 5 0内に 「4月分売上帳」 なるファイル名をもったファイル F 1として保存することができる。
保存処理部 3 0は、 メモリ 1 0上に展開されているデータを、 指示された所
定のファイル名をもつファイルとしてファイル格納部 5 0に保存する保存処理 を実行する構成要素であり、 逆に、 展開処理部 4 0は、 ファイル格納部 5 0に 保存されているファイルのうち、 ユーザによって選択された特定のファイル内 のデ一夕を読み出して、 メモリ 1 0上に展開する展開処理 (一般的なアプリケ ーシヨンプログラムの場合、 特定のファイルを開く処理) を実行する構成要素 である。 また、 ファイル名提示部 6 0は、 ファイル格納部 5 0に保存されてい る各ファイルに対応する所定のファイル名をユーザに提示する機能を果たす。 実際には、 これら保存処理部 3 0 , 展開処理部 4 0, ファイル名提示部 6 0は、 ファイル格納部 5 0を構成する記録装置についてのドライバプログラムや O S プログラムの一部によって実現されることになる。
ユーザインターフェイス部 7 0は、 ユーザに対するインタ一フェイス機能を 果たす構成要素であり、 上述の各構成要素からなるシステムとユーザとの間で 必要な情報のやりとりを行う。 具体的には、 ュ一ザからシステム側に対する入 力操作を行う装置として、 キ一ボードやマウスなどが用いられ、 システムから ユーザ側に対する出力操作を行う装置として、 モニタやスピーカなどが用いら れる。 ユーザインターフェイス部 7 (Hま、 これら各入出力装置の集合体からな る構成要素ということになる。
ユーザは、 ユーザインタ一フェイス咅 β 7 0を介して、 プログラム実行部 2 0 とやりとりすることができ、 プログラム実行部 2 0に対して所定のデータや命 令の入力を行い、 実行結果を出力として得ることができる。 また、 メモリ 1 0 上に展開されているデータをファイル格納部 5 0へ保存する際には、 ユーザィ ン夕一フェイス部 7 0から、 保存処理音 β 3 0に対して、 所定の保存対象フアイ ル名を指示することができる。 保存処理部 3 0は、 オペレータに指示されたフ アイル名の下に、 保存処理を実行する。 たとえば、 「4月分売上帳」 なるフアイ ル名を 「保存対象ファイル名」 として旨示する入力を行えば、 保存処理部 3 0 は、 メモリ 1 0上に展開されているデータ D 1を、 「4月分売上帳」 なるフアイ
ル名の下に、 ファイル格納部 5 0にファイル F 1として保存する処理を実行す る。
また、 オペレータは、 ユーザインターフェイス部 7 0を介して、 ファイル名 提示部 6 0からファイル名一覧の提承を受けることができる。 たとえば、 図示 の例の場合、 ファイル格納部 5 0には 3つのファイル F 1〜F 3が格納されて いるので、 ファイル名提示部 6 0は、 これら 3つのファイルに対応するフアイ ル名 「4月分売上帳」, 「5月分売上帳」, 「6月分売上帳」 をユーザに提示する 処理を行う。 ユーザが、 このファイル名提示部 6 0によって提示されているフ アイル名の中から、 ユーザインターフェイス部 7 0を介して特定のファイル名 を選択する入力操作を行うと、 当該選択は、 展開処理部 4 0に対して、 「展開対 象ファイル名」 の指示として伝えられることになり、 展開処理部 4 0は、 この ユーザによつて選択された特定のフアイル名に対応するファイル内のデータを、 メモリ 1 0上に展開する展開処理を実行する。 たとえば、 ユーザが、 「4月分売 上帳」 なるファイル名を選択すると、 当該ファイル名が、 展開対象ファイル名 として展開処理部 4 0へと伝えられ、 展開処理部 4 0は、 ファイル格納部 5 0 内のファイル F 1内のデータ D 1をメモリ 1 0上に展開する処理を実行する。 以上、 従来のコンピュータシステムの基本構成を、 ファイルの保存 ·読出処 理に関与する構成要素を示すブロック図として示したが、 このような従来のコ ンピュータシステムには、 ファイル名に対するセキュリティが不十分であると いう問題があることは既に述べたとおりである。 たとえば、 図 1に示す例の場 合、 ファイル格納部 5 0に格納されているファイル F 1〜F 3には、 「4月分売 上帳」, 「5月分売上帳」, 「6月分売上帳」なるファイル名が付されているので、 ファイル名提示部 6 0によって、 保存中のファイル名一覧がモニタ画面上に表 示されると、 当該コンピュータシステム内に格納されているファイルが、 特定 の月ごとの売上に関するデ一夕であることが誰にでも類推できてしまう。 特に、 当該コンピュータシステムが、 ネットワークに接続されていると、 ファイル格
納部 5 0に格納されているファイルのフアイル名が、 ネッ卜ワーク経由で他の ユーザの目に触れる可能性も高くなる。
くぐく § 2 . 本発明の基本的な実施形態 >>>
図 2は、 本発明の基本的な実施形態に係るコンピュータシステムのプロック 図である。 この図 2に示すコンピュータシステムは、 図 1に示す従来の一般的 なコンピュータシステムに、 新たな構成要素として、 保存制御部 3 5、 展開制 御部 4 5、 提示制御部 6 5、 対応情報記 '慮部 8 0、 ユーザ認識部 9 0を付加し たものであり、 これらの構成要素を付加することにより、 ファイル名に対して も十分なセキュリティを確保することが可能になる。 そこで、 まず、 これらの 新たな構成要素の機能を説明する。 '
まず、 ユーザ認識部 9 0は、 現時点でログインしているユーザを認識する機 能をもった構成要素である。 図示の例では、 ユーザ認識部 9 0のブロック内に 「〇に甲」 のマークが付されているが、 これは、 現時点でログインしているュ 一ザが、 「ユーザ甲」 であることを示している。 このユーザ認識部 9 0は、 図 1 に示すコンピュータシステムには描かれていないが、 実際には、 現在一般に利 用されているパソコンなどのコンピュータシステムにおいても、 現時点で口グ インしているユーザを認識する機能が備わっており、 ユーザ認識部 9 0として は、 このような一般的なユーザ認識機能をそのまま利用すれば十分である。 通 常、 コンピュータシステムに対して特定のユーザとして口グインするためには、 当該ユーザに固有のアカウントとパスワードを要求する認証処理が実行される。 図示の例は、 「ユーザ甲」 が固有のアカウントでログインし、 所定のパスワード を入力することにより認証処理を完了した後の状態を示している。
一方、 保存制御部 3 5、 展開制御部 4 5、 提示制御部 6 5は、 それぞれ保存 処理部 3 0、 展開処理部 4 0、 ファイル名提示部 6 0に所定の指示を与えて制 御を行う機能をもった構成要素である。 以下、 これらの各構成要素の機能を順 に説明する。
保存制御部 3 5は、 保存処理部 3 0がファイルを保存する際に、 ログイン中 のユーザから 「ユーザ用ファイル名」 を入力し、 これを所定のアルゴリズムに 基づいて 「保存用ファイル名」 に変換するファイル名変換処理を実行し、 保存 処理部 3 0に対して、 変換により得られた 「保存用ファイル名」 を用いた保存 を行うよう指示を与える機能を果たす。
ここでは、 便宜上、 ユーザ甲がログイン中に、 メモリ 1 0上に展開されてい るデータ D 1を保存する作業を行った場合に、 どのような処理が行われるかと いう具体的な事例について、 この保存制御部 3 5の機能を説明する。 § 1でも 述べたとおり、 データ D 1を保存する場合、 ユーザ甲は、 ユーザインターフエ イス部 7 0を介して、 このデ一夕 D 1に付加すべきファイル名 (保存対象ファ ィル名) を指示する入力を行うことになる。 ここでは、 ユーザ甲によって指示 された保存対象ファイル名を 「ユーザ用ファイル名」 と u ぶことにする。 この
「ユーザ用ファイル名」 は、 文字どおりユーザのためのファイル名であり、 通 常、 データファイルの内容を把握するのに最も適していると思われる文字列が 用いられる。図示の例では、データ D 1は、 4月分売上帳のデータであるので、 「4月分売上帳」 なるファイル名が、 「ュ一ザ用ファイル名」 として指示された ものとして、 以下の説明を続けることにする。
図 1で述べた従来のコンピュータシステムでは、 ユーザによって 「 4月分売 上帳」 なるファイル名が指示されると、 当該ファイル名の下に、 データ D 1の 保存が行われた。 これに対して、 本発明では、 保存制御咅 β 3 5によって、 ファ ィル名の変換処理が行われる。 すなわち、 ユーザから入力された 「ユーザ用フ アイル名」 は、 所定のアルゴリズムに基づいて別な 「保存用ファイル名」 に変 換されることになる。 上述したように、 「ユーザ用ファイ レ名」 には、 ファイル の内容を把握するのに適した文字列を用いるのが好ましいが、 「保存用ファイル 名」 は、 そのような必要がない。 というよりは、 むしろ、 「保存用ファイル名」 には、 ファイルの内容を把握するのに不適切なコード列を用いるのが好ましい。
別言すれば、 保存制御部 3 5において行われる 「ユーザ用ファイル名」 から 「保 存用ファイル名」 への変換処理は、 「ファイルの内容を把握するのに適したファ ィル名」 から 「ファイルの内容を把握するのに適していないファイル名」 への 変換処理という意味合いをもつ。 ここでは、 たとえ ¾:、 「4月分売上帳」 なるュ —ザ用ファイル名が、 「R S T 1 2 3」 なる保存用ファイル名に変換されたもの としょう。 「R S T 1 2 3」 なるファイル名は、 「4月分の売上に関するフアイ ル」 という内容とは全く無関係なファイル名であり、 このファイル名から、 フ アイルの内容を類推することはできない。
こうして、 「ユーザ用ファイル名」 から 「保存用ファイル名」 への変換が行わ れたら、 保存制御部 3 5は、 変換後の 「保存用ファイル名」 を保存処理部 3 0 へと伝え、 保存処理部 3 0に対して、 「保存用ファイフレ名」 を用いた保存を行う よう指示を与える。 したがって、 上述の例の場合、 保存処理部 3 0は、 メモリ 1 0上のデータ D 1を、 「4月分売上帳」なるユーザ用ファイル名ではなく、 「R S T 1 2 3」 なる保存用ファイル名の下で、 ファイク!/格納部 5 0へ保存する保 存処理を実行する。 図示のファイル格納部 5 0内に格納されているファイル F 1は、 このようにして格納されたファイルである。 ファイル F 2 , F 3も同様 のプロセスを経て、 「保存用ファイル名」 で保存されたファイルである。
結局、 図 1のファイル格納部 5 0内に格納されている 3つのファイル F:!〜 F 3と、 図 2のファイル格納部 5 0内に格納されている 3つのファイル F 1〜 F 3とは、 内容は全く同一のファイルであるが、 前者が 「ユーザ用ファイル名」 の下に保存されているのに対し、 後者は 「保存用ファイル名」 の下に保存され ているため、 それぞれファイル名は異なっている。 すなわち、 前者では、 「4月 分売上帳」, 「5月分売上帳」, 「6月分売上帳」 というファイルの内容を類推す るのに適したファイル名が付されているのに対して、後者では、「R S T 1 2 3」: 「UVW 4 5 6」, 「X Y Z 7 8 9」 という無意味なファイル名が付されている ため、 これらのフアイル名が他のユーザの目に触れることになつたとしても、
後者では、 ファイル名に関する限り、 セキュリティ上の問題は生じないことに なる。
こうして、 保存制御部 3 5によってファイル名変換処理が行われた場合、 「ュ 一ザ用ファイル名」 と 「保存用ファイル名」 との対応関係を示す情報が、 ログ イン中のユーザについてのファイル名対応情報として、 対応情報記憶部 8 0内 に記憶される。 たとえば、 図示の例の場合、 ログイン中のユーザ甲のファイル 名対応情報として、 3つのファイルについての対応関係を示す対応表が、 寸応 情報記憶部 8 0内に記憶された状態が示されている。すなわち、 「4月分売 _h帳」 と 「R S T 1 2 3」 とが対応し、 「5月分売上帳」 と 「UVW4 5 6」 とが 寸応 し、 「6月分売上帳」 と 「X Y Z 7 8 9」 とが対応することを示す対応表が 寸応 情報記憶部 8 0内に用意されている。 このような対応表が用意されることにな つたのは、 ファイル格納部 5 0内に、 図示のような 3つのファイル F 1〜F 3 を保存する処理を行ったためである。 この対応情報記憶部 8 0内に用意された ファイル名対応情報は、 後述するように、 展開制御部 4 5および提示制御咅 15 6 5によって参照される。
提示制御部 6 5は、 ファイル名提示部 6 0の表示処理機能を若干修正する働 きをする。 既に述べたとおり、 ファイル名提示部 6 0は、 ファイル格納部 5 0 内に格納されているファイルのファイル名一覧をユーザに提示する機能を有し ている。 しかしながら、 図示の例のように、 ファイル格納部 5 0には、 各ファ ィルが「保存用ファイル名」で保存されているため、 ファイル名提示部 6 0力 そのままのファイル名を提示すると、 ユーザ甲は、 自分が付与した 「ュ一ザ用 ファイル名」 でファイル名の確認を行うことができなくなる。 そこで、 提示制 御部 6 5は、 ファイル名提示部 6 0がファイル名の提示を行う際に、 ログイン 中のユーザについてのフアイル名対応情報を対応情報記憶部 8 0内から参照し、 参照した対応情報に基づいて、 「保存用ファイル名」 の代わりに 「ユーザ用ファ ィル名」 を提示するよう指示を与える。 より具体的には、 提示制御部 6 5 、
ファイル名提示部 6 0が提示しょうとした 「保存用ファイル名」 を、 「フアイリレ 名対応情報」 を参照することにより 「ユーザ用ファイル名」 に変換する処理を 行うことになる。
たとえば、 図 2に示す例の場合、 ファイル名提示部 6 0は、 本来であれば'、 ファイル格納部 5 0内に保存されている 3つのファイル F 1〜 F 3のファイル 名 「R S T 1 2 3」, 「UVW 4 5 6」, 「X Y Z 7 8 9」 (保存用ファイル名) を 提示することになるが、 このとき、 提示制御部 6 5は、 対応情報記憶部 8 0に 記憶されている甲のファイル名対応情報 (図示の対応表) を参照することによ り、 これらのファイル名を 「4月分売上帳」, 「5月分売上帳」, 「6月分売上帳」 (ユーザ用ファイル名) に変換し、 ファイル名提示部 6 0に対して、 変換後の ファイル名を提示するよう指示を与える。 かくして、 ユーザ甲には、 「ユーザ用 ファイル名」 の一覧が提示されることになる。
一方、 展開制御部 4 5は、 展開処理部 4 0がデータを展開する際に、 口グイ ン中のユーザから 「ユーザ用ファイル名」 の選択指示を入力するとともに、 口 グィン中のユーザについての 「ファイル名対応情報」 を対応情報記憶部 8 0内 から参照し、 参照した対応情報に基づいて、 選択された 「ュ一ザ用ファイル名」 を 「保存用ファイル名」 に変換するファイル名変換処理を実行し、 展開処理部 4 0に対して、 変換後の 「保存用ファイル名」 をもつファイル内のデータを展 開するよう指示を与える。
たとえば、 図 2に示す例の場合、 上述したように、 ユーザ甲に対しては 「4 月分売上帳」, 「5月分売上帳」, 「6月分売上帳」 なるファイル名一覧が提示さ れることになる。 ここで、 ユーザ甲が、 展開対象ファイル名として、 「4月分売 上帳」 なるファイル名を選択したとすると、 展開制御部 4 5は、 対応情報記 1意 部 8 0に記憶されている甲のファイル名対応情報 (図示の対応表) を参照する ことにより、 この 「4月分売上帳」 なるファイル名を、 「R S T 1 2 3」 なるフ アイル名に変換し、 展開処理部 4 0に対して、 「R S T 1 2 3 j なるファイル名
で保存されているファイルを展開するよう指示を与える。 かくして、 展開処理 部 4 0によって、 ファイル格納部 5 0に 「R S T 1 2 3」 なるファイル名で保 存されているファイル F 1のデータが読み出されて、 メモリ 1 0上に展開され ることになる。
結局、 図 2に示す本発明に係るコンピュータシステムでは、 ファイルの保存 プロセスと読出プロセスは、 次のような手順で行われることになる。
はじめに、 メモリ 1 0上のデータを所定のファイル名をもつファイルとして ファイル格納部.5 0に保存する保存プロセスの手順を説明する。 まず、 ユーザ 認識部 9 0によって、 現時点でログインしているユーザを認識する保存ユーザ 認識段階が行われる。続いて、保存制御部 3 5によって、 保存対象ファイル(図 示の例では、 データ D 1 ) に付すべき 「ユーザ用ファイル名」 を入力する保存 対象ファイル名入力段階が行われ、 当該 「ユーザ用ファイル名」 を所定のアル ゴリズムに基づいて 「保存用ファイル名」 に変換するファイル名変換段階が行 われる。 更に、 「ユーザ用ファイル名」 と 「保存用ファイル名」 との対応関係を 示す情報を、 ログイン中のユーザについての 「ファイル名対応情報」 として保 存する対応情報保存段階が行われる。 上述の例の場合、 「4月分売上帳」 なるュ —ザ用ファイル名が、 「: R S T 1 2 3」 なる保存用ファイル名に変換され、 「4 月分売上帳」 と 「R S T 1 2 3」 との対応関係を示す情報が、 対応情報記憶部 8 0内に、 ユーザ甲についての 「ファイル名対応情報」 として記憶されること になる。 そして、 保存処理部 3 0によって、 メモリ 1 0上の保存対象ファイル (データ D 1 ) を、 「R S T 1 2 3」 なる保存用ファイル名の下で、 ファイル格 納部 5 0に保存するファイル保存段階が実行される。
逆に、 ファイル格納部 5 0に保存されていたファイル内のデータを読み出す 読出プロセスを行うには、 まず、 ユーザ認識部 9 0によって、 現時点で口グイ ンしているユーザを認識する読出ユーザ認識段階が行われる。 続いて、 展開制 御部 4 5によって、 読出対象ファイルを特定するための 「ユーザ用ファイル名」
を入力する読出対象ファイル名入力段階が行われ、 更に、 ログイン中のユーザ についての 「ファイル名対応情報」 に基づいて、 入力された 「ユーザ用フアイ ル名」 に対応する 「保存用ファイル名」 を参照するファイル名参照段階が実行 される。 最後に、 展開処理部 4 0によって、 参照により得られた 「保存用ファ ィル名」 の下でファイル格納部 5 0に保存されているファイルを、 読出対象フ アイルとして読み出すファイル読出段階が実行される。 上述の例の場合、 ログ イン中のユーザ甲が、 「4月分売上帳」 なるユーザ用ファイル名を入力すると、 ユーザ甲についての 「ファイル名対応情報」 を参照することにより、 入力され たユーザ用ファイル名に対応する 「R S T 1 2 3」 なる保存用ファイル名が参 照され、 メモリ 1 0上に読み出されることになる。
なお、 読出プロセスを行う場合、 実際には、 ユーザ甲に対しては、 ファイル 格納部 5 0内に保存されているファイルのファイル名が、 「ユーザ用ファイル 名」 に変換された状態で提示されることになる。 これは、 既に述べたとおり、 対応情報記憶部 8 0内に記憶されているユーザ甲についての 「ファイル名対応 情報」 に基づいて、 ファイル格納部 5 0に保存されている各ファイルに対応す る 「ユーザ用ファイル名」 を参照して一覧表示する処理が、 ファイル名提示部 6 0および提示制御部 6 5によって実行されるためである。 ユーザ甲は、 一覧 表示されたファイル名の中から特定のファイル名を選択する方法により、 「4月 分売上帳」 なるユーザ用ファイル名を入力する作業を行うことができる。
くくく § 3 . 本発明に係るコンピュータシステムの特徵 >>> ここで、 図 2に示すコンピュータシステムの特徵を考えてみょう。 このシス テムの第 1の特徴は、 ユーザ甲自身は、 3つのファイル F 1〜F 3を、 「4月分 売上帳」, 「5月分売上帳」, 「6月分売上帳」 というユーザ用ファイル名で保存 する操作を行ったと認識しているにもかかわらず、 ファイル格納部 5 0に保存 されているファイル F 1〜F 3は、実際には、「R S T 1 2 3」,「UVW 4 5 6」, 「X Y Z 7 8 9」 という保存用ファイル名で格納されている点である。 したが
つて、 万一、 不正な方法で、 ファイル格納部 5 0内のファイルに対するァクセ スがあったとしても、 少なくともファイル名に関しては、 セキュリティが確保 されることになる。 すなわち、 不正アクセス者に対しては、 ファイル F 1〜F 3は、 あくまでも 「R S T 1 2 3」, 「UVW4 5 6」, 「X Y Z 7 8 9 J という 保存用ファイル名をもつファイルとして認識されるので、 その内容を類推する ことはできなくなる。
このシステムの第 2の特徴は、 本来のユーザ甲は、 ファイル格納部 5 0から ファイルを読み出して、 メモリ 1 0上に展開する作業を行う場合も、 常に、 自 分自身が付与した 「ユーザ用ファイル名」 によるファイル指定を行えばよいの で、 「保存用ファイル名」 の存在に いては、 全く意識する必要はない、 という 点である。 実際、 ファイル名提示部 6 0によって、 ユーザ甲に提示されるファ ィル名は、 「4月分売上帳」, 「5月分売上帳」, 「6月分売上帳」 といったユーザ 用ファイル名になるので、 ユーザ甲としては、 あたかもこれらのファイル名の まま、 ファイル格納部 5 0内に 3つのファイル F 1〜F 3が格納されているも のと認識できる。 しかも、 ファイル格納部 5 0から読み出して、 メモリ 1 0上 に展開したいファイルを指定する際にも、 ユーザ用ファイル名による指定を行 えばよい。 たとえば、 「4月分売上帳」 なる指定を行うと、 展開制御部 4 5にお いて、 これに対応する 「: S T 1 2 3」 なる保存用ファイル名が自動的に参照 されて、 ファイル F 1に対する読出処理が行われることは、 既に述べたとおり である。 結局、 ユーザ甲からは、 あくまでも 「ユーザ用ファイル名」 を用いた ファイル操作を行っているように見えるので、 操作性は、 従来のコンピュータ システムと全く変わりはない。
このシステムの第 3の特徴は、 同一のコンピュータシステムを複数のユーザ で共用するマルチユーザ環境においても、 ファイル名に関する十分なセキユリ ティ確保が可能になる点である。 この特徴を、 より具体的な例に即して説明し てみよう。 ここでは、 経理担当のユーザ甲と営業担当のユーザ乙が、 図 2に示
すような同一のコンピュータシステムを共用している場合を考えてみる。 この 場合、 対応情報記憶部 8 0内には、 個々のユーザごとに、 それぞれ別個独立し たファイル名対応情報が記憶されることになる。
たとえば、 図 3は、 対応情報記憶部 8 0内に、 ユーザ甲についてのファイル 名対応情報と、 ユーザ乙についてのフアイル名対応情報とが併存している状態 を示す図である。 図の左側に示すユーザ甲についてのファイル名対応情報は、 既に述べたとおり、 3つのファイル F 1 , F 2 , F 3を保存する際に、 ユーザ 甲が、 それぞれ 「4月分売上帳」, 「5月分売上帳」, 「6月分売上帳」 なるユー ザ用ファイル名を付与した場合に作成される対応表である。 これに対して、 図 の右側に示すユーザ乙についてのファイル名対応情報は、 3つのファイル F 4, F 5 , F 6を保存する際に、 ユーザ乙が、 それぞれ 「X社顧客台帳」, 「Y社顧 客台帳」, 「Ζ社顧客台帳」 なるユーザ用ファイル名を付与した場合に作成され る対応表である。 いずれの対応表においても、 ュ一ザ用ファイル名はフアイル の内容に関連した文字列となっているが、 保存用ファイル名はファイルの内容 とは無関係なコードになっている。
図 4は、 2人のユーザ甲, 乙によってファイル格納部 5 0内に保存された 6 つのファイル F 1〜F 6の格納状態を示す図である。各ファイルは、いずれも、 図 3に示す対応表における 「保存用ファイル名」 で保存されている。 したがつ て、 不正な方法で、 フアイル格納部 5 0内のフアイルに対するアクセスがあつ たとしても、 少なくともファイル名に関しては、 .セキュリティが確保されるこ とになる。
次に、 各ュ一ザがログインしたときに、 ファイル格納部 5 0内に格納されて いる 6つのファイル F 1〜F 6のファイル名がどのように提示されるかを図 5 に示す。 図 5 (a) は、 ユーザ甲がログインしたときに、 ユーザ甲に提示されるフ アイル名一覧を示しており、 図 5 (b) は、 ユーザ乙がログインしたときに、 ユー ザ乙に提示されるファイル名一覧を示している。 図示のとおり、 ユーザ甲に対
しては、 ユーザ甲自身が保存を行った 「4月分売上帳」, 「5月分売上帳」, 「6 月分売上帳」 なるファイルについては、 そのまま 「ユーザ用ファイル名」 によ る表示が行われているが、 ユーザ乙が保存を行った 3つのファイルについては、 「保存用ファイル名」 による表示が行われるため、 各ファイルの内容をフアイ ル名から類推することはできない。 逆に、 ユーザ乙に対しては、 ユーザ乙自身 が保存を行った 「X社顧客台帳」, 「Y社顧客^帳」, 「Ζ社顧客台帳」 なるファ ィルについては、 そのまま 「ユーザ用ファイル名」 による表示が行われている が、 ユーザ甲が保存を行った 3つのファイルについては、 「保存用ファイル名」 による表示が行われるため、 各ファイルの内容をファイル名から類推すること はできない。
このようなファイル名一覧表示がなされるのは、 提示制御部 6 5が、 現時点 でログイン中のュ一ザについてのファイル名対応情報を、 対応情報記憶部 8 0 内から参照するためである。たとえば、ユーザ甲がログインしているときには、 図 3の左側に示すユーザ甲についてのファイル名対応情報の対応表が参照され ることになるので、 当該対応表に掲載されている 「R S T 1 2 3 J , 「U VW 4 5 6」, ΓΧ Υ Ζ 7 8 9」 なる保存用ファイル名については、 それぞれ 「4月分 売上帳」, 「5月分売上帳」, 「6月分売上帳」 なるユーザ用ファイル名に変換し た表示がなされるが、 当該対応表に掲載されていない 「A B C 1 4 7」, 「D E F 2 5 8 J , 「GH 1 3 6 9」 なる保存用ファイル名については、 そのままの表 示がなされることになり、 結局、 図 5 (a) のような一覧表示がなされることにな る。
3人以上のユーザが共用する環境でも同様であり、 自分が保存したファイル は 「ュ一ザ用ファイル名」 で表示され、 他人が保存したファイルは 「保存用フ アイル名」 で表示されることになる。 なお、 ネットワーク経由で、 別なコンビ ユー夕システムに口グインする場合も同様であり、 他人が保存したファイルの 存在自体はファイル名一覧表により認識することは可能になるが、 ファイルの
内容を類推できるようなフアイル名が認識できるフアイルは、 自分自身で保存 したファイルに限られることになる。
もちろん、 本発明は、 他人が保存したファイルへのアクセス自体を制限する 技術ではないため、 ユーザ甲がログインしているときに、 図 5 (a) に示すような ファイル名一覧が提示されたとすると、 ユーザ甲は、 この一覧表示されている 6つのファイルのうちのいずれに対しても、 メモリ 1 0上に展開する処理 (ァ プリケーシヨンプログラムで開く処理) を実行することが可能である。 たとえ ば、 ユーザ甲が、 図 5 (a) の 1行目に示されている 「4月分売上帳」 なるフアイ ル名を展開対象ファイル名として指示する入力 (たとえば、 ダブルクリック操 作) を行ったとすると、 前述したとおり、 当該ファイル名から 「R S T 1 2 3」 なるファイル名が参照され、 ファイル格納部 5 0内のファイル F 1がメモリ 1 0上に展開されることになる。 一方、 ユーザ甲が、 図 5 (a) の 4行目に示されて いる 「A B C 1 4 7」 なるファイル名を展開対象ファイル名として指示する入 力 (たとえば、 ダブルクリック操作) を行ったとしても、 当該ファイル名がそ のまま展開処理部 4 0へと伝達されることになり、 ファイル格納部 5 0内のフ アイル F 4がメモリ 1 0上に展開されることになる。
. このように、 本発明は、 自分が保存したファイルについて、 そのファイル名 を他人に対して秘匿する、 という効果を奏するための技術であり、 アクセス権 の制限を行う技術ではない。 しかしながら、 ファイル名一覧表示において、 自 分が保存したファイル以外は、 本来のファイル名が秘匿されるという効果は、 ファイル名に関するセキュリティを確保するという見地からは重要な効果であ る。 もちろん、 実用上は、 必要に応じて、 本発明の技術に、 アクセス権の制限 を行う技術を組み合わせて利用することが可能である。
実際、 既存のコンピュータシステムに、 本発明を適用することは、 それほど 困難なことではない。 実用上は、 パソコンなどの既存のコンピュータに、 専用 のアプリケーションプログラムを組み込むことにより、 本発明に係るコンビュ
—夕システムを構築することが可能である。
図 6は、 図 2に示すコンピュータシステムを構成するためのハードウェアと ソフトウェアとの役割分担の一例を示すブロック図である。 図示のとおり、 メ モリ 1 0、 プログラム実行部 2 0、 ファイル格納部 5 0は、 コンピュータシス テムのハードウェア 1 0 0によって構成することができ、 保存処理部 3 0、 展 開処理部 4 0、 ファイル名提示部 6 0、 ユーザ認識部 9 0は、 コンピュータシ ステムの基本ソフトウェア 2 0 0 (たとえば、 O Sプログラム) によって構成 することができる。 また、 ユーザイン夕一フェイス部 7 0は、 ハードウェアと ソフトウェアとの組み合わせにより構成することができる。実際、メモリ 1 0、 プログラム実行部 2 0、 保存処理部 3 0、 展開処理部 4 0、 ファイル格納部 5 0、 ファイル名提示部 6 0、 ユーザインターフェイス部 7 0、 ユーザ認識部 9 0は、 従来から利用されているパソコンなどの一般的なコンピュータシステム が標準的に備えている構成要素ということができる。
したがって、 この一般的なコンピュータシステムに本発明を適用するには、 図示のとおり、 保存制御部 3 5、 展開制御部 4 5、 提示制御部 6 5としての機 能を果たす部分を、 コンピュータシステムの付加ソフトウェア 3 0 0 (専用の アプリケーションプログラム) として追加してやればよいことになる。 この付 加ソフトウェア 3 0 0は、 基本ソフトウェア 2 0 0と連携して、 それぞれの機 能を実行することになる。
なお、 対応情報記憶部 8 0は、 既存のコンピュータシステムに用意された任 意の記憶装置を利用して実現することが可能である。 図に示す例では、 対応情 報記憶部 8 0を、 外部記憶媒体 4 0 0上に設けている。 この外部記憶媒体 4 0 0は、 コンピュータシステム本体に対して着脱可能な携帯可能情報記憶媒体で ある。 たとえば、 フラッシュメモリデバイスや I Cカードなどを外部記憶媒体 4 0 0として利用することができる。 このように、 対応情報記憶部 8 0を外部 記憶媒体 4 0 0上に設け、 ログァゥト時には、 この外部記憶媒体 4 0 0をコン
ピュー夕システム本体から取り外して携帯するようにすれば、 ファイル名に関 するセキュリティを更に向上させることができる。
なお、 図 6に示すように、 保存制御部 3 5、 展開制御部 4 5、 提示制御部 6 5の機能を、 専用のアプリケーションプログラムとして供給するようにすれば、 当該プログラムを起動した場合にのみ、 保存制御部 3 5、 展開制御部 4 5、 提 示制御部 6 5が動作するようにすることができるので、 当該プログラムを起動 していない状態では、 図 1に示す構成をもった従来の一般的なコンピュータシ ステムとして機能させ、 当該プログラムを起動した状態では、 図 2に示す構成 をもった本発明に係るコンピュータシステムとして機能させることが可能にな る。 もちろん、 このようなアプリケーションプログラムは、 C D— R OMなど のコンピュータ読み取り可能な記録媒体に記録して配付することもできる。
«< § 4 . 本発明の別な実施形態 >>>
ここでは、 本発明の別な実施形態を述べる。 図 7は、 本発明の別な実施形態 に係るコンピュータシステムのブロック図である。 この図 7に示すシステムと、 図 2に示すシステムとの大きな相違点は、 ファイル格納部 5 0の構成にある。 すなわち、 図 7に示すシステムでは、 ファイル格納部 5 0が、 ネットワーク 5 5を介して接続された複数のデータ格納装置 5:!〜 5 3によって構成されてい る。 すなわち、 ファイル格納部 5 0が、 分散して配置された複数のデータ格納 装置 5 1〜5 3によって構成されていることになる。 また、 図 7に示す保存処 理部 3 0 A、 保存制御部 3 5 A、 展開処理部 4 0 A、 展開制御部 4 5 A、 ファ ィル名提示部 6 0 A、対応情報記憶部 8 O Aは、図 2に示す各対応構成要素に、 若干の付加処理機能を加えたものになっている。
この図 7に示すコンピュータシステムの特徵は、 メモリ 1 0上のデータ D 1 を、 複数の分割ファイルに分けて、 それぞれ異なるデータ格納装置へと分散保 存させる点にある。 図 8は、 この分散保存処理の概念を説明する図である。 い ま、 図 8 (a) に示すファイル F 1 (メモリ 1 0上のデータ D 1 ) が保存対象ファ
ィルであるものとし、 ユーザが、 この保存対象ファイルに対して、 「4月分売上 帳」 なるユーザ用ファイル名を入力して、 保存指示を与えたものとしょう。 保存処理部 3 OAは、 メモリ 10上のこのファイル F 1 (データ D 1) を、 ファイル格納部 50に保存することになるが、 このとき、 この保存対象フアイ ル F 1を複数の分割ファイルに分割し、 各分割ファイルをそれぞれ異なるデー 夕格納装置に格納する処理を実行する。 たとえば、 図 8(b) は、 ファイル F 1を 3分割することにより、 3つの分割ファイル F 1 1, F 12, F 13を作成し、 これらをネットワーク 55経由で、 それぞれデータ格納装置 5 1, 52, 53 へ保存する例を示している。 分割ファイル F 11, F 12, F 13は、 保存対 象ファイル F 1を先頭から順に分割して作成してもよいし、 保存対象ファイル F 1の先頭から 1, 4, 7, …バイト目を分割ファイル F 1 1に収容し、 2, 5, 8, …バイト目を分割ファイル F 12に収容し、 3, 6, 9, …バイト目 を分割ファイル F 13に収容し、 というような方法で作成してもかまわない。 もちろん、 分割は必ずしも等分に行う必要はなく、 各分割ファイル F 11, F 12, F 13の容量が相互に異なるような分割方法をとつてもかまわない。 図 8(b) に示す例では、 各分割ファイル F 11, F 12, F 13に、 それぞれ 「J KK 777」, 「LMM888」, 「PQQ 999」 なる保存用ファイル名が 付されて、 各データ格納装置 51, 52, 53へ保存されているが、 これらの 各保存用ファイル名は、 保存制御部 35 Aによって付されたものである。 この 場合、 保存制御部 35 Aは、 ユーザ用ファイル名 「4月分売上帳」 を、 3つの 分割ファイルのための保存用ファイル名「 J KK777」, 「LMM888」, 「P QQ 999」 に変換する処理を実行することになる。 したがって、 対応情報記 憶部 8 OA内には、 「1つのユーザ用ファイル名」 に対して分割ファイルの各フ アイル名として用いられる 「複数の保存用ファイル名」 を対応させるファイル 名対応情報が記憶される。 図 8(c) に、 このようにして記憶されたユーザ甲につ いてのフアイル名対応情報の具体例を示す。
このように、 1つのファイルを複数の分割ファイルに分割して、 それぞれ分 散配置された異なるデ一夕格納装置に保存することは、 ファイルアクセスへの セキュリティを向上させる上で有用である。 たとえば、 ネットワーク 5 5とし てインターネットを用いれば、 世界中に分散して配置された多数のファイルサ ーバ装置を、 それぞれ個々のデ一夕格納装置として用いることができるので、 保存処理部 3 O Aが、 保存対象ファイル F 1をどのような方法で何個に分割し、 個々の分割ファイルをどのデー夕格納装置に保存したかを示す管理情報がなけ れば、 分割保存したフアイルをそれぞれ読み出し、 合成して元のファイル F 1 に復元することはできない。 しかも、 本発明では、 ユーザが保存対象ファイル F 1に付与した 「4月分売上帳」 なるユーザ用ファイル名は、 保存制御部 3 5 Aにおいて、 保存用ファイル名 「J KK 7 7 7」, 「L MM 8 8 8」, 「P Q Q 9 9 9」 に変換され、 実際の分割ファイルは、 この保存用ファイル名で保存され ることになるため、 ファイル名に関するセキュリティの確保も十分になる。 実際、 図 7に示すデータ格納装置 5 1が、 何らかの不正アクセスの攻撃を受 けたとしても、 露見するのは、 「J KK 7 7 7」 というファイル名が付された分 割ファイル F 1 1ということになる。 ここで、 「J KK 7 7 7」 というファイル 名は、 ファイルの内容とは無関係な意味のないファイル名であり、 また、 分割 ファイル F l 1も、 元のファイル F 1の一部分のみのデータしか含んでいない ため、 単独では意味のなす情報を示すファイルにはならない。
正規のユーザ甲が、 「4月分売上帳」 なるファイル名で保存しておいたフアイ ルを、 メモリ 1 0上に読み出して利用する場合は、 まず、 ファイル名提示部 6 O Aによって、 ファイル格納部 5 0に格納されている分割ファイルの 「保存用 ファイル名」 を収集した上で、 提示制御部 6 5 Aが、 対応情報記憶部 8 O A内 のファイル名対応情報を利用して、 収集した 「保存用ファイル名」 から対応す る 「ユーザ用ファイル名」 を参照するようにし、 これをユーザ甲に提示させる ようにすればよい。 ユーザ甲が、 提示されたファイル名一覧の中の 「4月分売
上帳」 なるファイル名を選択すると、 展開制御部 4 5 Aが、 これを 「J KK 7 7 7」, 「L MM 8 8 8」, 「P Q Q 9 9 9」 なる保存用ファイル名に変換して、 展開処理部 4 0 Aに対して当該ファイルの読出処理を指示することになる。
もっとも、 対応情報記憶部 8 O A内には、 ファイル名対応情報が用意されて いるので、 ファイル名提示部 6 O Aは、 ファイル格納部 5 0に格納されている 分割ファイルの 「保存用ファイル名」 を収集する処理を行う代わりに、 対応情 報記憶部 8 0 A内のファイル名対応情報のユーザ用ファイル名の檷を参照して、 保存中のファイル名一覧をユーザに提示することも可能である。 ただし、 ファ ィル格納部 5 0内に保存されていたフアイルが何らかの原因で削除されてしま つたような場合には、 対応情報記憶部 8 O A内のファイル名対応情報と、 実際 にフアイル格納部 5 0内に格納されているファイルとの間に不整合が生じてし まう弊害がある。
展開処理部 4 0 Aは、 それぞれ異なるデータ格納装置 5 1〜 5 3に格納され ている複数の分割ファイル F 1 1〜F 1 3を、 予めどこかに保存しておいた管 理情報に基づいて合成して、 元のファイル F 1に復元した上でメモリ 1 0上に 展開する機能を有している。 その結果、 ユーザ甲が 「4月分売上帳」 なるファ ィル名で保存しておいたデータは、 ファイル格納部 5 0から読み出されて、 再 び、 メモリ 1 0上に展開されることになる。
«< § 5 . 本発明を実施する上での種々の工夫 >>>
最後に、 本発明を実施する上での種々の工夫を述べておく。
(1) 保存制御部によるファイル名変換処理
本発明では、 保存制御部 3 5において、 ユーザから入力された 「ユーザ用フ アイル名」 を所定のアルゴリズムに基づいて 「保存用ファイル名」 に変換する ファイル名変換処理が実行される。 たとえば、 図 2に示す例の場合、 「4月分売 上帳」 なるユーザ用ファイル名が 「R S T 1 2 3」 なる保存用ファイル名に変 換されている。 この変換処理のアルゴリズムとしては、 どのようなァルゴリズ
ムを用いてもかまわないが、 変換後に得られる 「保存用ファイル名」 が、 元の 「ユーザ用ファイル名」 に対して全く関連性をもたない無意味なファイル名に なるようにするためには、 乱数を利用したアルゴリズムに基づいて、 ランダム なコードを含む保存用ファイル名を生成することによりフアイル名変換処理を 実行するのが好ましい。 たとえば、 「ランダムに発生させた 3文字のアルファべ ッ卜 +ランダムに発生させた 3桁の数字」 により保存用ファイル名を生成する ことにすれば、 「R S T 1 2 3」 のような保存用ファイル名を生成することがで ぎる。
もちろん、 「ユーザ用ファイル名」 から 「保存用ファイル名」 へのファイル名 変換処理のアルゴリズムは、 必ずしも乱数を用いたアルゴリズムにする必要は ない。 たとえば、 「ユーザ用ファイル名」 を構成するコード列にハッシュ関数な どを作用させることによって得られるコード列を、 「保存用ファイル名」 として 用いることも可能である。
また、 上述した実施形態では、 対応情報記憶部 8 0内には、 「ユーザ用フアイ ル名」 と 「保存用ファイル名」 との対応関係を示す対応表をファイル名対応情 報として記憶させていたが、 ファイル名対応情報は、 必ずしも対応表の形式で 用意する必要はない。 たとえば、 保存制御部 3 5が、 「ユーザ用ファイル名」 か ら 「保存用ファイル名」 への可逆的な変換アルゴリズムに基づいて、 「保存用フ アイル名」 を生成することによりファイル名変換処理を実行する場合であれば、 この可逆的な変換アルゴリズムを示す情報をファイル名対応情報として記憶さ せておくようにすれば、 個々の対応関係を示す対応表は不要である。
これを具体的な例で説明しょう。 たとえば、 「ユーザ用ファイル名を構成する 個々の文字を、 アルファべッ卜順で 1文字ずつ後ろへずらして得られる文字列 を、 保存用ファイル名とする」 というような変換アルゴリズムを定めたとしょ う。 このような変換アルゴリズムを用いれば、 「A P P L E」 というユーザ用フ アイル名は、 「B Q QM F」なる保存用ファイル名に変換されることになり、 「B
ANANA」 というユーザ用ファイル名は、 「CBOBOB」 なる保存用フアイ ル名に変換されることになる。 この場合、 個々のケースごとに、 「APPLE」 と 「BQQMF」、 「BANANA」 と 「CBOBOB」 という対応表をフアイ ル名対応情報として用意してもかまわないが、 その代わりに、 「ユーザ用フアイ ル名を構成する個々の文字を、 アルファベット順で 1文字ずつ後ろへずらして 得られる文字列を、 保存用ファイル名とする」 という変換アルゴリズム ¾示す 情報自身を、 ファイル名対応情報として用意しておいてもよい。 なぜなら、 こ の変換アルゴリズムは可逆的であり、 「保存用ファイル名を構成する個々の文字 を、 アルファベット順で 1文字ずつ前へずらして得られる文字列が、 ユーザ用 ファイル名になる」 という逆変換が可能なので、 この変換アルゴリズムを示す 情報さえあれば、 対応表などがなくても、 「APPLEJ と 「BQQMF」 との 間の双方向変換や、 「BANANA」 と 「CBOBOB」 との間の双方向変換が 可能になる。
(2) 変換処理の対象
多くのコンピュータオペレーションシステムでは、 ファイル名に拡張子を採 用している。 たとえば、 「4月分の売上帳. xls」 のようなファイル名の場合、 ド ットの左側の Γ 4月分の売上帳」 の部分がファイル名本体部であり、 ドットの 右側の 「xls」 の部分が拡張子である。 この場合、 ファイル名本体部のみを変換 処理の対象とすれば、 ユーザ用ファイル名「4月分の売上帳. xls」 に対して、 「R ST 123.xlsj のような保存用フアイル名が生成されることになる。 しかしな がら、 拡張子の部分が変換処理の対象にならないと、 保存用ファイル名の拡張 子の部分を見ることにより、 当該ファイルを作成したアプリケ一ションプログ ラムや当該ファイルのフォーマツトを認識することができるので、 ファイルの 内容を類推する手がかりを与えてしまう可能性がある。したがって、実用上は、 拡張子の部分を含めたフアイル名全体に対して、 ファイル名変換処理を実行す るようにするのが好ましい。 '
たとえば、 ファイル名本体部の部分と拡張子の部分とで、 別個独立した変換 処理を行うようにすると、ユーザ用ファイル名「 4月分の売上帳. xls」に対して、
「R S T 1 2 3 .jQZ」 のような保存用ファイル名が生成されることになる。 この 場合の拡張子 「jQZ」 は意味をもたないデタラメな拡張子であり、 当該ファイル の内容を類推する手がかりにはならない。
また、 コンピュータオペレーションシステムによっては、 タイムスタンプ(フ アイルの作成日時、 修正日時などを示す情報)、 ファイル容量、 ファイル作成者 情報など、 種々の属性情報をフアイルのデータそれ自身とともに保存する機能 をもっている。 このような機能をもったオペレーションシステムでは、 保存中 のファイル名一覧を表示させるときに、 ファイル名とともに、 これらの属性情 報も一緒にリストとして表示させることが可能である。 しかしながら、 このよ うな属性情報も、 ファイルの内容を類推する手がかりを与える要因になりうる。 たとえば: 「4月分の売上帳」 なるユーザ用ファイル名が、 「R S T 1 2 3」 な る保存用ファイル名に変換されていれば、 ファイル名からは、 ファイルの内容 を類推することはできないが、 「R S T 1 2 3」 なるファイル名とともに、 「2004-04 - 30」 のようなタイムスタンプが表示されてしまうと、 「当該フアイ ルが何らかの 4月分のデータである」 と類推する手がかりを与えてしまうこと になる。
このような弊害を避けるためには、 保存制御部 3 5が、 ファイル名のみなら ず、 ファイルとともに保存されるタイムスタンプなどの属性情報に対しても内 容を変更する変換処理を実行するようにし、 対応情報記憶部 8 0が、 ファイル 名の対応関係のみならず、 属性情報の変更前後の対応関係についてもファイル 名対応情報として記憶する処理を実行するようにし、 展開制御部 4 0が、 属性 情報の変更前後の対応関係に基づいて、 保存時に変更された属性情報の内容を 復元する処理を実行するようにしておけばよい。
上述の例の場合、 「4月分の売上帳」 なるユーザ用ファイル名が 「R S T 1 2
3」 なる保存用ファイル名に変換されるとともに、 「2004 - 04 - 30」 なるタイム スタンプが「2345 - 48-95」 のようなデ夕ラメなタイムスタンプに変換された上 で、 ファイルの保存が行われることになる。 対応情報記憶部 8 0内には、 「4月 分の売上帳」 と 「R S T 1 2 3」 との対応関係とともに、 「2004-04-30」 と 「2345-48 - 95」 との対応関係も記憶される。 もちろん、 ファイル保存を行った ユーザ自身がログインした場合は、 提示制御部 6 5によって、 ファイル名も夕 ィムスタンプも元通りの 「4月分の売上帳」, 「2004-04-30」 という状態に逆変 換された上で提示されることになり問題は生じないが、 別のユーザが口グイン した場合は、 「R S T 1 2 3」, 「2345 - 48- 95」 という状態で提示されることに なる。
(3) ファイル名対応情報の暗号化
上述の実施形態では、 対応情報記憶部 8 0内には、 ファイル名対応情報をそ のままの状態で記憶させるようにしているが、 他のユーザが、 この対応情報記 'I意咅 15 8 0内をアクセスしてしまうと、 「ユーザ用ファイル名」 と 「保存用フアイ ル名」 との対応関係が認識されてしまうことになる。 特に、 ファイル名対応情 幸艮を対応表として用意した場合、 「ユーザ用ファイル名」 の欄には、 「4月分売 上帳」, 「5月分売上帳」, 「6月分売上帳」 といったファイル名がそのまま記載 されていることになり、 このようなファイル名のリストが、 他のユーザの目に 触れることは好ましくない。
このような弊害を避けるためには、 対応情報記憶部 8 0が、 ファイル名対応 情報を暗号化した上で記憶する処理を実行し、 記憶しているフアイル名対応情 報に対する参照を受けた場合に、 参照対象となる情報を復号化して提供する処 理を実行するようにすればよい。 暗号化および復号化の処理には、 ユーザに固 有のパスワードなどをキーとして利用するようにすれば、 ユーザ甲のフアイル 名対応情報は、 ユーザ甲自身のパスヮードなどをキ一に用いた暗号化が行われ るので、 他のユーザがログインしているときに復号化されることはなくなる。
産 業 上 の 利 用 可 能 性
本発明は、 データをファイル単位で取り扱い、 ファイルに対して何らかのフ アイル名を付与して保存する一般的なコンピュータシステムに広く利用可能で あり、 特に、 ファイル名に対しても十分なセキュリティを確保する必要のある デー夕処理分野における利用価値が非常に高い。