説明

ファイルへのアクセス制限を管理する技術

【課題】ファイルが転送された場合であってもアクセス制限を適切に維持する。
【解決手段】ファイルにアクセス制限を設定するシステムであって、単一の第1ファイルとして結合された複数の第2ファイルのうち少なくとも1つについて、当該第2ファイルのハッシュ値と、当該第2ファイルに結合する処理の前に設定されていたアクセス制限を示す制限情報とを対応付けて記憶する記憶部と、単一の第3ファイルを分割して複数の第4ファイルを生成する処理が行われたことを条件に、生成した複数の第4ファイルの少なくとも1つのハッシュ値を算出して、算出した当該ハッシュ値に一致するハッシュ値を記憶部から検索する検索部と、当該第4ファイルのハッシュ値に一致するハッシュ値が検索されたことを条件に、検索された当該ハッシュ値に対応付けて記憶部に記憶された制限情報に基づいて、当該第4ファイルにアクセス制限を設定する制限設定部とを備えるシステム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ファイルアクセスを制御する技術に関する。特に、本発明は、ファイルのアクセス制限を管理する技術に関する。
【背景技術】
【0002】
強制アクセス制御(Mandatory Access Control, MAC)を採用したコンピュータシステムにおいて、アクセス主体からアクセス対象に対するアクセスは、予め設定されたアクセス制限の情報に基づいて制限される(非特許文献1−4を参照。)。アクセス制限の情報は、アクセス対象であるデータにラベルとして付加されて管理される。従って、アクセス制限の情報は、アクセス対象のデータに伴って移動し、データの移動先においてもそのアクセス制限の情報に基づいてアクセスが制限される。
【0003】
一方、コンピュータシステムにおけるデータの流れは様々である。たとえば、データはファイルとしてメディアに記録されたり、メディアに記録されたファイルが他の情報処理装置に読み出されたりする。また、データはファイルとして電子メールに添付され、全く異なるネットワーク内のコンピュータに対し送信される場合もある。さらには、データ圧縮などの技術において、複数のファイルを結合して単一のファイルを生成する処理も行われている。データの流れはこのように様々な形態があるので、その全ての流れに沿ってアクセス制限の情報を移動させるのは困難な場合がある。
【0004】
非特許文献5−9については後述する。
【非特許文献1】D. E. Bell and L. J. LaPadula. Secure computer system: Unified exposition and multics interpretation. Technical report, MITRE MTR-2997, March 1976.
【非特許文献2】K. J. Biba. Integrity Considerations for Secure Computer Systems. Technical Report MTR-3153, Mitre Corporation, Mitre Corp, Bedford MA, June 1975.
【非特許文献3】J. M. McCune, S. Berger, R. C´aceres, T. Jaeger, and R. Sailer. A system for distributed mandatory access control. In IBM Research Report RC23865, 2006.
【非特許文献4】Elena Ferrari, Pierangela Samarati, Elisa Bertino, and Sushil Jajodia. Providing flexibility in information flow control for object-oriented systems. In Proc. IEEE Symposium on Security and Privacy.
【非特許文献5】R. Sailer, X. Zhang, T. Jaeger, and L. van Doorn. Design and implementation of a TCG-based integrity measurement architecture. In Proceedings of the USENIX Security Symposium, 2004.
【非特許文献6】John L. Griffin, Trent Jaeger, Ronald Perez, Reiner Sailer, Leendert van Doorn, and Ram´on C´aceres. Trusted virtual domains: Toward secure distributed services. In Proceedings of the Workshop on Hot Topics in System Dependability, 2005.
【非特許文献7】A. Bussani, J. L. Griffin, B. Jansen, K. Julisch, G. Karjoth, H. Maruyama, M. Nakamura, R. Perez, M. Schunter, A. Tanner, L. Van Doorn, E. A. Van Herreweghen, M. Waidner, and S. Yoshihama.Trusted virtual domains: Secure foundations for business and it services. In IBM Research Report RC23792, 2005.
【非特許文献8】S. Yoshihama, T. Ebringer, M. Nakamura, S. Munetoh, and H. Maruyama. Ws-attestation: Efficient and fine-grained remote attestation on web services. In Proceedings of the 2005 IEEE International Conference on Web Services (ICWS 2005), July 2005.
【非特許文献9】Y.Watanabe, S. Yoshihama, T. Mishina, M. Kudo, and H. Maruyama. Bridging the gap between intercommunication boundary and internal trusted components. In European Symposium On Research In Computer Security (ESORICS), September 2006.
【発明の開示】
【発明が解決しようとする課題】
【0005】
たとえば、複数のファイルを結合してデータ圧縮し、圧縮後のデータを更に伸張すると、各ファイルに設定されていたアクセス制限が継承されない場合がある。圧縮用ソフトウェアやオペレーティングシステムの仕様によってはアクセス制限が承継される場合があるが、圧縮後のファイルが転送されるコンピュータで、圧縮時に用いられたソフトウェアやOSが動作しているとは限らない。このような場合、従来は、情報漏洩の防止を優先するべく、圧縮する対象となる複数のファイルに設定されるアクセス制限のうち、最も厳しいアクセス制限を選択して、圧縮後のファイルに設定している。そして、伸張時には、圧縮後のファイルに設定されているアクセス制限を、伸張後の各ファイルに設定している。しかしながら、この方法では、データ圧縮および伸張を繰り返すことでアクセス制限が徐々に厳しくなり、適切ではない場合があった。
【0006】
また、別のアプローチとして、従来、軍事用のシステム等で情報を適切に管理するための技術として、多階層セキュリティ(Multi Level Security)が用いられている。これは、セキュリティの高さの段階ごとに、アクセス主体、例えばコンピュータを予め分類しておき、より段階の高い分類からより段階の低い分類へ情報を出力することを禁止する技術である。同一の分類に属するコンピュータは互いに情報を参照できる。この技術は、情報を授受するコンピュータの集合が事前に分かっている場合には、アクセス制御が厳格となって有効である。しかしながら、インターネット等の一般のネットワークにおいては、情報の参照を許可するコンピュータの集合を予め静的に定めるのは現実的でない。
【0007】
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の第1の形態においては、ファイルにアクセス制限を設定するシステムであって、単一の第1ファイルとして結合された複数の第2ファイルのうち少なくとも1つについて、当該第2ファイルのハッシュ値と、当該第2ファイルに前記結合する処理の前に設定されていたアクセス制限を示す制限情報とを対応付けて記憶する記憶部と、複数の第4ファイルを結合して生成された単一の第3ファイルを分割して少なくとも1つの前記第4ファイルを生成する処理が行われたことを条件に、生成した当該第4ファイルのハッシュ値を算出して、算出した当該ハッシュ値に一致するハッシュ値を前記記憶部から検索する検索部と、当該第4ファイルのハッシュ値に一致するハッシュ値が検索されたことを条件に、検索された当該ハッシュ値に対応付けて前記記憶部に記憶された制限情報に基づいて、当該第4ファイルにアクセス制限を設定する制限設定部とを備えるシステムを提供する。また、当該システムとしてコンピュータを機能させるプログラム、および、当該システムとしてコンピュータを動作させる方法を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【0009】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0010】
図1は、情報システム10の全体構成を示す。情報システム10は、通信ネットワークを介して相互に接続された情報処理装置20−1〜6を備える。情報処理装置20−1〜3は、同一の局所ネットワークに接続する。情報処理装置20−4〜6は、当該局所ネットワークとは異なる他の局所ネットワークに接続する。この情報システム10は、情報処理装置20−1〜6が局所ネットワークの境界を越えてファイルを転送し、または、転送のために複数のファイルを結合して単一のファイルを生成する場合においても、ファイルに設定されたアクセス制限を適切に維持することを目的とする。
【0011】
図2は、情報処理装置20−1から情報処理装置20−6にファイルを転送する場合において、各ファイルに設定されるアクセス制限の第1例を示す。情報処理装置20−1は、ファイルf1と、ファイルf2と、ファイルf3とを記憶している。これらのファイルには、それぞれ、アクセス制限c1、アクセス制限c2およびアクセス制限c3が設定されている。情報処理装置20−1は、ファイルf1−f3を結合してファイルaを生成する。情報処理装置20−1は、ファイルaに対し、アクセス制限c1−c3のうち最も制限の強いc2を選択して、結合後のファイルaに設定する。これは、セキュリティを優先して、最も制限の強いc2が設定されたファイルf2の内容は不用意に漏洩するのを防止するためである。
【0012】
次に、情報処理装置20−1は、アクセス制限c4の設定された電子メールに、ファイルaを添付して、電子メールm´を生成する。この電子メールm´には、アクセス制限c4の方がアクセス制限c3と比較して制限が強いので、アクセス制限c4が設定される。情報処理装置20−6は、この電子メールm´を受信して、この電子メールm´から添付ファイルaを分離する。電子メールにファイルを添付するソフトウェアが、情報処理装置20−1および情報処理装置20−6で共通する場合には、分離した添付ファイルには添付前のアクセス制限c2が設定される場合がある。しかしながら、電子メールの送信先にそのようなソフトウェアがインストールされているとは限らない。このため、送信先の情報処理装置20−6において、電子メールから添付ファイルaを分離したときに、それにどのようなアクセス制限を設定するべきか不明な場合がある。
【0013】
この場合、情報処理装置20−6は、セキュリティを優先して、分離したファイルaに対し、電子メールm´に設定されていたアクセス制限cを設定する。電子メールm´に設定されているアクセス制限c4は、セキュリティを優先したとすれば、それに添付された全ファイルの中で最も制限の強いアクセス制限であるはずだからである。このように、情報処理装置20−1および情報処理装置20−6の処理を比較すると、同じファイルaであっても、電子メールへの添付前後でそのアクセス制限が変化してしまう場合がある。そして、変化の方向は、制限がより強くなる方向となる。これは、ファイル圧縮・伸張についてもいえる。即ち、情報処理装置20−6が、ファイルaを伸張してファイルf1−f3を生成する場合、セキュリティを優先したとすれば、ファイルf1−f3にはアクセス制限c4がそれぞれ設定される。この結果、ファイルf1−f3に設定されるアクセス制限は、圧縮処理前よりも強くなる。
【0014】
図3は、情報処理装置20−1から情報処理装置20−6にファイルを転送する場合において、各ファイルに設定されるアクセス制限の第2例を示す。ファイルf1−f3を結合してファイルaを生成し、ファイルaを電子メールmに添付して電子メールm´を生成するところまでは第1例と同様である。即ち、電子メールm´には、それまでの処理において最も強いアクセス制限c4が設定される。情報処理装置20−6は、電子メールm´を受信して、その電子メールm´から添付ファイルaを分離する。添付ファイルaにアクセス制限を設定しようとするときに、何らかの方法でそれが情報処理装置20−1におけるファイルaと同一であることが分かれば、添付前に設定されていたアクセス制限を添付後のファイルaに設定できる。
【0015】
また、情報処理装置20−6は、ファイルaを伸張してファイルf1−f3を生成する。伸張後のファイルf1−f3にアクセス制限を設定しようとするときに、何らかの方法でそれらが情報処理装置20−1におけるファイルf1−f3と同一であることが分かれば、圧縮前に設定されていたアクセス制限を伸張後のファイルf1−f3に設定できる。
このように、圧縮用のソフトウェアやオペレーティングシステムの仕様が統一されていない場合や、局所ネットワークの境界を越えてファイル転送される場合であっても、圧縮前後や添付前後でファイルの同一性を判定できれば、アクセス制限を適切に継承することができる。本実施形態に係る情報処理装置20−1は、このようにファイルの同一性を判定することで、アクセス制限の承継を可能とすることを目的とする。以下、具体的に説明してゆく。
【0016】
図4は、情報処理装置20−1の機能構成の一例を示す。情報処理装置20−1は、後述のCPU1000、RAM1020およびハードディスクドライブ1040等の処理により、オペレーティングシステム200−1と、制限設定モジュール210−1とを動作させている。制限設定モジュール210−1は、オペレーティングシステム200−1において発生したイベントを検出することにより、利用者の指示や他のソフトウェアの指示に基づくファイル操作を検出する。そして、制限設定モジュール210−1は、ファイルの同一性判断その他の処理を行った後、オペレーティングシステム200−1に指示して、操作後のファイルに対しアクセス制限を設定する。具体的には、制限設定モジュール210−1は、CPU1000その他のハードウェアを、検出部220−1と、格納部225−1と、記憶部230−1と、検索部240−1と、制限設定部250−1と、連携部260−1として機能させる。なお、ファイルの同一性を精度良く判断するためには、情報処理装置20−1において各ソフトウェア・モジュールが、悪意ある利用者の改ざん等を受けずに正しく動作していることが前提となる。このような正常動作の検証については、上述の非特許文献5−9を参照されたい。
【0017】
検出部220−1は、複数の第2ファイルを結合して単一の第1ファイルを生成する処理を検出する。これに応じ、格納部225−1は、この第1ファイル、および、それぞれの第2ファイルのハッシュ値を算出して、記憶部230−1に格納する。第1ファイルとは、例えば図2−3の情報処理装置20−1におけるファイルaであり、第2ファイルとは、例えば図2−3の情報処理装置20−1におけるファイルf1−3のそれぞれである。また、格納部225−1は、この結合の処理前に各第2ファイルに設定されていたアクセス制限を示す制限情報を、これらのハッシュ値に対応付けて記憶部230−1に格納する。制限情報とは、例えば図2−3の情報処理装置20−1におけるc1−c3であり、具体的には、ユーザと操作(ファイル書込み、読出など)の組合せ毎に、そのユーザにその操作を許可するかどうかを示すものである。
【0018】
また、検出部220−1は、ファイルの同一性判断の精度を高めるべく、結合処理の時刻およびファイル名を記憶部230−1に格納してもよい。この精度を更に高めるべく、格納部225−1は、ファイルを結合する処理やファイルを転送する処理についても、各ファイルのハッシュ値および処理時刻を記憶部230−1に格納してもよい。さらに、検出部220−1は、ハッシュ値を必要なタイミングで検索部240−1により検索させるべく、第4ファイルに対しアクセスの要求が発行されたことを検出して、検索部240−1に通知してもよい。
【0019】
記憶部230−1は、既に述べた格納部225−1の処理により、各ファイルのハッシュ値、制限情報、時刻やファイル名等を記憶している。検索部240−1は、複数の第4ファイルを結合して生成された単一の第3ファイルを分割して少なくとも1つの第4ファイルを生成する処理が行われたことを条件に、生成した当該第4ファイルのハッシュ値に一致するハッシュ値を記憶部230−1の第2ファイルのハッシュ値から検索する。このハッシュ値の検索は、ある第4ファイルにアクセスの要求が発行されたことに応じて行われることが好ましい。制限設定部250−1は、この第4ファイルのハッシュ値に一致するハッシュ値が検索されたことを条件に、検索された当該ハッシュ値に対応付けて記憶部230−1に記憶された制限情報に基づいて、当該第4ファイルにアクセス制限を設定する。これにより、例えば図3に示したように、情報処理装置20−1における結合前のファイルf1と、情報処理装置20−6における分割後のファイルf1との同一性が判断されて、アクセス制限を適切に維持することができる。
【0020】
連携部260−1は、記憶部230−1に記憶されたハッシュ値および制限情報を読み出して、情報処理装置20−2〜6を含む情報処理装置20−2〜Nに送信する。また、連携部260−1は、情報処理装置20−2〜Nの記憶部(記憶部230−2〜Nとする)からハッシュ値および制限情報を読み出して記憶部230−1に記憶する。このようなハッシュ値の共有は、情報処理装置20−1における他の処理を妨害しない範囲内で、例えば定期的に行われてもよい。この共有により、ファイルの分割および結合が異なる複数の情報処理装置20において処理された場合であっても、アクセス制限の情報を適切に維持させることができる。
【0021】
条件設定部270−1は、検索部240−1の検索においてハッシュ値の一致に加えて満たすべき条件を設定する。満たすべき条件は、ファイルの同一性を判断するためのポリシーとして把握することができる。例えば、条件設定部270−1がハッシュ値の一致に加えて時刻の先後関係を設定した場合、検索部240−1は、ハッシュ値の検索時に時刻を更に用いる。具体的には、検索部240−1は、第4ファイルのアクセスが要求された場合、その第4ファイルのハッシュ値に一致し、かつその第4ファイルを生成した時刻よりも前の時刻に結合された第2ファイルのハッシュ値を記憶部230−1から検索する。検索されるハッシュ値が同一のファイルを示すものであるならば、結合の処理の方が分割の処理より先のはずだからである。このように時刻の情報を利用することで、ファイルの同一性をより正確に判断することができる。
【0022】
なお、検索において満たすべき条件は、システム管理者などによる外部の指示に応じて条件設定部270−1が任意に設定可能であることが望ましい。これにより、制限設定モジュール210−1の利用者の状況に応じて、セキュリティおよびアクセスの自由度をどのような比重で優先するかを調整することができる。これに代えて、検索において満たすべき条件は、ある程度自動的に設定されるものであってもよい。例えば、条件設定部270−1は、検索するファイルの種別毎に、検索部240−1の検索において満たすべき条件を設定してもよい。例えば、テキストファイルならばハッシュ値に加えてファイル名および時刻の先後を条件とし、バイナリファイルならばハッシュ値の一致のみを条件としてもよい。
【0023】
図5は、記憶部230−1のデータ構造の一例を示す。記憶部230−1は、処理されたファイル操作毎に、その処理の属性と、その処理前に入力ファイルに設定されていたアクセス制限とを対応付けて記憶する。処理の属性とは、たとえば、その処理時刻と、その操作への入力としたファイルと、その操作の結果出力されたファイルと、その操作の種類とを含む。
【0024】
複数の第2ファイルが結合されて第1ファイルが生成された場合、記憶部230−1は、少なくとも1つの第2ファイルのファイル名およびハッシュ値を入力ファイルフィールドに記憶し、第1ファイルのファイル名およびハッシュ値を出力ファイルフィールドに記憶する。また、記憶部230−1は、結合の処理時刻を時刻フィールドに記憶し、結合の処理の種類を操作フィールドに記憶する。また、これらのハッシュ値等に対応付けて、記憶部230−1は、結合の処理の前に当該第2ファイルに設定されていたアクセス制限を示す制限情報を記憶する。一例として、あるエントリには、6月3日の11:00に、A.pptという名前のファイル(ハッシュ値1A2BC4)が他のファイルと共にデータ圧縮され、Z.pptという名前のファイル(ハッシュ値2B3156)が生成されたことが記憶される。そして、データ圧縮の前にA.pptに設定されていたアクセス制限はc1である。
【0025】
記憶部230−1が記憶する結合の処理とは、データ圧縮の処理のみならず、ファイルを電子メールに添付する処理を含む。この例として、記憶部230−1は、あるエントリにおいて、6月3日の15:00に、Z.zipという名前のファイル(ハッシュ値2B3156)が、電子メール(ハッシュ値2D4C51)に添付されたことを記憶する。また、記憶部230−1は、これらに対応付けて、添付前にZ.pptに設定されていたアクセス制限を示す制限情報としてc2を記憶する。
【0026】
既に述べたように、記憶部230−1は、ファイルを結合する処理のみならず、分割する処理についても、そのハッシュ値やファイル名等を記憶してよい。たとえば、複数の第4ファイルを結合して生成された単一の第3ファイルを分割して少なくとも1つの第4ファイルが生成された場合、記憶部230−1は、当該第3ファイルのファイル名およびハッシュ値を入力ファイルフィールドに記憶し、当該第4ファイルのファイル名およびハッシュ値を出力ファイルフィールドに記憶する。また、記憶部230−1は、分割の処理時刻を時刻フィールドに記憶し、分割の処理の種類を操作フィールドに記憶する。一例として、あるエントリには、6月4日の15:00に、Z.zipという名前のファイル(ハッシュ値2B3156)が分割され、A.pptという名前のファイル(ハッシュ値1A2BC4)が生成されたことが記憶される。
【0027】
記憶部230−1が記憶する分割の処理とは、データ伸張の処理のみならず、電子メールから添付ファイルを分離する処理を含む。この例として、記憶部230−1は、あるエントリにおいて、6月3日の16:00に、電子メール(ハッシュ値3D4518)から、Z.zipという名前のファイル(ハッシュ値2B3156)が分離されて保存されたことを記憶する。
【0028】
また、記憶部230−1は、ファイルを結合・分割する処理のみならず、ファイルを転送する処理についても、そのハッシュ値やファイル名等を記憶してよい。例えば、記憶部230−1は、情報処理装置20−1の内部から外部にファイルが転送された場合、そのファイルのハッシュ値を、内部から外部に転送されたことを示す出力情報、転送時刻その他の情報に対応付けて記憶する。一例として、あるエントリには、6月3日の12:00に、Z.zipという名前のファイル(ハッシュ値2B3156)が書き込まれたメディアが取り外されたことが記憶されている。このとき、記憶部230−1は、出力情報および転送時刻に更に対応付けて、ファイルを転送した記憶装置の識別情報を記憶してもよい。記憶装置とは、例えば、USBメモリ等の半導体デバイス、リムーバブル・ハードディスクドライブ、書込み可能な光学メディアなどであり、記憶装置の識別情報とは、例えば、これらの製造者、製品の種類、製造番号等を識別する情報である。この識別情報は、出力ファイルフィールドに記憶されてもよい。
【0029】
同様に、ファイルが情報処理装置20−1の外部から内部に転送された場合、記憶部230−1は、そのファイルのハッシュ値を、外部から内部に転送されたことを示す入力情報、転送時刻、および、当該ファイルを転送した記憶装置の識別情報に対応付けて記憶する。一例として、あるエントリには、6月4日の12:00に、Z.zipという名前のファイル(ハッシュ値2B3156)を記録したメディア(識別情報5D398C)が装着されたことが記憶されている。
なお、ファイルの転送はメディアの着脱に限定されるものではない。ファイルの転送とは、例えば、電子メールであるファイルを他の情報処理装置20に送信する処理であってよい。この場合、記憶部230−1は、記憶装置の識別情報に代えて、その電子メールのヘッダの内容を識別する識別情報を、ハッシュ値等に対応付けて記憶する。
【0030】
図6は、情報処理装置20−1が結合処理を検出した場合の処理の流れを示す。検出部220−1は、ファイルを結合する処理の要求を検出する(S600)。ファイルを結合する処理とは、例えば、複数の第2ファイルをデータ圧縮して単一の第1ファイルを生成する処理である。これに代えて、ファイルを結合する処理とは、添付ファイルである第2ファイルを電子メールである他の第2ファイルに添付して、添付後の電子メールである第1ファイルを生成する処理であってもよい。
【0031】
この検出の処理は、例えば、検出部220−1が、オペレーティングシステム200−1により検出されるファイル結合のイベントをフックすることによって実現される。詳細には、オペレーティングシステム200−1が提供する、ファイル結合のイベントが検出された場合に実行させるAPI(Application Programming Interface)のプログラム中の、結合処理の実行に先立って実行される部分に、検出部220−1を実現するプログラムの呼び出しを記述することにより実現される。
【0032】
ファイルを結合する処理が検出されなければ(S600:NO)、情報処理装置20−1は図6の処理を終了する。一方、ファイルを結合する処理が検出されたことを条件に(S600:YES)、格納部225−1は、ファイルが結合されたことを示す結合情報として、結合の処理の種類を示す操作名を記憶部230−1に格納する(S610)。格納される操作名は、例えば、データ圧縮であれば「圧縮」、電子メールにファイルを添付する処理であれば「添付」である。そして、結合前のそれぞれの第2ファイルについて、以下の処理を繰り返す(S620)。
【0033】
まず、格納部225−1は、当該第2ファイルに設定されているアクセス制限を示す制限情報を記憶部230−1に格納する(S625)。次に、格納部225−1は、当該第2ファイルのハッシュ値を算出して、当該制限情報に対応付けて記憶部230−1に格納する(S630)。ハッシュ値は、たとえば、第2ファイルをバイナリ・データとみなして、そのバイナリ・データをハッシュ関数に入力することによって算出される。このハッシュ関数は、入力データが異なる場合には極めて高い確率で異なる出力データを出力する関数である。さらに、格納部225−1は、当該第2ファイルのファイル名を、当該制限情報およびハッシュ値に対応付けて記憶部230−1に格納する(S635)。格納部225−1は、以上の処理を、各第2ファイルについて繰り返す(S640)。
【0034】
そして、検出部220−1はオペレーティングシステム200−1に一旦処理を戻し、オペレーティングシステム200−1は、複数の第2ファイルを結合して単一の第1ファイルを生成する処理を行う(S650)。この処理の完了を条件に、格納部225−1は、結合したこの第1ファイルのハッシュ値を算出して(S660)、第2ファイルについてS625−S635において記憶した制限情報等に対応付けて格納する(S670)。第1ファイルのハッシュ値は、全ての第2ファイルのそれぞれに対応付けて格納されることが好ましい。同様に、格納部225−1は、第1ファイルのファイル名を、各第2ファイルに対応付けて記憶部230−1に格納する(S680)。そして、格納部225−1は、この結合の処理が実行された時刻を、各第2ファイルに対応付けて記憶部230−1に格納する(S690)。
【0035】
図7は、情報処理装置20−1が分割処理を検出した場合の処理の流れを示す。検出部220−1は、ファイルを分割する処理の要求を検出する(S700)。ファイルを分割する処理とは、例えば、複数の第4ファイルをデータ圧縮して生成した単一の第3ファイルをデータ伸張して、少なくとも1つの第4ファイルを生成する処理である。これに代えて、ファイルを分割する処理とは、電子メールである第3ファイルから添付ファイルである第4ファイルを分離する処理であってもよい。この検出の処理は、結合の処理の検出と同様、検出部220−1が、オペレーティングシステム200−1により検出されるイベントをフックすることによって実現されてよい。
【0036】
ファイルを分割する処理が検出されなければ(S700:NO)、情報処理装置20−1は図7の処理を終了する。一方。ファイルを分割する処理が検出されたことを条件に(S700:YES)、格納部225−1は、ファイルが分割されたことを示す分割情報として、分割の処理の種類を示す操作名を記憶部230−1に格納する(S705)。格納される操作名は、例えば、データ伸張であれば「伸張」、電子メールからの添付ファイルの分離であれば「保存」である。そして、格納部225−1は、分割前の第3ファイルのハッシュ値を算出して(S710)、既に格納した操作名に対応付けて記憶部230−1に格納する(S715)。また、格納部225−1は、この第3ファイルのファイル名を、既に格納した操作名およびハッシュ値に対応付けて記憶部230−1に格納する(S720)。そして、検出部220−1はオペレーティングシステム200−1に一旦処理を戻し、オペレーティングシステム200−1は分割処理を実行する(S730)。
【0037】
この処理の完了を条件に、格納部225−1は、分割したそれぞれの第4ファイルについて以下の処理を繰り返す(S740)。まず、格納部225−1は、当該第4ファイルのハッシュ値を算出して(S745)、算出したそのハッシュ値を、上記第3ファイルについて既に記憶したハッシュ値等に対応付けて記憶部230−1に格納する(S750)。また、格納部225−1は、当該第4ファイルのファイル名を、既にS750において格納したハッシュ値に対応付けて記憶部230−1に格納する(S760)。情報処理装置20−1は、以上の処理を各第4ファイルについて繰り返す(S770)。そして、格納部225−1は、図7の処理において記憶部230−1に格納した各エントリ(即ち、各第4ファイルについて、ハッシュ値およびファイル名を、第3ファイルのハッシュ値およびファイル名に対応付けたエントリ)に対応付けて、更に、分割処理の時刻を格納する(S780)。
【0038】
図8は、情報処理装置20−1が入力処理又は出力処理を検出した場合の処理の流れを示す。検出部220−1は、入力処理又は出力処理を検出する(S800)。入力処理とは、ファイルを情報処理装置20−1の外部から内部に転送する処理であり、たとえば、着脱可能な記憶装置を情報処理装置20−1に装着して当該記憶装置からファイルを読み出して当該記憶装置を取り外す処理、または、電子メールを受信する処理のことをいう。一方、出力処理とは、ファイルを情報処理装置20−1の内部から外部に転送する処理であり、たとえば、当該記憶装置にファイルを書き込んで当該記憶装置を取り外す処理、または、電子メールを送信する処理のことをいう。この検出の処理もまた、例えば検出部220−1がオペレーティングシステム200−1により検出されるイベントをフックすることにより実現される。
【0039】
入力処理も出力処理も検出されなければ(S800:NO)、情報処理装置20−1は図8の処理を終了する。一方、入力処理又は出力処理が検出されたことを条件に(S800:YES)、格納部225−1は、検出された当該処理の操作名を記憶部230−1に格納する(S810)。格納される操作名は、例えば、記憶装置に関する入力処理であれば「装着」、電子メールに関する入力処理であれば「受信」であり、これらの操作名が本発明に係る入力情報としての役割を果たす。同様に、記憶装置に関する出力処理であれば、格納される操作名は「取外し」であり、電子メールに関する出力処理であれば「送信」であり、これらの操作名が本発明に係る出力情報としての役割を果たす。
【0040】
次に、格納部225−1は、転送される当該ファイルのハッシュ値を算出して、既に格納した操作名に対応付けて記憶部230−1に格納する(S820)。また、格納部225−1は、転送される当該ファイルのファイル名を、既に格納した操作名に対応付けて記憶部230−1に格納する(S830)。また、格納部225−1は、既に格納したこれらの操作名、ハッシュ値およびファイル名に更に対応付けて、ファイルが転送された時刻を格納する(S840)。ファイルが転送された時刻は、電子メールの例の場合は電子メールの送受信時刻であり、記憶装置の例の場合は取り外し又は装着時刻である。また、格納部225−1は、記憶装置との間のファイル転送の場合には当該記憶装置のシリアル番号を、電子メールの送受信の場合には当該電子メールのヘッダの内容を識別する情報を、操作名、ハッシュ値、ファイル名および時刻に更に対応付けて記憶部230−1に格納する(S850)。
【0041】
検出部220−1は、これに加えて、記憶装置からファイルを読み出した時刻、および/または、記憶装置にファイルを書き込んだ時刻を更に記憶してもよい。これにより、読出および書込みの間で時刻の先後関係を判断することができ、ファイル同一性の判断精度をより高めることができる。
【0042】
図9は、情報処理装置20−1がファイルアクセスを検出した場合の処理の流れを示す。図10は、図9に示す処理の流れをファイル操作に対応付けて概念的に示す。以下、図9および図10を対比して、情報処理装置20−1の処理の流れを説明する。検出部220−1は、ファイルに対しアクセスの要求が発行されたことを検出する(S900)。ファイルに対するアクセスとは、例えば、ファイルの読出、ファイルの書込み、ファイルの削除、又はファイルの更新を含む。上述の例と同様、アクセスの検出もまた、検出部220−1がオペレーティングシステム200−1により検出されるイベントをフックすることにより実現される。図10に示すように、例えば、分割により生成された第4ファイルfnへのアクセスが検出される。
【0043】
アクセスの要求が検出されなければ(S900:NO)、検出部220−1は図9の処理を終了する。アクセスの要求が検出されると(S900:YES)、検索部240−1は、アクセスの要求されたファイルと属性のマッチする分割処理を記憶部230−1から検索する(S910)。たとえば、当該ファイルのハッシュ値に一致する第4ファイルのハッシュ値、および、分割情報の組が記憶部230−1から検索される。図10においては、例えば、ファイルaを分割してファイルfnを生成する処理がこれに相当する。
【0044】
検索されなければ(S915:NO)、検索部240−1は、オペレーティングシステム200−1に処理を戻し、オペレーティングシステム200−1は、当該ファイルへアクセスする(S990)。検索されれば(S915:YES)、検索部240−1は、当該第4ファイルに対応付けて記憶部230−1に記憶されている分割処理の属性を読み出す(S920)。分割処理の属性とは、たとえば、当該第4ファイルおよび分割情報の組に対応して記憶されている、当該第4ファイルを生成するために分割した第3ファイルのハッシュ、および、分割の処理時刻等である。
【0045】
次に、検索部240−1は、読み出した属性にマッチする入力情報を記憶部230−1から検索する(S925)。たとえば、当該第3ファイルのハッシュ値に一致するハッシュ値、および、入力情報の組が記憶部230−1から検索される。検索される入力情報は、図10の例においては、ファイルaが情報処理装置20−1に転送される処理を示す。
【0046】
検索されなければ(S930:NO)、検索部240−1は、オペレーティングシステム200−1に処理を戻し、オペレーティングシステム200−1は、アクセスの要求されたファイルへアクセスする(S990)。
なお、入力情報が検索されない場合において、検索部240−1は、読み出した属性にマッチする分割処理を更に検索してもよい。マッチするかどうかの処理内容はS910として示したものでよい。そこで分割処理が検索されれば、検索部240−1は、更に、その分割処理の属性にマッチする入力情報を検索する。このようにすることで、分割処理の結果生成されたファイルが更に分割されるというように、分割が複数段に渡る場合であっても、アクセス制限の情報を適切に検索できる。
【0047】
一方、検索されれば(S930:YES)、検索部240−1は、当該入力情報に対応付けて記憶部230−1に記憶されている属性を読み出す(S935)。入力情報の属性とは、たとえば、ファイルが記憶装置から読み出された場合における、その記憶装置のシリアル番号等、および、そのファイルの転送時刻である。
【0048】
次に、検索部240−1は、読み出した属性にマッチする出力情報を記憶部230−1から検索する(S940)。たとえば、当該第3ファイルのハッシュ値に一致するハッシュ値、当該入力情報の識別情報に一致する識別情報、および、当該入力情報の転送時刻よりも前の転送時刻に対応付けられている出力情報が検索される。検索される出力情報は、図10の例においては、ファイルaが情報処理装置20−6から外部に転送される処理を示す。
【0049】
検索されなければ(S945:NO)、検索部240−1は、オペレーティングシステム200−1に処理を戻し、オペレーティングシステム200−1は、アクセスの要求されたファイルへアクセスする(S990)。検索されれば(S945:YES)、検索部240−1は、当該出力情報に対応付けて記憶部230−1に記憶されている属性を読み出す(S950)。出力情報の属性とは、例えば、ファイルが記憶装置に書き込まれてその記憶装置が取り外された場合における、そのファイルのハッシュ値、および、取外しの時刻などである。
【0050】
次に、検索部240−1は、読み出した属性にマッチする結合処理を記憶部230−1から検索する(S955)。たとえば、このファイルのハッシュ値に一致するハッシュ値、当初にアクセスの要求された第4ファイルのハッシュ値に一致するハッシュ値、および、当該転送時刻よりも前の処理時刻に対応付けられている結合情報が検索される。検索される結合情報は、図10の例においては、ファイルf1−nが結合されてファイルaが生成される処理を示す。
【0051】
属性がマッチしたと判断する条件は、条件設定部270−1の設定に依存する。即ち、検索部240−1は、このファイルのハッシュ値と一致し、かつ、この結合処理の属性との間で条件設定部270−1により設定された条件が満たされる属性の組を検索する。条件設定部270−1により条件がファイル種別毎に設定されている場合には、検索部240−1は、当初にアクセスの要求された第4ファイルの種別に応じた条件が満たされるかどうかを判断する。時刻の先後関係も属性が満たすべき条件のうちの1つである。満たすべき条件は、このほかに、ファイル名の一致などがある。詳しくは、図11−15を参照して後に述べる。
【0052】
検索されなければ(S960:NO)、検索部240−1は、オペレーティングシステム200−1に処理を戻し、オペレーティングシステム200−1は、アクセスの要求されたファイルへアクセスする(S990)。検索されれば(S960:YES)、制限設定部250−1は、この結合情報に対応する制限情報を記憶部230−1から読み出す(S970)。そして、制限設定部250−1は、読み出したこの制限情報に基づいて、アクセスの要求が発行されたこのファイルにアクセス制限を設定する(S980)。設定されるアクセス制限は、制限情報が表すアクセス制限そのものであることが好ましいが、ファイルの転送元および転送先のコンピュータの機種が異なる場合には、制限情報が表すアクセス制限の一部を変更したものであってもよい。そして、検出部220−1は、オペレーティングシステム200−1に処理を戻し、オペレーティングシステム200−1は、アクセス制限の設定されたそのファイルに、発行された要求に応じてアクセスする(S990)。
【0053】
以下、図11−14を、図15と対比して、処理の詳細を述べる。
図11は、S910における処理の詳細を示す。まず、検索部240−1は、アクセスの要求が発行されたファイルのハッシュ値を算出する(S1100)。図15の例では、アクセス要求の対象であるA.pptというファイルに対し、1A2BC4というハッシュ値が算出される。次に、検索部240−1は、記憶部230−1を検索対象として、記憶部230−1に記憶されている各分割情報について以下の処理を繰り返す(S1110)。
【0054】
検索部240−1は、算出したハッシュ値が、当該分割情報に対応付けられているハッシュ値に一致するかどうか判断する(S1120)。また、検索部240−1は、当該ファイルのファイル名が、当該分割情報に対応付けられているファイル名に一致するかどうか判断する(S1130)。何れかが一致しなければ(S1120:NOまたはS1130:NO)、検索部240−1はS1150に処理を移して次の分割情報について処理を繰り返す。何れも一致すれば(S1130:YES)、対応する分割情報が検索されたものとして繰返しを終了する(S1140)。図15の例では、17:00に第4ファイルとしてファイルA.pptを生成した伸張処理が検索される。
【0055】
検索部240−1は、以上の処理を各分割情報について繰り返し(1150)、対応する分割情報が検索されることなく繰り返し処理が終了した場合には、対応する分割情報が検索されなかったと判断する(S1160)。
検索部240−1は、以上の処理により、アクセスが要求された第4ファイルのハッシュ値に一致するハッシュ値、当該第4ファイルのファイル名に一致するファイル名、および、分割情報の組を記憶部230−1から検索してゆく。
【0056】
図12は、S925における処理の詳細を示す。この処理に先立って、分割情報についての各種属性、例えば第3ファイルの属性が予め読み出されている(上記S920)。図15の例では、17:00に伸張処理の対象となったZ.zipおよびハッシュ値(2B3156)が読み出されている。まず、検索部240−1は、記憶部230−1を検索対象として、記憶部230−1に記憶されている各入力情報について以下の処理を繰り返す(S1210)。
【0057】
検索部240−1は、第3ファイルのハッシュ値が、当該入力情報に対応付けられているハッシュ値と一致するかどうか判断する(S1220)。また、検索部240−1は、第3ファイルのファイル名が、当該入力情報に対応付けられているファイル名と一致するかどうか判断する(S1230)。また、検索部240は、当該入力情報に対応付けられている転送時刻が、第3ファイルを生成する処理の時刻より先かどうか判断する(S1240)。何れかの条件が充足しなければ(S1220:NO、S1230:NOまたはS1240:NO)、検索部240−1は、S1260に処理を移して次の入力情報について処理を繰り返す。
【0058】
何れも充足すれば(S1240:YES)、対応する入力情報が検索されたものとして繰返しを終了する(S1250)。図15の例では、15:00に、ファイルZ.zipを記録したメディアが装着された処理が検索される。
検索部240−1は、以上の処理を各入力情報について繰り返し(S1260)、対応する入力情報が検索されることなく繰り返し処理が終了した場合には、対応する入力情報が検索されなかったと判断する(S1270)。
【0059】
図13は、S940における処理の詳細を示す。この処理に先立って、入力情報についての各種属性、例えば記憶装置の識別情報、操作の種類、およびファイルの転送時刻が予め読み出されている(上記S935)。図15の例では、転送時刻である15:00、メディアの識別情報(5D398C)、および操作名「読出」が読み出されている。検索部240−1は、情報処理装置20−1以外の他の情報処理装置20−2〜Nにおける記憶部230を検索対象として(記憶部230−2〜Nとする)、記憶部230−2〜Nに記憶されている各出力情報について以下の処理を繰り返す(S1310)。
なお、既に連携部260−1により記憶部230−2〜Nから記憶部230−1に情報が転送されている場合には、検索部240−1はまず記憶部230−1を検索対象とし、検索できなかった場合には連携部260−1に指示して情報を収集させたうえで、記憶部230−1を検索対象としてもよい。
【0060】
まず、検索部240−1は、入力情報の操作名と当該出力情報の操作名とが対応しているかどうかを判断する(S1320)。例えば、当該入力情報の操作名が「装着」であるのに対し、当該出力情報の操作名が「取外し」であれば、操作名が対応している。一方、当該入力情報の操作名が「装着」であるのに、当該出力情報の操作名が電子メールの「送信」であれば、操作名が対応しない。
【0061】
次に、検索部240−1は、入力情報に対応する識別情報が、当該出力情報に対応する識別情報に一致するかどうかを判断する(S1330)。即ち例えば、ファイルを転送した記憶装置のシリアル番号、電子メールのヘッダなどが一致するかどうかが判断される。次に、検索部240−1は、入力情報に対応する転送時刻が、当該出力情報に対応する転送時刻よりも先であるかどうかを判断する(S1340)。次に、検索部240−1は、入力情報に対応付けられたファイルのハッシュ値およびファイル名が、当該出力情報に対応付けられたファイルのハッシュ値およびファイル名に一致するかどうかを判断する(S1345)。
【0062】
何れの条件も充足すれば(S1345:YES)、検索部240−1は、対応する出力情報が検索されたものとして繰り返し処理を終了する(S1350)。図15の例では、12:00にファイルZ.zipを書き込んだメディアが取り外された処理が検索される。
検索部240−1は、以上の処理を各出力情報について繰り返し(S1360)、対応する出力情報が検索されることなく繰り返し処理が終了した場合には、対応する出力情報が検索されなかったと判断する(S1370)。
【0063】
図14は、S955における処理の詳細を示す。この処理に先立って、出力情報についての各種属性、例えばファイルのハッシュ値およびファイル名、ならびに、ファイルの転送時刻が予め読み出されている(上記S950)。図15の例では、転送時刻である12:00、ファイル名Z.zip、および、ハッシュ値2B3156、が読み出される。検索部240−1は、この出力情報が検索された記憶部230(たとえば記憶部230−Mとする)を検索対象として、記憶部230−Mに記憶されている各結合情報について以下の処理を繰り返す(S1410)。
【0064】
まず、検索部240−1は、当該結合情報に対応して記憶され、結合された第1ファイルを示すハッシュ値が、出力情報に対応するハッシュ値に一致するかどうかを判断する(S1420)。次に、検索部240−1は、当該結合情報に対応して記憶された、第1ファイルのファイル名が、出力情報に対応するファイル名と一致するかどうかを判断する(S1430)。次に、検索部240−1は、出力情報に対応する転送時刻が、当該結合情報に対応する処理時刻より先であるかどうかを判断する(S1440)。
【0065】
何れの条件も充足すれば(S1440:YES)、検索部240−1は、対応する結合情報が検索されたものとして繰り返し処理を終了する(S1450)。図15の例では、11:00にファイルA.pptと他のファイルを結合してファイルZ.zipを生成した処理が検索される。
検索部240−1は、以上の処理を各結合情報について繰り返し(S1460)、対応する結合情報が検索されることなく繰り返し処理が終了した場合には、対応する結合情報が検索されなかったと判断する(S1470)。
【0066】
このように、情報処理装置20−1が図11から図14までの処理を順次行うことで、アクセスの要求された第4ファイルについて、当該第4ファイルのハッシュ値に一致するハッシュ値、および、当該第4ファイルを生成した時刻よりも先の時刻の組が、情報処理装置20−1とは異なる情報処理装置から検索される。これにより、ファイル転送のみならずファイルの分割・結合が介在しても、ファイルに設定されていたアクセス制限を適切に維持することができる。また、アクセス制限の検索を、ファイルの結合、ファイルの出力、ファイルの入力、および、ファイルの分割という一連の処理経過を遡ることにより実現することで、設定するべきアクセス制限を精度良くかつ効率的に検索することができる。
【0067】
図16は、情報処理装置20−1として機能するコンピュータ30のハードウェア構成の一例を示す。なお、情報処理装置20−2〜Nのハードウェア構成についてもその一例は情報処理装置20−1のものと同様であるので、以下の説明によって代用する。コンピュータ30は、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、及びグラフィックコントローラ1075を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
【0068】
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【0069】
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、コンピュータ30が使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020又はハードディスクドライブ1040に提供する。
【0070】
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、コンピュータ30の起動時にCPU1000が実行するブートプログラムや、コンピュータ30のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、入出力チップ1070を介してRAM1020またはハードディスクドライブ1040に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【0071】
コンピュータ30に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して、記録媒体から読み出されコンピュータ30にインストールされて実行される。プログラムがコンピュータ30等に働きかけて行わせる動作は、図1から図15において説明した情報処理装置20−1おける動作と同一であるから、説明を省略する。
【0072】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ30に提供してもよい。
【0073】
以上、本実施形態に係る情報処理装置20−1によれば、動作するソフトウェアや所属する局所ネットワークが相互に異なる複数の情報処理装置の間でファイルが転送され、更には、ファイルの分割や結合が行われた場合であっても、ファイルに設定されていたアクセス制限を不必要に厳しくすることなく、適切に維持することができる。これにより、新たなオペレーティングシステムやアプリケーションプログラムの開発においては、既存のシステムとの間でアクセス制限継承のための機能を省略することができ、効率がよい。
【0074】
また、設定するべきアクセス制限の検索は、ファイルの転送、分割・結合等の記録を時刻を遡って検索することにより実現されるので、検索の精度を高めることができる。更に、検索は、ファイルにアクセスが要求されたことを条件に行われるので、アクセスが要求されない限りは情報処理装置に無用な負荷をかけず、効率がよい。具体的には、アクセスが要求されない限り、検索処理の負荷が発生しないばかりか、他の情報処理装置との間の通信も不要とすることができる。
【0075】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【0076】
【図1】図1は、情報システム10の全体構成を示す。
【図2】図2は、情報処理装置20−1から情報処理装置20−6にファイルを転送する場合において、各ファイルに設定されるアクセス制限の第1例を示す。
【図3】図3は、情報処理装置20−1から情報処理装置20−6にファイルを転送する場合において、各ファイルに設定されるアクセス制限の第2例を示す。
【図4】図4は、情報処理装置20−1の機能構成の一例を示す。
【図5】図5は、記憶部230−1のデータ構造の一例を示す。
【図6】図6は、情報処理装置20−1が結合処理を検出した場合の処理の流れを示す。
【図7】図7は、情報処理装置20−1が分割処理を検出した場合の処理の流れを示す。
【図8】図8は、情報処理装置20−1が入力処理又は出力処理を検出した場合の処理の流れを示す。
【図9】図9は、情報処理装置20−1がファイルアクセスを検出した場合の処理の流れを示す。
【図10】図10は、図9に示す処理の流れをファイル操作に対応付けて概念的に示す。
【図11】図11は、S910における処理の詳細を示す。
【図12】図12は、S925における処理の詳細を示す。
【図13】図13は、S940における処理の詳細を示す。
【図14】図14は、S955における処理の詳細を示す。
【図15】図15は、順次記録されたファイル操作を遡って走査する処理を概念的に示す。
【図16】図16は、情報処理装置20−1として機能するコンピュータ30のハードウェア構成の一例を示す。
【符号の説明】
【0077】
10 情報システム
20 情報処理装置
30 コンピュータ
200 オペレーティングシステム
210 制限設定モジュール
220 検出部
225 格納部
230 記憶部
240 検索部
250 制限設定部
260 連携部
270 条件設定部

