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

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

Info

Publication number
WO2020144961A1
WO2020144961A1 PCT/JP2019/046306 JP2019046306W WO2020144961A1 WO 2020144961 A1 WO2020144961 A1 WO 2020144961A1 JP 2019046306 W JP2019046306 W JP 2019046306W WO 2020144961 A1 WO2020144961 A1 WO 2020144961A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
electronic
data management
electronic data
management device
Prior art date
Application number
PCT/JP2019/046306
Other languages
English (en)
French (fr)
Inventor
幸市郎 小路
Original Assignee
サイエンスパーク株式会社
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 サイエンスパーク株式会社 filed Critical サイエンスパーク株式会社
Priority to JP2020565614A priority Critical patent/JP6949338B2/ja
Priority to EP19909520.9A priority patent/EP3910485B1/en
Priority to US17/421,722 priority patent/US11874954B2/en
Priority to CN201980088443.1A priority patent/CN113302598B/zh
Publication of WO2020144961A1 publication Critical patent/WO2020144961A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Definitions

  • the present invention relates to an electronic data management device, an electronic data management system, and a program and a recording medium therefor for preventing and managing electronic data from leaking from an electronic computer by using a volatile storage means.
  • the electronic computer includes a central processing unit, a main storage device, an input/output unit, a power supply unit, and the like, and examples thereof include a desktop personal computer, a notebook personal computer, a smartphone, and a server.
  • the user accesses the auxiliary storage device built in or external to the electronic computer, browses and edits the file, transmits it to another person via the network, and installs or connects it in the electronic computer or another electronic computer. Transfer and copy to the device that is being used and use it.
  • a file is, of course, a history of accessing the file or a storage device storing the file, particularly browsing, editing, copying of the file, It is important to manage the electronic data strictly by acquiring the history of printing and sending. Further, in recent years, it has become common to connect an electronic computer to a network, store electronic data in a network folder on the network, and download and use the electronic data in the electronic computer.
  • auxiliary storage device such as a flash memory connected to the electronic computer, a temporary file (Temporary file) such as an application program, a dump function of the operating system.
  • Temporal file such as an application program
  • the hibernation function is used to store the contents of the main memory (RAM: Random Access Memory) in the auxiliary memory.
  • the electronic data stored in the auxiliary storage device of the electronic computer may leak information due to loss of the electronic computer, unauthorized access to the electronic computer, duplication of electronic data of the electronic computer by the user, etc.
  • Various preventive measures have been implemented and proposed. For example, when storing electronic data in an auxiliary storage device connected to an electronic computer, measures are taken by encrypting the electronic data or authenticating the auxiliary storage device (for example, Patent Document 1).
  • the program of the system for data management of the contents disclosed in Patent Document 1 is designed so that the user data of the client stored in the non-volatile memory cannot be used for any purpose other than the purpose by the electronic computer which processes it. In addition, it controls the computer. In this system, the user data is recorded only in the non-volatile memory approved by the computer, but the computer is controlled by other means so as not to be taken outside.
  • Patent Document 2 discloses a data management system that prevents information leakage due to a temporary file created on a client computer and stored therein.
  • This data management system is a folder different from the temporary file folder designated by the application program for temporary files generated by the application program, and is a hard disk of the client computer, a USB memory connected to the client computer, and a network. It is encrypted and saved in a folder created on the server. This prevents information leakage due to temporary files even while the application program is operating.
  • Patent Document 3 when a computer is suspected to have been stolen or lost, a constantly operating built-in theft reaction subsystem that encrypts the data of the computer is disclosed (see Patent Document 3).
  • This system has a function of encrypting the data of the computer or the entire storage of the computer even in the case of the hibernation function of the computer.
  • Patent Document 4 there is also proposed a method of preventing leakage of confidential information when the electronic computer shifts to a hibernation state.
  • the data in the memory area (security area) allocated to the application in the volatile memory is saved.
  • the hibernation data is generated and stored in the non-volatile memory so as not to include it.
  • the computer writes the hibernation data from the non-volatile memory back to the volatile memory and then calls the function passed with the memory area allocation request to reproduce the security data by the application.
  • a part of the main storage device has been used as a pseudo auxiliary storage device for making dataless, and this is called a RAM disk or the like.
  • Writing of data to an auxiliary storage device of an electronic computer is prohibited, the data is written to a RAM disk and redirected, and the data is written to a virtual disk on a network (Patent Document 5). If this function is used, the data will be saved in a virtual drive on the network without being left on the local disk of the computer.
  • the dump function of the operating system is basically performed to verify crashes and malfunctions of the operating system and application programs.
  • the contents recorded in the storage device of the electronic computer are collectively displayed, printed, or recorded, and the collected contents are expressed as a dump.
  • the dump is the content of the main storage device when data processing is performed by the electronic computer, and is the content in which the data when data processing by the central processing unit (CPU) is output in time series.
  • this dump file it is possible to obtain the user data that the running application program was using, and it is also said to be a security hole that a malicious user can crack.
  • the dump file is used for software verification, etc., it is automatically output, which is a problem when the computer is lost, discarded, transferred to another person, or leased.
  • the Hibernation function is one of the functions that the operating system has.
  • the hibernation function interrupts the work before the power is turned off, and the contents held in the main storage device are duplicated and stored in the auxiliary storage device.
  • the electronic computer reads out the contents of the main storage device stored from the auxiliary storage device, operates them, and continues the interrupted work.
  • the content of the file being edited is saved in the auxiliary storage device and the computer is turned off when hibernation.
  • the contents of hibernation are stored again in the main memory from the auxiliary memory, and the work of the file can be continued.
  • the hibernation function includes hibernation (sleep) (for Windows (registered trademark)), Software Suspend (for macOS (registered trademark)), Userspace Software Suspend (for LINUX (registered trademark)), operating system, etc. It may be uniquely expressed by the system and is implemented in various operating systems. Using the hibernation function has the advantage that the operating system can be restarted at high speed.
  • the hibernation function is saved as a hibernation file (hiberfil.sys) in the auxiliary storage device, especially in the system drive of the operating system in the case of Windows.
  • the electronic computer can restart the work before power-off by reading this file at the next startup.
  • the hibernation function is used when the computer is turned off, put into a temporary hibernation state, and then started up at high speed.
  • the hibernation function becomes a huge file and is written each time the power is turned off, so the free space in the auxiliary storage device is pressed and the life of the auxiliary storage device is affected.
  • "/hibernate” or “/h” option is set as “powercfg /h off” or “powercfg /h on”. Although it can be used, this setting can be selectively used by the user.
  • the startup time of the computer can be shortened, but it is not possible to reliably prevent user data from being leaked by the hibernation function.
  • the hibernation function is not used, the start-up time of the electronic computer becomes long, but the user data is not leaked by the hibernation function.
  • the data stored in the auxiliary storage device by the hibernation function and the dump function has a drawback that the contents of the data can be obtained by analyzing the auxiliary storage device.
  • the user data stored in the auxiliary storage device may be leaked due to the hibernation function, the dump function, or the like, which is a problem.
  • An object of the present invention is to provide an electronic data management device, an electronic data management system, a program therefor and a recording medium therefor, which uses volatile storage means to reliably protect electronic data of an electronic computer and prevent information leakage. Especially.
  • Another object of the present invention is to provide an electronic data management device, an electronic data management system, a program therefor, and a recording medium for preventing electronic data used in an electronic computer from being leaked by a hibernation function, a dump function, etc. of an operating system. To provide.
  • the present invention adopts the following means in order to achieve the above object.
  • the present invention is an electronic data management device, an electronic data management system, a program therefor, and a recording medium.
  • the electronic data management device of the present invention is Computers that communicate with network storage, which is a storage means on the network that can communicate with each other, Central processing means for processing data according to program code, A main storage unit that holds the program code, or the program code and the data; A non-volatile auxiliary storage means for storing the content data of the main storage means when the program code and the electronic computer are paused, An input means for inputting an instruction command or the data, Output means for outputting the result of the processing to the outside, and The network connection means for connecting to the network, User data consisting of an application program operating on the electronic computer or electronic data used by a user is obtained by operating the application program by the application program or by input data input from the input means.
  • the user computer comprises the electronic computer having an electronic data leakage prevention function for preventing and controlling the leakage to the outside,
  • the electronic data management device Virtual storage means assigned to the network storage, Volatile storage means resident in the main storage means and functioning as pseudo auxiliary storage means that is the virtual auxiliary storage device;
  • the application program opens the user data, the user data is obtained from a storage destination and stored in the volatile storage means, and when the user data is closed and stored, the user data is stored in the volatile storage.
  • Control means for acquiring from the means and storing via the virtual storage means, An encryption unit that encrypts the user data when the user data is stored in the volatile storage unit, and When the user data is provided from the volatile storage means to the application program, the decryption means decrypts the encrypted user data.
  • the electronic data management device of the present invention may have the following features.
  • the storage destination is the network storage
  • the electronic computer may include cloud synchronization means for synchronizing the user data in the volatile storage means with the user data in the network storage via the virtual storage means.
  • the electronic computer operates in a kernel mode capable of executing all instructions of an operating system operating the electronic computer, and communication between device drivers for directly controlling a device connected to the electronic computer, or A communication device between the device driver and the application program operating on the electronic computer, and a driverware unit for providing a common interface
  • the driverware means includes a virtual storage means driver that is the device driver for controlling the virtual storage means, and a volatile storage means driver that is the device driver for controlling the volatile storage means, A file system controller for controlling the output of the operating system via a file system driver,
  • the file system control unit acquires an operation of the application program to open the user data from the virtual storage unit driver, acquires the user data from the cloud synchronization unit, and acquires the user data via the volatile storage unit driver.
  • the user data may be stored in the volatile storage unit by transmitting it to the volatile storage unit.
  • the electronic data management device When the electronic data management device is terminated by the suspend function for making the electronic computer stand by, the electronic data management device authenticates by the authenticating means for confirming the authenticity of the user of the electronic computer, and when the authentication cannot be normally performed, the suspend It is preferable to include a data deleting unit that deletes the data saved immediately before the end by the function and/or the data saved by the suspend function.
  • the electronic data management device terminates the operation of the electronic computer, saves the working data in the auxiliary storage means, terminates by the suspend function that makes the electronic computer stand by, and restarts the electronic computer.
  • Authentication is performed by an authentication unit that confirms the authenticity of the user, and when the authentication cannot be performed normally, a group consisting of the data management device, the application program, the virtual disk, the virtual storage unit, and the volatile storage unit. It is preferable to include an initialization unit that performs one or more initializations selected from the above.
  • the authenticating means is selected from the group consisting of a password authenticating means, a fingerprint authenticating means, a face authenticating means, a server authenticating means by an authenticating server, an IC card authenticating means, a vein authenticating means, a glow authenticating means and a two-factor authenticating means. It is preferable that the authentication means is one or more.
  • the data deleting means may be executed based on the information in the timetable indicating the time zone in which the data is deleted.
  • the data deleting means becomes invalid when the electronic data management device is located in the area range permitted based on the position information by the mobile communication base station or the Global Navigation Satellite System (GNSS).
  • the deleting unit may be executed when the electronic data management device is located outside the area range.
  • the data deleting means may be executed when the electronic data management device cannot communicate with the authentication device.
  • the data deleting means may be executed when the time information acquired by the electronic data management device from the time information means is outside the set time.
  • the electronic data management system of the present invention is A network that can communicate with each other,
  • An electronic data management system including a network storage that is a storage unit on the network, and an electronic computer that communicates with the network storage that is a storage unit on the network,
  • the electronic computer is Central processing means for processing data according to program code, A main storage unit that holds the program code, or the program code and the data;
  • a non-volatile auxiliary storage means for storing the content data of the main storage means when the program code and the electronic computer are paused,
  • An input means for inputting an instruction command or the data,
  • An output unit for outputting the result of the processing to the outside, and a network connection unit for connecting to the network
  • User data consisting of electronic data to be used by an application program or a user operating on the electronic computer, by the application program, or by operating the application program by the input data input from the input means, When viewed, edited or changed,
  • the electronic data management system including the electronic computer having an electronic data leakage prevention function for preventing and
  • Control means for acquiring from the means and storing via the virtual storage means, An encryption unit that encrypts the user data when the user data is stored in the volatile storage unit, and When the user data is provided from the volatile storage unit to the application program, the decryption unit decrypts the encrypted user data.
  • the electronic data management system of the present invention preferably has the following features.
  • the storage destination is the network storage
  • the electronic computer comprises cloud synchronization means for synchronizing the user data in the volatile storage means with the user data in the network storage via the virtual storage means.
  • the electronic computer operates in a kernel mode capable of executing all instructions of an operating system operating the electronic computer, and communication between device drivers for directly controlling a device connected to the electronic computer, or A driver ware means for providing a common interface for communication between the device driver and the application program operating on the electronic computer;
  • the driverware means includes a virtual storage means driver that is the device driver for controlling the virtual storage means, and a volatile storage means driver that is the device driver for controlling the volatile storage means,
  • a file system control unit for controlling via a file system driver that controls the operating system is provided.
  • the file system control unit acquires an operation of the application program to open the user data from the virtual storage unit driver, acquires the user data from the cloud synchronization unit, and acquires the user data via the volatile storage unit driver.
  • the data may be transmitted to the volatile storage means and stored in the volatile storage means.
  • the electronic data management device when terminated by a suspend function for holding the electronic computer on standby, performs authentication by an authentication unit that confirms the authenticity of the user of the electronic computer, When the authentication is not normally performed, it is preferable to include a data deleting unit that deletes the data saved immediately before the end by the suspend function and/or the data saved by the suspend function.
  • the electronic data management device terminates the operation of the electronic computer, saves the working data in the auxiliary storage means, terminates by the suspend function that makes the electronic computer stand by, and restarts the electronic computer.
  • an initialization unit that performs one or more initializations selected from the group consisting of the data management device, the application program, the virtual disk, the virtual storage unit, and the volatile storage unit. It is good to have.
  • the authenticating means is selected from the group consisting of a password authenticating means, a fingerprint authenticating means, a face authenticating means, a server authenticating means by an authenticating server, an IC card authenticating means, a vein authenticating means, a glow authenticating means and a two-factor authenticating means. It is preferable that the authentication means is one or more.
  • the data deleting means may be executed based on the information in the timetable indicating the time zone in which the data is deleted.
  • the data deleting means becomes invalid when the electronic data management device is located within the area range permitted based on the position information by the mobile communication base station or the global navigation satellite system, and the data deleting means is It may be executed when the electronic data management device is located outside the area range.
  • the data deleting means may be executed when the electronic data management device cannot communicate with the authentication device.
  • the data deleting means may be executed when the time information acquired by the electronic data management device from the time information means is outside the set time.
  • the electronic data management device program of the present invention is Computers that communicate with network storage, which is a storage means on the network that can communicate with each other, Central processing means for processing data according to program code, A main storage unit that holds the program code, or the program code and the data; A non-volatile auxiliary storage means for storing the content data of the main storage means when the program code and the electronic computer are paused, An input means for inputting an instruction command or the data, An output unit for outputting the result of the processing to the outside, and a network connection unit for connecting to the network, User data consisting of electronic data to be used by an application program or a user operating on the electronic computer, by the application program, or by operating the application program by the input data input from the input means, When viewed, edited or changed, In an electronic data management device comprising the electronic computer having an electronic data leakage prevention function for preventing and controlling the user data from leaking to the outside, Creating a virtual storage means assigned to the network storage; Controlling the virtual storage means, Generating volatile storage means resident in the
  • the electronic data management device program of the present invention preferably has the following features.
  • the electronic data management device The first data including the command and/or the data output from the application program is received, and the second data including the execution result of the command and/or the received data received from the device driver is transmitted to the application program.
  • An application program interface unit that causes the electronic computer to execute a function for The electronic device has a function of transmitting third data including the command and/or the data to the device driver and receiving fourth data including the execution result of the command and/or the received data from the device driver.
  • a device driver control unit that causes the computer to execute, A control unit that processes the first data or the fourth data, generates the second data or the third data, and causes the electronic computer to execute a function for controlling the first to fourth data; And An encryption unit that causes the computer to execute a function for encrypting data to create encrypted data, and a function for decrypting the encrypted data and creating the original data in the computer. It consists of a decryption unit to execute, It operates in a kernel mode capable of executing all the instructions of the operating system which operates the electronic computer, and the device drivers communicate with each other for directly controlling the device connected to the electronic computer, or with the device driver.
  • the device driver control unit includes a virtual storage unit driver that is the device driver for controlling the virtual storage unit, and a volatile storage unit driver that is the device driver for controlling the volatile storage unit, A file system controller for controlling the output of the operating system via a file system driver, The file system controller is Obtaining the operation of the application program opening the user data from the virtual storage means driver, Obtaining the user data from the cloud synchronization means, Transmitting the acquired user data to the volatile storage means via the volatile storage means driver; and It is preferable that the electronic data management apparatus execute the step of storing the transmitted user data in the volatile storage means.
  • the storage destination is the network storage, and may be a cloud synchronization program that causes the electronic data management device to execute a function of synchronizing the user data of the volatile storage means with the network storage via the virtual storage means. ..
  • the electronic data management device program A suspend step of terminating the electronic data management device by a suspend function of making the electronic computer stand by, A suspend authentication step of performing authentication by an authentication means for confirming the authenticity of the user of the electronic data management device when the suspend step starts, and If the authentication is not successful, the electronic data management device may be caused to execute a data deletion step of deleting the data saved immediately before the end by the suspend function and/or the data saved by the suspend function. ..
  • the program for the electronic data management device A suspend step of terminating the electronic data management device by a suspend function of storing the data being worked in the auxiliary storage means when the operation of the electronic data management device is terminated, A suspend authentication step of performing authentication by an authentication means for confirming the authenticity of the user of the electronic data management device when the electronic data management device is restarted after termination; If the authentication cannot be normally performed, initialization is performed by performing one or more initializations selected from the group consisting of the electronic data management device, the application program, the virtual disk, the virtual storage unit, and the volatile storage unit. The steps may be executed by the electronic data management device.
  • the suspending authentication step is selected from the group consisting of password authenticating means, fingerprint authenticating means, face authenticating means, server authenticating means by an authenticating server, IC card authenticating means, vein authenticating means, glow authenticating means and two-factor authenticating means. It is advisable to cause the electronic data management device to perform an authentication step by one or more authentication means.
  • the electronic data management device program may cause the electronic data management device to execute the data deleting step based on information in a time table indicating a time period in which the electronic data management device is executed.
  • the electronic data management device program When the electronic data management device is located in the area range permitted based on the position information by the mobile communication base station or Global Navigation Satellite System (GNSS), the data deleting step is not executed, The electronic data management device may be caused to execute the data deleting step when the electronic data management device is located outside the area range.
  • GNSS Global Navigation Satellite System
  • the electronic data management device program may cause the electronic data management device to execute the data deleting step when the electronic data management device cannot communicate with the authentication device.
  • the electronic data management device program may cause the electronic data management device to execute the data deleting step when the time information acquired by the electronic data management device from the time information means is outside the set time.
  • the recording medium of the electronic data management device program of the present invention is a recording medium of the electronic data management device program in which the above electronic data management device program is recorded.
  • the present invention uses the volatile storage means of an electronic computer as a work folder, stores electronic data in a network storage, and uses user data when the operation of an application program ends or the power of the electronic computer is cut off. By deleting all of them, the electronic data of the electronic computer could be protected securely and the information leakage could be prevented.
  • the present invention controls volatile storage means by driverware means of an electronic computer, backs up electronic data in the volatile storage means to a network folder constantly or periodically, and particularly encrypts user data to be stored by a hibernation function. It was possible to prevent information leakage by backing up to a local auxiliary storage means as it is.
  • the present invention controls the volatile storage means by the driverware means of the electronic computer, always or regularly backs up the electronic data of the volatile storage means to a network folder, and particularly stores user data to be saved by the dump function. It was possible to prevent information leakage by backing up to the local auxiliary storage means with the data encrypted.
  • FIG. 1 is a block diagram showing an outline of an electronic data management system 1 for a computer according to a first embodiment of the present invention.
  • FIG. 2 is a functional block diagram illustrating an example of the hardware configuration of the user terminal 2 of the electronic data management system for electronic computer 1 according to the first embodiment of this invention.
  • FIG. 3 is a functional block diagram showing an example of a software environment operating on the user terminal 2 of the electronic data management system 1 for an electronic computer according to the first embodiment of the present invention.
  • FIG. 4 is a functional block diagram illustrating an outline of software on the user terminal 2 of the electronic data management system 1 for an electronic computer according to the first embodiment of this invention.
  • FIG. 5 is a flowchart showing an outline of operation of the electronic data management system 1 for electronic computer according to the first embodiment of the present invention.
  • FIG. 6 is a flowchart showing an operation example of the management program in the electronic data management system 1 for electronic computer according to the first embodiment of the present invention.
  • FIG. 7 is a flowchart showing an operation example of the control unit 52 of the driverware 34 in the electronic data management system 1 for electronic computer according to the first embodiment of the present invention.
  • FIG. 8 is a flowchart showing an operation example of the driverware 34 in the electronic data management system 1 for an electronic computer according to the first embodiment of the present invention.
  • FIG. 9 is a flowchart showing another operation example of the control unit 52 of the driverware 34 in the electronic data management system 1 for electronic computer according to the first embodiment of the present invention.
  • FIG. 7 is a flowchart showing an operation example of the control unit 52 of the driverware 34 in the electronic data management system 1 for electronic computer according to the first embodiment of the present invention.
  • FIG. 8 is a flowchart showing an operation example of the driverware 34 in the electronic data management system 1 for an electronic computer according to the first embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating an example of the flow of using user data in the electronic data management system 1 for electronic computer according to the first embodiment of this invention.
  • FIG. 11 is a flowchart showing the operation when the user terminal 2 enters the suspend mode.
  • FIG. 12 is a flowchart showing the operation when the user terminal 2 is activated from the suspended state.
  • FIG. 13 is a flowchart showing another example of the operation in which the user terminal 2 is activated from the suspend state.
  • FIG. 14 is a flowchart showing a procedure for controlling data when the user terminal 2 satisfies a specific condition.
  • FIG. 1 is a block diagram showing the outline of an electronic data management system 1 for an electronic computer according to the first embodiment of the present invention.
  • the electronic data management system 1 for electronic computers uses a volatile storage means of the electronic computers to prevent leakage of electronic data of the electronic computers.
  • the electronic data management system 1 for an electronic computer stores user data during work in a volatile auxiliary storage means of the electronic computer.
  • the electronic data management system 1 for an electronic computer stores user data used by an application program operating on an electronic computer in a network storage on a network without storing the user data in a local auxiliary storage device. Prevent leakage of electronic data from electronic computers.
  • the application program uses a RAM disk, which is a volatile storage unit, as a work folder.
  • the electronic computer that is connected to the network and operates stores encrypted electronic data in a storage device on the network.
  • the electronic data management system 1 for an electronic computer uses, as a specific solution means, a technology of driverware (registered trademark of the present applicant) to control an electronic computer and store electronic data in a storage device on a network. Safe and fast transfer to.
  • a pseudo storage means is set in the main storage device of the electronic computer, and the application program and electronic data are handled on this pseudo storage device.
  • the electronic data management system 1 for electronic computer shown in FIG. 1 includes a user terminal 2, a network storage 3, a network 4 and the like.
  • the user terminal 2 is an electronic computer operated by a user, and user data used by the user terminal 2 is basically stored in the network storage 3.
  • the network storage 3 is a storage connected to the user terminal 2 by a communication network such as the network 4.
  • the network storage 3 is also called an auxiliary storage device on the network 4 or a cloud storage.
  • the user terminal 2 and the network storage 3 are connected to a network 4 such as the Internet.
  • the user terminal 2 acquires user data from the network storage 3 via the network 4.
  • the user data includes user data used in the user terminal 2, user data created in the user terminal 2 by deriving from this user data, newly created new user data, and so on. It is simply expressed as "user data" including the data of.
  • the user data is transmitted from the user terminal 2 to the network storage 3 via the network 4 and stored in the network storage 3.
  • the network storage 3 is for storing and saving user data used by the user terminal 2.
  • the network storage 3 is a storage device of a web server or a file server (not shown), in other words, a non-volatile auxiliary storage device.
  • the network storage 3 is a storage device that is connected to the user terminal 2 via the network 4, such as a storage device installed in a dedicated server, a network storage that is distributed and managed, or a cloud service storage (cloud storage). is there.
  • the network storage 3 means any storage device including a cloud storage as long as it stores user data.
  • the network 4 is any known wired or wireless communication network, but is preferably a local area network (LAN) or the Internet. In the present embodiment, the network 4 will be described as the Internet.
  • the user terminal 2 is an electronic computer that the user operates and uses (details will be described later).
  • the user terminal 2 can be directly connected to the network 4, but although not shown, it is generally connected and used via a communication means such as a wireless gateway, a proxy server, a router, a wireless access point, or the like. Therefore, the electronic data management system 1 for an electronic computer of the present invention includes these communication means.
  • the fact that the user terminal 2 is connected to the network 4 and the means therefor are not the gist of the invention, so a detailed description thereof will be omitted.
  • electronic data to be communicated is encrypted and mutually transmitted/received according to a predetermined communication protocol.
  • a predetermined communication protocol any communication protocol can be used, but a protocol based on the ISO reference model, particularly a protocol generally used in the Internet such as TCP/IP is preferable.
  • the user data is stored in the RAM disk 7 on the main storage device 5 of the user terminal 2 and used.
  • a plurality of folders 8 are created in the RAM disk 7, and a folder 9 is created in the general-purpose auxiliary storage device 6 (nonvolatile storage device) to operate. From the viewpoint of the user who uses the user terminal 2 and the application program running on the user terminal 2, the user terminal 2 operates exactly like a general-purpose auxiliary storage device and its folder.
  • the user data is encrypted and transmitted to the network storage 3 via the network 4 according to a predetermined communication protocol.
  • the network storage 3 stores the encrypted user data in a predetermined folder 11.
  • the folder 11 may be a folder assigned to each user terminal 2 or a folder assigned to each user.
  • the user terminal 2 acquires data from the network storage 3 via the network 4. This communication flow is stylized in FIG. 1 by a broken line.
  • the user terminal 2 can set a schedule for each folder 8 when saving (backing up or synchronizing) the contents of the RAM disk 7 in the network storage 3.
  • the user terminal 2 transmits the entire contents of the designated folder 8 or the RAM disk 7.
  • the user terminal 2 transmits the difference of the contents of the RAM disk 7 or the folder 8 for the previous transmission to the network storage 3.
  • the user terminal 2 includes a main storage device 5, an auxiliary storage device 6, and a RAM disk 7 in the main storage device 5 as storage means. ..
  • the main storage device 5 is a RAM (Random Access Memory) of an electronic computer, which is a volatile memory. When the power supply is lost, the data stored in the main storage device 5 is volatilized (disappeared) and disappears.
  • the RAM disk 7 is a pseudo storage device.
  • auxiliary storage device In an electronic computer, application programs and user data are usually stored in an auxiliary storage device.
  • the application program has its program code read from the auxiliary storage device, stored in the main storage device and executed, and the data necessary for the application program is read from the auxiliary storage device and processed.
  • the application program When the application program acquires and processes the data from the network, the application program may store the data acquired from the network in the cache area of the auxiliary storage device, and then the application program may acquire and process the data from the cache area. is there.
  • the electronic data management system 1 for an electronic computer of the present invention does not store the working data in the auxiliary storage device of the electronic computer, but is provided in the main storage device of the user terminal 2 and serves as an auxiliary storage device. The working data is stored in the operating pseudo auxiliary storage device.
  • such a pseudo auxiliary storage device is provided as a RAM disk 7 in the main storage device 5.
  • the RAM disk 7 is a storage device resident in the main storage device 5. Specifically, it is an area in which a part of the area of the main storage device 5 is allocated as the RAM disk 7.
  • a control application program such as driverware 34 (see FIG. 3) is read from the auxiliary storage device 6 of the user terminal 2 and expanded on the main storage device 5. Operate.
  • the area of the RAM disk 7 is secured in the main storage device 5 and registered as a storage device in the file system of the operating system 30 of the user terminal 2. Therefore, the RAM disk 7 becomes a virtual auxiliary storage device or a pseudo auxiliary storage device, and operates as an auxiliary storage device.
  • the RAM disk 7 is handled in the user terminal 2 in the same manner as other auxiliary storage devices such as the auxiliary storage device 6 of the user terminal 2.
  • the application program operates by using the RAM disk 7 as a working storage device and the folder 8 in the RAM disk 7 as a working folder. At this time, the application program operates by obtaining necessary user data from the network storage 3 via the network 4 or the like, storing the user data on the RAM disk 7, and using the user data.
  • the encrypted contents of the RAM disk 7 are stored in the local auxiliary storage device by the hibernation function, but the contents cannot be read because they are encrypted.
  • the hibernation function is executed, or when the hibernation function is not executed and the user terminal 2 is powered off, the contents of the main storage device 5 and the contents of the RAM disk 7 are erased, so that the user data and the like are leaked. None.
  • the user terminal 2 When the user terminal 2 outputs the content of the main storage device 5 for the dump function, the user terminal 2 also outputs the encrypted content of the RAM disk 7 and stores it in a local auxiliary storage device such as the auxiliary storage device 6 as a dump file. It
  • FIG. 2 mainly shows an example of the hardware configuration of the user terminal 2.
  • FIG. 3 shows an outline of the user terminal 2 including a software environment that mainly operates on the user terminal 2.
  • the user terminal 2 is a general-purpose electronic computer including a central processing unit, a main storage unit, an input unit, an output unit, and the like.
  • the block diagram of FIG. 2 illustrates an example of the configuration of the user terminal 2.
  • the user terminal 2 includes a central processing unit (CPU) 21, a main storage device 5, an input interface 22, an output interface 23, a bus 24, a power supply unit 26, and an input device 27 stored in the main body 20. , An output device 28 and the like.
  • the main body 20 includes a central processing unit 21, a main memory 5, an input interface 22, an output interface 23, a main board (not shown) equipped with a bus 24, a power supply unit 26, and the like.
  • the power supply unit 26 is for supplying power to each component, device, etc. of the user terminal 2, and is composed of a battery, a commercial power supply adapter or the like, but a detailed description thereof is omitted.
  • the input device 27, the output device 28, and the like are peripheral devices that are used by connecting to the main body 20, but in the case of an integrated electronic computer such as a notebook electronic computer, they must be built in or integrally formed with the main body 20. You can A touch panel having an input function and an output function can also be used as the input device 27 and/or the output device 28.
  • the user terminal 2 includes a built-in auxiliary storage device 6 and an external auxiliary storage device 29 as auxiliary storage devices.
  • the user terminal 2 also includes an auxiliary storage device interface 25 for the external auxiliary storage device 29.
  • the main storage device 5, the central processing unit 21, the input interface 22, and the output interface 23 are connected to each other by a bus 24, and send and receive data to and from each other via the bus 24.
  • the auxiliary storage device interface 25 is a kind of the input interface 22 and/or the output interface 23 (collectively referred to as an input/output interface), but is an essential component of the invention for the external auxiliary storage device 29. So it is illustrated here.
  • the external auxiliary storage device 29 is a device having basically the same function as the auxiliary storage device 6, and hereinafter, only the auxiliary storage device 6 will be described as an example.
  • the main storage device 5 is a storage device such as a RAM.
  • the central processing unit 21 controls the operation of the user terminal 2, and controls the operation of the user terminal 2 while the program stored in the main memory 5 sequentially processes and executes the instructions of the program.
  • An input device 27 such as a mouse or a keyboard is connected to the input interface 22.
  • the auxiliary storage device 6 and the external auxiliary storage device 29 are nonvolatile storage devices such as an HDD (Hard Disk Drive) and an SSD (Solid State Drive).
  • the auxiliary storage device 6 stores an operating system, application programs, electronic data, and the like.
  • the application program is usually called, expanded in the main storage device 5, and operated.
  • the user terminal 2 has a large number of interfaces for connecting other devices such as a communication board like the network card 37 shown in FIGS. 3 and 4, but the present invention is directed to interfaces. Therefore, the detailed description is omitted.
  • FIG. 3 shows an outline of software operating on the user terminal 2.
  • the operating system 30 is operating, and the application program 33 is operating on the platform provided by the operating system 30.
  • the user terminal 2 includes a network card (LAN card) 37, a device 36 such as an auxiliary storage device 6.
  • the RAM disk 7 is shown by a broken line, which means that the RAM disk 7 does not physically exist independently but operates by software using a part of the physical memory in the main storage device 5. It is a pseudo storage device.
  • the cloud virtual storage device 10 shown by a broken line is a dedicated storage device that sends and receives data to and from the network storage 3.
  • the cloud virtual storage device 10 is a virtual storage device (pseudo storage device) that operates as software.
  • this virtual memory device is a pseudo auxiliary memory device that does not have the actual condition of the area for storing data and appears as an auxiliary memory device from the user's side. Is redirected to.
  • These devices 36 are controlled by device drivers 35 such as a network driver 37a, a disk driver 6a, a RAM disk driver 7a, a cloud virtual disk driver 10a, and a file system driver 39.
  • the network card 37 is controlled by the network driver 37a, and the auxiliary storage device 6 is controlled by the disk driver 6a.
  • the RAM disk 7 and the cloud virtual storage device 10 are controlled by the RAM disk driver 7a and the cloud virtual disk driver 10a, respectively.
  • the file system driver 39 controls storage device drivers such as the disk driver 6a, the RAM disk driver 7a, and the cloud virtual disk driver 10a.
  • the file system driver 39 serves as a window for the input/output function (I/O function) of the operating system 30 with respect to the auxiliary storage devices such as the auxiliary storage device 6, the RAM disk 7, and the cloud virtual storage device 10. Become and control.
  • the operating system 30 originally controls the device 36 with the device driver 35 via its input/output function (I/O function).
  • the operating system 30 has a kernel mode 31 in which all the instructions included in the operating system 30 can be executed, and a user mode 32 in which some instructions are restricted.
  • the application program 33 operating on the user terminal 2 operates in the user mode 32.
  • Some application programs 33 operate in the kernel mode 31, but this is limited to special programs that directly access system resources.
  • a general-purpose application program, particularly an object-oriented application program basically operates in the user mode 32, and when accessing the kernel mode 31, uses functions such as an input/output function provided by the operating system 30.
  • auxiliary storage device 6 has the above-described function and includes one or more units. Hereinafter, although only one auxiliary storage device 6 will be described as an example, the present invention is not limited to this.
  • the auxiliary storage device 6 stores the source code of the operating system 30, the program code necessary for the operation of the user terminal 2, various application programs 33, modules, etc. (hereinafter, simply operating system 30, application). Program 33, module, etc.). Further, user data can be stored in the auxiliary storage device 6.
  • the user data is generally stored in the auxiliary storage device 6 with or without encryption, according to the user's request, the specifications of the application program 33, or the like.
  • the user data is the application program 33, electronic data used by the user, and the like.
  • User data is not particularly limited, but is a text file, still image file, video file, audio file, document file of various formats (Word, pdf, etc.), computer program code file, executable file (.exe file) , Communication history, operation history of application program, backup file of operating system or application program, various temporary files, files of any format such as memory contents, and backup files thereof.
  • the user terminal 2 includes a hardware device 36 such as a network card 37 and an auxiliary storage device 6, and a device driver 35 that is software for controlling the device 36.
  • the device driver 35 is located between the operating system 30 and the device 36, and transmits/receives data between them.
  • the operating system 30 uses the I/O function to control the device 36 via the device driver 35.
  • the I/O function can be accessed with the device 36 by exposing a predetermined function as a partial function of the operating system 30, and the device driver 35 uses this to perform data transmission/reception.
  • the user terminal 2 includes the RAM disk 7 described above.
  • the RAM disk 7 is a pseudo device, but is the same as the device 36 such as the network card 37 and the auxiliary storage device 6, as if it were a hardware device. Works like ware. Therefore, the RAM disk driver 7a is arranged in the device driver 35 between the operating system 30 and the RAM disk 7 to control the RAM disk 7.
  • the virtual memory device for cloud 10 is a pseudo device, but similarly operates as hardware.
  • the application platform program 38 is located between the application program 33 and the operating system 30, controls communication between the application program 33 and the operating system 30, and operates in the user mode 32.
  • the application platform program 38 operates jointly with the driverware 34, transmits the communication data acquired in the user mode 32 to the driverware 34, and controls the application program 33 and the operating system 30 by the instruction of the driverware 34. Is.
  • the cloud synchronization unit 12 is a dedicated application program or module for communicating with the network storage 3 (see FIG. 1), and operates in the user mode 32.
  • the cloud synchronization unit 12 operates jointly with the driverware 34 to synchronize the cloud virtual storage device 10 with the network storage 3.
  • the cloud synchronization unit 12 acquires the data in the cloud virtual storage device 10 via the file system driver 39 and the driverware 34.
  • the cloud synchronization unit 12 transmits the acquired data to the network storage 3 via the driverware 34, the network driver 37a, and the network card 37.
  • the cloud synchronization unit 12 acquires data from the network storage 3 via the network card 37, the network driver 37a, and the driverware 34, and stores the driverware 34 and the file system driver 39 in the cloud virtual storage device 10. Store via.
  • a general-purpose service that provides cloud storage basically provides an interface (I/F) in user mode, and in order to access it, access is performed by the cloud synchronization unit 12 that operates in user mode. Therefore, in order to obtain the access right, when connecting to the cloud storage for the first time, the cloud storage account (ID and password) is input in the user mode by using the standard-provided I/F.
  • FIG. 4 illustrates an outline of software that operates on the user terminal 2, including the driverware 34.
  • An outline of the operating system 30, the driverware 34, and the like that operate on the user terminal 2 will be described with reference to this figure.
  • the operating system 30 will be described by taking as an example Windows from Microsoft Corporation Windows XP (registered trademark) or later.
  • the user terminal 2 includes an operating system 30 operating as software, driverware 34, and the like, and a network card 37, an auxiliary storage device 6, a keyboard port 43, a mouse port 44, and the like as hardware (device 36) in the main body 20. There is.
  • the user terminal 2 has a hardware abstraction layer (HAL) 47 located between software and hardware.
  • the driverware 34 is a program that operates in the kernel mode 31 of the operating system 30.
  • the user terminal 2 includes an input/output device such as a keyboard 45 connected to the keyboard port 43, a mouse 46 connected to the mouse port 44, and a display (not shown).
  • the user terminal 2 has a connector for connecting with a peripheral device, and the connector is a serial port such as SATA, RS-232C, IrDA, USB, IEEE1394, or a parallel port such as IEEE1284, SCSI, IDE. Some are preferred.
  • the keyboard port 43 and the mouse port 44 are one of the connectors.
  • the user terminal 2 can have peripheral devices such as a scanner and a printer, and is connected to the connector.
  • the application program 33 running on the user terminal 2 uses the function provided by the operating system 30 to perform input/output from the input/output device and perform necessary processing.
  • the application program 33 is an executable file or software that operates in the kernel mode 31 or the user mode 32 of the operating system 30.
  • the application program 33 is word processing software, software for creating and editing a document such as a text editor, and software for browsing, creating, and editing a file of a specific format such as a pdf file. ..
  • the operating system 30 provides input/output functions from the input/output device such as input from the keyboard 45, input from the mouse 46 and screen output, and basic functions such as management of the storage device and the memory. It is software for operating and managing the entire 2.
  • the operating system 30 is also called basic software.
  • the operating system 30 is composed of a large number of executable programs to realize the functions provided by the operating system 30.
  • the operating system 30 includes a kernel 40, an executive 41, a subsystem 42, a device driver 35, a HAL 47, and the like.
  • the subsystem 42 is a service provided in the user mode 32 of the operating system 30.
  • the executive 41 provides basic services of the operating system 30, such as memory management, process and thread management, security, I/O (input/output), network, and interprocess communication.
  • the kernel 40 provides low-level functions such as thread scheduling, interrupts, exception notification, multiprocessor synchronization, and so on.
  • the kernel 40 also provides a set of routines and basic objects to be used inside the executive 41.
  • the device driver 35 is normally created for each piece of hardware connected to the user terminal 2 and directly controls the device 36 via the HAL 47.
  • the device driver 35 converts an input/output function request (I/O call request) from the application program 33 or the operating system 30 into an input/output function request (I/O request) for a specific device 36, and a file.
  • I/O call request an input/output function request
  • I/O request an input/output function request
  • the HAL 47 is a code layer for separating and abstracting the kernel 40, the device driver 35, and the executive 41 from the hardware functions specific to the platform.
  • the HAL 47 absorbs the difference between the built-in device of the user terminal 2 and the model and type of hardware such as an external device connected to the user terminal 2 and provides an abstracted service to each service of the operating system 30. To do.
  • the various services that make up the operating system 30 can access the hardware without being aware of the differences between the hardware models and types. As described above, the typical configuration and function of the operating system 30 have been described, but the details are omitted to the related books and web sources, and the details are omitted.
  • the driverware 34 is for realizing transmission/reception of data between the device drivers 35 in the kernel mode 31.
  • the data can be transferred at high speed and the security of the data can be ensured. Therefore, there is an advantage that a large amount of data can be transferred at high speed in a short time.
  • the driverware 34 provides a common interface when accessing the device driver 35 from the application program 33 and when transmitting data from the device driver 35 to the application program 33.
  • the driverware 34 operates in the kernel mode 31 of the operating system 30.
  • the driverware 34 has a function of providing and controlling data transmission/reception not only between the device drivers 35 but also between the operating system 30 and the device driver 35.
  • the driverware 34 is a well-known technique disclosed in, for example, WO02/091195 proposed by the present applicant as an interface driver program for an electronic computer.
  • the driverware 34 has an application program interface unit 51 for receiving commands and data from the application program 33 and transmitting data to the application program 33.
  • the driverware 34 has a control unit 52 for controlling the overall operation of the driverware 34. It also has a log acquisition unit 53 for acquiring a history of the operation of the driverware 34.
  • the driverware 34 has an encryption unit 54 for encrypting the data to be communicated and a decryption unit 55 for decrypting the encrypted data.
  • the driverware 34 has a device driver control unit 60 for controlling the device driver 35.
  • the device driver control unit 60 can control a plurality of device drivers 35 with one device driver control unit 60, if they are created for each device driver 35 or have a common function or the like.
  • the control unit 52 controls and monitors other parts of the driverware 34 such as the device driver control unit 60, the application program interface unit 51, the log acquisition unit 53, the encryption unit 54, and the decryption unit 55. , The core part of the driverware 34.
  • the device driver control unit 60 includes a control unit for controlling each device driver 35.
  • the RAM disk control unit 58 is for creating the RAM disk 7 and making settings therefor.
  • the device driver 35 is described as being attached to the operating system 30.
  • the network driver 37a is a device driver for controlling the network card 37.
  • the file system driver 39 manages information about files and folders stored in the auxiliary storage device 6, and provides access to the files and folders stored in the auxiliary storage device 6.
  • the file system driver 39 is an IDE (Integrated Drive Electronics), ATA (Advanced Technology Attachment), SATA (Serial ATA), SCSI (Small Computer System Interface), USB (Universal Serial Bus) connected to the user terminal 2.
  • IDE Integrated Drive Electronics
  • ATA Advanced Technology Attachment
  • SATA Serial ATA
  • SCSI Serial Computer System Interface
  • USB Universal Serial Bus
  • the driverware 34 receives the command and/or data output from the application program 33, and transmits the execution result of this command and/or the received data received from the device driver 35 to the application program 33.
  • the application program interface unit 51 of FIG. the driverware 34 has a device driver control unit 60 for transmitting the command and/or data to the device driver 35 and receiving the execution result of the command and/or the received data from the device driver 35.
  • the driverware 34 has a control unit 52 for processing these instructions and/or data, generating output data, and controlling the data.
  • the driverware 34 has an encryption unit 54 for encrypting data to create encrypted data, and a decryption unit 55 for decrypting the encrypted data and creating original data.
  • it has a log acquisition unit 53 for acquiring and storing a history of the operation of the driverware 34.
  • the log acquisition unit 53 particularly acquires and records a history of operations of the control unit 52.
  • Each of the control units 56 to 59 of the device driver control unit 60 is controlled by the control unit 52, or receives an instruction or data from the control unit 52 and transmits or transfers it to the device driver 35.
  • the device driver control unit 60 receives data as a result of executing the above-mentioned instruction from the device driver 35, and transmits the data to the control unit 52.
  • the driverware 34 is a core part that controls the user terminal 2, and particularly controls the operation of each device of the user terminal 2.
  • the application platform program 38 (see FIGS. 3 and 4) is application software that operates in the user mode 32 of the operating system 30.
  • the application platform program 38 is an application program that is located between the application program 33 and the operating system 30 and that mediates and controls the transmission and reception of instructions and data between them.
  • the application platform program 38 provides a user interface for accessing the file system from the operating system 30.
  • the application platform program 38 has a function of monitoring the activation of the application program 33 and the activation of the process associated therewith, and acquiring these attribute information.
  • FIG. 5 is a flowchart showing an operation outline of the user terminal 2 of the electronic data management system 1 for electronic computer according to the first embodiment of the present invention.
  • the user terminal 2 is powered on and activated (step 1).
  • the operating system 30 starts up on the user terminal 2, performs initial processing, and the driverware 34 starts up (steps 2 and 3).
  • the RAM disk control unit 58 for creating the RAM disk 7 is activated, the area for the RAM disk 7 is secured in the main storage device 5, and the setting for the RAM disk 7 is performed by the operating system 30 and the driverware 34. (Step 4).
  • the area required for the RAM disk 7, in other words, the memory size resident in the main storage device 5 is preset as a standard size such as 500 MB, 1 GB, 4 GB, etc. Can be specified during operation.
  • the driverware 34 controls the device driver 35, the driverware 34 controls the file system driver 39, etc., and sets the RAM disk 7 to operate as a main auxiliary storage device.
  • the RAM disk 7 is registered in the I/O function of the operating system 30 as an auxiliary storage device. Further, the RAM disk driver 7a is read and cooperates with the file system driver 39. As a result, the RAM disk 7 is recognized by the file system driver 39 and the operating system 30 as a normal auxiliary storage device.
  • the RAM disk 7 is formatted. This allows access from the application program 33, the operating system 30, and the like.
  • the program of the cloud synchronization unit 12 is started, the cloud virtual storage device 10 is generated, and the setting for it is performed by the operating system 30 and the driverware 34 (steps 5 and 6).
  • the cloud virtual storage device 10 is registered in the I/O function of the operating system 30 as an auxiliary storage device.
  • the cloud virtual disk driver 10a is read and linked with the file system driver 39.
  • the file system driver 39 and the operating system 30 recognize the cloud virtual storage device 10 as an auxiliary storage device. As a result, it becomes accessible from the application program 33 and the operating system 30.
  • the user terminal 2 connects to the network 4 (see FIG. 1) and connects to the network storage 3 (step 7). In other words, the user terminal 2 establishes a communication link with the network storage 3. As a result, the user is ready to use the user terminal 2.
  • the application program 33 operates on the user terminal 2 to perform data processing and the like (step 8).
  • the application program 33 operates on the user terminal 2. Specifically, it operates according to a request of a user or another application program, a service of the operating system 30, or an instruction.
  • the application program 33 operates by being read from the auxiliary storage device 6 or the network storage 3.
  • the application program 33 which is a virtual disk with no substance, can access the network storage 3 via the cloud virtual storage device 10.
  • the driverware 34 transmits the contents of the RAM disk 7 to the network storage 3 (see FIG. 1), and the folder 11 for the RAM disk 7 in the network storage 3 and the cloud virtual storage device 10 synchronize with each other. Take (step 9).
  • the user terminal 2 regularly monitors the work and continues or ends the work (steps 10 and 11).
  • the cloudware 12 When the driverware 34 detects that the application program 33 has saved the user data in the cloud virtual storage device 10, the cloudware 12 is notified.
  • the cloud synchronization unit 12 confirms the contents of the RAM disk 7, and immediately synchronizes the unsynchronized file with the network storage 3 and ends the processing (step 12). In other words, the remaining data that has been synchronized is synchronized.
  • the user terminal 2 turns off the power. At this time, the contents of the main storage device 5 are erased, and accordingly, the contents of the RAM disk 7 are also erased (step 13).
  • the user data used by the application program 33 does not remain in the user terminal 2 and is deleted from the user terminal 2. Therefore, for the user, no user data remains in the user terminal 2, and information leakage and security of the user data are guaranteed.
  • the driverware 34 is provided as a management program together with the application platform program 38 and the cloud synchronization unit 12.
  • the management program is provided by being stored in a recording medium or the like.
  • the management program is stored in the network storage 3 on the network 4, other file server, or application providing site, and can be downloaded from the user terminal 2 and installed.
  • the management program is provided by any method.
  • the management program is installed in the user terminal 2 (step 30), and the license authentication of the management program, the terminal authentication of the user terminal 2 and the user authentication are performed in a predetermined procedure (step 31).
  • the user terminal 2 can be prepared for use.
  • the RAM disk 7 is set in the main storage device 5 (step 32).
  • the setting of the RAM disk 7 is performed by the RAM disk control unit 58 incorporated in the driverware 34. The setting method has been described above.
  • the cloud synchronization unit 12 used for synchronizing with the network storage 3 is activated, and the cloud virtual storage device 10 is set (steps 33 and 34).
  • the cloud synchronization unit 12 is a related program included in the management program. At this time, the cloud virtual storage device 10 is set and registered in the I/O function of the operating system 30.
  • the above-mentioned setting of the RAM disk 7 and the cloud virtual storage device 10 can be performed in any order.
  • the user terminal 2 is connected to the network 4 and the network storage 3 (step 35), and user authentication and the like are performed (step 36).
  • this authentication is normally completed, the user terminal 2 is connected to the network storage 3, and electronic data such as a file is transmitted from the user terminal 2 to the network storage 3 for storage, or electronic data is received from the network storage 3. (Step 37).
  • FIG. 8 is a flowchart showing the operation when the management program turns on the control mode.
  • the management program has a control mode for controlling the electronic computer.
  • the control mode of the management program is turned on to control the electronic computer.
  • the installed management program does not control the computer and the computer operates as usual.
  • the control mode is turned on (step 50).
  • the management program confirms the auxiliary storage device connected to the user terminal 2 (step 51).
  • the RAM disk 7 and the cloud virtual storage device 10 are also checked. This confirmation is made by checking whether or not the RAM disk 7 and the cloud virtual storage device 10 are included in the auxiliary storage device recognized by the operating system 30.
  • auxiliary storage device 6 built in the user terminal 2 (step 52).
  • the storage devices such as the USB memory, the removable drive, the flexible disk drive, and the external auxiliary storage device 29 (see FIG. 2) are write-protected.
  • the data recording is restricted to the recording device that can take out the data from the user terminal 2.
  • the RAM disk 7 and the cloud virtual storage device 10 do not prohibit writing.
  • the built-in auxiliary storage device 6 is necessary for the operation of the operating system 30, and is not subject to access restrictions such as write protection. Therefore, when the application program 33 or the operating system 30 tries to write data to the storage device that is subject to these data recording restrictions, the driverware 34 detects this and stops the writing operation.
  • the management program sets the communication port for communicating with the network 4 (step 53).
  • Communication to the network 4 includes wired or wireless communication to the Internet, LAN, etc. via the network card 37, and wired or wireless communication between computers. With this setting, only the communication ports required for the user terminal 2 are permitted to be used, and unnecessary ports are prohibited.
  • This is selected and set by the user, administrator, etc., and can be selected by the user when the management program is installed or when its control mode is turned on. Interfaces other than the above communication ports of the user terminal are prohibited from use. For example, the USB, SCSI, IDE, and RS-232C standard interfaces are prohibited from use (step 54).
  • the management program prohibits the use of copy & paste, use of clipboard, network function, and screen capture (step 55). However, the user, the administrator, etc., do not prohibit the use of all of them if they want to use them in whole or in part. Finally, the management program specifies a process required for the normal operation of the operating system 30 and sets an exception (step 56).
  • the System process required for the operation of the operating system 30 is made operable.
  • the various settings in steps 51 to 56 after the management program turns on the control mode do not necessarily have to be performed in this order, and can be freely combined depending on the situation.
  • the management program sets the RAM disk 7 (step 57).
  • the main disk used as a work drive is selected and set, and a work folder corresponding to the cloud virtual storage device 10 is created or set in the RAM disk 7.
  • the cloud virtual storage device 10 is set as a virtual storage device of the network storage 3, and only paths are set for the application program 33, the operating system 30, and the like.
  • the substance data is downloaded from the network storage 3 and stored in the RAM disk 7. Therefore, in the setting of the RAM disk 7, the setting for mapping the RAM disk 7 to the cloud virtual storage device 10 is made. .. In addition, various settings for transferring the user data stored in the RAM disk 7 to the network storage 3 are performed. Settings relating to the cloud storage device 10 are performed (step 58).
  • the management program acquires the process name and process ID of the activated process (step 59).
  • the management program saves the acquired process name and process ID in the process control list (see Table 1).
  • the save destination or the working folder is specified as the condition of the file path.
  • the cloud storage device 10 is an image that mounts a network drive of the network storage 3, assigns a drive name such as “e:”, and the application program 33 can access this drive and freely read/write any folder. ..
  • the application program 33 is activated and work is performed on the user terminal 2. Therefore, as a result of the processing of the application program 33 and the operating system 30, the processed user data is set to be stored in the cloud storage device 10, but the substance is stored in the RAM disk 7.
  • the driverware 34 and the cloud synchronization unit 12 constantly monitor the RAM disk 7, and the data for synchronizing with the network storage 3 is encrypted in association with the access request to the cloud virtual storage device 10, Finally, it is transmitted to the network storage 3. This operation is continued by the management program until the control mode is turned off. When the control mode of the management program is turned on, the management program is automatically started at the same time when the user terminal 2 is started, and the control mode operates in the ON state.
  • control mode of the management program is intentionally set to OFF.
  • control mode of the management program is turned off, all the settings set above are canceled.
  • FIG. 7 shows a flowchart of the operation of the control unit 52.
  • the control unit 52 receives this instruction and transmits an instruction to prohibit all file access (step 70). This command is transmitted to the network control unit 56, the file system control unit 57, the RAM disk control unit 58, and the cloud synchronization unit 12.
  • the network control unit 56, the file system control unit 57, and the RAM disk control unit 58 receive this command and prohibit the file access. It also sets the control process, prohibits network usage, clipboard usage, screen capture usage, and copy and paste functions.
  • the process manager of the executive 41 (see FIG. 4) manages all the executed processes.
  • the event of process activation/termination 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 33 can be detected.
  • the application program 33 is activated (step 71).
  • the application platform program 38 detects the activation of the application program 33 (step 72).
  • the process of the application program 33 is activated in the SUSPEND mode of CreateProcess, and the application platform program 38 acquires the handle and process ID of this process (step 73).
  • the handle is the process handle returned by CreateProcess.
  • the application platform program 38 sends the acquired handle and process ID to the control unit 52.
  • the callback function in the file system control unit 57 is executed and the control start is notified to the control unit 52.
  • the control unit 52 acquires a handle and a process ID. The detailed operation of this acquisition will be described later.
  • the control unit 52 transmits the handle and the process ID to the file system control unit 57, uses the process ID to refer to the management table, and sets the file access according to the value of the management table. Items set to allow file access are a process ID, a process name, a file name, a folder name, and a file operation.
  • the settings specified for file operations are settings that allow either read-only (Read Only) or read-write (Read/Write) (step 74).
  • the suspend process is restarted using the acquired handle (step 75).
  • the application program 33 is operated.
  • the control unit 52 waits for an end event which is a notification issued from the operating system 21 when the application program 33 ends (step 76).
  • the callback function in the file system control unit 57 is executed and the control release is notified to the control unit 52.
  • the file system control unit 57 releases the control performed by the process control list (see Table 1), and thereafter does not control the application program 33.
  • the control is restarted.
  • FIG. 9 shows a flowchart of the operation of the control unit 52 when the application program 33 ends.
  • the application platform program 38 in which the end event is generated and the process ID of the end event are acquired (step 90).
  • the application platform program 38 sends 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 91).
  • the controller 52 acquires the user data used by the application program 33 stored in the RAM disk 7 (step 92). This user data is stored in the dedicated folder 8 created for the application program 33.
  • the storage destination is specified by referring to the process control list (see Table 1).
  • the control unit 52 transfers and stores this user data to the cloud virtual storage device 10 (step 93).
  • the cloud synchronization unit 12 acquires the data in the cloud virtual storage device 10 and encrypts it by the encryption unit 54 via the control unit 52 (step 94). Then, the encrypted data is transmitted to the network control unit 56 and finally stored in the network storage 3 (step 95).
  • the control unit 52 acquires the encrypted user data, and finally it is transmitted to the network card 37 via the network control unit 56. Since the user data is encrypted and the encrypted data is transferred to the network driver 37a in the kernel mode 31, it is processed at high speed. Further, since it is an operation mode in which other application programs cannot be directly accessed, a high degree of security is ensured. As a result, there is no leakage of user data to the outside.
  • control unit 52 detects the application program 34 and its event, and issues an instruction to transmit the user data of the RAM disk 7 to the network storage 3.
  • the control unit 52 causes the operating system 33 or the application program 33 to generate an error when a new application program 33 is started, user data is created or changed at predetermined intervals. Then, an instruction to transmit the user data to the network storage 3 can be issued at any timing, such as when an error is detected.
  • control unit 52 obtains the auxiliary storage device 6 from these system processes, replaces it with access to the corresponding folder of the RAM disk 7, and in other words, redirects it.
  • process name use the ZwQueryInformationProcess function to get the image path of the running process, and get the process name from the file name of the executable file exe.
  • PsGetCurrentProcessId() function is used to get the ID of the current process.
  • IRP input/output request
  • the event detection is performed as follows.
  • the I/O request in the kernel 31 of the operating system 30 is made in the form of IRP (IO Request Packet).
  • IRP IO Request Packet
  • Event detection is performed by setting a callback function for this IRP.
  • the callback function is registered in the process manager of the executive 41, and when the callback function is executed, control is transferred to the referenced driverware 34.
  • the user data is basically called from the application program 33, expanded in the main storage device 5, and used.
  • the application program 33 issues an access request from the cloud virtual storage device 10.
  • the actual state of the user data is stored in the network storage 3, and when this request is issued, it is downloaded from the network storage 3 and stored in the RAM disk 7.
  • the application program 33 finishes the work and saves the user data, similarly, the application program 33 outputs a request to save in the cloud virtual storage device 10, but the substance of the user data is from the main storage device 5 to the RAM disk 7. Stored in the network disk 3, and further transferred from the RAM disk 7 to the network storage 3 and uploaded. If the upload is not successful, try again.
  • the application program 33 starts access to a user data file (hereinafter referred to as a data file) based on a preset setting value or a user operation (step 110).
  • the data file is stored in the network storage 3, more specifically, the folder 11.
  • the application program 33 outputs a file access request using the address of the cloud virtual storage device 10 (folder 11) and the file name of the data file (step 111).
  • the file access request output from the application program 33 is transmitted to the input/output function of the operating system 30 (step 112).
  • the file access request is transmitted to the file system by the input/output function of the operating system 30 and then to the file system driver 39 (step 113).
  • the file access request is detected by the application platform program 38 in the user mode 32 of the operating system 30 or by the driverware 34 in the kernel mode 31 and transmitted to the control unit 52 (step 114).
  • the file access request is transmitted to the file system driver 39 (step 115) and to the cloud virtual disk driver 10a (step 116). Since the cloud virtual storage device 10 is synchronized with the network storage 3, the cloud synchronization unit 12 controls this synchronization. When the cloud virtual disk driver 10a receives the file access request, it notifies the cloud synchronization unit 12 of this (step 117).
  • the cloud synchronization unit 12 accesses the network storage 3 via the network control unit 56, the network driver 37a, and the network card 37 (step 118), acquires the requested data file (step 119), and stores it in the RAM disk 7. Store (step 120). Upon completion of this storage, the cloud synchronization unit 12 notifies the cloud virtual disk driver 10a (step 121).
  • the cloud virtual disk driver 10a acquires the requested data file from the cloud virtual storage device 10 and sends the data file to the sender of the file access request (step 122).
  • the data file is transmitted to the application program 33 via the RAM disk driver 7a, the file system driver 39, the driverware 34, and the input/output function of the operating system 30.
  • the application program 33 acquires the data file, The processing is performed (step 123).
  • the file system control unit 57 monitors the update status of the data file in the RAM disk 7 by the application program 33, and when the data file is closed, the data file is transmitted from the RAM disk 7 to the network storage (step 124). ).
  • the application program 33 accesses the RAM disk 7, it always passes through the driverware 34. Therefore, when the driverware 34 stores the data file in the RAM disk 7, the encryption section 54 encrypts the data file.
  • the driverware 34 When receiving the data file from the RAM disk 7, the driverware 34 decrypts this with the decryption unit 55 and sends it to the application program 33.
  • the user data is retried. That is, when the connection between the user terminal 2 and the network storage 3 is restored and becomes normal, or after waiting for a predetermined time from the time when a communication failure occurs or the upload is not successful, the retry is performed.
  • An electronic computer in a state where the work data that is the contents of the main storage device is stored in the auxiliary storage device is said to be in the suspend mode (hereinafter simply referred to as the suspend mode or the suspend function).
  • a suspend mode may also be referred to as sleep, sleep mode, pause state, etc., depending on the type of operating system.
  • FIG. 11 is a flowchart showing the operation when the user terminal 2 enters the suspend mode.
  • the user terminal 2 has a power management operation unit (on the home screen of the operating system) that allows the user to operate and instruct power sleeve, shutdown, restart, and the like.
  • the user selects a sleeve from the power management operation unit of the user terminal 2 and instructs the user terminal 2 to start the sleeve state, so that the suspend mode of the user terminal 2 is started according to the user's instruction (step 130). ..
  • the suspend mode of the user terminal 2 is automatically started, and this can be handled in the same way as instructed by the user.
  • the charge capacity of the battery of the user terminal 2 is reduced to a level at which the user terminal 2 cannot perform normal work, in other words, when the battery is insufficient, the operating system of the user terminal 2 automatically shifts to sleep. In this way, the user terminal 2 automatically starts the suspend mode (step 130).
  • the user terminal 2 confirms the free capacity of the auxiliary storage device 6 (step 131). This confirmation is performed via the driverware 34 and the file system driver 39, or is passed formally as a hierarchy.
  • the main storage device 5 is basically not changed during the operation of the user terminal 2, and its capacity is fixed when the user terminal 2 starts operating, in other words, when the operating system starts. Therefore, in the setting of the operating system, the data storage area at the time of sleeve is secured in the auxiliary storage device 6.
  • the auxiliary storage device 6 When the auxiliary storage device 6 has sufficient free space to store the contents of the main storage device 5, the contents of the main storage device 5 are written and stored in the auxiliary storage device 6 (132, 133). As a result, the contents of the RAM disk 7 set in a part of the main storage device 5 are directly stored in the auxiliary storage device 6.
  • the RAM disk 7 is always encrypted by the encryption driver of the driverware 34, so that when the RAM disk 7 is stored in the auxiliary storage device 6 when the RAM disk 7 enters the sleep mode, the RAM disk 7 is stored as encrypted.
  • the RAM disk 7 is stored in the auxiliary storage device 6 while being encrypted, so that confidential data such as personal information is not leaked.
  • the auxiliary storage device 6 does not have enough free space to store the contents of the main storage device 5, the user terminal 2 does not store the work data and starts the suspend mode (step 134).
  • FIG. 12 is a flowchart showing the operation when the user terminal 2 is activated from the suspend mode.
  • the user terminal 2 starts to be activated by a user operation, automatic setting, etc. (step 140).
  • the content data of the main storage device 5 stored in the auxiliary storage device 6 when entering the suspend mode is read from the auxiliary storage device 5 and expanded in the main storage device 5.
  • the state before the user terminal 2 enters the suspend mode is restored, but in addition to the normal authentication of the operating system, personal authentication for accessing the RAM disk 7 is performed.
  • the initial screen of the operating system 30 is displayed on the display, and normal authentication of the operating system is performed. Then, when there is a first request to access the RAM disk 7 after the user terminal 2 is activated, the driverware starts the user authentication with this access request as a trigger (step 141). The user terminal 2 (driverware) acquires the authentication data for authentication input by the user, and the user authentication is performed (step 142).
  • User authentication uses general-purpose authentication means such as password authentication means, fingerprint authentication means, face authentication means, server authentication means using an authentication server, IC card authentication means, vein authentication means, iris authentication means, and two-factor authentication means. It is confirmed whether or not the user authentication is successful, and if successful, the user terminal 2 displays the state of the user terminal 2 before the suspend mode on the display. In other words, access to the RAM disk 7 is permitted, and the user terminal 2 operates normally (steps 143 and 144). Then, the user terminal 2 shifts to the next work (step 149).
  • general-purpose authentication means such as password authentication means, fingerprint authentication means, face authentication means, server authentication means using an authentication server, IC card authentication means, vein authentication means, iris authentication means, and two-factor authentication means.
  • the file stored in the RAM disk 7 when the suspend mode is entered or the RAM disk 7 is deleted (step 145).
  • the work data of the operating system 30 saved at the time of the suspend function in other words, the hibernation file (hiberfil.sys) other than the RAM disk 7 is stored in the user terminal 2 as an auxiliary storage by the initial setting or by the user's instruction. It is deleted from the device 6 (step 146).
  • the authentication data required for user authentication may be invalidated by the authentication mechanism on the authentication server. This is because the user terminal 2 is lost and the user notifies the authentication mechanism of data required for authentication and invalidates it. Therefore, when trying to log in to the lost user terminal 2 again, the RAM disk 7 and/or the work data saved in the suspend mode is deleted or initialized.
  • the user data is deleted or initialized. Then, the user terminal 2 ends (step 147) and waits for the next operation (step 148).
  • FIG. 13 is a flowchart showing another example of the operation of starting the user terminal 2 from the suspend mode.
  • the user terminal 2 starts to be activated by a user operation, automatic setting, etc. (step 160).
  • the work data contents of the main storage device 5) stored in the auxiliary storage device 6 is read into the main storage device 5, and the initial screen of the operating system 30 is displayed on the display.
  • user authentication is started (step 161).
  • the user terminal 2 acquires the authentication data for authentication input by the user, and user authentication is started (step 162). It is confirmed whether or not the user authentication is successful. If the user authentication is successful, the user terminal 2 displays the state before entering the suspend mode of the user terminal 2, and the user terminal 2 is normally activated (steps 163 and 164). Then, the user terminal 2 shifts to the next work (step 170).
  • the user terminal 2 starts the initialization work (step 163 ⁇ step 165).
  • the application program 33 is initialized (step 166). This applies to the application program 33 in which the work data is saved during the suspend function. This initialization deletes the temporarily stored data of the application program 33 (the data temporarily stored in the RAM disk 7 and the data stored in the auxiliary storage device 6 at the time of suspension).
  • the user terminal 2 deletes it. If the user authentication is not successful, the user terminal 2 may be lost or may be illegally accessed, and the user terminal 2 including the RAM disk 7 is automatically initialized to protect the user data, especially the confidential data.
  • the user terminal 2 initializes the RAM disk 7 (step 167). At this time, if the data temporarily stored in the RAM disk 7 exists in the auxiliary storage device 6, the user terminal 2 deletes it.
  • the user terminal 2 deletes them. After that, the temporary file stored in the auxiliary storage device 6 is deleted (step 168). Finally, the user terminal 2 ends (step 169). Then, the user waits for the next operation such as restarting the user terminal 2 (step 170).
  • FIG. 14 is a flowchart showing a procedure for controlling data when the user terminal 2 satisfies a specific condition.
  • the work data of the application program 33 is deleted, the work data of the operating system 30 is deleted, and the RAM disk 7 is initialized.
  • the control conditions are based on the timetable information in Table 2.
  • Table 2 the first column shows the order, the second column shows the control item, the third column shows the condition of the control item, and the fourth column shows the type of control when the condition is satisfied.
  • the position information of the user terminal 2 is acquired from the position information means installed in the user terminal 2 and monitored by the driverware 34 and the management program described above. In this monitoring, control corresponding to the position information of the control items in Table 2 is performed.
  • the position information means a wireless communication means for communicating with a mobile communication base station, a position information device for acquiring position information from the global position system, a communication device for acquiring an IP address from a communication network such as the Internet And so on.
  • the position information of the control items in Table 3 it is determined whether the position information acquired by the position information device from the global positioning system is within the permission range or outside the permission range in which the condition is set, and is shown as the type of control Control (see numbers 1 and 2 in Table 3).
  • the permission range referred to here means an area range or place set in advance.
  • the time information is acquired from the time information means and monitored by the driverware 34 and the above-mentioned management program.
  • the time information means uses the clock means installed in the user terminal, the above-mentioned wireless communication means, position information device, communication device, etc. It is determined whether the position information is within the permitted range or outside the permitted range where the condition is set, and the control shown in the control type is performed (see numbers 3 and 4 in Table 3). This is effective when the purpose is to use the user terminal 2 only in the permitted time zone. Examples of the outside of the permitted range of the time zone include midnight, after work hours, during breaks, during rest, and the like.
  • the authentication device can be used for control.
  • the authentication device is in communication with the user terminal 2, determines the condition depending on whether the authentication device and the user terminal 2 are separated by a predetermined distance, and performs the control indicated in the control type.
  • the driverware 34 and the above-mentioned management program acquire the information of the user terminal 2 (step 180). To obtain this information, the position information is obtained from the above position information means, and the time information is obtained from the above time information means.
  • the position information means is internally installed in the user terminal 2, it is acquired from the interface via the device driver 35 (see FIG. 3).
  • the device driver is connected from the interface of the device which communicates with these position information means. Get via 35.
  • the authentication device is built in or externally attached to the user terminal 2, and is acquired from the interface of the device communicating with the authentication device via the device driver 35.
  • step 181 Confirm whether the information acquired in this way satisfies the conditions shown in Table 3 (step 181). If the condition is not satisfied, basically, the user terminal 2 is allowed to be used without restriction (step 182). When the control condition is satisfied, it is determined whether the control is started but the control is immediately executed (step 181 ⁇ step 183, step 184). This is determined depending on whether it takes time to synchronize the data in the RAM disk 7 with the network storage 3, whether the application program 33 has a problem, or the like.
  • step 185 executes the control indicated by the control type.
  • the control shown in the control type of Table 3 is performed.
  • the control shown in the control type is as described above with reference to FIG. 12 and FIG. 13, and thus the details thereof will be omitted.
  • the user terminal 2 is turned off and the process is completed (step 186).
  • the control for the set time is executed (step 187).
  • the dryware 34 calculates the time when the data synchronization and the execution of the application program are finished, and the time is set to determine the set time.
  • the dryware 34 can monitor the completion of the data synchronization and the execution of the application program, and can execute the control after the completion.
  • the first time zone and the second time zone shown in Table 3 can be set arbitrarily.
  • the first time zone is "09:00:00 to 17:00 to 00:00", "09:00:00:00 to 12:00 to 00:00 and 13:00:00 to 17:00 to 00:00 You may set working hours such as “seconds” and combine this with weekdays, work permit days, and so on. Further, it may be a short time such as “09:00:00 to 09:30:00:00”.
  • the second time zone is outside the first time zone, such as "17:00:00-09:00:00:00", “24:00:00-06:000:00", etc. Can be set as: Further, basically, it is possible to set a period and a time period during which the use of the user terminal 2 is not preferable, such as holidays and holidays of the calendar, user's rest time, user's rest day, business trip day, and the like.
  • the first time zone and the second time zone are examples and can be arbitrarily set by the administrator.
  • the authentication device is an identification device capable of wireless communication or wired communication with the user terminal 2, and examples thereof include a mobile phone, a clock-type device, a pen-type device, a USB key, a smart phone, and a smart watch. These devices basically encrypt an identification number or the like and communicate with the user terminal 2 to determine whether the authentication device is connected to the user terminal 2 or in the vicinity thereof.
  • the use of the authentication device is described in detail in Japanese Patent Application No. 2005-138336 filed by the applicant, and the contents are included in the present invention.
  • the present invention should be used in fields that require close management of electronic data.
  • it should be used in fields that require advanced data management, such as computer leasing, printing, insurance companies, dealers, financial institutions, nuclear facilities, and terminals that handle personal data. ..

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

