1. Field of the Invention
The present invention relates to a system for authenticating access to information, such as files, stored in storage devices, such as magnetic storage devices (hard disks), in information terminals, such as personal computers (PCs).
In particular, the present invention relates to a file access authentication system that allows secret information, which is strictly protected from information leakage, to be accessed only in a specific area.
2. Description of the Related Art
In recent years, measures for ensuring security of secret information handled in corporate activities have been important issues. In particular, the leakage of information stored in personal computers (PCs) has been major concerns.
Typical business organizations take, for example, the following security measures:
access restriction using an entry/exit management system (e.g., passwords are required during entry to areas (e.g., buildings, floors, and rooms) where secret information is handled).
Security measures for accessing important secret information (files) stored in the hard disks of PCs employ the following schemes:
access restriction based on user authentication during login on the PCs;
access restriction by setting passwords for data files for reading and/or writing; and
access restriction by encrypting data files and setting passwords for decrypting the data files.
Current problems of information leakage are as follows. Secret information has conventionally been mainly used in places (security areas) where security measures, such as entry/exit control, are implemented, whereas carrying (taking out) equipment, such as PCs, containing secret information during business trip has become common due to the advancement of miniaturization of the equipment. As a result, the theft and loss in transit show no sign of decreasing.
The miniaturization of the equipment makes it easier to take out secret information without being noticed by anyone, thus making it difficult to prevent a malicious user from taking out the information.
In addition, even with a PC and secret information for which security measures using an ID, password, and so on, are implemented, the measures may be insufficient, the password may be easily guessed by a third person, or the password may be cracked. Thus, the risk of occurrence of information leakage is very high.
In order to solve such problems, several authentication methods for enhancing the security are disclosed. Japanese Unexamined Patent Application Publication No. 11-328118 discloses a method in which multiple password items are displayed at random to prompt a user to enter passwords corresponding thereto. Japanese Unexamined Patent Application Publication No. 2005-39868 discloses a method in which a chat client computer issues a request for a channel secret key to a key management server. The key management server transmits the secret key to the chat client computer via the chat server, while the secret key is encrypted with a public key received from the chat client computer.
In either of the known authentication systems, the user side (i.e., the user or the equipment) has ID/password information, which serves as a key for authentication, and such systems are based on a premise that there are no malicious users (i.e., they do not leak the secret information).
Accordingly, if the user intentionally takes out secret information or a malicious third person obtains an ID and a password by some kind of method, he or she can access the secret information. Thus, the known authentication system cannot prevent taking out of encrypted files and PCs and also cannot prevent subsequent information leakage.
In view of such situations, an object of the present invention is to provide an information leakage prevention technology that does not require authentication key (an ID/password) that an individual user enters during authentication of access to secret information and that prevents, even if secret information leaks out, access to the information by restricting file access to within a specific area.
One aspect of the present invention provides an access authentication system which includes: a client computer which transmits a decryption-key request which requests for a decryption key which enables decryption of an encrypted file; a network apparatus which adds to the decryption-key request first authentication information which is used for authenticating the decryption-key request, and transfers the decryption-key request; and a management server which authenticates the decryption-key request on the basis of the first authentication information, and transmits the decryption key to the client computer upon successful authentication of the decryption-key request.
In the access authentication system, the first authentication information preferably includes location information indicating a location of the network apparatus.
The client computer may add second authentication information which is used for authenticating the decryption-key request to the decryption-key request. In this configuration, the management server authenticates the decryption-key request on the basis of the first authentication information and the second authentication information.
In the access authentication system, the second authentication information may include user information indicating a user of the client computer.
In the access authentication system, the second authentication information may include attribute information indicating an attribute of the encrypted file.
The management server may authenticate the decryption-key request on the basis of the first authentication information and a time when the management server has received the decryption-key request.
The client computer preferably communicates with the network apparatus at a data link layer so as to transmit the decryption-key request with a broadcast address as a destination address thereof.
Another aspect of the present invention provides an access authentication method which is executed by an access authentication system which includes a network apparatus. The access authentication system authenticates a decryption-key request which is transmitted from a client computer. The decryption-key request requests for a decryption key which enables decryption of an encrypted file. The access authentication method includes the steps of: receiving the decryption-key request; adding to the decryption-key request first authentication information which is used for authenticating the decryption-key request; transferring the decryption-key request; authenticating the decryption-key request on the basis of the first authentication information; and transmitting the decryption key upon successful authentication of the decryption-key request.
Yet another aspect of the present invention provides a program storage medium which is readable by a computer. The program storage medium stores programs of instructions for a first computer and a second computer for executing an access authentication method. The first computer authenticates a decryption-key request which is transmitted from a client computer. The decryption-key request requests for a decryption key which enables decryption of an encrypted file. The access authentication method includes the steps of: receiving the decryption-key request; adding first authentication information which is used for authenticating the decryption-key request to the decryption-key request; transferring the decryption-key request; authenticating the decryption-key request on the basis of the first authentication information; and transmitting the decryption key upon successful authentication of the decryption-key request.
The summary of the present invention does not necessarily describe essential features of the present invention, and an arbitrary combination of the features described above is also encompassed by a scope of the present invention.
The client computer 10 includes an OS (operating system) executor 16a, an application executor 16b, an encryptor/decryptor 16c, a state manager 11, a state information storage 12 (described as “STATE INFO STORAGE” in
The application executor 16b handles (e.g., views, edits, and deletes) a file obtained by decrypting the encrypted file 16d.
The state manager 11 refers to and updates a processing-state management table stored in the state information storage 12 for managing the processing state of the client computer 10.
The key requester 13 requests for a decryption key for decrypting the encrypted file 16d to a network apparatus 20 via the transmitter/receiver 14. The key requester 13 creates a data portion of the decryption-key request (described in
The transmitter/receiver 14 transmits data from the client computer 10 to a specified transmission destination and receives data transmitted from a transmission source other than the client computer 10 to the client computer 10. A LAN interface serves as an interface for connection with a network. As shown in
The key receiver 15 receives the decryption key from the network apparatus 20 via the transmitter/receiver 14.
The encryptor/decryptor 16c decrypts the encrypted file 16d with a decryption key of the common-key cryptosystem and encrypts a file with an encryption key of the common-key cryptosystem. In the common-key cryptosystem, encryption and decryption are performed with the same common key.
The network apparatus 20 includes a transmitter/receiver 21, a location notifier 22, a location information storage 23 (described as “LOCATION INFO STORAGE” in
The transmitter/receiver 21 receives data from the client computer 10 directly (i.e., through a LAN cable connecting a network interface of the client computer 10 and a port of the network apparatus 20) or indirectly (i.e., via at least one network device, e.g., a repeater, a repeater hub, a bridge, and/or a switching hub, interposed between the client computer 10 and the network apparatus 20). The transmitter/receiver 21 also transmits data to the client computer 10 directly or indirectly.
The location notifier 22 adds specific location information stored in the location information storage 23 to a decryption-key request and transmits the decryption-key request to the management server 30.
The state manager 24 refers to and updates a processing-state management table stored in the state information storage 25 for managing the processing state of the network apparatus 20.
The transmitter/receiver 26 transmits data to the management server 30 directly or indirectly and receives data from the management server 30 directly or indirectly.
The key relay 27 relays the decryption key received from the management server 30 to the client computer 10.
In the present embodiment, the network apparatus 20 is specifically an L2 (Layer 2: data link layer) switch (hub), which communicates with the client computer 10 at MAC level and communicates with the management server 30 at the IP (Internet Protocol) layer, e.g., using an SNMP (simple network management protocol).
The management server 30 includes a transmitter/receiver 31, a location checker 32, a permission information storage 33 (described as “PERMISSION INFO STORAGE” in
The transmitter/receiver 31 transmits data from the management server 30 to a specified transmission destination and receives data transmitted from a transmission source other than the management server 30 to the management server 30.
The location checker 32 extracts the location information of the decryption-key request received via the transmitter/receiver 31, compares the location information with location information stored in the permission information storage 33, and permits transmission of a decryption key when the two pieces of the location information are the same.
The access log storage 34 records the result of the comparison performed by the location checker 32. For example, the access log storage 34 records identification information (a Transmitter IP Address) of the network apparatus 20, Process Information, a Transmitter MAC Address, a comparison result (OK or not OK), and the time of the comparison result.
The key transmitter 35 receives a permission of decryption-key transmission from the location checker 32, reads a decryption key stored in the key storage 36, and transmits the decryption key to the network apparatus 20 via the transmitter/receiver 31.
A computer 100 that implements the client computer 10 in the file access authentication system includes a CPU (central processing unit) 101, a RAM (random access memory) 102, a ROM (read only memory) 103, an HDD (hard disk drive) 104 which is an external storage device, a CD-ROM (compact disc read only memory) drive 105 for reading data from a CD-ROM, a mouse 111 and a keyboard 112 which are input devices, a display 121 and a loudspeaker 122 which are output devices, and a LAN interface 131 for connection with a network.
When a decryption agent program recorded on the external storage medium such as a CD-ROM is installed on the computer 100, i.e., the program is copied to the HDD 104 of the computer 100 so as to allow the program to be read and executed, the client computer 10 for the file access authentication system can be implemented by the computer 100.
(Step S101) At the client computer 10, the user double-clicks an encrypted file which is associated with the decryption agent by using an OS function, such as association by file extension.
(Step S102) The associated decryption agent is initiated with the encrypted file as an argument. In the present embodiment, the decryption agent is triggered by the user access for the encrypted file. However, the decryption agent may be resident on the client computer 10.
(Step S103) The state manager 11 manages the encrypted file. The state manager 11 sets the Processing Status in the processing-state management table (
(Step S104) The key requester 13 transmits a request for a decryption key for decoding the encrypted file to the network apparatus 20, such as a switching hub. In this case, the transmitter/receiver 14 is used to perform communication through the network. The communication is performed using an existing technology based on IEEE (Institute of Electrical and Electronics Engineers) 802.3 and the above-described new frame format (
(Step S111) The location notifier 22 in the network apparatus 20 receives the decryption-key request via the transmitter/receiver 21.
(Step S112) The location notifier 22 reads its own location information (
(Step S113) The state manager 24 sets the Processing Status in the processing-state management table (
(Step S114) The transmitter/receiver 26 transmits the decryption-key request to the management server 30. In this case, the above-described frame format (
(Step S121) The location checker 32 in the management server 30 receives the decryption-key request via the transmitter/receiver 31.
(Step S122) The location checker 32 checks the permission-information management table (
(Step S123) The result of the checking is evaluated. When the location information has not been registered, the process proceeds to step S126.
(Step S124) When the location information has been registered, the key transmitter 35 extracts a decryption key for decrypting the encrypted file that is pre-stored in the key storage 36.
(Step S125) The key transmitter 35 transmits a decryption-key response including the decryption key to the network apparatus 20 via the transmitter/receiver 31. In this case, the above-described frame format (
(Step S126) Information of the decryption-key request, the date and time of the request, and so on, together with information indicating a success or a failure, are recorded in the access log storage 34. The process on the management server 30 ends for the present decryption-key request.
(Step S131) After transmitting the decryption-key request in step S114, the network apparatus 20 is waiting for a decryption-key response. When a timeout of the state occurs (Step S131: TimeOut), the process proceeds to step S135.
(Step S132) When the network apparatus 20 receives the decryption-key response via the transmitter/receiver 26, the state manager 24 checks the processing-state management table (
(Step S133) The result of the checking is evaluated. Since the processing-state management table contains multiple entries, the corresponding decryption-key request must be identified. This is performed by, for example, uniquely identifying an entry on the basis of the Transmitter MAC Address and the Process Information in the decryption-key response. When the corresponding decryption-key request is not being processed (step S133: NG), the decryption-key response is ignored and the process returns to step S131 to wait another decryption-key response.
(Step S134) When the corresponding decryption-key request is being processed (step S133: OK), the key relay 27 generates a decryption-key response in the new frame format (
(Step S135) The state manager 24 deletes a corresponding entry for the present decryption-key request from the processing-state management table (
(Step S141) After the client computer 10 transmits the decryption-key request in step S104, the client computer 10 is waiting for a decryption-key response. When a timeout of the state occurs (Step S141: TimeOut), the process proceeds to step S161.
(Step S142) When the key receiver 15 receives the decryption-key response via the transmitter/receiver 14, the state manager 11 checks the processing-state management table (
(Step S143) The result of the checking is evaluated. Since the processing-state management table contains multiple entries, the corresponding decryption-key request must be identified. This is performed by, for example, uniquely identifying an entry on the basis of the Transmitter MAC Address and the Process Information in the decryption-key response. When the corresponding decryption-key request is not being processed (step S143: NG), the decryption-key response is ignored and the process returns to step S141 to wait another decryption-key response.
(Step S144) When the corresponding decryption-key request is being processed (step S143: OK), the encryptor/decryptor 16c decrypts the encrypted file with the decryption key into a temporary file.
(Step S145) The result of the decryption is evaluated. When the decryption processing failed (step S145: NG), the process proceeds to step S161.
(Step S146) When the decryption processing succeeded (step S145: OK), a corresponding application executor 16b is started with the decrypted temporary file as an argument. In this case, through the use of association by file extension, multiple applications can be started by changing the extension for the corresponding type of application or pre-registering the relationship between files and applications.
The decryption processing is accomplished and the application processing is started using existing technologies. Instead of decrypting the encrypted file into a temporary file as in the present embodiment, encryption/decryption processing may be performed at an I/O (input/output) portion to a physical file in such a manner as incorporated in a file system of the OS. An example is that an encryption/decryption chip for performing encryption/decryption with a key is provided between the HDD and the main memory installed on the motherboard, i.e., at an ATA (advanced technology attachment) interface, a bridge, or a bus, and only when a decryption key is passed to the chip, the encrypted file is decrypted and loaded in the main memory. The decryption agent may be directly started without the association by file extension. In this case, it is necessary to perform a series of process in a lump from generation of a temporary file to its deletion.
(Step S151) When the application executor 16b ends the process, it is checked whether or not the temporary file is updated. When the temporary file is not updated (step S151: No), the process proceeds to step S153.
(Step S152) When the temporary file is updated (step S151: Yes), the encryptor/decryptor 16c encrypts the temporary file with the decryption key into another encrypted file. The encrypted file is then updated.
(Step S153) The temporary file and the decryption key (if exit) are deleted.
(Step S154) The state manager 11 deletes a corresponding entry for the present decryption-key request from the processing-state management table (
(Step S161) Error processing, such as displaying an error message on the display, is performed.
In the present invention, as described above, when the decryption-key request transmitted from the client computer is transferred to the management server via the network apparatus, the network apparatus, instead of the client computer, adds location information to the decryption-key request. When the decryption-key request reaches the management server, the location information associated with the decryption-key request is compared with location information stored therein. When the two pieces of the location information are the same, the decryption key is transmitted to the client computer. Thus, only when the management server receives the decryption-key request via the network apparatus which adds the specific location information to the decryption-key request, the management server transmits the decryption key to the client computer. Therefore, even when the management server processes a decryption-key request without going through the network apparatus, the client computer cannot receive the decryption key, thus providing an advantage in that accessing encrypted file can be restricted to within a specific area.
In the first embodiment, the arrangement may be such that User Information is added to the decryption-key requests (
The User Information may also be added to the processing-state management table (
In the present embodiment, as described above, the client computer may include user information in the decryption-key request. In such a configuration, the management server compares both location information and user information and transmits the decryption key to the client computer when the corresponding pieces of the information are the same. Thus, there is an advantage in that access to encrypted file can be controlled for each user. When the management server stores a decryption key for each piece of user information and receives a decryption-key request including the user information, the management server may transmit the decryption key corresponding to the user information to the client computer.
In the first embodiment, the arrangement may be such that File Information is added to the decryption-key requests (
The File Information may also be added to the processing-state management table (
In the present embodiment, as described above, the client computer may include attribute information of the encrypted file in the decryption-key request. In such a configuration, the management server compares both location information and the attribute information, and transmits the decryption key to the client computer when the corresponding pieces of the information are the same. Thus, there is an advantage in that access to encrypted file can be controlled for each piece of attribute information of the encrypted file. When the management server stores a decryption key for each piece of attribute information of the encrypted file and receives a decryption-key request including the attribute information of the encrypted file, the management server may transmit the decryption key corresponding to the attribute information of the encrypted file to the client computer.
The attribute information of the encrypted file may include a file name, a file size, file creation date, file update date, file print date, and so on.
In the first embodiment, the arrangement may be such that the location checker 32 in the management server 30 checks the location information contained in the permission-information management table (
In the present embodiment, as described above, when the decryption-key request transmitted from the client computer to the management server is received in a predetermined time period, the decryption key is transmitted to the client computer, whereas when the decryption-key request transmitted from the client computer to the management server is received at time other than the predetermined time period, the decryption key is not transmitted to the client computer. Thus, access to encrypted file can be controlled in a predetermined time period.
The reception time period of the decryption-key request can be varied for each piece of attribute information of the encrypted file. For example, person A can obtain a decryption key from 8:00 to 12:00 and person B can obtain a decryption key from 13:00 to 18:00.
In the configuration in the first embodiment, when a decryption-key request containing the MAC address of the client computer 10 in its data portion is transmitted to the management server 30 via the network apparatus 20, the management server 30 transmits a decryption-key response containing the MAC address of the client computer 10 in its data portion to the network apparatus 20, and then the network apparatus 20 transmits the decryption-key response to the client computer 10. The transmission to the client computer 10 is performed using the MAC address of the client computer 10 which is contained in the data portion of the decryption-key response received from the management server 30. Thus, even when the network apparatus 20 does not hold a decryption-key request received from the client computer 10, the network apparatus 20 can transmit the decryption-key request received from the management server 30 to the client computer 10.
This is also applicable to a case in which, when the decryption-key request received from the client computer 10 does not contain the MAC address of the client computer 10 in its data portion and the network apparatus 20 obtains the MAC address of the client computer 10 from the header portion of the decryption-key request and stores the obtained MAC address in the data portion of the decryption-key request transmitted to the management server 30.
When a configuration in which the MAC address of the client computer 10 is not contained in the decryption-key request transmitted to the management server 30 is employed, the arrangement may be such that the MAC address of the client computer 10 which is contained in the header portion of the decryption-key request received from the client computer 10 is recorded together with information (the Process Information, the Transmitter IP Address, the File Information, the User Information, or a combination thereof) that allows the network apparatus 20 to identify a decryption-key response, the information that can identify the decryption-key response is contained in the data portion of the decryption-key request transmitted to the management server 30 and is also contained in the data portion of the decryption-key response received from the management server 30, the network apparatus 20 obtains the MAC address of the corresponding client computer 10 on the basis of the information that can identify the decryption-key response, and the decryption-key response is transmitted to the client computer 10.
Communication between the client computer and the network apparatus is preferably performed at the data link layer and the decryption-key request transmitted from the client computer to the network apparatus has a broadcast address as its destination address.
More specifically, the client computer and the network apparatus communicate with each other through, for example, Ethernet®, that is, a LAN (local area network) in which MAC (media access control) based on a carrier sense multiple access/collision detection (CSMA/CD) system is performed, and the destination address of the decryption-key request transmitted from the client computer to the network apparatus is “FF:FF:FF:FF:FF:FF”.
With this arrangement, when the network apparatus is located in a broadcast domain that includes a repeater or repeater hub for relaying a broadcast message, a bridge, and a switching hub, the client computer can obtain the decryption key transmitted from the management server via the network apparatus only when the client computer exists in the broadcast domain.
In each embodiment described above, the decryption-key request is transmitted from the client computer 10 to the management server 30 via the network apparatus 20, and the decryption-key response is transmitted from the management server 30 to the client computer 10 via the network apparatus 20. However, the arrangement may be such that the management server 30 directly transmits the decryption-key response to the client computer 10 by using the Transmitter MAC Address in the data portion of the decryption-key request. In such configuration, corresponding entry in the processing-state management table stored in the state information storage 25 of the network apparatus 20 is deleted when the timeout is reached.
The technical scope of the present invention is not limited to the embodiments described above and various changes or improvements can be made thereto. It is obvious from the appended claims and summary of the invention that the embodiments to which such changes or improvements are made are also encompassed by the technical scope of the present invention.
The present invention can be implemented not only as a system but also as a method or a program storing medium storing program thereof.
Number | Date | Country | Kind |
---|---|---|---|
2006-327032 | Dec 2006 | JP | national |