JP2021174432A - 電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体 - Google Patents

電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体 Download PDF

Info

Publication number
JP2021174432A
JP2021174432A JP2020080271A JP2020080271A JP2021174432A JP 2021174432 A JP2021174432 A JP 2021174432A JP 2020080271 A JP2020080271 A JP 2020080271A JP 2020080271 A JP2020080271 A JP 2020080271A JP 2021174432 A JP2021174432 A JP 2021174432A
Authority
JP
Japan
Prior art keywords
file
control
data
application program
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020080271A
Other languages
English (en)
Inventor
小路幸市郎
Koichiro Shoji
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Science Park Corp
Original Assignee
Science Park Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Science Park Corp filed Critical Science Park Corp
Priority to JP2020080271A priority Critical patent/JP2021174432A/ja
Publication of JP2021174432A publication Critical patent/JP2021174432A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】電子データの情報漏洩防止管理が行われる制御モードにおいても、通常ファイルを取り扱うことができ電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体を提供する。【解決手段】ユーザ端末において、ファイルを補助記憶装置に保存するとき、制御手段は、保存操作とファイルパスからなるアクセス情報を取得する。制御手段が制御モードで動作している場合、ファイルパスが制御領域のとき、制御領域にファイルを保存する保存操作を許可し、通常領域にファイルを保存する保存操作を不許可する。ファイルパスが通常領域のとき、制御領域にファイルを保存する保存操作を許可して、制御リストにファイルを通常領域に保存しない旨を登録する。また通常領域にファイルを保存する保存操作を許可する。【選択図】図4

Description

