[go: up one dir, main page]

JP7527539B2 - Electronic data management method, electronic data management device, program therefor, and recording medium - Google Patents

Electronic data management method, electronic data management device, program therefor, and recording medium Download PDF

Info

Publication number
JP7527539B2
JP7527539B2 JP2020080271A JP2020080271A JP7527539B2 JP 7527539 B2 JP7527539 B2 JP 7527539B2 JP 2020080271 A JP2020080271 A JP 2020080271A JP 2020080271 A JP2020080271 A JP 2020080271A JP 7527539 B2 JP7527539 B2 JP 7527539B2
Authority
JP
Japan
Prior art keywords
control
file
data
save
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.)
Active
Application number
JP2020080271A
Other languages
Japanese (ja)
Other versions
JP2021174432A (en
Inventor
小路幸市郎
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/JP7527539B2/en
Publication of JP2021174432A publication Critical patent/JP2021174432A/en
Application granted granted Critical
Publication of JP7527539B2 publication Critical patent/JP7527539B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、補助記憶手段に格納された電子データ(ファイル)に対する操作を制御手段によって制御することで、電子計算機から電子データが漏洩することを防止し、その管理をするための電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体に関する。 The present invention relates to an electronic data management method, an electronic data management device, a program and a recording medium for managing electronic data, which prevent leakage of electronic data from a computer by controlling operations on electronic data (files) stored in an auxiliary storage means using a control means.

電子データは、HDD、SSD等の電子計算機の補助記憶装置、CD,フラッシュメモリ等の記録媒体、そして、ネットワーク上のネットワークストレージ等に格納される。ユーザは、操作している電子計算機を利用してこれらの電子データにアクセスし、電子データのファイルを閲覧、編集、新規作成、削除等の処理をする。 Electronic data is stored in auxiliary storage devices of computers such as HDDs and SSDs, recording media such as CDs and flash memory, and network storage on a network. A user accesses this electronic data using the computer they are operating, and processes electronic data files by viewing, editing, creating new files, deleting files, etc.

電子データは画像、映像、音楽、テキスト文書、特定フォーマット文書を始め広い概念である。個人情報、ビジネスのノウハウ等のデータからなる電子データは、機密性を有し、この電子データへのアクセス権限の管理、保護、外部への漏洩防止等を行う必要がある。電子データは、上述のように電子計算機の補助記憶装置、記録媒体、ネットワークストレージ等に格納されていても、ユーザが操作する電子計算機で電子データを閲覧、編集、新規作成、削除等の処理を行う。 Electronic data is a broad concept that includes images, videos, music, text documents, and documents in specific formats. Electronic data consisting of personal information, business know-how, and other such data is confidential, and access rights to this electronic data must be managed, protected, and prevented from leaking to the outside. Even if electronic data is stored in the auxiliary storage device, recording medium, network storage, etc. of a computer as described above, the electronic data can be viewed, edited, newly created, deleted, and other processes performed on the computer operated by the user.

ユーザは、電子計算機の内蔵又は外付けされた補助記憶装置にアクセスして、電子データを閲覧、編集する他に、ネットワークを介してネットワークストレージ、他の電子計算機、そして他人へ送信する。また、ユーザは、電子計算機を操作して、ネットワークストレージ、他の電子計算機、そして他人から電子データを受信し、それを閲覧、編集して利用している。無論、ユーザは、電子データを電子計算機に内蔵又は接続されているデバイスへ転送又は複製して転送することができる。 A user accesses an auxiliary storage device built into or external to the electronic computer to view and edit electronic data, and also transmits the data via the network to network storage, other electronic computers, and other people. A user also operates an electronic computer to receive electronic data from network storage, other electronic computers, and other people, and to view, edit, and use the data. Of course, a user can transfer or copy and transfer electronic data to a device built into or connected to the electronic computer.

特に、記録媒体に記録するとき又は印刷するときは、電子計算機から電子計算機に内蔵又は接続された記録デバイス又は印刷装置へ電子データを転送して記録又は印刷する。これらの利用形態から考慮して、電子データの保護と漏洩防止の観点から、電子データは無論、その電子データ又はその電子データが格納されている記憶装置にアクセスした履歴、特に電子データの閲覧、編集、複写、印刷、送信等の履歴を取得して厳密に電子データを管理することが大事である。 In particular, when recording or printing on a recording medium, electronic data is transferred from the computer to a recording device or printing device built into or connected to the computer and recorded or printed there. In consideration of these usage patterns, and from the standpoint of protecting electronic data and preventing leakage, it is important to strictly manage electronic data by obtaining not only the electronic data itself, but also the history of access to the electronic data or the storage device in which the electronic data is stored, particularly the history of viewing, editing, copying, printing, transmission, etc. of the electronic data.

また、近年、電子計算機をネットワークに接続して、ネットワーク上のネットワークストレージに電子データを格納し、ネットワークストレージから電子計算機に電子データをダウンロードして利用することが多くなっている。電子データは、電子計算機又は記録媒体に格納されているとき、様々なルートで漏洩するリスクがある。 Furthermore, in recent years, it has become common to connect electronic computers to a network, store electronic data in network storage on the network, and download the electronic data from the network storage to the electronic computer for use. When electronic data is stored in an electronic computer or a recording medium, there is a risk that it may be leaked through various routes.

電子データの漏洩とは、電子データがその利用目的に合致しない方法又は不正な方法で移動又は複製されて外部へ持ち出される又は持ち出し可能な状況にあることを言う。例えば、電子データの漏洩としては、電子データを不正な方法で取得するハッキング又はクラッキングすること、電子計算機を利用するユーザ又は管理者が不正に電子データを複製又は移動して外部へ持ち出すこと、電子計算機又は補助記憶手段の紛失等によってその中の電子データが第3者に渡り漏洩すること、管理が必要な電子データを管理ができない補助記憶手段に格納しそれを不特定多数のユーザを含む第3者が閲覧可能な状況に置かれること等が例示できる。 Leaking of electronic data means that electronic data is moved or copied in a manner that is inconsistent with the intended purpose of use or in an illegal manner, and is taken outside or is in a situation where it can be taken outside. Examples of leaking of electronic data include hacking or cracking to obtain electronic data in an illegal manner, a user or administrator of a computer illegally copying or moving electronic data and taking it outside, electronic data leaking to a third party due to loss of a computer or auxiliary storage means, and electronic data that requires management being stored in an auxiliary storage means that cannot be managed and left in a situation where it can be viewed by third parties, including an unspecified number of users.

具体的な例としては、電子データが電子計算機に接続されたフラッシュメモリ等の補助記憶装置に格納されているとき、この補助記憶装置の紛失等により外部(第三者)へ漏洩するリスクがある。また、電子計算機の内蔵補助記憶装置に格納されたもので、アプリケーションプログラム等の一時ファイル(Temporary file)は、電子計算機の紛失、電子計算機への不正アクセス、ユーザによる電子計算機の電子データの複製等によって、情報漏洩することがある。 As a specific example, when electronic data is stored in an auxiliary storage device such as a flash memory connected to a computer, there is a risk that the data will be leaked to the outside (third party) if the auxiliary storage device is lost. In addition, temporary files such as application programs stored in the auxiliary storage device built into the computer may be leaked if the computer is lost, unauthorized access is made to the computer, or the electronic data on the computer is copied by a user.

電子データを目的以外に利用できないように電子計算機を制御することが電子データ、特に機密データの漏洩防止の観点から重要である。このような情報漏洩に対する防止策が様々な形で行われて、提案されている。例えば、電子データを電子計算機に接続された補助記憶装置へ格納するときは、電子データを暗号化したり、補助記憶装置を認証したりして対策を講じている(例えば、特許文献1)。特許文献1に開示された内容のデータ管理用のシステムのプログラムは、不揮発性メモリに格納されたクライアントのユーザデータを、それを処理している電子計算機により、目的以外に利用することができないように、その電子計算機を制御している。 In terms of preventing the leakage of electronic data, particularly confidential data, it is important to control electronic computers so that electronic data cannot be used for purposes other than those intended. Various preventive measures against such information leakage have been implemented and proposed. For example, when storing electronic data in an auxiliary storage device connected to an electronic computer, measures are taken such as encrypting the electronic data and authenticating the auxiliary storage device (see, for example, Patent Document 1). The program of the data management system disclosed in Patent Document 1 controls the electronic computer that processes the client's user data stored in non-volatile memory so that the computer cannot use the data for purposes other than those intended.

ユーザデータを複製して目的以外に利用できないようにし、監視するためのデータ管理プログラムが開示されている(例えば、特許文献2を参照。)。特許文献2に記載のデータ管理プログラムは、ユーザデータを格納した記憶装置がクライアントコンピュータに接続されたとき、制御モードに入り、全ての外部記憶装置への書き込みを禁止し、ネットワークの使用を禁止する設定をし、実行ファイルのファイル名、フォルダ名、属性データ、実行しているプロセスのプロセス名とプロセスIDを取得して、電子データの制御を行っている。 A data management program has been disclosed for copying user data, preventing it from being used for purposes other than those for which it was intended, and monitoring it (see, for example, Patent Document 2). When a storage device storing user data is connected to a client computer, the data management program described in Patent Document 2 goes into control mode, prohibits writing to all external storage devices, sets the device to prohibit network use, and obtains the file name, folder name, and attribute data of executable files, as well as the process name and process ID of the process being executed, to control the electronic data.

特開2011-8813号公報JP 2011-8813 A 国際公開WO2007/049625号公報International Publication No. WO2007/049625

しかしながら、特許文献2に記載のデータ管理プログラムの例では、アプリケーションプログラムは緊密なデータ管理が必要な管理対象ファイルを開き、閲覧・編集するとき、電子計算機は全体が制御モードに入り、管理対象ファイル以外のファイルも制御モードで閲覧・編集することになり、通常ファイルは、制御モードで指定された制御対象フォルダのみに保存しなければならない。このため、通常ファイルを電子計算機の任意の記憶手段等に格納したりし、自由に取り扱いしたいというユーザにとっては、電子計算機の制御モードを解除したりする必要があり、不便が生じている。 However, in the example data management program described in Patent Document 2, when an application program opens, views, and edits a managed file that requires close data management, the entire computer enters control mode, and files other than the managed file are also viewed and edited in control mode, and normal files must be saved only in the controlled folder specified in the control mode. For this reason, users who want to store normal files in any storage means of the computer and handle them freely must cancel the control mode of the computer, which is inconvenient.

本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。 本発明の目的は、電子計算機において電子データの情報漏洩防止管理が行われる制御モードにおいても、通常ファイルを取り扱うことができ、電子データの情報漏洩を防止することができる電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体を提供することにある。 The present invention has been made against the background of the above-mentioned technology, and achieves the following objectives. The objective of the present invention is to provide an electronic data management method, an electronic data management device, a program and a recording medium therefor, which are capable of handling normal files and preventing information leakage of electronic data even in a control mode in which management to prevent information leakage of electronic data is performed in an electronic computer.

本発明の他の目的は、電子計算機において電子データの情報漏洩防止管理が行われる制御モードであっても、通常ファイルを取り扱うことができ、電子データへのアクセスを追跡し、監視するための電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体を提供することにある。 Another object of the present invention is to provide an electronic data management method, an electronic data management device, a program, and a recording medium therefor that are capable of handling normal files and tracking and monitoring access to electronic data even in a control mode in which management to prevent information leakage of electronic data is performed in an electronic computer.

本発明の更に他の目的は、電子計算機において電子データの情報漏洩防止管理が行われる制御モード下で、アプリケーションプログラムの利用時に作成される一時ファイルを目的以外のことに利用することができないように、電子データを管理するための電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体を提供することにある。 A further object of the present invention is to provide an electronic data management method, an electronic data management device, a program and a recording medium for managing electronic data so that temporary files created when using an application program cannot be used for purposes other than the intended purpose in a control mode in which electronic data is managed to prevent information leakage in an electronic computer.

本発明は、前記目的を達成するため、次の手段を採る。
本発明は、電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体である。
In order to achieve the above object, the present invention employs the following means.
The present invention relates to an electronic data management method, an electronic data management device, a program therefor, and a recording medium.

本発明の発明1の電子データ管理方法は、
電子計算機の補助記憶装置に格納されているユーザデータがアプリケーションプログラムによって操作されるとき、(a)予め設定された制御リストに従って前記操作を許可して前記操作を実行させることで、又は、前記制御リストに従って前記操作を不許可して前記操作を中断させることで前記電子計算機を制御するための第1制御モードと、(b)前記電子計算機で実行される前記操作を制御しない第2制御モードとからなる制御手段によって前記電子計算機を制御することで、前記ユーザデータの漏洩を防止するための電子データ管理方法において、
前記補助記憶装置は、前記制御手段が前記第1制御モードで動作しているときのみにアクセス可能であり、かつ、格納されている電子データの移動又は複製が自領域内のみで許可される領域である制御領域と、前記制御手段が前記第1制御モード又は前記第2制御モードで動作しているときにアクセス可能であり、かつ、格納されている電子データを任意の領域へ移動又は複製することが許可されている通常領域とからなり、
前記制御領域又は前記通常領域から読み出され、前記アプリケーションプログラムによって閲覧又は編集している前記ユーザデータからなるファイルを保存するとき、
前記制御手段によって、前記アプリケーションプログラムによって前記保存する操作を示す保存操作と前記ファイルの読み出された納場所を示すファイルパスからなるアクセス情報を取得し、
前記制御手段によって前記アクセス情報を分析し、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記通常領域に前記ファイルを保存する前記保存操作を不許可し、
前記ファイルパスが前記通常領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可して、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、又は、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
前記制御手段が前記第2制御モードで動作している場合、
前記ファイルパスが前記通常領域を示すため、前記通常領域に前記ファイルを保存する前記保存操作を許可する
ことを特徴とする。
The electronic data management method according to the first aspect of the present invention comprises the steps of:
1. An electronic data management method for preventing leakage of user data when user data stored in an auxiliary storage device of an electronic computer is operated by an application program, by controlling the electronic computer with control means having: (a) a first control mode for controlling the electronic computer by permitting the operation and executing the operation in accordance with a preset control list, or by disallowing the operation and interrupting the operation in accordance with the control list, and (b) a second control mode for not controlling the operation executed by the electronic computer,
the auxiliary storage device comprises a control area which is accessible only when the control means is operating in the first control mode and in which movement or copying of stored electronic data is permitted only within its own area, and a normal area which is accessible when the control means is operating in the first control mode or the second control mode and in which movement or copying of stored electronic data to any area is permitted,
When saving a file consisting of the user data that has been read from the control area or the normal area and is being viewed or edited by the application program,
The control means obtains access information including a save operation indicating the save operation by the application program and a file path indicating the storage location from which the file is read out ;
Analyzing the access information by the control means;
When the control means is operating in the first control mode,
When the file path indicates the control area, permitting the save operation to save the file in the control area and disallowing the save operation to save the file in the normal area;
When the file path indicates the normal area, permitting the save operation to save the file in the control area and registering in the control list that the file is not to be saved in the normal area, or permitting the save operation to save the file in the normal area;
When the control means is operating in the second control mode,
Since the file path indicates the normal area, the save operation for saving the file in the normal area is permitted.

本発明の発明2の電子データ管理方法は、発明1において、
前記制御手段は、前記アプリケーションプログラムの動作を監視するために前記アプリケーションプログラムに機能拡張として登録され、前記アクセス情報を取得するアドイン手段を有する
ことを特徴とする。
The electronic data management method of the present invention 2 is the method of the present invention 1,
The control means includes an add-in means that is registered as a function extension in the application program in order to monitor the operation of the application program and that acquires the access information.

本発明の発明3の電子データ管理方法は、発明2において、
前記制御手段は、オペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記アプリケーションプログラムとの通信に共通のインターフェースを提供するための手段で、
前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するためのインターフェース部、
前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部、及び、
データを暗号化して暗号化データを作成するための暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部
からなり、
前記制御部は、前記インターフェース部を介して前記アドイン手段から前記アクセス情報取得し、分析して、前記保存操作を前記許可又は前記不許可し、
前記許可のとき、前記制御部は、前記アクセス情報を前記デバイスドライバ制御部へ送信して実行させ、前記実行の結果を前記インターフェース部を介して前記アドイン手段へ送信し、
前記不許可のとき、前記制御部は、前記不許可を前記インターフェース部を介して前記アドイン手段へ送信する
ことを特徴とする。
The electronic data management method of the present invention 3 is the same as that of the invention 2,
The control means operates in a kernel mode in which all commands of an operating system can be executed, and provides a common interface for communication between device drivers for directly controlling devices connected to the computer, or for communication between the device drivers and the application programs;
an interface unit for receiving first data including an instruction and/or data output from the application program, and for transmitting second data including an execution result of the instruction and/or received data received from the device driver to the application program;
a device driver control unit for transmitting third data including the command and/or the data to the device driver and receiving fourth data including an execution result of the command and/or the received data from the device driver;
a control unit for processing the first data or the fourth data, generating the second data or the third data, and controlling the first to fourth data; and
an encryption unit for encrypting data to generate encrypted data, and a decryption unit for decrypting the encrypted data to generate the original data,
the control unit acquires the access information from the add-in means via the interface unit, analyzes the access information, and permits or prohibits the save operation;
When the access is permitted, the control unit transmits the access information to the device driver control unit for execution, and transmits a result of the execution to the add-in means via the interface unit;
When the permission is not granted, the control unit transmits the notification of the non-permission to the add-in means via the interface unit.

本発明の発明4の電子データ管理方法は、発明1乃至3において、
前記アプリケーションプログラムによって新規ファイルを作成して、前記新規ファイルである前記ファイルを保存するとき、
前記制御手段によって、前記アプリケーションプログラムによって前記ファイルを保存する操作を示す前記保存操作と前記新規ファイルを格納する場所を示す前記ファイルパスからなる前記アクセス情報を取得し、
前記制御手段によって該アクセス情報を分析し、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、
前記ファイルパスが前記通常領域を示すとき、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
前記制御手段が前記第2制御モードで動作している場合、
前記通常領域に前記ファイルを保存する前記保存操作を許可する
ことを特徴とする。
The electronic data management method of the fourth aspect of the present invention is the method of the first to third aspects of the present invention,
When a new file is created by the application program and the file that is the new file is saved,
The control means obtains the access information, which is composed of the save operation indicating an operation of saving the file by the application program and the file path indicating a location where the new file is to be stored;
Analyzing the access information by the control means;
When the control means is operating in the first control mode,
When the file path indicates the control area, permitting the save operation to save the file in the control area, and registering in the control list that the file is not to be saved in the normal area;
When the file path indicates the normal area, permitting the save operation to save the file in the normal area;
When the control means is operating in the second control mode,
The save operation for saving the file in the normal area is permitted.

本発明の発明5の電子データ管理装置は、
電子計算機の補助記憶装置に格納されているユーザデータがアプリケーションプログラムによって操作されるとき、(a)予め設定された制御リストに従って前記操作を許可して前記操作を実行させることで、又は、前記制御リストに従って前記操作を不許可して前記操作を中断させることで前記電子計算機を制御するための第1制御モードと、(b)前記電子計算機で実行される前記操作を制御しない第2制御モードとからなる制御手段からなり、
前記制御手段によって前記電子計算機を制御することで、前記ユーザデータの漏洩を防止するための電子データ管理装置において、
前記補助記憶装置は、前記制御手段が前記第1制御モードで動作しているときのみにアクセス可能であり、かつ、格納されている電子データの移動又は複製が自領域内のみで許可される領域である制御領域と、前記制御手段が前記第1制御モード又は前記第2制御モードで動作しているときにアクセス可能であり、かつ、格納されている電子データを任意の領域へ移動又は複製することが許可されている通常領域とからなり、
前記制御領域又は前記通常領域から読み出され、前記アプリケーションプログラムによって閲覧又は編集している前記ユーザデータからなるファイルを保存するとき、
前記制御手段は、前記アプリケーションプログラムによって前記保存する操作を示す保存操作と前記ファイルの読み出された格納場所を示すファイルパスからなるアクセス情報を取得し、前記アクセス情報を分析し、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御手段は、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記通常領域に前記ファイルを保存する前記保存操作を不許可し、
前記ファイルパスが前記通常領域を示すとき、前記制御手段は、前記制御領域に前記ファイルを保存する前記保存操作を許可して、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、又は、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
前記制御手段が前記第2制御モードで動作している場合、
前記ファイルパスが前記通常領域を示すため、前記制御手段は、前記通常領域に前記ファイルを保存する前記保存操作を許可する
ことを特徴とする。
The electronic data management device of the fifth aspect of the present invention is
a control means having (a) a first control mode for controlling the electronic computer by permitting the operation and executing the operation in accordance with a preset control list, or by disallowing the operation and interrupting the operation in accordance with the control list, when user data stored in an auxiliary storage device of the electronic computer is operated by an application program, and (b) a second control mode for not controlling the operation executed by the electronic computer,
2. An electronic data management device for preventing leakage of user data by controlling the electronic computer with the control means,
the auxiliary storage device comprises a control area which is accessible only when the control means is operating in the first control mode and in which movement or copying of stored electronic data is permitted only within its own area, and a normal area which is accessible when the control means is operating in the first control mode or the second control mode and in which movement or copying of stored electronic data to any area is permitted,
When saving a file consisting of the user data that has been read from the control area or the normal area and is being viewed or edited by the application program,
The control means acquires access information including a save operation indicating the save operation by the application program and a file path indicating a storage location from which the file is read out , analyzes the access information, and
When the control means is operating in the first control mode,
When the file path indicates the control area, the control means permits the save operation to save the file in the control area and does not permit the save operation to save the file in the normal area;
When the file path indicates the normal area, the control means permits the save operation to save the file in the control area and registers in the control list that the file is not to be saved in the normal area, or permits the save operation to save the file in the normal area;
When the control means is operating in the second control mode,
Since the file path indicates the normal area, the control means permits the save operation to save the file in the normal area.

本発明の発明6の電子データ管理装置は、発明5において、
前記制御手段は、前記アプリケーションプログラムの動作を監視するために前記アプリケーションプログラムに機能拡張として登録され、前記アクセス情報を取得するアドイン手段を有する
ことを特徴とする。
The electronic data management device of the present invention according to the sixth aspect of the present invention comprises the steps of:
The control means includes an add-in means that is registered as a function extension in the application program in order to monitor the operation of the application program and that acquires the access information.

本発明の発明7の電子データ管理装置は、発明6において、
前記制御手段は、オペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記アプリケーションプログラムとの通信に共通のインターフェースを提供するための手段で、
前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するためのインターフェース部、
前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部、及び、
データを暗号化して暗号化データを作成するための暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部
からなり、
前記制御部は、前記インターフェース部を介して前記アドイン手段から前記アクセス情報取得し、分析して、前記保存操作を前記許可又は前記不許可し、
前記許可のとき、前記制御部は、前記アクセス情報を前記デバイスドライバ制御部へ送信して実行させ、前記実行の結果を前記インターフェース部を介して前記アドイン手段へ送信し、
前記不許可のとき、前記制御部は、前記不許可を前記インターフェース部を介して前記アドイン手段へ送信する
ことを特徴とする。
The electronic data management device of the seventh aspect of the present invention is the electronic data management device of the sixth aspect of the present invention,
The control means operates in a kernel mode in which all commands of an operating system can be executed, and provides a common interface for communication between device drivers for directly controlling devices connected to the computer, or for communication between the device drivers and the application programs;
an interface unit for receiving first data including an instruction and/or data output from the application program, and for transmitting second data including an execution result of the instruction and/or received data received from the device driver to the application program;
a device driver control unit for transmitting third data including the command and/or the data to the device driver and receiving fourth data including an execution result of the command and/or the received data from the device driver;
a control unit for processing the first data or the fourth data, generating the second data or the third data, and controlling the first to fourth data; and
an encryption unit for encrypting data to generate encrypted data, and a decryption unit for decrypting the encrypted data to generate the original data,
the control unit acquires the access information from the add-in means via the interface unit, analyzes the access information, and permits or prohibits the save operation;
When the access is permitted, the control unit transmits the access information to the device driver control unit for execution, and transmits a result of the execution to the add-in means via the interface unit;
When the permission is not granted, the control unit transmits the notification of the non-permission to the add-in means via the interface unit.

本発明の発明8の電子データ管理装置は、発明5乃至7において、
前記アプリケーションプログラムに新規ファイルを作成して、前記新規ファイルである前記ファイルを保存するとき、
前記制御手段によって、前記アプリケーションプログラムによって前記ファイルを保存する操作を示す前記保存操作と前記新規ファイルを格納する場所を示す前記ファイルパスからなる前記アクセス情報を取得し、
前記制御手段によって該アクセス情報を分析し、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御手段は、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、
前記ファイルパスが前記通常領域を示すとき、前記制御手段は、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
前記制御手段が前記第2制御モードで動作している場合、
前記制御手段は前記通常領域に前記ファイルを保存する前記保存操作を許可する
ことを特徴とする。
The electronic data management device of the eighth aspect of the present invention is the electronic data management device of the fifth to seventh aspects of the present invention,
When creating a new file in the application program and saving the file that is the new file,
The control means obtains the access information, which is composed of the save operation indicating an operation of saving the file by the application program and the file path indicating a location where the new file is to be stored;
Analyzing the access information by the control means;
When the control means is operating in the first control mode,
When the file path indicates the control area, the control means permits the save operation for saving the file in the control area, and registers in the control list that the file is not to be saved in the normal area;
When the file path indicates the normal area, the control means permits the save operation to save the file in the normal area;
When the control means is operating in the second control mode,
The control means permits the save operation for saving the file in the normal area.

本発明の発明9の電子データ管理用プログラムは、
電子計算機の補助記憶装置に格納されているユーザデータがアプリケーションプログラムによって操作されるとき、(a)予め設定された制御リストに従って前記操作を許可して前記操作を実行させることで、又は、前記制御リストに従って前記操作を不許可して前記操作を中断させることで前記電子計算機を制御するための第1制御モードと、(b)前記電子計算機で実行される前記操作を制御しない第2制御モードとからなる制御手段として機能させるための制御プログラムからなり、
前記制御プログラムによって前記電子計算機を制御し動作させることで、前記ユーザデータの漏洩を防止するための電子データ管理用プログラムにおいて、
前記補助記憶装置は、前記制御手段が前記第1制御モードで動作しているときのみにアクセス可能であり、かつ、格納されている電子データの移動又は複製が自領域内のみで許可される領域である制御領域と、前記制御手段が前記第1制御モード又は前記第2制御モードで動作しているときにアクセス可能であり、かつ、格納されている電子データを任意の領域へ移動又は複製することが許可されている通常領域とからなり、
前記アプリケーションプログラムによって閲覧又は編集している前記ユーザデータからなるファイルを保存するとき、
前記制御プログラムは、
前記制御領域又は前記通常領域から読み出され、前記アプリケーションプログラムによって前記保存する操作を示す保存操作と前記ファイルの読み出された格納場所を示すファイルパスからなるアクセス情報を取得するステップ、
前記アクセス情報を分析するステップ、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記通常領域に前記ファイルを保存する前記保存操作を不許可するステップ、
前記ファイルパスが前記通常領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可して、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、又は、前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ、
前記制御手段が前記第2制御モードで動作している場合、
前記ファイルパスが前記通常領域を示すため、前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ
を前記電子計算機に実行させることを特徴とする。
The electronic data management program of the ninth aspect of the present invention is
a control program for causing the electronic computer to function as a control means having (a) a first control mode for controlling the electronic computer by permitting the operation and executing the operation in accordance with a preset control list, or by disallowing the operation and interrupting the operation in accordance with the control list, when user data stored in an auxiliary storage device of the electronic computer is operated by an application program, and (b) a second control mode for not controlling the operation executed by the electronic computer,
1. An electronic data management program for preventing leakage of user data by controlling and operating the electronic computer using the control program, comprising:
the auxiliary storage device comprises a control area which is accessible only when the control means is operating in the first control mode and in which movement or copying of stored electronic data is permitted only within its own area, and a normal area which is accessible when the control means is operating in the first control mode or the second control mode and in which movement or copying of stored electronic data to any area is permitted,
When saving a file consisting of the user data being viewed or edited by the application program,
The control program includes:
acquiring access information read from the control area or the normal area, the access information including a save operation indicating the save operation by the application program and a file path indicating a storage location from which the file has been read;
analyzing the access information;
When the control means is operating in the first control mode,
when the file path indicates the control area, permitting the save operation to save the file in the control area and disallowing the save operation to save the file in the normal area;
permitting the save operation to save the file in the control area when the file path indicates the normal area, and registering in the control list that the file will not be saved in the normal area, or permitting the save operation to save the file in the normal area;
When the control means is operating in the second control mode,
Since the file path indicates the normal area, the computer is caused to execute the step of permitting the save operation to save the file in the normal area.

本発明の発明10の電子データ管理用プログラムは、発明9において、
前記制御プログラムは、前記アプリケーションプログラムの動作を監視するために前記アプリケーションプログラムに機能拡張として登録され、前記アクセス情報を取得するステップとを前記電子計算機に実行させるアドイン部からなる
ことを特徴とする。
The electronic data management program of the present invention according to the tenth aspect of the present invention comprises the steps of:
The control program is characterized in that it comprises an add-in section that is registered as a function extension to the application program in order to monitor the operation of the application program and causes the electronic computer to execute a step of acquiring the access information.

本発明の発明11の電子データ管理用プログラムは、発明10において、
前記制御プログラムは、オペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記アプリケーションプログラムとの通信に共通のインターフェースを提供するためのプログラムで、
前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するためのインターフェース部、
前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部、及び、
データを暗号化して暗号化データを作成するための暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部
からなり、
前記制御部は、前記インターフェース部を介して前記アドイン部から前記アクセス情報取得するステップと、前記アクセス情報を分析するステップ、前記保存操作を前記許可又は前記不許可するステップとを前記電子計算機に実行させ、
前記許可のとき、前記制御部は、前記アクセス情報を前記デバイスドライバ制御部へ送信して実行させるステップと、前記実行の結果を前記インターフェース部を介して前記アドイン部へ送信するステップを前記電子計算機に実行させ、
前記不許可のとき、前記制御部は、前記不許可を前記インターフェース部を介して前記アドイン部へ送信するステップを前記電子計算機に実行させる
ことを特徴とする。
The electronic data management program of the present invention according to the eleventh aspect of the present invention comprises the steps of:
The control program operates in a kernel mode in which all commands of an operating system can be executed, and provides a common interface for communication between device drivers for directly controlling devices connected to the computer, or for communication between the device drivers and the application programs,
an interface unit for receiving first data including an instruction and/or data output from the application program, and for transmitting second data including an execution result of the instruction and/or received data received from the device driver to the application program;
a device driver control unit for transmitting third data including the command and/or the data to the device driver and receiving fourth data including an execution result of the command and/or the received data from the device driver;
a control unit for processing the first data or the fourth data, generating the second data or the third data, and controlling the first to fourth data; and
an encryption unit for encrypting data to generate encrypted data, and a decryption unit for decrypting the encrypted data to generate the original data,
the control unit causes the electronic computer to execute a step of acquiring the access information from the add-in unit via the interface unit, a step of analyzing the access information, and a step of permitting or not permitting the save operation;
When the access is permitted, the control unit causes the electronic computer to execute a step of transmitting the access information to the device driver control unit for execution, and a step of transmitting a result of the execution to the add-in unit via the interface unit;
When the permission is not granted, the control unit causes the computer to execute a step of transmitting the permission not granted to the add-in unit via the interface unit.

本発明の発明12の電子データ管理用プログラムは、発明9乃至11において、
前記アプリケーションプログラムによって新規ファイルを作成して、前記新規ファイルである前記ファイルを保存するとき、
前記制御プログラムは、
前記アプリケーションプログラムによって前記ファイルを保存する操作を示す前記保存操作と前記新規ファイルを格納する場所を示す前記ファイルパスからなる前記アクセス情報を取得するステップ、
該アクセス情報を分析するステップ、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録するステップ、
前記ファイルパスが前記通常領域を示すとき、前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ、
前記制御手段が前記第2制御モードで動作している場合、
前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ
を前記電子計算機に実行させる
ことを特徴とする。
The electronic data management program of the present invention according to the twelfth aspect of the present invention is the program according to the ninth to eleventh aspects of the present invention,
When a new file is created by the application program and the file that is the new file is saved,
The control program includes:
obtaining the access information, the access information comprising the save operation indicating an operation to save the file by the application program and the file path indicating a location to store the new file;
analyzing the access information;
When the control means is operating in the first control mode,
when the file path indicates the control area, permitting the save operation for saving the file in the control area, and registering in the control list that the file is not to be saved in the normal area;
permitting the save operation to save the file in the normal area when the file path indicates the normal area;
When the control means is operating in the second control mode,
The method is characterized in that the electronic computer is caused to execute a step of permitting the save operation for saving the file in the normal area.

本発明の発明13の電子データ管理用プログラムの記録媒体は、発明9乃至12中から選択される1発明の電子データ管理用プログラムを記録した電子データ管理用プログラムの記録媒体である。 The recording medium for the electronic data management program of the thirteenth aspect of the present invention is a recording medium for the electronic data management program that records an electronic data management program of one of the inventions selected from the nineth to twelveth aspects.

本発明によると、次の効果が奏される。
本発明によると、アプリケーションプログラムで、制御対象フォルダに格納されている電子データと、デスクトップ等の通常フォルダに格納している電子データを同時に編集した際、通常フォルダに格納している電子データの上書き保存ができるようになった。
The present invention provides the following advantages.
According to the present invention, when electronic data stored in a controlled folder and electronic data stored in a normal folder such as the desktop are simultaneously edited in an application program, the electronic data stored in the normal folder can be overwritten and saved.

また、本発明によると、アプリケーションプログラムで通常フォルダのユーザデータを閲覧編集して保存するとき、制御モードを解除する必要が無くなり、ユーザの利便性が増した。 In addition, according to the present invention, when viewing, editing, and saving user data in a normal folder using an application program, there is no need to disable the control mode, which increases user convenience.

更に、本発明によると、アプリケーションプログラムで、作業中の電子データの一時ファイルは、管理対象の電子データと通常の電子データに別々に管理することができるようになった。 Furthermore, according to the present invention, temporary files of electronic data being worked on in an application program can be managed separately as electronic data to be managed and as regular electronic data.

また更に、本発明によると、アプリケーションプログラムで、新規作成の電子データが管理対象の電子データと通常の電子データに別々に管理することができるようになった。 Furthermore, according to the present invention, the application program can manage newly created electronic data separately as managed electronic data and regular electronic data.

図1は、本発明の第1の実施の形態の電子データ管理システム1の概要を図示している概念図である。FIG. 1 is a conceptual diagram illustrating an overview of an electronic data management system 1 according to a first embodiment of the present invention. 図2は、本発明の第1の実施の形態の電子データ管理システム1のユーザ端末2の概要を示すブロック図である。FIG. 2 is a block diagram showing an outline of the user terminal 2 of the electronic data management system 1 according to the first embodiment of the present invention. 図3は、本発明の第1の実施の形態の電子データ管理システム1のユーザ端末2の構成例を示すブロック図である。FIG. 3 is a block diagram showing an example of the configuration of the user terminal 2 of the electronic data management system 1 according to the first embodiment of the present invention. 図4は、本発明の第1の実施の形態の電子データ管理システム1のユーザ端末2においてユーザデータの制御を説明するためのブロック図である。FIG. 4 is a block diagram for explaining the control of user data in the user terminal 2 of the electronic data management system 1 according to the first embodiment of the present invention. 図5は、本発明の第1の実施の形態の電子データ管理システム1のユーザ端末2の動作概要を示すフローチャートである。FIG. 5 is a flow chart showing an outline of the operation of the user terminal 2 of the electronic data management system 1 according to the first embodiment of the present invention. 図6は、本発明の第1の実施の形態の制御リストの例を示す表を図示している図である。FIG. 6 is a diagram illustrating a table showing an example of a control list according to the first embodiment of the present invention. 図7は、本発明の第1の実施の形態の電子データ管理システム1の制御プログラム9の動作例を示すフローチャートである。FIG. 7 is a flow chart showing an example of the operation of the control program 9 of the electronic data management system 1 according to the first embodiment of the present invention. 図8は、本発明の第1の実施の形態の電子データ管理システム1の制御プログラム9の詳細な動作例を示すフローチャートである。FIG. 8 is a flow chart showing a detailed operation example of the control program 9 of the electronic data management system 1 according to the first embodiment of the present invention. 図9は、本発明の第2の実施の形態において、ファイルを新規作成するとき、制御プログラム9が動作する手順例を示すフローチャートを図示している。FIG. 9 is a flowchart showing an example of a procedure in which the control program 9 operates when creating a new file in the second embodiment of the present invention. 図10は、本発明のその他の実施の形態において、デバイスリストの例を示す表を図示している図である。FIG. 10 is a diagram illustrating a table showing an example of a device list in another embodiment of the present invention.

以下、本発明の実施の形態を図に基づいて説明する。
〔本発明の第1の実施の形態〕
以下、図面を参照しながら、本発明の第1の実施の形態の電子データ管理システム1を説明する。図1は、本発明の第1の実施の形態の電子データ管理システム1の概要を示すブロック図であり、図2は電子データ管理システム1のユーザ端末2の概要を示すブロック図であり、図3はユーザ端末2の構成例を示すブロック図である。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[First embodiment of the present invention]
Hereinafter, an electronic data management system 1 according to a first embodiment of the present invention will be described with reference to the drawings. Fig. 1 is a block diagram showing an overview of the electronic data management system 1 according to the first embodiment of the present invention, Fig. 2 is a block diagram showing an overview of a user terminal 2 of the electronic data management system 1, and Fig. 3 is a block diagram showing an example of the configuration of the user terminal 2.

電子データ管理システム1は、電子データが漏洩することを防止するためのシステムであり、ユーザ端末2、クラウドストレージ3、ネットワーク4等からなる。ユーザ端末2は、ユーザデータ、プログラムのコード等の電子データを格納する補助記憶装置5を備えている。電子データ管理システム1は、図2に図示したような構造を有する制御プログラム9を備える。制御プログラム9は、ユーザ端末2において電子データを利用するとき、その利用を監視し、ユーザ端末2を制御する。 The electronic data management system 1 is a system for preventing the leakage of electronic data, and is composed of a user terminal 2, cloud storage 3, a network 4, etc. The user terminal 2 is equipped with an auxiliary storage device 5 that stores electronic data such as user data and program code. The electronic data management system 1 is equipped with a control program 9 having a structure as shown in Figure 2. When electronic data is used on the user terminal 2, the control program 9 monitors the use and controls the user terminal 2.

補助記憶装置5は電子データを格納するための複数のフォルダ、例えば、通常フォルダ6、同期フォルダ7等からなる。同期フォルダ7に格納されている電子データは、ユーザ端末2から外部へ漏洩されないように管理が必要なデータであり、基本的に暗号化される。同期フォルダ7は、その中の電子データがユーザ端末2の中の他のフォルダ、ユーザ端末2に内蔵又は接続された補助記憶装置等へ複製又は移動することが制限されたフォルダである。 The auxiliary storage device 5 is made up of multiple folders for storing electronic data, such as a normal folder 6 and a synchronous folder 7. The electronic data stored in the synchronous folder 7 is data that needs to be managed so as not to be leaked from the user terminal 2 to the outside, and is basically encrypted. The synchronous folder 7 is a folder in which the electronic data therein is restricted from being copied or moved to other folders in the user terminal 2, an auxiliary storage device built into or connected to the user terminal 2, etc.

同期フォルダ7は格納された電子データが厳格に管理される制御対象フォルダ、言い換えると管理対象フォルダである。同期フォルダ7に格納されている電子データはこのフォルダ内で複製又は移動することが許可される。通常フォルダ6は、その中に格納されている電子データは他のフォルダへ移動又は複製ができ、ユーザ端末2の通常のフォルダである。通常フォルダ6はそのフォルダ及びファイルを同期フォルダ7のように厳格に管理する必要がない。 The synchronous folder 7 is a controlled folder in which stored electronic data is strictly managed, in other words, a managed folder. Electronic data stored in the synchronous folder 7 is permitted to be copied or moved within this folder. The normal folder 6 is a normal folder on the user terminal 2, and electronic data stored therein can be copied or moved to other folders. The normal folder 6 does not require the folders and files to be strictly managed like the synchronous folder 7.

同期フォルダ7はクラウドストレージ3のクラウドフォルダ8と同期する。同期フォルダ7に格納されている電子データは、クラウドストレージ3と同期するためのものであり、この同期はネットワーク4を介するデータ通信によって行われる。クラウドストレージ3は、ネットワーク4等の通信ネットワークに接続された補助記憶装置であり、ユーザ端末2とネットワーク4を介して接続してデータ通信する。 The sync folder 7 is synchronized with the cloud folder 8 of the cloud storage 3. The electronic data stored in the sync folder 7 is intended to be synchronized with the cloud storage 3, and this synchronization is performed by data communication via the network 4. The cloud storage 3 is an auxiliary storage device connected to a communication network such as the network 4, and is connected to the user terminal 2 via the network 4 to communicate data.

クラウドストレージ3は、サーバに搭載された記憶手段、特に分散管理されているネットワークストレージ、クラウドサービスのストレージ(クラウドストレージ)等のように、ネットワーク4に接続される補助記憶手段である。ネットワーク4は、公知の任意の有線又は無線の通信ネットワークであるが、ローカルエリアネットワーク(LAN)又はインターネットであることが好ましい。本実施の形態において、ネットワーク4は、限定しないが、インターネットとして説明する。 Cloud storage 3 is an auxiliary storage means connected to network 4, such as a storage means installed in a server, particularly a distributed network storage, a cloud service storage (cloud storage), etc. Network 4 is any known wired or wireless communication network, but is preferably a local area network (LAN) or the Internet. In this embodiment, network 4 is described as the Internet, although it is not limited thereto.

ユーザ端末2は、ユーザが操作し、利用するための電子計算機である(詳しくは後述する。)。ユーザ端末2は、ネットワーク4に直接接続することが可能であるが、図示しないが、ゲートウェイ、プロキシサーバ、ルータ、ワイヤレスアクセスポイント等の通信手段を介して、ネットワーク4に接続して使用することができる。本発明の電子データ管理システム1は、これらの通信手段を含むものとする。本実施の形態においては、ユーザ端末2とネットワーク4、ネットワーク4とクラウドストレージ3、ユーザ端末2とクラウドストレージ3の間の接続手段は、発明の要旨ではないので、その詳細な説明は省略する。 The user terminal 2 is an electronic computer operated and used by a user (details will be described later). The user terminal 2 can be directly connected to the network 4, but can also be connected to the network 4 via communication means such as a gateway, proxy server, router, or wireless access point (not shown) for use. The electronic data management system 1 of the present invention includes these communication means. In this embodiment, the connection means between the user terminal 2 and the network 4, the network 4 and the cloud storage 3, and the user terminal 2 and the cloud storage 3 are not the gist of the invention, so detailed description thereof will be omitted.

図2に図示したように制御プログラム9はユーザ端末2の中の電子データの通信を制御するための制御手段である。制御プログラム9の詳細は、アプリケーションプログラム10等が電子データ(ユーザデータ)にアクセスするとき、そのアクセスを特定条件に基づいて許可又は不許可して制御するものである。例えば、制御プログラム9は、アプリケーションプログラム10がユーザデータを書き込みするとき、ユーザデータを書き込みする保存先が許可された記憶領域であるか否かを確認し、書き込みを許可又は不許可して、ユーザ端末2を制御する。 As shown in FIG. 2, the control program 9 is a control means for controlling the communication of electronic data within the user terminal 2. In detail, the control program 9 controls whether or not an application program 10 or the like accesses electronic data (user data) based on specific conditions. For example, when the application program 10 writes user data, the control program 9 checks whether the destination to which the user data is to be written is an authorized memory area, and controls the user terminal 2 by permitting or disallowing the writing.

また、制御プログラム9は、アプリケーションプログラム10がユーザデータを読み込みするとき、アプリケーションプログラム10によるユーザデータの読み込みが許可された記憶領域であるか否かを確認した後、読み込みを許可又は不許可して、ユーザ端末2を制御する。同期フォルダ7はネットワーク4を介して、クラウドストレージ3のクラウドフォルダ8と同期する。 When the application program 10 reads user data, the control program 9 checks whether the storage area is one in which the application program 10 is permitted to read user data, and then permits or disallows the reading, thereby controlling the user terminal 2. The sync folder 7 is synchronized with the cloud folder 8 in the cloud storage 3 via the network 4.

ここでいう同期とは、同期フォルダ7内の電子データはクラウドストレージ3へ送信されて格納され、同期フォルダ7内に格納されている電子データと同一のデータが同期フォルダ7に割り当てられたクラウドフォルダ8内に格納されることを言う。アプリケーションプログラム10等から同期フォルダ7にアクセスし、それに格納される電子データの一覧を取得する。 The term "synchronization" here means that the electronic data in the synchronized folder 7 is sent to and stored in the cloud storage 3, and the same data as the electronic data stored in the synchronized folder 7 is stored in the cloud folder 8 assigned to the synchronized folder 7. The synchronized folder 7 is accessed from an application program 10 or the like, and a list of the electronic data stored therein is obtained.

アプリケーションプログラム10等がこの一覧の中の特定した電子データを読み出すとき、読み出す電子データの実体がクラウドフォルダ8から同期フォルダ7にダウンロードされて、アプリケーションプログラム10等に提供されることができる。このように、同期フォルダ7は、ユーザ端末2内に電子データの実体を有しないネットワークフォルダ又は仮想フォルダとすることができるが、以下、ユーザ端末2内のフォルダと同等に扱う。 When the application program 10 or the like reads out electronic data specified in this list, the actual electronic data to be read out is downloaded from the cloud folder 8 to the synchronous folder 7 and can be provided to the application program 10 or the like. In this way, the synchronous folder 7 can be a network folder or a virtual folder that does not have the actual electronic data in the user terminal 2, but hereinafter it will be treated as being equivalent to a folder in the user terminal 2.

同期フォルダ7内のユーザデータのファイルとディレクトリは、クラウドストレージ3、特に同期フォルダ7に割り当てられたクラウドフォルダ8と同期する。クラウドフォルダ8には、アクセス権限が与えられたユーザがアクセスする。クラウドフォルダ8は、アプリケーションプログラム又はユーザ毎に作成することができ、ユーザ又は管理者によって使用目的に合わせて設定する。 The files and directories of user data in the sync folder 7 are synchronized with the cloud storage 3, in particular with the cloud folder 8 assigned to the sync folder 7. The cloud folder 8 is accessed by users who have been given access rights. The cloud folder 8 can be created for each application program or user, and is set by the user or administrator according to the purpose of use.

クラウドストレージ3とクラウドフォルダ8へのアクセスに必要なアクセス権限は、管理者が設定し、アクセスに必要なユーザ名、識別番号、パスワーク等の識別データがユーザに提供される。ユーザは識別データを用いて、ユーザ端末2からクラウドフォルダ8にアクセスする。ユーザは、ユーザ端末2において、アプリケーションプログラム10を操作して、通常フォルダ6又は同期フォルダ7に格納されているユーザデータを閲覧、編集し、同期フォルダ7又は通常フォルダ6に格納する。 The access rights required to access the cloud storage 3 and the cloud folder 8 are set by an administrator, and the user is provided with identification data such as a user name, identification number, and password required for access. The user uses the identification data to access the cloud folder 8 from the user terminal 2. The user operates the application program 10 on the user terminal 2 to view and edit the user data stored in the normal folder 6 or the synchronous folder 7, and store it in the synchronous folder 7 or the normal folder 6.

同期フォルダ7に格納されているユーザデータはクラウドフォルダ8と同期された後に出来る限り削除される。これは、ユーザ端末2の同期フォルダ7にできる限り最小限のユーザデータを格納するためである。また、ユーザ端末2からユーザデータの漏洩を最初限に抑え、ユーザデータの漏洩を防止しするためでもある。同期フォルダ7の中のユーザデータに変更があるとき、これをクラウドフォルダ8へ送信し、同期を取る。同期フォルダ7は、基本的に、暗号されている記憶手段である。 After the user data stored in the synchronous folder 7 is synchronized with the cloud folder 8, it is deleted as much as possible. This is to store the minimum amount of user data possible in the synchronous folder 7 of the user terminal 2. It is also to minimize the leakage of user data from the user terminal 2 and prevent the leakage of user data. When there is a change in the user data in the synchronous folder 7, this is sent to the cloud folder 8 and synchronization is established. The synchronous folder 7 is basically an encrypted storage means.

ユーザデータは、ユーザ端末2で利用されているユーザデータ、このユーザデータから派生してユーザ端末2で作成されたユーザデータ、新規に作成された新規ユーザデータ等を含むものであり、以後、これらのユーザデータを含めて「ユーザデータ」と単に表記する。ユーザ端末2とクラウドストレージ3とのデータ通信は、通信する電子データを暗号化して所定の通信プロトコルに従って互いに送受信する。 User data includes user data used on the user terminal 2, user data derived from this user data and created on the user terminal 2, newly created new user data, etc., and hereafter all of these user data will be referred to simply as "user data". Data communication between the user terminal 2 and cloud storage 3 encrypts the electronic data to be communicated and transmits and receives it between them according to a specified communication protocol.

通信プロトコルは、任意の通信プロトコルを利用することができるが、ISO参照モデルに準拠したプロトコル、特に、TCP/IP等のインターネットに利用されている汎用プロトコルが好ましい。ユーザ端末2とクラウドストレージ3とのデータ通信は、発明の要旨ではないので、その詳細な説明は省略する。同期フォルダ7は、ユーザデータを格納するが、必要であれば、その中にディレクトリ7aが作成され、ディレクトリ7aにユーザデータを格納することができる。 Any communication protocol can be used, but a protocol conforming to the ISO reference model, particularly a general-purpose protocol used on the Internet such as TCP/IP, is preferred. Data communication between the user terminal 2 and cloud storage 3 is not the gist of the invention, so a detailed description thereof will be omitted. The synchronous folder 7 stores user data, and if necessary, a directory 7a can be created therein and user data can be stored in the directory 7a.

通常フォルダ6は、同様に、ユーザデータを格納してもよく、必要であれば、ディレクトリ6aが作成され、ディレクトリ6aにユーザデータを格納することができる。ユーザ端末2は、同期フォルダ7の内容をクラウドストレージ3に保存する(バックアップする又は同期させる。)とき、フォルダ8毎にスケジュールを設定して行うことができる。 The normal folder 6 may also store user data, and if necessary, a directory 6a may be created and user data may be stored in the directory 6a. The user terminal 2 can set a schedule for each folder 8 when saving (backing up or synchronizing) the contents of the sync folder 7 to the cloud storage 3.

例えば、所定時間、アプリケーションプログラム10、若しくはオペレーティングシステム11のサービス等から要求があるとき、又はユーザから指示があるとき、ユーザ端末2は、指定されたフォルダ7a、若しくは同期フォルダ7の内容を送信する。ユーザ端末2は、同期フォルダ7、若しくはフォルダ7aの内容の前回送信分の差分を、クラウドストレージ3へ送信して差分同期することができる。 For example, at a predetermined time, when there is a request from the application program 10 or a service of the operating system 11, or when there is an instruction from the user, the user terminal 2 transmits the contents of the specified folder 7a or synchronous folder 7. The user terminal 2 can transmit the difference between the contents of the synchronous folder 7 or folder 7a transmitted previously to the cloud storage 3 to synchronize the difference.

ユーザ端末2は、中央処理手段、主記憶手段、補助記憶手段、入力手段、出力手段、これらの手段を互いに接続しデータを伝送するバス等を備えた汎用の電子計算機である。主記憶装置は、電子計算機のRAM(Random Access Memory)であり、これは揮発性メモリである。補助記憶装置5としては、HDD(Hard disk drive)、SSD(Solid state drive)等が例示できる。 The user terminal 2 is a general-purpose electronic computer equipped with a central processing means, a main memory means, an auxiliary memory means, an input means, an output means, a bus connecting these means to each other and transmitting data, etc. The main memory means is the electronic computer's RAM (Random Access Memory), which is a volatile memory. Examples of the auxiliary memory means 5 include a HDD (Hard disk drive) and an SSD (Solid state drive).

本発明において、電子計算機とそのハードウェア構成が発明の要旨ではないので、詳細な説明は省略する。補助記憶装置5には、オペレーティングシステム11のコード(以下、単にオペレーティングシステム11という。)、アプリケーションプログラム10のコード(以下、単にアプリケーションプログラム10という。)、ユーザデータ等の電子データが格納される。 In the present invention, the electronic computer and its hardware configuration are not the gist of the invention, so a detailed description will be omitted. The auxiliary storage device 5 stores the code of the operating system 11 (hereinafter simply referred to as the operating system 11), the code of the application program 10 (hereinafter simply referred to as the application program 10), and electronic data such as user data.

アプリケーションプログラム10は、通常、オペレーティングシステム11から呼び出されて、主記憶手段に展開されて、動作する。アプリケーションプログラム10が開いて作業しているユーザファイルも主記憶手段上に展開する。ユーザ端末2は、ネットワークカード17(図3を参照。)等のハードウェア手段を接続するためのインターフェースを多数備えるが、本発明は、インターフェースが発明の要旨ではないので、この詳細な説明は省略する。 The application program 10 is usually called from the operating system 11, loaded into the main memory means, and runs. User files that are open and being worked on by the application program 10 are also loaded into the main memory means. The user terminal 2 is equipped with many interfaces for connecting hardware means such as a network card 17 (see Figure 3), but as interfaces are not the gist of the present invention, detailed explanations of these will be omitted.

図2に図示したように、ユーザ端末2において、オペレーティングシステム11が動作し、オペレーティングシステム11が提供するプラットフォーム上に、アプリケーションプログラム10が動作している。ユーザ端末2は、入出力手段、補助記憶装置5等のデバイス12を備えている。ユーザ端末2は、デバイス12を制御するためのデバイスドライバ13を備える。デバイスドライバ13はデバイス12を制御するためのソフトウェアであり、オペレーティングシステム11とデバイス12の間に位置し、それらの間にデータの送受信を行う。 As shown in FIG. 2, an operating system 11 runs on a user terminal 2, and an application program 10 runs on a platform provided by the operating system 11. The user terminal 2 is equipped with devices 12 such as input/output means and an auxiliary storage device 5. The user terminal 2 is equipped with a device driver 13 for controlling the device 12. The device driver 13 is software for controlling the device 12, and is located between the operating system 11 and the device 12, transmitting and receiving data between them.

デバイスドライバ13は、特に、オペレーティングシステム11の入出力機能(I/O機能)とデバイス12の間に位置し、オペレーティングシステム11のI/O機能とデバイス12の間のデータの送受信、オペレーティングシステム11のI/O機能を介してアプリケーションプログラム10とデバイス12の間のデータの送受信を行い制御する。オペレーティングシステム11は、そのI/O機能を利用し、デバイスドライバ13を経由してデバイス12を制御する。 The device driver 13 is located between the input/output function (I/O function) of the operating system 11 and the device 12, and controls the sending and receiving of data between the I/O function of the operating system 11 and the device 12, and the sending and receiving of data between the application program 10 and the device 12 via the I/O function of the operating system 11. The operating system 11 uses the I/O function to control the device 12 via the device driver 13.

言い換えると、オペレーティングシステム11は、その入出力機能(I/O機能)を介して、デバイス12をデバイスドライバ13で制御している。I/O機能は、オペレーティングシステム11の一部機能として所定の関数を公開することで、アプリケーションプログラム10等がこれを利用してデバイス12へアクセスすることができ、デバイスドライバ13はこれを利用してデータの送受信を行う。 In other words, the operating system 11 controls the device 12 with the device driver 13 via its input/output function (I/O function). The I/O function exposes a specific function as part of the operating system 11, allowing the application program 10 and the like to use this to access the device 12, and the device driver 13 uses this to send and receive data.

デバイスドライバ13は、基本的にデバイス12毎に存在するが、USB規格等のように標準化されたデバイスに12に関して、デバイスドライバ13は一つのデバイスドライバ12で複数のデバイス12を制御することも可能である。デバイスドライバ13は、オペレーティングシステム11と共に提供されるものと、オペレーティングシステム11とは別に提供されたデバイスドライバ13がある。 Basically, a device driver 13 exists for each device 12, but for standardized devices 12 such as those conforming to the USB standard, it is possible for one device driver 13 to control multiple devices 12. There are device drivers 13 provided together with the operating system 11 and device drivers 13 provided separately from the operating system 11.

デバイスドライバ13は、ユーザ端末2にインストールされて動作する。デバイス12がユーザ端末2に接続されるとき、ユーザ端末2に接続されたデバイス12を使用されるとき、ユーザ端末2にユーザ又はアプリケーションプログラム10から指示があるとき等の場合、デバイスドライバ13がユーザ端末2にインストールされる。ソフトウェア的に実現するRAMディスク等の仮想デバイスは、その仮想デバイス用のデバイスドライバで制御されて、デバイス12と同様に利用されるので、本実施の形態において、仮想デバイスをデバイス12の一種として取り扱う。 The device driver 13 is installed and operates in the user terminal 2. When the device 12 is connected to the user terminal 2, when the device 12 connected to the user terminal 2 is used, when the user terminal 2 receives an instruction from the user or the application program 10, etc., the device driver 13 is installed in the user terminal 2. A virtual device such as a RAM disk realized in software is controlled by a device driver for that virtual device and is used in the same way as the device 12, so in this embodiment, the virtual device is treated as a type of device 12.

ファイルシステムドライバ14は、デバイスドライバ13の一種であり、補助記憶装置5に対して、オペレーティングシステム11の入出力機能(I/O機能)の窓口になり、補助記憶装置5を制御するためのものである。オペレーティングシステム11は、オペレーティングシステム11が備えている命令が全て実行できるカーネルモード15と、一部の命令を制限したユーザモード16を有する。 The file system driver 14 is a type of device driver 13, and serves as a gateway for the input/output functions (I/O functions) of the operating system 11 with respect to the auxiliary storage device 5, and controls the auxiliary storage device 5. The operating system 11 has a kernel mode 15 in which all commands provided by the operating system 11 can be executed, and a user mode 16 in which some commands are restricted.

デバイスドライバ13は、カーネルモード15で動作する。ファイルシステムドライバ14はカーネルモード15で動作する。アプリケーションプログラム10は、ユーザモード16で動作する。アプリケーションプログラム10の中にカーネルモード15で動作するものがあるが、これはシステムリソースに直接アクセスするプログラム等のような特殊なプログラムに限られる。 The device driver 13 runs in kernel mode 15. The file system driver 14 runs in kernel mode 15. The application program 10 runs in user mode 16. Some application programs 10 run in kernel mode 15, but these are limited to special programs such as programs that directly access system resources.

汎用のアプリケーションプログラム、特にオブジェクト指向のアプリケーションプログラムは、基本的に、ユーザモード16で動作するものであり、カーネルモード15へアクセスするとき、オペレーティングシステム11が提供する入出力機能等の機能を利用する。本発明においては、オペレーティングシステム11とデバイスドライバ13の間に位置する制御プログラム9によって、オペレーティングシステム11の入出力機能と、デバイスドライバ13を制御している。制御プログラム9の構成及び機能については、詳しく後述する。 General-purpose application programs, particularly object-oriented application programs, basically run in user mode 16, and when accessing kernel mode 15, they utilize functions such as input/output functions provided by the operating system 11. In the present invention, the input/output functions of the operating system 11 and the device drivers 13 are controlled by a control program 9 located between the operating system 11 and the device drivers 13. The configuration and functions of the control program 9 will be described in detail later.

オペレーティングシステム11は、キーボードから入力、マウスから入力等の入力手段からの入力機能、画面出力等のような出力手段からの出力機能、記憶手段へデータを書き込む機能と、記憶手段からデータを読み出す機能、メモリの管理機能等の基本的な機能を提供し、ユーザ端末2全体を動作させ、管理するためのソフトウェアである。オペレーティングシステム11は、基本ソフトウェアとも言われる。オペレーティングシステム11は、その提供する機能を実現するために多数の実行可能なプログラムから構成されるものである。 The operating system 11 is software that provides basic functions such as input functions from input means such as keyboard input and mouse input, output functions from output means such as screen output, the function of writing data to storage means, the function of reading data from storage means, and memory management functions, and operates and manages the entire user terminal 2. The operating system 11 is also called basic software. The operating system 11 is composed of many executable programs to realize the functions it provides.

ここで、オペレーティングシステム11の構成要素の内の代表的なものから記述する。オペレーティングシステム11は、カーネル、エグゼキュティブ、サブシステム、HAL(Hardware Abstraction Layer)、デバイスドライバ12等から構成される。エグゼキュティブは、メモリの管理、プロセスとスレッドの管理、セキュリティ、I/O(入出力)、ネットワーク、及びプロセス間通信等のオペレーティングシステム11の基本的なサービスを提供するものである。 Here, we will describe the most representative components of the operating system 11. The operating system 11 is composed of a kernel, an executive, a subsystem, a Hardware Abstraction Layer (HAL), a device driver 12, etc. The executive provides the basic services of the operating system 11, such as memory management, process and thread management, security, I/O (input/output), networking, and inter-process communication.

デバイスドライバ13は、ユーザ端末2に接続されたデバイス12毎に作成され、HALを介して、デバイス12を直接制御するものである。デバイスドライバ13は、アプリケーションプログラム10やオペレーティングシステム11からの入出力機能の要求(I/O呼び出し要求)を特定のデバイス12に対する入出力機能の要求(I/O要求)に変換するサービスと、ファイルシステムやネットワークドライバ等のシステムサービスを提供する。 The device driver 13 is created for each device 12 connected to the user terminal 2, and directly controls the device 12 via HAL. The device driver 13 provides a service for converting input/output function requests (I/O call requests) from the application program 10 or the operating system 11 into input/output function requests (I/O requests) for a specific device 12, and provides system services such as a file system and network drivers.

HALは、カーネル40、デバイスドライバ13、及びエグゼキュティブをプラットフォーム固有のハードウェア機能から分離し抽象化するためのコード層である。HALは、ユーザ端末2の内蔵デバイスや、ユーザ端末2に接続されている外部デバイス等のハードウェアの機種、種類による違いを吸収し、オペレーティングシステム11の各サービスに対して抽象化したサービスを提供する。 HAL is a code layer that separates and abstracts the kernel 40, device drivers 13, and executive from platform-specific hardware functions. HAL absorbs differences due to the model and type of hardware, such as the built-in devices of the user terminal 2 and the external devices connected to the user terminal 2, and provides abstracted services for each service of the operating system 11.

よって、オペレーティングシステム11を構成する各種のサービスは、ハードウェアの機種、種類による違いを意識することなくハードウェアにアクセスすることが可能になる。言い換えると、HALはハードウェアに依存する部分を吸収し抽象化するためのペレーティングシステム11の構成部(コンポネント)である。以上のように、オペレーティングシステム11についてその代表的な構成、機能について説明したが、詳しくは関係書籍、ウェブソース等に譲り、詳細は省略する。 As a result, the various services that make up the operating system 11 are able to access hardware without being aware of differences in the model or type of hardware. In other words, HAL is a component of the operating system 11 that absorbs and abstracts the hardware-dependent parts. As above, we have explained the representative configuration and functions of the operating system 11, but for more details, please refer to related books, web sources, etc. and we will omit details here.

ファイルシステムとしては、FAT32、NTFS、exFAT等が代表的であるが、これらに限定されず、オペレーティングシステム11に認識される任意のファイルシステムを採用することができる。本実施の形態においては、デバイスドライバ13は、オペレーティングシステム11に付属するものとして記述する。 Typical file systems include FAT32, NTFS, exFAT, etc., but are not limited to these and any file system recognized by the operating system 11 can be used. In this embodiment, the device driver 13 is described as being attached to the operating system 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)、これらの派生規格等の規格に準拠した記憶手段へのアクセスを提供する。本発明は、ハードウェア規格が発明の要旨ではないので、詳細な説明は各規格の仕様文献に譲り、これ以上の説明は省略する。 The file system driver 14 manages information about files and folders stored in the auxiliary storage device 5, and provides access to files and folders stored in the auxiliary storage device 5. In this example, the file system driver 14 provides access to storage means that are connected to the user terminal 2 and comply with standards such as IDE (Integrated Drive Electronics), ATA (Advanced Technology Attachment), SATA (Serial ATA), SCSI (Small Computer System Interface), USB (Universal Serial Bus), and derived standards. Since the hardware standards are not the gist of the present invention, detailed explanations will be left to the specification documents of each standard, and further explanation will be omitted.

