WO2022137668A1 - データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 - Google Patents

データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 Download PDF

Info

Publication number
WO2022137668A1
WO2022137668A1 PCT/JP2021/033576 JP2021033576W WO2022137668A1 WO 2022137668 A1 WO2022137668 A1 WO 2022137668A1 JP 2021033576 W JP2021033576 W JP 2021033576W WO 2022137668 A1 WO2022137668 A1 WO 2022137668A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
encrypted
common key
encryption
searchable
Prior art date
Application number
PCT/JP2021/033576
Other languages
English (en)
French (fr)
Inventor
成美 内藤
将規 久保田
真治 村瀬
恵一 佐藤
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to EP21909826.6A priority Critical patent/EP4270365A1/en
Priority to US18/036,023 priority patent/US20240022397A1/en
Publication of WO2022137668A1 publication Critical patent/WO2022137668A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Definitions

  • the present invention relates to a data file encryption transmission / reception system that realizes search by file name and high-speed file transmission / reception while maintaining high security by applying searchable encryption technology.
  • an operation management form called cloud which uses information systems provided by other organizations, is attracting attention.
  • As a preventive measure against unauthorized leakage in the cloud for example, when searching electronic data by using the searchable encryption technique of Patent Document 1, it is possible to acquire and decrypt the search result without having the DB server remove the mask. It has become.
  • the plain text is encrypted with the common key generated by the sender side by a predetermined method, and the common key is used with the public key received from the receiver in advance. Encrypt and send the encrypted plain text and common key to the recipient.
  • the common key transmitted by the private key is decrypted, and the plaintext encrypted by the common key is decrypted to realize safe and high-speed transmission.
  • the data file is encrypted by the common key method with the temporary key information extracted from the master random number randomly generated at the destination, and the master random number control value and the random number are transmitted. It is encrypted by the public key method using the public key shared in advance from the beginning and sent to the sender.
  • the sender decodes the master random number control value and random number with the secret key, and decrypts the encrypted data file with the common key method using the temporary key information extracted from the master random number generated using the master random number control value and the decoded random number.
  • Patent Documents 2 and 3 For example, the following Patent Documents 2 and 3).
  • Japanese Unexamined Patent Publication No. 2012-123614 Japanese Unexamined Patent Publication No. 2009-177304 Japanese Unexamined Patent Publication No. 2006-67412
  • Patent Document 2 since a one-time password that changes every time, a so-called one-time password, is used for encryption of the data file, a part of a randomly generated master random number is used. In order to encrypt a data file, it is necessary to share the same random number between the receiving side and the transmitting side, and in Patent Document 2, the master random number control for processing the master random number instead of transmitting the random number as it is. The value is encrypted and sent.
  • Patent Document 3 a random number is generated based on the current time and the hash value of data representing information to be transmitted, and a one-time password (session key in the document) is generated. This random number is encrypted by public key cryptography and transmitted.
  • the hash function used in Patent Document 3 has the property that if the original data is the same, it is converted to the same fixed length value (hash value).
  • the cryptographic hash function is said to be virtually impossible to obtain the input value of the hash function that outputs the hash value for a given hash value (difficulty in calculating the original image, weak collision resistance). Must have characteristics.
  • the hash value is considered to be in an irreversible encrypted state, and it is claimed that if it is a hashed ID or password, there is no problem even if it is leaked, but it is actually hashed. Even if it is, there are many cases where it is analyzed and abused.
  • hashing which is a general security method, is not really highly secure.
  • "Rainbow table” can be mentioned as an attack method against a typical hash value. This attack method is a method of illegally acquiring information hidden by hashing by generating a correspondence table between plaintext and hash value and searching the hash value to find the corresponding plaintext.
  • the problem is the deterministic property that the hash value generated when a certain value is input is always the same, and it is desirable to use encryption (probabilistic encryption method) that is not based on a certain rule.
  • RSA cryptography is often used as the public key cryptography used in Patent Documents 2 and 3.
  • the RSA cipher is based on the fact that the problem of factoring a composite number with a large number of digits is difficult.
  • Ordinary RSA ciphers are vulnerable to chosen-ciphertext attacks that calculate plaintext from a certain ciphertext, and it is not preferable to use them as they are.
  • RSA-OAEP Optimal Asymmetric Encryption Padding
  • the public key cryptosystem using RSA-OAEP encryption can be secured if it can be implemented, executed, and managed correctly, but it can be said that it is difficult to actually implement it.
  • the public key cryptosystem uses a public key for encryption and a private key for decryption. Since the encryption and decryption keys are different, the person who encrypted the data file cannot decrypt it by himself.
  • the present invention has been made in view of the above problems, and an object thereof is to realize encryption, decryption, and transmission / reception of a data file that maintains both high-speed processing and security performance.
  • a data file encryption system in which a computer having a processor and a memory encrypts an input data file and registers it in a data management server connected via a network, and the computer encrypts the data file. It has a registration unit to be registered in the data management server, and the registration unit has a character string conversion unit that converts a data file to be encrypted into character string data, and a common key that generates a common key and the character.
  • a key generation unit that divides column data into a first input information and a second input information, and a common key encryption unit that encrypts the first input information with the common key to generate common key encryption data.
  • the searchable encryption unit that generates the searchable encrypted data by encrypting the second input information by the searchable encryption using the user's private key set in advance, the common key encrypted data, and the search. It has a communication unit that registers a set of possible encrypted data in the data management server.
  • the data file and the information necessary for decryption are divided into the first input information and the second input information, the first input information is encrypted with a common key, and the second input information can be searched.
  • FIG. 1 is a block diagram showing Example 1 of the present invention and showing an example of a configuration of a data file encrypted transmission / reception system.
  • FIG. 1 is a block diagram showing Example 1 of the present invention and showing an example of a configuration of a data management server.
  • FIG. 1 is a block diagram showing Example 1 of the present invention and showing an example of the configuration of a registered client terminal. It is a block diagram which shows Example 1 of this invention and shows an example of the structure of the search client terminal. It is a figure which shows Example 1 of this invention and shows the outline of the data file registration process. It is a flowchart which shows Example 1 of this invention and shows an example of the data file registration process. It is a figure which shows Example 1 of this invention and shows the outline of the data file search process.
  • FIG. 2 is a block diagram showing a second embodiment of the present invention and showing an example of a configuration of a data file encrypted transmission / reception system.
  • FIG. 2 is a flowchart showing Example 2 of the present invention and showing an example of data file search processing.
  • FIG. 3 is a block diagram showing a third embodiment of the present invention and showing an example of a configuration of a data file encrypted transmission / reception system.
  • FIG. 4 is a block diagram showing a fourth embodiment of the present invention and showing an example of a configuration of a data file encrypted transmission / reception system.
  • FIG. 5 is a block diagram showing Example 5 of the present invention and showing an example of the configuration of a workflow system.
  • FIG. 6 is a block diagram showing a sixth embodiment of the present invention and showing an example of a configuration of a data file encrypted transmission / reception system.
  • FIG. 1 is a diagram showing a configuration of a data file encrypted transmission / reception system according to the first embodiment of the present invention.
  • the data file encrypted transmission / reception system of this embodiment includes a registration client terminal 2, a search client terminal 3, and a data management server 1.
  • Each device constituting the data file encrypted transmission / reception system is connected so that information can be transmitted / received via the network 4.
  • WAN Wide Area Network
  • LAN Local Area Network
  • connection method of the network 4 may be either wired or wireless.
  • the data file encryption transmission / reception system is divided into two according to the nature of the data to be registered, and one of the plain text data is a common key encryption method with fast encryption processing. It is characterized in that it is encrypted and the other plain text data is encrypted by a searchable encryption method having higher security performance. At this time, in order to maintain high speed, it is preferable to minimize the range to which the searchable encryption method is applied.
  • the data file is encrypted by the common key encryption method, and the common key, the initial vector, and the concatenated ID used for encrypting the data file are encrypted by the searchable encryption method, but the data file encryption is actually performed. This is not the case when implementing a cryptographic transmission / reception system.
  • the concatenated ID is an identifier that associates the common key encrypted data 100 encrypted by the common key encryption method with the searchable encrypted data 200 encrypted by the searchable encryption method. Since it is not always necessary to encrypt the concatenated ID, the plaintext data may be attached to one of the two encrypted data as it is. Further, the searchable encryption method may be described in detail in this embodiment because a known or well-known technique such as Patent Document 1 may be applied.
  • the registered client terminal 2 generates the common key encryption data 100 from the plain text data file with the initial vector generated according to the common key encryption method and the generated common key. Further, the registered client terminal 2 generates a concatenated ID for associating the encrypted data generated by the common key encryption method with the encrypted data generated by the searchable encryption method.
  • the data management server 1 may issue the concatenated ID.
  • the registered client terminal 2 applies a searchable encryption technique using a user private key acquired in advance, and uses a common key, a concatenated ID, an initial vector, and data including a file name according to a probabilistic encryption method for searchable encryption.
  • the data 200 is generated, and the common key encrypted data and the searchable encrypted data 200 are registered in the data management server 1.
  • the probabilistic encryption method is an encryption algorithm that generates random encrypted data in which the equivalence relationship and the magnitude relationship are concealed from the plaintext data.
  • plaintext and ciphertext have a one-to-many correspondence.
  • the file name of the data file registered in the data management server 1 and the search keyword that can be arbitrarily set by the user can be searched and encrypted, so that the file name and the keyword can be searched.
  • the search client terminal 3 acquires the searchable encrypted data 200 from the data management server 1, decodes the initial vector, the common key, and the concatenated ID, and specifies the decrypted initial vector and the concatenated ID by the concatenated ID.
  • the common key encrypted data 100 is decrypted.
  • the file name of the data file to be acquired or the search keyword that can be arbitrarily set by the user is set, it is possible to search the encrypted data 200 that can be searched with those data.
  • the search client terminal 3 generates an encrypted search keyword from a search keyword (a file name of plaintext data or an arbitrary keyword) according to a probabilistic encryption method, and data a search request including the encrypted search keyword for output. It can be sent to the management server 1 to execute a search.
  • a search keyword a file name of plaintext data or an arbitrary keyword
  • FIG. 2 is a block diagram showing an example of the configuration of the data management server 1.
  • the data management server 1 is a computer including a processor 11, a memory 12, a storage device 13, and a network interface 14.
  • the storage device 13 stores the common key encryption data 100 and the searchable encryption data 200.
  • the common key encrypted data 100 includes encrypted character string data 110.
  • the searchable encrypted data 200 includes an encryption common key 130, an encryption initial vector 140, and an encryption concatenation ID 150.
  • the common key encrypted data 100 and the searchable encrypted data 200 are stored in the storage device 13 in a database format.
  • Software that manages the common key encrypted data 100 and the searchable encrypted data 200 is loaded in the memory 12 and executed by the processor 11.
  • software for managing each data stored in the storage device 13 for example, a database management system or the like can be adopted.
  • the network interface 14 is connected to the network 4 and is connected to one or more registered client terminals 2 and one or more search client terminals 3 to receive requests for data registration and search.
  • the data management server 1 stores the searchable encrypted data 200 encrypted in a format that cannot be decrypted in the data management server 1 by using the searchable encryption technique.
  • the data management server 1 stores the common key encrypted data 100 encrypted by the common key encryption method and the searchable encrypted data 200 encrypted by the searchable encryption method, and also supports a common search request. The key encrypted data 100 and the searchable encrypted data 200 are searched.
  • the header or part of the data file may be divided into two parts and the other two parts, and only the header or part may be searchable and encrypted and stored in the data management server 1.
  • the data management server 1 can further speed up the processing while maintaining the security performance.
  • FIG. 1 Although one data management server 1 is illustrated in FIG. 1, a database that stores searchable encrypted data 200 and outputs data without decryption in the data, and a normal key encrypted data 100 that stores common key encrypted data 100 are stored. It may be physically divided into databases to which encryption techniques have been applied (ie, encrypted data is stored in storage, but decrypted data is output in the data center).
  • the common key encrypted data 100 and the searchable encrypted data 200 may be stored by dividing the schema in the database that outputs the data without decrypting in the database that stores the searchable encrypted data 200. ..
  • FIG. 3 is a block diagram showing an example of the configuration of the registered client terminal 2.
  • the registration client terminal 2 is a computer including a processor 21, a memory 22, a storage device 23, a network interface 24, and an input / output device 25.
  • the character string conversion unit 210, the key generation unit 220, the common key encryption unit 230, the searchable encryption unit 240, the concatenated ID generation unit 250, and the communication unit 260 are loaded into the memory 22 as a program. It is executed by the processor 21. Further, the memory 22 stores a preset common key generation library 430 and a preset user secret key 460.
  • the processor 21 operates as a functional unit that provides a predetermined function by executing a process according to the program of each functional unit.
  • the processor 21 functions as a character string conversion unit 210 by executing processing according to a character string conversion program. The same applies to other programs.
  • the processor 21 also operates as a functional unit that provides each function of a plurality of processes executed by each program.
  • a computer and a computer system are devices and systems including these functional parts. The details of each functional unit will be described later.
  • the input / output device 25 is composed of an input device such as a keyboard, a mouse or a touch panel, and an output device such as a display.
  • the network interface 24 is connected to the network 4 and communicates with other devices.
  • FIG. 4 is a block diagram showing an example of the configuration of the search client terminal 3.
  • the search client terminal 3 is a computer including a processor 31, a memory 32, a storage device 33, a network interface 34, and an input / output device 35.
  • the searchable encryption / decryption unit 310, the common key encryption / decryption unit 320, and the character string conversion unit 330 are loaded into the memory 32 as a program and executed by the processor 31. Further, the user private key 460 acquired in advance is stored in the memory 32.
  • the processor 31 operates as a functional unit that provides a predetermined function by executing a process according to the program of each functional unit.
  • the processor 31 functions as the searchable encryption / decryption unit 310 by executing the process according to the searchable encryption / decryption program.
  • the processor 31 also operates as a functional unit that provides each function of a plurality of processes executed by each program.
  • a computer and a computer system are devices and systems including these functional parts. The details of each functional unit will be described later.
  • the input / output device 35 is composed of an input device such as a keyboard, a mouse or a touch panel, and an output device such as a display.
  • the network interface 34 is connected to the network 4 and communicates with other devices.
  • FIG. 5 is a diagram showing an example of an outline of a data file registration process according to the present invention.
  • FIG. 6 is a flowchart showing an example of a data file registration process in the data file encrypted transmission / reception system.
  • the registration client terminal 2 has a character string conversion unit 210, a common key generation library 430, a common key encryption unit 230, a searchable encryption unit 240, a concatenated ID generation unit 250, and a communication unit 260, and has a user secret key. Holds 460 and data file 410.
  • the data file 410 is data input by the user of the registered client terminal 2.
  • the character string conversion unit 210 After receiving the data file 410, the character string conversion unit 210 converts the data file 410 into a predetermined character string in the Base64 format or the like, and generates plain text character string data 420 (step S1 in FIG. 6).
  • the registration client terminal 2 When the registration client terminal 2 newly encrypts the character string data 420 of the data file 410 and registers it in the data management server 1, it issues a concatenated ID that associates the common key encrypted data 100 with the searchable encrypted data 200.
  • a concatenated ID that associates the common key encrypted data 100 with the searchable encrypted data 200.
  • the data management server 1 may issue the concatenated ID.
  • the data file encryption transmission / reception system is divided into two according to the nature of the data registered in the data management server 1, and one of the plain text data is commonly used for fast encryption processing. It is characterized by encrypting with a key encryption method and encrypting the other plain text data with a searchable encryption method having higher security performance.
  • the registered client terminal 2 encrypts the input data file 410
  • the information is divided into the character string data 420 and the information required for decryption, and the character string data 420 is shared.
  • An example of encrypting with a key and encrypting the information required for decryption with a searchable cipher is shown, but the present invention is not limited to this.
  • a part (keyword) of the character string data 420, the file name of the data file 410, and the like may be encrypted with a searchable encryption.
  • the data to be encrypted is divided into a first input information and a second input information
  • the first input information is encrypted by the common key encryption unit 230
  • the second input information is searchable encryption. It may be encrypted by the unit 240.
  • the registration client terminal 2 encrypts the character string data 420 of the data file 410 by a common key encryption method (step S2 in FIG. 6), and is used for encrypting the character string data 420 of the data file 410.
  • the initial vector 450, the common key 440, and the concatenated ID 120 are encrypted by a searchable encryption method (step S3 in FIG. 6).
  • the registration client terminal 2 registers the common key encrypted data 100 encrypted with the common key and the searchable encrypted data 200 encrypted with the searchable encryption in the data management server 1.
  • the actual implementation of this data file encrypted transmission / reception system is not limited to the above.
  • the registration client terminal 2 is divided into, for example, a header or a part of the data file 410 and the other two (step S4 in FIG. 6).
  • the registration client terminal 2 searchesably encrypts the header of the data file 410 or a part of the character string data 420 and the concatenated ID 120 (step S5 in FIG. 6), and forms a part of the encrypted character string data 420 and the concatenated ID 120. It is stored in the data management server 1 as a set. The other data is stored in the data management server 1 as a set with the concatenated ID 120 (plain text). As a result, the speed can be further increased as compared with the present embodiment while maintaining the security performance.
  • the registration client terminal 2 When the registration client terminal 2 receives the registration instruction of the data file 410 from the user via the input / output device 25, the registration client terminal 2 generates the encrypted character string data 110 from the plaintext character string data 420 according to the common key encryption method. Specifically, the following processing is executed.
  • the key generation unit 220 of the registration client terminal 2 uses the common key generation library 430 to generate a different common key 440 and an initial vector 450 each time. By generating a common key 440 and an initial vector 450 that are different each time, the key generation unit 220 realizes encryption and randomization by a method that is not based on a certain rule.
  • the initial vector 450 is a unique random number (pseudo-random number) added when the character string data 420 of the data file 410 is encrypted, and is required for decrypting the encrypted character string, so that it is the same as the common key 440. It is preferable to encrypt using a searchable encryption method with high security performance.
  • the common key encryption unit 230 encrypts the character string data 420 using the initial vector 450 and the common key 440 to generate the common key encryption data 100 including the encrypted character string data 110.
  • the registered client terminal 2 generates searchable encrypted data 200 from the common key 440 generated in plain text, the initial vector 450, and the concatenated ID 120 according to the searchable encryption method (step S3 in FIG. 6). Specifically, the following processing is executed.
  • the searchable encryption unit 240 applies a searchable encryption technology, and is a probabilistic encryption method using a mask using a user secret key 460, a pseudo random number, and a quasi-isomorphic function. By encrypting the ID 120, the searchable encrypted data 200 including the encryption common key 130, the encryption initial vector 140, and the encryption concatenation ID 150 is generated.
  • the user private key 460 is pre-assigned to each user who uses the registered client terminal 2 and the search client terminal 3. Since the transmission / reception of the user private key 460 does not occur once the delivery of the user private key 460 is completed, it is possible to suppress the risk of leakage of the user private key 460.
  • the concatenated ID generation unit 250 generates a concatenated ID 120 as an identifier for associating the common key encryption data 100 with the searchable encryption data 200, and inputs the concatenated ID 120 to the searchable encryption unit 240.
  • the communication unit 260 transmits the common key encryption data 100 generated by the common key encryption unit 230 and the searchable encryption data 200 generated by the searchable encryption unit 240 to the data management server 1 as a set. ,sign up.
  • the set of the encryption common key 130, the encryption initial vector 140, and the encryption concatenation ID 150 is set as the searchable encryption data 200.
  • the registered client terminal 2 sets the common key encrypted data 100 and the searchable encrypted data 200 and transmits the data to the data management server 1 (step S6 in FIG. 6).
  • the registered client terminal 2 registers the attribute information (file name of the data file 410 to be acquired, a search keyword that can be arbitrarily set by the user, etc.) in the data management server 1 in advance after being searchable and encrypted.
  • the data management server 1 can also search by file name or keyword.
  • steps S4 and S5 are not essential, but a part or component (keyword or attribute information) of the data file 410 is divided and included in the searchable encrypted data 200 so that it remains encrypted. It becomes possible to perform a search.
  • FIG. 7 is a diagram showing an outline of a search process for the data file 410 according to the present invention.
  • FIG. 8 is a flowchart showing an example of the search process of the data file 410 in this system.
  • Downloading from the data management server 1 basically decrypts the encrypted data by executing the reverse process of the upload procedure.
  • the search client terminal 3 has a character string conversion unit 330, a searchable encryption / decryption unit 310, and a common key encryption / decryption unit 320, and holds a user secret key 460.
  • the data management server 1 holds the common key encryption data 100 which is the encryption character string data, the encryption common key 130, and the searchable encryption data 200 which is a set of the encryption initial vector 140 and the encryption concatenation ID 150. do.
  • the search client terminal 3 acquires the searchable encrypted data 200 from the data management server 1. At this time, by encrypting the attribute information (file name of the data file 410 to be acquired, search keyword that can be arbitrarily set by the user, etc.), search by file name or keyword is also possible.
  • the search client terminal 3 decrypts the acquired searchable encrypted data 200 by the searchable encryption / decryption unit 310 using the user private key 460 (step S11 in FIG. 8).
  • the decoded data includes other attribute information such as a common key 440, an initial vector 450, a concatenation ID 120, and a file name if set.
  • the search client terminal 3 decrypts the data file 410 by the same procedure as above.
  • the common key encryption / decryption unit 320 of the search client terminal 3 searches for and acquires the common key encryption data 100 with the decrypted consolidated ID 120, and the decrypted common key 440 with respect to the acquired common key encryption data 100. And the initial vector 450 for decoding.
  • the decoded data includes the character string data 420.
  • the character string conversion unit 330 generates a data file 410 from the character string data 420 (step S12 in FIG. 8).
  • the data is divided into two according to the nature of the data registered in the data management server 1, one data is encrypted by a common key encryption method having a fast encryption process, and the other data is encrypted.
  • a searchable encryption method with even higher security performance
  • data file encryption, decryption, and transmission / reception that maintain both high-speed processing and security performance can be performed without using dedicated hardware. This can be achieved only by software processing.
  • the registered client terminal 2 generates a common key 440 that is different each time and an initial vector 450 that is a unique random number (pseudo-random number) added at the time of encryption, and encrypts it by the common key encryption method.
  • the registered client terminal 2 is a probabilistic encryption method using a mask using a user secret key 460, a pseudo-random number, and a quasi-isomorphic function to which a searchable encryption technology is applied, and the same data or query is encrypted differently each time. It has the property of becoming a sentence (not based on a certain rule). By combining the common key encryption method and the searchable encryption method, all the encrypted data is randomized and it is possible to ensure high security.
  • the user private key 460 used for the searchable encryption method is assigned to each user who uses the registered client terminal 2 and the search client terminal 3, and once the transfer of the user private key 460 is completed, the user secret key is transmitted and received. It is possible to reduce the risk of leakage of the user secret key 460 compared to the conventional technology that sends and receives random numbers (pseudo-random numbers) and numerical values for random number generation each time data is encrypted. Become.
  • the searchable encryption method uses a common key encryption method, and the registered client terminal 2 and the search client terminal 3 can be encrypted and decrypted with their own user private key 460. It is possible for the same user to register, search, and acquire data files that could not be realized by public key encryption methods with different decryption keys.
  • the registered client terminal 2 registers the attribute information (file name of the data file 410 to be acquired, a search keyword that can be arbitrarily set by the user, etc.) in the data management server 1 in advance after being searchable and encrypted.
  • the data management server 1 can be searched by a file name or a keyword.
  • FIG. 9 shows a modified example of the first embodiment, and shows an example in which the functions of the registered client terminal 2 and the search client terminal 3 are realized by one user terminal 5.
  • the user terminal 5 is a computer that uses a processor, a memory, and a communication unit (not shown).
  • the user terminal 5 has a registration unit 20 having the same function as the registration client terminal 2 described above and a search unit 30 having the same function as the search client terminal 3 described above, and is assigned to the user of the user terminal 5. Encryption and decryption are performed with the user private key 460. Other configurations are the same as those in the first embodiment described above.
  • the registration unit 20 communicates with the character string conversion unit 210, the key generation unit 220, the common key encryption unit 230, the searchable encryption unit 240, and the concatenated ID generation unit 250. It has a unit 260, a common key generation library 430, and a user secret key 460.
  • the search unit 30 has a searchable encryption / decryption unit 310, a common key encryption / decryption unit 320, a character string conversion unit 330, and a user secret key 460.
  • Example 2> 10 and 11 show Example 2 of the present invention.
  • the data management server 1 shown in the first embodiment is divided according to the type of data to be stored is shown.
  • the searchable encrypted data 200 is stored in the data management server 1-1, and the common key encrypted data 100 is divided and stored in the data management server 1-2. Therefore, the configurations other than the processes related to these are the same as those in the first embodiment.
  • FIG. 10 is a block diagram showing an example of the configuration of the data file encrypted transmission / reception system of this embodiment.
  • the data file encrypted transmission / reception system of this embodiment is composed of the user terminal 5 shown in the modification of the first embodiment, the data management servers 1-1, 1-2, and the network 4.
  • the data management server 1-1 stores the searchable encrypted data 200 encrypted in a format that cannot be decrypted in the data management server 1-1 by using the searchable encryption technique.
  • the data management server 1-2 manages a database in which ordinary plaintext data is stored.
  • the data management server 1-2 uses a database to which the usual encryption technique is applied (that is, the encrypted data is stored in the storage device, but the decrypted data is output in the data center). Can be managed.
  • the registration unit 20 converts the data file 410 into the character string data 420, encrypts the data file 410 by the common key encryption method, and sets the common key encryption data 100 and the concatenated ID 120 (plain text) as a set.
  • the registration unit 20 converts the data file 410 into the character string data 420, encrypts the data file 410 by the common key encryption method, and sets the common key encryption data 100 and the concatenated ID 120 (plain text) as a set.
  • data management server 1-2 Store in data management server 1-2.
  • the common key 440 used for encrypting the data file 410 is encrypted by the searchable encryption method, and is stored in the searchable encrypted data 200 of the data management server 1-1 in combination with the concatenated ID 120.
  • the concatenated ID 120 may be encrypted by a searchable encryption method.
  • connection ID 120 the data stored in the data management server 1-1 and the data management server 1-2 can be associated with each other.
  • the encryption common key 130 stored in the data management server 1-1 is encrypted (probabilistic encryption method) with the common key 440 by a method not based on a certain rule, and is randomized.
  • the user private key 460 for encryption and decryption is held only in the user terminal 5 used by the registrant / applicant, the data stored in the data management server 1-1 and the data management server 1-2. Cannot decrypt the data file 410 even if they are concatenated in the data center, and can be managed more safely than in the first embodiment.
  • the data file 410 is separated into information that can identify an individual and information that cannot identify an individual by itself by applying the information management system of JP2015-187828. Data can be managed more safely by storing the data.
  • This embodiment is an information management system in which a data management server 1-1 (first database) and a data management server 1-2 (second database) are provided in one or more data centers, and is a data management server.
  • 1-1 first database
  • data management server 1-2 second database
  • 1-1 first database
  • data management server 1-2 second database It is characterized in that it stores data associated with data stored in data management server 1-1 (first database).
  • the viewing authority can be obtained. Only the user with can get the encrypted file.
  • the header or part of the data file 410 is divided into two parts, the header or a part thereof, and the header or part is searchably encrypted and stored in the data management server 1-1, and the other parts are stored in the data management server 1-2. You may.
  • the data stored in the data management server 1-1 is searchable and encrypted into random numbers (pseudo-random numbers), and even if they are concatenated in the data center, the data file 410 cannot be decrypted. Since only a part of the data file 410 is searchable and encrypted, the processing performance at the time of data registration / acquisition can be improved as compared with the case where the entire data file 410 is encrypted with a common key while maintaining security.
  • FIG. 11 is a flowchart showing an example of the search process of the data file 410 performed by the data file encrypted transmission / reception system of this embodiment.
  • the user terminal 5 may acquire the common key encrypted data 100 from the data management server 1-2 after acquiring the searchable encrypted data 200 from the data management server 1-1, or the data management server 1-2. After acquiring the common key encrypted data 100 from, the searchable encrypted data 200 may be acquired from the data management server 1-1.
  • Steps S21 and S22 show a method in which the user terminal 5 first acquires data from the data management server 1-1
  • steps S23 and S24 show an example in which the data management server 1-2 first acquires data.
  • the application executed on the user terminal 5 selects which data management server 1-1 or 1-2 to acquire the data first, and the request to each data management server 1-1 or 1-2 is made. Control transmission.
  • the header or part of the data file 410 is divided into two parts and the other two parts, and the searchable encrypted data 200 in which the header or part is searchable and encrypted is stored in the data management server 1-1, and the other parts are data. The same applies when the data is stored in the management server 1-2.
  • steps S21 and S22 an example in which the user terminal 5 first acquires data from the data management server 1-1 is shown.
  • the user terminal 5 acquires the searchable encrypted data 200 from the data management server 1-1 from the data management server 1-1 (S21).
  • the user terminal 5 has set the file name of the data file 410 to be acquired, a search keyword that can be arbitrarily set by the user, and the like, it is possible to search the data management server 1-1 with those data. Is.
  • the user terminal 5 decrypts the acquired searchable encrypted data 200 by using the user private key 460.
  • the decoded data includes other attribute information such as a common key 440, an initial vector 450, a concatenation ID 120, and a file name if set (S21).
  • the user terminal 5 instructs the data management server 1-2 to search the common key encrypted data 100 based on the concatenated ID 120 (S22).
  • the data management server 1-2 searches for the common key encrypted data including the same concatenated ID 120 and transmits it to the user terminal 5.
  • the user terminal 5 decrypts the transmitted common key encrypted data 100 by using the decrypted common key 440 and the initial vector 450 (steps S25 and S26).
  • the user terminal 5 when the user terminal 5 acquires the data first from the data management server 1-2, the user terminal 5 sends the request to the data management server 1-2 and stores the request in the data management server 1-2 by the search process. Acquire the common key encrypted data 100 (step S23).
  • the data management servers 1-1 and 1-2 store the ID uniquely representing the target person and the encrypted data file 410, and the data management server 1-2 stores the ID uniquely representing the target person and the concatenated ID 120. If so, the encrypted file can be obtained only by the user who has the viewing authority.
  • the user terminal 5 sends a request to the data management server 1-1 using the connection ID 120 acquired from the data management server 1-2, and the searchable encrypted data stored in the data management server 1-1 by the search process. Acquire 200 (step S24).
  • the search unit 30 of the user terminal 5 uses the searchable encrypted data 200 and the common key encrypted data 100, which are divided and stored in the data management servers 1-1 and 1-2, as the first embodiment. It is possible to search in the same way.
  • FIG. 12 is a block diagram showing the third embodiment and showing an example of the configuration of the data file encrypted transmission / reception system.
  • This embodiment shows an example in which a plurality of user terminals 5-1 to 5-3 are added in addition to the modified example of the first embodiment to transmit and receive one data file 410.
  • Other configurations are the same as those in the first embodiment.
  • the present invention can be considered as a method of sharing files within an organization such as a file server in actual business, or a method of using the data file 410 encrypted and transmitted / received in a peer-to-peer manner.
  • the data is encrypted on the communication path and in the data management server 1.
  • a method for encrypting 410 has been proposed.
  • the data file encrypted transmission / reception system of this embodiment is composed of a plurality of user terminals 5-1 to 5-3 and a data management server 1.
  • the searchable encrypted data 200 and the common key encrypted data 100 are stored in one data management server 1, but the data management server 1 may be divided as in the second embodiment.
  • the reference numeral "5" is used, omitting "-" and subsequent "-". The same applies to the signs of other components.
  • User terminals 5-1 to 5-3 are pre-distributed with user private keys 460-1 to 460-3 for each user. Also. Each user terminal 5 has a registration unit 20 and a search unit 30 (not shown), as shown in the modified example of the first embodiment.
  • the user terminal 5 generates the common key encryption data 100 from the plaintext data file 410 according to the common key encryption method.
  • the searchable encryption technology is applied, the searchable encrypted data 200 is generated from the data including the common key according to the probabilistic encryption method, and the common key encrypted data 100 and the searchable encryption are stored in the data management server 1. Register the data 200.
  • the data registered in the data management server 1 can be searched and acquired by a plurality of user terminals 5.
  • the same file can be encrypted and decrypted even if a different user private key 460 is used for each user.
  • FIG. 13 is a block diagram showing a fourth embodiment of the present invention and showing an example of the configuration of a data file encrypted transmission / reception system.
  • a user who has already registered (registered) a data file 410 encrypted by a new user (user terminal 5-1) who does not have the user private key 460 An example of registering in the data management server 1 on the user terminal 5-2 is shown.
  • the temporary database server 500 is added to the configuration of the modified example of the first embodiment.
  • Other configurations are the same as those in the first embodiment.
  • the user terminal 5-1 holds the public key 470 distributed in advance, and the user terminal 5-2 holds the private key corresponding to the public key 470, which is different from the first embodiment.
  • the user private key 460 used for the searchable encryption method is assigned to each registered (registered) user.
  • the user private key 460 is stored in a storage medium such as an e-mail attachment or a USB memory for these users. It is not realistic to distribute by hand.
  • a mechanism is required for a user who does not have the user private key 460 to register the data file 410 in the data management server 1. At that time, for security, it is desirable that the data file 410 is encrypted on the communication path and in the data management server 1.
  • the data file encrypted transmission / reception system of this embodiment is used by a user terminal 5-1 used by a user (applicant) who does not have the user private key 460 and a user (registrant) who has the user private key 460. It is composed of a user terminal 5-2, a data management server 1, a temporary database server 500, and a network 4.
  • the searchable encrypted data 200 and the common key encrypted data 100 are stored in one data management server 1, but the data management server 1 may be divided as in the second embodiment.
  • the temporary database server 500 is a database to which a normal encryption technique is applied (that is, encrypted data is stored in a storage device, but decrypted data is output in a data center).
  • the temporary database server 500 stores the common key encryption data 100 encrypted by the common key encryption method and the public key encryption data 510 encrypted by the public key encryption method, and also stores the user terminal 5-.
  • the common key encryption data 100 and the public key encryption data 510 are searched in response to the request from 2.
  • the applicant is a user who does not have the user private key 460, and the applicant uses the user terminal 5-1.
  • the user terminal 5-1 of the applicant generates the common key encryption data 100 according to the common key encryption method using the common key 440 and the initial vector 450 generated in the same manner as in the first embodiment from the plaintext data file 410. do.
  • the user terminal 5-1 uses the distributed public key 470 to obtain the public key encryption data 510 from the common key 440 generated in plain text, the initial vector 450, and the concatenated ID 120 according to the public key encryption method. To generate. For security, it is preferable to use a different public key and private key for each system, or to use a different public key each time.
  • the user terminal 5-1 sets the common key encryption data 100 and the public key encryption data 510 and registers them in the temporary database server 500.
  • the registrant is a user who possesses the user private key 460 and registers the applicant's data file 410 in the data management server 1, and the registrant uses the user terminal 5-2.
  • the registrant's user terminal 5-2 acquires a set of public key encryption data 510 and common key encryption data 100 from the temporary database server 500.
  • the user terminal 5-2 decrypts the acquired public key encryption data 510 using the private key 480 possessed by the registrant.
  • the decoded data includes a common key 440, an initial vector 450, a concatenation ID 120, and other attribute information such as a file name if set.
  • the user terminal 5-2 generates the searchable encrypted data 200 from each decrypted data according to the searchable encryption method in the same manner as in the first embodiment.
  • the user terminal 5-2 sets the common key encrypted data 100 and the searchable encrypted data 200 and registers them in the data management server 1.
  • the common key 440, the initial vector 450 and the concatenated ID 120 are encrypted using the public key 470 on the user terminal 5-1 of the applicant, and the private key 120 is used in the user terminal 5-2 of the registrant.
  • Information leakage because only encrypted data exists on the communication path and in the data management server 1, and encryption and decryption are possible only in the registrant's user terminal 5-2. It has become possible to send and receive confidential data files 410 while reducing the risk.
  • Example 5 shows an example of providing a workflow system for applying for and approving a data file 410 by adding an operation history database 530 (see FIG. 14) to the configuration of the first embodiment.
  • Other configurations of the operation history database 530 are the same as those in the first embodiment.
  • an example in which the data file encrypted transmission / reception system of the first embodiment is used as a workflow system is shown.
  • FIG. 14 is a block diagram showing an example of the configuration of the workflow system for applying and approving the data file 410 of this embodiment.
  • the hybrid encryption used for sending and receiving the data file 410 uses a public key encryption method, and the encryption key and the decryption key are different. Therefore, the person who encrypts the data file 410 himself / herself. It cannot be decrypted. Therefore, when there is a remand from the approver, the problem is that the registrant cannot check and modify the data file 410 by himself / herself.
  • the workflow system of this embodiment includes a user terminal 5-1 used by a user (registrant), a user terminal 5-2 used by a user (approver), a data management server 1, an operation history database 530, and the like. It is composed of a network 4 connecting each computer.
  • FIG. 14 shows an example in which the searchable encrypted data 200 and the common key encrypted data 100 are stored in one data management server 1, but the data management server 1 is divided as in the second embodiment. May be good.
  • the operation history database 530 stores the operation history data 540 encrypted in a format that cannot be decrypted in the data management server 1 by using the searchable encryption technique. Further, in this embodiment, the user who sends the approval request is the registrant, and the user who confirms the approval request and approves or remands it is the approver.
  • the authority of either the registrant or the approver is set for each user who uses the user terminals 5-1 and 5-2.
  • the registrant's user terminal 5-1 encrypts the data file 410 to generate the common key encrypted data 100 and the searchable encrypted data 200 in the procedure of the first embodiment, and sends the data file to the data management server 1. Apply for registration. At that time, the encrypted data (common key encrypted data 100 and searchable encrypted data 200) is in the status of waiting for approval.
  • the approver's user terminal 5-2 searches for data in the status waiting for approval from the data management server 1.
  • the user terminal 5-2 acquires the searched data and approves or remands it.
  • the encrypted data common key encrypted data 100 and searchable encrypted data 200
  • the status of the encrypted data becomes the remand.
  • the registrant's user terminal 5-1 decrypts the returned encrypted data (common key encrypted data 100 and searchable encrypted data 200) with its own user private key 460, and confirms and corrects it. Send the approval request again.
  • each user terminal 5 applies the searchable encryption technology as the operation history data 540, and after the searchable encryption is performed, the operation history database 530. To be registered in.
  • the registrant and the approver can obtain the same data file 410 even if they have different user private keys 460. It can be encrypted and decrypted.
  • the searchable encryption technology has the property that even the same data or query will have a different ciphertext each time (not based on a certain rule), and even if the same data is sent and received multiple times, it will be a different random number each time. , Higher safety.
  • the sixth embodiment is a data file encrypted transmission / reception system in which an individual (user) registers a data file 410 and a company or an organization utilizes the data file 410 by combining the first, third, and fourth embodiments.
  • FIG. 15 is a schematic diagram showing an example of an outline configuration of a system in which an individual of this embodiment registers a data file 410 and is utilized by a company or an organization.
  • the individual on the premise of obtaining the consent of the individual, the individual registers his / her own personal data in the temporary database server 500 via the network 4 such as the Internet, and the registered personal data is stored in a secure form by the company. It is a data file encrypted transmission / reception system that can be used by organizations and organizations.
  • this data file encrypted transmission / reception system a system that collects patient information scattered all over Japan on the cloud is assumed.
  • the individual is a patient
  • the group is a medical institution
  • the data file 410 is a medical record (or medical information, medical information).
  • this data file encrypted transmission / reception system a system that collects employee medical examination results on the cloud and manages employee health by interview registration etc. is assumed.
  • the individual is an employee
  • the group is an industrial physician or an insurer
  • the data file 410 is the result of the medical examination.
  • This embodiment is an example of a data file encrypted transmission / reception system that collects patient information.
  • the data file encrypted transmission / reception system of this embodiment includes user terminals 5-1 to 5-4, a data management server 1, a temporary database server 500, and a network 4.
  • the searchable encrypted data 200 and the common key encrypted data 100 are stored in one data management server 1, but the data management server 1 may be divided as in the second embodiment.
  • the medical record is registered by the patient himself from the user terminals 5-1 to 5-2, and the applicant (patient) has the public key 470 but does not have the user private key 460, and the data management server. It is assumed that the personal data of 1 is not viewed.
  • the user terminals 5-1 to 5-22 used by the patient (applicant) encrypt the plain data file 410 (medical record) by a common key encryption method having a fast encryption process.
  • the common key encryption data 100 is generated, the common key 440, the initial vector 450, and the concatenated ID 120 are encrypted by the public key encryption method to generate the public key encryption data 510, and the common key encryption data 100 and the public are available.
  • the key encryption data 510 is stored as a set in the temporary database server 500.
  • the user who uses the user terminals 5-3 to 5-4 is a registrant (doctor) of the data management server 1 and possesses the user private key 460.
  • the doctor's user terminals 5-3 to 5-4 acquire a set of the public key encryption data 510 and the common key encryption data 100 from the temporary database server 500, and the public key encryption data 510 is used by the registrant (doctor). Decrypts using the private key 480 owned by the company, and generates the common key 440, the initial vector 450, and the concatenation ID 120.
  • the user terminals 5-3 to 5-4 use the user private key 460 according to the searchable encryption method, and perform searchable encryption from the common key 440 of the decrypted public key encryption data 510, the initial vector 450, and the concatenated ID 120. Data is generated, and the common key encrypted data 100 is also stored in the data management server 1.
  • a plurality of doctors may view and approve the medical record (common key encrypted data 100) of the data management server 1 registered by the patient.
  • the medical record is registered by the doctor.
  • the doctor's user terminals 5-3 to 5-4 encrypt the plain text medical records by the common key encryption method, and encrypt the common key by the searchable encryption method.
  • the encrypted data is stored in the data management server 1 in a format that cannot be decrypted in the data management server 1 by using the searchable encryption technology.
  • the data file 410 when a patient (user) registers a data file 410 and a company or an organization utilizes the data file 410, the data file 410 maintains both high-speed processing and security performance. Can be encrypted and decrypted.
  • the data file encrypted transmission / reception system of the above embodiment can be configured as follows.
  • a data management server (1) in which a computer (registered client terminal 2) having a processor (21) and a memory (22) encrypts an input data file (410) and is connected via a network (4). ),
  • the computer (2) has a registration unit (20) that encrypts the data file (410) and registers it in the data management server (1).
  • the registration unit (20) generates a character string conversion unit (210) that converts an encryption target data file (410) into character string data (420) and a common key (440), and generates the common key (440).
  • the character string data (420) are divided into a first input information and a second input information, and the first input information is encrypted by the common key (440).
  • the second input information can be searched using a common key encryption unit (220) that generates key encryption data (100) and a user private key (460) that is set in advance.
  • the pair of the searchable encryption unit (240) that generates the encrypted data (200), the common key encrypted data (100), and the searchable encrypted data (200) is registered in the data management server (1).
  • a data file encryption system comprising a communication unit (260).
  • the data to be encrypted is divided into two according to the nature of the data registered in the data management server 1, one data is encrypted by a common key encryption method having a fast encryption process, and the other data is encrypted.
  • a searchable encryption method with even higher security performance, data file dark decryption and transmission / reception that maintains both high-speed processing and security performance can be processed by software without using dedicated hardware. It can be realized only by.
  • the data file encryption system according to (1) above, wherein the computer (2) has the common key encryption data (100) and the searchable encryption data from the data management server (1). It further has a search unit (30) that acquires (200) and decrypts it into a data file (410), and the registration unit (20) includes the common key encrypted data (100) and searchable encrypted data (200).
  • the data management server (1) also has a connection ID generation unit (250) that generates a connection ID (120) to which the set of) is associated, and the search unit (30) acquires the connection ID (120).
  • the pair of the common key encrypted data (100) and the searchable encrypted data (200) stored in the specified common key encrypted data (100) and the searchable encrypted data (200) are specified.
  • the common key encrypted data 100 and the searchable encrypted data 200 divided into two can specify the data to be decrypted by using the concatenated ID 120. This makes it possible to store the common key encrypted data 100 and the searchable encrypted data 200 in different computers.
  • the key generation unit (220) inputs the generated connection ID (120) and the common key (440) into the second input.
  • the generated character string data (420) is included in the information
  • the search unit (30) includes the searchable encrypted data (200) acquired from the data management server (1).
  • Is decrypted with the user private key (460) and the concatenated ID (120) and the common key (440) are acquired from the second input information.
  • the data management server (1) is searched for the common key encrypted data (100) corresponding to the encrypted data (200) by the concatenated ID (120), and the common key encryption corresponding to the concatenated ID (120) is performed.
  • a data file encryption system comprising a character string conversion unit (320) that generates a data file (410) from the character string data (420).
  • the user private key 460 used for the searchable encryption method is assigned to each user who uses the registered client terminal 2 and the search client terminal 3, and once the transfer of the user private key 460 is completed, the user Since the transmission / reception of the private key does not occur, the risk of leakage of the user private key 460 is reduced as compared with the conventional technique in which a random number (pseudo-random number) or a numerical value for generating a random number is transmitted / received each time data is encrypted. Is possible.
  • the searchable encryption method uses a common key encryption method, and the registered client terminal 2 and the search client terminal 3 can be encrypted and decrypted with their own user private key 460. It is possible for the same user to register, search, and acquire data files that could not be realized by public key encryption methods with different decryption keys.
  • the computer is a first computer (registered client terminal 2) and a second computer (registered client terminal 2) connected to the data management server (1). It is composed of a search client terminal 3), wherein the first computer (2) has the registration unit (20), and the second computer (3) has the search unit (30). Data file encryption system.
  • the registration client terminal 2 that registers the data file 410 and the search client terminal 3 that uses the encrypted data file 410 use a common key encryption method as the searchable encryption method.
  • the registration client terminal 2 and the search client terminal 3 can be encrypted and decrypted with different user private keys 460 held by themselves, and registration of data files that cannot be realized by a public key encryption method in which the encryption and decryption keys are different. -It is possible to perform search / acquisition by the same user.
  • the key generation unit (220) uses a preset key generation library (430) and uses a different common key (440) each time.
  • An initial vector which is a unique pseudo-random number to be added when encrypting the first input information, is generated, and the connection ID (120), the common key (440), and the initial vector (450) are used in the first vector.
  • the common key encryption unit (220) encrypts the first input information using the common key (440) and the initial vector (450), and the searchable encryption / decryption unit.
  • (310) is a data file encryption system characterized in that the second input information is encrypted by probabilistic encryption using a mask using the user secret key (460), a pseudo random number, and a quasi-isomorphic function.
  • the registered client terminal 2 generates a different common key 440 and an initial vector 450 each time, thereby realizing encryption / randomization by a method not based on a certain rule.
  • the searchable encryption method is a probabilistic encryption method using a mask using a user secret key 460, a pseudo-random number, and a quasi-isomorphic function, and even if the same data or query is used, the ciphertext will be different each time (not based on a certain rule). ). As a result, all the encrypted data becomes random numbers, which is more secure than ordinary hybrid encryption.
  • the searchable encryption unit (240) of the first computer (2) can be searched using common key encryption.
  • the registered client terminal 2 and the search client terminal 3 can be encrypted and decrypted with the user private key 460 held by the registered client terminal 2 and the search client terminal 3.
  • the registration client and the search client may be the same computer or different computers.
  • the key generation unit (220) includes the name or attribute information of the data file (410) in the second input information.
  • a featured data file encryption system
  • the registration client terminal 2 can search and encrypt the attribute information (file name of the data file 410 to be acquired, search keyword that can be arbitrarily set by the user, etc.) and registers it in the data management server 1. By doing so, the data management server 1 can be searched by a file name or a keyword.
  • the search unit (30) is composed of a second data management server (1) for storing the searchable encrypted data (200), and the search unit (30) is a concatenation ID decrypted by the searchable encryption / decryption unit (310).
  • the common key encrypted data 100 and the searchable encrypted data 200 which are divided and stored in the two servers, can specify the data to be decrypted by using the concatenated ID 120.
  • the data file encryption system according to (3) above further including a temporary database server (500) connected to the computer via the network and storing data, and the computer is previously provided.
  • the applicant terminal (5-1) having the distributed public key (470) and the registration unit (20), and the private key (480) corresponding to the public key (470) are distributed in advance, and the registration unit ( 20) and the registrant terminal (5-2) having the search unit (30) are included, and the applicant terminal (5-1) shares the data file (410) with the registration unit (20).
  • the common key encryption data (100) is generated by encrypting with the key (440), and the common key (440) and the concatenated ID (120) are encrypted with the public key (470) to generate the public key encrypted data (470).
  • the common key encryption data (100) and the public key encryption data (510) are acquired from the database server (500), and the public key encryption data (510) is decrypted with the private key (480).
  • the decrypted common key (440) and the concatenated ID (120) are encrypted by searchable encryption using the user private key (460) to generate searchable encrypted data (200), and the data management is performed.
  • a data file encryption system characterized in that the common key encryption data (100) and the searchable encryption data (200) are registered in the server (1).
  • the common key 440, the initial vector 450 and the concatenated ID 120 are encrypted using the public key 470 on the user terminal 5-1 of the applicant, and the private key 480 is used in the user terminal 5-2 of the registrant.
  • decrypting only encrypted data exists on the communication path or in the data management server 1, and encryption and decryption are possible only in the registrant's user terminal 5-2, so there is a risk of information leakage. It is possible to send and receive confidential data files 410 while reducing the number of data files.
  • the present invention is not limited to the above-described embodiment, but includes various modifications.
  • the above-described embodiment is described in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to the one including all the configurations described.
  • any of addition, deletion, or replacement of other configurations can be applied alone or in combination.
  • each of the above configurations, functions, processing units, processing means and the like may be realized by hardware by designing a part or all of them by, for example, an integrated circuit. Further, each of the above configurations and functions may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as programs, tables, and files that realize each function can be placed in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
  • SSD Solid State Drive
  • control lines and information lines indicate those that are considered necessary for explanation, and do not necessarily indicate all control lines and information lines in the product. In practice, it can be considered that almost all configurations are interconnected.

Abstract

入力されたデータファイルを計算機で暗号化してネットワークを介して接続されたデータ管理サーバに登録するシステムは、前記計算の登録部は、暗号化対象のデータファイルを文字列データに変換する文字列変換部と、共通鍵を生成して、当該共通鍵と前記文字列データを第1の入力情報と第2の入力情報に分割する鍵生成部と、前記第1の入力情報を前記共通鍵によって暗号化して共通鍵暗号化データを生成する共通鍵暗号化部と、前記第2の入力情報を予め設定されたユーザ秘密鍵を用いて検索可能暗号化によって暗号化して検索可能暗号化データを生成する検索可能暗号化部と、前記共通鍵暗号化データと前記検索可能暗号化データの組を前記データ管理サーバに登録する通信部と、を有する。

Description

データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 参照による取り込み
 本出願は、令和2年(2020年)12月25日に出願された日本出願である特願2020-216616の優先権を主張し、その内容を参照することにより、本出願に取り込む。
 本発明は、検索可能暗号技術を適用して高いセキュリティを維持しながら、ファイル名での検索、高速なファイルの送受信を実現するデータファイル暗号化送受信システムに関する。
 情報システムの開発及び運用管理費の効率化を目的に、他組織が提供する情報システムを利用する、クラウドと呼ばれる運用管理形態が注目されている。クラウドにおける不正流出の予防策として、例えば、特許文献1の検索可能暗号技術を用いることで電子データを検索する際、DBサーバにマスクを解除させずに検索結果を取得し、復号することが可能となっている。
 しかし電子データではなく、バイナリーデータであるファイルにも機密情報は含まれており、不正流出の予防策を講じる必要がある。
 データをクラウドに保存する際、通信経路での漏洩や盗聴を防止するため、種々の暗号化技術が提案されている。現在、一般的な技術としてSSL/TLSで利用されているハイブリッド暗号方式では、送信者側で所定の手法で生成した共通鍵で平文を暗号化し、予め受信者から受け取った公開鍵で共通鍵を暗号化し、暗号化した平文及び共通鍵を受信者へ送信する。受信者側では秘密鍵で送信された共通鍵を復号し、共通鍵によって暗号化された平文を復号することで、安全かつ高速な伝送を実現している。
 データファイル暗号化システムの技術の一般的な方法の例として、送信先においてランダムに生成したマスタ乱数から抽出した一時鍵情報でデータファイルを共通鍵方式で暗号化し、マスタ乱数制御値や乱数を送信元から事前に共有された公開鍵を用いて公開鍵方式で暗号化し送信元へ送信する。
 送信元では秘密鍵でマスタ乱数制御値や乱数を復号し、マスタ乱数制御値を用いて生成したマスタ乱数や復号した乱数から抽出した一時鍵情報を用いて暗号化データファイルを共通鍵方式で復号することで実現している(例えば、下記特許文献2、3)。
特開2012-123614号公報 特開2009-177304号公報 特開2006-67412号公報
 特許文献2では、データファイルの暗号化に、毎回変化する一度限りのパスワード、いわゆるワンタイムパスワードを用いるため、ランダムに生成したマスタ乱数の一部を使用している。データファイルを暗復号するためには、受信側と送信側で同じ乱数を共有する必要があり、特許文献2では、乱数をそのまま送信するのではなく、前記マスタ乱数を加工するためのマスタ乱数制御値を暗号化し、送信している。
 特許文献3では、現在時刻や伝送すべき情報を表すデータのハッシュ値などをもとに乱数を生成し、一度限りのパスワード(文献内ではセッション鍵)を生成する。この乱数は公開鍵暗号方式で暗号化され、送信されている。
 このように、安全性を高めるために使用される乱数や乱数を生成するための値が、暗号化されていたとしてもインターネットなどの通信網上に流れるのは課題である。
 特許文献3で使用されているハッシュ関数は、元のデータが同じであれば同じ固定長の値(ハッシュ値)に変換されるという性質がある。特に暗号学的ハッシュ関数は、与えられたハッシュ値に対して、そのハッシュ値を出力するようなハッシュ関数の入力値を得ることが事実上不可能(原像計算困難性、弱衝突耐性)という特性を持っていなければならない。
 この特性によって、ハッシュ値は不可逆な暗号化された状態であると考えられ、ハッシュ化されたIDやパスワードであれば、漏洩しても問題がないと主張がされているが、実際はハッシュ化されていたとしても解析されて悪用されているというケースは数多く存在している。
 例えば、2016年5月、ビジネス向けSNSの米Linkedinから2012年に流出したパスワードは、1億1,700万人を超えていたとみられることが報告されている。そのパスワードはハッシュ化されていたにも関わらず、闇市場で電子メールとパスワードを含むアカウント情報が売りに出され、20万件以上の悪用が報告されている。
 このように、一般的なセキュリティ手法であるハッシュ化は、本当に安全性が高いとは言い難い。代表的なハッシュ値に対する攻撃手法として、「レインボーテーブル」があげられる。この攻撃手法は、平文とハッシュ値の対応表を生成し、ハッシュ値を検索して対応する平文を探すことで、ハッシュ化によって秘匿された情報を不正に取得する手法である。
 この攻撃への対策として、ハッシュ化するデータに文字列を付け加えてハッシュ化する「ソルト」や、ハッシュ化を繰り返し適用する「ストレッチング」と呼ばれる手法があるが、ハッシュ値の解析に時間がかかるようになるだけであり、本質的にハッシュ値の解析ができなくなるわけではない。
 以上のことから、ある値を入力したとき生成するハッシュ値は常に同じという決定性の性質が課題であり、一定の法則に基づかない暗号化(確率的暗号化方式)の使用が望まれる。
 特許文献2及び3で使用されている公開鍵暗号は一般的にRSA暗号を使用することが多い。RSA暗号は、桁数が大きい合成数の素因数分解問題が困難であることを安全性の根拠としている。通常のRSA暗号は、ある暗号文から平文を算出する選択暗号文攻撃に対して脆弱性があり、そのまま利用することは好ましくないとされている。
 そこで、RSA暗号の実装は、パディングとして毎回乱数を生成して挿入する対策がされている場合が多い。これを、RSA-OAEP(Optimal Asymmetric Encryption Padding)方式と呼び「電子政府における調達のための推奨すべき暗号リスト(CRYPTREC暗号リスト)」に公開鍵暗号方式の守秘技術の分類で登録されている。
 しかし、CRYPTREC暗号リストに記載されている暗号化機能、ハッシュ機能、署名機能等の承認されたセキュリティ機能をハードウェアやソフトウェア等に正しく実装、実行し、重要情報保護が適切にできているかを担保する制度である「暗号モジュール試験及び認証制度(CMVP:Cryptographic Module Validation Program)」に基づいた北米CMVPでは、CRYPTREC暗号リストに記載されているものを対象とした暗号モジュール試験において、ほぼ半数の製品で問題が発覚しており、北米CMVP試験機関の調査結果として、2013年秋~2014年夏まで、セキュリティレベル1・2の平均で57%程度の不適合事例が明らかになっている。
 つまり、RSA-OAEP暗号を用いた公開鍵暗号方式は、正しく実装・実行・管理できていれば、安全性が確保できるが、実際の実装は困難であるといえる。
 また、公開鍵暗号方式は、暗号化は公開鍵で行い、復号は秘密鍵を使用する方式である。暗号化と復号の鍵が異なるため、データファイルを暗号化した人が、自身で復号することはできない。
 そのため、データファイルを電子メールに添付して送付する場合など、一方向の送受信のシステムに使用するのであれば問題ないが、ユーザが暗号化したデータファイルをデータベースに登録し、そのユーザが再度自身で登録したデータファイルを復号して取得するというファイルデータベースのようなシステムには適用できないという課題がある。
 更に、特許文献2及び3のように、共通鍵暗号化方式と公開鍵暗号化方式の組み合わせを使用した場合、そのまま検索はできないため、検索を行う際にはデータを復号する必要がある。
 多くの暗号化データファイルを管理する場合は、検索ができることが望まれるが、検索する都度データファイルを復号すると、データセンタ内で、平文のデータファイルが存在する頻度が上がりセキュリティが課題となる。
 データファイルを暗号化したまま検索を可能にするために、ファイル名を平文、データファイルを暗号化するシステムも存在するが、その場合、盗聴された際に平文のファイル名からデータファイルを推測することが容易となり、セキュリティ面で課題があることには変わらない。
 そこで本発明は、上記課題に鑑みてなされたもので、処理の高速性とセキュリティ性能の双方を維持したデータファイルの暗号化及び復号化と送受信を実現することを目的とする。
 プロセッサとメモリを有する計算機が、入力されたデータファイルを暗号化してネットワークを介して接続されたデータ管理サーバに登録するデータファイル暗号化システムであって、前記計算機は、前記データファイルを暗号化して前記データ管理サーバに登録する登録部を有し、前記登録部は、暗号化対象のデータファイルを文字列データに変換する文字列変換部と、共通鍵を生成して、当該共通鍵と前記文字列データを第1の入力情報と第2の入力情報に分割する鍵生成部と、前記第1の入力情報を前記共通鍵によって暗号化して共通鍵暗号化データを生成する共通鍵暗号化部と、前記第2の入力情報を予め設定されたユーザ秘密鍵を用いて検索可能暗号化によって暗号化して検索可能暗号化データを生成する検索可能暗号化部と、前記共通鍵暗号化データと前記検索可能暗号化データの組を前記データ管理サーバに登録する通信部と、を有する。
 本発明では、データファイルと復号に必要な情報を第1の入力情報と第2の入力情報に分割して、第1の入力情報を共通鍵で暗号化し、第2の入力情報を検索可能暗号で暗号化することにより、処理の高速性とセキュリティ性能の双方を維持したデータファイルの暗号化及び復号化と送受信を実現することができる。
 本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。
本発明の実施例1を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。 本発明の実施例1を示し、データ管理サーバの構成の一例を示すブロック図である。 本発明の実施例1を示し、登録クライアント端末の構成の一例を示すブロック図である。 本発明の実施例1を示し、検索クライアント端末の構成の一例を示すブロック図である。 本発明の実施例1を示し、データファイル登録処理の概要を示す図である。 本発明の実施例1を示し、データファイル登録処理の一例を示すフローチャートである。 本発明の実施例1を示し、データファイル検索処理の概要を示す図である。 本発明の実施例1を示し、データファイル検索処理の一例を示すフローチャートである。 本発明の実施例1の変形例を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。 本発明の実施例2を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。 本発明の実施例2を示し、データファイル検索処理の一例を示すフローチャートである。 本発明の実施例3を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。 本発明の実施例4を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。 本発明の実施例5を示し、ワークフローシステムの構成の一例を示すブロック図である。 本発明の実施例6を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。
 以下、本発明の実施形態を添付図面に基づいて説明する。
<実施例1>
 図1は、本発明の実施例1のデータファイル暗号化送受信システムの構成を示す図である。
 <システム構成>
 本実施例のデータファイル暗号化送受信システムは、登録クライアント端末2と、検索クライアント端末3と、データ管理サーバ1から構成される。
 データファイル暗号化送受信システムを構成する各装置は、ネットワーク4を介して情報を送受信できるよう接続される。なお、ネットワーク4の種類としては、WAN(Wide Area Network)及びLAN(Local Area Network)等が考えられる。また、ネットワーク4の接続方式は、有線又は無線のいずれでもよい。
 データファイル暗号化送受信システムは、高速性とセキュリティ性能の双方を維持するため、登録するデータの性質に応じて2つに分割し、一方の平文データを暗号化処理の速い共通鍵暗号化方式で暗号化し、他方の平文データを更にセキュリティ性能が高い検索可能暗号化方式で暗号化することを特徴とする。このとき高速性を維持するために、検索可能暗号化方式を適用する範囲は最小化する方が好ましい。
 本実施例では、データファイルを共通鍵暗号化方式で暗号化し、データファイルの暗号化に使用した共通鍵と初期ベクトルと連結IDを検索可能暗号化方式で暗号化するが、実際にデータファイル暗号化送受信システムを実装する際には、その限りではない。
 なお、連結IDは、共通鍵暗号化方式で暗号化した共通鍵暗号化データ100と、検索可能暗号化方式で暗号化した検索可能暗号化データ200を対応付ける識別子である。なお、連結IDは、必ずしも暗号化する必要は低いため、平文データのまま2つの暗号化データの一方に添付してもよい。また、検索可能暗号化方式については、特許文献1等の公知又は周知の技術を適用すればよいので、本実施例では詳述しない。
 登録クライアント端末2は、共通鍵暗号化方式に従って生成した初期ベクトルと、生成した共通鍵で、平文のデータファイルから共通鍵暗号化データ100を生成する。また、登録クライアント端末2は、共通鍵暗号化方式で生成する暗号化データと、検索可能暗号化方式で生成する暗号化データを対応付けるための連結IDを生成する。
 本実施例では登録クライアント端末2が連結IDを生成する例を示すが、連結IDの発行は、データ管理サーバ1が行ってもよい。
 次に、登録クライアント端末2は、予め取得したユーザ秘密鍵で検索可能暗号化技術を適用し、確率的暗号化方式に従って共通鍵や連結IDや初期ベクトルやファイル名を含むデータから検索可能暗号化データ200を生成し、データ管理サーバ1に共通鍵暗号化データと検索可能暗号化データ200を登録する。
 ここで、確率的暗号化方式は、平文データから、同値関係及び大小関係が秘匿されたランダムな暗号化データを生成する暗号化のアルゴリズムである。確率的暗号化方式では、平文及び暗号文が一対多の対応関係を有する。
 また、データ管理サーバ1に登録するデータファイルのファイル名や、ユーザが任意で設定可能な検索用のキーワードなどを検索可能暗号化することによって、ファイル名やキーワードによる検索も可能である。
 検索クライアント端末3は、データ管理サーバ1から検索可能暗号化データ200を取得し、初期ベクトルと、共通鍵、連結IDを復号し、復号した初期ベクトルと共通鍵を使用して連結IDで特定した共通鍵暗号化データ100の復号を行う。
 なお、取得したいデータファイルのファイル名や、ユーザが任意で設定可能な検索用のキーワードなどが設定されている場合、それらのデータで検索可能暗号化データ200の検索も可能である。
 この場合、検索クライアント端末3は、確率的暗号化方式に従って検索キーワード(平文データのファイル名や任意のキーワード)から暗号化検索キーワードを生成し、出力用の暗号化検索キーワードを含む検索要求をデータ管理サーバ1に送信し、検索を実行することができる。
 <データ管理サーバ>
 図2は、データ管理サーバ1の構成の一例を示すブロック図である。データ管理サーバ1は、プロセッサ11と、メモリ12と、ストレージ装置13と、ネットワークインタフェース14を含む計算機である。
 ストレージ装置13には、共通鍵暗号化データ100と、検索可能暗号化データ200が格納される。共通鍵暗号化データ100は、暗号化文字列データ110を含む。検索可能暗号化データ200は、暗号化共通鍵130と、暗号化初期ベクトル140と、暗号化連結ID150を含む。共通鍵暗号化データ100と検索可能暗号化データ200はデータベース形式でストレージ装置13に格納される。
 メモリ12には、共通鍵暗号化データ100と検索可能暗号化データ200の管理を行うソフトウェアがロードされてプロセッサ11によって実行される。ストレージ装置13に格納された各データを管理するソフトウェアとしては、例えば、データベース管理システム等を採用することができる。
 ネットワークインタフェース14は、ネットワーク4に接続されて、1以上の登録クライアント端末2と、1以上の検索クライアント端末3に接続されて、データの登録や検索等の要求を受け付ける。
 データ管理サーバ1は、検索可能暗号技術を用いて、データ管理サーバ1内で復号できない形式で暗号化された検索可能暗号化データ200を格納する。
 データ管理サーバ1は、共通鍵暗号化方式で暗号化した共通鍵暗号化データ100と、検索可能暗号化方式で暗号化した検索可能暗号化データ200を格納し、また、検索要求に対応する共通鍵暗号化データ100と検索可能暗号化データ200を検索する。
 また、データファイルのヘッダーもしくは一部分と、それ以外の2つに分割し、ヘッダーもしくは一部分のみ検索可能暗号化し、データ管理サーバ1に格納してもよい。これによって、データ管理サーバ1は、セキュリティ性能を維持したまま、更に処理の高速化が可能となる。
 図1では、1つのデータ管理サーバ1を図示するが、検索可能暗号化データ200を格納してデータ内で復号せずにデータを出力するデータベースと、共通鍵暗号化データ100を格納し通常の暗号化技術が適用された(すなわち、暗号化されたデータが記憶装置に格納されるが、データセンタ内で復号化されたデータが出力される)データベースに物理的に分けてもよい。
 また、検索可能暗号化データ200を格納したデータベース内で復号せずに、データを出力するデータベース内でスキーマを分けて共通鍵暗号化データ100と、検索可能暗号化データ200を格納してもよい。
 <登録クライアント端末>
 図3は、登録クライアント端末2の構成の一例を示すブロック図である。登録クライアント端末2は、プロセッサ21と、メモリ22と、ストレージ装置23と、ネットワークインタフェース24と、入出力装置25を含む計算機である。
 メモリ22には、文字列変換部210と、鍵生成部220と、共通鍵暗号化部230と、検索可能暗号化部240と、連結ID生成部250と、通信部260がプログラムとしてロードされてプロセッサ21によって実行される。また、メモリ22には、予め設定された共通鍵生成ライブラリ430と、予め取得されたユーザ秘密鍵460が格納される。
 プロセッサ21は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ21は、文字列変換プログラムに従って処理を実行することで文字列変換部210として機能する。他のプログラムについても同様である。更に、プロセッサ21は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。なお、各機能部の詳細については、後述する。
 入出力装置25は、キーボードやマウス或いはタッチパネル等の入力装置と、ディスプレイ等の出力装置で構成される。ネットワークインタフェース24は、ネットワーク4に接続されて他の装置と通信を行う。
 <検索クライアント端末>
 図4は、検索クライアント端末3の構成の一例を示すブロック図である。検索クライアント端末3は、プロセッサ31と、メモリ32と、ストレージ装置33と、ネットワークインタフェース34と、入出力装置35を含む計算機である。
 メモリ32には、検索可能暗号復号部310と、共通鍵暗号復号部320と、文字列変換部330がプログラムとしてロードされてプロセッサ31によって実行される。また、メモリ32には、予め取得されたユーザ秘密鍵460が格納される。
 プロセッサ31は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ31は、検索可能暗号復号プログラムに従って処理を実行することで検索可能暗号復号部310として機能する。他のプログラムについても同様である。更に、プロセッサ31は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。なお、各機能部の詳細については、後述する。
 入出力装置35は、キーボードやマウス或いはタッチパネル等の入力装置と、ディスプレイ等の出力装置で構成される。ネットワークインタフェース34は、ネットワーク4に接続されて他の装置と通信を行う。
 <登録処理>
 図5は、本発明に係るデータファイルの登録処理の概要の一例を示す図である。図6は、データファイル暗号化送受信システムにおけるデータファイルの登録処理の一例を示すフローチャートである。以下、これらの図を参照して説明する。
 登録クライアント端末2は、文字列変換部210、共通鍵生成ライブラリ430、共通鍵暗号化部230、検索可能暗号化部240と、連結ID生成部250と、通信部260を有し、ユーザ秘密鍵460及びデータファイル410を保持する。データファイル410は、登録クライアント端末2のユーザが入力したデータである。
 文字列変換部210は、データファイル410を受け付けた後、データファイル410をBase64形式等の所定の文字列に変換し、平文の文字列データ420を生成する(図6のステップS1)。
 登録クライアント端末2は、新たにデータファイル410の文字列データ420を暗号化してデータ管理サーバ1に登録する場合、共通鍵暗号化データ100と検索可能暗号化データ200を対応付ける連結IDを発行する。本実施例では登録クライアント端末2が連結IDを生成する例を示すが、連結IDの発行は、データ管理サーバ1が行ってもよい。
 データファイル暗号化送受信システムは、高速性とセキュリティ性能の双方を維持するため、データ管理サーバ1に登録するデータの性質に応じて2つに分割し、一方の平文データを暗号化処理の速い共通鍵暗号化方式で暗号化し、他方の平文データを更にセキュリティ性能が高い検索可能暗号化方式で暗号化することを特徴とする。
 本実施例では、登録クライアント端末2が、入力されたデータファイル410を暗号化する際に、文字列データ420と、復号に必要な情報の2つに情報を分割し、文字列データ420を共通鍵で暗号化し、復号に必要な情報を検索可能暗号で暗号化する例を示したが、これに限定されるものではない。後述するように、文字列データ420の一部(キーワード)やデータファイル410のファイル名等を検索可能暗号で暗号化してもよい。
 入力されたデータファイル410を暗号化する際に、暗号化する情報をどのように分割して共通鍵暗号化と検索可能暗号化を適用するのかについては、登録クライアント端末2で予め設定しておけばよい。例えば、暗号化するデータを、第1の入力情報と第2の入力情報に分割して、第1の入力情報を共通鍵暗号化部230で暗号化し、第2の入力情報を検索可能暗号化部240で暗号化してもよい。
 本実施例では、登録クライアント端末2が、データファイル410の文字列データ420を共通鍵暗号化方式で暗号化し(図6のステップS2)、データファイル410の文字列データ420の暗号化に使用した初期ベクトル450と、共通鍵440と、連結ID120を検索可能暗号化方式で暗号化する(図6のステップS3)。
 そして、登録クライアント端末2は、共通鍵で暗号化された共通鍵暗号化データ100と、検索可能暗号化で暗号化された検索可能暗号化データ200をデータ管理サーバ1に登録する。なお、実際に本データファイル暗号化送受信システムを実装する際には上記に限定されるものではない。
 また、共通鍵暗号化データ100と検索可能暗号化データ200の分割の手法については、以下の手法を用いてもよい。登録クライアント端末2は、例えば、データファイル410のヘッダーもしくは一部分と、それ以外の2つに分割する(図6のステップS4)。
 登録クライアント端末2は、データファイル410のヘッダーもしくは文字列データ420の一部分、及び連結ID120を検索可能暗号化し(図6のステップS5)、暗号化された文字列データ420の一部と連結ID120を組としてデータ管理サーバ1に格納する。それ以外のデータは連結ID120(平文)と組として、データ管理サーバ1に格納する。これによって、セキュリティ性能を維持したまま、本実施例よりも更に高速化が可能となる。
 登録クライアント端末2は、入出力装置25を介してユーザからデータファイル410の登録指示を受け付けた場合、共通鍵暗号化方式に従って平文の文字列データ420から暗号化文字列データ110を生成する。具体的には、以下のような処理が実行される。
 登録クライアント端末2の鍵生成部220は、共通鍵生成ライブラリ430を用いて、毎回異なる共通鍵440と初期ベクトル450を生成する。鍵生成部220は、毎回異なる共通鍵440と初期ベクトル450を生成することで、一定の法則に基づかない方式で暗号化及び乱数化することを実現する。
 初期ベクトル450は、データファイル410の文字列データ420を暗号化する際に添加する一意な乱数(擬似乱数)であり、暗号化文字列を復号するために必要となるため、共通鍵440と同様にセキュリティ性能が高い検索可能暗号化方式で暗号化する方が好ましい。
 共通鍵暗号化部230は、初期ベクトル450及び共通鍵440を用いて文字列データ420を暗号化することによって、暗号化文字列データ110を含む共通鍵暗号化データ100を生成する。
 登録クライアント端末2は、検索可能暗号化方式に従って、平文で生成された共通鍵440と、初期ベクトル450及び連結ID120から、検索可能暗号化データ200を生成する(図6のステップS3)。具体的には、以下のような処理が実行される。
 検索可能暗号化部240は、検索可能暗号化技術を適用し、ユーザ秘密鍵460と擬似乱数及び準同型関数を用いたマスクによる確率的暗号化方式で、共通鍵440と、初期ベクトル450及び連結ID120を暗号化することによって、暗号化共通鍵130と、暗号化初期ベクトル140及び暗号化連結ID150を含む検索可能暗号化データ200を生成する。
 ユーザ秘密鍵460は、登録クライアント端末2及び検索クライアント端末3を使用するユーザ毎に予め割り当てられる。一度ユーザ秘密鍵460の受け渡しが完了した以降は、ユーザ秘密鍵460の送受信は発生しないため、ユーザ秘密鍵460が漏洩する危険性を抑制することが可能となる。
 連結ID生成部250は、共通鍵暗号化データ100と検索可能暗号化データ200を対応付けるための識別子として連結ID120を生成して、検索可能暗号化部240へ入力する。
 通信部260は、共通鍵暗号化部230で生成された共通鍵暗号化データ100と、検索可能暗号化部240で生成された検索可能暗号化データ200を組にしてデータ管理サーバ1へ送信し、登録する。
 本実施例では、暗号化共通鍵130と、暗号化初期ベクトル140と、暗号化連結ID150の組を検索可能暗号化データ200とする。
 登録クライアント端末2は、共通鍵暗号化データ100と検索可能暗号化データ200を組みにしてデータ管理サーバ1に送信する(図6のステップS6)。
 また、登録クライアント端末2は、予め属性情報(取得したいデータファイル410のファイル名や、ユーザに任意で設定が可能な検索用のキーワードなど)を検索可能暗号化してデータ管理サーバ1に登録しておくことによって、データ管理サーバ1ではファイル名やキーワードによる検索をも可能である。
 上記ステップS4、S5の処理は必須の処理ではないが、データファイル410の一部又は構成要素(キーワードや属性情報)を分割して検索可能暗号化データ200に含めることで、暗号化したままで検索を行うことが可能となる。
 <検索処理>
 図7は、本発明に係るデータファイル410の検索処理の概要を示す図である。図8は、本システムにおけるデータファイル410の検索処理の一例を示すフローチャートである。以下、これらの図を参照して説明する。
 データ管理サーバ1からのダウンロードは基本的にアップロードの手順と逆の処理を実行することで暗号化されたデータの復号を行う。
 検索クライアント端末3は、図4で示したように、文字列変換部330と、検索可能暗号復号部310と、共通鍵暗号復号部320とを有し、ユーザ秘密鍵460を保持する。
 データ管理サーバ1は、暗号化文字列データである共通鍵暗号化データ100と、暗号化共通鍵130と、暗号化初期ベクトル140及び暗号化連結ID150の組である検索可能暗号化データ200を保持する。
 検索クライアント端末3は、データ管理サーバ1から検索可能暗号化データ200を取得する。このとき、属性情報(取得したいデータファイル410のファイル名や、ユーザが任意で設定可能な検索用のキーワードなど)を検索可能暗号化しておくことによって、ファイル名やキーワードによる検索も可能である。
 検索クライアント端末3は、検索可能暗号復号部310で、取得した検索可能暗号化データ200を、ユーザ秘密鍵460を用いて復号する(図8のステップS11)。復号したデータには、共通鍵440、初期ベクトル450、連結ID120、設定されていた場合はファイル名などその他属性情報が含まれる。
 また、検索クライアント端末3は、データファイル410のヘッダーもしくは一部分を検索可能暗号化した場合も、上記と同様の手順で復号を行う。
 検索クライアント端末3の共通鍵暗号復号部320は、復号された連結ID120で共通鍵暗号化データ100を検索して取得し、取得した共通鍵暗号化データ100に対して、上記復号した共通鍵440と初期ベクトル450を用いて復号する。復号されたデータには、文字列データ420が含まれる。
 最後に、文字列変換部330は、文字列データ420からデータファイル410を生成する(図8のステップS12)。
 以上のように実施例1では、データ管理サーバ1に登録するデータの性質に応じて2つに分割し、一方のデータを暗号化処理の速い共通鍵暗号化方式で暗号化し、他方のデータを更にセキュリティ性能が高い検索可能暗号化方式で暗号化することで、処理の高速性とセキュリティ性能の双方を維持したデータファイルの暗号化と復号化と送受信が、専用のハードウェアを用いることなく、ソフトウェア処理のみよって実現できる。
 また、登録クライアント端末2は、毎回異なる共通鍵440と、暗号化する際に添加する一意な乱数(擬似乱数)である初期ベクトル450を生成し、共通鍵暗号化方式で暗号化する。そして、登録クライアント端末2は、検索可能暗号化技術を適用した、ユーザ秘密鍵460と擬似乱数及び準同型関数を用いたマスクによる確率的暗号化方式であり、同じデータやクエリでも、毎回異なる暗号文になる(一定の法則に基づかない)という性質がある。共通鍵暗号化方式と検索可能暗号化方式の組み合わせによって、暗号化したデータは全て乱数化されて高い安全性を確保することが可能となる。
 検索可能暗号化方式に使用するユーザ秘密鍵460は、登録クライアント端末2及び検索クライアント端末3を使用するユーザ毎に割り当てられ、一旦ユーザ秘密鍵460の受け渡しが完了した以降は、ユーザ秘密鍵の送受信が発生しないため、データ暗号化の度に乱数(擬似乱数)や乱数生成のための数値の送受信を行う従来技術と比較して、ユーザ秘密鍵460が漏洩する危険性を低下させることが可能となる。
 検索可能暗号化方式は、共通鍵暗号化方式を利用しており、登録クライアント端末2及び検索クライアント端末3は、自身が持つユーザ秘密鍵460で暗号化と復号が可能であるため、暗号化と復号の鍵が異なる公開鍵暗号方式では実現できなかったデータファイルの登録・検索・取得を同一のユーザで行うことが実現できる。
 また、登録クライアント端末2は、予め属性情報(取得したいデータファイル410のファイル名や、ユーザに任意で設定が可能な検索用のキーワードなど)を検索可能暗号化してデータ管理サーバ1に登録しておくことによって、データ管理サーバ1ではファイル名やキーワードによる検索が可能となる。
 図9は、実施例1の変形例を示し、登録クライアント端末2と検索クライアント端末3の機能を、ひとつのユーザ端末5で実現する例を示す。ユーザ端末5は、図示しないプロセッサとメモリと通信部をゆうする計算機である。
 ユーザ端末5は、上述の登録クライアント端末2と同様の機能を有する登録部20と、上述の検索クライアント端末3と同様の機能を有する検索部30を有し、当該ユーザ端末5のユーザに割り当てられたユーザ秘密鍵460で、暗号化と復号を実施する。その他の、構成については上述の実施例1と同様である。
 登録部20は、図3で示したように、文字列変換部210と、鍵生成部220と、共通鍵暗号化部230と、検索可能暗号化部240と、連結ID生成部250と、通信部260と、共通鍵生成ライブラリ430と、ユーザ秘密鍵460を有する。
 検索部30は、図4で示したように、検索可能暗号復号部310と、共通鍵暗号復号部320と、文字列変換部330と、ユーザ秘密鍵460を有する。
<実施例2>
 図10、図11は、本発明の実施例2を示す。本実施例では格納するデータの種類に応じて前記実施例1に示したデータ管理サーバ1を分割した例を示す。
 本実施例は、検索可能暗号化データ200をデータ管理サーバ1-1に格納し、共通鍵暗号化データ100をデータ管理サーバ1-2に分割して格納するものである。従って、これらに係る処理以外の構成については、上記実施例1と同様である。
 図10は、本実施例のデータファイル暗号化送受信システムの構成の一例を示すブロック図である。本実施例のデータファイル暗号化送受信システムは、前記実施例1の変形例に示したユーザ端末5と、データ管理サーバ1-1、1-2及びネットワーク4から構成される。
 データ管理サーバ1-1は、検索可能暗号技術を用いて、データ管理サーバ1-1内で復号できない形式で暗号化された検索可能暗号化データ200を格納する。データ管理サーバ1-2は、通常の平文データが格納されるデータベースを管理する。データ管理サーバ1-2は、通常の暗号化技術が適用された(すなわち、暗号化されたデータが記憶装置に格納されるが、データセンタ内で復号化されたデータが出力される)データベースを管理することができる。
 本実施例では、登録部20は、データファイル410を文字列データ420に変換してから共通鍵暗号化方式で暗号化して共通鍵暗号化データ100と連結ID120(平文)とを組にして、データ管理サーバ1-2に格納する。
 次に、データファイル410の暗号化に使用した共通鍵440を検索可能暗号化方式で暗号化し、連結ID120と組にしてデータ管理サーバ1-1の検索可能暗号化データ200に格納する。この場合、連結ID120を検索可能暗号化方式で暗号化してもよい。
 この連結ID120によって、データ管理サーバ1-1とデータ管理サーバ1-2に格納したデータを関連付けることができる。データ管理サーバ1-1に格納される暗号化共通鍵130は、共通鍵440を一定の法則に基づかない方式で暗号化(確率的暗号化方式)され、乱数化されている。
 また、暗号化、複合を行うユーザ秘密鍵460は、登録者・申請者が使用するユーザ端末5のみに保持されているため、データ管理サーバ1-1とデータ管理サーバ1-2に格納したデータは、データセンタ内で連結したとしてもデータファイル410を復号することはできず、実施例1よりも更に安全に管理することができる。
 また、データ管理サーバ1-2に加えて、データファイル410は、特開2015-187828号公報の情報管理システムを適用して、個人を特定できる情報と、それだけでは個人を特定できない情報とに分離して格納することで、より安全にデータを管理することができる。
 本実施例は、データ管理サーバ1-1(第1データベース)とデータ管理サーバ1-2(第2データベース)が一つもしくは複数のデータセンタ内に設けられる情報管理システムであって、データ管理サーバ1-1(第1データベース)は、検索可能暗号化技術を用いて、前記データセンタ内で復号できない形式で暗号化されたデータを格納し、データ管理サーバ1-2(第2データベース)は、データ管理サーバ1-1(第1データベース)に格納されるデータと関連付けられるデータを格納することを特徴とする。
 データ管理サーバ1-2に対象者を一意に表すIDと暗号化したデータファイル410を格納し、データ管理サーバ1-1に対象者を一意に表すIDと連結ID120を格納することで、閲覧権限を持つユーザでのみ暗号化したファイルを取得することができる。
 また、データファイル410のヘッダーもしくは一部分と、それ以外の2つに分割し、ヘッダーもしくは一部分は検索可能暗号化してデータ管理サーバ1-1に格納し、それ以外はデータ管理サーバ1-2に格納してもよい。
 データ管理サーバ1-1に格納されたデータは検索可能暗号化されて乱数(擬似乱数)となっており、データセンタ内で連結したとしても、データファイル410を復号することはできない。データファイル410の一部分のみ検索可能暗号化するため、セキュリティを維持したまま、データファイル410の全体を共通鍵で暗号化するよりもデータ登録・取得時の処理性能を向上させることができる。
 図11は、本実施例の、データファイル暗号化送受信システムで行われるデータファイル410の検索処理の一例を示すフローチャートである。
 ユーザ端末5は、データ管理サーバ1-1から検索可能暗号化データ200を取得した後、データ管理サーバ1-2から共通鍵暗号化データ100を取得してもよいし、データ管理サーバ1-2から共通鍵暗号化データ100を取得した後、データ管理サーバ1-1から検索可能暗号化データ200を取得してもよい。
 ステップS21、S22は、ユーザ端末5がデータ管理サーバ1-1から先にデータを取得する方法を示し、ステップS23、S24は、データ管理サーバ1-2から先にデータを取得する例を示す。いずれのデータ管理サーバ1-1、1-2から先にデータを取得するかは、ユーザ端末5で実行されるアプリケーションが選択して、各データ管理サーバ1-1、1-2へのリクエストの送信を制御する。
 また、データファイル410のヘッダーもしくは一部分と、それ以外の2つに分割し、ヘッダーもしくは一部分は検索可能暗号化した検索可能暗号化データ200をデータ管理サーバ1-1に格納し、それ以外はデータ管理サーバ1-2に格納した場合も同様である。
 まず、ステップS21、S22のように、ユーザ端末5がデータ管理サーバ1-1から先にデータを取得する例を示す。ユーザ端末5は、データ管理サーバ1-1から検索可能暗号化データ200をデータ管理サーバ1-1から取得する(S21)。ユーザ端末5は取得したいデータファイル410のファイル名や、ユーザに任意で設定が可能な検索用のキーワードなどを設定している場合、それらのデータでデータ管理サーバ1-1を検索することが可能である。
 ユーザ端末5は、取得した検索可能暗号化データ200を、ユーザ秘密鍵460を用いて復号する。復号したデータには、共通鍵440、初期ベクトル450、連結ID120、設定していた場合はファイル名などその他属性情報が含まれる(S21)。
 ユーザ端末5は、連結ID120に基づいて、共通鍵暗号化データ100を検索するようデータ管理サーバ1-2に指示する(S22)。データ管理サーバ1-2は、同じ連結ID120を含む共通鍵暗号化データを検索し、ユーザ端末5に送信する。
 ユーザ端末5は、送信された共通鍵暗号化データ100を、復号した共通鍵440と初期ベクトル450を用いてデータファイル410を復号する(ステップS25、S26)。
 一方、ユーザ端末5がデータ管理サーバ1-2から先にデータを取得する場合、ユーザ端末5は、リクエストをデータ管理サーバ1-2に送信し、検索処理によってデータ管理サーバ1-2に格納された共通鍵暗号化データ100を取得する(ステップS23)。
 また、データ管理サーバ1-1、1-2に対象者を一意に表すIDと暗号化したデータファイル410を格納し、データ管理サーバ1-2に対象者を一意に表すIDと連結ID120を格納した場合、閲覧権限を持つユーザでのみ暗号化したファイルを取得することができる。
 ユーザ端末5は、データ管理サーバ1-2から取得した連結ID120を用いて、リクエストをデータ管理サーバ1-1に送信し、検索処理によってデータ管理サーバ1-1に格納された検索可能暗号化データ200を取得する(ステップS24)。
 以上の処理により、ユーザ端末5の検索部30は、データ管理サーバ1-1、1-2に分割されて格納された検索可能暗号化データ200と共通鍵暗号化データ100を前記実施例1と同様に検索することが可能となる。
