WO2009153974A1 - データ管理システム、データ管理方法、およびコンピュータプログラム - Google Patents

データ管理システム、データ管理方法、およびコンピュータプログラム Download PDF

Info

Publication number
WO2009153974A1
WO2009153974A1 PCT/JP2009/002732 JP2009002732W WO2009153974A1 WO 2009153974 A1 WO2009153974 A1 WO 2009153974A1 JP 2009002732 W JP2009002732 W JP 2009002732W WO 2009153974 A1 WO2009153974 A1 WO 2009153974A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
key
data
encrypted
identifier
Prior art date
Application number
PCT/JP2009/002732
Other languages
English (en)
French (fr)
Inventor
千帆 村井
Original Assignee
コニカミノルタホールディングス株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by コニカミノルタホールディングス株式会社 filed Critical コニカミノルタホールディングス株式会社
Publication of WO2009153974A1 publication Critical patent/WO2009153974A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network

Definitions

  • the present invention relates to a system and method for managing data by encryption.
  • a secret key is divided into N (an integer of N ⁇ 2) out of a public key / private key pair of public key cryptography, Have the split key holder hold it. Number obtained by adding 1 to the number N of the split key holders when decrypting data encrypted with the public key by using a secret key held by K (K ⁇ N) persons among N persons The coefficient of one variable is not always 0, and the secret key is divided into N by using a plurality of linear expressions in which K of the remaining N variables are not 0. Then, the data encrypted with the public key is decrypted using K of the divided N secret keys.
  • a method described in Japanese Patent Application Laid-Open No. 2007-13484 includes a user-side data processing device that stores encrypted data in a connected storage medium, and a recovery processing device that performs recovery work in an emergency when the encrypted data cannot be decrypted. Is a method to restore data by sharing and collaborating. According to this method, the recovery processing device creates a public key / personal key pair and passes only the public key to the user side device, and the user side device creates an encryption key for encrypting the data and publishes it.
  • the recovery processing apparatus While encrypting the encryption key with a key and writing it to a predetermined location on the storage medium, in an emergency, when the encrypted encryption key is taken out from the storage medium and passed to the recovery processing apparatus, the recovery processing apparatus decrypts it with the personal key Since the encrypted key is sent back to the user side device, the user side device can recover the data.
  • an encryption key of data automatically generated in a portable terminal is encrypted with an external key A input by a user, and an external key managed by a key management server Those encrypted together with the user identification information by the public key of B and each of them are stored in the terminal.
  • the method for extracting the encryption key is to use a method of decrypting the encryption key with the external key A input by the user when the offline key or the external key A is not changed, and when the external key A is changed online.
  • the key management server is requested to decrypt the encryption key encrypted with the public key of the external key B so that the encryption key is received.
  • Encrypted data cannot be returned to plaintext without a decryption key. Therefore, the owner of the data must be careful not to steal the decryption key by another person and be careful not to lose the decryption key by himself / herself.
  • the data cannot be restored. Also, if the person in charge forgets to take over the password to the successor and retires, the data cannot be restored. The same applies when the person in charge forgets the password.
  • the present invention has been made in view of such a problem, and an object of the present invention is to enable data to be safely decrypted even if there is no person having a decryption key.
  • the data management system decrypts, for each first user, data encrypted by the first user among the first identifier of the first user and the second user.
  • a decryption permission information storage means for storing the second identifier of the authorized one in association with the first key and for decrypting the data encrypted with the first key for each of the first users;
  • a key storage unit that stores a second key in association with the first identifier of the first user, and encrypted data that is data encrypted by the first user with a third key.
  • the second user of the second user Is stored in the decryption permission information storage means in association with the first identifier added to the encrypted data, the decryption of the encrypted data is permitted and associated with the first identifier. Otherwise, the decryption permission / prohibition judging means for refusing decryption of the encrypted data, and the third key added to the encrypted data when the decryption of the encrypted data is permitted, Decrypting means for decrypting with the second key corresponding to the first identifier added to the encrypted data and decrypting the encrypted data with the decrypted third key.
  • the data management system provides, for each first user, decryption of data encrypted by the first user among the first identifier of the first user and the second user. And a decryption permission information storage means for storing the second identifier of the first user and the first identifier and the data encrypted with the first key for each of the first users.
  • a second key for storing the second key in association with the first identifier of the first user, and for the second user desiring to decrypt the encrypted data If the second identifier of the user is stored in the decryption permission information storage means in association with the first identifier added to the encrypted data, the electronic ticket of the encrypted data is Electronic ticket issuing means to issue If the electronic ticket storage means for storing the issued electronic ticket and the same electronic ticket as the electronic ticket is stored in the electronic ticket storage means when the electronic ticket is input, the electronic ticket is stored in the electronic ticket.
  • the third key added to the encrypted data is decrypted with the second key corresponding to the first identifier added to the encrypted data, and the decrypted third key is decrypted And decrypting means for decrypting the encrypted data.
  • the data management system provides, for each first user, decryption of data encrypted by the first user among the first identifier of the first user and the second user. And a decryption permission information storage means for storing the second identifier of the first user and the first identifier and the data encrypted with the first key for each of the first users.
  • the second key is stored in association with the first identifier of the first user, the key storage means, and the data to be encrypted is received from the client of the first user.
  • Target data receiving means target data encryption means for encrypting the received data with the first key of the first user who is the sender of the data, and the encrypted data
  • a file sending means for sending a file containing the first identifier of the user of the user to the client of the first user, a file receiving means for receiving the file from the client of the second user, and the received If the second identifier of the second user who is the sender of the file is stored in the decryption permission information storage means in association with the first identifier included in the file,
  • decryption permission determination means rejecting decryption of the encrypted data if not associated, and decryption of the encrypted data is permitted
  • Decrypting means for decrypting the data with the second key of the first user that encrypted the data, and the decrypted data to the second user
  • a decoded data transmitting means for transmitting to the client, the.
  • data can be safely decrypted even without a person having a decryption key.
  • FIG. 1 is a diagram illustrating an example of the overall configuration of the file management system SYS
  • FIG. 2 is a diagram illustrating an example of a hardware configuration of the key management device 1
  • FIG. 3 is an example of a functional configuration of the key management device 1.
  • 4 is a diagram illustrating an example of a functional configuration of the user management device 2
  • FIG. 5 is a diagram illustrating an example of a hardware configuration of the encryption data creation device 3
  • FIG. 6 is a diagram illustrating a functional configuration of the encryption data creation device 3. It is a figure which shows an example.
  • the file management system SYS shown in FIG. 1 is a system that encrypts various data such as image data and document data and manages them in file units.
  • the user can store his / her data encrypted in the file management system SYS using the password determined by the user as an encryption key.
  • the data can be decrypted using the encryption key as a decryption key.
  • the common key cryptosystem is generally called “secret key cryptosystem” or “symmetric cryptosystem”.
  • a method of using a password input by a user as a key is sometimes called PBE (Password Based Encryption).
  • PBE Password Based Encryption
  • the password used as a common key (secret key, symmetric key) determined by the user is referred to as “user password YP”.
  • the user can decrypt the encrypted data. Furthermore, it is possible to allow a specific other user to decrypt his / her data without teaching the user password YP decided by the user. In these cases, a public key cryptosystem is further used.
  • Each user is given information for identification (hereinafter referred to as “user identifier UID”) in advance.
  • the user identifier UID may be the same as a so-called employee number.
  • the file management system SYS includes a key management device 1, a user management device 2, a plurality of encrypted data creation devices 3, a first network NW1, a second network NW2, and a router RT.
  • the key management device 1 and the user management device 2 belong to the same segment and can communicate via the first network NW1 such as a LAN.
  • the second network NW2 is a wide area communication network such as the Internet.
  • the encrypted data creation device 3 can be connected to the second network NW2 via a dial-up router or a TA (Terminal Adapter).
  • the first network NW1 and the second network NW2 are connected by a router RT. Thereby, communication between the key management device 1 and the user management device 2 and each encrypted data creation device 3 becomes possible.
  • the key management device 1, the user management device 2, and the encrypted data creation device 3 perform communication by encrypting data based on an encryption technique such as SSL (Secure Sockets Layer).
  • SSL Secure Sockets Layer
  • the key management device 1 includes a CPU (Central Processing Unit) 10a, a RAM (Random Access Memory) 10b, a ROM (Read Only Memory) 10c, a hard disk 10d, a NIC (Network Interface Card) 10e, and a control device.
  • the circuit 10f is configured to mainly perform processing for managing public keys and secret keys of the public key cryptosystem.
  • the control circuit 10f is a circuit for controlling the hard disk 10d, the NIC 10e, and the like.
  • the NIC 10e is a device for communicating with other devices such as the encrypted data creation device 3 by TCP / IP.
  • the ROM 10c and the hard disk 10d include a key management unit 101, a key request reception unit 102, a key pair generation unit 103, a public key transmission unit 104, a decryption target key reception unit 105, and a decryption user information acquisition unit 106 as illustrated in FIG.
  • a program and data for realizing the decryption process permission / inhibition determination unit 107, the session key decryption processing unit 108, the session key transmission unit 109, the key pair database 1K1, and the like are stored. These programs and data are loaded into the RAM 10b as necessary, and the programs are executed by the CPU 10a.
  • the user management device 2 mainly performs processing for managing information related to users who use the file management system SYS.
  • the hardware configuration of the user management device 2 is the same as the hardware configuration of the key management device 1 shown in FIG.
  • the ROM and the hard disk store programs and data for realizing the user information management unit 201, the information request receiving unit 202, the decrypted user information transmitting unit 203, the user related information database 2K1, and the like shown in FIG. Yes. These programs and data are loaded into the RAM as required, and the programs are executed by the CPU.
  • a so-called server machine or workstation is used as the key management device 1 and the user management device 2.
  • the encrypted data creation device 3 is a device that is directly operated and used by a user in order to handle data. For example, the user creates or edits data of an image or a document using application software such as drawing software or word processor software installed in the encrypted data creation device 3, or sends the data to another device by e-mail or the like. Or save to USB (Universal Serial Bus) memory. Furthermore, the encryption data creation device 3 performs encryption or decryption of data as appropriate during these processes.
  • the encrypted data creation device 3 includes a CPU 30a, a RAM 30b, a ROM 30c, a hard disk 30d, a NIC 30e, a display 30f, a keyboard 30g, a pointing device 30h, a USB port 30i, and the like.
  • the NIC 30e is a device for communicating with the key management device 1 or the user management device 2 by TCP / IP.
  • the display 30f displays a screen for application software, a file operation screen, and the like.
  • the keyboard 30g and the pointing device 30h are input devices for a user to input an image or document, his / her user identifier UID (user ID), a user password YP, and the like.
  • the USB port 30 i is an interface for connecting a USB device such as a USB memory or an external drive to the encrypted data creation device 3.
  • the ROM 30c and the hard disk 30d include a public key acquisition unit 301, an encryption target designation reception unit 302, an encryption processing unit 303, a user identifier reception unit 304, a decryption processing unit 305, a decryption target key, and the like as illustrated in FIG.
  • a program and data for realizing the transmission unit 306, the session key reception unit 307, the decryption file output unit 308, the public key storage unit 3K1, the encrypted file storage unit 3K2, and the like are stored. These programs and data are loaded into the RAM 30b as necessary, and the programs are executed by the CPU 30a.
  • a personal computer or a workstation is used as the encrypted data creation device 3.
  • FIG. 7 is a flowchart for explaining an example of the flow of processing for registering a new pair of public key Kp and secret key Kh.
  • the user When the user uses the encrypted data creation device 3 for the first time, the user has his / her public key Kp and private key Kh issued to the key management device 1 and registers the public key in the encrypted data creation device 3. I have to keep it.
  • the public key storage unit 3K1 of the encrypted data creation device 3 shown in FIG. 6 stores the public key Kp for each user who uses the encrypted data creation device 3 in association with the user identifier UID of the user.
  • the key pair database 1K1 of the key management device 1 shown in FIG. 3 stores the public key Kp and the secret key Kh of all users of the file management system SYS in association with the user identifier UID of the user.
  • the key management unit 101 stores a new public key Kp and secret key Kh pair in the key pair database 1K1, or calls the public key Kp and secret key Kh stored in the key pair database 1K1. Processing for managing the key Kp and the secret key Kh is performed.
  • the user inputs his / her user identifier UID by operating the keyboard 30g when starting to use the encrypted data creation device 3.
  • the public key acquisition unit 301 checks whether or not the public key Kp corresponding to the user identifier UID is stored in the public key storage unit 3K1, and if not, stores the public key Kp as the key management device. Get from 1.
  • the public key Kp is generated by the procedure shown in FIG.
  • the public key acquisition unit 301 requests the issuance of the public key Kp by transmitting the public key request data 7A indicating the user identifier UID to the key management device 1 (# 501 in FIG. 7).
  • the key pair generation unit 103 when the key request reception unit 102 receives the public key request data 7A (# 511), the key pair generation unit 103 generates a pair of a new public key Kp and a secret key Kh (# 512). .
  • the key management unit 101 stores the public key Kp and the secret key Kh in the key pair database 1K1 in association with the user identifier UID indicated in the public key request data 7A (# 513). Then, the public key transmission unit 104 transmits the public key Kp to the encrypted data creation device 3 that is the request source (# 514).
  • the public key acquisition unit 301 when receiving the public key Kp transmitted from the key management device 1 (# 502), stores it in the public key storage unit 3K1 in association with the user identifier UID. (# 503).
  • the public key request data 7A and the public key Kp are encrypted by SSL and exchanged between the key management device 1 and the user management device 2. The same applies to other data exchanged between two devices, which will be described later.
  • FIG. 8 is a diagram for explaining an example of the configuration of the encryption target designation receiving unit 302 and an example of the flow of the encryption process
  • FIG. 9 is a diagram showing an example of the configuration of the encrypted file FLE.
  • the user can receive the data encryption service after having issued the public key Kp and the private key Kh.
  • the user saves a file including data to be encrypted in the hard disk 30d of the encrypted data creation device 3 by creating an image or a document with application software. Alternatively, it is acquired from another device or a recording medium via the NIC 30e or the USB port 30i and stored in the hard disk 30d.
  • the user designates the file by operating the keyboard 30g and the like, and inputs the user password YP and the encryption command as the encryption key (here, the encryption key of the common key encryption method).
  • the encryption target designation receiving unit 302 receives the designation and input.
  • the encryption processing unit 303 encrypts the designated file (hereinafter referred to as “target file FL0”) using the user password YP.
  • target file FL0 the designated file
  • the encryption procedure will be described with reference to FIG.
  • the encryption target designation receiving unit 302 includes a pseudo-random number generation unit 3021, a session key generation unit 3022, a public key encryption processing unit 3023, a plaintext encryption processing unit 3024, and an encrypted file generation unit. 3025 and the like.
  • the pseudorandom number generator 3021 When an encryption command or the like is input (circled number 1), the pseudorandom number generator 3021 generates a pseudorandom number (salt) RN (circled number 2).
  • the session key generation unit 3022 generates a session key Ks using the pseudo random number RN and the user password YP input by the user (circle numeral 3). For example, the pseudo-random number RN and the user password YP are substituted into a predetermined hash function. This session key Ks is used as a key for the common key cryptosystem.
  • the public key encryption processing unit 3023 encrypts the session key Ks using the user's public key Kp stored in the public key storage unit 3K1 as an encryption key (circle numeral 4).
  • the encrypted session key Ks is referred to as “encrypted session key Ksc”.
  • the plaintext encryption processing unit 3024 encrypts the target file FL0 using the session key Ks encryption key (circle numeral 5).
  • the encrypted target file FL0 is referred to as “encryption target file FL1”.
  • the encrypted file generation unit 3025 includes the user identifier UID of the user, the encrypted session key Ksc obtained by the session key generation unit 3022 and the public key encryption processing unit 3023, and the pseudo random number generation unit 3021.
  • the encrypted file FLE as shown in FIG. 9 is generated by merging the random number RN and the encryption target file FL1 obtained by the plaintext encryption processing unit 3024 (circle numeral 6).
  • the generated encrypted file FLE is stored (saved) in the encrypted file storage unit 3K2.
  • FIG. 10 and 11 are diagrams showing an example of the configuration of the department ⁇ and the decryption permission data DTA.
  • FIG. 12 is a diagram for explaining an example of the configuration of the decryption processing unit 305 and the flow of decryption processing based on the request of the principal.
  • FIG. 13 is a diagram for explaining an example of the flow of decryption processing based on a request from another user.
  • the user-related information database 2K1 of the user management apparatus 2 shown in FIG. 4 stores data indicating which user may decrypt a file encrypted by which user.
  • FIG. 10 (a) there is a department ⁇ composed of five users A, B,..., E who are employees of the company CP, and each user can decrypt as follows in this department.
  • the user A who is the general manager can decrypt not only himself but also the files encrypted by anyone of the other users B to E.
  • -Users B and C who are section managers can decrypt files encrypted by someone in the user (including myself) in their section.
  • files encrypted by the managers of other sections of the department ⁇ can also be decrypted.
  • -General members (users) who are neither general managers nor section managers can decrypt files encrypted by themselves and files encrypted by other general members. When a certain user takes over a position from another user, the user can take over the other user's file and decrypt it.
  • the decryption permission data DTA for each employee (user) of the department ⁇ is stored in the user related information database 2K1 as data for decryption of the department ⁇ as shown in FIG. ing.
  • the contents of the decryption permission data DTA are input to the user management apparatus 2 by the system administrator of the company CP.
  • the user information management unit 201 generates the decryption permission data DTA based on the input content and stores it in the user related information database 2K1.
  • the user information management unit 201 updates the decryption permission data DTA. For example, as shown in FIG. 11A, it is assumed that the user A has retired and the user F has been assigned to the department ⁇ , and the configuration of the department ⁇ has changed. The successor of user A is user B. User B takes over user A's file. At this time, the system administrator re-enters the contents of the decryption permission data DTA according to the new configuration. Based on this, the user information management unit 201 updates each decryption permission data DTA as shown in FIG.
  • the user identifier UID underlined in the “decodable user ID” field is a newly added user identifier UID.
  • the user identifier UID with a strikethrough in the “decodable user ID” field is a user identifier UID that has been deleted and does not exist.
  • the decryption permission data DTA whose user identifier UID shown in the “user ID” field is “U00F” is newly generated and added.
  • the user information management unit 201 manages data indicating various types of information related to the user in addition to the decryption permission data DTA.
  • the user decrypts the encrypted file FLE by inputting the user password YP used at the time of encryption of the encrypted file FLE generated (encrypted) by the encrypted data creation device 3. be able to.
  • the user designates the encrypted file FLE to be decrypted and inputs his user identifier UID and the user password YP used for encrypting the encrypted file FLE.
  • the user identifier reception unit 304 (see FIG. 6) of the encrypted data creation device 3 receives the content input or designated by the user.
  • the decryption processing unit 305 decrypts the specified encrypted file FLE based on the input user password YP.
  • a procedure for decrypting the encrypted file FLE will be described with reference to FIG.
  • the decryption processing unit 305 includes a data division unit 3051, a session key generation unit 3052, a body decryption processing unit 3053, and the like.
  • the data dividing unit 3051 calls the encrypted file FLE (see FIG. 9) designated by the user from the encrypted file storage unit 3K2 or an external recording medium (circle numeral 1), the user identifier UID, the encrypted session key Ksc, The pseudo random number RN and the encryption target file FL1 are divided (circle numeral 2).
  • the session key generation unit 3052 uses the user password YP input by the user and the pseudo random number RN divided from the encrypted file FLE, and the plaintext (that is, the session key) of the encrypted session key Ksc divided from the encrypted file FLE. Ks) is generated (circled number 3).
  • the generation method is the same as the generation method of the session key Ks by the session key generation unit 3022 described in FIG. That is, for example, it is generated by substituting the user password YP and the pseudo random number RN into a predetermined hash function.
  • the body decryption processing unit 3053 decrypts the encryption target file FL1 using the session key Ks generated by the session key generation unit 3052 (circle numeral 4). As a result, the plaintext of the encryption target file FL1, that is, the target file FL0 is obtained.
  • the encrypted file FLE cannot be decrypted.
  • the encrypted data creation device 3 acquires the session key Ks from the key management device 1 and uses it to decrypt the encrypted file FLE.
  • a series of processing procedures will be described with reference to FIG. 13 by taking as an example a case where the user A tries to decrypt the encrypted file FLE encrypted by the user B.
  • the decryption target key transmission unit 306 (see FIG. 6) of the encrypted data creation device 3 sends the user identifier UID (here, the user identifier UID of the user B) divided from the encrypted file FLE to the key management device 1. 13 is described as “user identifier UID1” in the description below, and the encrypted session key Ksc and the user identifier UID received by the user identifier receiving unit 304 (here, the user identifier UID of the user A.
  • “user identifier UID2” By transmitting “user identifier UID2” in the description of FIG. 13, a request is made to decrypt the encrypted session key Ksc (circle numeral 1).
  • the decryption target key reception unit 105 (see FIG. 3) of the key management device 1 receives the user identifiers UID1, UID2 and the encrypted session key Ksc from the encrypted data creation device 3, the decryption user information acquisition unit 106
  • the user management apparatus 2 is requested to obtain the decryption permission data DTA whose identifier UID1 is indicated in the “encrypted user ID” field, and this is acquired.
  • the information request receiving unit 202 receives the request, and the user information management unit 201 retrieves the decryption permission data DTA from the user related information database 2K1 and calls it (circled number). 2)
  • the decryption user information transmission unit 203 transmits the decryption permission data DTA to the key management device 1 (circled number 3).
  • the decryption permission / inhibition determination unit 107 encrypts the encrypted data transmitted from the user management apparatus 2. It is determined whether or not the session key Ksc can be decrypted (circle numeral 4). Specifically, if the user identifier UID2 is indicated in the “decryptable user ID” field of the decryption permission data DTA, it is determined that the decryption may be performed. If not shown, it is determined that the decryption is not allowed.
  • the session key decryption processing unit 108 corresponds to the same user identifier UID as the user identifier UID1 received from the encrypted data creation device 3 when the decryption process availability determination unit 107 determines that the encrypted session key Ksc may be decrypted.
  • the secret key Kh attached and stored in the key pair database 1K1 is called, and the encrypted session key Ksc is decrypted using the secret key Kh (circle numeral 5). Thereby, the plaintext of the encrypted session key Ksc, that is, the session key Ks is obtained.
  • the session key transmission unit 109 transmits the session key Ks to the encrypted data creation device 3 (circle numeral 6).
  • the session key receiving unit 307 receives the session key Ks from the key management device 1.
  • the body decryption processing unit 3053 (see FIG. 12) of the decryption processing unit 305 uses the session key Ks obtained from the key management device 1 instead of the session key Ks obtained by the session key generation unit 3052 to encrypt the file FLE.
  • the encryption target file FL1 divided from (1) is decrypted (circle numeral 7). As a result, a plain text target file FL0 is obtained.
  • the decrypted file output unit 308 outputs the target file FL0 decrypted by the decryption processing unit 305 to another device or a recording medium such as a USB memory.
  • FIG. 14 is a diagram showing an example of the functional configuration of the key management device 1B
  • FIG. 15 is a diagram showing an example of the functional configuration of the encrypted data creation device 3B
  • FIG. 16 is an example of the flow of processing for issuing the decryption ticket Tk.
  • FIG. 17 is a flowchart for explaining an example of the flow of decoding processing.
  • the overall configuration of the file management system SYS is the same as that of the first embodiment in the second embodiment, as shown in FIG.
  • key management device 1B the user management device 2
  • encrypted data creation device 3 of the second embodiment in order to distinguish the key management device 1, the user management device 2, and the encrypted data creation device 3 of the second embodiment from those of the first embodiment, “key management device 1B”, “user management device”, respectively. 2B "and" encrypted data creation device 3B ".
  • the hardware configuration of the key management device 1B, the user management device 2B, and the encrypted data creation device 3B is the same as that of the first embodiment in the second embodiment, as shown in FIGS. is there.
  • program and data stored in the hard disks of the key management device 1B and the encrypted data creation device 3B are different from the first embodiment in the second embodiment.
  • the hard disk 10d of the key management device 1B includes a key management unit 121, a key request reception unit 122, a key pair generation unit 123, a public key transmission unit 124, a decryption target key reception unit 125, and decryption user information as illustrated in FIG.
  • Programs and data for realizing the acquisition unit 126, the decryption process availability determination unit 127, the session key decryption processing unit 128, the session key transmission unit 129, the decryption ticket issue processing unit 12A, the key pair database 1L1, the decryption ticket database 1L2, and the like Is remembered.
  • the hard disk 30d of the encrypted data creation device 3B includes a public key acquisition unit 321, an encryption target designation reception unit 322, an encryption processing unit 323, a user identifier reception unit 324, a decryption processing unit 325, as illustrated in FIG.
  • a program and data for realizing 3L2 and the like are stored.
  • the user management device 2B has the same functional configuration as that of the first embodiment also in the second embodiment (see FIG. 4).
  • a process for preparing a key for the public key cryptosystem, a process for encrypting data, and a process for decrypting data using the user password YP are the same as those in the first embodiment.
  • the key management unit 121, the key request reception unit 122, the key pair generation unit 123, the public key transmission unit 124, and the key pair database 1L1 of the key management device 1B are respectively the key management unit 101 of the first embodiment, It functions in the same manner as the key request reception unit 102, the key pair generation unit 103, the public key transmission unit 104, and the key pair database 1K1 (see FIG. 3).
  • the encrypted file storage unit 3K2 includes a public key acquisition unit 301, an encryption target designation receiving unit 302, an encryption processing unit 303, a user identifier etc. receiving unit 304, a decrypted file output unit 308, and a public disclosure, respectively, according to the first embodiment. It functions in the same manner as the key storage unit 3L1 and the encrypted file storage unit 3L2 (see FIG. 6).
  • the decryption processing unit 325 performs the same processing as the processing by the decryption processing unit 305 of the first embodiment for the processing for decrypting the data with the password YP.
  • the decryption ticket acquisition unit 32A acquires the decryption ticket Tk from the key management device 1B.
  • the “decryption ticket Tk” is an electronic ticket corresponding to a one-time password for decrypting the encrypted file FLE.
  • the decryption ticket issue processing unit 12A of the key management device 1B performs processing for issuing the decryption ticket Tk.
  • the user designates the encrypted file FLE to be decrypted and the user identifier UID of the user himself / herself to the encrypted data creation device 3B.
  • the decryption ticket acquisition unit 32A of the encrypted data creation device 3B breaks down the encrypted file FLE (see FIG. 9) into data of each element (# 522),
  • the user identifier UID (that is, the user identifier UID of the user who encrypted the encrypted file FLE) indicated in the encrypted file FLE is displayed (output) (# 523).
  • the user inputs a request to issue the decryption ticket Tk to the encrypted data creation device 3B.
  • the decryption ticket acquisition unit 32A of the encrypted data creation device 3B requests the key management device 1B to issue the decryption ticket Tk (# 525).
  • the user identifier UID hereinafter referred to as “user identifier UID3” in the description of FIG. 16
  • the user identifier UID hereinafter referred to as FIG. 16
  • the decryption ticket issuing processor 12A of the key management device 1B receives the decryption permission data DTA related to the user identifier UID4 (that is, the user identifier UID4 is “encrypted”).
  • the decryption permission data DTA shown in the “user ID” field is requested to the user management apparatus 2B and obtained (# 532, # 533).
  • each unit of the user management device 2B searches for the decryption permission data DTA and transmits it to the key management device 1B (# 541 to # 543), as in the first embodiment.
  • the decryption ticket issuing processor 12A Upon receiving the decryption permission data DTA (# 533), the decryption ticket issuing processor 12A issues a decryption ticket Tk based on the decryption permission data DTA and the user identifier UID3 transmitted from the encrypted data creation device 3B. It is determined whether it is acceptable (# 534). Specifically, if the user identifier UID3 is indicated in the “decryptable user ID” field of the decryption permission data DTA, it is determined that the user identifier UID3 may be issued. If it is not indicated, it is determined that it should not be issued.
  • the decryption ticket issuance processing unit 12A determines that it can be issued, it generates a decryption ticket Tk and stores it in the decryption ticket database 1L2 (# 535). Then, the decryption ticket Tk is transmitted to the encryption data creation device 3B that is the request source (# 536).
  • the decryption ticket Tk includes the user identifiers UID3 and UID4 received from the encrypted data creation device 3B (that is, the user identifier UID of each of the user who encrypted the encrypted file FLE to be decrypted and the user who desires decryption).
  • the generated code is converted into a code that can be decrypted only by the key management device 1B (a code such as UUID).
  • a pseudo random number may be included in addition to the user identifiers UID3 and UID4. Alternatively, a unique code may be included.
  • the decryption ticket output unit 32B displays it or writes it in a USB memory or the like to output it. (# 527).
  • the user who has issued the decryption ticket Tk of the encrypted file FLE can decrypt the encrypted file FLE by inputting the decryption ticket Tk to the encrypted data creation device 3B.
  • the procedure of the decryption process using the decryption ticket Tk will be described with reference to FIG.
  • the user designates the encrypted file FLE to be decrypted with the decryption ticket Tk to the encrypted data creation device 3B.
  • the decryption target key transmission unit 326 of the encrypted data creation apparatus decomposes the encrypted file FLE into data of each element (# 552), and the encrypted file FLE. Is displayed (output) (# 553).
  • the user inputs the decryption ticket Tk (# 554).
  • the decryption target key transmission unit 326 sends the decryption ticket Tk and the encrypted session key Ksc decomposed from the encrypted file FLE to the key management device 1B. By transmitting, the decryption of the encrypted session key Ksc is requested (# 555).
  • the decryption process availability determination unit 127 may decrypt the encrypted session key Ksc. Whether or not the same decryption ticket Tk as the decryption ticket Tk received from the encrypted data creation device 3B is stored in the decryption ticket database 1L2 (# 562). If the same decryption ticket Tk is stored, it is determined that decryption is allowed, and if it is not stored, it is determined that decryption is not allowed.
  • the session key decryption processing unit 128 receives from the encrypted data creation device 3B when it is determined by the decryption process availability determination unit 127 that decryption is possible.
  • the secret key Kh associated with the user identifier UID4 indicated in the decrypted ticket Tk is called from the key pair database 1L1, and the encrypted session key Ksc received from the encrypted data creation device 3B is decrypted with the secret key Kh (# 563). Thereby, the plaintext of the encrypted session key Ksc, that is, the session key Ks is obtained.
  • the session key transmission unit 129 transmits the session key Ks to the encryption data creation device 3B that is the request source (# 564).
  • the session key reception unit 327, the decryption processing unit 325, and the decryption file output unit 328 receive the session key Ks from the key management device 1B, as in the first embodiment.
  • the encryption target file FL1 in the encrypted file FLE is decrypted using it to reproduce the target file FL0 (# 557), and the target file FL0 is output (# 558).
  • FIG. 18 shows an example of the overall configuration of the file management system SYS ′
  • FIG. 19 shows an example of the functional configuration of the key management device 1C
  • FIG. 20 shows an example of the functional configuration of the user management device 2C.
  • FIG. 21 is a diagram illustrating an example of a functional configuration of the encrypted data creation device 3C.
  • the file management system SYS provided in the company CP has been described as an example.
  • the user can encrypt and
  • the present invention can also be applied to a case where an ISP (Internet Service Provider) operates a file management system SYS so that a decryption service can be used.
  • ISP Internet Service Provider
  • the file management system SYS ′ includes a key management device 1C, a user management device 2C, an encrypted data creation device 3C, a terminal device 4C, an in-provider network NW3, an Internet NW4, and The router RT 'is configured.
  • the key management device 1C, the user management device 2C, and the encrypted data creation device 3C belong to the same intranet, and can communicate via a provider network NW3 such as a LAN.
  • the terminal device 4C can be connected to the second network NW2 via a dial-up router or a TA (Terminal Adapter).
  • the provider network NW3 and the Internet NW4 are connected by a router RT '. This enables communication between the key management device 1C, the user management device 2C, and the encrypted data creation device 3C and the terminal device 4C. In addition, communication between both apparatuses is performed by SSL.
  • the user operates the encrypted data creation devices 3 and 3B to receive the encryption and decryption services.
  • the user operates the terminal device 4C to perform the services. Receive. That is, the terminal device 4C is used as a client of a system including the key management device 1C, the user management device 2C, and the encrypted data creation device 3C.
  • the hardware configuration of the key management device 1C and the user management device 2C is the same as that of the first and second embodiments in the third embodiment, as shown in FIG.
  • a so-called server machine or the like is used as the encryption data creation device 3C, as with the key management device 1C and the user management device 2C.
  • the hard disk of the key management apparatus 1C includes a key management unit 131, a key creation request reception unit 132, a key pair generation unit 133, a public key transmission unit 134, a decryption availability inquiry unit 135, a secret key transmission unit 136, In addition, a program and data for realizing the key pair database 1M1 and the like are stored.
  • the hard disk of the user management apparatus 2C stores programs and data for realizing the user information management unit 231, the decryption permission / inhibition determination unit 232, the user related information database 2M1, and the like shown in FIG.
  • the hard disk of the encrypted data creation apparatus 3C includes a key registration request unit 330, a user authentication processing unit 331, an encryption target receiving unit 332, a public key acquisition unit 333, an encryption processing unit 334, and an encrypted file transmission shown in FIG.
  • the terminal device 4C has the same hardware configuration as the encrypted data creation devices 3 and 3B of the first and second embodiments shown in FIG.
  • a personal computer or a workstation provided with a browser is used as the terminal device 4C.
  • the ISP gives the subscriber (user) the processing content of each part of the key management device 1 shown in FIG. 19, each part of the user management device 2 shown in FIG. 20, and each part of the encrypted data creation device 3 shown in FIG.
  • a service is provided will be described as an example.
  • description is abbreviate
  • FIG. 22 is a flowchart for explaining an example of the flow of processing relating to a user who uses the file management system SYS ′ for the first time.
  • the user In order to use the file management system SYS ', the user must have the key management apparatus 1C issue a pair of his / her public key Kp and secret key Kh in public key cryptography in advance. It should be noted that encryption using a public key Kp in a public key cryptosystem described later and decryption using a secret key Kh can also be performed using a common key in a common key cryptosystem.
  • login password RP the user identifier UID and password (hereinafter, referred to as “login password RP”) are previously set so that the user can log in to the encrypted data creation device 3C via the Internet NW4 from the browser of the terminal device 4C. Must be registered in the encrypted data creation device 3C.
  • the user can allow other users to decrypt the data encrypted by the user.
  • the other user must be registered in advance in the user management apparatus 2C.
  • the key pair database 1M1 of the key management device 1C shown in FIG. 19 stores the public key Kp and the private key Kh of each user of the file management system SYS 'in association with the user identifier UID of the user.
  • the key management unit 131 performs processing for managing the public key Kp and the private key Kh stored in the key pair database 1M1 in the same manner as the key management unit 101 of the first embodiment.
  • the login information storage unit 3M1 of the encrypted data creation device 3C illustrated in FIG. 21 stores a user identifier UID and a login password RP for each user.
  • the user-related information database 2M1 of the user management device 2C shown in FIG. 20 is the decryption permission data for each user as shown in FIG. 10B, similarly to the user-related information database 2K1 of the first and second embodiments.
  • the content of the decryption permission data DTA that is, who is allowed to decrypt is determined based on the configuration of the department, but in the third embodiment, the user can arbitrarily determine it. it can.
  • the user related information database 2M1 stores various information about the user in addition to the decryption permission data DTA.
  • the user uses his / her user identifier UID and login password RP to access the browser of his / her terminal device 4C to the encrypted data creation device 3C.
  • the terminal device 4C requests the encrypted data creation device 3C to start using this service (# 561).
  • the user authentication processing unit 331 performs login authentication using the user identifier UID and the login password RP.
  • 330 performs processing for registering the user's public key Kp and the like as follows.
  • the key registration request unit 330 requests the terminal device 4C to specify who is allowed to decrypt the data encrypted by the user (# 572). If you do not want anyone to decrypt, you do not have to specify.
  • the terminal device 4C Upon receipt of the request (# 562), the terminal device 4C requests the user, for example, by displaying a registration screen so as to designate who is allowed to decrypt (# 563).
  • the terminal device 4C When the terminal device 4C receives the designation of the person who is permitted to decrypt (# 564), it notifies the encrypted data creation device 3C of the user identifier UID of each designated person, thereby requesting registration of the decryption permission data DTA ( # 565).
  • the key registration requesting unit 330 receives the request (# 573)
  • the content notified from the terminal device 4C is transferred to the user management device 2C, so that the user's A request is made to register the decryption permission data DTA (# 574).
  • the user information management unit 231 determines the user identifier UID of the user of the terminal device 4C based on the information transferred from the encrypted data creation device 3C.
  • Decryption permission data DTA shown in the “encrypted user ID” field and the user identifier UID of each person designated by the user in the “decryptable user ID” field is generated and registered in the user related information database 2M1 (# 592). ). Then, it notifies the encryption data creation device 3C that registration has been completed (# 593).
  • the key registration requesting unit 330 registers the public key Kp and the private key Kh of the user in the key management device 1C before or after the request for registration of the decryption permission data DTA. Request (# 576).
  • the key management device 1C when the key creation request reception unit 132 receives the request (# 581), the key pair generation unit 133 generates a pair of public key Kp and secret key Kh, and the user identifier UID of the user And stored (registered) in the key pair database 1M1 (# 582). Then, it notifies the encryption data creation device 3C that registration has been completed (# 583).
  • the user authentication processing unit 331 recognizes the login of the user, and login information Is registered in the login information storage unit 3M1 (# 578) and transmitted to the terminal device 4C (# 579).
  • the terminal device 4C receives the login information from the encrypted data creation device 3C (# 566).
  • the user can subsequently specify another user who is allowed to decrypt. Then, the user information management unit 231 of the user management device 2C updates the “decryptable user ID” of the decryption permission data DTA related to the user identifier UID based on the newly specified content.
  • FIG. 23 is a flowchart for explaining an example of the flow of data encryption processing.
  • the user can receive a data encryption service when the public key Kp and the secret key Kh are issued.
  • the procedure of the encryption process is different from both the embodiments.
  • the procedure of the encryption process in the third embodiment will be described with reference to FIG.
  • the user inputs the user identifier UID and the login password RP to the browser of the terminal device 4C. Then, the terminal device 4C requests login by transmitting the user identifier UID and login password RP to the encrypted data creation device 3C (# 601).
  • the user authentication processing unit 331 When the request is received in the encrypted data creation device 3C (# 611), the user authentication processing unit 331 performs user authentication using the user identifier UID and the login password RP (# 612). If the authentication is successful, a login permission notification is transmitted to the terminal device 4C (# 613).
  • the user designates the file (target file FL0) including the data to be encrypted to the terminal device 4C.
  • the terminal device 4C obtains the target file FL0 by calling it from the hard disk or inputting it from an external recording medium (# 603), and transfers it to the encrypted data creation device 3C (# 604). ).
  • the public key acquisition unit 333 sends the public key Kp corresponding to the user identifier UID of the user to the key management device 1C. Request and obtain (# 615, # 616).
  • the user information management unit 231 searches for the public key Kp associated with the user identifier UID and stored in the key pair database 1M1 (# 622). It is transmitted to the encrypted data creation device 3C (# 623).
  • the encryption processing unit 334 encrypts the target file FL0 received in step # 614 using the acquired (received) public key Kp (# 617). As a result, the encryption target file FL1 is obtained. Further, the encrypted file FLE 'is generated by adding the user identifier UID of the user to the encryption target file FL1.
  • the public key Kp is temporarily stored in the key storage unit 3M2.
  • the encrypted file transmission unit 335 transmits the encrypted file FLE 'to the terminal device 4C (# 618).
  • the terminal device 4C receives the encrypted file FLE '(# 605).
  • FIG. 24 is a flowchart for explaining an example of the flow of decryption based on the request of the principal
  • FIGS. 25 and 26 are flowcharts for explaining an example of the flow of decryption based on the request of another user.
  • a user who has encrypted the encrypted file FLE ' can decrypt the encrypted file FLE'.
  • the processing procedure of each apparatus in this case will be described with reference to FIG.
  • the user can decrypt the encrypted data as follows. At this time, each device executes processing according to the procedure shown in FIG.
  • the user inputs the user identifier UID and the login password RP and requests user authentication, as in the case of encryption. Then, each unit of the terminal device 4C and the encrypted data creation device 3C performs the same processing as in the case of encryption (# 631, # 632, # 641 to # 643).
  • the user designates the encrypted file FLE 'including the data to be decrypted to the terminal device 4C (# 633).
  • the terminal device 4C obtains the encrypted file FLE ′ by calling it from the hard disk or inputting it from an external recording medium (# 634), and transfers it to the encrypted data creation device 3C (# 634). # 634).
  • the secret key acquiring unit 337 transmits the encrypted user identifier UID of the user from the encrypted file FLE ′. By extracting (# 645) and comparing it with the user identifier UID of the user of the terminal device 4C, it is determined whether or not both are the same person (# 646). If they are the same person, the secret key acquisition unit 337 notifies the key management device 1C that the user of the terminal device 4C is the encrypted person and requests the secret key Kh of the user. And obtain it (# 647, # 648).
  • the secret key transmission unit 136 searches the key pair database 1M1 for the secret key Kh corresponding to the user identifier UID of the requested user. (# 662), and transmits this to the encrypted data creation device 3C (# 663).
  • the decryption processing unit 338 decrypts the encryption target file FL1 in the encrypted file FLE ′ received in Step # 644 using the acquired (received) private key Kh (# 649). ). As a result, the plaintext of the encryption target file FL1, that is, the target file FL0 is obtained.
  • the secret key Kh is temporarily stored in the key storage unit 3M2.
  • the decrypted file transmission unit 339 transmits the target file FL0 to the terminal device 4C (# 650).
  • the terminal device 4C receives the target file FL0 (# 635).
  • the processing procedure of each device in this case will be described with reference to FIG. 25 and FIG.
  • processing such as user authentication, input of the encrypted file FLE ′ to be decrypted, and determination of whether or not the user is the person who encrypted the encrypted file FLE ′. are as described in steps # 631 to # 634 and # 641 to 646 in FIG. 24 (# 671 to # 674, # 681 to 686).
  • the secret key acquisition unit 337 of the encryption data creation device 3C determines that the user of the terminal device 4C is not the person who encrypted the decryption target, the user identifier UID of the user (hereinafter referred to as “user identifier UID5”). And the user identifier UID added to the encrypted file FLE ′ (that is, the user identifier UID of the encrypted user, hereinafter referred to as “user identifier UID6”) to the user management apparatus 2C. Transmit (# 687).
  • the decryption permission / inhibition determining unit 232 searches the user related information database 2M1 for the decryption permission data DTA related to the user identifier UID6 (# 712). ), If the user identifier UID5 is indicated in the “decryptable user ID” field of the decryption permission data DTA, it is determined that the decryption is allowed. If not, it is determined that the decryption is not permitted. (# 713). Then, the discrimination result is transmitted to the key management device 1C (# 714).
  • the secret key transmission unit 136 searches the key pair database 1M1 for the secret key Kh corresponding to the user identifier UID of the user who encrypted the encrypted file FLE ′ (# 702), and transmits this to the encrypted data creation device 3C. (# 703).
  • the decryption processing unit 338 decrypts the encryption target file FL1 in the encrypted file FLE 'using the acquired (received) secret key Kh (# 688, # 689). As a result, the target file FL0 is obtained. Then, the decrypted file transmission unit 339 transmits the target file FL0 to the terminal device 4C (# 690). The terminal device 4C receives the target file FL0 (# 675).
  • data can be safely decrypted without a person having a decryption key.
  • data created and encrypted by a person in charge of the company CP may be decrypted by an authorized person such as the person in charge of the person in charge even when the person in charge is absent or forgets the password. it can.
  • an authorized person such as the person in charge of the person in charge even when the person in charge is absent or forgets the password. it can.
  • the contents of the decryption permission data DTA can be freely set, it is convenient also when the encrypted data is shared among members of the project implemented across the organizations.
  • key management and user information management are performed by separate devices. Therefore, it is easy to manage each of them by a manager of another organization.
  • the device operated by the user that is, the encrypted data creation devices 3 and 3B, receives the decryption key and decrypts the data. Therefore, since plaintext data is not communicated, it is possible to more reliably prevent leakage of confidential information.
  • processing is distributed to three types of devices and data management is performed, but all processing may be performed by one device.
  • the key management device 1 (or 1B) and the user management device 2 (or 2B) may be realized by a single device.
  • the key management device 1C, the user management device 2C, and the encrypted data creation device 3C may be integrated into one device.
  • a plurality of encrypted data creation devices 3C may be prepared to distribute the encryption and decryption processes.
  • the public key Kp described above and A program that executes the process of generating and registering the secret key Kh, the process of generating and registering the decryption permission data DTA, the process of encrypting, the process of decrypting, and the like is installed in this one apparatus. Then, this one apparatus is caused to execute this program.
  • one user who is allowed to decrypt is designated one by one, but it may be designated in groups. For example, it may be possible to specify for each business group such as “Recruiting Group”, “Training Group”, etc., or for each group of title attributes such as “Manager Group”, “General Manager Group”, etc. May be specified.
  • the present invention can also be used for sending and receiving e-mails.
  • the sender registers the receiver in advance in the “decryptable user ID” field of his / her decryption permission data DTA. Then, the electronic mail is encrypted and transmitted to the recipient. That way, if you accidentally send it to another destination, the person who receives it cannot decrypt your email. Thus, electronic mail can be exchanged safely.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

装置2は、第一ユーザごとに、その第一ユーザの第一IDと第二ユーザのうちその第一ユーザが認めるユーザの第二IDとを対応付けて記憶する。装置1は、第一ユーザごとに、1対の公開鍵および秘密鍵をその第一ユーザの第一IDと対応付けて記憶する。装置3は、第一ユーザが第三の鍵で暗号化させたデータである暗号化データに、その第三の鍵をその第一ユーザの公開鍵で暗号化したものとその第一ユーザの第一IDとを付加する。第二ユーザが暗号化データの復号を要求したら、その第二ユーザの第二IDが、その暗号化データに付加されている第一IDと対応付けられて装置2に記憶されていれば、その暗号化データに付加されている第三の鍵を、その暗号化データに付加されている第一IDに対応する秘密鍵で復号し、復号した第三の鍵でその暗号化データを復号する。

Description

データ管理システム、データ管理方法、およびコンピュータプログラム
 本発明は、暗号化してデータを管理するシステムおよび方法などに関する。
 従来、機密情報の保護のために、データを暗号化して保存する方法が広く用いられている。
 暗号化および復号の方法として、共通鍵暗号方式および公開鍵暗号方式が広く知られている。そのほか、暗号化および復号の方法として、次のような方法が提案されている。
 特開2000-174746号公報に記載される方法によると、公開鍵暗号の公開鍵と秘密鍵の鍵ペアのうち秘密鍵をN個(N≧2の整数)に分割し、それぞれをN人の分割鍵保有者に保有させる。N人のうちK(K<N)人が保有する秘密鍵を用いて前記公開鍵で暗号化されたデータをコンピュータにより復号する場合に、前記分割鍵保有者の数Nに1を加えた数の変数を含む複数の一次式で、1つの変数の係数は常に0でなく、残りN個の変数の係数のうちK個が0でない複数の一次式を利用して秘密鍵をN個に分割し、その分割されたN個の秘密鍵のうちK個を用いて前記公開鍵で暗号化したデータを復号する。
 特開2007-13484号公報に記載される方法は、接続する記憶媒体に暗号化データを保存するユーザ側データ処理装置と、その暗号化データが復号不能となる非常時に復旧作業を行う復旧処理装置とが分担・協業してデータを復旧する方法である。この方法によると、復旧処理装置は、公開鍵と個人鍵のペアを作成して公開鍵のみをユーザ側装置に渡し、ユーザ側装置は、データを暗号化するための暗号鍵を作成し、公開鍵でその暗号鍵を暗号化して記憶媒体の所定箇所に書き込む一方、非常時に、暗号化された暗号鍵を記憶媒体から取り出して復旧処理装置に渡すと、復旧処理装置は、個人鍵によって復号化した暗号鍵をユーザ側装置に送り返すのでユーザ側装置はデータの復旧ができる。
 特開2006-333164号公報に記載される方法によると、携帯型端末内で自動生成したデータの暗号鍵を、ユーザ入力の外部鍵Aによって暗号化したものと、鍵管理サーバが管理する外部鍵Bの公開鍵によってユーザ識別情報とあわせて暗号化したものと、それぞれを端末内に保存する。暗号鍵を取り出す方法は、オフラインもしくは外部鍵Aに変更のない場合には、ユーザ入力の外部鍵Aによって暗号鍵を復号化する方法をとり、オンラインかつ外部鍵Aに変更のあった場合には、鍵管理サーバに外部鍵Bの公開鍵で暗号化した暗号鍵の復号化を依頼して暗号鍵を受け取るようにする。
特開2000-174746号公報 特開2007-13484号公報 特開2006-333164号公報
 暗号化されたデータは、復号用の鍵がなければ、誰も平文に戻すことができない。したがって、データの所有者は、復号用の鍵を他人に盗まれないように注意するとともに、自分自身で復号用の鍵を紛失してしまわないように注意しなければならない。
 また、近年、会社または役所などの組織において、機密情報の漏洩の防止のために、組織内で取り扱うデータを、担当者のみが知っているパスワードを共通鍵(対称鍵)として用いて暗号化することが、よく行われている。
 もしも、担当者が欠勤または出張などで不在であれば、データを復元することができない。また、担当者がパスワードを後任者に引き継ぐことを忘れて退職してしまうと、やはり、データを復元することができない。担当者がパスワードを忘却してしまった場合も、同様である。
 上記の3つの特許文献に記載される方法では、上記のような場合にデータを復号することができない。
 本発明は、このような問題点に鑑み、復号用の鍵を有する者が居なくてもデータを安全に復号できるようにすることを目的とする。
 本発明の一形態に係るデータ管理システムは、第一のユーザごとに、当該第一のユーザの第一の識別子と第二のユーザのうち当該第一のユーザが暗号化させたデータの復号を認めるものの第二の識別子とを対応付けて記憶する、復号許可情報記憶手段と、前記第一のユーザごとに、第一の鍵および当該第一の鍵で暗号化されたデータを復号するための第二の鍵を当該第一のユーザの前記第一の識別子と対応付けて記憶する、鍵記憶手段と、前記第一のユーザが第三の鍵で暗号化させたデータである暗号化データに、当該第三の鍵を当該第一のユーザの前記第一の鍵で暗号化したものと当該第一のユーザの前記第一の識別子とを付加する、付加手段と、前記第二のユーザが前記暗号化データの復号を要求した際に、当該第二のユーザの前記第二の識別子が、当該暗号化データに付加されている前記第一の識別子と対応付けられて前記復号許可情報記憶手段に記憶されていれば、当該暗号化データの復号を許可し、対応付けられていなければ、当該暗号化データの復号を拒否する、復号許否判別手段と、前記暗号化データの復号が許可された場合に、当該暗号化データに付加されている前記第三の鍵を、当該暗号化データに付加されている前記第一の識別子に対応する前記第二の鍵で復号し、当該復号した第三の鍵で当該暗号化データを復号する、復号手段と、を有する。
 本発明の他の携帯に係るデータ管理システムは、第一のユーザごとに、当該第一のユーザの第一の識別子と第二のユーザのうち当該第一のユーザが暗号化させたデータの復号を認めるものの第二の識別子とを対応付けて記憶する、復号許可情報記憶手段と、前記第一のユーザごとに、第一の鍵および当該第一の鍵で暗号化されたデータを復号するための第二の鍵を当該第一のユーザの前記第一の識別子と対応付けて記憶する、鍵記憶手段と、前記暗号化データの復号を所望する前記第二のユーザに対して、当該第二のユーザの前記第二の識別子が、当該暗号化データに付加されている前記第一の識別子と対応付けられて前記復号許可情報記憶手段に記憶されていれば、当該暗号化データの電子チケットを発行する、電子チケット発行手段と、前記発行された電子チケットを記憶する電子チケット記憶手段と、前記電子チケットが入力されたときに、当該電子チケットと同一の電子チケットが前記電子チケット記憶手段に記憶されていれば、当該電子チケットに係る前記暗号化データに付加されている前記第三の鍵を、当該暗号化データに付加されている前記第一の識別子に対応する前記第二の鍵で復号し、当該復号した第三の鍵で当該暗号化データを復号する、復号手段と、を有する。
 本発明の他の携帯に係るデータ管理システムは、第一のユーザごとに、当該第一のユーザの第一の識別子と第二のユーザのうち当該第一のユーザが暗号化させたデータの復号を認めるものの第二の識別子とを対応付けて記憶する、復号許可情報記憶手段と、前記第一のユーザごとに、第一の鍵および当該第一の鍵で暗号化されたデータを復号するための第二の鍵を当該第一のユーザの前記第一の識別子と対応付けて記憶する、鍵記憶手段と、前記第一のユーザのクライアントから、暗号化する対象のデータを受信する、暗号化対象データ受信手段と、前記受信されたデータを、当該データの送信者である前記第一のユーザの前記第一の鍵で暗号化する、対象データ暗号化手段と、前記暗号化されたデータと当該データを暗号化させた前記第一のユーザの前記第一の識別子とを含むファイルを当該第一のユーザのクライアントに送信するファイル送信手段と、前記第二のユーザのクライアントから前記ファイルを受信するファイル受信手段と、前記受信されたファイルの送信者である前記第二のユーザの前記第二の識別子が、当該ファイルに含まれる前記第一の識別子と対応付けられて前記復号許可情報記憶手段に記憶されていれば、当該ファイルに含まれる前記暗号されたデータの復号を許可し、対応付けられていなければ、当該暗号化データの復号を拒否する、復号許否判別手段と、前記暗号されたデータの復号が許可された場合に、当該データを暗号化させた前記第一のユーザの前記第二の鍵で当該データを復号する、復号手段と、前記復号されたデータを前記第二のユーザのクライアントに送信する復号データ送信手段と、を有する。
 本発明によると、復号用の鍵を有する者が居なくてもデータを安全に復号することができる。
ファイル管理システムの全体的な構成の例を示す図である。 鍵管理装置のハードウェア構成の例を示す図である。 鍵管理装置の機能的構成の例を示す図である。 ユーザ管理装置の機能的構成の例を示す図である。 暗号データ作成装置のハードウェア構成の例を示す図である。 暗号データ作成装置の機能的構成の例を示す図である。 新規の1対の公開鍵および秘密鍵の登録の処理の流れの例を説明するフローチャートである。 暗号化対象等指定受付部の構成および暗号化の処理の流れの例を説明するための図である。 暗号化ファイルの構成の例を示す図である。 部署の構成および復号許可データの例を示す図である。 部署の構成および復号許可データの例を示す図である。 復号処理部の構成および本人の要求に基づく復号の処理の流れの例を説明するための図である。 他のユーザの要求に基づく復号の処理の流れの例を説明するための図である。 鍵管理装置の機能的構成の例を示す図である。 暗号データ作成装置の機能的構成の例を示す図である。 復号チケットの発行の処理の流れの例を説明するフローチャートである。 復号の処理の流れの例を説明するフローチャートである。 ファイル管理システムの全体的な構成の例を示す図である。 鍵管理装置の機能的構成の例を示す図である。 ユーザ管理装置の機能的構成の例を示す図である。 暗号データ作成装置の機能的構成の例を示す図である。 初めてファイル管理システムを使用するユーザに関する処理の流れの例を説明するフローチャートである。 データの暗号化の処理の流れの例を説明するフローチャートである。 本人の要求に基づく復号の処理の流れの例を説明するフローチャートである。 他のユーザの要求に基づく復号の処理の流れの例を説明するフローチャートである。 他のユーザの要求に基づく復号の処理の流れの例を説明するフローチャートである。
 〔第一の実施形態〕
 図1はファイル管理システムSYSの全体的な構成の例を示す図、図2は鍵管理装置1のハードウェア構成の例を示す図、図3は鍵管理装置1の機能的構成の例を示す図、図4はユーザ管理装置2の機能的構成の例を示す図、図5は暗号データ作成装置3のハードウェア構成の例を示す図、図6は暗号データ作成装置3の機能的構成の例を示す図である。
 図1に示すファイル管理システムSYSは、画像データおよび文書データなど種々のデータを暗号化してファイル単位で管理するシステムである。
 ユーザは、自分のデータを、自分が決めたパスワードを暗号鍵として用いてファイル管理システムSYSに暗号化させ保存させることができる。その暗号鍵を復号鍵としてそのデータを復号させることもできる。つまり、ファイル管理システムSYSでは、共通鍵暗号方式が採用されている。共通鍵暗号方式は、一般に「秘密鍵暗号方式」または「対称暗号方式」とも呼ばれている。ユーザに入力させたパスワードを鍵として用いる方式は、特にPBE(Password Based Encryption)と呼ばれることがある。以下、ユーザが決めた、共通鍵(秘密鍵、対称鍵)として用いられるパスワードを、「ユーザパスワードYP」と記載する。
 また、ユーザは、自分のユーザパスワードYPを万が一忘れてしまっても、自分が暗号化させたデータを復号させることができる。さらに、自分が決めたユーザパスワードYPを教えることなく自分のデータを復号することを特定の他のユーザに認めることができる。これらの場合は、さらに公開鍵暗号方式が用いられる。
 ユーザには、予め、1人ずつ、識別用の情報(以下、「ユーザ識別子UID」と記載する。)が与えられている。ユーザ識別子UIDは、いわゆる従業員番号と同じものでよい。
 共通鍵暗号方式および公開鍵暗号方式を用いたデータの管理の仕組みは、後に順次説明する。
 ファイル管理システムSYSは、鍵管理装置1、ユーザ管理装置2、複数台の暗号データ作成装置3、第一のネットワークNW1、第二のネットワークNW2、およびルータRTなどによって構成される。
 鍵管理装置1およびユーザ管理装置2は、同じセグメントに属しており、LANなどの第一のネットワークNW1を介して通信を行うことができる。
 第二のネットワークNW2は、インターネットなどのような広域の通信網である。暗号データ作成装置3は、ダイアルアップルータまたはTA(Terminal Adapter)などを介して第二のネットワークNW2に接続することができる。
 第一のネットワークNW1と第二のネットワークNW2とは、ルータRTによって繋がれている。これにより、鍵管理装置1およびユーザ管理装置2と各暗号データ作成装置3との間の通信が可能になる。
 なお、鍵管理装置1、ユーザ管理装置2、および暗号データ作成装置3は、SSL(Secure Sockets Layer)などの暗号化技術に基づいてデータを暗号化して通信を行う。
 鍵管理装置1は、図2に示すようにCPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10c、ハードディスク10d、NIC(Network Interface Card)10e、および制御用回路10fなどによって構成されており、主に公開鍵暗号方式の公開鍵および秘密鍵の管理のための処理を行う。
 制御用回路10fは、ハードディスク10dおよびNIC10eなどを制御するための回路である。
 NIC10eは、暗号データ作成装置3などの他の装置とTCP/IPによって通信を行うための装置である。
 ROM10cおよびハードディスク10dには、図3に示すような鍵管理部101、鍵要求受付部102、鍵ペア生成部103、公開鍵送信部104、復号対象鍵等受信部105、復号ユーザ情報取得部106、復号処理可否判別部107、セッション鍵復号処理部108、セッション鍵送信部109、および鍵ペアデータベース1K1などを実現するためのプログラムおよびデータが記憶されている。これらのプログラムおよびデータは必要に応じてRAM10bにロードされ、CPU10aによってプログラムが実行される。
 ユーザ管理装置2は、主に、ファイル管理システムSYSを使用するユーザに関する情報の管理のための処理を行う。ユーザ管理装置2のハードウェア構成は、図2に示した鍵管理装置1のハードウェア構成と同様である。ただし、ROMおよびハードディスクには、図4に示すユーザ情報管理部201、情報要求受信部202、復号ユーザ情報送信部203、およびユーザ関連情報データベース2K1などを実現するためのプログラムおよびデータが記憶されている。これらのプログラムおよびデータは必要に応じてRAMにロードされ、CPUによってプログラムが実行される。
 鍵管理装置1およびユーザ管理装置2として、いわゆるサーバ機またはワークステーションなどが用いられる。
 暗号データ作成装置3は、データを取り扱うためにユーザが直接操作して使用する装置である。例えば、ユーザは、暗号データ作成装置3にインストールされている描画ソフトまたはワープロソフトなどのアプリケーションソフトを用いて画像または文書のデータを作成しまたは編集したり、そのデータを電子メールなどによって他の装置に転送したり、USB(Universal Serial Bus)メモリに保存したりする。さらに、暗号データ作成装置3は、これらの処理の際に、適宜、データの暗号化または復号を行う。
 暗号データ作成装置3は、図5に示すようにCPU30a、RAM30b、ROM30c、ハードディスク30d、NIC30e、ディスプレイ30f、キーボード30g、ポインティングデバイス30h、およびUSBポート30iなどによって構成されている。
 NIC30eは、鍵管理装置1またはユーザ管理装置2とTCP/IPによって通信を行うための装置である。
 ディスプレイ30fは、アプリケーションソフトの画面およびファイルの操作のための画面などを表示する。
 キーボード30gおよびポインティングデバイス30hは、ユーザが画像または文書、自分のユーザ識別子UID(ユーザID)、およびユーザパスワードYPなどを入力するための入力装置である。
 USBポート30iは、USBメモリまたは外付けドライブなどのUSB機器を暗号データ作成装置3に繋げるためのインタフェースである。
 ROM30cおよびハードディスク30dには、図6に示すような公開鍵取得部301、暗号化対象等指定受付部302、暗号化処理部303、ユーザ識別子等受付部304、復号処理部305、復号対象鍵等送信部306、セッション鍵受信部307、復号ファイル出力部308、公開鍵記憶部3K1、および暗号化ファイル記憶部3K2などを実現するためのプログラムおよびデータが記憶されている。これらのプログラムおよびデータは必要に応じてRAM30bにロードされ、CPU30aによってプログラムが実行される。
 暗号データ作成装置3として、パーソナルコンピュータまたはワークステーションなどが用いられる。
 次に、図3に示す鍵管理装置1の各部、図4に示すユーザ管理装置2の各部、および図5に示す暗号データ作成装置3の各部の処理内容を、ある会社CPでファイル管理システムSYSが用いられる場合を例に説明する。
 〔公開鍵暗号方式の鍵の準備のための処理〕
 図7は新規の1対の公開鍵Kpおよび秘密鍵Khの登録の処理の流れの例を説明するフローチャートである。
 ユーザは、暗号データ作成装置3を初めて使用する際に、自分の公開鍵Kpおよび秘密鍵Khを1対、鍵管理装置1に発行してもらい、公開鍵をその暗号データ作成装置3に登録しておかなければならない。
 図6に示す暗号データ作成装置3の公開鍵記憶部3K1は、その暗号データ作成装置3を使用するユーザごとの公開鍵Kpを、そのユーザのユーザ識別子UIDと対応付けて記憶する。
 一方、図3に示す鍵管理装置1の鍵ペアデータベース1K1は、ファイル管理システムSYSのすべてのユーザそれぞれの公開鍵Kpおよび秘密鍵Khをそのユーザのユーザ識別子UIDと対応付けて記憶する。
 鍵管理部101は、新たな公開鍵Kpおよび秘密鍵Khのペアを鍵ペアデータベース1K1に記憶させたり、鍵ペアデータベース1K1に記憶されている公開鍵Kpおよび秘密鍵Khを呼び出したりするなど、公開鍵Kpおよび秘密鍵Khの管理の処理を行う。
 ユーザは、暗号データ作成装置3の使用を開始する際に、自分のユーザ識別子UIDをキーボード30gを操作して入力する。
 すると、公開鍵取得部301は、そのユーザ識別子UIDに対応する公開鍵Kpが公開鍵記憶部3K1に記憶されているか否かをチェックし、記憶されていなければ、その公開鍵Kpを鍵管理装置1から取得する。公開鍵Kpは、図7に示す手順で生成され暗号データ作成装置3に与えられる。
 公開鍵取得部301は、そのユーザ識別子UIDを示す公開鍵要求データ7Aを鍵管理装置1に送信することによって、公開鍵Kpの発行を要求する(図7の#501)。
 鍵管理装置1において、鍵要求受付部102が公開鍵要求データ7Aを受信すると(#511)、鍵ペア生成部103は、新たな公開鍵Kpおよび秘密鍵Khを1対生成する(#512)。鍵管理部101は、その公開鍵Kpおよび秘密鍵Khを、公開鍵要求データ7Aに示されるユーザ識別子UIDと対応付けて鍵ペアデータベース1K1に記憶させる(#513)。そして、公開鍵送信部104は、その公開鍵Kpを、要求元である暗号データ作成装置3に送信する(#514)。
 暗号データ作成装置3において、公開鍵取得部301は、鍵管理装置1から送信されてきた公開鍵Kpを受信すると(#502)、そのユーザ識別子UIDと対応付けて公開鍵記憶部3K1に記憶させる(#503)。
 なお、前に述べたように、公開鍵要求データ7Aおよび公開鍵Kpは、SSLによって暗号化されて、鍵管理装置1とユーザ管理装置2との間でやり取りされる。後に順次説明する、2台の装置でやり取りされる他のデータについても同様である。
 〔データの暗号化のための処理〕
 図8は暗号化対象等指定受付部302の構成および暗号化の処理の流れの例を説明するための図、図9は暗号化ファイルFLEの構成の例を示す図である。
 ユーザは、公開鍵Kpおよび秘密鍵Khを発行してもらったら、データの暗号化のサービスを受けることができる。
 ユーザは、暗号化したいデータを含むファイルを、アプリケーションソフトで画像または文書などを作成することによって、暗号データ作成装置3のハードディスク30dに保存しておく。または、NIC30eまたはUSBポート30iを介して他の装置または記録媒体から取得し、ハードディスク30dに保存しておく。
 そして、キーボード30gなどを操作してそのファイルを指定するとともに暗号鍵(ここでは、共通鍵暗号方式の暗号鍵)とするユーザパスワードYPおよび暗号化のコマンドを入力する。
 すると、暗号化対象等指定受付部302は、その指定および入力を受け付ける。暗号化処理部303は、そのユーザパスワードYPを用いてその指定のファイル(以下、「対象ファイルFL0」と記載する。)を暗号化する。ここで、図8を参照しながら、暗号化の手順を説明する。
 暗号化対象等指定受付部302は、図8に示すように、擬似乱数発生部3021、セッション鍵生成部3022、公開鍵暗号化処理部3023、平文暗号化処理部3024、および暗号化ファイル生成部3025などによって構成される。
 暗号化のコマンドなどが入力されると(丸数字1)、擬似乱数発生部3021は、擬似乱数(ソルト)RNを発生させる(丸数字2)。
 セッション鍵生成部3022は、その擬似乱数RNとユーザが入力したユーザパスワードYPとを用いて、セッション鍵Ksを生成する(丸数字3)。例えば、所定のハッシュ関数に擬似乱数RNおよびユーザパスワードYPを代入することによって、生成する。このセッション鍵Ksは、共通鍵暗号方式の鍵として用いられる。
 公開鍵暗号化処理部3023は、セッション鍵Ksを、公開鍵記憶部3K1に記憶されているそのユーザの公開鍵Kpを暗号鍵として用いて暗号化する(丸数字4)。以下、暗号化されたセッション鍵Ksを「暗号化セッション鍵Ksc」と記載する。
 平文暗号化処理部3024は、セッション鍵Ks暗号鍵として用いて対象ファイルFL0を暗号化する(丸数字5)。以下、暗号化された対象ファイルFL0を「暗号化対象ファイルFL1」と記載する。
 そして、暗号化ファイル生成部3025は、そのユーザのユーザ識別子UID、セッション鍵生成部3022および公開鍵暗号化処理部3023によって得られた暗号化セッション鍵Ksc、擬似乱数発生部3021によって得られた擬似乱数RN、および平文暗号化処理部3024によって得られた暗号化対象ファイルFL1をマージすることによって、図9のような暗号化ファイルFLEを生成する(丸数字6)。
 生成された暗号化ファイルFLEは、暗号化ファイル記憶部3K2に記憶(保存)される。
 〔データの復号のための処理〕
 図10および図11は部署αの構成および復号許可データDTAの例を示す図、図12は復号処理部305の構成および本人の要求に基づく復号の処理の流れの例を説明するための図、図13は他のユーザの要求に基づく復号の処理の流れの例を説明するための図である。
 図4に示すユーザ管理装置2のユーザ関連情報データベース2K1は、どのユーザが暗号化させたファイルをどのユーザに復号させてもよいかを示すデータを記憶している。
 例えば、図10(a)に示すように、会社CPの社員である5人のユーザA、B、…、Eからなる部署αが存在し、この部署では各ユーザが次のように復号の可否の規則を定めているとする。
・ 部長であるユーザAは、自分だけでなく他のユーザB~Eの誰が暗号化させたファイルであっても、復号することができる。
・ 課長であるユーザB、Cは、自分の課のユーザ(自分を含む)の誰かが暗号化させたファイルを復号することができる。さらに、部署αの他の課の課長が暗号化させたファイルも復号することができる。
・ 部長でも課長でもない一般の課員(ユーザ)は、自分が暗号化させたファイルおよび他の一般の課員が暗号化させたファイルを復号することができる。
・ あるユーザが他のユーザから役職を引き継いだ場合は、当該ユーザは、当該他のユーザのファイルを引き継ぎ、それを復号することができる。
 これらの規則に基づいて、ユーザ関連情報データベース2K1には、部署αの復号のためのデータとして、図10(b)のように、部署αの社員(ユーザ)ごとの復号許可データDTAが記憶されている。
 復号許可データDTAには、「暗号化ユーザID」フィールドに示されるユーザ識別子UIDを有するユーザが暗号化させたファイルの復号、「復号可能ユーザID」フィールドに示されるユーザ識別子UIDを有するユーザに許可する、ということが、示されている。
 復号許可データDTAの内容は会社CPのシステム管理者などによってユーザ管理装置2に入力される。ユーザ情報管理部201は、入力された内容に基づいて復号許可データDTAを生成し、ユーザ関連情報データベース2K1に記憶させる。
 また、ユーザ情報管理部201は、復号許可データDTAを更新する。例えば、図11(a)のように、ユーザAが退職しユーザFが部署αに配属されて部署αの構成が変化したとする。ユーザAの後任はユーザBである。ユーザBは、ユーザAのファイルを引き継ぐ。このとき、システム管理者は、新たな構成に応じて復号許可データDTAの内容を入力し直す。ユーザ情報管理部201は、それに基づいて、図11(b)のように各復号許可データDTAを更新する。
 なお、図11(b)において、「復号可能ユーザID」フィールドの中の下線を引いたユーザ識別子UIDは、新たに追加されたユーザ識別子UIDである。「復号可能ユーザID」フィールドの中の取消線を引いたユーザ識別子UIDは、削除され存在しないユーザ識別子UIDである。「ユーザID」フィールドに示されるユーザ識別子UIDが「U00F」である復号許可データDTAは、新たに生成され追加されたものである。
 そのほか、ユーザ情報管理部201は、復号許可データDTA以外にもユーザに関する種々の情報を示すデータを管理する。
 ユーザは、自分が暗号データ作成装置3に生成させた(暗号化させた)暗号化ファイルFLEを、暗号化の際に用いたユーザパスワードYPを入力することによって、その暗号化ファイルFLEを復号させることができる。
 ユーザは、復号したい暗号化ファイルFLEを指定するとともに、自分のユーザ識別子UIDおよびその暗号化ファイルFLEの暗号化の際に用いたユーザパスワードYPを入力する。
 すると、その暗号データ作成装置3のユーザ識別子等受付部304(図6参照)は、ユーザが入力しまたは指定した内容を受け付ける。
 復号処理部305は、指定された暗号化ファイルFLEを、入力されたユーザパスワードYPに基づいて復号する。ここで、図12を参照しながら、暗号化ファイルFLEの復号の手順を説明する。
 復号処理部305は、図12に示すように、データ分割部3051、セッション鍵生成部3052、および本文復号処理部3053などによって構成される。
 データ分割部3051は、ユーザが指定した暗号化ファイルFLE(図9参照)を暗号化ファイル記憶部3K2または外部の記録媒体などから呼び出し(丸数字1)、ユーザ識別子UID、暗号化セッション鍵Ksc、擬似乱数RN、および暗号化対象ファイルFL1に分割する(丸数字2)。
 セッション鍵生成部3052は、ユーザが入力したユーザパスワードYPおよび暗号化ファイルFLEから分割された擬似乱数RNを用いて、暗号化ファイルFLEから分割された暗号化セッション鍵Kscの平文(つまり、セッション鍵Ks)を生成する(丸数字3)。生成の方法は、図8で説明したセッション鍵生成部3022によるセッション鍵Ksの生成の方法と同じである。すなわち、例えば、そのユーザパスワードYPおよびその擬似乱数RNを所定のハッシュ関数に代入することによって、生成する。
 本文復号処理部3053は、セッション鍵生成部3052によって生成されたセッション鍵Ksを用いて暗号化対象ファイルFL1を復号する(丸数字4)。これにより、暗号化対象ファイルFL1の平文つまり対象ファイルFL0が得られる。
 ところで、ユーザ本人がユーザパスワードYPを忘却してしまった場合およびそのユーザが退職するなどして会社CPに居なくなった場合は、正しいユーザパスワードYPを暗号データ作成装置3に入力することができない。そうすると、図12で説明した方法では暗号化ファイルFLEの復号用のセッション鍵Ksが得られないので、暗号化ファイルFLEを復号することができない。
 そこで、暗号データ作成装置3は、鍵管理装置1からセッション鍵Ksを取得し、それを用いて暗号化ファイルFLEを復号する。ここで、この一連の処理の手順を、ユーザBが暗号化させた暗号化ファイルFLEをユーザAが復号しようとする場合を例に、図13を参照しながら説明する。
 暗号データ作成装置3の復号対象鍵等送信部306(図6参照)は、鍵管理装置1に対して、その暗号化ファイルFLEから分割されたユーザ識別子UID(ここでは、ユーザBのユーザ識別子UID。以下、図13の説明において「ユーザ識別子UID1」と記載する。)および暗号化セッション鍵Kscとユーザ識別子等受付部304が受け付けたユーザ識別子UID(ここでは、ユーザAのユーザ識別子UID。以下、図13の説明において「ユーザ識別子UID2」と記載する。)とを送信することによって、その暗号化セッション鍵Kscを復号するように要求する(丸数字1)。
 鍵管理装置1の復号対象鍵等受信部105(図3参照)が暗号データ作成装置3からユーザ識別子UID1、UID2、および暗号化セッション鍵Kscを受信すると、復号ユーザ情報取得部106は、そのユーザ識別子UID1が「暗号化ユーザID」フィールドに示されている復号許可データDTAをユーザ管理装置2に対して要求し、これを取得する。この際に、図4に示すユーザ管理装置2において、情報要求受信部202がその要求を受け付け、ユーザ情報管理部201がその復号許可データDTAをユーザ関連情報データベース2K1から検索して呼び出し(丸数字2)、復号ユーザ情報送信部203がその復号許可データDTAを鍵管理装置1に送信する(丸数字3)。
 復号処理可否判別部107は、ユーザ管理装置2から送信されてきた復号許可データDTAおよび暗号データ作成装置3から送信されてきたユーザ識別子UID2に基づいて、ユーザ管理装置2から送信されてきた暗号化セッション鍵Kscを復号してもよいか否かを判別する(丸数字4)。具体的には、そのユーザ識別子UID2がその復号許可データDTAの「復号可能ユーザID」フィールドに示されていれば、復号してもよいと判別する。示されていなければ、復号してはいけないと判別する。
 セッション鍵復号処理部108は、暗号化セッション鍵Kscを復号してもよいと復号処理可否判別部107によって判別されると、暗号データ作成装置3から受信したユーザ識別子UID1と同じユーザ識別子UIDに対応付けられて鍵ペアデータベース1K1に記憶されている秘密鍵Khを呼び出し、その秘密鍵Khを用いて暗号化セッション鍵Kscを復号する(丸数字5)。これにより、暗号化セッション鍵Kscの平文つまりセッション鍵Ksが得られる。
 そして、セッション鍵送信部109は、そのセッション鍵Ksをその暗号データ作成装置3に送信する(丸数字6)。
 暗号データ作成装置3において、セッション鍵受信部307は、鍵管理装置1からセッション鍵Ksを受信する。復号処理部305の本文復号処理部3053(図12参照)は、セッション鍵生成部3052によって得られるセッション鍵Ksの代わりに、鍵管理装置1から得られたセッション鍵Ksを用いて暗号化ファイルFLEから分割された暗号化対象ファイルFL1を復号する(丸数字7)。これにより、平文の対象ファイルFL0が得られる。
 図6に戻って、復号ファイル出力部308は、復号処理部305によって復号された対象ファイルFL0を他の装置またはUSBメモリなどの記録媒体に出力する。
 〔第二の実施形態〕
 図14は鍵管理装置1Bの機能的構成の例を示す図、図15は暗号データ作成装置3Bの機能的構成の例を示す図、図16は復号チケットTkの発行の処理の流れの例を説明するフローチャート、図17は復号の処理の流れの例を説明するフローチャートである。
 ファイル管理システムSYSの全体的な構成は、第二の実施形態においても、第一の実施形態のそれと同様であり、図1に示した通りである。以下、第二の実施形態の鍵管理装置1、ユーザ管理装置2、および暗号データ作成装置3を第一の実施形態のそれらと区別するために、それぞれ「鍵管理装置1B」、「ユーザ管理装置2B」、および「暗号データ作成装置3B」と記載する。
 鍵管理装置1B、ユーザ管理装置2B、および暗号データ作成装置3Bのハードウェア構成も、第二の実施形態においても第一の実施形態のそれと同様であり、図2および図5に示した通りである。
 ただし、鍵管理装置1Bおよび暗号データ作成装置3Bそれぞれのハードディスクに記憶されているプログラムおよびデータが、第二の実施形態においては、第一の実施形態とは異なる点がある。
 鍵管理装置1Bのハードディスク10dには、図14に示すような鍵管理部121、鍵要求受付部122、鍵ペア生成部123、公開鍵送信部124、復号対象鍵等受信部125、復号ユーザ情報取得部126、復号処理可否判別部127、セッション鍵復号処理部128、セッション鍵送信部129、復号チケット発行処理部12A、鍵ペアデータベース1L1、および復号チケットデータベース1L2などを実現するためのプログラムおよびデータが記憶されている。
 暗号データ作成装置3Bのハードディスク30dには、図15に示すような公開鍵取得部321、暗号化対象等指定受付部322、暗号化処理部323、ユーザ識別子等受付部324、復号処理部325、復号対象鍵等送信部326、セッション鍵受信部327、復号ファイル出力部328、復号チケット取得部32A、復号チケット出力部32B、復号チケット受付部32C、公開鍵記憶部3L1、および暗号化ファイル記憶部3L2などを実現するためのプログラムおよびデータが記憶されている。
 ユーザ管理装置2Bは、第二の実施形態においても、第一の実施形態と同様の機能的構成を有する(図4参照)。
 以下、図14に示す鍵管理装置1Bの各部および図15に示す暗号データ作成装置3Bの各部の処理内容について説明する。第一の実施形態と重複する点については、説明を省略する。
 公開鍵暗号方式の鍵の準備のための処理、データの暗号化のための処理、およびユーザパスワードYPによるデータの復号のための処理は、第一の実施形態におけるそれらの処理と同様である。
 よって、鍵管理装置1Bの鍵管理部121、鍵要求受付部122、鍵ペア生成部123、公開鍵送信部124、および鍵ペアデータベース1L1は、それぞれ、第一の実施形態の鍵管理部101、鍵要求受付部102、鍵ペア生成部103、公開鍵送信部104、および鍵ペアデータベース1K1(図3参照)と同様に機能する。また、暗号データ作成装置3Bの公開鍵取得部321、暗号化対象等指定受付部322、暗号化処理部323、ユーザ識別子等受付部324、復号ファイル出力部328、公開鍵記憶部3K1、および暗号化ファイル記憶部3K2は、それぞれ、第一の実施形態の公開鍵取得部301、暗号化対象等指定受付部302、暗号化処理部303、ユーザ識別子等受付部304、復号ファイル出力部308、公開鍵記憶部3L1、および暗号化ファイル記憶部3L2(図6参照)と同様に機能する。
 また、復号処理部325は、パスワードYPによるデータの復号のための処理については、第一の実施形態の復号処理部305による処理と同様の処理を行う。
 しかし、公開鍵暗号方式によるデータの復号のための処理は、第一の実施形態における処理とは異なる点がある。以下、相違点を中心に説明する。
 ユーザが指定した暗号化ファイルFLEを復号処理部325がユーザパスワードYPによって復号できない場合は、復号チケット取得部32Aは、復号チケットTkを鍵管理装置1Bから取得する。「復号チケットTk」は、その暗号化ファイルFLEを復号するためのワンタイムパスワードに相当する電子チケットである。鍵管理装置1Bの復号チケット発行処理部12Aは、復号チケットTkを発行する処理を行う。
 ここで、復号チケット取得部32Aおよび復号チケット発行処理部12Aなどの処理の手順を、図16を参照しながら説明する。
 ユーザは、復号の対象の暗号化ファイルFLEおよびそのユーザ自身のユーザ識別子UIDを暗号データ作成装置3Bに対して指定する。暗号データ作成装置3Bの復号チケット取得部32Aは、その指定を受け付けると(図16の#521)、その暗号化ファイルFLE(図9参照)を各要素のデータに分解し(#522)、その暗号化ファイルFLEに示されるユーザ識別子UID(つまり、その暗号化ファイルFLEを暗号化させたユーザのユーザ識別子UID)などを表示(出力)する(#523)。
 ユーザは、復号チケットTkの発行の依頼を暗号データ作成装置3Bに入力する。暗号データ作成装置3Bの復号チケット取得部32Aは、その入力を受け付けると(#524)、復号チケットTkの発行の依頼を鍵管理装置1Bに対して行う(#525)。この際に、依頼者であるユーザのユーザ識別子UID(以下、図16の説明において「ユーザ識別子UID3」と記載する。)および暗号化ファイルFLEから分解して得たユーザ識別子UID(以下、図16の説明において「ユーザ識別子UID4」と記載する。)を、鍵管理装置1Bに送信する。
 鍵管理装置1Bの復号チケット発行処理部12Aは、その依頼およびユーザ識別子UID3、UID4を受信すると(#531)、そのユーザ識別子UID4に係る復号許可データDTA(つまり、そのユーザ識別子UID4が「暗号化ユーザID」フィールドに示されている復号許可データDTA)をユーザ管理装置2Bに対して要求し、これを取得する(#532、#533)。この際に、ユーザ管理装置2Bの各部は、第一の実施形態の場合と同様に、その復号許可データDTAを検索し、鍵管理装置1Bに送信する(#541~#543)。
 復号チケット発行処理部12Aは、復号許可データDTAを受信すると(#533)、その復号許可データDTAおよび暗号データ作成装置3Bから送信されてきたユーザ識別子UID3に基づいて、復号チケットTkを発行してもよいか否かを判別する(#534)。具体的には、そのユーザ識別子UID3がその復号許可データDTAの「復号可能ユーザID」フィールドに示されていれば、発行してもよいと判別する。示されていなければ、発行してはいけないと判別する。
 復号チケット発行処理部12Aは、発行してもよいと判別した場合は、復号チケットTkを生成し、復号チケットデータベース1L2に記憶させる(#535)。そして、その復号チケットTkを、依頼元である暗号データ作成装置3Bに送信する(#536)。なお、復号チケットTkは、その暗号データ作成装置3Bから受信したユーザ識別子UID3およびUID4(つまり、復号対象である暗号化ファイルFLEを暗号化させたユーザおよび復号を求めるユーザそれぞれのユーザ識別子UID)を含むコード、鍵管理装置1Bのみが解読可能なコード(UUIDのようなコード)に変換することによって、生成される。ユーザ識別子UID3、UID4以外に、擬似乱数を含めておいてもよい。または、ユニークなコードを含めておいてもよい。
 暗号データ作成装置3Bにおいて、復号チケット取得部32Aが鍵管理装置1Bから復号チケットTkを受信すると(#526)、復号チケット出力部32Bは、それを表示しまたはUSBメモリに書き込むなどして出力する(#527)。
 暗号化ファイルFLEの復号チケットTkを発行してもらったユーザは、その復号チケットTkを暗号データ作成装置3Bに入力することによって、その暗号化ファイルFLEを復号することができる。ここで、復号チケットTkによる復号の処理の手順を、図17を参照しながら説明する。
 ユーザは、復号チケットTkで復号したい暗号化ファイルFLEを暗号データ作成装置3Bに対して指定する。暗号データ作成装置の復号対象鍵等送信部326は、その指定を受け付けると(図17の#551)、その暗号化ファイルFLEを各要素のデータに分解し(#552)、その暗号化ファイルFLEに示されるユーザ識別子UIDなどを表示(出力)する(#553)。
 ユーザは、復号チケットTkを入力する(#554)。復号チケット受付部32Cがその復号チケットTkを受け付けると、復号対象鍵等送信部326は、その復号チケットTkとともに、その暗号化ファイルFLEから分解された暗号化セッション鍵Kscを、鍵管理装置1Bに送信することによって、その暗号化セッション鍵Kscの復号を要求する(#555)。
 鍵管理装置1Bにおいて、復号対象鍵等受信部125が復号チケットTkおよび暗号化セッション鍵Kscを受信すると(#561)、復号処理可否判別部127は、暗号化セッション鍵Kscを復号してもよいか否かを、暗号データ作成装置3Bから受信した復号チケットTkと同一の復号チケットTkが復号チケットデータベース1L2に記憶されているか否かによって判別する(#562)。同一の復号チケットTkが記憶されていれば、復号してもよいと判別し、記憶されていなければ復号してはいけないと判別する。
 セッション鍵復号処理部128は、第一の実施形態のセッション鍵復号処理部108と同様に、復号してもよいと復号処理可否判別部127によって判別された場合は、暗号データ作成装置3Bから受信した復号チケットTkに示されるユーザ識別子UID4と対応付けられている秘密鍵Khを鍵ペアデータベース1L1から呼び出し、暗号データ作成装置3Bから受信した暗号化セッション鍵Kscをその秘密鍵Khによって復号する(#563)。これにより、暗号化セッション鍵Kscの平文つまりセッション鍵Ksが得られる。
 そして、セッション鍵送信部129は、そのセッション鍵Ksを、要求元である暗号データ作成装置3Bに送信する(#564)。
 以下、暗号データ作成装置3Bにおいて、セッション鍵受信部327、復号処理部325、および復号ファイル出力部328は、第一の実施形態の場合と同様に、鍵管理装置1Bからセッション鍵Ksを受信し(#556)、それを用いて暗号化ファイルFLEの中の暗号化対象ファイルFL1を復号して対象ファイルFL0を再生し(#557)、その対象ファイルFL0を出力する(#558)。
 〔第三の実施形態〕
 図18はファイル管理システムSYS’の全体的な構成の例を示す図、図19は鍵管理装置1Cの機能的構成の例を示す図、図20はユーザ管理装置2Cの機能的構成の例を示す図、図21は暗号データ作成装置3Cの機能的構成の例を示す図である。
 第一および第二の実施形態では、会社CPに設けられたファイル管理システムSYSを例に説明したが、次の第三の実施形態で説明するように、ユーザが個人的な目的で暗号化および復号のサービスを使用できるようにISP(Internet Service Provider)がファイル管理システムSYSを運用する場合にも、本発明を適用することができる。
 第三の実施形態に係るファイル管理システムSYS’は、図18に示すように、鍵管理装置1C、ユーザ管理装置2C、暗号データ作成装置3C、端末装置4C、プロバイダ内ネットワークNW3、インターネットNW4、およびルータRT’などによって構成される。
 鍵管理装置1C、ユーザ管理装置2C、および暗号データ作成装置3Cは、同じイントラネットに属しており、LANなどのプロバイダ内ネットワークNW3を介して通信を行うことができる。
 端末装置4Cは、ダイアルアップルータまたはTA(Terminal Adapter)などを介して第二のネットワークNW2に接続することができる。プロバイダ内ネットワークNW3とインターネットNW4とは、ルータRT’によって繋がれている。これにより、鍵管理装置1C、ユーザ管理装置2C、および暗号データ作成装置3Cと端末装置4Cとの間の通信が可能になる。なお、両装置間の通信はSSLによって行われる。
 第一および第二の実施形態では、ユーザは、暗号データ作成装置3、3Bを操作して暗号化および復号のサービスを受けたが、第三の実施形態では、端末装置4Cを操作してサービスを受ける。つまり、端末装置4Cは、鍵管理装置1C、ユーザ管理装置2C、および暗号データ作成装置3Cなどからなるシステムのクライアントとして用いられる。
 鍵管理装置1Cおよびユーザ管理装置2Cのハードウェア構成は、第三の実施形態においても、第一および第二の実施形態のそれらと同様であり、図2に示した通りである。また、第三の実施形態では、暗号データ作成装置3Cとして、鍵管理装置1Cおよびユーザ管理装置2Cと同様に、いわゆるサーバ機などが用いられる。
 鍵管理装置1Cのハードディスクには、図19に示す鍵管理部131、鍵作成依頼受信部132、鍵ペア生成部133、公開鍵送信部134、復号可否問合部135、秘密鍵送信部136、および鍵ペアデータベース1M1などを実現するためのプログラムおよびデータが記憶されている。
 ユーザ管理装置2Cのハードディスクには、図20に示すユーザ情報管理部231、復号可否判別部232、およびユーザ関連情報データベース2M1などを実現するためのプログラムおよびデータが記憶されている。
 暗号データ作成装置3Cのハードディスクには、図21に示す鍵等登録要求部330、ユーザ認証処理部331、暗号化対象受信部332、公開鍵取得部333、暗号化処理部334、暗号化ファイル送信部335、復号対象受信部336、秘密鍵取得部337、復号処理部338、復号ファイル送信部339、ログイン情報記憶部3M1、および鍵記憶部3M2など実現するためのプログラムおよびデータが記憶されている。
 端末装置4Cは、図5に示した第一および第二の実施形態の暗号データ作成装置3、3Bと同様のハードウェア構成を有している。端末装置4Cとして、ブラウザを備えるパーソナルコンピュータまたはワークステーションなどが用いられる。
 次に、図19に示す鍵管理装置1の各部、図20に示すユーザ管理装置2の各部、および図21に示す暗号データ作成装置3の各部の処理内容を、ISPが加入者(ユーザ)にサービスを提供する場合を例に説明する。なお、第一または第二の実施形態と重複する内容については、説明を省略する。
 〔ユーザ認証、暗号化、および復号の準備のための処理〕
 図22は初めてファイル管理システムSYS’を使用するユーザに関する処理の流れの例を説明するフローチャートである。
 ユーザは、ファイル管理システムSYS’を使用するために、予め、公開鍵暗号方式の、自分の公開鍵Kpおよび秘密鍵Khを1対、鍵管理装置1Cに発行してもらわなければならない。なお、後述する公開鍵暗号方式の公開鍵Kpによる暗号化および秘密鍵Khによる復号を、共通鍵暗号方式の共通鍵によって行うこともできる。
 また、ユーザは、端末装置4CのブラウザからインターネットNW4を経由して暗号データ作成装置3Cにログインできるように、予め、自分のユーザ識別子UIDおよびパスワード(以下、「ログインパスワードRP」と記載する。)を暗号データ作成装置3Cに登録してもらっておかなければならない。
 さらに、ユーザは、自分が暗号化させたデータの復号を他のユーザに認めることができる。この場合は、予め、当該他のユーザをユーザ管理装置2Cに登録しておかなければならない。
 図19に示す鍵管理装置1Cの鍵ペアデータベース1M1は、ファイル管理システムSYS’のすべてのユーザそれぞれの公開鍵Kpおよび秘密鍵Khをそのユーザのユーザ識別子UIDと対応付けて記憶する。
 鍵管理部131は、第一の実施形態の鍵管理部101などと同様に、鍵ペアデータベース1M1に記憶される公開鍵Kpおよび秘密鍵Khの管理の処理を行う。
 図21に示す暗号データ作成装置3Cのログイン情報記憶部3M1は、ユーザごとのユーザ識別子UIDおよびログインパスワードRPを記憶する。
 図20に示すユーザ管理装置2Cのユーザ関連情報データベース2M1は、第一および第二の実施形態のユーザ関連情報データベース2K1と同様に、図10(b)に示すような、ユーザごとの復号許可データDTAを記憶する。第一および第二の実施形態では、復号許可データDTAの内容つまり誰に復号を認めるかは、部署の構成に基づいて決められたが、第三の実施形態では、ユーザが任意に決めることができる。
 ユーザ関連情報データベース2M1は、復号許可データDTA以外にもユーザに関する種々の情報を記憶する。
 ここで、本サービスに加入後、本サービスを初めて使用するユーザの公開鍵Kpなどの登録の処理を、図22を参照しながら説明する。
 そのユーザは、自分のユーザ識別子UIDおよびログインパスワードRPを用いて自分の端末装置4Cのブラウザを暗号データ作成装置3Cにアクセスさせる。
 すると、端末装置4Cは、暗号データ作成装置3Cに対して本サービスの使用の開始を要求する(#561)。
 暗号データ作成装置3Cにおいて、その要求が受信されると(#571)、ユーザ認証処理部331は、そのユーザ識別子UIDおよびログインパスワードRPによってログイン認証を行い、認証に成功したら、鍵等登録要求部330は、そのユーザのログインが初めてである場合は、そのユーザの公開鍵Kpなどの登録のための処理を次のように行う。
 鍵等登録要求部330は、そのユーザが暗号化させたデータの復号を誰に認めるかを指定するように、端末装置4Cに対して依頼する(#572)。誰にも復号させたくない場合は、指定しなければよい。
 端末装置4Cは、その依頼を受け付けると(#562)、そのユーザに対して誰に復号を認めるのかを指定するように、登録用の画面を表示するなどして依頼する(#563)。
 端末装置4Cは、復号を認める者の指定を受け付けると(#564)、指定された各人のユーザ識別子UIDを暗号データ作成装置3Cに通知することによって、復号許可データDTAの登録を要求する(#565)。
 暗号データ作成装置3Cにおいて、鍵等登録要求部330は、その要求を受信すると(#573)、ユーザ管理装置2Cに対して、端末装置4Cから通知された内容を転送することによって、そのユーザの復号許可データDTAを登録するように依頼する(#574)。
 ユーザ管理装置2Cにおいて、その依頼が受信されると(#591)、ユーザ情報管理部231は、暗号データ作成装置3Cから転送されてきた情報に基づいて、端末装置4Cのユーザのユーザ識別子UIDを「暗号化ユーザID」フィールドに示しかつ「復号可能ユーザID」フィールドにそのユーザが指定した各人のユーザ識別子UIDを示す復号許可データDTAを生成し、ユーザ関連情報データベース2M1に登録する(#592)。そして、登録が完了した旨を暗号データ作成装置3Cに通知する(#593)。
 暗号データ作成装置3Cにおいて、鍵等登録要求部330は、復号許可データDTAの登録の依頼と前後してまたは並行して、そのユーザの公開鍵Kpおよび秘密鍵Khの登録を鍵管理装置1Cに対して依頼する(#576)。
 鍵管理装置1Cにおいて、鍵作成依頼受信部132がその依頼を受信すると(#581)、鍵ペア生成部133は、1対の公開鍵Kpおよび秘密鍵Khを生成し、そのユーザのユーザ識別子UIDと対応付けて鍵ペアデータベース1M1に記憶(登録)させる(#582)。そして、登録が完了した旨を暗号データ作成装置3Cに通知する(#583)。
 暗号データ作成装置3Cにおいて、ユーザ管理装置2Cおよび鍵管理装置1Cからの完了の通知が受信されると(#575、#577)、ユーザ認証処理部331は、そのユーザのログインを認め、ログイン情報を、ログイン情報記憶部3M1に登録するとともに(#578)、端末装置4Cに送信する(#579)。
 そして、端末装置4Cは、暗号データ作成装置3Cからログイン情報を受信する(#566)。
 なお、ユーザは、その後も、復号を認める他のユーザを指定し直すことができる。すると、ユーザ管理装置2Cのユーザ情報管理部231は、そのユーザ識別子UIDに係る復号許可データDTAの「復号可能ユーザID」を、新たな指定の内容に基づいて更新する。
 〔データの暗号化のための処理〕
 図23はデータの暗号化の処理の流れの例を説明するフローチャートである。
 ユーザは、第一および第二の実施形態の場合と同様に、公開鍵Kpおよび秘密鍵Khを発行してもらったら、データの暗号化のサービスを受けることができる。ただし、暗号化の処理の手順は、両実施の形態とは異なる。以下、第三の実施形態における暗号化の処理の手順を、図23を参照しながら説明する。
 図23において、ユーザは、端末装置4Cを使用する前に、ユーザ識別子UIDおよびログインパスワードRPを端末装置4Cのブラウザに入力する。すると、端末装置4Cは、そのユーザ識別子UIDおよびログインパスワードRPを暗号データ作成装置3Cに送信することによって、ログインを要求する(#601)。
 暗号データ作成装置3Cにおいて、その要求が受信されると(#611)、ユーザ認証処理部331は、そのユーザ識別子UIDおよびログインパスワードRPを用いてユーザ認証を行う(#612)。そして、認証に成功したら、ログインの許可の通知を端末装置4Cに送信する(#613)。
 ユーザは、その通知の受信後(#602)、暗号化したいデータを含むファイル(対象ファイルFL0)を端末装置4Cに対して指定する。端末装置4Cは、その指定を受け付けると、その対象ファイルFL0をハードディスクから呼び出しまたは外部の記録媒体から入力するなどして取得し(#603)、それを暗号データ作成装置3Cに転送する(#604)。
 暗号データ作成装置3Cにおいて、暗号化対象受信部332が対象ファイルFL0を受信すると(#614)、公開鍵取得部333は、そのユーザのユーザ識別子UIDに対応する公開鍵Kpを鍵管理装置1Cに要求し取得する(#615、#616)。
 鍵管理装置1Cにおいて、その要求が受信されると、ユーザ情報管理部231は、そのユーザ識別子UIDに対応付けられて鍵ペアデータベース1M1に記憶されている公開鍵Kpを検索し(#622)、それを暗号データ作成装置3Cに送信する(#623)。
 暗号データ作成装置3Cにおいて、暗号化処理部334は、取得(受信)した公開鍵Kpを用いて、ステップ#614で受信した対象ファイルFL0を暗号化する(#617)。これにより暗号化対象ファイルFL1が得られる。さらに、その暗号化対象ファイルFL1にそのユーザのユーザ識別子UIDなどを付加することによって、暗号化ファイルFLE’を生成する。なお、その公開鍵Kpは、鍵記憶部3M2に一時的に記憶される。
 暗号化ファイル送信部335は、端末装置4Cに暗号化ファイルFLE’を送信する(#618)。端末装置4Cは、その暗号化ファイルFLE’を受信する(#605)。
 〔データの復号の処理〕
 図24は本人の要求に基づく復号の処理の流れの例を説明するフローチャート、図25および図26は他のユーザの要求に基づく復号の処理の流れの例を説明するフローチャートである。
 暗号化ファイルFLE’を暗号化させたユーザは、その暗号化ファイルFLE’を復号させることができる。以下、この場合の各装置の処理の手順を、図24を参照して説明する。
 ユーザは、自分が暗号化させたデータを、次のようにして復号させることができる。このとき、各装置は、図24に示すような手順で処理を実行する。
 図24において、ユーザは、暗号化の場合と同様に、ユーザ識別子UIDおよびログインパスワードRPを入力し、ユーザ認証を要求する。すると、端末装置4Cおよび暗号データ作成装置3Cの各部は、暗号化の場合と同様の処理を行う(#631、#632、#641~#643)。
 ログイン後、ユーザは、復号したいデータを含む暗号化ファイルFLE’を端末装置4Cに指定する(#633)。端末装置4Cは、その指定を受け付けると、その暗号化ファイルFLE’をハードディスクから呼び出しまたは外部の記録媒体から入力するなどして取得し(#634)、それを暗号データ作成装置3Cに転送する(#634)。
 暗号データ作成装置3Cにおいて、復号対象受信部336が暗号化ファイルFLE’を受信すると(#644)、秘密鍵取得部337は、暗号化させたユーザのユーザ識別子UIDをその暗号化ファイルFLE’から抽出し(#645)、それを端末装置4Cのユーザのユーザ識別子UIDと比較することによって、両者が同一人であるか否かを判別する(#646)。そして、同一人である場合は、秘密鍵取得部337は、鍵管理装置1Cに対して、端末装置4Cのユーザが暗号化させた本人である旨を通知するとともにそのユーザの秘密鍵Khを要求し、それを取得する(#647、#648)。
 鍵管理装置1Cにおいて、秘密鍵送信部136は、暗号データ作成装置3Cからの要求を受信すると(#661)、要求されたユーザのユーザ識別子UIDに対応する秘密鍵Khを鍵ペアデータベース1M1から検索し(#662)、これを暗号データ作成装置3Cに送信する(#663)。
 暗号データ作成装置3Cにおいて、復号処理部338は、取得(受信)した秘密鍵Khを用いて、ステップ#644で受信した暗号化ファイルFLE’の中の暗号化対象ファイルFL1を復号する(#649)。これにより暗号化対象ファイルFL1の平文つまり対象ファイルFL0が得られる。なお、その秘密鍵Khは、鍵記憶部3M2に一時的に記憶される。
 復号ファイル送信部339は、端末装置4Cに対象ファイルFL0を送信する(#650)。端末装置4Cは、その対象ファイルFL0を受信する(#635)。
 暗号化ファイルFLE’を暗号化させた者以外のユーザも、予め許可を得ていれば、その暗号化ファイルFLE’を復号することができる。以下、この場合の各装置の処理の手順を、図25および図26を参照して説明する。
 図25および図26において、ユーザの認証、復号の対象である暗号化ファイルFLE’の入力、およびそのユーザがその暗号化ファイルFLE’を暗号化させた本人であるか否かの判別などの処理は、図24のステップ#631~#634、#641~646で説明した通りである(#671~#674、#681~686)。
 暗号データ作成装置3Cの秘密鍵取得部337は、端末装置4Cのユーザが、復号の対象を暗号化させた本人でないことを判別すると、そのユーザのユーザ識別子UID(以下、「ユーザ識別子UID5」と記載する。)およびその暗号化ファイルFLE’に付加されているユーザ識別子UID(つまり、暗号化させたユーザのユーザ識別子UID。以下、「ユーザ識別子UID6」と記載する。)をユーザ管理装置2Cに送信する(#687)。
 ユーザ管理装置2Cにおいて、ユーザ識別子UID5、UID6が受信されると(#711)、復号可否判別部232は、そのユーザ識別子UID6に係る復号許可データDTAをユーザ関連情報データベース2M1から検索し(#712)、その復号許可データDTAの「復号可能ユーザID」フィールドにそのユーザ識別子UID5が示されていれば、復号してもよいと判別し、示されていなければ、復号してはいけないと判別する(#713)。そして、判別結果を鍵管理装置1Cに送信する(#714)。
 鍵管理装置1Cにおいて、復号してもよい旨の結果が受信されると(#701)、
秘密鍵送信部136は、暗号化ファイルFLE’を暗号化させたユーザのユーザ識別子UIDに対応する秘密鍵Khを鍵ペアデータベース1M1から検索し(#702)、これを暗号データ作成装置3Cに送信する(#703)。
 暗号データ作成装置3Cにおいて、復号処理部338は、取得(受信)した秘密鍵Khを用いて暗号化ファイルFLE’の中の暗号化対象ファイルFL1を復号する(#688、#689)。これにより対象ファイルFL0が得られる。そして、復号ファイル送信部339は、その対象ファイルFL0を端末装置4Cに送信する(#690)。端末装置4Cは、その対象ファイルFL0を受信する(#675)。
 第一ないし第三の実施形態によると、復号用の鍵を有する者が居なくてもデータを安全に復号することができる。例えば、会社CPである担当者が作成し暗号化したデータを、その担当者が不在のときまたはパスワードを忘れてしまったときでも、その担当者の上司など権限を有する者が、復号することができる。また、権限を持つ者が異動になった場合でも、復号許可データDTAの内容を更新することによって動的に対応することができる。また、復号許可データDTAの内容を自由に設定できるので、組織をまたいで実施されるプロジェクトのメンバ同士で暗号化データを共用する場合にも、便利である。
 第一ないし第三の実施形態によると、鍵の管理とユーザ情報の管理とを別々の装置によって行う。したがって、それぞれを別の組織の管理者に管理させることを、容易にする。
 第一および第二の実施形態によると、ユーザが操作する装置つまり暗号データ作成装置3、3Bが復号用の鍵を受信しデータを復号する。よって、平文のデータが通信されることがないので、機密情報の漏洩の防止をより確実にすることができる。
 第一および第二の実施形態では、3種類の装置に処理を分散してデータの管理を行ったが、すべての処理を1台の装置によって行ってもよい。または、鍵管理装置1(または1B)およびユーザ管理装置2(または2B)を1台の装置によって実現してもよい。第三の実施形態においても、鍵管理装置1C、ユーザ管理装置2C、および暗号データ作成装置3Cを1台の装置に統合してもよい。または、暗号データ作成装置3Cを複数台用意し、暗号化および復号の処理の分散を図ってもよい。
 鍵管理装置1(1B、1C)、ユーザ管理装置2(2B、2C)、および暗号データ作成装置3(3B、3C)を1台の装置で実現する場合は、上に述べた公開鍵Kpおよび秘密鍵Khの生成および登録の処理、復号許可データDTAの生成および登録の処理、暗号化の処理、および復号の処理などを実行するプログラムを、この1台の装置にインストールしておく。そして、この1台の装置にこのプログラムを実行させる。
 第一ないし第三の実施形態では、復号を認めるユーザを1人1人指定したが、グループ単位で指定できるようにしてもよい。例えば、「採用担当グループ」、「研修担当グループ」などのような業務のグループごとに指定できるようにしてもよいし、「課長グループ」、「部長グループ」などのような役職の属性のグループごとに指定できるようにしてもよい。
 本発明を、電子メールの送受信の際にも用いることができる。送信者は、受信者を予め自分の復号許可データDTAの「復号可能ユーザID」フィールドに登録しておく。そして、電子メールを暗号化して受信者に宛てて送信する。そうすれば、万が一誤って別の宛先に送った場合でも、それを受け取った者は電子メールを復号することができない。よって、電子メールを安全にやり取りすることができる。
 その他、ファイル管理システムSYS、SYS’、鍵管理装置1、1B、1C、ユーザ管理装置2、2B、2C、暗号データ作成装置3、3B、3C、端末装置4Cの全体または各部の構成、処理内容、処理順序、ファイルの構成などは、本発明の趣旨に沿って適宜変更することができる。

Claims (9)

  1.  第一のユーザごとに、当該第一のユーザの第一の識別子と第二のユーザのうち当該第一のユーザが暗号化させたデータの復号を認めるものの第二の識別子とを対応付けて記憶する、復号許可情報記憶手段と、
     前記第一のユーザごとに、第一の鍵および当該第一の鍵で暗号化されたデータを復号するための第二の鍵を当該第一のユーザの前記第一の識別子と対応付けて記憶する、鍵記憶手段と、
     前記第一のユーザが第三の鍵で暗号化させたデータである暗号化データに、当該第三の鍵を当該第一のユーザの前記第一の鍵で暗号化したものと当該第一のユーザの前記第一の識別子とを付加する、付加手段と、
     前記第二のユーザが前記暗号化データの復号を要求した際に、当該第二のユーザの前記第二の識別子が、当該暗号化データに付加されている前記第一の識別子と対応付けられて前記復号許可情報記憶手段に記憶されていれば、当該暗号化データの復号を許可し、対応付けられていなければ、当該暗号化データの復号を拒否する、復号許否判別手段と、
     前記暗号化データの復号が許可された場合に、当該暗号化データに付加されている前記第三の鍵を、当該暗号化データに付加されている前記第一の識別子に対応する前記第二の鍵で復号し、当該復号した第三の鍵で当該暗号化データを復号する、復号手段と、
     を有することを特徴とするデータ管理システム。
  2.  前記復号許可情報記憶手段と前記付加手段とは、それぞれ異なる装置に設けられている、
     請求項1記載のデータ管理システム。
  3.  第一のユーザごとに、当該第一のユーザの第一の識別子と第二のユーザのうち当該第一のユーザが暗号化させたデータの復号を認めるものの第二の識別子とを対応付けて記憶する、復号許可情報記憶手段と、
     前記第一のユーザごとに、第一の鍵および当該第一の鍵で暗号化されたデータを復号するための第二の鍵を当該第一のユーザの前記第一の識別子と対応付けて記憶する、鍵記憶手段と、
     前記暗号化データの復号を所望する前記第二のユーザに対して、当該第二のユーザの前記第二の識別子が、当該暗号化データに付加されている前記第一の識別子と対応付けられて前記復号許可情報記憶手段に記憶されていれば、当該暗号化データの電子チケットを発行する、電子チケット発行手段と、
     前記発行された電子チケットを記憶する電子チケット記憶手段と、
     前記電子チケットが入力されたときに、当該電子チケットと同一の電子チケットが前記電子チケット記憶手段に記憶されていれば、当該電子チケットに係る前記暗号化データに付加されている前記第三の鍵を、当該暗号化データに付加されている前記第一の識別子に対応する前記第二の鍵で復号し、当該復号した第三の鍵で当該暗号化データを復号する、復号手段と、
     を有することを特徴とするデータ管理システム。
  4.  第一のユーザごとに、当該第一のユーザの第一の識別子と第二のユーザのうち当該第一のユーザが暗号化させたデータの復号を認めるものの第二の識別子とを対応付けて記憶する、復号許可情報記憶手段と、
     前記第一のユーザごとに、第一の鍵および当該第一の鍵で暗号化されたデータを復号するための第二の鍵を当該第一のユーザの前記第一の識別子と対応付けて記憶する、鍵記憶手段と、
     前記第一のユーザのクライアントから、暗号化する対象のデータを受信する、暗号化対象データ受信手段と、
     前記受信されたデータを、当該データの送信者である前記第一のユーザの前記第一の鍵で暗号化する、対象データ暗号化手段と、
     前記暗号化されたデータと当該データを暗号化させた前記第一のユーザの前記第一の識別子とを含むファイルを当該第一のユーザのクライアントに送信するファイル送信手段と、
     前記第二のユーザのクライアントから前記ファイルを受信するファイル受信手段と、
     前記受信されたファイルの送信者である前記第二のユーザの前記第二の識別子が、当該ファイルに含まれる前記第一の識別子と対応付けられて前記復号許可情報記憶手段に記憶されていれば、当該ファイルに含まれる前記暗号されたデータの復号を許可し、対応付けられていなければ、当該暗号化データの復号を拒否する、復号許否判別手段と、
     前記暗号されたデータの復号が許可された場合に、当該データを暗号化させた前記第一のユーザの前記第二の鍵で当該データを復号する、復号手段と、
     前記復号されたデータを前記第二のユーザのクライアントに送信する復号データ送信手段と、
     を有することを特徴とするデータ管理システム。
  5.  第一のユーザごとに、当該第一のユーザの第一の識別子と第二のユーザのうち当該第一のユーザが暗号化させたデータの復号を認めるものの第二の識別子とを対応付けて復号許可情報記憶手段に記憶させておき、
     前記第一のユーザごとに、第一の鍵および当該第一の鍵で暗号化されたデータを復号するための第二の鍵を当該第一のユーザの前記第一の識別子と対応付けて鍵記憶手段に記憶させておき、
     前記第一のユーザが第三の鍵で暗号化させたデータである暗号化データに、当該第三の鍵を当該第一のユーザの前記第一の鍵で暗号化したものと当該第一のユーザの前記第一の識別子とを付加し、
     前記第二のユーザが前記暗号化データの復号を要求した際に、当該第二のユーザの前記第二の識別子が、当該暗号化データに付加されている前記第一の識別子と対応付けられて前記復号許可情報記憶手段に記憶されていれば、当該暗号化データに付加されている前記第三の鍵を、当該暗号化データに付加されている前記第一の識別子に対応する前記第二の鍵で復号し、前記復号した第三の鍵で当該暗号化データを復号する、
     ことを特徴とするデータ管理方法。
  6.  前記各第一のユーザは、特定の組織に所属するメンバであって、
     前記組織からいずれかの前記第一のユーザが離脱した場合であっても、当該離脱した第一のユーザの前記第一の識別子および当該離脱した第一のユーザが暗号化させたデータの復号を認めるものの前記第二の識別子を前記復号許可情報記憶手段に残しておく、
     請求項5記載のデータ管理方法。
  7.  第一のユーザごとに、当該第一のユーザの第一の識別子と第二のユーザのうち当該第一のユーザが暗号化させたデータの復号を認めるものの第二の識別子とを対応付けて復号許可情報記憶手段に記憶させておき、
     前記第一のユーザごとに、第一の鍵および当該第一の鍵で暗号化されたデータを復号するための第二の鍵を当該第一のユーザの前記第一の識別子と対応付けて鍵記憶手段に記憶させておき、
     前記暗号化データの復号を所望する前記第二のユーザに対して、当該第二のユーザの前記第二の識別子が、当該暗号化データに付加されている前記第一の識別子と対応付けられて前記復号許可情報記憶手段に記憶されていれば、当該暗号化データの電子チケットを発行し、
     発行した前記電子チケットを電子チケット記憶手段に記憶させ、
     前記電子チケットが入力されたときに、当該電子チケットと同一の電子チケットが前記電子チケット記憶手段に記憶されていれば、当該電子チケットに係る前記暗号化データに付加されている前記第三の鍵を、当該暗号化データに付加されている前記第一の識別子に対応する前記第二の鍵で復号し、当該復号した第三の鍵で当該暗号化データを復号する、
     ことを特徴とするデータ管理方法。
  8.  第一のユーザごとに、当該第一のユーザの第一の識別子と第二のユーザのうち当該第一のユーザが暗号化させたデータの復号を認めるものの第二の識別子とを対応付けて復号許可情報記憶手段に記憶させておき、
     前記第一のユーザごとに、第一の鍵および当該第一の鍵で暗号化されたデータを復号するための第二の鍵を当該第一のユーザの前記第一の識別子と対応付けて鍵記憶手段に記憶させておき、
     データ管理システムに、前記第一のユーザのクライアントから、暗号化する対象のデータを受信させ、
     前記データ管理システムに、前記受信されたデータを、当該データの送信者である前記第一のユーザの前記第一の鍵で暗号化させ、
     前記データ管理システムに、前記暗号化されたデータと当該データを暗号化させた前記第一のユーザの前記第一の識別子とを含むファイルを当該第一のユーザのクライアントに送信させ、
     前記データ管理システムに、前記第二のユーザのクライアントから前記ファイルを受信させ、
     前記受信されたファイルの送信者である前記第二のユーザの前記第二の識別子が、当該ファイルに含まれる前記第一の識別子と対応付けられて前記復号許可情報記憶手段に記憶されていれば、当該ファイルに含まれる前記暗号されたデータを、当該データを暗号化させた前記第一のユーザの前記第二の鍵で前記データ管理システムに復号させ、
     前記データ管理システムに、前記復号されたデータを前記第二のユーザのクライアントに送信させる、
     ことを特徴とするデータ管理方法。
  9.  データを管理するコンピュータに用いられるコンピュータプログラムであって、
     前記コンピュータに、
     第一のユーザごとに、当該第一のユーザの第一の識別子と第二のユーザのうち当該第一のユーザが暗号化させたデータの復号を認めるものの第二の識別子とを対応付けて復号許可情報記憶手段に記憶させる処理を実行させ、
     前記第一のユーザごとに、第一の鍵および当該第一の鍵で暗号化されたデータを復号するための第二の鍵を当該第一のユーザの前記第一の識別子と対応付けて鍵記憶手段に記憶させる処理を実行させ、
     前記第一のユーザが第三の鍵で暗号化させたデータである暗号化データに、当該第三の鍵を当該第一のユーザの前記第一の鍵で暗号化したものと当該第一のユーザの前記第一の識別子とを付加する処理を実行させ、
     前記第二のユーザが前記暗号化データの復号を要求した際に、当該第二のユーザの前記第二の識別子が、当該暗号化データに付加されている前記第一の識別子と対応付けられて前記復号許可情報記憶手段に記憶されていれば、当該暗号化データに付加されている前記第三の鍵を、当該暗号化データに付加されている前記第一の識別子に対応する前記第二の鍵で復号する処理と、前記復号した第三の鍵で当該暗号化データを復号する処理とを実行させる、
     ことを特徴とするコンピュータプログラム。
                                                                                    
PCT/JP2009/002732 2008-06-20 2009-06-16 データ管理システム、データ管理方法、およびコンピュータプログラム WO2009153974A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-162594 2008-06-20
JP2008162594 2008-06-20

Publications (1)

Publication Number Publication Date
WO2009153974A1 true WO2009153974A1 (ja) 2009-12-23

Family

ID=41433892

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/002732 WO2009153974A1 (ja) 2008-06-20 2009-06-16 データ管理システム、データ管理方法、およびコンピュータプログラム

Country Status (1)

Country Link
WO (1) WO2009153974A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022522555A (ja) * 2020-01-29 2022-04-20 シトリックス・システムズ・インコーポレイテッド セミトラステッドな中継者を使用したセキュアなメッセージ受け渡し
WO2023072206A1 (zh) * 2021-10-29 2023-05-04 华为技术有限公司 密钥迁移方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09191318A (ja) * 1996-01-08 1997-07-22 Fujitsu Ltd ゲートウェイシステム
JP2001044982A (ja) * 1999-07-26 2001-02-16 Toshiba Corp 暗号通信システム及び記憶媒体
WO2002087146A1 (fr) * 2001-04-18 2002-10-31 Pumpkin House Incorporated Systeme de chiffrement et procede de commande dudit systeme

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09191318A (ja) * 1996-01-08 1997-07-22 Fujitsu Ltd ゲートウェイシステム
JP2001044982A (ja) * 1999-07-26 2001-02-16 Toshiba Corp 暗号通信システム及び記憶媒体
WO2002087146A1 (fr) * 2001-04-18 2002-10-31 Pumpkin House Incorporated Systeme de chiffrement et procede de commande dudit systeme

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022522555A (ja) * 2020-01-29 2022-04-20 シトリックス・システムズ・インコーポレイテッド セミトラステッドな中継者を使用したセキュアなメッセージ受け渡し
WO2023072206A1 (zh) * 2021-10-29 2023-05-04 华为技术有限公司 密钥迁移方法及相关设备

Similar Documents

Publication Publication Date Title
JP5265744B2 (ja) 導出鍵を用いたセキュアメッセージングシステム
TW523682B (en) Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
JP5313311B2 (ja) 遠隔解読サービスを備えたセキュアメッセージシステム
US8291213B2 (en) Techniques for secure network searching
US20020178366A1 (en) Method for performing on behalf of a registered user an operation on data stored on a publicly accessible data access server
US20090158035A1 (en) Public Key Encryption For Web Browsers
CN101213538A (zh) 电子名片交换系统及方法
WO2008070259A2 (en) System and method of secure encryption for electronic data transfer
US8619978B2 (en) Multiple account authentication
EP3395004B1 (en) A method for encrypting data and a method for decrypting data
JPH09179768A (ja) ファイル暗号化システム及びファイル復号化システム
US7359518B2 (en) Distribution of secured information
JP4350769B2 (ja) 認証サーバ及びオンラインサービスシステム
US20140156988A1 (en) Medical emergency-response data management mechanism on wide-area distributed medical information network
JP2009510628A (ja) 防護電子通信の処理
JP2018085681A (ja) 強化されたセキュリティを有する取引相互監視システム
JP2009116726A (ja) 情報管理システム、携帯端末、サーバ装置、情報処理装置、情報処理方法およびプログラム
JP4657706B2 (ja) 権限管理システム、認証サーバ、権限管理方法および権限管理プログラム
WO2009153974A1 (ja) データ管理システム、データ管理方法、およびコンピュータプログラム
JP2006333164A (ja) 情報処理装置
JPH09139735A (ja) 暗号化データ通信システム
JPH11331145A (ja) 情報共有システム、情報保管装置およびそれらの情報処理方法、並びに記録媒体
JP2005237037A (ja) 認証用記録媒体を用いた認証システムおよび認証用記録媒体の作成方法
JP7000961B2 (ja) ファイル操作管理システムおよびファイル操作管理方法
US20210303711A1 (en) System and methods for securely storing and sharing digital artifacts

Legal Events

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

Ref document number: 09766422

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09766422

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP