WO2016103960A1 - 制御装置、解析装置、復号装置および送信装置 - Google Patents

制御装置、解析装置、復号装置および送信装置 Download PDF

Info

Publication number
WO2016103960A1
WO2016103960A1 PCT/JP2015/081892 JP2015081892W WO2016103960A1 WO 2016103960 A1 WO2016103960 A1 WO 2016103960A1 JP 2015081892 W JP2015081892 W JP 2015081892W WO 2016103960 A1 WO2016103960 A1 WO 2016103960A1
Authority
WO
WIPO (PCT)
Prior art keywords
secret key
data
attribute
encrypted
encryption
Prior art date
Application number
PCT/JP2015/081892
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 JP2016566025A priority Critical patent/JP6677653B2/ja
Publication of WO2016103960A1 publication Critical patent/WO2016103960A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Definitions

  • the present invention relates to a technique for controlling an object that can handle encrypted data.
  • Confidential information (for example, information for identifying an individual and information associated with the individual) is encrypted and strictly managed so as not to be leaked to a third party.
  • genome information is information that identifies an individual and is information that does not change permanently.
  • Patent Documents 1 to 6 are disclosed.
  • the encrypted information cannot be used at all.
  • genomic information in order to obtain information effective for treatment by analyzing genomic information, it is necessary to provide genomic information to a vendor who analyzes genomic information. The analysis result is required not only by the user but also in the hospital where the treatment is performed. Therefore, it is desired to reduce the possibility of leakage as much as possible while controlling the disclosure range of information to be concealed such as genome information and related information (analysis results and the like).
  • One of the objects of the present invention is to control the disclosure range while suppressing the possibility of leakage of information to be concealed and information related thereto.
  • the first homomorphic encryption data encrypted with the homomorphic encryption method that can be decrypted with the first secret key is decrypted with the second secret key to which a specific attribute is given.
  • Means for storing in the storage area is provided.
  • a means for storing in the storage area first encrypted data that uses at least the first secret key for decryption, and at least a part of the first secret key, Means for storing, in a storage area, first secret key encrypted data encrypted by an attribute-based encryption method that can be decrypted with a third secret key to which an attribute has been assigned; and the first encrypted data stored in the storage area; And a means for transmitting the first secret key encryption data to the decryption device.
  • means for obtaining a second secret key to which a predetermined attribute has been assigned, and a first homomorphic encryption encrypted with a homomorphic encryption method that can be decrypted with the first secret key Means for receiving, from the external device, first attribute encryption data encrypted by an attribute-based encryption method that can be decrypted with a second secret key to which a specific attribute is assigned, and the acquired secret key; A means for decrypting the received first attribute encryption data to obtain the first homomorphic encryption data, and an operation result obtained by a predetermined operation on the acquired first homomorphic encryption data, Means for transmitting to an external device.
  • means for obtaining a third secret key assigned with a predetermined attribute and first encrypted data using at least the first secret key for decryption are received from an external device.
  • Means and at least a part of the first secret key, the first secret key encryption data encrypted by an attribute-based encryption method that can be decrypted by a third secret key assigned with a specific attribute Means for receiving from the device; means for decrypting the first secret key encryption data with the acquired third secret key to acquire at least a part of the first secret key; and Means for decrypting the first cipher data using at least a part thereof.
  • a means for generating predetermined data and an encryption process including encryption in a homomorphic encryption method that can be decrypted with a first secret key with respect to the predetermined data A means for generating encrypted data and means for transmitting the encrypted data to the control device according to any one of claims 1 to 7, wherein the control device is based on the encrypted data.
  • a transmission device characterized in that the first attribute encrypted data to be stored in a storage area is obtained.
  • the disclosure range can be controlled while suppressing the possibility of leakage of information to be kept secret and information related thereto.
  • FIG. 1 is a block diagram showing a configuration of a data providing system in the first embodiment of the present invention.
  • the data providing system 1 has the following functions. Genome information is generated using the biological sample of the user.
  • “user” refers to a person (patient or the like) who provided a biological sample.
  • the generated genome information is encrypted and stored.
  • the encrypted genome information is subjected to arithmetic processing for analysis in an encrypted state without being decrypted.
  • the analyzed result is stored as encrypted. Then, the analysis result is decoded.
  • the data providing system 1 can execute arithmetic processing when an analyst (analysis operator) that performs arithmetic processing for analysis has a specific attribute, and also decodes the analysis result Decoding can be performed when the hospital to be converted (doctor belonging to the hospital) has a specific attribute. Specific conditions are defined by the user.
  • homomorphic encryption (Homomorphic Encryption). This is an encryption method having homomorphism.
  • homomorphic encryption an encryption method having homomorphism.
  • a predetermined operation can be performed without decrypting information.
  • calculation using a plurality of encrypted information is also possible. That is, as described above, it is possible to perform analysis by performing a predetermined calculation while the genome information is encrypted.
  • the homomorphic encryption will be briefly described.
  • the public key is pk
  • the secret key is sk.
  • the encryption function Epk is described as c ⁇ Epk (m).
  • the decryption function Dsk is described by m ⁇ Dsk (c).
  • Dsk (Epk (m 1 ) ⁇ Epk (m 2 )) m 1 + m 2
  • Dsk (Epk (m) u ) um Holds.
  • a known method such as modified-ElGamal encryption, Paillier encryption, modified-Paillier encryption may be used.
  • modified-ElGamal encryption for example, a known method such as modified-ElGamal encryption, Paillier encryption, modified-Paillier encryption may be used.
  • Specific examples are disclosed in the following documents, for example. Emmanuel Bresson, Dario Catalano, and David Pointcheval. "A Simple Public-Key Cryptosystem with a Double Trapdoor Decryption Mechanism and Its Applications" CS Laih (Ed.): ASIACRYPT 2003, LNCS 2894, pp. 37-54, 2003.
  • the partial decoding function Dska and the complete decoding function Dskb are described by ca ⁇ Dska (c) and m ⁇ Dskb (ca).
  • a technique based on a known threshold encryption method may be used. Specific examples are disclosed in the following documents, for example. Yvo Desmedt, and Yair Frankel. "Threshold cryptosystems"CRYPTO'89, LNCS435, pp. 307-315, 1990.
  • ciphertext policy attribute-based encryption (CP-ABE: “Ciphertext” Policy: “Attribute-Based Encryption”). This is encryption that enables decryption only in a secret key to which an attribute defined by a policy is assigned.
  • the policy is embedded in ciphertext (encrypted data).
  • a system public key pk and a master secret key mk are generated.
  • the ciphertext C ⁇ is output with the encrypted pk, the decryptable policy ⁇ , and the plaintext m as inputs.
  • the key generation pk, mk, and attribute information S are input, and a secret key sk S corresponding to S is output.
  • sk S ⁇ ABE_KeyGen (pk, mk, S)
  • the ciphertext with policy 1 specified can be decrypted only with the private key distributed (issued) to doctor 1.
  • the ciphertext in which the policy 2 is designated can be decrypted with the secret key distributed (issued) to the doctors 1 and 2.
  • attribute-based encryption ciphertext policy attribute-based encryption
  • attribute-based encryption As a specific configuration method of attribute-based encryption (ciphertext policy attribute-based encryption), a known attribute-based encryption technique may be used. Specific examples are disclosed in the following documents, for example. Vipul Goyal, Omkant Pandey, Amit Sahai, and Brent Waters. "Attribute-Based Encryption for Fine-Grained Access Control of Encrypted Data" ACM CCS 2006, pp. 89-96, 2006.
  • the data providing system 1 includes a cloud storage 10, a statistical analysis device 20 (statistical analysis devices 20-1, 20-2, 20-3,...), A hospital system 30 (hospital systems 30-1, 30-2,. ..), A gene analysis device 50, and a certification authority 80 which is a certification body.
  • a network NW such as the Internet or a communication line.
  • the ID card 40 is possessed by the user and used in the hospital system 30.
  • Each device constituting the data providing system 1 is a computer including an arithmetic processing unit such as a CPU, a memory, a user interface, and a communication module.
  • the CPU executes a program stored in the memory to realize a function of executing various processes described below.
  • the communication module is connected to the network NW under the control of the control unit, and exchanges information with other devices connected to the network NW.
  • each device may be provided in a state stored in a computer-readable recording medium such as a magnetic recording medium, an optical recording medium, a magneto-optical recording medium, or a semiconductor memory.
  • a computer-readable recording medium such as a magnetic recording medium, an optical recording medium, a magneto-optical recording medium, or a semiconductor memory.
  • each device may be provided with a device that reads the recording medium.
  • Each program may be downloaded via the network NW.
  • the cloud storage 10 includes a control device 12 and a database (DB) 14.
  • the control device 12 controls the registration and reading of various data in a predetermined recording area of the database 14.
  • the database 14 includes a storage device including a storage area in which various data received from an external device are registered in association with a user ID (sample ID converted from a patient ID described later).
  • the database 14 distributes and manages registered data in a plurality of storage devices. That is, the storage area is not limited to one storage device, and may be distributed among a plurality of storage devices.
  • the statistical analysis device 20 performs analysis by performing a predetermined calculation using the encryption data of the genome information registered in the database 14.
  • encrypted data of the user's environment information is also used for analysis.
  • the environmental information is information including, for example, the user's age, sex, clinical information (morbidity information, vital data, etc.) and lifestyle habits (drinking history, smoking history, etc.). Such information is registered by a user in a hospital system, for example.
  • an attribute is assigned to each analyst in advance, and a secret key corresponding to the attribute is distributed to each statistical analysis device 20.
  • the attribute is represented, for example, as a combination of an analyst's specialized field (oncology, internal medicine, etc.) and a tissue type (research institution, private sector, public organization, etc.)
  • the hospital system 30 includes a registration device 32 and a decryption device 34.
  • the registration device 32 registers information (for example, environment information) input from the user in the cloud storage 10.
  • the registration device 32 generates a key used in the homomorphic encryption method.
  • the generated key is a public key used for encryption and a secret key used for decryption.
  • the secret key is generated by being distributed into two, the distributed secret key S and the distributed secret key H.
  • the public key and the encrypted distributed secret key S are registered in the cloud storage 10.
  • the distributed secret key H is registered in the ID card 40 possessed by the user.
  • the registration of the distributed secret key H is executed, for example, via a device that can read and write data on the ID card 40.
  • the decryption device 34 obtains the result analyzed by the statistical analysis device 20 from the cloud storage 10 and decrypts it. At the time of decryption, the distributed secret key H registered in the ID card 40 is also used. This distributed secret key H is acquired by the decryption device 34 via a device capable of reading and writing data on the ID card.
  • the illustrated hospital systems 30-1, 30-2,... are used by different hospitals, but the functions of these systems are as described above, and there is no significant difference. Therefore, when it is not particularly necessary to distinguish between the hospital systems 30-1, 30-2,..., The hospital systems 30 will be collectively described.
  • an attribute is assigned in advance to a doctor who uses the hospital system 30, and a secret key corresponding to the attribute is distributed to each doctor and registered in the decryption device 34.
  • the attribute is represented, for example, as a combination of a hospital (doctor) specialty field (oncology, internal medicine, etc.), a doctor type (specialist, resident, etc.), and an organization type (general hospital, clinic, etc.).
  • the secret key corresponding to the attribute may not be registered in the decryption device 34 but may be registered in an ID card or the like possessed by the doctor. Such an ID card may be issued from the certificate authority 80.
  • a secret key may be registered in the ID card from the decryption device 34 via a device that can read and write data on the ID card.
  • the decryption device 34 reads the ID card and acquires the secret key.
  • the ID card 40 includes a nonvolatile memory and a connection unit that connects to an external device. As described above, the ID card 40 is connected to the registration device 32, and the distributed secret key H is registered in the nonvolatile memory.
  • the connection to the registration device 32 may be a wired connection or a wireless connection.
  • the gene analysis device 50 generates genome information by performing gene analysis using a user's biological sample.
  • a user's biological sample is sent from the hospital etc. which acquired the biological sample from the user to the gene analysis company in which the gene analyzer 50 is installed.
  • the gene analysis device 50 encrypts the generated genome information and registers it in the cloud storage 10.
  • the certificate authority 80 generates an attribute-based encryption master key (system public key, master secret key).
  • master key system public key, master secret key
  • two types of master keys are generated: a key for performing encryption processing corresponding to the attributes of the analyst and a key for performing encryption processing corresponding to the attributes of the doctor.
  • the master public key is registered in the cloud storage 10.
  • the master secret key is used to generate a secret key corresponding to the attribute based on the request of the analyst or doctor.
  • the secret key corresponding to the attribute is registered in the statistical analysis device 20 of the requester's analyst or registered in the registration device 32 used by the requester's doctor.
  • the data providing system 1 roughly includes a setup process, a storage commission process, and an analysis commission process. When these processes are completed, the information obtained by analyzing the user's genome information can be decoded and acquired by the user.
  • the setup process includes a key distribution process and a distributed secret key and policy registration process.
  • the key distribution process includes a master key generation process, a decryptor attribute-added secret key distribution process, and an analyzer attribute-added secret key distribution process.
  • the attribute private key distribution process is executed based on a request from an analyst or a doctor (decryptor). Therefore, every time an analyst or doctor who newly enters this system appears, a key distribution process is executed. It should be noted that the master key generation process is used for an entire system and is not generated many times.
  • FIG. 2 is a communication flow diagram illustrating master key generation processing in the first embodiment of the present invention.
  • the certificate authority 80 generates a master key (S101).
  • a system public key and a master secret key (mpk Rec , msk Rec ) for encryption based on the attribute-based encryption method (hereinafter, sometimes referred to as a decryption attribute-based encryption method) are generated.
  • Each system public key (mpk Anal , mpk Rec ) is transmitted to the cloud storage 10 (S103).
  • the cloud storage 10 registers the received system public key (mpk Anal , mpk Rec ) in a predetermined storage area of the database 14 (S105).
  • FIG. 3 is a communication flow diagram illustrating the distribution process of the private key with the decryptor attribute according to the first embodiment of the present invention.
  • This distribution process is executed when a doctor who uses the hospital system 30 makes a private key issuance application based on his / her attributes.
  • a secret key issuance application is transmitted from the decryption device 34 of the hospital system 30 (S111).
  • S111 decryption device 34 of the hospital system 30
  • data for certifying the attributes of the doctor who is the applicant is transmitted.
  • the decryption device 34 receives the decryptor attribute- added private key (sk SHy Rec ) and registers it in the memory of the decryption device 34 (S117). It may be registered in a doctor's ID card or the like, or may be registered in another memory or the like. Further, the secret key issuance application may be an application by a document or the like instead of an application from the decryption device 34. In this case, the issued secret key with decryptor attribute (sk SHy Rec ) may be distributed to the applicant in a state registered in a memory or an ID card.
  • FIG. 4 is a communication flowchart for explaining the distribution process of the private key with the analyzer attribute according to the first embodiment of the present invention.
  • This distribution process is executed when an analyst using the statistical analysis apparatus 20 applies for a secret key issuance based on its own attribute.
  • a secret key issuance application is transmitted from the statistical analysis device 20 (S121).
  • S121 statistical analysis device 20
  • data or the like that proves the attribute of the analyst who is the applicant is transmitted.
  • the statistical analysis device 20 receives the secret key with the analyzer attribute (sk SAx Anal ) and registers it in the memory of the statistical analysis device 20 (S127).
  • the secret key issuance application may not be an application from the statistical analysis apparatus 20, but may be an application using documents or the like.
  • the issued secret key with an analyzer attribute (sk SAx Anal ) may be distributed to the applicant in a state registered in a memory or an ID card.
  • FIG. 5 is a diagram showing data stored in each device of the data providing system after the key distribution process is completed. It is assumed that a secret key issuance application has been made from all of the illustrated statistical analysis apparatus 20 and hospital system 30. Data registered in each configuration is written in the vicinity of each configuration. The data added in the key distribution process is surrounded by a broken line. In FIG. 5, since all data is newly added, all data is surrounded by a broken line.
  • This process includes a distributed secret key generation and registration process, and a policy registration process.
  • FIG. 6 is a communication flow diagram illustrating the distributed secret key and policy registration process according to the first embodiment of the present invention.
  • the user connects the ID card 40 to the registration device 32 and transmits the patient ID (IDi) to the registration device 32 (S201).
  • IDi patient ID
  • S201 patient ID
  • the registration device 32 converts the patient ID (IDi) to generate the sample ID (IDj) (S203).
  • the specimen ID generated in this way can be made to function as an identifier while preventing the individual user from being specified.
  • the registration device 32 generates a public key (pk i ) for encrypting with a homomorphic encryption method and a secret key (sk i ) for decrypting encrypted data obtained by encrypting with the public key. To do.
  • This secret key (sk i ) is divided into two secret keys (distributed secret key S (sk i S ) and distributed secret key H (sk i H )) for distributed management between the hospital and the user. (S205).
  • the registration device 32 transmits the distributed secret key S (sk i S ) to the ID card 40 (S207), and is registered in the memory of the ID card 40 (S209).
  • the secret key may be divided into a larger number of distributed secret keys. In this case, different distributed secret keys may be registered in the memories of a plurality of ID cards.
  • the registration device 32 receives an input of policy settings from the user (S211).
  • the policies include an analyst policy ( ⁇ i Anal ) and a decryptor policy ( ⁇ i Rec ).
  • the analyst policy ( ⁇ i Anal ) is information that identifies a secret key to which an attribute that can be decrypted is assigned , among the secret keys with an analyst attribute (sk SAx Anal ) distributed to the statistical analysis device 20. is there.
  • the encrypted data to be decrypted here is data encrypted with the system public key (mpk Anal ).
  • the decryptor policy ( ⁇ i Rec ) is information that identifies a secret key to which a decryption-permitted attribute is given, among the decryptor attribute- added private keys (sk SHy Rec ) distributed to the decryption device 34. It is.
  • the encrypted data to be decrypted here is data encrypted with the system public key (mpk Rec ).
  • the registration device 32 stores the specimen ID (IDj), the public key (pk i ), the distributed secret key H (sk i H ), the analyst policy ( ⁇ i Anal ), and the decryptor policy ( ⁇ i Rec ) in the cloud storage 10. (S213).
  • the cloud storage 10 encrypts the received distributed secret key H (sk i H ) with the attribute-based encryption method (decryption attribute-based encryption method) using the decryptor policy ( ⁇ i Rec ) and the system public key (mpk Rec ). .
  • the cloud storage 10 generates secret key encryption data (ABE_Enc (mpk Rec , ski i H , ⁇ i Rec )) by this encryption (S215). Note that the encryption may be executed in the registration device 32. In this case, the registration device 32 reads the system public key (mpk Rec ) from the cloud storage 10 and uses it for encryption.
  • the cloud storage 10 includes secret key encryption data (ABE_Enc (mpk Rec , sk i H , ⁇ i Rec )), public key (pk i ), analyzer policy ( ⁇ i Anal ), and decryptor policy ( ⁇ i Rec ). Is registered in a predetermined storage area of the database 14 (S217). These data are registered in association with the specimen ID (IDj).
  • ABE_Enc secret key encryption data
  • pk i public key
  • ⁇ i Anal analyzer policy
  • decryptor policy ⁇ i Rec
  • FIG. 7 is a block diagram showing data stored in each device of the data providing system after the setup process is completed. Data added in the generation and registration processing of the distributed secret key and the policy registration processing, that is, data updated from the state shown in FIG. Note that the distributed secret key H (sk i H ) generated in the decryption device 34 is desirably deleted from the decryption device 34 when transmitted to the cloud storage 10.
  • the storage entrustment process includes an environmental information registration process and a genome information registration process.
  • FIG. 8 is a communication flow diagram for explaining the environment information registration process in the first embodiment of the present invention.
  • the user connects the ID card 40 to the registration device 32, transmits the patient ID (IDi) to the registration device 32 (S301), converts this to generate a sample ID (IDj) (S303).
  • This process is the same as S201 and S203 shown in FIG. Note that S301 and S303 are not necessary in the case of continuing with the flow of FIG.
  • the registration device 32 receives input of environment information (z i ) from the user (S305).
  • environment information (z i1 , z i2 ,... z id ′ ) ⁇ Z d ′ .
  • z ik p indicates that the k-th environmental factor of patient i (patient IDi) is p.
  • the environmental factors indicate age, sex, clinical information (affection information, vital data, etc.), lifestyle habits (drinking history, smoking history, etc.) and the like.
  • the registration device 32 reads the public key (pk i ) from the cloud storage 10 (S307), encrypts the environment information (z i ) with the homomorphic encryption method using the public key (pk i ), and stores the environment encryption data (Epk i (z ik )) is generated (S309).
  • the environment information (z i ) may be encrypted by the homomorphic encryption method in the cloud storage 10.
  • the registration device 32 transmits the specimen ID (IDj) and the environment encryption data (Epk i (z ik )) to the cloud storage 10 (S311).
  • the cloud storage 10 encrypts the received environment encryption data (Epk i (z ik )) with an attribute-based encryption method (analysis attribute-based encryption method) according to an analyst policy ( ⁇ i Anal ) and a system public key (mpk Anal ).
  • Cloud storage 10 environmental attributes encrypted data by the encryption (ABE_Enc (mpk Anal, Epk i (z ik), ⁇ i Anal)) to produce a (S313).
  • the encryption may be executed in the registration device 32.
  • the registration device 32 reads the system public key (mpk Anal ) from the cloud storage 10 and uses it for encryption.
  • the cloud storage 10 registers the environment attribute encryption data (ABE_Enc (mpk Anal , Epk i (z ik ), ⁇ i Anal )) in a predetermined storage area of the database 14 (S315). At this time, these data are registered in association with the specimen ID (IDj).
  • ABE_Enc mpk Anal , Epk i (z ik ), ⁇ i Anal
  • IDj specimen ID
  • the above process separately, sends a biological sample of the user taken in a hospital or the like (g i) to genetic analyzer 50 together with the sample ID (IDj) (Gene Analysis company) (S320).
  • FIG. 9 is a communication flow diagram illustrating the registration process of genome information in the first embodiment of the present invention.
  • the gene analysis device 50 performs gene analysis on the sent biological sample (g i ) (S321), and generates genome information (x i ) corresponding to the result (S323).
  • x i (x i1 , x i2 ,... x id ) ⁇ ⁇ 0, 1 ⁇ d .
  • x ik 1 indicates that the k-th genetic factor of patient i (patient IDi) is retained.
  • x ik 0 indicates that the k-th genetic factor of patient i (patient IDi) is not retained.
  • the gene analysis device 50 reads the public key (pk i ) from the cloud storage 10 (S325), encrypts the genome information (x i ) using the public key (pk i ) by the homomorphic encryption method, Data (Epk i (x ik )) is generated (S327).
  • the genome information (x i ) may be encrypted by the homomorphic encryption method in the cloud storage 10. Further, the genome information (x i ) is deleted from the gene analyzer 50.
  • the gene analysis device 50 transmits the specimen ID (IDj) and the genome encryption data (Epk i (x ik )) to the cloud storage 10 (S329).
  • the cloud storage 10 encrypts the received genome encryption data (Epk i (x ik )) with the attribute-based encryption method (analysis attribute-based encryption method) according to the analyst policy ( ⁇ i Anal ) and the system public key (mpk Anal ).
  • Cloud storage 10 genomic attribute encrypted data by the encryption (ABE_Enc (mpk Anal, Epk i (x ik), ⁇ i Anal)) to produce a (S331).
  • the encryption may be executed in the registration device 32.
  • the gene analysis device 50 reads the system public key (mpk Anal ) and the analyst policy ( ⁇ i Anal ) from the cloud storage 10 and uses them for encryption.
  • Cloud storage 10 genomic attribute encrypted data (ABE_Enc (mpk Anal, Epk i (x ik), ⁇ i Anal)) to register in a predetermined storage area of the database 14 (S333). This data is registered in association with the sample ID (IDj).
  • FIG. 10 is a diagram illustrating the contents of data stored in each device of the data providing system after the storage entrustment process is completed.
  • Data added in the storage entrustment process that is, data updated from the state shown in FIG. 7 is surrounded by a broken line.
  • the genome encryption data (Epk i (x ik )) generated in the gene analysis device 50 is deleted from the gene analysis device 50 when transmitted to the cloud storage 10.
  • genomic attribute encrypted data registered in the database 14 (ABE_Enc (mpk Anal, Epk i (x ik), ⁇ i Anal)) and environmental attributes encrypted data (ABE_Enc (mpk Anal, Epk i (z ik), ⁇ i Anal)) using a process to outsource the analysis of genetic information (analysis commissioned processing) will be described.
  • the analysis commissioning process includes an analysis result registration process.
  • FIG. 11 is a communication flowchart for explaining analysis result registration processing according to the first embodiment of the present invention.
  • a specimen ID (IDj) indicating an analysis target of genome information is transmitted from the registration device 32 (S401).
  • the method for designating the analysis target is not limited to transmission from the registration device 32, but may be any other method as long as it can identify the sample ID (IDj).
  • Statistical analysis apparatus 20 may be of genomic attribute encrypted data associated with the sample ID (IDj) (ABE_Enc (mpk Anal, Epk i (x ik), ⁇ i Anal)) and environmental attributes encrypted data (ABE_Enc (mpk Anal, Epk i (Z ik ), ⁇ i Anal )) is read from the cloud storage 10 (S403).
  • Statistical analysis apparatus 20 may be of genomic attribute encrypted data (ABE_Enc (mpk Anal, Epk i (x ik), ⁇ i Anal)) and environmental attributes encrypted data (ABE_Enc (mpk Anal, Epk i (z ik), ⁇ i Anal) ) Is decrypted (S405).
  • ABE_Enc mpk Anal, Epk i (x ik), ⁇ i Anal
  • ABE_Enc mpk Anal, Epk i (z ik), ⁇ i Anal)
  • Is decrypted S405
  • a secret key with an analyzer attribute sk SAx Anal
  • the decryption is possible.
  • the conditions are not met, the decryption is impossible.
  • a hospital issues an analysis request to a certain analyst, it cannot be decrypted unless it is an analyst's statistical analysis device 20 having an attribute that satisfies the policy conditions set by the user.
  • genome encryption data (Epk i (x ik )) and environment encryption data (Epk i (z ik )) are obtained.
  • the statistical analysis apparatus 20 performs a statistical analysis process using the genome encryption data (Epk i (x ik )) and the environment encryption data (Epk i (z ik )) (S407).
  • w x and w z are parameters previously stored by the analyst (statistical analysis device 20).
  • the statistical analysis device 20 decrypts the data encrypted by the analysis attribute-based encryption method, but performs the calculation with the encryption data of the homomorphic encryption method obtained thereby. Further, since the statistical analysis device 20 cannot obtain the keys for decrypting the encrypted data (the distributed secret key S (sk i S ) and the distributed secret key H (sk i H )), the genome information and You cannot know the contents of environmental information. Note that the statistical analysis processing is not limited to such a calculation method, and various calculation methods can be employed. In addition, the statistical analysis apparatus 20 is prepared to perform a predetermined calculation process on the genome encryption data (Epk i (x ik )) without using the environment encryption data (Epk i (z ik )). Also good.
  • the statistical analysis apparatus 20 transmits the sample ID (IDj) and the analysis result encrypted data (c i ) to the cloud storage 10 (S409).
  • the cloud storage 10 encrypts the received analysis result encrypted data (c i ) by the decryption attribute-based encryption method using the decrypter policy ( ⁇ i Rec ) and the system public key (mpk Rec ).
  • Cloud storage 10 generates the analysis result attribute encrypted data by the encryption (ABE_Enc (mpk Rec, c i , ⁇ i Rec)) (S411).
  • the encryption may be executed in the statistical analysis device 20.
  • the statistical analysis apparatus 20 reads the system public key (mpk Rec ) and the decryptor policy ( ⁇ i Rec ) from the cloud storage 10 and uses them for encryption. Then, the analysis result attribute encryption data (ABE_Enc (mpk Rec , c i , ⁇ i Rec )) is transmitted as a calculation result of the statistical analysis device 20.
  • Cloud storage 10 the analysis result attributes encrypted data (ABE_Enc (mpk Rec, c i , ⁇ i Rec)) to register in a predetermined storage area of the database 14 (S413). This data is registered in association with the sample ID (IDj).
  • FIG. 12 is a diagram showing the contents of data stored in each device of the data providing system after the analysis commissioning process is completed. Data added in the analysis commissioning process, that is, data updated from the state shown in FIG. 10 is surrounded by a broken line. The analysis result encrypted data (c i ) generated in the statistical analysis device 20 is deleted from the statistical analysis device 20 when transmitted to the cloud storage 10.
  • FIG. 13 is a communication flowchart for explaining the analysis result decoding process according to the first embodiment of the present invention.
  • the user connects the ID card 40 to the decryption device 34, transmits the patient ID (IDi) to the decryption device 34 (S501), converts it, and generates a sample ID (IDj) (S503).
  • Decoder 34 based on the generated sample ID (IDj), analysis associated with this result attributes encrypted data (ABE_Enc (mpk Rec, c i , ⁇ i Rec)) and a private key encrypted data (ABE_Enc (mpk Rec, sk i H , ⁇ i Rec )) is read from the cloud storage 10 (S505).
  • Decoder 34 first decodes the analysis result attribute encrypted data (ABE_Enc (mpk Rec, c i , ⁇ i Rec)) and a private key encrypted data (ABE_Enc (mpk Rec, sk i H, ⁇ i Rec)) (S507).
  • a secret key with a decryptor attribute sk SHy Rec ) distributed in advance from the certificate authority 80 is used.
  • Decryption is possible when the attribute of the decryptor assigned to the secret key satisfies the condition of the decryptor policy ( ⁇ i Rec ).
  • the condition is not satisfied, decryption cannot be performed.
  • the decryption device 34 is used by a doctor having an attribute that satisfies the policy conditions set by the user.
  • the decryption device 34 reads out the distributed secret key S (sk i S ) registered in the ID card 40 from the ID card 40 (S509).
  • an analysis result (f (x i , z i )) is obtained.
  • the distributed secret key H (ski i H ) registered in the decryption device 34 (or the doctor's ID card) and the distributed secret key S (sk i S ) read from the ID card 40 are used.
  • the decrypting device 34 outputs the analysis result (f (x i , z i )) to the external recording medium (S513).
  • the external recording medium may be a recording medium such as a memory of the ID card 40, an external memory, or paper. The user or doctor can know the analysis result via the external recording medium.
  • FIG. 14 is a block diagram illustrating functions of the data providing system according to the first embodiment of the present invention.
  • a registration control unit 121 and an attribute-based encryption unit 123 are realized in the control device 12 of the cloud storage 10.
  • a system public key storage area 141 and an ID storage area 143 are realized in the database 14 of the cloud storage 10.
  • a communication unit 16 is realized in the cloud storage 10.
  • the communication unit 16 is an interface for connecting the control device 12 to the network NW and transmitting / receiving various information.
  • the registration control unit 121 registers various information in a predetermined storage area (system public key storage area 141, ID-specific storage area 143) of the database 14, and reads various information registered in the database 14 from each device. Send on request.
  • the processing by the registration control unit 121 corresponds to S105, S217, S307, S315, S325, S333, S403, S413, and S505.
  • the attribute-based encryption unit 123 encrypts predetermined information using an attribute-based encryption method.
  • the process by the attribute-based encryption unit 123 corresponds to each process of S215, S313, and S411.
  • the system public key storage area 141 is an area for storing a system public key (mpk Anal ) registered by the registration control unit 121.
  • the ID-specific storage area 143 includes a public key (pk i ), an analyst policy ( ⁇ i Anal ), a decryptor policy ( ⁇ i Rec ), a secret, which are registered in association with the specimen ID (IDj) by the registration control unit 121.
  • ABE_Enc key encryption data
  • ABE_Enc mpk Rec, sk i H, ⁇ i Rec
  • genome attribute encryption data ABE_Enc (mpk Anal, Epk i (x ik), ⁇ i Anal)
  • environment attributes encrypted data ABE_Enc (mpk Anal , Epk i (z ik ), ⁇ i Anal )
  • analysis result attribute encryption data ABE_Enc (mpk Rec , c i , ⁇ i Rec )).
  • the secret key storage unit 203 stores a secret key with an analyzer attribute (sk SAx Anal ).
  • the attribute-based decryption unit 205 decrypts predetermined encrypted data encrypted by the attribute-based encryption method.
  • the predetermined encrypted data genomic attribute encrypted data (ABE_Enc (mpk Anal, Epk i (x ik), ⁇ i Anal)) and environmental attributes encrypted data (ABE_Enc (mpk Anal, Epk i (z ik), ⁇ i Anal )).
  • the processing by the attribute-based decoding unit 205 corresponds to the processing in S405.
  • the calculation unit 207 performs statistical analysis processing using the data (genome encryption data (Epk i (x ik )) and environment encryption data (Epk i (z ik ))) decrypted by the attribute-based decryption unit 205. Do.
  • the processing by the calculation unit 207 corresponds to the processing in S407.
  • a key generation unit 321, a policy setting unit 323, an environment information generation unit 325, and a homomorphic encryption unit 327 are realized.
  • a secret key storage unit 341, an attribute-based decryption unit 343, a homomorphic decryption unit 345, and an analysis result output unit 347 are realized.
  • a card communication unit 36 and a communication unit 38 are realized.
  • the card communication unit 36 is an interface for connecting an external device including the ID card 40 to the registration device 32 and the decryption device 34 to transmit / receive various information.
  • the communication unit 38 is an interface for connecting the registration device 32 and the decryption device 34 to the network NW to transmit / receive various information.
  • the key generation unit 321 generates a public key (pk i ) and a secret key (sk i ) (a distributed secret key S (sk i S ) and a distributed secret key H (sk i H )) in the homomorphic encryption method.
  • the processing in the key generation unit 321 corresponds to S205.
  • the policy setting unit 323 sets an analyzer policy ( ⁇ i Anal ) and a decryptor policy ( ⁇ i Rec ) according to an instruction from the user.
  • the process of the policy setting unit 323 corresponds to S211.
  • the environment information generation unit 325 generates environment information (z i ) according to a user instruction.
  • the processing in the environment information generation unit 325 corresponds to S305.
  • the homomorphic encryption unit 327 reads the public key (pk i ) from the cloud storage 10 and encrypts predetermined information using the homomorphic encryption method.
  • the predetermined information is environmental information (z i ).
  • the processing in the homomorphic encryption unit 327 corresponds to S307 and S309.
  • the secret key storage unit 341 stores a decryptor attribute- added secret key (sk SHy Rec ) distributed from the certificate authority 80.
  • the attribute-based decryption unit 343 decrypts predetermined encrypted data encrypted by the attribute-based encryption method.
  • the predetermined encrypted data an analysis result attributes encrypted data (ABE_Enc (mpk Rec, c i , ⁇ i Rec)) and a private key encrypted data (ABE_Enc (mpk Rec, sk i H, ⁇ i Rec)).
  • the process by the attribute-based decryption unit 343 corresponds to S507.
  • the homomorphic decryption unit 345 decrypts predetermined encrypted data encrypted by the homomorphic encryption method.
  • the process by the homomorphic decoding unit 345 is S511.
  • the analysis result output unit 347 outputs the analysis result (f (x i , z i )) to an external recording medium.
  • the analysis result (f (x i , z i )) is data obtained by the homomorphic decoding unit 345.
  • the processing by the analysis result output unit 347 corresponds to S513.
  • ID card 40 In the ID card 40, a communication unit 401, a secret key storage unit 403, and a patient ID storage unit 405 are connected to the card communication unit 36 to transmit and receive various types of information.
  • the secret key storage unit 403 stores the distributed secret key S (sk i S ) generated by the secret key generation unit 321.
  • the patient ID storage unit 405 stores a patient ID (IDi).
  • a communication unit 501 for performing gene analysis on the biological sample (g i ).
  • the processing in the gene analysis unit 503 corresponds to S321 and S323.
  • the homomorphic encryption unit 505 reads the public key (pk i ) from the cloud storage 10 and encrypts predetermined information using the homomorphic encryption method.
  • the predetermined information is genome information (x i ).
  • the processing in the homomorphic encryption unit 505 corresponds to S325 and S327.
  • the certificate authority 80 implements a communication unit 801, a master key generation unit 803, a master key storage unit 805, and a secret key generation unit 807 for connecting the certificate authority 80 to the network NW to transmit and receive various types of information.
  • a master key generation unit 803 generates a master key used in the entire system.
  • the master key includes a system public key (mpk Anal ) of an attribute-based encryption method based on an analyzer attribute, a master secret key (msk Anal ), and a system public key (mpk) of an attribute-based encryption method based on a decryptor attribute Rec ), the master secret key (msk Rec ).
  • the processing in the master key generation unit 803 corresponds to S101.
  • the master key storage unit 805 stores the master key generated by the master key generation unit 803. It is sufficient that at least the master secret key (msk Anal ) and the master secret key (msk Rec ) are stored instead of all the master keys.
  • the secret key generation unit 807 generates a secret key with a decryptor attribute (sk SHy Rec ) using a master secret key (msk Anal ) based on an application from an external device (for example, the gene analysis device 20 and the decryption device 34). Alternatively , a secret key with analyzer attribute (sk SAx Anal ) is generated using the master secret key (msk Rec ).
  • the processing in the secret key generation unit 807 corresponds to S113 and S123. The above is the description of the functional configuration of the data providing system 1.
  • policies analyzer policy ( ⁇ i Anal ) and decryptor policy ( ⁇ i Rec )
  • the number of analysts who can perform statistical analysis processing based on genome information and environmental information can be limited.
  • the statistical analysis process can be executed without the analyst knowing the contents of the genome information and the environment information.
  • P ⁇ Q policies are required.
  • P + Q It can be expressed by individual policies.
  • the person policy ( ⁇ i Rec ) is not registered in the database 14.
  • H (sk i H )
  • the process of S411 may not be performed.
  • the database 14, the analysis result attributes encrypted data (ABE_Enc (mpk Rec, c i , ⁇ i Rec)) analysis results encrypted data instead is registered (c i Epk i (f (x i, z i)) Is registered as the calculation result of the statistical analysis device 20.
  • the decryptor policy ( ⁇ i Rec ) may not be registered in the database 14.
  • the secret key (sk i ) is not divided into the distributed secret key S (sk i S ) and the distributed secret key H (sk i H ), and the secret key (sk i ) is used as it is.
  • the distributed secret key H (sk i H ) of the first embodiment corresponds to the secret key (sk i ), and there is a distributed secret key S (sk i S ) registered in the ID card 40. You should not do it.
  • the secret key encryption data (ABE_Enc (mpk Rec , ski i H , ⁇ i Rec )) registered in the database 14 is the secret key encryption data (ABE_Enc (mpk Rec , sk i , ⁇ i Rec )).
  • a distributed secret key is used, one distributed secret key is held by a user (patient), and the other distributed secret key is held by a hospital (doctor).
  • a hospital a hospital
  • decoding methods In the following, two examples of these methods will be described.
  • the plurality of decryption devices are, for example, a partial decryption device that partially decrypts encrypted data using the above-described partial decryption function, and a complete decryption device that further decrypts using the above-described complete decryption function.
  • the partial decoding device is included in the hospital system 30 instead of the decoding device 34.
  • the complete decoding device is realized by executing a program in a computer or the like that can be used by a user.
  • the cloud storage 10 has a function corresponding to the partial decryption device.
  • the hospital system 30 has the above-described complete decoding device instead of the decoding device 34.
  • the partial decryption data cs obtained by decrypting with a function (cs ⁇ Dsk S (c)) is encrypted by the attribute-based encryption method.
  • analysis result attribute partial encryption data (ABE_Enc (mpk Rec , cs, ⁇ i Rec ))) is obtained.
  • the encrypted data obtained by encryption by the homomorphic encryption method is further encrypted by the attribute-based encryption method (analysis attribute base) using the analyst policy ( ⁇ i Anal ).
  • the attribute-based encryption method analysis attribute base
  • the analyst policy ⁇ i Anal
  • the genome information and the environment information that should be kept secret are encrypted by the homomorphic encryption method even if they are decrypted, the contents cannot be known, but the operations for statistical analysis processing are not performed. It is possible. In this way, if the analyst is restricted from performing statistical analysis processing, but the decryptor is not restricted from performing decryption, only the analyst policy ( ⁇ i Anal ) is used.
  • An embodiment as a conventional data providing system may be used.
  • the secret key for decrypting the analysis result encrypted by the homomorphic encryption method is encrypted by the attribute-based encryption method (decryption attribute base) using the decryptor policy ( ⁇ i Rec ).
  • the attribute-based encryption method decryption attribute base
  • the decryptor policy ⁇ i Rec
  • the decryption person policy ( ⁇ i Rec ) is used.
  • An embodiment as a data providing system using a computer may be used.
  • genome information and environment information are used as information to be kept secret, but other information may be used.
  • Personal information for example, product purchase history information, movement history information, personal credit information, Web browsing history
  • the analyst and the decryptor perform the same processing as in the above-described embodiment. That is, the analyst analyzes the personal information while being encrypted by a homomorphic encryption method by a predetermined operation. The decryptor decrypts the analyzed result and uses the information.
  • the user can limit the range in which the personal information provided by the user can be used to at least one of the analyst and the decryptor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 秘匿すべき情報およびこれに関連する情報の漏洩の可能性を抑えながら、開示範囲をコントロールするために、一実施形態に係る制御装置は、第1秘密鍵で復号可能な準同型暗号方式で暗号化されている第1準同型暗号データに対して、特定の属性を付与された第2秘密鍵で復号可能な属性ベース暗号方式で暗号化することによって得られる第1属性暗号データを、記憶領域に記憶させる手段と、記憶領域に記憶された第1属性暗号データを解析装置に送信する手段と、送信の応答として、第1準同型暗号データに対する所定の演算によって得られた演算結果を、解析装置から受信する手段と、解析装置から受信した演算結果に基づく演算暗号データを記憶領域に記憶させる手段と、を備える。