〔制御プログラム9〕
制御プログラム9は、デバイスドライバ13間のデータの送受信をカーネルモード15で実現するためのものである。デバイスドライバ13間にカーネルモード15でデータを転送するとき、データ転送が高速に行うことができると共にデータのセキュリティを確保することができる。従って、大容量のデータを短時間で高速に転送するという利点がある。
[Control Program 9]
The control program 9 is for implementing data transmission and reception between device drivers 13 in kernel mode 15. When data is transferred between device drivers 13 in kernel mode 15, data transfer can be performed at high speed and data security can be ensured. This has the advantage of allowing large volumes of data to be transferred at high speed in a short period of time.

制御プログラム9は、アプリケーションプログラム10からデバイスドライバ13へアクセスするとき、また、デバイスドライバ13からアプリケーションプログラム10へデータを送信するときに、共通のインターフェースを提供する。制御プログラム9は、オペレーティングシステム11のカーネルモード15で動作する。制御プログラム9は、デバイスドライバ13間だけではなく、オペレーティングシステム11とデバイスドライバ13とのデータの送受信を提供し、制御する機能を有する。 The control program 9 provides a common interface when the application program 10 accesses the device driver 13 and when the device driver 13 sends data to the application program 10. The control program 9 runs in the kernel mode 15 of the operating system 11. The control program 9 has the function of providing and controlling the sending and receiving of data not only between device drivers 13 but also between the operating system 11 and the device driver 13.