【特許請求の範囲】
【請求項1】
ファイルにアクセス制限を設定するシステムであって、
単一の第1ファイルとして結合された複数の第2ファイルのうち少なくとも1つについて、当該第2ファイルのハッシュ値と、当該第2ファイルに前記結合する処理の前に設定されていたアクセス制限を示す制限情報とを対応付けて記憶する記憶部と、
複数の第4ファイルを結合して生成された単一の第3ファイルを分割して少なくとも1つの前記第4ファイルを生成する処理が行われたことを条件に、生成した当該第4ファイルのハッシュ値を算出して、算出した当該ハッシュ値に一致するハッシュ値を前記記憶部から検索する検索部と、
当該第4ファイルのハッシュ値に一致するハッシュ値が検索されたことを条件に、検索された当該ハッシュ値に対応付けて前記記憶部に記憶された制限情報に基づいて、当該第4ファイルにアクセス制限を設定する制限設定部と
を備えるシステム。
【請求項2】
ファイルに対しアクセスの要求が発行されたことを検出する検出部を更に備え、
前記検索部は、前記検出部がアクセスの要求の発行を検出したことに応じ、アクセスが要求された当該ファイルのハッシュ値に一致するハッシュ値を前記記憶部から検索し、
前記制限設定部は、ハッシュ値が検出されたことを条件に、当該ファイルに対するアクセスに先立って、当該ファイルにアクセス制限を設定する
請求項1に記載のシステム。
【請求項3】
複数の情報処理装置を備えたシステムであって、
それぞれの情報処理装置が、
単一の第1ファイルを生成するために結合した複数の第2ファイルのうち少なくとも1つについて、当該第2ファイルのハッシュ値と、当該第2ファイルに前記結合する処理の前に設定されていたアクセス制限を示す制限情報とを対応付けて記憶する記憶部と、
複数の第4ファイルを結合して生成された単一の第3ファイルを他の情報処理装置から受け取り、かつ、前記第3ファイルを分割して少なくとも1つの前記第4ファイルを生成する処理が行われたことを条件に、生成した当該第4ファイルのハッシュ値を算出して、算出した当該ハッシュ値に一致するハッシュ値を前記記憶部から検索する検索部と、
当該第4ファイルのハッシュ値に一致するハッシュ値が検索されたことを条件に、検索された当該ハッシュ値に対応付けて前記記憶部に記憶された制限情報に基づいて、当該第4ファイルにアクセス制限を設定する制限設定部と
を有するシステム。
【請求項4】
それぞれの情報処理装置が、ファイルに対しアクセスの要求が発行されたことを検出する検出部を更に有し、
それぞれの情報処理装置において、
前記検索部は、当該情報処理装置の前記検出部がアクセスの要求の発行を検出したことに応じ、アクセスが要求された当該ファイルのハッシュ値に一致するハッシュ値を前記記憶部から検索し、
前記制限設定部は、当該ファイルのハッシュ値に一致するハッシュ値が検索されたことを条件に、当該ファイルに対するアクセスに先立って、当該ファイルにアクセス制限を設定する
請求項3に記載のシステム。
【請求項5】
それぞれの情報処理装置が、
複数の第2ファイルを結合して単一の第1ファイルを生成する処理に応じて、少なくとも1つの当該第2ファイルのハッシュ値、当該第1ファイルのハッシュ値、および、ファイルが結合されたことを示す結合情報を、前記制限情報に対応付けて前記記憶部に格納し、さらに、
第3ファイルを分割して複数の第4ファイルを生成する処理に応じて、少なくとも1つの当該第4ファイルのハッシュ値、および、当該第3ファイルのハッシュ値に、ファイルが分割されたことを示す分割情報を対応付けて前記記憶部に格納する格納部を更に有し、
それぞれの情報処理装置において、
前記検索部は、当該情報処理装置の前記検出部がアクセスの要求の発行を検出したことに応じ、アクセスが要求された当該第4ファイルのハッシュ値に一致するハッシュ値、および、前記分割情報の組を当該情報処理装置の前記記憶部から検索し、検索されたハッシュ値および前記分割情報の組に対応する第3ファイルのハッシュ値を当該記憶部から読み出して、読み出した当該ハッシュ値、当該第4ファイルのハッシュ値、および、前記結合情報の組を、他の情報処理装置の前記記憶部から検索し、
前記制限設定部は、当該組が検索されたことを条件に、当該組に対応して当該記憶部に記憶された制限情報を当該記憶部から読み出して、当該第4ファイルに設定する
請求項4に記載のシステム。
【請求項6】
前記のファイルを結合する処理は、複数の第2ファイルをデータ圧縮して単一の第1ファイルを生成する処理であり、
前記のファイルを分割する処理は、単一の第3ファイルをデータ伸張して複数の第4ファイルを生成する処理である
請求項3に記載のシステム。
【請求項7】
前記のファイルを結合する処理は、電子メールおよび添付ファイルである複数の第2ファイルを、当該電子メールに当該添付ファイルを添付して添付後の電子メールである第1ファイルを生成する処理であり、
前記のファイルを分割する処理は、ファイルが添付された電子メールである第3ファイルから添付ファイルである第4ファイルを分離する処理である
請求項3に記載のシステム。
【請求項8】
それぞれの情報処理装置において、
前記記憶部は、前記複数の第2ファイルのうち少なくとも1つの第2ファイルについて、当該第2ファイルのハッシュ値および制限情報に更に対応付けて、当該第2ファイルのファイル名を記憶しており、
前記検索部は、前記複数の第4ファイルのうちの少なくとも1つの第4ファイルについて、当該第4ファイルのハッシュ値およびファイル名の組に一致するハッシュ値およびファイル名の組を、他の情報処理装置の前記記憶部から検索し、
前記制限設定部は、当該ハッシュ値およびファイル名の組が検索されたことを条件に、検索された当該ハッシュ値およびファイル名の組に対応付けて記憶された制限情報に基づいて、当該第4ファイルにアクセス制限を設定する
請求項3に記載のシステム。
【請求項9】
それぞれの情報処理装置において、
前記記憶部は、前記複数の第2ファイルのうち少なくとも1つの第2ファイルについて、当該第2ファイルのハッシュ値および制限情報に更に対応付けて、前記第1ファイルを生成した時刻を記憶しており、
前記検索部は、前記複数の第4ファイルのうちの少なくとも1つの第4ファイルについて、当該第4ファイルのハッシュ値に一致するハッシュ値、および、当該第4ファイルを生成した時刻よりも前の時刻の組を、他の情報処理装置の前記記憶部から検索し、
前記制限設定部は、当該ハッシュ値および時刻の組が検索されたことを条件に、検索された当該ハッシュ値および時刻の組に対応付けて記憶された制限情報に基づいて、当該第4ファイルにアクセス制限を設定する
請求項3に記載のシステム。
【請求項10】
それぞれの情報処理装置において、
前記記憶部は、当該情報処理装置の内部から外部に転送されたファイルのハッシュ値を、内部から外部に転送されたことを示す出力情報に対応付けて記憶しており、
前記検索部は、前記第3ファイルのハッシュ値に一致し、かつ、前記出力情報に対応付けられて記憶されているハッシュ値を他の情報処理装置の前記記憶部から検索し、当該ハッシュ値が検索された当該記憶部から、第4ファイルのハッシュ値に一致するハッシュ値を検索する
請求項3に記載のシステム。
【請求項11】
それぞれの情報処理装置において、
前記記憶部は、当該情報処理装置の内部から外部に転送されたファイルのハッシュ値を、前記出力情報、および、転送時刻に対応付けて記憶しており、さらに、
当該情報処理装置の外部から内部に転送されたファイルのハッシュ値を、外部から内部に転送されたことを示す入力情報、および、転送時刻に対応付けて記憶しており、
前記検索部は、他の情報処理装置から受け取った第3ファイルを分割して複数の第4ファイルを生成する処理が行われたことを条件に、前記第3ファイルのハッシュ値および前記入力情報に対応する転送時刻を、当該情報処理装置の前記記憶部から検索し、当該ハッシュ値に一致するハッシュ値、および、当該転送時刻よりも前の転送時刻に対応付けられている前記出力情報を、他の情報処理装置の前記記憶部から検索し、検索された当該記憶部から、第4ファイルのハッシュ値に一致するハッシュ値を検索する
請求項10に記載のシステム。
【請求項12】
前記のファイルの転送は、当該情報処理装置に着脱可能な記憶装置との間でファイルを転送して当該記憶装置を着脱する操作であり、
それぞれの情報処理装置において、
前記記憶部は、当該情報処理装置の内部から外部に転送されたファイルのハッシュ値を、前記出力情報、記憶装置を取り外した時刻、および、当該ファイルを転送した記憶装置の識別情報に対応付けて記憶し、さらに、
当該情報処理装置の外部から内部に転送されたファイルのハッシュ値を、前記入力情報、記憶装置を装着した時刻、および、当該ファイルを転送した記憶装置の識別情報に対応付けて記憶し、
前記検索部は、他の情報処理装置から受け取った第3ファイルを分割して複数の第4ファイルを生成する処理が行われたことを条件に、前記第3ファイルのハッシュ値および前記入力情報に対応する時刻および識別情報の組を、当該情報処理装置の前記記憶部から検索し、当該ハッシュ値に一致するハッシュ値、当該時刻よりも前の時刻、および、当該識別情報に一致する識別情報に対応付けられている前記出力情報を、他の情報処理装置の前記記憶部から検索し、検索された当該記憶部から、第4ファイルのハッシュ値に一致するハッシュ値を検索する
請求項11に記載のシステム。
【請求項13】
前記のファイルの転送は、情報処理装置と他の情報処理装置との間の電子メールの送受信であり、
それぞれの情報処理装置において、
前記記憶部は、当該情報処理装置の内部から外部に送信された電子メールのハッシュ値を、前記出力情報、転送時刻、および、当該電子メールのヘッダの内容を識別する識別情報に対応付けて記憶し、さらに、
当該情報処理装置の外部から内部に転送された電子メールのハッシュ値を、前記入力情報、転送時刻、および、当該電子メールのヘッダの内容を識別する識別情報に対応付けて記憶し、
前記検索部は、他の情報処理装置から受け取った第3ファイルを分割して複数の第4ファイルを生成する処理が行われたことを条件に、前記第3ファイルのハッシュ値および前記入力情報に対応する転送時刻および識別情報の組を、当該情報処理装置の前記記憶部から更に検索し、当該ハッシュ値に一致するハッシュ値、当該転送時刻よりも前の転送時刻、および、当該識別情報に一致する識別情報に対応付けられている前記出力情報を、他の情報処理装置の前記記憶部から検索し、検索された当該記憶部から、第4ファイルのハッシュ値に一致するハッシュ値を検索する
請求項11に記載のシステム。
【請求項14】
前記検索部の検索においてハッシュ値の一致に加えて満たすべき条件を設定する条件設定部を更に備え、
それぞれの情報処理装置において、
前記記憶部は、前記複数の第2ファイルのうち少なくとも1つについて、前記複数の第2ファイルから前記第1ファイルを生成する処理の属性を更に記憶しており、
前記検索部は、他の情報処理装置から受け取った前記第3ファイルを分割して少なくとも1つの前記第4ファイルを生成する処理が行われたことを条件に、当該第4ファイルのハッシュ値と一致し、かつ、当該処理の属性との間で前記条件設定部により設定された条件が満たされる属性の組を、他の情報処理装置の前記記憶部から検索し、
前記制限設定部は、当該ハッシュ値および属性の組が検索されたことを条件に、当該第4ファイルにアクセス制限を設定する
請求項3に記載のシステム。
【請求項15】
前記条件設定部は、検索するファイルの種別毎に、前記検索部の検索においてハッシュ値の一致に加えて満たすべき条件を設定し、
それぞれの情報処理装置において、
前記検索部は、他の情報処理装置から受け取った第3ファイルを分割して少なくとも1つの前記第4ファイルを生成する処理が行われたことを条件に、当該第4ファイルのハッシュ値と一致し、かつ、当該処理の属性との間で前記条件設定部により当該第4ファイルの種別に対し設定された条件が満たされる属性の組を、他の情報処理装置の前記記憶部から検索する
請求項14に記載のシステム。
【請求項16】
ファイルにアクセス制限をコンピュータにより設定する方法であって、
単一の第1ファイルとして結合された複数の第2ファイルのうち少なくとも1つについて、当該第2ファイルのハッシュ値と、当該第2ファイルに前記結合する処理の前に設定されていたアクセス制限を示す制限情報とを対応付けて、コンピュータの記憶部に記憶することと、
複数の第4ファイルを結合して生成された単一の第3ファイルを分割して少なくとも1つの前記第4ファイルを生成する処理が行われたことを条件に、生成した当該第4ファイルのハッシュ値を、コンピュータの検索部により算出させて、算出した当該ハッシュ値に一致するハッシュ値を前記記憶部から検索させることと、
当該第4ファイルのハッシュ値に一致するハッシュ値が検索されたことを条件に、検索された当該ハッシュ値に対応付けて前記記憶部に記憶された制限情報に基づいて、コンピュータの制限設定部により、当該第4ファイルにアクセス制限を設定させることと
を備える方法。
【請求項17】
ファイルにアクセス制限を設定するシステムとして、コンピュータを機能させるプログラムであって、
前記コンピュータを、
単一の第1ファイルとして結合された複数の第2ファイルのうち少なくとも1つについて、当該第2ファイルのハッシュ値と、当該第2ファイルに前記結合する処理の前に設定されていたアクセス制限を示す制限情報とを対応付けて記憶する記憶部と、
複数の第4ファイルを結合して生成された単一の第3ファイルを分割して少なくとも1つの前記第4ファイルを生成する処理が行われたことを条件に、生成した当該第4ファイルのハッシュ値を算出して、算出した当該ハッシュ値に一致するハッシュ値を前記記憶部から検索する検索部と、
当該第4ファイルのハッシュ値に一致するハッシュ値が検索されたことを条件に、検索された当該ハッシュ値に対応付けて前記記憶部に記憶された制限情報に基づいて、当該第4ファイルにアクセス制限を設定する制限設定部と
して機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2008−210300(P2008−210300A)
【公開日】平成20年9月11日(2008.9.11)
【国際特許分類】
【出願番号】特願2007−48285(P2007−48285)
【出願日】平成19年2月28日(2007.2.28)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成18年度、経済産業省、「新世代情報セキュリティ研究開発事業(TCG用構成証明TTP及び仮想信頼ドメインの技術的実現可能性検証)」委託研究、産業再生法第30条の適用を受ける特許出願
【出願人】(592073101)日本アイ・ビー・エム株式会社 (42)
【復代理人】
【識別番号】100104156
【弁理士】
【氏名又は名称】龍華 明裕
【Fターム(参考)】