Description

[規則26に基づく補充 30.11.2015] 制御装置、解析装置、復号装置および送信装置
 本発明は、暗号化されたデータを扱うことが可能な対象をコントロールする技術に関する。
 秘匿性を有する情報(例えば、個人を特定する情報、および個人に関連付けられた情報など)は、第三者に対して漏洩しないように、暗号化されて厳密に管理される。例えば、ゲノム情報などは、個人を特定する情報であって、永続的に変化しないような情報であるため、取り扱いには充分な注意を要する。このような情報を取り扱う際の技術として、例えば、特許文献1~6が開示されている。
国際公開第2014/040964号 特開2003-018142号公報 特開2002-215028号公報 特開2002-024385号公報 特開2007-179500号公報 特開2001-357130号公報
 ところで、暗号化された情報は、これを提供したユーザが復号化するのは問題がない。一方、漏洩防止のために、第三者が復号化することを完全に除外してしまうと、暗号化された情報を全く活用することができない。例えば、治療に有効な情報をゲノム情報の解析によって得るためには、ゲノム情報を解析する業者に、ゲノム情報を提供する必要がある。そして、解析結果については、ユーザのみならず、治療を実施する病院においても必要となる。したがって、ゲノム情報などの秘匿すべき情報およびこれに関連する情報(解析結果等)の開示範囲をコントロールしつつ、できるだけ漏洩の可能性を低くすることが望まれている。
 本発明の目的の一つは、秘匿すべき情報およびこれに関連する情報の漏洩の可能性を抑えながら、開示範囲をコントロールすることにある。
 本発明の一実施形態によると、第1秘密鍵で復号可能な準同型暗号方式で暗号化されている第1準同型暗号データに対して、特定の属性を付与された第2秘密鍵で復号可能な属性ベース暗号方式で暗号化することによって得られる第1属性暗号データを、記憶領域に記憶させる手段と、前記記憶領域に記憶された前記第1属性暗号データを解析装置に送信する手段と、前記送信の応答として、前記第1準同型暗号データに対する所定の演算によって得られた演算結果を、前記解析装置から受信する手段と、前記解析装置から受信した前記演算結果に基づく演算暗号データを前記記憶領域に記憶させる手段と、を備えることを特徴とする制御装置が提供される。
 また、本発明の一実施形態によると、復号のために少なくとも第1秘密鍵を用いる第1暗号データを記憶領域に記憶させる手段と、前記第1秘密鍵の少なくとも一部に対して、特定の属性を付与された第3秘密鍵で復号可能な属性ベース暗号方式で暗号化された第1秘密鍵暗号データを記憶領域に記憶させる手段と、前記記憶領域に記憶された前記第1暗号データおよび前記第1秘密鍵暗号データを前記復号装置に送信する手段と、を備えることを特徴とする制御装置が提供される。
 また、本発明の一実施形態によると、所定の属性を付与された第2秘密鍵を取得する手段と、第1秘密鍵で復号可能な準同型暗号方式で暗号化された第1準同型暗号データに対して、特定の属性を付与された第2秘密鍵で復号可能な属性ベース暗号方式で暗号化された第1属性暗号データを、外部装置から受信する手段と、取得した前記秘密鍵で、受信した前記第1属性暗号データを復号して前記第1準同型暗号データを取得する手段と、取得した前記第1準同型暗号データに対して、所定の演算によって得られた演算結果を、外部装置へ送信する手段と、を備えることを特徴とする解析装置が提供される。
 また、本発明の一実施形態によると、所定の属性を付与された第3秘密鍵を取得する手段と、復号のために少なくとも第1秘密鍵を用いる第1暗号データを、外部装置から受信する手段と、前記第1秘密鍵の少なくとも一部に対して、特定の属性を付与された第3秘密鍵で復号可能な属性ベース暗号方式で暗号化された第1秘密鍵暗号データを、前記外部装置から受信する手段と、取得した前記第3秘密鍵で前記第1秘密鍵暗号データを復号して、前記第1秘密鍵の少なくとも一部を取得する手段と、取得した前記第1秘密鍵の少なくとも一部を用いて前記第1暗号データを復号する手段と、を備えることを特徴とする復号装置が提供される。
 また、本発明の一実施形態によると、所定のデータを生成する手段と、前記所定のデータに対して、第1秘密鍵で復号可能な準同型暗号方式での暗号化を含む暗号化処理を実行して暗号データを生成する手段と、前記暗号データを、請求項1乃至請求項7のいずれかに記載の制御装置に送信する手段と、を備え、前記制御装置は、前記暗号データに基づいて、記憶領域に記憶させる前記第1属性暗号データを得ることを特徴とする送信装置が提供される。
 本発明の一実施形態によれば、秘匿すべき情報およびこれに関連する情報の漏洩の可能性を抑えながら、開示範囲をコントロールすることができる。
