JP5156559B2 - Electronic computer data management method and program therefor - Google Patents

Electronic computer data management method and program therefor Download PDF

Info

Publication number
JP5156559B2
JP5156559B2 JP2008238717A JP2008238717A JP5156559B2 JP 5156559 B2 JP5156559 B2 JP 5156559B2 JP 2008238717 A JP2008238717 A JP 2008238717A JP 2008238717 A JP2008238717 A JP 2008238717A JP 5156559 B2 JP5156559 B2 JP 5156559B2
Authority
JP
Japan
Prior art keywords
data
application program
temporary file
electronic computer
program
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
JP2008238717A
Other languages
Japanese (ja)
Other versions
JP2010072885A (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 JP2008238717A priority Critical patent/JP5156559B2/en
Publication of JP2010072885A publication Critical patent/JP2010072885A/en
Application granted granted Critical
Publication of JP5156559B2 publication Critical patent/JP5156559B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、電子データの管理を行うためのデータ管理システムに関する。特に、電子データが格納されているファイルへのアクセスを追跡して、監視するデータトレーサビリティのための電子計算機のデータ管理方法、及びそのためのプログラムに関する。   The present invention relates to a data management system for managing electronic data. In particular, the present invention relates to a data management method of an electronic computer for data traceability for tracking and monitoring access to a file in which electronic data is stored, and a program therefor.

個人情報、ビジネスのノウハウは、電子データの形式でファイルとしてコンピュータの記憶装置、記録媒体に保存されていることが多い。このファイルにアクセスした履歴、特にファイルの閲覧、編集、複写、印刷、送信等の履歴を取得して緊密に管理することが大事である。例えば、保険会社は、災害時に復旧マニュアルを担当者に配布している。この復旧マニュアルはノウハウの集積であり、非常に高価な情報価値がある。オフラインで配布された復旧マニュアルを外部への流出やコピーをさせたくないことがある。また、メーカーは、製品の仕様書や設計書を関係者に配布している。   Personal information and business know-how are often stored in a computer storage device or recording medium as a file in the form of electronic data. It is important to closely manage the history of accessing this file, especially the history of browsing, editing, copying, printing, sending, etc. of the file. For example, insurance companies distribute recovery manuals to personnel in the event of a disaster. This recovery manual is a collection of know-how and has a very expensive information value. There are times when you do not want the recovery manual distributed offline to be leaked or copied outside. Manufacturers distribute product specifications and design documents to relevant parties.

機密情報であるこの仕様書や設計書を関係者以外には参照されないようにし、外部へ流出するのを避けたいことがある。出版物等の校正時には、原本の電子データを変更するが、原本や校正された電子データが外部へ流出することを避けたい。写真等の画像データも、同様に、原本や編集された電子データが外部へ流出することを避けたい。このような要望に対応するためには、本発明の発明者等は、特許文献1に開示した内容のデータ管理用のシステム及びそのためのプログラムを開発して、クライアントに提供している。不揮発性メモリに格納されたクライアントのユーザデータを、それを処理している電子計算機から、目的以外ことに利用できないようにし、外部へ持ち出さないようにしている。   There are times when it is desirable to prevent this specification or design document, which is confidential information, from being viewed by anyone other than those involved, and to prevent it from leaking outside. At the time of proofreading a publication, etc., the original electronic data is changed, but we want to prevent the original and proofread electronic data from leaking outside. Similarly, for image data such as photographs, it is desirable to prevent the original or edited electronic data from leaking outside. In order to respond to such a demand, the inventors of the present invention have developed a data management system and a program therefor disclosed in Patent Document 1 and provided them to clients. The client user data stored in the non-volatile memory cannot be used for purposes other than the purpose of the electronic computer that processes the client user data, and is not taken outside.

多くオペレーティングシステムでは、アプリケーションプログラムの動作時に作成された一時ファイルは、アプリケーションプログラムの終了後も存在し、情報漏洩の原因になっている。これを図17を参照しながら説明する。図17は、アプリケーションプログラムが一時ファイルを作成し、利用する従来の方法を示すフローチャートである。アプリケーションプログラムは、起動され、動作する(ステップ1)。クライアントは、アプリケーションプログラムを操作して、ユーザデータを開く。又は、クライアントは、アプリケーションプログラムを操作して、ユーザデータ用に新規ファイルを作成する(ステップ2)。   In many operating systems, a temporary file created during operation of an application program exists even after the application program is terminated, causing information leakage. This will be described with reference to FIG. FIG. 17 is a flowchart showing a conventional method in which an application program creates and uses a temporary file. The application program is activated and operates (step 1). The client operates the application program to open user data. Alternatively, the client operates the application program to create a new file for user data (step 2).

アプリケーションプログラムは、ユーザデータ用の一時ファイルを作成する(ステップ3)。アプリケーションプログラムは、クライアントに操作されて、ユーザデータの内容を表示装置に表示する(ステップ4)。又は、アプリケーションプログラムは、クライアントに操作されて、ユーザデータの内容を編集する(ステップ5)。言い換えると、クライアントは、ユーザデータの内容を表示装置上に閲覧しながら、クライアントコンピュータの入力装置を操作して、ユーザデータの内容を編集する。この作業中のユーザデータの内容は、一時ファイルに保存される。   The application program creates a temporary file for user data (step 3). The application program is operated by the client to display the contents of the user data on the display device (step 4). Alternatively, the application program is operated by the client to edit the contents of the user data (step 5). In other words, the client edits the content of the user data by operating the input device of the client computer while browsing the content of the user data on the display device. The contents of the user data during this work are stored in a temporary file.

アプリケーションプログラムは、一時ファイルの内容を、所定時間毎に、実際のユーザデータ用のファイルに保存する。アプリケーションプログラムは、ユーザデータを閉じるとき、一時ファイルの最新の内容を、ユーザデータに保存してから、ユーザデータを閉じる。アプリケーションプログラムは、ユーザデータを閉じても、一時ファイルは、削除されること無く、クライアントコンピュータの補助記憶装置上に格納され続ける。アプリケーションプログラム自身が終了しても、この一時ファイルは、削除されること無く、クライアントコンピュータ1の補助記憶装置上に格納され続ける。   The application program stores the contents of the temporary file in a file for actual user data every predetermined time. When closing the user data, the application program saves the latest contents of the temporary file in the user data and then closes the user data. Even if the application program closes the user data, the temporary file continues to be stored on the auxiliary storage device of the client computer without being deleted. Even when the application program itself ends, this temporary file is not deleted and is continuously stored on the auxiliary storage device of the client computer 1.

このように、一時ファイルは、クライアントコンピュータの補助記憶装置から削除されることなく、情報漏洩の一因なっている。クライアントがユーザデータを削除したとでも、ユーザデータ用の一時ファイルは、削除されることなく、クライアントコンピュータ1の補助記憶装置上に格納され続ける。後で、この一時ファイルを作成したアプリケーションプログラムから、この一時ファイルを開き、その内容を閲覧できる。そして、アプリケーションプログラムの動作に制限がかかっていない場合は、この一時ファイルを自由に複製、編集することができる。このように、一時ファイルは、情報漏洩の一因なっている。
WO2007/049625 「電子計算機のデータ管理方法、プログラム、及び記録媒体」
Thus, the temporary file is a cause of information leakage without being deleted from the auxiliary storage device of the client computer. Even if the client deletes the user data, the temporary file for user data is not deleted but is stored in the auxiliary storage device of the client computer 1. Later, the temporary file can be opened and viewed from the application program that created the temporary file. If the operation of the application program is not restricted, this temporary file can be freely copied and edited. Thus, temporary files are a cause of information leakage.
WO2007 / 049625 “Data management method, program and recording medium for electronic computer”

しかしながら、一部のアプリケーションプログラムは、動作中に一時ファイルをハードディスク上に保存して利用している。この一時ファイルの作成は、アプリケーションプログラムによるが、アプリケーションプログラムの動作上、不可欠な設定になっていることもある。アプリケーションプログラムが終了するとき、又は、アプリケーションプログラムで開いているユーザファイルを閉じるとき、この一時ファイルをそのまま残すことがしばしばある。これは、クライアントに提供されたユーザデータを、目的以外のことに利用することができないように、ユーザデータの複製を防止するという趣旨からみて、致命的な問題であり、この改善が望まれている。特許文献1に開示したデータ管理方法及びプログラムにおいては、一時ファイルからの情報漏洩を防止することが求められている。   However, some application programs use temporary files stored on a hard disk during operation. The creation of the temporary file depends on the application program, but may be an indispensable setting for the operation of the application program. When the application program ends or when a user file opened by the application program is closed, the temporary file is often left as it is. This is a fatal problem in view of the purpose of preventing duplication of user data so that user data provided to the client cannot be used for purposes other than the intended purpose, and this improvement is desired. Yes. The data management method and program disclosed in Patent Document 1 are required to prevent information leakage from temporary files.

本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。
本発明の目的は、クライアントに提供されたユーザデータへのアクセスを追跡し、監視するための電子計算機のデータ管理方法、及びそのためのプログラムを提供することにある。
本発明の他の目的は、クライアントに提供されたユーザデータを目的以外のことに利用することができないように、ユーザデータを管理するための電子計算機のデータ管理方法、及びそのためのプログラムを提供することにある。
The present invention has been made based on the technical background as described above, and achieves the following objects.
An object of the present invention is to provide a data management method of an electronic computer for tracking and monitoring access to user data provided to a client, and a program therefor.
Another object of the present invention is to provide a data management method for an electronic computer for managing user data and a program therefor so that user data provided to a client cannot be used for anything other than the purpose. There is.

本発明の更に他の目的は、クライアントコンピュータ上のアプリケーションプログラムの利用時に作成される一時ファイルを、目的以外のことに利用することができないように、ユーザデータを管理するための電子計算機のデータ管理方法、及びそのためのプログラムを提供することにある。   Still another object of the present invention is to manage data of an electronic computer for managing user data so that a temporary file created when using an application program on a client computer cannot be used for purposes other than the purpose. It is to provide a method and a program therefor.

本発明は、前記目的を達成するため、次の手段を採る。
本発明は、電子計算機のデータ管理方法に関するものである。また、本発明は、電子データのデータ管理を電子計算機に実現させるための電子計算機のデータ管理プログラムに関する。具体的には、ユーザデータ(4)を格納した記憶装置(5)が前記電子計算機(1)に接続され、前記ユーザデータ(4)が前記電子計算機(1)上に読み出されてアプリケーションプログラム(10)によって閲覧又は編集され、かつ、前記電子計算機(1)の入力装置から入力された入力データによって、前記アプリケーションプログラム(10)が操作されて前記閲覧又は編集が行われているとき、前記ユーザデータ(4)が前記電子計算機(1)から外部へ漏洩されないように制御する。
In order to achieve the above object, the present invention employs the following means.
The present invention relates to a data management method for an electronic computer. The present invention also relates to an electronic computer data management program for causing an electronic computer to manage electronic data. Specifically, a storage device (5) storing user data (4) is connected to the electronic computer (1), and the user data (4) is read onto the electronic computer (1) to be an application program. (10) when the application program (10) is operated and browsed or edited by the input data input from the input device of the electronic computer (1) and viewed or edited, Control is performed so that the user data (4) is not leaked to the outside from the electronic computer (1).

本発明の電子計算機のデータ管理方法は、前記電子計算機(1)を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機(1)に接続されているデバイスを直接制御するためのデバイスドライバ(30)同士の通信、又は前記デバイスドライバ(30)と前記電子計算機上で動作するアプリケーションプログラム(10)との通信に共通のインターフェースを提供するためのドライバウェア(50)を前記電子計算機(1)が有し、
前記ドライバウェア(50)は、
前記アプリケーションプログラム(10)から出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバ(30)から受信した受信データを含む第2データを、前記アプリケーションプログラム(10)に送信するためのアプリケーションプログラムインターフェース部(51)と、
前記デバイスドライバ(30)へ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバ(30)から前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部(40)と、及び、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部(52)と
からなり、
前記アプリケーションプログラム(10)が起動するとき、前記アプリケーションプログラム(10)の動作時に一時使用される一時ファイルを作成するための一時ファイル作成命令を前記アプリケーションプログラム(10)が出力し、
前記アプリケーションプログラムインターフェース部(51)は、前記一時ファイル作成命令を取得し、
前記デバイスドライバ制御部(40)は、前記アプリケーションプログラムインターフェース部(51)から前記一時ファイル作成命令を受信して、前記デバイスドライバ制御部(40)に前記一時ファイル作成命令を送信し、
前記デバイスドライバ制御部(40)は、前記記憶装置(25、5、100)を制御するためのデバイスドライバであるファイルシステムドライバ(34)に、前記一時ファイル作成命令を送信して、
前記ファイルシステムドライバ(34)は、前記一時ファイル作成命令に従って、前記記憶装置(25、5、100)に前記一時ファイルを作成し、
前記アプリケーションプログラム(10)から前記一時ファイルを要求するとき、前記ファイルシステムドライバ(34)は、前記一時ファイルを取得して、前記デバイスドライバ制御部(40)及び前記アプリケーションプログラムインターフェース部(51)を経由して前記アプリケーションプログラム(10)に渡し、
前記アプリケーションプログラム(10)が終了するとき、前記ドライバウェア(50)は、前記ファイルシステムドライバ(34)に、前記一時ファイルを削除する命令を送信し、
前記ファイルシステムドライバ(34)は、前記一時ファイルを削除する
ことを特徴とする。
The data management method for an electronic computer according to the present invention operates in a kernel mode in which all instructions of an operating system that operates the electronic computer (1) can be executed, and includes a device connected to the electronic computer (1). Driverware (50) for providing a common interface for communication between device drivers (30) for direct control or communication between the device driver (30) and an application program (10) operating on the electronic computer ) Has the electronic computer (1),
The driverware (50)
First data including instructions and / or data output from the application program (10) is received, and second data including execution results of the instructions and / or received data received from the device driver (30), An application program interface (51) for transmitting to the application program (10);
The command and / or the third data including the data is transmitted to the device driver (30), and the fourth data including the execution result of the command and / or the received data is received from the device driver (30). A device driver control unit (40) for, and
A control unit (52) for processing the first data or the fourth data, generating the second data or the third data, and controlling the first to fourth data;
When the application program (10) is activated, the application program (10) outputs a temporary file creation instruction for creating a temporary file that is temporarily used during operation of the application program (10).
The application program interface unit (51) acquires the temporary file creation command,
The device driver control unit (40) receives the temporary file creation command from the application program interface unit (51), and transmits the temporary file creation command to the device driver control unit (40).
The device driver control unit (40) sends the temporary file creation command to a file system driver (34) which is a device driver for controlling the storage device (25, 5, 100),
The file system driver (34) creates the temporary file in the storage device (25, 5, 100) according to the temporary file creation instruction,
When requesting the temporary file from the application program (10), the file system driver (34) acquires the temporary file and sends the device driver control unit (40) and the application program interface unit (51). To the application program (10) via
When the application program (10) ends, the driverware (50) sends an instruction to delete the temporary file to the file system driver (34),
The file system driver (34) deletes the temporary file.

前記ドライバウェア(50)は、データを暗号化して暗号化データを作成するための暗号化部(54)、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部(55)を有し、
前記ドライバウェア(50)は、前記一時ファイルを暗号化部(54)によって暗号化して、暗号化一時ファイルを作成して、前記記憶装置(25、5、100)に保存し、
前記アプリケーションプログラム(10)から前記一時ファイルを要求するとき、前記ドライバウェア(50)は、前記記憶装置(25、5、100)から前記暗号化一時ファイルを取得して、前記復号化部(55)によって復号化し、前記一時ファイルを作成して前記アプリケーションプログラム(10)に渡し、
前記アプリケーションプログラム(10)が終了するとき、前記ドライバウェア(50)は、前記暗号化一時ファイルを削除すると良い。
The driverware (50) includes an encryption unit (54) for encrypting data to create encrypted data, and a decryption unit for decrypting the encrypted data and creating the original data (55)
The driverware (50) encrypts the temporary file by an encryption unit (54), creates an encrypted temporary file, and stores the encrypted temporary file in the storage device (25, 5, 100).
When requesting the temporary file from the application program (10), the driverware (50) acquires the encrypted temporary file from the storage device (25, 5, 100), and the decryption unit (55). ) To create the temporary file and pass it to the application program (10),
When the application program (10) ends, the driverware (50) may delete the encrypted temporary file.

また、前記記憶装置(25、5、100)は、前記電子計算機(1)に内蔵又は接続された補助記憶装置(25,5)であると良い。
更に、前記記憶装置(25、5、100)は、前記電子計算機(1)が接続されているネットワーク(13)上の記憶装置(100)であると良い。
The storage device (25, 5, 100) may be an auxiliary storage device (25, 5) built in or connected to the electronic computer (1).
Further, the storage device (25, 5, 100) may be a storage device (100) on the network (13) to which the computer (1) is connected.

〔本発明の電子計算機のデータ管理プログラム〕
本発明の電子計算機のデータ管理プログラムは、ユーザデータ(4)を格納した記憶装置(5)が前記電子計算機(12)に接続され、前記ユーザデータ(4)が前記電子計算機(1)上に読み出されてアプリケーションプログラム(10)によって閲覧又は編集され、かつ、前記電子計算機(1)の入力装置から入力された入力データによって前記アプリケーションプログラム(10)が操作されて前記閲覧又は編集が行われているとき、前記ユーザデータ(4)が前記電子計算機(1)から外部へ漏洩されないように制御する機能を電子計算機(1)に実現させるためのプログラムである。
[Data Management Program for Electronic Computer of the Present Invention]
According to the data management program for an electronic computer of the present invention, a storage device (5) storing user data (4) is connected to the electronic computer (12), and the user data (4) is stored on the electronic computer (1). The application program (10) is read and browsed or edited by the application program (10), and the application program (10) is operated by the input data input from the input device of the electronic computer (1) to perform the browsing or editing. The user data (4) is a program for causing the electronic computer (1) to realize a function of controlling so that the user data (4) is not leaked from the electronic computer (1) to the outside.