ユーザ端末の主記憶装置の一部の記憶領域をRAMディスクとして利用する。作業中のユーザデータはRAMディスクに暗号化されて格納される。RAMディスクに格納されているユーザデータは、ネットワークストレージへ送信されて、RAMディスクとネットワークストレージが同期される。ドライバウェア技術を利用して、電子計算機内でユーザデータの制御を行い、ネットワーク転送するので、安全性が確保される。

Description

電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体
 本発明は、揮発性記憶手段を利用し電子データが電子計算機から漏洩することを防止し、管理するための電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体に関する。
 個人情報、ビジネスのノウハウを始め各種のデータは、電子データの形式でファイルとして電子計算機の記憶装置、記録媒体に保存されていることが多い。電子計算機は中央処理装置、主記憶装置、入出力手段、電源供給手段等を備えたものであり、例えば、デスクトップパソコン、ノートパソコン、スマートフォン、そしてサーバ等が例示できる。
 ユーザは、電子計算機の内蔵又は外付けされた補助記憶装置にアクセスして、ファイルを閲覧、編集する他に、ネットワークを介して他人へ送信し、その電子計算機又は他の電子計算機に内蔵又は接続されているデバイスへ転送・複製して利用する。
 これらの利用形態から考慮して、電子データの保護と漏洩防止の観点から、ファイルは無論、そのファイル又はそのファイルが格納されている記憶装置にアクセスした履歴、特にファイルの閲覧、編集、複写、印刷、送信等の履歴を取得して厳密に電子データを管理することが大事である。また、近年、電子計算機をネットワークに接続して、ネットワーク上のネットワークフォルダに電子データを格納し、これを電子計算機にダウンロードして利用することが多くなっている。
 このようにネットワークフォルダに電子データを格納すると、電子計算機の補助記憶装置に電子データを格納する必要がなくなり、いわゆる電子計算機のデータレス利用になる。電子データを目的以外に利用できないように電子計算機を制御することが電子データ、特に機密データの漏洩防止の観点から重要である。
 電子データは、電子計算機から漏洩するルートとして考えられるものは、電子計算機に接続されたフラッシュメモリ等の補助記憶装置への格納、アプリケーションプログラム等の一時ファイル(Temporary file)、オペレーティングシステムのダンプ機能とハイバネーション機能により、主記憶装置(RAM:Random Access memory)の内容の補助記憶装置への格納等である。
 即ち、この電子計算機の補助記憶装置等に保存された電子データは、電子計算機の紛失、電子計算機への不正アクセス、ユーザによる電子計算機の電子データの複製等によって、情報漏洩することがあり、この防止策が様々な形で行われて、提案されている。例えば、電子データを電子計算機に接続された補助記憶装置へ格納するときは、電子データを暗号化したり、補助記憶装置を認証したりして対策を講じている(例えば、特許文献1)。
 特許文献1に開示された内容のデータ管理用のシステムのプログラムは、不揮発性メモリに格納されたクライアントのユーザデータを、それを処理している電子計算機により、目的以外に利用することができないように、その電子計算機を制御している。このシステムにおいて、ユーザデータは電子計算機から承認された不揮発性メモリのみに記録するが、更にその他の手段でも外部へ持ち出さないように電子計算機を制御している。
 一時ファイルの場合は、一時ファイルの保存先を制御することでセキュリティを確保している(例えば、特許文献2)。特許文献2には、クライアントコンピュータ上に作成されそれに格納された一時ファイルが原因で、情報漏洩することを防止するデータ管理システムが開示されている。
 このデータ管理システムは、アプリケーションプログラムによって生成された一時ファイルを、アプリケーションプログラムが指定する一時ファイル用フォルダとは別のフォルダであり、クライアントコンピュータのハードディスク、クライアントコンピュータに接続されたUSBメモリ、ネットワーク上のサーバ等に作成されたフォルダに、暗号化して保存している。これにより、アプリケーションプログラムの動作中でも、一時ファイルによる情報漏洩を防止している。
 また、電子計算機が盗難又は紛失されたと疑われる場合、電子計算機のデータを暗号化する常時稼働組み込み式盗難反応サブシステムが開示されている(特許文献3を参照。)。このシステムは、電子計算機のハイバネーション機能の場合でも、電子計算機のデータを暗号化、又は電子計算機のストレージ全体を暗号化する機能を備えている。また、電子計算機がハイバネーション状態へ移行したとき、機密情報が漏洩することを防止する方法も提案されている(例えば、特許文献4)。
 この方法によれば、電子計算機がハイバネーション状態へ移行する際、揮発性メモリの内容を不揮発性メモリに保存するとき、揮発性メモリの中でアプリケーションに割り当てられたメモリ領域(セキュリティ領域)のデータを含まないように、ハイバネーションデータを生成して不揮発性メモリに保存する。そして、電子計算機は、ハイバネーション状態からの復帰時に、不揮発性メモリからハイバネーションデータを揮発性メモリに書き戻した後、メモリ領域の割り当て要求と共に渡された関数を呼び出すことで、アプリケーションによりセキュリティデータを再生成する。
 ユーザが電子計算機の補助記憶装置にアクセスするとき、これがあらかじめ設定されたネットワーク上のアドレスへ転送されるリダイレクト機能を利用して、電子データをネットワーク上のフォルダに保存することができる。特に、電子計算機のデータレス化が進んでいる中で、電子計算機で電子データを利用して作業を行っても、それを電子計算機に残さない仕組みが求められている。
 従来から、データレス化のために主記憶装置の一部を疑似補助記憶装置として利用しており、これはRAMディスク等と呼ばれている。電子計算機の補助記憶装置にデータを書き込むことを禁止して、データをRAMディスクに書き込むようにしてリダイレクトし、ネットワーク上の仮想ディスクにデータを書き込みしている(特許文献5)。この機能を利用すると、データは、電子計算機のローカルディスクに残さず、ネットワーク上の仮想ドライブに保存されることになる。
 従って、仮に電子計算機を紛失した場合、ユーザデータの漏洩がないという利点がある。オペレーティングシステムのダンプ機能は、基本的に、オペレーティングシステムとアプリケーションプログラムのクラッシュ、動作の不具合を検証するために行われるものである。通常、電子計算機の記憶装置に記録された内容をまとめて表示、印刷、又は記録し、このまとまった内容をダンプと表現している。言い換えると、ダンプとは、電子計算機でデータ処理するときの主記憶装置の内容であり、中央処理装置(CPU)でデータ処理するときのデータを時系列で出力した内容である。
 従来から、このダンプを分析することで上述のクラッシュ、動作の不具合を検証している。現在、ソースコードが膨大になっているオペレーティングシステムとアプリケーションプログラムの場合でも、オペレーティングシステムとアプリケーションプログラムの動作中、特に、クラッシュや動作の不具合等が発生したとき、メインメモリの内容を自動的にダンプし、電子計算機の補助記憶装置に出力している。
 このダンプファイルを分析することで、動作中のアプリケーションプログラムが利用していたユーザデータを取得することが可能であり、また、悪意があるユーザがクラッキングするセキュリティホールとも言われている。ダンプファイルをソフトウェアの検証等に利用する場合、自動的に出力されるようになり、電子計算機を紛失、廃棄、他へ譲渡、リースするとき、問題になっている。
 ハイバネーション(Hibernation)の機能は、オペレーティングシステムが備えている機能の一つである。ハイバネーションの機能は、電子計算機の電源を切断するとき、その切断前に、作業を中断させ、主記憶装置が保持している内容を、補助記憶装置に複製して格納する。この切断後、電子計算機に電源を接続して起動させると、電子計算機は、補助記憶装置から保存された主記憶装置の内容を読みだして動作させ、中断した作業を継続させる。
 例えば、編集しているファイルがあると、ハイバネーションする際、作業中途状態のまま編集しているファイル内容が、補助記憶装置に保存され、電子計算機の電源が切断される。電子計算機が再開すると、補助記憶装置からハイバネーション内容が再度主記憶装置に格納され、ファイルの作業が継続して行うことができる。また、ノート型電子計算機のバッテリーの残量が少なくなると、ハイバネーションが自動的に開始される機能もある。
 このように、ハイバネーション機能は、休止状態(スリープ)(Windows(登録商標)の場合)、Software Suspend(macOS(登録商標)の場合)、Userspace Software Suspend(LINUX(登録商標)の場合)等とオペレーティングシステムによって独自に表現することがあり、様々なオペレーティングシステムに実装されている。ハイバネーション機能を利用すると、オペレーティングシステムを高速で再開することができるという利点がある。
 ハイバネーション機能は、Windowsの場合、ハイバネーションファイル(hiberfil.sys)として、補助記憶装置、特にオペレーティングシステムのシステムドライブに保存される。電子計算機は、次回起動時にこのファイルを読み込むことで、電源切断前の作業を途中から再開できる。ハイバネーション機能は、電子計算機の電源を切断して一時休止状態にしてから、高速起動するときに使われる。
 ハイバネーション機能は、場合によって、巨大なファイルになるので、かつ、電源切断する度に書き込まれるので、補助記憶装置の空き領域を圧迫し、補助記憶装置の寿命にも影響する。Windowsの場合、電源設定を行うための「powercfg」コマンドに、「/hibernate」又は「/h」というオプションで、「powercfg /h off」又は「powercfg /h on」と設定するので、ハイバネーション機能を使用することができるが、この設定をユーザが選択的に利用できる。
 この機能を利用する場合、電子計算機の起動時間の短縮ができるが、ユーザデータがハイバネーション機能で漏洩することを確実に防ぐことができない。逆に、ハイバネーション機能を利用しない場合、電子計算機の起動時間が長くなるが、ユーザデータがハイバネーション機能で漏洩することが無くなる。