制御プログラム9は、アプリケーションプログラム10から出力される命令及び/又はデータを受信する。これを分析して、デバイスドライバ13を制御して、命令の実行を行いかそれを変更して制御することができる。制御プログラム9は、この命令の実行結果及び/又はデバイスドライバ13から受信した受信データを、アプリケーションプログラム10に送信する。制御プログラム9は、アドイン部22と通信してアプリケーションプログラム10とデータの送受信を行い、制御することができる。 The control program 9 receives commands and/or data output from the application program 10. It analyzes this and controls the device driver 13 to execute commands or change and control them. The control program 9 sends the results of executing these commands and/or the received data received from the device driver 13 to the application program 10. The control program 9 communicates with the add-in unit 22 to send and receive data to and control the application program 10.

例えば、アプリケーションプログラム10の動作に関するデータをアドイン部22から受信し、アプリケーションプログラム10への命令をアドイン部22へ送信する。制御プログラム9は、電子計算機のインターフェースドライバプログラムとして、本出願人が提案した例えばWO02/091195号等に開示されている周知の技術であり、本発明に包含されるものとする。そのため、制御プログラム9について本発明に必要な機能を以下に記述し、詳しい説明は省略する。 For example, it receives data related to the operation of application program 10 from add-in section 22 and sends commands for application program 10 to add-in section 22. Control program 9 is a well-known technology proposed by the applicant as an interface driver program for a computer, disclosed in, for example, WO02/091195, and is included in the present invention. Therefore, the functions of control program 9 necessary for the present invention will be described below, and a detailed explanation will be omitted.