本発明の電子計算機のデータ管理プログラムは、次の特徴を有する。本発明の電子計算機のデータ管理プログラムは、
前記電子計算機(1)を動作させているオペレーティングシステム(11)の全ての命令が実行できるカーネルモードで動作し、前記電子計算機(1)に接続されているデバイスを直接制御するためのデバイスドライバ(30)同士の通信、又は前記デバイスドライバ(30)と前記電子計算機(1)上で動作するアプリケーションプログラム(10)との通信に共通のインターフェースを提供するための機能を有し、かつ、
前記アプリケーションプログラム(10)から出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバ(30)から受信した受信データを含む第2データを、前記アプリケーションプログラム(10)に送信するためのアプリケーションプログラムインターフェース機能(51)と、
前記デバイスドライバ(30)へ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバ(30)から前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御機能(40)と、及び、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御機能(52)とを前記電子計算機(1)に実現させるためのドライバウェアプログラム(50)を有し、
前記アプリケーションプログラム(10)が起動するとき、前記アプリケーションプログラム(10)から出力された命令で、前記アプリケーションプログラム(10)の動作時に一時使用される一時ファイルを作成するための一時ファイル作成命令を、前記アプリケーションプログラムインターフェース部(51)が取得するステップと、
前記デバイスドライバ制御部(40)は、前記アプリケーションプログラムインターフェース部(51)から前記一時ファイル作成命令を受信するステップと、
前記デバイスドライバ制御部(40)は、前記デバイスドライバ制御部(40)に前記一時ファイル作成命令を送信するステップと、
前記デバイスドライバ制御部(40)は、前記記憶装置(25、5、100)を制御するためのデバイスドライバであるファイルシステムドライバ(34)に、前記一時ファイル作成命令を送信して、前記記憶装置(25、5、100)に前記一時ファイルを前記ファイルシステムドライバ(34)によって作成させるステップと、
前記アプリケーションプログラム(10)から前記一時ファイルを要求するとき、前記デバイスドライバ制御部(40)は、前記記憶装置(25、5、100)から前記ファイルシステムドライバ(34)によって取得された前記一時ファイルを、取得するステップと、
前記デバイスドライバ制御部(40)は、前記アプリケーションプログラムインターフェース部(51)に、前記一時ファイルを渡すステップと、
前記アプリケーションプログラムインターフェース部(51)は、前記デバイスドライバ制御部(40)から取得した前記一時ファイルを、前記アプリケーションプログラム(10)に渡すステップと、及び、
前記アプリケーションプログラム(10)が終了するとき、前記ドライバウェアプログラム(50)は、前記ファイルシステムドライバ(34)に、前記一時ファイルを削除する命令を送信して、前記一時ファイルを削除するステップと
からなることを特徴とする。
The data management program for an electronic computer according to the present invention has the following characteristics. A data management program for an electronic computer according to the present invention includes:
A device driver that operates in a kernel mode in which all instructions of the operating system (11) that operates the electronic computer (1) can be executed and directly controls a device connected to the electronic computer (1). 30) a function for providing a common interface for communication between each other or communication between the device driver (30) and the application program (10) operating on the electronic computer (1), and
First data including instructions and / or data output from the application program (10) is received, and second data including execution results of the instructions and / or received data received from the device driver (30), An application program interface function (51) for transmitting to the application program (10);
The command and / or the third data including the data is transmitted to the device driver (30), and the fourth data including the execution result of the command and / or the received data is received from the device driver (30). Device driver control function (40) for, and
A control function (52) for processing the first data or the fourth data, generating the second data or the third data, and controlling the first to fourth data; 1) having a driverware program (50) for realizing
When the application program (10) is started, a temporary file creation instruction for creating a temporary file that is temporarily used when the application program (10) is operated with an instruction output from the application program (10). The application program interface unit (51) acquiring;
The device driver control unit (40) receiving the temporary file creation command from the application program interface unit (51);
The device driver control unit (40) transmitting the temporary file creation command to the device driver control unit (40);
The device driver control unit (40) transmits the temporary file creation command to the file system driver (34) which is a device driver for controlling the storage device (25, 5, 100), and the storage device (25, 5, 100) causing the file system driver (34) to create the temporary file;
When requesting the temporary file from the application program (10), the device driver control unit (40) acquires the temporary file acquired from the storage device (25, 5, 100) by the file system driver (34). A step of obtaining,
The device driver control unit (40) passing the temporary file to the application program interface unit (51);
The application program interface unit (51) passing the temporary file acquired from the device driver control unit (40) to the application program (10); and
When the application program (10) is terminated, the driverware program (50) transmits an instruction to delete the temporary file to the file system driver (34) to delete the temporary file. It is characterized by becoming.

また、前記ドライバウェアプログラム(50)は、データを暗号化して暗号化データを作成するための暗号化部(54)、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部(55)を有し、
前記ドライバウェアプログラム(50)は、前記一時ファイルを暗号化部(54)によって暗号化し、暗号化一時ファイルを作成するステップと、
前記暗号化一時ファイルを前記記憶装置(25、5、100)に保存するステップと、
前記アプリケーションプログラム(10)から前記一時ファイルを要求するとき、前記記憶装置(25、5、100)から前記暗号化一時ファイルを取得するステップと、
取得された前記暗号化一時ファイルを前記復号化部(55)によって復号化し、前記一時ファイルを作成するステップと、
前記暗号化された前記一時ファイルを前記アプリケーションプログラム(10)に渡すステップと、及び、
前記アプリケーションプログラム(10)が終了するとき、前記暗号化一時ファイルを削除するステップと
からなると良い。
The driverware program (50) encrypts data to create encrypted data (54) and decrypts the encrypted data to create the original data. A decryption unit (55);
The driverware program (50) encrypting the temporary file by an encryption unit (54) to create an encrypted temporary file;
Storing the encrypted temporary file in the storage device (25, 5, 100);
Obtaining the encrypted temporary file from the storage device (25, 5, 100) when requesting the temporary file from the application program (10);
Decrypting the obtained encrypted temporary file by the decryption unit (55) to create the temporary file;
Passing the encrypted temporary file to the application program (10); and
When the application program (10) is terminated, the step of deleting the encrypted temporary file may be included.

更に、前記ドライバウェアプログラム(50)は、ログ取得機能(53)を有すると良い。
〔その他〕
本発明の電子計算機のデータ管理プログラムは、記憶装置に格納されていると良い。記憶装置が電子計算機に接続されたときに、本発明の電子計算機のデータ管理プログラムは、電子計算機に自動的にインストールされて、動作すると良い。記憶装置は、ユーザデータを格納するための領域で、かつ、読み込みと書き込みすることができるユーザ領域と、プログラムを格納するための領域で、かつ、読み込み専用のプログラム領域とを有すると良い。
Furthermore, the driverware program (50) preferably has a log acquisition function (53).
[Others]
The computer data management program of the present invention is preferably stored in a storage device. When the storage device is connected to the electronic computer, the electronic computer data management program of the present invention is preferably automatically installed and operated in the electronic computer. The storage device preferably has an area for storing user data, a user area that can be read and written, and an area for storing a program and a read-only program area.

記憶装置が電子計算機に接続されたとき、プログラム領域に格納されている認証プログラムが自動起動し、ドライバウェアプログラムを確認した後、ドライバウェアプログラムの制御モードをオンにする命令をドライバウェアプログラムに送信する。制御モードがオンになったとき、ユーザ領域がオペレーティングシステムに認識され、電子計算機からユーザデータにアクセス可能になると良い。   When the storage device is connected to the electronic computer, the authentication program stored in the program area starts automatically, and after confirming the driverware program, an instruction to turn on the driverware program control mode is sent to the driverware program To do. When the control mode is turned on, the user area should be recognized by the operating system, and the user data can be accessed from the electronic computer.

〔データ管理プログラムの格納〕
記憶装置は、記憶装置を利用するクライアントを個人認証するための認証部を有すると良い。
本発明の電子計算機のデータ管理プログラムは、ネットワーク上のネットワークストレージに格納されていると良い。このネットワークは、LAN、WAN、又は、インターネットであると良い。このネットワークは、有線又は無線の公衆通信網によってアクセス可能なものであると良い。
[Data management program storage]
The storage device may have an authentication unit for personal authentication of a client using the storage device.
The computer data management program of the present invention is preferably stored in a network storage on the network. This network may be a LAN, WAN, or the Internet. This network may be accessible by a wired or wireless public communication network.

本発明の電子計算機のデータ管理プログラムは、読み出しのみ、読み出し書き換え可能な各種CD、各種DVD、そして、不揮発性メモリ等等の記録媒体に記録されていると良い。本発明の電子計算機のデータ管理プログラムは、この電子計算機にリモートでアクセスできる第2電子計算機上に格納され、この電子計算機にリモートで動作すると良い。   The data management program of the electronic computer of the present invention is preferably recorded on a recording medium such as various CDs, various DVDs, and a non-volatile memory that can only be read or read and rewritten. The data management program for the electronic computer of the present invention is preferably stored on a second electronic computer that can access this electronic computer remotely, and operates remotely on this electronic computer.

本発明によると、次の効果が奏される。クライアントに提供されたユーザデータへのアクセスを追跡し、監視し、クライアントコンピュータ上に作成される一時ファイルを原因で、情報漏洩を起こることがなくなった。アプリケーションプログラムが終了するとき、このアプリケーションプログラム用に作成された一時ファイルを削除するので、一時ファイルによる情報漏洩を防ぐことができるようになった。一時ファイルを暗号化して記憶装置に保存するため、アプリケーションプログラムの動作中でも、一時ファイルによる情報漏洩を防ぐことができた。   According to the present invention, the following effects can be obtained. Tracking and monitoring access to user data provided to the client no longer causes information leakage due to temporary files created on the client computer. When the application program is terminated, the temporary file created for the application program is deleted, so that information leakage due to the temporary file can be prevented. Since the temporary file is encrypted and stored in the storage device, information leakage due to the temporary file can be prevented even during operation of the application program.

以下、本発明の実施の形態を図に基づいて説明する。
〔本発明の第1の実施の形態〕
図1には、本発明の第1の実施の形態の概要を図示している。クライアントコンピュータ1は、クライアント2によって操作される。クライアントコンピュータ1には、管理プログラム3(後述する。)がインストールされている。この管理プログラム3については、詳しく後述する。クライアントコンピュータ1のディスプレイ等の表示装置には、ユーザデータ4が表示される。クライアント2は、クライアントコンピュータ1の操作を行う。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First embodiment of the present invention]
FIG. 1 shows an overview of the first embodiment of the present invention. The client computer 1 is operated by the client 2. A management program 3 (described later) is installed on the client computer 1. The management program 3 will be described later in detail. User data 4 is displayed on a display device such as a display of the client computer 1. The client 2 operates the client computer 1.

クライアント2は、クライアントコンピュータ1操作をして、ユーザデータ4を閲覧し、編集する。管理プログラム3は、このユーザデータ4の利用状況を監視するためのものである。管理プログラム3は、クライアントコンピュータ1を利用する環境を提供するためのプログラムである。また、本実施の形態においては、ユーザデータ4は、USBメモリ5等の記憶装置に格納されたものとする。本実施の形態では、ユーザデータ4は、USBメモリ5に格納されてクライアント2に提供される方法を採用する。しかし、これは、ユーザデータ4と管理プログラム3の提供方法、それらを格納する記憶装置又は記録媒体を制限するものではなく、同様の機能を有するものであれは任意の形態のものでも良い。   The client 2 operates the client computer 1 to browse and edit the user data 4. The management program 3 is for monitoring the usage status of the user data 4. The management program 3 is a program for providing an environment for using the client computer 1. In this embodiment, it is assumed that the user data 4 is stored in a storage device such as the USB memory 5. In the present embodiment, a method in which the user data 4 is stored in the USB memory 5 and provided to the client 2 is adopted. However, this does not limit the method of providing the user data 4 and the management program 3, and the storage device or recording medium for storing them, and any form having the same function may be used.

本実施の形態において、記憶装置として使用しているUSBメモリ5は、不揮発性メモリを内蔵した携帯可能な記憶装置である。USBメモリ5は、USB規格に準拠する記憶装置である。USB規格は、電子計算機と周辺機器との間にデータ伝送を行うための規格であり、「USB Mass Storage Class」という、外部記憶装置をリムーバブルドライブとして認識するための仕様が入っている。USBメモリ5は、このUSB Mass Storage Classに準拠する。オペレーティングシステム側が持っているMass Storage Class用のドライバを使って、クライアントコンピュータ1とUSBメモリ5との電子データの送受信を行う。   In this embodiment, the USB memory 5 used as a storage device is a portable storage device with a built-in nonvolatile memory. The USB memory 5 is a storage device that conforms to the USB standard. The USB standard is a standard for data transmission between an electronic computer and a peripheral device, and includes a specification called “USB Mass Storage Class” for recognizing an external storage device as a removable drive. The USB memory 5 conforms to this USB Mass Storage Class. Electronic data transmission / reception between the client computer 1 and the USB memory 5 is performed using a Mass Storage Class driver possessed by the operating system.

USBメモリ5は、クライアントコンピュータ1のUSBポートに差し込みされると、オペレーティングシステムによってリムーバブルドライブとして認識される。クライアントコンピュータ1は、補助記憶装置としてハードディスクドライブ25を内蔵する。ハードディスクドライブ25には、オペレーティングシステムのシステムファイル、アプリケーションプログラムの実行ファイル等が保存される。従来は、クライアントコンピュータ1上でアプリケーションプログラムが実行されるとき、このアプリケーションプログラムは、ハードディスクドライブ25上に、このアプリケーションプログラムが開いているファイルの一時ファイルを作る。   When the USB memory 5 is inserted into the USB port of the client computer 1, it is recognized as a removable drive by the operating system. The client computer 1 includes a hard disk drive 25 as an auxiliary storage device. The hard disk drive 25 stores operating system system files, application program execution files, and the like. Conventionally, when an application program is executed on the client computer 1, the application program creates a temporary file of the file opened by the application program on the hard disk drive 25.

又は、従来は、クライアントコンピュータ1上にアプリケーションプログラムが実行されるとき、このアプリケーションプログラムは、ハードディスクドライブ25上にフォルダ7を作り、このアプリケーションプログラムは、このフォルダ7の中に一時ファイルを保存する。本実施の形態では、管理プログラム3がハードディスクドライブ25の中で独自のフォルダ8を作る。そして、アプリケーションプログラム用一時ファイルは、このフォルダ8の中に保存される。フォルダ8の中の一時ファイルは、暗号化されて、保存されることが好ましい。アプリケーションプログラムが終了するとき、管理プログラム3が、アプリケーションプログラム用に作成した一時ファイルを削除する。   Or, conventionally, when an application program is executed on the client computer 1, the application program creates a folder 7 on the hard disk drive 25, and the application program stores a temporary file in the folder 7. In the present embodiment, the management program 3 creates a unique folder 8 in the hard disk drive 25. The application program temporary file is stored in this folder 8. The temporary file in the folder 8 is preferably stored after being encrypted. When the application program ends, the management program 3 deletes the temporary file created for the application program.

よって、アプリケーションプログラムが終了するとき、ハードディスクドライブ25の中に一時ファイルは、残らない。従って、ハードディスクドライブ25の中に残った一時ファイルを原因とする情報漏洩を防ぐことができる。   Therefore, when the application program ends, no temporary file remains in the hard disk drive 25. Therefore, information leakage caused by the temporary file remaining in the hard disk drive 25 can be prevented.

図2には、クライアントコンピュータ1上で動作するソフトウェアの概要を機能ブロックで図示している。本実施の形態においては、オペレーティングシステム11は、マイクロソフト社のWindows XP(登録商標)である。しかし、これは、オペレーティングシステム11の種類を制限するものではなく、同様な機能を実現できるものであれば、オペレーティングシステムの種類は問わない。アプリケーションプログラム10は、オペレーティングシステム11の上で動作する。管理プログラム3は、図2に図示したアプリケーションプラットフォームプログラム58と、ドライバウェア(登録商標)50から構成される。   FIG. 2 is a functional block diagram showing an outline of software that runs on the client computer 1. In the present embodiment, the operating system 11 is Microsoft Windows XP (registered trademark). However, this does not limit the type of the operating system 11, and the type of the operating system is not limited as long as the same function can be realized. The application program 10 runs on the operating system 11. The management program 3 includes the application platform program 58 illustrated in FIG. 2 and driverware (registered trademark) 50.

アプリケーションプラットフォームプログラム58は、オペレーティングシステム11のユーザモードで動作するアプリケーションソフトウェアである。ドライバウェア50は、オペレーティングシステム11のカーネルモードで動作するプログラムである。アプリケーションプラットフォームプログラム58とドライバウェア50の動作と機能については、後述する。クライアントコンピュータ1は、中央処理装置(CPU)、RAM、ROM、入出力装置(例えば、ディスプレイ、キーボード、マウス等。)、補助記憶装置(例えば、ハードディスク25。)、通信用の各種ポート(例えば、USBポート。)等を備えた一般的な電子計算機である。   The application platform program 58 is application software that operates in the user mode of the operating system 11. The driverware 50 is a program that operates in the kernel mode of the operating system 11. The operations and functions of the application platform program 58 and the driverware 50 will be described later. The client computer 1 includes a central processing unit (CPU), a RAM, a ROM, an input / output device (for example, a display, a keyboard, a mouse, etc.), an auxiliary storage device (for example, a hard disk 25), and various communication ports (for example, It is a general electronic computer equipped with a USB port.

クライアントコンピュータ1は、キーボード16やマウス17等の入力装置を備えている。クライアントコンピュータ1は、図示していないが、ディスプレイ等の出力装置、ハードディスク等の補助記憶装置、メインメモリ等のメモリを備えている。クライアントコンピュータ1は、外付けハードディスク、スキャナ、プリンタ等の周辺機器を有することができる。これらの周辺機器は、図示していないが、以下、外部デバイスという。外部デバイスは、コネクタ22に接続される。クライアントコンピュータ1は、オペレーティングシステム11によって制御されて動作する。   The client computer 1 includes input devices such as a keyboard 16 and a mouse 17. Although not shown, the client computer 1 includes an output device such as a display, an auxiliary storage device such as a hard disk, and a memory such as a main memory. The client computer 1 can have peripheral devices such as an external hard disk, a scanner, and a printer. Although these peripheral devices are not shown, they are hereinafter referred to as external devices. The external device is connected to the connector 22. The client computer 1 operates under the control of the operating system 11.

クライアントコンピュータ1上で動作するアプリケーションプログラム10は、オペレーティングシステム11が提供する機能上で動作する。アプリケーションプログラム10は、オペレーティングシステム11のカーネルモード、又はユーザモードに動作する実行可能なファイル、又はソフトウェアである。例えば、アプリケーションプログラム10は、ワードプロセッシングソフトウェア、テキストエディタ等の文書を作成、編集するためのソフトウェアである。図2に図示した例では、アプリケーションプログラム10は、オペレーティングシステム11のユーザモードに動作するアプリケーションソフトウェアである。このアプリケーションプログラム10は、カーネルモードのモジュールを含むものである。   The application program 10 that operates on the client computer 1 operates on a function provided by the operating system 11. The application program 10 is an executable file or software that operates in the kernel mode or the user mode of the operating system 11. For example, the application program 10 is software for creating and editing a document such as word processing software or a text editor. In the example illustrated in FIG. 2, the application program 10 is application software that operates in the user mode of the operating system 11. The application program 10 includes a kernel mode module.

更に、アプリケーションプログラム10は、例えば、pdf形式のファイル等のような特定の形式のファイルを閲覧、作成、編集するためのソフトウェアである。オペレーティングシステム11は、キーボード16からの入力、マウス17を操作した入力等の入力装置からの入力機能、画面出力等のような出力装置からの出力機能、外部記憶装置やメモリの管理、等の基本的な機能を提供し、クライアントコンピュータ1全体を動作させ、管理するためのソフトウェアである。オペレーティングシステム11は、その提供する機能を実現するために多数の実行可能なプログラムから構成されるものである。   Further, the application program 10 is software for browsing, creating, and editing a specific format file such as a pdf format file. The operating system 11 has basic functions such as input from a keyboard 16, input function from an input device such as an input by operating a mouse 17, output function from an output device such as screen output, management of an external storage device and memory, etc. Software for providing general functions and operating and managing the entire client computer 1. The operating system 11 is composed of a large number of executable programs in order to realize the functions provided by the operating system 11.

また、本実施の形態を理解する上で、これを再現(実施)するには、オペレーティングシステム11、デバイスドライバについて開示している技術情報が必要である。この技術情報は、オペレーティングシステム11を開発し、提供しているベンダーが情報開示しているインターネット上のデータ、これらのベンダーから開発者向けに提供された情報が含まれる。例えば、オペレーティングシステム11、特に本実施の形態に用いているWindows系のオペレーティングシステムについては、多数の書籍があり、その一部から紹介する。本発明を再現するためには、これらの書籍に記述されている技術知識、特に、デバイスドライバ開発に関する知識が必要である。   Further, in order to understand this embodiment, in order to reproduce (implement) this, technical information disclosed about the operating system 11 and the device driver is necessary. This technical information includes data on the Internet that has been disclosed by the vendors who have developed and provided the operating system 11, and information provided to the developers from these vendors. For example, there are a large number of books about the operating system 11, especially the Windows operating system used in the present embodiment. In order to reproduce the present invention, technical knowledge described in these books, in particular, knowledge concerning device driver development is required.

Windows系のオペレーティングシステムの内部構成、その動作についての書籍一覧:
− Inside Windows NT by Helen Custer (Microsoft Press, 1992)
− Inside the Windows NT File System by Helen Custer (Microsoft Press, 1994)
− Inside Microsoft Windows 2000, Third Edition by David A. Solomon, Mark E. Russinovich (Microsoft Press, 2000)。
デバイスドライバの基礎知識からその開発に関する知識ついての書籍一覧:
− Programming the Microsoft Windows Driver Model by Walter Oney (Microsoft Press, 1999)
− Programming the Microsoft Windows Driver Model, Second Edition by Walter Oney (Microsoft Press, 2002)。
List of books on the internal structure and operation of Windows operating systems:
− Inside Windows NT by Helen Custer (Microsoft Press, 1992)
− Inside the Windows NT File System by Helen Custer (Microsoft Press, 1994)
− Inside Microsoft Windows 2000, Third Edition by David A. Solomon, Mark E. Russinovich (Microsoft Press, 2000).
List of books from basic knowledge of device drivers to knowledge about their development:
− Programming the Microsoft Windows Driver Model by Walter Oney (Microsoft Press, 1999)
− Programming the Microsoft Windows Driver Model, Second Edition by Walter Oney (Microsoft Press, 2002).

図3には、オペレーティングシステム11を構成するプログラムの内の代表的なものを図示したブロック図であり、オペレーティングシステム11と、本発明の管理プログラム3との関係を図示したものである。オペレーティングシステム11は、サブシステム61、エグゼキュティブ63、マイクロカーネル62、デバイスドライバ30、ハードウェア抽象化層(HAL)64から構成される。サブシステム61は、オペレーティングシステム11のユーザモードで提供されるサービスである。   FIG. 3 is a block diagram illustrating a representative program constituting the operating system 11, and illustrates the relationship between the operating system 11 and the management program 3 of the present invention. The operating system 11 includes a subsystem 61, an executive 63, a microkernel 62, a device driver 30, and a hardware abstraction layer (HAL) 64. The subsystem 61 is a service provided in the user mode of the operating system 11.

エグゼキュティブ63は、メモリの管理、プロセスとスレッドの管理、セキュリティ、I/O、ネットワーク、及びプロセス間通信等のオペレーティングシステム11の基本的なサービスを提供するものである。図3には、代表的なエグゼキュティブ63を図示している。例えば、オブジェクトマネージャ65、プロセスマネージャ66、キャッシュマネージャ67、メモリマネージャ68、I/Oマネージャ69等がある。   The executive 63 provides basic services of the operating system 11 such as memory management, process and thread management, security, I / O, network, and interprocess communication. FIG. 3 shows a representative executive 63. For example, there are an object manager 65, a process manager 66, a cache manager 67, a memory manager 68, an I / O manager 69 and the like.

マイクロカーネル62は、スレッドスケジューリング、割り込み、例外通知、マルチプロセッサの同期等の低レベルの関数を提供する。また、マイクロカーネル62は、エグゼキュティブ63の内部で使用するルーチンセットと基本オブジェクトを提供する。デバイスドライバ30は、図2において、インターフェースドライバ32、ネットワークドライバ33、ファイルシステムドライバ34、キーボードドライバ35、マウスドライバ36として図示されている。   The microkernel 62 provides low-level functions such as thread scheduling, interrupts, exception notification, and multiprocessor synchronization. The microkernel 62 also provides a routine set and basic objects used inside the executive 63. The device driver 30 is illustrated as an interface driver 32, a network driver 33, a file system driver 34, a keyboard driver 35, and a mouse driver 36 in FIG.

デバイスドライバ30は、通常は、クライアントコンピュータ1に接続されたハードウェアごとにプログラムされ、HAL(ハードウェア抽象化層)64を介して、そのハードウェア60を直接制御するものである。デバイスドライバ30は、アプリケーションプログラム10やオペレーティングシステム11からの入出力機能の要求(I/O呼び出し要求)を、特定のハードウェアデバイスに対する入出力機能の要求(I/O要求)に変換するサービスと、ファイルシステムやネットワークドライバ等のシステムサービスを提供する。   The device driver 30 is normally programmed for each piece of hardware connected to the client computer 1 and directly controls the hardware 60 via a HAL (hardware abstraction layer) 64. The device driver 30 is a service that converts an input / output function request (I / O call request) from the application program 10 or the operating system 11 into an input / output function request (I / O request) for a specific hardware device. Provide system services such as file system and network driver.

HAL64は、マイクロカーネル62、デバイスドライバ30、及びエグゼキュティブ63を、プラットフォーム固有のハードウェア機能から分離し抽象化するためのコード層である。即ち、HAL64は、クライアントコンピュータ1の内蔵デバイス22〜27や、クライアントコンピュータ1に接続されている外部デバイス等のハードウェアの種類による違いを吸収し、オペレーティングシステム11の各サービスに対して抽象化したサービスを提供する。HAL64によって、オペレーティングシステム11を構成する各種のサービスは、ハードウェアの種類による違いを意識することなくハードウェアにアクセスすることが可能になる。   The HAL 64 is a code layer for separating and abstracting the microkernel 62, the device driver 30, and the executive 63 from platform-specific hardware functions. In other words, the HAL 64 absorbs differences due to the types of hardware such as the built-in devices 22 to 27 of the client computer 1 and external devices connected to the client computer 1, and is abstracted for each service of the operating system 11. Provide service. With the HAL 64, various services constituting the operating system 11 can access the hardware without being aware of the difference depending on the type of hardware.

〔ドライバウェア50〕
ドライバウェア50は、デバイスドライバ間のデータの送受信をカーネルモードで実現するためのものである。ドライバウェア50は、アプリケーションプログラム10からデバイスドライバ30へアクセスするとき、また、デバイスドライバ30からアプリケーションプログラム10へデータを送信するときに、共通のインターフェースを提供する。ドライバウェア50は、オペレーティングシステム11のカーネルモードで動作する。ドライバウェア50は、デバイスドライバ30間の共通のデータの送受信を提供し、仲介する機能を有する。
[Driverware 50]
The driverware 50 is for realizing data transmission / reception between device drivers in a kernel mode. The driverware 50 provides a common interface when accessing the device driver 30 from the application program 10 and when transmitting data from the device driver 30 to the application program 10. The driverware 50 operates in the kernel mode of the operating system 11. The driverware 50 has a function of providing and mediating transmission / reception of common data between the device drivers 30.

また、ドライバウェア50は、オペレーティングシステム11と複数のデバイスドライバ30との共通のデータの送受信を提供し、仲介する機能を有する。ドライバウェア50の例としては、「電子計算機のインターフェースドライバプログラム」としてWO02/091195号公報等に開示されている。ドライバウェア50は、アプリケーションプログラム10からの命令やデータ等を受信し、アプリケーションプログラム10へのデータを送信するためのアプリケーションプログラムインターフェース部51を有する。ドライバウェア50は、ドライバウェア50の全体の動作を制御するための制御部52を有する。   The driverware 50 has a function of providing and mediating transmission / reception of common data between the operating system 11 and the plurality of device drivers 30. An example of the driverware 50 is disclosed in WO02 / 091195 as an “electronic computer interface driver program”. The driverware 50 includes an application program interface unit 51 for receiving commands and data from the application program 10 and transmitting data to the application program 10. The driverware 50 has a control unit 52 for controlling the overall operation of the driverware 50.

また、ドライバウェア50の動作の履歴を取得するためのログ取得部53も有する。更に、ドライバウェア50は、デバイスドライバ30を制御するために、デバイスドライバ制御部40を有する。ドライバウェア50は、送受信するデータを暗号化するための暗号化部54、暗号化されたデータを復号化するための復号化部55を有する。制御部52は、デバイスドライバ制御部40、アプリケーションプログラムインターフェース部51、ログ取得部53、暗号化部54、復号化部55等のドライバウェア50を構成している各部を制御し、監視するためのもので、ドライバウェア50の中核部である。   The log acquisition unit 53 also acquires a history of operations of the driverware 50. Further, the driverware 50 includes a device driver control unit 40 for controlling the device driver 30. The driverware 50 includes an encryption unit 54 for encrypting data to be transmitted and received, and a decryption unit 55 for decrypting the encrypted data. The control unit 52 controls and monitors each part of the driverware 50 such as the device driver control unit 40, the application program interface unit 51, the log acquisition unit 53, the encryption unit 54, and the decryption unit 55. It is the core of the driverware 50.

〔アプリケーションプラットフォームプログラム58〕
アプリケーションプラットフォームプログラム58は、アプリケーションプログラム10と、オペレーティングシステム11との間に位置し、これらの間に命令やデータの送受信を仲介し制御するためのアプリケーションプログラムである。アプリケーションプラットフォームプログラム58は、オペレーティングシステム11のユーザモードで動作する。アプリケーションプラットフォームプログラム58は、オペレーティングシステム11のファイルシステムにアクセスするためのユーザインターフェースを提供するためのアプリケーションプログラムである。
[Application platform program 58]
The application platform program 58 is an application program that is located between the application program 10 and the operating system 11 and mediates and controls transmission and reception of commands and data between them. The application platform program 58 operates in the user mode of the operating system 11. The application platform program 58 is an application program for providing a user interface for accessing the file system of the operating system 11.

アプリケーションプラットフォームプログラム58は、アプリケーションプログラム10の起動、これに伴うプロセスの起動を監視し、これらの属性情報を取得する機能を有する。アプリケーションプラットフォームプログラム58は、Windowsエクスプローラと互換性があるアプリケーションプログラムであるものが特に好ましい。クライアントコンピュータ1は、ハードディスクドライブ25等の補助記憶装置を備えている。クライアントコンピュータ1は、周辺機器と接続するためのコネクタ22を有する。コネクタ22は、RS―232C、IrDA、USB、IEEE1394等のシリアルポート、IEEE1284、SCSI、IDE等のパラレルポートであることが好ましい。   The application platform program 58 has a function of monitoring the activation of the application program 10 and the activation of the process accompanying this, and acquiring these attribute information. The application platform program 58 is particularly preferably an application program compatible with Windows Explorer. The client computer 1 includes an auxiliary storage device such as a hard disk drive 25. The client computer 1 has a connector 22 for connecting to peripheral devices. The connector 22 is preferably a serial port such as RS-232C, IrDA, USB, or IEEE1394, or a parallel port such as IEEE1284, SCSI, or IDE.

このシリアル転送方式は、1本の信号線で1ビットずつデータを伝送するデータ伝送の方式である。パラレル転送方式は、複数の信号線で同時に複数のビットを転送するデータ伝送の方式である。このデータ伝送は、クライアントコンピュータ1に内蔵されたデバイス、クライアントコンピュータ1とその周辺機器間のデータ伝送に、用途ごとに最適なインターフェースを使用している。ここで、その代表的なものから例示する。記憶装置の場合は、パラレル転送方式が高速で、この伝送方式を採用することが多いが、USB規格の普及により、USBポートを利用することが多くなっている。   This serial transfer method is a data transmission method in which data is transmitted bit by bit through one signal line. The parallel transfer method is a data transmission method in which a plurality of bits are simultaneously transferred through a plurality of signal lines. In this data transmission, an interface that is optimal for each application is used for data transmission between a device built in the client computer 1 and between the client computer 1 and its peripheral devices. Here, the representative examples will be exemplified. In the case of a storage device, the parallel transfer method is high speed and this transmission method is often adopted.

クライアントコンピュータ1とプリンタとの通信には、IEEE1284ポート、USBポートを利用することが多く、またネットワーク13を介することもある。クライアントコンピュータ1は、ネットワーク7に接続するためのネットワークカード23を備えている。更に、USBメモリ5等のUSB規格準拠の機器を、接続するためのUSBポート24を備えている。これらのコネクタ22、ネットワークカード23を直接制御し、通信を行うためのプログラムは、それぞれのデバイスドライバであるインターフェースドライバ32、ネットワークドライバ33である。   For communication between the client computer 1 and the printer, an IEEE 1284 port or a USB port is often used, and the client computer 1 may be connected via the network 13. The client computer 1 includes a network card 23 for connecting to the network 7. Furthermore, a USB port 24 for connecting a USB standard-compliant device such as the USB memory 5 is provided. Programs for directly controlling and communicating with the connector 22 and the network card 23 are an interface driver 32 and a network driver 33 which are respective device drivers.

本実施の形態においては、各デバイスドライバ30は、オペレーティングシステム11に付属するものとする。デバイスドライバ30は、オペレーティングシステム11が提供する標準的なデバイスドライバ、周辺機器、内蔵機器を製造するメーカーが作成するデバイスドライバがある。更に、デバイスドライバ30は、デバイスドライバを専門にする会社が開発したデバイスドライバもある。このように数多くの種類のデバイスドライバがある中で、本実施の形態においては、全てのデバイスドライバ30は、オペレーティングシステム11に付属するものであると説明する。   In the present embodiment, each device driver 30 is attached to the operating system 11. The device driver 30 includes a standard device driver provided by the operating system 11, a peripheral device, and a device driver created by a manufacturer that manufactures a built-in device. Further, the device driver 30 may be a device driver developed by a company specializing in device drivers. Among such many types of device drivers, in the present embodiment, it will be described that all the device drivers 30 are attached to the operating system 11.

インターフェースドライバ32は、コネクタ22を制御するためのデバイスドライバである。ネットワークドライバ33は、ネットワークカード23を制御するためのデバイスドライバである。ファイルシステムドライバ34は、ハードディスクドライブ25等の外部記憶装置に保存されているファイル、フォルダに関する情報を管理するもので、ハードディスクドライブ25に保存されている、ファイルやフォルダへのアクセスをするためのプログラムである。ファイルシステムドライバ34は、クライアントコンピュータ1に接続されたUSB規格準拠の記憶装置へアクセスするためのプログラムである。   The interface driver 32 is a device driver for controlling the connector 22. The network driver 33 is a device driver for controlling the network card 23. The file system driver 34 manages information related to files and folders stored in an external storage device such as the hard disk drive 25, and is a program for accessing files and folders stored in the hard disk drive 25. It is. The file system driver 34 is a program for accessing a USB standard-compliant storage device connected to the client computer 1.

このアクセスは、オペレーティングシステム11のMass Storage Class用のドライバ(図示せず)を介して行われる。アプリケーションプログラム10は、クライアントコンピュータ1にインストールされた又は、動作しているソフトウェアである。アプリケーションプログラム10は、基本的に、オペレーティングシステム11のユーザモード上で動作する。アプリケーションプログラム10は、ハードディスクドライブ25にアクセスして、必要なファイルを読み込んだり、書き込んだりする。また、本実施の形態では、アプリケーションプログラム10は、Windows(登録商標)のカーネルモードで動作する一部のプログラムをも意味する。   This access is performed via a Mass Storage Class driver (not shown) of the operating system 11. The application program 10 is software installed or operating on the client computer 1. The application program 10 basically operates on the user mode of the operating system 11. The application program 10 accesses the hard disk drive 25 and reads and writes necessary files. In the present embodiment, the application program 10 also means a part of the program that operates in the Windows (registered trademark) kernel mode.

ドライバウェア50は、アプリケーションプログラム10からデバイスドライバ30へアクセスするとき、また、デバイスドライバ30からアプリケーションプログラム10へデータを送信するときに、共通のインターフェースの機能、役割を果たす。ドライバウェア50は、前述したようにアプリケーションプログラムインターフェース部51、制御部52、ログ取得部53等を有する。ドライバウェア50は、通信するデータを暗号化するための暗号化部54、暗号化されたデータを復号化するための復号化部55を有する。また、ドライバウェア50は、インターフェースドライバ32を制御するためのインターフェース制御部42を有する。   The driverware 50 plays a common interface function and role when accessing the device driver 30 from the application program 10 and when transmitting data from the device driver 30 to the application program 10. As described above, the driverware 50 includes the application program interface unit 51, the control unit 52, the log acquisition unit 53, and the like. The driverware 50 has an encryption unit 54 for encrypting data to be communicated and a decryption unit 55 for decrypting the encrypted data. The driverware 50 includes an interface control unit 42 for controlling the interface driver 32.

ドライバウェア50は、ネットワークドライバ33を制御するためのネットワーク制御部43を有する。ドライバウェア50は、ファイルシステムドライバ34を制御するためのファイルシステム制御部44を有する。制御部52は、インターフェース制御部42、ネットワーク制御部43、ファイルシステム制御部44等から成るドライバウェア50の他の部を制御し、監視するためのものである。制御部52は、ドライバウェア50の中核部である。USBメモリ5等の記憶装置は、クライアントコンピュータ1に接続されると、その装置のデバイスドライバによって認識された後、ファイルシステムドライバ34によって制御される。   The driverware 50 has a network control unit 43 for controlling the network driver 33. The driverware 50 has a file system control unit 44 for controlling the file system driver 34. The control unit 52 is for controlling and monitoring other units of the driverware 50 including the interface control unit 42, the network control unit 43, the file system control unit 44, and the like. The control unit 52 is a core part of the driverware 50. When the storage device such as the USB memory 5 is connected to the client computer 1, it is recognized by the device driver of the device and then controlled by the file system driver 34.

ドライバウェア50のインターフェース制御部42、ネットワーク制御部43、ファイルシステム制御部44等は、デバイスドライバ30を制御することで、最終的には、クライアントコンピュータ1に、接続又は内蔵されているデバイスを制御するものと理解することができる。つまり、クライアントコンピュータ1に、接続又は内蔵されているデバイスを制御するためには、既存のデバイスドライバ30を利用している。ドライバウェア50は、デバイスドライバ30がオペレーティングシステム11の他の構成部分と通信しているインターフェースをカーネルモードで制御している。   The interface control unit 42, the network control unit 43, the file system control unit 44, etc. of the driverware 50 control the device driver 30 and finally control the device connected to or built in the client computer 1. Can understand. That is, the existing device driver 30 is used to control a device connected to or built in the client computer 1. The driverware 50 controls an interface through which the device driver 30 communicates with other components of the operating system 11 in the kernel mode.

図4は、USBボード24に接続されるUSBメモリ5の内部構造を示すブロック図である。基板105の上には、ユーザ領域106、プログラム領域107等が搭載されて配置されている。USBメモリ5は、電子データを格納するためのユーザ領域106と、コンピュータプログラム等を格納するためのプログラム領域107を備えている。ユーザ領域106は、ユーザデータ4を格納するためのメモリである。プログラム領域107は、認証プログラム108、管理プログラム3を格納するためのメモリである。ユーザデータ4は、USBメモリ5のユーザ領域106に格納される。ユーザ領域106は、USBメモリ5の初期設定では外部からアクセスすることができない。   FIG. 4 is a block diagram showing the internal structure of the USB memory 5 connected to the USB board 24. On the substrate 105, a user area 106, a program area 107, and the like are mounted and arranged. The USB memory 5 includes a user area 106 for storing electronic data and a program area 107 for storing computer programs and the like. The user area 106 is a memory for storing user data 4. The program area 107 is a memory for storing the authentication program 108 and the management program 3. User data 4 is stored in the user area 106 of the USB memory 5. The user area 106 cannot be accessed from the outside in the initial setting of the USB memory 5.

USBメモリ5は、プログラム領域107に管理プログラム3を格納している。プログラム領域107は、USBメモリ5の初期設定では外部からアクセスすることができる。つまり、プログラム領域107は、USBメモリ5がクライアントコンピュータ1等の電子計算機に接続され、認識されたら、電子計算機から直接アクセスすることができる。コネクタ114は、USBメモリ5をクライアントコンピュータ1に接続するためのコネクタである。USBメモリ5は、データ等を記憶する隠し領域を持っている。例えば、認証に利用する認証データ116を格納した認証領域115をUSBメモリ5が有する。   The USB memory 5 stores the management program 3 in the program area 107. The program area 107 can be accessed from the outside in the initial setting of the USB memory 5. That is, the program area 107 can be directly accessed from the electronic computer when the USB memory 5 is connected to and recognized by the electronic computer such as the client computer 1. The connector 114 is a connector for connecting the USB memory 5 to the client computer 1. The USB memory 5 has a hidden area for storing data and the like. For example, the USB memory 5 has an authentication area 115 that stores authentication data 116 used for authentication.

この認証領域115に格納されている認証データ116は、USBメモリ5の認証、USBメモリ5を利用する利用者の個人認証等に使うものである。ユーザデータ4と、管理プログラム3は、USBメモリ5の別々のメモリ領域であるユーザ領域106とプログラム領域107にそれぞれ格納されている。USBメモリ5がクライアントコンピュータ1に接続されると、ユーザ領域106、プログラム領域107がリムーバブルドライブとしてオペレーティングシステム11に認識される。USBメモリ5の初期設定では、プログラム領域107がオペレーティングシステム11からアクセス可能な状態になっている。   The authentication data 116 stored in the authentication area 115 is used for authentication of the USB memory 5, personal authentication of a user who uses the USB memory 5, and the like. The user data 4 and the management program 3 are stored in a user area 106 and a program area 107, which are separate memory areas of the USB memory 5, respectively. When the USB memory 5 is connected to the client computer 1, the user area 106 and the program area 107 are recognized by the operating system 11 as removable drives. In the initial setting of the USB memory 5, the program area 107 is accessible from the operating system 11.

ユーザ領域106は、初期設定では、クライアントコンピュータ1からアクセスできない設定になっている。プログラム領域107に格納されている認証プログラム108は、自動起動してクライアントコンピュータ1上で動作する。認証プログラム108は、クライアントコンピュータ1上に管理プログラム3がインストールされて動作していることを確認して、USBメモリ5の認証、USBメモリ5を利用する利用者の個人認証等を行う。認証プログラム108により認証を行い成功すると、この管理プログラム3の命令で、ユーザ領域106がクライアントコンピュータ1からアクセスできるように設定される。   The user area 106 is set to be inaccessible from the client computer 1 in the initial setting. The authentication program 108 stored in the program area 107 is automatically activated and operates on the client computer 1. The authentication program 108 confirms that the management program 3 is installed and operating on the client computer 1, and performs authentication of the USB memory 5, personal authentication of the user who uses the USB memory 5, and the like. If authentication is successful by the authentication program 108, the user area 106 is set to be accessible from the client computer 1 by the command of the management program 3.

この設定は、USBメモリ5内のスイッチ(図示せず)を切り替えすることで行われる。この設定は、ユーザ領域106とプログラム領域107の切り替えなので、ソフトウェア的に行われるものが好ましい。認証プログラム108は、管理プログラム3と通信することによって、管理プログラム3がクライアントコンピュータ1にインストールされていることを確認する。認証プログラム108は、管理プログラム3に指示して、管理プログラム3の制御モード(詳しくは、後述する。)をオンにする。クライアント2の個人認証方法は、パスワードによる認証、バイオメトリックス認証等である方法が好ましい。本実施の形態においては、クライアント2の個人認証は、パスワードによる認証として説明する。   This setting is performed by switching a switch (not shown) in the USB memory 5. Since this setting is switching between the user area 106 and the program area 107, it is preferable that this setting be performed in software. The authentication program 108 confirms that the management program 3 is installed in the client computer 1 by communicating with the management program 3. The authentication program 108 instructs the management program 3 to turn on the control mode of the management program 3 (details will be described later). The personal authentication method of the client 2 is preferably a method such as password authentication or biometrics authentication. In the present embodiment, the personal authentication of the client 2 will be described as password authentication.

管理プログラム3は、USBメモリ5内のスイッチをソフトウェア的に切り替えして、クライアントコンピュータ1からUSBメモリ5へアクセスを可能にする。この詳細については、図7のフローチャートの説明で後述する。ユーザデータ4は、ノウハウが蓄積されたデータであり、例えば、災害時に使用するための保険会社の復旧マニュアルである。また、メーカーが利用するための製品の仕様書や設計書等の機密資料、データである。更に、出版物や写真等の画像データの校正時に使うための原本の電子データである。また更には、個人情報や顧客情報等が格納されたデータファイルである。   The management program 3 switches the switch in the USB memory 5 by software so that the client computer 1 can access the USB memory 5. Details of this will be described later in the description of the flowchart of FIG. User data 4 is data in which know-how is accumulated, and is, for example, a recovery manual of an insurance company for use in a disaster. In addition, it is confidential materials and data such as product specifications and designs for use by manufacturers. Furthermore, the original electronic data is used for proofreading of image data such as publications and photographs. Still further, the data file stores personal information, customer information, and the like.

個人情報としては、例えば、氏名、住所、連絡先等の情報を意味する。顧客情報としては、例えば、顧客の氏名、名称、住所、連絡先、取引の内容等の情報である。以後は、このような個人情報や顧客情報等のデータは、単にユーザデータ4と記載する。ユーザデータ4と管理プログラム3は、記録媒体又は記憶装置に記録されていると良い。記録媒体は、例えばフラッシュメモリ、フレキシブルディスク、コンパクトディスク、MO(Magneto-Optical Disk)、DVD(Digital Versatile Disks)等の記録媒体である。   For example, personal information means information such as name, address, and contact information. As customer information, it is information, such as a customer's full name, a name, an address, a contact address, and the contents of transaction, for example. Hereinafter, such data such as personal information and customer information is simply referred to as user data 4. The user data 4 and the management program 3 may be recorded on a recording medium or a storage device. The recording medium is a recording medium such as a flash memory, a flexible disk, a compact disk, an MO (Magneto-Optical Disk), a DVD (Digital Versatile Disks), and the like.

記憶装置は、USB(Universal Serial Bus)メモリ、メモリカード、ハードディスク等の電子データを記憶して持ち運びできる装置であることができる。クライアントが携帯する上では、ユーザデータ4と管理プログラム3は、同一の記録媒体又は記憶装置に記録されていると良い。また、ユーザデータ4と管理プログラム3は、ネットワークを介してクライアント2に提供することも可能である。ユーザデータ4は、ネットワーク共有フォルダやNAS等のネットワーク型記憶装置によって提供することができる。このように、クライアント側10にユーザデータ4と管理プログラム3を提供する方法は問わない。   The storage device can be a device that can store and carry electronic data such as a USB (Universal Serial Bus) memory, a memory card, and a hard disk. When carried by the client, the user data 4 and the management program 3 are preferably recorded on the same recording medium or storage device. Further, the user data 4 and the management program 3 can be provided to the client 2 via a network. The user data 4 can be provided by a network type storage device such as a network shared folder or NAS. Thus, the method of providing the user data 4 and the management program 3 to the client side 10 does not matter.

図5は、クライアントコンピュータ1の中の記録装置の概要を示すブロック図である。クライアントコンピュータ1の中では、アプリケーションプログラム10が動作している。クライアントコンピュータ1の中では、ファイルシステムドライバ34も動作し、ハードディスクドライブ25とのデータ通信を行っている。ファイルシステムドライバ34と、アプリケーションプログラム10の中間に、ドライバウェア50がある。ドライバウェア50は、アプリケーションプログラム10から出力される命令、要求を監視し、ファイルシステムドライバ34の動作を制御する。   FIG. 5 is a block diagram showing an outline of a recording device in the client computer 1. An application program 10 is operating in the client computer 1. In the client computer 1, the file system driver 34 also operates and performs data communication with the hard disk drive 25. There is driverware 50 between the file system driver 34 and the application program 10. The driverware 50 monitors instructions and requests output from the application program 10 and controls the operation of the file system driver 34.

図5は、図1に図示した、ハードディスクドライブ25の記憶内容を分かりやすく図示したものである。図5は、ハードディスクドライブ25、ハードディスクドライブ25の中のフォルダ7、フォルダ8、フォルダ9を図示している。フォルダ7は、アプリケーションプログラムが一時ファイル用に作成されるフォルダである。フォルダ8は、管理プログラム3が一時ファイル用に作成したフォルダである。管理プログラム3が、アプリケーションプログラムの一時ファイルをフォルダ8の中に、暗号化して保存する。   FIG. 5 shows the stored contents of the hard disk drive 25 shown in FIG. 1 in an easy-to-understand manner. FIG. 5 illustrates the hard disk drive 25, the folder 7, the folder 8, and the folder 9 in the hard disk drive 25. The folder 7 is a folder in which application programs are created for temporary files. The folder 8 is a folder created for the temporary file by the management program 3. The management program 3 encrypts and stores the temporary file of the application program in the folder 8.

アプリケーションプログラムが終了するとき、管理プログラム3がアプリケーションプログラム用に作成した一時ファイルを、フォルダ8の中から削除する。よって、アプリケーションプログラムが終了するときに、ハードディスクドライブ25の中で残っていた一時ファイルは、残らない。フォルダ9は、クライアントのデータである「Userdata」、「data」等のファイルを保存するフォルダである。   When the application program ends, the temporary file created for the application program by the management program 3 is deleted from the folder 8. Accordingly, the temporary file remaining in the hard disk drive 25 does not remain when the application program ends. The folder 9 is a folder for storing files such as “Userdata” and “data” which are client data.

図6は、本発明の第1の実施の形態の動作を示すフローチャートである。まず、クライアントコンピュータ1上で動作している管理プログラム10は、制御モードの状態になる(ステップ10)。その後、アプリケーションプログラム10は、起動され、動作する(ステップ12)。クライアント2は、アプリケーションプログラム10を操作して、ユーザデータ4のファイルを開く。又は、クライアント2は、アプリケーションプログラム10を操作して、ユーザデータ4用に新規のファイルを作成する(ステップ14)。アプリケーションプログラム10は、ユーザデータ4用の一時ファイルを作成する。   FIG. 6 is a flowchart showing the operation of the first exemplary embodiment of the present invention. First, the management program 10 operating on the client computer 1 is in the control mode (step 10). Thereafter, the application program 10 is activated and operates (step 12). The client 2 operates the application program 10 to open the user data 4 file. Alternatively, the client 2 operates the application program 10 to create a new file for the user data 4 (step 14). The application program 10 creates a temporary file for the user data 4.

このとき、アプリケーションプログラム10から、ハードディスク25上にユーザデータ用の一時ファイルを作成する指示を出す(ステップ16)。この指示を、管理プログラム3が受信する(ステップ18)。管理プログラム3は、この指示を受信して、独自のフォルダ(フォルダ8)に、ユーザデータ4用の一時ファイルを作成する(ステップ20)。この一時ファイルは、暗号化される。アプリケーションプログラム10は、クライアント2に操作されて、ユーザデータ4の内容を表示装置に表示する(ステップ22)。又は、アプリケーションプログラム10は、クライアント2に操作されて、ユーザデータ4の内容を編集する(ステップ22)。   At this time, the application program 10 issues an instruction to create a temporary file for user data on the hard disk 25 (step 16). This instruction is received by the management program 3 (step 18). The management program 3 receives this instruction and creates a temporary file for the user data 4 in its own folder (folder 8) (step 20). This temporary file is encrypted. The application program 10 is operated by the client 2 to display the contents of the user data 4 on the display device (step 22). Alternatively, the application program 10 is operated by the client 2 to edit the contents of the user data 4 (step 22).

言い換えると、クライアント2は、ユーザデータ4の内容を表示装置上に閲覧しながら、クライアントコンピュータ1の入力装置を操作して、ユーザデータ4の内容を編集する。この作業中のユーザデータ4の内容は、一時ファイルに保存される。アプリケーションプログラム10は、一時ファイルの内容を、所定時間毎に、実際のユーザデータ4に保存する(ステップ24)。このとき、アプリケーションプログラム10は、一時ファイルの内容を保存する旨の指示を出す。この指示を管理プログラム3が受信し、独自フォルダの一時ファイルの内容をユーザデータ4に更新する。   In other words, the client 2 edits the content of the user data 4 by operating the input device of the client computer 1 while browsing the content of the user data 4 on the display device. The contents of the user data 4 during this work are stored in a temporary file. The application program 10 stores the contents of the temporary file in the actual user data 4 every predetermined time (step 24). At this time, the application program 10 issues an instruction to save the contents of the temporary file. The management program 3 receives this instruction and updates the contents of the temporary file in the unique folder to the user data 4.

また、アプリケーションプログラム10の要求によって、一時ファイルの内容を、実際のユーザデータ4に保存する(ステップ25)。このとき、アプリケーションプログラム10は、一時ファイルの内容を保存する旨の指示を出す。この指示を管理プログラム3が受信し、独自フォルダである一時ファイルの内容をユーザデータ4に更新する。アプリケーションプログラム10は、ユーザデータ4のファイルを閉じるとき、一時ファイルの最新の内容を、ユーザデータ4に保存してから、ユーザデータ4を閉じる(ステップ26)。   Further, the contents of the temporary file are stored in the actual user data 4 in response to a request from the application program 10 (step 25). At this time, the application program 10 issues an instruction to save the contents of the temporary file. The management program 3 receives this instruction, and updates the contents of the temporary file, which is a unique folder, to the user data 4. When closing the file of the user data 4, the application program 10 saves the latest contents of the temporary file in the user data 4 and then closes the user data 4 (step 26).

管理プログラム3は、ユーザデータ4を閉じるとき、一時ファイルの最新の内容を、ユーザデータ4に保存する。そして、管理プログラム3は、一時ファイルを削除する(ステップ28)。このように、上漏洩の一因になっていた、一時ファイルは、削除される。更に、一時ファイルは、補助記憶装置上には、暗号化されて保存されるので、ユーザデータ4を開いているときに、情報漏洩されることはない。   When closing the user data 4, the management program 3 stores the latest contents of the temporary file in the user data 4. Then, the management program 3 deletes the temporary file (step 28). In this way, the temporary file that has contributed to the top leakage is deleted. Further, since the temporary file is encrypted and stored on the auxiliary storage device, information is not leaked when the user data 4 is opened.

図7は、クライアントコンピュータ1において、ユーザデータ4をUSBメモリ5から読み出して閲覧するときの流れを示すフローチャートである。USBメモリ5は、クライアントコンピュータ1に接続される(ステップ50)。クライアントコンピュータ1は、USBメモリ5を認識する(ステップ52)。このとき、オペレーティングシステム11は、PnP機能を利用してUSBメモリ5の接続を検知して、認識する。USBメモリ5のプログラム領域107(図4を参照。)は、クライアントコンピュータ1に認識される。   FIG. 7 is a flowchart showing a flow when the user data 4 is read from the USB memory 5 and browsed in the client computer 1. The USB memory 5 is connected to the client computer 1 (step 50). The client computer 1 recognizes the USB memory 5 (step 52). At this time, the operating system 11 detects and recognizes the connection of the USB memory 5 using the PnP function. The program area 107 (see FIG. 4) of the USB memory 5 is recognized by the client computer 1.

USBメモリ5が認識されると、プログラム領域107に格納されている認証プログラム108が自動起動する(ステップ54)。認証プログラム108は、クライアントコンピュータ1に管理プログラム3がインストールされているか否かの認証を開始する(ステップ54)。認証プログラム108は、クライアントコンピュータ1に管理プログラム3がインストールされているか否かを確認する(ステップ56)。管理プログラム3がクライアントコンピュータ1にインストールされていない場合、クライアント2が管理プログラム3をインストールする必要がある旨のメッセージを出力する(ステップ56、58)。   When the USB memory 5 is recognized, the authentication program 108 stored in the program area 107 is automatically started (step 54). The authentication program 108 starts authentication as to whether or not the management program 3 is installed in the client computer 1 (step 54). The authentication program 108 checks whether or not the management program 3 is installed on the client computer 1 (step 56). If the management program 3 is not installed in the client computer 1, the client 2 outputs a message indicating that the management program 3 needs to be installed (steps 56 and 58).

認証プログラム108は、USBメモリ5のプログラム領域107(図4を参照。)に格納されている管理プログラム3を呼び出してインストールを行う(ステップ58)。又は、クライアント2は、管理プログラム3をインストールする(ステップ58)。管理プログラム3がクライアントコンピュータ1にインストールされている場合、クライアント2の個人認証を行う(ステップ60)。個人認証が成功すると管理プログラム3の制御モードを設定する(ステップ62)。制御モードの設定の詳細については、図9のフローチャートに図示している。   The authentication program 108 calls and installs the management program 3 stored in the program area 107 (see FIG. 4) of the USB memory 5 (step 58). Alternatively, the client 2 installs the management program 3 (step 58). If the management program 3 is installed in the client computer 1, personal authentication of the client 2 is performed (step 60). If the personal authentication is successful, the control mode of the management program 3 is set (step 62). Details of the setting of the control mode are shown in the flowchart of FIG.

管理プログラム3の制御モードの設定が終わると、管理プログラム3は、USBメモリ5のユーザ領域106をクライアントコンピュータ1に認識させる。よって、ユーザ領域106は、クライアントコンピュータ1からアクセスできるようになり、利用可能になる(ステップ66)。ユーザ領域106に格納されているユーザデータ4の読み出しが許可され、暗号化されたユーザデータ4の自動復号化も許可される。ユーザデータ4が、USBメモリ5から読み出される(ステップ68)。USBメモリ5から読み出されたユーザデータ4は、復号化される(ステップ70)。復号化されたユーザデータ4は、クライアントコンピュータ1のディスプレイ等の出力装置に表示される(ステップ72)。   When setting of the control mode of the management program 3 is completed, the management program 3 causes the client computer 1 to recognize the user area 106 of the USB memory 5. Therefore, the user area 106 can be accessed from the client computer 1 and can be used (step 66). Reading of the user data 4 stored in the user area 106 is permitted, and automatic decryption of the encrypted user data 4 is also permitted. User data 4 is read from the USB memory 5 (step 68). The user data 4 read from the USB memory 5 is decrypted (step 70). The decrypted user data 4 is displayed on an output device such as a display of the client computer 1 (step 72).

管理プログラム3は、制御モード(図9の説明を参照。)に入ると、ハードディスクドライブ25、クライアントコンピュータ1に接続されている他の周辺機器にユーザデータ4を保存できないように各装置へのアクセスを制限している。このために、クライアント2は、ユーザデータ4をハードディスクドライブ25、クライアントコンピュータ1に接続されている他の周辺機器等に保存することができない。更に、管理プログラム3は、制御モードに入ると、ネットワーク機能、各種の通信ポート等も使用禁止の設定にしている。   When entering the control mode (see the description of FIG. 9), the management program 3 accesses each device so that the user data 4 cannot be stored in the hard disk drive 25 or other peripheral devices connected to the client computer 1. Is limiting. For this reason, the client 2 cannot store the user data 4 in the hard disk drive 25, other peripheral devices connected to the client computer 1, or the like. Furthermore, when the management program 3 enters the control mode, the network function, various communication ports, and the like are also prohibited from being used.

また、管理プログラム3は、制御モードに入ると、ユーザデータ4を閲覧編集しているアプリケーションプログラム10の他のアプリケーションプログラムで、クリップボードの利用、スクリーンキャプチャ、コピー&ペースト機能等も使用禁止の設定にしている。具体的には、ユーザデータ4を閲覧編集しているアプリケーションプログラム10でクリップボードに入ったデータでは、他のアプリケーションプログラムで利用できない。よって、ユーザデータ4は、閲覧以外の操作ができなくなる。ユーザデータ4は、編集されても、ユーザデータ4が格納されている元のUSBメモリ5のみに保存できる。   In addition, when the management program 3 enters the control mode, the use of the clipboard, screen capture, copy and paste functions, etc. is prohibited by other application programs of the application program 10 viewing and editing the user data 4. ing. Specifically, the data entered into the clipboard by the application program 10 that is viewing and editing the user data 4 cannot be used by other application programs. Therefore, the user data 4 cannot be operated other than browsing. Even if the user data 4 is edited, it can be saved only in the original USB memory 5 in which the user data 4 is stored.

図8は、管理プログラム3の動作を示すフローチャートである。管理プログラム3は、USBメモリ5等の記録媒体等に格納されて、クライアント2に渡される。管理プログラム3は、クライアント2によって、クライアントコンピュータ1にインストールされる(ステップ100)。ただし、管理プログラム3は、認証プログラム108によって、クライアントコンピュータ1に自動的にインストールさせることもできる。管理プログラム3は、起動されて、動作を開始する(ステップ102)。USBメモリ5がクライアントコンピュータ1に接続されると、オペレーティングシステム11はPnP機能を利用してUSBメモリ5の接続を検知して認識する。   FIG. 8 is a flowchart showing the operation of the management program 3. The management program 3 is stored in a recording medium such as the USB memory 5 and passed to the client 2. The management program 3 is installed on the client computer 1 by the client 2 (step 100). However, the management program 3 can be automatically installed in the client computer 1 by the authentication program 108. The management program 3 is activated and starts operating (step 102). When the USB memory 5 is connected to the client computer 1, the operating system 11 detects and recognizes the connection of the USB memory 5 using the PnP function.

USBメモリ5が認識されると、USBメモリ5のプログラム領域107に格納されている認証プログラム108が自動起動する(図7のステップ54)。認証プログラム108は、クライアントコンピュータ1に管理プログラム3がインストールされているかを確認する(図7のステップ56)。管理プログラム3がクライアントコンピュータ1にインストールされている場合、認証プログラム108から管理プログラム3に、制御モードになるように指示され、管理プログラム3が制御モードに設定される(ステップ106)。   When the USB memory 5 is recognized, the authentication program 108 stored in the program area 107 of the USB memory 5 is automatically activated (step 54 in FIG. 7). The authentication program 108 confirms whether the management program 3 is installed in the client computer 1 (step 56 in FIG. 7). If the management program 3 is installed in the client computer 1, the authentication program 108 instructs the management program 3 to enter the control mode, and the management program 3 is set to the control mode (step 106).

管理プログラム3が制御モードに設定されると、管理プログラム3は、USBメモリ5内のユーザ領域106をオペレーティングシステム11に認識させて、利用可能な状態にする(図7のステップ66)。管理プログラム3は、アプリケーションプログラムからUSBメモリ5へのアクセスを監視する。USBメモリ5へのアクセスがあると、それを管理プログラム3が受信する(ステップ108)。管理プログラム3は、アクセスの種類を確認する(ステップ108)。更に、このアクセスが、許可されているアクセスか否かを確認する(ステップ110)。   When the management program 3 is set to the control mode, the management program 3 causes the operating system 11 to recognize the user area 106 in the USB memory 5 and make it usable (step 66 in FIG. 7). The management program 3 monitors access from the application program to the USB memory 5. When there is access to the USB memory 5, the management program 3 receives it (step 108). The management program 3 confirms the type of access (step 108). Further, it is confirmed whether or not this access is permitted access (step 110).

許可されているアクセスのときは、ユーザデータ4をUSBメモリ5から読み出す(ステップ112)。管理プログラム3は、USBメモリ5から読み出したユーザデータ4を復号化する(ステップ114)。復号化されたユーザデータ4は、クライアントコンピュータ1の出力装置に表示される(ステップ116)。許可されていないアクセスのときは、管理プログラム3はそのアクセスを破棄する(ステップ110、120)。このとき、不許可にされたアクセスである旨のメッセージをディスプレイに表示する際、クライアント2が閲覧できるように表示することも可能である(ステップ122)。   When the access is permitted, the user data 4 is read from the USB memory 5 (step 112). The management program 3 decrypts the user data 4 read from the USB memory 5 (step 114). The decrypted user data 4 is displayed on the output device of the client computer 1 (step 116). When the access is not permitted, the management program 3 discards the access (steps 110 and 120). At this time, when the message indicating that the access is prohibited is displayed on the display, the message can be displayed so that the client 2 can browse (step 122).

管理プログラム3は、表示されているユーザデータ4を継続して監視する(ステップ118)。ユーザデータ4は、データの種類によるが、適当なアプリケーションプログラム10を起動させて表示される。例えば、ユーザデータ4は、テキストデータの場合は、テキスト編集用のアプリケーションプログラム10に渡されて表示される。クライアント2は、キーボード16やマウス17等の入力装置を操作しながら、このアプリケーションプログラム10を操作して、ユーザデータ4を閲覧する。しかし、このアプリケーションプログラム10からユーザデータ4を保存することはできない。   The management program 3 continuously monitors the displayed user data 4 (step 118). The user data 4 is displayed by starting an appropriate application program 10 depending on the type of data. For example, in the case of text data, the user data 4 is delivered to the text editing application program 10 and displayed. The client 2 browses the user data 4 by operating the application program 10 while operating input devices such as the keyboard 16 and the mouse 17. However, the user data 4 cannot be saved from the application program 10.

また、ユーザデータ4を利用して新しく作成したファイルも保存することができない。即ち、クライアント2は、ユーザデータ4を閲覧することだけが可能である。制御モードの設定によるが、仮にユーザデータ4を編集すると、このアクセスが中断される。また、ユーザデータ4をハードディスクドライブ25等の記憶装置、記録媒体に記録しょうとすると、それを中断する。ここで、管理プログラム3の制御モードのときの動作について説明する。制御モードは、管理プログラム3がクライアントコンピュータ1のどの機能を監視し、どのようなデータの流れを制御するかを定めたものである。   Also, a newly created file using the user data 4 cannot be saved. That is, the client 2 can only browse the user data 4. Depending on the setting of the control mode, if the user data 4 is edited, this access is interrupted. If user data 4 is to be recorded on a storage device such as the hard disk drive 25 or a recording medium, the user data 4 is interrupted. Here, an operation in the control mode of the management program 3 will be described. The control mode defines which function of the client computer 1 is monitored by the management program 3 and what data flow is controlled.

制御モードがオンとは、管理プログラム3が電子計算機を監視し、クライアントコンピュータ1の機能の一部を制限している状態をいう。制御モードがオフとは、管理プログラム3が電子計算機上に動作しているが、クライアントコンピュータ1の機能を特に制限していない状態をいう。図9は、管理プログラム3が制御モードをオンにするときの動作を示すフローチャートである。図7のステップ62、図8のステップ106に示すように、管理プログラム3が制御モードをオンにする(ステップ130)。このとき、管理プログラム3は、クライアントコンピュータ1に内蔵されたハードディスクドライブ25への書き込みを禁止にする(ステップ131)。   The control mode is on means that the management program 3 monitors the computer and restricts some of the functions of the client computer 1. The control mode is OFF means that the management program 3 is operating on the electronic computer, but the function of the client computer 1 is not particularly limited. FIG. 9 is a flowchart showing an operation when the management program 3 turns on the control mode. As shown in step 62 in FIG. 7 and step 106 in FIG. 8, the management program 3 turns on the control mode (step 130). At this time, the management program 3 prohibits writing to the hard disk drive 25 built in the client computer 1 (step 131).

また、管理プログラム3は、リムーバブルドライブへの書き込みを禁止にする(ステップ132)。このリムーバブルドライブには、USBメモリ5も含まれる。よって、アプリケーションプログラム10又はオペレーティングシステム11からは、USBメモリ5にデータを書き込みしようとするとき、ドライバウェア50がこれを検知して書き込みの動作を中止させる。USBメモリ5、内蔵のハードディスクの他に記録装置があるときは、それらへの書き込みを禁止にする(ステップ134)。書き込みを禁止する記録装置は、例えば、リムーバブルドライブ、フレキシブルディスクドライブ、外付けハードディスク等である。更に、管理プログラム3は、ネットワーク通信の使用を禁止する(ステップ136)。   The management program 3 prohibits writing to the removable drive (step 132). This removable drive also includes a USB memory 5. Therefore, when the application program 10 or the operating system 11 tries to write data to the USB memory 5, the driverware 50 detects this and stops the writing operation. If there is a recording device in addition to the USB memory 5 and the built-in hard disk, writing to them is prohibited (step 134). Examples of the recording device that prohibits writing include a removable drive, a flexible disk drive, and an external hard disk. Furthermore, the management program 3 prohibits the use of network communication (step 136).

例えば、ネットワーク通信の使用としては、ネットワークカード23を介してインターネット、LAN等へのアクセス、コンピュータ同士の通信が含まれる。このUSBメモリ5の他のインターフェースの使用を禁止する。例えば、USB、SCSI、IDE、RS−232C規格のインターフェースの使用を禁止にする(ステップ138)。更に、管理プログラム3は、コピー&ペースト、クリープボードの使用、ネットワーク機能を禁止にする(ステップ139)。また、管理プログラム3は、スクリーンキャプチャの使用も禁止にする(ステップ139)。   For example, the use of network communication includes access to the Internet, LAN, etc. via the network card 23 and communication between computers. Use of the other interface of the USB memory 5 is prohibited. For example, use of USB, SCSI, IDE, and RS-232C standard interfaces is prohibited (step 138). Furthermore, the management program 3 prohibits copy and paste, use of the creep board, and network function (step 139). The management program 3 also prohibits the use of screen capture (step 139).

管理プログラム3は、オペレーティングシステム11の正常な動作に必要なプロセスを指定し、例外設定をする(ステップ140)。例えば、オペレーティングシステム11の動作に必要な「System」等を動作可能にする。管理プログラム3は、起動しているプロセスのプロセス名、プロセスIDを取得する(ステップ142)。管理プログラム3は、取得したプロセス名とプロセスIDを管理テーブルに保存する(ステップ144)。管理プログラム3が制御モードをオンにした後の、ステップ131〜140の各種の設定は、必ずしもこの順番で行う必要はなく、状況に応じて自由自在に組み合わせることができる。   The management program 3 designates a process necessary for normal operation of the operating system 11 and sets an exception (step 140). For example, “System” or the like necessary for the operation of the operating system 11 is made operable. The management program 3 acquires the process name and process ID of the running process (step 142). The management program 3 stores the acquired process name and process ID in the management table (step 144). The various settings in steps 131 to 140 after the management program 3 turns on the control mode do not necessarily need to be performed in this order, and can be freely combined depending on the situation.

USBメモリ5をクライアントコンピュータ1から抜き取ると、オペレーティングシステム11はこれを検知する。USBメモリ5は、オペレーティングシステム11にはリムーバブルドライブとして認識されているため、管理プログラム3はこれを管理プログラム3が格納されているUSBメモリ5であるか否かの確認を行う。この確認では、USBメモリ5が切断されたときは、管理プログラム3は、ステップ131〜140に設定した設定を全て解除する。また、ファイルの自動復号化の設定も解除にする。   When the USB memory 5 is removed from the client computer 1, the operating system 11 detects this. Since the USB memory 5 is recognized as a removable drive by the operating system 11, the management program 3 checks whether this is the USB memory 5 in which the management program 3 is stored. In this confirmation, when the USB memory 5 is disconnected, the management program 3 cancels all the settings set in steps 131 to 140. Also, the setting for automatic decryption of the file is canceled.

図10には、制御部52の動作のフローチャートを示している。ドライバウェア50が制御モードをオンにするように指示されると、制御部52はこの指示を受信し、ファイルアクセスを全て禁止する命令を送信する(ステップ200)。この命令は、インターフェース制御部42、ネットワーク制御部43、ファイルシステム制御部44に送信される(図2を参照)。インターフェース制御部42、ネットワーク制御部43、ファイルシステム制御部44は、この命令を受信して、ファイルアクセスを禁止にする。また、制御プロセスの設定、ネットワーク利用の禁止、クリップボードの利用禁止、スクリーンキャプチャの使用禁止、コピーアンドペースト機能の禁止等を行う。   FIG. 10 shows a flowchart of the operation of the control unit 52. When the driverware 50 is instructed to turn on the control mode, the control unit 52 receives this instruction and transmits a command for prohibiting all file accesses (step 200). This command is transmitted to the interface control unit 42, the network control unit 43, and the file system control unit 44 (see FIG. 2). The interface control unit 42, the network control unit 43, and the file system control unit 44 receive this command and prohibit file access. In addition, control process setting, network use prohibition, clipboard use prohibition, screen capture use prohibition, copy and paste function prohibition, etc. are performed.

エグゼキュティブのプロセスマネージャは、クライアントコンピュータ1上で実行されている全てのプロセスを管理している。ここに、コールバック関数を登録(カーネルのAPIを利用)することで、プロセスの起動・終了のイベントを取得する。実行するプロセスの起動・終了イベントに対して、コールバック関数を設定し、アプリケーションプログラム10の起動と終了を検出できるように設定する。アプリケーションプラットフォームプログラム58が動作しているときに、アプリケーションプログラム10が起動する(ステップ202)。アプリケーションプラットフォームプログラム58は、アプリケーションプログラム10の起動を検出する(ステップ204)。   The executive process manager manages all processes executed on the client computer 1. Here, by registering a callback function (using a kernel API), a process start / end event is acquired. A callback function is set for the start / end event of the process to be executed so that the start and end of the application program 10 can be detected. When the application platform program 58 is operating, the application program 10 is activated (step 202). The application platform program 58 detects the activation of the application program 10 (step 204).

“CreateProcess”の“SUSPEND”(サスペンド)モードで、アプリケーションプログラム10のプロセスが起動され、アプリケーションプラットフォームプログラム58は、このプロセスのハンドルとプロセスIDを取得する。プロセスが“CreateProcess”のサスペンドモードで起動されると、プロセスが一時休止した状態になり、再開されるまでに実行されない。ハンドルは、“CreateProcess”から戻されるプロセスハンドルである。アプリケーションプラットフォームプログラム58は、取得したハンドルとプロセスIDを制御部52に送信する。    In the “SUSPEND” (suspend) mode of “CreateProcess”, the process of the application program 10 is started, and the application platform program 58 acquires the handle and process ID of this process. When a process is started in “CreateProcess” suspend mode, the process is suspended and will not be executed until it is resumed. The handle is a process handle returned from “CreateProcess”. The application platform program 58 transmits the acquired handle and process ID to the control unit 52.

プロセスが起動されると、ファイルシステム制御部44内のコールバック関数を実行し、制御部52へ制御開始を通知する。制御部52は、ハンドルとプロセスIDを取得する(ステップ206)。この取得の詳細な動作について後述する。制御部52は、ファイルシステム制御部44へハンドルとプロセスIDを送信し、プロセスIDから出されるファイルアクセスを許可する設定を行う。ファイルアクセスを許可するように設定する項目はプロセスID、プロセス名、ファイル名、フォルダ名、ファイル操作である。   When the process is activated, the callback function in the file system control unit 44 is executed, and the control unit 52 is notified of the start of control. The control unit 52 acquires the handle and the process ID (Step 206). The detailed operation of this acquisition will be described later. The control unit 52 transmits a handle and a process ID to the file system control unit 44, and performs setting to permit file access issued from the process ID. Items set to permit file access are process ID, process name, file name, folder name, and file operation.

ファイル操作に指定される設定は、読み込み専用(Read Only)と、読み込み書き込み(Read/Write)とのいずれかを許可する設定である(ステップ208)。インターフェース制御部42は、各種のインターフェースを使用禁止に設定する(ステップ210)。また、ネットワーク制御部43は、ネットワーク通信を禁止するように設定する(ステップ210)。これらの一連の設定が終わると、取得したハンドルを使って、サスペンドプロセスを再開する(ステップ212)。そして、アプリケーションプログラム10が動作される。   The setting designated for the file operation is a setting that permits either read-only (Read Only) or read-write (Read / Write) (step 208). The interface control unit 42 sets various interfaces to use prohibition (step 210). Further, the network control unit 43 sets so as to prohibit network communication (step 210). When these series of settings are completed, the suspend process is resumed using the acquired handle (step 212). Then, the application program 10 is operated.

そして、制御部52は、アプリケーションプログラム10が終了するときにオペレーティングシステム11から発される通知である終了イベントを待機する(ステップ214)。アプリケーションプログラム10が終了すると、ファイルシステム制御部44内のコールバック関数を実行し、制御部52へ制御解除を通知する。ファイルシステム制御部44は、プロセス制御リスト150(図14を参照。)によって行われていた制御解除をし、それ以後は、このアプリケーションプログラム10の制御を行わない。無論、このアプリケーションプログラム10がユーザデータ4にアクセスしたときは、制御が再開される。   Then, the control unit 52 waits for an end event that is a notification issued from the operating system 11 when the application program 10 ends (step 214). When the application program 10 ends, the callback function in the file system control unit 44 is executed, and the control release is notified to the control unit 52. The file system control unit 44 cancels the control performed by the process control list 150 (see FIG. 14) and does not control the application program 10 thereafter. Of course, when the application program 10 accesses the user data 4, the control is resumed.

図11は、アプリケーションプログラム10が終了するとき、制御部52の動作を示すフローチャートである。アプリケーションプログラム10は動作し、終了するとき、終了イベントが発生される(ステップ230)。アプリケーションプラットフォームプログラム58は、終了イベントのプロセスIDを取得する。アプリケーションプラットフォームプログラム58は、終了イベントのプロセスIDを制御部52に送信する。制御部52は、終了イベントのプロセスIDを取得する(ステップ232)。   FIG. 11 is a flowchart showing the operation of the control unit 52 when the application program 10 ends. When the application program 10 operates and ends, an end event is generated (step 230). The application platform program 58 acquires the process ID of the end event. The application platform program 58 transmits the process ID of the end event to the control unit 52. The control unit 52 acquires the process ID of the end event (step 232).

制御部52は、ファイルシステム制御部44へ、取得したプロセスIDからファイルアクセスを禁止するように設定する(ステップ234)。そして、インターフェース制御部42へ禁止設定の解除を指示し、インターフェース制御部42は使用禁止に設定したものを解除する(ステップ236)。ネットワーク制御部43に禁止設定の解除を指示し、ネットワーク制御部43には使用禁止に設定したものを解除する(ステップ238)。   The control unit 52 sets the file system control unit 44 to prohibit file access from the acquired process ID (step 234). Then, the interface control unit 42 is instructed to cancel the prohibition setting, and the interface control unit 42 cancels the prohibition setting (step 236). The network control unit 43 is instructed to cancel the prohibition setting, and the network control unit 43 is canceled what has been set to prohibit use (step 238).

図12は、制御部52が使用禁止の除外を設定するときの流れを示すフローチャートである。図7のステップ54、及び56に示す個人認証が成功する(ステップ260)。認証が成功すると、オペレーティングシステム11の動作に不可欠なプロセスを指定、これらのプロセスに何らかの制限をしないようにする必要がある。例えば、オペレーティングシステム11のシステムサービス関連の実行ファイル、その実行ファイルが動作するときのプロセスが使用禁止にされたり、起動できなくなったりするとき、オペレーティングシステム11が提供するサービスに支障ができたり、オペレーティングシステム11自体の動作が不安定になる。   FIG. 12 is a flowchart illustrating a flow when the control unit 52 sets use exclusion exclusion. The personal authentication shown in steps 54 and 56 of FIG. 7 is successful (step 260). If the authentication is successful, it is necessary to designate processes indispensable for the operation of the operating system 11 and not restrict these processes. For example, when an execution file related to a system service of the operating system 11 and a process when the execution file operates are disabled or cannot be started, a service provided by the operating system 11 can be hindered, The operation of the system 11 itself becomes unstable.

そのためには、オペレーティングシステム11の動作に必要な最低限の実行ファイルとプロセスを制限なしに動作させる必要がある。例えば、プロセスとしては、“System”、“Kernel.exe”、“explorer.exe”が例示できる。制御プロセス名、制御ディレクトリは、プロセス制御リスト150に登録される。プロセス制御リスト150は、図14に例示している。制御部52は、プロセス制御リスト150から制御プロセス名、制御ディレクトリを読み込む(ステップ262)。また、一時ファイルをローカルディスクに保存も動作もしないアプリケーションプログラム10がある。   For this purpose, it is necessary to operate the minimum executable files and processes necessary for the operation of the operating system 11 without restriction. For example, “System”, “Kernel.exe”, and “explorer.exe” can be exemplified as processes. The control process name and control directory are registered in the process control list 150. The process control list 150 is illustrated in FIG. The control unit 52 reads the control process name and control directory from the process control list 150 (step 262). There is also an application program 10 that does not store or operate temporary files on the local disk.

このためには、アプリケーションプログラム10が、ローカルディスクに一時ファイルを作成するときに暗号化を行うことにより、一時ファイルが他のアプリケーションプログラムからアクセスできないようにするためにプロセス保護を行う。このプロセス保護は、ドライバウェア50によって、制御中のこのアプリケーションプログラム10以外のアプリケーションプログラムによるプロセスがファイルアクセスを禁止して行う。アプリケーションプログラム10の動作が終了したとき、この一時ファイルは削除される。制御部52は、制御プロセス名からプロセスIDを取得する(ステップ264)。プロセスIDから実際のプログラム(.exeなどのモジュール)名を判断する。   For this purpose, the application program 10 performs process protection in order to prevent the temporary file from being accessed from other application programs by performing encryption when creating the temporary file on the local disk. This process protection is performed by the driverware 50 prohibiting file access by a process by an application program other than the application program 10 being controlled. When the operation of the application program 10 ends, this temporary file is deleted. The control unit 52 acquires the process ID from the control process name (step 264). The actual program (module such as .exe) name is determined from the process ID.

そして、制御部52は、ファイルシステム制御部44へ全て禁止の設定を指示し、ファイルシステム制御部44は全てのプロセスの禁止を設定する(ステップ266)。次に、制御部52は、ファイルシステム制御部44へ制御プロセス名のプロセスIDと、制御ディレクトリの読み込み書き込み(Read/Write)の許可設定を指示する(ステップ268)。ファイルシステム制御部44は、制御部52から送信されてきたプロセスIDとファイルパスと制御モードを受信する(ステップ270)。ファイルシステム制御部44は、プロセスIDとファイルパスと制御モードをプロセス制御リスト150に追加する(ステップ272)。   Then, the control unit 52 instructs the file system control unit 44 to prohibit all settings, and the file system control unit 44 sets prohibition of all processes (step 266). Next, the control unit 52 instructs the file system control unit 44 to set the process ID of the control process name and the permission setting for reading / writing the control directory (Step 268). The file system control unit 44 receives the process ID, file path, and control mode transmitted from the control unit 52 (step 270). The file system control unit 44 adds the process ID, file path, and control mode to the process control list 150 (step 272).

図13は、ファイルシステム制御部34の動作を示す処理フローチャートである。アプリケーションプログラム10又は、オペレーティングシステム11からファイルへアクセスするときにファイルアクセスイベントが発生する(ステップ300)。ファイルシステム制御部44は、制御部52からプロセスIDとファイルパスとファイル操作(Read/Write)を取得する(ステップ302)。このプロセスIDとファイルパスが、プロセス制御リスト150に登録されたものと合致するか否かを確認する(ステップ304〜310)。   FIG. 13 is a process flowchart showing the operation of the file system control unit 34. A file access event occurs when accessing a file from the application program 10 or the operating system 11 (step 300). The file system control unit 44 acquires a process ID, a file path, and a file operation (Read / Write) from the control unit 52 (Step 302). It is confirmed whether or not the process ID and the file path match those registered in the process control list 150 (steps 304 to 310).

このプロセスIDとファイルパスが、プロセス制御リスト150に登録されたものと合致するとき、制御欄の値よりファイルの操作を許可、又は禁止に設定する(ステップ308)。このプロセスIDとファイルパスがプロセス制御リスト150に登録されたものと合致しないとき、制御の値よりファイルの操作を禁止に設定する(ステップ312)。図14には、プロセス制御リスト150の例を図示している。プロセス制御リスト150は、管理プログラム3がインストールされたときに、初期値としてファイルに格納され、ハードディスクドライブ25に保存されるものである。   When the process ID and file path match those registered in the process control list 150, the file operation is set to be permitted or prohibited based on the value in the control column (step 308). When the process ID and the file path do not match those registered in the process control list 150, the file operation is set to be prohibited based on the control value (step 312). FIG. 14 shows an example of the process control list 150. The process control list 150 is stored in a file as an initial value and stored in the hard disk drive 25 when the management program 3 is installed.

プロセス制御リスト150は、必要なとき、編集して変更することも可能である。プロセス制御リスト150には、登録されたものの順番を示す連番欄151、制御対象のプロセス名を示すプロセス名152、制御対象のプロセスIDを示すプロセスID153、ファイルパスを示すファイルパス154、制御の方法を示す制御155のデータ欄がある。制御対象のプロセス名は、上述の説明の一部では制御プロセスとして記述されている。   The process control list 150 can be edited and changed when necessary. The process control list 150 includes a serial number column 151 indicating the order of registered items, a process name 152 indicating a process name to be controlled, a process ID 153 indicating a process ID of a control target, a file path 154 indicating a file path, a control path There is a data field for control 155 indicating the method. The control target process name is described as a control process in part of the above description.

〔プロセス名、プロセスID、及びファイル名の取得について〕
プロセスを検出するためには、次の前処理が実施される。ファイルシステム制御部44において、ファイルアクセスに関する入出力機能の要求(以下、I/O要求とする。)のコールバックを制御部52に来るように設定する。これは、ファイルアクセスに関するI/O要求が全てファイルシステム制御部44を通るため、このI/O要求を制御部52に転送して、制御部52がこれを解析するためである。そして、プロセス制御リスト150をファイルシステム制御部44へ転送し、ファイルシステム制御部44がプロセス制御リスト150に登録されているアクセスが行われているか否かを監視する。
[About acquisition of process name, process ID, and file name]
In order to detect the process, the following pre-processing is performed. In the file system control unit 44, a callback for a request for an input / output function related to file access (hereinafter referred to as an I / O request) is set to come to the control unit 52. This is because all the I / O requests related to file access pass through the file system control unit 44, so that the I / O requests are transferred to the control unit 52, and the control unit 52 analyzes this. Then, the process control list 150 is transferred to the file system control unit 44, and the file system control unit 44 monitors whether or not the access registered in the process control list 150 is being performed.

プロセスを検出するためには、次の実行処理が行われる。アプリケーションプログラム10が、USBメモリ5に格納されているファイルをアクセスしようとする。このとき、アプリケーションプログラム10が、ファイルアクセスに関するI/O要求を発する。このI/O要求は、上述の前処理時に設定された通り、コールバックされて制御部52へ送信される。制御部52では、このI/O要求のコールバックを受信したら、プロセスID、プロセス名、及びファイル名を取得する。プロセスに関連するプロセス名、プロセスID、及びファイル名は次のように取得される。   In order to detect a process, the following execution process is performed. The application program 10 tries to access a file stored in the USB memory 5. At this time, the application program 10 issues an I / O request related to file access. This I / O request is called back and transmitted to the control unit 52 as set during the pre-processing described above. Upon receiving this I / O request callback, the control unit 52 obtains a process ID, a process name, and a file name. The process name, process ID, and file name associated with the process are obtained as follows.

プロセス名を取得するには、“ZwQueryInformationProcess”関数を使い、実行プロセスのイメージパスを取得し、これの実行ファイルexeのファイル名からプロセス名を取得する。プロセスIDを取得するには、PsGetCurrentProcessId()関数を使って現在のプロセスのIDを取得する。ファイル名を取得するには、ファイルのI/O要求に関する入出力(I/O)要求(IRP)から、参照されるファイルオブジェクトよりファイル名を取得する。そして、ファイルシステム制御部44は、I/O要求に関するプロセス名、プロセスID、及びファイル名を、制御部52から受信して、プロセス制御リスト150と比較してファイルアクセスの制御を行う。ファイルシステム制御部44は、プロセス制御リスト150に従ってI/O要求に対するファイルへのアクセスの許可、又は拒否をアプリケーションプログラム10に戻す。   To get the process name, use the “ZwQueryInformationProcess” function, get the image path of the execution process, and get the process name from the file name of the executable file exe. To obtain the process ID, the ID of the current process is obtained using the PsGetCurrentProcessId () function. In order to obtain the file name, the file name is obtained from the referenced file object from the input / output (I / O) request (IRP) related to the file I / O request. Then, the file system control unit 44 receives the process name, process ID, and file name relating to the I / O request from the control unit 52 and controls the file access by comparing with the process control list 150. The file system control unit 44 returns to the application program 10 permission or denial of access to the file in response to the I / O request according to the process control list 150.

〔イベントの検出〕
イベントの検出は、次のように行われる。オペレーティングシステム11のカーネル内のI/O要求は、IRP(IO Request Packet)の形式で行われる。ファイルアクセスに関しては、次の表1に示すIRPが利用される。このIRPを対象にコールバック関数を設定することで、イベント検出を行う。コールバック関数は、エグゼキュティブのプロセスマネージャに登録され、コールバック関数が実行されると参照先のドライバウェア50に制御が移動される。

Figure 0005156559
[Event detection]
The event detection is performed as follows. An I / O request in the kernel of the operating system 11 is made in the form of an IRP (IO Request Packet). For file access, the IRP shown in Table 1 below is used. Event detection is performed by setting a callback function for this IRP. The callback function is registered in the executive process manager, and when the callback function is executed, control is transferred to the driverware 50 that is a reference destination.
Figure 0005156559

管理プログラム3のプログラムによっては、ユーザデータ4を格納しているUSBメモリ5にアクセスしようとするアプリケーションプログラム10、プロセスだけに、ターゲットを絞って制御を行うことができる。このように、クライアントコンピュータ1上で動作する他のアプリケーションプログラム10、オペレーティングシステム11のサービスを無理に制限せずに、ユーザデータ4のみにアクセスする試みのみを監視し、そのアクセスを許可又は不許可して制御を行う。更に、ユーザデータ4にアクセスしているアプリケーションプログラム10、そのプロセスのネットワーク機能、他の記録装置へのアクセスを遮断し、更にクリップボード等のユーザデータ4を複製しそうな機能の使用を禁止する。これによって、ユーザデータ4が外部へ流出されることなく使用することができる。   Depending on the program of the management program 3, it is possible to control only the application program 10 and the process that are trying to access the USB memory 5 in which the user data 4 is stored. In this way, only the attempt to access only the user data 4 is monitored without forcibly limiting the services of the other application programs 10 and the operating system 11 operating on the client computer 1, and the access is permitted or not permitted. Control. Further, the application program 10 accessing the user data 4, the network function of the process, and access to other recording devices are blocked, and the use of functions that are likely to duplicate the user data 4 such as the clipboard is prohibited. As a result, the user data 4 can be used without being leaked to the outside.

〔第2の実施の形態〕
図15には、本発明の第2の実施の形態を示す概念図である。本発明の第2の実施の形態は、上述の第1の実施の形態と基本的に同じであり、異なる部分だけを説明する。本発明の第2の実施の形態においては、一時ファイルは、クライアントコンピュータ1に接続されたUSBメモリ等の補助記録装置に保存される。クライアントコンピュータ1の中では、アプリケーションプログラム10が動作している。ファイルシステムドライバ34も動作し、ハードディスクドライブ25とのデータ通信を行っている。
[Second Embodiment]
FIG. 15 is a conceptual diagram showing a second embodiment of the present invention. The second embodiment of the present invention is basically the same as the above-described first embodiment, and only different parts will be described. In the second embodiment of the present invention, the temporary file is stored in an auxiliary recording device such as a USB memory connected to the client computer 1. An application program 10 is operating in the client computer 1. The file system driver 34 also operates and performs data communication with the hard disk drive 25.

ファイルシステムドライバ34とアプリケーションプログラム10の中間にドライバウェア50がある。ドライバウェア50は、アプリケーションプログラム10から出力される命令、要求を監視し、ファイルシステムドライバ34の動作を制御する。図15には、ハードディスクドライブ25、ハードディスクドライブ25の中のフォルダ7、フォルダ9を図示している。フォルダ7は、アプリケーションプログラムが一時ファイル用に作成されるフォルダである。   There is driverware 50 between the file system driver 34 and the application program 10. The driverware 50 monitors instructions and requests output from the application program 10 and controls the operation of the file system driver 34. FIG. 15 illustrates the hard disk drive 25 and the folders 7 and 9 in the hard disk drive 25. The folder 7 is a folder in which application programs are created for temporary files.

フォルダ8は、管理プログラム3が一時ファイル用に作成したフォルダである。管理プログラム3がアプリケーションプログラムの一時ファイルを、USBメモリ14の中のフォルダ8bの中に、暗号化して保存する。アプリケーションプログラムが終了するとき、管理プログラム3がアプリケーションプログラム用に作成した一時ファイルを、フォルダ8bの中から削除する。よって、アプリケーションプログラムが終了するときに、USBメモリ14の中で一時ファイルは、残らない。   The folder 8 is a folder created for the temporary file by the management program 3. The management program 3 encrypts and saves the temporary file of the application program in the folder 8b in the USB memory 14. When the application program ends, the temporary file created for the application program by the management program 3 is deleted from the folder 8b. Therefore, when the application program ends, no temporary file remains in the USB memory 14.

〔第3の実施の形態〕
図16には、本発明の第3の実施の形態を示す概念図である。本発明の第3の実施の形態は、上述の第1及び第2の実施の形態と基本的に同じであり、異なる部分だけを説明する。本発明の第3の実施の形態においては、クライアントコンピュータ1は、ネットワーク13介して、サーバ100に接続されている。従来、クライアントコンピュータ1に保存されていた一時ファイルは、サーバ100に保存される。
[Third Embodiment]
FIG. 16 is a conceptual diagram showing a third embodiment of the present invention. The third embodiment of the present invention is basically the same as the first and second embodiments described above, and only different parts will be described. In the third embodiment of the present invention, the client computer 1 is connected to the server 100 via the network 13. Conventionally, temporary files stored in the client computer 1 are stored in the server 100.

サーバ100は、中央処理装置(CPU)、RAM、ROM、ネットワークポートを含む各種通信ポート、入出力装置を備えた電子計算機である。クライアントコンピュータ1の中では、アプリケーションプログラム10が動作している。ファイルシステムドライバ34も動作し、ハードディスクドライブ25とのデータ通信を行っている。ファイルシステムドライバ34とアプリケーションプログラム10の中間にドライバウェア50がある。ドライバウェア50は、アプリケーションプログラム10から出力される命令、要求を監視し、ファイルシステムドライバ34の動作を制御する。   The server 100 is an electronic computer that includes a central processing unit (CPU), RAM, ROM, various communication ports including a network port, and input / output devices. An application program 10 is operating in the client computer 1. The file system driver 34 also operates and performs data communication with the hard disk drive 25. There is driverware 50 between the file system driver 34 and the application program 10. The driverware 50 monitors instructions and requests output from the application program 10 and controls the operation of the file system driver 34.

図16には、ハードディスクドライブ25、ハードディスクドライブ25の中のフォルダ7、フォルダ9を図示している。フォルダ7は、アプリケーションプログラム10が一時ファイル用に作成されるフォルダである。フォルダ8は、管理プログラム3が一時ファイル用に作成したフォルダである。管理プログラム3がアプリケーションプログラム10の一時ファイルを、サーバ100の中のフォルダ8cの中に、暗号化して保存する。アプリケーションプログラムが終了するとき、管理プログラム3がアプリケーションプログラム用に作成した一時ファイルを、フォルダ8cの中から削除する。よって、アプリケーションプログラムが終了するときに、サーバ100の中で一時ファイルは、残らない。   FIG. 16 illustrates the hard disk drive 25 and the folders 7 and 9 in the hard disk drive 25. The folder 7 is a folder in which the application program 10 is created for temporary files. The folder 8 is a folder created for the temporary file by the management program 3. The management program 3 encrypts and stores the temporary file of the application program 10 in the folder 8c in the server 100. When the application program ends, the temporary file created for the application program by the management program 3 is deleted from the folder 8c. Therefore, no temporary file remains in the server 100 when the application program ends.

本発明は、ユーザのファイル、データやプログラム等を電子記録媒体に記録して、外部へ提供し、提供先でどのように利用されているかを把握すること可能であり、電子データの緊密な管理が必要な分野に利用すると良い。特に、営業または経理データ等でユーザのデータやファイル等の秘密情報、従業員のデータ管理が必要とされる印刷業界、保険会社、販売店で利用されることが望ましい。更に、電子データの緊密な管理が必要な金融機関、原子力関連の施設、や個人データを扱う端末等の分野に利用されても良い。   The present invention records a user's files, data, programs, etc. on an electronic recording medium, provides them to the outside, and can grasp how they are used by the provider, and manages electronic data closely. It is good to use it for the field that needs In particular, it is desirable to use it in the printing industry, insurance companies, and stores that require management of confidential data such as user data and files in sales or accounting data, and employee data management. Furthermore, the present invention may be used in fields such as financial institutions that require close management of electronic data, facilities related to nuclear power, and terminals that handle personal data.

図1は、本発明の第1の実施の形態の概要を図示している概念図である。FIG. 1 is a conceptual diagram illustrating an outline of a first embodiment of the present invention. 図2は、クライアントコンピュータ1上に動作するソフトウェアの概要を機能ブロックで図示している図である。FIG. 2 is a diagram illustrating an outline of software operating on the client computer 1 in functional blocks. 図3は、オペレーティングシステム11を構成するプログラムの内の代表的なものを図示したブロック図であり、オペレーティングシステム11と、管理プログラム3との関係を図示している図である。FIG. 3 is a block diagram illustrating a representative program constituting the operating system 11, and is a diagram illustrating the relationship between the operating system 11 and the management program 3. 図4は、USBメモリ5の内部構造を示すブロック図である。FIG. 4 is a block diagram showing the internal structure of the USB memory 5. 図5は、クライアントコンピュータ1の補助記録装置の概要を示すブロック図である。FIG. 5 is a block diagram showing an outline of the auxiliary recording device of the client computer 1. 図6は、本発明の第1の実施の形態の動作を示すフローチャートである。FIG. 6 is a flowchart showing the operation of the first exemplary embodiment of the present invention. 図7は、クライアントコンピュータ1において、ユーザデータ4をUSBメモリ5から読み出して閲覧するときの流れを示すフローチャートである。FIG. 7 is a flowchart showing a flow when the user data 4 is read from the USB memory 5 and browsed in the client computer 1. 図8は、管理プログラム3の動作を示すフローチャートである。FIG. 8 is a flowchart showing the operation of the management program 3. 図9は、管理プログラム3が制御モードをオンにするときの動作を示すフローチャートである。FIG. 9 is a flowchart showing an operation when the management program 3 turns on the control mode. 図10は、制御部52の動作のフローチャートを示している。FIG. 10 shows a flowchart of the operation of the control unit 52. 図11は、アプリケーションプログラム10が終了するとき、制御部52の動作を示すフローチャートである。FIG. 11 is a flowchart showing the operation of the control unit 52 when the application program 10 ends. 図12は、制御部52が使用禁止の除外を設定するときの流れを示すフローチャートである。FIG. 12 is a flowchart illustrating a flow when the control unit 52 sets use exclusion exclusion. 図13は、ファイルシステム制御部34の動作を示す処理フローチャートである。FIG. 13 is a process flowchart showing the operation of the file system control unit 34. 図14は、プロセス制御リスト150の例を図示している。FIG. 14 illustrates an example of the process control list 150. 図15は、本発明の第2の実施の形態の概要を示す概念図である(USBメモリ5に一時ファイルが保存される例。)。FIG. 15 is a conceptual diagram showing an outline of the second embodiment of the present invention (example in which a temporary file is stored in the USB memory 5). 図16は、本発明の第3の実施の形態の概要を示す概念図である(ネットワーク13上のサーバ100に一時ファイルが保存される例。)。FIG. 16 is a conceptual diagram showing an outline of the third embodiment of the present invention (an example in which a temporary file is stored in the server 100 on the network 13). 図17は、アプリケーションプログラムが一時ファイルを作成し、これを利用する従来の方法を説明するためのフローチャートである。FIG. 17 is a flowchart for explaining a conventional method in which an application program creates a temporary file and uses it.

符号の説明Explanation of symbols

1…クライアントコンピュータ
2…クライアント
3…管理プログラム
4…ユーザデータ
5…USBメモリ
7…フォルダ(従来の)
8、8a、8b…フォルダ(本発明の)
10…アプリケーションプログラム
11…オペレーティングシステム
13…ネットワーク
16…キーボード
17…マウス
22…コネクタ
23…ネットワークカード
24…USBポート
25…ハードディスク
26…キーボードポート
27マウスポート
30…デバイスドライバ
32…インターフェースドライバ
33…ネットワークドライバ
34…ファイルシステムドライバ
35…キーボードドライバ
36…マウスドライバ
40…デバイスドライバ制御部
42…インターフェース制御部
43…ネットワーク制御部
44…ファイルシステム制御部
45…入力装置制御部
50…ドライバウェア
51…アプリケーションプログラムインターフェース部
52…制御部
53…ログ取得部
54…暗号化部
55…復号化部
100…サーバ
105…基板
106…ユーザ領域
107…プログラム領域
108…認証プログラム
115…認証領域
116…認証データ
150…プロセス制御リスト
DESCRIPTION OF SYMBOLS 1 ... Client computer 2 ... Client 3 ... Management program 4 ... User data 5 ... USB memory 7 ... Folder (conventional)
8, 8a, 8b ... folder (of the present invention)
DESCRIPTION OF SYMBOLS 10 ... Application program 11 ... Operating system 13 ... Network 16 ... Keyboard 17 ... Mouse 22 ... Connector 23 ... Network card 24 ... USB port 25 ... Hard disk 26 ... Keyboard port 27 Mouse port 30 ... Device driver 32 ... Interface driver 33 ... Network driver 34 ... File system driver 35 ... Keyboard driver 36 ... Mouse driver 40 ... Device driver control unit 42 ... Interface control unit 43 ... Network control unit 44 ... File system control unit 45 ... Input device control unit 50 ... Driverware 51 ... Application program interface Unit 52 ... Control unit 53 ... Log acquisition unit 54 ... Encryption unit 55 ... Decryption unit 100 ... Server 10 ... substrate 106 ... user area 107 ... program area 108 ... authentication program 115 ... authentication area 116 ... authentication data 150 ... process control list

Claims (9)

ユーザデータ(4)を格納した記憶装置(25、、100)が前記電子計算機(1)に接続され、前記ユーザデータ(4)が前記電子計算機(1)上に読み出されてアプリケーションプログラム(10)によって閲覧又は編集され、かつ、前記電子計算機(1)の入力装置から入力された入力データによって、前記アプリケーションプログラム(10)が操作されて前記閲覧、又は編集が行われているとき、前記ユーザデータ(4)が前記電子計算機(1)から外部へ漏洩されないように制御するための電子計算機のデータ管理方法であって、
前記電子計算機(1)を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機(1)に接続されているデバイスを直接制御するためのデバイスドライバ(30)同士の通信、又は前記デバイスドライバ(30)と前記電子計算機上で動作するアプリケーションプログラム(10)との通信に共通のインターフェースを提供するためのドライバウェア(50)を前記電子計算機(1)が有し、
前記ドライバウェア(50)は、
前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバ(30)から受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するためのアプリケーションプログラムインターフェース部(51)と、
前記デバイスドライバ(30)へ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバ(30)から前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御部(40)と、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御部(52)と、及び、
前記ドライバウェア(50)は、データを暗号化して暗号化データを作成するための暗号化部(54)、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化部(55)
からなり、
前記アプリケーションプログラム(10)が起動するとき、前記アプリケーションプログラム(10)の動作時に一時使用される一時ファイルを前記記憶装置(25、5、100)上に作成するための一時ファイル作成命令を前記アプリケーションプログラム(10)が出力し、
前記アプリケーションプログラムインターフェース部(51)は、前記一時ファイル作成命令を取得し、
前記デバイスドライバ制御部(40)は、前記アプリケーションプログラムインターフェース部(51)から前記一時ファイル作成命令を受信し、
前記一時ファイルを暗号化部(54)前記一時ファイルを暗号化して、暗号化一時ファイルを作成し、
前記制御部(52)は、前記デバイスドライバ制御部(40)に前記一時ファイル作成命令及び前記暗号化一時ファイルを送信し、
前記デバイスドライバ制御部(40)は、前記記憶装置(25、5、100)を制御するためのデバイスドライバであるファイルシステムドライバ(34)に、前記一時ファイル作成命令及び前記暗号化一時ファイルを送信して、
前記ファイルシステムドライバ(34)は、前記一時ファイル作成命令に従って、前記記憶装置(25、5、100)に前記暗号化一時ファイルを作成し、
前記アプリケーションプログラム(10)から前記一時ファイルを要求するとき、前記ファイルシステムドライバ(34)は、前記記憶装置(25、5、100)から前記暗号化一時ファイルを取得して、前記復号化部(55)によって復号化し、前記一時ファイルを作成し、
ファイルシステムドライバ(34)は、前記デバイスドライバ制御部(40)及び前記アプリケーションプログラムインターフェース部(51)を経由して該一時ファイルを前記アプリケーションプログラム(10)に渡し、
前記アプリケーションプログラム(10)が終了するとき、前記ドライバウェア(50)は、前記ファイルシステムドライバ(34)に、前記暗号化一時ファイルを削除する命令を送信し、
前記ファイルシステムドライバ(34)は、前記暗号化一時ファイルを削除する
ことを特徴とする電子計算機のデータ管理方法。
A storage device ( 25, 5 , 100 ) storing user data (4) is connected to the electronic computer (1), and the user data (4) is read onto the electronic computer (1) to be read by an application program ( 10), when the application program (10) is operated and viewed or edited by the input data input from the input device of the electronic computer (1), A data management method for an electronic computer for controlling user data (4) so as not to be leaked from the electronic computer (1) to the outside,
Device drivers (30) that operate in a kernel mode in which all instructions of the operating system that operates the electronic computer (1) can be executed and directly control devices connected to the electronic computer (1) The electronic computer (1) has driverware (50) for providing a common interface for communication between the device driver (30) and communication between the device driver (30) and the application program (10) operating on the electronic computer. ,
The driverware (50)
The first data including the instruction and / or data output from the application program is received, and the second data including the execution result of the instruction and / or the received data received from the device driver (30) is received as the application program. An application program interface unit (51) for transmitting to
The command and / or the third data including the data is transmitted to the device driver (30), and the fourth data including the execution result of the command and / or the received data is received from the device driver (30). A device driver control unit (40) for
A control unit (52) 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
The driverware (50) includes an encryption unit (54) for encrypting data to create encrypted data, and a decryption unit for decrypting the encrypted data and creating the original data since the result (55),
When the application program (10) is activated, a temporary file creation command for creating on the storage device (25, 5, 100) a temporary file that is temporarily used when the application program (10) is operated. Program (10) outputs
The application program interface unit (51) acquires the temporary file creation command,
The device driver control unit (40) receives the temporary file creation command from the application program interface unit (51),
Encrypting unit the temporary file (54), the temporary file is encrypted, create an encrypted temporary file,
The control unit (52) transmits the temporary file creation command and the encrypted temporary file to the device driver control unit (40),
The device driver control unit (40) transmits the temporary file creation command and the encrypted temporary file to a file system driver (34) which is a device driver for controlling the storage device (25, 5, 100). do it,
The file system driver (34) creates the encrypted temporary file in the storage device (25, 5, 100) according to the temporary file creation instruction,
When requesting the temporary file from the application program (10), the file system driver (34) acquires the encrypted temporary file from the storage device (25, 5, 100) , and the decryption unit ( 55) to create the temporary file,
The file system driver (34) passes the temporary file to the application program (10) via the device driver control unit (40) and the application program interface unit (51),
When the application program (10) ends, the driverware (50) sends an instruction to the file system driver (34) to delete the encrypted temporary file,
The data management method for an electronic computer, wherein the file system driver (34) deletes the encrypted temporary file.
請求項1に記載の電子計算機のデータ管理方法において、The data management method for an electronic computer according to claim 1,
前記ファイルシステムドライバ(34)は、前記一時ファイル作成命令に従って、前記アプリケーションプログラム(10)が作成される前記一時ファイル用の前記一時ファイルフォルダと異なるフォルダである、前記記憶装置(25、5、100)に暗号化一時ファイル用フォルダに、前記暗号化一時ファイルを作成するThe file system driver (34) is a folder different from the temporary file folder for the temporary file in which the application program (10) is created in accordance with the temporary file creation command, the storage device (25, 5, 100). ) Create the encrypted temporary file in the encrypted temporary file folder
ことを特徴とする電子計算機のデータ管理方法。A data management method for an electronic computer.
請求項1又は2に記載の電子計算機のデータ管理方法において、
前記記憶装置(25、5、100)は、前記電子計算機(1)に内蔵又は接続された補助記憶装置(25,5)である
ことを特徴とする電子計算機のデータ管理方法。
In the data management method of the electronic computer of Claim 1 or 2,
The data storage method for an electronic computer, wherein the storage device (25, 5, 100) is an auxiliary storage device (25, 5) built in or connected to the electronic computer (1).
請求項1又は2に記載の電子計算機のデータ管理方法において、
前記記憶装置(25、5、100)は、前記電子計算機(1)が接続されているネットワーク(13)上の記憶装置(100)である
ことを特徴とする電子計算機のデータ管理方法。
In the data management method of the electronic computer of Claim 1 or 2,
The data management method for an electronic computer, wherein the storage device (25, 5, 100) is a storage device (100) on a network (13) to which the electronic computer (1) is connected.
ユーザデータ(4)を格納した記憶装置(25、5、100)が前記電子計算機(12)に接続され、前記ユーザデータ(4)が前記電子計算機(1)上に読み出されてアプリケーションプログラム(10)によって閲覧又は編集され、かつ、前記電子計算機(1)の入力装置から入力された入力データによって前記アプリケーションプログラム(10)が操作されて前記閲覧又は編集が行われているとき、前記ユーザデータ(4)が前記電子計算機(1)から外部へ漏洩されないように制御する機能を電子計算機(1)に実現させるための電子計算機のデータ管理プログラムにおいて、
前記電子計算機(1)を動作させているオペレーティングシステム(11)の全ての命令が実行できるカーネルモードで動作し、前記電子計算機(1)に接続されているデバイスを直接制御するためのデバイスドライバ(30)同士の通信、又は前記デバイスドライバ(30)と前記電子計算機(1)上で動作するアプリケーションプログラム(10)との通信に共通のインターフェースを提供するための機能を有し、かつ、
前記アプリケーションプログラム(10)から出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバ(30)から受信した受信データを含む第2データを、前記アプリケーションプログラム(10)に送信するためのアプリケーションプログラムインターフェース機能(51)と、
前記デバイスドライバ(30)へ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバ(30)から前記命令の実行結果及び/又は前記受信データを含む第4データを受信するためのデバイスドライバ制御機能(40)と、及び、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための制御機能(52)とを前記電子計算機(1)に実現させるためのドライバウェアプログラム(50)を有し、
前記ドライバウェアプログラム(50)は、データを暗号化して暗号化データを作成するための暗号化機能(54)、及び、前記暗号化データを復号化し、元の前記データを作成するための復号化機能(55)を有し、
前記アプリケーションプログラム(10)が起動するとき、前記アプリケーションプログラム(10)から出力された命令で、前記アプリケーションプログラム(10)の動作時に一時使用される一時ファイルを作成するための一時ファイル作成命令を、前記アプリケーションプログラムインターフェース機能(51)が取得するステップと、
前記デバイスドライバ制御機能(40)は、前記アプリケーションプログラムインターフェース機能(51)から、前記一時ファイル作成命令を受信するステップと、
暗号化機能(54)は、前記一時ファイルを暗号化し、暗号化一時ファイルを作成するステップと、
前記制御機能52)は、前記デバイスドライバ制御機能(40)に、前記一時ファイル作成命令及び前記暗号化一時ファイルを送信するステップと、
前記デバイスドライバ制御機能(40)は、前記記憶装置(25、5、100)を制御するためのデバイスドライバであるファイルシステムドライバ(34)に、前記一時ファイル作成命令及び前記暗号化一時ファイルを送信して、前記記憶装置(25、5、100)に前記暗号化一時ファイルを前記ファイルシステムドライバ(34)によって作成させて保存するステップと、
前記アプリケーションプログラム(10)から前記一時ファイルを要求するとき、前記デバイスドライバ制御機能(40)は、前記記憶装置(25、5、100)から前記ファイルシステムドライバ(34)によって取得された前記暗号化一時ファイルを、取得するステップと、
取得された前記暗号化一時ファイルを前記復号化機能(55)によって復号化し、前記一時ファイルを作成するステップと、
前記デバイスドライバ制御機能(40)は、前記アプリケーションプログラムインターフェース機能(51)に、一時ファイルを渡すステップと、
前記アプリケーションプログラムインターフェース機能(51)は、前記デバイスドライバ制御機能(40)から取得した一時ファイルを前記アプリケーションプログラム(10)に渡すステップと、及び、
前記アプリケーションプログラム(10)が終了するとき、前記ドライバウェアプログラム(50)は、前記ファイルシステムドライバ(34)に、前記暗号化一時ファイルを削除する命令を送信して、前記暗号化一時ファイルを削除するステップと
からなることを特徴とする電子計算機のデータ管理プログラム。
A storage device ( 25, 5, 100 ) storing user data (4) is connected to the electronic computer (12), and the user data (4) is read onto the electronic computer (1) to be read by an application program ( 10), when the application program (10) is operated by the input data input from the input device of the electronic computer (1) and the browsing or editing is performed, the user data In a data management program for an electronic computer for causing the electronic computer (1) to perform a function of controlling the electronic computer (1) so that it is not leaked to the outside from the electronic computer (1),
A device driver that operates in a kernel mode in which all instructions of the operating system (11) that operates the electronic computer (1) can be executed and directly controls a device connected to the electronic computer (1). 30) a function for providing a common interface for communication between each other or communication between the device driver (30) and the application program (10) operating on the electronic computer (1), and
First data including instructions and / or data output from the application program (10) is received, and second data including execution results of the instructions and / or received data received from the device driver (30), An application program interface function (51) for transmitting to the application program (10);
The command and / or the third data including the data is transmitted to the device driver (30), and the fourth data including the execution result of the command and / or the received data is received from the device driver (30). Device driver control function (40) for, and
A control function (52) for processing the first data or the fourth data, generating the second data or the third data, and controlling the first to fourth data; 1) having a driverware program (50) for realizing
The driverware program (50) includes an encryption function (54) for encrypting data to create encrypted data, and a decryption for decrypting the encrypted data and creating the original data Function (55),
When the application program (10) is started, a temporary file creation instruction for creating a temporary file that is temporarily used when the application program (10) is operated with an instruction output from the application program (10). Obtaining the application program interface function (51);
The device driver control function (40) receiving the temporary file creation command from the application program interface function (51);
Encryption function (54) encrypts the temporary file, and creating an encrypted temporary file,
The control function ( 52 ) transmits the temporary file creation command and the encrypted temporary file to the device driver control function (40);
The device driver control function (40) transmits the temporary file creation command and the encrypted temporary file to a file system driver (34) which is a device driver for controlling the storage device (25, 5, 100). a step to, to be saved by created by the the encrypted temporary file in the storage device (25,5,100) file system driver (34),
When requesting the temporary file from the application program (10), the device driver control function (40) uses the encryption obtained by the file system driver (34) from the storage device (25, 5, 100) . Obtaining a temporary file; and
Decrypting the obtained encrypted temporary file with the decryption function (55) to create the temporary file;
The device driver control function (40), the application program interface function (51), comprising the steps of passing the temporary file,
The application program interface function (51) includes the steps of passing the temporary file acquired from the device driver control function (40) to said application program (10), and,
When the application program (10) is terminated, the driverware program (50) transmits an instruction to delete the encrypted temporary file to the file system driver (34) to delete the encrypted temporary file. A computer data management program characterized by comprising the steps of:
請求項5に記載の電子計算機のデータ管理プログラムにおいて、The data management program for an electronic computer according to claim 5,
前記ファイルシステムドライバ(34)は、前記一時ファイル作成命令に従って、前記アプリケーションプログラム(10)が作成される前記一時ファイル用の前記一時ファイルフォルダと異なるフォルダである、前記記憶装置(25、5、100)に暗号化一時ファイル用フォルダに、前記暗号化一時ファイルを作成するThe file system driver (34) is a folder different from the temporary file folder for the temporary file in which the application program (10) is created in accordance with the temporary file creation command, the storage device (25, 5, 100). ) Create the encrypted temporary file in the encrypted temporary file folder
ことを特徴とする電子計算機のデータ管理プログラム。A data management program for an electronic computer.
請求項5又は6に記載の電子計算機のデータ管理プログラムにおいて、
前記ドライバウェアプログラム(50)は、ログ取得機能(53)を有する
ことを特徴とする電子計算機のデータ管理プログラム。
The data management program for an electronic computer according to claim 5 or 6,
The driverware program (50) has a log acquisition function (53).
請求項5又は6に記載の電子計算機のデータ管理プログラムにおいて、The data management program for an electronic computer according to claim 5 or 6,
前記記憶装置(25、5、100)は、前記電子計算機(1)に内蔵又は接続された補助記憶装置(25,5)であるThe storage device (25, 5, 100) is an auxiliary storage device (25, 5) built in or connected to the electronic computer (1).
ことを特徴とする電子計算機のデータ管理プログラム。A data management program for an electronic computer.
請求項5又は6に記載の電子計算機のデータ管理プログラムにおいて、The data management program for an electronic computer according to claim 5 or 6,
前記記憶装置(25、5、100)は、前記電子計算機(1)が接続されているネットワーク(13)上の記憶装置(100)であるThe storage device (25, 5, 100) is a storage device (100) on the network (13) to which the electronic computer (1) is connected.
ことを特徴とする電子計算機のデータ管理プログラム。A data management program for an electronic computer.
JP2008238717A 2008-09-17 2008-09-17 Electronic computer data management method and program therefor Active JP5156559B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008238717A JP5156559B2 (en) 2008-09-17 2008-09-17 Electronic computer data management method and program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008238717A JP5156559B2 (en) 2008-09-17 2008-09-17 Electronic computer data management method and program therefor