特開2011-8813号公報 特開2010-72885号公報 国際公開WO2013/095596号公報 特開2014-98977号公報 特開2017-10424号公報
 しかしながら、ハイバネーション機能とダンプ機能によって補助記憶装置に保存されたデータは、補助記憶装置を分析することでデータの中身を取得することできるという欠点がある。このように、電子計算機を紛失したとき、又は補助記憶装置を廃棄するとき、ハイバネーション機能、ダンプ機能等によって、補助記憶装置に格納されたユーザデータが漏洩するかも知れず問題がある。
 また、作業中のユーザデータは、ローカルの補助記憶装置に保存せず、ネットワークストレージ等に安全に格納することが望ましい。よって、電子計算機のオペレーティングシステムのハイバネーション機能及びダンプ機能による情報を漏洩させない、また、作業中のユーザデータを電子計算機に残さないような、電子データの管理ができる管理方法及びそのシステムが求められている。
 本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。
 本発明の目的は、揮発性記憶手段を利用し、電子計算機の電子データを確実に保護して情報漏洩を防止する、電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体を提供することにある。
 本発明の他の目的は、電子計算機で利用する電子データをオペレーティングシステムのハイバネーション機能、ダンプ機能等により漏洩することを防止する、電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体を提供することにある。
 本発明は、前記目的を達成するため、次の手段を採る。
 本発明は、電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体である。
 本発明の電子データ管理装置は、
 相互に通信できるネットワーク上の記憶手段であるネットワークストレージと通信する電子計算機は、
 プログラムコードに従ってデータを処理する中央処理手段、
 前記プログラムコード、又は、前記プログラムコード及び前記データを保持する主記憶手段、
 前記プログラムコード及び前記電子計算機が一時休止時に前記主記憶手段の内容データを格納する不揮発の補助記憶手段、
 指示コマンド又は前記データを入力するための入力手段、
 前記処理の結果を外部に出力するための出力手段、並びに、
 前記ネットワークに接続するためのネットワーク接続手段からなり、
 前記電子計算機上に動作するアプリケーションプログラム又はユーザが利用するための電子データからなるユーザデータは、前記アプリケーションプログラムによって、又は、前記入力手段から入力された入力データにより前記アプリケーションプログラムが操作されることによって、閲覧、編集、及び変更の中から1以上の操作がされるとき、
 前記ユーザデータが外部へ漏洩することを防止制御するための電子データ漏洩防止機能を備えた前記電子計算機からなり、
 前記電子データ管理装置は、
 前記ネットワークストレージに割り当てられた仮想記憶手段、
 前記主記憶手段に常駐して、仮想の前記補助記憶装置である疑似補助記憶手段として機能する揮発性記憶手段、
 前記アプリケーションプログラムが前記ユーザデータを開くとき、前記ユーザデータを保存先から取得し、前記揮発性記憶手段に格納し、及び、前記ユーザデータを閉じて保存するとき、前記ユーザデータを前記揮発性記憶手段から取得し、前記仮想記憶手段を介して保存する制御手段、
 前記揮発性記憶手段に前記ユーザデータが格納されるとき暗号化する暗号化手段、並びに、
 前記揮発性記憶手段から前記ユーザデータを前記アプリケーションプログラムへ提供するとき、前記暗号化された前記ユーザデータを復号化する復号化手段
 からなることを特徴とする。
 また、本発明の電子データ管理装置は、次の特徴を有すると良い。
 前記保存先は、前記ネットワークストレージであり、
 前記電子計算機は、前記揮発性記憶手段の前記ユーザデータを、前記仮想記憶手段を介して前記ネットワークストレージの前記ユーザデータと同期させるクラウド同期手段を有すると良い。
 前記電子計算機は、前記電子計算機を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記電子計算機上で動作する前記アプリケーションプログラムとの通信に、共通のインターフェースを提供するためのドライバウェア手段を備え、
 前記ドライバウェア手段は、前記仮想記憶手段を制御するための前記デバイスドライバである前記仮想記憶手段ドライバ、及び、前記揮発性記憶手段を制御するための前記デバイスドライバである揮発性記憶手段ドライバを、前記オペレーティングシステムの出力を制御するファイルシステムドライバを介して制御するためのファイルシステム制御部を備え、
 前記ファイルシステム制御部は、前記アプリケーションプログラムが前記ユーザデータを開く動作を前記仮想記憶手段ドライバから取得し、前記クラウド同期手段から前記ユーザデータを取得して、前記揮発性記憶手段ドライバを介して前記揮発性記憶手段に送信して前記揮発性記憶手段に前記ユーザデータを格納させると良い。
 前記電子データ管理装置は、前記電子計算機を待機させるサスペンド機能によって終了するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、該認証が正常に認証できなかった場合、前記サスペンド機能によって終了する直前に保存したデータ及び/又は前記サスペンド機能によって保存されたデータを削除するデータ削除手段を備えていると良い。
 前記電子データ管理装置は、前記電子計算機の操作を終了する際、作業中のデータを前記補助記憶手段に保存し、前記電子計算機を待機させるサスペンド機能によって終了し、再起動するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、該認証が正常に認証できない場合、前記データ管理装置、前記アプリケーションプログラム、前記仮想ディスク、前記仮想記憶手段及び前記揮発性記憶手段のからなる群の中から選択される1以上の初期化を行う初期化手段を備えていると良い。
 前記認証手段は、パスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、光彩認証手段及び2要素認証手段からなる群の内から選択される1以上の認証手段であると良い。
 前記データ削除手段は、実行する時間帯を示すタイムテーブルの情報に基づいて実行されると良い。
 前記データ削除手段は、移動通信基地局若しくは全地球航法衛星システム(GNSS)による位置情報に基づいて許可された地域範囲の中に前記電子データ管理装置が位置するときに、無効になり、前記データ削除手段は、前記地域範囲の外に前記電子データ管理装置が位置するときに実行されると良い。
 前記データ削除手段は、前記電子データ管理装置が前記認証デバイスと通信できない場合実行されると良い。
 前記データ削除手段は、前記電子データ管理装置が時間情報手段から取得した時間情報が設定時間外の場合実行されると良い。
 本発明の電子データ管理システムは、
 相互に通信できるネットワーク、
 前記ネットワーク上の記憶手段であるネットワークストレージ、及び
 ネットワーク上の記憶手段であるネットワークストレージと通信する電子計算機からなる電子データ管理システムであり、
 前記電子計算機は、
  プログラムコードに従ってデータを処理する中央処理手段、
  前記プログラムコード、又は、前記プログラムコード及び前記データを保持する主記憶手段、
  前記プログラムコード及び前記電子計算機が一時休止時に前記主記憶手段の内容データを格納する不揮発の補助記憶手段、
  指示コマンド又は前記データを入力するための入力手段、
  前記処理の結果を外部に出力する出力手段、及び
  前記ネットワークに接続するためのネットワーク接続手段からなり、
 前記電子計算機上に動作するアプリケーションプログラム又はユーザが利用するための電子データからなるユーザデータは、アプリケーションプログラムによって、又は、前記入力手段から入力された入力データにより前記アプリケーションプログラムが操作されることによって、閲覧又は編集又は変更されるとき、
 前記ユーザデータが外部へ漏洩することを防止制御するための電子データ漏洩防止機能を備えた前記電子計算機からなる前記電子データ管理システムにおいて、
 前記電子計算機は、
  前記ネットワークストレージに割り当てられた仮想記憶手段、
  前記主記憶手段に常駐して、仮想の前記補助記憶装置である疑似補助記憶手段として機能する揮発性記憶手段、
  前記アプリケーションプログラムが前記ユーザデータを開くとき、前記ユーザデータを保存先から取得し、前記揮発性記憶手段に格納し、及び、前記ユーザデータを閉じて保存するとき、前記ユーザデータを前記揮発性記憶手段から取得し、前記仮想記憶手段を介して保存する制御手段、
  前記揮発性記憶手段に前記ユーザデータが格納されるとき暗号化する暗号化手段、並びに、
  前記揮発性記憶手段から前記ユーザデータを前記アプリケーションプログラムへ提供するとき、前記暗号化されたユーザデータを復号化する復号化手段
 からなることを特徴とする。
 また、本発明の電子データ管理システムは、次の特徴を有すると良い。
 前記保存先は、前記ネットワークストレージであり、
 前記電子計算機は、前記揮発性記憶手段の前記ユーザデータを前記仮想記憶手段を介して前記ネットワークストレージ前記ユーザデータと同期するクラウド同期手段からなると良い。
 前記電子計算機は、前記電子計算機を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記電子計算機上で動作する前記アプリケーションプログラムとの通信に共通のインターフェースを提供するためのドライバウェア手段を備え、
 前記ドライバウェア手段は、前記仮想記憶手段を制御するための前記デバイスドライバである仮想記憶手段ドライバ、及び、前記揮発性記憶手段を制御するための前記デバイスドライバである揮発性記憶手段ドライバを、前記オペレーティングシステムを制御するファイルシステムドライバを介して制御するためのファイルシステム制御部を備え、
 前記ファイルシステム制御部は、前記アプリケーションプログラムが前記ユーザデータを開く動作を前記仮想記憶手段ドライバから取得し、前記クラウド同期手段から前記ユーザデータを取得して、前記揮発性記憶手段ドライバを介して前記揮発性記憶手段に送信して前記揮発性記憶手段に格納させると良い。
 前記電子データ管理装置は、前記電子計算機を待機させるサスペンド機能によって終了するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、
 該認証が正常に認証できなかった場合、前記サスペンド機能によって終了する直前に保存したデータ及び/又は前記サスペンド機能によって保存されたデータを削除するデータ削除手段を備えていると良い。
 前記電子データ管理装置は、前記電子計算機の操作を終了する際、作業中のデータを前記補助記憶手段に保存し、前記電子計算機を待機させるサスペンド機能によって終了し、再起動するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、
 該認証が正常に認証できない場合、前記データ管理装置、アプリケーションプログラム、前記仮想ディスク、前記仮想記憶手段及び揮発性記憶手段のからなる群の中から選択される1以上の初期化を行う初期化手段を備えていると良い。
 前記認証手段は、パスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、光彩認証手段及び2要素認証手段からなる群の内から選択される1以上の認証手段であると良い。
 前記データ削除手段は、実行する時間帯を示すタイムテーブルの情報に基づいて実行されると良い。
 前記データ削除手段は、移動通信基地局若しくは全地球航法衛星システムによる位置情報に基づいて許可された地域範囲の中に前記電子データ管理装置が位置するときに、無効になり、前記データ削除手段は、前記地域範囲の外に前記電子データ管理装置が位置するときに実行されると良い。
 前記データ削除手段は、前記電子データ管理装置が前記認証デバイスと通信できない場合実行されると良い。
 前記データ削除手段は、前記電子データ管理装置が時間情報手段から取得した時間情報が設定時間外の場合実行されると良い。
 本発明の電子データ管理装置用プログラムは、
 相互に通信できるネットワーク上の記憶手段であるネットワークストレージと通信する電子計算機は、
  プログラムコードに従ってデータを処理する中央処理手段、
  前記プログラムコード、又は、前記プログラムコード及び前記データを保持する主記憶手段、
  前記プログラムコード及び前記電子計算機が一時休止時に前記主記憶手段の内容データを格納する不揮発の補助記憶手段、
  指示コマンド又は前記データを入力するための入力手段、
  前記処理の結果を外部に出力する出力手段、及び
  前記ネットワークに接続するためのネットワーク接続手段からなり、
 前記電子計算機上に動作するアプリケーションプログラム又はユーザが利用するための電子データからなるユーザデータは、アプリケーションプログラムによって、又は、前記入力手段から入力された入力データにより前記アプリケーションプログラムが操作されることによって、閲覧又は編集又は変更されるとき、
 前記ユーザデータが外部へ漏洩することを防止制御するための電子データ漏洩防止機能を備えた前記電子計算機からなる電子データ管理装置において、
 前記ネットワークストレージに割り当てられた仮想記憶手段を生成するステップと、
 前記仮想記憶手段を制御するステップ、
 前記主記憶手段に常駐して、仮想の前記補助記憶装置である疑似補助記憶手段として機能する揮発性記憶手段を生成するステップ、
 前記アプリケーションプログラムが前記ユーザデータを開くとき、前記ユーザデータを保存先から取得するステップ、
 前記取得した前記ユーザデータを前記揮発性記憶手段に格納するステップ、
 前記ユーザデータを閉じて保存するとき、前記ユーザデータを前記揮発性記憶手段から取得するステップ、
 前記取得したユーザデータを制御手段によって前記仮想記憶手段を介して保存する制御ステップ、
 前記揮発性記憶手段に前記ユーザデータが格納されるとき、暗号化手段によって暗号化するステップ、及び、
 前記揮発性記憶手段から前記ユーザデータを前記アプリケーションプログラムへ提供するとき、前記暗号化されたユーザデータを復号化手段によって復号化するステップ
 を前記電子データ管理装置に実行させることを特徴とする。
 また、本発明の電子データ管理装置用プログラムは、次の特徴を有すると良い。
 前記電子データ管理装置は、
  前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するための機能を前記電子計算機に実行させるアプリケーションプログラムインターフェース部、
  前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するための機能を前記電子計算機に実行させるデバイスドライバ制御部、
  前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための機能を前記電子計算機に実行させる制御部、並びに、
  データを暗号化して暗号化データを作成するための機能を前記電子計算機に実行させる暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための機能を前記電子計算機に実行させる復号化部からなり、
  前記電子計算機を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するための前記デバイスドライバ同士の通信、又は前記デバイスドライバと前記電子計算機上で動作する前記アプリケーションプログラムとの通信に共通のインターフェースを提供するためのドライバウェアを備え、
 前記デバイスドライバ制御部は、前記仮想記憶手を制御するための前記デバイスドライバである仮想記憶手段ドライバ、及び、前記揮発性記憶手段を制御するための前記デバイスドライバである揮発性記憶手段ドライバを、前記オペレーティングシステムの出力を制御するファイルシステムドライバを介して制御するためのファイルシステム制御部を備え、
 前記ファイルシステム制御部は、
  前記アプリケーションプログラムが前記ユーザデータを開く動作を前記仮想記憶手段ドライバから取得するステップ、
  前記クラウド同期手段から前記ユーザデータを取得するステップ、
  前記取得した前記ユーザデータを前記揮発性記憶手段ドライバを介して前記揮発性記憶手段に送信するステップ、及び、
  前記送信した前記ユーザデータを前記揮発性記憶手段に格納させるステップ
 を前記電子データ管理装置に実行させると良い。
 前記保存先は、前記ネットワークストレージであり、前記揮発性記憶手段の前記ユーザデータを前記仮想記憶手段を介して前記ネットワークストレージと同期する機能を前記電子データ管理装置に実行させるクラウド同期プログラムからなると良い。
 前記電子データ管理装置用プログラムは、
  前記電子データ管理装置を前記電子計算機を待機させるスペンド機能によって終了させるサスペンドステップ、
  前記サスペンドステップが開始するとき、前記電子データ管理装のユーザの真正性を確かめる認証手段によって認証を行うサスペンド認証ステップ、並びに、
  該認証が正常に認証できなかった場合、前記サスペンド機能によって終了する直前に保存したデータ及び/又は前記サスペンド機能によって保存されたデータを削除するデータ削除ステップを前記電子データ管理装置に実行させると良い。
 また、電子データ管理装置用プログラムは、
 前記電子データ管理装の操作を終了する際、作業中のデータを補助記憶手段に保存するサスペンド機能によって前記電子データ管理装置を終了させるサスペンドステップ、
 前記電子データ管理装置が終了後に再起動するとき、前記電子データ管理装のユーザの真正性を確かめる認証手段によって認証を行うサスペンド認証ステップ、並びに、
 該認証が正常に認証できない場合、前記電子データ管理装置、アプリケーションプログラム、前記仮想ディスク、前記仮想記憶手段及び揮発性記憶手段のからなる群の中から選択される1以上の初期化を行う初期化ステップ
 を前記電子データ管理装置に実行させると良い。
 前記サスペンド認証ステップは、パスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、光彩認証手段及び2要素認証手段からなる群の内から選択される1以上の認証手段による認証ステップを前記電子データ管理装置に実行させると良い。
 前記電子データ管理装置用プログラムは、実行する時間帯を示すタイムテーブルの情報に基づいて前記データ削除ステップを前記電子データ管理装置に実行させると良い。
 前記電子データ管理装置用プログラムは、
 移動通信基地局若しくは全地球航法衛星システム(GNSS)による位置情報に基づいて許可された地域範囲の中に前記電子データ管理装置が位置するときに、前記データ削除ステップが実行されず、
 前記地域範囲の外に前記電子データ管理装置が位置するときに前記データ削除ステップを前記電子データ管理装置に実行させると良い。
 前記電子データ管理装置用プログラムは、前記電子データ管理装置が前記認証デバイスと通信できない場合に前記データ削除ステップを前記電子データ管理装置に実行させると良い。
 前記電子データ管理装置用プログラムは、前記電子データ管理装置が時間情報手段から取得した時間情報が設定時間外の場合に前記データ削除ステップを前記電子データ管理装置に実行させると良い。
 本発明の電子データ管理装置用プログラムの記録媒体は、上述の電子データ管理装置用プログラムを記録した電子データ管理装置用プログラムの記録媒体である。
 本発明によると、次の効果が奏される。
 本発明は、電子計算機の揮発性記憶手段を作業フォルダとして利用し、電子データをネットワークストレージに格納し、かつ、アプリケーションプログラムの動作が終了又は電子計算機の電源が切断されると、利用するユーザデータを全て消去することで、電子計算機の電子データを確実に保護し情報漏洩が防止できた。
 本発明は、電子計算機のドライバウェア手段によって揮発性記憶手段を制御し、揮発性記憶手段の電子データをネットワークフォルダに常時又は定期的にバックアップし、特に、ハイバネーション機能による保存するユーザデータを暗号化したままローカルの補助記憶手段にバックアップことで、情報漏洩を防止することができた。
 また、本発明は、電子計算機のドライバウェア手段によって揮発性記憶手段を制御し、揮発性記憶手段の電子データをネットワークフォルダに常時又は定期的にバックアップし、特に、ダンプ機能による保存するユーザデータを暗号化したままローカルの補助記憶手段にバックアップことで、情報漏洩を防止することができた。