本発明は、補助記憶手段に格納された電子データ(ファイル)に対する操作を制御手段によって制御することで、電子計算機から電子データが漏洩することを防止し、その管理をするための電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体に関する。
電子データは、HDD、SSD等の電子計算機の補助記憶装置、CD,フラッシュメモリ等の記録媒体、そして、ネットワーク上のネットワークストレージ等に格納される。ユーザは、操作している電子計算機を利用してこれらの電子データにアクセスし、電子データのファイルを閲覧、編集、新規作成、削除等の処理をする。
電子データは画像、映像、音楽、テキスト文書、特定フォーマット文書を始め広い概念である。個人情報、ビジネスのノウハウ等のデータからなる電子データは、機密性を有し、この電子データへのアクセス権限の管理、保護、外部への漏洩防止等を行う必要がある。電子データは、上述のように電子計算機の補助記憶装置、記録媒体、ネットワークストレージ等に格納されていても、ユーザが操作する電子計算機で電子データを閲覧、編集、新規作成、削除等の処理を行う。
ユーザは、電子計算機の内蔵又は外付けされた補助記憶装置にアクセスして、電子データを閲覧、編集する他に、ネットワークを介してネットワークストレージ、他の電子計算機、そして他人へ送信する。また、ユーザは、電子計算機を操作して、ネットワークストレージ、他の電子計算機、そして他人から電子データを受信し、それを閲覧、編集して利用している。無論、ユーザは、電子データを電子計算機に内蔵又は接続されているデバイスへ転送又は複製して転送することができる。
特に、記録媒体に記録するとき又は印刷するときは、電子計算機から電子計算機に内蔵又は接続された記録デバイス又は印刷装置へ電子データを転送して記録又は印刷する。これらの利用形態から考慮して、電子データの保護と漏洩防止の観点から、電子データは無論、その電子データ又はその電子データが格納されている記憶装置にアクセスした履歴、特に電子データの閲覧、編集、複写、印刷、送信等の履歴を取得して厳密に電子データを管理することが大事である。
また、近年、電子計算機をネットワークに接続して、ネットワーク上のネットワークストレージに電子データを格納し、ネットワークストレージから電子計算機に電子データをダウンロードして利用することが多くなっている。電子データは、電子計算機又は記録媒体に格納されているとき、様々なルートで漏洩するリスクがある。
電子データの漏洩とは、電子データがその利用目的に合致しない方法又は不正な方法で移動又は複製されて外部へ持ち出される又は持ち出し可能な状況にあることを言う。例えば、電子データの漏洩としては、電子データを不正な方法で取得するハッキング又はクラッキングすること、電子計算機を利用するユーザ又は管理者が不正に電子データを複製又は移動して外部へ持ち出すこと、電子計算機又は補助記憶手段の紛失等によってその中の電子データが第3者に渡り漏洩すること、管理が必要な電子データを管理ができない補助記憶手段に格納しそれを不特定多数のユーザを含む第3者が閲覧可能な状況に置かれること等が例示できる。
具体的な例としては、電子データが電子計算機に接続されたフラッシュメモリ等の補助記憶装置に格納されているとき、この補助記憶装置の紛失等により外部(第三者)へ漏洩するリスクがある。また、電子計算機の内蔵補助記憶装置に格納されたもので、アプリケーションプログラム等の一時ファイル(Temporary file)は、電子計算機の紛失、電子計算機への不正アクセス、ユーザによる電子計算機の電子データの複製等によって、情報漏洩することがある。
電子データを目的以外に利用できないように電子計算機を制御することが電子データ、特に機密データの漏洩防止の観点から重要である。このような情報漏洩に対する防止策が様々な形で行われて、提案されている。例えば、電子データを電子計算機に接続された補助記憶装置へ格納するときは、電子データを暗号化したり、補助記憶装置を認証したりして対策を講じている(例えば、特許文献1)。特許文献1に開示された内容のデータ管理用のシステムのプログラムは、不揮発性メモリに格納されたクライアントのユーザデータを、それを処理している電子計算機により、目的以外に利用することができないように、その電子計算機を制御している。
ユーザデータを複製して目的以外に利用できないようにし、監視するためのデータ管理プログラムが開示されている(例えば、特許文献2を参照。)。特許文献2に記載のデータ管理プログラムは、ユーザデータを格納した記憶装置がクライアントコンピュータに接続されたとき、制御モードに入り、全ての外部記憶装置への書き込みを禁止し、ネットワークの使用を禁止する設定をし、実行ファイルのファイル名、フォルダ名、属性データ、実行しているプロセスのプロセス名とプロセスIDを取得して、電子データの制御を行っている。
特開2011−8813号公報 国際公開WO2007/049625号公報
しかしながら、特許文献2に記載のデータ管理プログラムの例では、アプリケーションプログラムは緊密なデータ管理が必要な管理対象ファイルを開き、閲覧・編集するとき、電子計算機は全体が制御モードに入り、管理対象ファイル以外のファイルも制御モードで閲覧・編集することになり、通常ファイルは、制御モードで指定された制御対象フォルダのみに保存しなければならない。このため、通常ファイルを電子計算機の任意の記憶手段等に格納したりし、自由に取り扱いしたいというユーザにとっては、電子計算機の制御モードを解除したりする必要があり、不便が生じている。
本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。 本発明の目的は、電子計算機において電子データの情報漏洩防止管理が行われる制御モードにおいても、通常ファイルを取り扱うことができ、電子データの情報漏洩を防止することができる電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体を提供することにある。
本発明の他の目的は、電子計算機において電子データの情報漏洩防止管理が行われる制御モードであっても、通常ファイルを取り扱うことができ、電子データへのアクセスを追跡し、監視するための電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体を提供することにある。
本発明の更に他の目的は、電子計算機において電子データの情報漏洩防止管理が行われる制御モード下で、アプリケーションプログラムの利用時に作成される一時ファイルを目的以外のことに利用することができないように、電子データを管理するための電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体を提供することにある。
本発明は、前記目的を達成するため、次の手段を採る。
本発明は、電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体である。
本発明の発明1の電子データ管理方法は、
電子計算機の補助記憶装置に格納されているユーザデータがアプリケーションプログラムによって操作されるとき、(a)予め設定された制御リストに従って前記操作を許可して前記操作を実行させることで、又は、前記制御リストに従って前記操作を不許可して前記操作を中断させることで前記電子計算機を制御するための第1制御モードと、(b)前記電子計算機で実行される前記操作を制御しない第2制御モードとからなる制御手段によって前記電子計算機を制御することで、前記ユーザデータの漏洩を防止するための電子データ管理方法において、
前記補助記憶装置は、前記制御手段が前記第1制御モードで動作しているときのみにアクセス可能であり、かつ、格納されている電子データの移動又は複製が自領域内のみで許可される領域である制御領域と、前記制御手段が前記第1制御モード又は前記第2制御モードで動作しているときにアクセス可能であり、かつ、格納されている電子データを任意の領域へ移動又は複製することが許可されている通常領域とからなり、
前記アプリケーションプログラムによって閲覧又は編集している前記ユーザデータからなるファイルを保存するとき、
前記制御手段によって、前記アプリケーションプログラムによって前記保存する操作を示す保存操作と前記ファイルの格納場所を示すファイルパスからなるアクセス情報を取得し、
前記制御手段によって前記アクセス情報を分析し、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記通常領域に前記ファイルを保存する前記保存操作を不許可し、
前記ファイルパスが前記通常領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可して、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、又は、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
前記制御手段が前記第2制御モードで動作している場合、
前記ファイルパスが前記通常領域を示すため、前記通常領域に前記ファイルを保存する前記保存操作を許可する
ことを特徴とする。
本発明の発明2の電子データ管理方法は、発明1において、
前記制御手段は、前記アプリケーションプログラムの動作を監視するために前記アプリケーションプログラムに機能拡張として登録され、前記アクセス情報を取得するアドイン手段を有する
ことを特徴とする。
本発明の発明3の電子データ管理方法は、発明2において、
前記制御手段は、前記オペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記アプリケーションプログラムとの通信に共通のインターフェースを提供するための手段で、
前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するためのインターフェース部、
前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部、及び、
データを暗号化して暗号化データを作成するための暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部
からなり、
前記制御部は、前記インターフェース部を介して前記アドイン手段から前記アクセス情報取得し、分析して、前記保存操作を前記許可又は前記不許可し、
前記許可のとき、前記制御部は、前記アクセス情報を前記デバイスドライバ制御部へ送信して実行させ、前記実行の結果を前記インターフェース部を介して前記アドイン手段へ送信し、
前記不許可のとき、前記制御部は、前記不許可を前記インターフェース部を介して前記アドイン手段へ送信する
ことを特徴とする。
本発明の発明4の電子データ管理方法は、発明1乃至3において、
前記アプリケーションプログラムによって新規ファイルを作成して、前記新規ファイルである前記ファイルを保存するとき、
前記制御手段によって、前記アプリケーションプログラムによって前記ファイルを保存する操作を示す前記保存操作と前記新規ファイルを格納する場所を示す前記ファイルパスからなる前記アクセス情報を取得し、
前記制御手段によって該アクセス情報を分析し、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、
前記ファイルパスが前記通常領域を示すとき、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
前記制御手段が前記第2制御モードで動作している場合、
前記通常領域に前記ファイルを保存する前記保存操作を許可する
ことを特徴とする。
本発明の発明5の電子データ管理装置は、
電子計算機の補助記憶装置に格納されているユーザデータがアプリケーションプログラムによって操作されるとき、(a)予め設定された制御リストに従って前記操作を許可して前記操作を実行させることで、又は、前記制御リストに従って前記操作を不許可して前記操作を中断させることで前記電子計算機を制御するための第1制御モードと、(b)前記電子計算機で実行される前記操作を制御しない第2制御モードとからなる制御手段からなり、
前記制御手段によって前記電子計算機を制御することで、前記ユーザデータの漏洩を防止するための電子データ管理装置において、
前記補助記憶装置は、前記制御手段が前記第1制御モードで動作しているときのみにアクセス可能であり、かつ、格納されている電子データの移動又は複製が自領域内のみで許可される領域である制御領域と、前記制御手段が前記第1制御モード又は前記第2制御モードで動作しているときにアクセス可能であり、かつ、格納されている電子データを任意の領域へ移動又は複製することが許可されている通常領域とからなり、
前記アプリケーションプログラムによって閲覧又は編集している前記ユーザデータからなるファイルを保存するとき、
前記制御手段は、前記アプリケーションプログラムによって前記保存する操作を示す保存操作と前記ファイルの格納場所を示すファイルパスからなるアクセス情報を取得し、前記アクセス情報を分析し、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御手段は、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記通常領域に前記ファイルを保存する前記保存操作を不許可し、
前記ファイルパスが前記通常領域を示すとき、前記制御手段は、前記制御領域に前記ファイルを保存する前記保存操作を許可して、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、又は、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
前記制御手段が前記第2制御モードで動作している場合、
前記ファイルパスが前記通常領域を示すため、前記制御手段は、前記通常領域に前記ファイルを保存する前記保存操作を許可する
ことを特徴とする。
本発明の発明6の電子データ管理装置は、発明5において、
前記制御手段は、前記アプリケーションプログラムの動作を監視するために前記アプリケーションプログラムに機能拡張として登録され、前記アクセス情報を取得するアドイン手段を有する
ことを特徴とする。
本発明の発明7の電子データ管理装置は、発明6において、
前記制御手段は、前記オペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記アプリケーションプログラムとの通信に共通のインターフェースを提供するための手段で、
前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するためのインターフェース部、
前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部、及び、
データを暗号化して暗号化データを作成するための暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部
からなり、
前記制御部は、前記インターフェース部を介して前記アドイン手段から前記アクセス情報取得し、分析して、前記保存操作を前記許可又は前記不許可し、
前記許可のとき、前記制御部は、前記アクセス情報を前記デバイスドライバ制御部へ送信して実行させ、前記実行の結果を前記インターフェース部を介して前記アドイン手段へ送信し、
前記不許可のとき、前記制御部は、前記不許可を前記インターフェース部を介して前記アドイン手段へ送信する
ことを特徴とする。
本発明の発明8の電子データ管理装置は、発明5乃至7において、
前記アプリケーションプログラムに新規ファイルを作成して、前記新規ファイルである前記ファイルを保存するとき、
前記制御手段によって、前記アプリケーションプログラムによって前記ファイルを保存する操作を示す前記保存操作と前記新規ファイルを格納する場所を示す前記ファイルパスからなる前記アクセス情報を取得し、
前記制御手段によって該アクセス情報を分析し、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御手段は、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、
前記ファイルパスが前記通常領域を示すとき、前記制御手段は、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
前記制御手段が前記第2制御モードで動作している場合、
前記制御手段は前記通常領域に前記ファイルを保存する前記保存操作を許可する
ことを特徴とする。
本発明の発明9の電子データ管理用プログラムは、
電子計算機の補助記憶装置に格納されているユーザデータがアプリケーションプログラムによって操作されるとき、(a)予め設定された制御リストに従って前記操作を許可して前記操作を実行させることで、又は、前記制御リストに従って前記操作を不許可して前記操作を中断させることで前記電子計算機を制御するための第1制御モードと、(b)前記電子計算機で実行される前記操作を制御しない第2制御モードとからなる前記制御プログラムからなり、
前記制御プログラムによって前記電子計算機を制御し動作させることで、前記ユーザデータの漏洩を防止するための電子データ管理用プログラムにおいて、
前記補助記憶装置は、前記制御手段が前記第1制御モードで動作しているときのみにアクセス可能であり、かつ、格納されている電子データの移動又は複製が自領域内のみで許可される領域である制御領域と、前記制御手段が前記第1制御モード又は前記第2制御モードで動作しているときにアクセス可能であり、かつ、格納されている電子データを任意の領域へ移動又は複製することが許可されている通常領域とからなり、
前記アプリケーションプログラムによって閲覧又は編集している前記ユーザデータからなるファイルを保存するとき、
前記制御プログラムは、
前記アプリケーションプログラムによって前記保存する操作を示す保存操作と前記ファイルの格納場所を示すファイルパスからなるアクセス情報を取得するステップ、
前記アクセス情報を分析するステップ、
前記制御プログラムが前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記通常領域に前記ファイルを保存する前記保存操作を不許可するステップ、
前記ファイルパスが前記通常領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可して、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、又は、前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ、
前記制御プログラムが前記第2制御モードで動作している場合、
前記ファイルパスが前記通常領域を示すため、前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ
を前記電子計算機に実行させることを特徴とする。
本発明の発明10の電子データ管理用プログラムは、発明9において、
前記制御プログラムは、前記アプリケーションプログラムの動作を監視するために前記アプリケーションプログラムに機能拡張として登録され、前記アクセス情報を取得するステップとを前記電子計算機に実行させるアドイン部からなる
ことを特徴とする。
本発明の発明11の電子データ管理用プログラムは、発明10において、
前記制御プログラムは、前記オペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記アプリケーションプログラムとの通信に共通のインターフェースを提供するためのプログラムで、
前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するためのインターフェース部、
前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部、及び、
データを暗号化して暗号化データを作成するための暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部
からなり、
前記制御部は、前記インターフェース部を介して前記アドイン部から前記アクセス情報取得するステップと、前記アクセス情報を分析するステップ、前記保存操作を前記許可又は前記不許可するステップとを前記電子計算機に実行させ、
前記許可のとき、前記制御部は、前記アクセス情報を前記デバイスドライバ制御部へ送信して実行させるステップと、前記実行の結果を前記インターフェース部を介して前記アドイン部へ送信するステップを前記電子計算機に実行させ、
前記不許可のとき、前記制御部は、前記不許可を前記インターフェース部を介して前記アドイン部へ送信するステップを前記電子計算機に実行させる
ことを特徴とする。
本発明の発明12の電子データ管理用プログラムは、発明9乃至11において、
前記アプリケーションプログラムによって新規ファイルを作成して、前記新規ファイルである前記ファイルを保存するとき、
前記制御プログラムは、
前記アプリケーションプログラムによって前記ファイルを保存する操作を示す前記保存操作と前記新規ファイルを格納する場所を示す前記ファイルパスからなる前記アクセス情報を取得するステップ、
該アクセス情報を分析するステップ、
前記制御プログラムが前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録するステップ、
前記ファイルパスが前記通常領域を示すとき、前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ、
前記制御プログラムが前記第2制御モードで動作している場合、
前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ
を前記電子計算機に実行させることを特徴とする。
本発明の発明13の電子データ管理用プログラムの記録媒体は、発明9乃至12中から選択される1発明の電子データ管理用プログラムを記録した電子データ管理用プログラムの記録媒体である。
本発明によると、次の効果が奏される。
本発明によると、アプリケーションプログラムで、制御対象フォルダに格納されている電子データと、デスクトップ等の通常フォルダに格納している電子データを同時に編集した際、通常フォルダに格納している電子データの上書き保存ができるようになった。
また、本発明によると、アプリケーションプログラムで通常フォルダのユーザデータを閲覧編集して保存するとき、制御モードを解除する必要が無くなり、ユーザの利便性が増した。
更に、本発明によると、アプリケーションプログラムで、作業中の電子データの一時ファイルは、管理対象の電子データと通常の電子データに別々に管理することができるようになった。
また更に、本発明によると、アプリケーションプログラムで、新規作成の電子データが管理対象の電子データと通常の電子データに別々に管理することができるようになった。
図1は、本発明の第1の実施の形態の電子データ管理システム1の概要を図示している概念図である。 図2は、本発明の第1の実施の形態の電子データ管理システム1のユーザ端末2の概要を示すブロック図である。 図3は、本発明の第1の実施の形態の電子データ管理システム1のユーザ端末2の構成例を示すブロック図である。 図4は、本発明の第1の実施の形態の電子データ管理システム1のユーザ端末2においてユーザデータの制御を説明するためのブロック図である。 図5は、本発明の第1の実施の形態の電子データ管理システム1のユーザ端末2の動作概要を示すフローチャートである。 図6は、本発明の第1の実施の形態の制御リストの例を示す表を図示している図である。 図7は、本発明の第1の実施の形態の電子データ管理システム1の制御プログラム9の動作例を示すフローチャートである。 図8は、本発明の第1の実施の形態の電子データ管理システム1の制御プログラム9の詳細な動作例を示すフローチャートである。 図9は、本発明の第2の実施の形態において、ファイルを新規作成するとき、制御プログラム9が動作する手順例を示すフローチャートを図示している。 図10は、本発明のその他の実施の形態において、デバイスリストの例を示す表を図示している図である。
以下、本発明の実施の形態を図に基づいて説明する。
〔本発明の第1の実施の形態〕
以下、図面を参照しながら、本発明の第1の実施の形態の電子データ管理システム1を説明する。図1は、本発明の第1の実施の形態の電子データ管理システム1の概要を示すブロック図であり、図2は電子データ管理システム1のユーザ端末2の概要を示すブロック図であり、図3はユーザ端末2の構成例を示すブロック図である。
電子データ管理システム1は、電子データが漏洩することを防止するためのシステムであり、ユーザ端末2、クラウドストレージ3、ネットワーク4等からなる。ユーザ端末2は、ユーザデータ、プログラムのコード等の電子データを格納する補助記憶装置5を備えている。電子データ管理システム1は、図2に図示したような構造を有する制御プログラム9を備える。制御プログラム9は、ユーザ端末2において電子データを利用するとき、その利用を監視し、ユーザ端末2を制御する。
補助記憶装置5は電子データを格納するための複数のフォルダ、例えば、通常フォルダ6、同期フォルダ7等からなる。同期フォルダ7に格納されている電子データは、ユーザ端末2から外部へ漏洩されないように管理が必要なデータであり、基本的に暗号化される。同期フォルダ7は、その中の電子データがユーザ端末2の中の他のフォルダ、ユーザ端末2に内蔵又は接続された補助記憶装置等へ複製又は移動することが制限されたフォルダである。
同期フォルダ7は格納された電子データが厳格に管理される制御対象フォルダ、言い換えると管理対象フォルダである。同期フォルダ7に格納されている電子データはこのフォルダ内で複製又は移動することが許可される。通常フォルダ6は、その中に格納されている電子データは他のフォルダへ移動又は複製ができ、ユーザ端末2の通常のフォルダである。通常フォルダ6はそのフォルダ及びファイルを同期フォルダ7のように厳格に管理する必要がない。
同期フォルダ7はクラウドストレージ3のクラウドフォルダ8と同期する。同期フォルダ7に格納されている電子データは、クラウドストレージ3と同期するためのものであり、この同期はネットワーク4を介するデータ通信によって行われる。クラウドストレージ3は、ネットワーク4等の通信ネットワークに接続された補助記憶装置であり、ユーザ端末2とネットワーク4を介して接続してデータ通信する。
クラウドストレージ3は、サーバに搭載された記憶手段、特に分散管理されているネットワークストレージ、クラウドサービスのストレージ(クラウドストレージ)等のように、ネットワーク4に接続される補助記憶手段である。ネットワーク4は、公知の任意の有線又は無線の通信ネットワークであるが、ローカルエリアネットワーク(LAN)又はインターネットであることが好ましい。本実施の形態において、ネットワーク4は、限定しないが、インターネットとして説明する。
ユーザ端末2は、ユーザが操作し、利用するための電子計算機である(詳しくは後述する。)。ユーザ端末2は、ネットワーク4に直接接続することが可能であるが、図示しないが、ゲートウェイ、プロキシサーバ、ルータ、ワイヤレスアクセスポイント等の通信手段を介して、ネットワーク4に接続して使用することができる。本発明の電子データ管理システム1は、これらの通信手段を含むものとする。本実施の形態においては、ユーザ端末2とネットワーク4、ネットワーク4とクラウドストレージ3、ユーザ端末2とクラウドストレージ3の間の接続手段は、発明の要旨ではないので、その詳細な説明は省略する。
図2に図示したように制御プログラム9はユーザ端末2の中の電子データの通信を制御するための制御手段である。制御プログラム9の詳細は、アプリケーションプログラム10等が電子データ(ユーザデータ)にアクセスするとき、そのアクセスを特定条件に基づいて許可又は不許可して制御するものである。例えば、制御プログラム9は、アプリケーションプログラム10がユーザデータを書き込みするとき、ユーザデータを書き込みする保存先が許可された記憶領域であるか否かを確認し、書き込みを許可又は不許可して、ユーザ端末2を制御する。
また、制御プログラム9は、アプリケーションプログラム10がユーザデータを読み込みするとき、アプリケーションプログラム10によるユーザデータの読み込みが許可された記憶領域であるか否かを確認した後、読み込みを許可又は不許可して、ユーザ端末2を制御する。同期フォルダ7はネットワーク4を介して、クラウドストレージ3のクラウドフォルダ8と同期する。
ここでいう同期とは、同期フォルダ7内の電子データはクラウドストレージ3へ送信されて格納され、同期フォルダ7内に格納されている電子データと同一のデータが同期フォルダ7に割り当てられたクラウドフォルダ8内に格納されることを言う。アプリケーションプログラム10等から同期フォルダ7にアクセスし、それに格納される電子データの一覧を取得する。
アプリケーションプログラム10等がこの一覧の中の特定した電子データを読み出すとき、読み出す電子データの実体がクラウドフォルダ8から同期フォルダ7にダウンロードされて、アプリケーションプログラム10等に提供されることができる。このように、同期フォルダ7は、ユーザ端末2内に電子データの実体を有しないネットワークフォルダ又は仮想フォルダとすることができるが、以下、ユーザ端末2内のフォルダと同等に扱う。
同期フォルダ7内のユーザデータのファイルとディレクトリは、クラウドストレージ3、特に同期フォルダ7に割り当てられたクラウドフォルダ8と同期する。クラウドフォルダ8には、アクセス権限が与えられたユーザがアクセスする。クラウドフォルダ8は、アプリケーションプログラム又はユーザ毎に作成することができ、ユーザ又は管理者によって使用目的に合わせて設定する。
クラウドストレージ3とクラウドフォルダ8へのアクセスに必要なアクセス権限は、管理者が設定し、アクセスに必要なユーザ名、識別番号、パスワーク等の識別データがユーザに提供される。ユーザは識別データを用いて、ユーザ端末2からクラウドフォルダ8にアクセスする。ユーザは、ユーザ端末2において、アプリケーションプログラム10を操作して、通常フォルダ6又は同期フォルダ7に格納されているユーザデータを閲覧、編集し、同期フォルダ7又は通常フォルダ6に格納する。
同期フォルダ7に格納されているユーザデータはクラウドフォルダ8と同期された後に出来る限り削除される。これは、ユーザ端末2の同期フォルダ7にできる限り最小限のユーザデータを格納するためである。また、ユーザ端末2からユーザデータの漏洩を最初限に抑え、ユーザデータの漏洩を防止しするためでもある。同期フォルダ7の中のユーザデータに変更があるとき、これをクラウドフォルダ8へ送信し、同期を取る。同期フォルダ7は、基本的に、暗号されている記憶手段である。
ユーザデータは、ユーザ端末2で利用されているユーザデータ、このユーザデータから派生してユーザ端末2で作成されたユーザデータ、新規に作成された新規ユーザデータ等を含むものであり、以後、これらのユーザデータを含めて「ユーザデータ」と単に表記する。ユーザ端末2とクラウドストレージ3とのデータ通信は、通信する電子データを暗号化して所定の通信プロトコルに従って互いに送受信する。
通信プロトコルは、任意の通信プロトコルを利用することができるが、ISO参照モデルに準拠したプロトコル、特に、TCP/IP等のインターネットに利用されている汎用プロトコルが好ましい。ユーザ端末2とクラウドストレージ3とのデータ通信は、発明の要旨ではないので、その詳細な説明は省略する。同期フォルダ7は、ユーザデータを格納するが、必要であれば、その中にディレクトリ7aが作成され、ディレクトリ7aにユーザデータを格納することができる。
通常フォルダ6は、同様に、ユーザデータを格納してもよく、必要であれば、ディレクトリ6aが作成され、ディレクトリ6aにユーザデータを格納することができる。ユーザ端末2は、同期フォルダ7の内容をクラウドストレージ3に保存する(バックアップする又は同期させる。)とき、フォルダ8毎にスケジュールを設定して行うことができる。
例えば、所定時間、アプリケーションプログラム10、若しくはオペレーティングシステム11のサービス等から要求があるとき、又はユーザから指示があるとき、ユーザ端末2は、指定されたフォルダ7a、若しくは同期フォルダ7の内容を送信する。ユーザ端末2は、同期フォルダ7、若しくはフォルダ7aの内容の前回送信分の差分を、クラウドストレージ3へ送信して差分同期することができる。
ユーザ端末2は、中央処理手段、主記憶手段、補助記憶手段、入力手段、出力手段、これらの手段を互いに接続しデータを伝送するバス等を備えた汎用の電子計算機である。主記憶装置は、電子計算機のRAM(Random Access Memory)であり、これは揮発性メモリである。補助記憶装置5としては、HDD(Hard disk drive)、SSD(Solid state drive)等が例示できる。
本発明において、電子計算機とそのハードウェア構成が発明の要旨ではないので、詳細な説明は省略する。補助記憶装置5には、オペレーティングシステム11のコード(以下、単にオペレーティングシステム11という。)、アプリケーションプログラム10のコード(以下、単にアプリケーションプログラム10という。)、ユーザデータ等の電子データが格納される。
アプリケーションプログラム10は、通常、オペレーティングシステム11から呼び出されて、主記憶手段に展開されて、動作する。アプリケーションプログラム10が開いて作業しているユーザファイルも主記憶手段上に展開する。ユーザ端末2は、ネットワークカード17(図3を参照。)等のハードウェア手段を接続するためのインターフェースを多数備えるが、本発明は、インターフェースが発明の要旨ではないので、この詳細な説明は省略する。
図2に図示したように、ユーザ端末2において、オペレーティングシステム11が動作し、オペレーティングシステム11が提供するプラットフォーム上に、アプリケーションプログラム10が動作している。ユーザ端末2は、入出力手段、補助記憶装置5等のデバイス12を備えている。ユーザ端末2は、デバイス12を制御するためのデバイスドライバ13を備える。デバイスドライバ13はデバイス12を制御するためのソフトウェアであり、オペレーティングシステム11とデバイス12の間に位置し、それらの間にデータの送受信を行う。
デバイスドライバ13は、特に、オペレーティングシステム11の入出力機能(I/O機能)とデバイス12の間に位置し、オペレーティングシステム11のI/O機能とデバイス12の間のデータの送受信、オペレーティングシステム11のI/O機能を介してアプリケーションプログラム10とデバイス12の間のデータの送受信を行い制御する。オペレーティングシステム11は、そのI/O機能を利用し、デバイスドライバ13を経由してデバイス12を制御する。
言い換えると、オペレーティングシステム11は、その入出力機能(I/O機能)を介して、デバイス12をデバイスドライバ13で制御している。I/O機能は、オペレーティングシステム11の一部機能として所定の関数を公開することで、アプリケーションプログラム10等がこれを利用してデバイス12へアクセスすることができ、デバイスドライバ13はこれを利用してデータの送受信を行う。
デバイスドライバ13は、基本的にデバイス12毎に存在するが、USB規格等のように標準化されたデバイスに12に関して、デバイスドライバ13は一つのデバイスドライバ12で複数のデバイス12を制御することも可能である。デバイスドライバ13は、オペレーティングシステム11と共に提供されるものと、オペレーティングシステム11とは別に提供されたデバイスドライバ13がある。
デバイスドライバ13は、ユーザ端末2にインストールされて動作する。デバイス12がユーザ端末2に接続されるとき、ユーザ端末2に接続されたデバイス12を使用されるとき、ユーザ端末2にユーザ又はアプリケーションプログラム10から指示があるとき等の場合、デバイスドライバ13がユーザ端末2にインストールされる。ソフトウェア的に実現するRAMディスク等の仮想デバイスは、その仮想デバイス用のデバイスドライバで制御されて、デバイス12と同様に利用されるので、本実施の形態において、仮想デバイスをデバイス12の一種として取り扱う。
ファイルシステムドライバ14は、デバイスドライバ13の一種であり、補助記憶装置5に対して、オペレーティングシステム11の入出力機能(I/O機能)の窓口になり、補助記憶装置5を制御するためのものである。オペレーティングシステム11は、オペレーティングシステム11が備えている命令が全て実行できるカーネルモード15と、一部の命令を制限したユーザモード16を有する。
デバイスドライバ13は、カーネルモード15で動作する。ファイルシステムドライバ14はカーネルモード15で動作する。アプリケーションプログラム10は、ユーザモード16で動作する。アプリケーションプログラム10の中にカーネルモード15で動作するものがあるが、これはシステムリソースに直接アクセスするプログラム等のような特殊なプログラムに限られる。
汎用のアプリケーションプログラム、特にオブジェクト指向のアプリケーションプログラムは、基本的に、ユーザモード16で動作するものであり、カーネルモード15へアクセスするとき、オペレーティングシステム11が提供する入出力機能等の機能を利用する。本発明においては、オペレーティングシステム11とデバイスドライバ13の間に位置する制御プログラム9によって、オペレーティングシステム11の入出力機能と、デバイスドライバ13を制御している。制御プログラム9の構成及び機能については、詳しく後述する。
オペレーティングシステム11は、キーボードから入力、マウスから入力等の入力手段からの入力機能、画面出力等のような出力手段からの出力機能、記憶手段へデータを書き込む機能と、記憶手段からデータを読み出す機能、メモリの管理機能等の基本的な機能を提供し、ユーザ端末2全体を動作させ、管理するためのソフトウェアである。オペレーティングシステム11は、基本ソフトウェアとも言われる。オペレーティングシステム11は、その提供する機能を実現するために多数の実行可能なプログラムから構成されるものである。
ここで、オペレーティングシステム11の構成要素の内の代表的なものから記述する。オペレーティングシステム11は、カーネル、エグゼキュティブ、サブシステム、HAL(Hardware Abstraction Layer)、デバイスドライバ12等から構成される。エグゼキュティブは、メモリの管理、プロセスとスレッドの管理、セキュリティ、I/O(入出力)、ネットワーク、及びプロセス間通信等のオペレーティングシステム11の基本的なサービスを提供するものである。
デバイスドライバ13は、ユーザ端末2に接続されたデバイス12毎に作成され、HALを介して、デバイス12を直接制御するものである。デバイスドライバ13は、アプリケーションプログラム10やオペレーティングシステム11からの入出力機能の要求(I/O呼び出し要求)を特定のデバイス12に対する入出力機能の要求(I/O要求)に変換するサービスと、ファイルシステムやネットワークドライバ等のシステムサービスを提供する。
HALは、カーネル40、デバイスドライバ13、及びエグゼキュティブをプラットフォーム固有のハードウェア機能から分離し抽象化するためのコード層である。HALは、ユーザ端末2の内蔵デバイスや、ユーザ端末2に接続されている外部デバイス等のハードウェアの機種、種類による違いを吸収し、オペレーティングシステム11の各サービスに対して抽象化したサービスを提供する。
よって、オペレーティングシステム11を構成する各種のサービスは、ハードウェアの機種、種類による違いを意識することなくハードウェアにアクセスすることが可能になる。言い換えると、HALはハードウェアに依存する部分を吸収し抽象化するためのペレーティングシステム11の構成部(コンポネント)である。以上のように、オペレーティングシステム11についてその代表的な構成、機能について説明したが、詳しくは関係書籍、ウェブソース等に譲り、詳細は省略する。
ファイルシステムとしては、FAT32、NTFS、exFAT等が代表的であるが、これらに限定されず、オペレーティングシステム11に認識される任意のファイルシステムを採用することができる。本実施の形態においては、デバイスドライバ13は、オペレーティングシステム11に付属するものとして記述する。
ファイルシステムドライバ14は、補助記憶装置5に保存されているファイル、フォルダに関する情報を管理するもので、補助記憶装置5に保存されているファイルやフォルダへのアクセスを提供するものである。ファイルシステムドライバ14は、本例ではユーザ端末2に接続されたIDE(Integrated Drive Electronics)、ATA(Advanced Technology Attachment)、SATA(Serial ATA)、SCSI(Small Computer System Interface)、USB(Universal Serial Bus)、これらの派生規格等の規格に準拠した記憶手段へのアクセスを提供する。本発明は、ハードウェア規格が発明の要旨ではないので、詳細な説明は各規格の仕様文献に譲り、これ以上の説明は省略する。
〔制御プログラム9〕
制御プログラム9は、デバイスドライバ13間のデータの送受信をカーネルモード15で実現するためのものである。デバイスドライバ13間にカーネルモード15でデータを転送するとき、データ転送が高速に行うことができると共にデータのセキュリティを確保することができる。従って、大容量のデータを短時間で高速に転送するという利点がある。
制御プログラム9は、アプリケーションプログラム10からデバイスドライバ13へアクセスするとき、また、デバイスドライバ13からアプリケーションプログラム10へデータを送信するときに、共通のインターフェースを提供する。制御プログラム9は、オペレーティングシステム11のカーネルモード15で動作する。制御プログラム9は、デバイスドライバ13間だけではなく、オペレーティングシステム11とデバイスドライバ13とのデータの送受信を提供し、制御する機能を有する。
制御プログラム9は、アプリケーションプログラム10から出力される命令及び/又はデータを受信する。これを分析して、デバイスドライバ13を制御して、命令の実行を行いかそれを変更して制御することができる。制御プログラム9は、この命令の実行結果及び/又はデバイスドライバ13から受信した受信データを、アプリケーションプログラム10に送信する。制御プログラム9は、アドイン部22と通信してアプリケーションプログラム10とデータの送受信を行い、制御することができる。
例えば、アプリケーションプログラム10の動作に関するデータをアドイン部22から受信し、アプリケーションプログラム10への命令をアドイン部22へ送信する。制御プログラム9は、電子計算機のインターフェースドライバプログラムとして、本出願人が提案した例えばWO02/091195号等に開示されている周知の技術であり、本発明に包含されるものとする。そのため、制御プログラム9について本発明に必要な機能を以下に記述し、詳しい説明は省略する。
図3には、ユーザ端末2の構成例を図示している。ユーザ端末2は、コネクタ18、ネットワークカード17、マウス(図示せず。)、キーボード(図示せず。)、ディスプレイ(図示せず。)、USBポート19、補助記憶装置5等のデバイス12を備えている。ネットワークドライバ23はネットワークカード17を制御するためのデバイスドライバ13である。インターフェースドライバ24はコネクタ18を制御するためのデバイスドライバ13ある。
コネクタ18は、各種の外部デバイス20を接続するためのものであり、例えば、周辺機器と接続するためのSATA、RS-232C、IrDA、USB、IEEE1394等のシリアルポートと、IEEE1284、SCSI、IDE等のパラレルポートが例示できる。例えば、スキャナ、プリンタ等の周辺機器はコネクタ18に接続される。USBポート19は、コネクタ18の一種で、広く普及しており、汎用の電子計算機は1以上のUSBポート19を備えていることが多い。
USBポート19にマウス、キーボード、プランタ、スキャン、無線通信機器、フラッシュメモリ21等を接続して利用することが一般的になっており、本実施の形態において、コネクタ18とUSBポート19は基本的に同義に扱う。USBポート19には、フラッシュメモリ21、マウス(図示せず。)、キーボード(図示せず。)等が接続される。
本実施の形態において、補助記憶装置5を一台のみを例に説明するが、これに限定されない。本実施の形態のユーザ端末2は、仮想補助記憶装置、RAMディスク等を含め複数台の補助記憶装置5を備える。補助記憶装置5には、オペレーティングシステム11、ユーザ端末2の動作に必要なプログラムコードを始め各種のアプリケーションプログラム10、モジュール等のソースコードが格納される。補助記憶装置5にはユーザデータが格納される。
ユーザデータは、特に限定しないが、テキストファイル、静止画ファイル、映像ファイル、音声ファイル、各種のフォーマットの文書ファイル(Word, pdf等)、プログラムコードのファイル、実行可能なファイル(.exeファイル)、通信履歴、アプリケーションプログラムの動作履歴、オペレーティングシステム又はアプリケーションプログラムのバックアップファイル、各種の一時ファイル(tmpファイル等)、メモリの内容等の任意の形式のファイル、これらのバックアップファイルである。
また、ユーザデータは、暗号復号コード、識別番号、暗証番号、個人情報、顧客データ、ビジネスのノウハウ、機密データに関する情報、その文書等のようにデータ管理が必要なデータを含め広く解釈される。ユーザデータは、ユーザの要求、アプリケーションプログラム10の仕様又は要求等の必要に応じて暗号化されて、又は、暗号化されずに、補助記憶装置5に格納される。
図2及び図3に図示したアドイン部22は、アプリケーションプログラム10に機能を追加又は機能を拡張するために追加されたモジュール又はプログラムである。言い換えると、アドイン部22は、アプリケーションプログラム10にアドイン(add-in)機能として組み込まれ、アプリケーションプログラム10とオペレーティングシステム11との間に位置し、これらの間に命令やデータの送受信を仲介し制御するためのものである。
アドイン部22は、例えば、アプリケーションプログラム10の起動、これに伴うプロセスの起動を監視し、これらの属性情報を取得する機能を有する。アドイン部22は、ユーザモード16で動作する。ユーザ端末2上で動作するアプリケーションプログラム10は、ユーザデータをディスプレイ上に表示し、それを編集、計算処理する等の処理を行う。アプリケーションプログラム10は、オペレーティングシステム11が提供する機能を利用する。例えば、ユーザ端末2の入出力装置からのユーザデータの入出力を行う。
アプリケーションプログラム10は、オペレーティングシステム11のカーネルモード15又はユーザモード16に動作する実行可能なファイル又はソフトウェアである。本実施の形態においては、ユーザモード16に動作するアプリケーションプログラム10を例示しているがこれに限定されない。例えば、アプリケーションプログラム10は、ワードプロセッシングソフトウェア、テキストエディタ等の文書を作成、編集するためのソフトウェア、pdf形式のファイル等のような特定の形式のファイルを閲覧、作成、編集するためのソフトウェアである。
〔制御プログラム9〕
制御プログラム9は、図3に図示したように、アプリケーションプログラム10からの命令やデータ等を受信し、アプリケーションプログラム10へのデータを送信するためのインターフェース部31を有する。制御プログラム9は、制御プログラム9の全体の動作を制御するための制御部32、制御プログラム9の動作の履歴を取得するためのログ取得部33も有する。
制御プログラム9は、データを暗号化するための暗号化部34、暗号化されたデータを復号化するための復号化部35を有する。制御プログラム9は、デバイスドライバ13を制御するためのデバイスドライバ制御部36を有する。デバイスドライバ制御部36は、デバイスドライバ13毎に作成される。複数のデバイスドライバ13に共通の機能がある場合、一つのデバイスドライバ制御部36で複数のデバイスドライバ13を制御することができる。
制御部32は、デバイスドライバ制御部36、インターフェース部31、ログ取得部33、暗号化部34、復号化部35等の制御プログラム9の他の部を制御し、監視するためのもので、制御プログラム9の中核部である。デバイスドライバ制御部36は、各デバイスドライバ13を制御するための制御部からなる。例えば、ネットワークドライバ23を制御するためのネットワーク制御部38、ファイルシステムドライバ14を制御するためのファイルシステム制御部37を備える。
制御プログラム9は、アプリケーションプログラム10から出力される命令及び/又はデータを受信し、この命令の実行結果及び/又はデバイスドライバ13から受信した受信データを、アプリケーションプログラム10に送信するためのインターフェース部31を有する。インターフェース部31はアドイン部22と通信してアプリケーションプログラム10とデータの送受信を行い、制御することができる。
例えば、インターフェース部31はアプリケーションプログラム10の動作に関するデータをアドイン部22から受信し、アプリケーションプログラム10への命令をアドイン部22へ送信する。また、制御プログラム9は、アプリケーションプログラム10から命令及び/又はデータを受信する。制御プログラム9は、デバイスドライバ13へこの命令及び/又はデータを送信し、デバイスドライバ13からこの命令の実行結果及び/又は受信データを受信するためのデバイスドライバ制御部36を有する。
更に、制御プログラム9は、これらの命令及び/又はデータを処理し、出力データを生成して、データの制御を行うための制御部32を有する。暗号化部34はデータを暗号化して暗号化データを作成し、復号化部35は暗号化データを復号化して元のデータを作成する。ログ取得部33は、特に、制御部32の動作の履歴を取得し、保存する。デバイスドライバ制御部36の各制御部は、制御部32によって制御され、又は、制御部32から命令又はデータを受信し、これをデバイスドライバ13へ送信又は転送する。
デバイスドライバ制御部36は、デバイスドライバ13から前述した命令を実行した結果、データを受信し、制御部32へ送信する。このように、制御プログラム9は、ユーザ端末2を制御するもので、特にユーザ端末2の各デバイス12の動作を制御する中核部である。アドイン部22は、制御プログラム9と連帯して動作し、ユーザモード16で取得した通信データを制御プログラム9へ送信し、制御プログラム9の指示で、アプリケーションプログラム10とオペレーティングシステム11との通信を制御する。
図4は、ユーザデータを保存するときの制御を説明するためのブロック図である。ユーザ端末2において、通常フォルダ6と同期フォルダ7に格納されているユーザデータのファイル(以下、ユーザファイルとも記述する。)を、アプリケーションプログラム10で読み出して閲覧し編集して保存する。このとき、制御プログラム9はユーザ端末2上に制御モードがONとOFFの二種類の制御状態で動作する。ユーザファイルを読み出す動作を実線の矢印で、保存するときの動作を破線の矢印で図示している。
また、ユーザファイルを読み出す操作と書き込む操作のとき、制御モードの状態を矢印の側にONとOFFで図示し、操作が可能で許可されることを丸印「〇」で、操作が不許可されることをバツ印「X」で図示している。ユーザファイルの読み出しと書き込みの操作は、制御プログラム9によって操作を許可と不許可をして制御される。同期フォルダ7に格納されているユーザファイルは、制御プログラム9の制御モードがONのときだけに、アプリケーションプログラム10によって読み出して閲覧することができる。
よって、同期フォルダ7に格納されているユーザファイルは、制御プログラム9の制御モードがONのときだけに、編集することができる。同期フォルダ7に格納されているユーザファイルは編集された後は、同期フォルダ7に保存することができるが、通常フォルダ6には保存することができない。例えば、同期フォルダ7に格納されているファイルAAは、アプリケーションプログラム10によって読み出されて、ユーザ端末2の主記憶装置25上に展開されて閲覧と編集される。
これを編集中のファイルaaとして図示している。ファイルaaは、ファイルAAに上書き保存又は同期フォルダ7に名前を付けて別名保存することができるが、通常ファルダ6にファイルAA’のように保存することができない。ファイルaaは、閲覧され編集された後に同期フォルダ7に上書き保存又は別名で保存されることができる。また、ファイルaaは閲覧されてから、編集されずに上書き保存又は同期フォルダ7に別名で保存されることもできる。
通常フォルダ6に格納されているユーザファイルは、制御プログラム9の制御モードがONのときでも、OFFのときでも、読み出しし閲覧することができる。具体的には、通常フォルダ6に格納されているファイルBBは、アプリケーションプログラム10によって読み出される。ファイルBBは読み出されるとユーザ端末2の主記憶装置25上に展開されて閲覧されるが、これをファイルbbと図示している。ファイルBBの読み出し操作は、制御モードがONの状態でも、OFFの状態でも許可される。
通常フォルダ6にファイルbbを書き込みする操作は、制御モードがONの状態でも、OFFの状態でも許可される。同期フォルダ7にファイルbbを書き込みする操作は、制御モードがONの状態で許可されるが、OFFの状態では許可されない。制御モードがONのとき、ファイルbbを同期フォルダ7に書き込みし、この書き込みされたユーザファイルはファイルBB’として図示されている。
制御モードがOFFのとき、同期フォルダ7にアクセスできないので、ファイルbbを同期フォルダ7に書き込みすることができず、通常フォルダ6に上書き保存又は別名保存することができる。ファイルaaは、同期フォルダ7のみに複製、上書き保存できるが、ファイルbbは制御モードのONときに同期フォルダ7と通常フォルダ6に別名保存ができ、制御モードのOFFときに通常フォルダ6のみに上書き保存又は別名保存することができる。
図5は、本発明の第1の実施の形態の電子データ管理システム1のユーザ端末2の動作概要を示すフローチャートである。まず、ユーザ端末2に電源を入れて稼働させる(ステップ1)。ユーザ端末2上にオペレーティングシステム11が起動し、初期処理等を行い、ユーザ認証も行われ、ソフトウェアが動作する環境ができる(ステップ2)。そして、制御プログラム9が起動される(ステップ3)。制御プログラム9が起動されると、初期化処理等が行われ、制御プログラム9が動作する制御モードの設定又は確認が行われる(ステップ4)。
制御プログラム9は、所定条件に従ってユーザ端末2を制御するための制御モードを有する。制御プログラム9は、所定条件、例えば制御リスト100(図6を参照。)等に記載の条件、に従ってユーザ端末2を制御するための制御モードで動作するとき、制御モードがONであるという。制御プログラム9は、ユーザ端末2を監視するだけで、ユーザ端末2を特に制御しない制御モードで動作するとき、制御モードがOFFであるという。
制御モードがONであるとき、制御プログラム9はユーザ端末2で利用するユーザファイルとそのための操作を所定条件に従って制御する。例えば、制御プログラム9による制御として、アプリケーションプログラム10でユーザファイルにアクセスする操作、ユーザファイルを補助記憶装置5に保存、複製、移動する操作、閲覧若しくは編集しているユーザファイルをコピー&ペースト(Copy and Paste)する操作、ユーザファイルを電子メールで送信する操作、ユーザファイルを他の補助記憶装置に複製又は移動する操作等において、その操作を許可又は不許可する制御を行う。
ユーザファイルを利用し派生したデータを作成するとき、新規にユーザファイルを作成するときも同様の制御を行うことができる。これらの制御は、アプリケーションプログラム10、オペレーティングシステム11のサービス、ユーザ等によって個別に設定することもできる。また、これらの制御は、ユーザファイル毎に設定することもできる。制御モードをOFFにして作業を行う場合は、制御プログラム9の設定で制御モードの設定をOFFにし、次のステップ9へ進み、ユーザ端末2を使用する準備ができる(ステップ4→ステップ5)。
制御モードをONにする場合は、まず、制御のモードをONに設定し、制御プログラム9の初期化を行う(ステップ4→ステップ6、ステップ7)。そして、除外設定が行われる(ステップ8)。制御プログラム9の制御モードがONのとき、初期化、各種設定、除外設定は、例えば次のように行われる。制御モードをONにするとき、制御プログラム9は、ユーザ端末2に内蔵され接続されている補助記憶装置5を確認し、通常フォルダ6と同期フォルダ7の確認が行われる。
この確認は、オペレーティングシステム11に認識されている補助記憶装置5の中で、同期フォルダ7が含まれているか否かで確認する。同期フォルダ7は制御対象のフォルダであり、これは予め設定され、制御プログラム9の設定フォルダ等に保存されている。補助記憶装置5への書き込みを禁止に設定する。このとき、ユーザ端末2に内蔵又は外付けされたフラッシュメモリ21、リムーバブルドライブ、フレキシブルディスクドライブ、外付補助記憶装置等の記憶手段は、書き込み禁止に設定される。
言い換えると、ユーザ端末2からユーザファイルを持ち出しできるような記憶手段に対して、ユーザファイルを許可無しに格納することを制限する。制御モードがONのとき、同期フォルダ7は、書き込み操作を禁止する設定にしない。また、オペレーティングシステム11がインストールされている又はその動作に必須の補助記憶装置5のフォルダは、書き込み操作の禁止等のアクセス制限を受けない。制御プログラム9は、ネットワーク4と通信する通信ポートの設定を行う。
ここで言う通信ポートは、TCP/IP等の通信プロトコルで規定するポートであり、ユー端末2及び/又はユーザ端末2と通信する通信相手のポート番号になる。「25」、「587」等のようにポート番号で設定する。この設定では、ユーザ端末2がネットワーク4と通信するために必要な通信ポートのみの使用が許可され、不必要なポートが通信禁止に設定される。
これらの設定は、制御プログラム9の基本設定に従うか、ユーザや管理者等が選択設定するものであり、制御プログラム9がインストールされるとき、又は、その制御モードをONにするとき、ユーザが選択できる。制御プログラム9は、コピー&ペースト、クリップボードの使用、スクリーンキャプチャの使用は操作禁止に設定する。しかし、ユーザ、管理者等は、これらを全部又は一部を使用したい場合は、それを操作禁止に設定しない。
最後は、制御プログラム9は、オペレーティングシステム11の正常な動作に必要なプロセスを指定し、例外設定をする。例えば、オペレーティングシステム11の動作に必要なSystemプロセス等を動作可能にする。これらの設定は、必ずしもこの順番で行う必要はなく、状況に応じて自由自在に順番を変更し組み合わせることができる。これらの設定が終了すると、制御プログラム9は、同期フォルダ7の設定を行う。
同期フォルダ7の設定では、例えば、作業ドライブとして利用するメインディスクを選択設定し、クラウドストレージ3へのパス設定を同期フォルダ7又はその中のフォルダに設定する。このパスにアクセスすると、実体データはクラウドストレージ3からダウンロードされ、同期フォルダ7に格納される。このように、同期フォルダ7の設定では、同期フォルダ7をクラウドストレージ3にマッピングするための設定をする。
また、同期フォルダ7に格納されたユーザファイルをクラウドストレージ3へ転送(送信)するときの各種設定が行われる。例えば、ユーザファイルに関して、暗号する暗号鍵の設定、転送するタイミング(特定時間、間隔等)、通信速度、優先度等を設定するが、管理者はこれらの設定を必要に応じて選択することができる。これらの設定によって、ユーザ端末2の利用が開始される(ステップ9)。
ユーザはユーザ端末2を利用するとき、制御プログラム9のメイン機能は、オペレーティングシステム11のカーネルモード15で動作し、高速であるので、ユーザは制御プログラム9の動作を殆ど意識しないで作業をすることができる。ユーザが制限を受けるのは、制御モードによる設定条件で制限を受け、操作の不許可される場合、操作制限の警告が表示される場合、ユーザ又は管理者の判断が求められる場合等である。特に、ユーザファイルを許可されていないフォルダへ複製又は移動、そして外部媒体に書き込む操作のとき、制御プログラム9によってその操作が不許可される。
よって、ユーザは、ユーザ端末2を操作し、ユーザファイルを開く、閲覧編集する、又は新規に作成する等の作業を行う(ステップ10)。制御プログラム9は、ユーザ端末2の動作が制御モードで指定された制御条件に合致した動作をしているか否か監視し、それに違反するとユーザに対して警告を出し、又は、ユーザ端末2の動作を一時停止させてユーザの判断を待機し、ユーザ又は管理者の操作を待機する(ステップ11、12)。
図6には、制御リスト100の例を表にして図示している。この表の第1欄101は、リストの番号を示し、第2欄102はファイル名、第3欄103はプロセス名、第4欄104はプロセスID(「PID)ともいう。)、第5欄105はファイルパス、第6欄はファイル操作を示す。制御プログラム9による制御が必要なファイルである制御対象ファイル、プロセス等はこの制御リスト100に登録されるが、この登録時に各種条件を指定して登録する。
ファイル名は、制御対象のユーザファイル(以下、制御対象ユーザファイルとも記述する。)の名前とその拡張子からなる。例えば、「Worfile1.doc」を例示している。ファイル名がないリストは、プロセスのみの制御である。プロセス名は、制御対象ユーザファイルにアクセスしている実行中のアプリケーションプログラム10のプロセス名を示すもので、PIDは、実行中のアプリケーションプログラム10のプロセス識別番号である。
PIDは、オペレーティングシステム11が稼働した後に起動しているプロセスに独自に付与されるものである。プロセスIDがなくてもアプリケーションプログラム10の名前で制御することができる。ファイル操作は、制御対象ユーザファイルを操作する種類を指定するものであり、例えば、開く、書き込む、移動する、そして削除する等のように指定することができる。
図6の例では、ファイル操作の種類は「RO」等とローマ字で指定しているが、読み込む場合に「R」、書き込む場合「W」、上書き保存する場合「O」等と記載する。「RO」の場合は、読み込んで開き、そして上書き保存することができることを示す。また、ファイル操作は、数値又は単語で表記することができる。例えば、ファイル操作は読み込む場合に「Read」、書き込む場合に「Write」、上書き保存する場合に「Overwrite」等と英語の単語で記載することができる。ここでは単語を英語にしているが、他の言語でも良い。
また、ファイル操作は数値で表記することができる。例えば、ファイル操作は、読み込む場合に「0」、書き込む場合に「1」、開く場合に「2」等と記載することができる。第5欄105のファイルパスは本例で、「C:\...」と格納されている補助記憶装置5のドライブ名から記載されている。図6のリストの6番目に示すように、プロセス名「Application1.exe」のアプリケーションプログラム10がファイルパス「c:\...folder4」のフォルダにアクセスでき、「Applfile01」ファイルをファイル操作「R」で指定された読み込み操作ができる。
また、図6のリストの7番目に示すように、プロセス名「Application2.exe」のアプリケーションプログラム10がファイルパス「c:\...folder4」のフォルダにアクセスでき、第2欄102にファイル名がないので任意のファイルを「RWO」読み込み、書き込み、上書き保存ができることを示す。
同期フォルダ7の設定は、次の手順で行われる。同期フォルダ7は、これにアクセスする権限が与えられ、そして、同期フォルダ7のパスが制御リスト100に登録され、それにアクセスできるアプリケーションプログラム10、ユーザ等が登録される。仮想ディスクの場合は、同期フォルダ7は、補助記憶装置5の中で所定の領域が割り当てられ、この領域は、所定のファイルシステムとしてフォーマットされ、オペレーティングシステム11へマウントされる。
この仮想ディスクを、同期フォルダ7と同様に制御リスト100等に設定すると、同期フォルダ7と同じように機能する。以下、制御プログラム9の動作例について図7に図示したフローチャート参照しながら説明する。ユーザ端末2が起動されると、制御プログラム9がインストールされ、動作を開始する(ステップ20、21)。制御プログラム9がユーザ端末2にインストールされている場合は、ユーザ端末2の稼働後、制御プログラム9が起動し動作を開始する。制御プログラム9は基本的に自動起動するように設定される。
無論、制御プログラム9はユーザ等によって手動により起動ができる。制御プログラム9の起動方法は、ユーザがその使用方法等によって設定ものである。制御プログラム9は、ネットワーク4上のストレージに格納されて、又は記録媒体等に格納されてユーザに提供される。ネットワーク4上のクラウドストレージ3、又はその他のファイルサーバ、アプリケーション提供サイトに格納されている場合、ユーザ端末2からそれをダウンロードして、インストールすることができる。記録媒体の場合は、ユーザはそれを記録媒体からインストールする。
このように、制御プログラム9は、任意の方法で提供される。制御プログラム9は、アドイン部22のプログラムと一緒に提供され、制御プログラム9のインストール時にアドイン部22がインストールされる。または、アドイン部22は、制御プログラム9のインストール後、ユーザの指示、又は、アプリケーションプログラム10を利用開始時に制御プログラム9の指示等によってインストールすることができる。
制御プログラム9は動作を開始するとは、所定の手順で、制御プログラム9のライセンス認証、ユーザ端末2の端末認証、ユーザ認証が行われる(ステップ21)。これらの認証は、全て正常に認証されてから、ユーザ端末2を利用する準備ができ、制御プログラム9はユーザ端末2を監視し制御することが可能になる。まずは、制御プログラム9は動作するモードの選択又は確認が行われる。制御モードがON又はOFFの状態に設定しで動作する(ステップ22)。
ユーザは、ユーザ端末2を利用するとき、特定のアプリケーションプログラム10を起動して、そのアプリケーションプログラム10に指示してユーザファイルを開いて閲覧又は編集する。又は、アプリケーションプログラム10に指示して新規のユーザファイルを作成する。又は、ユーザファイルを選択して開く操作をすると、ユーザファイルの拡張子に関連付けられて登録されているアプリケーションプログラム10が起動するか、ユーザがアプリケーションプログラム10を指定する。
このようにアプリケーションプログラム10が起動し、ユーザファイルにアクセスする(ステップ23、24)。アプリケーションプログラム10が起動し動作を開始すると、アプリケーションプログラム10の起動と同時にアドイン部22が動作し、アプリケーションプログラム10が開くユーザファイルに関するアクセス情報を取得する(ステップ25)。このアクセス情報としては、プロセスID(PID)、ユーザファイルのファイルパス、ユーザファイルのファイル名等を取得する。
アプリケーションプログラム10がユーザファイルにアクセスしたとき、アプリケーションプログラム10の制御がアドイン部22に一時的に渡される(詳しくは後述する。)。制御がアドイン部22に渡ったときに、引数としてファイルパスとファイル名が通知される。プロセスIDの取得は、アドイン部22が自身のプロセスIDを取得することで実現する。アドイン部22は、取得したアクセス情報を制御プログラム9へ送信する。
制御プログラム9でアクセス情報を分析する(ステップ26)。この分析は例えばステップ27〜35の通り行われる。制御プログラム9は、ファイルパスを分析し、補助記憶装置5のどの領域を示すか否かを判定する(ステップ27)。補助記憶装置5には、制御領域と通常領域の少なくとも2種類の領域がある。制御領域は、その中に格納されているユーザファイル等の電子データをその外部に複製と移動することができない領域である。
制御領域は、電子データをその中に複製と移動することができる制限された領域である。本例では、制御領域として同期フォルダ7を例示している。この制御領域は、制御プログラム9によってのみアクセスすることができ、ユーザファイルが暗号化されてこの領域に格納される。制御領域の中には複数のサブ領域やフォルダ等があり、それらにユーザ端末2を利用するユーザ名等によってアクセス権限がそれぞれ指定することができる。
通常領域は、ユーザ端末2のユーザが自由に利用できる通常の領域である。通常領域は、クラウドストレージのフォルダと1対1で対応しているフォルダ等のような特別な領域ではない。例えば、制御プログラム9の制御モードにかかわらず、ユーザが通常領域の中の電子データを自由に利用することができる。
通常領域の中には複数のサブ領域やフォルダ等があり、それらにユーザ端末2を利用するユーザ名等によってアクセス権限がそれぞれ指定されていてもよい。ステップ27において、制御領域と判断された場合は、制御プログラム9が制御モードで動作している否かを確認する(ステップ28)。制御モードの場合は、制御プログラム9は追加して制御設定をする必要なく、ユーザファイルへのアクセスを許可する(ステップ29)。
このアクセス許可は、アドイン部22へ送信され、アドイン部22はこれを受信して、アプリケーションプログラム10へ制御を戻す。アプリケーションプログラム10は、ユーザファイルを読み込んで開き、閲覧、編集等が行われる(ステップ35)。アプリケーションプログラム10は、制御領域のユーザファイルを編集し保存するときは、制御領域のみへ保存することができる(ステップ35)。
もし、アプリケーションプログラム10が制御領域のユーザファイルを編集し保存するとき、通常領域へ保存しようとする場合、保存の動作がエラーになり、保存することができない。これにより、制御領域に格納されているユーザファイルが外部へ漏洩することを防止することができる。ステップ28の確認で、制御モードがOFFの場合は、制御モードがONに設定され、ユーザファイルを通常領域への書き込みすることが禁止され、その設定が行われる(ステップ30)。
これにより、ユーザファイルへのアクセスが許可され、アドイン部22へ送信される。アドイン部22は、アクセス許可を受信して、アプリケーションプログラム10へ制御を戻す。アプリケーションプログラム10は、ユーザファイルを読み込んで開き、閲覧、編集等が行われる(ステップ35)。アプリケーションプログラム10は、ユーザファイルが制御領域から読み取ったものであるため、それを編集し保存するとき、制御領域のみへ保存することができる。
もし、アプリケーションプログラム10がユーザファイルを保存するとき、通常領域へ保存する場合、書き込み禁止の設定されているため、保存がエラーになり、保存できない。ステップ27の確認で、通常領域と判断された場合は、制御プログラム9が制御モードで動作している否かを確認する(ステップ31)。制御モードがONの場合は、ユーザファイルを上書き保存することを許可する(ステップ32)。
そして、制御リスト100に、このユーザファイルに対するアクセス権限(上書き保存を許可)を追加する(ステップ33)。そして、このユーザファイルへのアクセス許可は、アドイン部22へ送信され、アドイン部22はこれを受信して、アプリケーションプログラム10へ制御を戻す。アプリケーションプログラム10は、ユーザファイルを読み込んで開き、閲覧、編集等が行われる(ステップ35)。
ステップ31の確認で、制御モードがOFFの場合は、何も追加設定せず、アクセス許可が発送される(ステップ34)。ユーザファイルへのアクセスがアドイン部22へ送信される。アドイン部22はアクセス許可を受信して、アプリケーションプログラム10へ制御を戻す。アプリケーションプログラム10は、ユーザファイルを読み込んで開き、閲覧、編集等が行われる(ステップ35)。ユーザファイルを通常領域へ自由に上書き保存、別名保存することができる。
アプリケーションプログラム10は、ユーザファイルを閲覧、編集し保存するときは、アドイン部22はアプリケーションプログラム10から制御を一時的に取得し、ユーザファイルへのアクセス情報を取得する。アクセス情報が制御プログラム9へ渡され、制御リスト100が参照され、ユーザファイルの書き込みが許可されているか否かの確認が行われる(ステップ36)。ユーザファイルの保存が終了すると、アプリケーションプログラム10が終了するか、続けて閲覧・編集が行われる(ステップ37、38)。
図8には、制御プログラム9の動作の手順例を示すフローチャートを図示している。制御部32は、インターフェース部31を介して、ユーザファイルへのアクセスイベントを取得する(ステップ50、51)。ファイルシステム制御部36は、ユーザファイルへのアクセス情報(プロセスID、ファイルパス、ファイル操作)を取得する(ステップ52)。制御部32は、アクセス情報を取得して分析し、ファイルパスに指定されたフォルダとファイル操作等が制御リスト100に登録されているデータと合致しているかを照合する(ステップ53)。
アクセス情報が制御リスト100のデータと合致すると、制御部32はアクセスを許可する旨を示すアクセス許可を発効し、ユーザファイルに対する操作が行われる(ステップ54)。このアクセス許可とアクセス情報は、ファイルシステム制御部36に送信され、ユーザファイルへの適当なアクセスが行われ、アクセス結果が返信される(ステップ58)。ステップ53において、ユーザファイルが制御リスト100のデータと合致しない場合、制御モードの確認が行われる(ステップ55)。
制御モードがOFFの場合は、ユーザファイルは特に制御しない制御対象ユーザファイルでないと判定されるので、ユーザファイルへの上書き保存等が許可され、アクセス許可が発行される(ステップ57)。ファイルシステム制御部36がこのアクセス許可を受信して、ユーザファイルへの適当なアクセスが行われ、アクセス結果が返信される(ステップ58)。ステップ55において、制御モードがONの場合、ユーザファイルは条件でアクセスが許可又は不許可される。
もし、ユーザファイルは、制御領域の電子データであり、通常領域へアクセスする場合は、アクセスが不許可になる。もし、ユーザファイルは、通常領域の電子データであり、制御領域へアクセスする場合は、アクセスが許可になり、制御リスト100に登録する(ステップ56)。アクセスが不許可なった場合、その旨を示すアクセス不許可が発効され、これがアプリケーションプログラム10へ送信される。
言い換えると、アプリケーションプログラム10にはアクセスが実行されなかった旨を示す結果としてアクセス不許可が返信される(ステップ56、58)。アクセス許可の場合、ファイルシステム制御部36がこのアクセス許可を受信して、ユーザファイルへの適当なアクセスが行われ、アクセス結果が返信される(ステップ58)。ステップ58において、アプリケーションプログラム10へアクセス結果を返信した後は、次のファイルアクセスを監視し、待機する等のように次の処理へ移行する(ステップ59)。
制御プログラム9が制御モードをオンにするように指示されると、制御部32はこの指示を受信し、ファイルアクセスを全て禁止する命令を送信する。この命令は、ネットワーク制御38、ファイルシステム制御部37、インターフェース制御部39等に送信される。ネットワーク制御38、ファイルシステム制御部37、インターフェース制御部39は、この命令を受信して、ファイルアクセスを禁止にする。
また、制御プロセスの設定、ネットワーク利用の禁止、クリップボードの利用禁止、スクリーンキャプチャの使用禁止、コピーアンドペースト機能の禁止等を行う。オペレーティングシステム11のコールバック関数を登録(カーネルのAPIを利用)することで、プロセスの起動イベントと終了イベントを取得する。実行するプロセスの起動イベントと終了イベントに対して、コールバック関数を設定し、アプリケーションプログラム10の起動と終了を検出できるように設定する。
アドイン部22は、アプリケーションプログラム10の起動を検出する。アドイン部22において、ユーザファイルを開く監視は、例えば、WINDOWS(登録商標)の例では、オペレーティングシステムのThisAddIn_Startup event handlerという関数を利用することができる。例えば、Microsoft Officeアプリケーションを拡張するとき、Visual Studio の Microsoft Office Developer Toolsを利用して、アドイン(アドイン部22)を作成する。このときプロジェクトの ThisAddIn クラスを使用し、ThisAddIn_Startup event handler関数を指定する。
これにより、アプリケーションプログラム10がユーザファイルを読み込むときに、この関数コードが実行される。これを利用して、読み込まれるユーザファイルを監視する。Microsoft社以外のアプリケーションプログラム10においても、アドイン機能を利用することで、開くユーザファイルの情報を取得することができる。
その他に、CreateProcessのSUSPEND(サスペンド)モードを利用することができる。CreateProcessのSUSPEND(サスペンド)モードでアプリケーションプログラム10のプロセスが起動され、アドイン部22は、このプロセスのハンドルとプロセスIDを取得する。プロセスがCreateProcessのサスペンドモードで起動されると、一時休止した状態になり、再開されるまでに実行されない。ハンドルは、CreateProcessから戻されるプロセスハンドルである。
アドイン部22は、取得したハンドルとプロセスIDを制御部32に送信する。このようにプロセスが起動されると、ファイルシステム制御部37内のコールバック関数が実行され、制御部32へ制御開始を通知する。制御部32は、ハンドルとプロセスIDを取得し、ファイルシステム制御部37へ送信し、プロセスIDを利用して、管理テーブルを参照し、管理テーブルの値に従って、ファイルアクセスを許可する設定を行う。
ファイルアクセスを許可するように設定する項目は、プロセスID、プロセス名、ファイル名、フォルダ名、ファイル操作である。ファイル操作に指定される設定は、読み込み専用(Read Only)と、読み込み書き込み(Read/Write)とのいずれかを許可する設定である。これらの一連の設定が終わると、取得したハンドルを使って、サスペンドモードになっていたプロセスを再開する。そして、アプリケーションプログラム10が動作される。
アプリケーションプログラム10が動作している間、制御部32は、アプリケーションプログラム10が終了するときにオペレーティングシステム11から発行される通知である終了イベントを待機する。アプリケーションプログラム10が終了すると、ファイルシステム制御部37内のコールバック関数を実行し、制御部32へ制御解除を通知する。ファイルシステム制御部37は、制御リスト100(図6を参照。)によって行われていた制御解除をし、それ以後は、このアプリケーションプログラム10の制御を行わない。
無論、このアプリケーションプログラム10がユーザファイルにアクセスしたときは、制御が再開される。ユーザ端末2において、オペレーティングシステム11の動作に必要な最低限の実行ファイルとプロセスを制限なしに動作させる必要がある。例えば、プロセスとしては、System等が例示できる。制御プロセス名、制御ディレクトリは、制御リスト100(図6を参照。)に登録される。
これらのプロセスは、オペレーティングシステム11が起動するときの設定、つまり、補助記憶装置5のディレクトリが作業フォルダとして設定されている。同期フォルダ7は、オペレーティングシステム11がインストールされていないドライブに存在する場合、同期フォルダ7のドライブはオペレーティングシステム11の作業ドライブとして設定されない。そのため、制御部32は、これらのシステムプロセスから補助記憶装置5を取得し、これを同期フォルダ7の該当するフォルダへのアクセスに置き換える。
言い換えると、リダイレクトする。プロセス名を取得するには、ZwQueryInformationProcess関数を使い、実行プロセスのイメージパスを取得し、これの実行ファイル(exe拡張子を持っている)のファイル名からプロセス名を取得する。プロセスIDを取得するには、PsGetCurrentProcessId()関数を使って現在のPIDを取得する。
ファイル名を取得するには、ファイルのI/O要求に関する入出力(I/O)要求(IRP)から参照されるファイルオブジェクトよりファイル名を取得する。イベントの検出は、次のように行われる。オペレーティングシステム11のカーネル内のI/O要求は、IRP(IO Request Packet)の形式で行われる。ファイルアクセスに関しては、次の表2に示すIRPが利用される。このIRPを対象にコールバック関数を設定することで、イベント検出を行う。
コールバック関数は、エグゼキュティブのプロセスマネージャーに登録され、コールバック関数が実行されると参照先の制御プログラム9に制御が移動される。
Figure 2021174432
〔第2の実施の形態〕
本発明の第2の実施の形態について説明する。本発明の第2の実施の形態は上述した本発明の第1の実施の形態と基本的に同じであり、ここで異なる部分のみを説明する。ユーザ端末2において、ユーザファイル等のファイルを新規作成するとき、アプリケーションプログラム10の新規作成機能によって、ファイルを新規に作成する方法がある。以下、制御プログラム9によって行われる新規ファイル作成及びその後の制御についてフローチャートを参照しながら説明する。
図9には、ファイルを新規作成するとき、制御プログラム9が動作する手順例を示すフローチャートを図示している。ユーザ端末2が起動されて動作し、制御プログラム9が動作開始していることが前提に説明する(ステップ70、71)。制御プグラム9は、制御モードがON又はOFFの状態で動作する(ステップ72)。アプリケーションプログラム10が起動され(ステップ73)、ユーザがアプリケーションプログラム10を操作しファイルを新規作成する機能を利用し、ファイルを新規作成する(ステップ74)。
このとき、新規作成のファイルを保存するフォルダ(アプリケーションプログラム10の標準設定)が表示され、ユーザがこれを選択するか適当なフォルダに変更することで指定できる。アプリケーションプログラム10は新規作成ファイルを保存するために指定のフォルダにアクセスすると、アドイン部22がこれを検知して、制御プログラム10へ通知する。アドイン部22による検知は、上述の第1の実施の形態と同様である。
これにより、制御プログラム10は新規作成ファイルの保存先のファイルパスとファイル名を取得し、分析する(ステップ75、76)。制御部32は、アクセス情報を取得して分析し、ファイルパスに指定された保存先領域、ファイル名、ファイル操作を制御リスト100に登録されているデータと照合する。ここで言うファイル操作は、ファイルを保存する操作、言い換えると書き込みする操作である。
ファイルを保存する領域が制御領域である場合は、制御リスト100(図6を参照。)によってファイル操作が許可されているか否かを確認する。この許可としては、例えば、アプリケーションプログラム10が制御領域へアクセスすることが許可されていること、アプリケーションプログラム10による制御領域への新規ファイルの書き込みが許可されていること、ユーザの制御領域へのアクセスが許可されていること等が例示できる。
また、場合によって、例えば、制御プログラム9が制御モードで動作中、任意のアプリケーションプログラム10が制御領域へアクセスすることが許可されており、特定のアプリケーションプログラム10による新規ファイルの書き込みが許可になっている場合がある。このようにファイル操作が許可されている場合、新規作成ファイルを制御領域に書き込みし、新規作成ファイルを制御リスト100に登録し、上書き保存を許可する設定と、この新規作成ファイルを通常領域への移動と書き込みを禁止する設定を制御リスト100に登録する(ステップ78)。
このファイル操作は、制御部32から、ファイルシステム制御部36に送信され、新規作成ファイルを書き込むための適当なアクセスが行われ、アクセス結果が返信され、新規作成ファイルの編集等ができるようになる(ステップ83)。ステップ77の確認において、新規作成ファイルを保存するファイル操作が通常領域へのアクセスである場合、新規作成ファイルに関して、制御リスト100に登録された制御が必要であるか否かを確認する。
例えば、特定のアプリケーションプログラム10の通常領域へのアクセスが、制御リスト100に不許可に設定されている場合、この確認で制御が必要として判断される。また、特定のアプリケーションプログラム10、又はユーザが通常領域へアクセスしデータを読み込みする操作が制御リスト100に設定されているが、ファイルを書き込みする操作が不許可に設定されている場合がある。
このように通常領域へのファイル書き込み操作が不許可に設定されている場合、通常領域への書き込みが禁止されている旨をユーザ端末2の表示手段に表示し、ユーザがファイルパスを変更し許可されたファイルパスが指定されるまでに待機する。そして、ファイルを許可された領域、例えば制御領域に書き込みし、新規作成ファイルを制御リスト100に登録し、上書き保存を許可する設定と、この新規作成ファイルを一般領域への移動と書き込みを禁止する設定を制御リスト100に登録する(ステップ80、81)。
このとき、制御プログラム9は、制御モードがONの状態で動作する。これらの操作は、制御部32からファイルシステム制御部36に送信され、新規作成ファイルを書き込む操作等の適当なアクセスが行われ、アクセス結果が返信され、新規作成ファイルの編集等ができるようになる(ステップ83)。ステップ79の確認において、制御が必要ではない場合、通常領域への書き込み操作が許可され、新規作成ファイルを通常領域に書き込みする(ステップ82)。
この許可は、制御部32からファイルシステム制御部36に送信され、新規作成ファイルを書き込むための適当なアクセスが行われ、アクセス結果が返信され、新規作成ファイルの編集等ができるようになる(ステップ83)。ここで、新規作成ファイルは制御する必要がないので、制御リスト100に登録する必要が特になく、制御プログラム9の制御モードは特に変更する必要がない。
というのは、制御プログラム9の制御モードがONでもOFFでも通常領域のファイルにアクセスすることが許可されているためである。上述のように、新規作成ファイルが編集可能になり、アプリケーションプログラム10によって編集され、ディスプレイ上に表示される等の作業が行われる。そして、ユーザの指示、定期的に、終了時等のタイミングで、アプリケーションプログラム10が編集中の新規作成ファイルを上書き保存する(ステップ84)。
この保存する操作のとき、制御プログラム9はアドイン部22等から保存するアクセスを取得し、制御が必要な制御対象ファイルであるか否か、ファイルの上書き保存が許可されているか否かを確認し、適当な操作が行われる。アプリケーションプログラム10が新規作成ファイルの上書き保存操作が終わると終了する(ステップ85)。制御プログラム9は、アプリケーションプログラム10が終了するとその監視を終了し、他のプロセス等の監視を継続する(ステップ86)。
〔その他の実施の形態〕
上述の通り、本発明の第1及び第2の実施の形態について説明した。ここで、本発明の第1及び第2の実施の形態の変形例を説明する。制御プログラム9で制御している制御対象フォルダは同期フォルダ7を例に説明したが、同様に他のフォルダを指定して同様に制御することができる。
例えば、制御対象フォルダとして、ファイルサーバ用の共有フォルダ、ユーザ端末2内に指定された特定フォルダ、ユーザ端末2の仮想ディスクドライブの全体又はその中のフォルダ、ユーザ端末2に接続された補助記憶装置の全体若しくはその中のフォルダ等が例示できる。ファイルサーバ用の共有フォルダ又は同期フォルダ7としては、OneDrive(商標)、Box(商標)、Dropbox(商標)等のクラウドストレージ(オンラインストレージサービスとも言う)、又はこれと同等のストレージサービス用フォルダが例示できる。
ユーザ端末2に接続された補助記憶装置としては、例えば、図3のフラッシュメモリ21、図示しないがHDD、SSD等が例示できる。アプリケーションプログラム10でユーザファイルを開くときにそのユーザファイルの内容を一時的に保存する一時ファイルが作成される。この一時ファイルは、開いたユーザファイルと同一フォルダ、又は、予めアプリケーションプログラム10の設定若しくはオペレーティングシステム11の設定で指定されたフォルダになる。
例えば、ワード文書の場合、通常の一時ファイルはファイル名の一部と複数の数字を組み合わせて、拡張子が同じファイルが作成される。この一時ファイルの内容は、元のユーザファイルの編集されている部分、言い換えると保存されていない部分からなるものであり、アプリケーションプログラム10から編集中のユーザファイルを保存操作すると、一時ファイルが元のユーザファイルに反映される。制御プログラム9はユーザファイルが開くときに、その一時ファイルの格納場所を確認し、必要であれば、制御することができる。
例えば、一時ファイルの作成領域を制御領域等の適当な領域することができる。アプリケーションプログラム10でユーザファイルを開くときに、そのユーザファイルの内容を自動バックアップし一時的に保存する一時ファイルが作成される。この一時ファイルは、アプリケーションプログラム10の設定で保存場所を設定可能であることが多く、ユーザが変更することができる。例えば、ワードの場合は、所定期間ごと(既定10分)にバックアップファイルが作成される。
このバックアップファイルの拡張は「asd」で、例えば、無保存のユーザファイルの回復用として「〜AppData\Roaming\Microsoft\Word\ファイル名+文字列」フォルダ、ファイル強制終了時の回復用として「〜AppData\Roaming\Microsoft\Word」フォルダ等のファイルパスに保存され、編集中の内容が保存されている。編集中のユーザファイルを保存し忘れて終了させた場合、オペレーティングシステム11又はアプリケーションプログラム10等の異常動作で編集中のユーザファイルを保存せずに終了した場合、またユーザ端末2が強制的に電源シャットダウン又はリセットされた場合等において、これらの場所にアクセスして、一時ファイルを利用し、編集中のユーザファイルを回復させることができる。
制御プログラム9はこれらの一時ファイルを確認し、その保存場所、それらへのアクセス等を制御することができる。例えば、編集中のユーザファイルを保存しないで異常動作でアプリケーションプログラム10が終了した後、アプリケーションプログラム10が再度起動するとき、これらの設定場所の一時ファイル(バックアップファイル)を確認し、回復する必要がある場合に、一時ファイルを開く操作をして回復する。
この開く操作のアクセス時に、制御プログラム9は、一時ファイル又は元のユーザファイルから一時ファイルを特定(又は推定)して、制御リスト100で確認して、適当な制御を行う。このように制御プログラム9によって一時ファイルの保存先を指定し、一時ファイルを制御することができる。
制御プログラム9は、同期フォルダ11の中のユーザァイルを開くとき、その一時ファイルが格納されるフォルダは、制御対象フォルダとして指定して制御リスト100に追加記録し、一時ファイルを暗号化して制御対象フォルダに格納し、制御対象フォルダの中のユーザファイルを他のフォルダへコピーすることを禁止する。このように設定すれば、一時ファイルの制御が上述した第1及び第2の実施の形態で示す制御が可能である。
制御対象フォルダはその固有の識別情報で特定され、この固有の識別情報が制御リスト100に登録され、制御プログラム9が正常起動後にのみアクセス可能形式で、制御プログラム9のソースコードの中に暗号化されて格納、又は、制御プログラム9のバイナリコードの中に格納される等のように制御プログラム9内に保存される。また、この固有の識別情報は、暗号化され、制御プログラム9が正常起動後のみにアクセスできるようにユーザ端末2内、ユーザ端末2に接続された補助記憶装置若しくは携帯装置、ユーザ端末2がネットアークを経由してアクセス可能なクラウドフォルダに格納される。
制御対象フォルダはその固有の識別情報は、ユーザ端末2内のフォルダの場合はそのフォルダパスを取得し、識別情報として利用する。クラウドストレージの場合、クラウドサービスにログインしたユーザアカウントの情報から、同期フォルダ8の場所を動的に取得し識別番号として利用する。フラッシュメモリ21等の外付け補助記憶装置の場合、そのデバイスが持つデバイスID(識別番号)を取得し識別番号として利用する。デバイスIDとしては、ベンダーID、プロダクトID、シリアル番号等のようにデバイスを製造時に付与された識別番号等を利用することができ、この例を図10に図示している。
図10の表は、デバイスIDの例を示すデバイスリスト110であり、第1欄111は登録されたデバイスの番号を、第2欄112のベンダーIDはデバイスを製造した製造元のベンダーを識別するための識別番号を、第3欄113のプロダクトIDはデバイスの種別等を示すプロダクト識別番号を、第4欄114のシリアル番号はデバイスに付与された固有番号を示す。
デバイスリスト110は上述の制御リスト100の一部であることも、制御リスト100と同様に独自リストして、ユーザ端末2の中に制御プログラム9のみでアクセス可能な状態で格納される。上述の第1及び第2の実施の形態等に説明した制御プログラム9によるユーザ端末2の制御において、制御リスト100と共にデバイスリスト110を確認し、制御の許可・不許可を判定する。
ユーザ端末2において、ユーザファイルを新規に作成するとき、補助記憶装置5の中で空のユーザファイルを作成する方法がある。この場合、ユーザは、補助記憶装置5の中で空のユーザファイルを作成して、それを適当なアプリケーションプログラム10で開き、編集し、編集が終わったら上書き保存する。このとき、補助記憶装置5の中で空のユーザファイルが作成される領域によって、制御対象のユーザファイルであるか否かを決定することができる。
アプリケーションプログラム10が作成された空のユーザファイルを開くとき、制御プログラム9が空のユーザファイルのファイルパスとファイル名を取得して分析し、制御リスト100及び又はデバイスリスト110に、登録されているか否かで制御の可否を判断する。空のユーザファイルを作成するとき、ユーザは補助記憶装置5の中で適当なフォルダを選択し、その中でユーザファイルを作成する。制御プログラム9が制御モードがONで動作しているときは、同期フォルダ7等の制御領域にアクセスすることができ、この制御領域に空のユーザファイルを作成する。
このとき、ファイル名を記述するとき、その拡張子も指定する。例えば、テキストファイルの場合は「text.txt」、ワード文書の場合は「file1.doc」又は「file1.docx」と指定する。制御プログラム9が制御領域へのアクセスを取得し、ユーザファイルを作成する操作を制御する。例えば、制御領域のユーザファイルが作成されると、制御リスト100に追加されて設定される。
また、制御プログラム9が制御モードで動作していないときは、制御領域にアクセスできないので、通常領域に空のユーザファイルを作成する。制御プログラム9が制御モードで動作しているときも、通常領域に空のユーザファイルを作成することができる。このように作成された空のユーザファイルにアクセスするとき、ファイル名のあるアイコンをダブルクリックすると、拡張子に関連付けられたアプリケーションプログラムが自動起動するか、ユーザが指定して特定のアプリケーションプログラムで開く。
このユーザファイルを開く動作は、制御プログラム9によって検知され、上述の手順のように、制御が行われる。作成された空のユーザファイルがアプリケーションプログラム10から最初にアクセスされたとき、このアクセスが制御プログラム9によって検知され、空のユーザファイル、言い換えると編集するユーザファイルが制御リスト100に追加するか否か、その制御の種類の指定等が、予め指定された手順で、又は、ユーザの判断で指定されて制御リスト100に追加設定される。
本発明は、電子データの緊密な管理が必要な分野に利用すると良い。特に、高度なデータ管理が要求される分野、例えば、電子計算機のリース業、印刷業界、保険会社、販売店、金融機関、原子力関連の施設、個人データを扱う端末、遠隔操作し作業を行う端末等の分野に利用されると良い。
1…電子データ管理システム
2…ユーザ端末
3…クラウドストレージ
4…ネットワーク
5…補助記憶装置
6…通常フォルダ
7…同期フォルダ
8…クラウドフォルダ
9…制御プログラム
10…アプリケーションプログラム
11…オペレーティングシステム
12…デバイス
13…デバイスドライバ
14…ファイルシステムドライバ
15…カーネルモード
16…ユーザモード
17…ネットワークカード
18…コネクタ
19…USBポート
20…外部デバイス20
21…フラッシュメモリ
22…アドイン部
23…ネットワークドライバ
24…インターフェースドライバ
25…主記憶装置
31…インターフェース部
32…制御部
33…ログ取得部
34…暗号化部
35…復号化部
36…デバイスドライバ制御部
37…ファイルシステム制御部
38…ネットワーク制御3
39…インターフェース制御部39
100…制御リスト
110…デバイスリスト