Publications (2)

Publication Number Publication Date
JP2010072885A JP2010072885A (en) 2010-04-02
JP5156559B2 true JP5156559B2 (en) 2013-03-06

Family

ID=42204613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008238717A Active JP5156559B2 (en) 2008-09-17 2008-09-17 Electronic computer data management method and program therefor

Country Status (1)

Country Link
JP (1) JP5156559B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6761921B2 (en) * 2015-10-28 2020-09-30 サイエンスパーク株式会社 Electronic data management methods, management programs, and program recording media
JP6949338B2 (en) 2019-01-09 2021-10-13 サイエンスパーク株式会社 Electronic data management equipment, electronic data management system, programs and recording media for that purpose
JP2020149332A (en) * 2019-03-13 2020-09-17 株式会社サテライトオフィス Security browser application software

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2776809B2 (en) * 1987-05-29 1998-07-16 株式会社日立製作所 Data evacuation method
US5893920A (en) * 1996-09-30 1999-04-13 International Business Machines Corporation System and method for cache management in mobile user file systems
KR101012222B1 (en) * 2005-10-24 2011-02-11 싸이언스 파크 가부시키가이샤 Electronic computer data management method, and storing medium storing the program for the method
JP4593549B2 (en) * 2006-11-08 2010-12-08 Necシステムテクノロジー株式会社 File automatic decryption encryption system and program

