WO2017077600A1 - 匿名化システム - Google Patents
匿名化システム Download PDFInfo
- Publication number
- WO2017077600A1 WO2017077600A1 PCT/JP2015/081054 JP2015081054W WO2017077600A1 WO 2017077600 A1 WO2017077600 A1 WO 2017077600A1 JP 2015081054 W JP2015081054 W JP 2015081054W WO 2017077600 A1 WO2017077600 A1 WO 2017077600A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- encryption
- data
- encrypted
- anonymization
- unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
- G06F7/026—Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
Definitions
- the embodiment of the present invention relates to an anonymization system.
- an anonymization process is used that makes it difficult or impossible to identify an individual without reducing the amount of personal data as much as possible.
- the data owner performs anonymization processing on a large amount of personal data, and provides the obtained anonymization data to an external data analyst who performs statistical processing.
- an external service there is a cloud computing service (hereinafter also referred to as a cloud service).
- a cloud service In recent years, with the spread of cloud services, facilities for managing large amounts of data are shifting from an internal server of a data owner to an external cloud service. Similarly, at this time, the data owner takes security measures such as performing encryption processing or anonymization processing on a large amount of personal data and causing the cloud service to manage the obtained encrypted data or anonymization data. .
- each device such as vending machines, elevators, plant facilities, etc. is equipped with sensors, processing devices, communication devices, etc., information exchange and remote monitoring / control, etc. via a network without human intervention M2M (machine-to-machine) services that perform the above are becoming popular.
- M2M machine-to-machine
- Typical examples of anonymization processing include deletion, pseudonymization, top coding, grouping, resampling, sorting, swapping, error introduction, etc. (for example, ( Related Guidelines Attachment 2 Techniques for Anonymization ”[online], March 28, 2011, Ministry of Internal Affairs and Communications, [April 25, 2014 search], Internet ⁇ URL: http: //www.stat.go .jp / index / seido / pdf / 35glv4.pdf>)).
- deletion is a method of deleting identification information that can directly or indirectly identify an individual such as a household or residence.
- Kana conversion is a method of deleting identification information that can directly identify an individual, such as a name, and assigning another ID or pseudonym.
- Topic coding is a method of collecting special attributes that make it easy to identify individuals with particularly large or small values, such as attributes such as age and the number of households. For example, particularly large values and small values are grouped so as to be higher than the upper threshold value and lower than the lower threshold value.
- Grouping is a method in which specific values are grouped and changed to class distinction like attributes such as age. In the case of age, for example, the specific value “23 years old” is changed to a class distinction “20s”.
- “Resampling” is a method of providing only a part of all data to a data analyst, such as randomly extracting and providing 80% of data from the whole.
- “Sort” is a method that makes it impossible to identify individuals by rearranging the arrangement order of data records.
- “Swapping” is a method of exchanging the values of some attributes between two records, such as exchanging the age or height of the two persons between the data for two persons.
- “Introduction of error” is a method of introducing an error into some attributes of the record, for example, introducing an error into the height.
- the data owner converts the encrypted data so that it can be decrypted by the data analyst and provides it to the data analyst.
- the personal data decrypted by the data analyst is not anonymized, which is not preferable from the viewpoint of privacy protection.
- the data owner anonymizes personal data, encrypts the anonymized data, stores the encrypted data in the cloud system, and the data analyst downloads and decrypts the encrypted data in the cloud system.
- the encrypted data in the cloud system is anonymized data in which the amount of information is reduced from the original personal data.
- the data owner since it is necessary for the data owner to manage the original personal data separately from the cloud system, the data owner does not make sense to use the cloud system, which is not preferable.
- the problem to be solved by the present invention is to provide an anonymization system that can anonymize encrypted data obtained by encrypting personal data without decrypting it.
- the anonymization system of the embodiment includes one or more encryption devices, anonymization devices, and decryption devices.
- the encryption device includes first storage means and encryption means.
- the first storage means stores personal data including a value for each item.
- the encryption unit generates encrypted data from the personal data by a process of encrypting the value of each item included in the personal data.
- the anonymization device includes second storage means and anonymization means.
- the second storage means stores the encrypted data generated by the encryption device.
- the anonymization means generates encrypted anonymized data from the encrypted data by performing anonymization without decrypting values of some items of the encrypted data in the second storage means .
- the decoding device includes third storage means and decoding means.
- the third storage means stores the encrypted anonymized data generated by the anonymization device.
- the decrypting unit generates anonymized data from the encrypted anonymized data by a process of decrypting the encrypted anonymized data in the third storage unit.
- FIG. 1 is a schematic diagram illustrating an anonymization system and its peripheral configuration according to the first embodiment.
- FIG. 2 is a schematic diagram showing a configuration of a modified example of the embodiment.
- FIG. 3 is a schematic diagram showing an example of personal data in the embodiment.
- FIG. 4 is a sequence diagram for explaining the operation in the embodiment.
- FIG. 5 is a schematic diagram showing an example of encrypted data in the embodiment.
- FIG. 6 is a schematic diagram illustrating an example of encrypted anonymized data according to the embodiment.
- FIG. 7 is a sequence diagram for explaining the operation of the modified example of the embodiment.
- FIG. 8 is a sequence diagram for explaining the deformation operation of the modification in the embodiment.
- FIG. 9 is a schematic diagram showing the anonymization system and its peripheral configuration according to the second embodiment.
- FIG. 10 is a sequence diagram for explaining the operation in the embodiment.
- FIG. 11 is a sequence diagram for explaining the operation in the third embodiment.
- FIG. 12 is a schematic diagram showing an example of personal data in the embodiment.
- FIG. 13 is a schematic diagram showing an example of encrypted data in the embodiment.
- FIG. 14 is a schematic diagram illustrating an example of encrypted anonymized data according to the embodiment.
- FIG. 15 is a schematic diagram showing an anonymization system and its peripheral configuration according to the fourth embodiment.
- FIG. 16 is a sequence diagram for explaining the operation in the embodiment.
- FIG. 17 is a sequence diagram for explaining the operation in the fifth embodiment.
- FIG. 18 is a schematic diagram showing an example of personal data in the embodiment.
- FIG. 19 is a schematic diagram showing an example of encrypted data in the embodiment.
- FIG. 20 is a schematic diagram illustrating an example of encrypted anonymized data according to the embodiment.
- FIG. 21 is a sequence diagram for explaining the operation in the sixth embodiment.
- FIG. 22 is a sequence diagram for explaining the operation in the seventh embodiment.
- FIG. 23 is a schematic diagram illustrating an anonymization system and its peripheral configuration according to the ninth embodiment.
- FIG. 24 is a sequence diagram for explaining the operation in the embodiment.
- FIG. 25 is a schematic diagram showing an example of encrypted data in the embodiment.
- FIG. 26 is a schematic diagram illustrating an example of encrypted anonymized data according to the embodiment.
- FIG. 27 is a schematic diagram illustrating a configuration of a modified example of the embodiment.
- FIG. 28 is a sequence diagram for explaining the operation of the modified example of the embodiment.
- FIG. 21 is a sequence diagram for explaining the operation in the sixth embodiment.
- FIG. 22 is a sequence diagram for explaining the operation in the seventh embodiment.
- FIG. 23 is a schematic diagram illustrating an anonymization system and its peripheral configuration according to
- FIG. 29 is a sequence diagram for explaining a deforming operation of the modified example of the embodiment.
- FIG. 30 is a schematic diagram illustrating the anonymization system and its peripheral configuration according to the tenth embodiment.
- FIG. 31 is a sequence diagram for explaining the operation in the same embodiment.
- FIG. 32 is a sequence diagram for explaining the operation in the eleventh embodiment.
- FIG. 33 is a schematic diagram showing an example of encrypted data in the embodiment.
- FIG. 34 is a schematic diagram showing an example of encrypted anonymized data in the embodiment.
- FIG. 35 is a sequence diagram for explaining the operation in the twelfth embodiment.
- FIG. 36 is a sequence diagram for explaining the operation in the thirteenth embodiment.
- FIG. 37 is a schematic diagram showing an example of encrypted data in the embodiment.
- FIG. 38 is a schematic diagram showing an example of encrypted anonymized data in the embodiment.
- FIG. 39 is a sequence diagram for explaining the operation of the modified example of the embodiment.
- FIG. 40 is a sequence diagram for explaining a deforming operation of the modified example of the embodiment.
- FIG. 41 is a schematic diagram showing the anonymization system and its peripheral configuration according to the fourteenth embodiment.
- FIG. 42 is a sequence diagram for explaining the operation in the same embodiment.
- FIG. 43 is a schematic diagram for explaining the outline of each embodiment.
- FIG. 44 is a schematic diagram for explaining the outline of each embodiment.
- Each device used in each embodiment can be implemented with either a hardware configuration or a combination configuration of hardware resources and software.
- As the software of the combined configuration a program that is installed in advance on a computer of a corresponding device from a network or a storage medium and that realizes the function of the corresponding device is used.
- the first method is an encryption method that can be added and subtracted in an encrypted state (hereinafter referred to as homomorphic encryption), and is also referred to as a [Paillier] method.
- the second method is an order-preserving encryption method in which the magnitude relation of the ciphertext matches the corresponding magnitude relation of the plaintext, and is also referred to as an [OPE] scheme.
- the third method is a homomorphic encryption and can be compared in size, and is also referred to as [HLP10] method.
- the fourth method is a homomorphic encryption and can be compared in size, and is also called [AN2013-51001] method.
- the encrypted data is anonymized using this type of method.
- the encrypted data can be output to the outside before anonymization. Therefore, the encrypted data can be stored in an external service such as a cloud.
- the anonymized data may be obtained by decrypting the encrypted anonymized data obtained by anonymizing the encrypted data.
- the basic model of the [Paillier] method includes the following five functions (hereinafter also referred to as an algorithm): key generation, encryption, ciphertext addition, ciphertext subtraction, and decryption.
- Encryption Enc (pk A , m1) ⁇ C A, m1
- Enc outputs ciphertext CA , m1 addressed to user A.
- the basic model of the [OPE] method includes the following four functions (hereinafter also referred to as an algorithm): key generation, encryption, ciphertext comparison, and decryption.
- Encryption Enc (sk A , m1) ⁇ C A, m1
- the encryption algorithm Enc outputs the ciphertext C A, m1 when the secret key sk A and the plaintext m1 are input.
- the ciphertext comparison algorithm Comp when ciphertext C A, m1 and C A, m2 is input, is 1 when m1 is greater than m2, 0 when m1 and m2 are equal, and m1 is greater than m2. If it is smaller, -1 is output.
- Enc (Encryption) Enc (sk A , m1) ⁇ CA , m1
- the encryption algorithm Enc outputs the ciphertext C A, m1 when the secret key sk A and the plaintext m1 are input.
- the ciphertext comparison algorithm Comp when ciphertext C A, m1 and C A, m2 is input, is 1 when m1 is greater than m2, 0 when m1 and m2 are equal, and m1 is greater than m2. If it is smaller, -1 is output.
- (Decryption) Dec (sk A , C A, m1 + m2 ) ⁇ m1 + m2
- the decryption algorithm Dec outputs the plaintext m1 + m2 when the secret key sk A and the ciphertext C A, m1 + m2 are input.
- the key generation algorithm KeyGen is provided with encryption keys a, g sv , g, N, secondary operation keys a ⁇ 1 , s, N, tertiary operation keys v, N, and a decryption key sv, a ⁇ 1 , N (or s, v, a ⁇ 1 , N) are output.
- the key generation algorithm KeyGen calculates parameters pp'qq 'and N.
- the key generation algorithm KeyGen generates a multiplicative group G having an order of pp′qq ′, and randomly selects an element g of G from G.
- the position number to generate a multiplicative group G is Pp'qq ', for example, select the Z N 2 * original randomly from Z N 2 *, a value obtained by squaring the selected element g What should I do?
- the key generation algorithm KeyGen randomly selects part a, s, v of each key from the set ⁇ 1,..., Pp′qq ′ ⁇ based on the previously calculated parameters pp′qq ′ and N. To do.
- the key generation algorithm KeyGen includes encryption keys a, g sv , g, N, secondary operation keys a ⁇ 1 , s, N, tertiary operation keys v, N, and decryption keys sv, a ⁇ 1 , N (or s, v, a ⁇ 1 , N) is output.
- the encryption key may be a, sv, g, N, or a, s, v, g, N. Further, g, N, and N 2 may not be included in the encryption key, the secondary operation key, and the tertiary operation key, but may be disclosed to each device as public parameters.
- the encryption key includes a, s, v (or a, sv).
- the secondary operation key includes a ⁇ 1 and s.
- the tertiary operation key includes v.
- Each plaintext m i is the original Z N.
- the encryption algorithm Enc randomly selects k random numbers r 1 ,..., Rk from Z N 2 * .
- the encryption algorithm Enc uses the generated random numbers r 1 ,..., R k and the encryption keys a, g sv , g, N described above, and plaintexts m 1 ,. Is encrypted.
- the encryption key a may be generated by a key generation device provided with the key generation algorithm KeyGen, or may be generated by an encryption device provided with the key generation algorithm KeyGen. In the latter case, the key generation device transmits the encryption keys g sv , g, and N to the encryption device, and the encryption device generates the encryption key a and calculates the value of a ⁇ 1 . If the encryption device does not know the value of pp′qq ′, the encryption device a may randomly select the encryption key a from Z N 2 * .
- the primary calculation processing in this example is processing for adding / subtracting ciphertext (encrypted data).
- ni is an arbitrary integer.
- K is a set of indexes i necessary for calculating Formula F.
- F 2m 1 ⁇ m 2
- the reduced number m a is 3 m 2 + m 5
- the reduced number m b is 4 m 3 .
- Good ⁇ 1, 2 ⁇ .
- the secondary calculation process in this example is a process for randomizing the ciphertext (encrypted data) obtained by addition / subtraction.
- the secondary arithmetic processing algorithm Cal 2nd generates parameters L, J, ⁇ , and D. An index for selecting these parameters L, J, ⁇ , and D will be described later.
- the parameters L, J, ⁇ , and D may be given from the outside.
- ⁇ 1 or ⁇ ⁇ 2 may be satisfied.
- the random number z is randomly selected from the set ⁇ 0, 1,..., J ⁇ .
- the secondary arithmetic processing algorithm Cal 2nd calculates the random number R shown in the following equation, and acquires the random numbers R and z.
- D be the maximum absolute value that can be determined to be positive or negative. That is, suppose that it is possible to determine that F is positive when 0 ⁇ F ⁇ D and that F is negative when -D ⁇ F ⁇ 0.
- the secondary arithmetic processing algorithm Cal 2nd selects ⁇ random numbers r ′ i so as to satisfy the following expression.
- the secondary arithmetic processing algorithm Cal 2nd selects J so that the probability that R ⁇ J is sufficiently small when R, which is the product of ⁇ random numbers r ′ i , is selected as described above.
- the tertiary operation processing algorithm Cal 3rd outputs a determination result indicating positive or negative (or 0).
- the tertiary operation processing in this example is processing for determining the magnitude relationship between the subordinate and the subtraction in the addition / subtraction formula from the ciphertext (encrypted data) that has been randomized and added / subtracted.
- the tertiary operation processing algorithm Cal 3rd uses the above-described tertiary operation keys v and N and secondary operation results Y 1 and Y 2 to calculate W ′ by the following equation.
- the tertiary operation processing algorithm Cal 3rd calculates the tertiary operation result W according to the following equation.
- the tertiary arithmetic processing algorithm Cal 3rd determines that the expression F is positive if W ⁇ N / 2, and determines that the expression F is negative (or 0) otherwise.
- the decryption algorithm Dec outputs a plaintext m when the decryption keys sv, a ⁇ 1 , N (or s, v, a ⁇ 1 , N) and the ciphertext C are input.
- the decryption algorithm Dec uses the decryption keys sv, a ⁇ 1 , N (or s, v, a ⁇ 1 , N) and the ciphertext C i to calculate D ′ by the following equation.
- D ′ is not a multiple of N
- the subsequent calculation is not performed and the decoding process is terminated. Otherwise (if D 'is a multiple of N), the decryption algorithm Dec is the following equation to calculate the plaintext m i.
- AES Advanced Encryption Standard
- FIPS-197 http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
- An encryption method ([AES] method) that uses the same key for encryption and decryption is described.
- the basic model of an encryption method that retains the properties of the [AES] method is composed of the following three functions (hereinafter also referred to as an algorithm) of key generation, encryption, and decryption.
- Enc (Encryption) Enc (sk A , m1) ⁇ CA , m1
- the encryption algorithm Enc outputs the ciphertext C A, m1 when the secret key sk A and the plaintext m1 are input.
- FIG. 43 shows the case (A) in which the data owner saves the encrypted data in the external service.
- FIG. 44 shows the case (B) in which the M2M service stores the encrypted data in the external service.
- FIG. 1 is a schematic diagram showing an anonymization system and its peripheral configuration according to the first embodiment.
- the anonymization system includes one or more encryption devices 10, anonymization devices 20, and decryption devices 30, and the devices 10, 20, 30 are connected to each other via a communication network 40.
- the communication network 40 is connected to the statistical processing device 50.
- the communication network 40 is, for example, a wireless local area network (LAN), a wired LAN, an optical line network, a telephone line network, an intranet, Ethernet (registered trademark), the Internet, or a combination thereof.
- the encryption apparatus 10 includes an encryption parameter storage unit 11, a key storage unit 12, a temporary data storage unit 13, a communication unit 14, a parameter generation unit 15, a random number generation unit 16, an encryption unit 17, and a control unit 18. ing.
- an encryption parameter storage unit 11 a key storage unit 12, a temporary data storage unit 13, a communication unit 14, a parameter generation unit 15, a random number generation unit 16, an encryption unit 17, and a control unit 18. ing.
- a case where one encryption device 10 is used will be described.
- the case of using a plurality of encryption devices will be described in the second embodiment.
- the encryption parameter storage unit 11, the key storage unit 12, and the temporary data storage unit 13 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device. Store keys and temporary data.
- the temporary data storage unit 13 constitutes a first storage unit that stores personal data including a value for each item.
- the communication unit 14, the parameter generation unit 15, the random number generation unit 16, the encryption unit 17, and the control unit 18 are realized by, for example, a processor (not shown) executing a program including each step in the encryption device 10 to be described later. It is a functional block.
- the encryption unit 17 constitutes an encryption unit that generates encrypted data from the personal data by a process of encrypting the value of each item included in the personal data.
- the encryption part 17 comprises the parameter encryption means which encrypts the parameter for anonymous used for the process which anonymizes, and produces
- anonymity parameters for example, random numbers, threshold values, lower limit values, upper limit values, representative values, errors, and the like can be used as appropriate.
- a random number is used as the anonymous parameter.
- an encryption anonymous parameter for example, an encrypted random number, an encryption threshold value, an encryption lower limit value, an encryption upper limit value, an encryption representative value, an encryption error, and the like can be used as appropriate.
- an encrypted random number is used as an encrypted anonymous parameter.
- the parameter encryption means is not essential and can be omitted as described in the thirteenth and fourteenth embodiments.
- the anonymization unit 20 includes an encryption parameter storage unit 21, an encrypted data storage unit 22, a temporary data storage unit 23, a communication unit 24, a random number generation unit 25, an anonymization processing unit 26, a calculation unit 27, a calculation result comparison unit 28, and A control unit 29 is provided.
- the encryption parameter storage unit 21, the encrypted data storage unit 22, and the temporary data storage unit 23 can be realized as a storage device or a storage area of the storage device that can be read / written from a processor (not shown). Stores encrypted data, temporary data, and the like.
- the temporary data storage unit 23 constitutes a second storage unit that stores the encrypted data generated by the encryption device 10.
- the communication unit 24, the random number generation unit 25, the anonymization processing unit 26, the calculation unit 27, the calculation result comparison unit 28, and the control unit 29 include, for example, a program in which a processor (not shown) includes each step in the anonymization unit 20 described later. It is a functional block realized by executing.
- the anonymization processing unit 26 generates anonymous anonymized data from the encrypted data by performing anonymization without decrypting values of some items of the encrypted data in the second storage unit. Is configured.
- the anonymization means has a function of generating encrypted anonymized data from the encrypted data based on the encrypted anonymous parameter generated by the encryption device 10. However, this function is omitted when the encryption anonymous parameter is not used, as described in the thirteenth and fourteenth embodiments.
- the decryption device 30 includes an encryption parameter storage unit 31, a secret key storage unit 32, a temporary data storage unit 33, a communication unit 34, a random number generation unit 35, a key generation unit 36, a decryption unit 37, and a control unit 38.
- the encryption parameter storage unit 31, the secret key storage unit 32, and the temporary data storage unit 33 can be realized as a storage device or a storage area of the storage device that can be read / written by a processor (not shown). Store keys and temporary data.
- the temporary data storage unit 33 constitutes third storage means for storing encrypted anonymized data generated by the anonymization device 20.
- the communication unit 34, the random number generation unit 35, the key generation unit 36, the decryption unit 37, and the control unit 38 are realized by, for example, a processor (not shown) executing a program including each step in the decryption device 30 described later. It is a functional block.
- the decrypting unit 37 constitutes decrypting means for generating anonymized data from the encrypted anonymized data by a process of decrypting the encrypted anonymized data in the third storage means.
- the anonymization data may be, for example, information including values obtained by anonymizing the values of some items in personal data and values of items other than some items.
- the encrypted anonymized data includes a value obtained by anonymizing encrypted values of some items included in the encrypted data, and values of items other than some items included in the encrypted data. May be included.
- values in which encrypted values of some items included in encrypted data are anonymized means that “values in some items included in anonymized data are anonymous
- the encrypted value may be read as the same value as the “encrypted value”.
- the statistical processing device 50 includes a data storage unit 51, a communication unit 52, and a statistical processing unit 53.
- the data storage unit 51 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device, and stores anonymized data, statistical data, and the like.
- the communication unit 52 and the statistical processing unit 53 are functional blocks realized by, for example, a processor (not shown) executing a program including each step in the statistical processing device 50 described later.
- each apparatus 10, 20, 30, 50 is one or more arbitrary numbers. May be provided.
- the anonymization device 20 has a function for storing encrypted data (encrypted data storage unit 22), and the decryption device 30 has a function for generating keys (each unit 31, 33 to 36, 38).
- each function may be arranged in another device. The same applies to any device and any function.
- This embodiment relates to a technique for pseudonymizing an employee number, which is one of personal data, while encrypting it.
- Personal data is information about an individual, such as name, employee number, age, income, date of birth, and other information that can identify a specific individual by a single or multiple combination.
- “Personal data” may be called “personal information” or “data of personal information”.
- attribute values character strings or numerical values
- attribute items such as name, employee number, age, and income are used as personal data, and the personal data is stored in the table T1.
- a character string is used for the attribute value of the attribute item “name”.
- a numerical value is used for the attribute value of the attribute item “employee number” (however, since the employee number is ID information, a combination of a character string and a numerical value may be used).
- the table T1 includes personal data as attribute values of the attribute items shown in the drawing, but may also include information other than personal data as attribute values of other attribute items (not shown). In any case, personal data is described in the table T1.
- attribute items whose information values other than personal data are attribute values, for example, diseased disease names, purchased product names, questionnaire responses, and the like can be used as appropriate.
- the term “attribute item” may be simply called “attribute” or “item”, or may be called “attribute information” or “item information”.
- the term “attribute value” may simply be called “value”.
- Personal data anonymization refers to a process of converting personal data so that a specific individual cannot be identified.
- a method as described above is known.
- step ST1 the key generation unit 36 of the decryption device 30 generates a key pair (public key pk A , secret key sk A ) in the homomorphic encryption method based on the security parameter (1 k ) in the encryption parameter storage unit 31. Generate.
- the key generation unit 36 can acquire a random number necessary for the key pair generation process from the random number generation unit 35. Further, the key generation unit 36 of the decryption apparatus 30 stores the generated key pair (pk A , sk A ) in the secret key storage unit 32.
- the public key pk A is an encryption key
- the secret key sk A is a decryption key.
- step ST ⁇ b> 2 the control unit 38 of the decryption device 30 sends the public key pk A , which is an encryption key, to the encryption device 10 through the communication unit 34.
- the control unit 18 of the encryption device 10 stores the public key pk A received by the communication unit 14 in the key storage unit 12.
- step ST ⁇ b> 3 the encryption unit 17 of the encryption device 10 reads the table T ⁇ b> 1 illustrated in FIG. 3 from the temporary data storage unit 13.
- the encryption unit 17 encrypts the attribute value data i of the attribute item (employee number) to be pseudonymized for each record in the table T1 based on the public key pk A in the key storage unit 12.
- the encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.
- the encryption unit 17 encrypts the attribute values of attribute items other than the attribute items to be pseudonymized for each record in the table T1 based on the public key pk A.
- the attribute values of all the attribute items in the table T1 are encrypted, and as shown in FIG. 5, a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.
- step ST4 the control unit 18 of the encryption device 10 sends the encrypted data including the table T1e to the anonymization device 20 through the communication unit 14.
- step ST5 the anonymization device 20 stores the table T1e, which is encrypted data received by the communication unit 24, in the temporary data storage unit 23.
- step ST ⁇ b> 6 the random number generation unit 16 of the encryption device 10 generates an anonymous parameter for pseudonymization as the random number R.
- the encryption unit 17 encrypts the generated random number R with a homomorphic encryption method based on the public key pk A in the key storage unit 12, and generates encrypted random numbers C A, R that are encryption anonymous parameters. .
- step ST7 the control unit 18 of the encryption device 10 sends the attribute item (employee number) to be pseudonymized in the table T1e and the encrypted random numbers C A, R to the anonymization device 20 through the communication unit 14.
- the anonymization device 20 holds or generates the encrypted random numbers C A, R in advance by obtaining the public key pk A by the anonymization device 20 in advance, the encrypted random number C A by the encryption device 10 is used. Therefore , generation and sending of R can be omitted.
- the anonymization device 20 holds or generates the encrypted random numbers C A, R in advance by obtaining the public key pk A by the anonymization device 20 in advance. Therefore , generation and sending of R can be omitted.
- the anonymization device 20 holds or generates the encrypted random numbers C A, R in advance by obtaining the public key pk A by the anonymization device 20 in advance, the encrypted random number C A by the encryption device 10 is used. Therefore , generation and sending of R can be omitted.
- step ST ⁇ b> 8 the anonymization device 20 receives the attribute item (employee number) and the encrypted random numbers C A, R through the communication unit 24.
- the anonymization processing unit 26 includes the attribute value C A, data_i of the attribute item (employee number) that matches the received attribute item (employee number) in the table T1e in the temporary data storage unit 23 and the received encrypted random number. C A and R are added for each record.
- the attribute value C A, data_i encrypted in step ST3 is an encrypted attribute value C A, R without being decrypted by adding the encrypted random numbers C A, R in the encrypted state. Converted to A, data_i + R.
- the attribute value of the attribute item (employee number) to be pseudonymized in the table T1e is anonymized, and as shown in FIG. 6, the table T1a including the anonymized attribute value CA, data_i + R is obtained. Generated as encrypted anonymized data.
- the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.
- step ST9 the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T1a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.
- the attribute value data_i of the table T1 expressed in numerical values can be pseudonymized with a random number R for pseudonymization.
- the encryption apparatus 10 may create a correspondence table before and after pseudonymization based on the encrypted random numbers CA and R for pseudonymization. In this case, it is possible to specify an individual from the attribute information of the kana table, or to restore the kana processing.
- step ST10 the control unit 38 of the decryption device 30 receives the encrypted anonymized data by the communication unit 34 and stores it in the temporary data storage unit 33.
- the decryption unit 37 decrypts the value of each attribute item in the table T1a that is the encrypted anonymized data in the temporary data storage unit 33. Then, a table of the obtained decoding results is obtained.
- the control unit 38 of the decryption device 30 determines whether or not the attribute value of the attribute item (employee number) to be pseudonymized in the decryption result table is anonymized. For example, when an encrypted random number C A, R with a higher number of digits (eg, 7 digits) than the number of digits of the attribute value before anonymization (eg, 5 digits) is added, the number of digits with the higher attribute value (eg, 7 digits), it is determined that anonymization has occurred. In addition, for example, if the attribute value of an anonymized attribute item (employee number) is different from the value before anonymization and the value after anonymization, it is determined that the attribute value is anonymized. Good.
- the encryption device 10 may transmit the value before anonymization to the decryption device 30 at an arbitrary timing.
- the process is repeated from step ST6 (or ST4), and the process is repeated until a preferable anonymization result is obtained.
- step ST11 when the attribute value is anonymized as a result of the determination, the control unit 38 of the decryption device 30 uses the communication unit 34 to safely convert the anonymized data including the decryption result table to the statistical processing device 50. Send to.
- step ST12 the statistical processing device 50 executes statistical processing using the anonymized data received by the communication unit 52, and stores the obtained statistical processing result in the data storage unit 51. Thereafter, the statistical processing device 50 appropriately uses the statistical processing result.
- encrypted data is generated from the personal data by the process of encrypting the value of each item included in the personal data.
- Encrypted anonymized data is generated from the encrypted data by performing anonymization without decrypting the values of some items of the encrypted data.
- Anonymized data is generated from the encrypted anonymized data by the process of decrypting the encrypted anonymized data.
- the parameter for anonymization used for the anonymization process is encrypted to generate the parameter for encryption anonymization, and the encrypted anonymization data is converted from the encrypted data based on the parameter for encryption anonymity. Generate.
- anonymization data of a preferable anonymization result can be generated by adjusting the parameter for anonymization and redoing the anonymization process.
- the decryption device 30 performs key generation.
- the present invention is not limited to this, and the encryption device 10 may perform key generation and send a key to an appropriate device as in the present embodiment. Good.
- the present embodiment can be similarly implemented with an (additive) homomorphic encryption and an encryption method capable of comparing sizes.
- these encryption methods are used, the same effect can be obtained by performing the present embodiment in the same manner by replacing the encryption algorithm in each encryption method.
- the key generation device 60 in which the key generation function (random number generation unit 35 and key generation unit 36) is separated from the decryption device 30, and the storage function (encrypted data) from the anonymization device 20.
- the anonymization device 20 cooperate with the existing data storage device 70, it is possible to obtain the same effect as the present embodiment.
- the key generation device 60 includes an encryption parameter storage unit 61, a temporary data storage unit 62, a communication unit 63, a random number generation unit 64, a key generation unit 65, and a control unit 66.
- the encryption parameter storage unit 61 and the temporary data storage unit 62 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device, and store encryption parameters, temporary data, and the like, respectively.
- the communication unit 63, the random number generation unit 64, the key generation unit 65, and the control unit 66 are, for example, functional blocks realized when a processor (not shown) executes a program including each step in the key generation device 60 described later. It has become.
- the data storage device 70 is a device (or system) that is implemented by, for example, the cloud and can store a large amount of data, and includes a data storage unit 71 and a communication unit 72.
- the data storage unit 71 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device, and stores data and the like.
- the communication unit 72 is, for example, a functional block realized by a processor (not shown) executing a program including steps in the data storage device 70 described later.
- the above-described steps ST1 to ST12 are shared by the devices 10, 20, 30, 50, 60, and 70 and executed.
- the same step number is assigned regardless of whether or not the device to be executed is changed, and the step itself is divided into a plurality of substeps.
- branch numbers (-1, -2, -3) are added to the step numbers.
- the method of assigning such step numbers is the same in the following embodiments and modifications.
- FIG. 7 mainly shows the case where the encrypted data stored in the data storage device 70 is anonymized by the anonymization device 20, the obtained anonymized data is updated on the data storage device 70, and sent to the decryption device 30. It is a sequence diagram for demonstrating operation
- the key generation device 60 generates and stores a key pair (ST1), and sends the encryption key to the encryption device 10 (ST2).
- the encryption device 10 encrypts the data (ST3) and sends the obtained encrypted data to the data storage device 70 (ST4).
- the data storage device 70 stores the encrypted data (ST5).
- the encryption device 10 encrypts the random number R (ST6), and sends the obtained encrypted random number CA , R to the anonymization device 20 (ST7).
- the data storage device 70 sends the stored encrypted data to the anonymization device 20 (ST8-1).
- the anonymization device 20 anonymizes the sent encrypted data based on the encrypted random numbers C A, R without deciphering the pseudo data, and sends the obtained encrypted anonymized data to the data storage device 70.
- the data storage device 70 stores the sent encrypted anonymized data (ST9-2), and sends the encrypted anonymized data to the decryption device 30 (ST9-3).
- the decryption device 30 requests the key generation device 60 for a decryption key.
- the key generation device 60 sends the decryption key to the decryption device 30 (ST10-1).
- the decryption device 30 decrypts the encrypted anonymized data based on the sent decryption key, and determines (confirms) whether or not the obtained anonymized data is anonymized (ST10-2). If the result of determination is no, the process is repeated from step ST6. As a result of the determination, if it is anonymized, the above-described steps ST11 to ST12 are executed.
- FIG. 8 mainly illustrates that the encrypted data stored in the data storage device 70 is anonymized by the anonymization device 20, and the obtained anonymized data is not updated on the data storage device 70, but the decryption device 30.
- It is a sequence diagram for demonstrating the operation
- the encrypted data in the data storage device 70 remains in the state in which the original data is encrypted, and anonymized data that is anonymized with respect to that state can be appropriately obtained.
- the encrypted data of the data storage device 70 is not updated, it is not necessary to manage the encrypted data before and after anonymization by the encryption device 10 or the decryption device 30, thereby reducing the data management cost. It becomes possible. This also applies to embodiments and modifications described later.
- the anonymization device 20 uses the encrypted random numbers C A, R for the attribute value C A, data_i of the attribute item (employee number) to be pseudonymized in the table T1e as a pseudonym.
- data_i of the attribute item employee number
- FIG. 9 is a schematic diagram showing the anonymization system and its peripheral configuration according to the second embodiment. The same parts as those in FIG. 1 and FIG. The part is mainly described. In the following embodiments and modifications, the description of the duplicated portions is omitted in the same manner.
- the second embodiment encrypts personal data acquired by each device like the M2M service.
- the encrypted data is collected by the anonymization device 20.
- Each device here corresponds to each encryption device (1 to N) 10.
- N encryption devices 10 are provided, and a key generation device 60 and a parameter generation device 80 are further provided, compared to the configuration shown in FIG.
- the parameter generation device 80 is not indispensable.
- any encryption device 10 generates a parameter (eg, random number R) and an encryption parameter (encryption random number C A, R ), it is omitted. May be. This is the same in the following embodiments and modifications.
- the N encryption devices (1 to N) 10 include a data acquisition unit 19 instead of the parameter generation unit 15 of the encryption device 10 described above.
- the parameter generation device 80 includes an encryption parameter storage unit 81, a key storage unit 82, a communication unit 83, a parameter generation unit 84, a random number generation unit 85, an encryption unit 86, and a control unit 87.
- the encryption parameter storage unit 81 and the key storage unit 82 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device, and store encryption parameters, keys, and the like, respectively.
- the communication unit 83, the parameter generation unit 84, the random number generation unit 85, the encryption unit 86, and the control unit 87 are realized by, for example, a processor (not shown) executing a program including each step in the parameter generation device 80 described later. It is a functional block.
- step ST1 the key generation unit 65 of the key generation device 60 uses the key pair (public key pk A , secret key sk A ) in the homomorphic encryption method based on the security parameter (1 k ) in the encryption parameter storage unit 61. Is generated.
- the key generation unit 65 can acquire a random number necessary for the key generation process from the random number generation unit 64.
- the public key pk A is an encryption key
- the secret key sk A is a decryption key.
- step ST2 the control unit 66 of the key generation device 60 sends the public key pk A , which is an encryption key, to the encryption devices (1 to N) 10 and the parameter generation device 80 through the communication unit 63.
- the control unit 18 of each encryption device (1 to N) 10 stores the public key pk A received by the communication unit 14 in the key storage unit 12.
- the control unit 87 of the parameter generation device 80 stores the public key pk A received by the communication unit 83 in the key storage unit 82.
- Each encryption device (1 to N) 10 may receive and store the public key pk A when assembling the device, and after receiving the device, the public key pk A is received and stored via the network. Also good.
- the control unit 66 of the key generation device 60 sends the secret key sk A , which is a decryption key, to the decryption device 30 through the communication unit 63.
- the control unit 38 of the decryption device 30 stores the secret key s A received by the communication unit 34 in the secret key storage unit 32.
- step ST3 the data acquisition unit 19 of each encryption device (1 to N) 10 acquires the personal data composed of the table T1 and stores it in the temporary data storage unit 13.
- the encryption unit 17 of each encryption device (1 to N) 10 uses the attribute value data i of the attribute item (employee number) to be pseudonymized in the table T1 in the temporary data storage unit 13 as the key storage unit 12 Encryption for each record based on the public key pk A in
- each encryption device (1 to N) 10 sets the attribute values of attribute items other than the attribute items to be pseudonymized for each record in the table T1, based on the public key pk A. Encrypt. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and the table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.
- step ST4 the control unit 18 of each encryption device (1 to N) 10 uses the communication unit 14 to transmit the encrypted data composed of the table T1e and the attribute item (employee number) to be pseudonymized in the table T1e. Send to anonymization device 20.
- step ST5 the anonymization device 20 receives the table T1e, which is encrypted data, and the attribute item (employee number) to be pseudonymized in the table T1e through the communication unit 24. Thereafter, the control unit 29 of the anonymization device 20 stores the table T1e and the attribute item (employee number) to be pseudonymized in the temporary data storage unit 23.
- the table T1e in the temporary data storage unit 23 is updated with the contents of the newly received table T1e being added.
- the anonymization device 20 stores the table T1e received from the encryption device (1 to N) 10 in the temporary data storage unit 23 and collects the N tables T1e into the table T1e. May be updated.
- the table T1e in the temporary data storage unit 23 is updated to the contents obtained by collecting the tables T1e received from the encryption devices (1 to N) 10. This is the same in the following embodiments and modifications.
- step ST ⁇ b> 6 the random number generation unit 85 of the parameter generation device 80 generates an anonymous parameter for pseudonymization as the random number R.
- the encryption unit 86 of the parameter generation device 80 encrypts the generated random number R using a homomorphic encryption method based on the public key pk A in the key storage unit 82, and an encrypted random number C A that is an encryption anonymous parameter. , R is generated.
- step ST ⁇ b> 7 the control unit 87 of the parameter generation device 80 sends the encrypted random numbers C A, R to the anonymization device 20 through the communication unit 83.
- the anonymization device 20 holds or generates the encrypted random numbers C A, R in advance
- the generation and transmission of the encrypted random numbers C A, R by the parameter generation device 80 can be omitted. The same applies to the following embodiments and modifications.
- step ST ⁇ b> 8 the anonymization device 20 receives the encrypted random numbers C A, R through the communication unit 24.
- the anonymization processing unit 26 has received the attribute value C A, data_i of the attribute item (employee number) that matches the attribute item (employee number) received in step ST5 in the table T1e in the temporary data storage unit 23. Encrypted random numbers C A, R are added for each record.
- the attribute value C A, data_i encrypted in step ST3 is an encrypted attribute value C A, R without being decrypted by adding the encrypted random numbers C A, R in the encrypted state. Converted to A, data_i + R.
- the attribute value of the attribute item (employee number) to be pseudonymized in the table T1e is anonymized, and the table T1a including the anonymized attribute value C A, data_i + R is encrypted and anonymous as described above. Generated as digitized data.
- the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.
- step ST9 the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T1a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.
- steps ST10 to ST12 are executed as described above.
- this embodiment can also be implemented in the same way with an (additive) homomorphic encryption scheme that can be compared in size.
- these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.
- the anonymization device 20 records the attribute value C A, data_i of the attribute item (employee number) to be pseudonymized in the table T1e. It can be pseudonymized with different encrypted random numbers C A, R for each.
- the third embodiment is a form in which the encrypted “income” is top-coded, unlike the first embodiment in which the encrypted “employee number” is pseudonymized.
- step ST21 the key generation unit 36 of the decryption device 30 uses the key (secret key sk A ) of the decryption device 30 in an encryption method that can be compared in size based on the security parameter (1 k ) in the encryption parameter storage unit 31. ) Is generated.
- the key generation unit 36 can acquire a random number necessary for the key generation process from the random number generation unit 35. In addition, the key generation unit 36 stores the generated secret key sk A in the secret key storage unit 32.
- step ST22 the control unit 38 of the decryption device 30 sends the secret key sk A , which is a common key, to the encryption device 10 through the communication unit 34.
- the control unit 18 of the encryption device 10 stores the secret key sk A received by the communication unit 14 in the key storage unit 12.
- step ST ⁇ b> 23 the encryption unit 17 of the encryption device 10 reads the table T ⁇ b> 1 illustrated in FIG. 12 from the temporary data storage unit 13.
- the encryption unit 17 encrypts the attribute value data i of the top coding target attribute item (income) in the table T1 for each record based on the secret key sk A in the key storage unit 12.
- the encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.
- the encryption unit 17 encrypts the attribute values of attribute items other than the top coding target attribute item for each record in the table T1 based on the secret key sk A.
- the attribute values of all the attribute items in the table T1 are encrypted, and as shown in FIG. 13, a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.
- step ST24 the control unit 18 of the encryption device 10 sends the encrypted data including the table T1e to the anonymization device 20 through the communication unit 14.
- step ST25 the anonymization device 20 stores the table T1e, which is encrypted data received by the communication unit 24, in the temporary data storage unit 23.
- step ST26 the parameter generation unit 15 of the encryption device 10 generates a threshold value T that is an anonymous parameter for top coding.
- the encryption unit 17 encrypts the generated threshold value T based on the secret key sk A in the key storage unit 12 using an encryption method that can be compared in magnitude. Thereby, the encryption threshold value C A, T which is a parameter for encryption anonymity is generated.
- step ST27 the control unit 18 of the encryption device 10 sends the attribute item (revenue) to be top-coded in the table T1e and the encryption threshold value C A, T to the anonymization device 20 through the communication unit 14. To do. However, when the anonymization device 20 holds or generates the encryption threshold value C A, T in advance by acquiring the secret key sk A in advance, the encryption threshold value by the encryption device 10 is obtained. Generation and sending of C A, T can be omitted. The same applies to the following embodiments and modifications.
- step ST ⁇ b> 28 the anonymization device 20 receives the attribute item (income) and the encryption threshold value C A, T through the communication unit 24.
- the anonymization processing unit 26 includes the attribute value C A, data_i of the attribute item (income) that matches the received attribute item (income) in the table T1e in the temporary data storage unit 23, and the received encryption threshold C Compare A and T for each record.
- the anonymization processing unit 26 replaces the attribute value C A, data_i with the encryption threshold value C A, T.
- the attribute value C A, data_i encrypted in step ST23 is appropriately replaced with the encryption threshold value C A, T in the encrypted state, thereby anonymizing the attribute without being decrypted. Converted to a value (C A, T ).
- the attribute value of the attribute item (income) to be top-coded in the table T1e is anonymized, and the table T1a including the anonymized attribute value (C A, T ) is encrypted as shown in FIG. Generated as anonymized data.
- the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.
- step ST29 the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T1a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.
- the attribute value data_i of the table T1 expressed by numerical values can be top-coded by the threshold T for top coding.
- the anonymization device 20 knows which attribute value (C A, data_i ) has been replaced, and the replaced ciphertexts all have the same value (C A, T ).
- the anonymization device 20 does not know the threshold value T and the original attribute value (data_i).
- the encryption device 10 may create a correspondence table before and after the top coding. If the original data is stored separately, the top-coded attribute value can be restored.
- step ST30 the control unit 38 of the decryption device 30 receives the encrypted anonymized data by the communication unit 34 and stores it in the temporary data storage unit 33.
- the decryption unit 37 decrypts the value of each attribute item in the table T1a, which is encrypted anonymized data in the temporary data storage unit 33, and is obtained A table of decoding results is obtained.
- the control unit 38 of the decryption apparatus 30 determines whether or not the attribute value of the top coding target attribute item (income) is anonymized in the decryption result table. For example, when the attribute value before anonymization is top-coded, if any of the attribute values includes a character string “more than” or “less than”, it is determined that the attribute value is anonymized. Further, for example, when the attribute value of the anonymized attribute item (income) is different from the value before anonymization and the value after anonymization, it may be determined that the attribute value is anonymized. . In this case, the encryption device 10 may transmit the value before anonymization to the decryption device 30 at an arbitrary timing. In any case, if the determination result is NO, the process is repeated from step ST26 (or ST24), and the process is repeated until a preferable anonymization result is obtained.
- step ST31 when the attribute value is anonymized as a result of the determination, the control unit 38 of the decryption device 30 uses the communication unit 34 to safely convert the anonymized data including the decryption result table to the statistical processing device 50. Send to. However, it is preferable that the anonymized data is sent in a state in which the attribute value of the employee number in the decryption result table is appropriately anonymized. This is the same in the following embodiments and modifications.
- step ST32 the statistical processing device 50 performs statistical processing using the anonymized data received by the communication unit 52, and stores the obtained statistical processing result in the data storage unit 51. Thereafter, the statistical processing device 50 appropriately uses the statistical processing result.
- this embodiment can also be implemented in the same way with an (additive) homomorphic encryption scheme that can be compared in size.
- these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.
- FIG. 15 is a schematic diagram showing an anonymization system and its peripheral configuration according to the fourth embodiment.
- the fourth embodiment encrypts personal data acquired by each device like the M2M service.
- the encrypted data is collected by the anonymization device 20.
- Each device here corresponds to each encryption device (1 to N) 10.
- the fourth embodiment includes N encryption devices 10 and further includes a parameter generation device 80, as compared with the configuration shown in FIG.
- the parameter generation device 80 is not essential.
- any of the encryption devices 10 generates a parameter (eg, threshold T) and an encryption parameter (encryption threshold C A, T ). , May be omitted. This is the same in the following embodiments and modifications.
- the N encryption devices (1 to N) 10 include a data acquisition unit 19 instead of the parameter generation unit 15 of the encryption device 10 described above.
- the parameter generation device 80 includes an encryption parameter storage unit 81, a key storage unit 82, a communication unit 83, a parameter generation unit 84, a random number generation unit 85, an encryption unit 86, and a control unit 87.
- the encryption parameter storage unit 81 and the key storage unit 82 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device, and store encryption parameters, keys, and the like, respectively.
- the communication unit 83, the parameter generation unit 84, the random number generation unit 85, the encryption unit 86, and the control unit 87 are realized by, for example, a processor (not shown) executing a program including each step in the parameter generation device 80 described later. It is a functional block.
- step ST21 the key generation unit 36 of the decryption device 30 uses the key (secret key sk A ) of the decryption device 30 in the encryption method that can be compared in size based on the security parameter (1 k ) in the encryption parameter storage unit 31. Is generated.
- the key generation unit 36 can acquire a random number necessary for the key generation process from the random number generation unit 35. In addition, the key generation unit 36 stores the generated secret key sk A in the secret key storage unit 32.
- step ST22 the control unit 38 of the decryption device 30 sends the secret key sk A , which is a common key, to the encryption devices (1 to N) 10 and the parameter generation device 80 through the communication unit 34.
- the control unit 87 of the parameter generation device 80 stores the secret key sk A received by the communication unit 83 in the key storage unit 82.
- the control unit 18 of each encryption device (1 to N) 10 stores the secret key sk A received by the communication unit 14 in the key storage unit 12.
- Each encryption device (1 to N) 10 may receive and store the public key pk A when assembling the device, and after receiving the device, the public key pk A is received and stored via the network. Also good.
- step ST23 the data acquisition unit 19 of each encryption device (1 to N) 10 acquires personal data including the table T1 and stores it in the temporary data storage unit 13.
- the encryption unit 17 of each encryption device (1 to N) 10 stores the attribute value data i of the top coding target attribute item (income) in the key storage unit 12 in the table T1 in the temporary data storage unit 13. Is encrypted for each record based on the secret key sk A.
- each encryption device (1 to N) 10 sets the attribute values of attribute items other than the top coding target attribute item for each record in the table T1, based on the secret key sk A. Encrypt. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and the table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.
- step ST24 the control unit 18 of each encryption device (1 to N) 10 uses the communication unit 14 to anonymously encrypt the encrypted data composed of the table T1e and the top coding target attribute item (income) in the table T1e. Sent to the digitizing device 20.
- step ST25 the anonymization device 20 receives the table T1e, which is encrypted data, and the attribute item (revenue) to be top-coded in the table T1e through the communication unit 24. Thereafter, the control unit 29 of the anonymization device 20 stores the table T1e and the top coding target attribute item (income) in the temporary data storage unit 23.
- the table T1e in the temporary data storage unit 23 is updated to the contents obtained by collecting the tables T1e received from the encryption device (1 to N) 10.
- step ST26 the parameter generation unit 84 of the parameter generation device 80 generates a threshold value T, which is an anonymous parameter for top coding.
- the encryption unit 86 of the parameter generation device 80 encrypts the generated threshold value T using a cryptographic method that can be compared in magnitude based on the secret key sk A in the key storage unit 82, and is an encrypted anonymous parameter.
- An encryption threshold value C A, T is generated.
- step ST ⁇ b> 27 the control unit 87 of the parameter generation device 80 sends the encryption threshold value C A, T to the anonymization device 20 through the communication unit 83.
- the anonymization device 20 holds or generates the encryption threshold value C A, T in advance , the generation and transmission of the encrypted random number C A, R by the parameter generation device 80 can be omitted.
- steps ST28 to ST32 are executed as in the third embodiment described above.
- this embodiment can also be implemented in the same way with an (additive) homomorphic encryption scheme that can be compared in size.
- these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.
- the secret key sk A is stored in each device. Since this secret key sk A can be decrypted as well as encrypted, the secret key sk A is appropriately managed on each device. There must be. This is the same in the following embodiments and modifications.
- the encrypted “age” is grouped.
- step ST41 the key generation unit 36 of the decryption device 30 uses the decryption device 30's own key (secret key sk A ) in an encryption method that can be compared in size based on the security parameter (1 k ) in the encryption parameter storage unit 31. ) Is generated.
- the key generation unit 36 can acquire a random number necessary for the key generation process from the random number generation unit 35. In addition, the key generation unit 36 stores the generated secret key sk A in the secret key storage unit 32.
- step ST42 the control unit 38 of the decryption device 30 sends the secret key sk A , which is a common key, to the encryption device 10 through the communication unit 34.
- the control unit 18 of the encryption device 10 stores the secret key sk A received by the communication unit 14 in the key storage unit 12.
- step ST43 the encryption unit 17 of the encryption device 10 reads the table T1 illustrated in FIG. 18 from the temporary data storage unit 13.
- the encryption unit 17 encrypts the attribute value data i of the attribute item (age) to be grouped in the table T1 for each record based on the secret key sk A in the key storage unit 12.
- the encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.
- the encryption unit 17 encrypts the attribute values of attribute items other than the grouping target attribute item for each record in the table T1 based on the secret key sk A.
- the attribute values of all the attribute items in the table T1 are encrypted, and as shown in FIG. 19, a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.
- step ST44 the control unit 18 of the encryption device 10 sends the encrypted data including the table T1e to the anonymization device 20 through the communication unit 14.
- step ST45 the anonymization device 20 stores the table T1e, which is encrypted data received by the communication unit 24, in the temporary data storage unit 23.
- step ST46 the parameter generation unit 15 of the encryption device 10 generates a group lower limit value L, a group upper limit value U, and a group representative value M, which are anonymous parameters for grouping.
- the encryption unit 17 encrypts the generated lower limit value L, upper limit value U, and group representative value M based on the secret key sk A in the key storage unit 12 using an encryption method that can be compared in magnitude.
- the encryption lower limit value CA , L , the encryption upper limit value CA , U, and the encryption representative value CA , M which are parameters for encryption anonymity , are generated.
- step ST47 the control unit 18 of the encryption device 10 causes the communication unit 14 to use the grouping target attribute item (age) in the table T1e, the encryption lower limit value C A, L , and the encryption upper limit value C A, U.
- the encrypted representative values C A, M are sent to the anonymization device 20.
- the anonymization device 20 obtains the secret key sk A in advance
- the anonymization device 20 obtains the encryption lower limit value CA , L , the encryption upper limit value CA , U, and the encryption representative value CA , M.
- generation and sending of each value C A, L , C A, U and C A, M can be omitted. The same applies to the following embodiments and modifications.
- the anonymization device 20 transmits the attribute item (age), the encryption lower limit value C A, L , the encryption upper limit value C A, U and the encryption representative value C A, M by the communication unit 24.
- the anonymization processing unit 26 includes the attribute value C A, data_i of the attribute item (age) matching the received attribute item (age) in the table T1e in the temporary data storage unit 23, and the received encryption lower limit C A, L and encryption upper limit values CA , U are compared for each record.
- the grouping method such as whether or not to include the case where the result of the comparison processing Comp is 0 can be changed as appropriate.
- a grouping method for example, a general method according to the application / purpose may be used, or the general method may be combined with the method of the present embodiment.
- the attribute value C A, data_i encrypted in step ST43 is anonymized attribute without being decrypted by appropriately replacing the encrypted representative value C A, M with the encrypted state. Converted to a value (C A, M ).
- the attribute value of the grouping target attribute item (age) in the table T1e is anonymized, and the table T1a including the anonymized attribute value (C A, M ) is encrypted as shown in FIG. Generated as anonymized data.
- the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.
- step ST49 the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T1a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.
- the attribute values data_i of the table T1 expressed by numerical values can be grouped by designating the lower limit value L and the upper limit value U of each group.
- the anonymization device 20 knows which attribute value (C A, data_i ) has been replaced, and all the replaced ciphertexts have the same value (encrypted representative value C A, M for each group).
- the anonymization device 20 does not know the lower limit value L, the upper limit value U, the representative value M, and the original attribute value (data_i) of the group.
- the encryption device 10 may create a correspondence table before and after grouping. If the original data is held separately, the grouped attribute values can be restored.
- step ST50 the control unit 38 of the decryption device 30 receives the encrypted anonymized data by the communication unit 34 and stores it in the temporary data storage unit 33.
- the decryption unit 37 decrypts the value of each attribute item in the table T1a, which is encrypted anonymized data in the temporary data storage unit 33, and is obtained A table of decoding results is obtained.
- the control unit 38 of the decryption device 30 determines whether or not the attribute value of the grouping target attribute item (age) is anonymized in the decryption result table. For example, when the representative value of each group is “20s”, “30s”, “40s”, etc., it is determined that the group is anonymized when the attribute value includes a character string “Ys”. In addition, for example, when the attribute value of an anonymized attribute item (age) is different from the value before anonymization and the value after anonymization, it may be determined that the attribute value is anonymized. . In this case, the encryption device 10 may transmit the value before anonymization to the decryption device 30 at an arbitrary timing. In any case, when the result of the determination is NO, the process is repeated from step ST46 (or ST44) and repeated until a preferable anonymization result is obtained.
- steps ST51 to ST52 are executed in the same manner as steps ST31 to ST32 described above.
- this embodiment can also be implemented in the same way with an (additive) homomorphic encryption scheme that can be compared in size.
- these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.
- the sixth embodiment encrypts personal data acquired by each device like the M2M service.
- the encrypted data is collected by the anonymization device 20.
- Each device here corresponds to each encryption device (1 to N) 10.
- Steps ST41 to ST42 are executed in the same manner as steps ST21 to ST22 of the fourth embodiment.
- the encryption method used for key generation is the encryption method that can be compared in size in the fifth embodiment.
- step ST43 the data acquisition unit 19 of each encryption device (1 to N) 10 acquires personal data including the table T1 and stores it in the temporary data storage unit 13.
- the encryption unit 17 of each encryption device (1 to N) 10 stores the attribute value data i of the attribute item (age) to be grouped in the table T1 in the temporary data storage unit 13 in the key storage unit 12. Encryption is performed for each record based on the secret key sk A.
- each encryption device (1 to N) 10 encrypts the attribute values of attribute items other than the grouping target attribute item for each record in the table T1, based on the secret key sk A. Turn into. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and the table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.
- step ST44 the control unit 18 of each encryption apparatus (1 to N) 10 anonymizes the encrypted data composed of the table T1e and the grouping target attribute item (age) in the table T1e by the communication unit 14. Send to device 20.
- step ST45 the anonymization device 20 receives the table T1e, which is encrypted data, and the grouping target attribute item (age) in the table T1e through the communication unit 24. Thereafter, the control unit 29 of the anonymization device 20 stores the table T1e and the attribute item (age) to be grouped in the temporary data storage unit 23.
- the table T1e in the temporary data storage unit 23 is updated to the contents obtained by collecting the tables T1e received from the encryption device (1 to N) 10.
- step ST46 the parameter generation unit 84 of the parameter generation device 80 generates a group lower limit value L, a group upper limit value U, and a group representative value M, which are anonymous parameters for grouping.
- the encryption unit 86 of the parameter generation device 80 encrypts the generated lower limit value L, upper limit value U, and group representative value M based on the secret key sk A in the key storage unit 82 using an encryption method capable of comparing magnitudes. Turn into. As a result, the encryption lower limit value CA , L , the encryption upper limit value CA , U, and the encryption representative value CA , M, which are parameters for encryption anonymity , are generated.
- step ST47 the control unit 87 of the parameter generation device 80 uses the communication unit 83 to perform the grouping target attribute item (age) in the table T1e, the encryption lower limit value C A, L , and the encryption upper limit value C A, U.
- the encrypted representative values C A, M are sent to the anonymization device 20.
- the anonymization device 20 obtains the secret key sk A in advance
- the anonymization device 20 obtains the encryption lower limit value CA , L , the encryption upper limit value CA , U, and the encryption representative value CA , M.
- generation and sending of each value C A, L , C A, U and C A, M can be omitted.
- steps ST48 to ST52 are executed as in the fifth embodiment described above.
- this embodiment can also be implemented in the same way with an (additive) homomorphic encryption scheme that can be compared in size.
- these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.
- the seventh embodiment uses the error R and the encryption error CA , R. That is, in the seventh embodiment, the random number R in the first embodiment is regarded as an error R, and the attribute value of the table T1 is anonymized (error) by the same configuration (FIG. 1) and processing as in the first embodiment. The pseudonym by the introduction of). At this time, the table T1 is sequentially changed to the tables T1e and T1a as in the first embodiment (FIGS. 3, 5, and 6).
- the present embodiment encrypts the encrypted attribute values (C A, data_i + R ) of attribute items (age, income) other than the employee number.
- Anonymization can be further promoted by introducing (adding or subtracting) the conversion error CA , R.
- the anonymization device 20 uses the attribute value C A, data_i of the attribute item (employee number) to be pseudonymized in the table T1e.
- pseudonyms can be created by introducing different encryption errors CA , R for each record.
- the eighth embodiment uses the error R and the encryption error C A, R for M2M. That is, in the eighth embodiment, the random number R in the second embodiment is regarded as an error R, and the attribute value of the table is anonymized (a pseudonym by introducing an error) by the same process as in the second embodiment. It has a configuration.
- this embodiment introduces an encryption error CA , R into the encrypted attribute values of attribute items (age, income) other than the employee number. By adding (subtracting), anonymization can be further promoted.
- the anonymization device 20 uses the attribute value C A, data_i of the attribute item (employee number) to be pseudonymized in the table T1e.
- pseudonyms can be created by introducing different encryption errors CA , R for each record.
- the attribute value C A, data_i of the attribute item (age, income) to be introduced for each error is recorded for each record.
- Anonymization can be further promoted by introducing different encryption errors CA , R.
- FIG. 23 is a schematic diagram showing an anonymization system and its peripheral configuration according to the ninth embodiment.
- the ninth embodiment uses the [AN2013-51001] method.
- the ninth embodiment further includes an anonymization support device 90 as compared with the configuration shown in FIG.
- the anonymization support device 90 includes a key storage unit 91, a temporary data storage unit 92, a communication unit 93, a parameter generation unit 94, a random number generation unit 95, a calculation unit 96, and a control unit 97.
- the key storage unit 91 and the temporary data storage unit 92 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device, and store a key, temporary data, and the like, respectively.
- the communication unit 93, the parameter generation unit 94, the random number generation unit 95, the calculation unit 96, and the control unit 97 are realized by, for example, a processor (not shown) executing a program including each step in the anonymization support device 90 described later. It is a functional block.
- the anonymization device 20 further includes a key storage unit 220 as compared with the configuration shown in FIG.
- the decryption apparatus 30 includes a key storage unit 320 in place of the secret key storage unit 32 in the configuration shown in FIG.
- step ST61 the key generation unit 36 of the decryption device 30 performs key generation in the encryption scheme [AN2013-51001] based on the security parameter (1 k ) in the encryption parameter storage unit 31.
- the key generation unit 36 includes the encryption keys a, g sv , g, N, the secondary operation keys a ⁇ 1 , s, N, the tertiary operation keys v, N, and the decryption keys sv, a ⁇ 1 , N (Or s, v, a ⁇ 1 , N).
- the key generation unit 36 can acquire a random number necessary for the key generation process from the random number generation unit 35. Further, the key generation unit 36 generates the generated encryption keys a, g sv , g, N, the secondary operation keys a ⁇ 1 , s, N, the tertiary operation keys v, N, and the decryption keys sv, a ⁇ 1 , N (or s, v, a ⁇ 1 , N) is stored in the key storage unit 320.
- step ST62 the control unit 38 of the decryption device 30 sends the encryption keys a, g sv , g, and N to the encryption device 10 through the communication unit 34.
- the control unit 18 of the encryption device 10 stores the encryption keys a, g sv , g, and N received by the communication unit 14 in the key storage unit 12.
- step ST63 the control unit 38 of the decryption device 30 sends the tertiary operation keys v and N to the anonymization device 20 through the communication unit 34.
- the control unit 29 of the anonymization device 20 stores the tertiary operation keys v and N received by the communication unit 24 in the key storage unit 220.
- step ST ⁇ b> 64 the control unit 38 of the decryption device 30 sends the secondary operation keys a ⁇ 1 , s, and N to the anonymization support device 90 through the communication unit 34.
- the control unit 97 of the anonymization support device 90 stores the secondary operation keys a ⁇ 1 , s, and N received by the communication unit 93 in the key storage unit 91.
- step ST ⁇ b> 65 the encryption unit 17 of the encryption device 10 reads the table T ⁇ b> 1 illustrated in FIG. 12 from the temporary data storage unit 13.
- the encryption unit 17 records the attribute value data i of the top coding target attribute item (income) in the table T1 for each record based on the encryption keys a, g sv , g, and N in the key storage unit 12. Encrypt to.
- the encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.
- the encryption unit 17 encrypts attribute values of attribute items other than the top coding target attribute item for each record in the table T1 based on the encryption keys a, g sv , g, and N. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and as shown in FIG. 25, a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.
- step ST66 the control unit 18 of the encryption device 10 sends the encrypted data including the table T1e to the anonymization device 20 through the communication unit 14.
- step ST67 the anonymization device 20 stores the table T1e, which is encrypted data received by the communication unit 24, in the temporary data storage unit 23.
- step ST68 the parameter generation unit 15 of the encryption device 10 generates a threshold value T, which is an anonymous parameter for top coding.
- the encryption unit 17 encrypts the generated threshold value T using the encryption method [AN2013-51001] based on the encryption keys a, g sv , g, and N in the key storage unit 12.
- encryption threshold C T is an encryption anonymity parameter is generated.
- step ST69 the control section 18 of the encryption device 10, the communication unit 14, a top coding target property item in the table T1e (revenue), sends the encrypted threshold C T anonymous apparatus 20.
- anonymizing apparatus 20 encryption key a, g sv, g, by previously obtaining the N, if the encryption threshold C T anonymizing device 20 is held in advance or generated, encryptor 10 It can be omitted generation and sending of encrypted threshold C T by. The same applies to the following embodiments and modifications.
- step ST70 the anonymizing apparatus 20, the communication unit 24 receives the attribute item (income) and the encrypted threshold C T.
- step ST71 the control unit 29 of the anonymization device 20 sends the primary calculation result X to the anonymization support device 90 through the communication unit 24.
- step ST ⁇ b> 73 the control unit 97 of the anonymization support device 90 sends the secondary calculation result Y to the anonymization device 20 through the communication unit 93.
- step ST74 the anonymization device 20 receives the secondary calculation result Y through the communication unit 24.
- the calculation unit 27 of the anonymization device 20 generates a tertiary calculation result W based on the received secondary calculation result Y and the tertiary calculation keys v and N in the key storage unit 91.
- step ST75 the calculation result comparison unit 28 of the anonymization device 20 compares the tertiary calculation result W with N / 2, determines that the comparison result is positive when W ⁇ N / 2, and compares otherwise. The result is determined to be negative (or 0). The determination result is output from the calculation result comparison unit 28 to the anonymization processing unit 26.
- the attribute value C data_i encrypted in step ST65 is appropriately replaced with the encryption threshold value C T in the encrypted state, thereby anonymizing the attribute value (C T ).
- the attribute value of the top coding target attribute item (income) in the table T1e is anonymized, and the table T1a including the anonymized attribute value (C T ) is encrypted and anonymous as shown in FIG. Generated as digitized data.
- the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.
- step ST76 the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T1a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.
- the attribute value data_i of the table T1 expressed by numerical values can be top-coded by the threshold T for top coding.
- the anonymization device 20 knows which attribute value (C data — i ) has been replaced, and all the replaced ciphertexts have the same value (C T ).
- the anonymization device 20 does not know the threshold value T and the original attribute value (data_i).
- the encryption apparatus 10 may create a correspondence table before and after top coding when the encrypted data before top coding is held. If the original data is stored separately, the top-coded attribute value can be restored.
- step ST76 the control unit 38 of the decryption device 30 receives the encrypted anonymized data by the communication unit 34 and stores it in the temporary data storage unit 33.
- the decryption unit 37 is encrypted anonymized data in the temporary data storage unit 33 based on the decryption keys sv, a ⁇ 1 , N (or s, v, a ⁇ 1 , N) in the key storage unit 320.
- the value of each attribute item in the table T1a is decoded, and a table of obtained decoding results is obtained.
- the control unit 38 of the decryption apparatus 30 determines whether or not the attribute value of the top coding target attribute item (income) is anonymized in the decryption result table. Specifically, for example, the determination may be performed in the same manner as in the third embodiment. If the determination result is negative, the process is repeated from step ST68 (or ST66) and repeated until a favorable anonymization result is obtained.
- steps ST78 to ST79 are executed in the same manner as steps ST31 to ST32 of the third embodiment.
- the present embodiment replaces encrypted data and encrypted anonymous data with the anonymization device 20 as shown in FIG.
- a data storage device 70 for storing the anonymized data may be further provided.
- the encrypted data may be sent to the data storage device 70 in step ST66, and the data storage device 70 may store the encrypted data in step ST67.
- the data storage device 70 may send the encrypted data to the anonymization device 20 in step ST70-1, and the anonymization device 20 may generate a primary calculation result in step ST70-2.
- the anonymization device 20 may send the encrypted anonymized data to the data storage device 70 in step ST76-1, and the data storage device 70 may store the encrypted anonymization data in step S76-2.
- the data storage device 70 may send the encrypted anonymized data to the decryption device 30.
- the original step ST76 may be executed instead of steps ST76-1 to ST76-3 in FIG. In this case, the same effect as the operation shown in FIG. 8 can be obtained.
- FIG. 30 is a schematic diagram showing an anonymization system and its peripheral configuration according to the tenth embodiment.
- the tenth embodiment encrypts personal data acquired by each device like the M2M service.
- the encrypted data is collected by the anonymization device 20.
- Each device here corresponds to each encryption device (1 to N) 10.
- the tenth embodiment includes N encryption devices 10 and further includes a parameter generation device 80 as compared to the configuration shown in FIG.
- the configurations of the N encryption devices (1 to N) 10 and the parameter generation device 80 are the same as those in the fourth embodiment.
- Step ST61 is executed in the same manner as in the ninth embodiment described above.
- step ST62 the control unit 38 of the decryption device 30 sends the encryption keys a, g sv , g, and N to the N encryption devices (1 to N) 10 and the parameter generation device 80 through the communication unit 34.
- the control unit 87 of the parameter generation device 80 stores the encryption keys a, g sv , g, and N received by the communication unit 83 in the key storage unit 82.
- the control unit 18 of the encryption device 10 stores the encryption keys a, g sv , g, and N received by the communication unit 14 in the key storage unit 12.
- Each encryption device (1 to N) 10 may store the encryption keys a, g sv , g, and N when the device is assembled. After the devices are arranged, the encryption key a is transmitted via the network. , G sv , g, N may be received and stored.
- Steps ST63 to ST64 are executed in the same manner as in the ninth embodiment described above.
- step ST65 the data acquisition unit 19 of each encryption device (1 to N) 10 acquires the personal data composed of the table T1 and stores it in the temporary data storage unit 13.
- the encryption unit 17 of each encryption device 10 uses the attribute value data i of the top coding target attribute item (income) in the table T 1 in the temporary data storage unit 13 as the encryption key a in the key storage unit 12.
- G sv , g and N are encrypted for each record.
- the encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.
- the encryption unit 17 encrypts attribute values of attribute items other than the top coding target attribute item for each record in the table T1 based on the encryption keys a, g sv , g, and N. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and the table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.
- step ST66 the control unit 18 of each encryption device (1 to N) 10 uses the communication unit 14 to anonymously encrypt the encrypted data composed of the table T1e and the top coding target attribute item (income) in the table T1e. Sent to the digitizing device 20.
- step ST67 the anonymization device 20 receives the table T1e, which is encrypted data, and the attribute item (revenue) to be top-coded in the table T1e through the communication unit 24. Thereafter, the control unit 29 of the anonymization device 20 stores the table T1e and the top coding target attribute item (income) in the temporary data storage unit 23.
- the table T1e in the temporary data storage unit 23 is updated to the contents obtained by collecting the tables T1e received from the encryption device (1 to N) 10.
- step ST68 the parameter generation unit 84 of the parameter generation device 80 generates a threshold value T that is an anonymous parameter for top coding.
- the encryption unit 86 of the parameter generation device 80 encrypts the generated threshold value T using the encryption method [AN2013-51001] based on the encryption keys a, g sv , g, and N in the key storage unit 82. Turn into.
- encryption threshold C T is an encryption anonymity parameter is generated.
- step ST69 the control unit 87 of the parameter generation device 80 sends the encrypted threshold value CT to the anonymization device 20 through the communication unit 83.
- steps ST70 to ST79 are executed as in the ninth embodiment described above.
- the device does not store the secret key itself, so even if the key is stolen from the device, the encrypted data is decrypted or anonymized. It is not possible.
- the eleventh embodiment differs from the ninth embodiment in which the encrypted “income” is top-coded, and is a form in which the encrypted “age” is grouped.
- Steps ST81 to ST84 are executed in the same manner as steps ST61 to ST64 of the ninth embodiment.
- step ST85 the encryption unit 17 of the encryption device 10 reads the table T1 before encryption from the temporary data storage unit 13.
- the encryption unit 17 sets the attribute value data i of the attribute item (age) to be grouped in the table T1 for each record based on the encryption keys a, g sv , g, and N in the key storage unit 12. Encrypt.
- the encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.
- the encryption unit 17 encrypts attribute values of attribute items other than the grouping target attribute item for each record in the table T1 based on the encryption keys a, g sv , g, and N. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and as shown in FIG. 33, a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.
- Steps ST85 to ST86 are executed in the same manner as Steps ST65 to ST66 of the ninth embodiment.
- step ST88 the parameter generation unit 15 of the encryption device 10 generates a lower limit value L, an upper limit value U, and a representative value M for each group, which are anonymous parameters for grouping.
- the encryption unit 17 uses the generated lower limit value L, upper limit value U, and representative value M based on the encryption keys a, g sv , g, and N in the key storage unit 12 as an encryption scheme of [AN2013-51001] Encrypt with Thereby, the encryption lower limit value C L , the encryption upper limit value C U and the encryption representative value C M that are parameters for encryption anonymity are generated.
- step ST89 the control unit 18 of the encryption device 10 causes the communication unit 14 to use the grouping target attribute item (age) in the table T1e, the encryption lower limit C L , the encryption upper limit C U, and the encryption representative.
- the value C M is sent to the anonymization device 20.
- the anonymization device 20 obtains the encryption keys a, g sv , g, and N in advance, so that the encryption lower limit value C L , the encryption upper limit value C U, and the encryption representative value C M are the anonymization device 20.
- the anonymization device 20 receives the attribute item (age), the encryption lower limit value C L , the encryption upper limit value C U, and the encryption representative value C M via the communication unit 24.
- the calculation unit 27 of the anonymization device 20 includes the attribute value C data_i of the attribute item (age) that matches the received attribute item (age) in the table T1e in the temporary data storage unit 23, and the received encryption lower limit value.
- primary calculation results X L and X U are generated.
- the primary calculation result X U (X1 U , X2 U ) is analysis information regarding the upper limit value U.
- step ST ⁇ b> 91 the control unit 29 of the anonymization device 20 sends the primary calculation results X L and X U to the anonymization support device 90 through the communication unit 24.
- step ST ⁇ b> 92 the anonymization support device 90 receives the primary calculation results X L and X U through the communication unit 93.
- the calculation unit 96 of the anonymization support device 90 performs the secondary calculation result Y based on the received primary calculation results X L and X U and the secondary calculation keys a ⁇ 1 , s, and N in the key storage unit 91.
- L and Y U are generated.
- the secondary calculation result Y L (Y1 L , Y2 L ) is analysis information regarding the lower limit L.
- the primary calculation result Y U (Y1 U , Y2 U ) is analysis information regarding the upper limit value U.
- step ST93 the control unit 97 of the anonymization support device 90, the communication unit 93, and sends secondary calculation results Y L, the Y U anonymous apparatus 20.
- step ST94 the anonymization device 20 receives the secondary calculation results Y L and Y U through the communication unit 24.
- the calculation unit 27 of the anonymization device 20 generates the tertiary calculation results W L and W U based on the received secondary calculation results Y L and Y U and the tertiary calculation keys v and N in the key storage unit 91.
- tertiary calculation result W L is analytical information about the lower limit L.
- the tertiary operation result W U is analysis information regarding the upper limit value U.
- step ST95 the computation result comparison unit 28 of the anonymization device 20 compares the tertiary computation result W L regarding the lower limit L with N / 2, and determines that the comparison result is positive when W L ⁇ N / 2. Otherwise, the comparison result is determined to be negative (or 0).
- the determination result related to the lower limit value L is output from the calculation result comparison unit 28 to the anonymization processing unit 26.
- the operation result comparison unit 28 of the anonymization device 20 compares the tertiary operation result W U related to the upper limit L with N / 2, and determines that the comparison result is positive when W U ⁇ N / 2. Otherwise, the comparison result is determined to be negative (or 0).
- the determination result regarding the upper limit value U is output from the calculation result comparison unit 28 to the anonymization processing unit 26.
- the anonymization processing unit 26 of the anonymization device 20 determines the attribute value C data_i as the encrypted representative value C M when the determination result regarding the lower limit value L is positive and the determination result regarding the upper limit value U is negative (or 0).
- the attribute value C data_i encrypted in step ST85 is appropriately replaced with the encrypted representative value C M in the encrypted state, thereby anonymizing the attribute value (C M ).
- the attribute value of the grouping target attribute item (age) in the table T1e is anonymized, and the table T1a including the anonymized attribute value (C M ) is encrypted and anonymized as shown in FIG. Generated as data.
- the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.
- step ST96 the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T1a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.
- the attribute values data_i of the table T1 expressed by numerical values can be grouped by designating the lower limit value L and the upper limit value U of each group.
- the anonymization device 20 knows which attribute value (C data — i ) has been replaced, and all the replaced ciphertexts have the same value (encrypted representative value C M for each group).
- the anonymization device 20 does not know the lower limit value L, the upper limit value U, the representative value M, and the original attribute value (data_i) of the group.
- the encryption device 10 may create a correspondence table before and after grouping. If the original data is held separately, the grouped attribute values can be restored.
- step ST97 the control unit 38 of the decryption device 30 receives the encrypted anonymized data by the communication unit 34 and stores it in the temporary data storage unit 33.
- the decryption unit 37 is encrypted anonymized data in the temporary data storage unit 33 based on the decryption keys sv, a ⁇ 1 , N (or s, v, a ⁇ 1 , N) in the key storage unit 320.
- the value of each attribute item in the table T1a is decoded, and a table of obtained decoding results is obtained.
- the control unit 38 of the decryption device 30 determines whether or not the attribute value of the grouping target attribute item (age) is anonymized in the decryption result table. Specifically, for example, the determination may be performed in the same manner as in the fifth embodiment. If the result of the determination is no, the process is repeated from step ST88 (or ST86) and repeated until a favorable anonymization result is obtained.
- steps ST98 to ST99 are executed in the same manner as steps ST51 to ST52 described above.
- the twelfth embodiment encrypts personal data acquired by each device like the M2M service.
- the encrypted data is collected by the anonymization device 20.
- Each device here corresponds to each encryption device (1 to N) 10.
- the twelfth embodiment includes N encryption devices 10 and further includes a parameter generation device 80 as compared to the configuration shown in FIG.
- the configurations of the N encryption devices (1 to N) 10 and the parameter generation device 80 are the same as those in the fourth embodiment.
- Step ST81 is executed similarly to the eleventh embodiment described above.
- step ST82 the control unit 38 of the decryption device 30 sends the encryption keys a, g sv , g, and N to the N encryption devices (1 to N) 10 and the parameter generation device 80 through the communication unit 34.
- the control unit 87 of the parameter generation device 80 stores the encryption keys a, g sv , g, and N received by the communication unit 83 in the key storage unit 82.
- the control unit 18 of the encryption device 10 stores the encryption keys a, g sv , g, and N received by the communication unit 14 in the key storage unit 12.
- Each encryption device (1 to N) 10 may store the encryption keys a, g sv , g, and N when the device is assembled. After the devices are arranged, the encryption key a is transmitted via the network. , G sv , g, N may be received and stored.
- Steps ST83 to ST84 are executed in the same manner as in the eleventh embodiment described above.
- step ST85 the data acquisition unit 19 of each encryption device (1 to N) 10 acquires personal data including the table T1 and stores it in the temporary data storage unit 13.
- the encryption unit 17 of each encryption device 10 uses the attribute value data i of the attribute item (age) to be grouped in the table T1 in the temporary data storage unit 13 as the encryption key a in the key storage unit 12, Encrypt for each record based on g sv , g, and N.
- the encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.
- the encryption unit 17 encrypts attribute values of attribute items other than the top coding target attribute item for each record in the table T1 based on the encryption keys a, g sv , g, and N. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and the table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.
- step ST86 the control unit 18 of each encryption device (1 to N) 10 uses the communication unit 14 to anonymize the encrypted data including the table T1e and the grouping target attribute item (age) in the table T1e. Send to device 20.
- step ST87 the anonymization device 20 receives the table T1e, which is encrypted data, and the attribute item (age) to be grouped in the table T1e through the communication unit 24. Thereafter, the control unit 29 of the anonymization device 20 stores the table T1e and the attribute item (age) to be grouped in the temporary data storage unit 23.
- the table T1e in the temporary data storage unit 23 is updated to the contents obtained by collecting the tables T1e received from the encryption device (1 to N) 10.
- step ST88 the parameter generation unit 84 of the parameter generation device 80 generates a group lower limit value L, a group upper limit value U, and a group representative value M, which are anonymous parameters for grouping.
- the encryption unit 86 of the parameter generation device 80 generates the generated lower limit value L, upper limit value U, and group representative value M based on the encryption keys a, g sv , g, and N in the key storage unit 82 [ Encrypt with the encryption method of AN2013-51001].
- the encryption lower limit value C L , the encryption upper limit value C U and the encryption representative value C M that are parameters for encryption anonymity are generated.
- step ST89 the control unit 87 of the parameter generation device 80 causes the communication unit 83 to perform the grouping target attribute item (age) in the table T1e, the encryption lower limit value C L , the encryption upper limit value C U, and the encryption representative.
- the value C M is sent to the anonymization device 20.
- steps ST90 to ST99 are executed as in the eleventh embodiment described above.
- the device does not store the secret key itself, so even if the key is stolen from the device, the encrypted data is decrypted or anonymized. It is not possible.
- the thirteenth embodiment is a form in which the encrypted “employee number” is deleted, unlike the first embodiment in which the encrypted “employee number” is pseudonymized. Unlike the first to twelfth embodiments described above, this embodiment encrypts anonymized parameters obtained by encrypting anonymous parameters used for anonymization processing (eg, encrypted random numbers, encrypted threshold values). Encryption lower limit, encryption upper limit, encryption representative value, encryption error, etc.).
- Such an embodiment can be modified into a form using “resampling”, “sort” or “swapping” instead of “deletion”.
- step ST101 the key generation unit 36 of the decryption device 30 generates a key (secret key sk A ) in the [AES] encryption method based on the security parameter (1 k ) in the encryption parameter storage unit 31.
- the key generation unit 36 can acquire a random number necessary for the key generation process from the random number generation unit 35. In addition, the key generation unit 36 stores the generated secret key sk A in the secret key storage unit 32.
- step ST102 the control unit 38 of the decryption device 30 sends the secret key sk A , which is a common key, to the encryption device 10 through the communication unit 34.
- the control unit 18 of the encryption device 10 stores the secret key sk A received by the communication unit 14 in the key storage unit 12.
- step ST103 the encryption unit 17 of the encryption device 10 reads the table T1 shown in FIG. 3 from the temporary data storage unit 13.
- the encryption unit 17 encrypts the attribute value data i of the attribute item (employee number) to be deleted in this table T1 for each record based on the secret key sk A in the key storage unit 12.
- the encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.
- the encryption unit 17 encrypts the attribute values of attribute items other than the attribute item to be deleted in the table T1 based on the secret key sk A for each record. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and as shown in FIG. 37, a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.
- step ST104 the control unit 18 of the encryption device 10 sends the encrypted data including the table T1e to the anonymization device 20 through the communication unit 14.
- step ST105 the anonymization device 20 stores the table T1e, which is encrypted data received by the communication unit 24, in the temporary data storage unit 23.
- step ST106 the control unit 18 of the encryption device 10 sends the attribute item (employee number) to be deleted in the table T1e to the anonymization device 20 through the communication unit 14.
- the anonymization device 20 holds the attribute item to be deleted in advance, the sending of the attribute item to be deleted by the encryption device 10 can be omitted.
- the anonymization device 20 receives the attribute item (employee number) to be deleted through the communication unit 24.
- the anonymization processing unit 26 deletes the column of the attribute item (employee number) that matches the received attribute item (employee number) from the table T1e in the temporary data storage unit 23. That is, the anonymization processing unit 26 deletes the attribute item (employee number) to be deleted and the attribute value (C A, data_i ) from the table T1e shown in FIG. Thereby, as shown in FIG. 38, the anonymized table T1a is generated as encrypted anonymized data.
- the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.
- step ST108 the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T1a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.
- the anonymization device 20 knows the deleted attribute item (employee number) and its attribute value (C A, data_i ). However, the anonymization device 20 does not know the original attribute value (data_i) of the deleted attribute item (employee number).
- the encryption device 10 may create a correspondence table before and after the deletion. If the original data is held separately, it is possible to specify an individual from the attribute item and attribute value of the original data and to restore the deletion process.
- step ST109 the control unit 38 of the decryption device 30 receives the encrypted anonymized data by the communication unit 34 and stores it in the temporary data storage unit 33.
- the decryption unit 37 decrypts the value of each attribute item in the table T1a, which is encrypted anonymized data in the temporary data storage unit 33, and is obtained A table of decoding results is obtained.
- the control unit 38 of the decryption apparatus 30 determines whether or not the attribute value of the attribute item (employee number) to be deleted is anonymized in the decryption result table. For example, if the decryption result table does not include a column of attribute items to be deleted as intended, it is determined that the table is anonymized. In this case, the encryption device 10 may transmit the attribute item to be deleted to the decryption device 30 at an arbitrary timing. If the determination result is negative, the process is repeated from step ST104 and repeated until a favorable anonymization result is obtained.
- steps ST110 to ST111 are executed in the same manner as steps ST11 to ST12 described above.
- the anonymization process for deleting the encrypted attribute value is executed, but instead, the anonymization process for resampling, sorting, or swapping the encrypted attribute value may be executed. In this case, the same effect can be obtained by carrying out the present embodiment in the same manner.
- key generation by the decryption device 30 instead of key generation by the decryption device 30, key generation by the encryption device 10 may be executed. In this case, the encryption device 10 may carry out by sending the secret key to the decryption device 30.
- this embodiment is not limited to encryption methods that use the same key for encryption and decryption, such as [AES], but also (additive) homomorphic encryption methods, encryption methods that can be compared in size, and (additive) It can also be implemented in the same manner with an encryption method that holds an encryption method that can be compared in size with a homomorphic encryption method. When these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.
- the present embodiment may further include a key generation device 60 and a data storage device 70 as in the modification example shown in FIG.
- the anonymization device 20 may further include a key generation device 60 and a data storage device 70 as in the modification example shown in FIG.
- the anonymization device 20 may further include a key generation device 60 and a data storage device 70 as in the modification example shown in FIG.
- the encrypted data may be sent to the data storage device 70 in step ST104, and the data storage device 70 may store the encrypted data in step ST105.
- the data storage device 70 may send the encrypted data to the anonymization device 20 in step ST107-1, and the anonymization device 20 may delete the column of attribute items to be deleted in step ST107-2.
- the anonymization device 20 may send the encrypted anonymized data to the data storage device 70 in step ST108-1, and the data storage device 70 may store the encrypted anonymization data in step S108-2.
- the data storage device 70 may send the encrypted anonymized data to the decryption device 30.
- the original step ST108 may be executed instead of steps ST108-1 to ST108-3 in FIG. In this case, the same effect as the operation shown in FIG. 8 can be obtained.
- FIG. 41 is a schematic diagram showing the anonymization system and its peripheral configuration according to the fourteenth embodiment.
- the fourteenth embodiment differs from the thirteenth embodiment in which the encryption device 10 encrypts personal data and deposits it in the anonymization device 20, and encrypts the personal data acquired by each device like the M2M service.
- the encrypted data is collected by the anonymization device 20.
- Each device here corresponds to each encryption device (1 to N) 10.
- N encryption devices 10 are provided and a user terminal 100 is further provided as compared with the configuration shown in FIG.
- the user terminal 100 is not essential, and may be omitted when any of the encryption devices 10 sends the attribute item (employee number) to be deleted to the anonymization device 20, for example.
- the attribute item employee number
- the configuration of the N encryption devices (1 to N) 10 is the same as that of the fourth embodiment described above except for the anonymization processing method.
- the user terminal 100 is a computer having a normal communication function, and includes, for example, a storage unit 101, a communication unit 102, and a control unit 103.
- Step ST101 is executed in the same manner as in the thirteenth embodiment described above.
- step ST102 the control unit 38 of the decryption device 30 sends the secret key sk A , which is a common key, to each encryption device (1 to N) 10 through the communication unit 34.
- the control unit 18 of each encryption device (1 to N) 10 stores the secret key sk A received by the communication unit 14 in the key storage unit 12.
- Each encryption device (1 to N) 10 may receive and store the public key pk A when assembling the device, and after receiving the device, the public key pk A is received and stored via the network. Also good.
- step ST103 the data acquisition unit 19 of each encryption device (1 to N) 10 acquires personal data including the table T1 and stores it in the temporary data storage unit 13, as shown in FIG.
- the encryption unit 17 of each encryption device (1 to N) 10 stores the attribute value data i of the attribute item (employee number) to be deleted in the key storage unit 12 in the table T1 in the temporary data storage unit 13. Is encrypted for each record based on the secret key sk A.
- the encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.
- the encryption unit 17 encrypts the attribute values of attribute items other than the attribute item to be deleted in the table T1 based on the secret key sk A for each record.
- a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.
- step ST104 the control unit 18 of each encryption device (1 to N) 10 sends the encrypted data including the table T1e to the anonymization device 20 through the communication unit 14.
- the anonymization device 20 stores the table T1e, which is encrypted data received by the communication unit 24, in the temporary data storage unit 23.
- the table T1e in the temporary data storage unit 23 is updated to the contents obtained by collecting the tables T1e received from the encryption device (1 to N) 10.
- step ST ⁇ b> 106 the control unit 103 of the user terminal 100 sends the attribute item (employee number) to be deleted to the anonymization device 20 through the communication unit 102.
- the anonymization device 20 holds the attribute item to be deleted in advance, the sending of the attribute item to be deleted by the encryption device 10 can be omitted. The same applies to the following modifications.
- steps ST107 to ST111 are executed in the same manner as in the thirteenth embodiment described above.
- the secret key sk A is stored in each device. Since this secret key sk A can be decrypted as well as encrypted, the secret key sk A is appropriately managed on each device. There must be.
- an anonymization process for resampling, sorting, or swapping the encrypted attribute value may be executed.
- the same effect can be obtained by carrying out the present embodiment in the same manner.
- this embodiment is not limited to an encryption method that uses the same key for encryption and decryption, such as [AES], but an (additive) homomorphic encryption method, an encryption method that can be compared in size, and (additive) It can also be implemented in the same manner with an encryption method that holds an encryption method that can be compared in size with a homomorphic encryption method. When these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.
- the encrypted data is generated from the personal data by the process of encrypting the value of each item included in the personal data.
- Encrypted anonymized data is generated from the encrypted data by performing anonymization without decrypting the values of some items of the encrypted data.
- Anonymized data is generated from the encrypted anonymized data by the process of decrypting the encrypted anonymized data.
- the storage medium can store a program and can be read by a computer
- the storage format may be any form.
- an OS operating system
- MW middleware
- database management software network software
- the storage medium in each embodiment is not limited to a medium independent of a computer, but also includes a storage medium in which a program transmitted via a LAN, the Internet, or the like is downloaded and stored or temporarily stored.
- the number of storage media is not limited to one, and the case where the processing in each of the above embodiments is executed from a plurality of media is also included in the storage media in the present invention, and the media configuration may be any configuration.
- the computer in each embodiment executes each process in each of the above embodiments based on a program stored in a storage medium, and a single device such as a personal computer or a plurality of devices are connected to a network. Any configuration of the system or the like may be used.
- the computer in each embodiment is not limited to a personal computer, and includes an arithmetic processing device, a microcomputer, and the like included in an information processing device, and is a generic term for devices and devices that can realize the functions of the present invention by a program. Yes.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
実施形態の匿名化システムは、1台以上の暗号化装置、匿名化装置及び復号装置を備えている。前記暗号化装置は、各項目毎に値を含む個人データを記憶し、前記個人データに含まれる各項目の値を暗号化する処理により、当該個人データから暗号化データを生成する。前記匿名化装置は、前記暗号化データのうちの一部の項目の値を復号せずに匿名化する処理により、当該暗号化データから暗号化匿名化データを生成する。前記復号装置は、前記暗号化匿名化データを復号する処理により、当該暗号化匿名化データから匿名化データを生成する。
Description
本発明の実施形態は、匿名化システムに関する。
近年、顧客情報やカルテ情報等の大量の個人データを所有する企業等(以下、データ所有者という)が増加している。データ所有者の幾つかは、大量の個人データに統計的な処理を施して得られる情報をビジネス・顧客の傾向予測や病気の予防等の用途に用い、ビジネス上の新たな知見を得ることや、新たなサービスを始めることを検討している。
しかしながら、個人データを前述した用途に用いる場合、プライバシーを保護するよう、個人データの取扱いに細心の注意を求められる。加えて、データ所有者は、統計処理の専門性が高いことから、統計処理を施す会社またはサービス(以下、データ分析者という)を外部サービスとして利用することになる。このため、データ所有者は、より一層のプライバシー保護や用途の説明及び適切な運用等を実施しなければならない。この種の運用としては、例えば、データ分析者に提供する個人データの情報量を削減するといったことが挙げられる。但し、プライバシー保護の観点から個人データの情報量を削減しすぎると、有益な分析結果が得られない。
よって、多くの場合、個人データの情報量を可能な限り低減せずに、個人の特定を困難又は不可能にする匿名化処理が用いられる。このとき、データ所有者は、大量の個人データに匿名化処理を施し、得られた匿名化データを、統計処理を行う外部のデータ分析者に提供する。
一方、外部サービスの一例として、クラウドコンピューティングサービス(以下、クラウドサービスともいう)がある。近年、クラウドサービスの普及に伴い、大量データを管理する設備がデータ所有者の社内サーバから社外のクラウドサービスに移行しつつある。このときも同様に、データ所有者は、大量の個人データに暗号化処理又は匿名化処理を施し、得られた暗号化データ又は匿名化データをクラウドサービスに管理させる等のセキュリティ対策を講じている。
また、自動販売機、エレベータ、プラント設備等の各機器(情報機器以外の装置)がセンサ、処理装置及び通信装置等を備え、人間の介在なしにネットワークを介して情報交換や遠隔監視・制御等を行うM2M(machine to machine)サービスが普及してきている。このようなM2Mサービスにおいても、各機器から収集した大量の情報を利用するサービスが今後実現されていくと推測される。
M2Mサービスでは、同様に、収集する情報に含まれる個人データ等にはセキュリティ対策が求められる。一方、セキュリティ対策として、収集した情報に暗号化処理を施すと、得られた暗号化データを分析することができない。これに対し、セキュリティ対策として、収集した情報に匿名化処理を施すと、得られた匿名化データを分析することができる。匿名化データは、個人、機器及び場所情報等を特定できない状態であるものの、統計処理による分析が可能なため、プライバシー保護の観点から好ましい。
匿名化処理の代表的な方法としては、例えば、削除、仮名化、トップコーディング、グルーピング、リサンプリング、ソート、スワッピング、誤差の導入、などが挙げられる(例えば、(「匿名データの作成・提供に係るガイドライン 別紙2 匿名化処理の技法」、[online]、平成23年3月28日、総務省、[平成26年4月25日検索]、インターネット<URL: http://www.stat.go.jp/index/seido/pdf/35glv4.pdf>)を参照)。
ここで、「削除」は、世帯や居住地等のように、個人を直接又は間接的に特定できる識別情報を削除する方法である。
「仮名化」は、氏名等のように、個人を直接的に特定できる識別情報を削除し、別のIDや仮名をつける方法である。
「トップコーディング」は、年齢や世帯人数等の属性のように、特に大きい値や小さい値をもつ個人を特定し易くする特殊な属性をまとめる方法である。例えば、特に大きい値や小さい値を、上側しきい値以上、下側しきい値以下というようにまとめる。
「グルーピング」は、年齢等の属性のように、特定の値をグループ分けして、階級区別に変更する方法である。年齢の場合、例えば、特定の値「23歳」を、階級区別「20代」に変更する。
「リサンプリング」は、全体から80%のデータをランダムに抽出して提供する等のように、全てのデータのうちの一部のデータだけをデータ分析者に提供する方法である。
「ソート」は、データのレコードの配列順を並び替えることでランダムにし、個人の特定を不可能にする方法である。
「スワッピング」は、2人分のデータ間における当該2人の年齢の入れ替え又は身長の入れ替えのように、2つのレコードの間で一部の属性の値を入れ替える方法である。
「誤差の導入」は、例えば、身長に誤差を導入するといったように、レコードの一部の属性に誤差を導入する方法である。
以上のような匿名化処理は、通常は特に問題ないが、本発明の検討によれば、以下の(A)データ所有者が暗号化データを外部サービスに保存する場合と、(B)M2Mサービスが暗号化データを外部サービスに保存する場合と、のいずれの場合においても改良の余地がある。以下、クラウドサービスを外部サービスの一例として述べる。
(A)データ所有者が単純に個人データを暗号化し、得られた暗号化データをクラウドシステムに保存した場合、データ所有者は、暗号化データをダウンロードして復号し、得られた個人データを匿名化し、匿名化データをデータ分析者に提供することになる。ここで、データ所有者は、暗号化データをダウンロードして復号したとき、全ての個人データを得る。この状況は、データ所有者にとってはクラウドシステムを用いる意味があまりないため、好ましくない。なお、データ所有者が全ての個人データを得る状況は、データ所有者が暗号化データを復号しなければ、回避できると推測される。
これに伴い、データ所有者が暗号化データをデータ分析者側で復号可能なように変換してデータ分析者に提供する場合を検討する。この場合、データ所有者が全ての個人データを得る状況を回避できるものの、データ分析者により復号された個人データが匿名化されてないため、プライバシー保護の観点から好ましくない。
また、データ所有者が暗号化データを復号せずに、個人データを匿名化する観点から、クラウドシステムが暗号化データを復号して匿名化する場合を検討する。この場合、復号により得られた個人データがクラウドシステム上に展開されるため、セキュリティの観点から好ましくない。
さらに、データ所有者が個人データを匿名化し、匿名化データを暗号化し、暗号化データをクラウドシステムに保存し、データ分析者がクラウドシステム内の暗号化データをダウンロードして復号する場合を検討する。この場合、クラウドシステム内の暗号化データは、原本の個人データから情報量が削減された匿名化データが暗号化されている。このとき、クラウドシステムとは別に原本の個人データを管理する必要がデータ所有者に生じるため、データ所有者にはクラウドシステムを用いる意味がなく、好ましくない。
(B)データ所有者は、M2Mサービスの各機器により情報の収集や遠隔監視・制御を行う場合、収集した情報内の個人データから情報量を削減した匿名化データをデータ分析者に提供する必要がある。ここで、データ所有者が個人データを収集してクラウドシステムに保存する場合、データ所有者の負担が大きいため、個人データを収集した機器が当該個人データをクラウドシステムに保存する方が好ましい。但し、個人データを収集した機器が個人データをクラウドシステムに保存する場合でも、セキュリティの観点から、個人データを暗号化して得られた暗号化データをクラウドシステムに保存する必要がある。
しかしながら、このように暗号化データをクラウドシステムに保存した場合、上記(A)と同様に、データ所有者が暗号化データをダウンロードして復号したとき、全ての個人データを得るという、好ましくない状況になる。
なお、クラウドシステムに保存された暗号化データを、データ所有者に復号処理や匿名化処理等の負担をかけずに匿名化してデータ分析者に提供する方法は知られていない。
本発明者の検討によれば、上記(A)及び(B)の場合の好ましくない状況は、個人データを暗号化して得られた暗号化データを復号せずに匿名化できれば、回避できると推測される。
本発明が解決しようとする課題は、個人データを暗号化して得られた暗号化データを復号せずに匿名化し得る匿名化システムを提供することである。
実施形態の匿名化システムは、1台以上の暗号化装置、匿名化装置及び復号装置を備えている。
前記暗号化装置は、第1記憶手段及び暗号化手段を備えている。
前記第1記憶手段は、各項目毎に値を含む個人データを記憶する。
前記暗号化手段は、前記個人データに含まれる各項目の値を暗号化する処理により、当該個人データから暗号化データを生成する。
前記匿名化装置は、第2記憶手段及び匿名化手段を備えている。
前記第2記憶手段は、前記暗号化装置により生成された前記暗号化データを記憶する。
前記匿名化手段は、前記第2記憶手段内の前記暗号化データのうちの一部の項目の値を復号せずに匿名化する処理により、当該暗号化データから暗号化匿名化データを生成する。
前記復号装置は、第3記憶手段及び復号手段を備えている。
前記第3記憶手段は、前記匿名化装置により生成された前記暗号化匿名化データを記憶する。
前記復号手段は、前記第3記憶手段内の前記暗号化匿名化データを復号する処理により、当該暗号化匿名化データから匿名化データを生成する。
以下、各実施形態について図面を用いて説明するが、その前に、各実施形態に個別に用いられる各種の暗号方式等について述べる。また、各実施形態に用いられる各装置は、それぞれハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
<各種の暗号方式>
暗号化したデータを用いて統計処理を行う技術として、暗号化した状態で元のデータに対して、加減算や大小比較といった各種処理を実行可能な方式が知られている。この種の方式としては、例えば、第1の文献([Paillier])、第2の文献([OPE])、第3の文献([HLP10])及び第4の文献([AN2013-51001])にそれぞれ記載されている第1乃至第4の方式がある。ここで、各文献([Paillier]、[OPE]、[HLP10]、[AN2013-51001])に関する情報は、次の通りである。
暗号化したデータを用いて統計処理を行う技術として、暗号化した状態で元のデータに対して、加減算や大小比較といった各種処理を実行可能な方式が知られている。この種の方式としては、例えば、第1の文献([Paillier])、第2の文献([OPE])、第3の文献([HLP10])及び第4の文献([AN2013-51001])にそれぞれ記載されている第1乃至第4の方式がある。ここで、各文献([Paillier]、[OPE]、[HLP10]、[AN2013-51001])に関する情報は、次の通りである。
[Paillier] Pascal Paillier, Public-Key Cryptosystems Based on Composite Degree Residuosity Classes, EUROCRYPT 1999, pp223-238.
[OPE] A. Boldyreva, N. Chenette, Y. Lee and A. O'Neill. Order-preserving symmetric encryption. In Eurocrypt '09, pp. 224{241. Springer, 2009.
[HLP10] C-Y. Hsu, C-S. Lu, S-C. Pei, “Homomorphic Encryption-based Secure SIFT for Privacy-Preserving Feature Extraction”, Proceedings of SPIE - The International Society for Optical Engineering, 2011.
[AN2013-51001] 特願2013-051001 (出願日:2013年3月13日)。
[OPE] A. Boldyreva, N. Chenette, Y. Lee and A. O'Neill. Order-preserving symmetric encryption. In Eurocrypt '09, pp. 224{241. Springer, 2009.
[HLP10] C-Y. Hsu, C-S. Lu, S-C. Pei, “Homomorphic Encryption-based Secure SIFT for Privacy-Preserving Feature Extraction”, Proceedings of SPIE - The International Society for Optical Engineering, 2011.
[AN2013-51001] 特願2013-051001 (出願日:2013年3月13日)。
第1の方式は、暗号化した状態で加減算が可能な暗号方式(以下、準同型暗号と呼ぶ)であり、[Paillier]方式とも呼ぶ。
第2の方式は、暗号文の大小関係と対応する平文の大小関係が一致する順序保存暗号(Order Preserving Encryption)方式であり、[OPE]方式とも呼ぶ。
第3の方式は、準同型暗号で、かつ大小比較が可能な方式であり、[HLP10]方式とも呼ぶ。
第4の方式は、準同型暗号で、かつ大小比較が可能な方式であり、[AN2013-51001]方式とも呼ぶ。
各実施形態では、この種の方式を用いて、暗号化したデータを匿名化する。このとき、元のデータが暗号化された状態のため、匿名化の前に、暗号化したデータを外部に出力できる。従って、暗号化したデータをクラウド等の外部サービスに保管できる。また、暗号化したデータを匿名化して得られた暗号化匿名化データを復号し、匿名化データを得るようにしてもよい。
次に、暗号化した状態で演算を行う各方式の代表的なアルゴリズムについて説明する。
始めに、(加法的な)準同型暗号方式([Paillier]方式)について述べる。[Paillier]方式の基本的なモデルは、以下の鍵生成、暗号化、暗号文の加算、暗号文の減算、復号の5つの関数(以下、アルゴリズムともいう)からなる。
(鍵生成)KeyGen(1k)→(pkA,skA)
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、公開鍵pkAと秘密鍵skAの組(pkA,skA)を出力する。
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、公開鍵pkAと秘密鍵skAの組(pkA,skA)を出力する。
(暗号化)Enc(pkA,m1)→CA,m1
暗号化アルゴリズムEncは、ユーザAの公開鍵pkAと平文m1が入力されると、ユーザA宛の暗号文CA,m1を出力する。
暗号化アルゴリズムEncは、ユーザAの公開鍵pkAと平文m1が入力されると、ユーザA宛の暗号文CA,m1を出力する。
(暗号文の加算)Add(CA,m1,CA,m2)→CA,m1+m2
加算アルゴリズムAddは、ユーザA宛の暗号文CA,m1とCA,m2が入力されると、ユーザA宛の暗号文CA,m1+m2を出力する。
加算アルゴリズムAddは、ユーザA宛の暗号文CA,m1とCA,m2が入力されると、ユーザA宛の暗号文CA,m1+m2を出力する。
(暗号文の減算)Sub(CA,m1,CA,m2)→CA,m1-m2
減算アルゴリズムSubは、ユーザA宛の暗号文CA,m1とCA,m2が入力されると、ユーザA宛の暗号文CA,m1-m2を出力する。
減算アルゴリズムSubは、ユーザA宛の暗号文CA,m1とCA,m2が入力されると、ユーザA宛の暗号文CA,m1-m2を出力する。
(復号)Dec(skA,CA,m1+m2)→m1+m2
復号アルゴリズムDecは、ユーザAの秘密鍵skAとユーザA宛の暗号文CA,m1+m2が入力されると、平文m1+m2を出力する。
復号アルゴリズムDecは、ユーザAの秘密鍵skAとユーザA宛の暗号文CA,m1+m2が入力されると、平文m1+m2を出力する。
次に、大小比較可能な順序保存暗号方式([OPE]方式)について述べる。[OPE]方式の基本的なモデルは、以下の鍵生成、暗号化、暗号文の比較、復号の4つの関数(以下、アルゴリズムともいう)からなる。
(鍵生成)KeyGen(1k)→(skA)
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、秘密鍵skAを出力する。
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、秘密鍵skAを出力する。
暗号文の比較アルゴリズムCompは、暗号文CA,m1とCA,m2が入力されると、m1がm2より大きなときは1を、m1とm2が等しいときは0を、m1がm2よりも小さいときは-1を出力する。
(復号)Dec(skA,CA,m1)→ m1
復号アルゴリズムDecは、秘密鍵skAと暗号文CA,m1が入力されると、平文m1を出力する。
復号アルゴリズムDecは、秘密鍵skAと暗号文CA,m1が入力されると、平文m1を出力する。
次に、(加法的な)準同型暗号方式と大小比較可能な暗号方式([HLP10]方式、[AN2013-51001]方式)の性質を保持する暗号方式について述べる。この暗号方式の基本的なモデルは、以下の鍵生成、暗号化、暗号文の加算、暗号文の減算、暗号文の比較、復号の6つの関数(以下、アルゴリズムともいう)からなる。
(鍵生成)KeyGen(1k)→(skA)
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、秘密鍵skAを出力する。
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、秘密鍵skAを出力する。
(暗号化)Enc(skA,m1)→CA,m1
暗号化アルゴリズムEncは、秘密鍵skAと平文m1が入力されると、暗号文CA,m1を出力する。
暗号化アルゴリズムEncは、秘密鍵skAと平文m1が入力されると、暗号文CA,m1を出力する。
(暗号文の加算)Add(CA,m1,CA,m2)→CA,m1+m2
加算アルゴリズムAddは、暗号文CA,m1とCA,m2が入力されると、暗号文CA,m1+m2を出力する。
加算アルゴリズムAddは、暗号文CA,m1とCA,m2が入力されると、暗号文CA,m1+m2を出力する。
暗号文の比較アルゴリズムCompは、暗号文CA,m1とCA,m2が入力されると、m1がm2より大きなときは1を、m1とm2が等しいときは0を、m1がm2よりも小さいときは-1を出力する。
(復号)Dec(skA,CA,m1+m2)→ m1+m2
復号アルゴリズムDecは、秘密鍵skAと暗号文CA,m1+m2が入力されると、平文m1+m2を出力する。
復号アルゴリズムDecは、秘密鍵skAと暗号文CA,m1+m2が入力されると、平文m1+m2を出力する。
また、上述したモデルに基づく、[AN2013-51001]方式の各関数の具体的なアルゴリズムの一例を述べる。他の方式とは異なり、この[AN2013-51001]方式については、本願出願時に未公開のため、各関数のアルゴリズムの一例を詳細に述べる。
(鍵生成)KeyGen(1k)→(a、gsv、g、N、a-1、s、v)
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、暗号化鍵a、gsv、g、N、二次演算鍵a-1、s、N、三次演算鍵v、N、及び復号鍵sv、a-1、N(又はs、v、a-1、N)を出力する。
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、暗号化鍵a、gsv、g、N、二次演算鍵a-1、s、N、三次演算鍵v、N、及び復号鍵sv、a-1、N(又はs、v、a-1、N)を出力する。
以下、この鍵生成アルゴリズムKeyGenによる鍵生成処理の一例を具体的に述べる。
始めに、鍵生成アルゴリズムKeyGenは、p’=(p-1)/2,q’=(q-1)/2が素数となる素数p,qを生成する。素数p,qは、上記セキュリティパラメータ1kに対応するセキュリティパラメータλに基づいて、合成数N=pqのビット数がλ又はλより大きい値となるように生成される。
次に、鍵生成アルゴリズムKeyGenは、パラメータpp’qq’及びNを計算する。
次に、鍵生成アルゴリズムKeyGenは、位数がpp’qq’である乗法群Gを生成し、Gの元gをGからランダムに選択する。位数がpp’qq’である乗法群Gを生成するには、例えば、ZN2*の元をZN2*からランダムに選択し、選択した元を二乗して得られた値をgとすれば良い。ここで、ZN2*はZN2かつN2と互いに素な整数の集合(=(Z/N2Z)*)であり、合成数N2に対する乗法群ZN2*と呼んで良い。ZN2は0以上N2未満の整数の集合(=(Z/N2Z)である。
次に、鍵生成アルゴリズムKeyGenは、先に計算したパラメータpp’qq’及びNに基づき、各鍵の一部a,s,vを集合{1,…,pp’qq’}からそれぞれランダムに選択する。
続いて、鍵生成アルゴリズムKeyGenは、a・a-1modN2=1を満たすa-1の値と、gsvの値とを計算する。しかる後、鍵生成アルゴリズムKeyGenは、暗号化鍵a,gsv,g,N、二次演算鍵a-1,s,N、三次演算鍵v,N、、及び復号鍵sv、a-1、N(又はs、v、a-1、N)を出力する。
なお、暗号化鍵は、a,sv,g,Nであっても良いし、a,s,v,g,Nであっても良い。また、g,N,N2は暗号化鍵、二次演算鍵、及び三次演算鍵に含めず、公開パラメータとして各装置に対して公開しておいても良い。まとめると、暗号鍵はa,s,v(又はa,sv)を含む。二次演算鍵はa-1,sを含む。三次演算鍵はvを含む。
これらのことは、後述する各実施形態及び各変形例においても同様である。
以上により、鍵生成処理が完了する。なお、本明細書では、Gを乗法群と想定した記法を採用しているが、これに限らず、Gを加法群と想定した記法で表すことも可能である。
(暗号化)Enc(m)→C=(C1、C2)
暗号化アルゴリズムEncは、暗号化鍵と平文mが入力されると、暗号文C=(C1、C2)を出力する。
暗号化アルゴリズムEncは、暗号化鍵と平文mが入力されると、暗号文C=(C1、C2)を出力する。
以下、この暗号化アルゴリズムEncによる暗号化処理の一例を具体的に述べる。
ここでは、暗号化アルゴリズムEncがk(kは自然数)個の平文(暗号化対象の数値データ)m1,…,mkを暗号化する例を説明する。各平文miはZNの元である。ZNは0以上N未満の整数の集合(=(Z/NZ)である。
始めに、暗号化アルゴリズムEncは、k個の乱数r1,…,rkをZN2*からランダムにそれぞれ選択する。次に、暗号化アルゴリズムEncは、生成した乱数r1,…,rkと、前述した暗号化鍵a,gsv,g,Nとを用いて、次式により平文m1,…,mkを暗号化する。
これにより、暗号文Ci(i=1,…,k)が生成される。なお、暗号化鍵aは、鍵生成アルゴリズムKeyGenを備えた鍵生成装置が生成しても良く、鍵生成アルゴリズムKeyGenを備えた暗号化装置が生成しても良い。後者の場合、鍵生成装置は、暗号化鍵gsv,g,Nを暗号化装置に送信し、暗号化装置は、暗号化鍵aを生成し、また、a-1の値を計算する。なお、暗号化装置は、pp’qq’の値を知らない場合、暗号化鍵aをZN2*の中からランダムに選択すれば良い。
以上により、暗号化処理が完了する。
(暗号文の一次演算処理)Cal1st(C)→X=(X1、X2)
一次演算処理アルゴリズムCal1stは、暗号文Cが入力されると、一次演算結果X=(X1、X2)を出力する。
一次演算処理アルゴリズムCal1stは、暗号文Cが入力されると、一次演算結果X=(X1、X2)を出力する。
以下、この一次演算処理アルゴリズムCal1stによる一次演算処理の一例を具体的に述べる。
この例の一次演算処理は、暗号文(暗号化データ)を加減算する処理である。
ここで、niは任意の整数である。また、Kは、式Fの計算に必要なインデックスiの集合である。例えば、F=2m1-m2の場合、n1=2,n2=-1,K={1,2}である。また、加減算の式Fにおける被減数maと減数mbとの間の大小関係を判定したい場合、例えば、F=ma-mb=3m2-4m3+m5とし、n2=3,n3=-4,n5=1,K={2,3,5}である。ここで、被減数maは3m2+m5であり、減数mbは4m3である。また、数値a,bの大小関係を判定したい場合、F=ma-mb=m1-m2とし、n1=1,n2=-1,K={1,2}とすればよい。
しかる後、一次演算処理アルゴリズムCal1stは、一次演算結果X=(X1、X2)を出力する。
以上により、一次演算処理が完了する。
(暗号文の二次演算処理)Cal2nd(X)→Y=(Y1、Y2)
二次演算処理アルゴリズムCal2ndは、1次演算結果Xと二次演算鍵a-1、s、Nが入力されると、二次演算結果Y=(Y1、Y2)を出力する。
二次演算処理アルゴリズムCal2ndは、1次演算結果Xと二次演算鍵a-1、s、Nが入力されると、二次演算結果Y=(Y1、Y2)を出力する。
以下、この二次演算処理アルゴリズムCal2ndによる二次演算処理の一例を具体的に述べる。
この例の二次演算処理は、加減算された暗号文(暗号化データ)をランダム化する処理である。
二次演算処理アルゴリズムCal2ndは、パラメータL,J,β,Dを生成する。これらのパラメータL,J,β,Dを選択する指標については後述する。なお、パラメータL,J,β,Dは外部から与えられても良い。
次に、二次演算処理アルゴリズムCal2ndは、β個の乱数r’i(i=0,…,β-1)を集合{1,…,L}の中からランダムにそれぞれ選択する。ここで、β=1であっても良いし、β≧2であっても良い。これは他の実施形態や変形例においても同様である。また、乱数zを集合{0,1,…,J}の中からランダムに選択する。そして、二次演算処理アルゴリズムCal2ndは、次式に示す乱数Rを計算し、乱数R,zを取得する。
しかる後、二次演算処理アルゴリズムCal2ndは、一次演算結果Y=(Y1、Y2)を出力する。
ここで、各パラメータを選択する指標について説明する。正負判定可能な絶対値の最大値をDとする。すなわち、0<F<DのときFを正と判定し,-D<F<0のときFを負と判定できるようにしたいとする。このとき、二次演算処理アルゴリズムCal2ndは、次式を満たすように、β個の乱数r’iを選択する。
また、二次演算処理アルゴリズムCal2ndは、β個の乱数r’iの積であるRを上記のように選択したとき,R<Jとなる確率が十分小さくなるようにJを選択する。
以上により、二次演算処理が完了する。
三次演算処理アルゴリズムCal3rdは、二次演算結果Yと三次演算鍵v、Nが入力されると、正又は負(又は0)を示す判定結果を出力する。
以下、この三次演算処理アルゴリズムCal3rdによる三次演算処理の一例を具体的に述べる。
この例の三次演算処理は、ランダム化及び加減算された暗号文(暗号化データ)から加減算の式における被減数と減数との間の大小関係を判定する処理である。
次に、三次演算処理アルゴリズムCal3rdは、W<N/2ならば式Fは正であると判定し、そうでないならば式Fは負(又は0)と判定する。
F=Ma-Mbの形で表されるとき、Fが正であれば、Ma>Mbと判定できる。Fが負であれば、Ma≦Mbと判定できる。
しかる後、三次演算処理アルゴリズムCal3rdは、判定結果を出力する。
以上により、三次演算処理が完了する。
なお、判定の際に、三次演算処理アルゴリズムCal3rdは、-J≦W≦0ならばF=0と判定しても良い。この場合、三次演算処理アルゴリズムCal3rdは、-N/2<W<-JならばFは負であると判定する。これは他の実施形態や変形例においても同様である。
三次演算結果Wにおいては、W=FR-zであり、FRからzを引いている。しかしながら、上述したようにRの値を適切に設定すれば、三次演算処理アルゴリズムCal3rdは、乱数zの値に影響を受けることなく、正しくFの正負判定を行うことができる。
上述した例では、F=Ma-Mb=3m2-4m3+m5であるので、例えば、被減数Ma=3m2+m5、減数Mb=4m3とおくことにより、被減数(3m2+m5)と減数(4m3)との間の大小関係を判定できる。また、例えば、被減数Ma=3m2、減数Mb=4m3-m5とみなすことにより、被減数(3m2)と減数(4m3-m5)との間の大小関係を判定することもできる。
(復号)Dec(C)→ m
復号アルゴリズムDecは、復号鍵sv、a-1、N(又はs、v、a-1、N)と暗号文Cが入力されると、平文mを出力する。
復号アルゴリズムDecは、復号鍵sv、a-1、N(又はs、v、a-1、N)と暗号文Cが入力されると、平文mを出力する。
以下、この復号アルゴリズムDecによる復号処理の一例を具体的に述べる。
しかる後、復号アルゴリズムDecは、平文m=mi(i=1,…,k)を出力する。
以上により、復号処理が完了する。
一方、データを暗号化する技術として暗号化と復号に同一の鍵を用いる方式も知られている。この種の方式としては、例えば、第5の文献([AES])に記載されている第5の方式(以下、[AES]方式とも呼ぶ。)がある。ここで、第5の文献([AES])に関する情報は、次の通りである。
[AES] AES(Advanced Encryption Standard):FIPS-197, http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
暗号化と復号に同一の鍵を用いる暗号方式([AES]方式)について述べる。[AES]方式の性質を保持する暗号方式の基本的なモデルは、以下の鍵生成、暗号化、復号の3つの関数(以下、アルゴリズムともいう)からなる。
暗号化と復号に同一の鍵を用いる暗号方式([AES]方式)について述べる。[AES]方式の性質を保持する暗号方式の基本的なモデルは、以下の鍵生成、暗号化、復号の3つの関数(以下、アルゴリズムともいう)からなる。
(鍵生成)KeyGen(1k)→(skA)
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、秘密鍵skAを出力する。
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、秘密鍵skAを出力する。
(暗号化)Enc(skA,m1)→CA,m1
暗号化アルゴリズムEncは、秘密鍵skAと平文m1が入力されると、暗号文CA,m1を出力する。
暗号化アルゴリズムEncは、秘密鍵skAと平文m1が入力されると、暗号文CA,m1を出力する。
(復号)Dec(skA,CA,m1)→ m1
復号アルゴリズムDecは、秘密鍵skAと暗号文CA,m1が入力されると、平文m1+m2を出力する。
復号アルゴリズムDecは、秘密鍵skAと暗号文CA,m1が入力されると、平文m1+m2を出力する。
以上が各実施形態に個別に用いられる各種の暗号方式([Paillier]方式、[OPE]方式、[HLP10]方式、[AN2013-51001]方式、[AES]方式)の代表的なアルゴリズムである。各実施形態は、図43又は図44に示すように、各種の暗号方式([Paillier]方式、[OPE]方式、…)による暗号化データを復号せずに匿名化処理(仮名化、トップコーディング、…)する形態となっている。なお、図43は、データ所有者が暗号化データを外部サービスに保存する旨の上記(A)の場合を示している。図44は、M2Mサービスが暗号化データを外部サービスに保存する旨の上記(B)の場合を示している。
<第1の実施形態:仮名化>
図1は第1の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。この匿名化システムは、1台以上の暗号化装置10、匿名化装置20及び復号装置30を備え、各装置10,20,30が互いに通信網40を介して接続されている。通信網40は統計処理装置50に接続されている。通信網40は、例えば、無線LAN(Local Area Network)、有線LAN、光回線網、電話回線網、イントラネット、イーサネット(登録商標)及びインターネットやこれらの組み合わせである。
図1は第1の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。この匿名化システムは、1台以上の暗号化装置10、匿名化装置20及び復号装置30を備え、各装置10,20,30が互いに通信網40を介して接続されている。通信網40は統計処理装置50に接続されている。通信網40は、例えば、無線LAN(Local Area Network)、有線LAN、光回線網、電話回線網、イントラネット、イーサネット(登録商標)及びインターネットやこれらの組み合わせである。
ここで、暗号化装置10は、暗号パラメータ格納部11、鍵記憶部12、一時データ記憶部13、通信部14、パラメータ生成部15、乱数生成部16、暗号化部17及び制御部18を備えている。なお、本実施形態では1台の暗号化装置10を用いる場合について述べる。複数台の暗号化装置を用いる場合は、第2の実施形態において述べる。
暗号パラメータ格納部11、鍵記憶部12及び一時データ記憶部13は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ暗号パラメータ、暗号化鍵及び一時データ等を記憶する。一時データ記憶部13は、各項目毎に値を含む個人データを記憶する第1記憶手段を構成している。
通信部14、パラメータ生成部15、乱数生成部16、暗号化部17及び制御部18は、例えば、図示しないプロセッサが、後述する暗号化装置10内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。暗号化部17は、個人データに含まれる各項目の値を暗号化する処理により、当該個人データから暗号化データを生成する暗号化手段を構成している。また、暗号化部17は、匿名化する処理に用いる匿名用パラメータを暗号化して暗号化匿名用パラメータを生成するパラメータ暗号化手段、を構成している。なお、匿名用パラメータとしては、例えば、乱数、しきい値、下限値、上限値、代表値、誤差などが適宜、使用可能となっている。本実施形態では、匿名用パラメータとして乱数が用いられる。暗号化匿名用パラメータとしては、例えば、暗号化乱数、暗号化しきい値、暗号化下限値、暗号化上限値、暗号化代表値、暗号化誤差などが適宜、使用可能となっている。本実施形態では、暗号化匿名用パラメータとして暗号化乱数が用いられる。但し、パラメータ暗号化手段は、第13及び第14の実施形態に述べるように、必須ではなく省略可能である。
匿名化部20は、暗号パラメータ格納部21、暗号化データ格納部22、一時データ記憶部23、通信部24、乱数生成部25、匿名化処理部26、演算部27、演算結果比較部28及び制御部29を備えている。
暗号パラメータ格納部21、暗号化データ格納部22、一時データ記憶部23は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ暗号パラメータ、暗号化データ及び一時データ等を記憶する。一時データ記憶部23は、暗号化装置10により生成された暗号化データを記憶する第2記憶手段を構成している。
通信部24、乱数生成部25、匿名化処理部26、演算部27、演算結果比較部28及び制御部29は、例えば、図示しないプロセッサが、後述する匿名化部20内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。匿名化処理部26は、第2記憶手段内の暗号化データのうちの一部の項目の値を復号せずに匿名化する処理により、当該暗号化データから暗号化匿名化データを生成する匿名化手段を構成している。匿名化手段は、暗号化装置10により生成された暗号化匿名用パラメータに基づいて、暗号化データから暗号化匿名化データを生成する機能をもっている。但し、この機能は、第13及び第14の実施形態に述べるように、暗号化匿名用パラメータを用いない場合には省略される。
復号装置30は、暗号パラメータ格納部31、秘密鍵格納部32、一時データ記憶部33、通信部34、乱数生成部35、鍵生成部36、復号部37及び制御部38を備えている。
暗号パラメータ格納部31、秘密鍵格納部32及び一時データ記憶部33は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ暗号パラメータ、秘密鍵及び一時データ等を記憶する。一時データ記憶部33は、匿名化装置20により生成された暗号化匿名化データを記憶する第3記憶手段を構成している。
通信部34、乱数生成部35、鍵生成部36、復号部37及び制御部38は、例えば、図示しないプロセッサが、後述する復号装置30内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。復号部37は、第3記憶手段内の暗号化匿名化データを復号する処理により、当該暗号化匿名化データから匿名化データを生成する復号手段を構成している。ここで、匿名化データは、例えば、個人データのうち、一部の項目の値が匿名化された値と、一部の項目以外の項目の値とを含む情報であってもよい。また例えば、暗号化匿名化データは、暗号化データに含まれる一部の項目の暗号化された値が匿名化された値と、暗号化データに含まれる一部の項目以外の項目の値とを含む情報であってもよい。なお、暗号化匿名化データにおいて、「暗号化データに含まれる一部の項目の暗号化された値が匿名化された値」は、「匿名化データに含まれる一部の項目の値が匿名化された値が暗号化された値」と同じ値に読み替えてもよい。
統計処理装置50は、データ格納部51、通信部52及び統計処理部53を備えている。
データ格納部51は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、匿名化データ及び統計データ等を記憶する。
通信部52及び統計処理部53は、例えば、図示しないプロセッサが、後述する統計処理装置50内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。
尚、図1中、各装置10,20,30,50を1台ずつ備えた場合を示したが、これに限らず、各装置10,20,30,50は、1台以上の任意の台数を備えてもよい。また、図1中、匿名化装置20は暗号化データの格納機能(暗号化データ格納部22)を備え、復号装置30は鍵生成に関する機能(各部31,33~36,38)を備えたが、これに限らず、例えば図2に示すように、当該各機能を他の装置に配置してもよい。このことは、任意の各装置及び任意の各機能についても同様である。
本実施形態は、個人データの1つである社員番号を暗号化したまま仮名化する技術に関する。
個人データとは、個人に関する情報であって、氏名、社員番号、年齢、収入、生年月日、その他の情報などのように、単一または複数の組み合わせにより、特定の個人を識別可能な情報をいう。「個人データ」は、「個人情報」又は「個人情報のデータ」等と呼んでもよい。本実施形態では、図3に一例を示すように、名前、社員番号、年齢及び収入といった属性項目の属性値(文字列又は数値)が個人データとして用いられ、当該個人データがテーブルT1に格納されている。ここでは、属性項目「名前」の属性値に文字列を用いている。属性項目「社員番号」の属性値に数値を用いている(但し、社員番号はID情報であるため、文字列と数値の組み合わせを用いてもよい。)。属性項目「年齢」及び「収入」の属性値に数値を用いている。当該テーブルT1は、図示した属性項目の属性値として個人データを含んでいるが、これに加え、図示しない他の属性項目の属性値として個人データ以外の情報を含んでもよい。いずれにしても、テーブルT1には、個人データが記述されている。また、個人データ以外の情報が属性値になる属性項目としては、例えば、罹患した病名、購入した商品名、アンケートの回答、などが適宜、使用可能となっている。なお、「属性項目」の用語は、単に「属性」又は「項目」と呼んでもよく、「属性情報」又は「項目情報」等と呼んでもよい。同様に、「属性値」の用語は、単に「値」と呼んでもよい。
個人データの匿名化とは、特定の個人を識別不能とするように個人データを変換する処理のことをいう。匿名化の処理については前述したような方法が知られている。
これらの定義は、以下の各実施形態や変形例においても同様である。
次に、本実施形態における匿名化システムの動作について図4のシーケンス図、並びに図3、図5及び図6の模式図を用いて説明する。以下の説明では、(加法的な)準同型暗号方式を用いて匿名化する場合を例に挙げて述べる。
(事前準備)
ステップST1において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、準同型暗号方式における鍵ペア(公開鍵pkA、秘密鍵skA)を生成する。
ステップST1において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、準同型暗号方式における鍵ペア(公開鍵pkA、秘密鍵skA)を生成する。
KeyGen(1k)→(pkA,skA)
なお、鍵生成部36は、鍵ペアの生成処理において必要な乱数を乱数生成部35から取得することができる。また、復号装置30の鍵生成部36は、生成した鍵ペア(pkA,skA)を秘密鍵格納部32に保存する。ここで、公開鍵pkAは暗号化鍵であり、秘密鍵skAは復号鍵である。
なお、鍵生成部36は、鍵ペアの生成処理において必要な乱数を乱数生成部35から取得することができる。また、復号装置30の鍵生成部36は、生成した鍵ペア(pkA,skA)を秘密鍵格納部32に保存する。ここで、公開鍵pkAは暗号化鍵であり、秘密鍵skAは復号鍵である。
ステップST2において、復号装置30の制御部38は、通信部34により、暗号化装置10に、暗号化鍵である公開鍵pkAを送付する。暗号化装置10の制御部18は、通信部14により受信した公開鍵pkAを鍵記憶部12に格納する。
ステップST3において、暗号化装置10の暗号化部17は、図3に示したテーブルT1を一時データ記憶部13から読み出す。暗号化部17は、このテーブルT1のうち、仮名化対象の属性項目(社員番号)の属性値dataiを、鍵記憶部12内の公開鍵pkAに基づいてレコード毎に暗号化する。
Enc(pkA,datai)→CA,data_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
同様に、暗号化部17は、公開鍵pkAに基づいて、テーブルT1のうち、仮名化対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、図5に示すように、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
ステップST4において、暗号化装置10の制御部18は、通信部14により、テーブルT1eからなる暗号化データを匿名化装置20に送付する。
ステップST5において、匿名化装置20は、通信部24により受信した暗号化データであるテーブルT1eを一時データ記憶部23に保管する。
(匿名化)
ステップST6において、暗号化装置10の乱数生成部16は、仮名化するための匿名用パラメータを乱数Rとして生成する。暗号化部17は、生成した乱数Rを、鍵記憶部12内の公開鍵pkAに基づいて準同型暗号方式で暗号化し、暗号化匿名用パラメータである暗号化乱数CA,Rを生成する。
ステップST6において、暗号化装置10の乱数生成部16は、仮名化するための匿名用パラメータを乱数Rとして生成する。暗号化部17は、生成した乱数Rを、鍵記憶部12内の公開鍵pkAに基づいて準同型暗号方式で暗号化し、暗号化匿名用パラメータである暗号化乱数CA,Rを生成する。
Enc(pkA,R)→CA,R
ステップST7において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内の仮名化対象の属性項目(社員番号)と、暗号化乱数CA,Rとを匿名化装置20に送付する。但し、予め匿名化装置20が公開鍵pkAを取得することにより、暗号化乱数CA,Rを匿名化装置20が予め保持又は生成する場合には、暗号化装置10による暗号化乱数CA,Rの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
ステップST7において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内の仮名化対象の属性項目(社員番号)と、暗号化乱数CA,Rとを匿名化装置20に送付する。但し、予め匿名化装置20が公開鍵pkAを取得することにより、暗号化乱数CA,Rを匿名化装置20が予め保持又は生成する場合には、暗号化装置10による暗号化乱数CA,Rの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
ステップST8において、匿名化装置20は、通信部24により、当該属性項目(社員番号)及び暗号化乱数CA,Rを受信する。匿名化処理部26は、一時データ記憶部23内のテーブルT1eのうち、受信した属性項目(社員番号)に一致する属性項目(社員番号)の属性値CA,data_iと、受信した暗号化乱数CA,R とをレコード毎に加算する。
Add(CA,data_i,CA,R)→CA,data_i+R
すなわち、ステップST3で暗号化された属性値CA,data_iは、暗号化された状態のままで暗号化乱数CA,R が加算されることにより、復号されずに匿名化された属性値CA,data_i+Rに変換される。
すなわち、ステップST3で暗号化された属性値CA,data_iは、暗号化された状態のままで暗号化乱数CA,R が加算されることにより、復号されずに匿名化された属性値CA,data_i+Rに変換される。
このように、テーブルT1e内の仮名化対象の属性項目(社員番号)の属性値が匿名化され、図6に示すように、匿名化された属性値CA,data_i+Rを含むテーブルT1aが暗号化匿名化データとして生成される。
しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。
ステップST9において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。
本実施形態によれば、暗号化データを復号せずに匿名化し、得られた暗号化匿名化データを復号して匿名化データを利用することが可能になる。詳しくは数値で表現されているテーブルT1の属性値data_iを、仮名化用の乱数Rによって仮名化することができる。ここで、暗号化装置10は、仮名化用の暗号化乱数CA,Rに基づいて、仮名化前と仮名化後の対応テーブルを作成してもよい。この場合、仮名化したテーブルの属性情報から個人を特定することや、仮名化処理を元に戻すことも可能である。
しかる後、ステップST10において、復号装置30の制御部38は、通信部34により、暗号化匿名化データを受信して一時データ記憶部33に記憶する。復号部37は、秘密鍵格納部32内の復号鍵である秘密鍵skAに基づいて、一時データ記憶部33内の暗号化匿名化データであるテーブルT1a内の各属性項目の値を復号し、得られた復号結果のテーブルを得る。
復号装置30の制御部38は、復号結果のテーブルのうち、仮名化対象の属性項目(社員番号)の属性値が匿名化されているか否かを判定する。例えば、匿名化前の属性値の桁数(例、5桁)よりも高い桁数(例、7桁)の暗号化乱数CA,Rを加算した場合、当該属性値が高い桁数(例、7桁)であれば、匿名化されていると判定される。また例えば、匿名化された属性項目(社員番号)の属性値について、匿名化前の値と匿名化後の値とが異なる場合には、属性値が匿名化されている旨を判定してもよい。この場合、任意のタイミングで暗号化装置10が匿名化前の値を復号装置30に送信しておけばよい。いずれにしても、判定の結果が否の場合には、ステップST6(又はST4)から処理をやり直し、好ましい匿名化結果が得られるまで繰り返す。
ステップST11において、復号装置30の制御部38は、判定の結果、属性値が匿名化されている場合には、通信部34により、復号結果のテーブルからなる匿名化データを安全に統計処理装置50に送付する。
ステップST12において、統計処理装置50は、通信部52により受信した匿名化データを用いて統計処理を実行し、得られた統計処理結果をデータ格納部51に保存する。しかる後、統計処理装置50は、適宜、この統計処理結果を利用する。
上述したように本実施形態によれば、個人データに含まれる各項目の値を暗号化する処理により、当該個人データから暗号化データを生成する。暗号化データのうちの一部の項目の値を復号せずに匿名化する処理により、当該暗号化データから暗号化匿名化データを生成する。暗号化匿名化データを復号する処理により、当該暗号化匿名化データから匿名化データを生成する。このような構成により、個人データを暗号化して得られた暗号化データを復号せずに匿名化することができる。
また、本実施形態によれば、匿名化する処理に用いる匿名用パラメータを暗号化して暗号化匿名用パラメータを生成し、暗号化匿名用パラメータに基づいて、暗号化データから暗号化匿名化データを生成する。このような構成により、匿名用パラメータを調整して匿名化処理をやり直すことにより、好ましい匿名化結果の匿名化データを生成することができる。
なお、本実施形態では、復号装置30が鍵生成を実行したが、これに限らず、暗号化装置10が鍵生成を実行し、本実施形態と同様に適切な装置へ鍵を送付してもよい。
また、本実施形態は、(加法的な)準同型暗号でかつ大小比較可能な暗号方式でも同様に実施可能となっている。これらの暗号方式を用いる場合、それぞれの暗号方式における暗号アルゴリズムを置き換えることにより、本実施形態を同様に実施して同様の効果を得ることができる。
本実施形態は、図2に示すように、復号装置30から鍵生成機能(乱数生成部35及び鍵生成部36)を分離した鍵生成装置60と、匿名化装置20から保管機能(暗号化データ格納部22)を分離したデータ保管装置70とを備えた構成に変形してもよい。この時、既存のデータ保管装置70に、匿名化装置20を連携させることで、本実施形態と同様の効果を得ることが可能になる。
ここで、鍵生成装置60は、暗号パラメータ格納部61、一時データ記憶部62、通信部63、乱数生成部64、鍵生成部65及び制御部66を備えている。
暗号パラメータ格納部61及び一時データ記憶部62は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ暗号パラメータ及び一時データ等を記憶する。
通信部63、乱数生成部64、鍵生成部65及び制御部66は、例えば、図示しないプロセッサが、後述する鍵生成装置60内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。
データ保管装置70は、例えばクラウドにより実施されて大量データを保管可能な装置(又はシステム)であり、データ格納部71及び通信部72を備えている。
データ格納部71は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、データ等を記憶する。
通信部72は、例えば、図示しないプロセッサが、後述するデータ保管装置70内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。
図2に示す構成によれば、例えば図7に示すように、前述した各ステップST1~ST12を各装置10,20,30,50,60,70で分担して実行する。図7中、図4に示したステップと同一のステップを実行する場合には実行する装置の変更の有無によらずに同一のステップ番号を付し、ステップ自体を複数のサブステップに分けて実行する場合にはステップ番号に枝番(-1,-2,-3)を付している。このようなステップ番号の付け方は、以下の各実施形態及び各変形例でも同様である。
図7は、主に、データ保管装置70に保存した暗号化データを匿名化装置20により匿名化し、得られた匿名化データをデータ保管装置70上で更新し、復号装置30に送付する場合の動作を説明するためのシーケンス図である。
この動作においては、具体的には、鍵生成装置60が鍵ペアを生成及び保存し(ST1)、暗号化鍵を暗号化装置10に送付する(ST2)。暗号化装置10は、データを暗号化し(ST3)、得られた暗号化データをデータ保管装置70に送付する(ST4)。データ保管装置70は、暗号化データを保管する(ST5)。暗号化装置10は、乱数Rを暗号化し(ST6)、得られた暗号化乱数CA,Rを匿名化装置20に送付する(ST7)。データ保管装置70は、保管した暗号化データを匿名化装置20に送付する(ST8-1)。匿名化装置20は、送付された暗号化データを暗号化乱数CA,Rに基づいて復号せずに匿名化(仮名化)し、得られた暗号化匿名化データをデータ保管装置70に送付する(ST9-1)。データ保管装置70は、送付された暗号化匿名化データを保管し(ST9-2)、当該暗号化匿名化データを復号装置30に送付する(ST9-3)。復号装置30は、例えば復号鍵を鍵生成装置60に要求する。鍵生成装置60は、復号鍵を復号装置30に送付する(ST10-1)。復号装置30は、送付された復号鍵に基づいて、暗号化匿名化データを復号し、得られた匿名化データが匿名化されているか否かを判定(確認)する(ST10-2)。判定の結果、否の場合には、ステップST6からやり直す。判定の結果、匿名化されている場合には、前述したステップST11~ST12が実行される。
このとき、既存のデータ保管装置70を大きく変えることなく、本実施形態の効果を得ることが可能になる。これは後述する実施形態や変形例においても同様である。
また例えば、図8は、主に、データ保管装置70に保存した暗号化データを匿名化装置20により匿名化し、得られた匿名化データをデータ保管装置70上では更新せずに、復号装置30に送付する場合の動作を説明するためのシーケンス図である。この動作は、具体的には、図7に示すステップST9-1~ST9-3に代えて、匿名化装置20が暗号化匿名化データを復号装置30に送付するステップST9を実行する動作である。
この場合、データ保管装置70内の暗号化データは、原本データを暗号化した状態のままであり、その状態に対して匿名化した匿名化データを適宜得ることが可能になる。このとき、データ保管装置70の暗号化データが更新されないことから匿名化前と後の暗号化データを暗号化装置10又は復号装置30で管理する必要がなく、データの管理コストを低減することが可能となる。これは後述する実施形態や変形例においても同様である。
<第1の実施形態の変形例:仮名化>
第1の実施形態は、匿名化装置20が、テーブルT1eのうち、仮名化対象の属性項目(社員番号)の属性値CA,data_iを、レコード毎に異なる暗号化乱数CA,Rにより仮名化することができる。
第1の実施形態は、匿名化装置20が、テーブルT1eのうち、仮名化対象の属性項目(社員番号)の属性値CA,data_iを、レコード毎に異なる暗号化乱数CA,Rにより仮名化することができる。
ここで、復号した匿名化データ(仮名化した社員番号)が漏れ、かつ仮名化対象の1つのレコードの情報(社員番号の原本データ)を知っているユーザが関与したとする。このような状況でも、関与したユーザは、匿名化データの各レコードが異なる暗号化乱数CA,Rで仮名化されていることから、他のレコードの情報(社員番号の原本データ)を推測することができない。
<第2の実施形態:M2M及び仮名化>
図9は第2の実施形態に係る匿名化システム及びその周辺構成を示す模式図であり、図1及び図2と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。以下の各実施形態及び変形例も同様にして重複した部分の説明を省略する。
図9は第2の実施形態に係る匿名化システム及びその周辺構成を示す模式図であり、図1及び図2と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。以下の各実施形態及び変形例も同様にして重複した部分の説明を省略する。
第2の実施形態は、暗号化装置10が個人データを暗号化して匿名化装置20に預ける第1の実施形態とは異なり、M2Mサービスのように、各機器で取得した個人データを暗号化してなる暗号化データを匿名化装置20で収集する形態となっている。ここでいう各機器は、各々の暗号化装置(1~N)10に相当する。
具体的には、第2の実施形態は、図1に示した構成に比べ、暗号化装置10をN台設け、且つ鍵生成装置60及びパラメータ生成装置80を更に備えている。但し、パラメータ生成装置80は、必須ではなく、例えばいずれかの暗号化装置10がパラメータ(例、乱数R)及び暗号化パラメータ(暗号化乱数CA,R)を生成する場合には、省略してもよい。このことは、以下の各実施形態及び各変形例でも同様である。
ここで、N台の暗号化装置(1~N)10は、前述した暗号化装置10のパラメータ生成部15に代えて、データ取得部19を備えている。
パラメータ生成装置80は、暗号パラメータ格納部81、鍵記憶部82、通信部83、パラメータ生成部84、乱数生成部85、暗号化部86及び制御部87を備えている。
暗号パラメータ格納部81及び鍵記憶部82は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ暗号パラメータ及び鍵等を記憶する。
通信部83、パラメータ生成部84、乱数生成部85、暗号化部86及び制御部87は、例えば、図示しないプロセッサが、後述するパラメータ生成装置80内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。
次に、本実施形態における匿名化システムの動作について図10のシーケンス図を用いて説明する。
(事前準備)
ステップST1において、鍵生成装置60の鍵生成部65は、暗号パラメータ格納部61内のセキュリティパラメータ(1k)に基づいて、準同型暗号方式における鍵ペア(公開鍵pkA、秘密鍵skA)を生成する。
ステップST1において、鍵生成装置60の鍵生成部65は、暗号パラメータ格納部61内のセキュリティパラメータ(1k)に基づいて、準同型暗号方式における鍵ペア(公開鍵pkA、秘密鍵skA)を生成する。
KeyGen(1k)→(pkA,skA)
なお、鍵生成部65は、鍵の生成処理において必要な乱数を乱数生成部64から取得することができる。また、公開鍵pkAは暗号化鍵であり、秘密鍵skAは復号鍵である。
なお、鍵生成部65は、鍵の生成処理において必要な乱数を乱数生成部64から取得することができる。また、公開鍵pkAは暗号化鍵であり、秘密鍵skAは復号鍵である。
ステップST2において、鍵生成装置60の制御部66は、通信部63により、暗号化鍵である公開鍵pkAを各暗号化装置(1~N)10及びパラメータ生成装置80に送付する。各暗号化装置(1~N)10の制御部18は、通信部14により受信した公開鍵pkAを鍵記憶部12に格納する。同様に、パラメータ生成装置80の制御部87は、通信部83により受信した公開鍵pkAを鍵記憶部82に格納する。なお、各暗号化装置(1~N)10は、機器組み立て時に公開鍵pkAを入力して格納してもよく、機器を配置後、ネットワーク経由で公開鍵pkAを受信して格納してもよい。同様に、鍵生成装置60の制御部66は、通信部63により、復号鍵である秘密鍵skAを復号装置30に送付する。復号装置30の制御部38は、通信部34により受信した秘密鍵sAを秘密鍵格納部32に格納する。
ステップST3において、各暗号化装置(1~N)10のデータ取得部19は、テーブルT1からなる個人データを取得して一時データ記憶部13に記憶する。各暗号化装置(1~N)10の暗号化部17は、一時データ記憶部13内のテーブルT1のうち、仮名化対象の属性項目(社員番号)の属性値dataiを、鍵記憶部12内の公開鍵pkAに基づいてレコード毎に暗号化する。
Enc(pkA,datai)→CA,data_i
同様に、各暗号化装置(1~N)10の暗号化部17は、公開鍵pkAに基づいて、テーブルT1のうち、仮名化対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
同様に、各暗号化装置(1~N)10の暗号化部17は、公開鍵pkAに基づいて、テーブルT1のうち、仮名化対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
ステップST4において、各暗号化装置(1~N)10の制御部18は、通信部14により、テーブルT1eからなる暗号化データと、テーブルT1e内の仮名化対象の属性項目(社員番号)とを匿名化装置20に送付する。
ステップST5において、匿名化装置20は、通信部24により、暗号化データであるテーブルT1eと、テーブルT1e内の仮名化対象の属性項目(社員番号)とを受信する。しかる後、匿名化装置20の制御部29は、当該テーブルT1eと、仮名化対象の属性項目(社員番号)とを一時データ記憶部23に保管する。
このとき、一時データ記憶部23内のテーブルT1eは、新たに受信したテーブルT1eの内容が追加された状態で更新される。なお、これに限らず、匿名化装置20は、暗号化装置(1~N)10から受信したテーブルT1eをそれぞれ一時データ記憶部23に保管し、N個のテーブルT1eを集めた内容にテーブルT1eを更新してもよい。いずれにしても、一時データ記憶部23内のテーブルT1eは、暗号化装置(1~N)10から受信したテーブルT1eを集めた内容に更新される。このことは、以下の各実施形態及び各変形例でも同様である。
(匿名化)
ステップST6において、パラメータ生成装置80の乱数生成部85は、仮名化するための匿名用パラメータを乱数Rとして生成する。パラメータ生成装置80の暗号化部86は、生成した乱数Rを、鍵記憶部82内の公開鍵pkAに基づいて準同型暗号方式で暗号化し、暗号化匿名用パラメータである暗号化乱数CA,Rを生成する。
ステップST6において、パラメータ生成装置80の乱数生成部85は、仮名化するための匿名用パラメータを乱数Rとして生成する。パラメータ生成装置80の暗号化部86は、生成した乱数Rを、鍵記憶部82内の公開鍵pkAに基づいて準同型暗号方式で暗号化し、暗号化匿名用パラメータである暗号化乱数CA,Rを生成する。
Enc(pkA,R)→CA,R
ステップST7において、パラメータ生成装置80の制御部87は、通信部83により、暗号化乱数CA,Rを匿名化装置20に送付する。但し、暗号化乱数CA,Rを匿名化装置20が予め保持又は生成する場合には、パラメータ生成装置80による暗号化乱数CA,Rの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
ステップST7において、パラメータ生成装置80の制御部87は、通信部83により、暗号化乱数CA,Rを匿名化装置20に送付する。但し、暗号化乱数CA,Rを匿名化装置20が予め保持又は生成する場合には、パラメータ生成装置80による暗号化乱数CA,Rの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
ステップST8において、匿名化装置20は、通信部24により、暗号化乱数CA,Rを受信する。匿名化処理部26は、一時データ記憶部23内のテーブルT1eのうち、ステップST5で受信した属性項目(社員番号)に一致する属性項目(社員番号)の属性値CA,data_iと、受信した暗号化乱数CA,R とをレコード毎に加算する。
Add(CA,data_i,CA,R)→CA,data_i+R
すなわち、ステップST3で暗号化された属性値CA,data_iは、暗号化された状態のままで暗号化乱数CA,R が加算されることにより、復号されずに匿名化された属性値CA,data_i+Rに変換される。
すなわち、ステップST3で暗号化された属性値CA,data_iは、暗号化された状態のままで暗号化乱数CA,R が加算されることにより、復号されずに匿名化された属性値CA,data_i+Rに変換される。
このように、テーブルT1e内の仮名化対象の属性項目(社員番号)の属性値が匿名化され、前述同様に、匿名化された属性値CA,data_i+Rを含むテーブルT1aが暗号化匿名化データとして生成される。
しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。
ステップST9において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。
以下、前述した通り、ステップST10~ST12が実行される。
上述したように本実施形態によれば、暗号化装置10を複数台とした場合でも、第1の実施形態と同様の作用効果を得ることができる。
なお、本実施形態は、(加法的な)準同型暗号でかつ大小比較可能な暗号方式でも同様に実施することが可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。
<第2の実施形態の変形例:仮名化>
第2の実施形態は、第1の実施形態の変形例と同様に、匿名化装置20が、テーブルT1eのうち、仮名化対象の属性項目(社員番号)の属性値CA,data_iを、レコード毎に異なる暗号化乱数CA,Rにより仮名化することができる。
第2の実施形態は、第1の実施形態の変形例と同様に、匿名化装置20が、テーブルT1eのうち、仮名化対象の属性項目(社員番号)の属性値CA,data_iを、レコード毎に異なる暗号化乱数CA,Rにより仮名化することができる。
これにより、第1の実施形態の変形例と同様の効果を得ることができる。
<第3の実施形態:トップコーディング>
次に、第3の実施形態に係る匿名化システムについて図1を参照しながら説明する。
次に、第3の実施形態に係る匿名化システムについて図1を参照しながら説明する。
第3の実施形態は、暗号化した「社員番号」を仮名化した第1の実施形態とは異なり、暗号化した「収入」をトップコーディングする形態である。
次に、本実施形態における匿名化システムの動作について図11のシーケンス図、及び図12乃至図14の模式図を用いて説明する。以下の説明では、大小比較可能な暗号方式を用いて匿名化する場合を例に挙げて述べる。
(事前準備)
ステップST21において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、大小比較可能な暗号方式における、復号装置30自身の鍵(秘密鍵skA)を生成する。
ステップST21において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、大小比較可能な暗号方式における、復号装置30自身の鍵(秘密鍵skA)を生成する。
KeyGen(1k)→(skA)
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した秘密鍵skAを秘密鍵格納部32に保存する。
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した秘密鍵skAを秘密鍵格納部32に保存する。
ステップST22において、復号装置30の制御部38は、通信部34により、暗号化装置10に、共通鍵である秘密鍵skAを送付する。暗号化装置10の制御部18は、通信部14により受信した秘密鍵skAを鍵記憶部12に格納する。
ステップST23において、暗号化装置10の暗号化部17は、図12に示すテーブルT1を一時データ記憶部13から読み出す。暗号化部17は、このテーブルT1のうち、トップコーディング対象の属性項目(収入)の属性値dataiを、鍵記憶部12内の秘密鍵skAに基づいてレコード毎に暗号化する。
Enc(skA,datai)→CA,data_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
同様に、暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、トップコーディング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、図13に示すように、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
ステップST24において、暗号化装置10の制御部18は、通信部14により、テーブルT1eからなる暗号化データを匿名化装置20に送付する。
ステップST25において、匿名化装置20は、通信部24により受信した暗号化データであるテーブルT1eを一時データ記憶部23に保管する。
(匿名化)
ステップST26において、暗号化装置10のパラメータ生成部15は、トップコーディングするための匿名用パラメータである、しきい値Tを生成する。暗号化部17は、生成したしきい値Tを、鍵記憶部12内の秘密鍵skAに基づいて、大小比較可能な暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化しきい値CA,Tが生成される。
ステップST26において、暗号化装置10のパラメータ生成部15は、トップコーディングするための匿名用パラメータである、しきい値Tを生成する。暗号化部17は、生成したしきい値Tを、鍵記憶部12内の秘密鍵skAに基づいて、大小比較可能な暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化しきい値CA,Tが生成される。
Enc(skA,T)→CA,T
ステップST27において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内のトップコーディング対象の属性項目(収入)と、暗号化しきい値CA,Tとを匿名化装置20に送付する。但し、匿名化装置20が秘密鍵skAを予め取得することにより、暗号化しきい値CA,Tを匿名化装置20が予め保持又は生成する場合には、暗号化装置10による暗号化しきい値CA,Tの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
ステップST27において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内のトップコーディング対象の属性項目(収入)と、暗号化しきい値CA,Tとを匿名化装置20に送付する。但し、匿名化装置20が秘密鍵skAを予め取得することにより、暗号化しきい値CA,Tを匿名化装置20が予め保持又は生成する場合には、暗号化装置10による暗号化しきい値CA,Tの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
ステップST28において、匿名化装置20は、通信部24により、当該属性項目(収入)及び暗号化しきい値CA,Tを受信する。匿名化処理部26は、一時データ記憶部23内のテーブルT1eのうち、受信した属性項目(収入)に一致する属性項目(収入)の属性値CA,data_iと、受信した暗号化しきい値CA,T とをレコード毎に比較する。
匿名化処理部26は、比較結果が1の時は、属性値CA,data_iを暗号化しきい値CA,Tに置き換える。
すなわち、ステップST23で暗号化された属性値CA,data_iは、暗号化された状態のままで適宜、暗号化しきい値CA,T に置き換えられることにより、復号されずに匿名化された属性値(CA,T)に変換される。
このように、テーブルT1e内のトップコーディング対象の属性項目(収入)の属性値が匿名化され、図14に示すように、匿名化された属性値(CA,T)を含むテーブルT1aが暗号化匿名化データとして生成される。
しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。
ステップST29において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。
本実施形態によれば、暗号化データを復号せずに匿名化し、得られた暗号化匿名化データを復号して匿名化データを利用することが可能になる。詳しくは数値で表現されているテーブルT1の属性値data_iを、トップコーディング用のしきい値Tによってトップコーディングすることができる。ここで、匿名化装置20には、どの属性値(CA,data_i)を置き換えたかが分かり、置き換えた暗号文は全部同じ値(CA,T)になる。しかしながら、匿名化装置20には、しきい値T及び元の属性値(data_i)は分からない。
ここで、暗号化装置10は、トップコーディング前の暗号化データを保持している場合、トップコーディング前とトップコーディング後の対応テーブルを作成してもよい。元のデータを別途保持していれば、トップコーディングした属性値を元に戻すことも可能である。
しかる後、ステップST30において、復号装置30の制御部38は、通信部34により、暗号化匿名化データを受信して一時データ記憶部33に記憶する。復号部37は、秘密鍵格納部32内の秘密鍵skAに基づいて、一時データ記憶部33内の暗号化匿名化データであるテーブルT1a内の各属性項目の値を復号し、得られた復号結果のテーブルを得る。
復号装置30の制御部38は、復号結果のテーブルのうち、トップコーディング対象の属性項目(収入)の属性値が匿名化されているか否かを判定する。例えば、匿名化前の属性値をトップコーディングした場合、当該属性値のいずれかが「以上」又は「以下」の文字列を含んでいれば、匿名化されていると判定される。また例えば、匿名化された属性項目(収入)の属性値について、匿名化前の値と匿名化後の値とが異なる場合には、属性値が匿名化されている旨を判定してもよい。この場合、任意のタイミングで暗号化装置10が匿名化前の値を復号装置30に送信しておけばよい。いずれにしても、判定の結果が否の場合には、ステップST26(又はST24)から処理をやり直し、好ましい匿名化結果が得られるまで繰り返す。
ステップST31において、復号装置30の制御部38は、判定の結果、属性値が匿名化されている場合には、通信部34により、復号結果のテーブルからなる匿名化データを安全に統計処理装置50に送付する。但し、匿名化データは、復号結果のテーブルのうちの社員番号の属性値を、適宜、匿名化した状態で送付することが好ましい。このことは、以下の各実施形態及び各変形例でも同様である。
ステップST32において、統計処理装置50は、通信部52により受信した匿名化データを用いて統計処理を実行し、得られた統計処理結果をデータ格納部51に保存する。しかる後、統計処理装置50は、適宜、この統計処理結果を利用する。
上述したように本実施形態によれば、匿名化処理としてトップコーディングを実行する場合でも、第1の実施形態と同様の作用効果を得ることができる。
なお、本実施形態は、(加法的な)準同型暗号でかつ大小比較可能な暗号方式でも同様に実施することが可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。
<第4の実施形態:M2M及びトップコーディング>
図15は第4の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。
図15は第4の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。
第4の実施形態は、暗号化装置10が個人データを暗号化して匿名化装置20に預ける第3の実施形態とは異なり、M2Mサービスのように、各機器で取得した個人データを暗号化してなる暗号化データを匿名化装置20で収集する形態となっている。ここでいう各機器は、各々の暗号化装置(1~N)10に相当する。
具体的には、第4の実施形態は、図1に示した構成に比べ、暗号化装置10をN台設け、且つパラメータ生成装置80を更に備えている。但し、パラメータ生成装置80は、必須ではなく、例えばいずれかの暗号化装置10がパラメータ(例、しきい値T)及び暗号化パラメータ(暗号化しきい値CA,T)を生成する場合には、省略してもよい。このことは、以下の各実施形態及び各変形例でも同様である。
ここで、N台の暗号化装置(1~N)10は、前述した暗号化装置10のパラメータ生成部15に代えて、データ取得部19を備えている。
パラメータ生成装置80は、暗号パラメータ格納部81、鍵記憶部82、通信部83、パラメータ生成部84、乱数生成部85、暗号化部86及び制御部87を備えている。
暗号パラメータ格納部81及び鍵記憶部82は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ暗号パラメータ及び鍵等を記憶する。
通信部83、パラメータ生成部84、乱数生成部85、暗号化部86及び制御部87は、例えば、図示しないプロセッサが、後述するパラメータ生成装置80内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。
次に、本実施形態における匿名化システムの動作について図16のシーケンス図を用いて説明する。
(事前準備)
ステップST21において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、大小比較可能な暗号方式における復号装置30自身の鍵(秘密鍵skA)を生成する。
ステップST21において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、大小比較可能な暗号方式における復号装置30自身の鍵(秘密鍵skA)を生成する。
KeyGen(1k)→(skA)
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した秘密鍵skAを秘密鍵格納部32に保存する。
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した秘密鍵skAを秘密鍵格納部32に保存する。
ステップST22において、復号装置30の制御部38は、通信部34により、共通鍵である秘密鍵skAを各暗号化装置(1~N)10及びパラメータ生成装置80に送付する。パラメータ生成装置80の制御部87は、通信部83により受信した秘密鍵skAを鍵記憶部82に格納する。同様に、各暗号化装置(1~N)10の制御部18は、通信部14により受信した秘密鍵skAを鍵記憶部12に格納する。なお、各暗号化装置(1~N)10は、機器組み立て時に公開鍵pkAを入力して格納してもよく、機器を配置後、ネットワーク経由で公開鍵pkAを受信して格納してもよい。
ステップST23において、各暗号化装置(1~N)10のデータ取得部19は、テーブルT1からなる個人データを取得して一時データ記憶部13に記憶する。各暗号化装置(1~N)10の暗号化部17は、一時データ記憶部13内のテーブルT1のうち、トップコーディング対象の属性項目(収入)の属性値dataiを、鍵記憶部12内の秘密鍵skAに基づいてレコード毎に暗号化する。
Enc(skA,datai)→CA,data_i
同様に、各暗号化装置(1~N)10の暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、トップコーディング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
同様に、各暗号化装置(1~N)10の暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、トップコーディング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
ステップST24において、各暗号化装置(1~N)10の制御部18は、通信部14により、テーブルT1eからなる暗号化データと、テーブルT1e内のトップコーディング対象の属性項目(収入)とを匿名化装置20に送付する。
ステップST25において、匿名化装置20は、通信部24により、暗号化データであるテーブルT1eと、テーブルT1e内のトップコーディング対象の属性項目(収入)とを受信する。しかる後、匿名化装置20の制御部29は、当該テーブルT1eと、トップコーディング対象の属性項目(収入)とを一時データ記憶部23に保管する。一時データ記憶部23内のテーブルT1eは、暗号化装置(1~N)10から受信したテーブルT1eを集めた内容に更新される。
(匿名化)
ステップST26において、パラメータ生成装置80のパラメータ生成部84は、トップコーディングするための匿名用パラメータである、しきい値Tを生成する。パラメータ生成装置80の暗号化部86は、生成したしきい値Tを、鍵記憶部82内の秘密鍵skAに基づいて、大小比較可能な暗号方式で暗号化し、暗号化匿名用パラメータである暗号化しきい値CA,Tを生成する。
ステップST26において、パラメータ生成装置80のパラメータ生成部84は、トップコーディングするための匿名用パラメータである、しきい値Tを生成する。パラメータ生成装置80の暗号化部86は、生成したしきい値Tを、鍵記憶部82内の秘密鍵skAに基づいて、大小比較可能な暗号方式で暗号化し、暗号化匿名用パラメータである暗号化しきい値CA,Tを生成する。
Enc(skA,T)→CA,T
ステップST27において、パラメータ生成装置80の制御部87は、通信部83により、暗号化しきい値CA,Tを匿名化装置20に送付する。但し、暗号化しきい値CA,Tを匿名化装置20が予め保持又は生成する場合には、パラメータ生成装置80による暗号化乱数CA,Rの生成及び送付を省略できる。
ステップST27において、パラメータ生成装置80の制御部87は、通信部83により、暗号化しきい値CA,Tを匿名化装置20に送付する。但し、暗号化しきい値CA,Tを匿名化装置20が予め保持又は生成する場合には、パラメータ生成装置80による暗号化乱数CA,Rの生成及び送付を省略できる。
以下、前述した第3の実施形態と同様に、ステップST28~ST32が実行される。
上述したように本実施形態によれば、、暗号化装置10を複数台とした場合でも、第3の実施形態と同様の作用効果を得ることができる。
なお、本実施形態は、(加法的な)準同型暗号でかつ大小比較可能な暗号方式でも同様に実施することが可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。
ただし、本実施形態では、各機器に秘密鍵skAを格納するが、この秘密鍵skAは暗号化のみならず復号処理もできるため、各機器上で、秘密鍵skAを適切に管理しなければならない。このことは、以下の各実施形態及び各変形例でも同様である。
<第5の実施形態:グルーピング>
次に、第5の実施形態に係る匿名化システムについて図1を参照しながら説明する。
次に、第5の実施形態に係る匿名化システムについて図1を参照しながら説明する。
第5の実施形態は、暗号化した「社員番号」を仮名化した第1の実施形態とは異なり、暗号化した「年齢」をグルーピングする形態である。
次に、本実施形態における匿名化システムの動作について図17のシーケンス図、及び図18乃至図20の模式図を用いて説明する。以下の説明では、大小比較可能な暗号方式を用いて匿名化する場合を例に挙げて述べる。
(事前準備)
ステップST41において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、大小比較可能な暗号方式における、復号装置30自身の鍵(秘密鍵skA)を生成する。
ステップST41において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、大小比較可能な暗号方式における、復号装置30自身の鍵(秘密鍵skA)を生成する。
KeyGen(1k)→(skA)
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した秘密鍵skAを秘密鍵格納部32に保存する。
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した秘密鍵skAを秘密鍵格納部32に保存する。
ステップST42において、復号装置30の制御部38は、通信部34により、暗号化装置10に、共通鍵である秘密鍵skAを送付する。暗号化装置10の制御部18は、通信部14により受信した秘密鍵skAを鍵記憶部12に格納する。
ステップST43において、暗号化装置10の暗号化部17は、図18に示すテーブルT1を一時データ記憶部13から読み出す。暗号化部17は、このテーブルT1のうち、グルーピング対象の属性項目(年齢)の属性値dataiを、鍵記憶部12内の秘密鍵skAに基づいてレコード毎に暗号化する。
Enc(skA,datai)→CA,data_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
同様に、暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、グルーピング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、図19に示すように、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
ステップST44において、暗号化装置10の制御部18は、通信部14により、テーブルT1eからなる暗号化データを匿名化装置20に送付する。
ステップST45において、匿名化装置20は、通信部24により受信した暗号化データであるテーブルT1eを一時データ記憶部23に保管する。
(匿名化)
ステップST46において、暗号化装置10のパラメータ生成部15は、グルーピングするための匿名用パラメータである、グループの下限値L、グループの上限値U及びグループの代表値Mを生成する。暗号化部17は、生成した下限値L、上限値U及びグループの代表値Mを、鍵記憶部12内の秘密鍵skAに基づいて、大小比較可能な暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mが生成される。
ステップST46において、暗号化装置10のパラメータ生成部15は、グルーピングするための匿名用パラメータである、グループの下限値L、グループの上限値U及びグループの代表値Mを生成する。暗号化部17は、生成した下限値L、上限値U及びグループの代表値Mを、鍵記憶部12内の秘密鍵skAに基づいて、大小比較可能な暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mが生成される。
Enc(skA,L)→CA,L
Enc(skA,U)→CA,U
Enc(skA,M)→CA,M
ステップST47において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内のグルーピング対象の属性項目(年齢)と、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mとを匿名化装置20に送付する。但し、匿名化装置20が秘密鍵skAを予め取得することにより、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mを匿名化装置20が予め保持又は生成する場合には、各値CA,L、CA,U及びCA,Mの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
Enc(skA,U)→CA,U
Enc(skA,M)→CA,M
ステップST47において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内のグルーピング対象の属性項目(年齢)と、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mとを匿名化装置20に送付する。但し、匿名化装置20が秘密鍵skAを予め取得することにより、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mを匿名化装置20が予め保持又は生成する場合には、各値CA,L、CA,U及びCA,Mの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
ステップST48において、匿名化装置20は、通信部24により、当該属性項目(年齢)と、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mとを受信する。匿名化処理部26は、一時データ記憶部23内のテーブルT1eのうち、受信した属性項目(年齢)に一致する属性項目(年齢)の属性値CA,data_iと、受信した暗号化下限値CA,L及び暗号化上限値CA,U をレコード毎に比較する。
グルーピングしたいテーブルの属性項目(年齢)の属性値CA,data_iが暗号化下限値CA,L以上で暗号化上限値CA,U以下のとき、当該属性値CA,data_iを暗号化代表値CA,Mに置き換える。ここで、暗号化属性値CA,data_iが暗号化下限値CA,L以上のときは、第1の比較処理Comp(CA,data_i,CA,L)の結果が「1」又は「0」の場合に相当する。属性値CA,data_iが暗号化上限値CA,U以下のときは、第2の比較処理Comp(CA,data_i,CA,U)の結果が「-1」又は「0」の場合に相当する。
なお、属性値CA,data_iを暗号化代表値CA,M に置き換える際に、比較処理Compの結果が0の場合を含めるか否か、などといったグルーピングの方法は、適宜、変更可能となっている。グルーピングの方法は、例えば、用途・目的に応じた一般的な手法を用いてもよく、それら一般的な手法を本実施形態の手法に組み合わせて実施しても良い。
すなわち、ステップST43で暗号化された属性値CA,data_iは、暗号化された状態のままで適宜、暗号化代表値CA,M に置き換えられることにより、復号されずに匿名化された属性値(CA,M)に変換される。
このように、テーブルT1e内のグルーピング対象の属性項目(年齢)の属性値が匿名化され、図20に示すように、匿名化された属性値(CA,M)を含むテーブルT1aが暗号化匿名化データとして生成される。
しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。
ステップST49において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。
本実施形態によれば、暗号化データを復号せずに匿名化し、得られた暗号化匿名化データを復号して匿名化データを利用することが可能になる。詳しくは数値で表現されているテーブルT1の属性値data_iを、各グループの下限値L及び上限値Uを指定することによってグルーピングすることができる。ここで、匿名化装置20には、どの属性値(CA,data_i)を置き換えたかが分かり、置き換えた暗号文は全部同じ値(各グループの暗号化代表値CA,M)になる。しかしながら、匿名化装置20には、グループの下限値L、上限値U、代表値M、及び元の属性値(data_i)は分からない。
ここで、暗号化装置10は、グルーピング前の暗号化データを保持している場合、グルーピング前とグルーピング後の対応テーブルを作成してもよい。元のデータを別途保持していれば、グルーピングした属性値を元に戻すことも可能である。
しかる後、ステップST50において、復号装置30の制御部38は、通信部34により、暗号化匿名化データを受信して一時データ記憶部33に記憶する。復号部37は、秘密鍵格納部32内の秘密鍵skAに基づいて、一時データ記憶部33内の暗号化匿名化データであるテーブルT1a内の各属性項目の値を復号し、得られた復号結果のテーブルを得る。
復号装置30の制御部38は、復号結果のテーブルのうち、グルーピング対象の属性項目(年齢)の属性値が匿名化されているか否かを判定する。例えば、各グループの代表値が「20代」、「30代」、「40代」等の場合、当該属性値が「代」の文字列を含むときには、匿名化されていると判定される。また例えば、匿名化された属性項目(年齢)の属性値について、匿名化前の値と匿名化後の値とが異なる場合には、属性値が匿名化されている旨を判定してもよい。この場合、任意のタイミングで暗号化装置10が匿名化前の値を復号装置30に送信しておけばよい。いずれにしても、判定の結果が否の場合には、ステップST46(又はST44)から処理をやり直し、好ましい匿名化結果が得られるまで繰り返す。
以下、前述したステップST31~ST32と同様に、ステップST51~ST52が実行される。
上述したように本実施形態によれば、匿名化処理としてグルーピングを実行する場合でも、第1の実施形態と同様の作用効果を得ることができる。
なお、本実施形態は、(加法的な)準同型暗号でかつ大小比較可能な暗号方式でも同様に実施することが可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。
<第6の実施形態:M2M及びグルーピング>
次に、第6の実施形態に係る匿名化システムについて図15を参照しながら説明する。
次に、第6の実施形態に係る匿名化システムについて図15を参照しながら説明する。
第6の実施形態は、暗号化装置10が個人データを暗号化して匿名化装置20に預ける第5の実施形態とは異なり、M2Mサービスのように、各機器で取得した個人データを暗号化してなる暗号化データを匿名化装置20で収集する形態となっている。ここでいう各機器は、各々の暗号化装置(1~N)10に相当する。
次に、本実施形態における匿名化システムの動作について図21のシーケンス図を用いて説明する。以下の説明では、大小比較可能な暗号方式を用いて匿名化する場合を例に挙げて述べる。
(事前準備)
ステップST41~ST42は、第4の実施形態のステップST21~ST22と同様に実行される。但し、鍵生成に用いる暗号方式は、第5の実施形態の大小比較可能な暗号方式を用いる。
ステップST41~ST42は、第4の実施形態のステップST21~ST22と同様に実行される。但し、鍵生成に用いる暗号方式は、第5の実施形態の大小比較可能な暗号方式を用いる。
ステップST43において、各暗号化装置(1~N)10のデータ取得部19は、テーブルT1からなる個人データを取得して一時データ記憶部13に記憶する。各暗号化装置(1~N)10の暗号化部17は、一時データ記憶部13内のテーブルT1のうち、グルーピング対象の属性項目(年齢)の属性値dataiを、鍵記憶部12内の秘密鍵skAに基づいてレコード毎に暗号化する。
Enc(skA,datai)→CA,data_i
同様に、各暗号化装置(1~N)10の暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、グルーピング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
同様に、各暗号化装置(1~N)10の暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、グルーピング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
ステップST44において、各暗号化装置(1~N)10の制御部18は、通信部14により、テーブルT1eからなる暗号化データと、テーブルT1e内のグルーピング対象の属性項目(年齢)とを匿名化装置20に送付する。
ステップST45において、匿名化装置20は、通信部24により、暗号化データであるテーブルT1eと、テーブルT1e内のグルーピング対象の属性項目(年齢)とを受信する。しかる後、匿名化装置20の制御部29は、当該テーブルT1eと、グルーピング対象の属性項目(年齢)とを一時データ記憶部23に保管する。一時データ記憶部23内のテーブルT1eは、暗号化装置(1~N)10から受信したテーブルT1eを集めた内容に更新される。
(匿名化)
ステップST46において、パラメータ生成装置80のパラメータ生成部84は、グルーピングするための匿名用パラメータである、グループの下限値L、グループの上限値U及びグループの代表値Mを生成する。パラメータ生成装置80の暗号化部86は、生成した下限値L、上限値U及びグループの代表値Mを、鍵記憶部82内の秘密鍵skAに基づいて、大小比較可能な暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mが生成される。
ステップST46において、パラメータ生成装置80のパラメータ生成部84は、グルーピングするための匿名用パラメータである、グループの下限値L、グループの上限値U及びグループの代表値Mを生成する。パラメータ生成装置80の暗号化部86は、生成した下限値L、上限値U及びグループの代表値Mを、鍵記憶部82内の秘密鍵skAに基づいて、大小比較可能な暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mが生成される。
Enc(skA,L)→CA,L
Enc(skA,U)→CA,U
Enc(skA,M)→CA,M
ステップST47において、パラメータ生成装置80の制御部87は、通信部83により、テーブルT1e内のグルーピング対象の属性項目(年齢)と、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mとを匿名化装置20に送付する。但し、匿名化装置20が秘密鍵skAを予め取得することにより、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mを匿名化装置20が予め保持又は生成する場合には、各値CA,L、CA,U及びCA,Mの生成及び送付を省略できる。
Enc(skA,U)→CA,U
Enc(skA,M)→CA,M
ステップST47において、パラメータ生成装置80の制御部87は、通信部83により、テーブルT1e内のグルーピング対象の属性項目(年齢)と、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mとを匿名化装置20に送付する。但し、匿名化装置20が秘密鍵skAを予め取得することにより、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mを匿名化装置20が予め保持又は生成する場合には、各値CA,L、CA,U及びCA,Mの生成及び送付を省略できる。
以下、前述した第5の実施形態と同様に、ステップST48~ST52が実行される。
上述したように本実施形態によれば、暗号化装置10を複数台とした場合でも、第5の実施形態と同様の作用効果を得ることができる。
なお、本実施形態は、(加法的な)準同型暗号でかつ大小比較可能な暗号方式でも同様に実施することが可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。
<第7の実施形態:誤差の導入>
次に、第7の実施形態に係る匿名化システムについて図1、図3、図5及び図6を参照しながら説明する。
次に、第7の実施形態に係る匿名化システムについて図1、図3、図5及び図6を参照しながら説明する。
第7の実施形態は、乱数R及び暗号化乱数CA,Rを用いた第1の実施形態とは異なり、誤差R及び暗号化誤差CA,Rを用いる形態である。すなわち、第7の実施形態は、第1の実施形態における乱数Rを誤差Rとみなし、第1の実施形態と同一の構成(図1)及び処理によって、テーブルT1の属性値を匿名化(誤差の導入による仮名化)する構成となっている。このとき、テーブルT1は、第1の実施形態と同様に、順次、テーブルT1e,T1aに変更される(図3、図5及び図6)。
以上のような構成によれば、図22に示すように、第1の実施形態と同様の作用効果を得ることができる。また、本実施形態は、第1の実施形態における匿名化(仮名化)に加え、社員番号以外の属性項目(年齢、収入)の暗号化された属性値(CA,data_i+R)に暗号化誤差CA,Rを導入(加減算)することにより、一層、匿名化を進めることができる。
<第7の実施形態の変形例:誤差の導入>
第7の実施形態の変形例は、第1の実施形態の変形例と同様に、匿名化装置20が、テーブルT1eのうち、仮名化対象の属性項目(社員番号)の属性値CA,data_iに対し、レコード毎に異なる暗号化誤差CA,Rを導入して仮名化することができる。
第7の実施形態の変形例は、第1の実施形態の変形例と同様に、匿名化装置20が、テーブルT1eのうち、仮名化対象の属性項目(社員番号)の属性値CA,data_iに対し、レコード毎に異なる暗号化誤差CA,Rを導入して仮名化することができる。
これにより、第1の実施形態の変形例と同様の効果を得ることができる。
また、第7の実施形態の変形例は、仮名化対象の属性項目(社員番号)に加え、誤差の導入対象の属性項目(年齢、収入)の属性値CA,data_iに対し、レコード毎に異なる暗号化誤差CA,Rを導入して、一層、匿名化を進めることができる
<第8の実施形態:M2M及び誤差の導入>
次に、第8の実施形態に係る匿名化システムについて図9を参照しながら説明する。
<第8の実施形態:M2M及び誤差の導入>
次に、第8の実施形態に係る匿名化システムについて図9を参照しながら説明する。
第8の実施形態は、M2Mに乱数R及び暗号化乱数CA,Rを用いた第2の実施形態とは異なり、M2Mに誤差R及び暗号化誤差CA,Rを用いる形態である。すなわち、第8の実施形態は、第2の実施形態における乱数Rを誤差Rとみなし、第2の実施形態と同一の処理によって、テーブルの属性値を匿名化(誤差の導入による仮名化)する構成となっている。
以上のような構成によれば、第2の実施形態と同様の作用効果を得ることができる。また、本実施形態は、第2の実施形態における匿名化(仮名化)に加え、社員番号以外の属性項目(年齢、収入)の暗号化された属性値に暗号化誤差CA,Rを導入(加減算)することにより、一層、匿名化を進めることができる。
<第8の実施形態の変形例:誤差の導入>
第8の実施形態の変形例は、第2の実施形態の変形例と同様に、匿名化装置20が、テーブルT1eのうち、仮名化対象の属性項目(社員番号)の属性値CA,data_iに対し、レコード毎に異なる暗号化誤差CA,Rを導入して仮名化することができる。
第8の実施形態の変形例は、第2の実施形態の変形例と同様に、匿名化装置20が、テーブルT1eのうち、仮名化対象の属性項目(社員番号)の属性値CA,data_iに対し、レコード毎に異なる暗号化誤差CA,Rを導入して仮名化することができる。
これにより、第2の実施形態の変形例と同様の効果を得ることができる。
また、第8の実施形態の変形例は、仮名化対象の属性項目(社員番号)に加え、誤差の導入対象の属性項目(年齢、収入)の属性値CA,data_iに対し、レコード毎に異なる暗号化誤差CA,Rを導入して、一層、匿名化を進めることができる。
<第9の実施形態:[AN2013-51001]方式でトップコーディング>
図23は第9の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。
図23は第9の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。
第9の実施形態は、[OPE]方式を用いた第3の実施形態とは異なり、[AN2013-51001]方式を用いる形態である。
これに伴い、第9の実施形態は、図1に示した構成に比べ、匿名化支援装置90を更に備えている。
匿名化支援装置90は、鍵記憶部91、一時データ記憶部92、通信部93、パラメータ生成部94、乱数生成部95、演算部96及び制御部97を備えている。
鍵記憶部91及び一時データ記憶部92は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ鍵及び一時データ等を記憶する。
通信部93、パラメータ生成部94、乱数生成部95、演算部96及び制御部97は、例えば、図示しないプロセッサが、後述する匿名化支援装置90内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。
また、匿名化装置20は、図1に示した構成に比べ、鍵記憶部220を更に備えている。
復号装置30は、図1に示した構成において、秘密鍵格納部32に代えて、鍵記憶部320を備えている。
次に、本実施形態における匿名化システムの動作について図24のシーケンス図、並びに図25及び図26の模式図を用いて説明する。以下の説明は、[AN2013-51001]の(加法的な)準同型暗号で且つ大小比較可能な暗号方式を用いて匿名化する場合を例に挙げて述べる。
(事前準備)
ステップST61において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、[AN2013-51001]の暗号方式における鍵生成を実行する。これにより、鍵生成部36は、暗号化鍵a、gsv、g、N、二次演算鍵a-1、s、N、三次演算鍵v、N、及び復号鍵sv、a-1、N(又はs、v、a-1、N)を生成する。
ステップST61において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、[AN2013-51001]の暗号方式における鍵生成を実行する。これにより、鍵生成部36は、暗号化鍵a、gsv、g、N、二次演算鍵a-1、s、N、三次演算鍵v、N、及び復号鍵sv、a-1、N(又はs、v、a-1、N)を生成する。
KeyGen(1k)→(a、gsv、g、N、a-1、s、v)
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した暗号化鍵a、gsv、g、N、二次演算鍵a-1、s、N、三次演算鍵v、N、及び復号鍵sv、a-1、N(又はs、v、a-1、N)を鍵記憶部320に保存する。
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した暗号化鍵a、gsv、g、N、二次演算鍵a-1、s、N、三次演算鍵v、N、及び復号鍵sv、a-1、N(又はs、v、a-1、N)を鍵記憶部320に保存する。
ステップST62において、復号装置30の制御部38は、通信部34により、暗号化鍵a、gsv、g、Nを暗号化装置10に送付する。暗号化装置10の制御部18は、通信部14により受信した暗号化鍵a、gsv、g、Nを鍵記憶部12に格納する。
ステップST63において、復号装置30の制御部38は、通信部34により、三次演算鍵v、Nを匿名化装置20に送付する。匿名化装置20の制御部29は、通信部24により受信した三次演算鍵v、Nを鍵記憶部220に格納する。
ステップST64において、復号装置30の制御部38は、通信部34により、二次演算鍵a-1、s、Nを匿名化支援装置90に送付する。匿名化支援装置90の制御部97は、通信部93により受信した二次演算鍵a-1、s、Nを鍵記憶部91に格納する。
ステップST65において、暗号化装置10の暗号化部17は、図12に示したテーブルT1を一時データ記憶部13から読み出す。暗号化部17は、このテーブルT1のうち、トップコーディング対象の属性項目(収入)の属性値dataiを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいてレコード毎に暗号化する。
Enc(datai)→Cdata_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
同様に、暗号化部17は、暗号化鍵a、gsv、g、Nに基づいて、テーブルT1のうち、トップコーディング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、図25に示すように、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
ステップST66において、暗号化装置10の制御部18は、通信部14により、テーブルT1eからなる暗号化データを匿名化装置20に送付する。
ステップST67において、匿名化装置20は、通信部24により受信した暗号化データであるテーブルT1eを一時データ記憶部23に保管する。
(匿名化)
ステップST68において、暗号化装置10のパラメータ生成部15は、トップコーディングするための匿名用パラメータである、しきい値Tを生成する。暗号化部17は、生成したしきい値Tを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいて、[AN2013-51001]の暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化しきい値CTが生成される。
ステップST68において、暗号化装置10のパラメータ生成部15は、トップコーディングするための匿名用パラメータである、しきい値Tを生成する。暗号化部17は、生成したしきい値Tを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいて、[AN2013-51001]の暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化しきい値CTが生成される。
Enc(T)→CT
ステップST69において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内のトップコーディング対象の属性項目(収入)と、暗号化しきい値CTとを匿名化装置20に送付する。但し、匿名化装置20が暗号化鍵a、gsv、g、Nを予め取得することにより、暗号化しきい値CTを匿名化装置20が予め保持又は生成する場合には、暗号化装置10による暗号化しきい値CTの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
ステップST69において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内のトップコーディング対象の属性項目(収入)と、暗号化しきい値CTとを匿名化装置20に送付する。但し、匿名化装置20が暗号化鍵a、gsv、g、Nを予め取得することにより、暗号化しきい値CTを匿名化装置20が予め保持又は生成する場合には、暗号化装置10による暗号化しきい値CTの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
ステップST70において、匿名化装置20は、通信部24により、当該属性項目(収入)及び暗号化しきい値CTを受信する。匿名化装置20の演算部27は、一時データ記憶部23内のテーブルT1eのうち、受信した属性項目(収入)に一致する属性項目(収入)の属性値Cdata_iと、受信した暗号化しきい値CT とに基づいて、一次演算結果X=(X1、X2)を生成する。
ステップST71において、匿名化装置20の制御部29は、通信部24により、一次演算結果Xを匿名化支援装置90に送付する。
ステップST72において、匿名化支援装置90は、通信部93により、一次演算結果Xを受信する。匿名化支援装置90の演算部96は、受信した一次演算結果Xと、鍵記憶部91内の二次演算鍵a-1、s、Nとに基づいて、二次演算結果Y=(Y1、Y2)を生成する。
ステップST73において、匿名化支援装置90の制御部97は、通信部93により、二次演算結果Yを匿名化装置20に送付する。
ステップST74において、匿名化装置20は、通信部24により、二次演算結果Yを受信する。匿名化装置20の演算部27は、受信した二次演算結果Yと、鍵記憶部91内の三次演算鍵v、Nとに基づいて、三次演算結果Wを生成する。
ステップST75において、匿名化装置20の演算結果比較部28は、三次演算結果Wと、N/2とを比較し、W<N/2のときには比較結果を正と判定し、それ以外のときには比較結果を負(又は0)と判定する。判定結果は、演算結果比較部28から匿名化処理部26に出力される。
匿名化装置20の匿名化処理部26は、判定結果が正のときには、属性値Cdata_iを暗号化しきい値CTに置き換える。なお、「判定結果が正のとき」は、「式F=Cdata_i-CT が正のとき」に相当する。「それ以外のとき」は、「式F=Cdata_i-CT が負(又は0)のとき」に相当する。
すなわち、ステップST65で暗号化された属性値Cdata_iは、暗号化された状態のままで適宜、暗号化しきい値CT に置き換えられることにより、復号されずに匿名化された属性値(CT)に変換される。
このように、テーブルT1e内のトップコーディング対象の属性項目(収入)の属性値が匿名化され、図26に示すように、匿名化された属性値(CT)を含むテーブルT1aが暗号化匿名化データとして生成される。
しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。
ステップST76において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。
本実施形態によれば、暗号化データを復号せずに匿名化し、得られた暗号化匿名化データを復号して匿名化データを利用することが可能になる。詳しくは数値で表現されているテーブルT1の属性値data_iを、トップコーディング用のしきい値Tによってトップコーディングすることができる。ここで、匿名化装置20には、どの属性値(Cdata_i)を置き換えたかが分かり、置き換えた暗号文は全部同じ値(CT)になる。しかしながら、匿名化装置20には、しきい値T及び元の属性値(data_i)は分からない。また、暗号化装置10は、トップコーディング前の暗号化データを保持している場合、トップコーディング前とトップコーディング後の対応テーブルを作成してもよい。元のデータを別途保持していれば、トップコーディングした属性値を元に戻すことも可能である。
しかる後、ステップST76において、復号装置30の制御部38は、通信部34により、暗号化匿名化データを受信して一時データ記憶部33に記憶する。復号部37は、鍵記憶部320内の復号鍵sv、a-1、N(又はs、v、a-1、N)に基づいて、一時データ記憶部33内の暗号化匿名化データであるテーブルT1a内の各属性項目の値を復号し、得られた復号結果のテーブルを得る。
復号装置30の制御部38は、復号結果のテーブルのうち、トップコーディング対象の属性項目(収入)の属性値が匿名化されているか否かを判定する。具体的には、例えば、第3の実施形態と同様にして判定すればよい。判定の結果が否の場合には、ステップST68(又はST66)から処理をやり直し、好ましい匿名化結果が得られるまで繰り返す。
以下、第3の実施形態のステップST31~ST32と同様に、ステップST78~ST79が実行される。
上述したように本実施形態によれば、[AN2013-51001]方式の暗号方式を用い、匿名化処理としてトップコーディングを実行する場合でも、第1の実施形態と同様の作用効果を得ることができる。
本実施形態は、図2及び図7に示した変形例と同様に、図27に示すように、匿名化装置20による暗号化データ及び暗号化匿名データの保管に代えて、暗号化データ及び暗号化匿名化データを保管するためのデータ保管装置70を更に備えてもよい。この時既存のデータ保管装置70に匿名化装置20を連携させることで、本実施形態と同様の効果を得ることが可能になる。例えば図28に示すように、ステップST66で暗号化データをデータ保管装置70に送付し、ステップST67でデータ保管装置70が暗号化データを保管してもよい。また、ステップST70-1でデータ保管装置70が暗号化データを匿名化装置20に送付し、ステップST70-2で匿名化装置20が一次演算結果を生成するようにしてもよい。同様に、ステップST76-1で匿名化装置20が暗号化匿名化データをデータ保管装置70に送付し、ステップS76-2でデータ保管装置70が暗号化匿名化データを保管してもよい。また、ステップST76-3でデータ保管装置70が暗号化匿名化データを復号装置30に送付するようにしてもよい。このとき、既存のデータ保管装置70を大きく変えることなく、本実施形態の効果を得ることが可能になる。これは後述する実施形態や変形例においても同様である。
また例えば図8に示した変形例と同様に、図29に示すように、図28のステップST76-1~ST76-3に代えて、元のステップST76を実行するようにしてもよい。この場合、図8に示した動作による効果と同様の効果を得ることができる。
<第10の実施形態:M2M、[AN2013-51001]方式及びトップコーディング>
図30は第10の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。
図30は第10の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。
第10の実施形態は、暗号化装置10が個人データを暗号化して匿名化装置20に預ける第9の実施形態とは異なり、M2Mサービスのように、各機器で取得した個人データを暗号化してなる暗号化データを匿名化装置20で収集する形態となっている。ここでいう各機器は、各々の暗号化装置(1~N)10に相当する。
具体的には、第10の実施形態は、図23に示した構成に比べ、暗号化装置10をN台設け、且つパラメータ生成装置80を更に備えている。N台の暗号化装置(1~N)10及びパラメータ生成装置80の構成は、それぞれ第4の実施形態と同様である。
次に、本実施形態における匿名化システムの動作について図31のシーケンス図を用いて説明する。
(事前準備)
ステップST61は、前述した第9の実施形態と同様に実行される。
ステップST61は、前述した第9の実施形態と同様に実行される。
ステップST62において、復号装置30の制御部38は、通信部34により、暗号化鍵a、gsv、g、NをN台の暗号化装置(1~N)10及びパラメータ生成装置80に送付する。パラメータ生成装置80の制御部87は、通信部83により受信した暗号化鍵a、gsv、g、Nを鍵記憶部82に格納する。同様に、暗号化装置10の制御部18は、通信部14により受信した暗号化鍵a、gsv、g、Nを鍵記憶部12に格納する。なお、各暗号化装置(1~N)10は、機器組み立て時に暗号化鍵a、gsv、g、Nを入力して格納してもよく、機器を配置後、ネットワーク経由で暗号化鍵a、gsv、g、Nを受信して格納してもよい。
ステップST63~ST64は、前述した第9の実施形態と同様に実行される。
ステップST65において、各暗号化装置(1~N)10のデータ取得部19は、テーブルT1からなる個人データを取得して一時データ記憶部13に記憶する。各暗号化装置10の暗号化部17は、一時データ記憶部13内のテーブルT1のうち、トップコーディング対象の属性項目(収入)の属性値dataiを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいてレコード毎に暗号化する。
Enc(datai)→Cdata_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
同様に、暗号化部17は、暗号化鍵a、gsv、g、Nに基づいて、テーブルT1のうち、トップコーディング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
ステップST66において、各暗号化装置(1~N)10の制御部18は、通信部14により、テーブルT1eからなる暗号化データと、テーブルT1e内のトップコーディング対象の属性項目(収入)とを匿名化装置20に送付する。
ステップST67において、匿名化装置20は、通信部24により、暗号化データであるテーブルT1eと、テーブルT1e内のトップコーディング対象の属性項目(収入)とを受信する。しかる後、匿名化装置20の制御部29は、当該テーブルT1eと、トップコーディング対象の属性項目(収入)とを一時データ記憶部23に保管する。一時データ記憶部23内のテーブルT1eは、暗号化装置(1~N)10から受信したテーブルT1eを集めた内容に更新される。
(匿名化)
ステップST68において、パラメータ生成装置80のパラメータ生成部84は、トップコーディングするための匿名用パラメータである、しきい値Tを生成する。パラメータ生成装置80の暗号化部86は、生成したしきい値Tを、鍵記憶部82内の暗号化鍵a、gsv、g、Nに基づいて、[AN2013-51001]の暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化しきい値CTが生成される。
ステップST68において、パラメータ生成装置80のパラメータ生成部84は、トップコーディングするための匿名用パラメータである、しきい値Tを生成する。パラメータ生成装置80の暗号化部86は、生成したしきい値Tを、鍵記憶部82内の暗号化鍵a、gsv、g、Nに基づいて、[AN2013-51001]の暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化しきい値CTが生成される。
Enc(T)→CT
ステップST69において、パラメータ生成装置80の制御部87は、通信部83により、暗号化しきい値CTを匿名化装置20に送付する。
ステップST69において、パラメータ生成装置80の制御部87は、通信部83により、暗号化しきい値CTを匿名化装置20に送付する。
以下、前述した第9の実施形態と同様に、ステップST70~ST79が実行される。
上述したように本実施形態によれば、暗号化装置10を複数台とした場合でも、第9の実施形態と同様の作用効果を得ることができる。
本実施形態では、第4の実施形態や第6の実施形態とは異なり、機器に秘密鍵そのものは格納しないため、仮に機器から鍵を盗まれても、暗号化したデータを復号または匿名化することはできない。
<第11の実施形態:[AN2013-51001]方式でグルーピング>
次に、第11の実施形態に係る匿名化システムについて図23を参照しながら説明する。
次に、第11の実施形態に係る匿名化システムについて図23を参照しながら説明する。
第11の実施形態は、暗号化した「収入」をトップコーディングした第9の実施形態とは異なり、暗号化した「年齢」をグルーピングする形態である。
次に、本実施形態における匿名化システムの動作について図32のシーケンス図、並びに図33及び図34の模式図を用いて説明する。以下の説明では、[AN2013-51001]の暗号方式を用いて匿名化する場合を例に挙げて述べる。
(事前準備)
ステップST81~ST84は、第9の実施形態のステップST61~ST64と同様に実行される。
ステップST81~ST84は、第9の実施形態のステップST61~ST64と同様に実行される。
ステップST85において、暗号化装置10の暗号化部17は、暗号化前のテーブルT1を一時データ記憶部13から読み出す。暗号化部17は、このテーブルT1のうち、グルーピング対象の属性項目(年齢)の属性値dataiを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいてレコード毎に暗号化する。
Enc(datai)→Cdata_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
同様に、暗号化部17は、暗号化鍵a、gsv、g、Nに基づいて、テーブルT1のうち、グルーピング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、図33に示すように、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
ステップST85~ST86は、第9の実施形態のステップST65~ST66と同様に実行される。
(匿名化)
ステップST88において、暗号化装置10のパラメータ生成部15は、グルーピングするための匿名用パラメータである、各グループの下限値L、上限値U及び代表値Mを生成する。暗号化部17は、生成した下限値L、上限値U及び代表値Mを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいて、[AN2013-51001]の暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMが生成される。
ステップST88において、暗号化装置10のパラメータ生成部15は、グルーピングするための匿名用パラメータである、各グループの下限値L、上限値U及び代表値Mを生成する。暗号化部17は、生成した下限値L、上限値U及び代表値Mを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいて、[AN2013-51001]の暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMが生成される。
Enc(L)→CL
Enc(U)→CU
Enc(M)→CM
ステップST89において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内のグルーピング対象の属性項目(年齢)と、暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMとを匿名化装置20に送付する。但し、匿名化装置20が暗号化鍵a、gsv、g、Nを予め取得することにより、暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMを匿名化装置20が予め保持又は生成する場合には、各値CL、CU及びCMの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
Enc(U)→CU
Enc(M)→CM
ステップST89において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内のグルーピング対象の属性項目(年齢)と、暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMとを匿名化装置20に送付する。但し、匿名化装置20が暗号化鍵a、gsv、g、Nを予め取得することにより、暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMを匿名化装置20が予め保持又は生成する場合には、各値CL、CU及びCMの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
ステップST90において、匿名化装置20は、通信部24により、当該属性項目(年齢)、暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMを受信する。匿名化装置20の演算部27は、一時データ記憶部23内のテーブルT1eのうち、受信した属性項目(年齢)に一致する属性項目(年齢)の属性値Cdata_iと、受信した暗号化下限値CL及び暗号化上限値CU とに基づいて、一次演算結果XL,XUを生成する。ここで、一次演算結果XL =(X1L、X2L)は、下限値Lに関する分析情報である。一次演算結果XU =(X1U、X2U)は、上限値Uに関する分析情報である。
ステップST91において、匿名化装置20の制御部29は、通信部24により、一次演算結果XL ,XU を匿名化支援装置90に送付する。
ステップST92において、匿名化支援装置90は、通信部93により、一次演算結果XL ,XU を受信する。匿名化支援装置90の演算部96は、受信した一次演算結果XL ,XU と、鍵記憶部91内の二次演算鍵a-1、s、Nとに基づいて、二次演算結果YL ,YU を生成する。ここで、二次演算結果YL =(Y1L、Y2L)は、下限値Lに関する分析情報である。一次演算結果YU =(Y1U、Y2U)は、上限値Uに関する分析情報である。
ステップST93において、匿名化支援装置90の制御部97は、通信部93により、二次演算結果YL ,YU を匿名化装置20に送付する。
ステップST94において、匿名化装置20は、通信部24により、二次演算結果YL ,YU を受信する。匿名化装置20の演算部27は、受信した二次演算結果YL ,YU と、鍵記憶部91内の三次演算鍵v、Nとに基づいて、三次演算結果WL ,WU を生成する。ここで、三次演算結果WL は、下限値Lに関する分析情報である。三次演算結果WU は、上限値Uに関する分析情報である。
ステップST95において、匿名化装置20の演算結果比較部28は、下限値Lに関する三次演算結果WL と、N/2と比較し、WL <N/2のときには比較結果を正と判定し、それ以外のときには比較結果を負(又は0)と判定する。この下限値Lに関する判定結果は、演算結果比較部28から匿名化処理部26に出力される。
同様に、匿名化装置20の演算結果比較部28は、上限値Lに関する三次演算結果WU と、N/2と比較し、WU <N/2のときには比較結果を正と判定し、それ以外のときには比較結果を負(又は0)と判定する。上限値Uに関する判定結果は、演算結果比較部28から匿名化処理部26に出力される。
しかる後、匿名化装置20の匿名化処理部26は、下限値Lに関する判定結果が正で上限値Uに関する判定結果が負(又は0)のときには、属性値Cdata_iを暗号化代表値CMに置き換える。なお、「下限値Lに関する判定結果が正のとき」は、「式F=Cdata_i-CL が正のとき」に相当する。「上限値Uに関する判定結果が負(又は0)のとき」は、「式F=Cdata_i-CU が負(又は0)のとき」に相当する。すなわち、匿名化処理部26は、属性値Cdata_iが暗号化下限値CL を超えて暗号化上限値CU 以下の範囲内にあるとき、属性値Cdata_iを暗号化代表値CMに置き換える。
これにより、ステップST85で暗号化された属性値Cdata_iは、暗号化された状態のままで適宜、暗号化代表値CM に置き換えられることにより、復号されずに匿名化された属性値(CM)に変換される。
このように、テーブルT1e内のグルーピング対象の属性項目(年齢)の属性値が匿名化され、図34に示すように、匿名化された属性値(CM)を含むテーブルT1aが暗号化匿名化データとして生成される。
しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。
ステップST96において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。
本実施形態によれば、暗号化データを復号せずに匿名化し、得られた暗号化匿名化データを復号して匿名化データを利用することが可能になる。詳しくは数値で表現されているテーブルT1の属性値data_iを、各グループの下限値L及び上限値Uを指定することによってグルーピングすることができる。ここで、匿名化装置20には、どの属性値(Cdata_i)を置き換えたかが分かり、置き換えた暗号文は全部同じ値(各グループの暗号化代表値CM)になる。しかしながら、匿名化装置20には、グループの下限値L、上限値U、代表値M、及び元の属性値(data_i)は分からない。
ここで、暗号化装置10は、グルーピング前の暗号化データを保持している場合、グルーピング前とグルーピング後の対応テーブルを作成してもよい。元のデータを別途保持していれば、グルーピングした属性値を元に戻すことも可能である。
しかる後、ステップST97において、復号装置30の制御部38は、通信部34により、暗号化匿名化データを受信して一時データ記憶部33に記憶する。復号部37は、鍵記憶部320内の復号鍵sv、a-1、N(又はs、v、a-1、N)に基づいて、一時データ記憶部33内の暗号化匿名化データであるテーブルT1a内の各属性項目の値を復号し、得られた復号結果のテーブルを得る。
復号装置30の制御部38は、復号結果のテーブルのうち、グルーピング対象の属性項目(年齢)の属性値が匿名化されているか否かを判定する。具体的には、例えば、第5の実施形態と同様にして判定すればよい。判定の結果が否の場合には、ステップST88(又はST86)から処理をやり直し、好ましい匿名化結果が得られるまで繰り返す。
以下、前述したステップST51~ST52と同様に、ステップST98~ST99が実行される。
上述したように本実施形態によれば、[AN2013-51001]方式の暗号方式を用い、匿名化処理としてグルーピングを実行する場合でも、第1の実施形態と同様の作用効果を得ることができる。
<第12の実施形態:M2M、[AN2013-51001]方式及びグルーピング>
次に、第12の実施形態に係る匿名化システムについて図30を参照しながら説明する。
次に、第12の実施形態に係る匿名化システムについて図30を参照しながら説明する。
第12の実施形態は、暗号化装置10が個人データを暗号化して匿名化装置20に預ける第11の実施形態とは異なり、M2Mサービスのように、各機器で取得した個人データを暗号化してなる暗号化データを匿名化装置20で収集する形態となっている。ここでいう各機器は、各々の暗号化装置(1~N)10に相当する。
具体的には、第12の実施形態は、図23に示した構成に比べ、暗号化装置10をN台設け、且つパラメータ生成装置80を更に備えている。N台の暗号化装置(1~N)10及びパラメータ生成装置80の構成は、それぞれ第4の実施形態と同様である。
次に、本実施形態における匿名化システムの動作について図35のシーケンス図を用いて説明する。
(事前準備)
ステップST81は、前述した第11の実施形態と同様に実行される。
ステップST81は、前述した第11の実施形態と同様に実行される。
ステップST82において、復号装置30の制御部38は、通信部34により、暗号化鍵a、gsv、g、NをN台の暗号化装置(1~N)10及びパラメータ生成装置80に送付する。パラメータ生成装置80の制御部87は、通信部83により受信した暗号化鍵a、gsv、g、Nを鍵記憶部82に格納する。同様に、暗号化装置10の制御部18は、通信部14により受信した暗号化鍵a、gsv、g、Nを鍵記憶部12に格納する。なお、各暗号化装置(1~N)10は、機器組み立て時に暗号化鍵a、gsv、g、Nを入力して格納してもよく、機器を配置後、ネットワーク経由で暗号化鍵a、gsv、g、Nを受信して格納してもよい。
ステップST83~ST84は、前述した第11の実施形態と同様に実行される。
ステップST85において、各暗号化装置(1~N)10のデータ取得部19は、テーブルT1からなる個人データを取得して一時データ記憶部13に記憶する。各暗号化装置10の暗号化部17は、一時データ記憶部13内のテーブルT1のうち、グルーピング対象の属性項目(年齢)の属性値dataiを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいてレコード毎に暗号化する。
Enc(datai)→Cdata_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
同様に、暗号化部17は、暗号化鍵a、gsv、g、Nに基づいて、テーブルT1のうち、トップコーディング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
ステップST86において、各暗号化装置(1~N)10の制御部18は、通信部14により、テーブルT1eからなる暗号化データと、テーブルT1e内のグルーピング対象の属性項目(年齢)とを匿名化装置20に送付する。
ステップST87において、匿名化装置20は、通信部24により、暗号化データであるテーブルT1eと、テーブルT1e内のグルーピング対象の属性項目(年齢)とを受信する。しかる後、匿名化装置20の制御部29は、当該テーブルT1eと、グルーピング対象の属性項目(年齢)とを一時データ記憶部23に保管する。一時データ記憶部23内のテーブルT1eは、暗号化装置(1~N)10から受信したテーブルT1eを集めた内容に更新される。
(匿名化)
ステップST88において、パラメータ生成装置80のパラメータ生成部84は、グルーピングするための匿名用パラメータである、グループの下限値L、グループの上限値U及びグループの代表値Mを生成する。パラメータ生成装置80の暗号化部86は、生成した下限値L、上限値U及びグループの代表値Mを、鍵記憶部82内の暗号化鍵a、gsv、g、Nに基づいて、[AN2013-51001]の暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMが生成される。
ステップST88において、パラメータ生成装置80のパラメータ生成部84は、グルーピングするための匿名用パラメータである、グループの下限値L、グループの上限値U及びグループの代表値Mを生成する。パラメータ生成装置80の暗号化部86は、生成した下限値L、上限値U及びグループの代表値Mを、鍵記憶部82内の暗号化鍵a、gsv、g、Nに基づいて、[AN2013-51001]の暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMが生成される。
Enc(L)→CL
Enc(U)→CU
Enc(M)→CM
ステップST89において、パラメータ生成装置80の制御部87は、通信部83により、テーブルT1e内のグルーピング対象の属性項目(年齢)と、暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMとを匿名化装置20に送付する。
Enc(U)→CU
Enc(M)→CM
ステップST89において、パラメータ生成装置80の制御部87は、通信部83により、テーブルT1e内のグルーピング対象の属性項目(年齢)と、暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMとを匿名化装置20に送付する。
以下、前述した第11の実施形態と同様に、ステップST90~ST99が実行される。
上述したように本実施形態によれば、暗号化装置10を複数台とした場合でも、第11の実施形態と同様の作用効果を得ることができる。
本実施形態では、第4の実施形態や第6の実施形態とは異なり、機器に秘密鍵そのものは格納しないため、仮に機器から鍵を盗まれても、暗号化したデータを復号または匿名化することはできない。
<第13の実施形態:削除、リサンプリング、ソート又はスワッピング>
次に、第13の実施形態に係る匿名化システムについて図1を参照しながら説明する。
次に、第13の実施形態に係る匿名化システムについて図1を参照しながら説明する。
第13の実施形態は、暗号化した「社員番号」を仮名化した第1の実施形態とは異なり、暗号化した「社員番号」を削除する形態である。なお、本実施形態は、前述した第1~第12の実施形態とは異なり、匿名化する処理に用いる匿名用パラメータを暗号化した暗号化匿名用パラメータ(例、暗号化乱数、暗号化しきい値、暗号化下限値、暗号化上限値、暗号化代表値、暗号化誤差など)を用いない。
このような本実施形態は、「削除」に代えて、「リサンプリング」、「ソート」又は「スワッピング」を用いる形態に変形可能である。
次に、本実施形態における匿名化システムの動作について図36のシーケンス図、並びに図37及び図38の模式図を用いて説明する。以下の説明では、[AES]の暗号方式を用いて匿名化する場合を例に挙げて述べる。
(事前準備)
ステップST101において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、[AES]の暗号方式における鍵(秘密鍵skA)を生成する。
ステップST101において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、[AES]の暗号方式における鍵(秘密鍵skA)を生成する。
KeyGen(1k)→(skA)
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した秘密鍵skAを秘密鍵格納部32に保存する。
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した秘密鍵skAを秘密鍵格納部32に保存する。
ステップST102において、復号装置30の制御部38は、通信部34により、暗号化装置10に、共通鍵である秘密鍵skAを送付する。暗号化装置10の制御部18は、通信部14により受信した秘密鍵skAを鍵記憶部12に格納する。
ステップST103において、暗号化装置10の暗号化部17は、図3に示すテーブルT1を一時データ記憶部13から読み出す。暗号化部17は、このテーブルT1のうち、削除対象の属性項目(社員番号)の属性値dataiを、鍵記憶部12内の秘密鍵skAに基づいてレコード毎に暗号化する。
Enc(skA,datai)→CA,data_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
同様に、暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、削除対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、図37に示すように、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
ステップST104において、暗号化装置10の制御部18は、通信部14により、テーブルT1eからなる暗号化データを匿名化装置20に送付する。
ステップST105において、匿名化装置20は、通信部24により受信した暗号化データであるテーブルT1eを一時データ記憶部23に保管する。
(匿名化)
ステップST106において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内の削除対象の属性項目(社員番号)を匿名化装置20に送付する。但し、匿名化装置20が削除対象の属性項目を予め保持する場合には、暗号化装置10による削除対象の属性項目の送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
ステップST106において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内の削除対象の属性項目(社員番号)を匿名化装置20に送付する。但し、匿名化装置20が削除対象の属性項目を予め保持する場合には、暗号化装置10による削除対象の属性項目の送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
ステップST107において、匿名化装置20は、通信部24により、削除対象の属性項目(社員番号)を受信する。匿名化処理部26は、一時データ記憶部23内のテーブルT1eのうち、受信した属性項目(社員番号)に一致する属性項目(社員番号)の列を削除する。すなわち、匿名化処理部26は、図37に示したテーブルT1eから削除対象の属性項目(社員番号)及びその属性値(CA,data_i)を削除する。これにより、図38に示すように、匿名化されたテーブルT1aが暗号化匿名化データとして生成される。
しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。
ステップST108において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。
本実施形態によれば、暗号化データを復号せずに匿名化し、得られた暗号化匿名化データを復号して匿名化データを利用することが可能になる。詳しくは数値、文字列などで表現されているテーブルT1の属性を削除することが可能になる。ここで、匿名化装置20には、削除した属性項目(社員番号)及びその属性値(CA,data_i)が分かる。しかしながら、匿名化装置20には、削除した属性項目(社員番号)の元の属性値(data_i)は分からない。
ここで、暗号化装置10は、削除前の暗号化データを保持している場合、削除前と削除後の対応テーブルを作成してもよい。元のデータを別途保持していれば、元のデータの属性項目及び属性値から個人を特定することや、削除処理を元に戻すことも可能である。
しかる後、ステップST109において、復号装置30の制御部38は、通信部34により、暗号化匿名化データを受信して一時データ記憶部33に記憶する。復号部37は、秘密鍵格納部32内の秘密鍵skAに基づいて、一時データ記憶部33内の暗号化匿名化データであるテーブルT1a内の各属性項目の値を復号し、得られた復号結果のテーブルを得る。
復号装置30の制御部38は、復号結果のテーブルのうち、削除対象の属性項目(社員番号)の属性値が匿名化されているか否かを判定する。例えば、復号結果のテーブルが、意図した通りに削除対象の属性項目の列を含まなければ、匿名化されていると判定される。この場合、任意のタイミングで暗号化装置10が削除対象の属性項目を復号装置30に送信しておけばよい。判定の結果が否の場合には、ステップST104から処理をやり直し、好ましい匿名化結果が得られるまで繰り返す。
以下、前述したステップST11~ST12と同様に、ステップST110~ST111が実行される。
上述したように本実施形態によれば、匿名化処理として削除を実行する場合でも、暗号化匿名用パラメータに関する作用効果を除き、第1の実施形態と同様の作用効果を得ることができる。
本実施形態は、暗号化した属性値を削除する匿名化処理を実行したが、これに代えて、暗号化した属性値をリサンプリング、ソート又はスワッピングする匿名化処理を実行してもよい。この場合、本実施形態を同様に実施して同様の効果を得ることができる。
また、復号装置30による鍵生成に代えて、暗号化装置10による鍵生成を実行してもよい。この場合、暗号化装置10が復号装置30に秘密鍵を送付して実施すればよい。
なお、本実施形態は、[AES]のような暗号化と復号に同一の鍵を用いる暗号方式のみならず、(加法的な)準同型暗号方式、大小比較可能な暗号方式、(加法的な)準同型暗号方式と大小比較可能な暗号方式を保持する暗号方式でも同様に実施可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。
また、本実施形態は、図2に示した変形例と同様に、鍵生成装置60及びデータ保管装置70を更に備えてもよい。この時既存のデータ保管装置70に、匿名化装置20を連携させることで、本実施形態と同様の効果を得ることが可能になる。例えば図39に示すように、ステップST104で暗号化データをデータ保管装置70に送付し、ステップST105でデータ保管装置70が暗号化データを保管してもよい。また、ステップST107-1でデータ保管装置70が暗号化データを匿名化装置20に送付し、ステップST107-2で匿名化装置20が削除対象の属性項目の列を削除するようにしてもよい。同様に、ステップST108-1で匿名化装置20が暗号化匿名化データをデータ保管装置70に送付し、ステップS108-2でデータ保管装置70が暗号化匿名化データを保管してもよい。また、ステップST108-3でデータ保管装置70が暗号化匿名化データを復号装置30に送付するようにしてもよい。このとき、既存のデータ保管装置70を大きく変えることなく、本実施形態の効果を得ることが可能になる。これは後述する実施形態や変形例においても同様である。
また例えば図8に示した変形例と同様に、図40に示すように、図39のステップST108-1~ST108-3に代えて、元のステップST108を実行するようにしてもよい。この場合、図8に示した動作による効果と同様の効果を得ることができる。
<第14の実施形態:M2Mと、削除、リサンプリング、ソート又はスワッピング>
図41は第14の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。
図41は第14の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。
第14の実施形態は、暗号化装置10が個人データを暗号化して匿名化装置20に預ける第13の実施形態とは異なり、M2Mサービスのように、各機器で取得した個人データを暗号化してなる暗号化データを匿名化装置20で収集する形態となっている。ここでいう各機器は、各々の暗号化装置(1~N)10に相当する。
具体的には、第14の実施形態は、図1に示した構成に比べ、暗号化装置10をN台設け、且つユーザ端末100を更に備えている。但し、ユーザ端末100は、必須ではなく、例えばいずれかの暗号化装置10が削除対象の属性項目(社員番号)を匿名化装置20に送付する場合には、省略してもよい。このことは、以下の各変形例でも同様である。
ここで、N台の暗号化装置(1~N)10の構成は、匿名化処理の方法を除き、前述した第4の実施形態等と同様である。
ユーザ端末100は、通常の通信機能を有するコンピュータであり、例えば、記憶部101、通信部102及び制御部103を備えている。
次に、本実施形態における匿名化システムの動作について図42のシーケンス図を用いて説明する。以下の説明では、[AES]の暗号方式を用いて匿名化する場合を例に挙げて述べる。
(事前準備)
ステップST101は、前述した第13の実施形態と同様に実行される。
ステップST101は、前述した第13の実施形態と同様に実行される。
ステップST102において、復号装置30の制御部38は、通信部34により、共通鍵である秘密鍵skAを各暗号化装置(1~N)10に送付する。各暗号化装置(1~N)10の制御部18は、通信部14により受信した秘密鍵skAを鍵記憶部12に格納する。なお、各暗号化装置(1~N)10は、機器組み立て時に公開鍵pkAを入力して格納してもよく、機器を配置後、ネットワーク経由で公開鍵pkAを受信して格納してもよい。
ステップST103において、各暗号化装置(1~N)10のデータ取得部19は、図3に示すように、テーブルT1からなる個人データを取得して一時データ記憶部13に記憶する。各暗号化装置(1~N)10の暗号化部17は、一時データ記憶部13内のテーブルT1のうち、削除対象の属性項目(社員番号)の属性値dataiを、鍵記憶部12内の秘密鍵skAに基づいてレコード毎に暗号化する。
Enc(skA,datai)→CA,data_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
同様に、暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、削除対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、前述同様に、図37に示すように、全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
ステップST104において、各暗号化装置(1~N)10の制御部18は、通信部14により、テーブルT1eからなる暗号化データを匿名化装置20に送付する。
ステップST105において、匿名化装置20は、通信部24により受信した暗号化データであるテーブルT1eを一時データ記憶部23に保管する。一時データ記憶部23内のテーブルT1eは、暗号化装置(1~N)10から受信したテーブルT1eを集めた内容に更新される。
(匿名化)
ステップST106において、ユーザ端末100の制御部103は、通信部102により、削除対象の属性項目(社員番号)を匿名化装置20に送付する。但し、匿名化装置20が削除対象の属性項目を予め保持する場合には、暗号化装置10による削除対象の属性項目の送付を省略できる。このことは、以下の各変形例でも同様である。
ステップST106において、ユーザ端末100の制御部103は、通信部102により、削除対象の属性項目(社員番号)を匿名化装置20に送付する。但し、匿名化装置20が削除対象の属性項目を予め保持する場合には、暗号化装置10による削除対象の属性項目の送付を省略できる。このことは、以下の各変形例でも同様である。
以下、ステップST107~ST111は、前述した第13の実施形態と同様に実行される。
上述したように本実施形態によれば、暗号化装置10を複数台とした場合でも、第13の実施形態と同様の作用効果を得ることができる。
ただし、本実施形態では、各機器に秘密鍵skAを格納するが、この秘密鍵skAは暗号化のみならず復号処理もできるため、各機器上で、秘密鍵skAを適切に管理しなければならない。
また、本実施形態は、暗号化した属性値を削除する匿名化処理に代えて、暗号化した属性値をリサンプリング、ソート又はスワッピングする匿名化処理を実行してもよい。この場合、本実施形態を同様に実施して同様の効果を得ることができる。
また、本実施形態は、[AES]のような暗号化と復号に同一の鍵を用いる暗号方式のみならず、(加法的な)準同型暗号方式、大小比較可能な暗号方式、(加法的な)準同型暗号方式と大小比較可能な暗号方式を保持する暗号方式でも同様に実施可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。
以上説明した少なくとも一つの実施形態によれば、個人データに含まれる各項目の値を暗号化する処理により、当該個人データから暗号化データを生成する。暗号化データのうちの一部の項目の値を復号せずに匿名化する処理により、当該暗号化データから暗号化匿名化データを生成する。暗号化匿名化データを復号する処理により、当該暗号化匿名化データから匿名化データを生成する。このような構成により、個人データを暗号化して得られた暗号化データを復号せずに匿名化することができる。
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD-ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
Claims (3)
- 1台以上の暗号化装置、匿名化装置及び復号装置を備えた匿名化システムであって、
前記暗号化装置は、
各項目毎に値を含む個人データを記憶する第1記憶手段と、
前記個人データに含まれる各項目の値を暗号化する処理により、当該個人データから暗号化データを生成する暗号化手段と、
を備え、
前記匿名化装置は、
前記暗号化装置により生成された前記暗号化データを記憶する第2記憶手段と、
前記第2記憶手段内の前記暗号化データのうちの一部の項目の値を復号せずに匿名化する処理により、当該暗号化データから暗号化匿名化データを生成する匿名化手段と、
を備え、
前記復号装置は、
前記匿名化装置により生成された前記暗号化匿名化データを記憶する第3記憶手段と、
前記第3記憶手段内の前記暗号化匿名化データを復号する処理により、当該暗号化匿名化データから匿名化データを生成する復号手段と、
を備えたことを特徴とする匿名化システム。 - 請求項1に記載の匿名化システムにおいて、
前記暗号化装置は、前記匿名化する処理に用いる匿名用パラメータを暗号化して暗号化匿名用パラメータを生成するパラメータ暗号化手段、を備えており、
前記匿名化手段は、前記暗号化装置により生成された前記暗号化匿名用パラメータに基づいて、前記暗号化データから前記暗号化匿名化データを生成する
ことを特徴とする匿名化システム。 - 請求項1又は請求項2に記載の匿名化システムにおいて、
前記匿名化データは、前記個人データのうち、前記一部の項目の値が匿名化された値と、前記一部の項目以外の項目の値とを含む情報であり、
前記暗号化匿名化データは、前記暗号化データに含まれる前記一部の項目の暗号化された値が匿名化された値と、前記暗号化データに含まれる前記一部の項目以外の項目の値とを含む情報であることを特徴とする匿名化システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/081054 WO2017077600A1 (ja) | 2015-11-04 | 2015-11-04 | 匿名化システム |
US15/444,654 US11003681B2 (en) | 2015-11-04 | 2017-02-28 | Anonymization system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/081054 WO2017077600A1 (ja) | 2015-11-04 | 2015-11-04 | 匿名化システム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/444,654 Continuation US11003681B2 (en) | 2015-11-04 | 2017-02-28 | Anonymization system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017077600A1 true WO2017077600A1 (ja) | 2017-05-11 |
Family
ID=58661725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/081054 WO2017077600A1 (ja) | 2015-11-04 | 2015-11-04 | 匿名化システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11003681B2 (ja) |
WO (1) | WO2017077600A1 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11030562B1 (en) | 2011-10-31 | 2021-06-08 | Consumerinfo.Com, Inc. | Pre-data breach monitoring |
US10339527B1 (en) | 2014-10-31 | 2019-07-02 | Experian Information Solutions, Inc. | System and architecture for electronic fraud detection |
US10129269B1 (en) | 2017-05-15 | 2018-11-13 | Forcepoint, LLC | Managing blockchain access to user profile information |
US10699028B1 (en) * | 2017-09-28 | 2020-06-30 | Csidentity Corporation | Identity security architecture systems and methods |
US10747901B2 (en) * | 2018-03-16 | 2020-08-18 | Sap Se | High-dimensional data anonymization for in-memory applications |
US11138338B2 (en) * | 2018-03-20 | 2021-10-05 | Micro Focus Llc | Statistical property preserving pseudonymization |
US11106821B2 (en) * | 2018-03-20 | 2021-08-31 | Micro Focus Llc | Determining pseudonym values using tweak-based encryption |
US11115216B2 (en) * | 2018-03-20 | 2021-09-07 | Micro Focus Llc | Perturbation-based order preserving pseudonymization of data |
WO2019189969A1 (ko) * | 2018-03-30 | 2019-10-03 | 주식회사 그리즐리 | 빅데이터 개인정보 익명화 및 익명 데이터 결합 방법 |
US10810324B2 (en) | 2018-04-20 | 2020-10-20 | At&T Intellectual Property I, L.P. | Methods, systems and algorithms for providing anonymization |
SE1850734A1 (en) * | 2018-06-15 | 2019-12-16 | Avident It Ab | Method for de-identifying data |
JP7164333B2 (ja) * | 2018-06-27 | 2022-11-01 | 株式会社日立製作所 | 個人情報分析システム |
US11625752B2 (en) | 2018-11-15 | 2023-04-11 | Ravel Technologies SARL | Cryptographic anonymization for zero-knowledge advertising methods, apparatus, and system |
US10997295B2 (en) * | 2019-04-26 | 2021-05-04 | Forcepoint, LLC | Adaptive trust profile reference architecture |
KR20210003667A (ko) * | 2019-07-02 | 2021-01-12 | 현대자동차주식회사 | M2m 시스템에서 보호 데이터를 처리하는 방법 및 장치 |
US11539517B2 (en) * | 2019-09-09 | 2022-12-27 | Cisco Technology, Inc. | Private association of customer information across subscribers |
CN114730432A (zh) * | 2019-09-24 | 2022-07-08 | 卓尔科技公司 | 根据个人的移动性参数分发数字媒体的方法和*** |
US11328111B2 (en) | 2020-09-25 | 2022-05-10 | Intel Corporation | Broadcast remote sealing for scalable trusted execution environment provisioning |
CN114491612A (zh) * | 2020-10-27 | 2022-05-13 | 华为技术有限公司 | 文件脱敏方法、装置及存储介质 |
US11949794B2 (en) * | 2021-05-08 | 2024-04-02 | International Business Machines Corporation | Data anonymization of blockchain-based processing pipeline |
CN114338164B (zh) * | 2021-12-29 | 2024-04-30 | 支付宝(杭州)信息技术有限公司 | 一种匿名安全比较方法和*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015526782A (ja) * | 2012-06-06 | 2015-09-10 | ジエマルト・エス・アー | 匿名化方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4003203B2 (ja) | 2000-08-10 | 2007-11-07 | サイファーゲート株式会社 | 暗号化プログラムを記録した記録媒体及び復号化プログラムを記録した記録媒体 |
JP2004112555A (ja) | 2002-09-20 | 2004-04-08 | Matsushita Electric Ind Co Ltd | ダウンロードシステム及びダウンロード方法 |
JPWO2012067214A1 (ja) | 2010-11-15 | 2014-05-19 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
US9432342B1 (en) * | 2011-03-08 | 2016-08-30 | Ciphercloud, Inc. | System and method to anonymize data transmitted to a destination computing device |
WO2013121739A1 (ja) | 2012-02-17 | 2013-08-22 | 日本電気株式会社 | 匿名化装置及び匿名化方法 |
JP2013197642A (ja) | 2012-03-16 | 2013-09-30 | Fujitsu Ltd | 暗号処理方法及び装置 |
JP5723331B2 (ja) | 2012-08-03 | 2015-05-27 | 株式会社日立システムズ | サービス提供方法及びサービス提供システム |
JP5813021B2 (ja) | 2013-01-04 | 2015-11-17 | 株式会社パラダイムシフト | バリューチェーン改善支援システム、バリューチェーン改善支援方法、およびバリューチェーン改善支援プログラム |
US9912689B2 (en) * | 2014-08-27 | 2018-03-06 | icebrg, inc. | Anonymized network data collection and network threat assessment and monitoring systems and methods |
-
2015
- 2015-11-04 WO PCT/JP2015/081054 patent/WO2017077600A1/ja active Application Filing
-
2017
- 2017-02-28 US US15/444,654 patent/US11003681B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015526782A (ja) * | 2012-06-06 | 2015-09-10 | ジエマルト・エス・アー | 匿名化方法 |
Non-Patent Citations (1)
Title |
---|
RYO KIKUCHI ET AL.: "Simple Privacy- Preserving Join Protocols for Vertically Partitioned Data", COMPUTER SECURITY SYMPOSIUM 2015 RONBUNSHU, 14 October 2015 (2015-10-14), pages 576 - 583, XP058196127 * |
Also Published As
Publication number | Publication date |
---|---|
US20170177683A1 (en) | 2017-06-22 |
US11003681B2 (en) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017077600A1 (ja) | 匿名化システム | |
JP6309866B2 (ja) | 匿名化システム | |
Avudaiappan et al. | Medical image security using dual encryption with oppositional based optimization algorithm | |
Yu et al. | Reversible data hiding with hierarchical embedding for encrypted images | |
Chen et al. | Secret sharing based reversible data hiding in encrypted images with multiple data-hiders | |
CN108140334B (zh) | 隐匿检索***、管理装置、隐匿检索方法和记录介质 | |
CN100576916C (zh) | 媒体数据编码设备 | |
JP6180177B2 (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
CN100571388C (zh) | 对渐次加密的可伸缩数据序列进行伸缩变换的方法 | |
CN107196840B (zh) | 数据处理方法、装置及设备 | |
JP6961324B2 (ja) | 検索可能暗号処理システム | |
CN114039785B (zh) | 数据加密、解密、处理方法、装置、设备和存储介质 | |
Chen et al. | Error-free separable reversible data hiding in encrypted images using linear regression and prediction error map | |
JP5269984B2 (ja) | 暗号鍵生成装置 | |
Chattopadhyay et al. | Secure data outsourcing on cloud using secret sharing scheme. | |
Vasanthanayaki | Secure medical health care content protection system (SMCPS) with watermark detection for multi cloud computing environment | |
CN112380404B (zh) | 数据过滤方法、装置及*** | |
Gao et al. | High-performance reversible data hiding in encrypted images with adaptive Huffman code | |
Ma et al. | Security analysis of a reversible watermarking algorithm for encrypted images in wavelet domain | |
Aldabagh | Proposed Hybrid Algorithm for Image Steganography in Text Security Using Fish Algorithm | |
CN116248289A (zh) | 基于密文属性加密的工业互联网标识解析访问控制方法 | |
JP2007189597A (ja) | 暗号化装置および暗号化方法、並びに復号化装置および復号化方法 | |
QASSIM et al. | Information Security with Image through Reversible Room by using Advanced Encryption Standard and Least Significant Bit Algorithm | |
Abdulhamid et al. | Development of blowfish encryption scheme for secure data storage in public and commercial cloud computing environment | |
JP2013235535A (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: 15907786 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15907786 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |