+

WO2006001153A1 - File managing program - Google Patents

File managing program Download PDF

Info

Publication number
WO2006001153A1
WO2006001153A1 PCT/JP2005/009908 JP2005009908W WO2006001153A1 WO 2006001153 A1 WO2006001153 A1 WO 2006001153A1 JP 2005009908 W JP2005009908 W JP 2005009908W WO 2006001153 A1 WO2006001153 A1 WO 2006001153A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
user
user terminal
package
policy
Prior art date
Application number
PCT/JP2005/009908
Other languages
French (fr)
Japanese (ja)
Inventor
Tao Wang
Tao Guo
Junichiro Kawaguchi
Jun Li
Chen Yu
Original Assignee
Easy Systems Japan Ltd.
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 Easy Systems Japan Ltd. filed Critical Easy Systems Japan Ltd.
Publication of WO2006001153A1 publication Critical patent/WO2006001153A1/en

Links

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/60Protecting data

Definitions

  • the present invention relates to a file management program, and more particularly to a file management program for setting a use condition to package a file and using a packaged file within the range of the use condition.
  • Patent Document 1 Conventionally, as a distribution system that sets usage conditions and distributes data or software to users, there has been a distribution system as shown in Patent Document 1.
  • the distribution server encrypts data with usage agreement, software, and usage conditions by an encryption processing unit using an encryption key corresponding to the client terminal of the distribution destination, Send it after packaging in the package part.
  • the client terminal uses the encryption key in the encryption processing unit to decrypt the usage conditions, and when the usage conditions are available, the client terminal decrypts and installs the data and software.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2002-189526
  • the present invention has been made in view of such conventional problems, and the object of the present invention is to provide a file that can be centrally managed without impairing the convenience of the user. To provide a management program.
  • a file management program having a file package program that is stored and executed in a user terminal and performs central management of an original file created by an arbitrary user.
  • a file designating unit that accepts file specifications, a policy planning unit that formulates a policy for using the original file, a common key generated for each original file, and a policy generated based on the policy
  • a package unit that generates a package file by packaging the file and the original file encrypted with the common key, and only a user who satisfies the policy usage conditions can store the file in the policy file.
  • the usage rights for the common key and the original file can be expanded on the temporary memory of the user terminal, and A file management program for generating the package file so that the original file decrypted with the common key can be expanded only on the temporary memory and the original file can be used within the range of the use authority.
  • the file management program further includes a search unit for searching for information related to a package history of the package file and information related to a user access history to the package file.
  • the number of users who package the original file depends on the number of users who are given usage rights. Regardless, it is possible to share the original file among multiple users simply by creating a single package file and storing it in a storage medium that can be accessed by the user terminal that has been given the right to use it. Become.
  • a package file is generated in the package part, and a notification of sending the package file or sending the package file by e-mail attachment is sent to the user terminal of the user who is authorized to use the original file.
  • This is a file management program with a part.
  • the user's user terminal which has been given the authority to use the original file, cannot inadvertently know the existence of the package file in which the original file is packaged. As a result, a user who has been granted the right to use the original file can immediately use the original file.
  • the file management program comprises a file specification unit that accepts specification of a package file in which a source file to be used is packaged among package files, and a policy file in the package file. If the usage of the original file is within the range of the usage conditions, it is a common key generated for each original file and used for the encryption key.
  • the decryption key of the original file and the right to use the original file are -The contents of the package file are encrypted by the decryption key decryption unit that develops the decryption key and the usage authority on the temporary memory of the user terminal, and the acquired common key.
  • the use authority of the original file and the decryption key of the original file are included in the knock file so that they can be decrypted only when the use conditions are satisfied. Therefore, only when the user satisfies the usage conditions of the policy included in the knock file, the user is authorized to use the original file, and the user cannot use the original file. Will be provided.
  • the file management program 1 makes it possible to use the original file by a user who has been given usage rights while maintaining a high security level.
  • a user can share the same original file with other users as a result without accessing a user terminal other than the user terminal.
  • the same original file can be shared with other users because the original file is encrypted with the common key generated for each original file, and the number of users depends on the number of users. This is also due to the fact that one package file is generated.
  • the invention of claim 5 provides:
  • the file usage control unit controls the corresponding software of the original file, and performs the API hooking that performs the function call instruction based on the acquired usage authority to the OS or middleware of the user terminal. This is a file management program.
  • the file management program When the original file is repackaged, the file management program includes a notification unit that notifies the user terminal or server of the user who created the original file that the repackage has been performed.
  • the user or server that created the original file can immediately confirm that the original file has been updated.
  • the file management program includes a database generation unit that generates the user terminal in a state incapable of being performed.
  • the usage status database is generated in the user terminal, thereby preventing and detecting the unauthorized use of the original file in the user terminal other than the user terminal. I can do it.
  • the file usage program is a file management program that requests the server to check usage conditions in the policy file.
  • the policy file is encrypted with a key replaced by a replacement table generated for each server.
  • the replacement table stores the file management program in the user terminal and the user terminal. Is a file management program stored in
  • the usage conditions are described in association with a plurality of policy objects.
  • another policy object is opened. Keys can be obtained, and finally all policy object keys are opened, and only when all usage conditions are satisfied, the decryption key and usage rights can be extracted.
  • This file management program has a data structure.
  • It has an authentication interface that authenticates whether or not it is a registered user of the file management program, or whether or not it is a use-permitted user of the original file included in the use conditions, and the authentication interface is determined by a request from the user
  • It is a file management program that sends data to a server and requests verification with data already stored in the server.
  • the authentication interface includes template data stored in the sano or the user terminal if the authentication device includes encryption logic.
  • the template data corresponding to the login ID is obtained
  • the second password is obtained by verifying and decrypting the signature with the user's PKI certificate
  • the data already stored in the server is a file management program that requests verification.
  • the server or the user terminal can perform the user authentication regardless of the authentication device power of any kind and the user authentication result.
  • the number and combination of user authentication can be changed arbitrarily.
  • the user who packages the original file generates a single package file regardless of the number of users who are given usage rights, and the user terminal of the user who has given usage rights can access the memory.
  • the original file can be shared among multiple users simply by storing it on the medium.
  • the use authority of the original file and the decryption key of the original file are included in the package file so that they can be decrypted only when the use conditions are satisfied, the user includes them in the package file. Only when the usage conditions of the specified policy are satisfied, the usage rights of the original file are granted, and the usage rights are granted, so that the user cannot use the original file.
  • the file management program can perform centralized management and use of a file that maintains a high security level and does not impair the convenience of the user when generating a package file. become able to do.
  • the usage authority is limited to authority other than editing and saving, users other than the user who created the original file cannot change the original file.
  • the same original file is shared among users. This can be done by the user of the user who has been given the right to use the package file by e-mail attachment. Even when stored in the terminal, the same effect is obtained.
  • a user can share the same original file with other users as a result without accessing a user terminal other than the user terminal.
  • the same original file can be shared with other users because the original file is encrypted with the common key generated for each original file, and the number of users depends on the number of users. This is also due to the fact that one package file is generated.
  • the file management program 1 is capable of viewing, printing, editing, and saving a file, such as a document, an image (a moving image or a still image) is included in a document file (hereinafter simply referred to as a file). It is used to prevent unauthorized use by leaking information to persons who do not have the right to use the file, etc., and to improve file safety by setting file usage conditions (policy). It is a program.
  • the file management program 1 is a program stored and executed in the user terminal 4.
  • An arbitrary user creates a package file from a file created by an arbitrary user in the user terminal 4,
  • File package program 2 for centralized management of files, and
  • a file usage program for users other than the file creation user to restore the original file from the package file holder and use the file on the user terminal 4 It is roughly divided into three.
  • “use of file” refers to actions such as viewing, printing, editing, and saving a file.
  • these user terminals 4 are connected to each other via a network 6 such as a LAN 6a inside the company, and outside the company via a network 6 such as the Internet 6b. Connected.
  • the internal user terminal 4a is used when accessing outside the company, requesting various authentications, registering various types of information, downloading the file management program 1 of the present invention, and using the file management program 1. Support via network 6 Connected to server 5.
  • the external user terminal 4b is also connected to the server 5 via the network 6 at the same time as described above.
  • the user terminal 4 stores the configuration required for storing and executing these programs (external storage devices such as CPU, temporary memory 43, hard disk 44, communication device, input / output device, etc.). What is necessary is just a normal computer.
  • the user and the user terminal 4 perform user registration with the server 5 in order to use the file management program 1 of the present invention, and register information about the user and the user terminal 4 in the server 5.
  • the user and the user terminal 4 are associated one-to-one, and one user ID is assigned to a set of one user and one user terminal 4.
  • the 2 user IDs shall be assigned.
  • One user ID may be given to one user regardless of the user terminal 4, or one user ID may be given to one user terminal 4 regardless of the user.
  • the server 5 has a configuration similar to that of the user terminal 4, and may be a normal server computer provided with server software.
  • the server 5 includes a user database 55 storing information such as user information and hardware information of the user terminal 4, an authentication database 57 storing authentication information necessary for user authentication, It is equipped with various databases such as the history database 56 that stores history information such as user history and package file creation history.
  • the file package program 2 is stored in the user terminal 4 and used in the user terminal 4, regardless of the storage method of the power program.
  • the server 5 power is downloaded to the user terminal 4 together with the installer.
  • a storage medium such as a CD-ROM may be copied to the user terminal 4.
  • the finale package program 2 mainly includes functional block capabilities of a file designation unit 21, a policy formulation unit 22, a knock unit 23, and a search request unit 24.
  • the file designation unit 21 is a means for receiving designation of a file that is to be managed among files stored in a storage medium that can be accessed by the user terminal 4.
  • the file specification unit 21 displays on the screen of the user terminal 4 identification information (title, creation date, creation user, file type (extension) that the user terminal 4 can manage at that time. Etc.), the file data size, etc.) is displayed, and the input device such as a keyboard or a mouse selects one of the information to accept the file specification.
  • the policy formulation unit 22 is a means for formulating a policy for using the finale received by the file designating unit 21 (hereinafter referred to as the original file).
  • the prepared policy is transmitted to the server 5 together with the identification information of the original file. These are not necessarily transmitted to the server 5.
  • the policy is, for example, authentication of whether or not a user is permitted to use the original file, Z authentication, password and other authentication, number of times the file can be used, expiration date of the original file, number of files that can be accessed simultaneously, access
  • usage conditions such as possible time, and usage rights granted when these usage conditions are satisfied (for example, usage modes such as viewing, printing, editing, and saving of the original file).
  • the server 5 includes a key generation unit 51 and a policy file generation unit 52 as functional blocks.
  • the key generation unit 51 is means for generating an encryption key (decryption key) for encrypting (decrypting) the original file.
  • file encryption and decryption are performed by a common key encryption method.
  • the encryption key and decryption key are common, and only one type is generated for each original file. Therefore, in the following description, the encryption key is also referred to as a decryption key.
  • the decryption key generated by the key generation unit 51 is a random number generated every time a policy is formulated by the policy formulation unit 22 (and for each original file). If the key is generated differently for each policy, it is not necessarily a random number.
  • the common key encryption method is used for file encryption and decryption, because the processing time required for file encryption and decryption at user terminal 4 is as follows. This is because the burden on the user terminal 4 is short compared to the encryption and decryption processing time when the public key cryptosystem is used.
  • the common key encryption method for example, when the encryption key generated by the server 5 is used for file encryption, or the encrypted file is used as an encryption key only for a specific user.
  • the key delivery method often becomes a problem. As long as the encryption key and decryption key are the same, once the key is known to a third party, anyone can decrypt the encrypted file, meaning the file has been encrypted. Because there will be no more.
  • the policy file generation unit 52 is a means for generating a policy file based on the policy formulated by the policy formulation unit 22 and the decryption key generated by the key generation unit 51.
  • the policy file is, for example, XML format data that describes the decryption key and the policy.
  • the usage conditions in the policy are described in association with a plurality of policy objects. When the usage conditions corresponding to a policy object are satisfied, a key for opening another policy object can be obtained, and finally all policy objects are opened, that is, all policies are opened. This is a chained data structure in which the decryption key and usage authority can be extracted only when the usage conditions are satisfied.
  • the generated policy file is stored in the user database 55 for storing user information with the identification ID of the policy file assigned to each user, and is also transmitted to the user terminal 4.
  • the decryption key generated by the key generation unit 51 may also be stored in the user database 55 and transmitted to the user terminal 4.
  • an identification ID is assigned to each policy object, and a key for opening the policy object is generated by the key generation unit 51, and this information is also stored in the user database 55.
  • the policy file generation unit 52 may be included as a functional block of the file package program 2 stored in the user terminal 4. In this case, the user terminal 4 does not transmit the policy to the server 5, generates the policy file itself, and stores the policy file identification ID in the user terminal 4.
  • the knocking unit 23 encrypts the original file with the decryption key generated by the key generation unit 51, and the encrypted original file,
  • the policy file and basic file information generated by the policy file generator 52 are packaged together and added with a header to generate a new file (called a package file).
  • Figure 3 shows a conceptual diagram when the package unit 23 generates a package file.
  • the encrypted original file cannot be taken out or used alone. It can be used only by linking with the policy file.
  • the usage authority can be acquired and the encrypted file can be decrypted. Even if it is sent to 4 or known, it will be encrypted if there is no package final and the conditions of use of all policies are not satisfied. Since the original file cannot be decrypted, the security of the encrypted file is ensured.
  • the decryption key is included in the policy file and packaged with the encrypted original file, the user is also aware of the key delivery, which is a problem of the common key cryptosystem. Without being done safely.
  • the file basic information includes the original file identification information in addition to information such as the title, creation date, creation user, original file type (extension, etc.), and original file data size.
  • the use permission of Z is included. It may also include the title that is the identification information of the knock file, creation (package date and time), creation user (packaged person), package file type, package file data size, and the like.
  • the encryption of the file basic information is arbitrary, and basically the contents of the file basic information can be known even by a user who does not have the authority to use the original file.
  • the search request unit 24 requests the search unit 53 in the server 5 to search the history information of the file package stored in the history database 56 and the information related to the access history of the package file. It is.
  • the history database 56 may store the same data as that stored in the user database 55, or the history information stored in the user database 55 may be searched! ,.
  • the search request unit 24 Alternatively, it may be a means of accessing the history information stored in a database (for example, a usage status database 33a described later) in the user terminal 4 of the file creation user.
  • the search request unit 24 specifies, for example, a search condition, and transmits the search condition to the server 5.
  • the search unit 53 of the server 5 extracts the history information that matches the search condition from the history database 56 and transmits it to the user terminal 4.
  • the user terminal 4 can further change the policy in the policy formulation unit 22 and change the file in the file specification unit 21. If any change is made, the knocking unit 23 repackages the file. This procedure is the same as the procedure for a new file package, as described above.
  • history database 56 also stores a user access history to the package file. Therefore, the user who has packaged the file can confirm from the search request section 24 who has accessed which package file from when.
  • the user who packages the original file can generate one package file and access it by the user terminal 4 of the user who has been given the use right regardless of the number of users to whom the use right is given.
  • the original file can be shared among multiple users simply by storing it in the storage medium.
  • the file management program 1 can perform centralized management of files while maintaining a high security level and without impairing the convenience of the user when generating a package file. It becomes like this.
  • the file usage program 3 is stored in the user terminal 4 and is stored in the user terminal 4 in the same manner as the file package program 2.
  • the file usage program 3 can be stored in the user terminal 4 together with the installer. It may be downloaded to the user terminal 4 or a storage medium such as a CD-ROM may be copied to the user terminal 4.
  • the file use program 3 may be programmed together with the file package program 2, and in this case, the file use program 3 is stored in the user terminal 4 as the file management program 1.
  • the file usage program 3 is mainly composed of a file designation unit 31, an authentication request unit 32, a database generation unit 33, a decryption key decryption unit 34, a decryption unit 35, a file usage control unit 36, and a re-noclusion unit 37. Consists of functional block force.
  • the file designating unit 31 is a means for accepting designation of a package file that is used by the original file among package files stored in a storage medium that can be accessed by the user terminal 4. It is. For example, the file designating unit 31 displays on the screen of the user terminal 4 the basic file information of the package file (package file or original file title, creation date, creation user, file type (extension, etc.), The use of the original file is allowed (Z non-permitted users, etc.), and the input device such as a keyboard or mouse can be used to select either of the information, and the specification of the knock file can be accepted.
  • the basic file information of the package file (package file or original file title, creation date, creation user, file type (extension, etc.), The use of the original file is allowed (Z non-permitted users, etc.), and the input device such as a keyboard or mouse can be used to select either of the information, and the specification of the knock file can be accepted.
  • the file package program 2 generates a package file in the package unit 23 and notifies the user terminal 4 of the user who has been given the authority to use the original file to notify the generation of the package file or In addition, it has a notification unit (not shown) for sending a knock file by mail attachment.
  • the usage rights of the original file can be granted only by preventing the user's user terminal 4 from inadvertently knowing the existence of the package file in which the original file is packaged.
  • the authorized file can be used immediately by the authorized user.
  • the authentication request unit 32 is means for requesting the server 5 to authenticate a user who intends to use the file use program 3. If one user ID is assigned to one user and one user terminal 4, the user terminal 4 is naturally not authenticated unless the user requests an authentication from the user terminal 4 to the server 5.
  • the authentication request unit 32 does not necessarily require the server 5 to authenticate, and may be means for authenticating the user by the user terminal 4 itself. This will be described later in Examples.
  • the database generation unit 33 may update the usage status (for example, the number of times used) of the original file by the user terminal 4. This is a means for generating the usable usage state database 33a in the user terminal 4 in such a state that it cannot be read and updated by the user terminal 4 other than the user terminal 4 of the user.
  • usage conditions of the policy formulated by the policy formulation unit 22 usage conditions that do not require the usage status of the original file to be updated each time the original file is used (for example, the usage permission of the original file is Z). If the policy is generated only by the authentication of whether it is an authorized user, password and other authentication, the expiration date of the original file, the number of simultaneous access to the same knock file, the access time, etc.
  • the generation unit 33 is not necessarily required to generate the usage status database 33a.
  • the database corresponding to the usage status database 33a is not necessarily the user terminal. It may be generated in the server 5 that does not need to be generated in 4. In this case, the database generation unit 33 is not required in the file package program 2.
  • the decryption key decryption unit 34 compares the policy usage conditions in all the policy objects constituting the policy file in the knock file, and decrypts the decryption key of the encrypted original file. And the user's usage authority, and the decryption key and usage authority are retrieved from the temporary memory 43 of the user terminal 4, and the verification / update means 34a for verifying the usage conditions and updating the usage status is provided. Have it.
  • the verification / update means 34a checks the usage conditions and the usage status stored in the usage status database 33a for a policy that requires the usage conditions and the usage status of the original file to be verified. If the usage status does not violate the usage conditions (for example, the usage status is 3 times against the usage condition of 10 usages), update the usage status in the usage status database 33a to create another policy object. Take out the key to open or the decryption key of the encrypted original file.
  • either the server 5 or the user terminal 4 needs a program (for example, counting means, timing means, etc.) for updating the contents of the usage status data base 33a. Also, the location where the usage database 33a is generated and how to update the usage status can be stored in the policy file! /.
  • a program for example, counting means, timing means, etc.
  • the collation / update means 34a does not need to update the usage status of the original file!
  • the server 5 may be requested to collate the usage conditions with the usage status (current status). It can also be performed in the user terminal 4.
  • the collation / update means 34a accesses the server 5 to check the usage conditions and the usage status.
  • the server 5 receives the verification result and the key of the policy object to be opened next from the server 5.
  • the server 5 can encrypt the verification result and key to the user terminal 4 with the user's public key generated in advance and transmit it to the user terminal 4.
  • the decryption key unit 35 uses the decryption key decrypted by the decryption key decryption unit 34 and taken out to the temporary memory 43 of the user terminal 4, and then decrypts the original file encrypted in the package file. Means for decryption. Further, the decryption unit 35 may be a means for decrypting other encrypted data in conjunction with the decryption key decryption unit 34 that only decrypts the encrypted original file. Good.
  • the file usage control unit 36 is means for controlling the usage of the original file decrypted based on the usage authority decrypted by the decryption key decrypting unit 34. Further, the file usage control unit 36 may also serve as means for starting the corresponding software 42 for opening the original file based on the file identification information of the original file.
  • the corresponding software 42 may be prepared in the file usage program 3. For example, viewer-specific software that can browse all types of original files may be made available on the user terminal 4.
  • the file usage control unit 36 may be a means for performing API (Application Program Interface) hooking. Specifically, the file usage control unit is provided when all or part of the functional capabilities of the viewer, etc. in the original file compatible software 42, is realized by calling the functions provided by the OS or middleware. 36 controls the corresponding software 42 and issues a function call instruction based on the acquired use authority from the corresponding software 42 to the OS or middleware. This makes it possible to control usage rights while using existing compatible software 42 without creating dedicated software that can be used for browsing, printing, editing, saving, etc. corresponding to all original files. It becomes.
  • API Application Program Interface
  • the decryption unit 35 and the file usage control unit 36 only use the decryption key and the usage authority extracted to the temporary memory 43 through the normal decryption process in the decryption key decryption unit 34. It is possible to decrypt and use the original file. For example, when a decryption key or usage right that is used alone is about to be decrypted or used, the decryption unit 35 and the file usage control unit 36 Can be stopped on the spot. Thereby, unauthorized use of the original file can be prevented.
  • the repackaging unit 37 will edit the original file after editing. A means of packaging the file again with the policy file.
  • the repackage unit 37 exchanges the original package file (or overwrites or updates the original package file). As a result, the original package file is deleted, and the package file is updated.
  • the basic difference between the original package file and the repackaged package file is only the difference in the data capacity of the original file, and related data such as file basic information is accompanied by the repackage.
  • the power that may be updated The file name and the decryption key of the original file do not change.
  • the hash value also needs to be updated.
  • the repackaging unit 37 should only function if the editing of the original file is permitted among the usage rights. In the first place, the editing of the original file is included in the usage rights. If not, the repackaging section 37 is not necessary. Furthermore, in this embodiment, the policy file cannot be edited by a user who is permitted to edit the original file. This is to prevent unauthorized use of the original file by editing the policy file.
  • the file utilization program 3 having the repackage unit 37 is repackaged in the user terminal 4 or the server 5 of the original file creation user. You may have a notification part (not shown) which notifies that. This allows the user and server that created the original file to immediately confirm that the original file has been updated.
  • the usage authority of the original file and the decryption key of the original file can be decrypted only when the usage conditions are satisfied. Because the package is included in the package file, the user Only when the usage conditions of the policy included in the file are satisfied, the usage rights of the original file are granted, and the usage rights are granted, so that the user cannot use the original file. Become. In other words, the file management program 1 makes it possible to use the original file by a user who has been given usage rights while maintaining a high V security level.
  • the user can share the same original file with other users as a result without accessing a user terminal other than the user terminal.
  • the same original file can be shared with other users because the original file is encrypted with the common key generated for each original file, and the number of users depends on the number of users. This is also due to the fact that one package file is generated.
  • Reading and updating the information in the usage status database 33a is performed only in the process of decrypting the decryption key and the use authority by the decryption key decryption means, and by the user and the Service-to-Self in other processes. It will not be updated or tampered with.
  • the usage status database 33a generated in the user terminal 4 is a one-way function such as a hash value of the identification information (MAC address, BIOS serial number, hard disk 44 serial number, etc.) of the user terminal 4. May be encrypted.
  • detection of unauthorized update, alteration, unauthorized use, etc. of the usage status in the usage status database 33a can be performed by using a known hash (one-way) function technique or the like.
  • the usage status is always encrypted with the hash value of the usage status at the time of the last update or reading, and encrypted with the correct hash value at the next update or reading. Check the consistency of force.
  • the usage status should be updated from 2 times to 3 times by setting a mechanism that can be increased or decreased only by a predetermined number, for example, by decreasing it by one. It is also possible to make it impossible to tamper with zero.
  • the decryption key decryption will be stopped or the registry etc. Then, it is backed up, corrected, read the usage status, and the altered usage status database 33a is restored to the original state.
  • a program that can generate the usage database 33a only when a new user tries to open a package file for the first time Before downloading, the server 5 recognizes the identification information (MAC address, BIOS serial number, hard disk 44 serial number, etc.) of the user terminal 4 in advance and downloads the usage status data based on the hash value of the identification information.
  • the terminal 33a is encrypted, and a program that prevents the encrypted usage status database 33a from being decrypted is installed in a terminal having other identification information.
  • the identification information of the user terminal 4 is set as one condition.
  • the identification information of the user terminal 4 that is actually used as the usage status is checked, and the user terminal 4 of the user who is originally given the usage rights as the usage conditions is checked. If it does not match the identification information, the use of the original file may be stopped.
  • the usage conditions naturally vary from user to user, so if you want to share a policy file, the usage conditions and keys of the policy objects related to the usage conditions are stored in the server 5. It may be stored.
  • the decryption key decryption can be performed even if the usage status database 33a is substantially empty. If the part 34 confirms the existence of the usage status database 33a, the user and the user terminal 4 are automatically authenticated, and the user and the user terminal 4 who do not have the authority to use the original file. More effective in preventing unauthorized use.
  • the knock file is used under the root directory, the key acquisition path directory indicating the acquisition path and acquisition order of the decryption key and the usage right, and the usage conditions indicating the usage conditions for each policy object. It consists of four directories: a condition directory, a file directory that stores encrypted original files, and basic file information.
  • the key acquisition path directory and the usage condition directory correspond to the policy file, and the policy file, the encrypted original file, and the basic file information are packaged by the knocking unit 23.
  • a plurality of policy objects are arranged in order under the key acquisition path directory, and the usage authority and the decryption key that can be finally acquired are also included.
  • Each policy object includes a key for starting the collation / update means 34a and opening the next policy object.
  • the policy object and the usage conditions in the portion surrounded by the dotted frame are not actually included in the policy file, but are stored in the server 5. In this way, a part or all of the policy file can be obtained from the server 5. Policy Placing some or all of the files in the server 5 can further prevent fraudulent actions such as policy file tampering.
  • the usage condition directory includes initial values of usage conditions according to the type of policy object generated, and the database generation unit 33 uses the original file for the first time by the user terminal 4. Sometimes, the initial value of this usage condition is copied or moved to the usage status database 33a. It should be noted that even if the usage database 33a is generated and the usage status is updated, it may be stored in the usage conditions directory.
  • the policy object that requires the initial value of the use condition is, for example, the use status of the original file is updated each time the file is used, and the next file is used. In use, this is a type of comparison with the updated usage status.
  • a policy object that does not require an initial value is a type that compares a usage condition and a usage situation that does not require updating, such as the usage period of an original file.
  • the initial value of the usage condition relating to the number of times of use is, for example, 10 times if it is 10.
  • the numerical value stored in the power usage database 33a is "0 times" or "10 Times ".
  • the usage status database 33a is updated to reduce the number of times by 1 each time the original file is used, and becomes “0 times”. Since the original file can no longer be used at that time, the collating work in the collating / updating means 34a becomes substantially unnecessary.
  • the collation / update means 34a performs an update operation in the usage status database 33a to increase the number of usages, and checks the usage conditions. Work (judgment of power or less 10 times) is necessary.
  • the verification / updating means 34a in the decryption key decryption unit 34 determines the location of the usage status database 33a corresponding to the key under the usage condition directory as shown in FIG. Search for power and update the usage database 33a to obtain the next key. In some cases, the corresponding usage conditions are searched from the usage conditions directory, and the usage conditions and usage status are collated. And in the policy file shown in Figure 5 It plays the role of linking the keys stored in each branched directory, usage conditions, and usage status storage locations.
  • the usage authority and the decryption key are not acquired unless they are in a normal order. Also, if the data in one directory does not correspond to the data in the other directory, the decryption key cannot be decrypted, so only a part of the directory is copied or the storage location or path name of one of the directories changes. If this is the case, cooperation with the decryption key decryption means will not be performed, and unauthorized use will be difficult.
  • FIG. 8 An example of a process in which a user A uses a file management program 1 to package a file, and then another user B uses the file included in the knock file. This will be described in detail with reference to the flowcharts of FIGS. 8 to 15 and the configuration diagrams of FIGS. 1, 2, 4, and 6.
  • FIG. 8 An example of a process in which a user A uses a file management program 1 to package a file, and then another user B uses the file included in the knock file.
  • both users A and B who use the file management program 1 must complete user registration after agreeing to the terms of use of the file management program 1.
  • the user terminal 4 accesses the user registration home page stored in the computer such as the server 5 via the network 6, the user registration home page u
  • the server 5 transmits the user registration home page data in the URL received from the user terminal 4 to the user terminal 4 (S115). [0141] The server 5 displays on the user terminal 4 a user registration screen in the user registration home page. The user inputs registration information such as user identification information and user terminal 4 identification information on the user registration screen, and transmits the registration information to the server 5 (S120). Note that the identification information and the like of the user terminal 4 may be automatically extracted and transmitted to the server 5 without the user inputting it.
  • the server 5 checks the registration information also received by the user terminal 4 (S125), and if there is a deficiency such as omission of input (S130), an error message is transmitted to the user terminal 4 (S135).
  • the user's e-mail address included in the registration information has already been registered in the user database 55 of the server 5 (S140), and some of the registration information is different from the registered information. In this case, it is determined that the registration information has been updated, and the registration information in the user database 55 of the server 5 is updated (S 145).
  • the server 5 If there is no fear of incomplete registration or double registration in the registration information, the server 5 generates a user public key / private key pair and stores it in the user database 55 of the server 5 (S150).
  • the public / private key pair generated here is used later when the user terminal 4 and the server 5 transmit / receive any data or when the user terminal 4 itself authenticates the user. Force key generation is not mandatory.
  • the server 5 generates a unique ID (user UID) for each user and a unique ID (user terminal UID) for each user terminal 4, and stores the registration information together with these IDs. (S155), and transmits the registration information stored, the generated public key and private key, the user UID and the user terminal UID together with the registration completion message to the user terminal 4 (S160). If the public key and private key are not generated, it is not necessary to send the key.
  • the user terminal 4 stores the registration information in a predetermined location in the user terminal 4 specified by the server 5 (for example, a predetermined location in the registry) (S165). In addition, with this predetermined place The usage status database 33a generated in advance may be used.
  • user A not only registers as server 5 as described above, but also installs file package program 2 as shown in FIG. 2 on user terminal A of user A. It shall be.
  • the user terminal A activates the installed file package program 2 by double-clicking an icon on the screen (S210).
  • a login screen for the file package program 2 appears on the screen of the user terminal A, so that the user terminal A authenticates whether or not it is a registered user (or the server 5). Therefore, it accepts input devices such as a keyboard for input of login ID and password (S215).
  • the login ID is the user's email address registered at the time of user registration
  • the password is specified by the user at the time of user registration
  • the login ID corresponds to the authentication database 57 on the server 5. This is a character string that is stored.
  • the second password is an authentication result obtained by the authentication device that can be arbitrarily specified by the user.
  • the authentication device may be of any kind as long as it is connected to user terminal A.
  • Authentication devices can be roughly classified into password-based authentication, property authentication (IC card, IC card using PKI certificate, USB key, USB token, etc.), biometric authentication (fingerprint, voiceprint, voiceprint, handwriting, (Face, vein, etc.)
  • the server 5 or the user terminal A can perform user authentication regardless of the type of authentication device user, and the number of user authentications
  • the server 5 or user terminal A has an authentication interface so that the combination can be changed arbitrarily.
  • the authentication interface is in user terminal A because the user does not access the server 5 and This is a case where authentication within the terminal A is requested.
  • the authentication interface uses the above authentication method as follows: (1) Those that contain cryptographic logic (some IC cards, USB keys, biometrics and other PKI), (2) Authentication result YESZNO binary (3) Those that output some character strings (some devices with device IDs such as USB key, MAC address, BIOS serial number, etc.) t As you can see, it is classified by the type of output data (second password) of the authentication device, and the login ID, password, second password, and authentication type of the second password are associated with each other, and the server 5 or user terminal Save to A.
  • the second password is assigned to the user based on the PKI certificate.
  • Data template data encrypted with the public key (hereinafter referred to as PKI public key) and signed with the user's private key (hereinafter referred to as PKI private key) is stored in server 5 or user terminal A.
  • the authentication interface determines the authentication device determined by the request from the user, or the user's second password output from the authentication device determined in advance on the authentication interface side, and the type of the authentication device.
  • the user terminal A force is received together with the password, and is compared with the data already stored.
  • the authentication interface receives the template data corresponding to the mouth guin ID out of the template data already stored in the server 5 or the user terminal A, Using the user's PKI certificate, signature verification and decryption are performed to obtain the second password, which is verified against the data already stored.
  • password verification may be omitted even if only the login ID and the second password are verified.
  • the user can request user authentication by arbitrarily performing the number and combination of authentication types, In addition, since user authentication can be performed with a predetermined number of authentication types and combinations, an authentication device is added to the server 5 or the user terminal 4. It is possible to respond flexibly to the case. In addition, since the authentication is not performed using only one type of password, the accuracy of authentication is improved, and it is not necessary to maintain the confidentiality of the password completely, and the password itself can be stored in the user terminal 4.
  • the authentication interface obtains an arbitrary authentication device power second password as described above (S220).
  • user A selects either user authentication (local login) at user terminal A or user authentication (server login) at server 5 (S225).
  • a pair of public key and private key of user A is generated in the user registration flow of Fig. 8, and the login ID, password, and second pass password are also generated.
  • the generated private key Stored in user terminal A, and the generated private key must be stored in user terminal A with the second password encrypted. .
  • the authentication interface displays the user information (login ID, password, second password, authentication type, public key and secret) required for user authentication on user terminal A. It is checked whether the key pair and the private key encrypted with the second password are registered (S230). If any one of the user information is not registered, the process proceeds to the server login flow in FIG. If local login is not selected, proceed to B in Figure 9.
  • user information login ID, password, second password, authentication type, public key and secret
  • the authentication interface compares the acquired user information with the user information stored in the user terminal A, and further, the user information is encrypted with the second password.
  • the decrypted secret key is decrypted with the second pass key acquired by the authentication interface, and the decrypted secret key is compared with the secret key already stored in the user terminal A (S235).
  • the secret key verification method in the present embodiment will be described in detail below.
  • the usage status database 33a is generated on the user terminal A, and the usage status database is User information including the public key and private key of user A is stored in 33a.
  • the usage status database 33a is encrypted.
  • the replacement table is a kind of cryptanalysis table generated with random numbers and the like, and is a table showing the correspondence before and after replacement.
  • the policy file is also encrypted using this substitution table. This makes it difficult to decipher or illegally use the policy file, which cannot be directly seen by the user or the Service-to-Self.
  • the replacement table is stored in the server information storage file.
  • the server information storage file is a file generated for each server 5, that is, a file for identifying the server 5. Accordingly, when the URL of the server 5 accessed by the user terminal A is changed, the server information storage file itself is also changed.
  • the server information storage file includes a replacement table, a range of user IDs that the server 5 corresponding to the server information storage file allows to use the file management program 1, the URL of the program on the server 5 side, A key for communication between the terminal A and the server 5 (for example, the public key of the server 5) is included.
  • the user ID range here may be the start value and mask value (range) of the user ID! /.
  • the URL of the program on the server 5 side and the key for communication between the user terminal A and the server 5 initialize the program on the server 5 side when the user terminal A accesses the server 5, This is to reduce the burden on the server 5 and to decrypt the encrypted communication from the user terminal A.
  • the server information storage file is stored together, and the server information storage file is stored together. If the file management program 1 is not stored, the file management program 1 cannot be stored. This prevents unauthorized use of the knock file alone.
  • the authentication interface decrypts the encrypted secret key with the second password that has also acquired the authentication device power to obtain the secret key (S235), and further stores the secret key in the server information storage file.
  • the encrypted usage database 33a is decrypted by replacing with the replacement table in the table.
  • the user information stored in the decrypted usage database 33a and the authentication If there is no problem comparing the user information acquired by the interface, user A has succeeded in authentication (login) (S240, S245).
  • the authentication interface checks whether the user terminal UID is registered in user terminal A (S310). In this embodiment, whether or not the user terminal UID is registered depends on whether or not the usage status database 33a is generated in the user terminal A and the user terminal UID is stored in the usage status database 33a. Can be confirmed. In addition, identification information such as the MAC address of user terminal A is also detected by the user terminal A itself, and it is also confirmed by a method such as whether the usage status database 33a encrypted with the identification information can be decrypted. I can do it.
  • the authentication interface transmits the identification information of the user terminal A to the server 5 (S315).
  • the server 5 generates and registers the user terminal UID based on the identification information of the user terminal A (S320).
  • the authentication interface sends the login ID, password, second password, and second password authentication type of user A to server 5 (S325). .
  • the server 5 collates the transmitted information with the information stored in the authentication database 57 in the authentication unit 54 shown in FIG. 2 (S330).
  • the user information stored in is transmitted to the user terminal A (S335).
  • the server 5 can transmit the mail address list of other registered users and the public key list together with the user information of the user terminal A.
  • User A can activate the function block in the file package program 2 by clicking any button on the file package screen.
  • the file designating unit 21 receives from the user A designation of a file to be managed (S410). In FIG. 17, this corresponds to the reference button for specifying the encryption target file, and in FIG.
  • the policy formulation unit 22 receives from the user A policy formulation when another user uses the file specified by the file specification unit 21 (hereinafter referred to as the original file) (S420).
  • the original file (hereinafter referred to as the original file)
  • Fig. 17 it corresponds to the input on the security policy setting screen
  • Fig. 18 it corresponds to the reception of the input force policy development on the policy setting screen.
  • the user Z group for example, User B or development group A to whom the use authority of the original file is given, the expiration date of the original file, the number of times of use of the original file, and the original file are displayed.
  • Develop policies such as the password to use and the authority to use the original file (usage mode).
  • the policy consists of selecting an authorized user Z group, selecting an operation to be permitted (printing, editing, saving, viewing), and selecting viewing conditions (period, number of times, file password).
  • operation view, print, save, edit
  • period and number of times period, period, number of times
  • server check right on server 5 each time it is used
  • Power to check check rights with Sano 5 at a certain frequency Or limit the number of clients (terminals) that can be used) and password settings.
  • the user who is given the authority to use the original file is limited to the registered user, and the user terminal A preliminarily receives the registered user's mail address list received from the server 5 based on the registered user's mail address list.
  • Select a user For example, the users may be selected in a batch for each group.
  • FIG. 22 shows an example of the screen for selecting the authorized user Z group in the screen of FIG. As shown in Fig. 22, from the address book displayed on the left side of the screen, the authorized user Z group is specified by clicking, etc., so that it is displayed in the allowed user Z group column on the right side.
  • the policy formulation unit 22 generates an XML sentence based on the policy formulated by the user A on the user terminal A (S425).
  • the XML sentence is generated here by clarifying the structure of the established policy, and it is easy to generate a policy file that includes the policy object, usage rights, decryption key, and usage conditions. The power to do that It is not always necessary to generate an XML sentence.
  • the generation of the XML sentence may be performed, for example, when the encryption button is clicked in FIG. 17, or in FIG. 18, when the button for saving the policy is clicked. Also good.
  • user A selects whether to generate a policy file on user terminal A (local package) or to generate a policy file on server 5 (server package) (S430).
  • the user terminal A obtains a public key generated in advance for each authorized user (here, user B) of the original file (S435).
  • the public key acquisition method is arbitrary.
  • the server 5 may also receive the registered user's public key list upon successful login.
  • user A performs user registration.
  • a similar public key list may be received.
  • the public key of the authorized user can be obtained.
  • the public key since the public key is disclosed to the user, the local login cannot be performed when the original file is used for the user! / User terminal A cannot perform the server package.
  • the key generation unit 51 of the user terminal A uses a random number decryption key for encrypting the original file as well as a key for opening a policy object of a policy finale generated later for the number of policy objects.
  • the key generation unit 51 or the encryption unit (not shown) of the user terminal A first acquires the key for opening the policy object among the keys generated by the key generation unit 51. Encrypt with the public key of each authorized user (S445). This is because only the authorized user can use the original file by making it possible to decrypt the key only with the private key of the authorized user.
  • the policy file generation unit 52 of the user terminal A combines the usage conditions, usage rights, decryption key, and key for opening the policy object into a directory structure as shown in FIG.
  • a policy file is generated (S450).
  • the policy file is generated in the XML format as well as the established policy.
  • the policy file may be replaced by a predetermined replacement table.
  • the server 5 receives the policy and analyzes the structure of the policy included in the XML sentence (S460). Here, a plurality of policy objects may be generated based on the policy.
  • the key generation unit 51 of the server 5 Based on the received policy, the key generation unit 51 of the server 5 generates a random number decryption key for encrypting the original file and keys corresponding to the number of policy objects (S465).
  • the policy file generation unit 52 of the server 5 Based on the key generated by the key generation unit 51, the policy file generation unit 52 of the server 5 The package history of the original file is stored in the history database 56 (S470), and a policy file is generated based on the key generated by the key generation unit 51 and the policy formulated by the policy formulation unit 22 (S475). The policy file should be replaced by the specified replacement table.
  • the server 5 transmits the generated policy file to the user terminal A (S480).
  • the package part 23 of the user terminal A decrypts the original file based on the policy file generated by the user terminal A in the case of a local package or the policy file generated by the server 5 in the case of a server package. Then, the encrypted original file and the policy file are packaged to generate a package file (S485). A series of flow from S425 force to S485 may be performed in accordance with the click of the B sound key in FIG. 17 or the policy setting button in FIG.
  • user A may add a signature to the generated package file so that a user other than user A can detect that the original file has been tampered with.
  • the signature is attached to the knock file by encrypting the hash value of the original file to be detected for alteration with the private key of User A.
  • the package file is stored in a predetermined storage location designated by user A.
  • the package file stored in the specified storage location is generated so that the authorized user can immediately open it.
  • it is attached to the email addressed to the authorized user and sent. May be.
  • information on the policy set for the permitted user may be displayed in the mail body.
  • the search request unit 24 of the user terminal A can search the history of the package file created by the user A based on the history database 56.
  • 20 and 21 show an example of a package history search screen displayed on the user terminal A.
  • FIG. By using such a package history search screen, user A can grasp for which user and under what usage conditions the original file was packaged. It is also possible to review the policy and repackage the original file as the policy is revised.
  • User B designates a package file stored in a storage medium that can be accessed by user terminal B by double-clicking on user terminal B (for example, user A first packages). S510).
  • user B can receive a notification from user A that the original file that can be used by user B has been packaged, or, as shown in FIG.
  • the user terminal A can automatically send an email with the package file attached to user terminal B! / ⁇ .
  • the file usage program 3 may be started first so that the file specification unit 31 accepts the specification of the package file used by the user B.
  • the user terminal B starts the installed file usage program 3 in conjunction with the designation of the knock file.
  • the file usage program 3 The file format of the specified package file is checked (S515).
  • the file usage program 3 extracts information (ID space information) on the range of user IDs that can use the package file from the package file (S520), and the file usage program 3 It is confirmed whether the server information storage file and replacement table corresponding to the extracted ID space information are stored in the user terminal B (S525). Here, if the replacement table does not exist, the package file is a file that cannot be used by the user B by the file use program 3, so an error notification is sent to the user terminal B (S530).
  • ID space information information on the range of user IDs that can use the package file from the package file (S520)
  • the file usage program 3 It is confirmed whether the server information storage file and replacement table corresponding to the extracted ID space information are stored in the user terminal B (S525).
  • the replacement table does not exist, the package file is a file that cannot be used by the user B by the file use program 3, so an error notification is sent to the user terminal B (S530).
  • the file using program 3 extracts the file basic information from the knock file (S535).
  • the file usage program 3 Based on the extracted file basic information, the file usage program 3 displays on the screen of the user terminal B a user list such as a user Z who is not permitted to use the original file (S540). .
  • User B is the authorized user of the original file based on the screen display of user terminal B. After confirming that it is included in the file, log in to the file usage program 3 (S545). An example of the log-in flow to the file usage program 3 is the same as that described for the log-in to the file package program 2 in the flowcharts of FIGS. .
  • the database generation unit 33 when the specific package file is used for the first time, the database generation unit 33 generates the usage status database 33a in the user terminal B. It is assumed that the policy file contains three policy objects. These three policy objects are chained together in the policy file, and the policy object that contains the usage conditions to be checked at the end is encrypted. It is assumed that the decryption key of the original file and the authority to use the original file are connected.
  • the decryption key decryption unit 34 included in the file usage program 3 is activated and starts decrypting the policy file (S610). If the policy file included in the package file is encrypted (S615), the decryption key decryption unit 34 (or decryption unit 35) decrypts the encrypted policy file. In order to enter, the replacement table stored in user terminal B is retrieved (S620).
  • the decryption key decryption unit 34 extracts the key A stored in the file basic information of the server information storage file or package file (S630), and uses the replacement table to Replace A with key B (S635).
  • the replacement table has been tampered with, and the tampering is detected and the subsequent steps are not allowed to proceed (S640).
  • the replaced key B is expanded on the temporary memory 43 (S645).
  • Decryption key decryption unit 34 decrypts the encrypted policy file by using key B (S710). If the encrypted policy file is not decrypted, it means that key B has been tampered with by someone, and that tampering is detected and the following steps cannot be taken! /, And so on (S715).
  • the collation 'update means 34a of the decryption key decryption unit 34 shown in Fig. 6 is used corresponding to policy object 1 out of the three policy objects constituting the policy file.
  • Condition 1 can be extracted (S720).
  • the activation of the first verification 'update means 34a may be performed by, for example, the key 0 (shown in FIG. 6) sent from the server 5 when the user B has successfully logged in. Or by entering certain symbols.
  • the usage conditions and keys may be stored entirely or partially in a storage medium such as the server 5 or CD-ROM where data cannot be rewritten. It may be issued to User B as a separate file from the policy file.
  • the policy includes usage conditions that require a legitimate evaluation such as date and time, number of times, etc.
  • all or part of the keys and usage conditions may be stored in the server 5.
  • the policy file is different from the policy file, it is more effective for preventing unauthorized use of the original file.
  • the user terminal 4 must access the server 5 each time the original file is used, which increases the burden of network connection. Care must be taken in the design of server 5.
  • the collation / update means 34a checks whether or not the usage status 1 corresponding to the extracted usage condition 1 exists in the usage status database 33a in the user terminal B (S725).
  • Book The usage condition 1 of the embodiment is a power that requires comparison and collation with the data stored in the usage status database 33a in the user terminal B. There are naturally usage conditions that can be verified by the user terminal B and usage conditions that can be verified by the server 5. In this case, the generation of the usage status database 33a is not essential.
  • usage status database 33a itself or usage status 1 does not exist in user terminal B, it indicates that the original file is likely to be used illegally on user terminal 4 other than user terminal B. Therefore, it is not allowed to proceed to the subsequent steps (S730).
  • the checking / updating means 34a is the force that the usage status 1 satisfies the usage condition 1, that is, the range of the usage condition 1. It is confirmed whether it is equivalent to the use in (S735).
  • use condition 1 is "use limit number of times is 10"
  • use condition 1 stored in user terminal B is "current use number of times 3”. Satisfied.
  • the usage status 1 is currently 10 times of usage, it is assumed that the usage condition 1 has not been satisfied, and the subsequent steps are not allowed to proceed (S740).
  • an example of an error screen displayed on user terminal B when it cannot proceed to the subsequent steps is shown in FIG.
  • the usage status is automatically updated to a state where 1 is added to the remaining usage count, etc. Updated.
  • the key 1 extracted from the policy object 1 opens the next policy object 2, and the use condition 2 corresponding to the policy object 2 is extracted (S810).
  • the verification / updating means 34b of the decryption key decryption unit 34 checks with the server 5 whether or not the user B satisfies the usage condition 2 (S815). For example, if the usage condition 2 is the expiration date of the original file, the decryption key decryption unit 34 transmits the usage condition 2 to the server 5 and receives information on the current date and time from the server 5, or the server In 5, check the current date and usage conditions 2 and have the result sent.
  • the decryption key decryption unit 34 sends the use condition 2 to the server 5, and the package file is transmitted from the server 5. Send information about the number of simultaneous accesses based on information such as login access history.
  • the decryption unit 35 extracts the encrypted original file from the knock file and decrypts the encrypted original file using the previous decryption key (S835). .
  • the decrypted original file is expanded on the temporary memory 43 instead of the hard disk 44 of the user terminal B, and the original file can be used on the temporary memory 43, as with the previous decryption key and usage authority. .
  • the reason why the original file is not stored in the hard disk 44 of the user terminal B is to prevent the use of the original file ignoring the use conditions if it is stored in the hard disk 44. is there.
  • the file usage control unit 36 downloads the corresponding software 42 according to the type of the original file that has been decrypted. It is started on the user terminal B (S840), and the original file can be used on the corresponding software 42. At that time, the operation of the corresponding software 42 is controlled based on the acquired use authority (S845). For example, if the usage right acquired by User B is only to view the original file, the save button and the print button that appear on the screen of the corresponding software 42 are not displayed. In addition, the file usage control unit 36 detects the operation and stops the use of the original file when the user B tries to perform usage (for example, printing or saving) outside the usage authority acquired. Or a warning display may be displayed on the screen of the user terminal B.
  • the corresponding software 42 may be prepared in the user terminal B according to the type of the original file, or may be multi-compatible software that does not depend on the type of the original file. Also, the corresponding software 42 is included in the file usage program 3! /, Or even! /.
  • the storage location of the set of packaging files may be moved or copied. Further, as one aspect of the usage authority, when the original file can be saved or edited, the original file itself can be saved on the node disk 44. -If the original file is stored in the hard disk 44, the original file can be used by starting the corresponding software 42 without starting the file use program 3 thereafter.
  • the repackaging unit 37 reads the original file from the corresponding software 42. Get notified that Ayr has been edited.
  • the repackaging unit 37 after finishing editing (for example, displaying a “re-nockage button” on the screen of the user terminal B and detecting that it has been clicked, etc.), reads the edited original file. Then, encrypt the original file before editing with the same decryption key, package it with the policy file and basic file information, and generate a knock file. The generated package file is overwritten on the original package file. In other words, the original package file is deleted, and a new package file is stored in the storage location of the original package file.
  • the policy file is basically the same as the original policy file, but the file basic information may be used for repackaging when the contents are partially updated.
  • the creation user of the original file may be notified to that effect.
  • the access history and repackaging history of user B to server 5 are sequentially stored in the history database 56 of server 5, user A who created the original file can search from the search request unit 24 to the search unit 53 of server 5.
  • a search for user B's original file usage history may be requested. This allows User A to track and manage the original file after it is created.
  • Each means and database in the present invention is only logically distinguished in function, and may be physically or virtually identical. It goes without saying that a data file may be used instead of a database, and the description of a database includes a data file.
  • a storage medium recording a software program that implements the functions of the present embodiment is supplied to the system, and the computer of the system reads and executes the program stored in the storage medium. This is also realized.
  • the program itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program constitutes the present invention.
  • the program of the present invention is supplied mainly by a method of downloading to a computer via the network 6 such as the LAN 6a or the Internet 6b.
  • a computer such as the LAN 6a or the Internet 6b.
  • Others magnetic disk, light Portable storage media such as disks, magneto-optical disks, magnetic tapes, and non-volatile memory cards can also be supplied to computers.
  • FIG. 1 is a diagram showing an embodiment of a connection configuration between a user terminal installed with a file management program and a server.
  • FIG. 2 is a diagram illustrating an example of the configuration of a file package program and a server.
  • FIG. 3 is a conceptual diagram showing an outline process for generating a package file.
  • FIG. 4 is a diagram showing an example of the configuration of a file usage program and the configuration of a user terminal.
  • FIG. 5 is a diagram showing an example of the data structure of a package file.
  • FIG. 6 is a configuration diagram showing another embodiment of the configuration of the user terminal.
  • FIG. 7 is a conceptual diagram showing an outline process for encrypting a policy file.
  • FIG. 8 is a flowchart showing an example of a process flow of the present invention.
  • FIG. 9 is a flowchart showing another example of the process flow of the present invention.
  • FIG. 10 is a flowchart showing another example of the process flow of the present invention.
  • FIG. 11 is a flowchart showing another example of the process flow of the present invention.
  • FIG. 12 is a flowchart showing another example of the process flow of the present invention.
  • FIG. 13 is a flowchart showing another example of the process flow of the present invention.
  • FIG. 14 is a flowchart showing another example of the process flow of the present invention.
  • FIG. 15 is a flowchart showing another example of the process flow of the present invention.
  • FIG. 16 is a diagram showing an example of a login screen.
  • FIG. 17 is a diagram showing an example of a file package screen.
  • FIG. 18 is a diagram showing another example of a file package screen.
  • FIG. 19 is a diagram showing an example of a mail transmission screen.
  • FIG. 20 is a diagram showing an example of a package history search screen.
  • FIG. 21 is a diagram showing another example of a package history search screen.
  • FIG. 22 is a diagram showing an example of an allowed user group selection screen.
  • FIG. 23 is a diagram showing an example of an error screen.

Landscapes

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

Abstract

A file managing program for consolidating files without marring the convenience of the users. The file managing program has a file specifying block (21) which receives specification of an original file to be managed, a policy formulating block (22) for formulating a policy of when the original file is used, and a package block (23) for packaging a policy file created according to a common key created for each original file and the policy and the original file encrypted with the common key and thus creating a package file. The package file is so created that only the user satisfying the use condition of the policy can develop the common key in the policy file and the right to use the original file on a temporary memory of a terminal (4) of the user, can develop the original file encrypted with the common key only on the temporary memory, and can use the original file within the scope of the use right.

Description

明 細 書  Specification
ファイル管理プログラム  File management program
技術分野  Technical field
[0001] 本発明は、ファイル管理プログラムに関し、特に、利用条件を設定してファイルをパ ッケージし、またパッケージされたファイルを利用条件の範囲内で利用するためのフ アイル管理プログラムに関する。  [0001] The present invention relates to a file management program, and more particularly to a file management program for setting a use condition to package a file and using a packaged file within the range of the use condition.
背景技術  Background art
[0002] 従来、利用条件を設定して、データやソフトウェアを利用者に配信する配信システ ムとしては、特許文献 1に示されるような配信システムがあった。  Conventionally, as a distribution system that sets usage conditions and distributes data or software to users, there has been a distribution system as shown in Patent Document 1.
[0003] 特許文献 1に開示された配信システムでは、配信サーバが、利用成約付きデータ 及びソフトウェアと利用条件を、配信先のクライアント端末に対応する暗号鍵を用いて 暗号処理部で暗号化し、更にパッケージ部でパッケージィ匕した後、送信する。クライ アント端末は、暗号処理部で暗号鍵を用いて利用条件を復号し、その利用条件が利 用可であるときには、データ及びソフトウェアを復号してインストールする。  [0003] In the distribution system disclosed in Patent Document 1, the distribution server encrypts data with usage agreement, software, and usage conditions by an encryption processing unit using an encryption key corresponding to the client terminal of the distribution destination, Send it after packaging in the package part. The client terminal uses the encryption key in the encryption processing unit to decrypt the usage conditions, and when the usage conditions are available, the client terminal decrypts and installs the data and software.
[0004] このような配信システムによれば、データ及びソフトウェアを再コンノィルすることな ぐ利用条件を付加及び暗号化し、クライアント端末において実行可能な形式で配信 するように構成されて ヽるため、利用成約付きのデータ及びソフトウェアを容易に作 成し、利用者に配布し、かつ、利用者が容易に利用成約付きのデータ及びソフトゥェ ァを利用することが出来る。  [0004] According to such a distribution system, it is possible to add and encrypt usage conditions without re-consolidating data and software, and to distribute in a format that can be executed in a client terminal. Data and software with contracts can be easily created and distributed to users, and data and software with contracts can be easily used by users.
[0005] しかし、このような配信システムには、以下に説明する技術的な課題があった。  [0005] However, such a distribution system has the following technical problems.
[0006] 特許文献 1 :特開 2002— 189526号公報  [0006] Patent Document 1: Japanese Patent Application Laid-Open No. 2002-189526
発明の開示  Disclosure of the invention
発明が解決しょうとする課題  Problems to be solved by the invention
[0007] 特許文献 1に開示された配信システムでは、利用条件は、データやソフトウェアを利 用するクライアント端末毎の鍵で暗号ィ匕されるため、ノ ッケージファイルは、自ずと端 末クライアント毎に生成される。 [0007] In the distribution system disclosed in Patent Document 1, since the usage conditions are encrypted with a key for each client terminal that uses data and software, a knock file is naturally created for each terminal client. Generated.
[0008] 従って、データやソフトウェアを例えば社内や社外の複数のユーザに利用させたい 場合には、ユーザの数だけのパッケージファイルを生成する必要があり、複数ユーザ 間でのデータの共有が出来ず、データの一元管理が困難であった。 [0008] Therefore, for example, a plurality of users inside and outside the company want to use data and software. In this case, it is necessary to generate as many package files as the number of users, and data cannot be shared among multiple users, making it difficult to centrally manage data.
[0009] 本発明は、このような従来の問題点に鑑みてなされたものであって、その目的とす るところは、ユーザの利便性を損なうことなぐファイルの一元管理を行うことが出来る ファイル管理プログラムを提供することにある。  [0009] The present invention has been made in view of such conventional problems, and the object of the present invention is to provide a file that can be centrally managed without impairing the convenience of the user. To provide a management program.
課題を解決するための手段  Means for solving the problem
[0010] 請求項 1の発明は、 [0010] The invention of claim 1
ユーザ端末に格納、実行され、任意のユーザが作成した元ファイルの一元管理を行 うためのファイルパッケージプログラムを有するファイル管理プログラムであって、前 記ファイルパッケージプログラムは、管理の対象とした 、元ファイルの指定を受け付 けるファイル指定部と、前記元ファイルを利用する際のポリシーを策定するポリシー策 定部と、前記元ファイル毎に生成された共通鍵と前記ポリシーに基づいて生成された ポリシーファイルと、前記共通鍵で暗号ィ匕された元ファイルとをパッケージしてパッケ ージファイルを生成するノ^ケージ部とを有し、前記ポリシーの利用条件を満足した ユーザのみが、前記ポリシーファイル内の共通鍵と元ファイルの利用権限を前記ュ 一ザの端末の一時メモリ上に展開出来るようにし、更に、前記共通鍵で復号化された 元ファイルを前記一時メモリ上にのみ展開出来、前記利用権限の範囲内で元フアイ ルの利用が可能なように前記パッケージファイルを生成するファイル管理プログラム である。  A file management program having a file package program that is stored and executed in a user terminal and performs central management of an original file created by an arbitrary user. A file designating unit that accepts file specifications, a policy planning unit that formulates a policy for using the original file, a common key generated for each original file, and a policy generated based on the policy A package unit that generates a package file by packaging the file and the original file encrypted with the common key, and only a user who satisfies the policy usage conditions can store the file in the policy file. The usage rights for the common key and the original file can be expanded on the temporary memory of the user terminal, and A file management program for generating the package file so that the original file decrypted with the common key can be expanded only on the temporary memory and the original file can be used within the range of the use authority.
[0011] 請求項 2の発明は、  [0011] The invention of claim 2
更に、前記パッケージファイルのパッケージ履歴に関する情報や、前記パッケージフ アイルへのユーザのアクセス履歴に関する情報の検索を行う検索部を有するファイル 管理プログラムである。  The file management program further includes a search unit for searching for information related to a package history of the package file and information related to a user access history to the package file.
[0012] 請求項 1、請求項 2の発明によれば、あらゆる種類のファイルを、ファイル毎に生成 された共通鍵で暗号ィ匕した後、ポリシーファイルとともにパッケージして、利用条件を 満足したユーザのみに元ファイルの利用権限を与える仕^ aみや、ユーザのアクセス 履歴を確認する仕組みが、ユーザに提供されることになる。  [0012] According to the inventions of claims 1 and 2, after encrypting all types of files with the common key generated for each file, the files are packaged together with the policy file, and the user satisfies the use conditions. Users will be provided with a mechanism for granting the authority to use the original file only, and a mechanism for checking the user's access history.
[0013] しかも、元ファイルをパッケージするユーザは、利用権限を与えるユーザ数にかか わらず、 1つのパッケージファイルを生成し、利用権限を与えらえたユーザのユーザ 端末がアクセスすることが出来る記憶媒体に格納しておくだけで、元ファイルを複数 ユーザ間で共有することが可能となる。 [0013] Moreover, the number of users who package the original file depends on the number of users who are given usage rights. Regardless, it is possible to share the original file among multiple users simply by creating a single package file and storing it in a storage medium that can be accessed by the user terminal that has been given the right to use it. Become.
[0014] つまり、高いセキュリティレベルが維持された状態で、かつ、ユーザのパッケージフ アイル生成の際の利便性を損なうことなぐファイルの一元管理を行うことが出来るよう になる。  [0014] That is, it becomes possible to perform unified management of files while maintaining a high security level and without impairing convenience when generating a user's package file.
[0015] 請求項 3の発明は、  [0015] The invention of claim 3
前記パッケージ部でパッケージファイルが生成されるとともに、前記元ファイルの利用 権限が与えられたユーザのユーザ端末に、前記パッケージファイルの生成を、通知も しくは、前記パッケージファイルをメール添付により送信する通知部を有するファイル 管理プログラムである。  A package file is generated in the package part, and a notification of sending the package file or sending the package file by e-mail attachment is sent to the user terminal of the user who is authorized to use the original file. This is a file management program with a part.
[0016] 請求項 3の発明によれば、元ファイルの利用権限が与えられて ヽな 、ユーザのュ 一ザ端末に、当該元ファイルがパッケージされたパッケージファイルの存在を不用意 に知られないようにすることが出来るだけでなぐ利用権限が与えられたユーザに、即 時に、元ファイルの利用をさせることが出来る。  [0016] According to the invention of claim 3, the user's user terminal, which has been given the authority to use the original file, cannot inadvertently know the existence of the package file in which the original file is packaged. As a result, a user who has been granted the right to use the original file can immediately use the original file.
[0017] 請求項 4の発明は、  [0017] The invention of claim 4
ユーザ端末に格納、実行され、任意のユーザが作成した元ファイルの一元管理を行 うためのファイルパッケージプログラムによりパッケージされた元ファイルを復元してュ 一ザが利用するためのファイル利用プログラムを有するファイル管理プログラムであ つて、前記ファイル利用プログラムは、パッケージファイルのうち、利用したい元フアイ ルがパッケージされているパッケージファイルの指定を受け付けるファイル指定部と、 前記パッケージファイル内のポリシーファイルを構成しているポリシーの利用条件照 合を行ない、前記元ファイルの利用が前記利用条件の範囲内の利用である場合、前 記元ファイル毎に生成された共通鍵であって、暗号ィ匕に用いられた元ファイルの復 号鍵と、前記元ファイルの利用権限とを、前記ポリシーファイルの中力 取得するとと もに、これら復号鍵と利用権限を前記ユーザ端末の一時メモリ上に展開する復号鍵 解読部と、前記取得した共通鍵によって、前記パッケージファイル内の暗号ィ匕された 前記元ファイルを復号化し、前記ユーザ端末の一時メモリ上に展開する復号化部と、 前記取得した利用権限に基づ!/、て、前記元ファイルの利用を制御するファイル利用 制御部とを有するファイル管理プログラムである。 It has a file use program that is stored and executed in the user terminal and that is used by the user by restoring the original file packaged by the file package program for centralized management of the original file created by any user The file management program comprises a file specification unit that accepts specification of a package file in which a source file to be used is packaged among package files, and a policy file in the package file. If the usage of the original file is within the range of the usage conditions, it is a common key generated for each original file and used for the encryption key. The decryption key of the original file and the right to use the original file are -The contents of the package file are encrypted by the decryption key decryption unit that develops the decryption key and the usage authority on the temporary memory of the user terminal, and the acquired common key. A decryption unit that decrypts the original file and expands it on a temporary memory of the user terminal; A file management program having a file usage control unit for controlling usage of the original file based on the acquired usage right.
[0018] 請求項 4の発明によれば、元ファイルの利用権限や元ファイルの復号鍵は、利用条 件を満足した場合にのみ解読可能なように、ノ ッケージファイルに含まれて 、るので 、ユーザは、ノ ッケージファイルに含まれたポリシーの利用条件を満足した場合のみ 、元ファイルの利用権限を与えられ、利用権限が与えられていないユーザによる元フ アイルの利用は出来ない仕組みが提供されることになる。つまり、当該、ファイル管理 プログラム 1により、高いセキュリティレベルが維持された状態で、利用権限が与えら れたユーザによる元ファイルの利用が可能となる。  [0018] According to the invention of claim 4, the use authority of the original file and the decryption key of the original file are included in the knock file so that they can be decrypted only when the use conditions are satisfied. Therefore, only when the user satisfies the usage conditions of the policy included in the knock file, the user is authorized to use the original file, and the user cannot use the original file. Will be provided. In other words, the file management program 1 makes it possible to use the original file by a user who has been given usage rights while maintaining a high security level.
[0019] また、利用権限が、編集、保存以外の権限に限定されるのであれば、元ファイルの 作成ユーザ以外のユーザが元ファイルを変更することは出来ないから、利用権限を 与えられたどのユーザ間でも同一の元ファイルが共有されることになる。これは、パッ ケージファイル力 メール添付等の方法により、利用権限を与えられたユーザのユー ザ端末に格納された場合でも、同一の効果を奏するものである。  [0019] If the usage authority is limited to authority other than editing and saving, users other than the user who created the original file cannot change the original file. The same original file is shared among users. This has the same effect even if it is stored in the user terminal of a user who is authorized to use the package file by means of email attachment.
[0020] つまり、ユーザは、自己のユーザ端末以外のユーザ端末にアクセスしなくても、結 果的に、他のユーザと同一の元ファイルを共有することが出来るのである。このように 、他のユーザと同一の元ファイルを共有することが出来るのは、元ファイルが元フアイ ル毎に生成された共通鍵で暗号ィ匕され、 1の元ファイルにっき、ユーザ数によらず 1 つのパッケージファイルが生成されることにも起因している。  [0020] That is, a user can share the same original file with other users as a result without accessing a user terminal other than the user terminal. In this way, the same original file can be shared with other users because the original file is encrypted with the common key generated for each original file, and the number of users depends on the number of users. This is also due to the fact that one package file is generated.
[0021] 請求項 5の発明は、  [0021] The invention of claim 5 provides:
前記ファイル利用制御部は、前記元ファイルの対応ソフトを制御して、前記対応ソフト 力もユーザ端末の OS若しくはミドルウェアに対して、前記取得した利用権限に基づ いた機能呼び出し命令を行う APIフッキングを行う手段であるファイル管理プログラム である。  The file usage control unit controls the corresponding software of the original file, and performs the API hooking that performs the function call instruction based on the acquired usage authority to the OS or middleware of the user terminal. This is a file management program.
[0022] 請求項 5の発明によれば、あらゆる元ファイルに対応して閲覧、印刷、編集、保存等 を行うような専用ソフトを作成しなくとも、既存の元ファイル対応ソフトを利用しながら、 利用権限の制御を行うことが可能となる。  [0022] According to the invention of claim 5, it is possible to use existing original file compatible software without creating dedicated software for browsing, printing, editing, saving, etc. corresponding to any original file. It is possible to control usage rights.
[0023] 請求項 6の発明は、 更に、前記パッケージファイル中の暗号ィ匕された元ファイルが復号ィ匕され、ユーザの 利用権限に基づ!ヽて前記元ファイルの編集がなされた場合、編集後の元ファイルを 再び前記ポリシーファイルとともにパッケージし、元のパッケージファイルを更新する 再パッケージ部を有するファイル管理プログラムである。 [0023] The invention of claim 6 Further, when the encrypted original file in the package file is decrypted and the original file is edited based on the user's usage rights, the edited original file is again stored in the policy file. It is a file management program having a repackaging section that packages together and updates the original package file.
[0024] 請求項 6の発明によれば、ノ ッケージファイルの更新が行われることで、元ファイル の一元管理は継続して行われることになり、複数ユーザ間で共有しているような元フ アイルの単一性も保持される。  [0024] According to the invention of claim 6, by updating the knock file, the central management of the original file is continuously performed, and the original file shared by a plurality of users is maintained. The unity of the file is also preserved.
[0025] 請求項 7の発明は、  [0025] The invention of claim 7
前記元ファイルの再パッケージが行われた場合に、前記元ファイルの作成ユーザの ユーザ端末もしくはサーバに、再パッケージが行われた旨を通知する通知部を有す るファイル管理プログラムである。  When the original file is repackaged, the file management program includes a notification unit that notifies the user terminal or server of the user who created the original file that the repackage has been performed.
[0026] 請求項 7の発明によれば、元ファイルの作成ユーザやサーバは、即時に、元フアイ ルが更新されたことを確認することが出来る。  [0026] According to the invention of claim 7, the user or server that created the original file can immediately confirm that the original file has been updated.
[0027] 請求項 8の発明は、  [0027] The invention of claim 8
前記ユーザ端末においてパッケージファイル内の元ファイルを利用しょうとする毎に 前記ユーザ端末による元ファイルの利用状況を更新することが出来る利用状況デー タベースを、前記ユーザ端末以外のユーザ端末による読みとり、更新が出来ないよう な状態で、前記ユーザ端末に生成するデータベース生成部を有するファイル管理プ ログラムである。  Each time the user terminal tries to use the original file in the package file at the user terminal, the usage situation database that can update the usage situation of the original file by the user terminal is read and updated by a user terminal other than the user terminal. The file management program includes a database generation unit that generates the user terminal in a state incapable of being performed.
[0028] 請求項 8の発明によれば、利用状況データベースがユーザ端末に生成されることに より、当該ユーザ端末以外のユーザ端末で、元ファイルが不正に利用されるのを防 止、検知することが出来る。  [0028] According to the invention of claim 8, the usage status database is generated in the user terminal, thereby preventing and detecting the unauthorized use of the original file in the user terminal other than the user terminal. I can do it.
[0029] 請求項 9の発明は、  [0029] The invention of claim 9
前記ポリシーファイルの一部又は全ては、サーバに格納されており、前記ファイル 利用プログラムは、前記サーバに、前記ポリシーファイル内の利用条件の照合を要求 するファイル管理プログラムである。  Part or all of the policy file is stored in a server, and the file usage program is a file management program that requests the server to check usage conditions in the policy file.
[0030] 請求項 9の発明によれば、ポリシーファイルの一部または全てをサーバに置くことに よって、ポリシーファイルの改ざん等の不正行為を一層防止することが出来る。 [0031] 請求項 10の発明は、 [0030] According to the invention of claim 9, by placing a part or all of the policy file on the server, it is possible to further prevent illegal acts such as falsification of the policy file. [0031] The invention of claim 10
前記ポリシーファイルは、サーバ毎に生成された置換表によって置換された鍵によ つて、暗号化されており、前記置換表は、前記ファイル管理プログラムが前記ユーザ 端末に格納されるとともに、前記ユーザ端末に格納されるファイル管理プログラムで ある。  The policy file is encrypted with a key replaced by a replacement table generated for each server. The replacement table stores the file management program in the user terminal and the user terminal. Is a file management program stored in
[0032] 請求項 10の発明により、パッケージファイルの単独での不正利用を防止することが 出来る。  [0032] According to the invention of claim 10, unauthorized use of the package file alone can be prevented.
[0033] 請求項 11の発明は、  [0033] The invention of claim 11
前記ポリシーファイルは、利用条件が、複数のポリシーオブジェクトと対応付けて記述 されたものであり、任意のポリシーオブジェクトに対応する利用条件が満足された場 合には、別のポリシーオブジェクトを開くための鍵を取得することが出来、最終的に全 てのポリシーオブジェクトの鍵が開かれ、全ての利用条件が満足された場合にのみ、 前記復号鍵と利用権限を取り出すことが出来るような鎖状のデータ構造を有して 、る ファイル管理プログラムである。  In the policy file, the usage conditions are described in association with a plurality of policy objects. When the usage conditions corresponding to an arbitrary policy object are satisfied, another policy object is opened. Keys can be obtained, and finally all policy object keys are opened, and only when all usage conditions are satisfied, the decryption key and usage rights can be extracted. This file management program has a data structure.
[0034] 請求項 11の発明により、ポリシーファイル力 容易に復号鍵と利用権限を取り出し て不正に利用することはより困難になる。  [0034] According to the invention of claim 11, it becomes more difficult to extract the decryption key and the usage authority easily and use it illegally.
[0035] 請求項 12の発明は、  [0035] The invention of claim 12
ファイル管理プログラムの登録ユーザ力どうかの認証もしくは、前記利用条件に含ま れる元ファイルの利用許可ユーザかどうかの認証を行う認証インターフェースを有し ており、前記認証インターフェースは、ユーザからの要求によって決定した認証デバ イス、もしくは、前記認証インターフェース側で予め決めた認証デバイスから出力され た前記ユーザの第 2パスワードと、当該認証デバイスの種類を、前記ファイル管理プ ログラムのログイン ID、パスワードとともに前記ユーザ端末力もサーバに送信し、前記 サーバに既に保存されているデータとの照合を依頼するファイル管理プログラムであ る。  It has an authentication interface that authenticates whether or not it is a registered user of the file management program, or whether or not it is a use-permitted user of the original file included in the use conditions, and the authentication interface is determined by a request from the user The second password of the user output from the authentication device or the authentication device determined in advance on the authentication interface side, and the type of the authentication device, together with the login ID and password of the file management program, the user terminal capability It is a file management program that sends data to a server and requests verification with data already stored in the server.
[0036] 請求項 13の発明は、  [0036] The invention of claim 13
前記認証インターフェースは、前記認証デバイスが、暗号ィ匕ロジックの入るものであ れば、前記サーノもしくは前記ユーザ端末に保存されているテンプレートデータのう ち、前記ログイン IDに対応するテンプレートデータを取得し、前記ユーザの PKI証明 書によって、署名検証及び復号ィ匕して前記第 2パスワードを取得し、前記サーバに既 に保存されているデータとの照合を依頼するファイル管理プログラムである。 The authentication interface includes template data stored in the sano or the user terminal if the authentication device includes encryption logic. In other words, the template data corresponding to the login ID is obtained, the second password is obtained by verifying and decrypting the signature with the user's PKI certificate, and the data already stored in the server. This is a file management program that requests verification.
[0037] 請求項 12、請求項 13の発明によれば、どのような種類の認証デバイス力もユーザ の認証結果をもらっても、サーバもしくはユーザ端末がユーザ認証を行えるようになり 、また、ユーザが、ユーザ認証の数、組合わせを任意に変えることも出来るようになる [0037] According to the inventions of claims 12 and 13, the server or the user terminal can perform the user authentication regardless of the authentication device power of any kind and the user authentication result. The number and combination of user authentication can be changed arbitrarily.
発明の効果 The invention's effect
[0038] 本発明に力かるファイル管理プログラムによれば、あらゆる種類のファイルを、フアイ ル毎に生成された共通鍵で暗号ィ匕した後、ポリシーファイルとともにノ ッケージして、 利用条件を満足したユーザのみに元ファイルの利用権限を与える仕 みや、ユーザ のアクセス履歴を確認する仕組み力 ユーザに提供されることになる。  [0038] According to the file management program of the present invention, all types of files are encrypted with the common key generated for each file, and then knocked together with the policy file to satisfy the usage conditions. A mechanism that gives only the user the authority to use the original file and a mechanism for checking the user's access history will be provided to the user.
[0039] しかも、元ファイルをパッケージするユーザは、利用権限を与えるユーザ数にかか わらず、 1つのパッケージファイルを生成し、利用権限を与えらえたユーザのユーザ 端末がアクセスすることが出来る記憶媒体に格納しておくだけで、元ファイルを複数 ユーザ間で共有することが可能となる。  [0039] Moreover, the user who packages the original file generates a single package file regardless of the number of users who are given usage rights, and the user terminal of the user who has given usage rights can access the memory. The original file can be shared among multiple users simply by storing it on the medium.
[0040] また、元ファイルの利用権限や元ファイルの復号鍵は、利用条件を満足した場合に のみ解読可能なように、パッケージファイルに含まれているので、ユーザは、パッケ一 ジファイルに含まれたポリシーの利用条件を満足した場合のみ、元ファイルの利用権 限を与えられ、利用権限が与えられて 、な 、ユーザによる元ファイルの利用は出来 な 、仕組みが提供されることになる。  [0040] In addition, since the use authority of the original file and the decryption key of the original file are included in the package file so that they can be decrypted only when the use conditions are satisfied, the user includes them in the package file. Only when the usage conditions of the specified policy are satisfied, the usage rights of the original file are granted, and the usage rights are granted, so that the user cannot use the original file.
[0041] つまり、当該、ファイル管理プログラムにより、高いセキュリティレベルが維持された 状態で、かつ、ユーザのパッケージファイル生成の際の利便性を損なうことなぐファ ィルの一元管理及び利用を行うことが出来るようになる。  [0041] In other words, the file management program can perform centralized management and use of a file that maintains a high security level and does not impair the convenience of the user when generating a package file. become able to do.
[0042] また、利用権限が、編集、保存以外の権限に限定されるのであれば、元ファイルの 作成ユーザ以外のユーザが元ファイルを変更することは出来ないから、利用権限を 与えられたどのユーザ間でも同一の元ファイルが共有されることになる。これは、パッ ケージファイル力 メール添付等の方法により、利用権限を与えられたユーザのユー ザ端末に格納された場合でも、同一の効果を奏するものである。 [0042] If the usage authority is limited to authority other than editing and saving, users other than the user who created the original file cannot change the original file. The same original file is shared among users. This can be done by the user of the user who has been given the right to use the package file by e-mail attachment. Even when stored in the terminal, the same effect is obtained.
[0043] つまり、ユーザは、自己のユーザ端末以外のユーザ端末にアクセスしなくても、結 果的に、他のユーザと同一の元ファイルを共有することが出来るのである。このように 、他のユーザと同一の元ファイルを共有することが出来るのは、元ファイルが元フアイ ル毎に生成された共通鍵で暗号ィ匕され、 1の元ファイルにっき、ユーザ数によらず 1 つのパッケージファイルが生成されることにも起因している。  That is, a user can share the same original file with other users as a result without accessing a user terminal other than the user terminal. In this way, the same original file can be shared with other users because the original file is encrypted with the common key generated for each original file, and the number of users depends on the number of users. This is also due to the fact that one package file is generated.
発明を実施するための最良の形態  BEST MODE FOR CARRYING OUT THE INVENTION
[0044] 以下、本発明の好適な実施の形態について、添付図面に基づいて詳細に説明す る。本発明のファイル管理プログラム 1は、文書、画像 (動画、静止画は問わない)等 のドキュメントファイル (以下、単にファイルという)に含まれる情報力 社内外で当該 ファイルに関する閲覧、印刷、編集、保存等の利用権限を有さない者へ漏洩し、不正 利用されるのを防止するために使用されるものであり、ファイルの利用条件 (ポリシー )を設定することで、ファイルの安全性を高めるためのプログラムである。  Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The file management program 1 according to the present invention is capable of viewing, printing, editing, and saving a file, such as a document, an image (a moving image or a still image) is included in a document file (hereinafter simply referred to as a file). It is used to prevent unauthorized use by leaking information to persons who do not have the right to use the file, etc., and to improve file safety by setting file usage conditions (policy). It is a program.
[0045] 以下は、本発明のファイル管理プログラム 1が、一般企業の社内外で利用されること を前提として説明を行うが、これはあくまで一実施例であり、家庭や個人によって利用 されるものであってもよ ヽ。  [0045] The following description is based on the assumption that the file management program 1 of the present invention is used inside and outside a general company, but this is only an example and is used by a home or an individual. Even so.
[0046] ファイル管理プログラム 1は、ユーザ端末 4に格納、実行されるプログラムであって、 任意のユーザがユーザ端末 4にお 、て、任意のユーザが作成したファイルからパッケ ージファイルを作成し、ファイルの一元管理を行うためのファイルパッケージプログラ ム 2と、ファイル作成ユーザ以外のユーザが、ユーザ端末 4において、パッケージファ ィルカゝら元のファイルを復元して当該ファイルを利用するためのファイル利用プロダラ ム 3とに大別される。尚ここでは、「ファイルの利用」とは、ファイルの閲覧、印刷、編集 、保存等の行為を指す。  [0046] The file management program 1 is a program stored and executed in the user terminal 4. An arbitrary user creates a package file from a file created by an arbitrary user in the user terminal 4, File package program 2 for centralized management of files, and a file usage program for users other than the file creation user to restore the original file from the package file holder and use the file on the user terminal 4 It is roughly divided into three. Here, “use of file” refers to actions such as viewing, printing, editing, and saving a file.
[0047] これらユーザ端末 4は、図 1に示されるように、社内では、 LAN6a等のネットワーク 6 を介して互いに接続されており、社外では、インターネット 6b等のネットワーク 6を介し て社内のサーバ 5と接続される。また、社内のユーザ端末 4aは、社外へのアクセス時 、各種の認証要求時、各種の情報登録時、また更に、本発明のファイル管理プロダラ ム 1のダウンロード時、ファイル管理プログラム 1の利用時に、ネットワーク 6を介してサ ーバ 5に接続される。尚、社外のユーザ端末 4bも、上記と同様の時に、ネットワーク 6 を介してサーバ 5に接続される。 As shown in FIG. 1, these user terminals 4 are connected to each other via a network 6 such as a LAN 6a inside the company, and outside the company via a network 6 such as the Internet 6b. Connected. In addition, the internal user terminal 4a is used when accessing outside the company, requesting various authentications, registering various types of information, downloading the file management program 1 of the present invention, and using the file management program 1. Support via network 6 Connected to server 5. The external user terminal 4b is also connected to the server 5 via the network 6 at the same time as described above.
[0048] ユーザ端末 4は、これらプログラムを格納し、実行'利用するために必要な構成 (CP U、一時メモリ 43、ハードディスク 44等の外部記憶装置、通信用デバイス、入出力デ バイス等)を有するものであり、通常のコンピュータであればよい。  [0048] The user terminal 4 stores the configuration required for storing and executing these programs (external storage devices such as CPU, temporary memory 43, hard disk 44, communication device, input / output device, etc.). What is necessary is just a normal computer.
[0049] 尚、ユーザ及びユーザ端末 4は、本発明のファイル管理プログラム 1を利用するた めに、サーバ 5に対してユーザ登録を行ない、ユーザ及びユーザ端末 4に関する情 報をサーバ 5に登録するものとする。本実施例では、ユーザとユーザ端末 4とは、 1対 1で対応付けられており、 1人のユーザと 1台のユーザ端末 4のセットに対して、 1ユー ザ IDが付与される。  Note that the user and the user terminal 4 perform user registration with the server 5 in order to use the file management program 1 of the present invention, and register information about the user and the user terminal 4 in the server 5. Shall. In the present embodiment, the user and the user terminal 4 are associated one-to-one, and one user ID is assigned to a set of one user and one user terminal 4.
[0050] 従って、例えば、ユーザが社内外に関わらず 2台のユーザ端末 4を所有する場合で 、それぞれのユーザ端末 4にお 、てファイル管理プログラム 1を利用する場合には、 当該ユーザに対して 2ユーザ IDが付与されるものとする。尚、ユーザ端末 4を問わず 1人のユーザに対して 1ユーザ IDが付与されてもよいし、ユーザを問わず 1台のユー ザ端末 4に対して 1ユーザ IDが付与されてもよい。  [0050] Therefore, for example, when a user owns two user terminals 4 regardless of whether they are inside or outside the company, and the file management program 1 is used for each user terminal 4, the 2 user IDs shall be assigned. One user ID may be given to one user regardless of the user terminal 4, or one user ID may be given to one user terminal 4 regardless of the user.
[0051] サーバ 5は、ユーザ端末 4と同様の構成を有する他、サーバソフトウェアを備えた通 常のサーバコンピュータであればよい。尚、本実施例においては、サーバ 5は、ユー ザ情報やユーザ端末 4のハードウ ア情報等の情報を格納したユーザデータベース 55や、ユーザの認証に必要な認証情報を格納した認証データベース 57や、ユーザ 力 のアクセス履歴やパッケージファイル作成履歴等の履歴情報を格納した履歴デ ータベース 56等の各種データベースを備えて 、る。  [0051] The server 5 has a configuration similar to that of the user terminal 4, and may be a normal server computer provided with server software. In this embodiment, the server 5 includes a user database 55 storing information such as user information and hardware information of the user terminal 4, an authentication database 57 storing authentication information necessary for user authentication, It is equipped with various databases such as the history database 56 that stores history information such as user history and package file creation history.
[0052] 尚、サーバ 5内のデータベースに格納されている情報の閲覧、印刷、編集、保存等 の作業を行う権限は、サーバ 5の管理者若しくは所定の認証許可がなされたユーザ のみが有しており、それ以外の者 (悪意者も含む)が、不正にその権限を濫用するこ とは出来ない仕組み(例えば、ファイアウォールの組み込み、データベースの暗号ィ匕 、認証システムへの接続、プロキシサーバの設置等)力 サーバ 5には施されているも のとする。  [0052] It should be noted that only the administrator of the server 5 or a user who has been given a predetermined authentication permission has the authority to view, print, edit, and save information stored in the database in the server 5. Others (including Service-to-Self) cannot illegally abuse their authority (for example, built-in firewall, database encryption, connection to authentication system, proxy server Installation, etc.) Force It is assumed that server 5 is applied.
[0053] 次に、図 2に基づいて、ファイルパッケージプログラム 2の構成について説明する。 まず、ファイルパッケージプログラム 2は、ユーザ端末 4に格納され、ユーザ端末 4に おいて利用されるものである力 プログラムの格納方法は問わず、例えば、サーバ 5 力もインストーラとともにユーザ端末 4にダウンロードされてもよいし、 CD— ROM等の 記憶媒体力もユーザ端末 4にコピーされてもよい。 Next, the configuration of the file package program 2 will be described with reference to FIG. First, the file package program 2 is stored in the user terminal 4 and used in the user terminal 4, regardless of the storage method of the power program. For example, the server 5 power is downloaded to the user terminal 4 together with the installer. Alternatively, a storage medium such as a CD-ROM may be copied to the user terminal 4.
[0054] フアイノレパッケージプログラム 2は、主として、ファイル指定部 21、ポリシー策定部 2 2、ノ ッケージ部 23、検索リクエスト部 24の機能ブロック力も構成される。  [0054] The finale package program 2 mainly includes functional block capabilities of a file designation unit 21, a policy formulation unit 22, a knock unit 23, and a search request unit 24.
[0055] ファイル指定部 21は、ユーザ端末 4がアクセスすることが出来る記憶媒体に格納さ れたファイルのうち、管理の対象としたいファイルの指定を受け付ける手段である。例 えば、ファイル指定部 21は、ユーザ端末 4の画面上に、その時点でユーザ端末 4が 管理することが可能なファイルの識別情報 (タイトル、作成日時、作成ユーザ、フアイ ルの種類 (拡張子等)、ファイルのデータサイズ等)を表示させ、キーボードやマウス 等の入力デバイスに当該情報のいずれかを選択させることで、ファイルの指定を受け 付けることが出来る。  The file designation unit 21 is a means for receiving designation of a file that is to be managed among files stored in a storage medium that can be accessed by the user terminal 4. For example, the file specification unit 21 displays on the screen of the user terminal 4 identification information (title, creation date, creation user, file type (extension) that the user terminal 4 can manage at that time. Etc.), the file data size, etc.) is displayed, and the input device such as a keyboard or a mouse selects one of the information to accept the file specification.
[0056] ポリシー策定部 22は、ファイル指定部 21で指定を受け付けたフアイノレ (以下、元フ アイルという)を利用する際のポリシーを策定する手段である。尚、本実施例では、策 定したポリシーは、元ファイルの識別情報とともに、サーバ 5に送信される力 これらは 必ずしもサーバ 5に送信される必要はない。  The policy formulation unit 22 is a means for formulating a policy for using the finale received by the file designating unit 21 (hereinafter referred to as the original file). In this embodiment, the prepared policy is transmitted to the server 5 together with the identification information of the original file. These are not necessarily transmitted to the server 5.
[0057] ポリシーとは、例えば、元ファイルの利用許可 Z不許可ユーザかどうかの認証、パス ワードその他の認証、ファイルの利用可能回数、元ファイルの利用期限、ファイルへ の同時アクセス可能台数、アクセス可能時間等の利用条件と、これら利用条件を満 足した場合に与えられる利用権限 (例えば、元ファイルの閲覧、印刷、編集、保存等 の利用形態)である。  [0057] The policy is, for example, authentication of whether or not a user is permitted to use the original file, Z authentication, password and other authentication, number of times the file can be used, expiration date of the original file, number of files that can be accessed simultaneously, access These are usage conditions such as possible time, and usage rights granted when these usage conditions are satisfied (for example, usage modes such as viewing, printing, editing, and saving of the original file).
[0058] ここでサーバ 5は、図 2に示されるように、鍵生成部 51と、ポリシーファイル生成部 5 2を機能ブロックとして有して 、る。  Here, as shown in FIG. 2, the server 5 includes a key generation unit 51 and a policy file generation unit 52 as functional blocks.
[0059] 鍵生成部 51は、元ファイルを暗号ィ匕 (復号化)するための暗号鍵 (復号鍵)を生成 する手段である。本発明では、ファイルの暗号化、復号化は、共通鍵暗号方式で行 われる。つまり、暗号鍵と復号鍵は共通であって、元ファイル毎に 1種類のみ生成さ れる。そのため、以下においては、暗号鍵も復号鍵と称して説明するものとする。 [0060] 尚、本実施例では、鍵生成部 51で生成される復号鍵は、ポリシー策定部 22でポリ シ一が策定される毎に (かつ元ファイル毎に)生成される乱数である力 ポリシー毎に 異なるように生成される鍵であれば、必ずしも乱数である必要はな 、。 [0059] The key generation unit 51 is means for generating an encryption key (decryption key) for encrypting (decrypting) the original file. In the present invention, file encryption and decryption are performed by a common key encryption method. In other words, the encryption key and decryption key are common, and only one type is generated for each original file. Therefore, in the following description, the encryption key is also referred to as a decryption key. In the present embodiment, the decryption key generated by the key generation unit 51 is a random number generated every time a policy is formulated by the policy formulation unit 22 (and for each original file). If the key is generated differently for each policy, it is not necessarily a random number.
[0061] ここで、ファイルの暗号化、復号化に、共通鍵暗号方式が採用されているのは、ュ 一ザ端末 4でファイルの暗号化、復号ィ匕を行うのにカゝかる処理時間力 公開鍵暗号 方式を用いた場合の暗号化、復号化処理時間と比較して短ぐユーザ端末 4の負担 が少ないからである。  [0061] Here, the common key encryption method is used for file encryption and decryption, because the processing time required for file encryption and decryption at user terminal 4 is as follows. This is because the burden on the user terminal 4 is short compared to the encryption and decryption processing time when the public key cryptosystem is used.
[0062] しかし、共通鍵暗号方式を用いて、例えば、サーバ 5で生成された暗号鍵をフアイ ルの暗号ィ匕に用いる場合や、暗号ィ匕されたファイルを特定のユーザにのみ暗号鍵と 同一の復号鍵で復号ィ匕させる場合、一般的には、鍵の受け渡し方法が問題となるこ とが多い。暗号鍵と復号鍵が同一である以上、ひとたび鍵が第三者に知られてしまえ ば、誰でも暗号ィ匕されたファイルを復号ィ匕することが可能となり、ファイルを暗号ィ匕し た意味がなくなるからである。  However, using the common key encryption method, for example, when the encryption key generated by the server 5 is used for file encryption, or the encrypted file is used as an encryption key only for a specific user. When decrypting with the same decryption key, in general, the key delivery method often becomes a problem. As long as the encryption key and decryption key are the same, once the key is known to a third party, anyone can decrypt the encrypted file, meaning the file has been encrypted. Because there will be no more.
[0063] そこで、本発明では、共通鍵で暗号ィ匕されたファイルであっても、鍵を知って!/ヽるだ けでは暗号ィ匕されたファイルを復号ィ匕することが出来ず、ポリシー策定部 22で策定さ れたポリシーの利用条件が満足された場合のみ、暗号化されたファイルの復号鍵と、 ファイルの利用権限を取得することが出来る仕組みを採用した。  [0063] Therefore, in the present invention, even a file encrypted with a common key cannot be decrypted by just knowing the key! We adopted a mechanism that can acquire the decryption key for the encrypted file and the authority to use the file only when the policy usage conditions established by the policy development unit 22 are satisfied.
[0064] ここで、ポリシーファイル生成部 52は、ポリシー策定部 22で策定されたポリシーと、 鍵生成部 51で生成された復号鍵に基づ 、て、ポリシーファイルを生成する手段であ る。ポリシーファイルは、例えば、 XML形式のデータであって、復号鍵とポリシーを記 述したものである力 詳細には、ポリシー内の利用条件は複数のポリシーオブジェクト と対応付けて記述されており、あるポリシーオブジェクトに対応する利用条件が満足さ れた場合には、別のポリシーオブジェクトを開くための鍵を取得することが出来、最終 的に全てのポリシーオブジェクトの鍵が開かれ、すなわち、全てのポリシーの利用条 件が満足された場合にのみ、復号鍵と利用権限を取り出すことが出来るような鎖状の データ構造となっている。  Here, the policy file generation unit 52 is a means for generating a policy file based on the policy formulated by the policy formulation unit 22 and the decryption key generated by the key generation unit 51. The policy file is, for example, XML format data that describes the decryption key and the policy. Specifically, the usage conditions in the policy are described in association with a plurality of policy objects. When the usage conditions corresponding to a policy object are satisfied, a key for opening another policy object can be obtained, and finally all policy objects are opened, that is, all policies are opened. This is a chained data structure in which the decryption key and usage authority can be extracted only when the usage conditions are satisfied.
[0065] このようなデータ構造により、ポリシーファイル力 容易に復号鍵と利用権限を取り 出して不正に利用することはより困難になる。また、仮に、復号鍵と利用権限をポリシ 一ファイルの取得経路以外力も知り得たとしても、後述する復号鍵解読部 34によって 、ポリシーファイルの中から解読された復号鍵と利用権限を用いていなければ、暗号 化された元ファイルの復号化、元ファイルの利用が出来な ヽようになって!/ヽる。 [0065] With such a data structure, it becomes more difficult to extract the decryption key and the usage authority easily and use it illegally. In addition, if the decryption key and usage authority are Even if it is possible to know other than the acquisition path of one file, the decryption key decryption unit 34 described later decrypts the encrypted original file unless the decryption key decrypted from the policy file and the usage authority are used. I can't use the original file! / Speak.
[0066] 尚、生成されたポリシーファイルは、ユーザ情報を格納するユーザデータベース 55 内に、ユーザ毎にポリシーファイルの識別 IDを付与して格納されるとともに、ユーザ 端末 4にも送信される。この際、鍵生成部 51で生成された復号鍵も、ユーザデータべ ース 55に格納され、ユーザ端末 4に送信されてもよい。  It should be noted that the generated policy file is stored in the user database 55 for storing user information with the identification ID of the policy file assigned to each user, and is also transmitted to the user terminal 4. At this time, the decryption key generated by the key generation unit 51 may also be stored in the user database 55 and transmitted to the user terminal 4.
[0067] また、ポリシーオブジェクト毎にも識別 IDが付与され、鍵生成部 51でポリシーォブ ジェタトを開くための鍵が生成されるとともに、これらの情報もまたユーザデータべ一 ス 55に格糸内される。  [0067] In addition, an identification ID is assigned to each policy object, and a key for opening the policy object is generated by the key generation unit 51, and this information is also stored in the user database 55. The
[0068] また、ポリシーファイル生成部 52は、ユーザ端末 4がサーバ 5に接続しない場合に は、ユーザ端末 4に格納されるファイルパッケージプログラム 2の機能ブロックとして含 まれていてもよぐその場合には、ユーザ端末 4は、サーバ 5にポリシーを送信せず、 自らポリシーファイルを生成し、ユーザ端末 4内にポリシーファイルの識別 IDを付与し て格納することになる。  [0068] In addition, when the user terminal 4 does not connect to the server 5, the policy file generation unit 52 may be included as a functional block of the file package program 2 stored in the user terminal 4. In this case, the user terminal 4 does not transmit the policy to the server 5, generates the policy file itself, and stores the policy file identification ID in the user terminal 4.
[0069] ファイルパッケージプログラム 2の構成の説明に戻ると、ノ ッケージ部 23は、鍵生成 部 51で生成された復号鍵で、元ファイルを暗号ィ匕し、暗号ィ匕された元ファイルと、ポ リシ一ファイル生成部 52で生成されたポリシーファイル、ファイル基本情報とを 1つに まとめてパッケージし、更にヘッダを付カ卩して、新たなファイル(パッケージファイルと いう)を生成する手段である。ノ ッケージ部 23がパッケージファイルを生成する際の 概念図を図 3に示す。  [0069] Returning to the description of the configuration of the file package program 2, the knocking unit 23 encrypts the original file with the decryption key generated by the key generation unit 51, and the encrypted original file, The policy file and basic file information generated by the policy file generator 52 are packaged together and added with a header to generate a new file (called a package file). is there. Figure 3 shows a conceptual diagram when the package unit 23 generates a package file.
[0070] 図 3に示したように、暗号化された元ファイルと、ポリシーファイルとをパッケージする ことによって、暗号ィ匕された元ファイルは、単独で取り出したり、利用することが不可 能となり、ポリシーファイルとの連動のみによって利用することが可能となる。  [0070] As shown in FIG. 3, by packaging the encrypted original file and the policy file, the encrypted original file cannot be taken out or used alone. It can be used only by linking with the policy file.
[0071] つまり、全ての利用条件が満足された場合にのみ、利用権限を取得し、暗号化され たファイルを復号ィ匕することが出来るようになっているので、復号鍵が単独でユーザ 端末 4に送信されたり、知られてしまったとしても、パッケージフアイノレそのものがなけ れば、かつ、全てのポリシーの利用条件が満足された場合でなければ、暗号化され た元ファイルを復号ィ匕することは出来な 、ので、暗号ィ匕されたファイルの安全性は確 保される。 [0071] That is, only when all the usage conditions are satisfied, the usage authority can be acquired and the encrypted file can be decrypted. Even if it is sent to 4 or known, it will be encrypted if there is no package final and the conditions of use of all policies are not satisfied. Since the original file cannot be decrypted, the security of the encrypted file is ensured.
[0072] しかも、復号鍵は、ポリシーファイルに含まれ、更に暗号ィ匕された元ファイルとパッケ ージされているので、共通鍵暗号方式の問題である鍵の受け渡しについても、ユー ザが意識せずに、かつ安全に行われる。  [0072] Moreover, since the decryption key is included in the policy file and packaged with the encrypted original file, the user is also aware of the key delivery, which is a problem of the common key cryptosystem. Without being done safely.
[0073] 従来は、高いセキュリティレベルを維持しながら、特定ユーザに対してのみファイル の利用権限を与えるために、公開鍵暗号方式が採用されていた。しかし、公開鍵暗 号方式の場合、公開鍵と秘密鍵を生成する手間、ファイルの利用権限が与えられる ユーザの公開鍵を入手する手間、ユーザ毎の公開鍵でファイルを暗号ィ匕する手間が かかっていた。本発明のファイル管理プログラム 1では、共通鍵暗号方式を用いてい るため、このような手間は発生せず、し力も、ファイル指定、ポリシー策定、パッケージ t ヽぅ簡単な手順を経るだけで、セキュリティレベルの高 ヽファイル管理が実現される ことになる。  [0073] Conventionally, a public key cryptosystem has been adopted in order to give the right to use a file only to a specific user while maintaining a high security level. However, in the case of the public key encryption method, there is no need to generate a public key and a private key, to obtain a user's public key who is authorized to use the file, and to encrypt a file with the public key for each user. It was hanging. Since the file management program 1 of the present invention uses a common key encryption method, such a trouble does not occur, and the security can be determined by simply specifying a file, formulating a policy, and packaging a simple procedure. High level file management will be realized.
[0074] 尚、ファイル基本情報は、元ファイルの識別情報であるところのタイトル、作成日時、 作成ユーザ、元ファイルの種類 (拡張子等)、元ファイルのデータサイズ等の情報に 加え、元ファイルの利用許可 Z不許可ユーザリストが含まれる。また、ノ ッケージファ ィルの識別情報であるところのタイトル、作成 (パッケージ日時)、作成ユーザ (パッケ ージした者)、パッケージファイルの種類、パッケージファイルのデータサイズ等が含 まれてもよい。  [0074] The file basic information includes the original file identification information in addition to information such as the title, creation date, creation user, original file type (extension, etc.), and original file data size. The use permission of Z is included. It may also include the title that is the identification information of the knock file, creation (package date and time), creation user (packaged person), package file type, package file data size, and the like.
[0075] ここで、ファイル基本情報の暗号ィ匕は任意であり、また、基本的にファイル基本情報 の内容は、元ファイルの利用権限を有していないユーザであっても知ることが出来る [0075] Here, the encryption of the file basic information is arbitrary, and basically the contents of the file basic information can be known even by a user who does not have the authority to use the original file.
。これは、本件出願時点における法律上、全てのユーザに対し、元ファイルの利用 z 不許可を知る権利が認められている力 である。 . This is the force that the law at the time of filing this application gives all users the right to know whether or not to use the original file.
[0076] 検索リクエスト部 24は、サーバ 5内の検索部 53に対して、履歴データベース 56に 格納されて 、るファイルパッケージの履歴情報や、パッケージファイルへのアクセス 履歴に関する情報の検索を要求する手段である。尚、履歴データベース 56には、ュ 一ザデータベース 55に格納されているデータと同じものが格納されていてもよぐュ 一ザデータベース 55に格納されて 、る履歴情報が検索されてもよ!、。 [0077] また、ファイル作成ユーザ自身が、自己のファイルパッケージ履歴や、自己のユー ザ端末 4内の共有記憶媒体への他ユーザのアクセス履歴を検索した 、場合には、検 索リクエスト部 24は、ファイル作成ユーザのユーザ端末 4内のデータベース(例えば、 後述する利用状況データベース 33a)に格納されて 、る履歴情報にアクセスする手 段であってもよい。 The search request unit 24 requests the search unit 53 in the server 5 to search the history information of the file package stored in the history database 56 and the information related to the access history of the package file. It is. The history database 56 may store the same data as that stored in the user database 55, or the history information stored in the user database 55 may be searched! ,. [0077] If the file creation user himself / herself searches his / her own file package history and / or other user's access history to the shared storage medium in his / her user terminal 4, the search request unit 24 Alternatively, it may be a means of accessing the history information stored in a database (for example, a usage status database 33a described later) in the user terminal 4 of the file creation user.
[0078] 検索リクエスト部 24は、例えば、検索条件を指定し、当該検索条件をサーバ 5に送 信する。サーバ 5の検索部 53は、履歴データベース 56内から、検索条件に合致する 履歴情報を取り出し、ユーザ端末 4に送信する。ここで、検索された履歴に基づいて 、ユーザ端末 4側では、更に、ポリシー策定部 22でポリシーの変更を行ったり、フアイ ル指定部 21でファイルの変更を行ったりすることが出来る。何らかの変更が行われた 場合には、ノ ッケージ部 23は、ファイルをパッケージし直す。この手順は、新規にフ アイルパッケージを行う場合の手順と同様であり、上述した通りである。  The search request unit 24 specifies, for example, a search condition, and transmits the search condition to the server 5. The search unit 53 of the server 5 extracts the history information that matches the search condition from the history database 56 and transmits it to the user terminal 4. Here, based on the retrieved history, the user terminal 4 can further change the policy in the policy formulation unit 22 and change the file in the file specification unit 21. If any change is made, the knocking unit 23 repackages the file. This procedure is the same as the procedure for a new file package, as described above.
[0079] 尚、履歴データベース 56には、パッケージファイルへのユーザのアクセス履歴も格 納される。従って、ファイルのパッケージを行ったユーザは、検索リクエスト部 24から、 誰がいつどこからどのパッケージファイルにアクセスしたかを確認することが出来る。  It should be noted that the history database 56 also stores a user access history to the package file. Therefore, the user who has packaged the file can confirm from the search request section 24 who has accessed which package file from when.
[0080] 以上説明したファイル管理プログラム 1内のファイルパッケージプログラム 2の構成 によれば、あらゆる種類のファイルを、ファイル毎に生成された共通鍵で暗号ィ匕した 後、ポリシーファイルとともにノ¾ /ケージして、利用条件を満足したユーザのみに元フ アイルの利用権限を与える仕組みや、ユーザのアクセス履歴を確認する仕組みが、 ユーザに提供されることになる。  [0080] According to the configuration of the file package program 2 in the file management program 1 described above, all types of files are encrypted with the common key generated for each file, and then stored together with the policy file. Thus, a mechanism for granting the authority to use the original file only to users who satisfy the usage conditions and a mechanism for checking the user's access history will be provided to the user.
[0081] しかも、元ファイルをパッケージするユーザは、利用権限を与えるユーザ数にかか わらず、 1つのパッケージファイルを生成し、利用権限を与えらえたユーザのユーザ 端末 4がアクセスすることが出来る記憶媒体に格納しておくだけで、元ファイルを複数 ユーザ間で共有することが可能となる。  [0081] Moreover, the user who packages the original file can generate one package file and access it by the user terminal 4 of the user who has been given the use right regardless of the number of users to whom the use right is given. The original file can be shared among multiple users simply by storing it in the storage medium.
[0082] つまり、当該、ファイル管理プログラム 1により、高いセキュリティレベルが維持された 状態で、かつ、ユーザのパッケージファイル生成の際の利便性を損なうことなぐファ ィルの一元管理を行うことが出来るようになる。  [0082] In other words, the file management program 1 can perform centralized management of files while maintaining a high security level and without impairing the convenience of the user when generating a package file. It becomes like this.
[0083] 次に、図 4に基づいて、ファイル利用プログラム 3の構成について説明する。まず、 ファイル利用プログラム 3は、ファイルパッケージプログラム 2同様、ユーザ端末 4に格 納され、ユーザ端末 4において利用されるものである力 プログラムの格納方法は問 わず、例えば、サーバ 5からインストーラとともにユーザ端末 4にダウンロードされても よいし、 CD— ROM等の記憶媒体力もユーザ端末 4にコピーされてもよい。また、ファ ィル利用プログラム 3は、ファイルパッケージプログラム 2と一体になつてプログラム化 されていてもよぐその場合には、ファイル管理プログラム 1として、ユーザ端末 4に格 納される。 Next, the configuration of the file use program 3 will be described based on FIG. First, The file usage program 3 is stored in the user terminal 4 and is stored in the user terminal 4 in the same manner as the file package program 2. For example, the file usage program 3 can be stored in the user terminal 4 together with the installer. It may be downloaded to the user terminal 4 or a storage medium such as a CD-ROM may be copied to the user terminal 4. In addition, the file use program 3 may be programmed together with the file package program 2, and in this case, the file use program 3 is stored in the user terminal 4 as the file management program 1.
[0084] 但し、ファイル管理プログラム 1が提供する機能のうち、ファイル利用プログラム 3側 のファイル利用機能しか利用しな 、ユーザや、ファイルパッケージプログラム 2側のフ アイルパッケージ機能、履歴検索機能しカゝ利用しないユーザには、それぞれ必要な プログラムのみがユーザ端末 4に格納されて 、てもよ 、。  [0084] However, among the functions provided by the file management program 1, only the file use function on the file use program 3 side is used, and the file package function and history search function on the file package program 2 side are used. For users who do not use it, only the necessary programs are stored in the user terminal 4.
[0085] ファイル利用プログラム 3は、主として、ファイル指定部 31、認証リクエスト部 32、デ ータベース生成部 33、復号鍵解読部 34、復号化部 35、ファイル利用制御部 36、再 ノ ッケージ部 37の機能ブロック力ら構成される。  [0085] The file usage program 3 is mainly composed of a file designation unit 31, an authentication request unit 32, a database generation unit 33, a decryption key decryption unit 34, a decryption unit 35, a file usage control unit 36, and a re-noclusion unit 37. Consists of functional block force.
[0086] ファイル指定部 31は、ユーザ端末 4がアクセスすることが出来る記憶媒体に格納さ れたパッケージファイルのうち、利用した 、元ファイルがパッケージされて!/、るパッケ ージファイルの指定を受け付ける手段である。例えば、ファイル指定部 31は、ユーザ 端末 4の画面上に、ノ ッケージファイルのファイル基本情報(パッケージファイルもしく は元ファイルのタイトル、作成日時、作成ユーザ、ファイルの種類 (拡張子等)、元ファ ィルの利用許可 Z不許可ユーザ等)をさせ、キーボードやマウス等の入力デバイスに 当該情報の 、ずれかを選択させることで、ノ ッケージファイルの指定を受け付けるこ とが出来る。  [0086] The file designating unit 31 is a means for accepting designation of a package file that is used by the original file among package files stored in a storage medium that can be accessed by the user terminal 4. It is. For example, the file designating unit 31 displays on the screen of the user terminal 4 the basic file information of the package file (package file or original file title, creation date, creation user, file type (extension, etc.), The use of the original file is allowed (Z non-permitted users, etc.), and the input device such as a keyboard or mouse can be used to select either of the information, and the specification of the knock file can be accepted.
[0087] 尚、元ファイルの利用権限が与えられていないユーザのユーザ端末 4に、当該元フ アイルがパッケージされたパッケージファイルの存在を不用意に知られないようにする ためには、ファイル基本情報をユーザ端末 4上に表示出来ないようにし、例えば、ノ ッケージファイル力メールに添付されて、元ファイルの利用権限を与えられたユーザ のユーザ端末 4に送信されてきた場合のみや、指定の格納場所にあるノ ッケージフ アイル中の元ファイルが利用出来るようになった旨を通知するメール等の文書力 ュ 一ザ端末 4に送信されてきた場合のみに、ユーザ端末 4力 ノ ッケージファイルにァ クセスすることが出来るようになって 、てもよ 、。 [0087] In order to prevent the user terminal 4 of the user not authorized to use the original file from inadvertently knowing the existence of the package file in which the original file is packaged, The information cannot be displayed on the user terminal 4, for example, only if it is attached to the user's user terminal 4 that is attached to the knock file e-mail and is authorized to use the original file. Documents such as e-mail to notify that the original file in the knock file at the storage location is available You can access the user terminal 4 force knock file only if it is sent to the terminal 4.
[0088] つまり、この場合、ファイルパッケージプログラム 2は、パッケージ部 23でパッケージ ファイルが生成されるとともに、元ファイルの利用権限が与えられたユーザのユーザ 端末 4に、パッケージファイルの生成を、通知もしくは、ノ ッケージファイルをメール添 付により送信する通知部(図示せず)を有している。これにより、元ファイルの利用権 限が与えられて ヽな 、ユーザのユーザ端末 4に、当該元ファイルがパッケージされた ノ ッケージファイルの存在を不用意に知られないようにするだけでなぐ利用権限が 与えられたユーザに、即時に、元ファイルの利用をさせることが出来る。 That is, in this case, the file package program 2 generates a package file in the package unit 23 and notifies the user terminal 4 of the user who has been given the authority to use the original file to notify the generation of the package file or In addition, it has a notification unit (not shown) for sending a knock file by mail attachment. As a result, the usage rights of the original file can be granted only by preventing the user's user terminal 4 from inadvertently knowing the existence of the package file in which the original file is packaged. The authorized file can be used immediately by the authorized user.
[0089] 認証リクエスト部 32は、本実施例では、ファイル利用プログラム 3を利用しょうとする ユーザの認証をサーバ 5に対して要求する手段である。尚、 1ユーザ、 1ユーザ端末 4 に対して 1ユーザ IDが付与されている場合には、当然、当該ユーザ端末 4からユー ザによって、サーバ 5への認証要求がされなければ、認証がされない。 In this embodiment, the authentication request unit 32 is means for requesting the server 5 to authenticate a user who intends to use the file use program 3. If one user ID is assigned to one user and one user terminal 4, the user terminal 4 is naturally not authenticated unless the user requests an authentication from the user terminal 4 to the server 5.
[0090] 尚、認証リクエスト部 32は、必ずしもサーバ 5に対して認証を要求する必要はなぐ ユーザ端末 4自身でユーザの認証を行う手段であってもよい。これについては、実施 例において後述する。 Note that the authentication request unit 32 does not necessarily require the server 5 to authenticate, and may be means for authenticating the user by the user terminal 4 itself. This will be described later in Examples.
[0091] データベース生成部 33は、ユーザがユーザ端末 4においてパッケージファイル内 の元ファイルを利用しょうとする毎にユーザ端末 4による元ファイルの利用状況 (例え ば、利用回数等)を更新することが出来る利用状況データベース 33aを、当該ユーザ のユーザ端末 4以外のユーザ端末 4による読みとり、更新が出来ないような状態で、 ユーザ端末 4に生成する手段である。  [0091] Each time the user tries to use the original file in the package file at the user terminal 4, the database generation unit 33 may update the usage status (for example, the number of times used) of the original file by the user terminal 4. This is a means for generating the usable usage state database 33a in the user terminal 4 in such a state that it cannot be read and updated by the user terminal 4 other than the user terminal 4 of the user.
[0092] 尚、ポリシー策定部 22で策定されたポリシーの利用条件うち、元ファイルの利用都 度、元ファイルの利用状況を更新する必要がない利用条件 (例えば、元ファイルの利 用許可 Z不許可ユーザかどうかの認証、パスワードその他の認証、元ファイルの利用 期限、同一ノ ッケージファイルへの同時アクセス可能台数、アクセス可能時間等)に よってのみ、ポリシーが生成されている場合には、データベース生成部 33は必ずしも 利用状況データベース 33aを生成する必要はない。  [0092] It should be noted that, among the usage conditions of the policy formulated by the policy formulation unit 22, usage conditions that do not require the usage status of the original file to be updated each time the original file is used (for example, the usage permission of the original file is Z If the policy is generated only by the authentication of whether it is an authorized user, password and other authentication, the expiration date of the original file, the number of simultaneous access to the same knock file, the access time, etc. The generation unit 33 is not necessarily required to generate the usage status database 33a.
[0093] また、利用状況データベース 33aに相当するデータベースは、必ずしもユーザ端末 4に生成される必要はなぐサーバ 5に生成されていてもよい。この場合、ファイルパッ ケージプログラム 2内にデータベース生成部 33は不要である。 [0093] Further, the database corresponding to the usage status database 33a is not necessarily the user terminal. It may be generated in the server 5 that does not need to be generated in 4. In this case, the database generation unit 33 is not required in the file package program 2.
[0094] 復号鍵解読部 34は、ノ ッケージファイル内のポリシーファイルを構成している全て のポリシーオブジェクト内のポリシーの利用条件照合を行な 、、暗号化された元ファ ィルの復号鍵とユーザの利用権限を取得するとともに、これら復号鍵と利用権限をュ 一ザ端末 4の一時メモリ 43上に取り出す手段であり、利用条件の照合及び利用状況 の更新を行う照合 ·更新手段 34aを有して 、る。  [0094] The decryption key decryption unit 34 compares the policy usage conditions in all the policy objects constituting the policy file in the knock file, and decrypts the decryption key of the encrypted original file. And the user's usage authority, and the decryption key and usage authority are retrieved from the temporary memory 43 of the user terminal 4, and the verification / update means 34a for verifying the usage conditions and updating the usage status is provided. Have it.
[0095] 照合,更新手段 34aは、例えば、利用条件と元ファイルの利用状況とを照合する必 要があるポリシーについては、利用条件と利用状況データベース 33aに格納された 利用状況との照合を行い、利用状況が利用条件に違反しない場合 (例えば、利用可 能回数 10回という利用条件に対し、利用状況が 3回)に限り、利用状況データベース 33a内の利用状況を更新し、別のポリシーオブジェクトを開く鍵もしくは、暗号化され た元ファイルの復号鍵を取り出す。  The verification / update means 34a, for example, checks the usage conditions and the usage status stored in the usage status database 33a for a policy that requires the usage conditions and the usage status of the original file to be verified. If the usage status does not violate the usage conditions (for example, the usage status is 3 times against the usage condition of 10 usages), update the usage status in the usage status database 33a to create another policy object. Take out the key to open or the decryption key of the encrypted original file.
[0096] 尚、この場合、サーバ 5またはユーザ端末 4のいずれかには、利用状況データべ一 ス 33aの内容を更新させるためのプログラム (例えば計数手段、計時手段等)が必要 である。また、利用状況データベース 33aの生成場所や利用状況の更新方法につい ては、ポリシーファイル内に格納されて 、てもよ!/、。  [0096] In this case, either the server 5 or the user terminal 4 needs a program (for example, counting means, timing means, etc.) for updating the contents of the usage status data base 33a. Also, the location where the usage database 33a is generated and how to update the usage status can be stored in the policy file! /.
[0097] また、照合 ·更新手段 34aは、元ファイルの利用状況を更新する必要がな!、利用条 件と、その利用状況 (現況)との照合については、サーバ 5に依頼してもよいし、また、 ユーザ端末 4内で行うことも出来る。  [0097] In addition, the collation / update means 34a does not need to update the usage status of the original file! The server 5 may be requested to collate the usage conditions with the usage status (current status). It can also be performed in the user terminal 4.
[0098] また、ポリシーオブジェクトの一部または全てが、サーバ 5に格納されているような場 合にも、照合 ·更新手段 34aは、サーバ 5にアクセスして、利用条件と利用状況との照 合を要求し、照合結果や、次に開くべきポリシーオブジェクトの鍵をサーバ 5から受け 取る。  In addition, even when part or all of the policy object is stored in the server 5, the collation / update means 34a accesses the server 5 to check the usage conditions and the usage status. The server 5 receives the verification result and the key of the policy object to be opened next from the server 5.
[0099] 尚、サーバ 5は、ユーザ端末 4に照合結果や鍵を、予め生成されたユーザの公開鍵 で暗号ィ匕してユーザ端末 4に送信することが出来る。これにより、暗号ィ匕された照合 結果や鍵は、ユーザの秘密鍵によってしカゝ復号ィ匕されないため、照合結果や鍵の送 信時の安全性がより高まる。 [0100] 復号ィ匕部 35は、復号鍵解読部 34によって解読され、ユーザ端末 4の一時メモリ 43 に取り出された復号鍵を用いて、ノ ッケージファイル内の暗号ィ匕された元ファイルを 復号ィ匕する手段である。また、復号ィ匕部 35は、暗号化された元ファイルを復号化す るだけでなぐ復号鍵解読部 34と連動して、その他の暗号ィ匕されたデータを復号ィ匕 する手段であってもよい。 Note that the server 5 can encrypt the verification result and key to the user terminal 4 with the user's public key generated in advance and transmit it to the user terminal 4. As a result, since the encrypted verification result and key are not decrypted by the user's private key, the security at the time of transmitting the verification result and key is further enhanced. [0100] The decryption key unit 35 uses the decryption key decrypted by the decryption key decryption unit 34 and taken out to the temporary memory 43 of the user terminal 4, and then decrypts the original file encrypted in the package file. Means for decryption. Further, the decryption unit 35 may be a means for decrypting other encrypted data in conjunction with the decryption key decryption unit 34 that only decrypts the encrypted original file. Good.
[0101] ファイル利用制御部 36は、復号鍵解読部 34によって解読された利用権限に基づ いて、復号ィ匕された元ファイルの利用を制御する手段である。また、ファイル利用制 御部 36は、元ファイルのファイル識別情報に基づいて、元ファイルを開くための対応 ソフト 42を起動させる手段を兼ねていてもよい。尚、対応ソフト 42は、ファイル利用プ ログラム 3内に用意されていてもよい。例えば、あらゆる種類の元ファイルを閲覧する ことが出来るビューアー専用ソフトを、ユーザ端末 4で利用することが出来るようにな つていてもよい。  The file usage control unit 36 is means for controlling the usage of the original file decrypted based on the usage authority decrypted by the decryption key decrypting unit 34. Further, the file usage control unit 36 may also serve as means for starting the corresponding software 42 for opening the original file based on the file identification information of the original file. The corresponding software 42 may be prepared in the file usage program 3. For example, viewer-specific software that can browse all types of original files may be made available on the user terminal 4.
[0102] 尚、ファイル利用制御部 36は、 API (Application Program Interface)フッキングを行 う手段であってもよい。具体的には、元ファイルの対応ソフト 42内のビューアー等の 全部または一部の機能力 OSやミドルウェアで提供されて 、る機能を呼び出すこと によって実現されているような場合に、ファイル利用制御部 36は、対応ソフト 42を制 御して、対応ソフト 42から、 OS若しくはミドルウェアに対して、取得した利用権限に基 づいた機能呼び出し命令を行う。これにより、あらゆる元ファイルに対応して閲覧、印 刷、編集、保存等を行うような専用ソフトを作成しなくとも、既存の対応ソフト 42を利用 しながら、利用権限の制御を行うことが可能となる。  Note that the file usage control unit 36 may be a means for performing API (Application Program Interface) hooking. Specifically, the file usage control unit is provided when all or part of the functional capabilities of the viewer, etc. in the original file compatible software 42, is realized by calling the functions provided by the OS or middleware. 36 controls the corresponding software 42 and issues a function call instruction based on the acquired use authority from the corresponding software 42 to the OS or middleware. This makes it possible to control usage rights while using existing compatible software 42 without creating dedicated software that can be used for browsing, printing, editing, saving, etc. corresponding to all original files. It becomes.
[0103] 尚、復号化部 35やファイル利用制御部 36は、復号鍵解読部 34における正規の解 読過程を経て一時メモリ 43に取り出された復号鍵と利用権限を用いてのみ、暗号ィ匕 された元ファイルを復号ィ匕したり、利用することが出来るものとする。例えば、単独で 入力された復号鍵や利用権限を用いての復号ィ匕や利用がされそうになった場合に は、復号化部 35やファイル利用制御部 36は、復号ィ匕や利用の過程をその場で中止 させることが出来る。これにより、元ファイルの不正利用を防止することが出来る。  It should be noted that the decryption unit 35 and the file usage control unit 36 only use the decryption key and the usage authority extracted to the temporary memory 43 through the normal decryption process in the decryption key decryption unit 34. It is possible to decrypt and use the original file. For example, when a decryption key or usage right that is used alone is about to be decrypted or used, the decryption unit 35 and the file usage control unit 36 Can be stopped on the spot. Thereby, unauthorized use of the original file can be prevented.
[0104] 再パッケージ部 37は、パッケージファイル中の暗号化された元ファイルが復号化さ れ、ユーザの利用権限に基づいて、元ファイルの編集がなされた場合、編集後の元 ファイルを再びポリシーファイルとともにパッケージする手段である。 [0104] If the encrypted original file in the package file is decrypted and the original file is edited based on the user's usage rights, the repackaging unit 37 will edit the original file after editing. A means of packaging the file again with the policy file.
[0105] 再パッケージ部 37は、編集後の元ファイルをパッケージしてパッケージファイルを 生成した後は、元のパッケージファイルとの交換 (もしくは元のパッケージファイルに 上書き、更新)を行う。これにより、元のパッケージファイルは削除され、パッケージフ アイルが更新されることになる。  [0105] After the edited original file is packaged and the package file is generated, the repackage unit 37 exchanges the original package file (or overwrites or updates the original package file). As a result, the original package file is deleted, and the package file is updated.
[0106] 尚、元のパッケージファイルと再パッケージされたパッケージファイルとの基本的な 相違は、元ファイルのデータ容量の相違のみであり、ファイル基本情報等の関連デ 一タは再パッケージに伴って更新される場合がある力 ファイル名や元ファイルの復 号鍵は変わらない。また、例えば、元ファイルのハッシュ値に基づいて、改ざんゃ不 正利用の検知の仕組みが採用されて ヽる場合には、当該ハッシュ値も更新される必 要がある。  [0106] The basic difference between the original package file and the repackaged package file is only the difference in the data capacity of the original file, and related data such as file basic information is accompanied by the repackage. The power that may be updated The file name and the decryption key of the original file do not change. In addition, for example, if a mechanism for detecting unauthorized use is adopted based on the hash value of the original file, the hash value also needs to be updated.
[0107] 再パッケージ部 37によりパッケージファイルの更新が行われることで、元ファイルの 一元管理は継続して行われることになり、複数ユーザ間で共有しているような元フアイ ルの単一性も保持される。  [0107] By renewing the package file by the repackaging unit 37, the original management of the original file is continued, and the unity of the original file that is shared among multiple users is maintained. Is also retained.
[0108] 尚、再パッケージ部 37は、利用権限のうち、元ファイルの編集が許可された場合の み機能するようになっていればよぐそもそも利用権限の中に、元ファイルの編集が 含まれていない場合には、再パッケージ部 37は不要である。更に、本実施例では、 元ファイルの編集が許可されたユーザによるポリシーファイルの編集は出来ないよう になっている。これは、ポリシーファイルを編集して、元ファイルが不正に利用される のを防止するためである。  [0108] It should be noted that the repackaging unit 37 should only function if the editing of the original file is permitted among the usage rights. In the first place, the editing of the original file is included in the usage rights. If not, the repackaging section 37 is not necessary. Furthermore, in this embodiment, the policy file cannot be edited by a user who is permitted to edit the original file. This is to prevent unauthorized use of the original file by editing the policy file.
[0109] また、再パッケージ部 37を有するファイル利用プログラム 3は、元ファイルの再パッ ケージが行われた場合に、元ファイルの作成ユーザのユーザ端末 4もしくはサーバ 5 に、再パッケージが行われた旨を通知する通知部(図示せず)を有していてもよい。こ れにより、元ファイルの作成ユーザやサーバは、即時に、元ファイルが更新されたこと を確認することが出来る。  [0109] In addition, when the original file is repackaged, the file utilization program 3 having the repackage unit 37 is repackaged in the user terminal 4 or the server 5 of the original file creation user. You may have a notification part (not shown) which notifies that. This allows the user and server that created the original file to immediately confirm that the original file has been updated.
[0110] 以上説明したファイル管理プログラム 1内のファイル利用プログラム 3の構成によれ ば、元ファイルの利用権限や元ファイルの復号鍵は、利用条件を満足した場合にの み解読可能なように、ノ ッケージファイルに含まれているので、ユーザは、パッケージ ファイルに含まれたポリシーの利用条件を満足した場合のみ、元ファイルの利用権限 を与えられ、利用権限が与えられて 、な 、ユーザによる元ファイルの利用は出来な い仕組みが提供されることになる。つまり、当該、ファイル管理プログラム 1により、高 Vヽセキュリティレベルが維持された状態で、利用権限が与えられたユーザによる元フ アイルの利用が可能となる。 [0110] According to the configuration of the file usage program 3 in the file management program 1 described above, the usage authority of the original file and the decryption key of the original file can be decrypted only when the usage conditions are satisfied. Because the package is included in the package file, the user Only when the usage conditions of the policy included in the file are satisfied, the usage rights of the original file are granted, and the usage rights are granted, so that the user cannot use the original file. Become. In other words, the file management program 1 makes it possible to use the original file by a user who has been given usage rights while maintaining a high V security level.
[0111] また、利用権限が、編集、保存以外の権限に限定されるのであれば、元ファイルの 作成ユーザ以外のユーザが元ファイルを変更することは出来ないから、利用権限を 与えられたどのユーザ間でも同一の元ファイルが共有されることになる。これは、パッ ケージファイル力 メール添付等の方法により、利用権限を与えられたユーザのユー ザ端末に格納された場合でも、同一の効果を奏するものである。  [0111] Also, if the usage authority is limited to authority other than editing and saving, users other than the user who created the original file cannot change the original file. The same original file is shared among users. This has the same effect even if it is stored in the user terminal of a user who is authorized to use the package file by means of email attachment.
[0112] つまり、ユーザは、自己のユーザ端末以外のユーザ端末にアクセスしなくても、結 果的に、他のユーザと同一の元ファイルを共有することが出来るのである。このように 、他のユーザと同一の元ファイルを共有することが出来るのは、元ファイルが元フアイ ル毎に生成された共通鍵で暗号ィ匕され、 1の元ファイルにっき、ユーザ数によらず 1 つのパッケージファイルが生成されることにも起因している。  That is, the user can share the same original file with other users as a result without accessing a user terminal other than the user terminal. In this way, the same original file can be shared with other users because the original file is encrypted with the common key generated for each original file, and the number of users depends on the number of users. This is also due to the fact that one package file is generated.
[0113] ここで、利用状況データベース 33aの詳細について説明する。利用状況データべ ース 33a内の情報の読みとり、更新は、復号鍵解読手段による復号鍵及び利用権限 の解読過程に於いてのみしか行われず、その過程以外に於いて、利用者や悪意者 による更新、改ざんはされないこととする。  [0113] Here, the details of the usage status database 33a will be described. Reading and updating the information in the usage status database 33a is performed only in the process of decrypting the decryption key and the use authority by the decryption key decryption means, and by the user and the Service-to-Self in other processes. It will not be updated or tampered with.
[0114] そのため、ユーザ端末 4に生成される利用状況データベース 33aは、ユーザ端末 4 の識別情報(MACアドレス、 BIOSのシリアル番号、ハードディスク 44のシリアル番 号等)のハッシュ値等の一方向性関数によって暗号ィ匕されていてもよい。  [0114] Therefore, the usage status database 33a generated in the user terminal 4 is a one-way function such as a hash value of the identification information (MAC address, BIOS serial number, hard disk 44 serial number, etc.) of the user terminal 4. May be encrypted.
[0115] 尚、利用状況データベース 33a内の利用状況の無断更新、改ざん、不正利用等の 検知は、公知のハッシュ(一方向性)関数技術等を用いれば可能である。例えば、利 用状況を常に、直前に更新又は読みとりがされた時点の利用状況のハッシュ値で暗 号ィ匕する等して、次の更新又は読みとり時に、正しいハッシュ値で暗号ィ匕されていた 力どうかの整合性をチェックする。  [0115] It should be noted that detection of unauthorized update, alteration, unauthorized use, etc. of the usage status in the usage status database 33a can be performed by using a known hash (one-way) function technique or the like. For example, the usage status is always encrypted with the hash value of the usage status at the time of the last update or reading, and encrypted with the correct hash value at the next update or reading. Check the consistency of force.
[0116] 不正な読みとりや更新が実行されていた場合には、次に正規の読みとりや更新をし ようとしても、利用状況が本来のハッシュ値で暗号ィ匕されていないか、正しい復号鍵 を手に入れることが出来な 、ため、暗号ィ匕された元ファイルの復号ィ匕が出来な!/、。 [0116] If an illegal read or update has been performed, then the normal read or update is performed. Even so, the usage status is not encrypted with the original hash value, or the correct decryption key cannot be obtained, so the encrypted original file cannot be decrypted! / ,.
[0117] 又、例えば、利用状況の更新を、例えば 1ずつ減らす等、決められた数字でしか増 減出来ないような仕組みにしておき、本来利用状況を 2回から 3回に更新すべきとこ ろを、 0回に改ざんすることは不可能なようにすることも出来る。  [0117] In addition, for example, the usage status should be updated from 2 times to 3 times by setting a mechanism that can be increased or decreased only by a predetermined number, for example, by decreasing it by one. It is also possible to make it impossible to tamper with zero.
[0118] このように、万一、不正な読みとりや改ざん等がされた場合には、その場で、フアイ ル利用プログラム 3の動作ゃ復号鍵の解読を中止させるか、レジストリ等に暗号ィ匕し てバックアップしてお 、た正し 、利用状況を読み込んで、改ざんされた利用状況デ ータベース 33aを元の状態に復元させるようにする。  [0118] In this way, in the event that unauthorized reading or falsification is made, the decryption key decryption will be stopped or the registry etc. Then, it is backed up, corrected, read the usage status, and the altered usage status database 33a is restored to the original state.
[0119] 利用状況データベース 33aをユーザのユーザ端末 4にのみ生成可能とするために は、パッケージファイルを、新規ユーザが初めて開こうとする際にのみ、利用状況デ ータベース 33aの生成が可能なプログラムを設ける力、ダウンロード前にサーバ 5が 予めユーザ端末 4の識別情報(MACアドレス、 BIOSのシリアル番号、ハードディスク 44のシリアル番号等)を認識し、その識別情報のハッシュ値等で利用状況データべ ース 33aを暗号ィ匕しておき、他の識別情報を有する端末内では、暗号化された利用 状況データベース 33aを復号ィ匕出来な 、ようにするプログラムを設ける等する。  [0119] In order to be able to generate the usage database 33a only on the user's user terminal 4, a program that can generate the usage database 33a only when a new user tries to open a package file for the first time. Before downloading, the server 5 recognizes the identification information (MAC address, BIOS serial number, hard disk 44 serial number, etc.) of the user terminal 4 in advance and downloads the usage status data based on the hash value of the identification information. The terminal 33a is encrypted, and a program that prevents the encrypted usage status database 33a from being decrypted is installed in a terminal having other identification information.
[0120] 次に、利用状況データベース 33aを初めに生成されたユーザ端末 4以外の端末で の読みとりを不可とするためには、復号鍵解読手段が利用条件と利用状況の照合を 行う際に、サーバ 5側に登録された識別情報を有するユーザ端末 4に利用状況デー タベース 33aが生成されているかどうかを確認し、利用状況データベース 33aが見つ 力もな力つた場合には、ユーザ端末 4以外の端末で元ファイルが利用されそうになつ たとみなし、元ファイルの利用を中止させる方法や、利用状況データベース 33aをュ 一ザ端末 4毎に固有の識別情報のノ、ッシュ値等で暗号ィ匕しておき、他の端末の識別 情報のノ、ッシュ値等では利用状況データベース 33aを復号ィ匕出来な 、ようにする方 法等が挙げられる。  [0120] Next, in order to disable reading by a terminal other than the user terminal 4 that was originally generated from the usage status database 33a, when the decryption key decryption means collates the usage conditions and the usage status, It is confirmed whether or not the usage database 33a has been generated in the user terminal 4 having the identification information registered on the server 5 side. It is assumed that the original file is likely to be used on the terminal, and the usage database 33a is encrypted with the identification information of each user terminal 4 using a unique identification information, a hash value, etc. In addition, there is a method of making it impossible to decrypt the usage status database 33a based on the identification and other values of the identification information of other terminals.
[0121] 更に、利用状況データベース 33aを、利用状況の更新に用いる以外にも利用する 場合の一実施例について説明する。  [0121] Further, an example in which the usage status database 33a is used for purposes other than the usage status update will be described.
[0122] 例えば、予め生成される利用条件の中に、ユーザ端末 4の識別情報を 1条件として 加えておき、利用条件と利用状況の照合をする際に、利用状況として実際利用され ているユーザ端末 4の識別情報を調べ、利用条件としての本来利用権限を与えられ たユーザのユーザ端末 4の識別情報と合致しない場合には元ファイルの利用を中止 させる方法をとつてもよい。尚、この利用条件は、当然のことながらユーザ毎に異なる ものとなるため、ポリシーファイルの共通化を図りたい場合には、当該利用条件に関 するポリシーオブジェクトの利用条件や鍵は、サーバ 5に格納されてもよい。 [0122] For example, in the usage conditions generated in advance, the identification information of the user terminal 4 is set as one condition. In addition, when collating the usage conditions with the usage status, the identification information of the user terminal 4 that is actually used as the usage status is checked, and the user terminal 4 of the user who is originally given the usage rights as the usage conditions is checked. If it does not match the identification information, the use of the original file may be stopped. Note that the usage conditions naturally vary from user to user, so if you want to share a policy file, the usage conditions and keys of the policy objects related to the usage conditions are stored in the server 5. It may be stored.
[0123] また、利用状況データベース 33aをユーザやユーザ端末 4の識別情報や固有の鍵 によって暗号ィ匕することによって、利用状況データベース 33aの中身が実質的に空 であったとしても、復号鍵解読部 34が、利用状況データベース 33aの存在を確認す るようにすれば、自ずとユーザやユーザ端末 4の認証を行うことにもなり、元ファイル の利用権限を有していないユーザやユーザ端末 4による不正利用の防止に一層効 果がある。 [0123] Further, by decrypting the usage status database 33a with the identification information of the user or the user terminal 4 or a unique key, the decryption key decryption can be performed even if the usage status database 33a is substantially empty. If the part 34 confirms the existence of the usage status database 33a, the user and the user terminal 4 are automatically authenticated, and the user and the user terminal 4 who do not have the authority to use the original file. More effective in preventing unauthorized use.
[0124] ここで、パッケージファイルのデータ構造の一例を図 5に示す。図 5に基づいて説明 すると、ノ ッケージファイルは、ルートディレクトリの下に、復号鍵及び利用権限の取 得経路及び取得順序を示す鍵取得経路ディレクトリと、ポリシーオブジェクト毎の利 用条件を示す利用条件ディレクトリと、暗号化された元ファイルを格納するファイルデ ィレクトリと、ファイル基本情報の 4つのディレクトリによって構成されている。  Here, an example of the data structure of the package file is shown in FIG. To explain based on Fig. 5, the knock file is used under the root directory, the key acquisition path directory indicating the acquisition path and acquisition order of the decryption key and the usage right, and the usage conditions indicating the usage conditions for each policy object. It consists of four directories: a condition directory, a file directory that stores encrypted original files, and basic file information.
[0125] 尚、鍵取得経路ディレクトリと、利用条件ディレクトリがポリシーファイルに相当する 部分で、ノ ッケージ部 23によって、このポリシーファイルと、暗号ィ匕された元ファイル と、ファイル基本情報とをパッケージしたの力 このパッケージファイルということになる  [0125] It should be noted that the key acquisition path directory and the usage condition directory correspond to the policy file, and the policy file, the encrypted original file, and the basic file information are packaged by the knocking unit 23. The power of this package file
[0126] 鍵取得経路ディレクトリ下には、複数のポリシーオブジェクトが順番に並び、最終的 に取得可能な利用権限及び復号鍵も含まれている。そして、各ポリシーオブジェクト 内には、照合'更新手段 34aを起動し、次のポリシーオブジェクトを開くための鍵が含 まれている。 [0126] A plurality of policy objects are arranged in order under the key acquisition path directory, and the usage authority and the decryption key that can be finally acquired are also included. Each policy object includes a key for starting the collation / update means 34a and opening the next policy object.
[0127] 尚、図 5中、点線枠で囲まれた部分のポリシーオブジェクトと利用条件は、実際には 、ポリシーファイル内に含まれておらず、サーバ 5に格納されている。このように、ポリ シーファイルの一部または全ては、サーバ 5から取得することも可能である。ポリシー ファイルの一部または全てをサーバ 5内に置くことによって、ポリシーファイルの改ざ ん等の不正行為を一層防止することが出来る。 Note that, in FIG. 5, the policy object and the usage conditions in the portion surrounded by the dotted frame are not actually included in the policy file, but are stored in the server 5. In this way, a part or all of the policy file can be obtained from the server 5. policy Placing some or all of the files in the server 5 can further prevent fraudulent actions such as policy file tampering.
[0128] また、利用条件ディレクトリ下には、生成されたポリシーオブジェクトの種類に応じて 、利用条件の初期値が含まれており、データベース生成部 33は、ユーザ端末 4が元 ファイルを初回利用する時に、この利用条件の初期値を利用状況データベース 33a にコピー又は移動する。尚、利用状況データベース 33aの生成場所や利用状況の更 新方法にっ 、ても、利用条件ディレクトリに格納されて ヽてもよ ヽ。  [0128] In addition, the usage condition directory includes initial values of usage conditions according to the type of policy object generated, and the database generation unit 33 uses the original file for the first time by the user terminal 4. Sometimes, the initial value of this usage condition is copied or moved to the usage status database 33a. It should be noted that even if the usage database 33a is generated and the usage status is updated, it may be stored in the usage conditions directory.
[0129] 尚、利用条件の初期値が必要なポリシーオブジェクトとは、前述したように、例えば 、元ファイルの利用可能回数のように、ファイルの利用都度、その利用状況を更新し 、次回のファイル利用時には更新された利用状況との比較を行う種類のものである。 また、初期値を必要としないポリシーオブジェクトとは、例えば、元ファイルの利用期 限のように、利用条件と、更新を必要としない利用状況との比較を行う種類のもので ある。  Note that, as described above, the policy object that requires the initial value of the use condition is, for example, the use status of the original file is updated each time the file is used, and the next file is used. In use, this is a type of comparison with the updated usage status. A policy object that does not require an initial value is a type that compares a usage condition and a usage situation that does not require updating, such as the usage period of an original file.
[0130] ここで、例えば、利用可能回数に関する利用条件の初期値は、例えば、 10回であ れば 10回である力 利用状況データベース 33aに格納される数値は、「0回」もしくは 「10回」となる。  [0130] Here, for example, the initial value of the usage condition relating to the number of times of use is, for example, 10 times if it is 10. The numerical value stored in the power usage database 33a is "0 times" or "10 Times ".
[0131] 仮に、「10回」と格納されている場合には、利用状況データベース 33aは、元フアイ ルの利用の都度、 1回ずつ回数を減らすように更新され、「0回」になった時点で元フ アイルを利用出来なくなるので、照合,更新手段 34aに於ける照合作業は実質的に 不要となる。  [0131] If “10 times” is stored, the usage status database 33a is updated to reduce the number of times by 1 each time the original file is used, and becomes “0 times”. Since the original file can no longer be used at that time, the collating work in the collating / updating means 34a becomes substantially unnecessary.
[0132] 一方、「0回」という格納されている場合には、照合 ·更新手段 34aは、利用回数を増 やすという利用状況データベース 33a内の更新作業を行い、かつ、利用条件との照 合作業(10回以下力どうかという判断)を行う必要がある。  [0132] On the other hand, when “0 times” is stored, the collation / update means 34a performs an update operation in the usage status database 33a to increase the number of usages, and checks the usage conditions. Work (judgment of power or less 10 times) is necessary.
[0133] つまり、復号鍵解読部 34内の照合 ·更新手段 34aは、図 6に示されるように、利用 条件の種類に応じて、鍵に対応する利用状況データベース 33aの場所を利用条件 ディレクトリ下力 探し出し、利用状況データベース 33aの更新を行ない、次の鍵を取 得する。又、場合によっては、対応する利用条件を利用条件ディレクトリ下から探し出 して、利用条件と利用状況の照合を行う。そして、図 5に示したポリシーファイル内の 分岐した各ディレクトリに格納されて ヽる鍵と利用条件と利用状況格納場所とを相互 に結び付ける役割を担う。 That is, as shown in FIG. 6, the verification / updating means 34a in the decryption key decryption unit 34 determines the location of the usage status database 33a corresponding to the key under the usage condition directory as shown in FIG. Search for power and update the usage database 33a to obtain the next key. In some cases, the corresponding usage conditions are searched from the usage conditions directory, and the usage conditions and usage status are collated. And in the policy file shown in Figure 5 It plays the role of linking the keys stored in each branched directory, usage conditions, and usage status storage locations.
[0134] ポリシーファイルを含むパッケージファイルを図 5に示したような木構造としているこ とにより、利用権限及び復号鍵は正規の順序を経ないと取得されないこととなる。又、 一方のディレクトリ内のデータが他方のディレクトリ内のデータと対応されないと復号 鍵が解読されないため、一部のディレクトリのみをコピーしたり、いずれかのディレクト リの格納場所やパス名が変わってしまうと、復号鍵解読手段との連携が行われなくな るので不正利用が行われにくい、 t 、う効果がある。  Since the package file including the policy file has a tree structure as shown in FIG. 5, the usage authority and the decryption key are not acquired unless they are in a normal order. Also, if the data in one directory does not correspond to the data in the other directory, the decryption key cannot be decrypted, so only a part of the directory is copied or the storage location or path name of one of the directories changes. If this is the case, cooperation with the decryption key decryption means will not be performed, and unauthorized use will be difficult.
実施例  Example
[0135] 次に、ファイル管理プログラム 1を用いて、あるユーザ Aがファイルのパッケージを行 ない、その後、ノ ッケージファイルに含まれたファイルを他のユーザ Bが利用する場 合のプロセスの一例を図 8から図 15までのフローチャート図及び図 1、図 2、図 4、図 6の構成図を用いて詳細に説明する。  [0135] Next, an example of a process in which a user A uses a file management program 1 to package a file, and then another user B uses the file included in the knock file. This will be described in detail with reference to the flowcharts of FIGS. 8 to 15 and the configuration diagrams of FIGS. 1, 2, 4, and 6. FIG.
[0136] 尚。本実施例では、後述するサーバ情報格納ファイルがなければ、ファイル管理プ ログラム 1の利用が出来ないものとする。従って、サーバ情報格納ファイル力 フアイ ル管理プログラム 1のインストールと同時にユーザ端末 4に格納される力 または、ィ ンストーラカ サーバ情報格納ファイルの存在を条件としてファイル管理プログラム 1 のインストールを可能とするように構成されて 、ることが望ま 、。  [0136] Incidentally. In this embodiment, it is assumed that the file management program 1 cannot be used without a server information storage file to be described later. Therefore, it is possible to install the file management program 1 on condition that the server information storage file power file management program 1 is installed and the file stored in the user terminal 4 at the same time or the existence of the installer server information storage file exists. Desirable to be,
[0137] まず、ファイル管理プログラム 1を用いるユーザ A, Bの双方は、それぞれにファイル 管理プログラム 1の利用規約に同意した後、ユーザ登録を完了しておく必要がある。  First, both users A and B who use the file management program 1 must complete user registration after agreeing to the terms of use of the file management program 1.
[0138] このユーザ登録の流れの一実施例について以下、図 8のフローチャート図を参照し ながら説明する。尚、以下のユーザ登録フローは、ユーザ A, Bともに同じであり、ュ 一ザ及びユーザ端末 4の別を問わな 、。  An example of this user registration flow will be described below with reference to the flowchart of FIG. Note that the following user registration flow is the same for both users A and B, regardless of whether the user or user terminal 4 is different.
[0139] ユーザ端末 4は、ネットワーク 6を介して、サーバ 5等のコンピュータに格納されてい るユーザ登録用ホームページにアクセスするため、ユーザ登録用ホームページの u [0139] Since the user terminal 4 accesses the user registration home page stored in the computer such as the server 5 via the network 6, the user registration home page u
RLを入力して、サーバ 5に送信する(S110)。 RL is input and transmitted to server 5 (S110).
[0140] サーバ 5は、ユーザ端末 4から受信した URLにあるユーザ登録用ホームページの データをユーザ端末 4に送信する(S115)。 [0141] サーバ 5は、ユーザ端末 4上に、ユーザ登録用ホームページ内のユーザ登録画面 を表示させる。ユーザは、ユーザ登録画面上で、ユーザの識別情報やユーザ端末 4 の識別情報等の登録情報を入力し、サーバ 5に送信する(S120)。尚、ユーザ端末 4 の識別情報等は、ユーザが入力しなくとも、ユーザ端末 4力 自動的に抽出され、サ ーバ 5に送信されてもよい。 [0140] The server 5 transmits the user registration home page data in the URL received from the user terminal 4 to the user terminal 4 (S115). [0141] The server 5 displays on the user terminal 4 a user registration screen in the user registration home page. The user inputs registration information such as user identification information and user terminal 4 identification information on the user registration screen, and transmits the registration information to the server 5 (S120). Note that the identification information and the like of the user terminal 4 may be automatically extracted and transmitted to the server 5 without the user inputting it.
[0142] サーバ 5は、ユーザ端末 4力も受信した登録情報をチェックし (S 125)、入力漏れ等 の不備があれば(S130)、エラーメッセージをユーザ端末 4に送信する(S135)。尚、 入力漏れ等の不備ではなぐ例えば、登録情報に含まれるユーザのメールアドレスが 既にサーバ 5のユーザデータベース 55に登録済みであり(S140)、登録情報の一部 が既登録の登録情報と異なる場合には、登録情報の更新がされたと判断し、サーバ 5のユーザデータベース 55内の登録情報を更新する(S 145)。  [0142] The server 5 checks the registration information also received by the user terminal 4 (S125), and if there is a deficiency such as omission of input (S130), an error message is transmitted to the user terminal 4 (S135). For example, the user's e-mail address included in the registration information has already been registered in the user database 55 of the server 5 (S140), and some of the registration information is different from the registered information. In this case, it is determined that the registration information has been updated, and the registration information in the user database 55 of the server 5 is updated (S 145).
[0143] 登録情報に不備や二重登録の恐れがなければ、サーバ 5は、ユーザの公開鍵と秘 密鍵のペアを生成し、サーバ 5のユーザデータベース 55に格納する(S150)。ここで 生成された公開鍵と秘密鍵のペアは、後で、ユーザ端末 4とサーバ 5とが何らかのデ ータの送受信を行う際や、ユーザ端末 4自体がユーザの認証を行う際に用いられる 力 鍵の生成は必須ではない。  [0143] If there is no fear of incomplete registration or double registration in the registration information, the server 5 generates a user public key / private key pair and stores it in the user database 55 of the server 5 (S150). The public / private key pair generated here is used later when the user terminal 4 and the server 5 transmit / receive any data or when the user terminal 4 itself authenticates the user. Force key generation is not mandatory.
[0144] 更に、サーバ 5は、ユーザ毎にユニークな ID (ユーザ UID)と、ユーザ端末 4毎にュ ニークな ID (ユーザ端末 UID)を生成し、これらとともに登録情報をユーザデータべ ース 55に格納し (S155)、ユーザ端末 4に登録完了メッセージとともに、格納された 登録情報と、生成された公開鍵と秘密鍵と、ユーザ UIDとユーザ端末 UIDとを送信 する(S160)。公開鍵と秘密鍵の生成が行われな力つた場合には、鍵の送信は不要 である。  [0144] Furthermore, the server 5 generates a unique ID (user UID) for each user and a unique ID (user terminal UID) for each user terminal 4, and stores the registration information together with these IDs. (S155), and transmits the registration information stored, the generated public key and private key, the user UID and the user terminal UID together with the registration completion message to the user terminal 4 (S160). If the public key and private key are not generated, it is not necessary to send the key.
[0145] 尚、公開鍵と秘密鍵の送信の安全性に問題があるような場合には、これらの鍵を、 サーバ 5の秘密鍵で暗号ィ匕して、サーバ 5の署名を付したり、ユーザ端末 4の MAC アドレス等のユニークな識別情報によって暗号ィ匕して、ユーザ登録がされたユーザ端 末 4にお 、てしか、鍵を知ることが出来な 、ようにすることが出来る。  [0145] If there is a problem with the security of the transmission of the public key and the private key, these keys are encrypted with the private key of the server 5, and the signature of the server 5 is attached. The user terminal 4 is encrypted with unique identification information such as the MAC address of the user terminal 4 so that the user terminal 4 registered as a user can only know the key.
[0146] ユーザ端末 4は、サーバ 5が指定するユーザ端末 4内の所定の場所 (例えば、レジ ストリ内の所定の場所)に、登録情報を格納する(S 165)。尚、この所定の場所とは、 予め生成された利用状況データベース 33aであってもよい。 [0146] The user terminal 4 stores the registration information in a predetermined location in the user terminal 4 specified by the server 5 (for example, a predetermined location in the registry) (S165). In addition, with this predetermined place The usage status database 33a generated in advance may be used.
[0147] 次に、ユーザ登録を行ったユーザ A力 任意のファイルをパッケージする流れの一 実施例について以下、図 9から図 11までのフローを参照しながら説明する。尚、この 前提として、ユーザ Aは、上述したようにサーバ 5にユーザ登録を行っている他、ユー ザ Aのユーザ端末 Aに、図 2に示したようなファイルパッケージプログラム 2をインスト ールしているものとする。  Next, an example of the flow of packaging an arbitrary file for user A who has performed user registration will be described below with reference to the flow from FIG. 9 to FIG. As a premise, user A not only registers as server 5 as described above, but also installs file package program 2 as shown in FIG. 2 on user terminal A of user A. It shall be.
[0148] ユーザ端末 Aは、インストールされているファイルパッケージプログラム 2を、画面上 のアイコンをダブルクリックする等して起動する(S210)。  [0148] The user terminal A activates the installed file package program 2 by double-clicking an icon on the screen (S210).
[0149] ユーザ端末 Aの画面上には、図 16に示すように、ファイルパッケージプログラム 2へ のログイン画面が現われるので、ユーザ端末 Aは、登録ユーザか否かの認証を行う( もしくはサーバ 5に要求する)ため、ログイン IDとパスワードの入力を、キーボード等の 入力デバイス力も受け付ける(S215)。尚、本実施例では、ログイン IDは、ユーザ登 録時に登録されたユーザのメールアドレスであり、パスワードは、ユーザ登録時にュ 一ザが指定し、サーバ 5の認証データベース 57に、ログイン IDと対応させて格納して いる文字列である。  [0149] As shown in FIG. 16, a login screen for the file package program 2 appears on the screen of the user terminal A, so that the user terminal A authenticates whether or not it is a registered user (or the server 5). Therefore, it accepts input devices such as a keyboard for input of login ID and password (S215). In this embodiment, the login ID is the user's email address registered at the time of user registration, and the password is specified by the user at the time of user registration, and the login ID corresponds to the authentication database 57 on the server 5. This is a character string that is stored.
[0150] 更に本実施例では、登録ユーザの認証精度を向上させるため、先に入力したパス ワードによる認証を行う他、第 2パスワードによる認証も行う。ここで、第 2パスワードと は、ユーザが任意に指定することが出来る認証デバイス力 得られる認証結果である  [0150] Furthermore, in this embodiment, in order to improve the accuracy of authentication of registered users, authentication using the second password is performed in addition to authentication using the previously input password. Here, the second password is an authentication result obtained by the authentication device that can be arbitrarily specified by the user.
[0151] 認証デバイスは、ユーザ端末 Aに接続されていればよぐどんな種類のものでもよ い。認証デバイスの認証方式としては、大別して、パスワードベースの認証、所有物 認証 (ICカード、 PKI証明書を用いる ICカード、 USBキー、 USBトークン等)、生体 認証 (指紋、声紋、声紋、筆跡、顔、静脈等)の 3種類がある。 [0151] The authentication device may be of any kind as long as it is connected to user terminal A. Authentication devices can be roughly classified into password-based authentication, property authentication (IC card, IC card using PKI certificate, USB key, USB token, etc.), biometric authentication (fingerprint, voiceprint, voiceprint, handwriting, (Face, vein, etc.)
[0152] 本実施例では、どのような種類の認証デバイスカゝらユーザの認証結果をもらっても 、サーバ 5もしくはユーザ端末 Aがユーザ認証を行えるようにするため、また、ユーザ 力 ユーザ認証の数、組合わせを任意に変えることが出来るようにするための認証ィ ンターフェースを、サーバ 5もしくはユーザ端末 A内に有している。尚、認証インター フェースが、ユーザ端末 A内にあるのは、ユーザがサーバ 5にアクセスしないで、ユー ザ端末 A内での認証を要求する場合である。 [0152] In this embodiment, the server 5 or the user terminal A can perform user authentication regardless of the type of authentication device user, and the number of user authentications The server 5 or user terminal A has an authentication interface so that the combination can be changed arbitrarily. The authentication interface is in user terminal A because the user does not access the server 5 and This is a case where authentication within the terminal A is requested.
[0153] 認証インターフェースは、上記の認証方式を、(1)暗号ロジックが入るもの(一部の I Cカード、 USBキー、生体認証等の PKIを用いるもの)、(2)認証結果 YESZNOの 2値のみ出力するもの(一部の生体認証、ノ スワードベースの認証)、(3)何らかの文 字列を出力するもの(一部の USBキー、 MACアドレス、 BIOSシリアルナンバー等の デバイス IDを有するデバイス) t ヽうように、認証デバイスの出力データ (第 2パスヮー ド)の種類別に分類し、ログイン ID、パスワード、第 2パスワード、第 2パスワードの認 証種類とを対応付けて、サーバ 5もしくはユーザ端末 Aに保存しておく。  [0153] The authentication interface uses the above authentication method as follows: (1) Those that contain cryptographic logic (some IC cards, USB keys, biometrics and other PKI), (2) Authentication result YESZNO binary (3) Those that output some character strings (some devices with device IDs such as USB key, MAC address, BIOS serial number, etc.) t As you can see, it is classified by the type of output data (second password) of the authentication device, and the login ID, password, second password, and authentication type of the second password are associated with each other, and the server 5 or user terminal Save to A.
[0154] 尚、(1)の暗号ロジックが入る認証方式の場合には、ログイン ID、ノ スワード、第 2 パスワード、第 2パスワードの認証種類に加え、第 2パスワードを PKI証明書に基づく ユーザの公開鍵 (以降、 PKI公開鍵という)で暗号化しユーザの秘密鍵 (以降、 PKI 秘密鍵と 、う)で署名したデータ (テンプレートデータ)力 サーバ 5もしくはユーザ端 末 Aに保存される。  [0154] In the case of an authentication method that includes the encryption logic of (1), in addition to the login ID, password, second password, and second password authentication type, the second password is assigned to the user based on the PKI certificate. Data (template data) encrypted with the public key (hereinafter referred to as PKI public key) and signed with the user's private key (hereinafter referred to as PKI private key) is stored in server 5 or user terminal A.
[0155] 認証インターフェースは、ユーザからの要求によって決定した認証デバイス、もしく は、認証インターフェース側で予め決めた認証デバイスから出力されたユーザの第 2 パスワードと、当該認証デバイスの種類を、ログイン ID、ノ スワードとともにユーザ端 末 A力 受け取って、既に保存されて 、るデータと照合する。  [0155] The authentication interface determines the authentication device determined by the request from the user, or the user's second password output from the authentication device determined in advance on the authentication interface side, and the type of the authentication device. The user terminal A force is received together with the password, and is compared with the data already stored.
[0156] 尚、認証デバイス力 暗号化ロジックの入るものであれば、認証インターフェースは 、既にサーバ 5もしくはユーザ端末 Aに保存されているテンプレートデータのうち、口 グィン IDに対応するテンプレートデータを受け取り、ユーザの PKI証明書によって、 署名検証及び復号ィ匕して第 2パスワードを取得し、既に保存されているデータと照合 する。  [0156] If the authentication device power encryption logic is included, the authentication interface receives the template data corresponding to the mouth guin ID out of the template data already stored in the server 5 or the user terminal A, Using the user's PKI certificate, signature verification and decryption are performed to obtain the second password, which is verified against the data already stored.
[0157] 尚、認証インターフェースでは、ログイン IDと第 2パスワードの照合のみが行われて もよぐパスワードの照合を省略してもよい。  [0157] In the authentication interface, password verification may be omitted even if only the login ID and the second password are verified.
[0158] このように構成された認証インターフェース力 サーノ 5もしくはユーザ端末 4に備え られていれば、ユーザが認証種類の数、組合わせを任意に行って、ユーザ認証を要 求することが出来、また、予め決められた認証種類の数、組合わせでのユーザ認証 を行うことも出来るので、サーバ 5もしくはユーザ端末 4は、認証デバイスが追加され た場合にも、柔軟に対応することが出来る。また、 1種類のパスワードのみによる認証 ではなくなるので、認証精度は向上し、パスワードの秘匿性を完全に保つ必要はなく なり、パスワードそのものをユーザ端末 4に保存しておくことも可能となる。 [0158] If the authentication interface power Sano 5 or the user terminal 4 configured as described above is provided, the user can request user authentication by arbitrarily performing the number and combination of authentication types, In addition, since user authentication can be performed with a predetermined number of authentication types and combinations, an authentication device is added to the server 5 or the user terminal 4. It is possible to respond flexibly to the case. In addition, since the authentication is not performed using only one type of password, the accuracy of authentication is improved, and it is not necessary to maintain the confidentiality of the password completely, and the password itself can be stored in the user terminal 4.
[0159] 図 9のフローチャート図の説明に戻ると、認証インターフェースは、上述したように任 意の認証デバイス力 第 2パスワードを取得する(S220)。 Returning to the description of the flowchart in FIG. 9, the authentication interface obtains an arbitrary authentication device power second password as described above (S220).
[0160] ここで、ユーザ Aは、ユーザ端末 Aにおけるユーザ認証(ローカルログイン) 、サー ノ 5におけるユーザ認証 (サーバログイン)かのいずれかを選択する(S225)。 Here, user A selects either user authentication (local login) at user terminal A or user authentication (server login) at server 5 (S225).
[0161] 尚、ローカルログインを行うためには、図 8のユーザ登録フローの中で、ユーザ Aの 公開鍵と秘密鍵のペアが生成されており、かつ、ログイン ID、パスワード、第 2パスヮ ードとが対応付けられてユーザ端末 Aに保存されており、更に、生成された秘密鍵が 第 2パスワードによって暗号ィ匕された状態で、ユーザ端末 Aに保存されて 、ることが 必要である。 [0161] In order to perform local login, a pair of public key and private key of user A is generated in the user registration flow of Fig. 8, and the login ID, password, and second pass password are also generated. Stored in user terminal A, and the generated private key must be stored in user terminal A with the second password encrypted. .
[0162] ローカルログインが選択された場合は、認証インターフェースは、ユーザ端末 Aでュ 一ザ認証を行うのに必要なユーザ情報(ログイン ID、パスワード、第 2パスワード、認 証種類、公開鍵と秘密鍵のペア、第 2パスワードで暗号化された秘密鍵)が登録され ている力否かを確認する(S230)。当該ユーザ情報のうち、いずれか 1つでも登録さ れていなければ、図 9の Bのサーバログインのフローに進む。また、ローカルログイン が選択されな力つた場合にも、図 9の Bに進む。  [0162] When local login is selected, the authentication interface displays the user information (login ID, password, second password, authentication type, public key and secret) required for user authentication on user terminal A. It is checked whether the key pair and the private key encrypted with the second password are registered (S230). If any one of the user information is not registered, the process proceeds to the server login flow in FIG. If local login is not selected, proceed to B in Figure 9.
[0163] ユーザ情報が登録されていれば、認証インターフェースは、取得したユーザ情報と ユーザ端末 Aに保存されているユーザ情報とを照合し、更に、ユーザ情報のうち、第 2パスワードで暗号ィ匕された秘密鍵を、認証インターフェースが取得した第 2パスヮー ドによって復号化し、復号化された秘密鍵を、ユーザ端末 Aに既に保存されている秘 密鍵と照合する(S235)。  [0163] If the user information is registered, the authentication interface compares the acquired user information with the user information stored in the user terminal A, and further, the user information is encrypted with the second password. The decrypted secret key is decrypted with the second pass key acquired by the authentication interface, and the decrypted secret key is compared with the secret key already stored in the user terminal A (S235).
[0164] 本実施例における秘密鍵の照合方法を以下、詳細に説明する。本実施例では、ュ 一ザ登録の際に、ローカルログインを行うかどうかの決定がされ、ローカルログインを 行うと決定した場合には、ユーザ端末 Aに利用状況データベース 33aが生成され、 利用状況データベース 33a内に、ユーザ Aの公開鍵と秘密鍵を含むユーザ情報が 格納される。 [0165] 更に、ユーザ登録時、ユーザ Aの秘密鍵は、置換表によって別の鍵に置換された 後、利用状況データベース 33aを暗号ィ匕する。 [0164] The secret key verification method in the present embodiment will be described in detail below. In this embodiment, at the time of user registration, it is determined whether or not local login is to be performed. If it is determined that local login is to be performed, the usage status database 33a is generated on the user terminal A, and the usage status database is User information including the public key and private key of user A is stored in 33a. [0165] Further, at the time of user registration, after the user A's private key is replaced with another key by the replacement table, the usage status database 33a is encrypted.
[0166] 置換表は、乱数等で生成された暗号解読表の一種であり、置換前と置換後の対応 を表す表である。本実施例では、後述するように、この置換表を用いて、ポリシーファ ィルの暗号化も行っている。これにより、ポリシーファイルが直接、利用者や悪意者の 目に触れられることがなぐポリシーファイルの解読や不正利用がしづらくなる。  [0166] The replacement table is a kind of cryptanalysis table generated with random numbers and the like, and is a table showing the correspondence before and after replacement. In this embodiment, as will be described later, the policy file is also encrypted using this substitution table. This makes it difficult to decipher or illegally use the policy file, which cannot be directly seen by the user or the Service-to-Self.
[0167] 置換表は、サーバ情報格納ファイルに格納されている。サーバ情報格納ファイルは 、サーバ 5毎に生成されるファイルであり、つまりサーバ 5を識別するためのファイルで もある。従って、ユーザ端末 Aがアクセスするサーバ 5の URLが変更される場合等に は、サーバ情報格納ファイル自体も変更されること〖こなる。  [0167] The replacement table is stored in the server information storage file. The server information storage file is a file generated for each server 5, that is, a file for identifying the server 5. Accordingly, when the URL of the server 5 accessed by the user terminal A is changed, the server information storage file itself is also changed.
[0168] サーバ情報格納ファイルには、置換表の他、サーバ情報格納ファイルの対応する サーバ 5がファイル管理プログラム 1の利用を許容するユーザ IDの範囲と、サーバ 5 側のプログラムの URLと、ユーザ端末 Aとサーバ 5が通信するための鍵 (例えば、サ ーバ 5の公開鍵等)が含まれている。尚、ここでの、ユーザ IDの範囲は、ユーザ IDの スタート値とマスク値 (範囲)であってもよ!/、。  [0168] The server information storage file includes a replacement table, a range of user IDs that the server 5 corresponding to the server information storage file allows to use the file management program 1, the URL of the program on the server 5 side, A key for communication between the terminal A and the server 5 (for example, the public key of the server 5) is included. The user ID range here may be the start value and mask value (range) of the user ID! /.
[0169] サーバ 5側のプログラムの URLと、ユーザ端末 Aとサーバ 5が通信するための鍵は 、ユーザ端末 Aがサーバ 5にアクセスしてきた際に、サーバ 5側のプログラムを初期化 して、サーバ 5の負担を軽減するため、また、ユーザ端末 Aからの暗号ィ匕通信を解読 するためのものである。  [0169] The URL of the program on the server 5 side and the key for communication between the user terminal A and the server 5 initialize the program on the server 5 side when the user terminal A accesses the server 5, This is to reduce the burden on the server 5 and to decrypt the encrypted communication from the user terminal A.
[0170] 本実施例では、ユーザ Aが、ファイル管理プログラム 1をユーザ端末 Aに格納する 際に、サーバ情報格納ファイルを一緒に格納するようになっており、また、サーバ情 報格納ファイルが一緒に格納されなければ、ファイル管理プログラム 1を格納すること が出来ないようになつている。これにより、ノ ッケージファイルの単独での不正利用を 防止することが出来る。  [0170] In this embodiment, when the user A stores the file management program 1 in the user terminal A, the server information storage file is stored together, and the server information storage file is stored together. If the file management program 1 is not stored, the file management program 1 cannot be stored. This prevents unauthorized use of the knock file alone.
[0171] 認証インターフェースは、暗号ィ匕された秘密鍵を、認証デバイス力も取得した第 2パ スワードで復号ィ匕して秘密鍵を得て(S235)、更に、秘密鍵をサーバ情報格納フアイ ル中の置換表で置換して、暗号化された利用状況データベース 33aを復号化する。 復号ィ匕された利用状況データベース 33a内に保存されているユーザ情報と、認証ィ ンターフェースが取得したユーザ情報とを照合して問題がなければ、ユーザ Aは、認 証(ログイン)に成功したことになる(S240、 S245)。 [0171] The authentication interface decrypts the encrypted secret key with the second password that has also acquired the authentication device power to obtain the secret key (S235), and further stores the secret key in the server information storage file. The encrypted usage database 33a is decrypted by replacing with the replacement table in the table. The user information stored in the decrypted usage database 33a and the authentication If there is no problem comparing the user information acquired by the interface, user A has succeeded in authentication (login) (S240, S245).
[0172] ユーザ Aがログインに成功すると、ユーザ端末 Aの画面上に、利用状況データべ一 ス 33a内に保存されて 、るユーザ情報のうち、名前や所属名等の情報が表示される( これをユーザ情報回復と 、う)。 [0172] When user A successfully logs in, information such as the name and affiliation name is displayed on the screen of user terminal A among the user information stored in the usage status database 33a ( This is called user information recovery).
[0173] 尚、ここまでのログイン過程で、置換表が存在しない、復号化がされない、照合結果 が正しくない等の問題があれば、ログイン失敗となり(S250)、以降の手続きに進むこ とは出来ない。  [0173] In addition, if there is a problem such as no substitution table, decryption, incorrect collation result, etc. in the login process so far, login failure (S250) and proceeding to the following procedures I can't.
[0174] 次に、図 10のフローチャート図を参照しながら、サーバ 5ログインの場合の流れを説 明する。認証インターフェースは、ユーザ端末 UIDがユーザ端末 Aに登録されている カゝどうか確認する(S310)。尚、本実施例では、ユーザ端末 UIDが登録されているか どうかは、ユーザ端末 Aに、利用状況データベース 33aが生成され、かつ、利用状況 データベース 33a内にユーザ端末 UIDが保存されているかどうかによつて確認する ことが出来る。その他、ユーザ端末 Aの MACアドレス等の識別情報をユーザ端末 A 自身力も検出して、当該識別情報で暗号化された利用状況データベース 33aを復号 化することが出来るか等の方法によっても確認することが出来る。  Next, the flow in the case of server 5 login will be described with reference to the flowchart of FIG. The authentication interface checks whether the user terminal UID is registered in user terminal A (S310). In this embodiment, whether or not the user terminal UID is registered depends on whether or not the usage status database 33a is generated in the user terminal A and the user terminal UID is stored in the usage status database 33a. Can be confirmed. In addition, identification information such as the MAC address of user terminal A is also detected by the user terminal A itself, and it is also confirmed by a method such as whether the usage status database 33a encrypted with the identification information can be decrypted. I can do it.
[0175] ユーザ端末 UIDが登録されていなければ、認証インターフェースは、サーバ 5にュ 一ザ端末 Aの識別情報を送信する(S315)。サーバ 5は、当該ユーザ端末 Aの識別 情報に基づいて、ユーザ端末 UIDを生成し、登録する(S320)。  [0175] If the user terminal UID is not registered, the authentication interface transmits the identification information of the user terminal A to the server 5 (S315). The server 5 generates and registers the user terminal UID based on the identification information of the user terminal A (S320).
[0176] ユーザ端末 UIDがユーザ端末 Aに登録されれば、認証インターフェースは、サー バ 5に、ユーザ Aのログイン ID、パスワード、第 2パスワード、第 2パスワードの認証種 類を送信する(S325)。  [0176] If the user terminal UID is registered in user terminal A, the authentication interface sends the login ID, password, second password, and second password authentication type of user A to server 5 (S325). .
[0177] サーバ 5は、図 2に示された認証部 54において、送信された情報と認証データべ一 ス 57に保存されている情報とを照合し(S330)、問題なければ、ユーザデータベース 55に保存されているユーザ情報をユーザ端末 Aに送信する(S335)。尚、この時、 サーバ 5は、ユーザ端末 Aのユーザ情報とともに、他の登録ユーザのメールアドレスリ ストや、公開鍵リストを送信することも出来る。  The server 5 collates the transmitted information with the information stored in the authentication database 57 in the authentication unit 54 shown in FIG. 2 (S330). The user information stored in is transmitted to the user terminal A (S335). At this time, the server 5 can transmit the mail address list of other registered users and the public key list together with the user information of the user terminal A.
[0178] 照合の際に、問題があれば、ユーザ端末 Aにエラーメッセージを送信する(S340) [0179] サーバ 5からユーザ情報を受信したということは、ユーザ Aがログインに成功したと いうことを意味する(S345)。ユーザ端末 Aは、このユーザ情報に基づいて、画面上 に、ユーザ名、所属名等の情報を表示させる(ユーザ回復という)。 [0178] If there is a problem during verification, an error message is transmitted to user terminal A (S340). [0179] Receiving the user information from the server 5 means that the user A has successfully logged in (S345). Based on this user information, the user terminal A displays information such as the user name and affiliation name on the screen (referred to as user recovery).
[0180] ここ力 は、図 2の構成図と、図 11のフローチャート図を参照しながら説明する。ュ 一ザ端末 Aは、ログインが完了したユーザに対して、ファイルパッケージプログラム 2 のファイルパッケージ用画面を表示する。図 17、図 18に、ファイルパッケージ用画面 の一例を示す。  [0180] This force will be described with reference to the block diagram of FIG. 2 and the flowchart of FIG. User terminal A displays the file package screen of file package program 2 for the user who has logged in. Figures 17 and 18 show examples of file package screens.
[0181] ユーザ Aは、ファイルパッケージ用画面の任意のボタンをクリックする等して、フアイ ルパッケージプログラム 2内の機能ブロックを有効にすることが出来る。  [0181] User A can activate the function block in the file package program 2 by clicking any button on the file package screen.
[0182] 本実施例では、まず、ファイル指定部 21は、ユーザ Aから、管理の対象としたいファ ィルの指定を受け付ける(S410)。図 17においては、暗号ィ匕対象ファイルの指定の 参照ボタン、図 18においては、ファイル追加ボタン力 ファイルの指定受付に相当し ている。  In the present embodiment, first, the file designating unit 21 receives from the user A designation of a file to be managed (S410). In FIG. 17, this corresponds to the reference button for specifying the encryption target file, and in FIG.
[0183] 次に、ポリシー策定部 22は、ユーザ Aから、ファイル指定部 21で指定したファイル( 以下、元ファイルという)を他のユーザが利用する際のポリシーの策定を受け付ける( S420)。図 17においては、セキュリティポリシーの設定画面における入力、図 18に おいては、ポリシー設定画面における入力力 ポリシーの策定の受付に相当している  [0183] Next, the policy formulation unit 22 receives from the user A policy formulation when another user uses the file specified by the file specification unit 21 (hereinafter referred to as the original file) (S420). In Fig. 17, it corresponds to the input on the security policy setting screen, and in Fig. 18 it corresponds to the reception of the input force policy development on the policy setting screen.
[0184] 本実施例では、元ファイルの利用権限が与えられるユーザ Zグループ (例えば、ュ 一ザ Bや、開発グループ A等)、元ファイルの利用期限、元ファイルの利用回数、元フ アイルを利用するためのパスワード、元ファイルの利用権限 (利用形態)等のポリシー を策定する。 In this embodiment, the user Z group (for example, User B or development group A) to whom the use authority of the original file is given, the expiration date of the original file, the number of times of use of the original file, and the original file are displayed. Develop policies such as the password to use and the authority to use the original file (usage mode).
[0185] ポリシーは、図 17においては、許可ユーザ Zグループの選択、許可する操作(印 刷、編集、保存、閲覧)の選択、閲覧条件 (期間、回数、ファイルパスワード)の選択 から構成されており、図 18においては、動作 (見る、プリント、保存、編集)の設定、期 間と回数 (期間、期限、回数)の設定、ユーザとグループの設定、サーバチェック (使 用都度サーバ 5で権利をチェックする力、一定の頻度でサーノ 5で権利をチェックす るか、使用できるクライアント (端末)数を制限するか)の設定、パスワードの設定から 構成されている。 [0185] In FIG. 17, the policy consists of selecting an authorized user Z group, selecting an operation to be permitted (printing, editing, saving, viewing), and selecting viewing conditions (period, number of times, file password). In Fig. 18, operation (view, print, save, edit) settings, period and number of times (period, period, number of times) settings, user and group settings, server check (right on server 5 each time it is used) Power to check, check rights with Sano 5 at a certain frequency Or limit the number of clients (terminals) that can be used) and password settings.
[0186] 尚、本実施例では、元ファイルの利用権限が与えられるユーザは、登録ユーザに 限られ、ユーザ端末 Aは、予め、サーバ 5から受信した登録ユーザのメールアドレスリ ストに基づいて、ユーザを選択する。ユーザは、例えば、所属グループ毎等に一括し て選択されてもよい。図 22に、図 17の画面内の許可ユーザ Zグループの選択画面 の一例を示す。図 22に示したように、画面上の左段に表示されたアドレス帳の中から 許可ユーザ Zグループをクリック等によって指定し、右段の許可ユーザ Zグループ 欄に表示されるようにする。  In this embodiment, the user who is given the authority to use the original file is limited to the registered user, and the user terminal A preliminarily receives the registered user's mail address list received from the server 5 based on the registered user's mail address list. Select a user. For example, the users may be selected in a batch for each group. FIG. 22 shows an example of the screen for selecting the authorized user Z group in the screen of FIG. As shown in Fig. 22, from the address book displayed on the left side of the screen, the authorized user Z group is specified by clicking, etc., so that it is displayed in the allowed user Z group column on the right side.
[0187] ポリシー策定部 22は、ユーザ Aがユーザ端末 A上で策定したポリシーに基づいて、 XML文を生成する(S425)。尚、ここで XML文が生成されるのは、策定されたポリシ 一の構造を明確ィ匕し、ポリシーオブジェ外と、利用権限と、復号鍵と、利用条件とか らなるポリシーファイルを生成しやすくするためである力 必ずしも、 XML文が生成さ れる必要はない。  [0187] The policy formulation unit 22 generates an XML sentence based on the policy formulated by the user A on the user terminal A (S425). Note that the XML sentence is generated here by clarifying the structure of the established policy, and it is easy to generate a policy file that includes the policy object, usage rights, decryption key, and usage conditions. The power to do that It is not always necessary to generate an XML sentence.
[0188] 尚、 XML文の生成は、例えば、図 17において、暗号化ボタンがクリックされた時に 行われてもよいし、図 18においては、ポリシーを保存するボタンがクリックされた時に 行われてもよい。  [0188] The generation of the XML sentence may be performed, for example, when the encryption button is clicked in FIG. 17, or in FIG. 18, when the button for saving the policy is clicked. Also good.
[0189] ここでユーザ Aは、ユーザ端末 A上で、ポリシーファイルの生成を行う(ローカルパッ ケージ)か、サーバ 5上でポリシーファイルの生成を行う(サーバパッケージ)かを選択 する(S430)。  Here, user A selects whether to generate a policy file on user terminal A (local package) or to generate a policy file on server 5 (server package) (S430).
[0190] ユーザ Aによって、ローカルパッケージが選択された場合、後述するように、ユーザ 端末 Aで鍵が生成され、生成された鍵は、ユーザ Bが元ファイルを利用する際に用い られる力 この鍵はサーバ 5には保存されない。従って、元ファイルの利用許可ユー ザの認証方法は、 自ずとローカルログインにしか対応しな 、ようになる。  [0190] When a local package is selected by user A, as will be described later, a key is generated at user terminal A, and the generated key is the force used when user B uses the original file. Is not stored on server 5. Therefore, the authentication method of the authorized user of the original file can only support local login.
[0191] そのため、ユーザ端末 Aは、元ファイルの利用許可ユーザ(ここではユーザ B)毎に 予め生成された公開鍵を取得する(S435)。尚、公開鍵の取得方法は任意である。 例えば、ユーザ Aが、サーバログインを行った場合には、ログイン成功時に、サーバ 5 力も登録ユーザの公開鍵リストを受信していてもよい。また、ユーザ Aがユーザ登録を 行った際に、同様の公開鍵リストを受信していてもよい。また、都度、サーバ 5にァク セスして、利用許可ユーザの公開鍵を取得してもよい。本実施例では、公開鍵を公 開して ヽな 、ユーザに対しては、元ファイルの利用時にローカルログインを行えな!/ヽ ため、ユーザ端末 Aは、サーバパッケージし力、行なえない。 [0191] Therefore, the user terminal A obtains a public key generated in advance for each authorized user (here, user B) of the original file (S435). The public key acquisition method is arbitrary. For example, when user A logs in to the server, the server 5 may also receive the registered user's public key list upon successful login. In addition, user A performs user registration. When done, a similar public key list may be received. In addition, each time the server 5 is accessed, the public key of the authorized user can be obtained. In this embodiment, since the public key is disclosed to the user, the local login cannot be performed when the original file is used for the user! / User terminal A cannot perform the server package.
[0192] ここで、ローカルパッケージを選択したユーザ端末 Aは、図 2においてサーバ 5が有 している鍵生成部 51と同じ機能ブロックを有しているものとする。そこで、ユーザ端末 Aの鍵生成部 51は、元ファイルを暗号ィ匕するための乱数の復号鍵の他、後で生成さ れるポリシーフアイノレのポリシーオブジェクトを開くための鍵をポリシーオブジェクトの 数だけ生成する(S440)。  [0192] Here, it is assumed that the user terminal A that has selected the local package has the same functional block as the key generation unit 51 that the server 5 has in FIG. Therefore, the key generation unit 51 of the user terminal A uses a random number decryption key for encrypting the original file as well as a key for opening a policy object of a policy finale generated later for the number of policy objects. Generate (S440).
[0193] 更に、ユーザ端末 Aの鍵生成部 51もしくは、暗号化部(図示せず)は、鍵生成部 51 で生成された鍵のうち、ポリシーオブジェクトを開くための鍵を、先に取得した各利用 許可ユーザの公開鍵で暗号化する(S445)。これは、利用許可ユーザの自己の秘 密鍵でしか、鍵を復号ィ匕できないようにすることで、利用許可ユーザのみに元フアイ ルの利用をさせるためである。  [0193] Furthermore, the key generation unit 51 or the encryption unit (not shown) of the user terminal A first acquires the key for opening the policy object among the keys generated by the key generation unit 51. Encrypt with the public key of each authorized user (S445). This is because only the authorized user can use the original file by making it possible to decrypt the key only with the private key of the authorized user.
[0194] ユーザ端末 Aは、図 2においてサーバ 5が有しているポリシーファイル生成部 52と 同じ機能ブロックを有しているものとする。そこで、ユーザ端末 Aのポリシーファイル生 成部 52は、利用条件と、利用権限と、復号鍵と、ポリシーオブジェクトを開くための鍵 とを一体ィ匕して、図 5に示したようなディレクトリ構造のポリシーファイルを生成する(S 450)。本実施例では、ポリシーファイルも、策定されたポリシー同様、 XML形式で生 成される。尚、ポリシーファイルは、ここで、所定の置換表により置換されてもよい。  User terminal A is assumed to have the same functional blocks as policy file generation unit 52 of server 5 in FIG. Therefore, the policy file generation unit 52 of the user terminal A combines the usage conditions, usage rights, decryption key, and key for opening the policy object into a directory structure as shown in FIG. A policy file is generated (S450). In this embodiment, the policy file is generated in the XML format as well as the established policy. Here, the policy file may be replaced by a predetermined replacement table.
[0195] 一方、 S430において、ユーザ Aが、ローカルパッケージ以外のパッケージ方法、す なわち、サーバパッケージを選択した場合には、ユーザ端末 Aからサーバ 5に対し、 先に生成された XML形式のポリシーが送信される(S455)。  [0195] On the other hand, in S430, when user A selects a package method other than a local package, that is, a server package, the policy in XML format generated from user terminal A to server 5 first. Is transmitted (S455).
[0196] サーバ 5は、ポリシーを受信し、 XML文に含まれるポリシーの構造を解析する(S4 60)。ここで、ポリシーに基づいて、複数のポリシーオブジェクトが生成されてもよい。  [0196] The server 5 receives the policy and analyzes the structure of the policy included in the XML sentence (S460). Here, a plurality of policy objects may be generated based on the policy.
[0197] サーバ 5の鍵生成部 51は、受信したポリシーに基づいて、元ファイルを暗号ィ匕する ための乱数の復号鍵や、ポリシーオブジェクトの数だけの鍵を生成する(S465)。  Based on the received policy, the key generation unit 51 of the server 5 generates a random number decryption key for encrypting the original file and keys corresponding to the number of policy objects (S465).
[0198] サーバ 5のポリシーファイル生成部 52は、鍵生成部 51が生成した鍵に基づいて、 履歴データベース 56に元ファイルのパッケージ履歴を格納するとともに(S470)、鍵 生成部 51で生成した鍵と、ポリシー策定部 22で策定されたポリシーに基づいてポリ シーファイルを生成する(S475)。尚、ポリシーファイルは、所定の置換表により置換 されてちょい。 [0198] Based on the key generated by the key generation unit 51, the policy file generation unit 52 of the server 5 The package history of the original file is stored in the history database 56 (S470), and a policy file is generated based on the key generated by the key generation unit 51 and the policy formulated by the policy formulation unit 22 (S475). The policy file should be replaced by the specified replacement table.
[0199] サーバ 5は、生成されたポリシーファイルを、ユーザ端末 Aに送信する(S480)。  [0199] The server 5 transmits the generated policy file to the user terminal A (S480).
[0200] ユーザ端末 Aのパッケージ部 23は、ローカルパッケージの場合にユーザ端末 Aで 生成されたポリシーファイルもしくは、サーバパッケージの場合にサーバ 5で生成され たポリシーファイルに基づいて、元ファイルを復号鍵で暗号ィ匕するとともに、暗号化さ れた元ファイルとポリシーファイルとをパッケージし、パッケージファイルを生成する(S 485)。 S425力ら S485までの一連の流れは、図 17における B音号ィ匕ボタンや、図 18 におけるポリシー設定ボタンのクリックに伴い、行われてもよい。  [0200] The package part 23 of the user terminal A decrypts the original file based on the policy file generated by the user terminal A in the case of a local package or the policy file generated by the server 5 in the case of a server package. Then, the encrypted original file and the policy file are packaged to generate a package file (S485). A series of flow from S425 force to S485 may be performed in accordance with the click of the B sound key in FIG. 17 or the policy setting button in FIG.
[0201] 尚、ユーザ Aは、ユーザ A以外のユーザに元ファイルが改ざんされるのを検知でき るように、生成されたパッケージファイルに署名を付けてもよい。尚、署名は、改ざん の検知対象となる元ファイルのハッシュ値をユーザ Aの秘密鍵で暗号ィ匕して、ノ ッケ ージファイルに付される。  [0201] Note that user A may add a signature to the generated package file so that a user other than user A can detect that the original file has been tampered with. The signature is attached to the knock file by encrypting the hash value of the original file to be detected for alteration with the private key of User A.
[0202] パッケージファイルは、ユーザ Aが指定する所定の格納場所に格納される。所定の 格納場所に格納されたパッケージファイルは、利用許可ユーザが即座に開くことが出 来るよう、生成されると同時に、図 19に示すように、利用許可ユーザ宛のメールに添 付されて送信されてもよい。また、図 19の下段に示すように、メール本文に、利用許 可ユーザに設定されたポリシーに関する情報が表示されてもよい。  [0202] The package file is stored in a predetermined storage location designated by user A. The package file stored in the specified storage location is generated so that the authorized user can immediately open it. At the same time, as shown in Fig. 19, it is attached to the email addressed to the authorized user and sent. May be. Further, as shown in the lower part of FIG. 19, information on the policy set for the permitted user may be displayed in the mail body.
[0203] また、ユーザ端末 Aの検索リクエスト部 24は、ユーザ Aがパッケージファイルを作成 した履歴を履歴データベース 56に基づいて検索することが出来る。図 20、図 21に、 ユーザ端末 A上に表示されるパッケージ履歴検索画面の一例を示す。このようなパッ ケージ履歴検索画面を用いれば、ユーザ Aは、どのユーザのためにどのような利用 条件で、元ファイルをパッケージしたかを把握することが出来る。また、ポリシーの見 直しや、ポリシーの修正に伴う元ファイルの再パッケージを行うことも可能となる。  [0203] Further, the search request unit 24 of the user terminal A can search the history of the package file created by the user A based on the history database 56. 20 and 21 show an example of a package history search screen displayed on the user terminal A. FIG. By using such a package history search screen, user A can grasp for which user and under what usage conditions the original file was packaged. It is also possible to review the policy and repackage the original file as the policy is revised.
[0204] 次に、ユーザ Bが、ユーザ Aのユーザ端末 Aでパッケージされたパッケージファイル 中の元ファイルを利用する場合の一例を、図 4の構成図と、図 12〜図 15のフローチ ヤート図を参照しながら説明する。尚、ユーザ Bのユーザ端末 Bには、ファイル利用プ ログラム 3がインストールされて!/、るものとする。 [0204] Next, an example in which user B uses the original file in the package file packaged at user terminal A of user A is shown in the configuration diagram of FIG. 4 and the flowcharts of FIGS. This will be described with reference to the Yart diagram. It is assumed that file usage program 3 is installed on user terminal B of user B! /.
[0205] ユーザ Bは、ユーザ Aが先にパッケージを行ない、ユーザ端末 Bがアクセスすること が出来る記憶媒体に格納されたパッケージファイルを、ユーザ端末 B上でダブルタリ ックする等して指定する(S510)。  [0205] User B designates a package file stored in a storage medium that can be accessed by user terminal B by double-clicking on user terminal B (for example, user A first packages). S510).
[0206] 尚、ユーザ Bはユーザ Aから、ユーザ Bが利用可能な元ファイルがパッケージされた ことの通知を受ける力、もしくは、図 19に示したように、ユーザ端末 Aが元ファイルの ノ ッケージを完了すると同時に、ユーザ端末 Aからユーザ端末 Bに対して、パッケ一 ジファイルが添付された電子メールが自動的に送信されるようになって!/ヽてもよ ヽ。ま た、先にファイル利用プログラム 3を起動させ、ファイル指定部 31が、ユーザ Bが利用 した 、パッケージファイルの指定を受け付けるようにしてもよ 、。  [0206] It should be noted that user B can receive a notification from user A that the original file that can be used by user B has been packaged, or, as shown in FIG. At the same time, the user terminal A can automatically send an email with the package file attached to user terminal B! / ヽ. Alternatively, the file usage program 3 may be started first so that the file specification unit 31 accepts the specification of the package file used by the user B.
[0207] 本実施例では、ユーザ端末 Bは、ノ ッケージファイルの指定に連動して、インスト一 ル済みのファイル利用プログラム 3を起動させるようになっており、まず、ファイル利用 プログラム 3は、指定されたパッケージファイルのファイルフォーマットのチェックを行う (S515)。  [0207] In this embodiment, the user terminal B starts the installed file usage program 3 in conjunction with the designation of the knock file. First, the file usage program 3 The file format of the specified package file is checked (S515).
[0208] 更に、ファイル利用プログラム 3は、パッケージファイルから、当該パッケージフアイ ルを利用することが可能なユーザ IDの範囲に関する情報 (IDスペース情報)を取り 出し(S520)、ファイル利用プログラム 3は、取り出された IDスペース情報に対応する サーバ情報格納ファイル及び置換表が、ユーザ端末 Bに格納されて ヽるかを確認す る(S525)。ここで、置換表が存在しない場合には、パッケージファイルは、ユーザ B がファイル利用プログラム 3によって利用することが出来ないファイルであるので、ュ 一ザ端末 Bにエラー通知を行う(S530)。  [0208] Furthermore, the file usage program 3 extracts information (ID space information) on the range of user IDs that can use the package file from the package file (S520), and the file usage program 3 It is confirmed whether the server information storage file and replacement table corresponding to the extracted ID space information are stored in the user terminal B (S525). Here, if the replacement table does not exist, the package file is a file that cannot be used by the user B by the file use program 3, so an error notification is sent to the user terminal B (S530).
[0209] 置換表が存在する場合には、ファイル利用プログラム 3は、ノ ッケージファイルから 、ファイル基本情報を取り出す (S535)。  [0209] If the replacement table exists, the file using program 3 extracts the file basic information from the knock file (S535).
[0210] ファイル利用プログラム 3は、取り出されたファイル基本情報に基づ 、て、ユーザ端 末 Bの画面上に、元ファイルの利用許可ユーザ Z不許可ユーザ等のユーザリストを 表示する(S540)。  [0210] Based on the extracted file basic information, the file usage program 3 displays on the screen of the user terminal B a user list such as a user Z who is not permitted to use the original file (S540). .
[0211] ユーザ Bは、ユーザ端末 Bの画面表示に基づいて、元ファイルの利用許可ユーザ に含まれていることを確認した上で、ファイル利用プログラム 3へのログインを行う(S5 45)。ファイル利用プログラム 3へのログインの流れの一例は、先に図 9、図 10のフロ 一チャート図で、ファイルパッケージプログラム 2へのログインについて説明したのと 同様であるので、説明及び図示を省略する。 [0211] User B is the authorized user of the original file based on the screen display of user terminal B. After confirming that it is included in the file, log in to the file usage program 3 (S545). An example of the log-in flow to the file usage program 3 is the same as that described for the log-in to the file package program 2 in the flowcharts of FIGS. .
[0212] 尚、ファイル利用プログラム 3のログイン時には、ユーザ Bが、ファイル管理プログラ ム 1の登録ユーザかという認証のみならず、元ファイルの利用権限を有するものであ るかの認証が行われてもよい。その場合で、かつ、サーバログインを行う場合には、ュ 一ザ端末 Bからサーバ 5に、ユーザ Bの認証情報とともに、ノ ッケージファイルまたは 元ファイルの識別情報が送信され、サーバ 5の認証部 54は、これら受信した情報が、 認証データベース 57に格納されて!、るかに基づき、ユーザ Bの認証を行う。  [0212] At the time of login of the file usage program 3, not only authentication as to whether the user B is a registered user of the file management program 1, but also authentication of whether the user B has the authority to use the original file is performed. Also good. In that case, and when logging in to the server, the user B's authentication information is sent from the user terminal B to the server 5 together with the authentication information of the user B along with the identification information of the server 5 54 authenticates User B based on whether the received information is stored in the authentication database 57!
[0213] また、ユーザ Bが元ファイルの利用権限を有するユーザであるかどうかは、ポリシー の利用条件の 1つとなって、復号鍵解読部 34が利用条件の照合時に認証するもの であってもよい。認証方法としては、ユーザ端末 Bに、利用許可ユーザの識別情報で 暗号化された、ないしは当該識別情報が記述された利用状況データベース 33aが生 成されているかどうかの確認を行うことも挙げられる。  [0213] Also, whether or not user B is a user who has the authority to use the original file is one of the usage conditions of the policy, and even if the decryption key decryption unit 34 authenticates when the usage conditions are verified. Good. As an authentication method, it is also possible to confirm whether or not the usage status database 33a encrypted with the identification information of the authorized user or the identification information described therein is generated in the user terminal B.
[0214] ログイン成功以降の流れは、図 13〜図 15のフローチャート図と、図 4、図 6の構成 図を参照しながら説明する。尚、本実施例では、特定のパッケージファイルを初めて 利用する際には、データベース生成部 33は、ユーザ端末 Bに利用状況データべ一 ス 33aが生成するものとする。また、ポリシーファイルに含まれるポリシーオブジェクト は 3つであるものとし、これら 3つのポリシーオブジェクトがポリシーファイル内で連鎖 接続され、最後に照合が行われる利用条件が含まれるポリシーオブジェクトに、暗号 化された元ファイルの復号鍵と、元ファイルの利用権限が接続されて ヽるものとする。  [0214] The flow after successful login will be described with reference to the flowcharts of FIGS. 13 to 15 and the configuration diagrams of FIGS. In the present embodiment, when the specific package file is used for the first time, the database generation unit 33 generates the usage status database 33a in the user terminal B. It is assumed that the policy file contains three policy objects. These three policy objects are chained together in the policy file, and the policy object that contains the usage conditions to be checked at the end is encrypted. It is assumed that the decryption key of the original file and the authority to use the original file are connected.
[0215] ユーザ Bがログインに成功すると、ファイル利用プログラム 3に含まれる復号鍵解読 部 34が起動し、ポリシーファイルの解読を開始する(S610)。ここで、パッケージファ ィルに含まれているポリシーファイルが暗号ィ匕されている場合 (S615)、復号鍵解読 部 34 (もしくは復号化部 35)は、暗号ィ匕されたポリシーファイルを復号ィ匕するため、ュ 一ザ端末 Bに格納されて ヽる置換表を取り出す (S620)。  [0215] When the user B successfully logs in, the decryption key decryption unit 34 included in the file usage program 3 is activated and starts decrypting the policy file (S610). If the policy file included in the package file is encrypted (S615), the decryption key decryption unit 34 (or decryption unit 35) decrypts the encrypted policy file. In order to enter, the replacement table stored in user terminal B is retrieved (S620).
[0216] 尚、ここで、ポリシーファイルは、図 7に示すように、任意の鍵 Aを置換表によって置 換した鍵 Bによって、暗号ィ匕されているものとする。 [0216] Here, in the policy file, as shown in Fig. 7, an arbitrary key A is placed in the replacement table. It is assumed that the encrypted key B is encrypted.
[0217] 復号鍵解読部 34 (もしくは復号化部 35)は、サーバ情報格納ファイルやパッケージ ファイルのファイル基本情報内等に格納されている鍵 Aを取り出し(S630)、置換表 を用いて、鍵 Aを鍵 Bに置換する(S635)。ここで、鍵 A力 鍵 Bへの置換がされなか つた場合には、置換表が改ざんされたことになり、その改ざんを検知するとともに、以 降のステップには進めないようにする(S640)。尚、置換された鍵 Bは、一時メモリ 43 上に展開される(S645)。  [0217] The decryption key decryption unit 34 (or decryption unit 35) extracts the key A stored in the file basic information of the server information storage file or package file (S630), and uses the replacement table to Replace A with key B (S635). Here, if the key A is not replaced with the key B, the replacement table has been tampered with, and the tampering is detected and the subsequent steps are not allowed to proceed (S640). . The replaced key B is expanded on the temporary memory 43 (S645).
[0218] 復号鍵解読部 34 (もしくは復号化部 35)は、鍵 Bを用いて、暗号ィ匕されたポリシーフ アイルを復号ィ匕する(S710)。ここで、暗号ィ匕されたポリシーファイルの復号化がされ なかった場合には、何者かにより鍵 Bの改ざんがされたことになり、その改ざんを検知 するとともに、以降のステップには進めな!/、ようにする(S715)。  [0218] Decryption key decryption unit 34 (or decryption unit 35) decrypts the encrypted policy file by using key B (S710). If the encrypted policy file is not decrypted, it means that key B has been tampered with by someone, and that tampering is detected and the following steps cannot be taken! /, And so on (S715).
[0219] ポリシーファイルが復号ィ匕されたので、図 6に示した復号鍵解読部 34の照合 '更新 手段 34aは、ポリシーファイルを構成する 3つのポリシーオブジェクトのうち、ポリシー オブジェクト 1に対応する利用条件 1を取り出すことが出来る(S720)。尚、最初の照 合'更新手段 34aの起動は、例えば、ユーザ Bがログインに成功した場合にサーバ 5 力 送られてくる鍵 0 (図 6に示す)によって行われてもよいし、ノ スワードや特定の記 号の入力によって行われてもよ ヽ。  [0219] Since the policy file has been decrypted, the collation 'update means 34a of the decryption key decryption unit 34 shown in Fig. 6 is used corresponding to policy object 1 out of the three policy objects constituting the policy file. Condition 1 can be extracted (S720). Note that the activation of the first verification 'update means 34a may be performed by, for example, the key 0 (shown in FIG. 6) sent from the server 5 when the user B has successfully logged in. Or by entering certain symbols.
[0220] 尚、利用条件や鍵は、上述したように、全部又は一部が、サーバ 5又は CD— ROM 等のデータの書き換えが不可能な記憶媒体に格納されて 、る場合もあるし、ポリシー ファイルとは別のファイルとしてユーザ Bに発行される場合もある。  [0220] As described above, the usage conditions and keys may be stored entirely or partially in a storage medium such as the server 5 or CD-ROM where data cannot be rewritten. It may be issued to User B as a separate file from the policy file.
[0221] 特に、ポリシーの中に、日時や回数等、正当な評価判断が必要とされる利用条件 が含まれる場合には、鍵や利用条件の全部又は一部がサーバ 5に格納されていたり 、ポリシーファイルとは別のファイルとされている方が元ファイルの不正利用防止によ り効果的である。但し、サーバ 5側に鍵や利用条件が格納されている場合は、ユーザ 端末 4が元ファイルの利用都度、サーバ 5にアクセスしなければならず、その分ネット ワーク接続の負担が高くなるため、サーバ 5の設計に注意が必要である。  [0221] In particular, if the policy includes usage conditions that require a legitimate evaluation such as date and time, number of times, etc., all or part of the keys and usage conditions may be stored in the server 5. If the policy file is different from the policy file, it is more effective for preventing unauthorized use of the original file. However, if a key or usage conditions are stored on the server 5 side, the user terminal 4 must access the server 5 each time the original file is used, which increases the burden of network connection. Care must be taken in the design of server 5.
[0222] 照合 ·更新手段 34aは、取り出された利用条件 1に対応する利用状況 1がユーザ端 末 B内の利用状況データベース 33aに存在するかどうかを確認する(S725)。尚、本 実施例の利用条件 1は、ユーザ端末 B内の利用状況データベース 33aに格納されて いるデータとの比較、照合が必要な利用条件であるものとする力 必ずしもそのような 利用条件ば力りではなぐユーザ端末 Bによって検証可能な利用条件、サーバ 5によ つて検証可能な利用条件も当然のことながら存在し、その場合には利用状況データ ベース 33aの生成は必須ではない。 [0222] The collation / update means 34a checks whether or not the usage status 1 corresponding to the extracted usage condition 1 exists in the usage status database 33a in the user terminal B (S725). Book The usage condition 1 of the embodiment is a power that requires comparison and collation with the data stored in the usage status database 33a in the user terminal B. There are naturally usage conditions that can be verified by the user terminal B and usage conditions that can be verified by the server 5. In this case, the generation of the usage status database 33a is not essential.
[0223] 利用状況データベース 33aそのもの、又は利用状況 1がユーザ端末 B内に存在し ない場合には、ユーザ端末 B以外のユーザ端末 4で、元ファイルが不正に利用され そうになつたことを表すので、以降のステップには進めないようにする(S730)。  [0223] If usage status database 33a itself or usage status 1 does not exist in user terminal B, it indicates that the original file is likely to be used illegally on user terminal 4 other than user terminal B. Therefore, it is not allowed to proceed to the subsequent steps (S730).
[0224] 尚、照合'更新手段 34aで、ポリシーファイルや利用条件や利用状況のハッシュ値 をとることによって、これらに対する改ざんを検知することも可能である。  [0224] It is also possible to detect falsification of these by taking the hash value of the policy file, the usage conditions, and the usage status in the verification 'update means 34a.
[0225] 照合 ·更新手段 34aは、利用状況 1が利用者端末 7内に存在した場合 (S725)、そ の利用状況 1が利用条件 1を満足している力、つまり、利用条件 1の範囲内の利用に 相当しているかどうかを確認する(S735)。  [0225] When the usage status 1 exists in the user terminal 7 (S725), the checking / updating means 34a is the force that the usage status 1 satisfies the usage condition 1, that is, the range of the usage condition 1. It is confirmed whether it is equivalent to the use in (S735).
[0226] 例えば、利用条件 1は、「利用限度回数が 10回」であり、ユーザ端末 B内に格納さ れた利用状況 1が、「現在利用回数 3回」であれば、利用条件 1を満足したものとする 。一方、利用状況 1が、現在利用回数 10回であった場合には、利用条件 1を満足し なかったものとして、以降のステップに進めないようにする(S740)。このように、以降 のステップに進めない場合、ユーザ端末 Bに表示されるエラー画面の一例を図 23に 示す。  [0226] For example, use condition 1 is "use limit number of times is 10", and use condition 1 stored in user terminal B is "current use number of times 3". Satisfied. On the other hand, if the usage status 1 is currently 10 times of usage, it is assumed that the usage condition 1 has not been satisfied, and the subsequent steps are not allowed to proceed (S740). Thus, an example of an error screen displayed on user terminal B when it cannot proceed to the subsequent steps is shown in FIG.
[0227] 利用条件 1と利用状況 1の照合が終わると、利用状況 1の更新を行うとともに、次の 照合 ·更新手段 34bに進むために必要な鍵 1が取り出される (S745)。  [0227] When the verification of usage condition 1 and usage status 1 is completed, usage status 1 is updated, and key 1 necessary for proceeding to the next verification / update means 34b is extracted (S745).
[0228] 利用状況の更新は、例えば、対応する利用条件が「回数」に関するものである場合 には、累積利用回数に 1を加算する力 残り利用回数に 1を減算する等した状態に自 動的に更新される。  [0228] For example, when the corresponding usage condition is related to "number of times", the usage status is automatically updated to a state where 1 is added to the remaining usage count, etc. Updated.
[0229] 又、利用条件が、無期限、回数制限なしといつた永久利用権のようなものであった 場合でも、利用権限を有して 、な 、ユーザに元ファイルを不正利用させることを防止 するため、中身が空又は無意味なデータで構成された利用状況データベース 33aを ユーザ端末に生成し、利用条件と利用状況の照合時に必ず、利用状況データべ一 ス 33aの存在を確認する過程を経るとよ 、。 [0229] Even if the usage conditions are indefinite, unlimited number of times, and permanent usage rights, it is necessary to allow the user to illegally use the original file with usage rights. To prevent this, a usage database 33a consisting of empty or meaningless data is generated on the user terminal, and the usage status data must be Go through the process of confirming the existence of the service 33a.
[0230] ポリシーオブジェクト 1から取り出された鍵 1は、次のポリシーオブジェクト 2を開き、 ポリシーオブジェクト 2に対応する利用条件 2が取り出される(S810)。  [0230] The key 1 extracted from the policy object 1 opens the next policy object 2, and the use condition 2 corresponding to the policy object 2 is extracted (S810).
[0231] 復号鍵解読部 34の照合 ·更新手段 34bは、ユーザ Bが、利用条件 2を満足している 力どうかを、サーバ 5に確認する(S815)。例えば、利用条件 2が、元ファイルの利用 期限であるとすれば、復号鍵解読部 34は、サーバ 5に利用条件 2を送信し、サーバ 5 から現在日時に関する情報を送信してもらうか、サーバ 5で現在日時と利用条件 2と の照合を行 ヽその結果を送信してもらう。  [0231] The verification / updating means 34b of the decryption key decryption unit 34 checks with the server 5 whether or not the user B satisfies the usage condition 2 (S815). For example, if the usage condition 2 is the expiration date of the original file, the decryption key decryption unit 34 transmits the usage condition 2 to the server 5 and receives information on the current date and time from the server 5, or the server In 5, check the current date and usage conditions 2 and have the result sent.
[0232] また、利用条件 2が、例えば、ノ ッケージファイルへの同時アクセス数であるとすれ ば、復号鍵解読部 34は、サーバ 5に利用条件 2を送信し、サーバ 5からパッケージフ アイルへのログインアクセス履歴等の情報に基づいた同時アクセス数に関する情報を 送信してちらう。  [0232] Also, if the use condition 2 is, for example, the number of simultaneous accesses to the knock file, the decryption key decryption unit 34 sends the use condition 2 to the server 5, and the package file is transmitted from the server 5. Send information about the number of simultaneous accesses based on information such as login access history.
[0233] ユーザ Bが利用条件 2を満足していなければ、その場で、元ファイルの利用プロセ スは中止される(S820)。ユーザ Bが利用条件 2を満足していれば、ポリシーオブジェ タト 2に含まれる鍵 2が取り出され、鍵 2によってポリシーオブジェクト 3が開かれる。そ して、ポリシーオブジェクト 3に対応する利用条件 3が取り出される(S825)。  [0233] If user B does not satisfy use condition 2, the use process of the original file is stopped on the spot (S820). If user B satisfies use condition 2, key 2 included in policy object 2 is extracted, and policy object 3 is opened with key 2. Then, use condition 3 corresponding to policy object 3 is retrieved (S825).
[0234] そして、利用条件 3についても、 S815〜S825と同様の手続きがとられ、復号鍵解 読部 34は、最終的に、復号鍵とユーザ Bの利用権限を取得する(S830)。尚、これら 復号鍵と利用権限は、不正利用されることのないよう、ユーザ端末 Bの一時メモリ 43 に展開される力 ハードディスク 44等の記憶媒体には格納されない。  [0234] Then, for usage condition 3, the same procedure as in S815 to S825 is taken, and finally the decryption key decrypting unit 34 obtains the decryption key and the usage authority of user B (S830). Note that these decryption key and usage authority are not stored in a storage medium such as the hard disk 44 developed in the temporary memory 43 of the user terminal B so as not to be used illegally.
[0235] 復号ィ匕部 35は、ノ ッケージファイルの中から、暗号ィ匕された元ファイルを取り出し、 先の復号鍵を用いて暗号ィ匕された元ファイルを復号ィ匕する(S835)。  [0235] The decryption unit 35 extracts the encrypted original file from the knock file and decrypts the encrypted original file using the previous decryption key (S835). .
[0236] 復号化された元ファイルは、先の復号鍵や利用権限同様、ユーザ端末 Bのハード ディスク 44ではなく一時メモリ 43上に展開され、一時メモリ 43上で元ファイルの利用 が可能となる。尚、ユーザ端末 Bのハードディスク 44に元ファイルが格納されないの は、ー且、ハードディスク 44に格納されてしまうと、利用条件を無視した元ファイルの 利用が可能となってしまうのを防止するためである。  [0236] The decrypted original file is expanded on the temporary memory 43 instead of the hard disk 44 of the user terminal B, and the original file can be used on the temporary memory 43, as with the previous decryption key and usage authority. . The reason why the original file is not stored in the hard disk 44 of the user terminal B is to prevent the use of the original file ignoring the use conditions if it is stored in the hard disk 44. is there.
[0237] ファイル利用制御部 36は、復号ィ匕された元ファイルの種類に応じた対応ソフト 42を ユーザ端末 B上で起動させ (S840)、当該対応ソフト 42上で元ファイルの利用を可 能とする。また、その際、取得した利用権限に基づいて、対応ソフト 42の動作を制御 する(S845)。例えば、ユーザ Bが取得した利用権限が、元ファイルの閲覧のみであ つた場合には、対応ソフト 42の画面上に現われる保存ボタンや印刷ボタンは表示さ れないようにする。また、ファイル利用制御部 36は、ユーザ Bが取得した利用権限外 の利用(例えば、印刷や保存)が行われようとした場合には、その動作を検知して、元 ファイルの利用を中止させたり、ユーザ端末 Bの画面上に警告表示を行ってもよい。 [0237] The file usage control unit 36 downloads the corresponding software 42 according to the type of the original file that has been decrypted. It is started on the user terminal B (S840), and the original file can be used on the corresponding software 42. At that time, the operation of the corresponding software 42 is controlled based on the acquired use authority (S845). For example, if the usage right acquired by User B is only to view the original file, the save button and the print button that appear on the screen of the corresponding software 42 are not displayed. In addition, the file usage control unit 36 detects the operation and stops the use of the original file when the user B tries to perform usage (for example, printing or saving) outside the usage authority acquired. Or a warning display may be displayed on the screen of the user terminal B.
[0238] 対応ソフト 42は、元ファイルの種類に応じてユーザ端末 B内に用意されていてもよ いし、元ファイルの種類によらないマルチ対応ソフトであってもよい。また、対応ソフト 42がファイル利用プログラム 3に含まれて!/、てもよ!/、。  [0238] The corresponding software 42 may be prepared in the user terminal B according to the type of the original file, or may be multi-compatible software that does not depend on the type of the original file. Also, the corresponding software 42 is included in the file usage program 3! /, Or even! /.
[0239] 尚、ユーザ Bが元ファイルの利用を終える場合には、対応ソフト 42をユーザ端末 B 上で閉じれば、一時メモリ 43に展開されていた復号鍵、利用権限、元ファイル等のデ ータは削除され、ユーザ端末 Bがアクセス可能な記憶媒体にもともとあったパッケ一 ジファイルだけが残る。そして、ユーザ Bがこれ以降に元ファイルを利用する場合も、 これまでと同様の復号鍵解読過程を経ることによって、利用条件及び利用権限の範 囲内で元ファイルの利用が可能となる。  [0239] When user B finishes using the original file, if the corresponding software 42 is closed on user terminal B, the decryption key, usage authority, original file, and other data stored in temporary memory 43 will be displayed. The data is deleted and only the original package file remains on the storage medium accessible to user terminal B. When User B uses the original file thereafter, the original file can be used within the range of usage conditions and usage rights through the same decryption key decryption process as before.
[0240] 尚、ノ ッケージファイル一式の格納場所の移動やコピー'複製は任意である。また、 利用権限の一態様として、元ファイルの保存や編集が認められている場合には、元 ファイルそのものをノヽードディスク 44に保存することが可能となる。ー且、元ファイル がハードディスク 44に保存されれば、それ以降は、ファイル利用プログラム 3の起動 を行わずに、対応ソフト 42の起動によって、元ファイルを利用することが可能となる。  [0240] It should be noted that the storage location of the set of packaging files may be moved or copied. Further, as one aspect of the usage authority, when the original file can be saved or edited, the original file itself can be saved on the node disk 44. -If the original file is stored in the hard disk 44, the original file can be used by starting the corresponding software 42 without starting the file use program 3 thereafter.
[0241] 次に、利用権限の一態様として元ファイルの編集が認められた場合に、パッケージ ファイルの更新を行う手順について、以下説明する。尚、ファイル利用プログラム 3〖こ は、当初力も再パッケージ部 37が含まれているものとする力 復号鍵解読部 34で取 得した利用権限に編集が含まれて 、な 、場合には、再パッケージ部 37が動作しな V、ように制御されることが望ま 、。  [0241] Next, a procedure for updating a package file when editing of the original file is permitted as an aspect of the usage authority will be described below. It should be noted that the file usage program 3 〖is assumed to include the repackage unit 37 at the beginning, and the usage authority acquired by the decryption key decryption unit 34 includes editing. It is desirable that the package part 37 be controlled so that V does not operate.
[0242] まず、元ファイルにつ 、て編集と 、う利用権限を取得したユーザ Bのユーザ端末 B 上で、元ファイルの編集が行われると、再パッケージ部 37は、対応ソフト 42から元フ アイルの編集が行われたことの通知を受ける。 [0242] First, when the original file is edited on the user terminal B of the user B who has obtained the use right and the original file is edited, the repackaging unit 37 reads the original file from the corresponding software 42. Get notified that Ayr has been edited.
[0243] そこで、再パッケージ部 37は、編集終了後(例えば、ユーザ端末 Bの画面上に「再 ノ ッケージボタン」を表示させ、クリック等されたのを検知して)、編集された元ファイル を、編集前の元ファイルが暗号ィ匕されていたのと同じ復号鍵で暗号ィ匕して、ポリシー ファイルやファイル基本情報とともにパッケージィ匕し、ノ ッケージファイルを生成する。 生成されたパッケージファイルは、元のパッケージファイルに上書きされる。つまり、 元のパッケージファイルは削除され、新し 、パッケージファイルは元のパッケージファ ィルの格納場所に格納される。  [0243] Therefore, the repackaging unit 37, after finishing editing (for example, displaying a “re-nockage button” on the screen of the user terminal B and detecting that it has been clicked, etc.), reads the edited original file. Then, encrypt the original file before editing with the same decryption key, package it with the policy file and basic file information, and generate a knock file. The generated package file is overwritten on the original package file. In other words, the original package file is deleted, and a new package file is stored in the storage location of the original package file.
[0244] 尚、ポリシーファイルは、元のポリシーファイルと基本的に変わらないが、ファイル基 本情報については、内容が一部更新された状態で、再パッケージに用いられる場合 もめる。  [0244] Note that the policy file is basically the same as the original policy file, but the file basic information may be used for repackaging when the contents are partially updated.
[0245] 元ファイルの再パッケージが行われた場合には、その旨が、元ファイルの作成ユー ザに通知されてもよい。また、ユーザ Bのサーバ 5へのアクセス履歴や再パッケージ 履歴は、サーバ 5の履歴データベース 56に逐次格納されるので、元ファイルの作成 ユーザ Aは、検索リクエスト部 24から、サーバ 5の検索部 53に、ユーザ Bの元ファイル 利用履歴の検索を要求してもよい。これにより、ユーザ Aは、元ファイル作成後の追 跡、管理を行うことが出来る。  [0245] When the original file is repackaged, the creation user of the original file may be notified to that effect. In addition, since the access history and repackaging history of user B to server 5 are sequentially stored in the history database 56 of server 5, user A who created the original file can search from the search request unit 24 to the search unit 53 of server 5. In addition, a search for user B's original file usage history may be requested. This allows User A to track and manage the original file after it is created.
[0246] 本発明に於ける各手段、データベースは、その機能が論理的に区別されているの みであって、物理上或は事実上は同一の領域を為していてもよい。又データベース の代わりにデータファイルであってもよいことは言うまでもなぐデータベースとの記載 にはデータファイルをも含んで 、る。  [0246] Each means and database in the present invention is only logically distinguished in function, and may be physically or virtually identical. It goes without saying that a data file may be used instead of a database, and the description of a database includes a data file.
[0247] 尚、本発明を実施するにあたり本実施態様の機能を実現するソフトウェアのプロダラ ムを記録した記憶媒体をシステムに供給し、そのシステムのコンピュータが記憶媒体 に格納されたプログラムを読み出し実行することによつても実現される。  [0247] In carrying out the present invention, a storage medium recording a software program that implements the functions of the present embodiment is supplied to the system, and the computer of the system reads and executes the program stored in the storage medium. This is also realized.
[0248] この場合、記憶媒体から読み出されたプログラム自体が前記した実施態様の機能 を実現することとなり、そのプログラムを記憶した記憶媒体は本発明を構成する。  In this case, the program itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program constitutes the present invention.
[0249] 本発明のプログラムの供給は、主として、 LAN6aやインターネット 6b等のネットヮー ク 6を介してコンピュータにダウンロードさせる方法による。その他、磁気ディスク、光 ディスク、光磁気ディスク、磁気テープ、不揮発性のメモリカード等の可搬型の記憶 媒体力 コンピュータへの供給も可能である。 [0249] The program of the present invention is supplied mainly by a method of downloading to a computer via the network 6 such as the LAN 6a or the Internet 6b. Others, magnetic disk, light Portable storage media such as disks, magneto-optical disks, magnetic tapes, and non-volatile memory cards can also be supplied to computers.
[0250] 又、コンピュータが読み出したプログラムを実行することにより、上述した実施態様 の機能が実現されるだけではなぐそのプログラムの指示に基づき、コンピュータ上で 稼働して 、るオペレーティングシステムなどが実際の処理の一部又は全部を行 、、そ の処理によって前記した実施態様の機能が実現される場合も本発明に含まれる。 図面の簡単な説明  [0250] Further, by executing the program read by the computer, not only the functions of the above-described embodiments are realized, but also the operating system that operates on the computer based on the instructions of the program is actually The present invention also includes a case where part or all of the processing is performed and the functions of the above-described embodiments are realized by the processing. Brief Description of Drawings
[0251] [図 1]ファイル管理プログラムをインストールしたユーザ端末とサーバの接続構成の一 実施例を示す図である。  FIG. 1 is a diagram showing an embodiment of a connection configuration between a user terminal installed with a file management program and a server.
[図 2]ファイルパッケージプログラムとサーバの構成の一実施例を示す図である。  FIG. 2 is a diagram illustrating an example of the configuration of a file package program and a server.
[図 3]パッケージファイルを生成する概略過程を示す概念図である。  FIG. 3 is a conceptual diagram showing an outline process for generating a package file.
[図 4]ファイル利用プログラムの構成と、ユーザ端末の構成の一実施例を示す図であ る。  FIG. 4 is a diagram showing an example of the configuration of a file usage program and the configuration of a user terminal.
[図 5]パッケージファイルのデータ構造の一実施例を示す図である。  FIG. 5 is a diagram showing an example of the data structure of a package file.
[図 6]ユーザ端末の構成の他の実施例を示す構成図である。  FIG. 6 is a configuration diagram showing another embodiment of the configuration of the user terminal.
[図 7]ポリシーファイルを暗号ィ匕する概略過程を示す概念図である。  FIG. 7 is a conceptual diagram showing an outline process for encrypting a policy file.
[図 8]本発明のプロセスのフローの一例を示すフローチャート図である。  FIG. 8 is a flowchart showing an example of a process flow of the present invention.
[図 9]本発明のプロセスのフローの他の一例を示すフローチャート図である。  FIG. 9 is a flowchart showing another example of the process flow of the present invention.
[図 10]本発明のプロセスのフローの他の一例を示すフローチャート図である。  FIG. 10 is a flowchart showing another example of the process flow of the present invention.
[図 11]本発明のプロセスのフローの他の一例を示すフローチャート図である。  FIG. 11 is a flowchart showing another example of the process flow of the present invention.
[図 12]本発明のプロセスのフローの他の一例を示すフローチャート図である。  FIG. 12 is a flowchart showing another example of the process flow of the present invention.
[図 13]本発明のプロセスのフローの他の一例を示すフローチャート図である。  FIG. 13 is a flowchart showing another example of the process flow of the present invention.
[図 14]本発明のプロセスのフローの他の一例を示すフローチャート図である。  FIG. 14 is a flowchart showing another example of the process flow of the present invention.
[図 15]本発明のプロセスのフローの他の一例を示すフローチャート図である。  FIG. 15 is a flowchart showing another example of the process flow of the present invention.
[図 16]ログイン画面の一例を示す図である。  FIG. 16 is a diagram showing an example of a login screen.
[図 17]ファイルパッケージ用画面の一例を示す図である。  FIG. 17 is a diagram showing an example of a file package screen.
[図 18]ファイルパッケージ用画面の他の一例を示す図である。  FIG. 18 is a diagram showing another example of a file package screen.
[図 19]メール送信画面の一例を示す図である。 [図 20]パッケージ履歴検索画面の一例を示す図である。 FIG. 19 is a diagram showing an example of a mail transmission screen. FIG. 20 is a diagram showing an example of a package history search screen.
[図 21]パッケージ履歴検索画面の他の一例を示す図である。 FIG. 21 is a diagram showing another example of a package history search screen.
[図 22]許可ユーザ グループの選択画面の一例を示す図である [図 23]エラー画面の一例を示す図である。 FIG. 22 is a diagram showing an example of an allowed user group selection screen. FIG. 23 is a diagram showing an example of an error screen.
符号の説明 Explanation of symbols
1:ファイル管理プログラム 1: File management program
2:ファイルパッケージプログラム  2: File package program
21:ファイル指定部  21: File specification part
22:ポリシー策定部  22: Policy development department
23:パッケージ部  23: Package part
24:検索リクエスト部  24: Search request part
3:ファイル利用プログラム  3: File usage program
31:ファイル指定部  31: File specification part
32:認証リクエスト部  32: Authentication request part
33:データベース生成部  33: Database generator
33a:利用状況データベース  33a: Usage database
34:復号鍵解読部  34: Decryption key decryption unit
34a, 34b, 34c:照合'更新手段  34a, 34b, 34c: Collation 'update means
35:復号化部  35: Decryption unit
36:ファイル利用制御部  36: File usage control section
37:再パッケージ部 37: Repackaging part
:ユーザ端末 : User terminal
2:対応ソフト 2: Compatible software
3:—時メモリ 3: —Time memory
4:ノヽードディスク  4: Node disk
5:サーバ  5: Server
51:鍵生成部 51: Key generator
2:ポリシーファイル生成部 3:検索部2: Policy file generator 3: Search part
:認証部 : Authentication section
5:ユーザデータベース :履歴データベース7:認証データベース:ネットワーク 5: User database: History database 7: Authentication database: Network

Claims

請求の範囲 The scope of the claims
[1] ユーザ端末に格納、実行され、任意のユーザが作成した元ファイルの一元管理を 行うためのファイルパッケージプログラムを有するファイル管理プログラムであって、 前記ファイルパッケージプログラムは、  [1] A file management program that includes a file package program that is stored and executed in a user terminal and performs centralized management of an original file created by an arbitrary user, and the file package program includes:
管理の対象としたい元ファイルの指定を受け付けるファイル指定部と、  A file specification section that accepts the specification of the original file that you want to manage,
前記元ファイルを利用する際のポリシーを策定するポリシー策定部と、  A policy formulation unit that formulates a policy for using the original file;
前記元ファイル毎に生成された共通鍵と前記ポリシーに基づいて生成されたポリシ 一ファイルと、前記共通鍵で暗号ィ匕された元ファイルとをパッケージしてパッケージフ アイルを生成するパッケージ部とを有し、  A package unit for packaging a common key generated for each original file, a policy file generated based on the policy, and an original file encrypted with the common key to generate a package file; Have
前記ポリシーの利用条件を満足したユーザのみ力 前記ポリシーファイル内の共通 鍵と元ファイルの利用権限を前記ユーザの端末の一時メモリ上に展開出来るようにし 、更に、前記共通鍵で復号ィ匕された元ファイルを前記一時メモリ上にのみ展開出来、 前記利用権限の範囲内で元ファイルの利用が可能なように前記パッケージファイル を生成する  Only users who satisfy the policy usage conditions can use the common key in the policy file and the authority to use the original file on the temporary memory of the user's terminal, and decrypted with the common key. The original file can be expanded only on the temporary memory, and the package file is generated so that the original file can be used within the range of the usage authority.
ことを特徴とするファイル管理プログラム。  A file management program characterized by that.
[2] 前記ファイルパッケージプログラムは、更に、  [2] The file package program further includes:
前記パッケージファイルのパッケージ履歴に関する情報や、前記パッケージフアイ ルへのユーザのアクセス履歴に関する情報の検索を行う検索部を有する  A search unit for searching for information relating to a package history of the package file and information relating to a user's access history to the package file;
ことを特徴とする請求項 1に記載のファイル管理プログラム。  The file management program according to claim 1, wherein:
[3] 前記ファイルパッケージプログラムは、 [3] The file package program is:
前記パッケージ部でパッケージファイルが生成されるとともに、前記元ファイルの利 用権限が与えられたユーザのユーザ端末に、前記パッケージファイルの生成を、通 知もしくは、前記パッケージファイルをメール添付により送信する通知部を  A package file is generated in the package section, and notification of generation of the package file or notification of transmission of the package file by mail attachment to a user terminal of a user who is authorized to use the original file Part
有することを特徴とする請求項 1又は請求項 2に記載のファイル管理プログラム。  The file management program according to claim 1, wherein the file management program is provided.
[4] ユーザ端末に格納、実行され、任意のユーザが作成した元ファイルの一元管理を 行うためのファイルパッケージプログラムによりパッケージされた元ファイルを復元して ユーザが利用するためのファイル利用プログラムを有するファイル管理プログラムで あって、 前記ファイル利用プログラムは、 [4] It has a file use program that is stored and executed in the user terminal and is used by the user by restoring the original file packaged by the file package program for centralized management of the original file created by any user A file management program, The file utilization program is:
パッケージファイルのうち、利用したい元ファイルがパッケージされているパッケージ ファイルの指定を受け付けるファイル指定部と、  Among the package files, a file specification part that accepts specification of the package file in which the original file you want to use is packaged,
前記パッケージファイル内のポリシーファイルを構成しているポリシーの利用条件照 合を行ない、前記元ファイルの利用が前記利用条件の範囲内の利用である場合、前 記元ファイル毎に生成された共通鍵であって、暗号ィ匕に用いられた元ファイルの復 号鍵と、前記元ファイルの利用権限とを、前記ポリシーファイルの中力 取得するとと もに、これら復号鍵と利用権限を前記ユーザ端末の一時メモリ上に展開する復号鍵 解読部と、  If the usage conditions of the policies that make up the policy file in the package file are matched, and the usage of the original file is within the usage conditions, the common key generated for each original file In addition, the decryption key of the original file used for encryption and the authority to use the original file are acquired in the middle of the policy file, and the decryption key and the authority to use are obtained from the user terminal. A decryption key that is expanded in the temporary memory of
前記取得した共通鍵によって、前記パッケージファイル内の暗号ィ匕された前記元フ アイルを復号ィ匕し、前記ユーザ端末の一時メモリ上に展開する復号化部と、  A decryption unit that decrypts the encrypted original file in the package file with the acquired common key, and expands it on a temporary memory of the user terminal;
前記取得した利用権限に基づ!/、て、前記元ファイルの利用を制御するファイル利 用制御部とを  Based on the acquired usage right! /, A file usage control unit that controls the use of the original file.
有することを特徴とするファイル管理プログラム。  A file management program comprising:
[5] 前記ファイル利用制御部は、 [5] The file usage control unit
前記元ファイルの対応ソフトを制御して、前記対応ソフトからユーザ端末の OS若し くはミドルウエアに対して、前記取得した利用権限に基づ!、た機能呼び出し命令を行 う APIフッキングを行う手段である  The corresponding software of the original file is controlled and based on the acquired use authority from the corresponding software to the OS or middleware of the user terminal! It is a means of API hooking that performs function call instructions.
ことを特徴とする請求項 4に記載のファイル管理プログラム。  The file management program according to claim 4, wherein:
[6] 前記ファイル利用プログラムは、更に、 [6] The file use program further includes:
前記パッケージファイル中の暗号ィ匕された元ファイルが復号ィ匕され、ユーザの利用 権限に基づ 、て前記元ファイルの編集がなされた場合、編集後の元ファイルを再び 前記ポリシーファイルとともにパッケージし、元のパッケージファイルを更新する再パ ッケージ部を  When the encrypted original file in the package file is decrypted and the original file is edited based on the user's usage rights, the edited original file is packaged together with the policy file again. Repackage the package to update the original package file.
有することを特徴とする請求項 4又は請求項 5に記載のファイル管理プログラム。  6. The file management program according to claim 4 or 5, characterized by comprising:
[7] 前記ファイル利用プログラムは、 [7] The file utilization program is:
前記元ファイルの再パッケージが行われた場合に、前記元ファイルの作成ユーザ のユーザ端末もしくはサーバに、再パッケージが行われた旨を通知する通知部を 有することを特徴とする請求項 6に記載のファイル管理プログラム。 When the original file is repackaged, a notification unit for notifying the user terminal or server of the original file creation user that the repackage has been performed. 7. The file management program according to claim 6, further comprising:
[8] 前記ファイル利用プログラムは、 [8] The file utilization program is:
前記ユーザ端末においてパッケージファイル内の元ファイルを利用しょうとする毎 に前記ユーザ端末による元ファイルの利用状況を更新することが出来る利用状況デ ータベースを、前記ユーザ端末以外のユーザ端末による読みとり、更新が出来ない ような状態で、前記ユーザ端末に生成するデータベース生成部を  Each time the user terminal tries to use the original file in the package file at the user terminal, the usage situation database that can update the usage situation of the original file by the user terminal is read and updated by a user terminal other than the user terminal. In a state where it is not possible, a database generation unit that generates the user terminal
有することを特徴とする請求項 4力 請求項 7のいずれかに記載のファイル管理プ ログラム。  The file management program according to claim 7, wherein the file management program according to claim 7 is provided.
[9] 前記ポリシーファイルの一部又は全ては、サーバに格納されており、  [9] Part or all of the policy file is stored on the server,
前記ファイル利用プログラムは、  The file utilization program is:
前記サーバに、前記ポリシーファイル内の利用条件の照合を要求する ことを特徴とする請求項 4力 請求項 8のいずれかに記載のファイル管理プログラム  The file management program according to any one of claims 4 to 8, wherein the server is requested to check usage conditions in the policy file.
[10] 前記ポリシーファイルは、サーバ毎に生成された置換表によって置換された鍵によ つて、暗号化されており、 [10] The policy file is encrypted with the key replaced by the replacement table generated for each server.
前記置換表は、前記ファイル管理プログラムが前記ユーザ端末に格納されるととも に、前記ユーザ端末に格納される  The replacement table is stored in the user terminal as well as the file management program is stored in the user terminal.
ことを特徴とする請求項 1から請求項 9のいずれかに記載のファイル管理プログラム  The file management program according to any one of claims 1 to 9, wherein
[11] 前記ポリシーファイルは、 [11] The policy file is
利用条件が、複数のポリシーオブジェクトと対応付けて記述されたものであり、 任意のポリシーオブジェクトに対応する利用条件が満足された場合には、別のポリ シーオブジェクトを開くための鍵を取得することが出来、最終的に全てのポリシーォ ブジエタトの鍵が開かれ、全ての利用条件が満足された場合にのみ、前記復号鍵と 利用権限を取り出すことが出来るような鎖状のデータ構造を有して 、る  If the usage conditions are described in association with multiple policy objects, and the usage conditions corresponding to any policy object are satisfied, the key to open another policy object is obtained. It has a chained data structure that can be used to retrieve the decryption key and usage rights only when all policy object keys are finally opened and all usage conditions are satisfied. And
ことを特徴とする請求項 1から請求項 10のいずれかに記載のファイル管理プロダラ ム。  11. The file management program according to claim 1, wherein the file management program is any one of claims 1 to 10.
[12] 前記ファイル管理プログラムは、 ファイル管理プログラムの登録ユーザ力どうかの認証もしくは、前記利用条件に含 まれる元ファイルの利用許可ユーザかどうかの認証を行う認証インターフェースを有 しており、 [12] The file management program includes: It has an authentication interface that authenticates whether or not it is a registered user of the file management program, or authenticates whether or not it is a user authorized to use the original file included in the usage conditions
前記認証インターフェースは、  The authentication interface is
ユーザ力 の要求によって決定した認証デバイス、もしくは、前記認証インターフエ ース側で予め決めた認証デバイス力 出力された前記ユーザの第 2パスワードと、当 該認証デバイスの種類を、前記ファイル管理プログラムのログイン ID、ノ スワードとと もに前記ユーザ端末力 サーバに送信し、前記サーバに既に保存されているデータ との照合を依頼する  The authentication device determined by the request for the user power or the authentication device power determined in advance on the authentication interface side The second password of the user output and the type of the authentication device are set in the file management program. The login ID and password are sent to the user terminal server and requested to collate with the data already stored in the server.
ことを特徴とする請求項 1から請求項 11のいずれかに記載のファイル管理プロダラ ム。  12. The file management program according to claim 1, wherein the file management program is any one of claims 1 to 11.
前記認証インターフェースは、  The authentication interface is
前記認証デバイスが、暗号ィ匕ロジックの入るものであれば、前記サーバもしくは前 記ユーザ端末に保存されているテンプレートデータのうち、前記ログイン IDに対応す るテンプレートデータを取得し、前記ユーザの PKI証明書によって、署名検証及び復 号ィ匕して前記第 2パスワードを取得し、前記サーバに既に保存されているデータとの 照合を依頼する  If the authentication device includes cryptographic key logic, the template data corresponding to the login ID is acquired from the template data stored in the server or the user terminal, and the PKI of the user is acquired. Obtain the second password through signature verification and decryption using a certificate, and request verification with the data already stored in the server
ことを特徴とする請求項 12に記載のファイル管理プログラム。  The file management program according to claim 12, wherein
PCT/JP2005/009908 2004-06-29 2005-05-30 File managing program WO2006001153A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004190754A JP2008026925A (en) 2004-06-29 2004-06-29 File management program
JP2004-190754 2004-06-29

Publications (1)

Publication Number Publication Date
WO2006001153A1 true WO2006001153A1 (en) 2006-01-05

Family

ID=35781679

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/009908 WO2006001153A1 (en) 2004-06-29 2005-05-30 File managing program

Country Status (2)

Country Link
JP (1) JP2008026925A (en)
WO (1) WO2006001153A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011152468A1 (en) * 2010-06-03 2011-12-08 株式会社 東芝 Access control device and recording medium
JP2012083922A (en) * 2010-10-08 2012-04-26 Fujitsu Ltd Data monitoring program, data monitoring method, and data monitoring device
JP2023016044A (en) * 2017-11-09 2023-02-01 ブロードリッジ・ファイナンシャル・ソリューションズ・インコーポレイテッド Database-centric computer network system and computer-implementation method for cryptographically protected distributed data management

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217577A (en) * 2008-03-11 2009-09-24 Ri Co Ltd Backup program
JP2009265854A (en) * 2008-04-23 2009-11-12 Soriton Syst:Kk Confidential file management system
JP2009271609A (en) * 2008-04-30 2009-11-19 Soriton Syst:Kk Confidential file management system
JP5097987B2 (en) * 2008-06-13 2012-12-12 株式会社マイクロフォーサム Electronic file vending machine management system
CN102227734B (en) * 2008-11-28 2014-02-26 国际商业机器公司 Client computer for protecting confidential file, server computer therefor, method therefor
JP2011004385A (en) * 2009-03-16 2011-01-06 Ricoh Co Ltd Information processing apparatus, mutual authentication method, mutual authentication program, information processing system, information processing method, information processing program, and recording medium
JP2010229775A (en) * 2009-03-30 2010-10-14 Mitsubishi Motors Corp Vehicle control device
JP5509888B2 (en) * 2010-02-02 2014-06-04 日本電気株式会社 Document management system and document management method
JP2014174721A (en) * 2013-03-08 2014-09-22 Genetec Corp Information sharing system
JP5995341B1 (en) * 2016-06-27 2016-09-21 株式会社 ゼネテック Browsing file browsing method, browsing file browsing program, information sharing system, information sharing system server

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003218851A (en) * 2001-12-12 2003-07-31 Pervasive Security Systems Inc Method and apparatus for safeguarding digital asset
JP2003345931A (en) * 2002-05-28 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> Private information distribution management method, private information identification device in private information distribution management system, private information using environment identification device, private information providing device, private information using device, disclosure use rule determination program. and program for each device.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003218851A (en) * 2001-12-12 2003-07-31 Pervasive Security Systems Inc Method and apparatus for safeguarding digital asset
JP2003345931A (en) * 2002-05-28 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> Private information distribution management method, private information identification device in private information distribution management system, private information using environment identification device, private information providing device, private information using device, disclosure use rule determination program. and program for each device.

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011152468A1 (en) * 2010-06-03 2011-12-08 株式会社 東芝 Access control device and recording medium
JP2011253450A (en) * 2010-06-03 2011-12-15 Toshiba Corp Access control program and device
CN102859530A (en) * 2010-06-03 2013-01-02 株式会社东芝 Access control device and recording medium
US8719950B2 (en) 2010-06-03 2014-05-06 Kabushiki Kaisha Toshiba Access control apparatus and storage medium
JP2012083922A (en) * 2010-10-08 2012-04-26 Fujitsu Ltd Data monitoring program, data monitoring method, and data monitoring device
JP2023016044A (en) * 2017-11-09 2023-02-01 ブロードリッジ・ファイナンシャル・ソリューションズ・インコーポレイテッド Database-centric computer network system and computer-implementation method for cryptographically protected distributed data management
JP7434480B2 (en) 2017-11-09 2024-02-20 ブロードリッジ・ファイナンシャル・ソリューションズ・インコーポレイテッド Database-centric computer network system and computer implementation method for cryptographically secured distributed data management

Also Published As

Publication number Publication date
JP2008026925A (en) 2008-02-07

Similar Documents

Publication Publication Date Title
CN104662870B (en) data security management system
US6173402B1 (en) Technique for localizing keyphrase-based data encryption and decryption
JP5270694B2 (en) Client computer, server computer thereof, method and computer program for protecting confidential file
CA2578186C (en) System and method for access control
JP4853939B2 (en) Offline access in document control systems
KR100464755B1 (en) User authentication method using user&#39;s e-mail address and hardware information
US20070177740A1 (en) Encryption key distribution system, key distribution server, locking terminal, viewing terminal, encryption key distribution method, and computer-readable medium
US7707416B2 (en) Authentication cache and authentication on demand in a distributed network environment
US20050055552A1 (en) Assurance system and assurance method
US20040177248A1 (en) Network connection system
US12289310B2 (en) Decentralized application authentication
US20080010453A1 (en) Method and apparatus for one time password access to portable credential entry and memory storage devices
US7487535B1 (en) Authentication on demand in a distributed network environment
US8850563B2 (en) Portable computer accounts
WO2006001153A1 (en) File managing program
US7178169B1 (en) Method and apparatus for securing transfer of and access to digital content
JP2002041347A (en) Information presentation system and device
JPH10260939A (en) Computer network client machine authentication method, client machine, host machine and computer system
WO2006072994A1 (en) Login-to-network-camera authentication system
JP4587688B2 (en) Encryption key management server, encryption key management program, encryption key acquisition terminal, encryption key acquisition program, encryption key management system, and encryption key management method
JP2011077740A (en) Key information management apparatus
JP3833635B2 (en) Information management system, key distribution server, information management method, and program
JP2004213265A (en) Electronic document management device, document creator device, document viewer device, electronic document management method, and electronic document management system
JP6464544B1 (en) Information processing apparatus, information processing method, information processing program, and information processing system
JP4683856B2 (en) Authentication program and authentication server

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: COMMUNICATION UNDER RULE 69 EPC ( EPO FORM 1205A DATED 26/06/07 )

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP

122 Ep: pct application non-entry in european phase

Ref document number: 05743349

Country of ref document: EP

Kind code of ref document: A1

WWW Wipo information: withdrawn in national office

Ref document number: 5743349

Country of ref document: EP

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载