図3には、ユーザ端末2の構成例を図示している。ユーザ端末2は、コネクタ18、ネットワークカード17、マウス(図示せず。)、キーボード(図示せず。)、ディスプレイ(図示せず。)、USBポート19、補助記憶装置5等のデバイス12を備えている。ネットワークドライバ23はネットワークカード17を制御するためのデバイスドライバ13である。インターフェースドライバ24はコネクタ18を制御するためのデバイスドライバ13ある。 Figure 3 shows an example of the configuration of a user terminal 2. The user terminal 2 is equipped with devices 12 such as a connector 18, a network card 17, a mouse (not shown), a keyboard (not shown), a display (not shown), a USB port 19, and an auxiliary storage device 5. A network driver 23 is a device driver 13 for controlling the network card 17. An interface driver 24 is a device driver 13 for controlling the connector 18.

コネクタ18は、各種の外部デバイス20を接続するためのものであり、例えば、周辺機器と接続するためのSATA、RS-232C、IrDA、USB、IEEE1394等のシリアルポートと、IEEE1284、SCSI、IDE等のパラレルポートが例示できる。例えば、スキャナ、プリンタ等の周辺機器はコネクタ18に接続される。USBポート19は、コネクタ18の一種で、広く普及しており、汎用の電子計算機は1以上のUSBポート19を備えていることが多い。 The connector 18 is for connecting various external devices 20, and examples include serial ports such as SATA, RS-232C, IrDA, USB, and IEEE 1394 for connecting to peripheral devices, and parallel ports such as IEEE 1284, SCSI, and IDE. For example, peripheral devices such as scanners and printers are connected to the connector 18. The USB port 19 is a type of connector 18 that is widely used, and general-purpose electronic computers often have one or more USB ports 19.

USBポート19にマウス、キーボード、プランタ、スキャン、無線通信機器、フラッシュメモリ21等を接続して利用することが一般的になっており、本実施の形態において、コネクタ18とUSBポート19は基本的に同義に扱う。USBポート19には、フラッシュメモリ21、マウス(図示せず。)、キーボード(図示せず。)等が接続される。 It is common to connect a mouse, keyboard, printer, scanner, wireless communication device, flash memory 21, etc. to the USB port 19, and in this embodiment, the connector 18 and the USB port 19 are basically treated as synonyms. A flash memory 21, mouse (not shown), keyboard (not shown), etc. are connected to the USB port 19.

本実施の形態において、補助記憶装置5を一台のみを例に説明するが、これに限定されない。本実施の形態のユーザ端末2は、仮想補助記憶装置、RAMディスク等を含め複数台の補助記憶装置5を備える。補助記憶装置5には、オペレーティングシステム11、ユーザ端末2の動作に必要なプログラムコードを始め各種のアプリケーションプログラム10、モジュール等のソースコードが格納される。補助記憶装置5にはユーザデータが格納される。 In this embodiment, the description will be given taking only one auxiliary storage device 5 as an example, but this is not limiting. The user terminal 2 in this embodiment has multiple auxiliary storage devices 5, including virtual auxiliary storage devices, RAM disks, etc. The auxiliary storage devices 5 store an operating system 11, program code necessary for the operation of the user terminal 2, various application programs 10, source code for modules, etc. The auxiliary storage devices 5 store user data.

ユーザデータは、特に限定しないが、テキストファイル、静止画ファイル、映像ファイル、音声ファイル、各種のフォーマットの文書ファイル(Word, pdf等)、プログラムコードのファイル、実行可能なファイル(.exeファイル)、通信履歴、アプリケーションプログラムの動作履歴、オペレーティングシステム又はアプリケーションプログラムのバックアップファイル、各種の一時ファイル(tmpファイル等)、メモリの内容等の任意の形式のファイル、これらのバックアップファイルである。 User data includes, but is not limited to, text files, still image files, video files, audio files, document files of various formats (Word, pdf, etc.), program code files, executable files (.exe files), communication history, operation history of application programs, backup files of the operating system or application programs, various temporary files (tmp files, etc.), memory contents, and other files of any format, as well as backup files of these.

また、ユーザデータは、暗号復号コード、識別番号、暗証番号、個人情報、顧客データ、ビジネスのノウハウ、機密データに関する情報、その文書等のようにデータ管理が必要なデータを含め広く解釈される。ユーザデータは、ユーザの要求、アプリケーションプログラム10の仕様又は要求等の必要に応じて暗号化されて、又は、暗号化されずに、補助記憶装置5に格納される。 User data is also broadly interpreted to include data that requires data management, such as encryption/decryption codes, identification numbers, PIN numbers, personal information, customer data, business know-how, information related to confidential data, documents thereof, etc. User data is stored in the auxiliary storage device 5 either encrypted or unencrypted, as required by the user's request, the specifications or requirements of the application program 10, etc.

図2及び図3に図示したアドイン部22は、アプリケーションプログラム10に機能を追加又は機能を拡張するために追加されたモジュール又はプログラムである。言い換えると、アドイン部22は、アプリケーションプログラム10にアドイン(add-in)機能として組み込まれ、アプリケーションプログラム10とオペレーティングシステム11との間に位置し、これらの間に命令やデータの送受信を仲介し制御するためのものである。 The add-in unit 22 shown in Figures 2 and 3 is a module or program added to the application program 10 to add or expand functions. In other words, the add-in unit 22 is incorporated into the application program 10 as an add-in function, and is located between the application program 10 and the operating system 11 to mediate and control the transmission and reception of commands and data between them.

アドイン部22は、例えば、アプリケーションプログラム10の起動、これに伴うプロセスの起動を監視し、これらの属性情報を取得する機能を有する。アドイン部22は、ユーザモード16で動作する。ユーザ端末2上で動作するアプリケーションプログラム10は、ユーザデータをディスプレイ上に表示し、それを編集、計算処理する等の処理を行う。アプリケーションプログラム10は、オペレーティングシステム11が提供する機能を利用する。例えば、ユーザ端末2の入出力装置からのユーザデータの入出力を行う。 The add-in unit 22 has a function of, for example, monitoring the startup of the application program 10 and the startup of the processes associated with it, and acquiring attribute information on these. The add-in unit 22 operates in the user mode 16. The application program 10 operating on the user terminal 2 displays user data on a display and performs processes such as editing and calculating the data. The application program 10 uses the functions provided by the operating system 11. For example, it inputs and outputs user data from an input/output device of the user terminal 2.

アプリケーションプログラム10は、オペレーティングシステム11のカーネルモード15又はユーザモード16に動作する実行可能なファイル又はソフトウェアである。本実施の形態においては、ユーザモード16に動作するアプリケーションプログラム10を例示しているがこれに限定されない。例えば、アプリケーションプログラム10は、ワードプロセッシングソフトウェア、テキストエディタ等の文書を作成、編集するためのソフトウェア、pdf形式のファイル等のような特定の形式のファイルを閲覧、作成、編集するためのソフトウェアである。 The application program 10 is an executable file or software that operates in the kernel mode 15 or user mode 16 of the operating system 11. In this embodiment, an application program 10 that operates in the user mode 16 is exemplified, but is not limited to this. For example, the application program 10 is software for creating and editing documents, such as word processing software, a text editor, or software for viewing, creating, and editing files in a specific format, such as PDF files.

〔制御プログラム9〕
制御プログラム9は、図3に図示したように、アプリケーションプログラム10からの命令やデータ等を受信し、アプリケーションプログラム10へのデータを送信するためのインターフェース部31を有する。制御プログラム9は、制御プログラム9の全体の動作を制御するための制御部32、制御プログラム9の動作の履歴を取得するためのログ取得部33も有する。
[Control Program 9]
3, the control program 9 has an interface unit 31 for receiving commands, data, etc. from the application program 10 and transmitting data to the application program 10. The control program 9 also has a control unit 32 for controlling the overall operation of the control program 9 and a log acquisition unit 33 for acquiring the operation history of the control program 9.

制御プログラム9は、データを暗号化するための暗号化部34、暗号化されたデータを復号化するための復号化部35を有する。制御プログラム9は、デバイスドライバ13を制御するためのデバイスドライバ制御部36を有する。デバイスドライバ制御部36は、デバイスドライバ13毎に作成される。複数のデバイスドライバ13に共通の機能がある場合、一つのデバイスドライバ制御部36で複数のデバイスドライバ13を制御することができる。 The control program 9 has an encryption unit 34 for encrypting data, and a decryption unit 35 for decrypting the encrypted data. The control program 9 has a device driver control unit 36 for controlling the device driver 13. A device driver control unit 36 is created for each device driver 13. If multiple device drivers 13 have a common function, one device driver control unit 36 can control multiple device drivers 13.

制御部32は、デバイスドライバ制御部36、インターフェース部31、ログ取得部33、暗号化部34、復号化部35等の制御プログラム9の他の部を制御し、監視するためのもので、制御プログラム9の中核部である。デバイスドライバ制御部36は、各デバイスドライバ13を制御するための制御部からなる。例えば、ネットワークドライバ23を制御するためのネットワーク制御部38、ファイルシステムドライバ14を制御するためのファイルシステム制御部37を備える。 The control unit 32 is the core of the control program 9, and controls and monitors other parts of the control program 9, such as the device driver control unit 36, interface unit 31, log acquisition unit 33, encryption unit 34, and decryption unit 35. The device driver control unit 36 is made up of control units for controlling each device driver 13. For example, it includes a network control unit 38 for controlling the network driver 23, and a file system control unit 37 for controlling the file system driver 14.

制御プログラム9は、アプリケーションプログラム10から出力される命令及び/又はデータを受信し、この命令の実行結果及び/又はデバイスドライバ13から受信した受信データを、アプリケーションプログラム10に送信するためのインターフェース部31を有する。インターフェース部31はアドイン部22と通信してアプリケーションプログラム10とデータの送受信を行い、制御することができる。 The control program 9 has an interface unit 31 for receiving commands and/or data output from the application program 10 and transmitting the execution results of these commands and/or received data received from the device driver 13 to the application program 10. The interface unit 31 communicates with the add-in unit 22 to send and receive data to and from the application program 10, and can control it.

例えば、インターフェース部31はアプリケーションプログラム10の動作に関するデータをアドイン部22から受信し、アプリケーションプログラム10への命令をアドイン部22へ送信する。また、制御プログラム9は、アプリケーションプログラム10から命令及び/又はデータを受信する。制御プログラム9は、デバイスドライバ13へこの命令及び/又はデータを送信し、デバイスドライバ13からこの命令の実行結果及び/又は受信データを受信するためのデバイスドライバ制御部36を有する。 For example, the interface unit 31 receives data related to the operation of the application program 10 from the add-in unit 22, and transmits commands for the application program 10 to the add-in unit 22. The control program 9 also receives commands and/or data from the application program 10. The control program 9 has a device driver control unit 36 for transmitting these commands and/or data to the device driver 13, and receiving the execution results of these commands and/or received data from the device driver 13.

更に、制御プログラム9は、これらの命令及び/又はデータを処理し、出力データを生成して、データの制御を行うための制御部32を有する。暗号化部34はデータを暗号化して暗号化データを作成し、復号化部35は暗号化データを復号化して元のデータを作成する。ログ取得部33は、特に、制御部32の動作の履歴を取得し、保存する。デバイスドライバ制御部36の各制御部は、制御部32によって制御され、又は、制御部32から命令又はデータを受信し、これをデバイスドライバ13へ送信又は転送する。 The control program 9 further has a control unit 32 for processing these commands and/or data, generating output data, and controlling the data. The encryption unit 34 encrypts data to create encrypted data, and the decryption unit 35 decrypts the encrypted data to create the original data. The log acquisition unit 33, in particular, acquires and stores the history of the operation of the control unit 32. Each control unit of the device driver control unit 36 is controlled by the control unit 32 or receives commands or data from the control unit 32 and transmits or transfers them to the device driver 13.

デバイスドライバ制御部36は、デバイスドライバ13から前述した命令を実行した結果、データを受信し、制御部32へ送信する。このように、制御プログラム9は、ユーザ端末2を制御するもので、特にユーザ端末2の各デバイス12の動作を制御する中核部である。アドイン部22は、制御プログラム9と連帯して動作し、ユーザモード16で取得した通信データを制御プログラム9へ送信し、制御プログラム9の指示で、アプリケーションプログラム10とオペレーティングシステム11との通信を制御する。 The device driver control unit 36 receives data as a result of executing the above-mentioned commands from the device driver 13 and transmits it to the control unit 32. In this way, the control program 9 controls the user terminal 2, and is in particular the core unit that controls the operation of each device 12 of the user terminal 2. The add-in unit 22 operates in conjunction with the control program 9, transmits communication data acquired in the user mode 16 to the control program 9, and controls communication between the application program 10 and the operating system 11 at the instruction of the control program 9.

図4は、ユーザデータを保存するときの制御を説明するためのブロック図である。ユーザ端末2において、通常フォルダ6と同期フォルダ7に格納されているユーザデータのファイル(以下、ユーザファイルとも記述する。)を、アプリケーションプログラム10で読み出して閲覧し編集して保存する。このとき、制御プログラム9はユーザ端末2上に制御モードがONとOFFの二種類の制御状態で動作する。ユーザファイルを読み出す動作を実線の矢印で、保存するときの動作を破線の矢印で図示している。 Figure 4 is a block diagram for explaining the control when saving user data. In the user terminal 2, user data files (hereinafter also referred to as user files) stored in the normal folder 6 and synchronous folder 7 are read, viewed, edited, and saved by the application program 10. At this time, the control program 9 operates in two control states on the user terminal 2, with the control mode ON and OFF. The operation of reading the user file is indicated by a solid arrow, and the operation of saving is indicated by a dashed arrow.

また、ユーザファイルを読み出す操作と書き込む操作のとき、制御モードの状態を矢印の側にONとOFFで図示し、操作が可能で許可されることを丸印「〇」で、操作が不許可されることをバツ印「X」で図示している。ユーザファイルの読み出しと書き込みの操作は、制御プログラム9によって操作を許可と不許可をして制御される。同期フォルダ7に格納されているユーザファイルは、制御プログラム9の制御モードがONのときだけに、アプリケーションプログラム10によって読み出して閲覧することができる。 When reading and writing user files, the control mode state is shown on the side of the arrow with ON and OFF, with a circle "O" indicating that the operation is possible and permitted, and a cross "X" indicating that the operation is not permitted. The operations of reading and writing user files are controlled by the control program 9, which allows or disallows the operations. User files stored in the synchronous folder 7 can be read and viewed by the application program 10 only when the control mode of the control program 9 is ON.

よって、同期フォルダ7に格納されているユーザファイルは、制御プログラム9の制御モードがONのときだけに、編集することができる。同期フォルダ7に格納されているユーザファイルは編集された後は、同期フォルダ7に保存することができるが、通常フォルダ6には保存することができない。例えば、同期フォルダ7に格納されているファイルAAは、アプリケーションプログラム10によって読み出されて、ユーザ端末2の主記憶装置25上に展開されて閲覧と編集される。 Therefore, the user files stored in the synchronous folder 7 can be edited only when the control mode of the control program 9 is ON. After being edited, the user files stored in the synchronous folder 7 can be saved in the synchronous folder 7, but cannot be saved in the normal folder 6. For example, file AA stored in the synchronous folder 7 is read by the application program 10 and expanded on the main memory device 25 of the user terminal 2 for viewing and editing.

これを編集中のファイルaaとして図示している。ファイルaaは、ファイルAAに上書き保存又は同期フォルダ7に名前を付けて別名保存することができるが、通常ファルダ6にファイルAA’のように保存することができない。ファイルaaは、閲覧され編集された後に同期フォルダ7に上書き保存又は別名で保存されることができる。また、ファイルaaは閲覧されてから、編集されずに上書き保存又は同期フォルダ7に別名で保存されることもできる。 This is shown as file aa being edited. File aa can be saved by overwriting file AA or saved under a different name in synchronous folder 7, but cannot be saved in normal folder 6 like file AA'. File aa can be viewed and edited, and then saved by overwriting or saved under a different name in synchronous folder 7. File aa can also be viewed, and then saved by overwriting or saved under a different name in synchronous folder 7 without being edited.

通常フォルダ6に格納されているユーザファイルは、制御プログラム9の制御モードがONのときでも、OFFのときでも、読み出しし閲覧することができる。具体的には、通常フォルダ6に格納されているファイルBBは、アプリケーションプログラム10によって読み出される。ファイルBBは読み出されるとユーザ端末2の主記憶装置25上に展開されて閲覧されるが、これをファイルbbと図示している。ファイルBBの読み出し操作は、制御モードがONの状態でも、OFFの状態でも許可される。 User files stored in normal folder 6 can be read and viewed whether the control mode of control program 9 is ON or OFF. Specifically, file BB stored in normal folder 6 is read by application program 10. When file BB is read, it is expanded on the main memory device 25 of user terminal 2 and viewed, which is illustrated as file bb. The read operation of file BB is permitted whether the control mode is ON or OFF.

通常フォルダ6にファイルbbを書き込みする操作は、制御モードがONの状態でも、OFFの状態でも許可される。同期フォルダ7にファイルbbを書き込みする操作は、制御モードがONの状態で許可されるが、OFFの状態では許可されない。制御モードがONのとき、ファイルbbを同期フォルダ7に書き込みし、この書き込みされたユーザファイルはファイルBB’として図示されている。 The operation of writing file bb to normal folder 6 is permitted whether control mode is ON or OFF. The operation of writing file bb to synchronous folder 7 is permitted when control mode is ON, but not when control mode is OFF. When control mode is ON, file bb is written to synchronous folder 7, and this written user file is illustrated as file BB'.

制御モードがOFFのとき、同期フォルダ7にアクセスできないので、ファイルbbを同期フォルダ7に書き込みすることができず、通常フォルダ6に上書き保存又は別名保存することができる。ファイルaaは、同期フォルダ7のみに複製、上書き保存できるが、ファイルbbは制御モードのONときに同期フォルダ7と通常フォルダ6に別名保存ができ、制御モードのOFFときに通常フォルダ6のみに上書き保存又は別名保存することができる。 When control mode is OFF, synchronized folder 7 cannot be accessed, so file bb cannot be written to synchronized folder 7, and can only be saved over or with a different name in normal folder 6. File aa can only be copied and saved over in synchronized folder 7, but file bb can be saved under a different name in synchronized folder 7 and normal folder 6 when control mode is ON, and can only be saved over or with a different name in normal folder 6 when control mode is OFF.

図5は、本発明の第1の実施の形態の電子データ管理システム1のユーザ端末2の動作概要を示すフローチャートである。まず、ユーザ端末2に電源を入れて稼働させる(ステップ1)。ユーザ端末2上にオペレーティングシステム11が起動し、初期処理等を行い、ユーザ認証も行われ、ソフトウェアが動作する環境ができる(ステップ2)。そして、制御プログラム9が起動される(ステップ3)。制御プログラム9が起動されると、初期化処理等が行われ、制御プログラム9が動作する制御モードの設定又は確認が行われる(ステップ4)。 Figure 5 is a flowchart showing an outline of the operation of the user terminal 2 of the electronic data management system 1 according to the first embodiment of the present invention. First, the user terminal 2 is turned on and put into operation (step 1). The operating system 11 starts up on the user terminal 2, performs initial processing, and user authentication is also performed, creating an environment in which the software can operate (step 2). Then, the control program 9 starts up (step 3). When the control program 9 starts up, initialization processing is performed, and the control mode in which the control program 9 operates is set or confirmed (step 4).

制御プログラム9は、所定条件に従ってユーザ端末2を制御するための制御モードを有する。制御プログラム9は、所定条件、例えば制御リスト100(図6を参照。)等に記載の条件、に従ってユーザ端末2を制御するための制御モードで動作するとき、制御モードがONであるという。制御プログラム9は、ユーザ端末2を監視するだけで、ユーザ端末2を特に制御しない制御モードで動作するとき、制御モードがOFFであるという。 The control program 9 has a control mode for controlling the user terminal 2 according to predetermined conditions. When the control program 9 operates in a control mode for controlling the user terminal 2 according to predetermined conditions, such as conditions described in the control list 100 (see FIG. 6), the control mode is said to be ON. When the control program 9 operates in a control mode in which it only monitors the user terminal 2 and does not specifically control the user terminal 2, the control mode is said to be OFF.

制御モードがONであるとき、制御プログラム9はユーザ端末2で利用するユーザファイルとそのための操作を所定条件に従って制御する。例えば、制御プログラム9による制御として、アプリケーションプログラム10でユーザファイルにアクセスする操作、ユーザファイルを補助記憶装置5に保存、複製、移動する操作、閲覧若しくは編集しているユーザファイルをコピー&ペースト(Copy and Paste)する操作、ユーザファイルを電子メールで送信する操作、ユーザファイルを他の補助記憶装置に複製又は移動する操作等において、その操作を許可又は不許可する制御を行う。 When the control mode is ON, the control program 9 controls the user files used in the user terminal 2 and the operations for doing so in accordance with predetermined conditions. For example, the control program 9 controls whether or not to permit operations such as accessing a user file with the application program 10, saving, duplicating, or moving a user file to the auxiliary storage device 5, copying and pasting a user file being viewed or edited, sending a user file by email, and copying or moving a user file to another auxiliary storage device.

ユーザファイルを利用し派生したデータを作成するとき、新規にユーザファイルを作成するときも同様の制御を行うことができる。これらの制御は、アプリケーションプログラム10、オペレーティングシステム11のサービス、ユーザ等によって個別に設定することもできる。また、これらの制御は、ユーザファイル毎に設定することもできる。制御モードをOFFにして作業を行う場合は、制御プログラム9の設定で制御モードの設定をOFFにし、次のステップ9へ進み、ユーザ端末2を使用する準備ができる(ステップ4→ステップ5)。 Similar controls can be used when creating derived data using a user file, or when creating a new user file. These controls can be set individually by the application program 10, the operating system 11 services, the user, etc. These controls can also be set for each user file. If you wish to perform work with the control mode turned OFF, turn the control mode setting OFF in the control program 9 settings, proceed to the next step 9, and prepare to use the user terminal 2 (step 4 → step 5).

制御モードをONにする場合は、まず、制御のモードをONに設定し、制御プログラム9の初期化を行う(ステップ4→ステップ6、ステップ7)。そして、除外設定が行われる(ステップ8)。制御プログラム9の制御モードがONのとき、初期化、各種設定、除外設定は、例えば次のように行われる。制御モードをONにするとき、制御プログラム9は、ユーザ端末2に内蔵され接続されている補助記憶装置5を確認し、通常フォルダ6と同期フォルダ7の確認が行われる。 When turning on the control mode, first the control mode is set to ON and the control program 9 is initialized (step 4 → step 6, step 7). Then, the exclusion setting is performed (step 8). When the control mode of the control program 9 is ON, the initialization, various settings, and exclusion setting are performed, for example, as follows. When turning on the control mode, the control program 9 checks the auxiliary storage device 5 built into and connected to the user terminal 2, and checks the normal folder 6 and synchronous folder 7.