本発明の第1実施形態におけるデータ提供システムの構成を示すブロック図である。 本発明の第1実施形態におけるマスター鍵の生成処理を説明する通信フロー図である。 本発明の第1実施形態における復号者属性付秘密鍵の配布処理を説明する通信フロー図である。 本発明の第1実施形態における解析者属性付秘密鍵の配布処理を説明する通信フロー図である。 鍵配布処理が完了した後におけるデータ提供システムの各装置に記憶されたデータの内容を示す図である。 本発明の第1実施形態における分散秘密鍵およびポリシーの登録処理を説明する通信フロー図である。 セットアップ処理が完了した後におけるデータ提供システムの各装置に記憶されたデータの内容を示す図である。 本発明の第1実施形態における環境情報の登録処理を説明する通信フロー図である。 本発明の第1実施形態におけるゲノム情報の登録処理を説明する通信フロー図である。 保管委託処理が完了した後におけるデータ提供システムの各装置に記憶されたデータの内容を示す図である。 本発明の第1実施形態における解析結果の登録処理を説明する通信フロー図である。 解析委託処理が完了した後におけるデータ提供システムの各装置に記憶されたデータの内容を示す図である。 本発明の第1実施形態における解析結果の復号処理を説明する通信フロー図である。 本発明の第1実施形態におけるデータ提供システムの機能を説明するブロック図である。
 以下、本発明の一実施形態におけるデータ提供システムについて、図面を参照しながら詳細に説明する。以下に示す実施形態は本発明の実施形態の一例であって、本発明はこれらの実施形態に限定して解釈されるものではない。