<実施例3>
 図12は、実施例3を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。本実施例は、前記実施例1の変形例に加えて、複数のユーザ端末5-1~5-3を加えて1つのデータファイル410を送受信する例を示す。その他の構成については、前記実施例1と同様である。
 本発明は、実際の業務において、例えばファイルサーバのように組織内でのファイルの共用を行う活用方法や、ピアツーピア的に、データファイル410を暗号化して送受信する活用方法が考えられる。この際、情報の漏洩を防ぐために、通信経路上とデータ管理サーバ1内では暗号化されている方が好ましい。
 従来の技術として、ファイルサーバでは、ファイルの検索のために、データセンタ内では平文で格納する方式や、データファイル410を暗号化したまま検索を可能にするために、ファイル名を平文、データファイル410を暗号化する方式が提案されている。
 上記の場合では、盗聴された際に平文のファイル名から、データファイル410を推測することが容易となり、セキュリティ面で課題がある。
 本実施例は、上記課題を解決し、セキュリティと実用性を保った複数のユーザと一つのデータファイル410の送受信を可能とする。本実施例のデータファイル暗号化送受信システムは、複数のユーザ端末5-1~5-3と、データ管理サーバ1から構成される。
 図12では1つのデータ管理サーバ1内に、検索可能暗号化データ200と共通鍵暗号化データ100を格納しているが、前記実施例2のようにデータ管理サーバ1を分割した形態でもよい。なお、以下の説明では、ユーザ端末を個々に識別しない場合には「-」以降を省略した符号「5」を用いる。その他の構成要素の符号についても同様である。
 ユーザ端末5-1~5-3は、ユーザ毎にユーザ秘密鍵460-1~460-3が予め配布されている。また。各ユーザ端末5は、前記実施例1の変形例で示したように、登録部20と検索部30(図示省略)を有している。
 ユーザ端末5は、共通鍵暗号化方式に従って平文の、データファイル410から共通鍵暗号化データ100を生成する。次に、検索可能暗号化技術を適用し、確率的暗号化方式に従って共通鍵を含むデータから検索可能暗号化データ200を生成し、データ管理サーバ1に共通鍵暗号化データ100と検索可能暗号化データ200を登録する。
 データ管理サーバ1に登録されたデータは、複数のユーザ端末5によって、検索、取得が可能である。
 通常の共通鍵暗号化方式では、同じ暗号化ファイルを複数人で共有するためには、暗号化に使用した共通鍵を関係者全員が管理する必要がある。
 例えば、組織内で同じ共通鍵を使用しており、その組織からデータ保有者が脱退した場合を想定すると、その者がデータを見ることができないよう新しい共通鍵を再発行して組織内に配布する必要があり、管理が煩雑になりやすい。
 一方、検索可能暗号化方式では、ユーザ毎に異なるユーザ秘密鍵460を使用しても同一ファイルの暗号化及び復号が可能である。
 本実施例では、ユーザ秘密鍵460と紐づけて、個人毎のアクセス権を付与することも可能である。脱退者のユーザ秘密鍵460を無効化することで、アクセス権を削除することが可能となり、煩雑な管理無しに、高いセキュリティ性能を確保することが可能となる。
<実施例4>
 図13は、本発明の実施例4を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。本実施例は、前記実施例1の変形例に加えて、ユーザ秘密鍵460を持たない新たなユーザ(ユーザ端末5-1)が暗号化したデータファイル410を既登録(登録者)のユーザがユーザ端末5-2でデータ管理サーバ1に登録する例を示す。
 本実施例では、前記実施例1の変形例の構成に、一時データベースサーバ500を加えたものである。その他の構成は、前記実施例1と同様である。なお、ユーザ端末5-1は予め配布された公開鍵470を保持し、ユーザ端末5-2は公開鍵470に対応する秘密鍵を保持する点が前記実施例1と相違する。
 検索可能暗号化方式に使用するユーザ秘密鍵460は、既登録(登録者)のユーザ毎に割り当てられる。
 個人情報を閲覧せず、データファイル410の登録を一方通行で行うユーザが多数いる状況を想定すると、これらのユーザに対して、ユーザ秘密鍵460をメール添付やUSBメモリなどの記憶媒体に格納して手渡しで配布することは現実的ではない。
 例えば、個人が、マイナンバーカードの画像を用いて、Webによるマイナンバー登録を行い口座開設するシステムなどが想定される。
 ユーザ秘密鍵460を持たないユーザが、データファイル410をデータ管理サーバ1に登録する仕組みが必要である。その際、データファイル410は安全性のため、通信経路上とデータ管理サーバ1内では暗号化されていることが望ましい。
 本実施例のデータファイル暗号化送受信システムは、ユーザ秘密鍵460を所持しないユーザ(申請者)が利用するユーザ端末5-1、ユーザ秘密鍵460を所持しているユーザ(登録者)が利用するユーザ端末5-2と、データ管理サーバ1と、一時データベースサーバ500及びネットワーク4から構成される。
 図13では一つのデータ管理サーバ1内に、検索可能暗号化データ200と共通鍵暗号化データ100を格納しているが、前記実施例2のようにデータ管理サーバ1を分割してもよい。
 一時データベースサーバ500は、通常の暗号化技術が適用された(すなわち、暗号化されたデータが記憶装置に格納されるが、データセンタ内では復号化されたデータが出力される)データベースである。
 一時データベースサーバ500は、共通鍵暗号化方式で暗号化された共通鍵暗号化データ100と、公開鍵暗号化方式で暗号化された公開鍵暗号化データ510を格納し、また、ユーザ端末5-2からのリクエストに対応して共通鍵暗号化データ100と公開鍵暗号化データ510を検索する。
 <登録処理>
 ユーザ秘密鍵460を持たないユーザを申請者とし、当該申請者はユーザ端末5-1を使用する。
 申請者のユーザ端末5-1は、平文のデータファイル410から前記実施例1と同様にして生成した共通鍵440と初期ベクトル450を用いて共通鍵暗号化方式に従って共通鍵暗号化データ100を生成する。
 次に、ユーザ端末5-1は、配布された公開鍵470を用いて公開鍵暗号化方式に従って、平文で生成された共通鍵440と、初期ベクトル450及び連結ID120から、公開鍵暗号化データ510を生成する。公開鍵は、安全性のため、システムごとに異なる公開鍵及び秘密鍵の使用や、毎回異なる公開鍵を使用することが好ましい。
 ユーザ端末5-1は、共通鍵暗号化データ100と公開鍵暗号化データ510を組みにして一時データベースサーバ500に登録する。
 ユーザ秘密鍵460を所持し、申請者のデータファイル410をデータ管理サーバ1に登録するユーザを登録者とし、登録者はユーザ端末5-2を使用する。
 登録者のユーザ端末5-2は、一時データベースサーバ500から公開鍵暗号化データ510と共通鍵暗号化データ100の組を取得する。
 ユーザ端末5-2は、取得した公開鍵暗号化データ510を、登録者が持つ秘密鍵480を用いて復号する。復号したデータには、共通鍵440と、初期ベクトル450と、連結ID120と、設定されていた場合はファイル名などその他属性情報が含まれる。
 ユーザ端末5-2は、検索可能暗号化方式に従って、復号した各データから前記実施例1と同様に、検索可能暗号化データ200を生成する。
 ユーザ端末5-2は、共通鍵暗号化データ100と検索可能暗号化データ200を組みにしてデータ管理サーバ1に登録する。
 以上の処理によって、申請者のユーザ端末5-1で公開鍵470を用いて共通鍵440と、初期ベクトル450及び連結ID120を暗号化し、登録者のユーザ端末5-2内で秘密鍵120を用いて復号することによって、通信経路上やデータ管理サーバ1内では暗号化データしか存在せず、登録者のユーザ端末5-2内でのみ暗号化と復号が可能となっているため、情報の漏洩リスクを軽減しながら機密を有するデータファイル410の送受信が可能となった。
<実施例5>
 実施例5は、前記実施例1の構成に操作履歴データベース530(図14参照)を加えて、データファイル410の申請と承認を行うワークフローシステムを提供する例を示す。操作履歴データベース530の他の構成については、前記実施例1と同様である。なお、本実施例では、前記実施例1のデータファイル暗号化送受信システムをワークフローシステムとして利用する例を示す。
 図14は、本実施例の、データファイル410の申請と承認を行うワークフローシステムの構成の一例を示すブロック図である。
 データファイル410を用いて業務を行う場合、ユーザ(登録者)はワークフローでデータファイル410を申請し、承認者による確認及び承認もしくは差し戻しをする業務が想定される。
 一般的に、データファイル410送受信に使用されるハイブリッド暗号は、公開鍵暗号化方式を用いており、暗号化の鍵と復号の鍵が異なるため、データファイル410を暗号化した人が、自身で復号することはできない。そのため、承認者から差し戻しがあった際に、登録者自身で、データファイル410を確認し、修正することはできないことが課題となる。
 登録者と承認者の間で、同一のデータファイル410の申請、確認、承認、修正を行う仕組みが必要である。その際、データファイル410は安全性のため、通信経路上とデータ管理サーバ1内では暗号化されていることが望ましい。
 本実施例のワークフローシステムは、ユーザ(登録者)が利用するユーザ端末5-1と、ユーザ(承認者)が利用するユーザ端末5-2と、データ管理サーバ1と、操作履歴データベース530と、各計算機を接続するネットワーク4から構成される。
 図14では一つのデータ管理サーバ1内に、検索可能暗号化データ200と共通鍵暗号化データ100を格納している例を示すが、前記実施例2のようにデータ管理サーバ1を分割してもよい。
 操作履歴データベース530は、検索可能暗号技術を用いて、データ管理サーバ1内で復号できない形式で暗号化された操作履歴データ540を格納する。また、本実施例では承認依頼を送信するユーザを登録者とし、承認依頼を確認し承認もしくは差し戻しするユーザを承認者とする。
 本実施例では、ユーザ端末5-1、5-2を使用するユーザ毎に、登録者又は承認者のどちらかの権限が設定される。登録者のユーザ端末5-1は、前記実施例1の手順で、データファイル410を暗号化して共通鍵暗号化データ100と検索可能暗号化データ200を生成してデータ管理サーバ1に送信し、登録の申請を行う。その際、暗号化されたデータ(共通鍵暗号化データ100と検索可能暗号化データ200)は承認待ちのステータスとなる。
 承認者のユーザ端末5-2は、データ管理サーバ1から承認待ちのステータスのデータを検索する。ユーザ端末5-2は、検索したデータを取得し、承認もしくは差し戻しを行う。ユーザ端末5-2が、承認すると暗号化データ(共通鍵暗号化データ100及び検索可能暗号化データ200)は承認ステータスとなり、差し戻しをすると、暗号化データのステータスは差し戻しとなる。この場合、一つの登録申請に対して承認者は複数存在してもよいし、一人でもよい。
 登録者のユーザ端末5-1は、差し戻しとなった暗号化データ(共通鍵暗号化データ100及び検索可能暗号化データ200)を、自身のユーザ秘密鍵460で復号し、確認及び修正を行い、再度承認依頼を送信する。
 登録者による登録申請と、承認者による承認、差し戻しなど全ての操作は、各ユーザ端末5が操作履歴データ540として、検索可能暗号化技術を適用して、検索可能暗号化してから操作履歴データベース530に登録される。
 以上のように、本実施例ではワークフローシステムに、検索可能暗号化技術を適用することよって、登録者及び承認者は、一人ひとり異なるユーザ秘密鍵460を所持していても、同一のデータファイル410を暗号化及び復号することが可能である。
 更に、検索可能暗号化技術は、同じデータやクエリでも、毎回異なる暗号文になる(一定の法則に基づかない)という性質があり、同じデータを複数回送受信したとしても、毎回異なる乱数となるため、安全性が高くなる。
<実施例6>
 実施例6は、前記実施例1、3、4を組み合わせて、個人(ユーザ)がデータファイル410を登録し、企業や団体がデータファイル410を活用するデータファイル暗号化送受信システムである。
 図15は、本実施例の個人が、データファイル410を登録し、企業や団体が活用するシステムの概要構成の一例を示す模式図である。
 個人データの利活用の可能性の拡大が進んでいる中、2020年に個人情報保護法の改正が行われた。改正法では、不正行為などをした法人への罰金の上限が引き上げられるなど、これまで以上に個人データを扱う企業の責任は重くなっている。多くの企業はこれまでの個人情報管理体制を見直し、現状に適した情報システムの活用を望んでいるといえる。
 本実施例は、個人の同意の取得を前提に、個人が自身の個人データを、インターネット等のネットワーク4を介して一時データベースサーバ500に登録し、その登録された個人データを安全な形で企業や団体が活用可能なデータファイル暗号化送受信システムである。
 本データファイル暗号化送受信システムの活用例として、日本全国に点在する患者の情報をクラウド上に収集するシステムが想定される。好ましくは、個人は患者であり、団体は医療機関であり、データファイル410は診療録(又は診療情報、医療情報)である。
 本データファイル暗号化送受信システムの活用例として、従業員の健診結果をクラウド上に収集し、面談登録などで従業員の健康を管理するシステムが想定される。この場合、好ましくは、個人は従業員であり、団体は産業医や保険医であり、データファイル410は健診結果である。
 本実施例は、患者情報を収集するデータファイル暗号化送受信システムを例とする。本実施例のデータファイル暗号化送受信システムは、ユーザ端末5-1~5-4と、データ管理サーバ1と、一時データベースサーバ500と、ネットワーク4から構成される。
 図15では一つのデータ管理サーバ1内に、検索可能暗号化データ200と共通鍵暗号化データ100を格納しているが、前記実施例2のようにデータ管理サーバ1を分割してもよい。
 診療録は、患者自身がユーザ端末5-1~5-2から登録し、申請者(患者)は公開鍵470を所持しているが、ユーザ秘密鍵460を所持しておらず、データ管理サーバ1の個人データを閲覧も行わないと想定する。
 前記実施例4と同様に、患者(申請者)が利用するユーザ端末5-1~5-22は、平文のデータファイル410(診療録)を暗号化処理の速い共通鍵暗号化方式で暗号化して共通鍵暗号化データ100を生成し、共通鍵440と初期ベクトル450と連結ID120を公開鍵暗号化方式で暗号化して公開鍵暗号化データ510を生成して、共通鍵暗号化データ100と公開鍵暗号化データ510を組にして一時データベースサーバ500に格納する。
 ユーザ端末5-3~5-4を使用するユーザは、データ管理サーバ1の登録者(医師)でありユーザ秘密鍵460を所持している。医師のユーザ端末5-3~5-4は、一時データベースサーバ500から公開鍵暗号化データ510と共通鍵暗号化データ100の組を取得し、公開鍵暗号化データ510を、登録者(医師)が所有する秘密鍵480を用いて復号し、共通鍵440と初期ベクトル450と連結ID120を生成する。
 ユーザ端末5-3~5-4は、検索可能暗号化方式に従ってユーザ秘密鍵460を用いて、復号した公開鍵暗号化データ510の共通鍵440と初期ベクトル450と連結ID120から、検索可能暗号化データを生成し、共通鍵暗号化データ100を合わせてデータ管理サーバ1に格納する。
 また、前記実施例5のように、患者が登録したデータ管理サーバ1の診療録(共通鍵暗号化データ100)を、複数の医師が閲覧・承認を行ってもよい。この場合、診療録は、医師が登録すると想定する。この場合は、前記実施例1と同様に、医師のユーザ端末5-3~5-4は、平文の診療録を共通鍵暗号化方式で暗号化し、共通鍵を検索可能暗号化方式で暗号化し、検索可能暗号技術を用いて、暗号化したデータをデータ管理サーバ1内で復号できない形式でデータ管理サーバ1に格納する。
 以上のように、本実施例では患者(ユーザ)がデータファイル410を登録し、企業や団体がデータファイル410を活用する際に、処理の高速性とセキュリティ性能の双方を維持してデータファイル410の暗号化と復号を実現することができる。
 <結び>
 以上のように、上記実施例のデータファイル暗号化送受信システムは、以下のような構成とすることができる。
 (1)プロセッサ(21)とメモリ(22)を有する計算機(登録クライアント端末2)が、入力されたデータファイル(410)を暗号化してネットワーク(4)を介して接続されたデータ管理サーバ(1)に登録するデータファイル暗号化システムであって、前記計算機(2)は、前記データファイル(410)を暗号化して前記データ管理サーバ(1)に登録する登録部(20)を有し、前記登録部(20)は、暗号化対象のデータファイル(410)を文字列データ(420)に変換する文字列変換部(210)と、共通鍵(440)を生成して、当該共通鍵(440)と前記文字列データ(420)を第1の入力情報と第2の入力情報に分割する鍵生成部(220)と、前記第1の入力情報を前記共通鍵(440)によって暗号化して共通鍵暗号化データ(100)を生成する共通鍵暗号化部(220)と、前記第2の入力情報を予め設定されたユーザ秘密鍵(460)を用いて検索可能暗号化によって暗号化して検索可能暗号化データ(200)を生成する検索可能暗号化部(240)と、前記共通鍵暗号化データ(100)と前記検索可能暗号化データ(200)の組を前記データ管理サーバ(1)に登録する通信部(260)と、を有することを特徴とするデータファイル暗号化システム。
 上記構成により、データ管理サーバ1に登録するデータの性質に応じて暗号化するデータを2つに分割し、一方のデータを暗号化処理の速い共通鍵暗号化方式で暗号化し、他方のデータを更にセキュリティ性能が高い検索可能暗号化方式で暗号化することで、処理の高速性とセキュリティ性能の双方を維持したデータファイルの暗復号化と送受信が、専用のハードウェアを用いることなく、ソフトウェア処理のみよって実現できる。
 (2)上記(1)に記載のデータファイル暗号化システムであって、前記計算機(2)は、前記データ管理サーバ(1)から前記共通鍵暗号化データ(100)と前記検索可能暗号化データ(200)を取得してデータファイル(410)に復号する検索部(30)をさらに有し、前記登録部(20)は、前記共通鍵暗号化データ(100)と検索可能暗号化データ(200)の組を対応付ける連結ID(120)を生成する連結ID生成部(250)をさらに有し、前記検索部(30)は、前記連結ID(120)を取得して前記データ管理サーバ(1)に格納された前記共通鍵暗号化データ(100)と前記検索可能暗号化データ(200)の組を特定し、当該特定した前記共通鍵暗号化データ(100)と前記検索可能暗号化データ(200)を取得することを特徴とするデータファイル暗号化システム。
 上記構成により、2つに分割された共通鍵暗号化データ100と検索可能暗号化データ200は、連結ID120を用いることで復号するデータを特定することができる。これにより、共通鍵暗号化データ100と検索可能暗号化データ200を異なる計算機に格納することも可能となる。
 (3)上記(2)に記載のデータファイル暗号化システムであって、前記鍵生成部(220)は、前記生成された連結ID(120)と前記共通鍵(440)を前記第2の入力情報に含め、前記生成された文字列データ(420)を前記第1の入力情報に含め、前記検索部(30)は、前記データ管理サーバ(1)から取得した前記検索可能暗号化データ(200)を、前記ユーザ秘密鍵(460)で復号して前記第2の入力情報から前記連結ID(120)と前記共通鍵(440)を取得する検索可能暗号復号部(310)と、前記検索可能暗号化データ(200)に対応する前記共通鍵暗号化データ(100)を前記連結ID(120)で前記データ管理サーバ(1)を検索し、前記連結ID(120)に該当する前記共通鍵暗号化データ(100)を取得し、前記復号された共通鍵(440)で前記共通鍵暗号化データ(100)を復号して文字列データ(420)を生成する共通鍵暗号復号部(320)と、前記文字列データ(420)からデータファイル(410)を生成する文字列変換部(320)と、を有することを特徴とするデータファイル暗号化システム。
 上記構成により、検索可能暗号化方式に使用するユーザ秘密鍵460は、登録クライアント端末2及び検索クライアント端末3を使用するユーザ毎に割り当てられ、一旦ユーザ秘密鍵460の受け渡しが完了した以降は、ユーザ秘密鍵の送受信が発生しないため、データ暗号化の度に乱数(擬似乱数)や乱数生成のための数値の送受信を行う従来技術と比較して、ユーザ秘密鍵460が漏洩する危険性を低下させることが可能となる。
 検索可能暗号化方式は、共通鍵暗号化方式を利用しており、登録クライアント端末2及び検索クライアント端末3は、自身が持つユーザ秘密鍵460で暗号化と復号が可能であるため、暗号化と復号の鍵が異なる公開鍵暗号方式では実現できなかったデータファイルの登録・検索・取得を同一のユーザで行うことが実現できる。
 (4)上記(3)に記載のデータファイル暗号化システムであって、前記計算機は、前記データ管理サーバ(1)に接続された第1の計算機(登録クライアント端末2)と第2の計算機(検索クライアント端末3)で構成され、前記第1の計算機(2)は、前記登録部(20)を有し、前記第2の計算機(3)は、前記検索部(30)を有することを特徴とするデータファイル暗号化システム。
 上記構成により、データファイル410を登録する登録クライアント端末2と、暗号化されたデータファイル410を利用する検索クライアント端末3は、検索可能暗号化方式に共通鍵暗号化方式を利用しているため、登録クライアント端末2及び検索クライアント端末3は、自身が保持する異なるユーザ秘密鍵460で暗号化と復号が可能となり、暗号化と復号の鍵が異なる公開鍵暗号方式では実現できなかったデータファイルの登録・検索・取得を同一のユーザで行うことが実現できる。
 (5)上記(3)に記載のデータファイル暗号化システムであって、前記鍵生成部(220)は、予め設定された鍵生成ライブラリ(430)を用いて、毎回異なる共通鍵(440)と、前記第1の入力情報を暗号化する際に添加する一意な擬似乱数である初期ベクトルを生成し、前記連結ID(120)と前記共通鍵(440)と前記初期ベクトル(450)を前記第2の入力情報に含め、前記共通鍵暗号化部(220)は、前記共通鍵(440)と前記初期ベクトル(450)を用いて前記第1の入力情報を暗号化し、前記検索可能暗号復号部(310)は、前記ユーザ秘密鍵(460)と擬似乱数及び準同型関数を用いたマスクによる確率的暗号化によって前記第2の入力情報を暗号化することを特徴とするデータファイル暗号化システム。
 上記構成により、登録クライアント端末2は、毎回異なる共通鍵440と初期ベクトル450を生成することで、一定の法則に基づかない方式で暗号化・乱数化することを実現する。検索可能暗号化方式は、ユーザ秘密鍵460と疑似乱数及び準同型関数を用いたマスクによる確率的暗号化方式であり、同じデータやクエリでも、毎回異なる暗号文になる(一定の法則に基づかない)という性質がある。これにより、暗号化したデータは全て乱数となり、通常のハイブリッド暗号よりも安全性が高い。
 (6)上記(4)に記載のデータファイル暗号化システムであって、前記第1の計算機(2)の前記検索可能暗号化部(240)は、共通鍵暗号化を利用して前記検索可能暗号化データ(200)を生成し、前記第2の計算機(3)の前記検索可能暗号復号部(310)は、前記第1の計算機(2)とは異なる前記ユーザ秘密鍵(460)で前記データ管理サーバ(1)から取得した前記検索可能暗号化データ(200)を復号することを特徴とするデータファイル暗号化システム。
 上記構成により、登録クライアント端末2及び検索クライアント端末3は、自身が保持するユーザ秘密鍵460で暗号化と復号が可能となる。これにより、登録クライアント及び検索クライアントは同一の計算機でもよいし、異なる計算機であってもよい。
 (7)上記(1)に記載のデータファイル暗号化システムであって、前記鍵生成部(220)は、前記データファイル(410)の名称又は属性情報を前記第2の入力情報に含めることを特徴とするデータファイル暗号化システム。
 上記構成により、登録クライアント端末2は、予め属性情報(取得したいデータファイル410のファイル名や、ユーザに任意で設定が可能な検索用のキーワードなど)を検索可能暗号化してデータ管理サーバ1に登録しておくことによって、データ管理サーバ1ではファイル名やキーワードによる検索が可能となる。
 (8)上記(3)に記載のデータファイル暗号化システムであって、前記データ管理サーバ(1)は、前記共通鍵暗号化データ(100)を格納する第1のデータ管理サーバ(1)と、前記検索可能暗号化データ(200)を格納する第2のデータ管理サーバ(1)で構成され、前記検索部(30)は、前記検索可能暗号復号部(310)で復号された連結ID(120)で前記第1のデータ管理サーバ(1)を検索して前記共通鍵暗号化データ(100)を取得することを特徴とするデータファイル暗号化システム。
 上記構成により、2つのサーバに分割して格納された共通鍵暗号化データ100と検索可能暗号化データ200は、連結ID120を用いることで復号するデータを特定することができる。
 (9)上記(3)に記載のデータファイル暗号化システムであって、前記ネットワークを介して前記計算機に接続されてデータを格納する一時データベースサーバ(500)をさらに有し、前記計算機は、予め配布された公開鍵(470)と前記登録部(20)を有する申請者端末(5-1)と、前記公開鍵(470)に対応する秘密鍵(480)が予め配布され、前記登録部(20)と前記検索部(30)を有する登録者端末(5-2)と、を含み、前記申請者端末(5-1)は、前記登録部(20)で前記データファイル(410)を共通鍵(440)によって暗号化して共通鍵暗号化データ(100)を生成し、前記共通鍵(440)と前記連結ID(120)を前記公開鍵(470)で暗号化して公開鍵暗号化データ(510)を生成し、前記一時データベースサーバ(500)に前記共通鍵暗号化データ(100)と前記公開鍵暗号化データ(510)を登録し、前記登録者端末(5-2)は、前記一時データベースサーバ(500)から前記共通鍵暗号化データ(100)と前記公開鍵暗号化データ(510)を取得して、前記秘密鍵(480)で前記公開鍵暗号化データ(510)を復号し、復号された前記共通鍵(440)と前記連結ID(120)を前記ユーザ秘密鍵(460)を用いて検索可能暗号化によって暗号化して検索可能暗号化データ(200)を生成し、前記データ管理サーバ(1)に前記共通鍵暗号化データ(100)と前記検索可能暗号化データ(200)を登録することを特徴とするデータファイル暗号化システム。
 上記構成により、申請者のユーザ端末5-1で公開鍵470を用いて共通鍵440と、初期ベクトル450及び連結ID120を暗号化し、登録者のユーザ端末5-2内で秘密鍵480を用いて復号することによって、通信経路上やデータ管理サーバ1内では暗号化データしか存在せず、登録者のユーザ端末5-2内でのみ暗号化と復号が可能となっているため、情報の漏洩リスクを軽減しながら機密を有するデータファイル410の送受信が可能となる。
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
 また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。