Also Published As

Publication number Publication date
JP2010072885A (en) 2010-04-02

Similar Documents

Publication Publication Date Title
JP4787263B2 (en) Data management method for computer, program, and recording medium
JP4681053B2 (en) Data management method for computer, program, and recording medium
JP5379520B2 (en) Digital content management computer, program therefor, program recording medium, and digital content management system
JP4516598B2 (en) How to control document copying
KR100975133B1 (en) Security management system for portable memory devices and security management method using the same
JP4737762B2 (en) Confidential information management program
JP5156559B2 (en) Electronic computer data management method and program therefor
JP2007148466A (en) Portable storage device and os
JP2006343887A (en) Storage medium, server device, and information security system
KR101055287B1 (en) How to manage temporary files used by applications
JP2008176707A (en) Usb memory for monitoring screen of computer
JP2009230587A (en) Data management method of electronic computer, and program therefor
US20030076537A1 (en) Solid state memory device and a method of document reproduction
JP2021174432A (en) Electronic data management method, electronic data management device, and program and storage medium for the same
EP3910485B1 (en) Electronic data management device, electronic data management system, program therefor, and recording medium
JP4516816B2 (en) Write log acquisition device and method for recording medium, and program therefor
JP2011039716A (en) Information storage medium and information system
JP5295156B2 (en) Information processing apparatus and software unauthorized use prevention method
TWI263432B (en) Data security method for storage apparatus and storage media and electronic device
WO2008075442A1 (en) Drive shield
JP2003242005A (en) Document management method, document management system, and document management device
WO2009066901A2 (en) Method for encrypting digital file, method for decrypting digital file, apparatus for processing digital file and apparatus for converting encryption format

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121025

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: 20121112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121210

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5156559

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250