図1は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1の概要を図示したブロック図である。 図2は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1のユーザ端末2のハードウェア構成の例を図示した機能ブロック図である。 図3は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1のユーザ端末2上に動作するソフトウェア環境の例を図示した機能ブロック図である。 図4は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1のユーザ端末2上のソフトウェアの概要を図示した機能ブロック図である。 図5は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1の動作概要を示すフローチャートである。 図6は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1において、管理プログラムの動作例を示すフローチャートである。 図7は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1において、ドライバウェア34の制御部52の動作例を示すフローチャートである。 図8は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1において、ドライバウェア34の動作例を示すフローチャートである。 図9は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1において、ドライバウェア34の制御部52の他の動作例を示すフローチャートである。 図10は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1において、ユーザデータを利用する流れの例を説明するフローチャートである。 図11は、ユーザ端末2がサスペンドモードに入るときの動作を示すフローチャートである。 図12は、ユーザ端末2がサスペンド状態から起動するときの動作を示すフローチャートである。 図13は、ユーザ端末2がサスペンド状態から起動する動作の他の例を示すフローチャートである。 図14は、ユーザ端末2が特定の条件を満たすとき、データを制御する手順を示すフローチャートである。
 以下、本発明の実施の形態を図に基づいて説明する。
 〔本発明の第1の実施の形態〕
 以下、図面を参照しながら、本発明の第1の実施の形態の電子計算機用電子データ管理システム1を説明する。図1は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1の概要をブロック図である。
 電子計算機用電子データ管理システム1は、電子計算機の揮発性記憶手段を利用し、電子計算機の電子データの漏洩を防止するためのものである。電子計算機用電子データ管理システム1は、電子計算機の揮発性補助記憶手段に作業中のユーザデータを格納する。
 特に、電子計算機用電子データ管理システム1は、電子計算機上で動作するアプリケーションプログラムが利用しているユーザデータを、ローカルの補助記憶装置に格納せず、ネットワーク上のネットワークストレージに格納することで、電子計算機の電子データの漏洩を防止する。このとき、アプリケーションプログラムは、作業フォルダとして揮発性記憶手段であるRAMディスクを利用する。
 詳しくは、ネットワークに接続されて動作する電子計算機は、電子データを、ネットワーク上の記憶装置に暗号化して格納する。電子計算機用電子データ管理システム1は、具体的な解決手段として、例えば、ドライバウェア(本出願人の登録商標)の技術を利用して、電子計算機を制御し、電子データをネットワーク上の記憶装置へ安全に高速転送する。また、電子計算機の主記憶装置に疑似記憶手段を設定し、アプリケーションプログラムと電子データは、この疑似記憶装置上で取り扱う。
 以下、電子計算機用電子データ管理システム1の構造及び動作手順を具体的に説明する。図1に図示している電子計算機用電子データ管理システム1は、ユーザ端末2、ネットワークストレージ3、ネットワーク4等からなる。ユーザ端末2は、利用者が操作する電子計算機であり、ユーザ端末2で利用するユーザデータは基本的にネットワークストレージ3に格納される。
 ネットワークストレージ3は、ユーザ端末2とネットワーク4等の通信ネットワークによって接続されたストレージである。ネットワークストレージ3は、ネットワーク4上の補助記憶装置、又は、クラウドストレージともいう。ユーザ端末2とネットワークストレージ3は、インターネット等のネットワーク4に接続されている。ユーザ端末2は、ネットワーク4を介して、ネットワークストレージ3からユーザデータを取得する。
 ユーザデータは、ユーザ端末2で利用されているユーザデータ、このユーザデータから派生してユーザ端末2で作成されたユーザデータ、新規に作成された新規ユーザデータ等を含むものであり、以後、これらのデータを含めて「ユーザデータ」と単に表記する。ユーザデータは、ユーザ端末2からネットワーク4を介して、ネットワークストレージ3へ送信され、ネットワークストレージ3に格納される。
 ネットワークストレージ3は、ユーザ端末2が利用するユーザデータを格納し、保存するためのものである。ネットワークストレージ3は、ウェブサーバ又はファイルサーバ(図示せず。)の記憶装置、言い換えると、不揮発性の補助記憶装置である。ネットワークストレージ3は、専用サーバに搭載された記憶装置、分散管理されているネットワークストレージ、クラウドサービスのストレージ(クラウドストレージ)等のように、ユーザ端末2とネットワーク4を介して接続される記憶装置である。
 本実施の形態において、ネットワークストレージ3は、クラウドストレージを含め、ユーザデータを格納するものであれば任意の記憶装置を意味する。ネットワーク4は、公知の任意の有線又は無線の通信ネットワークであるが、ローカルエリアネットワーク(LAN)又はインターネットであることが好ましい。本実施の形態において、ネットワーク4は、インターネットとして説明する。
 ユーザ端末2は、ユーザが操作し、利用するための電子計算機である(詳しくは後述する。)。ユーザ端末2は、ネットワーク4に直接接続することが可能であるが、図示しないが、ワイヤレスゲートウェイ、プロキシサーバ、ルータ、ワイヤレスアクセスポイント等の通信手段を介して接続して使用することが一般的であり、本発明の電子計算機用電子データ管理システム1は、これらの通信手段を含むものとする。
 本実施の形態においては、ユーザ端末2がネットワーク4に接続されることとそのための手段が発明の要旨ではないので、その詳細な説明は省略する。ユーザ端末2とネットワークストレージ3とのデータ通信は、通信する電子データを暗号化して所定の通信プロトコルに従って互いに送受信する。通信プロトコルは、任意の通信プロトコルを利用することができるが、ISO参照モデルに準拠したプロトコル、特に、TCP/IP等のインターネットに汎用に利用されているプロトコルが好ましい。
 ユーザ端末2において、ユーザデータはユーザ端末2の主記憶装置5上のRAMディスク7に格納されて利用される。RAMディスク7には、複数のフォルダ8が作成されて、汎用の補助記憶装置6(不揮発記憶装置)にフォルダ9が作成されて動作するのと、同じように利用される。ユーザ端末2を利用するユーザ、ユーザ端末2上に動作するアプリケーションプログラムから見ると、汎用の補助記憶装置、そのフォルダとまったく同じように操作する。
 ユーザ端末2では、ユーザデータが暗号化され、所定の通信プロトコルに従って、ネットワーク4を介してネットワークストレージ3へ送信される。ネットワークストレージ3では、この暗号化されたユーザデータを所定のフォルダ11に保存する。フォルダ11は、ユーザ端末2毎に割り当てたフォルダ、又はユーザ毎に割り当てたフォルダであっても良い。
 ユーザ端末2は、ネットワーク4を介してネットワークストレージ3からデータを取得する。この通信の流れを、図1において、破線で様式的に図示している。ユーザ端末2は、RAMディスク7の内容をネットワークストレージ3に保存する(バックアップする又は同期させる。)とき、フォルダ8毎にスケジュールを設定して行うことができる。
 例えば、所定時間、アプロケーションプログラム又はオペレーティングシステムのサービス等から要求があるとき、又はユーザから指示があるとき、ユーザ端末2は、指定されたフォルダ8、若しくはRAMディスク7の内容を全て送信する。又は、ユーザ端末2は、RAMディスク7、若しくはフォルダ8の内容の前回送信分の差分を、ネットワークストレージ3へ送信する。
 ユーザ端末2の構成について後述するが、図1に図示したように、ユーザ端末2は、記憶手段として主記憶装置5、補助記憶装置6、主記憶装置5内にRAMディスク7等を備えている。主記憶装置5は、電子計算機のRAM(Random Access Memory)であり、これは揮発性メモリである。電源供給が無くなると、主記憶装置5上に格納されているデータが揮発(消滅)して、無くなる特徴を持っている。
 この特性により、ユーザ端末2の電源が切断されると、主記憶装置5の全ての電子データが無くなり、従って、主記憶装置5の一部を利用しているRAMディスク7の内容が消滅することになる。補助記憶装置6としては、HDD(Hard disk drive)、SSD(Solid state drive)等が例示できる。RAMディスク7は、言い換えると疑似記憶装置である。
 一般論として、通常、電子計算機ではアプリケーションプログラムとユーザデータは、補助記憶装置に保存されている。電子計算機の動作時、アプリケーションプログラムは補助記憶装置からそのプログラムコードが読み込まれ、主記憶装置に格納されて実行され、そして、補助記憶装置からアプリケーションプログラムに必要なデータが読み込まれて処理される。
 アプリケーションプログラムはネットワークからデータを取得して処理する場合、ネットワークから取得したデータを補助記憶装置のキャッシュ領域に保存して、その後、アプリケーションプログラムは、このキャッシュ領域からデータを取得して処理することがある。これに対して、本発明の電子計算機用電子データ管理システム1は、作業中のデータを電子計算機の補助記憶装置に格納せず、ユーザ端末2の主記憶装置に備えたもので補助記憶装置として動作する疑似補助記憶装置に作業中のデータを格納する。
 図1に図示したように、このような疑似補助記憶装置は、主記憶装置5内にRAMディスク7として提供されている。言い換えると、RAMディスク7は、主記憶装置5に常駐する記憶装置である。詳しくは、主記憶装置5の領域の一部をRAMディスク7として割り当てた領域である。ユーザ端末2が稼働し、オペレーティングシステムが動作すると、ユーザ端末2の補助記憶装置6からドライバウェア34(図3を参照)等の制御アプリケーションプログラムが読み込まれて、主記憶装置5上に展開されて動作する。
 したがって、主記憶装置5にRAMディスク7の領域が確保され、ユーザ端末2のオペレーティングシステム30のファイルシステムに記憶装置として登録される。よって、RAMディスク7は、仮想の補助記憶装置又は疑似補助記憶装置になり、補助記憶装置として動作する。RAMディスク7は、ユーザ端末2では、ユーザ端末2の補助記憶装置6等の他の補助記憶装置と同様に取り扱われる。
 従って、アプリケーションプログラムは、RAMディスク7を作業記憶装置として、RAMディスク7内のフォルダ8は作業フォルダとして利用し動作する。このとき、アプリケーションプログラムは、必要なユーザデータを、ネットワークストレージ3からネットワーク4等を経由して取得して、RAMディスク7上に格納して利用し動作する。
 ユーザ端末2の電源が遮断されると、主記憶装置5の内容が消去されるため、RAMディスク7の内容も消去される。これにより、RAMディスク7上を利用している実行中アプリケーションプログラムが停止され、RAMディスク7上に格納されているユーザデータが全て消去される。よって、秘密性等が要求されるユーザデータがユーザ端末2から外部に漏洩することがない。
 RAMディスク7に格納されるユーザデータは、暗号化されて格納される。電子計算機用電子データ管理システム1は、RAMディスク7を補助記憶装置として利用しているので、ユーザ端末2において、オペレーティングシステムのハイバネーション機能が発動すると、主記憶装置5の内容が補助記憶装置6等のローカル補助記憶装置に格納される。
 このとき、RAMディスク7の暗号化された内容がハイバネーション機能でローカル補助記憶装置に格納されるが、暗号化されているため、内容が読み取ることができない。ハイバネーション機能の実行後、又は、ハイバネーション機能が実行されないで、ユーザ端末2の電源が切断されると、主記憶装置5の内容、RAMディスク7の内容が消去されるので、ユーザデータ等が漏洩することがない。
 言い換えると、ユーザ端末2を解析することで、ユーザデータが取得されることがない。従来技術のように、ハイバネーション機能を利用して、ユーザデータが漏洩することが無くなる。ダンプ機能に関しても同様である。ユーザ端末2は、ダンプ機能のために主記憶装置5の内容を出力するとき、RAMディスク7の暗号化された内容も出力し、補助記憶装置6等のローカル補助記憶装置にダンプファイルとして格納される。
 その後、ユーザ端末2の電源が切断されると、主記憶装置5の内容、RAMディスク7の内容が消去されるので、ダンプファイルに含まれるユーザデータ等が漏洩することがない。ユーザ端末2を解析してもユーザデータが暗号化されているため、その内容を取得することができない。
 以上説明した、ユーザ端末2でのユーザデータの流れ、特に、RAMディスク7の制御はドライバウェア(登録商標)の技術を利用して行われる。以下、ユーザ端末2、ドラバウェアの構成及び機能についてその概要を簡単に説明する。図2には、主にユーザ端末2のハードウェア構成の例を図示している。図3には、主にユーザ端末2上に動作するソフトウェア環境を含めたユーザ端末2の概要を図示している。
 〔ユーザ端末2のハードウェア構成〕
 ユーザ端末2は、中央処理手段、主記憶手段、入力手段、出力手段等を備えた汎用の電子計算機である。図2のブロック図は、ユーザ端末2の構成の一例を図示している。ユーザ端末2は、図2に図示したように、本体20に格納された中央処理装置(CPU)21、主記憶装置5、入力インターフェース22、出力インターフェース23、バス24、電源ユニット26、入力装置27、出力装置28等を備える。
 本体20は、中央処理装置21、主記憶装置5、入力インターフェース22、出力インターフェース23、バス24等を搭載したメインボード(図示せず)、電源ユニット26等を内蔵したものである。電源ユニット26は、ユーザ端末2の各構成要素、デバイス等に電源供給をするためのもので、バッテリー又は商業電源アダプター等からなるが、詳細な説明は省略する。
 入力装置27、出力装置28等は、本体20に接続して利用する周辺機器であるが、ノート型電子計算機等の一体型電子計算機の場合、本体20に内蔵して又は一体的に構成することができる。入力機能及び出力機能を備えたタッチ式のパネルも入力装置27及び/又は出力装置28として利用できる。ユーザ端末2は、補助記憶装置として、内蔵された補助記憶装置6と外付補助記憶装置29を備える。
 また、ユーザ端末2は、外付補助記憶装置29用の補助記憶装置用インターフェース25も備える。主記憶装置5、中央処理ユニット21、入力インターフェース22、出力インターフェース23は、バス24で互いに接続されて、このバス24を経由して、互いにデータの送受信を行う。特定の信号処理を行うための信号処理器がある場合があるが、その詳細な説明は、本発明の要旨ではないので省略する。
 補助記憶装置用インターフェース25は、入力インターフェース22及び/又は出力インターフェース23(合わせて、入出力インターフェースという。)の一種であるが、外付補助記憶装置29用の発明に欠かせない構成要素であるので、ここで図示した。外付補助記憶装置29は、補助記憶装置6と基本的に同じ機能を有するデバイスであり、以後、補助記憶装置6のみを例に説明する。
 主記憶装置5は、RAM等の記憶装置である。中央処理装置21は、ユーザ端末2の動作を制御するもので、主記憶装置5に格納されたプログラムによって、そのプログラムの命令を順序処理し実行しながら、ユーザ端末2の動作を制御する。マウス、キーボード等の入力装置27は、入力インターフェース22に接続される。補助記憶装置6と外付補助記憶装置29は、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の不揮発記憶装置である。
 補助記憶装置6には、オペレーティングシステム、アプリケーションプログラム、電子データ等が格納される。アプリケーションプログラムは、通常、呼び出されて、主記憶装置5に展開されて、動作する。ユーザ端末2は、図3と図4に図示したネットワークカード37のように、通信用のボード等の他の装置を接続するためのインターフェースを多数備えるが、本発明は、インターフェースを目的とするものではないので、この詳細な説明は省略する。
 〔ユーザ端末2のソフトウェア構成〕
 図3には、ユーザ端末2上で動作するソフトウェアの概要を図示している。ユーザ端末2では、オペレーティングシステム30が動作し、オペレーティングシステム30が提供するプラットフォーム上に、アプリケーションプログラム33が動作している。
 図3に図示したように、ユーザ端末2は、ネットワークカード(LANカード)37、補助記憶装置6等のデバイス36を備えている。RAMディスク7を破線で図示しており、これは、RAMディスク7は物理的に独立して存在するものではなく、主記憶装置5の中の物理メモリの一部を使用してソフトウェア的に動作する疑似記憶装置である。同様に、破線で図示されているクラウド用仮想記憶装置10は、ネットワークストレージ3へデータを送受信する専用記憶装置である。
 クラウド用仮想記憶装置10は、ソフトウェア的に動作する仮想記憶装置(疑似記憶装置)である。言い換えると、この仮想記憶装置は、データを記憶する領域等の実態がなく、使用者側から見ると補助記憶装置として見える疑似補助記憶装置であり、これにアクセスすると実体アクセスは別の補助記憶装置へリダイレクトされる。これらのデバイス36を、ネットワークドライバ37a、ディスクドライバ6a、RAMディスクドライバ7a、クラウド用仮想ディスクドライバ10a、ファイルシステムドライバ39等のデバイスドライバ35で制御する。
 具体的には、ネットワークカード37をネットワークドライバ37aで、補助記憶装置6をディスクドライバ6aで制御する。また、RAMディスク7とクラウド用仮想記憶装置10は、それぞれRAMディスクドライバ7aとクラウド用仮想ディスクドライバ10aによって制御される。
 ファイルシステムドライバ39は、ディスクドライバ6a、RAMディスクドライバ7aとクラウド用仮想ディスクドライバ10a等の記憶装置用デバイスドライバを制御するものである。結果的に、ファイルシステムドライバ39は、補助記憶装置6、RAMディスク7、クラウド用仮想記憶装置10等の補助記憶装置に対して、オペレーティングシステム30の入出力機能(I/O機能)の窓口になり、制御する。
 オペレーティングシステム30は、本来、その入出力機能(I/O機能)を介して、デバイス36をデバイスドライバ35で制御している。オペレーティングシステム30は、オペレーティングシステム30が備えている命令が全て実行できるカーネルモード31と、一部の命令を制限したユーザモード32を有する。
 ユーザ端末2で動作するアプリケーションプログラム33は、ユーザモード32で動作する。アプリケーションプログラム33ではカーネルモード31で動作するものがあるが、これはシステムリソースに直接アクセスする特殊なプログラムに限られる。汎用のアプリケーションプログラム、特にオブジェクト指向のアプリケーションプログラムは、基本的に、ユーザモード32で動作するものであり、カーネルモード31へアクセスするときオペレーティングシステム30が提供する入出力機能等の機能を利用する。
 本発明においては、オペレーティングシステム30とデバイスドライバ35の間に位置するドライバウェア34によって、オペレーティングシステム30の入出力機能、デバイスドライバ35を制御している。ドライバウェア34の構成及び機能については、詳しく後述する。補助記憶装置6は、上述した機能を有するものであり、1台以上を備える。以下、補助記憶装置6を一台のみを例に説明するが、これに限定されない。
 補助記憶装置6には、オペレーティングシステム30のコード、ユーザ端末2の動作に必要なプログラムコードを始め各種のアプリケーションプログラム33、モジュール等のソースコードが格納される(以下、単に、オペレーティングシステム30、アプリケーションプログラム33、モジュール等という。)。また、補助記憶装置6には、ユーザデータを格納することができる。
 ユーザデータは、一般的に、ユーザの要求、アプリケーションプログラム33の仕様又は要求等の必要に応じて、暗号化されて、又は、暗号化されずに、補助記憶装置6に格納される。本実施の形態において、ユーザデータは、アプリケーションプログラム33、ユーザが利用する電子データ等である。
 ユーザデータは、特に限定しないが、テキストファイル、静止画ファイル、映像ファイル、音声ファイル、各種のフォーマットの文書ファイル(Word, pdf等)、コンピュータプログラムコードのファイル、実行可能なファイル(.exeファイル)、通信履歴、アプリケーションプログラムの動作履歴、オペレーティングシステム又はアプリケーションプログラムのバックアップファイル、各種の一時ファイル、メモリの内容等の任意の形式のファイル、これらのバックアップファイルである。
 また、ユーザデータは、暗号復号コード、識別番号、暗証番号、個人情報、顧客データ、ビジネスのノウハウ、機密データに関する情報、その文書等のようにデータ管理が必要なデータを含め広く解釈される。ユーザ端末2は、ネットワークカード37、補助記憶装置6等のハードウェアのデバイス36と、デバイス36を制御するためのソフトウェアであるデバイスドライバ35を備える。
 デバイスドライバ35は、オペレーティングシステム30とデバイス36の間に位置し、それらの間にデータの送受信を行う。オペレーティングシステム30は、そのI/O機能を利用し、デバイスドライバ35を経由してデバイス36を制御する。I/O機能は、オペレーティングシステム30の一部機能として所定の関数を公開することで、デバイス36とアクセスできるものであり、デバイスドライバ35はこれを利用してデータ送受信を行う。
 図3に図示したように、ユーザ端末2は、上述のRAMディスク7を備えており、RAMディスク7は疑似デバイスであるが、ネットワークカード37、補助記憶装置6等のデバイス36と同じ、あたかもハードウェアのように動作する。そのため、RAMディスクドライバ7aが、オペレーティングシステム30とRAMディスク7の間のデバイスドライバ35に配置されて、RAMディスク7を制御する。
 クラウド用仮想記憶装置10は、疑似デバイスであるが、同様にあたかもハードウェアとして動作する。アプリケーションプラットフォームプログラム38は、アプリケーションプログラム33とオペレーティングシステム30との間に位置し、アプリケーションプログラム33とオペレーティングシステム30との通信を制御するもので、ユーザモード32で動作するプログラムである。
 アプリケーションプラットフォームプログラム38は、ドライバウェア34と連帯して動作し、ユーザモード32で取得した通信データをドライバウェア34へ送信し、ドライバウェア34の指示で、アプリケーションプログラム33とオペレーティングシステム30を制御するものである。
 クラウド同期部12は、ネットワークストレージ3(図1を参照。)と通信するための専用アプリケーションプログラム又はモジュールであり、ユーザモード32で動作する。クラウド同期部12は、ドライバウェア34と連帯して動作し、クラウド用仮想記憶装置10をネットワークストレージ3と同期させるためのものである。クラウド同期部12は、クラウド用仮想記憶装置10内のデータをファイルシステムドライバ39とドライバウェア34を経由して取得する。
 クラウド同期部12は、この取得したデータをドライバウェア34、ネットワークドライバ37a、ネットワークカード37を介して、ネットワークストレージ3へ送信する。逆に、クラウド同期部12は、ネットワークストレージ3からデータを、ネットワークカード37、ネットワークドライバ37a、ドライバウェア34を介して取得し、クラウド用仮想記憶装置10に、ドライバウェア34、ファイルシステムドライバ39を経由して格納する。
 クラウドストレージを提供する汎用サービスは、基本的にユーザモードでインターフェース(I/F)を提供しており、それにアクセスするためには、ユーザモードで動作するクラウド同期部12でアクセスする。そのため、アクセス権を得るために、クラウドストレージへ初回接続の場合、クラウドストレージのアカウント(IDとパスワード)を標準提供されているI/Fを利用しユーザモードで入力する。
 〔ドライバウェアの説明〕
 図4は、ドライバウェア34を含め、ユーザ端末2上で動作するソフトウェアの概要を図示している。この図を参照しながら、ユーザ端末2上で動作するオペレーティングシステム30、ドライバウェア34等の概要を説明する。本実施の形態においては、オペレーティングシステム30は、Microsoft社のWindows XP(登録商標)以後のWindowsを例に説明する。
 しかし、これは、本発明で使用できるオペレーティングシステム30の種類を制限するものではなく、同様な機能が実現できれば、任意のオペレーティングシステムも利用することができる。ユーザ端末2は、ソフトウェアとして動作するオペレーティングシステム30、ドライバウェア34等を備え、ハードウェア(デバイス36)としてネットワークカード37、補助記憶装置6、キーボードポート43、マウスポート44等を本体20に備えている。
 ユーザ端末2は、ソフトウェアとハードウェアの間に位置するハードウェア抽象化層(HAL)47を備えている。ドライバウェア34は、オペレーティングシステム30のカーネルモード31で動作するプログラムである。ユーザ端末2は、キーボードポート43に接続されるキーボード45、マウスポート44に接続されるマウス46、ディスプレイ(図示せず。)等の入出力装置を備えている。
 ユーザ端末2は、図示しないが、周辺機器と接続するためのコネクタを有し、コネクタは、SATA、RS-232C、IrDA、USB、IEEE1394等のシリアルポート、IEEE1284、SCSI、IDE等のパラレルポートであるものが好ましい。キーボードポート43とマウスポート44は、コネクタの一つである。ユーザ端末2は、スキャナ、プリンタ等の周辺機器を有することができ、コネクタに接続される。
 ユーザ端末2上で動作するアプリケーションプログラム33は、オペレーティングシステム30が提供する機能を利用して、入出力装置からの入出力を行い、必要な処理をする。アプリケーションプログラム33は、オペレーティングシステム30のカーネルモード31又はユーザモード32に動作する実行可能なファイル又はソフトウェアである。
 例えば、アプリケーションプログラム33は、ワードプロセッシングソフトウェア、テキストエディタ等の文書を作成、編集するためのソフトウェア、pdf形式のファイル等のような特定の形式のファイルを閲覧、作成、編集するためのソフトウェアである。
 オペレーティングシステム30は、キーボード45からの入力、マウス46からの入力や画面出力等のような入出力装置からの入出力機能、記憶装置やメモリの管理等の基本的な機能を提供し、ユーザ端末2全体を動作させ、管理するためのソフトウェアである。オペレーティングシステム30は、基本ソフトウェアとも言われる。
 オペレーティングシステム30は、その提供する機能を実現するために多数の実行可能なプログラムから構成されるものである。オペレーティングシステム30、特に本発明の実施の形態に用いているWindows系のオペレーティングシステムについては、多数の書籍があり、その一部から紹介する。本発明を再現するためには、これらの公開されている書籍に記述されている技術知識、特に、デバイスドライバ開発に関する知識が必要である。
 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)。
 ここで、オペレーティングシステム30の構成要素の内の代表的なものから、図4を参照しながら、記述する。オペレーティングシステム30は、カーネル40、エグゼキュティブ41、サブシステム42、デバイスドライバ35、HAL47等から構成される。サブシステム42は、オペレーティングシステム30のユーザモード32で提供されるサービスである。
 エグゼキュティブ41は、メモリの管理、プロセスとスレッドの管理、セキュリティ、I/O(入出力)、ネットワーク、及びプロセス間通信等のオペレーティングシステム30の基本的なサービスを提供するものである。カーネル40は、スレッドスケジューリング、割り込み、例外通知、マルチプロセッサの同期等の低レベルの関数を提供する。また、カーネル40は、エグゼキュティブ41の内部で使用するルーチンセットと基本オブジェクトを提供する。
 デバイスドライバ35は、通常は、ユーザ端末2に接続されたハードウェアごとに作成され、HAL47を介して、デバイス36を直接制御するものである。デバイスドライバ35は、アプリケーションプログラム33やオペレーティングシステム30からの入出力機能の要求(I/O呼び出し要求)を特定のデバイス36に対する入出力機能の要求(I/O要求)に変換するサービスと、ファイルシステムやネットワークドライバ等のシステムサービスを提供する。
 HAL47は、カーネル40、デバイスドライバ35、及びエグゼキュティブ41をプラットフォーム固有のハードウェア機能から分離し抽象化するためのコード層である。HAL47は、ユーザ端末2の内蔵デバイスや、ユーザ端末2に接続されている外部デバイス等のハードウェアの機種、種類による違いを吸収し、オペレーティングシステム30の各サービスに対して抽象化したサービスを提供する。
 オペレーティングシステム30を構成する各種のサービスは、ハードウェアの機種、種類による違いを意識することなくハードウェアにアクセスすることが可能になる。以上のように、オペレーティングシステム30についてその代表的な構成、機能について説明したが、詳しくは関係書籍、ウェブソース等に譲り、詳細は省略する。
 〔ドライバウェア34〕
 ドライバウェア34は、デバイスドライバ35間のデータの送受信をカーネルモード31で実現するためのものである。デバイスドライバ35間にカーネルモード31でデータを転送するとき、データ転送が高速に行うことができると共にデータのセキュリティを確保することができる。従って、大容量のデータを短時間で高速に転送するという利点がある。
 ドライバウェア34は、アプリケーションプログラム33からデバイスドライバ35へアクセスするとき、また、デバイスドライバ35からアプリケーションプログラム33へデータを送信するときに、共通のインターフェースを提供する。ドライバウェア34は、オペレーティングシステム30のカーネルモード31で動作する。
 ドライバウェア34は、デバイスドライバ35間だけではなく、オペレーティングシステム30とデバイスドライバ35とのデータの送受信を提供し、制御する機能を有する。ドライバウェア34は、電子計算機のインターフェースドライバプログラムとして、本出願人が提案した例えばWO02/091195号等に開示されている周知の技術である。
 ドライバウェア34は、アプリケーションプログラム33からの命令やデータ等を受信し、アプリケーションプログラム33へのデータを送信するためのアプリケーションプログラムインターフェース部51を有する。ドライバウェア34は、ドライバウェア34の全体の動作を制御するための制御部52を有する。また、ドライバウェア34の動作の履歴を取得するためのログ取得部53も有する。
 ドライバウェア34は、通信するデータを暗号化するための暗号化部54、暗号化されたデータを復号化するための復号化部55を有する。ドライバウェア34は、デバイスドライバ35を制御するためのデバイスドライバ制御部60を有する。デバイスドライバ制御部60は、デバイスドライバ35毎に作成されることも又は共通の機能等がある場合、一つのデバイスドライバ制御部60で複数のデバイスドライバ35を制御することができる。
 制御部52は、デバイスドライバ制御部60、アプリケーションプログラムインターフェース部51、ログ取得部53、暗号化部54、復号化部55等のドライバウェア34の他の部を制御し、監視するためのもので、ドライバウェア34の中核部である。デバイスドライバ制御部60は、各デバイスドライバ35を制御するための制御部からなる。
 例えば、ネットワークドライバ37aを制御するためのネットワーク制御部56、ファイルシステムドライバ39を制御するためのファイルシステム制御部57、キーボードドライバ43aとマウスドライバ44aを制御するための入力装置制御部59等からなる。RAMディスク制御部58は、RAMディスク7を作成し、そのための設定を行うためのものである。
 本実施の形態においては、デバイスドライバ35は、オペレーティングシステム30に付属するものとして記述する。ネットワークドライバ37aは、ネットワークカード37を制御するためのデバイスドライバである。ファイルシステムドライバ39は、補助記憶装置6に保存されているファイル、フォルダに関する情報を管理するもので、補助記憶装置6に保存されているファイルやフォルダへのアクセスを提供するものである。
 ファイルシステムドライバ39は、本例ではユーザ端末2に接続されたIDE(Integrated Drive Electronics)、ATA(Advanced Technology Attachment)、SATA(Serial ATA)、SCSI(Small Computer System Interface)、USB(Universal Serial Bus)、これらの派生規格等の規格に準拠した記憶装置へのアクセスを提供する。本発明は、ハードウェア規格の発明ではないので、詳細な説明は各規格の仕様文献に譲り、これ以上の説明は省略する。
 このように、ドライバウェア34は、アプリケーションプログラム33から出力される命令及び/又はデータを受信し、この命令の実行結果及び/又はデバイスドライバ35から受信した受信データを、アプリケーションプログラム33に送信するためのアプリケーションプログラムインターフェース部51を有する。また、ドライバウェア34は、デバイスドライバ35へこの命令及び/又はデータを送信し、デバイスドライバ35から命令の実行結果及び/又は受信データを受信するためのデバイスドライバ制御部60を有する。
 更に、ドライバウェア34は、これらの命令及び/又はデータを処理し、出力データを生成して、データの制御を行うための制御部52を有する。ドライバウェア34は、データを暗号化して暗号化データを作成するための暗号化部54、及び、暗号化データを復号化し、元のデータを作成するための復号化部55を有する。更に、ドライバウェア34の動作の履歴を取得し、保存するためのログ取得部53を有する。ログ取得部53は、特に、制御部52の動作の履歴を取得し、記録する。
 デバイスドライバ制御部60の各制御部56~59は、制御部52によって制御され、又は、制御部52から命令又はデータを受信し、これをデバイスドライバ35へ送信又は転送する。デバイスドライバ制御部60は、デバイスドライバ35から前述した命令を実行した結果、データを受信し、制御部52へ送信する。このように、ドライバウェア34は、ユーザ端末2を制御する、特にユーザ端末2の各デバイスの動作を制御する中核部である。
 〔アプリケーションプラットフォームプログラム〕
 アプリケーションプラットフォームプログラム38(図3及び図4を参照。)は、オペレーティングシステム30のユーザモード32で動作するアプリケーションソフトウェアである。アプリケーションプラットフォームプログラム38は、アプリケーションプログラム33と、オペレーティングシステム30との間に位置し、これらの間に命令やデータの送受信を仲介し制御するためのアプリケーションプログラムである。
 アプリケーションプラットフォームプログラム38は、オペレーティングシステム30からファイルシステムにアクセスするためのユーザインターフェースを提供する。アプリケーションプラットフォームプログラム38は、アプリケーションプログラム33の起動、これに伴うプロセスの起動を監視し、これらの属性情報を取得する機能を有する。
 図5は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1のユーザ端末2の動作概要を示すフローチャートである。まず、ユーザ端末2に電源を入れて起動させる(ステップ1)。ユーザ端末2上にオペレーティングシステム30が起動し、初期処理等を行い、そして、ドライバウェア34が起動する(ステップ2,3)。
 RAMディスク7を作成するためのRAMディスク制御部58が起動し、主記憶装置5上にRAMディスク7用の領域を確保し、RAMディスク7のための設定がオペレーティングシステム30及びドライバウェア34で行われる(ステップ4)。RAMディスク7に必要な領域、言い換えると、主記憶装置5上に常駐するメモリサイズは、標準サイズとして500MB、1GB、4GB等のように予め設定されるが、ユーザによってRAMディスク制御部58等の動作中に指定することができる。
 ドライバウェア34は、デバイスドライバ35を制御しているので、ファイルシステムドライバ39等を制御し、RAMディスク7をメインの補助記憶装置として動作させる設定を行う。まず、RAMディスク7を補助記憶装置としてオペレーティングシステム30のI/O機能に登録する。また、RAMディスクドライバ7aが読み込まれ、ファイルシステムドライバ39と連携される。これにより、ファイルシステムドライバ39とオペレーティングシステム30には、通常の補助記憶装置として、RAMディスク7が認識される。
 次に、RAMディスク7のフォーマット処理を行う。これにより、アプリケーションプログラム33、オペレーティングシステム30等からアクセス可能になる。次に、クラウド同期部12のプログラムが起動され、クラウド用仮想記憶装置10を生成し、そのための設定がオペレーティングシステム30及びドライバウェア34等で行われる(ステップ5、6)。クラウド用仮想記憶装置10を補助記憶装置としてオペレーティングシステム30のI/O機能に登録する。
 また、クラウド用仮想ディスクドライバ10aが読み込まれ、ファイルシステムドライバ39と連携される。これにより、ファイルシステムドライバ39とオペレーティングシステム30には、補助記憶装置として、クラウド用仮想記憶装置10が認識される。これにより、アプリケーションプログラム33、オペレーティングシステム30からアクセス可能になる。
 そして、ユーザ端末2は、ネットワーク4(図1を参照。)に接続し、ネットワークストレージ3と接続する(ステップ7)。言い換えると、ユーザ端末2は、ネットワークストレージ3と通信リンクを確立させる。これにより、ユーザ端末2を利用者が利用する準備ができる。ユーザ端末2上にアプリケーションプログラム33が動作し、データ処理等を行う(ステップ8)。
 アプリケーションプログラム33は、ユーザ端末2上で動作する。具体的には、ユーザ又は他のアプリケーションプログラム、オペレーティングシステム30のサービスの要求又は指示によって、動作する。アプリケーションプログラム33は、補助記憶装置6又はネットワークストレージ3から読み出されて動作する。アプリケーションプログラム33は、動作すると、実体の無い仮想ディスクであるが、クラウド用仮想記憶装置10を経由して、ネットワークストレージ3にアクセスできる。
 ユーザ端末2において、ドライバウェア34は、RAMディスク7の内容をネットワークストレージ3(図1参照)に送信し、ネットワークストレージ3にあるRAMディスク7用のフォルダ11とクラウド用仮想記憶装置10が同期をとる(ステップ9)。ユーザ端末2は、定期的に、作業を監視し、継続又は終了をする(ステップ10、11)。
 アプリケーションプログラム33がクラウド用仮想記憶装置10にユーザデータを保存したことをドライバウェア34が検出すると、クラウド同期部12へ通知する。クラウド同期部12は、RAMディスク7の内容を確認し、未同期のファイルは直ちにネットワークストレージ3と同期をとって、終了する(ステップ12)。言い換えると、同期となっている残りのデータを同期する。この同期が終了すると、ユーザ端末2は、電源を切断する。このとき主記憶装置5の内容が消去され、従って、RAMディスク7の内容も消去される(ステップ13)。
 これにより、アプリケーションプログラム33で利用していたユーザデータは、ユーザ端末2に残ることがなく、ユーザ端末2から削除される。従って、利用者にとって、ユーザ端末2にユーザデータが一切残ることが無くなり、ユーザデータの情報漏洩、機密確保が保証される。
 [管理プログラム]
 以下、管理プログラムの動作例について図6に図示したフローチャート参照しながら説明する。ドライバウェア34は、アプリケーションプラットフォームプログラム38とクラウド同期部12と一緒に管理プログラムとして、提供される。管理プログラムは、記録媒体等に格納されて提供される。
 また、管理プログラムは、ネットワーク4上のネットワークストレージ3又はその他のファイルサーバ、アプリケーション提供サイトに格納されていて、ユーザ端末2からダウンロードして、インストールすることができる。このように、管理プログラムは、任意の方法で提供される。管理プログラムは、ユーザ端末2にインストールされて(ステップ30)、所定の手順で、管理プログラムのライセンス認証、ユーザ端末2の端末認証、ユーザ認証が行われる(ステップ31)。
 これらの認証は、全て正常に認証されてから、ユーザ端末2を利用する準備ができる。このとき、ユーザ端末2において、RAMディスク7が主記憶装置5内に設定される(ステップ32)。RAMディスク7の設定は、本例では、ドライバウェア34に内蔵されたRAMディスク制御部58によって行われている。この設定の仕方については、上述している。
 また、RAMディスク7の設定が終わると、ネットワークストレージ3と同期するために利用されるクラウド同期部12が起動され、クラウド用仮想記憶装置10が設定される(ステップ33、34)。クラウド同期部12は、管理プログラムに同梱される関連プログラムである。このとき、クラウド用仮想記憶装置10が設定され、オペレーティングシステム30のI/O機能に登録される。
 上述のRAMディスク7の設定、クラウド用仮想記憶装置10の設定は、その順序が任意で行うことができる。これらの設定が終わると、ユーザ端末2はネットワーク4に接続され、ネットワークストレージ3に接続され(ステップ35)、ユーザ認証等が行われる(ステップ36)。この認証が正常に終了すると、ネットワークストレージ3にユーザ端末2が接続され、ユーザ端末2からネットワークストレージ3にファイル等の電子データを送信し保存すること、又は、ネットワークストレージ3から電子データを受信することが可能になる(ステップ37)。
 言い換えると、ネットワークストレージ3にユーザ端末2からファイルアップロード又はダウンロードが可能になる。これらのライセンス認証、端末認証、ユーザ認証(ユーザ端末、ネットワークストレージ)は、公知のものであり、詳細な説明は省略する。以下、このような利用準備ができた状態をベースにして説明をする。
 図8は、管理プログラムが制御モードをオンにするときの動作を示すフローチャートである。管理プログラムには電子計算機を制御する制御モードがある。管理プログラムの制御モードをONにして、電子計算機の制御が行われる。管理プログラムの制御モードをOFFにすると、インストールされている管理プログラムは電子計算機の制御を行わず、電子計算機は従来通り動作する。
 図8に図示したように、管理プログラムがインストール後、制御モードをオンにする(ステップ50)。このとき、管理プログラムは、ユーザ端末2に接続されている補助記憶装置を確認する(ステップ51)。このとき、RAMディスク7とクラウド用仮想記憶装置10の確認も行われる。この確認は、オペレーティングシステム30に認識されている補助記憶装置の中で、RAMディスク7とクラウド用仮想記憶装置10が含まれているか否かで確認する。
 ユーザ端末2に内蔵された補助記憶装置6への書き込みを禁止に設定する(ステップ52)。このとき、USBメモリ、リムーバブルドライブ、フレキシブルディスクドライブ、外付補助記憶装置29(図2を参照。)等の記憶装置は、書き込み禁止に設定される。言い換えると、ユーザ端末2からデータを持ち出しできるような記録手段に対して、データ記録の制限をする。RAMディスク7とクラウド用仮想記憶装置10は、書き込みを禁止にしない。
 また、内蔵された補助記憶装置6は、オペレーティングシステム30の動作に必要なものであり、書き込み禁止等のアクセス制限を受けない。よって、アプリケーションプログラム33又はオペレーティングシステム30からは、これらのデータ記録の制限を受けた記憶装置にデータを書き込みしようとするとき、ドライバウェア34がこれを検知して書き込みの動作を中止させる。
 管理プログラムは、ネットワーク4へ通信する通信ポートの設定を行う(ステップ53)。ネットワーク4へ通信としては、ネットワークカード37を介してインターネット、LAN等への有線又は無線通信、コンピュータ同士の有線又は無線通信が含まれる。この設定では、ユーザ端末2に必要な通信ポートのみが使用許可され、不必要なポートが通信禁止にされる。
 これは、ユーザや管理者等が選択設定するものであり、管理プログラムがインストールされるとき、又は、その制御モードをONにするとき、ユーザが選択できる。ユーザ端末の上記の通信ポート以外のインターフェースは使用禁止に設定される。例えば、USB、SCSI、IDE、RS-232C規格のインターフェースは使用禁止に設定される(ステップ54)。
 更に、管理プログラムは、コピー&ペースト、クリップボードの使用、ネットワーク機能、スクリーンキャプチャの使用は使用禁止にする(ステップ55)。しかし、ユーザ、管理者等は、これらを全部又は一部を使用したい場合は、それを使用禁止にしない。最後は、管理プログラムは、オペレーティングシステム30の正常な動作に必要なプロセスを指定し、例外設定をする(ステップ56)。
 例えば、オペレーティングシステム30の動作に必要なSystemプロセス等を動作可能にする。管理プログラムが制御モードをオンにした後の、ステップ51~ステップ56の各種の設定は、必ずしもこの順番で行う必要はなく、状況に応じて自由自在に組み合わせることができる。これらの設定が終わると、管理プログラムは、RAMディスク7の設定を行う(ステップ57)。
 RAMディスク7の設定では、複数のRAMディスク7がある場合、作業ドライブとして利用するメインディスクを選択設定し、クラウド用仮想記憶装置10に対応する作業フォルダをRAMディスク7内に作成又は設定する。クラウド用仮想記憶装置10は、ネットワークストレージ3の仮想記憶装置として設定されており、アプリケーションプログラム33、オペレーティングシステム30等に対しては、パスが設定されているだけである。
 このパスにアクセスすると、実体データはネットワークストレージ3からダウンロードされ、RAMディスク7に格納されるので、RAMディスク7の設定では、RAMディスク7をクラウド用仮想記憶装置10にマッピングするための設定をする。また、RAMディスク7に格納されたユーザデータをネットワークストレージ3へ転送するときの各種設定が行われる。クラウド用記憶装置10に関する設定が行われる(ステップ58)。
 例えば、ユーザデータに関して、暗号する暗号鍵の設定、転送するタイミング(特定時間、間隔等)、通信速度、優先度等を設定するが、管理者はこれらの設定を必要に応じて選択することができる。管理プログラムは、起動しているプロセスのプロセス名、プロセスIDを取得する(ステップ59)。管理プログラムは、取得したプロセス名とプロセスIDをプロセス制御リスト(表1を参照。)に保存する。プロセス制御リストには、ファイルパスの条件として、その保存先又は作業フォルダが指定される。
 本例では、「Application 1」は、「e:\」を設定している。クラウド用記憶装置10は、ネットワークストレージ3のネットワークドライブをマウントするイメージであり、「e:」のようなドライブ名を割り当て、アプリケーションプログラム33がこのドライブにアクセスし、任意のフォルダを自由に読み書きできる。
 これにより、アプリケーションプログラム33が起動され、ユーザ端末2で作業が行われる。よって、アプリケーションプログラム33とオペレーティングシステム30の処理結果、処理されたユーザデータは、クラウド用記憶装置10へ保存されるよう設定になるが、実体は、RAMディスク7に格納される。
 ドライバウェア34とクラウド同期部12は、RAMディスク7を常時監視しており、ネットワークストレージ3と同期するためのデータは、クラウド用仮想記憶装置10へのアクセス要求に連動して、暗号化され、最終的に、ネットワークストレージ3へ送信される。この作業は、管理プログラムで、制御モードをOFFにするまでに継続する。管理プログラムの制御モードがONになると、ユーザ端末2の起動と同時に、管理プログラムが自動的に起動して、制御モードがONの状態で動作する。
 管理プログラムの制御モードを意図的にOFFに設定しない限り継続する。管理プログラムの制御モードをOFFにすると、上述設定した設定を全て解除する。
Figure JPOXMLDOC01-appb-T000001
 [制御部の動作]
 図7には、制御部52の動作のフローチャートを図示している。ドライバウェア34が制御モードをオンにするように指示されると、制御部52はこの指示を受信し、ファイルアクセスを全て禁止する命令を送信する(ステップ70)。この命令は、ネットワーク制御部56、ファイルシステム制御部57、RAMディスク制御部58、クラウド同期部12に送信される。
 ネットワーク制御部56、ファイルシステム制御部57、RAMディスク制御部58は、この命令を受信して、ファイルアクセスを禁止にする。また、制御プロセスの設定、ネットワーク利用の禁止、クリップボードの利用禁止、スクリーンキャプチャの使用禁止、コピーアンドペースト機能の禁止等を行う。エグゼキュティブ41(図4参照)のプロセスマネージャーが実行されている全てのプロセスを管理している。
 ここに、コールバック関数を登録(カーネル40のAPIを利用)することで、プロセスの起動・終了のイベントを取得する。実行するプロセスの起動・終了イベントに対して、コールバック関数を設定し、アプリケーションプログラム33の起動と終了を検出できるように設定する。アプリケーションプラットフォームプログラム38が動作しているとき、アプリケーションプログラム33が起動する(ステップ71)。
 アプリケーションプラットフォームプログラム38は、アプリケーションプログラム33の起動を検出する(ステップ72)。CreateProcessのSUSPEND(サスペンド)モードでアプリケーションプログラム33のプロセスが起動され、アプリケーションプラットフォームプログラム38は、このプロセスのハンドルとプロセスIDを取得する(ステップ73)。
 プロセスがCreateProcessのサスペンドモードで起動されると、一時休止した状態になり、再開されるまでに実行されない。ハンドルは、CreateProcessから戻されるプロセスハンドルである。アプリケーションプラットフォームプログラム38は、取得したハンドルとプロセスIDを制御部52に送信する。プロセスが起動されると、ファイルシステム制御部57内のコールバック関数を実行し、制御部52へ制御開始を通知する。
 制御部52は、ハンドルとプロセスIDを取得する。この取得の詳細な動作について後述する。制御部52は、ファイルシステム制御部57へハンドルとプロセスIDを送信し、プロセスIDを利用して、管理テーブルを参照し、管理テーブルの値に従って、ファイルアクセスを許可する設定を行う。ファイルアクセスを許可するように設定する項目はプロセスID、プロセス名、ファイル名、フォルダ名、ファイル操作である。
 ファイル操作に指定される設定は、読み込み専用(Read Only)と、読み込み書き込み(Read/Write)とのいずれかを許可する設定である(ステップ74)。これらの一連の設定が終わると、取得したハンドルを使って、サスペンドプロセスを再開する(ステップ75)。アプリケーションプログラム33が動作される。そして、制御部52は、アプリケーションプログラム33が終了するときにオペレーティングシステム21から発される通知である終了イベントを待機する(ステップ76)。
 アプリケーションプログラム33が終了すると、ファイルシステム制御部57内のコールバック関数を実行し、制御部52へ制御解除を通知する。ファイルシステム制御部57は、プロセス制御リスト(表1を参照。)によって行われていた制御解除をし、それ以後は、このアプリケーションプログラム33の制御を行わない。無論、このアプリケーションプログラム33がユーザデータにアクセスしたときは、制御が再開される。
 図9には、アプリケーションプログラム33が終了するときの制御部52の動作のフローチャートを図示している。アプリケーションプログラム33が終了するとき、終了イベントが発生されるアプリケーションプラットフォームプログラム38、終了イベントのプロセスIDを取得する(ステップ90)。アプリケーションプラットフォームプログラム38は、終了イベントのプロセスIDを制御部52に送信する。
 制御部52は、終了イベントのプロセスIDを取得する(ステップ91)。制御部52は、RAMディスク7に格納されたアプリケーションプログラム33が利用していたユーザデータを取得する(ステップ92)。このユーザデータは、アプリケーションプログラム33用に作成された専用のフォルダ8に格納されている。格納先は、プロセス制御リスト(表1を参照。)を参照して特定する。
 制御部52は、このユーザデータをクラウド用仮想記憶装置10へ転送し格納する(ステップ93)。クラウド同期部12は、クラウド用仮想記憶装置10内のデータを取得して、制御部52を介して、暗号化部54で暗号化する(ステップ94)。そして、暗号化されたデータは、ネットワーク制御部56へ送信され、最終的にネットワークストレージ3に格納される(ステップ95)。
 このとき、制御部52は、暗号化したユーザデータを取得し、最終的に、ネットワーク制御部56を介してネットワークカード37へ送信される。ユーザデータは、暗号化、暗号化されたデータがネットワークドライバ37aへの転送は、カーネルモード31で処理されているので、高速に処理される。そして、他のアプリケーションプログラム等が直接アクセスできない動作モードなので高度のセキュリティが確保される。結果的に、ユーザデータの外部への漏洩がない。
 このように、制御部52は、アプリケーションプログラム34、そのイベントを検出して、RAMディスク7のユーザデータをネットワークストレージ3へ送信する指示を出している。制御部52は、RAMディスク7を関していて、所定の期間毎に、新しいアプリケーションプログラム33が起動したとき、ユーザデータが作成された若しくは変更されたとき、オペレーティングシステム33又はアプリケーションプログラム33がエラー発生して、又はエラーを検知したとき等のように、あらゆるタイミングで、ユーザデータをネットワークストレージ3へ送信する指示を出すことができる。
 ユーザ端末2において、オペレーティングシステム30の動作に必要な最低限の実行ファイルとプロセスを制限なしに動作させる必要がある。例えば、プロセスとしては、System、Kernel.exe、explorer.exeが例示できる。制御プロセス名、制御ディレクトリは、プロセス制御リストに登録される。これらのプロセスは、オペレーティングシステム30が起動するときの設定、つまり、補助記憶装置6のディレクトリが作業フォルダとして設定されている。
 そのため、制御部52は、これらのシステムプロセスから補助記憶装置6を取得し、これをRAMディスク7の該当するフォルダへのアクセスに置き換え、言い換えると、リダイレクトする。プロセス名を取得するには、ZwQueryInformationProcess関数を使い、実行プロセスのイメージパスを取得し、これの実行ファイルexeのファイル名からプロセス名を取得する。プロセスIDを取得するには、PsGetCurrentProcessId()関数を使って現在のプロセスのIDを取得する。
 ファイル名を取得するには、ファイルのI/O要求に関する入出力(I/O)要求(IRP)から参照されるファイルオブジェクトよりファイル名を取得する。イベントの検出は、次のように行われる。オペレーティングシステム30のカーネル31内のI/O要求は、IRP(IO Request Packet)の形式で行われる。ファイルアクセスに関しては、次の表2に示すIRPが利用される。このIRPを対象にコールバック関数を設定することで、イベント検出を行う。
 コールバック関数は、エグゼキュティブ41のプロセスマネージャーに登録され、コールバック関数が実行されると参照先のドライバウェア34に制御が移動される。