Claims (13)

  1. 電子計算機の補助記憶装置に格納されているユーザデータがアプリケーションプログラムによって操作されるとき、(a)予め設定された制御リストに従って前記操作を許可して前記操作を実行させることで、又は、前記制御リストに従って前記操作を不許可して前記操作を中断させることで前記電子計算機を制御するための第1制御モードと、(b)前記電子計算機で実行される前記操作を制御しない第2制御モードとからなる制御手段によって前記電子計算機を制御することで、前記ユーザデータの漏洩を防止するための電子データ管理方法において、
    前記補助記憶装置は、前記制御手段が前記第1制御モードで動作しているときのみにアクセス可能であり、かつ、格納されている電子データの移動又は複製が自領域内のみで許可される領域である制御領域と、前記制御手段が前記第1制御モード又は前記第2制御モードで動作しているときにアクセス可能であり、かつ、格納されている電子データを任意の領域へ移動又は複製することが許可されている通常領域とからなり、
    前記アプリケーションプログラムによって閲覧又は編集している前記ユーザデータからなるファイルを保存するとき、
    前記制御手段によって、前記アプリケーションプログラムによって前記保存する操作を示す保存操作と前記ファイルの格納場所を示すファイルパスからなるアクセス情報を取得し、
    前記制御手段によって前記アクセス情報を分析し、
    前記制御手段が前記第1制御モードで動作している場合、
    前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記通常領域に前記ファイルを保存する前記保存操作を不許可し、
    前記ファイルパスが前記通常領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可して、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、又は、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
    前記制御手段が前記第2制御モードで動作している場合、
    前記ファイルパスが前記通常領域を示すため、前記通常領域に前記ファイルを保存する前記保存操作を許可する
    ことを特徴とする電子データ管理方法。
  2. 請求項1に記載の電子データ管理方法において、
    前記制御手段は、前記アプリケーションプログラムの動作を監視するために前記アプリケーションプログラムに機能拡張として登録され、前記アクセス情報を取得するアドイン手段を有する
    ことを特徴とする電子データ管理方法。
  3. 請求項2に記載の電子データ管理方法において、
    前記制御手段は、前記オペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記アプリケーションプログラムとの通信に共通のインターフェースを提供するための手段で、
    前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するためのインターフェース部、
    前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部、
    前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部、及び、
    データを暗号化して暗号化データを作成するための暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部
    からなり、
    前記制御部は、前記インターフェース部を介して前記アドイン手段から前記アクセス情報取得し、分析して、前記保存操作を前記許可又は前記不許可し、
    前記許可のとき、前記制御部は、前記アクセス情報を前記デバイスドライバ制御部へ送信して実行させ、前記実行の結果を前記インターフェース部を介して前記アドイン手段へ送信し、
    前記不許可のとき、前記制御部は、前記不許可を前記インターフェース部を介して前記アドイン手段へ送信する
    ことを特徴とする電子データ管理方法。
  4. 請求項1乃至3の中から選択される1項に記載の電子データ管理方法において、
    前記アプリケーションプログラムによって新規ファイルを作成して、前記新規ファイルである前記ファイルを保存するとき、
    前記制御手段によって、前記アプリケーションプログラムによって前記ファイルを保存する操作を示す前記保存操作と前記新規ファイルを格納する場所を示す前記ファイルパスからなる前記アクセス情報を取得し、
    前記制御手段によって該アクセス情報を分析し、
    前記制御手段が前記第1制御モードで動作している場合、
    前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、
    前記ファイルパスが前記通常領域を示すとき、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
    前記制御手段が前記第2制御モードで動作している場合、
    前記通常領域に前記ファイルを保存する前記保存操作を許可する
    ことを特徴とする電子データ管理方法。
  5. 電子計算機の補助記憶装置に格納されているユーザデータがアプリケーションプログラムによって操作されるとき、(a)予め設定された制御リストに従って前記操作を許可して前記操作を実行させることで、又は、前記制御リストに従って前記操作を不許可して前記操作を中断させることで前記電子計算機を制御するための第1制御モードと、(b)前記電子計算機で実行される前記操作を制御しない第2制御モードとからなる制御手段からなり、
    前記制御手段によって前記電子計算機を制御することで、前記ユーザデータの漏洩を防止するための電子データ管理装置において、
    前記補助記憶装置は、前記制御手段が前記第1制御モードで動作しているときのみにアクセス可能であり、かつ、格納されている電子データの移動又は複製が自領域内のみで許可される領域である制御領域と、前記制御手段が前記第1制御モード又は前記第2制御モードで動作しているときにアクセス可能であり、かつ、格納されている電子データを任意の領域へ移動又は複製することが許可されている通常領域とからなり、
    前記アプリケーションプログラムによって閲覧又は編集している前記ユーザデータからなるファイルを保存するとき、
    前記制御手段は、前記アプリケーションプログラムによって前記保存する操作を示す保存操作と前記ファイルの格納場所を示すファイルパスからなるアクセス情報を取得し、前記アクセス情報を分析し、
    前記制御手段が前記第1制御モードで動作している場合、
    前記ファイルパスが前記制御領域を示すとき、前記制御手段は、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記通常領域に前記ファイルを保存する前記保存操作を不許可し、
    前記ファイルパスが前記通常領域を示すとき、前記制御手段は、前記制御領域に前記ファイルを保存する前記保存操作を許可して、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、又は、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
    前記制御手段が前記第2制御モードで動作している場合、
    前記ファイルパスが前記通常領域を示すため、前記制御手段は、前記通常領域に前記ファイルを保存する前記保存操作を許可する
    ことを特徴とする電子データ管理装置。
  6. 請求項5に記載の電子データ管理装置において、
    前記制御手段は、前記アプリケーションプログラムの動作を監視するために前記アプリケーションプログラムに機能拡張として登録され、前記アクセス情報を取得するアドイン手段を有する
    ことを特徴とする電子データ管理装置。
  7. 請求項6に記載の電子データ管理装置において、
    前記制御手段は、前記オペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記アプリケーションプログラムとの通信に共通のインターフェースを提供するための手段で、
    前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するためのインターフェース部、
    前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部、
    前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部、及び、
    データを暗号化して暗号化データを作成するための暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部
    からなり、
    前記制御部は、前記インターフェース部を介して前記アドイン手段から前記アクセス情報取得し、分析して、前記保存操作を前記許可又は前記不許可し、
    前記許可のとき、前記制御部は、前記アクセス情報を前記デバイスドライバ制御部へ送信して実行させ、前記実行の結果を前記インターフェース部を介して前記アドイン手段へ送信し、
    前記不許可のとき、前記制御部は、前記不許可を前記インターフェース部を介して前記アドイン手段へ送信する
    ことを特徴とする電子データ管理装置。
  8. 請求項5乃至7中から選択される1項に記載の電子データ管理装置において、
    前記アプリケーションプログラムに新規ファイルを作成して、前記新規ファイルである前記ファイルを保存するとき、
    前記制御手段によって、前記アプリケーションプログラムによって前記ファイルを保存する操作を示す前記保存操作と前記新規ファイルを格納する場所を示す前記ファイルパスからなる前記アクセス情報を取得し、
    前記制御手段によって該アクセス情報を分析し、
    前記制御手段が前記第1制御モードで動作している場合、
    前記ファイルパスが前記制御領域を示すとき、前記制御手段は、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、
    前記ファイルパスが前記通常領域を示すとき、前記制御手段は、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
    前記制御手段が前記第2制御モードで動作している場合、
    前記制御手段は前記通常領域に前記ファイルを保存する前記保存操作を許可する
    ことを特徴とする電子データ管理装置。
  9. 電子計算機の補助記憶装置に格納されているユーザデータがアプリケーションプログラムによって操作されるとき、(a)予め設定された制御リストに従って前記操作を許可して前記操作を実行させることで、又は、前記制御リストに従って前記操作を不許可して前記操作を中断させることで前記電子計算機を制御するための第1制御モードと、(b)前記電子計算機で実行される前記操作を制御しない第2制御モードとからなる前記制御プログラムからなり、
    前記制御プログラムによって前記電子計算機を制御し動作させることで、前記ユーザデータの漏洩を防止するための電子データ管理用プログラムにおいて、
    前記補助記憶装置は、前記制御手段が前記第1制御モードで動作しているときのみにアクセス可能であり、かつ、格納されている電子データの移動又は複製が自領域内のみで許可される領域である制御領域と、前記制御手段が前記第1制御モード又は前記第2制御モードで動作しているときにアクセス可能であり、かつ、格納されている電子データを任意の領域へ移動又は複製することが許可されている通常領域とからなり、
    前記アプリケーションプログラムによって閲覧又は編集している前記ユーザデータからなるファイルを保存するとき、
    前記制御プログラムは、
    前記アプリケーションプログラムによって前記保存する操作を示す保存操作と前記ファイルの格納場所を示すファイルパスからなるアクセス情報を取得するステップ、
    前記アクセス情報を分析するステップ、
    前記制御プログラムが前記第1制御モードで動作している場合、
    前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記通常領域に前記ファイルを保存する前記保存操作を不許可するステップ、
    前記ファイルパスが前記通常領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可して、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、又は、前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ、
    前記制御プログラムが前記第2制御モードで動作している場合、
    前記ファイルパスが前記通常領域を示すため、前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ
    を前記電子計算機に実行させることを特徴とする電子データ管理用プログラム。
  10. 請求項9に記載の電子データ管理用プログラムにおいて、
    前記制御プログラムは、前記アプリケーションプログラムの動作を監視するために前記アプリケーションプログラムに機能拡張として登録され、前記アクセス情報を取得するステップとを前記電子計算機に実行させるアドイン部からなる
    ことを特徴とする電子データ管理用プログラム。
  11. 請求項10に記載の電子データ管理用プログラムにおいて、
    前記制御プログラムは、前記オペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記アプリケーションプログラムとの通信に共通のインターフェースを提供するためのプログラムで、
    前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するためのインターフェース部、
    前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部、
    前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部、及び、
    データを暗号化して暗号化データを作成するための暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部
    からなり、
    前記制御部は、前記インターフェース部を介して前記アドイン部から前記アクセス情報取得するステップと、前記アクセス情報を分析するステップ、前記保存操作を前記許可又は前記不許可するステップとを前記電子計算機に実行させ、
    前記許可のとき、前記制御部は、前記アクセス情報を前記デバイスドライバ制御部へ送信して実行させるステップと、前記実行の結果を前記インターフェース部を介して前記アドイン部へ送信するステップを前記電子計算機に実行させ、
    前記不許可のとき、前記制御部は、前記不許可を前記インターフェース部を介して前記アドイン部へ送信するステップを前記電子計算機に実行させる
    ことを特徴とする電子データ管理用プログラム。
  12. 請求項9乃至11の中から選択される1項に記載の電子データ管理用プログラムにおいて、
    前記アプリケーションプログラムによって新規ファイルを作成して、前記新規ファイルである前記ファイルを保存するとき、
    前記制御プログラムは、
    前記アプリケーションプログラムによって前記ファイルを保存する操作を示す前記保存操作と前記新規ファイルを格納する場所を示す前記ファイルパスからなる前記アクセス情報を取得するステップ、
    該アクセス情報を分析するステップ、
    前記制御プログラムが前記第1制御モードで動作している場合、
    前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録するステップ、
    前記ファイルパスが前記通常領域を示すとき、前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ、
    前記制御プログラムが前記第2制御モードで動作している場合、
    前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ
    を前記電子計算機に実行させることを特徴とする電子データ管理用プログラム。
  13. 請求項9乃至12の中から選択される1項に記載の電子データ管理用プログラムを記録した電子データ管理用プログラムの記録媒体。
JP2020080271A 2020-04-30 2020-04-30 電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体 Pending JP2021174432A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020080271A JP2021174432A (ja) 2020-04-30 2020-04-30 電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020080271A JP2021174432A (ja) 2020-04-30 2020-04-30 電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体

Publications (1)

Publication Number Publication Date
JP2021174432A true JP2021174432A (ja) 2021-11-01

Family

ID=78279731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020080271A Pending JP2021174432A (ja) 2020-04-30 2020-04-30 電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP2021174432A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024019461A1 (ko) * 2022-07-22 2024-01-25 삼성전자주식회사 파티션의 일부분을 위한 마운트 동작을 수행하기 위한 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024019461A1 (ko) * 2022-07-22 2024-01-25 삼성전자주식회사 파티션의 일부분을 위한 마운트 동작을 수행하기 위한 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체

Similar Documents

Publication Publication Date Title
KR101012222B1 (ko) 전자계산기의 데이터 관리 방법, 및 그를 위한 프로그램을 기록한 기록 매체
JP4578119B2 (ja) 情報処理装置および情報処理装置におけるセキュリティ確保方法
JP4287485B2 (ja) 情報処理装置及び方法、コンピュータ読み取り可能な記録媒体、並びに、外部記憶媒体
JP4681053B2 (ja) 電子計算機のデータ管理方法、プログラム、及び記録媒体
KR101705550B1 (ko) 보안 저장 영역에 대한 응용 프로그램의 접근 제어 방법 및 장치
KR20010109271A (ko) 데이터보안 제공을 위한 시스템과 방법
JP2006251856A (ja) ファイルの使用を制限する方法、情報処理装置、プログラム
JP5457427B2 (ja) 記憶装置、端末装置およびコンピュータプログラム
JP4516598B2 (ja) 文書のコピーを制御する方法
JP5379520B2 (ja) ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム
JP2008059501A (ja) 2次記憶装置への書込み制御方法及び情報処理装置
JP2007148466A (ja) 可搬型記憶装置及びos
JP2008084081A (ja) 機密情報の漏洩防止システム、機密情報の漏洩防止方法、記録媒体、及びプログラム
JP2021174432A (ja) 電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体
KR100556304B1 (ko) 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법복제 방지 방법 및 시스템
EP3910485B1 (en) Electronic data management device, electronic data management system, program therefor, and recording medium
KR20130079004A (ko) 스마트폰에서 파일 시스템 가상화를 이용한 모바일 정보 보호 시스템 및 가상 보안 환경 제공 방법
JP5156559B2 (ja) 電子計算機のデータ管理方法、そのためのプログラム
JP2009230587A (ja) 電子計算機のデータ管理方法、そのためのプログラム
US20080253559A1 (en) Data Security Method, System and Storage Medium for Preventing a Desktop Search Tool from Exposing Encrypted Data
JP2004220400A (ja) ファイル保護方法及びファイル保護プログラム
CN112434285B (zh) 文件管理方法、装置、电子设备及存储介质
JP2011039716A (ja) 情報記憶媒体、情報システム
WO2023007570A1 (ja) 情報処理方法、プログラム、記憶媒体
KR100901014B1 (ko) 가상 환경상에서의 응용 프로그램 실행 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240507