<第1実施形態>
 本発明の第1実施形態におけるデータ提供システムについて、図面を参照しながら詳細に説明する。
[概要]
 図1は、本発明の第1実施形態におけるデータ提供システムの構成を示すブロック図である。データ提供システム1は、以下の通りの機能を有する。ユーザの生体サンプルを用いてゲノム情報が生成される。以下、「ユーザ」とは、生体サンプルを提供した人(患者等)を示す。
 生成されたゲノム情報は暗号化されて保存される。暗号化されたゲノム情報は、復号化されずに暗号化された状態で解析のための演算処理が施される。解析された結果は、暗号化されたまま保存される。そして、解析結果が復号化される。
 データ提供システム1は、このような一連の処理において、解析のための演算処理を実行する解析者(解析事業者)が特定の属性を有する場合に演算処理を実行でき、また、解析結果を復号化する病院(病院に所属する医師)が特定の属性を有する場合に復号化を実行できる。特定の条件は、ユーザによって定められる。続いて、上記の一連の処理を実現するためのデータ提供システム1の構成について説明する。
 この例においては、2種類の暗号化の方式が用いられる。まず、第1に、準同型暗号(Homomorphic Encryption)である。これは、準同型性を有する暗号方式である。準同型暗号方式で暗号化(以下、準同型暗号化という場合がある)すると、情報を復号化しなくても、所定の演算を行うことができる。この際、暗号化した複数の情報を用いた演算も可能である。すなわち、上述したように、ゲノム情報を暗号化したまま、所定の演算を行って解析をすることができるようになる。
 準同型暗号化について、簡単に説明する。公開鍵をpk、秘密鍵をskとする。平文mに対して、暗号化関数Epkを、c←Epk(m)で記述する。暗号文に対して、復号関数Dskを、m←Dsk(c)で記述する。任意のm、mに対して、以下の性質が成り立つ場合、公開鍵暗号Epk、Dskは、「加法的準同型性を持つ」という。
 Dsk(Epk(m)・Epk(m))=m+m
 さらに、
 Dsk(Epk(m))=um
 が成り立つ。
 準同型暗号方式の具体的な構成方法としては、例えば、modified-ElGamal暗号、Paillier暗号、modified-Paillier暗号など公知の方法を用いればよい。具体的な例として、例えば、以下の文献に開示されている。
Emmanuel Bresson, Dario Catalano, and David Pointcheval.  "A Simple Public-Key Cryptosystem with a Double Trapdoor Decryption Mechanism and Its Applications"  C.S. Laih (Ed.): ASIACRYPT 2003, LNCS 2894, pp. 37-54, 2003.
 なお、準同型暗号化として、加法に限らず、乗法についてもサポートされた完全準同型暗号化を用いてもよい。すなわち、以下の双方が成り立つ。
 Dsk(Epk(m)・Epk(m))=m+m
 Dsk(Epk(m)*Epk(m))=m
 このような例は、例えば、以下の文献に開示されている。
Craig Gentry: Fully homomorphic encryption using ideal lattices. STOC 2009: 169-178
 この例では、しきい値暗号(threshold cryptography)を用いて、秘密鍵skを複数の分散鍵に分割する。例えば、sk=ska+skbの2つに分割される場合について説明する。上記のようにして公開鍵pkで暗号化された暗号文cを復号するためには、分散鍵ska、skbの双方が必要となる。部分復号関数Dskaおよび完全復号関数Dskbを、ca←Dska(c)、m←Dskb(ca)で記述する。
 なお、秘密鍵skを分割して複数の分散鍵として用い、全ての分散鍵を用いて復号できるようにする具体的な構成方法は、公知のしきい値暗号法による技術を用いればよい。具体的な例として、例えば、以下の文献に開示されている。
Yvo Desmedt, and Yair Frankel.  "Threshold cryptosystems"  CRYPTO'89, LNCS435, pp. 307-315, 1990.
 第2に、暗号文ポリシー属性ベース暗号(CP-ABE : Cipher text Policy - Attribute Based Encryption)である。これは、ポリシーによって定められた属性が付与された秘密鍵においてのみ復号化を可能にする暗号化である。ポリシーは暗号文(暗号データ)に埋め込まれる。
 暗号文ポリシー属性ベース暗号について簡単に説明する。復号者の属性全体の集合をUとする。各復号者は、属性の集合S(⊆U)を持つ。復号者は、Sに対応した秘密鍵sksを、認証機関に発行してもらう。復号できる権限を定めるポリシーをΨとする。Ψは、Uに関する論理式で記述される。Ψ(S)=1となるSを持っている復号者が、暗号文を復号可能である。
 システム公開鍵pkとマスター秘密鍵mkを生成する。暗号化pk、復号できるポリシーΨ、平文mを入力として、暗号文CΨを出力する。
 CΨ←ABE_Enc(pk,m,Ψ)
 鍵生成pk、mk、属性情報Sを入力として、Sに対応した秘密鍵skを出力する。
 sk←ABE_KeyGen(pk,mk,S)
 復号pk、sk、CΨを受け取り、Ψ(S)=1であれば、平文mを出力する。一方、Ψ(S)=0であれば、⊥(何も出力しない)となる。すなわち、秘密鍵skに付与された属性によって、復号の可否が決まる。
 ABE_Dec(sk,CΨ)→m if Ψ(S)=1,
                ⊥ if Ψ(S)=0
 例えば、医師の持つ属性から、復号可能な属性を指定したい。
 U={腫瘍科,内科,専門医,研修医,総合病院,クリニック}
 医師1:S={腫瘍科,専門医,総合病院}
 医師2:S={内科,専門医,クリニック}
 医師3:S={内科,研修医,総合病院}
 各医師は、自身の持つ属性に基づく秘密鍵を、認証機関に発行してもらう。属性ベース暗号化の際には、復号可能な属性のポリシーを定める。
 ポリシー1:Ψ={腫瘍科 and 専門医 and 総合病院}
 ポリシー2:Ψ={{腫瘍科 or 内科} and 専門医 and {総合病院 or クリニック}}
 ポリシー1が指定された暗号文は医師1に配布(発行)された秘密鍵のみによって復号することができる。ポリシー2が指定された暗号文は、医師1、2に配布(発行)された秘密鍵によって復号することができる。属性ベース暗号化(暗号文ポリシー属性ベース暗号)についても、具体的な構成方法については後述する。
 属性ベース暗号化(暗号文ポリシー属性ベース暗号)の具体的な構成方法は、公知の属性ベース暗号の技術を用いればよい。具体的な例として、例えば、以下の文献に開示されている。
Vipul Goyal, Omkant Pandey, Amit Sahai, and Brent Waters.  "Attribute-Based Encryption for Fine-Grained Access Control of Encrypted Data" ACM CCS 2006, pp. 89-96, 2006.
[データ提供システム1の構成]
 データ提供システム1は、クラウドストレージ10、統計解析装置20(統計解析装置20-1、20-2、20-3、・・・)、病院システム30(病院システム30-1、30-2、・・・)、遺伝子解析装置50、および認証機関である認証局80を備える。これらの各構成は、インターネット、通信回線などのネットワークNWに接続されている。IDカード40は、ユーザによって所持され、病院システム30において用いられる。まず、各構成の概略について説明し、それぞれの詳細な動作については、まとめて後述する。
 データ提供システム1を構成する各装置は、CPUなどの演算処理装置、メモリ、ユーザーインターフェイス、および通信モジュールなどを備えたコンピュータである。CPUは、メモリに記憶されたプログラムを実行して、以下に説明する各種処理を実行する機能を実現させる。通信モジュールは、制御部の制御によってネットワークNWと接続し、ネットワークNWに接続された他の装置と情報の送受信を行う。
 各装置において実行されるプログラムは、磁気記録媒体、光記録媒体、光磁気記録媒体、半導体メモリなどのコンピュータ読み取り可能な記録媒体に記憶した状態で提供されてもよい。この場合には、各装置は、記録媒体を読み取る装置を備えていればよい。また、各プログラムは、ネットワークNW経由でダウンロードされてもよい。
[クラウドストレージ10]
 クラウドストレージ10は、制御装置12およびデータベース(DB)14を含む。制御装置12は、データベース14の所定の記録領域への各種データの登録、読み出しを制御する。データベース14は、外部装置から受信した各種データをユーザのID(後述する患者IDから変換された検体ID)に関連付けて登録される記憶領域を含む記憶装置を備えている。この例では、データベース14は、登録されたデータを複数の記憶装置において分散管理している。すなわち、記憶領域とは、一つの記憶装置内に限定されるものではなく、複数の記憶装置に分散されて存在する場合もある。
[統計解析装置20]
 統計解析装置20は、データベース14に登録されているゲノム情報の暗号データを用いて、所定の演算を行って解析を行う。この例では、さらにユーザの環境情報の暗号データも解析に用いられる。環境情報とは、例えば、ユーザの年齢、性別、臨床情報(罹患情報、バイタルデータ等)、生活習慣(飲酒歴、喫煙歴等)を含む情報である。これらの情報は、例えば、病院システムにおいてユーザによって登録される。
 図示されている統計解析装置20-1、20-2、20-3、・・・は、それぞれ異なる解析者によって用いられているが、これらの装置がもつ機能は上述したとおりであり、大きな違いは無い。したがって、特に統計解析装置20-1、20-2、20-3、・・・を区別して説明する必要が無い場合には、統計解析装置20としてまとめて説明する。
 一方、各解析者には予め属性が割り当てられ、属性に応じた秘密鍵が各統計解析装置20に配布されている。属性は、例えば、解析者の専門分野(腫瘍科、内科等)および組織の種類(研究機関、民間、公的機関等)の組み合わせとして表される。
[病院システム30]
 病院システム30は、登録装置32および復号装置34を含む。登録装置32は、ユーザから入力された情報(例えば、環境情報)をクラウドストレージ10に登録する。また、登録装置32は、準同型暗号方式で用いる鍵を生成する。生成される鍵は、暗号化に用いる公開鍵、および復号化に用いる秘密鍵である。この例では、秘密鍵は、分散秘密鍵Sおよび分散秘密鍵Hの2つに分散されて生成される。公開鍵および暗号化された分散秘密鍵Sが、クラウドストレージ10に登録される。また、分散秘密鍵Hが、ユーザによって所持されるIDカード40に登録される。この分散秘密鍵Hの登録は、例えば、IDカード40のデータ読み書きが可能な装置を介して実行される。
 復号装置34は、統計解析装置20によって解析された結果をクラウドストレージ10から取得して復号化する。復号化の際には、IDカード40に登録された分散秘密鍵Hも使用される。この分散秘密鍵Hは、IDカードのデータ読み書きが可能な装置を介して復号装置34に取得される。
 図示されている病院システム30-1、30-2、・・・は、それぞれ異なる病院によって用いられているが、これらのシステムがもつ機能は上述したとおりであり、大きな違いは無い。したがって、特に病院システム30-1、30-2、・・・を区別して説明する必要が無い場合には、病院システム30としてまとめて説明する。
 一方、病院システム30を使用する医師には予め属性が割り当てられ、属性に応じた秘密鍵が各医師に配布され復号装置34に登録されている。属性は、例えば、病院(医師)の専門分野(腫瘍科、内科等)、医師の種類(専門医、研修医等)および組織の種類(総合病院、クリニック等)の組み合わせとして表される。なお、属性に応じた秘密鍵は、復号装置34に登録されるのではなく、医師が所持するIDカード等に登録されてもよい。このようなIDカードは認証局80から発行されればよい。また、IDカードのデータ読み書きが可能な装置を介して復号装置34からIDカードに秘密鍵が登録されてもよい。医師が所持するIDカードに秘密鍵が登録される場合、復号装置34は、このIDカードを読み取って秘密鍵を取得する。
[IDカード40]
 IDカード40は、不揮発性メモリと外部装置と接続する接続部とを備える。上述したように、IDカード40は、登録装置32に接続されて、不揮発性メモリに分散秘密鍵Hが登録される。なお、登録装置32への接続は、有線接続でも無線接続でもよい。
[遺伝子解析装置50]
 遺伝子解析装置50は、ユーザの生体サンプルを用いて遺伝子解析を行うことによってゲノム情報を生成する。ユーザの生体サンプルは、ユーザから生体サンプルを取得した病院等から遺伝子解析装置50が設置されている遺伝子解析会社に送付される。遺伝子解析装置50は、生成したゲノム情報を暗号化して、クラウドストレージ10に登録する。
[認証局80]
 認証局80は、属性ベース暗号のマスター鍵(システム公開鍵、マスター秘密鍵)を生成する。この例では、マスター鍵は、解析者の属性に対応した暗号処理をするための鍵と、医師の属性に対応した暗号処理をするための鍵との2種類が生成される。マスター公開鍵は、クラウドストレージ10に登録される。マスター秘密鍵は、解析者または医師の依頼に基づき、その属性に応じた秘密鍵の生成に用いられる。属性に応じた秘密鍵は、上述の通り、依頼主の解析者の統計解析装置20に登録され、または、依頼主の医師が利用する登録装置32に登録される。
[データ提供システム1の動作]
 データ提供システム1は、大きく分けてセットアップ処理、保管委託処理および解析委託処理を含む。これらの処理が終了すると、ユーザのゲノム情報を解析して得られた情報を復号化してユーザが取得できるようになる。
[セットアップ処理]
 セットアップ処理について説明する。セットアップ処理は、鍵配布処理および分散秘密鍵およびポリシーの登録処理を含む。また、鍵配布処理には、マスター鍵の生成処理、復号者属性付秘密鍵の配布処理、解析者属性付秘密鍵の配布処理を含む。属性付秘密鍵の配布処理は、解析者または医師(復号者)からの依頼に基づいて実行される。そのため、新たにこのシステムに参入した解析者または医師が出現する度に、鍵の配布処理が実行される。なお、マスター鍵の生成処理は、あるシステム全体で使用するため、何度も生成されることはない。
 図2は、本発明の第1実施形態におけるマスター鍵の生成処理を説明する通信フロー図である。認証局80は、マスター鍵を生成する(S101)。この例では、解析者属性に基づく属性ベース暗号方式(以下、解析属性ベース暗号方式という場合がある)の暗号化のシステム公開鍵、マスター秘密鍵(mpkAnal,mskAnal)と、復号者属性に基づく属性ベース暗号方式(以下、復号属性ベース暗号方式という場合がある)の暗号化のシステム公開鍵、マスター秘密鍵(mpkRec,mskRec)とが生成される。それぞれのシステム公開鍵(mpkAnal,mpkRec)は、クラウドストレージ10に送信される(S103)。クラウドストレージ10は、受信したシステム公開鍵(mpkAnal,mpkRec)をデータベース14の所定の記憶領域に登録する(S105)。
 図3は、本発明の第1実施形態における復号者属性付秘密鍵の配布処理を説明する通信フロー図である。この配布処理は、病院システム30を利用する医師が、自身の属性に基づいて秘密鍵発行申請をする場合に実行される。この例では、病院システム30の復号装置34から秘密鍵発行申請が送信される(S111)。秘密鍵発行申請には、申請者である医師の属性を証明するデータ等が送信される。
 認証局80は、秘密鍵発行申請を受信すると、マスター秘密鍵(mskRec)を用いて、医師の属性に基づく復号者属性付秘密鍵(skSHy Rec)を生成し(S113)、復号装置34に送信する(S115)。「y(=1,2,・・・)」は申請者(医師)を示すインデックスである。例えば、y=1は病院システム30-1に対応し、y=2は病院システム30-2に対応する。
 復号装置34は、復号者属性付秘密鍵(skSHy Rec)を受信して、復号装置34のメモリに登録する(S117)。なお、医師のIDカード等に登録してもよいし、別のメモリ等に登録してもよい。また、秘密鍵発行申請は、復号装置34からの申請ではなく、書類等による申請であってもよい。この場合には、発行された復号者属性付秘密鍵(skSHy Rec)は、メモリまたはIDカード等に登録された状態で申請者に配布されてもよい。
 図4は、本発明の第1実施形態における解析者属性付秘密鍵の配布処理を説明する通信フロー図である。この配布処理は、統計解析装置20を利用する解析者が、自身の属性に基づいて秘密鍵発行申請をする場合に実行される。この例では、統計解析装置20から秘密鍵発行申請が送信される(S121)。秘密鍵発行申請には、申請者である解析者の属性を証明するデータ等が送信される。
 認証局80は、秘密鍵発行申請を受信すると、マスター秘密鍵(mskAnal)を用いて、解析者の属性に基づく解析者属性付秘密鍵(skSAx Anal)を生成し(S123)、統計解析装置20に送信する(S125)。「x(=1,2,・・・)」は申請者(解析者)を示すインデックスである。例えば、x=1は統計解析装置20-1に対応し、x=2は統計解析装置20-2に対応する。
 統計解析装置20は、解析者属性付秘密鍵(skSAx Anal)を受信して、統計解析装置20のメモリに登録する(S127)。なお、秘密鍵発行申請は、統計解析装置20のからの申請ではなく、書類等による申請であってもよい。この場合には、発行された解析者属性付秘密鍵(skSAx Anal)は、メモリまたはIDカード等に登録された状態で申請者に配布されてもよい。
 図5は、鍵配布処理が完了した後におけるデータ提供システムの各装置に記憶されたデータを示す図である。図示した統計解析装置20および病院システム30の全てから秘密鍵発行申請がされたものとする。各構成に登録されたデータは、各構成の近傍に記している。また、鍵配布処理において追加されたデータは破線で囲んでいる。図5においては、全てのデータが新たに追加されているため、全てのデータが破線で囲まれている。
 続いて、ユーザの生体サンプルの送付に伴い、病院システム30において実行される処理について説明する。この処理は、分散秘密鍵の生成および登録処理、およびポリシーの登録処理を含む。
 図6は、本発明の第1実施形態における分散秘密鍵およびポリシーの登録処理を説明する通信フロー図である。ユーザはIDカード40を登録装置32に接続して、患者ID(IDi)を登録装置32に送信する(S201)。ここで「i(=1,2,・・・)」は、ユーザ(患者)を示すインデックスである。
 登録装置32は、患者ID(IDi)を変換して検体ID(IDj)を生成する(S203)。検体IDは、患者IDに対して一方向性関数πを用いて変換して生成される。すなわち、検体IDは、IDj=π(i)として生成される。このようにして生成された検体IDは、ユーザ個人を特定できないようにしつつ、識別子として機能させることができる。
 登録装置32は、準同型暗号方式で暗号化するための公開鍵(pk)、およびこの公開鍵で暗号化されて得られた暗号データを復号化するための秘密鍵(sk)を生成する。この秘密鍵(sk)は、病院とユーザとで分散して管理するために、2つの秘密鍵(分散秘密鍵S(sk )、分散秘密鍵H(sk ))に分割される(S205)。登録装置32は、分散秘密鍵S(sk )をIDカード40に送信し(S207)、IDカード40のメモリに登録される(S209)。なお、秘密鍵をさらに多くの分散秘密鍵に分割してもよく、その場合には、複数のIDカードのメモリに、それぞれ異なる分散秘密鍵が登録されてもよい。
 登録装置32は、ユーザからポリシーの設定の入力を受け付ける(S211)。この例では、ポリシーは、解析者ポリシー(Ψ Anal)と復号者ポリシー(Ψ Rec)とを含む。解析者ポリシー(Ψ Anal)は、統計解析装置20に配布された解析者属性付秘密鍵(skSAx Anal)のうち、復号化を実行可能な属性が付与された秘密鍵を特定する情報である。ここでの復号化の対象となる暗号データは、システム公開鍵(mpkAnal)によって暗号化されたデータである。
 一方、復号者ポリシー(Ψ Rec)は、復号装置34に配布された復号者属性付秘密鍵(skSHy Rec)のうち、復号化を実行可能な属性が付与された秘密鍵を特定する情報である。ここでの復号化の対象となる暗号データは、システム公開鍵(mpkRec)によって暗号化されたデータである。
 登録装置32は、検体ID(IDj)、公開鍵(pk)、分散秘密鍵H(sk )、解析者ポリシー(Ψ Anal)、および復号者ポリシー(Ψ Rec)をクラウドストレージ10に送信する(S213)。クラウドストレージ10は、受信した分散秘密鍵H(sk )を、復号者ポリシー(Ψ Rec)およびシステム公開鍵(mpkRec)によって属性ベース暗号方式(復号属性ベース暗号方式)で暗号化する。クラウドストレージ10は、この暗号化によって秘密鍵暗号データ(ABE_Enc(mpkRec,sk ,Ψ Rec))を生成する(S215)。なお、暗号化は、登録装置32において実行されてもよい。この場合には、登録装置32は、システム公開鍵(mpkRec)をクラウドストレージ10から読み出して暗号化に使用する。
 クラウドストレージ10は、秘密鍵暗号データ(ABE_Enc(mpkRec,sk ,Ψ Rec))、公開鍵(pk)、解析者ポリシー(Ψ Anal)、および復号者ポリシー(Ψ Rec)をデータベース14の所定の記憶領域に登録する(S217)。これらのデータは、検体ID(IDj)に関連付けて登録される。
 図7は、セットアップ処理が完了した後におけるデータ提供システムの各装置に記憶されたデータを示すブロック図である。分散秘密鍵の生成および登録処理、およびポリシーの登録処理において追加されたデータ、すなわち、図5に示す状態から更新されたデータは破線で囲んでいる。なお、復号装置34において生成された分散秘密鍵H(sk )は、クラウドストレージ10へ送信された際に、復号装置34から削除されることが望ましい。
 続いて、ユーザの生体サンプルを送付してゲノム情報の生成、データ保管を委託する処理(保管委託処理)について説明する。保管委託処理は、環境情報の登録処理およびゲノム情報の登録処理を含む。
 図8は、本発明の第1実施形態における環境情報の登録処理を説明する通信フロー図である。ユーザはIDカード40を登録装置32に接続して、患者ID(IDi)を登録装置32に送信し(S301)、これを変換して検体ID(IDj)を生成する(S303)。この処理は、図6に示すS201、S203と同様の処理であるため説明を省略する。なお、図6のフローに引き続き実施する場合には、S301、S303は不要である。
 登録装置32は、ユーザから環境情報(z)の入力を受け付ける(S305)。z=(zi1,zi2,・・・zid’)∈Zd’とする。zik=pは、患者i(患者IDi)のk番目の環境要因がpであることを示す。環境要因とは、上述した通り、年齢、性別、臨床情報(罹患情報、バイタルデータ等)、生活習慣(飲酒歴、喫煙歴等)等を示す。
 登録装置32は、クラウドストレージ10から公開鍵(pk)を読み出して(S307)、公開鍵(pk)を用いて環境情報(z)を準同型暗号方式で暗号化して、環境暗号データ(Epk(zik))を生成する(S309)。ここで、「k(=1,2,・・,d’)」は、環境要因を示すインデックスである。なお、環境情報(z)は、クラウドストレージ10において準同型暗号方式で暗号化されてもよい。
 登録装置32は、検体ID(IDj)、環境暗号データ(Epk(zik))をクラウドストレージ10に送信する(S311)。クラウドストレージ10は、受信した環境暗号データ(Epk(zik))を、解析者ポリシー(Ψ Anal)およびシステム公開鍵(mpkAnal)によって属性ベース暗号方式(解析属性ベース暗号方式)で暗号化する。クラウドストレージ10は、この暗号化によって環境属性暗号データ(ABE_Enc(mpkAnal,Epk(zik),Ψ Anal))を生成する(S313)。なお、暗号化は、登録装置32において実行されてもよい。この場合には、登録装置32は、システム公開鍵(mpkAnal)をクラウドストレージ10から読み出して暗号化に使用する。
 クラウドストレージ10は、環境属性暗号データ(ABE_Enc(mpkAnal,Epk(zik),Ψ Anal))をデータベース14の所定の記憶領域に登録する(S315)。このとき、これらのデータは、検体ID(IDj)に関連付けて登録される。上記処理とは別に、病院等で採取されたユーザの生体サンプル(g)を検体ID(IDj)とともに遺伝子解析装置50(遺伝子解析会社)に送付する(S320)。
 図9は、本発明の第1実施形態におけるゲノム情報の登録処理を説明する通信フロー図である。遺伝子解析装置50は、送付された生体サンプル(g)に対して遺伝子解析を実行し(S321)、その結果に応じたゲノム情報(x)を生成する(S323)。x=(xi1,xi2,・・・xid)∈{0,1}とする。xik=1は、患者i(患者IDi)のk番目の遺伝的要因を保持していることを示す。一方、xik=0は、患者i(患者IDi)のk番目の遺伝的要因を保持していないことを示す。
 遺伝子解析装置50は、クラウドストレージ10から公開鍵(pk)を読み出して(S325)、公開鍵(pk)を用いてゲノム情報(x)を準同型暗号方式で暗号化して、ゲノム暗号データ(Epk(xik))を生成する(S327)。ここで、「k(=1,2,・・,d)」は、遺伝的要因を示すインデックスである。なお、ゲノム情報(x)は、クラウドストレージ10において準同型暗号方式で暗号化されてもよい。また、遺伝子解析装置50からはゲノム情報(x)は削除される。
 遺伝子解析装置50は、検体ID(IDj)、ゲノム暗号データ(Epk(xik))をクラウドストレージ10に送信する(S329)。クラウドストレージ10は、受信したゲノム暗号データ(Epk(xik))を、解析者ポリシー(Ψ Anal)およびシステム公開鍵(mpkAnal)によって属性ベース暗号方式(解析属性ベース暗号方式)で暗号化する。クラウドストレージ10は、この暗号化によってゲノム属性暗号データ(ABE_Enc(mpkAnal,Epk(xik),Ψ Anal))を生成する(S331)。なお、暗号化は、登録装置32において実行されてもよい。この場合には、遺伝子解析装置50は、システム公開鍵(mpkAnal)および解析者ポリシー(Ψ Anal)をクラウドストレージ10から読み出して暗号化に使用する。
 クラウドストレージ10は、ゲノム属性暗号データ(ABE_Enc(mpkAnal,Epk(xik),Ψ Anal))をデータベース14の所定の記憶領域に登録する(S333)。このデータは、検体ID(IDj)に関連付けて登録される。
 図10は、保管委託処理が完了した後におけるデータ提供システムの各装置に記憶されたデータの内容を示す図である。保管委託処理において追加されたデータ、すなわち、図7に示す状態から更新されたデータは破線で囲んでいる。なお、遺伝子解析装置50において生成されたゲノム暗号データ(Epk(xik))は、クラウドストレージ10へ送信された際に、遺伝子解析装置50から削除される。
 続いて、データベース14に登録されたゲノム属性暗号データ(ABE_Enc(mpkAnal,Epk(xik),Ψ Anal))および環境属性暗号データ(ABE_Enc(mpkAnal,Epk(zik),Ψ Anal))を用いて、ゲノム情報の解析を委託する処理(解析委託処理)について説明する。解析委託処理は、解析結果の登録処理を含む。
 図11は、本発明の第1実施形態における解析結果の登録処理を説明する通信フロー図である。登録装置32からゲノム情報の解析対象を示す検体ID(IDj)が送信される(S401)。解析対象を指定する方法は、登録装置32からの送信に限らず、検体ID(IDj)を特定できる方法であれば他の方法であってもよい。統計解析装置20は、検体ID(IDj)に関連付けられたゲノム属性暗号データ(ABE_Enc(mpkAnal,Epk(xik),Ψ Anal))および環境属性暗号データ(ABE_Enc(mpkAnal,Epk(zik),Ψ Anal))をクラウドストレージ10から読み出す(S403)。
 統計解析装置20は、ゲノム属性暗号データ(ABE_Enc(mpkAnal,Epk(xik),Ψ Anal))および環境属性暗号データ(ABE_Enc(mpkAnal,Epk(zik),Ψ Anal))を復号化する(S405)。復号化の際には、予め認証局80から配布されていた解析者属性付秘密鍵(skSAx Anal)を用いる。この秘密鍵に付与された解析者の属性が、解析者ポリシー(Ψ Anal)の条件を満たす場合には、復号化が可能である一方、条件を満たさない場合には、復号化ができない。このように、ある解析者に対して病院が解析依頼を出したとしても、ユーザが設定したポリシーの条件を満たす属性を有する解析者の統計解析装置20でなければ、復号化することができない。
 復号化すると、ゲノム暗号データ(Epk(xik))と環境暗号データ(Epk(zik))とが得られる。統計解析装置20は、ゲノム暗号データ(Epk(xik))と環境暗号データ(Epk(zik))とを用いて、統計解析処理を行う(S407)。統計解析処理においては、統計解析装置20は、暗号化したままの状態で統計解析fの演算を行い、演算結果として解析結果暗号データc=Epk(f(x,z))を得る。この例のように準同型暗号を用い、線形式により疾患リスク評価を行う場合には、例えば、以下の式(1)により演算可能である。なお、w、wは、解析者(統計解析装置20)が予め保持しているパラメータである。
Figure JPOXMLDOC01-appb-M000001
 
 
 このように、統計解析装置20は、解析属性ベース暗号方式で暗号化されたデータを復号化するものの、これによって得られた準同型暗号方式の暗号データのまま演算をする。また、統計解析装置20は、この暗号データを復号化するための鍵(分散秘密鍵S(sk )、分散秘密鍵H(sk ))を入手することはできないため、ゲノム情報および環境情報の内容を知ることはできない。なお、統計解析処理は、このような演算方法に限らず、様々な演算方法をとり得る。また、統計解析装置20は、環境暗号データ(Epk(zik))を用いずに、ゲノム暗号データ(Epk(xik))に対して、予め決められた演算処理を施す用意してもよい。
 統計解析装置20は、検体ID(IDj)および解析結果暗号データ(c)をクラウドストレージ10に送信する(S409)。クラウドストレージ10は、受信した解析結果暗号データ(c)を、復号者ポリシー(Ψ Rec)およびシステム公開鍵(mpkRec)によって復号属性ベース暗号方式で暗号化する。クラウドストレージ10は、この暗号化によって解析結果属性暗号データ(ABE_Enc(mpkRec,c,Ψ Rec))を生成する(S411)。なお、暗号化は、統計解析装置20において実行されてもよい。この場合には、統計解析装置20は、システム公開鍵(mpkRec)および復号者ポリシー(Ψ Rec)をクラウドストレージ10から読み出して暗号化に使用する。そして、解析結果属性暗号データ(ABE_Enc(mpkRec,c,Ψ Rec))が統計解析装置20の演算結果として送信される。
 クラウドストレージ10は、解析結果属性暗号データ(ABE_Enc(mpkRec,c,Ψ Rec))をデータベース14の所定の記憶領域に登録する(S413)。このデータは、検体ID(IDj)に関連付けて登録される。
 図12は、解析委託処理が完了した後におけるデータ提供システムの各装置に記憶されたデータの内容を示す図である。解析委託処理において追加されたデータ、すなわち、図10に示す状態から更新されたデータは破線で囲んでいる。なお、統計解析装置20において生成された解析結果暗号データ(c)は、クラウドストレージ10へ送信された際に、統計解析装置20から削除される。
 続いて、データベース14に登録された解析結果属性暗号データ(ABE_Enc(mpkRec,c,Ψ Rec))および秘密鍵暗号データ(ABE_Enc(mpkRec,sk ,Ψ Rec))を用いた解析結果の復号処理について説明する。
 図13は、本発明の第1実施形態における解析結果の復号処理を説明する通信フロー図である。ユーザはIDカード40を復号装置34に接続して、患者ID(IDi)を復号装置34に送信し(S501)、これを変換して検体ID(IDj)を生成する(S503)。復号装置34は、生成した検体ID(IDj)に基づく、これに関連付けられた解析結果属性暗号データ(ABE_Enc(mpkRec,c,Ψ Rec))および秘密鍵暗号データ(ABE_Enc(mpkRec,sk ,Ψ Rec))をクラウドストレージ10から読み出す(S505)。
 復号装置34は、まず、解析結果属性暗号データ(ABE_Enc(mpkRec,c,Ψ Rec))および秘密鍵暗号データ(ABE_Enc(mpkRec,sk ,Ψ Rec))を復号化する(S507)。復号化の際には、予め認証局80から配布されていた復号者属性付秘密鍵(skSHy Rec)を用いる。この秘密鍵に付与された復号者の属性が、復号者ポリシー(Ψ Rec)の条件を満たす場合には、復号化が可能である一方、条件を満たさない場合には、復号化ができない。このように、ある病院において復号しようとしても、ユーザが設定したポリシーの条件を満たす属性を有する医師が用いる復号装置34でなければ、復号化することができない。
 復号化すると、解析結果暗号データ(c=Epk(f(x,z)))と分散秘密鍵H(sk )とが得られる。復号装置34は、IDカード40に登録された分散秘密鍵S(sk )を、IDカード40から読み出す(S509)。復号装置34は、解析結果暗号データ(c=Epk(f(x,z)))を復号化する(S511)。復号化すると、解析結果(f(x,z))が得られる。復号化の際には、復号装置34(または医師のIDカード)に登録された分散秘密鍵H(sk )、およびIDカード40から読み出した分散秘密鍵S(sk )を用いる。
 そして、復号装置34は、解析結果(f(x,z))を外部記録媒体に出力する(S513)。外部記録媒体は、IDカード40のメモリ、外部メモリ、紙などの記録媒体であればよい。ユーザまたは医師は、この外部記録媒体を介して解析結果を知ることができる。
[データ提供システム1の機能構成]
 続いて、上記の各種処理を実行するために、データ提供システム1の各装置において実現される機能について説明する。上述した通り、各装置においては、CPUなどによるプログラムの実行によって、以下に説明する各機能が実現される。
 図14は、本発明の第1実施形態におけるデータ提供システムの機能を説明するブロック図である。
[クラウドストレージ10の機能構成]
 クラウドストレージ10の制御装置12では、登録制御部121および属性ベース暗号化部123が実現される。クラウドストレージ10のデータベース14では、システム公開鍵記憶領域141およびID別記憶領域143が実現される。クラウドストレージ10において、通信部16が実現される。通信部16は、制御装置12をネットワークNWに接続して各種情報の送受信をするためのインターフェイスである。
 登録制御部121は、各種情報をデータベース14の所定の記憶領域(システム公開鍵記憶領域141、ID別記憶領域143)に登録する一方、データベース14に登録された各種情報を読み出して、各装置からの要求に応じて送信する。登録制御部121による処理は、S105、S217、S307、S315、S325、S333、S403、S413、S505に対応する。
 属性ベース暗号化部123は、所定の情報に対して、属性ベース暗号方式で暗号化をする。所定の情報とは、分散秘密鍵H(sk )、環境情報(z)、解析結果(c=f(x,z))である。属性ベース暗号化部123による処理は、S215、S313、S411の各処理に対応する。
 システム公開鍵記憶領域141は、登録制御部121によって登録されるシステム公開鍵(mpkAnal)を記憶する領域である。ID別記憶領域143は、登録制御部121によって検体ID(IDj)に関連付けられて登録される公開鍵(pk)、解析者ポリシー(Ψ Anal)、復号者ポリシー(Ψ Rec)、秘密鍵暗号データ(ABE_Enc(mpkRec,sk ,Ψ Rec))、ゲノム属性暗号データ(ABE_Enc(mpkAnal,Epk(xik),Ψ Anal))、環境属性暗号データ(ABE_Enc(mpkAnal,Epk(zik),Ψ Anal))、および解析結果属性暗号データ(ABE_Enc(mpkRec,c,Ψ Rec))を記憶する領域である。
[統計解析装置20の機能構成]
 統計解析装置20では、統計解析装置20をネットワークNWと接続して各種情報の送受信をするための通信部201、秘密鍵記憶部203、属性ベース復号化部205、および演算部207が実現される。秘密鍵記憶部203は、解析者属性付秘密鍵(skSAx Anal)を記憶する。
 属性ベース復号化部205は、属性ベース暗号方式で暗号された所定の暗号データを復号化する。所定の暗号データとは、ゲノム属性暗号データ(ABE_Enc(mpkAnal,Epk(xik),Ψ Anal))および環境属性暗号データ(ABE_Enc(mpkAnal,Epk(zik),Ψ Anal))である。属性ベース復号化部205による処理は、S405の処理に対応する。
 演算部207は、属性ベース復号化部205によって復号化されたデータ(ゲノム暗号データ(Epk(xik))および環境暗号データ(Epk(zik)))を用いて、統計解析処理を行う。演算部207による処理は、S407の処理に対応する。
[病院システム30の機能構成]
 病院システム30の登録装置32では、鍵生成部321、ポリシー設定部323、環境情報生成部325および準同型暗号化部327が実現される。病院システム30の復号部34では、秘密鍵記憶部341、属性ベース復号化部343、準同型復号化部345および解析結果出力部347が実現される。また、病院システム30において、カード通信部36および通信部38が実現される。カード通信部36は、IDカード40を含む外部装置を、登録装置32および復号装置34に接続して各種情報の送受信をするためのインターフェイスである。通信部38は、登録装置32および復号装置34をネットワークNWに接続して各種情報の送受信をするためのインターフェイスである。
 鍵生成部321は、準同型暗号方式における公開鍵(pk)および秘密鍵(sk)(分散秘密鍵S(sk )、分散秘密鍵H(sk ))を生成する。鍵生成部321における処理は、S205に対応する。ポリシー設定部323は、ユーザからの指示によって、解析者ポリシー(Ψ Anal)および復号者ポリシー(Ψ Rec)を設定する。ポリシー設定部323の処理は、S211に対応する。
 環境情報生成部325は、ユーザの指示に応じて環境情報(z)を生成する。環境情報生成部325における処理は、S305に対応する。準同型暗号化部327は、公開鍵(pk)をクラウドストレージ10から読み出して、所定の情報に対して、準同型暗号方式で暗号化をする。所定の情報とは、環境情報(z)である。準同型暗号化部327における処理は、S307、S309に対応する。
 秘密鍵記憶部341は、認証局80から配布される復号者属性付秘密鍵(skSHy Rec)を記憶する。属性ベース復号化部343は、属性ベース暗号方式で暗号された所定の暗号データを復号化する。所定の暗号データとは、解析結果属性暗号データ(ABE_Enc(mpkRec,c,Ψ Rec))および秘密鍵暗号データ(ABE_Enc(mpkRec,sk ,Ψ Rec))である。属性ベース復号化部343による処理は、S507に対応する。
 準同型復号化部345は、準同型暗号方式で暗号された所定の暗号データを復号化する。所定の暗号データとは、解析結果暗号データ(c=Epk(f(x,z)))である。この解析結果暗号データ(c=Epk(f(x,z)))は、属性ベース復号化部343によって得られたデータである。準同型復号化部345による処理は、S511である。解析結果出力部347は、解析結果(f(x,z))を外部記録媒体に出力する。解析結果(f(x,z))は、準同型復号化部345によって得られたデータである。解析結果出力部347による処理は、S513に対応する。
[IDカード40の機能構成]
 IDカード40では、カード通信部36と接続して各種情報の送受信をするための通信部401、秘密鍵記憶部403、患者ID記憶部405が実現される。秘密鍵記憶部403は、秘密鍵生成部321によって生成された分散秘密鍵S(sk )を記憶する。患者ID記憶部405は、患者ID(IDi)を記憶する。
[遺伝子解析装置50の機能構成]
 遺伝子解析装置50では、遺伝子解析装置50をネットワークNWと接続して各種情報の送受信をするための通信部501、遺伝子解析部503、および準同型暗号化部505が実現される。遺伝子解析部503は、生体サンプル(g)を遺伝子解析してゲノム情報(x)を生成する。遺伝子解析部503における処理は、S321、S323に対応する。準同型暗号化部505は、公開鍵(pk)をクラウドストレージ10から読み出して、所定の情報に対して、準同型暗号方式で暗号化をする。所定の情報とは、ゲノム情報(x)である。準同型暗号化部505における処理は、S325、S327に対応する。
[認証局80の機能構成]
 認証局80では、認証局80をネットワークNWと接続して各種情報の送受信をするための通信部801、マスター鍵生成部803、マスター鍵記憶部805、および秘密鍵生成部807が実現される。マスター鍵生成部803は、システム全体で用いられるマスター鍵を生成する。このマスター鍵は、解析者属性に基づく属性ベース暗号方式のシステム公開鍵(mpkAnal)、マスター秘密鍵(mskAnal)を含み、また、復号者属性に基づく属性ベース暗号方式のシステム公開鍵(mpkRec)、マスター秘密鍵(mskRec)を含む。マスター鍵生成部803における処理は、S101に対応する。
 マスター鍵記憶部805は、マスター鍵生成部803によって生成されたマスター鍵を記憶する。なお、全てのマスター鍵ではなく、マスター秘密鍵(mskAnal)およびマスター秘密鍵(mskRec)を少なくとも記憶していればよい。
 秘密鍵生成部807は、外部装置(例えば、遺伝子解析装置20および復号装置34)からの申請に基づき、マスター秘密鍵(mskAnal)を用いて復号者属性付秘密鍵(skSHy Rec)を生成し、または、マスター秘密鍵(mskRec)を用いて解析者属性付秘密鍵(skSAx Anal)を生成する。秘密鍵生成部807における処理は、S113、S123に対応する。以上が、データ提供システム1の機能構成についての説明である。
 上述の通り、本発明の第1実施形態におけるデータ提供システム1によれば、ユーザによるポリシー(解析者ポリシー(Ψ Anal)および復号者ポリシー(Ψ Rec))を設定することができる。これによって、ゲノム情報と環境情報とに基づいて統計解析処理の演算をすることができる解析者を制限することができる。このとき、このゲノム情報と環境情報とは、それぞれ準同型暗号方式によって暗号化されているため、ゲノム情報および環境情報の内容を解析者に知られずに、統計解析処理を実行させることができる。また、解析結果を復号化することができる復号者についても制限することができる。なお、解析者と復号者とを制限する場合、P人の解析者およびQ人の復号者が存在すると、一般には、P×Q個のポリシーが必要になるが、上記の実施形態では、P+Q個のポリシーで表現することもできる。