Figure JPOXMLDOC01-appb-T000002
 ユーザデータは、基本的にアプリケーションプログラム33から呼び出されて、主記憶装置5に展開されて利用される。ユーザデータを呼び出すアクションのとき、アプリケーションプログラム33は、クラウド用仮想記憶装置10からアクセス要求を出す。ユーザデータの実態はネットワークストレージ3に格納されており、この要求が出されると、ネットワークストレージ3からダウンロードされ、RAMディスク7に格納される。
 また、アプリケーションプログラム33は、作業を終了し、ユーザデータを保存するとき、同じく、クラウド用仮想記憶装置10に保存する要求を出力するが、ユーザデータの実体は、主記憶装置5からRAMディスク7に保存され、更に、RAMディスク7からネットワークストレージ3へ転送されてアップロードされる。アップロードが成功しなかった場合、リトライする。
 図10のフローチャートを参照しながら、アプリケーションプログラム33がユーザデータを利用する流れの例を説明する。まず、アプリケーションプログラム33は、予め設定された設定値又はユーザによる操作に基づいて、ユーザデータのファイル(以下、データファイルという。)にアクセスを開始する(ステップ110)。データファイルは、ネットワークストレージ3、詳しくはフォルダ11、に保存されている。
 そのため、アプリケーションプログラム33は、クラウド用仮想記憶装置10(フォルダ11)のアドレスとデータファイルのファイル名からなるアドレスを利用して、ファイルアクセスの要求を出力する(ステップ111)。アプリケーションプログラム33から出力されたファイルアクセス要求は、オペレーティングシステム30の入出力機能に送信される(ステップ112)。
 ファイルアクセス要求は、オペレーティングシステム30の入出力機能によって、ファイルシステムへ送信され、ファイルシステムドライバ39へ送信される(ステップ113)。オペレーティングシステム30のユーザモード32においてアプリケーションプラットフォームプログラム38、又は、カーネルモード31においてドライバウェア34によって、ファイルアクセス要求が検知され、制御部52に送信される(ステップ114)。
 ファイルアクセス要求は、ファイルシステムドライバ39へ送信され(ステップ115)、クラウド用仮想ディスクドライバ10aに送信される(ステップ116)。クラウド用仮想記憶装置10は、ネットワークストレージ3と同期されているので、この同期をクラウド同期部12が制御している。クラウド用仮想ディスクドライバ10aは、ファイルアクセス要求を受信すると、これをクラウド同期部12へ通知する(ステップ117)。
 クラウド同期部12は、ネットワーク制御部56とネットワークドライバ37a、ネットワークカード37を介して、ネットワークストレージ3にアクセスし(ステップ118)、要求されたデータファイルを取得し(ステップ119)、RAMディスク7に格納する(ステップ120)。この格納が終了すると、クラウド同期部12は、クラウド用仮想ディスクドライバ10aへ通知する(ステップ121)。
 クラウド用仮想ディスクドライバ10aは、クラウド用仮想記憶装置10から、要求されたデータファイルを取得して、ファイルアクセス要求の送信元へデータファイルを送信する(ステップ122)。データファイルは、RAMディスクドライバ7a、ファイルシステムドライバ39、ドライバウェア34を経てオペレーティングシステム30の入出力機能を経て、アプリケーションプログラム33へ送信され、結果的に、アプリケーションプログラム33はデータファイルを取得し、その処理を行う(ステップ123)。
 ファイルシステム制御部57は、アプリケーションプログラム33によるRAMディスク7内のデータファイルの更新状況を監視しており、データファイルがクローズされると、データファイルをRAMディスク7からネットワークストレージへ送信する(ステップ124)。アプリケーションプログラム33は、RAMディスク7へアクセスするとき、ドライバウェア34を必ず介するので、ドライバウェア34はRAMディスク7へデータファイルを格納するときこれを暗号化部54で暗号化する。
 また、RAMディスク7からデータファイルを受信するとき、ドライバウェア34はこれを復号化部55で復号化してアプリケーションプログラム33へ送信する。ユーザデータはRAMディスク7からネットワークストレージ3へアップロードするとき、通信障害等によってアップロードが成功しなかった場合、リトライする。つまり、ユーザ端末2とネットワークストレージ3との接続が回復し正常になったとき、又は、通信障害が起きてから若しくはアップロードが成功しなかった時間から所定時間待機してから、リトライする。
 [サスペンドモード]
 電子計算機を所定時間以上に使用しないとき、中央処理装置(CPU)、ディスプレイ、HDD等のコンポネントの電源を切り、一時休止状態になり、電力消費量を減らすことがある。このとき、電子計算機での作業状態となる主記憶装置の内容が補助記憶装置に保存されて、電源が殆ど使われない状態になる。電子計算機を再起動するとき、保存された作業状態(作業データ)が主記憶装置に読み出されるので、電子計算機が高速に起動することができる。
 主記憶装置の内容となる作業データが補助記憶装置に保存された状態の電子計算機は、サスペンドモードにあるという(以下、単にサスペンドモード又はサスペンド機能という。)。このようなサスペンドモードはオペレーティングシステムの種類によって、スリープ、スリープモード、一時休止状態等と呼ぶこともある。
 以下に説明するサスペンドモードに入る動作、サスペンドモードから起動する動作、これらのとき作業データを補助記憶装置に格納する動作、補助記憶装置から作業データを呼び出す動作、補助記憶装置の作業データと一時ファイルを削除する動作、RAMディスク上の作業データを削除する動作、RAMディスクを初期化する動作は、上述のドライバウェア34、管理プログラム等によって監視され、制御される。よって、ドライバウェア34、管理プログラムの機能について、ユーザ端末2として説明し、詳しい説明は省略する。
 図11は、ユーザ端末2がサスペンドモードに入るときの動作を示すフローチャートである。ユーザ端末2は電源をスリーブ、シャットダウン、再起動等をユーザが操作し指示する電源管理操作部(オペレーティングシステムのホーム画面上)を有している。ユーザはユーザ端末2のこの電源管理操作部からスリーブを選択し、ユーザ端末2がスリーブ状態を開始する指示をすることにより、ユーザ端末2のサスペンドモードがユーザの指示によって開始される(ステップ130)。
 ノート型の電子計算機のように、画面を閉じるとユーザ端末2のサスペンドモードが自動的に開始されるおともあり、これはユーザにより指示されたものと同一に扱うことができる。またはユーザ端末2のバッテリーの充電容量が少なくなり、ユーザ端末2での通常の作業ができなくなるレベルに下がる、言い換えるとバッテリー不足になるとき、ユーザ端末2のオペレーティングシステムがスリープへ自動遷移する。このように、ユーザ端末2は自動的にサスペンドモードを開始する(ステップ130)。
 ユーザ端末2は補助記憶装置6の空き容量を確認する(ステップ131)。この確認は、ドライバウェア34、ファイルシステムドライバ39を介して行われるか、形式的に階層としては通過する。主記憶装置5は基本的にユーザ端末2の動作中に変更されることはなく、ユーザ端末2が動作開始時、言い換えるとオペレーティングシステムが開始された時点でその容量が確定している。そのため、オペレーティングシステムの設定上、スリーブ時のデータ保存領域が補助記憶装置6上に確保される。
 補助記憶装置6に主記憶装置5の内容を保存する十分な空き容量があるとき、主記憶装置5の内容を補助記憶装置6に書き込み保存する(132、133)。これにより、主記憶装置5の一部に設定されているRAMディスク7の内容がそのまま補助記憶装置6に保存されることになる。RAMディスク7は、ドライバウェア34の暗号化ドライバによって、常時暗号化されており、そのためRAMディスク7がスリープモードに入るとき補助記憶装置6に保存されるとき暗号化されたままに保存される。
 RAMディスク7は暗号化されたまま補助記憶装置6に保存されるので、個人情報等の機密データが漏洩することがない。補助記憶装置6に主記憶装置5の内容を保存する十分な空き容量がないとき、ユーザ端末2は作業データを保存せずサスペンドモードを開始する(ステップ134)。
 図12は、ユーザ端末2がサスペンドモードの状態から起動するときの動作を示すフローチャートである。ユーザ端末2はユーザの操作、自動設定等によって起動を開始する(ステップ140)。ユーザ端末2は起動するとき、補助記憶装置6にサスペンドモードに入るときに保存された主記憶装置5の内容データは、補助記憶装置5から読みだされて主記憶装置5へ展開される。これにより、ユーザ端末2がサスペンドモードに入る前の状態が復元されるが、オペレーティングシステムの通常の認証に加え、RAMディスク7へのアクセスための個人認証を行う。
 オペレーティングシステム30の初期画面がディスプレイに表示され、オペレーティングシステムの通常の認証が行われる。そして、ユーザ端末2が起動してから、RAMディスク7へアクセスする初回の要求があるとき、ドライバウェアはこのアクセス要求をトリガとして、ドライバウェアはユーザ認証を開始する(ステップ141)。ユーザが入力した認証用の認証データをユーザ端末2(ドライバウェア)が取得し、ユーザ認証が行われる(ステップ142)。
 ユーザ認証はパスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、光彩認証手段、2要素認証手段等の汎用の認証手段を利用する。ユーザ認証が成功したか否かを確認し、成功するとユーザ端末2はディスプレイにユーザ端末2のサスペンドモード前の状態が表示される。言い換えると、RAMディスク7へのアクセスが許可され、ユーザ端末2が通常動作する(ステップ143、ステップ144)。そして、ユーザ端末2は次の作業に移行する(ステップ149)。
 ユーザ認証が成功しない場合、サスペンドモードに入るときに保存されたRAMディスク7の中のファイル、またはRAMディスク7を削除する(ステップ145)。同じく、サスペンド機能時に保存されたオペレーティングシステム30の作業データ、言い換えると、RAMディスク7以外のものであるハイバネーションファイル(hiberfil.sys)等は初期設定によって又はユーザの指示によって、ユーザ端末2が補助記憶装置6から削除する(ステップ146)。
 ユーザ認証が成功しない場合、ユーザ認証に必要な認証データは、認証サーバ上の認証機構において失効されていることがある。これは、ユーザ端末2が紛失され、ユーザが認証に必要なデータを認証機構に通知し無効にするためである。そのため、紛失されたユーザ端末2に再度にログインしようとするとき、サスペンドモード時に保存されたRAMディスク7及び/又は作業データを削除又は初期化する。
 また、ユーザ端末2の正規のユーザではない者がアクセスしようとするとユーザデータを削除又は初期化する。その後、ユーザ端末2が終了し(ステップ147)、次の操作を待機する(ステップ148)。
 図13は、ユーザ端末2がサスペンドモードの状態から起動する動作の他の例を示すフローチャートである。ユーザ端末2はユーザの操作、自動設定等によって起動を開始する(ステップ160)。ユーザ端末2は起動するとき、補助記憶装置6に保存された作業データ(主記憶装置5の内容)が主記憶装置5に読みされて、オペレーティングシステム30の初期画面がディスプレイに表示される。そして、ユーザ認証が開始される(ステップ161)。
 ユーザが入力した認証用の認証データをユーザ端末2が取得し、ユーザ認証が開始される(ステップ162)。ユーザ認証が成功したか否かを確認し、成功するとユーザ端末2はディスプレイにユーザ端末2のサスペンドモードに入る前の状態が表示され、ユーザ端末2が通常起動する(ステップ163、ステップ164)。そして、ユーザ端末2は次の作業に移行する(ステップ170)。
 ユーザ認証が成功しない場合、ユーザ端末2が初期化作業を開始する(ステップ163→ステップ165)。まず、アプリケーションプログラム33を初期化する(ステップ166)。これは、サスペンド機能時に作業データが保存されたアプリケーションプログラム33が対象になる。この初期化は、アプリケーションプログラム33の一時保存されたデータ(RAMディスク7の内容で一時保存されたデータで補助記憶装置6にサスペンド時に保存されたデータ)を削除する。
 また、サスペンド機能時に保存されたアプリケーションプログラム33の作業データが補助記憶装置6にあれば、ユーザ端末2がそれを削除する。ユーザ認証が成功しない場合、ユーザ端末2が紛失された又は不正アクセスの可能性がり、ユーザデータ、特に機密データを保護するために、RAMディスク7も含めユーザ端末2を自動的に初期化する。ユーザ端末2がRAMディスク7の初期化を行う(ステップ167)。このとき、RAMディスク7の一時保存されたデータが補助記憶装置6にあれば、ユーザ端末2はそれを削除する。
 また、サスペンドモードに入る時に保存されたRAMディスク7のデータ、それに関連するデータが補助記憶装置6にあれば、ユーザ端末2がそれを削除する。その後、補助記憶装置6に保存された一時ファイルを削除する(ステップ168)。最後に、ユーザ端末2が終了する(ステップ169)。そして、ユーザはユーザ端末2を再度起動する等の次の操作を待機する(ステップ170)。
 図14は、ユーザ端末2が特定の条件を満たすとき、データを制御する手順を示すフローチャートである。この制御では、アプリケーションプログラム33の作業データの削除、オペレーティングシステム30の作業データの削除、RAMディスク7の初期化等である。制御する条件は、表2のタイムテーブル情報に基づく。表2の第1欄は順番を、第2欄は制御項目を、第3欄は制御項目の条件を、第4欄は該条件を満たすときの制御の種類を示している。
 ドライバウェア34と上述の管理プログラムによってユーザ端末2の位置情報をユーザ端末2に搭載された位置情報手段から取得して監視している。この監視において、表2の制御項目の位置情報に該当する制御を行う。位置情報手段としては、移動通信基地局と通信するための無線通信手段、全地球位置システムから位置情報を取得するための位置情報デバイス、インターネット等の通信ネットワークからIPアドレスを取得するための通信デバイス等を利用する。
 例えば、表3の制御項目の位置情報においては、位置情報デバイスが全地球位置システムから取得した位置情報がその条件が設定された許可範囲以内か許可範囲外かを判定し、制御の種類に示す制御を行う(表3の番号の1、2を参照)。ここで言う許可範囲とは、事前に設定した地域範囲又は場所を意味する。表3の制御項目の時間帯においては、ドライバウェア34と上述の管理プログラムによって時間情報を時間情報手段から取得して監視する。
 時間情報手段はユーザ端末に搭載された時計手段、上述の無線通信手段、位置情報デバイス、通信デバイス等を利用する。位置情報がその条件が設定された許可範囲以内か許可範囲外かを判定し、制御の種類に示す制御を行う(表3の番号の3,4を参照)。これは、ユーザ端末2を許可された時間帯のみに利用することを目的にするとき有効である。時間帯の許可範囲外は、例えば、深夜、勤務時間外、休憩中、休養中等が例示できる。
 これは労働管理、機密性の情報にアクセス時間帯を設定して管理するとき等に利用することができる。また、時間帯情報にユーザの認証情報を合わせて制御することができる(表3の番号の5~8を参照)。表3の番号の9、10に示すように、認証デバイスを利用して制御することができる。認証デバイスはユーザ端末2と通信しており、認証デバイスとユーザ端末2が所定距離離れたか否かで条件を判定し、制御の種類に示す制御を行う。