この確認は、オペレーティングシステム11に認識されている補助記憶装置5の中で、同期フォルダ7が含まれているか否かで確認する。同期フォルダ7は制御対象のフォルダであり、これは予め設定され、制御プログラム9の設定フォルダ等に保存されている。補助記憶装置5への書き込みを禁止に設定する。このとき、ユーザ端末2に内蔵又は外付けされたフラッシュメモリ21、リムーバブルドライブ、フレキシブルディスクドライブ、外付補助記憶装置等の記憶手段は、書き込み禁止に設定される。 This check is performed by checking whether the synchronous folder 7 is included among the auxiliary storage devices 5 recognized by the operating system 11. The synchronous folder 7 is a folder to be controlled, which is set in advance and saved in a setting folder of the control program 9 or the like. Writing to the auxiliary storage device 5 is set to be prohibited. At this time, writing is prohibited for storage means such as a flash memory 21, a removable drive, a flexible disk drive, and an external auxiliary storage device built into or external to the user terminal 2.

言い換えると、ユーザ端末2からユーザファイルを持ち出しできるような記憶手段に対して、ユーザファイルを許可無しに格納することを制限する。制御モードがONのとき、同期フォルダ7は、書き込み操作を禁止する設定にしない。また、オペレーティングシステム11がインストールされている又はその動作に必須の補助記憶装置5のフォルダは、書き込み操作の禁止等のアクセス制限を受けない。制御プログラム9は、ネットワーク4と通信する通信ポートの設定を行う。 In other words, it restricts the storage of user files without permission in storage means that can take out user files from the user terminal 2. When the control mode is ON, the synchronized folder 7 is not set to prohibit write operations. In addition, folders in the auxiliary storage device 5 in which the operating system 11 is installed or which are essential for its operation are not subject to access restrictions such as prohibition of write operations. The control program 9 sets the communication port for communicating with the network 4.

ここで言う通信ポートは、TCP/IP等の通信プロトコルで規定するポートであり、ユー端末2及び/又はユーザ端末2と通信する通信相手のポート番号になる。「25」、「587」等のようにポート番号で設定する。この設定では、ユーザ端末2がネットワーク4と通信するために必要な通信ポートのみの使用が許可され、不必要なポートが通信禁止に設定される。 The communication port referred to here is a port defined by a communication protocol such as TCP/IP, and is the port number of the user terminal 2 and/or the communication partner that communicates with the user terminal 2. It is set with a port number such as "25" or "587". With this setting, only the communication ports necessary for the user terminal 2 to communicate with the network 4 are permitted to be used, and unnecessary ports are set to communication prohibited.

これらの設定は、制御プログラム9の基本設定に従うか、ユーザや管理者等が選択設定するものであり、制御プログラム9がインストールされるとき、又は、その制御モードをONにするとき、ユーザが選択できる。制御プログラム9は、コピー&ペースト、クリップボードの使用、スクリーンキャプチャの使用は操作禁止に設定する。しかし、ユーザ、管理者等は、これらを全部又は一部を使用したい場合は、それを操作禁止に設定しない。 These settings are either based on the basic settings of the control program 9 or can be selected by the user, administrator, etc., and can be selected by the user when the control program 9 is installed or when the control mode is turned ON. The control program 9 prohibits copy and paste, use of the clipboard, and use of screen capture. However, if the user, administrator, etc., wants to use all or some of these functions, they do not prohibit them.

最後は、制御プログラム9は、オペレーティングシステム11の正常な動作に必要なプロセスを指定し、例外設定をする。例えば、オペレーティングシステム11の動作に必要なSystemプロセス等を動作可能にする。これらの設定は、必ずしもこの順番で行う必要はなく、状況に応じて自由自在に順番を変更し組み合わせることができる。これらの設定が終了すると、制御プログラム9は、同期フォルダ7の設定を行う。 Finally, the control program 9 specifies the processes necessary for the normal operation of the operating system 11 and sets exceptions. For example, it enables system processes and the like necessary for the operation of the operating system 11. These settings do not necessarily have to be made in this order, and the order and combination can be freely changed according to the situation. Once these settings are complete, the control program 9 sets up the synchronized folder 7.

同期フォルダ7の設定では、例えば、作業ドライブとして利用するメインディスクを選択設定し、クラウドストレージ3へのパス設定を同期フォルダ7又はその中のフォルダに設定する。このパスにアクセスすると、実体データはクラウドストレージ3からダウンロードされ、同期フォルダ7に格納される。このように、同期フォルダ7の設定では、同期フォルダ7をクラウドストレージ3にマッピングするための設定をする。 When setting up the sync folder 7, for example, the main disk to be used as the working drive is selected and set, and the path setting to the cloud storage 3 is set to the sync folder 7 or a folder within it. When this path is accessed, the actual data is downloaded from the cloud storage 3 and stored in the sync folder 7. In this way, when setting up the sync folder 7, settings are made to map the sync folder 7 to the cloud storage 3.

また、同期フォルダ7に格納されたユーザファイルをクラウドストレージ3へ転送(送信)するときの各種設定が行われる。例えば、ユーザファイルに関して、暗号する暗号鍵の設定、転送するタイミング(特定時間、間隔等)、通信速度、優先度等を設定するが、管理者はこれらの設定を必要に応じて選択することができる。これらの設定によって、ユーザ端末2の利用が開始される(ステップ9)。 In addition, various settings are made when transferring (sending) user files stored in the sync folder 7 to the cloud storage 3. For example, settings are made for the encryption key used to encrypt the user files, the timing of transfer (specific time, interval, etc.), communication speed, priority, etc., and the administrator can select these settings as necessary. With these settings, use of the user terminal 2 begins (step 9).

ユーザはユーザ端末2を利用するとき、制御プログラム9のメイン機能は、オペレーティングシステム11のカーネルモード15で動作し、高速であるので、ユーザは制御プログラム9の動作を殆ど意識しないで作業をすることができる。ユーザが制限を受けるのは、制御モードによる設定条件で制限を受け、操作の不許可される場合、操作制限の警告が表示される場合、ユーザ又は管理者の判断が求められる場合等である。特に、ユーザファイルを許可されていないフォルダへ複製又は移動、そして外部媒体に書き込む操作のとき、制御プログラム9によってその操作が不許可される。 When a user uses the user terminal 2, the main function of the control program 9 runs in kernel mode 15 of the operating system 11 and is fast, so the user can work without being aware of the operation of the control program 9. The user is restricted when operations are not permitted due to restrictions imposed by the settings in the control mode, a warning of operation restrictions is displayed, or a decision by the user or administrator is required. In particular, when copying or moving a user file to an unauthorized folder or writing to an external medium, the control program 9 will not permit that operation.

よって、ユーザは、ユーザ端末2を操作し、ユーザファイルを開く、閲覧編集する、又は新規に作成する等の作業を行う(ステップ10)。制御プログラム9は、ユーザ端末2の動作が制御モードで指定された制御条件に合致した動作をしているか否か監視し、それに違反するとユーザに対して警告を出し、又は、ユーザ端末2の動作を一時停止させてユーザの判断を待機し、ユーザ又は管理者の操作を待機する(ステップ11、12)。 The user operates the user terminal 2 to open, view, edit, or create a new user file (step 10). The control program 9 monitors whether the operation of the user terminal 2 complies with the control conditions specified in the control mode, and if it does not, it issues a warning to the user or temporarily suspends the operation of the user terminal 2 and waits for the user's decision, and waits for the user or administrator's operation (steps 11, 12).

図6には、制御リスト100の例を表にして図示している。この表の第1欄101は、リストの番号を示し、第2欄102はファイル名、第3欄103はプロセス名、第4欄104はプロセスID(「PID)ともいう。)、第5欄105はファイルパス、第6欄はファイル操作を示す。制御プログラム9による制御が必要なファイルである制御対象ファイル、プロセス等はこの制御リスト100に登録されるが、この登録時に各種条件を指定して登録する。 Figure 6 shows an example of a control list 100 in the form of a table. The first column 101 of this table shows the list number, the second column 102 shows the file name, the third column 103 shows the process name, the fourth column 104 shows the process ID (also called "PID"), the fifth column 105 shows the file path, and the sixth column shows the file operation. Files to be controlled, which are files that need to be controlled by the control program 9, processes, etc. are registered in this control list 100, and various conditions are specified when registering them.

ファイル名は、制御対象のユーザファイル(以下、制御対象ユーザファイルとも記述する。)の名前とその拡張子からなる。例えば、「Worfile1.doc」を例示している。ファイル名がないリストは、プロセスのみの制御である。プロセス名は、制御対象ユーザファイルにアクセスしている実行中のアプリケーションプログラム10のプロセス名を示すもので、PIDは、実行中のアプリケーションプログラム10のプロセス識別番号である。 The file name consists of the name of the user file to be controlled (hereinafter also referred to as the controlled user file) and its extension. For example, "Worfile1.doc" is shown. A list without a file name is for control of the process only. The process name indicates the process name of the running application program 10 that is accessing the controlled user file, and the PID is the process identification number of the running application program 10.

PIDは、オペレーティングシステム11が稼働した後に起動しているプロセスに独自に付与されるものである。プロセスIDがなくてもアプリケーションプログラム10の名前で制御することができる。ファイル操作は、制御対象ユーザファイルを操作する種類を指定するものであり、例えば、開く、書き込む、移動する、そして削除する等のように指定することができる。 The PID is uniquely assigned to a process that is started after the operating system 11 is running. Even if there is no process ID, it can be controlled by the name of the application program 10. The file operation specifies the type of operation to be performed on the user file to be controlled, and can specify, for example, open, write, move, and delete.

図6の例では、ファイル操作の種類は「RO」等とローマ字で指定しているが、読み込む場合に「R」、書き込む場合「W」、上書き保存する場合「O」等と記載する。「RO」の場合は、読み込んで開き、そして上書き保存することができることを示す。また、ファイル操作は、数値又は単語で表記することができる。例えば、ファイル操作は読み込む場合に「Read」、書き込む場合に「Write」、上書き保存する場合に「Overwrite」等と英語の単語で記載することができる。ここでは単語を英語にしているが、他の言語でも良い。 In the example in Figure 6, the type of file operation is specified in Roman letters such as "RO", but it can be written as "R" for reading, "W" for writing, and "O" for overwriting. "RO" indicates that the file can be read, opened, and overwritten. File operations can also be expressed as numbers or words. For example, file operations can be written as English words such as "Read" for reading, "Write" for writing, and "Overwrite" for overwriting. Here, the words are in English, but they can be in other languages.

また、ファイル操作は数値で表記することができる。例えば、ファイル操作は、読み込む場合に「0」、書き込む場合に「1」、開く場合に「2」等と記載することができる。第5欄105のファイルパスは本例で、「C:\...」と格納されている補助記憶装置5のドライブ名から記載されている。図6のリストの6番目に示すように、プロセス名「Application1.exe」のアプリケーションプログラム10がファイルパス「c:\...folder4」のフォルダにアクセスでき、「Applfile01」ファイルをファイル操作「R」で指定された読み込み操作ができる。 Furthermore, file operations can be expressed as numbers. For example, file operations can be written as "0" for reading, "1" for writing, "2" for opening, etc. The file path in the fifth column 105 is written from the drive name of the auxiliary storage device 5, which is stored as "C:\..." in this example. As shown in the sixth item in the list in Figure 6, the application program 10 with the process name "Application1.exe" can access the folder with the file path "c:\...folder4", and can perform the read operation specified by the file operation "R" on the "Applfile01" file.

また、図6のリストの7番目に示すように、プロセス名「Application2.exe」のアプリケーションプログラム10がファイルパス「c:\...folder4」のフォルダにアクセスでき、第2欄102にファイル名がないので任意のファイルを「RWO」読み込み、書き込み、上書き保存ができることを示す。 Also, as shown in the seventh item in the list in Figure 6, the application program 10 with the process name "Application2.exe" can access the folder with the file path "c:\...folder4", and since there is no file name in the second column 102, this indicates that any file can be "RWO" read, written, and overwritten.

同期フォルダ7の設定は、次の手順で行われる。同期フォルダ7は、これにアクセスする権限が与えられ、そして、同期フォルダ7のパスが制御リスト100に登録され、それにアクセスできるアプリケーションプログラム10、ユーザ等が登録される。仮想ディスクの場合は、同期フォルダ7は、補助記憶装置5の中で所定の領域が割り当てられ、この領域は、所定のファイルシステムとしてフォーマットされ、オペレーティングシステム11へマウントされる。 The synchronous folder 7 is set up in the following procedure. The synchronous folder 7 is given permission to access it, and the path of the synchronous folder 7 is registered in the control list 100, and the application programs 10, users, etc. that can access it are registered. In the case of a virtual disk, the synchronous folder 7 is assigned a specified area in the auxiliary storage device 5, and this area is formatted as a specified file system and mounted to the operating system 11.

この仮想ディスクを、同期フォルダ7と同様に制御リスト100等に設定すると、同期フォルダ7と同じように機能する。以下、制御プログラム9の動作例について図7に図示したフローチャート参照しながら説明する。ユーザ端末2が起動されると、制御プログラム9がインストールされ、動作を開始する(ステップ20、21)。制御プログラム9がユーザ端末2にインストールされている場合は、ユーザ端末2の稼働後、制御プログラム9が起動し動作を開始する。制御プログラム9は基本的に自動起動するように設定される。 When this virtual disk is set in the control list 100, etc., in the same way as the synchronous folder 7, it functions in the same way as the synchronous folder 7. Below, an example of the operation of the control program 9 will be explained with reference to the flowchart shown in FIG. 7. When the user terminal 2 is started, the control program 9 is installed and starts operating (steps 20, 21). If the control program 9 is installed in the user terminal 2, the control program 9 starts and starts operating after the user terminal 2 is operated. The control program 9 is basically set to start automatically.

無論、制御プログラム9はユーザ等によって手動により起動ができる。制御プログラム9の起動方法は、ユーザがその使用方法等によって設定ものである。制御プログラム9は、ネットワーク4上のストレージに格納されて、又は記録媒体等に格納されてユーザに提供される。ネットワーク4上のクラウドストレージ3、又はその他のファイルサーバ、アプリケーション提供サイトに格納されている場合、ユーザ端末2からそれをダウンロードして、インストールすることができる。記録媒体の場合は、ユーザはそれを記録媒体からインストールする。 Of course, the control program 9 can be started manually by the user or the like. The method of starting the control program 9 is set by the user depending on the usage method or the like. The control program 9 is stored in storage on the network 4, or stored on a recording medium or the like and provided to the user. If it is stored in the cloud storage 3 on the network 4, or another file server or application providing site, it can be downloaded from the user terminal 2 and installed. If it is stored on a recording medium, the user installs it from the recording medium.

このように、制御プログラム9は、任意の方法で提供される。制御プログラム9は、アドイン部22のプログラムと一緒に提供され、制御プログラム9のインストール時にアドイン部22がインストールされる。または、アドイン部22は、制御プログラム9のインストール後、ユーザの指示、又は、アプリケーションプログラム10を利用開始時に制御プログラム9の指示等によってインストールすることができる。 In this way, the control program 9 is provided in any manner. The control program 9 is provided together with the program of the add-in unit 22, and the add-in unit 22 is installed when the control program 9 is installed. Alternatively, the add-in unit 22 can be installed at the user's instruction after the control program 9 is installed, or at the instruction of the control program 9 when the application program 10 starts to be used.

制御プログラム9は動作を開始するとは、所定の手順で、制御プログラム9のライセンス認証、ユーザ端末2の端末認証、ユーザ認証が行われる(ステップ21)。これらの認証は、全て正常に認証されてから、ユーザ端末2を利用する準備ができ、制御プログラム9はユーザ端末2を監視し制御することが可能になる。まずは、制御プログラム9は動作するモードの選択又は確認が行われる。制御モードがON又はOFFの状態に設定しで動作する(ステップ22)。 When the control program 9 starts to operate, a predetermined procedure is carried out: license authentication of the control program 9, terminal authentication of the user terminal 2, and user authentication (step 21). Once all of these authentications have been successfully completed, the user terminal 2 is ready to be used, and the control program 9 is able to monitor and control the user terminal 2. First, the control program 9 selects or confirms the mode in which it will operate. It operates with the control mode set to ON or OFF (step 22).

ユーザは、ユーザ端末2を利用するとき、特定のアプリケーションプログラム10を起動して、そのアプリケーションプログラム10に指示してユーザファイルを開いて閲覧又は編集する。又は、アプリケーションプログラム10に指示して新規のユーザファイルを作成する。又は、ユーザファイルを選択して開く操作をすると、ユーザファイルの拡張子に関連付けられて登録されているアプリケーションプログラム10が起動するか、ユーザがアプリケーションプログラム10を指定する。 When the user uses the user terminal 2, the user starts a specific application program 10 and instructs the application program 10 to open a user file to view or edit it. Alternatively, the user instructs the application program 10 to create a new user file. Alternatively, when the user selects a user file to open it, the application program 10 registered in association with the extension of the user file starts, or the user specifies the application program 10.

このようにアプリケーションプログラム10が起動し、ユーザファイルにアクセスする(ステップ23、24)。アプリケーションプログラム10が起動し動作を開始すると、アプリケーションプログラム10の起動と同時にアドイン部22が動作し、アプリケーションプログラム10が開くユーザファイルに関するアクセス情報を取得する(ステップ25)。このアクセス情報としては、プロセスID(PID)、ユーザファイルのファイルパス、ユーザファイルのファイル名等を取得する。 In this way, the application program 10 starts and accesses the user file (steps 23, 24). When the application program 10 starts and begins operation, the add-in section 22 operates at the same time as the application program 10 starts and obtains access information related to the user file that the application program 10 opens (step 25). This access information includes the process ID (PID), the file path of the user file, the file name of the user file, etc.

アプリケーションプログラム10がユーザファイルにアクセスしたとき、アプリケーションプログラム10の制御がアドイン部22に一時的に渡される(詳しくは後述する。)。制御がアドイン部22に渡ったときに、引数としてファイルパスとファイル名が通知される。プロセスIDの取得は、アドイン部22が自身のプロセスIDを取得することで実現する。アドイン部22は、取得したアクセス情報を制御プログラム9へ送信する。 When the application program 10 accesses a user file, control of the application program 10 is temporarily handed over to the add-in unit 22 (details will be described later). When control is handed over to the add-in unit 22, the file path and file name are notified as arguments. The add-in unit 22 obtains its own process ID to obtain the process ID. The add-in unit 22 sends the obtained access information to the control program 9.

制御プログラム9でアクセス情報を分析する(ステップ26)。この分析は例えばステップ27~35の通り行われる。制御プログラム9は、ファイルパスを分析し、補助記憶装置5のどの領域を示すか否かを判定する(ステップ27)。補助記憶装置5には、制御領域と通常領域の少なくとも2種類の領域がある。制御領域は、その中に格納されているユーザファイル等の電子データをその外部に複製と移動することができない領域である。 The control program 9 analyzes the access information (step 26). This analysis is performed, for example, as in steps 27 to 35. The control program 9 analyzes the file path and determines whether it indicates any particular area of the auxiliary storage device 5 (step 27). The auxiliary storage device 5 has at least two types of areas: a control area and a normal area. The control area is an area in which electronic data, such as user files, stored therein cannot be copied or moved outside.

制御領域は、電子データをその中に複製と移動することができる制限された領域である。本例では、制御領域として同期フォルダ7を例示している。この制御領域は、制御プログラム9によってのみアクセスすることができ、ユーザファイルが暗号化されてこの領域に格納される。制御領域の中には複数のサブ領域やフォルダ等があり、それらにユーザ端末2を利用するユーザ名等によってアクセス権限がそれぞれ指定することができる。 The control area is a restricted area into which electronic data can be copied and moved. In this example, the synchronous folder 7 is used as an example of the control area. This control area can only be accessed by the control program 9, and user files are encrypted and stored in this area. The control area contains multiple sub-areas and folders, etc., and access rights can be specified for each of them based on the user name, etc., of the user who uses the user terminal 2.

通常領域は、ユーザ端末2のユーザが自由に利用できる通常の領域である。通常領域は、クラウドストレージのフォルダと1対1で対応しているフォルダ等のような特別な領域ではない。例えば、制御プログラム9の制御モードにかかわらず、ユーザが通常領域の中の電子データを自由に利用することができる。 The normal area is a normal area that can be freely used by the user of the user terminal 2. The normal area is not a special area such as a folder that has a one-to-one correspondence with a cloud storage folder. For example, the user can freely use the electronic data in the normal area regardless of the control mode of the control program 9.

通常領域の中には複数のサブ領域やフォルダ等があり、それらにユーザ端末2を利用するユーザ名等によってアクセス権限がそれぞれ指定されていてもよい。ステップ27において、制御領域と判断された場合は、制御プログラム9が制御モードで動作している否かを確認する(ステップ28)。制御モードの場合は、制御プログラム9は追加して制御設定をする必要なく、ユーザファイルへのアクセスを許可する(ステップ29)。 The normal area may contain multiple subareas and folders, and access rights may be assigned to each of them based on the user name of the user who uses the user terminal 2. If it is determined to be a control area in step 27, it is checked whether the control program 9 is operating in control mode (step 28). If it is in control mode, the control program 9 allows access to the user file without the need for additional control settings (step 29).

このアクセス許可は、アドイン部22へ送信され、アドイン部22はこれを受信して、アプリケーションプログラム10へ制御を戻す。アプリケーションプログラム10は、ユーザファイルを読み込んで開き、閲覧、編集等が行われる(ステップ35)。アプリケーションプログラム10は、制御領域のユーザファイルを編集し保存するときは、制御領域のみへ保存することができる(ステップ35)。 This access permission is sent to the add-in section 22, which receives it and returns control to the application program 10. The application program 10 reads and opens the user file, and the user file is viewed, edited, etc. (step 35). When the application program 10 edits and saves the user file in the control area, it can save it only in the control area (step 35).

もし、アプリケーションプログラム10が制御領域のユーザファイルを編集し保存するとき、通常領域へ保存しようとする場合、保存の動作がエラーになり、保存することができない。これにより、制御領域に格納されているユーザファイルが外部へ漏洩することを防止することができる。ステップ28の確認で、制御モードがOFFの場合は、制御モードがONに設定され、ユーザファイルを通常領域への書き込みすることが禁止され、その設定が行われる(ステップ30)。 If application program 10 edits and saves a user file in the control area and attempts to save it in the normal area, the save operation will result in an error and the file will not be saved. This makes it possible to prevent user files stored in the control area from leaking to the outside. If the control mode is OFF in step 28, the control mode is set to ON, and writing user files to the normal area is prohibited, and this setting is made (step 30).

これにより、ユーザファイルへのアクセスが許可され、アドイン部22へ送信される。アドイン部22は、アクセス許可を受信して、アプリケーションプログラム10へ制御を戻す。アプリケーションプログラム10は、ユーザファイルを読み込んで開き、閲覧、編集等が行われる(ステップ35)。アプリケーションプログラム10は、ユーザファイルが制御領域から読み取ったものであるため、それを編集し保存するとき、制御領域のみへ保存することができる。 As a result, access to the user file is permitted and is sent to the add-in section 22. The add-in section 22 receives the access permission and returns control to the application program 10. The application program 10 reads and opens the user file, and the file is viewed, edited, etc. (step 35). Because the user file was read from the control area, the application program 10 can edit and save the file only in the control area.

もし、アプリケーションプログラム10がユーザファイルを保存するとき、通常領域へ保存する場合、書き込み禁止の設定されているため、保存がエラーになり、保存できない。ステップ27の確認で、通常領域と判断された場合は、制御プログラム9が制御モードで動作している否かを確認する(ステップ31)。制御モードがONの場合は、ユーザファイルを上書き保存することを許可する(ステップ32)。 If application program 10 saves a user file in a normal area, an error occurs and the file cannot be saved because write protection is set. If the check in step 27 determines that the file is in a normal area, it checks whether control program 9 is operating in control mode (step 31). If control mode is ON, it allows the user file to be saved by overwriting (step 32).

そして、制御リスト100に、このユーザファイルに対するアクセス権限(上書き保存を許可)を追加する(ステップ33)。そして、このユーザファイルへのアクセス許可は、アドイン部22へ送信され、アドイン部22はこれを受信して、アプリケーションプログラム10へ制御を戻す。アプリケーションプログラム10は、ユーザファイルを読み込んで開き、閲覧、編集等が行われる(ステップ35)。 Then, the access permission for this user file (allowing overwriting) is added to the control list 100 (step 33). The access permission for this user file is then sent to the add-in section 22, which receives it and returns control to the application program 10. The application program 10 reads and opens the user file, allowing viewing, editing, etc. to be performed (step 35).

ステップ31の確認で、制御モードがOFFの場合は、何も追加設定せず、アクセス許可が発送される(ステップ34)。ユーザファイルへのアクセスがアドイン部22へ送信される。アドイン部22はアクセス許可を受信して、アプリケーションプログラム10へ制御を戻す。アプリケーションプログラム10は、ユーザファイルを読み込んで開き、閲覧、編集等が行われる(ステップ35)。ユーザファイルを通常領域へ自由に上書き保存、別名保存することができる。 If the control mode is OFF as a result of checking in step 31, no additional settings are made and an access permission is sent (step 34). Access to the user file is sent to the add-in section 22. The add-in section 22 receives the access permission and returns control to the application program 10. The application program 10 reads and opens the user file, allowing viewing, editing, etc. (step 35). The user file can be freely saved by overwriting in the normal area or saved under a different name.

アプリケーションプログラム10は、ユーザファイルを閲覧、編集し保存するときは、アドイン部22はアプリケーションプログラム10から制御を一時的に取得し、ユーザファイルへのアクセス情報を取得する。アクセス情報が制御プログラム9へ渡され、制御リスト100が参照され、ユーザファイルの書き込みが許可されているか否かの確認が行われる(ステップ36)。ユーザファイルの保存が終了すると、アプリケーションプログラム10が終了するか、続けて閲覧・編集が行われる(ステップ37、38)。 When the application program 10 views, edits, and saves a user file, the add-in unit 22 temporarily acquires control from the application program 10 and acquires access information to the user file. The access information is passed to the control program 9, which refers to the control list 100 to check whether writing to the user file is permitted (step 36). Once the user file has been saved, the application program 10 is either terminated or the viewing and editing continues (steps 37, 38).

図8には、制御プログラム9の動作の手順例を示すフローチャートを図示している。制御部32は、インターフェース部31を介して、ユーザファイルへのアクセスイベントを取得する(ステップ50、51)。ファイルシステム制御部36は、ユーザファイルへのアクセス情報(プロセスID、ファイルパス、ファイル操作)を取得する(ステップ52)。制御部32は、アクセス情報を取得して分析し、ファイルパスに指定されたフォルダとファイル操作等が制御リスト100に登録されているデータと合致しているかを照合する(ステップ53)。 Figure 8 shows a flowchart illustrating an example of the procedure for the operation of the control program 9. The control unit 32 acquires an access event to a user file via the interface unit 31 (steps 50 and 51). The file system control unit 36 acquires access information to the user file (process ID, file path, file operation) (step 52). The control unit 32 acquires and analyzes the access information, and verifies whether the folder specified in the file path and the file operation, etc. match the data registered in the control list 100 (step 53).

アクセス情報が制御リスト100のデータと合致すると、制御部32はアクセスを許可する旨を示すアクセス許可を発効し、ユーザファイルに対する操作が行われる(ステップ54)。このアクセス許可とアクセス情報は、ファイルシステム制御部36に送信され、ユーザファイルへの適当なアクセスが行われ、アクセス結果が返信される(ステップ58)。ステップ53において、ユーザファイルが制御リスト100のデータと合致しない場合、制御モードの確認が行われる(ステップ55)。 If the access information matches the data in the control list 100, the control unit 32 issues an access permission indicating that access is permitted, and the operation on the user file is performed (step 54). This access permission and access information are sent to the file system control unit 36, which accesses the user file appropriately and returns the access result (step 58). If the user file does not match the data in the control list 100 in step 53, the control mode is checked (step 55).

制御モードがOFFの場合は、ユーザファイルは特に制御しない制御対象ユーザファイルでないと判定されるので、ユーザファイルへの上書き保存等が許可され、アクセス許可が発行される(ステップ57)。ファイルシステム制御部36がこのアクセス許可を受信して、ユーザファイルへの適当なアクセスが行われ、アクセス結果が返信される(ステップ58)。ステップ55において、制御モードがONの場合、ユーザファイルは条件でアクセスが許可又は不許可される。 If the control mode is OFF, the user file is determined to be a non-control target user file, and so overwriting the user file, etc. is permitted, and an access permission is issued (step 57). The file system control unit 36 receives this access permission, appropriate access is made to the user file, and the access result is returned (step 58). In step 55, if the control mode is ON, access to the user file is permitted or not permitted depending on the conditions.

もし、ユーザファイルは、制御領域の電子データであり、通常領域へアクセスする場合は、アクセスが不許可になる。もし、ユーザファイルは、通常領域の電子データであり、制御領域へアクセスする場合は、アクセスが許可になり、制御リスト100に登録する(ステップ56)。アクセスが不許可なった場合、その旨を示すアクセス不許可が発効され、これがアプリケーションプログラム10へ送信される。 If the user file is electronic data in the control area and access is to the normal area, access is denied. If the user file is electronic data in the normal area and access is to the control area, access is permitted and is registered in the control list 100 (step 56). If access is denied, an access denial indicating this is issued and is sent to the application program 10.

言い換えると、アプリケーションプログラム10にはアクセスが実行されなかった旨を示す結果としてアクセス不許可が返信される(ステップ56、58)。アクセス許可の場合、ファイルシステム制御部36がこのアクセス許可を受信して、ユーザファイルへの適当なアクセスが行われ、アクセス結果が返信される(ステップ58)。ステップ58において、アプリケーションプログラム10へアクセス結果を返信した後は、次のファイルアクセスを監視し、待機する等のように次の処理へ移行する(ステップ59)。 In other words, an access denial is returned to the application program 10 as a result indicating that the access was not performed (steps 56, 58). If an access is permitted, the file system control unit 36 receives this access permission, appropriately accesses the user file, and returns the access result (step 58). After returning the access result to the application program 10 in step 58, the process moves to the next step, such as monitoring and waiting for the next file access (step 59).

制御プログラム9が制御モードをオンにするように指示されると、制御部32はこの指示を受信し、ファイルアクセスを全て禁止する命令を送信する。この命令は、ネットワーク制御38、ファイルシステム制御部37、インターフェース制御部39等に送信される。ネットワーク制御38、ファイルシステム制御部37、インターフェース制御部39は、この命令を受信して、ファイルアクセスを禁止にする。 When the control program 9 is instructed to turn on the control mode, the control unit 32 receives this instruction and sends a command to prohibit all file access. This command is sent to the network control 38, the file system control unit 37, the interface control unit 39, etc. The network control 38, the file system control unit 37, and the interface control unit 39 receive this command and prohibit file access.

また、制御プロセスの設定、ネットワーク利用の禁止、クリップボードの利用禁止、スクリーンキャプチャの使用禁止、コピーアンドペースト機能の禁止等を行う。オペレーティングシステム11のコールバック関数を登録(カーネルのAPIを利用)することで、プロセスの起動イベントと終了イベントを取得する。実行するプロセスの起動イベントと終了イベントに対して、コールバック関数を設定し、アプリケーションプログラム10の起動と終了を検出できるように設定する。 It also sets the control process, prohibits network use, prohibits clipboard use, prohibits screen capture, prohibits copy and paste functions, etc. By registering a callback function of the operating system 11 (using the kernel API), the start and end events of the process are obtained. A callback function is set for the start and end events of the process to be executed, and it is set up so that the start and end of the application program 10 can be detected.

アドイン部22は、アプリケーションプログラム10の起動を検出する。アドイン部22において、ユーザファイルを開く監視は、例えば、WINDOWS(登録商標)の例では、オペレーティングシステムのThisAddIn_Startup event handlerという関数を利用することができる。例えば、Microsoft Officeアプリケーションを拡張するとき、Visual Studio の Microsoft Office Developer Toolsを利用して、アドイン(アドイン部22)を作成する。このときプロジェクトの ThisAddIn クラスを使用し、ThisAddIn_Startup event handler関数を指定する。 The add-in section 22 detects the start of the application program 10. In the add-in section 22, for example, in the case of WINDOWS (registered trademark), a function called ThisAddIn_Startup event handler of the operating system can be used to monitor the opening of user files. For example, when extending a Microsoft Office application, an add-in (add-in section 22) is created using the Microsoft Office Developer Tools of Visual Studio. At this time, the ThisAddIn class of the project is used and the ThisAddIn_Startup event handler function is specified.

これにより、アプリケーションプログラム10がユーザファイルを読み込むときに、この関数コードが実行される。これを利用して、読み込まれるユーザファイルを監視する。Microsoft社以外のアプリケーションプログラム10においても、アドイン機能を利用することで、開くユーザファイルの情報を取得することができる。 As a result, this function code is executed when the application program 10 loads a user file. This is used to monitor the user files that are loaded. Even in application programs 10 other than those of Microsoft, information about the user file being opened can be obtained by using the add-in function.

その他に、CreateProcessのSUSPEND(サスペンド)モードを利用することができる。CreateProcessのSUSPEND(サスペンド)モードでアプリケーションプログラム10のプロセスが起動され、アドイン部22は、このプロセスのハンドルとプロセスIDを取得する。プロセスがCreateProcessのサスペンドモードで起動されると、一時休止した状態になり、再開されるまでに実行されない。ハンドルは、CreateProcessから戻されるプロセスハンドルである。 Alternatively, the SUSPEND mode of CreateProcess can be used. In the SUSPEND mode of CreateProcess, a process of the application program 10 is started, and the add-in unit 22 obtains the handle and process ID of this process. When a process is started in the SUSPEND mode of CreateProcess, it is put into a paused state and will not run until it is resumed. The handle is the process handle returned from CreateProcess.

アドイン部22は、取得したハンドルとプロセスIDを制御部32に送信する。このようにプロセスが起動されると、ファイルシステム制御部37内のコールバック関数が実行され、制御部32へ制御開始を通知する。制御部32は、ハンドルとプロセスIDを取得し、ファイルシステム制御部37へ送信し、プロセスIDを利用して、管理テーブルを参照し、管理テーブルの値に従って、ファイルアクセスを許可する設定を行う。 The add-in unit 22 sends the acquired handle and process ID to the control unit 32. When the process is started in this way, a callback function in the file system control unit 37 is executed, and the control unit 32 is notified of the start of control. The control unit 32 acquires the handle and process ID, sends them to the file system control unit 37, and uses the process ID to refer to the management table and make settings to allow file access according to the values in the management table.

ファイルアクセスを許可するように設定する項目は、プロセスID、プロセス名、ファイル名、フォルダ名、ファイル操作である。ファイル操作に指定される設定は、読み込み専用(Read Only)と、読み込み書き込み(Read/Write)とのいずれかを許可する設定である。これらの一連の設定が終わると、取得したハンドルを使って、サスペンドモードになっていたプロセスを再開する。そして、アプリケーションプログラム10が動作される。 The items that are set to allow file access are the process ID, process name, file name, folder name, and file operation. The setting specified for file operation is to allow either read only (Read Only) or read/write (Read/Write). Once this series of settings is complete, the acquired handle is used to resume the process that was in suspended mode. Then, the application program 10 is run.

アプリケーションプログラム10が動作している間、制御部32は、アプリケーションプログラム10が終了するときにオペレーティングシステム11から発行される通知である終了イベントを待機する。アプリケーションプログラム10が終了すると、ファイルシステム制御部37内のコールバック関数を実行し、制御部32へ制御解除を通知する。ファイルシステム制御部37は、制御リスト100(図6を参照。)によって行われていた制御解除をし、それ以後は、このアプリケーションプログラム10の制御を行わない。 While the application program 10 is running, the control unit 32 waits for an end event, which is a notification issued by the operating system 11 when the application program 10 is terminated. When the application program 10 is terminated, the control unit 32 executes a callback function in the file system control unit 37 and notifies the control unit 32 of control release. The file system control unit 37 releases the control that was being performed by the control list 100 (see Figure 6), and thereafter does not control the application program 10.

無論、このアプリケーションプログラム10がユーザファイルにアクセスしたときは、制御が再開される。ユーザ端末2において、オペレーティングシステム11の動作に必要な最低限の実行ファイルとプロセスを制限なしに動作させる必要がある。例えば、プロセスとしては、System等が例示できる。制御プロセス名、制御ディレクトリは、制御リスト100(図6を参照。)に登録される。 Of course, when this application program 10 accesses a user file, control is resumed. In the user terminal 2, the minimum number of executable files and processes required for the operation of the operating system 11 must be allowed to run without restrictions. For example, an example of a process is System. The control process name and control directory are registered in the control list 100 (see Figure 6).

これらのプロセスは、オペレーティングシステム11が起動するときの設定、つまり、補助記憶装置5のディレクトリが作業フォルダとして設定されている。同期フォルダ7は、オペレーティングシステム11がインストールされていないドライブに存在する場合、同期フォルダ7のドライブはオペレーティングシステム11の作業ドライブとして設定されない。そのため、制御部32は、これらのシステムプロセスから補助記憶装置5を取得し、これを同期フォルダ7の該当するフォルダへのアクセスに置き換える。 These processes are set when the operating system 11 starts up, that is, the directory of the auxiliary storage device 5 is set as the working folder. If the synchronized folder 7 exists on a drive on which the operating system 11 is not installed, the drive of the synchronized folder 7 is not set as the working drive of the operating system 11. Therefore, the control unit 32 obtains the auxiliary storage device 5 from these system processes and replaces this with access to the corresponding folder of the synchronized folder 7.

言い換えると、リダイレクトする。プロセス名を取得するには、ZwQueryInformationProcess関数を使い、実行プロセスのイメージパスを取得し、これの実行ファイル(exe拡張子を持っている)のファイル名からプロセス名を取得する。プロセスIDを取得するには、PsGetCurrentProcessId()関数を使って現在のPIDを取得する。 In other words, redirect. To get the process name, use the ZwQueryInformationProcess function to get the image path of the running process, and then get the process name from the file name of its executable file (which has an exe extension). To get the process ID, use the PsGetCurrentProcessId() function to get the current PID.

ファイル名を取得するには、ファイルのI/O要求に関する入出力(I/O)要求(IRP)から参照されるファイルオブジェクトよりファイル名を取得する。イベントの検出は、次のように行われる。オペレーティングシステム11のカーネル内のI/O要求は、IRP(IO Request Packet)の形式で行われる。ファイルアクセスに関しては、次の表2に示すIRPが利用される。このIRPを対象にコールバック関数を設定することで、イベント検出を行う。 To obtain the file name, the file name is obtained from the file object referenced by the input/output (I/O) request (IRP) related to the file I/O request. Event detection is performed as follows. I/O requests within the kernel of the operating system 11 are made in the form of an IRP (IO Request Packet). For file access, the IRPs shown in Table 2 below are used. Event detection is performed by setting a callback function for this IRP.

コールバック関数は、エグゼキュティブのプロセスマネージャーに登録され、コールバック関数が実行されると参照先の制御プログラム9に制御が移動される。

Figure 0007527539000001
The callback function is registered in the process manager of the executive, and when the callback function is executed, control is transferred to the control program 9 that is the reference destination.
Figure 0007527539000001

〔第2の実施の形態〕
本発明の第2の実施の形態について説明する。本発明の第2の実施の形態は上述した本発明の第1の実施の形態と基本的に同じであり、ここで異なる部分のみを説明する。ユーザ端末2において、ユーザファイル等のファイルを新規作成するとき、アプリケーションプログラム10の新規作成機能によって、ファイルを新規に作成する方法がある。以下、制御プログラム9によって行われる新規ファイル作成及びその後の制御についてフローチャートを参照しながら説明する。
Second Embodiment
A second embodiment of the present invention will now be described. The second embodiment of the present invention is basically the same as the first embodiment of the present invention described above, and only the differences will be described here. When creating a new file such as a user file in the user terminal 2, there is a method of creating a new file by using a new file creation function of the application program 10. The creation of a new file and the subsequent control performed by the control program 9 will now be described with reference to a flowchart.

図9には、ファイルを新規作成するとき、制御プログラム9が動作する手順例を示すフローチャートを図示している。ユーザ端末2が起動されて動作し、制御プログラム9が動作開始していることが前提に説明する(ステップ70、71)。制御プグラム9は、制御モードがON又はOFFの状態で動作する(ステップ72)。アプリケーションプログラム10が起動され(ステップ73)、ユーザがアプリケーションプログラム10を操作しファイルを新規作成する機能を利用し、ファイルを新規作成する(ステップ74)。 Figure 9 shows a flowchart showing an example of the procedure by which the control program 9 operates when creating a new file. The following explanation is based on the assumption that the user terminal 2 is up and running and the control program 9 has started operating (steps 70, 71). The control program 9 operates with the control mode ON or OFF (step 72). The application program 10 is started (step 73), and the user operates the application program 10 to use the function for creating a new file to create a new file (step 74).

このとき、新規作成のファイルを保存するフォルダ(アプリケーションプログラム10の標準設定)が表示され、ユーザがこれを選択するか適当なフォルダに変更することで指定できる。アプリケーションプログラム10は新規作成ファイルを保存するために指定のフォルダにアクセスすると、アドイン部22がこれを検知して、制御プログラム10へ通知する。アドイン部22による検知は、上述の第1の実施の形態と同様である。 At this time, the folder in which the newly created file will be saved (the default setting for application program 10) is displayed, and the user can specify it by selecting it or changing it to an appropriate folder. When application program 10 accesses the specified folder to save the newly created file, add-in unit 22 detects this and notifies control program 10. Detection by add-in unit 22 is the same as in the first embodiment described above.

これにより、制御プログラム10は新規作成ファイルの保存先のファイルパスとファイル名を取得し、分析する(ステップ75、76)。制御部32は、アクセス情報を取得して分析し、ファイルパスに指定された保存先領域、ファイル名、ファイル操作を制御リスト100に登録されているデータと照合する。ここで言うファイル操作は、ファイルを保存する操作、言い換えると書き込みする操作である。 As a result, the control program 10 obtains and analyzes the file path and file name of the destination of the newly created file (steps 75, 76). The control unit 32 obtains and analyzes the access information, and compares the destination area specified in the file path, the file name, and the file operation with the data registered in the control list 100. The file operation here is the operation of saving the file, in other words, the operation of writing.

ファイルを保存する領域が制御領域である場合は、制御リスト100(図6を参照。)によってファイル操作が許可されているか否かを確認する。この許可としては、例えば、アプリケーションプログラム10が制御領域へアクセスすることが許可されていること、アプリケーションプログラム10による制御領域への新規ファイルの書き込みが許可されていること、ユーザの制御領域へのアクセスが許可されていること等が例示できる。 If the area in which the file is to be saved is a control area, the control list 100 (see FIG. 6) is checked to see if file operations are permitted. Examples of such permissions include whether the application program 10 is permitted to access the control area, whether the application program 10 is permitted to write new files to the control area, and whether the user is permitted to access the control area.

また、場合によって、例えば、制御プログラム9が制御モードで動作中、任意のアプリケーションプログラム10が制御領域へアクセスすることが許可されており、特定のアプリケーションプログラム10による新規ファイルの書き込みが許可になっている場合がある。このようにファイル操作が許可されている場合、新規作成ファイルを制御領域に書き込みし、新規作成ファイルを制御リスト100に登録し、上書き保存を許可する設定と、この新規作成ファイルを通常領域への移動と書き込みを禁止する設定を制御リスト100に登録する(ステップ78)。 In some cases, for example, when the control program 9 is operating in the control mode, any application program 10 is permitted to access the control area, and a specific application program 10 is permitted to write new files. When file operations are permitted in this way, a newly created file is written to the control area, the newly created file is registered in the control list 100, and a setting to permit overwriting and saving, and a setting to prohibit moving and writing to the normal area of this newly created file are registered in the control list 100 (step 78).

このファイル操作は、制御部32から、ファイルシステム制御部36に送信され、新規作成ファイルを書き込むための適当なアクセスが行われ、アクセス結果が返信され、新規作成ファイルの編集等ができるようになる(ステップ83)。ステップ77の確認において、新規作成ファイルを保存するファイル操作が通常領域へのアクセスである場合、新規作成ファイルに関して、制御リスト100に登録された制御が必要であるか否かを確認する。 This file operation is sent from the control unit 32 to the file system control unit 36, appropriate access is made to write the newly created file, the access result is returned, and the newly created file can be edited, etc. (step 83). In the confirmation of step 77, if the file operation to save the newly created file is an access to the normal area, it is confirmed whether or not the control registered in the control list 100 is necessary for the newly created file.

例えば、特定のアプリケーションプログラム10の通常領域へのアクセスが、制御リスト100に不許可に設定されている場合、この確認で制御が必要として判断される。また、特定のアプリケーションプログラム10、又はユーザが通常領域へアクセスしデータを読み込みする操作が制御リスト100に設定されているが、ファイルを書き込みする操作が不許可に設定されている場合がある。 For example, if access to the normal area by a specific application program 10 is set as not permitted in the control list 100, this check will determine that control is necessary. Also, there are cases where the operation of accessing the normal area by a specific application program 10 or user to read data is set in the control list 100, but the operation of writing a file is set as not permitted.

このように通常領域へのファイル書き込み操作が不許可に設定されている場合、通常領域への書き込みが禁止されている旨をユーザ端末2の表示手段に表示し、ユーザがファイルパスを変更し許可されたファイルパスが指定されるまでに待機する。そして、ファイルを許可された領域、例えば制御領域に書き込みし、新規作成ファイルを制御リスト100に登録し、上書き保存を許可する設定と、この新規作成ファイルを一般領域への移動と書き込みを禁止する設定を制御リスト100に登録する(ステップ80、81)。 When file writing operations to the normal area are set to be disallowed in this way, a message that writing to the normal area is prohibited is displayed on the display means of the user terminal 2, and the system waits until the user changes the file path and specifies an allowed file path. The file is then written to an allowed area, for example the control area, and the newly created file is registered in the control list 100. A setting to allow overwriting and a setting to prohibit moving and writing to the normal area of this newly created file are registered in the control list 100 (steps 80, 81).

このとき、制御プログラム9は、制御モードがONの状態で動作する。これらの操作は、制御部32からファイルシステム制御部36に送信され、新規作成ファイルを書き込む操作等の適当なアクセスが行われ、アクセス結果が返信され、新規作成ファイルの編集等ができるようになる(ステップ83)。ステップ79の確認において、制御が必要ではない場合、通常領域への書き込み操作が許可され、新規作成ファイルを通常領域に書き込みする(ステップ82)。 At this time, the control program 9 operates with the control mode ON. These operations are sent from the control unit 32 to the file system control unit 36, and appropriate access is performed, such as an operation to write a newly created file, and the access result is returned, allowing editing of the newly created file, etc. (step 83). If control is not required in the confirmation of step 79, a write operation to the normal area is permitted, and the newly created file is written to the normal area (step 82).

この許可は、制御部32からファイルシステム制御部36に送信され、新規作成ファイルを書き込むための適当なアクセスが行われ、アクセス結果が返信され、新規作成ファイルの編集等ができるようになる(ステップ83)。ここで、新規作成ファイルは制御する必要がないので、制御リスト100に登録する必要が特になく、制御プログラム9の制御モードは特に変更する必要がない。 This permission is sent from the control unit 32 to the file system control unit 36, appropriate access is made to write the newly created file, the access result is returned, and the newly created file can then be edited (step 83). Here, since the newly created file does not need to be controlled, there is no particular need to register it in the control list 100, and there is no particular need to change the control mode of the control program 9.

というのは、制御プログラム9の制御モードがONでもOFFでも通常領域のファイルにアクセスすることが許可されているためである。上述のように、新規作成ファイルが編集可能になり、アプリケーションプログラム10によって編集され、ディスプレイ上に表示される等の作業が行われる。そして、ユーザの指示、定期的に、終了時等のタイミングで、アプリケーションプログラム10が編集中の新規作成ファイルを上書き保存する(ステップ84)。 This is because access to files in the normal area is permitted whether the control mode of the control program 9 is ON or OFF. As described above, the newly created file becomes editable, and is edited by the application program 10 and displayed on the display. Then, at the user's instruction, periodically, upon termination, etc., the application program 10 overwrites and saves the newly created file being edited (step 84).

この保存する操作のとき、制御プログラム9はアドイン部22等から保存するアクセスを取得し、制御が必要な制御対象ファイルであるか否か、ファイルの上書き保存が許可されているか否かを確認し、適当な操作が行われる。アプリケーションプログラム10が新規作成ファイルの上書き保存操作が終わると終了する(ステップ85)。制御プログラム9は、アプリケーションプログラム10が終了するとその監視を終了し、他のプロセス等の監視を継続する(ステップ86)。 When performing this save operation, the control program 9 obtains access to save from the add-in section 22 etc., checks whether the file is a controlled file that requires control, whether the file is allowed to be overwritten, and performs the appropriate operation. The application program 10 ends when the overwrite save operation of the newly created file is completed (step 85). When the application program 10 ends, the control program 9 ends its monitoring, and continues monitoring other processes etc. (step 86).

〔その他の実施の形態〕
上述の通り、本発明の第1及び第2の実施の形態について説明した。ここで、本発明の第1及び第2の実施の形態の変形例を説明する。制御プログラム9で制御している制御対象フォルダは同期フォルダ7を例に説明したが、同様に他のフォルダを指定して同様に制御することができる。
Other embodiments
As described above, the first and second embodiments of the present invention have been described. Here, a modified example of the first and second embodiments of the present invention will be described. Although the folder to be controlled by the control program 9 has been described as the synchronous folder 7, other folders can be specified and controlled in the same manner.

例えば、制御対象フォルダとして、ファイルサーバ用の共有フォルダ、ユーザ端末2内に指定された特定フォルダ、ユーザ端末2の仮想ディスクドライブの全体又はその中のフォルダ、ユーザ端末2に接続された補助記憶装置の全体若しくはその中のフォルダ等が例示できる。ファイルサーバ用の共有フォルダ又は同期フォルダ7としては、OneDrive(商標)、Box(商標)、Dropbox(商標)等のクラウドストレージ(オンラインストレージサービスとも言う)、又はこれと同等のストレージサービス用フォルダが例示できる。 For example, examples of folders to be controlled include a shared folder for a file server, a specific folder specified in the user terminal 2, the entire virtual disk drive of the user terminal 2 or a folder therein, the entire auxiliary storage device connected to the user terminal 2 or a folder therein, etc. Examples of shared folders or synchronized folders 7 for a file server include cloud storage (also called online storage services) such as OneDrive (trademark), Box (trademark), and Dropbox (trademark), or folders for storage services equivalent thereto.

ユーザ端末2に接続された補助記憶装置としては、例えば、図3のフラッシュメモリ21、図示しないがHDD、SSD等が例示できる。アプリケーションプログラム10でユーザファイルを開くときにそのユーザファイルの内容を一時的に保存する一時ファイルが作成される。この一時ファイルは、開いたユーザファイルと同一フォルダ、又は、予めアプリケーションプログラム10の設定若しくはオペレーティングシステム11の設定で指定されたフォルダになる。 Examples of auxiliary storage devices connected to the user terminal 2 include the flash memory 21 in FIG. 3, and HDDs and SSDs (not shown). When a user file is opened with the application program 10, a temporary file is created to temporarily store the contents of the user file. This temporary file is created in the same folder as the opened user file, or in a folder previously specified in the settings of the application program 10 or the settings of the operating system 11.

例えば、ワード文書の場合、通常の一時ファイルはファイル名の一部と複数の数字を組み合わせて、拡張子が同じファイルが作成される。この一時ファイルの内容は、元のユーザファイルの編集されている部分、言い換えると保存されていない部分からなるものであり、アプリケーションプログラム10から編集中のユーザファイルを保存操作すると、一時ファイルが元のユーザファイルに反映される。制御プログラム9はユーザファイルが開くときに、その一時ファイルの格納場所を確認し、必要であれば、制御することができる。 For example, in the case of a Word document, a normal temporary file is created by combining part of the file name with several numbers, and creating a file with the same extension. The contents of this temporary file consist of the edited parts of the original user file, in other words the parts that have not been saved, and when the user file being edited is saved from the application program 10, the temporary file is reflected in the original user file. When the user file is opened, the control program 9 checks the storage location of the temporary file, and can control it if necessary.

例えば、一時ファイルの作成領域を制御領域等の適当な領域することができる。アプリケーションプログラム10でユーザファイルを開くときに、そのユーザファイルの内容を自動バックアップし一時的に保存する一時ファイルが作成される。この一時ファイルは、アプリケーションプログラム10の設定で保存場所を設定可能であることが多く、ユーザが変更することができる。例えば、ワードの場合は、所定期間ごと(既定10分)にバックアップファイルが作成される。 For example, the area where the temporary file is created can be an appropriate area such as a control area. When a user file is opened with the application program 10, a temporary file is created to automatically back up and temporarily store the contents of the user file. The storage location of this temporary file can often be set in the settings of the application program 10, and can be changed by the user. For example, in the case of Word, a backup file is created at regular intervals (default 10 minutes).

このバックアップファイルの拡張は「asd」で、例えば、無保存のユーザファイルの回復用として「~AppData\Roaming\Microsoft\Word\ファイル名+文字列」フォルダ、ファイル強制終了時の回復用として「~AppData\Roaming\Microsoft\Word」フォルダ等のファイルパスに保存され、編集中の内容が保存されている。編集中のユーザファイルを保存し忘れて終了させた場合、オペレーティングシステム11又はアプリケーションプログラム10等の異常動作で編集中のユーザファイルを保存せずに終了した場合、またユーザ端末2が強制的に電源シャットダウン又はリセットされた場合等において、これらの場所にアクセスして、一時ファイルを利用し、編集中のユーザファイルを回復させることができる。 The extension of this backup file is "asd", and the contents being edited are saved in file paths such as the "~AppData\Roaming\Microsoft\Word\filename+string" folder for recovering unsaved user files, and the "~AppData\Roaming\Microsoft\Word" folder for recovery when the file is forcibly terminated, and so on. These locations can be accessed to use the temporary file to recover the user file being edited in cases where the user forgets to save the user file being edited and terminates the program, where the user terminates the program without saving the user file being edited due to an abnormal operation of the operating system 11 or application program 10, or where the user terminal 2 is forcibly powered off or reset, etc.

制御プログラム9はこれらの一時ファイルを確認し、その保存場所、それらへのアクセス等を制御することができる。例えば、編集中のユーザファイルを保存しないで異常動作でアプリケーションプログラム10が終了した後、アプリケーションプログラム10が再度起動するとき、これらの設定場所の一時ファイル(バックアップファイル)を確認し、回復する必要がある場合に、一時ファイルを開く操作をして回復する。 The control program 9 can check these temporary files and control their storage locations, access to them, etc. For example, when the application program 10 is terminated due to an abnormal operation without saving the user file being edited and then the application program 10 is started again, it checks the temporary files (backup files) in these setting locations and, if recovery is necessary, performs an operation to open the temporary files to recover them.

この開く操作のアクセス時に、制御プログラム9は、一時ファイル又は元のユーザファイルから一時ファイルを特定(又は推定)して、制御リスト100で確認して、適当な制御を行う。このように制御プログラム9によって一時ファイルの保存先を指定し、一時ファイルを制御することができる。 When accessing this open operation, the control program 9 identifies (or estimates) the temporary file from the temporary file or the original user file, checks it against the control list 100, and performs appropriate control. In this way, the control program 9 can specify the save destination of the temporary file and control the temporary file.

制御プログラム9は、同期フォルダ11の中のユーザァイルを開くとき、その一時ファイルが格納されるフォルダは、制御対象フォルダとして指定して制御リスト100に追加記録し、一時ファイルを暗号化して制御対象フォルダに格納し、制御対象フォルダの中のユーザファイルを他のフォルダへコピーすることを禁止する。このように設定すれば、一時ファイルの制御が上述した第1及び第2の実施の形態で示す制御が可能である。 When the control program 9 opens a user file in the synchronous folder 11, it designates the folder in which the temporary file is stored as a controlled folder and adds it to the control list 100, encrypts the temporary file and stores it in the controlled folder, and prohibits the user file in the controlled folder from being copied to other folders. By setting it in this way, it is possible to control the temporary files as shown in the first and second embodiments described above.

制御対象フォルダはその固有の識別情報で特定され、この固有の識別情報が制御リスト100に登録され、制御プログラム9が正常起動後にのみアクセス可能形式で、制御プログラム9のソースコードの中に暗号化されて格納、又は、制御プログラム9のバイナリコードの中に格納される等のように制御プログラム9内に保存される。また、この固有の識別情報は、暗号化され、制御プログラム9が正常起動後のみにアクセスできるようにユーザ端末2内、ユーザ端末2に接続された補助記憶装置若しくは携帯装置、ユーザ端末2がネットアークを経由してアクセス可能なクラウドフォルダに格納される。 The controlled folder is specified by its unique identification information, and this unique identification information is registered in the control list 100 and is stored in the control program 9, for example, encrypted and stored in the source code of the control program 9 or stored in the binary code of the control program 9 in a format accessible only after the control program 9 has started normally. In addition, this unique identification information is encrypted and stored in the user terminal 2, in an auxiliary storage device or mobile device connected to the user terminal 2, or in a cloud folder accessible by the user terminal 2 via the network, so that the control program 9 can access it only after it has started normally.

制御対象フォルダはその固有の識別情報は、ユーザ端末2内のフォルダの場合はそのフォルダパスを取得し、識別情報として利用する。クラウドストレージの場合、クラウドサービスにログインしたユーザアカウントの情報から、同期フォルダ8の場所を動的に取得し識別番号として利用する。フラッシュメモリ21等の外付け補助記憶装置の場合、そのデバイスが持つデバイスID(識別番号)を取得し識別番号として利用する。デバイスIDとしては、ベンダーID、プロダクトID、シリアル番号等のようにデバイスを製造時に付与された識別番号等を利用することができ、この例を図10に図示している。 When the controlled folder is a folder in the user terminal 2, its unique identification information is obtained by obtaining the folder path, and this is used as the identification information. In the case of cloud storage, the location of the sync folder 8 is dynamically obtained from the information of the user account logged in to the cloud service, and this is used as the identification number. In the case of an external auxiliary storage device such as a flash memory 21, the device ID (identification number) of the device is obtained and used as the identification number. As the device ID, an identification number assigned to the device when it is manufactured, such as a vendor ID, product ID, or serial number, can be used, and an example of this is shown in FIG. 10.

図10の表は、デバイスIDの例を示すデバイスリスト110であり、第1欄111は登録されたデバイスの番号を、第2欄112のベンダーIDはデバイスを製造した製造元のベンダーを識別するための識別番号を、第3欄113のプロダクトIDはデバイスの種別等を示すプロダクト識別番号を、第4欄114のシリアル番号はデバイスに付与された固有番号を示す。 The table in Figure 10 is a device list 110 showing examples of device IDs, where the first column 111 shows the number of the registered device, the vendor ID in the second column 112 shows an identification number for identifying the vendor that manufactured the device, the product ID in the third column 113 shows a product identification number indicating the type of device, etc., and the serial number in the fourth column 114 shows a unique number assigned to the device.

デバイスリスト110は上述の制御リスト100の一部であることも、制御リスト100と同様に独自リストして、ユーザ端末2の中に制御プログラム9のみでアクセス可能な状態で格納される。上述の第1及び第2の実施の形態等に説明した制御プログラム9によるユーザ端末2の制御において、制御リスト100と共にデバイスリスト110を確認し、制御の許可・不許可を判定する。 The device list 110 is also part of the above-mentioned control list 100, and like the control list 100, it is stored as a separate list in the user terminal 2 in a state accessible only by the control program 9. When the control program 9 controls the user terminal 2 as described in the first and second embodiments, etc., the device list 110 is checked along with the control list 100 to determine whether or not control should be permitted.

ユーザ端末2において、ユーザファイルを新規に作成するとき、補助記憶装置5の中で空のユーザファイルを作成する方法がある。この場合、ユーザは、補助記憶装置5の中で空のユーザファイルを作成して、それを適当なアプリケーションプログラム10で開き、編集し、編集が終わったら上書き保存する。このとき、補助記憶装置5の中で空のユーザファイルが作成される領域によって、制御対象のユーザファイルであるか否かを決定することができる。 When creating a new user file on the user terminal 2, one method is to create an empty user file in the auxiliary storage device 5. In this case, the user creates an empty user file in the auxiliary storage device 5, opens it in an appropriate application program 10, edits it, and when editing is complete, saves it over the existing file. At this time, depending on the area in the auxiliary storage device 5 where the empty user file is created, it can be determined whether or not it is a user file to be controlled.

アプリケーションプログラム10が作成された空のユーザファイルを開くとき、制御プログラム9が空のユーザファイルのファイルパスとファイル名を取得して分析し、制御リスト100及び又はデバイスリスト110に、登録されているか否かで制御の可否を判断する。空のユーザファイルを作成するとき、ユーザは補助記憶装置5の中で適当なフォルダを選択し、その中でユーザファイルを作成する。制御プログラム9が制御モードがONで動作しているときは、同期フォルダ7等の制御領域にアクセスすることができ、この制御領域に空のユーザファイルを作成する。 When the application program 10 opens the created empty user file, the control program 9 obtains and analyzes the file path and file name of the empty user file, and determines whether or not it can be controlled based on whether it is registered in the control list 100 and/or device list 110. When creating an empty user file, the user selects an appropriate folder in the auxiliary storage device 5 and creates the user file therein. When the control program 9 is operating in control mode ON, it can access a control area such as the synchronous folder 7, and creates an empty user file in this control area.

このとき、ファイル名を記述するとき、その拡張子も指定する。例えば、テキストファイルの場合は「text.txt」、ワード文書の場合は「file1.doc」又は「file1.docx」と指定する。制御プログラム9が制御領域へのアクセスを取得し、ユーザファイルを作成する操作を制御する。例えば、制御領域のユーザファイルが作成されると、制御リスト100に追加されて設定される。 At this time, when writing the file name, the extension is also specified. For example, "text.txt" is specified for a text file, and "file1.doc" or "file1.docx" is specified for a Word document. The control program 9 obtains access to the control area and controls the operation of creating a user file. For example, when a user file is created in the control area, it is added to and set in the control list 100.

また、制御プログラム9が制御モードで動作していないときは、制御領域にアクセスできないので、通常領域に空のユーザファイルを作成する。制御プログラム9が制御モードで動作しているときも、通常領域に空のユーザファイルを作成することができる。このように作成された空のユーザファイルにアクセスするとき、ファイル名のあるアイコンをダブルクリックすると、拡張子に関連付けられたアプリケーションプログラムが自動起動するか、ユーザが指定して特定のアプリケーションプログラムで開く。 When the control program 9 is not operating in control mode, it cannot access the control area, so it creates an empty user file in the normal area. Even when the control program 9 is operating in control mode, it can create an empty user file in the normal area. When accessing an empty user file created in this way, double-clicking an icon with a file name will automatically start the application program associated with the extension, or the file will be opened in a specific application program specified by the user.

このユーザファイルを開く動作は、制御プログラム9によって検知され、上述の手順のように、制御が行われる。作成された空のユーザファイルがアプリケーションプログラム10から最初にアクセスされたとき、このアクセスが制御プログラム9によって検知され、空のユーザファイル、言い換えると編集するユーザファイルが制御リスト100に追加するか否か、その制御の種類の指定等が、予め指定された手順で、又は、ユーザの判断で指定されて制御リスト100に追加設定される。 The operation of opening this user file is detected by the control program 9, and control is performed as described above. When the created empty user file is accessed for the first time from the application program 10, this access is detected by the control program 9, and the empty user file, in other words the user file to be edited, is added to the control list 100 according to a pre-specified procedure or at the user's discretion, and the type of control is specified.

本発明は、電子データの緊密な管理が必要な分野に利用すると良い。特に、高度なデータ管理が要求される分野、例えば、電子計算機のリース業、印刷業界、保険会社、販売店、金融機関、原子力関連の施設、個人データを扱う端末、遠隔操作し作業を行う端末等の分野に利用されると良い。 The present invention is suitable for use in fields that require close management of electronic data. In particular, it is suitable for use in fields that demand advanced data management, such as computer leasing, the printing industry, insurance companies, retail stores, financial institutions, nuclear power-related facilities, terminals that handle personal data, and terminals that perform remote operations.

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…デバイスリスト
Reference Signs List 1: Electronic data management system 2: User terminal 3: Cloud storage 4: Network 5: Auxiliary storage device 6: Normal folder 7: Synchronized folder 8: Cloud folder 9: Control program 10: Application program 11: Operating system 12: Device 13: Device driver 14: File system driver 15: Kernel mode 16: User mode 17: Network card 18: Connector 19: USB port 20: External device 20
21: Flash memory 22: Add-in section 23: Network driver 24: Interface driver 25: Main memory device 31: Interface section 32: Control section 33: Log acquisition section 34: Encryption section 35: Decryption section 36: Device driver control section 37: File system control section 38: Network control 3
39...Interface control unit 39
100...Control list 110...Device list

Claims (13)

電子計算機の補助記憶装置に格納されているユーザデータがアプリケーションプログラムによって操作されるとき、(a)予め設定された制御リストに従って前記操作を許可して前記操作を実行させることで、又は、前記制御リストに従って前記操作を不許可して前記操作を中断させることで前記電子計算機を制御するための第1制御モードと、(b)前記電子計算機で実行される前記操作を制御しない第2制御モードとからなる制御手段によって前記電子計算機を制御することで、前記ユーザデータの漏洩を防止するための電子データ管理方法において、
前記補助記憶装置は、前記制御手段が前記第1制御モードで動作しているときのみにアクセス可能であり、かつ、格納されている電子データの移動又は複製が自領域内のみで許可される領域である制御領域と、前記制御手段が前記第1制御モード又は前記第2制御モードで動作しているときにアクセス可能であり、かつ、格納されている電子データを任意の領域へ移動又は複製することが許可されている通常領域とからなり、
前記制御領域又は前記通常領域から読み出され、前記アプリケーションプログラムによって閲覧又は編集している前記ユーザデータからなるファイルを保存するとき、
前記制御手段によって、前記アプリケーションプログラムによって前記保存する操作を示す保存操作と前記ファイルの読み出された格納場所を示すファイルパスからなるアクセス情報を取得し、
前記制御手段によって前記アクセス情報を分析し、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記通常領域に前記ファイルを保存する前記保存操作を不許可し、
前記ファイルパスが前記通常領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可して、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、又は、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
前記制御手段が前記第2制御モードで動作している場合、
前記ファイルパスが前記通常領域を示すため、前記通常領域に前記ファイルを保存する前記保存操作を許可する
ことを特徴とする電子データ管理方法。
1. An electronic data management method for preventing leakage of user data when user data stored in an auxiliary storage device of an electronic computer is operated by an application program, by controlling the electronic computer with control means having: (a) a first control mode for controlling the electronic computer by permitting the operation and executing the operation in accordance with a preset control list, or by disallowing the operation and interrupting the operation in accordance with the control list, and (b) a second control mode for not controlling the operation executed by the electronic computer,
the auxiliary storage device comprises a control area which is accessible only when the control means is operating in the first control mode and in which movement or copying of stored electronic data is permitted only within its own area, and a normal area which is accessible when the control means is operating in the first control mode or the second control mode and in which movement or copying of stored electronic data to any area is permitted,
When saving a file consisting of the user data that has been read from the control area or the normal area and is being viewed or edited by the application program,
The control means obtains access information including a save operation indicating the save operation by the application program and a file path indicating a storage location from which the file is read out;
Analyzing the access information by the control means;
When the control means is operating in the first control mode,
When the file path indicates the control area, permitting the save operation to save the file in the control area and disallowing the save operation to save the file in the normal area;
When the file path indicates the normal area, permitting the save operation to save the file in the control area and registering in the control list that the file is not to be saved in the normal area, or permitting the save operation to save the file in the normal area;
When the control means is operating in the second control mode,
and permitting the save operation to save the file in the normal area because the file path indicates the normal area.
請求項1に記載の電子データ管理方法において、
前記制御手段は、前記アプリケーションプログラムの動作を監視するために前記アプリケーションプログラムに機能拡張として登録され、前記アクセス情報を取得するアドイン手段を有する
ことを特徴とする電子データ管理方法。
2. The electronic data management method according to claim 1,
2. The electronic data management method according to claim 1, wherein said control means comprises add-in means which is registered as a function extension in said application program in order to monitor the operation of said application program, and which acquires said access information.
請求項2に記載の電子データ管理方法において、
前記制御手段は、オペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記アプリケーションプログラムとの通信に共通のインターフェースを提供するための手段で、
前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するためのインターフェース部、
前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部、及び、
データを暗号化して暗号化データを作成するための暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部
からなり、
前記制御部は、前記インターフェース部を介して前記アドイン手段から前記アクセス情報取得し、分析して、前記保存操作を前記許可又は前記不許可し、
前記許可のとき、前記制御部は、前記アクセス情報を前記デバイスドライバ制御部へ送信して実行させ、前記実行の結果を前記インターフェース部を介して前記アドイン手段へ送信し、
前記不許可のとき、前記制御部は、前記不許可を前記インターフェース部を介して前記アドイン手段へ送信する
ことを特徴とする電子データ管理方法。
3. The electronic data management method according to claim 2,
The control means operates in a kernel mode in which all commands of an operating system can be executed, and provides a common interface for communication between device drivers for directly controlling devices connected to the computer, or for communication between the device drivers and the application programs;
an interface unit for receiving first data including an instruction and/or data output from the application program, and for transmitting second data including an execution result of the instruction and/or received data received from the device driver to the application program;
a device driver control unit for transmitting third data including the command and/or the data to the device driver and receiving fourth data including an execution result of the command and/or the received data from the device driver;
a control unit for processing the first data or the fourth data, generating the second data or the third data, and controlling the first to fourth data; and
an encryption unit for encrypting data to generate encrypted data, and a decryption unit for decrypting the encrypted data to generate the original data,
the control unit acquires the access information from the add-in means via the interface unit, analyzes the access information, and permits or prohibits the save operation;
When the access is permitted, the control unit transmits the access information to the device driver control unit for execution, and transmits a result of the execution to the add-in means via the interface unit;
When the permission is not granted, the control unit transmits the permission to the add-in means via the interface unit.
請求項1乃至3の中から選択される1項に記載の電子データ管理方法において、
前記アプリケーションプログラムによって新規ファイルを作成して、前記新規ファイルである前記ファイルを保存するとき、
前記制御手段によって、前記アプリケーションプログラムによって前記ファイルを保存する操作を示す前記保存操作と前記新規ファイルを格納する場所を示す前記ファイルパスからなる前記アクセス情報を取得し、
前記制御手段によって該アクセス情報を分析し、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、
前記ファイルパスが前記通常領域を示すとき、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
前記制御手段が前記第2制御モードで動作している場合、
前記通常領域に前記ファイルを保存する前記保存操作を許可する
ことを特徴とする電子データ管理方法。
4. The electronic data management method according to claim 1,
When a new file is created by the application program and the file that is the new file is saved,
The control means obtains the access information, which is composed of the save operation indicating an operation of saving the file by the application program and the file path indicating a location where the new file is to be stored;
Analyzing the access information by the control means;
When the control means is operating in the first control mode,
When the file path indicates the control area, permitting the save operation to save the file in the control area, and registering in the control list that the file is not to be saved in the normal area;
When the file path indicates the normal area, permitting the save operation to save the file in the normal area;
When the control means is operating in the second control mode,
The electronic data management method according to claim 1, further comprising permitting the save operation for saving the file in the normal area.
電子計算機の補助記憶装置に格納されているユーザデータがアプリケーションプログラムによって操作されるとき、(a)予め設定された制御リストに従って前記操作を許可して前記操作を実行させることで、又は、前記制御リストに従って前記操作を不許可して前記操作を中断させることで前記電子計算機を制御するための第1制御モードと、(b)前記電子計算機で実行される前記操作を制御しない第2制御モードとからなる制御手段からなり、
前記制御手段によって前記電子計算機を制御することで、前記ユーザデータの漏洩を防止するための電子データ管理装置において、
前記補助記憶装置は、前記制御手段が前記第1制御モードで動作しているときのみにアクセス可能であり、かつ、格納されている電子データの移動又は複製が自領域内のみで許可される領域である制御領域と、前記制御手段が前記第1制御モード又は前記第2制御モードで動作しているときにアクセス可能であり、かつ、格納されている電子データを任意の領域へ移動又は複製することが許可されている通常領域とからなり、
前記制御領域又は前記通常領域から読み出され、前記アプリケーションプログラムによって閲覧又は編集している前記ユーザデータからなるファイルを保存するとき、
前記制御手段は、前記アプリケーションプログラムによって前記保存する操作を示す保存操作と前記ファイルの読み出された格納場所を示すファイルパスからなるアクセス情報を取得し、前記アクセス情報を分析し、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御手段は、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記通常領域に前記ファイルを保存する前記保存操作を不許可し、
前記ファイルパスが前記通常領域を示すとき、前記制御手段は、前記制御領域に前記ファイルを保存する前記保存操作を許可して、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、又は、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
前記制御手段が前記第2制御モードで動作している場合、
前記ファイルパスが前記通常領域を示すため、前記制御手段は、前記通常領域に前記ファイルを保存する前記保存操作を許可する
ことを特徴とする電子データ管理装置。
a control means having (a) a first control mode for controlling the electronic computer by permitting the operation and executing the operation in accordance with a preset control list, or by disallowing the operation and interrupting the operation in accordance with the control list, when user data stored in an auxiliary storage device of the electronic computer is operated by an application program, and (b) a second control mode for not controlling the operation executed by the electronic computer,
2. An electronic data management device for preventing leakage of user data by controlling the electronic computer with the control means,
the auxiliary storage device comprises a control area which is accessible only when the control means is operating in the first control mode and in which movement or copying of stored electronic data is permitted only within its own area, and a normal area which is accessible when the control means is operating in the first control mode or the second control mode and in which movement or copying of stored electronic data to any area is permitted,
When saving a file consisting of the user data that has been read from the control area or the normal area and is being viewed or edited by the application program,
The control means acquires access information including a save operation indicating the save operation by the application program and a file path indicating a storage location from which the file is read out, analyzes the access information, and
When the control means is operating in the first control mode,
When the file path indicates the control area, the control means permits the save operation to save the file in the control area and does not permit the save operation to save the file in the normal area;
When the file path indicates the normal area, the control means permits the save operation to save the file in the control area and registers in the control list that the file is not to be saved in the normal area, or permits the save operation to save the file in the normal area;
When the control means is operating in the second control mode,
and because the file path indicates the normal area, the control means permits the save operation to save the file in the normal area.
請求項5に記載の電子データ管理装置において、
前記制御手段は、前記アプリケーションプログラムの動作を監視するために前記アプリケーションプログラムに機能拡張として登録され、前記アクセス情報を取得するアドイン手段を有する
ことを特徴とする電子データ管理装置。
6. The electronic data management device according to claim 5,
2. An electronic data management device, comprising: a computer that stores information about a program that is to be accessed by the computer; a program that is to be registered as a function extension in the application program in order to monitor the operation of the application program;
請求項6に記載の電子データ管理装置において、
前記制御手段は、オペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記アプリケーションプログラムとの通信に共通のインターフェースを提供するための手段で、
前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するためのインターフェース部、
前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部、及び、
データを暗号化して暗号化データを作成するための暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部
からなり、
前記制御部は、前記インターフェース部を介して前記アドイン手段から前記アクセス情報取得し、分析して、前記保存操作を前記許可又は前記不許可し、
前記許可のとき、前記制御部は、前記アクセス情報を前記デバイスドライバ制御部へ送信して実行させ、前記実行の結果を前記インターフェース部を介して前記アドイン手段へ送信し、
前記不許可のとき、前記制御部は、前記不許可を前記インターフェース部を介して前記アドイン手段へ送信する
ことを特徴とする電子データ管理装置。
7. The electronic data management device according to claim 6,
The control means operates in a kernel mode in which all commands of an operating system can be executed, and provides a common interface for communication between device drivers for directly controlling devices connected to the computer, or for communication between the device drivers and the application programs;
an interface unit for receiving first data including an instruction and/or data output from the application program, and for transmitting second data including an execution result of the instruction and/or received data received from the device driver to the application program;
a device driver control unit for transmitting third data including the command and/or the data to the device driver and receiving fourth data including an execution result of the command and/or the received data from the device driver;
a control unit for processing the first data or the fourth data, generating the second data or the third data, and controlling the first to fourth data; and
an encryption unit for encrypting data to generate encrypted data, and a decryption unit for decrypting the encrypted data to generate the original data,
the control unit acquires the access information from the add-in means via the interface unit, analyzes the access information, and permits or prohibits the save operation;
When the access is permitted, the control unit transmits the access information to the device driver control unit for execution, and transmits a result of the execution to the add-in means via the interface unit;
When the permission is not granted, the control unit transmits the permission to the add-in means via the interface unit.
請求項5乃至7中から選択される1項に記載の電子データ管理装置において、
前記アプリケーションプログラムに新規ファイルを作成して、前記新規ファイルである前記ファイルを保存するとき、
前記制御手段によって、前記アプリケーションプログラムによって前記ファイルを保存する操作を示す前記保存操作と前記新規ファイルを格納する場所を示す前記ファイルパスからなる前記アクセス情報を取得し、
前記制御手段によって該アクセス情報を分析し、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御手段は、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、
前記ファイルパスが前記通常領域を示すとき、前記制御手段は、前記通常領域に前記ファイルを保存する前記保存操作を許可し、
前記制御手段が前記第2制御モードで動作している場合、
前記制御手段は前記通常領域に前記ファイルを保存する前記保存操作を許可する
ことを特徴とする電子データ管理装置。
8. The electronic data management device according to claim 5,
When creating a new file in the application program and saving the file that is the new file,
The control means obtains the access information, which is composed of the save operation indicating an operation of saving the file by the application program and the file path indicating a location where the new file is to be stored;
Analyzing the access information by the control means;
When the control means is operating in the first control mode,
When the file path indicates the control area, the control means permits the save operation for saving the file in the control area, and registers in the control list that the file is not to be saved in the normal area;
When the file path indicates the normal area, the control means permits the save operation to save the file in the normal area;
When the control means is operating in the second control mode,
The electronic data management device according to claim 1, wherein the control means permits the save operation for saving the file in the normal area.
電子計算機の補助記憶装置に格納されているユーザデータがアプリケーションプログラムによって操作されるとき、(a)予め設定された制御リストに従って前記操作を許可して前記操作を実行させることで、又は、前記制御リストに従って前記操作を不許可して前記操作を中断させることで前記電子計算機を制御するための第1制御モードと、(b)前記電子計算機で実行される前記操作を制御しない第2制御モードとからなる制御手段として機能させるための制御プログラムからなり、
前記制御プログラムによって前記電子計算機を制御し動作させることで、前記ユーザデータの漏洩を防止するための電子データ管理用プログラムにおいて、
前記補助記憶装置は、前記制御手段が前記第1制御モードで動作しているときのみにアクセス可能であり、かつ、格納されている電子データの移動又は複製が自領域内のみで許可される領域である制御領域と、前記制御手段が前記第1制御モード又は前記第2制御モードで動作しているときにアクセス可能であり、かつ、格納されている電子データを任意の領域へ移動又は複製することが許可されている通常領域とからなり、
前記制御領域又は前記通常領域から読み出され、前記アプリケーションプログラムによって閲覧又は編集している前記ユーザデータからなるファイルを保存するとき、
前記制御プログラムは、
前記アプリケーションプログラムによって前記保存する操作を示す保存操作と前記ファイルの読み出された格納場所を示すファイルパスからなるアクセス情報を取得するステップ、
前記アクセス情報を分析するステップ、
前記制御プログラムが前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記通常領域に前記ファイルを保存する前記保存操作を不許可するステップ、
前記ファイルパスが前記通常領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可して、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録し、又は、前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ、
前記制御プログラムが前記第2制御モードで動作している場合、
前記ファイルパスが前記通常領域を示すため、前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ
を前記電子計算機に実行させることを特徴とする電子データ管理用プログラム。
a control program for causing the electronic computer to function as a control means having (a) a first control mode for controlling the electronic computer by permitting the operation and executing the operation in accordance with a preset control list, or by disallowing the operation and interrupting the operation in accordance with the control list, when user data stored in an auxiliary storage device of the electronic computer is operated by an application program, and (b) a second control mode for not controlling the operation executed by the electronic computer,
1. An electronic data management program for preventing leakage of user data by controlling and operating the electronic computer using the control program, comprising:
the auxiliary storage device comprises a control area which is accessible only when the control means is operating in the first control mode and in which movement or copying of stored electronic data is permitted only within its own area, and a normal area which is accessible when the control means is operating in the first control mode or the second control mode and in which movement or copying of stored electronic data to any area is permitted,
When saving a file consisting of the user data that has been read from the control area or the normal area and is being viewed or edited by the application program,
The control program includes:
obtaining access information including a save operation indicating the save operation by the application program and a file path indicating a storage location from which the file is read;
analyzing the access information;
When the control program is operating in the first control mode,
when the file path indicates the control area, permitting the save operation to save the file in the control area and disallowing the save operation to save the file in the normal area;
permitting the save operation to save the file in the control area when the file path indicates the normal area, and registering in the control list that the file will not be saved in the normal area, or permitting the save operation to save the file in the normal area;
When the control program is operating in the second control mode,
a step of permitting the save operation for saving the file in the normal area because the file path indicates the normal area, said program causing the electronic computer to execute said electronic data management program.
請求項9に記載の電子データ管理用プログラムにおいて、
前記制御プログラムは、前記アプリケーションプログラムの動作を監視するために前記アプリケーションプログラムに機能拡張として登録され、前記アクセス情報を取得するステップとを前記電子計算機に実行させるアドイン部からなる
ことを特徴とする電子データ管理用プログラム。
10. The electronic data management program according to claim 9,
the control program comprises an add-in section that is registered in the application program as a function extension in order to monitor the operation of the application program and causes the electronic computer to execute a step of acquiring the access information.
請求項10に記載の電子データ管理用プログラムにおいて、
前記制御プログラムは、オペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記アプリケーションプログラムとの通信に共通のインターフェースを提供するためのプログラムで、
前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するためのインターフェース部、
前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部、及び、
データを暗号化して暗号化データを作成するための暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部
からなり、
前記制御部は、前記インターフェース部を介して前記アドイン部から前記アクセス情報取得するステップと、前記アクセス情報を分析するステップ、前記保存操作を前記許可又は前記不許可するステップとを前記電子計算機に実行させ、
前記許可のとき、前記制御部は、前記アクセス情報を前記デバイスドライバ制御部へ送信して実行させるステップと、前記実行の結果を前記インターフェース部を介して前記アドイン部へ送信するステップを前記電子計算機に実行させ、
前記不許可のとき、前記制御部は、前記不許可を前記インターフェース部を介して前記アドイン部へ送信するステップを前記電子計算機に実行させる
ことを特徴とする電子データ管理用プログラム。
11. The electronic data management program according to claim 10,
The control program operates in a kernel mode in which all commands of an operating system can be executed, and provides a common interface for communication between device drivers for directly controlling devices connected to the computer, or for communication between the device drivers and the application programs,
an interface unit for receiving first data including an instruction and/or data output from the application program, and for transmitting second data including an execution result of the instruction and/or received data received from the device driver to the application program;
a device driver control unit for transmitting third data including the command and/or the data to the device driver and receiving fourth data including an execution result of the command and/or the received data from the device driver;
a control unit for processing the first data or the fourth data, generating the second data or the third data, and controlling the first to fourth data; and
an encryption unit for encrypting data to generate encrypted data, and a decryption unit for decrypting the encrypted data to generate the original data,
the control unit causes the electronic computer to execute a step of acquiring the access information from the add-in unit via the interface unit, a step of analyzing the access information, and a step of permitting or not permitting the save operation;
When the access is permitted, the control unit causes the electronic computer to execute a step of transmitting the access information to the device driver control unit for execution, and a step of transmitting a result of the execution to the add-in unit via the interface unit;
the control unit causes the computer to execute a step of transmitting, when the request is not permitted, the request not being permitted to be transmitted to the add-in unit via the interface unit.
請求項9乃至11の中から選択される1項に記載の電子データ管理用プログラムにおいて、
前記アプリケーションプログラムによって新規ファイルを作成して、前記新規ファイルである前記ファイルを保存するとき、
前記制御プログラムは、
前記アプリケーションプログラムによって前記ファイルを保存する操作を示す前記保存操作と前記新規ファイルを格納する場所を示す前記ファイルパスからなる前記アクセス情報を取得するステップ、
該アクセス情報を分析するステップ、
前記制御手段が前記第1制御モードで動作している場合、
前記ファイルパスが前記制御領域を示すとき、前記制御領域に前記ファイルを保存する前記保存操作を許可し、前記制御リストに前記ファイルを前記通常領域に保存しない旨を登録するステップ、
前記ファイルパスが前記通常領域を示すとき、前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ、
前記制御手段が前記第2制御モードで動作している場合、
前記通常領域に前記ファイルを保存する前記保存操作を許可するステップ
を前記電子計算機に実行させることを特徴とする電子データ管理用プログラム。
12. The electronic data management program according to claim 9,
When a new file is created by the application program and the file that is the new file is saved,
The control program includes:
obtaining the access information, the access information comprising the save operation indicating an operation to save the file by the application program and the file path indicating a location to store the new file;
analyzing the access information;
When the control means is operating in the first control mode,
when the file path indicates the control area, permitting the save operation for saving the file in the control area, and registering in the control list that the file is not to be saved in the normal area;
permitting the save operation to save the file in the normal area when the file path indicates the normal area;
When the control means is operating in the second control mode,
2. A program for managing electronic data, comprising: a step of permitting the save operation of saving the file in the normal area on the electronic computer;
請求項9乃至12の中から選択される1項に記載の電子データ管理用プログラムを記録した電子データ管理用プログラムの記録媒体。 A recording medium for an electronic data management program on which the electronic data management program according to any one of claims 9 to 12 is recorded.
JP2020080271A 2020-04-30 2020-04-30 Electronic data management method, electronic data management device, program therefor, and recording medium Active JP7527539B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020080271A JP7527539B2 (en) 2020-04-30 2020-04-30 Electronic data management method, electronic data management device, program therefor, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020080271A JP7527539B2 (en) 2020-04-30 2020-04-30 Electronic data management method, electronic data management device, program therefor, and recording medium

Publications (2)

Publication Number Publication Date
JP2021174432A JP2021174432A (en) 2021-11-01
JP7527539B2 true JP7527539B2 (en) 2024-08-05

Family

ID=78279731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020080271A Active JP7527539B2 (en) 2020-04-30 2020-04-30 Electronic data management method, electronic data management device, program therefor, and recording medium

Country Status (1)

Country Link
JP (1) JP7527539B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024019461A1 (en) * 2022-07-22 2024-01-25 삼성전자주식회사 Electronic device, method, and non-transitory computer-readable storage medium for performing mount operation for part of partition

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002288030A (en) 2001-03-27 2002-10-04 Hitachi Software Eng Co Ltd Program for prohibition of data taking-out
JP2006127127A (en) 2004-10-28 2006-05-18 Nec Corp Method and program for switching access folder in accordance with confidential mode, and computer system
JP2010267089A (en) 2009-05-14 2010-11-25 Canon Electronics Inc Information processor, control method, computer program, and storage medium
US20160371500A1 (en) 2014-06-27 2016-12-22 Jerry Huang Fast Data Protection Using Dual File Systems
JP2018147203A (en) 2017-03-06 2018-09-20 日本電気株式会社 Information leakage preventing device, information leakage preventing method and information leakage preventing program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002288030A (en) 2001-03-27 2002-10-04 Hitachi Software Eng Co Ltd Program for prohibition of data taking-out
JP2006127127A (en) 2004-10-28 2006-05-18 Nec Corp Method and program for switching access folder in accordance with confidential mode, and computer system
JP2010267089A (en) 2009-05-14 2010-11-25 Canon Electronics Inc Information processor, control method, computer program, and storage medium
US20160371500A1 (en) 2014-06-27 2016-12-22 Jerry Huang Fast Data Protection Using Dual File Systems
JP2018147203A (en) 2017-03-06 2018-09-20 日本電気株式会社 Information leakage preventing device, information leakage preventing method and information leakage preventing program

Also Published As

Publication number Publication date
JP2021174432A (en) 2021-11-01

Similar Documents

Publication Publication Date Title
KR101012222B1 (en) Data management method of electronic calculator, and recording medium recording program therefor
JP4578119B2 (en) Information processing apparatus and security ensuring method in information processing apparatus
KR101705550B1 (en) Method and software product for controlling application program which access secure saving area
US20100299759A1 (en) Digital information security system, kernal driver apparatus and digital information security method
JP4681053B2 (en) Data management method for computer, program, and recording medium
US20100153716A1 (en) System and method of managing files and mobile terminal device
US20120124675A1 (en) Apparatus and method for managing digital rights through hooking a kernel native api
US20110035783A1 (en) Confidential information leak prevention system and confidential information leak prevention method
JP5379520B2 (en) Digital content management computer, program therefor, program recording medium, and digital content management system
JP7527539B2 (en) Electronic data management method, electronic data management device, program therefor, and recording medium
JP2008084081A (en) Leakage prevention system for secret information, leakage prevention method for secret information, recording medium and program
KR20130079004A (en) Mobile data loss prevention system and method for providing virtual security environment using file system virtualization on smart phone
JP4516598B2 (en) How to control document copying
EP3910485B1 (en) Electronic data management device, electronic data management system, program therefor, and recording medium
JP2009230587A (en) Data management method of electronic computer, and program therefor
JP5156559B2 (en) Electronic computer data management method and program therefor
US20110010559A1 (en) Method for encrypting digital file, method for decrypting digital file, apparatus for processing digital file and apparatus for converting encryption format
KR102737016B1 (en) File server data protection method and apparatus capable of changing file or file attribute according to file event occurrence of file server
KR100901014B1 (en) Apparatus and method for running an application in a virtual environment
JP2011039716A (en) Information storage medium and information system
JP2004220400A (en) File protecting method and file protection program
JP2022131749A (en) Electronic data management device, electronic data management system, program and recording medium therefor
CN113553632A (en) Data security transmission interface equipment, system and method
JP2022021473A (en) Information processing apparatus, method for controlling information processing apparatus, information processing system, and program
JP2006139475A (en) Secret information protection system for existing application

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

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240704

R150 Certificate of patent or registration of utility model

Ref document number: 7527539

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150