<第2実施形態>
 第2実施形態では、解析結果暗号データ(c=Epk(f(x,z))が属性ベース暗号での暗号化がされずに、そのままデータベース14に登録される。一方、復号者ポリシー(Ψ Rec)はデータベース14に登録されない。
 復号装置34において、解析結果(f(x,z))を得るためには、解析結果暗号データ(c=Epk(f(x,z)))、およびこれを復号化する際に用いる分散秘密鍵H(sk )が必要である。解析結果暗号データ(c=Epk(f(x,z)))および分散秘密鍵H(sk )を得るためには、上述したように、復号者ポリシー(Ψ Rec)によって制限された医師が有する属性付秘密鍵(skSHy Rec)を用いる必要がある。一方、解析結果(f(x,z))を得るためには、解析結果暗号データ(c=Epk(f(x,z)))が得られても、分散秘密鍵H(sk )が得られなければ、復号できないことになる。
 したがって、分散秘密鍵H(sk )が属性ベース暗号方式による暗号化がされていれば、解析結果暗号データ(c=Epk(f(x,z)))については、属性ベース暗号方式による暗号化をしなくてもよい。この場合、S411の処理はなくてもよい。データベース14には、解析結果属性暗号データ(ABE_Enc(mpkRec,c,Ψ Rec))が登録される代わりに解析結果暗号データ(c=Epk(f(x,z))が、統計解析装置20の演算結果として登録される。一方、復号者ポリシー(Ψ Rec)は、データベース14に登録されなくてもよい。
<第3実施形態>
 第3実施形態では、秘密鍵(sk)を分散秘密鍵S(sk )、分散秘密鍵H(sk )に分割せず、秘密鍵(sk)のまま用いる。この場合には、第1実施形態の分散秘密鍵H(sk )が秘密鍵(sk)に相当するものとし、IDカード40に登録される分散秘密鍵S(sk )が存在しないものとすればよい。したがって、データベース14に登録される秘密鍵暗号データ(ABE_Enc(mpkRec,sk ,Ψ Rec))は、秘密鍵暗号データ(ABE_Enc(mpkRec,sk,Ψ Rec))とすればよい。そして、属性ベース暗号方式で復号化して得られる解析結果暗号データ(c=Epk(f(x,z)))は、同じく、属性ベース暗号方式で復号化して得られる1つの秘密鍵(sk)で復号化される。
<分散秘密鍵の保持方法および復号方法>
 上述した第1、第2実施形態では、分散秘密鍵を用い、一方の分散秘密鍵をユーザ(患者)、他方の分散秘密鍵を病院(医師)が保持していた。保持の組み合わせは別の組み合わせも様々に存在する。また、復号の方法も様々に存在する。以下では、これらの方法のうち、2つの例について説明する。
 まず、第1の例として、分散秘密鍵を保持する人は変わらないものの、復号装置34のみで復号するのではなく、複数の復号装置で復号する場合について説明する。複数の復号装置は、例えば、上述した部分復号関数で部分的に暗号データを復号化する部分復号装置、および上述した完全復号関数でさらに復号化する完全復号装置である。部分復号装置は、復号装置34の代わりに病院システム30に含まれている。一方、完全復号装置は、ユーザが使用可能なコンピュータ等において、プログラムの実行により実現される。
 この場合には、図13のS511の処理において、部分復号装置によって、分散秘密鍵H(sk )を用いて、解析結果暗号データ(c=Epk(f(x,z)))を部分的に復号化する。すなわち、上述した部分復号関数で復号化(ch←Dsk(c))して、部分復号データchを得る。そして、この復号化された部分復号データcaをユーザに渡す。ユーザは、完全復号装置によって、分散秘密鍵S(sk )を用いて、部分復号データchをさらに復号化する。すなわち、上述した完全復号関数で復号化(m←Dsk(ch))して、解析結果m=(f(x,z))を得る。
 第2の例として、ユーザが分散秘密鍵S(sk )をクラウドストレージ10において保持する場合について説明する。なお、ユーザは、そのまま分散秘密鍵S(sk )を保持したままであってもよい。
 この場合には、クラウドストレージ10において、上記部分復号装置に相当する機能を有するようにする。一方、病院システム30において、復号装置34の代わりに上述の完全復号装置を有するようにする。そして、クラウドストレージ10においては、図11のS411において、解析結果暗号データ(c=Epk(f(x,z)))を属性ベース暗号方式で暗号化するのではなく、部分復号関数で復号化(cs←Dsk(c))して得られた部分復号データcsを属性ベース暗号方式で暗号化する。これによって、解析結果属性部分暗号データ(ABE_Enc(mpkRec,cs,Ψ Rec)))を得る。
 病院システム30の完全復号装置は、解析結果属性部分暗号データを復号化し、部分復号データcsを得る。そして、分散秘密鍵H(sk )を用い、復号化(m←Dsk(cs))して、解析結果m=(f(x,z))を得る。
<その他の実施形態>
 第1実施形態では、解析者ポリシー(Ψ Anal)および復号者ポリシー(Ψ Rec)を用いて、解析者(統計解析装置20)および復号者(復号装置34)における復号化に制限をかけている。一方、解析者ポリシー(Ψ Anal)および復号者ポリシー(Ψ Rec)の双方を用いることが必須ではなく、いずれか一方を用いたデータ提供システムとしての実施形態もあり得る。
 すなわち、準同型暗号方式で暗号化して得られた暗号データを、解析者ポリシー(Ψ Anal)を用いてさらに属性ベース暗号方式(解析属性ベース)で暗号化する。これによれば、解析者(統計解析装置20)に対しては、属性ベース暗号方式での復号化に関する制限をかけることができる。このとき、復号化しても、秘匿しておくべきゲノム情報および環境情報はいずれも準同型暗号方式で暗号化されているため、その内容を知ることはできないものの、統計解析処理のための演算は可能となっている。このように、解析者に対して統計解析処理の実行に制限をかける一方、復号者に対しては復号化の実行に制限をかけない場合には、解析者ポリシー(Ψ Anal)のみを用いたデータ提供システムとしての実施形態でもよい。
 一方、準同型暗号方式で暗号化されている解析結果を復号化するための秘密鍵を、復号者ポリシー(Ψ Rec)を用いて属性ベース暗号方式(復号属性ベース)で暗号化する。これによれば、復号者(復号装置34)に対しては、属性ベース暗号方式での復号化に関する制限をかけることができる。すなわち、復号化ができない復号者は、解析結果を復号化するための秘密鍵を入手することができない。このように、復号者に対して解析結果の復号化の実行に制限をかける一方、解析者に対して統計解析処理の実行に制限をかけない場合には、復号者ポリシー(Ψ Rec)のみを用いたデータ提供システムとしての実施形態でもよい。
 また、上記の実施形態では、秘匿すべき情報として、ゲノム情報および環境情報を用いていたが、その他の情報であってもよい。ユーザの行動に伴って得られる個人情報(例えば、商品購入履歴情報、移動履歴情報、個人信用情報、Web閲覧履歴)などは秘匿すべき情報として用いられる。このような個人情報を用いた場合であっても、解析者および復号者は上述した実施形態と同じ処理をする。すなわち、解析者は、この個人情報を所定の演算によって準同型暗号方式で暗号化されたまま解析する。また、復号者は、解析された結果を復号化してその情報を利用する。そして、ユーザは、自分自身が提供した個人情報を利用できる範囲を、解析者および復号者の少なくとも一方に対して制限をかけることができる。
1…データ提供システム、10…クラウドストレージ、12…制御装置、14…データベース、20…統計解析装置、30…病院システム、32…登録装置、34…復号装置、40…IDカード、50…遺伝子解析装置、80…認証局

Claims (16)

  1.  第1秘密鍵で復号可能な準同型暗号方式で暗号化されている第1準同型暗号データに対して、特定の属性を付与された第2秘密鍵で復号可能な属性ベース暗号方式で暗号化することによって得られる第1属性暗号データを、記憶領域に記憶させる手段と、
     前記記憶領域に記憶された前記第1属性暗号データを解析装置に送信する手段と、
     前記送信の応答として、前記第1準同型暗号データに対する所定の演算によって得られた演算結果を、前記解析装置から受信する手段と、
     前記解析装置から受信した前記演算結果に基づく演算暗号データを前記記憶領域に記憶させる手段と、
     を備えることを特徴とする制御装置。
  2.  前記第1秘密鍵の少なくとも一部に対して、特定の属性を付与された第3秘密鍵で復号可能な属性ベース暗号方式で暗号化することによって得られる第1秘密鍵暗号データを、前記記憶領域に記憶させる手段と、
     前記記憶領域に記憶された前記演算暗号データおよび前記第1秘密鍵暗号データを前記復号装置に送信する手段と、
     をさらに備えることを特徴とする請求項1に記載の制御装置。
  3.  前記演算結果は、前記第1秘密鍵で復号可能な暗号データであり、
     前記演算暗号データは、前記演算結果であることを特徴とする請求項1に記載の制御装置。
  4.  前記演算結果は、前記第1秘密鍵で復号可能な暗号データであり、
     前記演算結果を、特定の属性を付与された第3秘密鍵で復号可能な属性ベース暗号方式で暗号化して、前記記憶領域に記憶させる前記演算暗号データを生成する手段をさらに備えることを特徴とする請求項1に記載の制御装置。
  5.  前記演算結果は、前記第1秘密鍵で復号可能な暗号データを、特定の属性を付与された第3秘密鍵で復号可能な属性ベース暗号方式で暗号化したデータであり、
     前記演算暗号データは、前記演算結果であることを特徴とする請求項1に記載の制御装置。
  6.  前記第1準同型暗号データを取得し、当該第1準同型暗号データを、特定の属性を付与された第3秘密鍵で復号可能な属性ベース暗号方式で暗号化して、前記記憶領域に記憶させる前記第1属性暗号データを生成する手段をさらに備えることを特徴とする請求項1に記載の制御装置。
  7.  前記第1秘密鍵で復号可能な準同型暗号方式で暗号化されている第2準同型暗号データを、前記第2秘密鍵で復号可能な属性ベース暗号方式で暗号化することによって得られた第2属性暗号データを前記記憶領域に記憶させる手段と、
     前記記憶領域に記憶された前記第2属性暗号データを前記解析装置に送信する手段と、
     をさらに備え、
     前記所定の演算は、前記第1準同型暗号データと前記2属性暗号データを復号した前記第2準同型暗号データとを用いた演算であることを特徴とする請求項1に記載の制御装置。
  8.  復号のために少なくとも第1秘密鍵を用いる第1暗号データを記憶領域に記憶させる手段と、
     前記第1秘密鍵の少なくとも一部に対して、特定の属性を付与された第3秘密鍵で復号可能な属性ベース暗号方式で暗号化された第1秘密鍵暗号データを記憶領域に記憶させる手段と、
     前記記憶領域に記憶された前記第1暗号データおよび前記第1秘密鍵暗号データを前記復号装置に送信する手段と、
     を備えることを特徴とする制御装置。
  9.  前記第1暗号データは、前記第1秘密鍵で復号可能な暗号データを、特定の属性を付与された第3秘密鍵で復号可能な属性ベース暗号方式で暗号化したデータであることを特徴とする請求項8に記載の制御装置。
  10.  前記第1秘密鍵は、複数の分散鍵を組み合わせた鍵であり、
     前記第1秘密鍵暗号データは、一部の前記分散鍵を暗号化したデータであることを特徴とする請求項1乃至請求項9のいずれかに記載の制御装置。
  11.  所定の属性を付与された第2秘密鍵を取得する手段と、
     第1秘密鍵で復号可能な準同型暗号方式で暗号化された第1準同型暗号データに対して、特定の属性を付与された第2秘密鍵で復号可能な属性ベース暗号方式で暗号化された第1属性暗号データを、外部装置から受信する手段と、
     取得した前記秘密鍵で、受信した前記第1属性暗号データを復号して前記第1準同型暗号データを取得する手段と、
     取得した前記第1準同型暗号データに対して、所定の演算によって得られた演算結果を、外部装置へ送信する手段と、
     を備えることを特徴とする解析装置。
  12.  前記準同型暗号方式で暗号化された第2準同型暗号データに対して、前記第2秘密鍵で復号可能な属性ベース暗号方式で暗号化された第2属性暗号データを、外部装置から受信する手段と、
     取得した前記秘密鍵で、受信した前記第2属性暗号データを復号して前記第2準同型暗号データを取得する手段と、
     をさらに備え、
     前記所定の演算は、前記第1準同型暗号データと前記第2準同型暗号データとを用いた演算であることを特徴とする請求項11に記載の解析装置。
  13.  所定の属性を付与された第3秘密鍵を取得する手段と、
     復号のために少なくとも第1秘密鍵を用いる第1暗号データを、外部装置から受信する手段と、
     前記第1秘密鍵の少なくとも一部に対して、特定の属性を付与された第3秘密鍵で復号可能な属性ベース暗号方式で暗号化された第1秘密鍵暗号データを、前記外部装置から受信する手段と、
     取得した前記第3秘密鍵で前記第1秘密鍵暗号データを復号して、前記第1秘密鍵の少なくとも一部を取得する手段と、
     取得した前記第1秘密鍵の少なくとも一部を用いて前記第1暗号データを復号する手段と、
     を備えることを特徴とする復号装置。
  14.  前記第1暗号データは、前記第1秘密鍵で復号可能な暗号データを、特定の属性を付与された第3秘密鍵で復号可能な属性ベース暗号方式で暗号化したデータであり、
     取得した前記第3秘密鍵で前記第1暗号データを復号した得られるデータを、さらに前記第1秘密鍵で復号する手段と、
     を備えることを特徴とする請求項13に記載の復号装置。
  15.  前記第1秘密鍵は、複数の分散鍵を組み合わせた鍵であり、
     前記第1秘密鍵暗号データは、一部の前記分散鍵を暗号化したデータであり、
     前記一部の分散鍵以外の残りの前記分散鍵を取得する手段と、
     前記第1秘密鍵暗号データを復号して得られる前記分散鍵の一部と、取得した前記残りの分散鍵とを組み合わせた前記第1秘密鍵によって前記第1暗号データを復号することを特徴とする請求項13に記載の復号装置。
  16.  所定のデータを生成する手段と、
     前記所定のデータに対して、第1秘密鍵で復号可能な準同型暗号方式での暗号化を含む暗号化処理を実行して暗号データを生成する手段と、
     前記暗号データを、請求項1乃至請求項7のいずれかに記載の制御装置に送信する手段と、
     を備え、
     前記制御装置は、前記暗号データに基づいて、記憶領域に記憶させる前記第1属性暗号データを得ることを特徴とする送信装置。
     
PCT/JP2015/081892 2014-12-25 2015-11-12 制御装置、解析装置、復号装置および送信装置 WO2016103960A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016566025A JP6677653B2 (ja) 2014-12-25 2015-11-12 制御装置、解析装置および復号装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-262353 2014-12-25
JP2014262353 2014-12-25

Publications (1)

Publication Number Publication Date
WO2016103960A1 true WO2016103960A1 (ja) 2016-06-30

Family

ID=56149994

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/081892 WO2016103960A1 (ja) 2014-12-25 2015-11-12 制御装置、解析装置、復号装置および送信装置

Country Status (2)

Country Link
JP (1) JP6677653B2 (ja)
WO (1) WO2016103960A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108880798A (zh) * 2018-06-28 2018-11-23 西南交通大学 一种实现细粒度属性撤销的属性基重加密方法
JP6452910B1 (ja) * 2018-01-17 2019-01-16 三菱電機株式会社 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム
JP2020092414A (ja) * 2018-11-08 2020-06-11 アクセンチュア グローバル ソリューションズ リミテッド ブロックチェーンのための暗号化データ共有管理
CN111523125A (zh) * 2019-02-01 2020-08-11 和硕联合科技股份有限公司 数据分析系统与数据分析方法
US11139952B2 (en) 2017-01-18 2021-10-05 Mitsubishi Electric Corporation Homomorphic computation device, encryption system, and computer readable medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231404A (ja) * 2009-03-26 2010-10-14 Ntt Communications Kk 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム
JP2014078770A (ja) * 2012-10-06 2014-05-01 Mitsubishi Electric Corp アクセス権付き暗号化装置、アクセス権付き暗号システム、アクセス権付き暗号化方法およびアクセス権付き暗号化プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011045723A1 (en) * 2009-10-15 2011-04-21 Koninklijke Philips Electronics N.V. Ciphertext-policy attribute-based encryption and re-encryption
US9252942B2 (en) * 2012-04-17 2016-02-02 Futurewei Technologies, Inc. Method and system for secure multiparty cloud computation
JP6115573B2 (ja) * 2012-11-30 2017-04-19 日本電気株式会社 暗号システム、データ保存システム、それに用いる装置および方法
CN104079574B (zh) * 2014-07-02 2017-04-12 南京邮电大学 云环境下基于属性和同态混合加密的用户隐私保护方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231404A (ja) * 2009-03-26 2010-10-14 Ntt Communications Kk 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム
JP2014078770A (ja) * 2012-10-06 2014-05-01 Mitsubishi Electric Corp アクセス権付き暗号化装置、アクセス権付き暗号システム、アクセス権付き暗号化方法およびアクセス権付き暗号化プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JUN SAKUMA: "Genome and Privacy", IEICE FUNDAMENTALS REVIEW, vol. 7, no. 4, 2 April 2014 (2014-04-02), pages 348 - 364, Retrieved from the Internet <URL:https://www.jstage.jst.go.jp/article/essfr/7/4/7_348/_pdf> [retrieved on 20160127] *
MASAYA YASUDA ET AL.: "A customer information analysis between enterprises using homomorphic encryption", FIT2013 DAI 12 KAI FORUM ON INFORMATION TECHNOLOGY KOEN RONBUNSHU, vol. 4, no. RL-003, 20 August 2013 (2013-08-20), pages 15 - 22 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11139952B2 (en) 2017-01-18 2021-10-05 Mitsubishi Electric Corporation Homomorphic computation device, encryption system, and computer readable medium
JP6452910B1 (ja) * 2018-01-17 2019-01-16 三菱電機株式会社 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム
US11451372B2 (en) 2018-01-17 2022-09-20 Mitsubishi Electric Corporation Privacy-preserving analysis device, privacy-preserving analysis system, privacy-preserving analysis method, and computer readable medium
CN108880798A (zh) * 2018-06-28 2018-11-23 西南交通大学 一种实现细粒度属性撤销的属性基重加密方法
CN108880798B (zh) * 2018-06-28 2020-11-03 西南交通大学 一种实现细粒度属性撤销的属性基重加密方法
JP2020092414A (ja) * 2018-11-08 2020-06-11 アクセンチュア グローバル ソリューションズ リミテッド ブロックチェーンのための暗号化データ共有管理
US11297043B2 (en) 2018-11-08 2022-04-05 Accenture Global Solutions Limited Cryptographic datashare control for blockchain
JP2022141772A (ja) * 2018-11-08 2022-09-29 アクセンチュア グローバル ソリューションズ リミテッド ブロックチェーンのための暗号化データ共有管理
JP7149445B2 (ja) 2018-11-08 2022-10-06 アクセンチュア グローバル ソリューションズ リミテッド ブロックチェーンのための暗号化データ共有管理
CN111523125A (zh) * 2019-02-01 2020-08-11 和硕联合科技股份有限公司 数据分析系统与数据分析方法
CN111523125B (zh) * 2019-02-01 2023-09-15 和硕联合科技股份有限公司 数据分析系统与数据分析方法

Also Published As

Publication number Publication date
JPWO2016103960A1 (ja) 2017-11-16
JP6677653B2 (ja) 2020-04-08

Similar Documents

Publication Publication Date Title
JP6677653B2 (ja) 制御装置、解析装置および復号装置
JP2019516266A (ja) 量子鍵配送に基づく暗号化及び復号のためのシステム及び方法
US20120331283A1 (en) User-controlled data encryption with obfuscated policy
US20100122083A1 (en) Method and apparatus for securely communicating personal health information
JP6245782B1 (ja) 個人情報保護システム
CN104620535A (zh) 基于属性的加密
KR101022213B1 (ko) 멀티 프록시 재암호화 기반 의료데이터 공유 방법 및 장치
KR101701304B1 (ko) 클라우드 환경에서 속성기반 암호를 이용한 의료 데이터 관리 방법 및 시스템
Sethia et al. CP-ABE for selective access with scalable revocation: A case study for mobile-based healthfolder.
Ajagbe et al. Empirical evaluation of efficient asymmetric encryption algorithms for the protection of electronic medical records (EMR) on web application
JP2024510658A (ja) マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体
KR101894661B1 (ko) 진료 정보 교류 시스템 및 진료 정보 교류 방법
WO2015083210A1 (ja) データ処理システム及び暗号装置及び復号装置及びプログラム
EP3985540A1 (en) Method and apparatus for generating synthetic data
CN105827585A (zh) 再加密方法、再加密系统以及再加密装置
JP2006099548A (ja) データ共有システム、データ共有方法、データ保有者デバイスおよびデータサーバ
JP2015170057A (ja) 秘匿検索装置、秘匿検索方法および秘匿検索プログラム
Rajput et al. Privacy-preserving distribution and access control of personalized healthcare data
Omotosho et al. Securing private keys in electronic health records using session-based hierarchical key encryption
ES2926930T3 (es) Método general de protección de datos para almacenamiento y uso compartido de datos confidenciales multicéntricos
KR20210158824A (ko) 재현 데이터 생성 장치 및 방법
JP2016027391A (ja) 秘匿ベクトル内積計算システム、データ処理装置、秘匿ベクトル内積計算方法、秘匿ベクトル内積プログラム、および、記録媒体
JP2007080041A (ja) 電子カルテシステム
Lakshmanan et al. Merkle tree-blockchain-assisted privacy preservation of electronic medical records on offering medical data protection through hybrid heuristic algorithm
JP2006352316A (ja) プライバシー保護暗号化方法、プライバシー保護暗号化システムおよびプライバシー保護暗号化プログラム

Legal Events

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

Ref document number: 15872529

Country of ref document: EP

Kind code of ref document: A1

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
ENP Entry into the national phase

Ref document number: 2016566025

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15872529

Country of ref document: EP

Kind code of ref document: A1