Figure JPOXMLDOC01-appb-T000003
 上述のような制御の手順を図14と表3を参照しながら説明する。ドライバウェア34と上述の管理プログラムは、ユーザ端末2の情報を取得する(ステップ180)。この情報の取得は、位置情報を上述の位置情報手段、時間情報を上述の時間情報手段から取得する。位置情報手段がユーザ端末2に内部搭載されている場合、そのインターフェースからデバイスドライバ35(図3を参照)を介して取得する。
 全地球位置情報システム、無線基地局等のようにユーザ端末2の外部にある場合、ユーザ端末2に内蔵又は外付けのされたもので、これらの位置情報手段と通信するデバイスのインターフェースからデバイスドライバ35を介して取得する。認証デバイスの場合は、ユーザ端末2に内蔵又は外付けのされたもので、認証デバイスと通信するデバイスのインターフェースからデバイスドライバ35を介して取得する。
 このように取得した情報が表3に示す条件を満たすか否かを確認し判定する(ステップ181)。条件を満たさない場合は、基本的にユーザ端末2に制限をかけず使用を許可する(ステップ182)。制御の条件を満たす場合、制御を開始するが制御をすぐに実行するか否かを判定する(ステップ181→ステップ183、ステップ184)。これは、RAMディスク7のデータをネットワークストレージ3に同期する時間が必要か、アプリケーショプログラム33に支障があるか否か等によって決定する。
 制御実行がすぐに行われる場合は、制御の種類に示す制御を実行する(ステップ185)。表3の制御の種類に示す制御を行う。制御の種類に示す制御は、上述の図12及び図13とその説明の通りであるので、詳細は省略する。制御の実行が終わったらユーザ端末2が切電され終了する(ステップ186)。制御の実行がすぐに行われない場合は、設定時間の制御を実行する(ステップ187)。このときドライウェア34でデータ同期、アプリケーションプログラムの実行が終わる時間を計算し、時間を設定することで設定時間が決定される。
 又は、ドライウェア34でデータ同期、アプリケーションプログラムの実行が終了するのを監視して、終了後、制御の実行を行うことができる。表3に示す第1時間帯と第2時間帯は、任意に設定することができる。例えば、第1時間帯は「09時00分00秒~17時00分00秒」、「09時00分00秒~12時00分00秒 and 13時00分00秒~17時00分00秒」等のように勤務時間にし、これに平日、労働許可日等を組み合わせてもよい。また、「09時00分00秒~09時30分00秒」のように短時間でもよい。
 第2時間帯は「17時00分00秒~09時00分00秒」、「24時00分00秒~06時00分00秒」等のように第1時間帯外、夜間時間等のように設定することができる。また、カレンダーの休日と祝日、ユーザの休憩時間、ユーザの休養日、出張日等のように基本的に、ユーザ端末2の利用が好ましくない期間、時間帯を設定することができる。第1時間帯と第2時間帯は一例であり、管理者が任意に設定することができる。
 認証デバイスは、ユーザ端末2と無線通信又は有線通信できる識別用のデバイスであり、例えば、携帯電話機、時計型の機器、ペン型の機器、USBキー、スマートフォン、スマート時計等が例示できる。これらの機器は、識別番号等を基本的に暗号してユーザ端末2と通信をすることで、認証デバイスがユーザ端末2に接続されているか又はその付近にあるかを判定する。
 認証デバイスとユーザ端末2との認証は、1つの識別番号を利用する1段階、又は、2つ識別番号を利用する2要素認証となる2段階にする。認証デバイスの使用について、出願人が出願した特願2015-138336号公報に詳しく記載しており、この内容が本発明に含まれる。
 本発明は、電子データの緊密な管理が必要な分野に利用すると良い。特に、高度なデータ管理が要求される分野、例えば、電子計算機リース業、印刷業界、保険会社、販売店、金融機関、原子力関連の施設、個人データを扱う端末等の分野に利用されると良い。
 1…電子計算機用電子データ管理システム
 2…ユーザ端末
 3…ネットワークストレージ
 4…ネットワーク
 5…主記憶装置
 6…補助記憶装置
 6a…ディスクドライバ
 7…RAMディスク
 7a…RAMディスクドライバ
 8、9、11…フォルダ
 10…クラウド用仮想記憶装置
 10a…クラウド用仮想ディスクドライバ
 11…
 12…クラウド同期部
 20…本体
 21…中央処理装置(CPU)
 22…入力インターフェース
 23…出力インターフェース
 24…バス
 25…補助記憶装置用インターフェース
 26…電源ユニット
 27…入力装置
 28…出力装置
 29…外付補助記憶装置
 30…オペレーティングシステム
 31…カーネルモード
 32…ユーザモード
 33…アプリケーションプログラム
 34…ドライバウェア
 35…デバイスドライバ
 36…デバイス
 37…ネットワークカード
 37a…ネットワークドライバ
 38…アプリケーションプラットフォームプログラム
 39…ファイルシステムドライバ
 40…カーネル
 41…エグゼキュティブ
 42…サブシステム
 43…キーボードポート
 43a…キーボードドライバ
 44…マウスポート
 44a…マウスドライバ
 45…キーボード
 46…マウス
 47…ハードウェア抽象化層(HAL)
 51…アプリケーションプログラムインターフェース部
 52…制御部
 53…ログ取得部
 54…暗号化部
 55…復号化部
 56…ネットワーク制御部
 57…ファイルシステム制御部
 58…RAMディスク制御部
 59…入力装置制御部
 60…デバイスドライバ制御部

Claims (31)

  1.  相互に通信できるネットワーク上の記憶手段であるネットワークストレージと通信する電子計算機は、
     プログラムコードに従ってデータを処理する中央処理手段、
     前記プログラムコード、又は、前記プログラムコード及び前記データを保持する主記憶手段、
     前記プログラムコード及び前記電子計算機が一時休止時に前記主記憶手段の内容データを格納する不揮発の補助記憶手段、
     指示コマンド又は前記データを入力するための入力手段、
     前記処理の結果を外部に出力するための出力手段、並びに、
     前記ネットワークに接続するためのネットワーク接続手段からなり、
     前記電子計算機上に動作するアプリケーションプログラム又はユーザが利用するための電子データからなるユーザデータは、前記アプリケーションプログラムによって、又は、前記入力手段から入力された入力データにより前記アプリケーションプログラムが操作されることによって、閲覧、編集、及び変更の中から1以上の操作がされるとき、
     前記ユーザデータが外部へ漏洩することを防止制御するための電子データ漏洩防止機能を備えた前記電子計算機からなる電子データ管理装置において、
     前記電子データ管理装置は、
     前記ネットワークストレージに割り当てられた仮想記憶手段、
     前記主記憶手段に常駐して、仮想の前記補助記憶装置である疑似補助記憶手段として機能する揮発性記憶手段、
     前記アプリケーションプログラムが前記ユーザデータを開くとき、前記ユーザデータを保存先から取得し、前記揮発性記憶手段に格納し、及び、前記ユーザデータを閉じて保存するとき、前記ユーザデータを前記揮発性記憶手段から取得し、前記仮想記憶手段を介して保存する制御手段、
     前記揮発性記憶手段に前記ユーザデータが格納されるとき暗号化する暗号化手段、並びに、
     前記揮発性記憶手段から前記ユーザデータを前記アプリケーションプログラムへ提供するとき、前記暗号化された前記ユーザデータを復号化する復号化手段
     からなることを特徴とする電子データ管理装置。
  2.  請求項1に記載の電子データ管理装置において、
     前記保存先は、前記ネットワークストレージであり、
     前記電子計算機は、前記揮発性記憶手段の前記ユーザデータを、前記仮想記憶手段を介して前記ネットワークストレージの前記ユーザデータと同期させるクラウド同期手段を有する
     ことを特徴とする電子データ管理装置。
  3.  請求項2に記載の電子データ管理装置において、
     前記電子計算機は、前記電子計算機を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記電子計算機上で動作する前記アプリケーションプログラムとの通信に、共通のインターフェースを提供するためのドライバウェア手段を備え、
     前記ドライバウェア手段は、前記仮想記憶手段を制御するための前記デバイスドライバである前記仮想記憶手段ドライバ、及び、前記揮発性記憶手段を制御するための前記デバイスドライバである揮発性記憶手段ドライバを、前記オペレーティングシステムの出力を制御するファイルシステムドライバを介して制御するためのファイルシステム制御部を備え、
     前記ファイルシステム制御部は、前記アプリケーションプログラムが前記ユーザデータを開く動作を前記仮想記憶手段ドライバから取得し、前記クラウド同期手段から前記ユーザデータを取得して、前記揮発性記憶手段ドライバを介して前記揮発性記憶手段に送信して前記揮発性記憶手段に前記ユーザデータを格納させる
     ことを特徴とする電子データ管理装置。
  4.  請求項2又は3に記載の電子データ管理装置において、
     前記電子データ管理装置は、前記電子計算機を待機させるサスペンド機能によって終了するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、
     該認証が正常に認証できなかった場合、前記サスペンド機能によって終了する直前に保存したデータ及び/又は前記サスペンド機能によって保存されたデータを削除するデータ削除手段を備えている
     ことを特徴とする電子データ管理装置。
  5.  請求項2又は3に記載の電子データ管理装置において、
     前記電子データ管理装置は、前記電子計算機の操作を終了する際、作業中のデータを前記補助記憶手段に保存し、前記電子計算機を待機させるサスペンド機能によって終了し、再起動するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、
     該認証が正常に認証できない場合、前記データ管理装置、前記アプリケーションプログラム、前記仮想ディスク、前記仮想記憶手段及び前記揮発性記憶手段のからなる群の中から選択される1以上の初期化を行う初期化手段を備えている
     ことを特徴とする電子データ管理装置。
  6.  請求項4又は5に記載の電子データ管理装置において、
     前記認証手段は、パスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、光彩認証手段及び2要素認証手段からなる群の内から選択される1以上の認証手段である
     ことを特徴とする電子データ管理装置。
  7.  請求項4に記載の電子データ管理装置において、
     前記データ削除手段は、実行する時間帯を示すタイムテーブルの情報に基づいて実行される
     ことを特徴とする電子データ管理装置。
  8.  請求項7に記載の電子データ管理装置において、
     前記データ削除手段は、移動通信基地局若しくは全地球航法衛星システム(GNSS)による位置情報に基づいて許可された地域範囲の中に前記電子データ管理装置が位置するときに、無効になり、
     前記データ削除手段は、前記地域範囲の外に前記電子データ管理装置が位置するときに実行される
     ことを特徴とする電子データ管理装置。
  9.  請求項7に記載の電子データ管理装置において、
     前記データ削除手段は、前記電子データ管理装置が前記認証デバイスと通信できない場合実行される
     ことを特徴とする電子データ管理装置。
  10.  請求項7に記載の電子データ管理装置において、
     前記データ削除手段は、前記電子データ管理装置が時間情報手段から取得した時間情報が設定時間外の場合実行される
     ことを特徴とする電子データ管理装置。
  11.  相互に通信できるネットワーク、
     前記ネットワーク上の記憶手段であるネットワークストレージ、及び
     ネットワーク上の記憶手段であるネットワークストレージと通信する電子計算機からなる電子データ管理システムであり、
     前記電子計算機は、
      プログラムコードに従ってデータを処理する中央処理手段、
      前記プログラムコード、又は、前記プログラムコード及び前記データを保持する主記憶手段、
      前記プログラムコード及び前記電子計算機が一時休止時に前記主記憶手段の内容データを格納する不揮発の補助記憶手段、
      指示コマンド又は前記データを入力するための入力手段、
      前記処理の結果を外部に出力する出力手段、及び
      前記ネットワークに接続するためのネットワーク接続手段からなり、
     前記電子計算機上に動作するアプリケーションプログラム又はユーザが利用するための電子データからなるユーザデータは、アプリケーションプログラムによって、又は、前記入力手段から入力された入力データにより前記アプリケーションプログラムが操作されることによって、閲覧又は編集又は変更されるとき、
     前記ユーザデータが外部へ漏洩することを防止制御するための電子データ漏洩防止機能を備えた前記電子計算機からなる前記電子データ管理システムにおいて、
     前記電子計算機は、
      前記ネットワークストレージに割り当てられた仮想記憶手段、
      前記主記憶手段に常駐して、仮想の前記補助記憶装置である疑似補助記憶手段として機能する揮発性記憶手段、
      前記アプリケーションプログラムが前記ユーザデータを開くとき、前記ユーザデータを保存先から取得し、前記揮発性記憶手段に格納し、及び、前記ユーザデータを閉じて保存するとき、前記ユーザデータを前記揮発性記憶手段から取得し、前記仮想記憶手段を介して保存する制御手段、
      前記揮発性記憶手段に前記ユーザデータが格納されるとき暗号化する暗号化手段、並びに、
      前記揮発性記憶手段から前記ユーザデータを前記アプリケーションプログラムへ提供するとき、前記暗号化されたユーザデータを復号化する復号化手段
     からなることを特徴とする電子データ管理システム。
  12.  請求項11に記載の電子データ管理システムにおいて、
     前記保存先は、前記ネットワークストレージであり、
     前記電子計算機は、前記揮発性記憶手段の前記ユーザデータを前記仮想記憶手段を介して前記ネットワークストレージ前記ユーザデータと同期するクラウド同期手段からなる
     ことを特徴とする電子データ管理システム。
  13.  請求項12に記載の電子データ管理システムにおいて、
     前記電子計算機は、前記電子計算機を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記電子計算機上で動作する前記アプリケーションプログラムとの通信に共通のインターフェースを提供するためのドライバウェア手段を備え、
     前記ドライバウェア手段は、前記仮想記憶手段を制御するための前記デバイスドライバである仮想記憶手段ドライバ、及び、前記揮発性記憶手段を制御するための前記デバイスドライバである揮発性記憶手段ドライバを、前記オペレーティングシステムを制御するファイルシステムドライバを介して制御するためのファイルシステム制御部を備え、
     前記ファイルシステム制御部は、前記アプリケーションプログラムが前記ユーザデータを開く動作を前記仮想記憶手段ドライバから取得し、前記クラウド同期手段から前記ユーザデータを取得して、前記揮発性記憶手段ドライバを介して前記揮発性記憶手段に送信して前記揮発性記憶手段に格納させる
     ことを特徴とする電子データ管理システム。
  14.  請求項12又は13に記載の電子データ管理システムにおいて、
     前記電子データ管理装置は、前記電子計算機を待機させるサスペンド機能によって終了するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、
     該認証が正常に認証できなかった場合、前記サスペンド機能によって終了する直前に保存したデータ及び/又は前記サスペンド機能によって保存されたデータを削除するデータ削除手段を備えている
     ことを特徴とする電子データ管理システム。
  15.  請求項12又は13に記載の電子データ管理システムにおいて、
     前記電子データ管理装置は、前記電子計算機の操作を終了する際、作業中のデータを前記補助記憶手段に保存し、前記電子計算機を待機させるサスペンド機能によって終了し、再起動するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、
     該認証が正常に認証できない場合、前記データ管理装置、アプリケーションプログラム、前記仮想ディスク、前記仮想記憶手段及び揮発性記憶手段のからなる群の中から選択される1以上の初期化を行う初期化手段を備えている
     ことを特徴とする電子データ管理システム。
  16.  請求項14又は15に記載の電子データ管理システムにおいて、
     前記認証手段は、パスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、光彩認証手段及び2要素認証手段からなる群の内から選択される1以上の認証手段である
     ことを特徴とする電子データ管理システム。
  17.  請求項14に記載の電子データ管理システムにおいて、
     前記データ削除手段は、実行する時間帯を示すタイムテーブルの情報に基づいて実行される
     ことを特徴とする電子データ管理システム。
  18.  請求項7に記載の電子データ管理システムにおいて、
     前記データ削除手段は、移動通信基地局若しくは全地球航法衛星システムによる位置情報に基づいて許可された地域範囲の中に前記電子データ管理装置が位置するときに、無効になり、
     前記データ削除手段は、前記地域範囲の外に前記電子データ管理装置が位置するときに実行される
     ことを特徴とする電子データ管理システム。
  19.  請求項17に記載の電子データ管理システムにおいて、
     前記データ削除手段は、前記電子データ管理装置が前記認証デバイスと通信できない場合実行される
     ことを特徴とする電子データ管理システム。
  20.  請求項17に記載の電子データ管理システムにおいて、
     前記データ削除手段は、前記電子データ管理装置が時間情報手段から取得した時間情報が設定時間外の場合実行される
     ことを特徴とする電子データ管理システム。
  21.  相互に通信できるネットワーク上の記憶手段であるネットワークストレージと通信する電子計算機は、
      プログラムコードに従ってデータを処理する中央処理手段、
      前記プログラムコード、又は、前記プログラムコード及び前記データを保持する主記憶手段、
      前記プログラムコード及び前記電子計算機が一時休止時に前記主記憶手段の内容データを格納する不揮発の補助記憶手段、
      指示コマンド又は前記データを入力するための入力手段、
      前記処理の結果を外部に出力する出力手段、及び
      前記ネットワークに接続するためのネットワーク接続手段からなり、
     前記電子計算機上に動作するアプリケーションプログラム又はユーザが利用するための電子データからなるユーザデータは、アプリケーションプログラムによって、又は、前記入力手段から入力された入力データにより前記アプリケーションプログラムが操作されることによって、閲覧又は編集又は変更されるとき、
     前記ユーザデータが外部へ漏洩することを防止制御するための電子データ漏洩防止機能を備えた前記電子計算機からなる電子データ管理装置において、
     前記ネットワークストレージに割り当てられた仮想記憶手段を生成するステップと、
     前記仮想記憶手段を制御するステップ、
     前記主記憶手段に常駐して、仮想の前記補助記憶装置である疑似補助記憶手段として機能する揮発性記憶手段を生成するステップ、
     前記アプリケーションプログラムが前記ユーザデータを開くとき、前記ユーザデータを保存先から取得するステップ、
     前記取得した前記ユーザデータを前記揮発性記憶手段に格納するステップ、
     前記ユーザデータを閉じて保存するとき、前記ユーザデータを前記揮発性記憶手段から取得するステップ、
     前記取得したユーザデータを制御手段によって前記仮想記憶手段を介して保存する制御ステップ、
     前記揮発性記憶手段に前記ユーザデータが格納されるとき、暗号化手段によって暗号化するステップ、及び、
     前記揮発性記憶手段から前記ユーザデータを前記アプリケーションプログラムへ提供するとき、前記暗号化されたユーザデータを復号化手段によって復号化するステップ
     を前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  22.  請求項21に記載の電子データ管理装置用プログラムにおいて、
     前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記デバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するための機能を前記電子計算機に実行させるアプリケーションプログラムインターフェース部、
     前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するための機能を前記電子計算機に実行させるデバイスドライバ制御部、
     前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための機能を前記電子計算機に実行させる制御部、並びに、
     データを暗号化して暗号化データを作成するための機能を前記電子計算機に実行させる暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための機能を前記電子計算機に実行させる復号化部からなり、
     前記電子計算機を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するための前記デバイスドライバ同士の通信、又は前記デバイスドライバと前記電子計算機上で動作する前記アプリケーションプログラムとの通信に共通のインターフェースを提供するためのドライバウェアを備え、
     前記デバイスドライバ制御部は、前記仮想記憶手を制御するための前記デバイスドライバである仮想記憶手段ドライバ、及び、前記揮発性記憶手段を制御するための前記デバイスドライバである揮発性記憶手段ドライバを、前記オペレーティングシステムの出力を制御するファイルシステムドライバを介して制御するためのファイルシステム制御部を備え、
     前記ファイルシステム制御部は、
      前記アプリケーションプログラムが前記ユーザデータを開く動作を前記仮想記憶手段ドライバから取得するステップ、
      前記クラウド同期手段から前記ユーザデータを取得するステップ、
      前記取得した前記ユーザデータを前記揮発性記憶手段ドライバを介して前記揮発性記憶手段に送信するステップ、及び、
      前記送信した前記ユーザデータを前記揮発性記憶手段に格納させるステップ
     を前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  23.  請求項21又は22に記載の電子データ管理装置用プログラムにおいて、
     前記保存先は、前記ネットワークストレージであり、
     前記揮発性記憶手段の前記ユーザデータを前記仮想記憶手段を介して前記ネットワークストレージと同期する機能を前記電子データ管理装置に実行させるクラウド同期プログラムからなる
     ことを特徴とする電子データ管理装置用プログラム。
  24.  請求項21又は22に記載の電子データ管理装置用プログラムにおいて、
     前記電子データ管理装置を前記電子計算機を待機させるスペンド機能によって終了させるサスペンドステップ、
     前記サスペンドステップが開始するとき、前記電子データ管理装のユーザの真正性を確かめる認証手段によって認証を行うサスペンド認証ステップ、並びに、
     該認証が正常に認証できなかった場合、前記サスペンド機能によって終了する直前に保存したデータ及び/又は前記サスペンド機能によって保存されたデータを削除するデータ削除ステップ
     を前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  25.  請求項21又は22に記載の電子データ管理装置用プログラムにおいて、
     前記電子データ管理装の操作を終了する際、作業中のデータを補助記憶手段に保存するサスペンド機能によって前記電子データ管理装置を終了させるサスペンドステップ、
     前記電子データ管理装置が終了後に再起動するとき、前記電子データ管理装のユーザの真正性を確かめる認証手段によって認証を行うサスペンド認証ステップ、並びに、
     該認証が正常に認証できない場合、前記電子データ管理装置、アプリケーションプログラム、前記仮想ディスク、前記仮想記憶手段及び揮発性記憶手段のからなる群の中から選択される1以上の初期化を行う初期化ステップ
     を前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  26.  請求項24又は25に記載の電子データ管理装置用プログラムにおいて、
     前記サスペンド認証ステップは、パスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、光彩認証手段及び2要素認証手段からなる群の内から選択される1以上の認証手段による認証ステップを前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  27.  請求項24に記載の電子データ管理装置用プログラムにおいて、
     実行する時間帯を示すタイムテーブルの情報に基づいて前記データ削除ステップを前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  28.  請求項27に記載の電子データ管理装置用プログラムにおいて、
     移動通信基地局若しくは全地球航法衛星システム(GNSS)による位置情報に基づいて許可された地域範囲の中に前記電子データ管理装置が位置するときに、前記データ削除ステップが実行されず、
     前記地域範囲の外に前記電子データ管理装置が位置するときに前記データ削除ステップを前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  29.  請求項27に記載の電子データ管理装置用プログラムにおいて、
     前記電子データ管理装置が前記認証デバイスと通信できない場合に前記データ削除ステップを前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  30.  請求項27に記載の電子データ管理装置用プログラムにおいて、
     前記電子データ管理装置が時間情報手段から取得した時間情報が設定時間外の場合に前記データ削除ステップを前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  31.  請求項21乃至30の中から選択される1項に記載の電子データ管理装置用プログラムを記録した電子データ管理装置用プログラムの記録媒体。
PCT/JP2019/046306 2019-01-09 2019-11-27 電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体 WO2020144961A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020565614A JP6949338B2 (ja) 2019-01-09 2019-11-27 電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体
EP19909520.9A EP3910485B1 (en) 2019-01-09 2019-11-27 Electronic data management device, electronic data management system, program therefor, and recording medium
US17/421,722 US11874954B2 (en) 2019-01-09 2019-11-27 Electronic data management device, electronic data management system, and non-transitory computer-readable recording medium
CN201980088443.1A CN113302598B (zh) 2019-01-09 2019-11-27 电子数据管理装置、电子数据管理系统、其所用的方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019001541 2019-01-09
JP2019-001541 2019-01-09

Publications (1)

Publication Number Publication Date
WO2020144961A1 true WO2020144961A1 (ja) 2020-07-16

Family

ID=71521183

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/046306 WO2020144961A1 (ja) 2019-01-09 2019-11-27 電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体

Country Status (5)

Country Link
US (1) US11874954B2 (ja)
EP (1) EP3910485B1 (ja)
JP (1) JP6949338B2 (ja)
CN (1) CN113302598B (ja)
WO (1) WO2020144961A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022097174A (ja) * 2020-12-18 2022-06-30 東芝テック株式会社 制御装置及びその起動方法、ならびに電気機器

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002091195A1 (fr) 2001-05-07 2002-11-14 Science Park Corporation Programme pilote d'interface ordinateur
JP2010072885A (ja) 2008-09-17 2010-04-02 Science Park Corp 電子計算機のデータ管理方法、そのためのプログラム
JP2011008813A (ja) 2010-08-18 2011-01-13 Hitachi Solutions Ltd データ処理制御方法、情報処理装置、及びデータ処理制御システム
WO2013095596A1 (en) 2011-12-22 2013-06-27 Intel Corporation Always-available embedded theft reaction subsystem
JP2014098977A (ja) 2012-11-13 2014-05-29 Canon Inc 情報処理装置及びその制御方法、プログラム
US20150199414A1 (en) * 2005-12-30 2015-07-16 David E. Braginsky Locally cached file system
JP2015138336A (ja) 2014-01-21 2015-07-30 サイエンスパーク株式会社 電子データの管理方法、そのためのプログラム及び、プログラムの記録媒体
JP2016148904A (ja) * 2015-02-10 2016-08-18 株式会社アール・アイ ファイル管理システム及びファイル管理プログラム
JP2017010424A (ja) 2015-06-25 2017-01-12 横河レンタ・リース株式会社 データ管理装置、データ管理方法、及びデータ管理プログラム
JP2017084141A (ja) * 2015-10-28 2017-05-18 サイエンスパーク株式会社 電子データの管理方法、管理プログラム、及びプログラムの記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376968B2 (en) * 2003-11-20 2008-05-20 Microsoft Corporation BIOS integrated encryption
JP5379520B2 (ja) * 2009-02-27 2013-12-25 サイエンスパーク株式会社 ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム
CN101853363B (zh) 2010-05-07 2012-08-08 飞天诚信科技股份有限公司 一种文件保护方法及系统
US10516533B2 (en) * 2016-02-05 2019-12-24 Mohammad Mannan Password triggered trusted encryption key deletion

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002091195A1 (fr) 2001-05-07 2002-11-14 Science Park Corporation Programme pilote d'interface ordinateur
US20150199414A1 (en) * 2005-12-30 2015-07-16 David E. Braginsky Locally cached file system
JP2010072885A (ja) 2008-09-17 2010-04-02 Science Park Corp 電子計算機のデータ管理方法、そのためのプログラム
JP2011008813A (ja) 2010-08-18 2011-01-13 Hitachi Solutions Ltd データ処理制御方法、情報処理装置、及びデータ処理制御システム
WO2013095596A1 (en) 2011-12-22 2013-06-27 Intel Corporation Always-available embedded theft reaction subsystem
JP2014509420A (ja) * 2011-12-22 2014-04-17 インテル・コーポレーション 常時稼働組み込み式盗難反応サブシステム
JP2014098977A (ja) 2012-11-13 2014-05-29 Canon Inc 情報処理装置及びその制御方法、プログラム
JP2015138336A (ja) 2014-01-21 2015-07-30 サイエンスパーク株式会社 電子データの管理方法、そのためのプログラム及び、プログラムの記録媒体
JP2016148904A (ja) * 2015-02-10 2016-08-18 株式会社アール・アイ ファイル管理システム及びファイル管理プログラム
JP2017010424A (ja) 2015-06-25 2017-01-12 横河レンタ・リース株式会社 データ管理装置、データ管理方法、及びデータ管理プログラム
JP2017084141A (ja) * 2015-10-28 2017-05-18 サイエンスパーク株式会社 電子データの管理方法、管理プログラム、及びプログラムの記録媒体

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DAVID A. SOLOMONMARK E. RUSSINOVICH: "Inside Microsoft Windows 2000", 2000, MICROSOFT PRESS
HELEN CUSTER: "Inside the Windows NT File System", 1994, MICROSOFT PRESS
HELEN CUSTER: "Inside Windows NT", 1992, MICROSOFT PRESS
WALTER ONEY: "Programming the Microsoft Windows Driver Model", 2002, MICROSOFT PRESS

Also Published As

Publication number Publication date
EP3910485A4 (en) 2022-02-23
JP6949338B2 (ja) 2021-10-13
CN113302598B (zh) 2023-11-07
EP3910485B1 (en) 2023-08-23
CN113302598A (zh) 2021-08-24
JPWO2020144961A1 (ja) 2021-09-09
EP3910485A1 (en) 2021-11-17
US20220083697A1 (en) 2022-03-17
US11874954B2 (en) 2024-01-16

Similar Documents

Publication Publication Date Title
JP4787263B2 (ja) 電子計算機のデータ管理方法、プログラム、及び記録媒体
US8041787B2 (en) Application software and data management method, management system, and thin client terminal, management server and remote computer used therefor
JP4245374B2 (ja) 着脱式デバイスおよび制御回路
US20080155216A1 (en) Protection and Recovery System for Automatic Disk Recovery
US20100153716A1 (en) System and method of managing files and mobile terminal device
JP4576336B2 (ja) 電子データ管理装置、その制御プログラム及び電子データ管理方法
US20060130129A1 (en) Authentication method based on private space of the usb flash memory media
JP5689429B2 (ja) 認証装置、および、認証方法
WO2008001823A1 (fr) procédé de gestion de données informatiques, programme et support d'enregistrement
JP2004234053A (ja) コンピュータシステム、コンピュータ装置、記憶装置のデータ保護方法、およびプログラム
JP2008059501A (ja) 2次記憶装置への書込み制御方法及び情報処理装置
JP4044126B1 (ja) 情報漏洩抑止装置、情報漏洩抑止プログラム、情報漏洩抑止記録媒体、及び情報漏洩抑止システム
JP2007148466A (ja) 可搬型記憶装置及びos
JP2009223787A (ja) 情報処理装置及び方法、並びにプログラム
WO2020144961A1 (ja) 電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体
JP2008165351A (ja) データ処理方法、着脱式ドライブ
CN110673863A (zh) 支持可插拔外部存储的智能锁系统以及智能升级的方法
CN115390765A (zh) 可内置独立数据的存储设备
CN115604315A (zh) 服务器的远程处理装置及方法、电子设备
JP2021174432A (ja) 電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体
JP4314311B2 (ja) 情報処理装置および情報処理システム
JP2006285446A (ja) コンピュータシステムおよびそのクライアントコンピュータ
JP5003565B2 (ja) セキュリティ管理システム、セキュリティ管理方法、及びセキュリティ管理プログラム
JP2010072885A (ja) 電子計算機のデータ管理方法、そのためのプログラム
JP2022131749A (ja) 電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19909520

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020565614

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019909520

Country of ref document: EP

Effective date: 20210809