Claims (15)

  1.  プロセッサとメモリを有する計算機が、入力されたデータファイルを暗号化してネットワークを介して接続されたデータ管理サーバに登録するデータファイル暗号化送受信システムであって、
     前記計算機は、
     前記データファイルを暗号化して前記データ管理サーバに登録する登録部を有し、
     前記登録部は、
     暗号化対象のデータファイルを文字列データに変換する文字列変換部と、
     共通鍵を生成して、当該共通鍵と前記文字列データを第1の入力情報と第2の入力情報に分割する鍵生成部と、
     前記第1の入力情報を前記共通鍵によって暗号化して共通鍵暗号化データを生成する共通鍵暗号化部と、
     前記第2の入力情報を予め設定されたユーザ秘密鍵を用いて検索可能暗号化によって暗号化して検索可能暗号化データを生成する検索可能暗号化部と、
     前記共通鍵暗号化データと前記検索可能暗号化データの組を前記データ管理サーバに登録する通信部と、
    を有することを特徴とするデータファイル暗号化送受信システム。
  2.  請求項1に記載のデータファイル暗号化送受信システムであって、
     前記計算機は、
     前記データ管理サーバから前記共通鍵暗号化データと前記検索可能暗号化データを取得してデータファイルに復号する検索部をさらに有し、
     前記登録部は、
     前記共通鍵暗号化データと検索可能暗号化データの組を対応付ける連結IDを生成する連結ID生成部をさらに有し、
     前記検索部は、
     前記連結IDを取得して前記データ管理サーバに格納された前記共通鍵暗号化データと前記検索可能暗号化データの組を特定し、当該特定した前記共通鍵暗号化データと前記検索可能暗号化データを取得することを特徴とするデータファイル暗号化送受信システム。
  3.  請求項2に記載のデータファイル暗号化送受信システムであって、
     前記鍵生成部は、
     前記生成された連結IDと前記共通鍵を前記第2の入力情報に含め、前記生成された文字列データを前記第1の入力情報に含め、
     前記検索部は、
     前記データ管理サーバから取得した前記検索可能暗号化データを、前記ユーザ秘密鍵で復号して前記第2の入力情報から前記連結IDと前記共通鍵を取得する検索可能暗号復号部と、
     前記検索可能暗号化データに対応する前記共通鍵暗号化データを前記連結IDで前記データ管理サーバを検索し、前記連結IDに該当する前記共通鍵暗号化データを取得し、前記復号された共通鍵で前記共通鍵暗号化データを復号して文字列データを生成する共通鍵暗号復号部と、
     前記文字列データからデータファイルを生成する文字列変換部と、
    を有することを特徴とするデータファイル暗号化送受信システム。
  4.  請求項3に記載のデータファイル暗号化送受信システムであって、
     前記計算機は、
     前記データ管理サーバに接続された第1の計算機と第2の計算機で構成され、
     前記第1の計算機は、前記登録部を有し、
     前記第2の計算機は、前記検索部を有することを特徴とするデータファイル暗号化送受信システム。
  5.  請求項3に記載のデータファイル暗号化送受信システムであって、
     前記鍵生成部は、
     予め設定された鍵生成ライブラリを用いて、毎回異なる共通鍵と、前記第1の入力情報を暗号化する際に添加する一意な擬似乱数である初期ベクトルを生成し、前記連結IDと前記共通鍵と前記初期ベクトルを前記第2の入力情報に含め、
     前記共通鍵暗号化部は、
     前記共通鍵と前記初期ベクトルを用いて前記第1の入力情報を暗号化し、
     前記検索可能暗号復号部は、
     前記ユーザ秘密鍵と擬似乱数及び準同型関数を用いたマスクによる確率的暗号化によって前記第2の入力情報を暗号化することを特徴とするデータファイル暗号化送受信システム。
  6.  請求項4に記載のデータファイル暗号化送受信システムであって、
     前記第1の計算機の前記検索可能暗号化部は、
     共通鍵暗号化を利用して前記検索可能暗号化データを生成し、
     前記第2の計算機の前記検索可能暗号復号部は、
     前記第1の計算機とは異なる前記ユーザ秘密鍵で前記データ管理サーバから取得した前記検索可能暗号化データを復号することを特徴とするデータファイル暗号化送受信システム。
  7.  請求項1に記載のデータファイル暗号化送受信システムであって、
     前記鍵生成部は、
     前記データファイルの名称又は属性情報を前記第2の入力情報に含めることを特徴とするデータファイル暗号化送受信システム。
  8.  請求項3に記載のデータファイル暗号化送受信システムであって、
     前記データ管理サーバは、
     前記共通鍵暗号化データを格納する第1のデータ管理サーバと、
     前記検索可能暗号化データを格納する第2のデータ管理サーバで構成され、
     前記検索部は、
     前記検索可能暗号復号部で復号された連結IDで前記第1のデータ管理サーバを検索して前記共通鍵暗号化データを取得することを特徴とするデータファイル暗号化送受信システム。
  9.  請求項3に記載のデータファイル暗号化送受信システムであって、
     前記ネットワークを介して前記計算機に接続されてデータを格納する一時データベースサーバをさらに有し、
     前記計算機は、
     予め配布された公開鍵と前記登録部を有する申請者端末と、
     前記公開鍵に対応する秘密鍵が予め配布され、前記登録部と前記検索部を有する登録者端末と、を含み、
     前記申請者端末は、
     前記登録部で前記データファイルを共通鍵によって暗号化して共通鍵暗号化データを生成し、前記共通鍵と前記連結IDを前記公開鍵で暗号化して公開鍵暗号化データを生成し、前記一時データベースサーバに前記共通鍵暗号化データと前記公開鍵暗号化データを登録し、
     前記登録者端末は、
     前記一時データベースサーバから前記共通鍵暗号化データと前記公開鍵暗号化データを取得して、前記秘密鍵で前記公開鍵暗号化データを復号し、復号された前記共通鍵と前記連結IDを前記ユーザ秘密鍵を用いて検索可能暗号化によって暗号化して検索可能暗号化データを生成し、前記データ管理サーバに前記共通鍵暗号化データと前記検索可能暗号化データを登録することを特徴とするデータファイル暗号化送受信システム。
  10.  プロセッサとメモリを有する計算機が、入力されたデータファイルを暗号化してネットワークを介して接続されたデータ管理サーバに登録するデータファイル暗号化送受信方法であって、
     前記計算機が、前記データファイルを暗号化して前記データ管理サーバに登録する登録ステップを含み、
     前記登録ステップは、
     暗号化対象のデータファイルを文字列データに変換する文字列変換ステップと、
     共通鍵を生成して、当該共通鍵と前記文字列データを第1の入力情報と第2の入力情報に分割する鍵生成ステップと、
     前記第1の入力情報を前記共通鍵によって暗号化して共通鍵暗号化データを生成する共通鍵暗号化ステップと、
     前記第2の入力情報を予め設定されたユーザ秘密鍵を用いて検索可能暗号化によって暗号化して検索可能暗号化データを生成する検索可能暗号化ステップと、
     前記共通鍵暗号化データと前記検索可能暗号化データの組を前記データ管理サーバに登録する通信ステップと、
    を含むことを特徴とするデータファイル暗号化送受信方法。
  11.  請求項10に記載のデータファイル暗号化送受信方法であって、
     前記計算機が、前記データ管理サーバから前記共通鍵暗号化データと前記検索可能暗号化データを取得してデータファイルに復号する検索ステップをさらに含み、
     前記登録ステップは、前記共通鍵暗号化データと検索可能暗号化データの組を対応付ける連結IDを生成する連結ID生成ステップをさらに含み、
     前記検索ステップは、
     前記連結IDを取得して前記データ管理サーバに格納された前記共通鍵暗号化データと前記検索可能暗号化データの組を特定し、当該特定した前記共通鍵暗号化データと前記検索可能暗号化データを取得することを特徴とするデータファイル暗号化送受信方法。
  12.  請求項11に記載のデータファイル暗号化送受信方法であって、
     前記鍵生成ステップでは、
     前記生成された連結IDと前記共通鍵を前記第2の入力情報に含め、前記生成された文字列データを前記第1の入力情報に含め、
     前記検索ステップは、
     前記データ管理サーバから取得した前記検索可能暗号化データを、前記ユーザ秘密鍵で復号して前記第2の入力情報から前記連結IDと前記共通鍵を取得する検索可能暗号復号ステップと、
     前記検索可能暗号化データに対応する前記共通鍵暗号化データを前記連結IDで前記データ管理サーバを検索し、前記連結IDに該当する前記共通鍵暗号化データを取得し、前記復号された共通鍵で前記共通鍵暗号化データを復号して文字列データを生成する共通鍵暗号復号ステップと、
     前記文字列データからデータファイルを生成する文字列変換ステップと、
    を含むことを特徴とするデータファイル暗号化送受信方法。
  13.  請求項12に記載のデータファイル暗号化送受信方法であって、
     前記計算機は、前記データ管理サーバに接続された第1の計算機と第2の計算機で構成され、
     前記第1の計算機は、前記登録ステップを実行し、
     前記第2の計算機は、前記検索ステップを実行することを特徴とするデータファイル暗号化送受信方法。
  14.  請求項12に記載のデータファイル暗号化送受信方法であって、
     前記鍵生成ステップでは、
     予め設定された鍵生成ライブラリを用いて、毎回異なる共通鍵と、前記第1の入力情報を暗号化する際に添加する一意な擬似乱数である初期ベクトルを生成し、前記連結IDと前記共通鍵と前記初期ベクトルを前記第2の入力情報に含め、
     前記共通鍵暗号化ステップでは、
     前記共通鍵と前記初期ベクトルを用いて前記第1の入力情報を暗号化し、
     前記検索可能暗号復号ステップでは、
     前記ユーザ秘密鍵と擬似乱数及び準同型関数を用いたマスクによる確率的暗号化によって前記第2の入力情報を暗号化することを特徴とするデータファイル暗号化送受信方法。
  15.  請求項12に記載のデータファイル暗号化送受信方法であって、
     前記計算機は、予め配布された公開鍵と前記登録ステップを実行する申請者端末と、前記公開鍵に対応する秘密鍵を予め配布され、前記登録ステップと前記検索ステップを実行する登録者端末と、を含み、
     前記申請者端末は、
     前記データファイルを共通鍵によって暗号化して共通鍵暗号化データを生成し、前記共通鍵と前記連結IDを前記公開鍵で暗号化して公開鍵暗号化データを生成し、ネットワークを介して接続された一時データベースサーバに前記共通鍵暗号化データと前記公開鍵暗号化データを登録し、
     前記申請者端末は、
     ネットワークを介して接続された前記一時データベースサーバから前記共通鍵暗号化データと前記公開鍵暗号化データを取得して、前記秘密鍵で前記公開鍵暗号化データを復号し、復号された前記共通鍵と前記連結IDを前記ユーザ秘密鍵を用いて検索可能暗号化によって暗号化して検索可能暗号化データを生成し、前記データ管理サーバに前記共通鍵暗号化データと前記検索可能暗号化データを登録することを特徴とするデータファイル暗号化送受信方法。
PCT/JP2021/033576 2020-12-25 2021-09-13 データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 WO2022137668A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21909826.6A EP4270365A1 (en) 2020-12-25 2021-09-13 Data file encoding transmision/reception system, and data file encoding transmission/reception method
US18/036,023 US20240022397A1 (en) 2020-12-25 2021-09-13 Data file encryption and transmission/reception system and data file encryption and transmission/reception method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-216616 2020-12-25
JP2020216616A JP7325396B2 (ja) 2020-12-25 2020-12-25 データファイル暗号化送受信システム及びデータファイル暗号化送受信方法

Publications (1)

Publication Number Publication Date
WO2022137668A1 true WO2022137668A1 (ja) 2022-06-30

Family

ID=82157496

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/033576 WO2022137668A1 (ja) 2020-12-25 2021-09-13 データファイル暗号化送受信システム及びデータファイル暗号化送受信方法

Country Status (4)

Country Link
US (1) US20240022397A1 (ja)
EP (1) EP4270365A1 (ja)
JP (1) JP7325396B2 (ja)
WO (1) WO2022137668A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115865530A (zh) * 2023-02-22 2023-03-28 美云智数科技有限公司 文件管理方法、文件管理系统及计算机存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334496A (ja) * 1994-06-13 1995-12-22 Ricoh Co Ltd フォーマット変換方法及びフォーマット変換装置
JP2005011373A (ja) * 1995-12-14 2005-01-13 Cybercash Inc 電子転送システム及び方法
JP2006067412A (ja) 2004-08-30 2006-03-09 Chaosware Inc 暗号伝送システム、送信装置、受信装置、送信方法、受信方法、ならびに、プログラム
JP2009177304A (ja) 2008-01-22 2009-08-06 Jt Engineering Inc データファイル暗号化システム
JP2010061103A (ja) * 2008-05-30 2010-03-18 Nec (China) Co Ltd 高速検索可能な暗号化のための方法、装置およびシステム
WO2010047286A1 (ja) * 2008-10-20 2010-04-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索システム、検索方法およびプログラム
JP2012123614A (ja) 2010-12-08 2012-06-28 Hitachi Ltd 検索可能暗号処理システム
JP2013513834A (ja) * 2009-12-15 2013-04-22 マイクロソフト コーポレーション 信頼できるコンピューティングおよびデータサービスのための信頼できる拡張マークアップ言語
JP2015187828A (ja) 2014-03-13 2015-10-29 株式会社日立ソリューションズ 情報管理システム
WO2020003821A1 (ja) * 2018-06-29 2020-01-02 ソニー株式会社 情報処理システム、情報処理方法、および情報処理装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334496A (ja) * 1994-06-13 1995-12-22 Ricoh Co Ltd フォーマット変換方法及びフォーマット変換装置
JP2005011373A (ja) * 1995-12-14 2005-01-13 Cybercash Inc 電子転送システム及び方法
JP2006067412A (ja) 2004-08-30 2006-03-09 Chaosware Inc 暗号伝送システム、送信装置、受信装置、送信方法、受信方法、ならびに、プログラム
JP2009177304A (ja) 2008-01-22 2009-08-06 Jt Engineering Inc データファイル暗号化システム
JP2010061103A (ja) * 2008-05-30 2010-03-18 Nec (China) Co Ltd 高速検索可能な暗号化のための方法、装置およびシステム
WO2010047286A1 (ja) * 2008-10-20 2010-04-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索システム、検索方法およびプログラム
JP2013513834A (ja) * 2009-12-15 2013-04-22 マイクロソフト コーポレーション 信頼できるコンピューティングおよびデータサービスのための信頼できる拡張マークアップ言語
JP2012123614A (ja) 2010-12-08 2012-06-28 Hitachi Ltd 検索可能暗号処理システム
JP2015187828A (ja) 2014-03-13 2015-10-29 株式会社日立ソリューションズ 情報管理システム
WO2020003821A1 (ja) * 2018-06-29 2020-01-02 ソニー株式会社 情報処理システム、情報処理方法、および情報処理装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHRISTOPH BÖSCH ; PIETER HARTEL ; WILLEM JONKER ; ANDREAS PETER : "A Survey of Provably Secure Searchable Encryption", ACM COMPUTING SURVEYS, vol. 47, no. 2, 25 August 2014 (2014-08-25), US , pages 1 - 51, XP058055213, ISSN: 0360-0300, DOI: 10.1145/2636328 *
HOANG PHAM; JASON WOODWORTH; MOHSEN AMINI SALEHI: "Survey on Secure Search Over Encrypted Data on the Cloud", ARXIV.ORG, 24 November 2018 (2018-11-24), pages 1 - 19, XP080938409 *
KAZUO OTA: "Security of secret search encryption by common key cryptography", FINANCIAL RESEARCH, vol. 37, no. 1, 1 January 2018 (2018-01-01), JP, pages 43 - 88, XP009537920 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115865530A (zh) * 2023-02-22 2023-03-28 美云智数科技有限公司 文件管理方法、文件管理系统及计算机存储介质
CN115865530B (zh) * 2023-02-22 2023-07-07 美云智数科技有限公司 文件管理方法、文件管理系统及计算机存储介质

Also Published As

Publication number Publication date
JP7325396B2 (ja) 2023-08-14
US20240022397A1 (en) 2024-01-18
JP2022102086A (ja) 2022-07-07
EP4270365A1 (en) 2023-11-01

Similar Documents

Publication Publication Date Title
TWI725124B (zh) 決定用於資訊的安全交換的共同私密,及階層化的決定性加密金鑰
Timothy et al. A hybrid cryptography algorithm for cloud computing security
Samanthula et al. A secure data sharing and query processing framework via federation of cloud computing
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
US20150365385A1 (en) Method and apparatus for securing sensitive data in a cloud storage system
US10361840B2 (en) Server apparatus, search system, terminal apparatus, search method, non-transitory computer readable medium storing server program, and non-transitory computer readable medium storing terminal program
Mashima et al. Enhancing accountability of electronic health record usage via patient-centric monitoring
CN103078841A (zh) 一种预防性电子数据保全的方法及系统
US20220014367A1 (en) Decentralized computing systems and methods for performing actions using stored private data
JP6566278B1 (ja) パーソナルデータ管理システム
Sharma et al. RSA based encryption approach for preserving confidentiality of big data
US8220040B2 (en) Verifying that group membership requirements are met by users
US20210392003A1 (en) Decentralized computing systems and methods for performing actions using stored private data
CN109495497A (zh) 基于信誉度动态管理及国产密码算法隐私信息加密传输方法
JP6599066B1 (ja) 登録装置、サーバ装置、秘匿検索システム、秘匿検索方法、登録プログラムおよびサーバプログラム
Gowda et al. BPCPR-FC: blockchain-based privacy preservation with confidentiality using proxy reencryption and ring signature in fog computing environments
JP2013150026A (ja) データ処理システム及び秘匿化装置及び秘密鍵生成装置及び秘匿化方法及び秘密鍵生成方法及びプログラム
WO2022137668A1 (ja) データファイル暗号化送受信システム及びデータファイル暗号化送受信方法
Sujithra et al. ID based adaptive-key signcryption for data security in cloud environment
Luo et al. Accountable data sharing scheme based on blockchain and SGX
Purushothama et al. Secure cloud storage service and limited proxy re-encryption for enforcing access control in public cloud
Ma CPSec DLP: Kernel‐Level Content Protection Security System of Data Leakage Prevention
Salvakkam et al. An improved lattice based certificateless data integrity verification techniques for cloud computing
Devassy Research Project Questions
Narula et al. A Novel Review on Healthcare Data Encryption Techniques

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18036023

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021909826

Country of ref document: EP

Effective date: 20230725