WO2012176923A1 - 匿名化指標決定装置及び方法、並びに匿名化処理実行システム及び方法 - Google Patents

匿名化指標決定装置及び方法、並びに匿名化処理実行システム及び方法 Download PDF

Info

Publication number
WO2012176923A1
WO2012176923A1 PCT/JP2012/066305 JP2012066305W WO2012176923A1 WO 2012176923 A1 WO2012176923 A1 WO 2012176923A1 JP 2012066305 W JP2012066305 W JP 2012066305W WO 2012176923 A1 WO2012176923 A1 WO 2012176923A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
attribute
anonymization
time
threshold
Prior art date
Application number
PCT/JP2012/066305
Other languages
English (en)
French (fr)
Inventor
由起 豊田
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to CA2840049A priority Critical patent/CA2840049A1/en
Priority to US14/128,456 priority patent/US20140304244A1/en
Publication of WO2012176923A1 publication Critical patent/WO2012176923A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures

Definitions

  • the present invention relates to a technique for determining an appropriate value of an index used for data anonymization processing.
  • Anonymization means processing information that can identify an individual and updating it to information that cannot identify an individual.
  • the technique described in Patent Literature 1 groups data for each predetermined attribute that the data has. And the said technique determines whether an anonymization process is performed after grouping based on whether the data number of the data contained in the group is less than a predetermined threshold value.
  • the technique described in Patent Document 1 has the following problems. That is, in the technique described in Patent Document 1, when the number of data included in a group increases or decreases across a threshold, the data included in the group is anonymized or not anonymized according to time. In such a case, the technique described in Patent Document 1 does not change the threshold value. That is, in the technique described in Patent Document 1, the content of the data at the time when the anonymization process of the data is estimated based on the content of the data at the time when the anonymization process of the data is not performed. End up. Therefore, the technique described in Patent Document 1 specifies an appropriate index value (for example, a threshold value) for guaranteeing anonymity of data when the number of data included in a predetermined group increases or decreases with time. Can not.
  • an appropriate index value for example, a threshold value
  • One of the objects of the present invention is to provide an anonymization index determination device that can identify an appropriate index value for guaranteeing anonymity of data even when the number of data included in a predetermined group increases or decreases with time. It is providing the anonymization process execution system, the anonymization parameter
  • the first anonymization index determination device includes a data management unit that manages data having an attribute, and the data having the attribute at each time of a predetermined time for each attribute in the data.
  • the number of data specifying means for specifying the number of data and the number of data having one attribute with respect to a plurality of thresholds are equal to or greater than the threshold at the first time, and a unit time has elapsed from the first time And calculating the number of times less than the threshold at the second time, and calculating a score for each threshold based on the number of times, and one of the plurality of thresholds specified based on the score
  • a first anonymization processing execution system includes a data management unit that manages data having an attribute, and the data includes data having the attribute at each predetermined time for each attribute.
  • the number of data specifying means for specifying the number of data and the number of data having one attribute with respect to a plurality of thresholds are equal to or greater than the threshold at the first time, and a unit time has elapsed from the first time And calculating the number of times less than the threshold at the second time, and calculating a score for each threshold based on the number of times, and one of the plurality of thresholds specified based on the score
  • the data to be updated to a common attribute is data having the one attribute and the other attribute.
  • Anonymized data specifying means for specifying, anonymization index determining device including, anonymizing execution means for updating the data specified by the anonymized data specifying means to the common attribute, and updated by the anonymized execution means
  • anonymized data storage means for storing data.
  • the first anonymization index determination method manages data having an attribute, and specifies the number of data of the data having the attribute at each time of a predetermined time for each attribute in the data.
  • the number of data having one attribute with respect to a plurality of threshold values is equal to or greater than the threshold value at the first time, and less than the threshold value at a second time when a unit time has elapsed from the first time. And calculating a score for each threshold based on the number of times, specifying an anonymization index that is one threshold specified based on the score from the plurality of thresholds, and managing the The number of data having one attribute in the data is less than the anonymization index, and the sum of the number of data and the data number of data having at least one other attribute is equal to or greater than the anonymization index so If that, as data to be updated to a common attribute, it identifies the data with the attributes and the other attributes of the one.
  • the first anonymization processing execution method manages data having an attribute, and specifies the number of data having the attribute at each time of a predetermined time for each attribute in the data.
  • the number of data having one attribute with respect to a plurality of threshold values is equal to or greater than the threshold value at the first time, and less than the threshold value at a second time when a unit time has elapsed from the first time.
  • the first anonymization index determination program includes a process for managing data having an attribute in a computer, and data having the attribute at each time of a predetermined time for each attribute in the data.
  • the processing for identifying the number of data and the number of data having one attribute with respect to a plurality of threshold values are equal to or greater than the threshold value at a first time and the unit time has elapsed since the first time.
  • Calculating the number of times less than the threshold at the second time calculating a score for each threshold based on the number of times, and anonymization that is one threshold specified based on the score from the plurality of thresholds
  • a process for specifying an index, and the number of data having one attribute among the managed data is less than the anonymization index, and the number of data and at least one other attribute If the sum of the number of data of the data included in the at least the anonymized indicators, as data to be updated common attributes, to execute a process of specifying the data having the attributes and the other attributes of the one.
  • An example of the effect of the present invention is that an appropriate index value for guaranteeing data anonymity can be specified even when the number of data included in a predetermined group increases or decreases with time.
  • FIG. 1 is a block diagram showing a configuration of an anonymization index determination device according to the first embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an example of data managed by the data management unit.
  • FIG. 3 is a diagram illustrating an example of the number of data stored in the data management unit.
  • FIG. 4 is a diagram illustrating an example of an abstraction tree.
  • FIG. 5 is a diagram illustrating a hardware configuration of the anonymization index determination device and its peripheral devices in the first embodiment.
  • FIG. 6 is a flowchart showing an outline of the operation of the anonymization index determination device according to the first embodiment.
  • FIG. 7 is a block diagram showing a configuration of the anonymization index determination device in the first modification example of the first embodiment.
  • FIG. 1 is a block diagram showing a configuration of an anonymization index determination device according to the first embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an example of data managed by the data management unit.
  • FIG. 3 is a diagram illustrating an example of the
  • FIG. 8 is a diagram illustrating an example of information stored in the data management unit.
  • FIG. 9 is a block diagram illustrating a configuration of the anonymization index determination device in the first modification example of the first embodiment.
  • FIG. 10 is a block diagram showing the configuration of the anonymization processing execution system.
  • FIG. 11 is a flowchart showing an outline of the operation of the anonymization process execution system in the first modification example of the first embodiment.
  • FIG. 12 is a block diagram illustrating a configuration of the anonymization index determination device according to the second embodiment.
  • FIG. 15 is a flowchart showing an outline of the operation of the anonymization index determination device according to the second embodiment.
  • FIG. 16 is a block diagram illustrating a configuration of the anonymization index determination device according to the third embodiment.
  • FIG. 17 is a flowchart showing an outline of the operation of the anonymization index determination device according to the third embodiment.
  • FIG. 1 is a block diagram showing an example of the configuration of the anonymization index determination device 100 according to the first embodiment of the present invention.
  • the anonymization index determination device 100 includes a data management unit 101, a data number specification unit 102, a score calculation unit 103, a threshold specification unit 104, and an anonymization data specification unit 105.
  • the anonymization index determination device 100 specifies the number of data of data having the attribute at each time of a predetermined time for each attribute.
  • index determination apparatus 100 is more than a threshold value at the 1st time with respect to several threshold value, and is the 2nd time which unit time passed from the 1st time. The number of times below the threshold is calculated. And the anonymization parameter
  • the anonymization index determination device 100 has the number of data of data having a certain attribute (one attribute) less than the anonymization index and the number of data of data having the attribute (one attribute) and at least one or more When the sum of the number of data having other attributes is equal to or greater than the anonymization index, data having one attribute and another attribute is specified as data to be updated to a common attribute.
  • the anonymization index determination device 100 identifies an anonymization index based on the number of times the number of data has increased or decreased across a certain threshold. And the anonymization parameter
  • the anonymization index determination device 100 can provide an appropriate index value for guaranteeing the anonymity of the data even when the number of data included in the predetermined group increases or decreases with time ( Anonymization index) can be specified.
  • Anonymization index can be specified.
  • the anonymization index determination device 100 according to the first embodiment can identify the anonymization index from the threshold based on the score calculated from the calculated number of times.
  • index determination apparatus 100 can specify the data which have one attribute and another attribute as data updated to a common attribute based on the anonymization parameter
  • each component included in the anonymization index determination device 100 according to the first embodiment will be described.
  • the data management unit 101 manages data having attributes.
  • the attribute is, for example, a quasi-identifier.
  • a quasi-identifier is information that, when combined, may identify an individual.
  • FIG. 2 is a diagram illustrating an example of data managed by the data management unit 101. Referring to FIG. 2, the data management unit 101 performs a predetermined time (for example, t 0 And t 1 ) And at least one type of attribute and sensitive data at each time are stored in association with each other.
  • the types of attributes shown in FIG. 2 are two types of “residence” and “sex”. Sensitive data is personal information that requires special handling.
  • the sensitive data shown in FIG. 2 is an example.
  • the data managed by the data management unit 101 only needs to be associated with an attribute and one or more pieces of information.
  • the attribute type of the data is one (attribute type “residence”), but the present embodiment is not limited to this.
  • the anonymization index determination device 100 when there are a plurality of attribute types included in the data, the anonymization index determination device 100 according to the present embodiment regards a set of attribute values of each type as one attribute, and thereafter What is necessary is just to process the operation
  • the anonymization index determination device 100 regards the attribute “Jiyugaoka” of the attribute type “residence” and the attribute “female” of the attribute type “sex” “Jiyugaoka, female” as one attribute,
  • the operations described below may be processed.
  • the data management unit 101 may receive and store information indicating the number of data of each attribute from the data number specifying unit 102 described later.
  • FIG. 3 is a diagram illustrating an example of information received from the data number specifying unit 102 by the data management unit 101. Referring to FIG.
  • the data management unit 101 performs a predetermined time (for example, t 0 To t 3 Each time (for example, t) 0 , T 1 , T 2 , And t 3
  • the plurality of threshold values are, for example, threshold values having different values arbitrarily selected in a range of 0 or more and not more than the minimum value where the above-described number of times is 0.
  • the data number of data specified for each attribute by the data number specifying unit 102 is the number shown in FIG. Time t 0
  • time t 1 Is the first time t 0 It corresponds to the second time when the unit time has elapsed since.
  • time t 2 Corresponding to the first time
  • the score calculation method used by the score calculation unit 103 of the present embodiment is not particularly limited, and various calculation methods can be used.
  • the score calculation unit 103 may calculate the score Sc (k) based on the calculation method represented by the following [Equation 1].
  • n (k) is the above-described number of times calculated by the score calculation unit 103 when the threshold value is k.
  • the score calculation unit 103 may calculate a score for each type of attribute for each threshold value, and add the calculated scores.
  • the score calculation unit 103 may add the scores for each attribute type for each threshold based on the calculation method shown in [Equation 2].
  • X is a set of attribute types
  • type is an attribute type.
  • Sc type (K) is a score in the attribute type “type” and the threshold value k.
  • the threshold value specifying unit 104 specifies an anonymization index that is one threshold value specified based on the score calculated by the score calculation unit 103 from among a plurality of threshold values used by the score calculation unit 103. For example, in the case where the score Sc (k) is obtained using the above [Equation 1], the threshold value specifying unit 104 uses the threshold value k at which the calculated score Sc (k) is minimum except 0 as an anonymization index. You may specify. Note that when there are a plurality of threshold values k at which the calculated score Sc (k) is minimum, the threshold value specifying unit 104 may specify any threshold value k.
  • the threshold value specifying unit 104 specifies, as an example, the minimum k as the anonymization index among the plurality of threshold values having the minimum score Sc (k).
  • the threshold specifying unit 104 may specify the threshold k that maximizes the calculated score Sc (k) as an anonymization index.
  • the threshold value specifying unit 104 determines the threshold value k (for example, the minimum k value) from a plurality of threshold values according to a predetermined rule, as described above.
  • the maximum k may be specified as the anonymization index.
  • the anonymized data specifying unit 105 determines the following two conditions for data managed by the data management unit 101.
  • the first condition is that the number of data having one attribute is less than the anonymization index specified by the threshold specifying unit 104.
  • the second condition is that the sum of the number of data having the one attribute and the number of data having at least one other attribute is equal to or greater than the anonymization index.
  • the aforementioned “one attribute” that satisfies these two conditions is also referred to as “target attribute” in the present specification.
  • the anonymized data specifying unit 105 specifies data having the above-described target attribute (one attribute) satisfying the above-described two conditions and the above-mentioned other attributes as data to be updated to a common attribute.
  • the anonymized data specifying unit 105 specifies data corresponding to each target attribute and data having other attributes as data to be updated to common attributes, respectively. Also good. For example, it is assumed that the target attribute “Midorigaoka” and the other attribute “Jiyugaoka”, and the target attribute “Toyama” and the other attribute “Okubo” satisfy the above two conditions. In this case, the anonymized data specifying unit 105 specifies data to be updated to a common attribute as follows.
  • the anonymized data specifying unit 105 converts the data having the attribute “Midugaoka” and the attribute “Jiyugaoka” into an attribute “Meguro-ku” indicating a common concept (for example, the attribute “Miyagaoka” and the attribute “Jiyugaoka” ) Is specified as data to be updated. Further, the anonymized data specifying unit 105 converts the data having the attribute “Toyama” and the attribute “Okubo” into one common attribute (for example, the attribute “Shinjuku-ku” indicating the superordinate concept of the attribute “Toyama” and the attribute “Okubo”. ) Is specified as data to be updated.
  • the anonymized data specifying unit 105 may specify another attribute based on information indicating the relationship between attributes.
  • Information indicating the relationship between attributes is not particularly limited.
  • the anonymized data specifying unit 105 may use an abstract tree. When using the abstract tree, the anonymized data specifying unit 105 may operate as follows, for example. First, the anonymized data specifying unit 105 specifies one attribute based on the first condition described above. Second, the anonymized data specifying unit 105 specifies other attribute candidates based on the abstract tree.
  • the abstract tree is information having a tree structure indicating a hierarchical relationship between attributes.
  • FIG. 4 is a diagram illustrating an example of an abstraction tree. Referring to FIG.
  • the attribute “Meguro-ku” is a superordinate concept of the attributes “Jiyugaoka” and “Nakameguro”. Therefore, if the anonymized data specifying unit 105 specifies the attribute “Jiyugaoka” as one attribute, the attribute “Nakameguro” having the higher concept “Meguro-ku” in common with the attribute “Jiyugaoka” Identified as a candidate attribute. Note that the example shown in FIG. 4 has one other attribute. Therefore, the anonymized data specifying unit 105 specifies the attribute “Nakameguro” as another attribute candidate. However, when a plurality of attributes are specified, the anonymized data specification unit 105 may specify the specified attributes as candidates for other attributes.
  • Information indicating the relationship between attributes may be stored in the anonymized data specifying unit 105 or may be stored in another component.
  • the anonymized data specifying unit 105 determines whether or not the second attribute is satisfied for each of the other attribute candidates. And based on determination, the anonymization data specific
  • the anonymized data specifying unit 105 specifies data having the one attribute described above and the other attribute specified in the third process as data to be updated to a common attribute.
  • the common attribute is, for example, an attribute indicating a superordinate concept common to each attribute.
  • the anonymized data specifying unit 105 specifies data having attributes “Jiyugaoka” and “Nakameguro” as data to be updated to the attribute “Meguro-ku”.
  • the common attribute may be an attribute indicating a superordinate concept in each of the above-described attributes. For example, when one attribute shown in FIG. 4 is the attribute “Jiyugaoka” and the other attribute is “Meguro-ku”, the anonymized data specifying unit 105 uses the attribute “Meguro-ku” as the data to be updated.
  • Data having “Jiyugaoka” and “Meguro-ku” may be specified.
  • the data specified by the anonymization data specification unit 105 is updated to a common attribute, the data managed by the data management unit 101 is secured with k-anonymity (k-Anonymity) with an anonymization index k.
  • the k-anonymity is a property that guarantees that certain data cannot be distinguished from at least other k-1 data. That is, when k-anonymity is satisfied, there are k or more data having the same quasi-identifier (attribute).
  • specification part 105 specifies the data of the object of the process of anonymization for ensuring k-anonymity.
  • the anonymization index determination device 100 includes a CPU 191 (Central Processing Unit 191), a network connection communication I / F 192 (communication interface 192), a memory 193, a hard disk that stores programs, and the like.
  • a storage device 194 is included.
  • the anonymization index determination device 100 is connected to the input device 195 and the output device 196 via the bus 197.
  • the CPU 191 operates the operating system to control the entire anonymization index determination device 100 according to the first embodiment of the present invention.
  • the CPU 191 reads out programs and data from the recording medium 198 (not shown) mounted on the drive device (not shown) to the memory 193, for example. Then, according to this program, the CPU 191 uses the data management unit 101, the data number specifying unit 102, the score calculating unit 103, the threshold specifying unit 104, and the anonymized data specifying unit 105 in the first embodiment as various types. Execute the process.
  • the storage device 194 is, for example, an optical disk, a flexible disk, a magnetic optical disk, an external hard disk, or a semiconductor memory, and records a computer program so that it can be read by a computer.
  • the computer program may be downloaded from an external computer (not shown) connected to the communication network.
  • the data management unit 101 may be realized using the storage device 194.
  • the input device 195 is realized by, for example, a mouse, a keyboard, or a built-in key button, and is used for an input operation.
  • the input device 195 is not limited to a mouse, a keyboard, and a built-in key button, and may be a touch panel, an accelerometer, a gyro sensor, or a camera, for example.
  • the output device 196 is realized by a display, for example, and is used for confirming the output. Note that the block diagram (FIG. 1) used in the description of the first embodiment shows functional unit blocks, not hardware unit configurations. These functional blocks are realized using the hardware configuration shown in FIG.
  • the means for realizing each unit included in the anonymization index determination device 100 is not particularly limited. That is, the anonymization index determination device 100 may be realized by using one physically coupled device, or two or more physically separated devices are connected by wire or wireless, and the plurality of devices It may be realized using.
  • the CPU 191 reads a computer program recorded in the storage device 194, and in accordance with the program, the data management unit 101, the data number specifying unit 102, the score calculating unit 103, the threshold specifying unit 104, and the anonymized data specifying The unit 105 may operate.
  • a recording medium 198 (or other storage medium) (not shown) in which the above-described program code is recorded is supplied to the anonymization index determination device 100, and the anonymization index determination device 100 is stored in the recording medium 198.
  • the stored program code may be read and executed. That is, according to the present invention, a recording medium 198 (not shown) that temporarily or non-temporarily stores software (anonymization index determination program) to be executed by the anonymization index determination apparatus 100 according to the first embodiment.
  • FIG. 6 is a flowchart showing an outline of the operation of the anonymization index determination device 100 according to the first embodiment.
  • the data number identification unit 102 identifies the number of data having the attribute for each attribute (step S101).
  • the score calculation unit 103 has, for a plurality of threshold values, the number of data of data having a certain attribute specified by the data number specifying unit 102 is equal to or greater than a certain threshold at a first time, and the first time The number of times that falls below the threshold at the second time after the unit time has elapsed is calculated (step S102).
  • the score calculation unit 103 calculates a score for each threshold based on the calculated number of times (step S103).
  • the threshold value specifying unit 104 specifies an anonymization index that is one threshold value specified based on the calculated score from the plurality of threshold values described above (step S104).
  • the anonymized data specifying unit 105 determines the following two conditions for the data managed by the data management unit 101 (step S105).
  • the first condition is that the number of data having a certain attribute is less than the anonymization index specified in step S104.
  • the second condition is that the sum of the number of data having the one attribute and the number of data having at least one other attribute is equal to or greater than the anonymization index. If the anonymized data specifying unit 105 determines that the above two conditions are satisfied (“Yes” in step S105), the anonymized data specifying unit 105 uses the one attribute described above as data to be updated to a common attribute and Data having at least one or more other attributes is specified (step S106).
  • the anonymized data specifying unit 105 When a plurality of one attribute is specified, the anonymized data specifying unit 105 has the one attribute and at least one or more other attributes as data to be updated to a common attribute for each one attribute. Identify the data. And the process of the anonymization parameter
  • the anonymization index determination device 100 specifies the number of data of data having the attribute at each time of a predetermined time for each attribute.
  • the anonymization index determination device 100 is configured such that, for a plurality of threshold values, the specified number of data is equal to or greater than a certain threshold value at a first time, and a second unit time has elapsed from the first time. The number of times that falls below the threshold at the time is calculated. Then, the anonymization index determination device 100 calculates a score based on the calculated number of times. And the anonymization parameter
  • the anonymization index determination device 100 has a data number of data having one attribute less than the anonymization index, and data data having at least one other attribute and the number of data having the one attribute It is determined whether or not the sum with the number is greater than or equal to the anonymization index (whether or not it is a target attribute). And the anonymization parameter
  • the anonymization index determination device 100 can provide an appropriate index value for guaranteeing the anonymity of the data even when the number of data included in the predetermined group increases or decreases with time ( Anonymization index) can be specified.
  • the anonymization index determination device 100 according to the first embodiment can specify the anonymization index from the threshold based on the score calculated from And the anonymization parameter
  • index determination apparatus 100 can specify the data which have one attribute and another attribute as data updated to a common attribute based on the anonymization parameter
  • index determination apparatus 100 may be connected with the anonymization execution part 111 which anonymizes the data which the anonymization data specific
  • FIG. 7 is a block diagram illustrating an example of the configuration of the anonymization index determination device 100 and the anonymization execution unit 111 according to the first modification of the first embodiment.
  • the anonymization executing unit 111 may update the corresponding attribute to an attribute indicating a superordinate concept common to the corresponding attribute included in the data specified by the anonymized data specifying unit 105.
  • the anonymization executing unit 111 may receive information indicating a common attribute from the anonymized data specifying unit 105.
  • the anonymization execution part 111 may memorize
  • the anonymization execution unit 111 may update all of the data having the one attribute described above and all of the data having the other attribute corresponding to the one attribute to a common attribute.
  • Such an anonymization method is called “global recoding”.
  • the anonymization execution unit 111 may update all the data having the one attribute described above and a part of the data having the other attribute corresponding to the one attribute to the common attribute. .
  • Such an anonymization method is called “local recoding”.
  • local recoding When local recoding is applied, in the data having the other attributes described above, the number of data whose attributes are updated is the anonymization index specified by the threshold specifying unit 104 and the data having the one attribute described above. The difference value from the number of data.
  • the number of data to be anonymized is less than that of global recoding. Therefore, the loss of information amount of local recoding is smaller than the loss of information amount of global recoding.
  • the data management unit 101 may store the data anonymized by the anonymization execution unit 111.
  • FIG. 8 is a diagram illustrating an example of information stored in the data management unit 101. Referring to FIG. 8, time t 1 All data is anonymized. That is, time t 1 The attributes “Jiyugaoka” and “Midorigaoka” possessed by each data in are updated to “Meguro-ku”.
  • the anonymization index determination device 100 may be connected to the post-anonymization data storage unit 112 that stores data anonymized by the anonymization execution unit 111.
  • FIG. 9 is a block diagram illustrating an example of the configuration of the anonymization index determination device 100, the anonymization execution unit 111, and the post-anonymization data storage unit 112 in the first modification example of the first embodiment.
  • the anonymization index determination device 100 may include an anonymization execution unit 111 and an anonymized data storage unit 112.
  • FIG. 10 is a block diagram illustrating an example of the configuration of the anonymization process execution system 10 including the anonymization index determination device 100, the anonymization execution unit 111, and the post-anonymization data storage unit 112.
  • FIG. 11 is a flowchart showing an outline of the operation of the anonymization process execution system 10 in the first modification example of the first embodiment.
  • the data number identification unit 102 identifies the number of data having the attribute for each attribute (step S101).
  • the score calculation unit 103 has, for a plurality of threshold values, the number of data of data having a certain attribute specified by the data number specifying unit 102 is equal to or greater than a certain threshold at a first time, and from the first time The number of times below the threshold at the second time when the unit time has elapsed is calculated (step S102).
  • the score calculation unit 103 calculates a score for each threshold based on the calculated number of times (step S103).
  • the threshold value specifying unit 104 specifies an anonymization index that is one threshold value specified based on the calculated score from the plurality of threshold values described above (step S104).
  • the anonymized data specifying unit 105 determines the following two conditions in the data managed by the data management unit 101 (step S105).
  • the first condition is that the number of data having a certain attribute is less than the anonymization index specified in step S104.
  • the second condition is that the sum of the number of data having the one attribute and the number of data having at least one other attribute is equal to or greater than the anonymization index. That is, the anonymized data specifying unit 105 determines one attribute that is a target attribute.
  • the anonymized data specifying unit 105 sets the above-described target attribute and at least one of the above as data to be updated to a common attribute.
  • Data having the above other attributes is specified (step S106).
  • the anonymized data specifying unit 105 specifies, for each target attribute, data having the target attribute and at least one other attribute as data to be updated to a common attribute. To do.
  • the anonymization executing unit 111 anonymizes the data specified by the anonymized data specifying unit 105 (step S107). And the process of the anonymization process execution system 10 is complete
  • the anonymization index determination device 100 and the anonymization process execution system 10 in the first modification example of the first embodiment specify the number of data having the attribute at each time of a predetermined time for each attribute. To do. And the anonymization parameter
  • index determination apparatus 100 and the anonymization process execution system 10 identify the anonymization parameter
  • the anonymization index determination device 100 and the anonymization processing execution system 10 have at least one data number of data having one attribute and the number of data of data having the one attribute and less than the anonymization index. If the sum of the number of data with other attributes is equal to or greater than the anonymization index, specify data with that one attribute (target attribute) and other attributes as data to be updated to a common attribute To do.
  • the anonymization execution unit 111 updates the identified data to the common attribute.
  • the anonymization index determination device 100 and the anonymization process execution system 10 in the first modification example of the first embodiment specify the anonymization index based on the number of times the number of data has increased or decreased across a certain threshold. Then, anonymization processing is executed based on the anonymization index. Therefore, the anonymization index determination device 100 and the anonymization processing execution system 10 according to the first modification example of the first embodiment can be performed even when the number of data included in the predetermined group increases or decreases with time. Can be guaranteed anonymity.
  • the score calculation unit 103 may receive the anonymization index specified by the threshold specification unit 104.
  • the score calculation part 103 may each calculate a score with respect to the some threshold value containing the anonymization parameter
  • This predetermined value is a value indicating that at least anonymity cannot be guaranteed.
  • a certain attribute is anonymized or not anonymized a predetermined number of times, it is analogized based on information at the time when the attribute is anonymized but not anonymized. The possibility of being increased.
  • This predetermined value indicates a threshold value as to whether or not this analogy possibility loses anonymity of data.
  • the anonymization index determination device 100 in the second modification example of the first embodiment specifies a new anonymization index when it is determined that anonymity cannot be guaranteed based on the original anonymization index.
  • FIG. 12 is a block diagram illustrating an example of the configuration of the anonymization index determination device 200 according to the second embodiment. Referring to FIG.
  • an anonymization index determination device 200 includes a data management unit 101, a data number specifying unit 102, a score calculation unit 203, a threshold specifying unit 104, and anonymized data specifying.
  • the anonymization index determination device 200 according to the second embodiment is an attribute for which the number of data having a certain attribute or the sum of the number of data having any one of a plurality of attributes is equal to or greater than a threshold value. Identify combinations.
  • index determination apparatus 200 specifies the sum of the data number of the data which has each attribute contained in the combination containing a predetermined attribute from the identified combination.
  • the anonymization index determination device 200 obtains the rate of change from the value at the first time to the value at the second time of the ratio of the number of data of the data having the predetermined attribute in the sum ( calculate).
  • the anonymization index determination device 200 calculates a score for specifying the anonymization index based on the obtained change rate.
  • the change rate calculated here indicates the probability that the data before anonymization is estimated from the anonymized data. That is, data with a large change rate has a large change in the ratio between the attributes of the number of data before and after the anonymization process. Therefore, data with a large rate of change has a low probability that the data before being anonymized is inferred.
  • the anonymization index determination device 200 calculates a score for specifying the anonymization index based on the probability that the data before being anonymized is estimated. Therefore, the anonymization index determination device 200 increases the number of data included in a predetermined group with time, and even when there is a high possibility that the data before anonymization is analogized, Appropriate index values to guarantee can be identified.
  • each component included in the anonymization index determination device 200 according to the second embodiment will be described.
  • the “one attribute” that satisfies the above two conditions is also referred to as “calculation target attribute” in the present specification.
  • the score calculation unit 203 specifies a combination including the calculation target attribute described above from the combinations specified by the combination specifying unit 206 described later.
  • the score calculation unit 203 is the ratio of the number of data of the data including the calculation target attribute in the sum of the number of data of the data including each attribute included in the combination.
  • the rate of change from the value at the first time to the value at the second time when the unit time has elapsed is obtained.
  • the attributes “Jiyugaoka” and “Midorigaoka” are the calculation target attributes.
  • a combination including these calculation target attributes is attribute “Jiyugaoka” + “Midorigaoka”.
  • this combination is also referred to as “combination“ Jiyugaoka ”+“ Midorigaoka ”.
  • the score calculation unit 203 has a ratio P of the number of data of the data including the calculation target attribute in the sum of the number of data of each attribute included in the combination “Jiyugaoka” + “Midagaoka” at the first time P 0 Is calculated. For example, if the first time is t 0 In this case, the sum of the number of data of each attribute included in the combination “Jiyugaoka” + “Midagaoka” is 10.
  • the first time is t 0
  • the score calculation unit 203 occupies the sum of the number of data of the data having each attribute included in the combination “Jiyugaoka” + “Midagaoka” at the second time, and the number of data of the data including the calculation target attribute. Ratio P 1 Is calculated.
  • the score calculation unit 203 calculates the ratio P described above. 0 And P 1 Based on the rate of change SP k (Attr, t) is calculated.
  • k is a threshold value
  • attr is a calculation target attribute
  • t is a second time.
  • the score calculation unit 203 uses the calculation method shown in [Equation 3] to change the rate of change SP.
  • k (Attr, t) is calculated.
  • the first time is t 2 Rate of change SP k (Attr, t) is calculated as shown in [Formula 6] below.
  • the score calculation unit 203 uses the change rate SP described above.
  • k Using (attr, t), the score Sc (k) is calculated for each threshold based on the method shown in the following [Equation 7].
  • A is a set of attributes included in the combination including the calculation target attribute.
  • attr is an attribute included in the above-described combination. In this case, attr is “Jiyugaoka” and “Midorigaoka”.
  • T ′ is a set including a time corresponding to the “second time” in a predetermined time.
  • T ′ is time t 1 And t 3 including. t is each time included in T ′, that is, time t 1 Or t 3 It is.
  • the value calculated using [Equation 7] is also referred to as “privacy loss” in this specification.
  • the value is also expressed as PL (k).
  • the score calculation unit 203 occupies the sum of the number of data having each attribute included in the combination “Jiyugaoka” + “Midagaoka” at the first time, and the ratio of the number of data including the calculation target attribute P 0 Is calculated.
  • the first time is t 2 In this case, the sum of the number of data items having each attribute included in the combination “Jiyugaoka” + “Midagaoka” is 12.
  • the first time is t 2
  • the score calculation unit 203 occupies the sum of the number of data of the data having each attribute included in the combination “Jiyugaoka” + “Midagaoka” at the second time of the number of data of the data including the calculation target attribute. Ratio P 1 Is calculated.
  • the second time is t 3
  • the sum of the number of data of each attribute included in the combination “Jiyugaoka” + “Midagaoka” is 8.
  • the second time is t 3
  • the plurality of thresholds are values similar to the plurality of thresholds used by the score calculation unit 203.
  • the combination specifying unit 206 determines whether or not a predetermined condition is satisfied based on a certain threshold value. Then, when the condition is satisfied, the score calculation unit 203 may pass the certain threshold value described above to the combination specifying unit 206.
  • the combination specifying unit 206 receives the threshold value from the score calculation unit 203, the sum of the data number of data having a certain attribute or the data number of data having one of a plurality of attributes is equal to or greater than the received threshold value.
  • a combination of attributes may be specified.
  • the data having attributes c and d are each less than the threshold “5”. Further, the sum of the data numbers of the data having the attributes c and d is 6, which is equal to or greater than the threshold “5”. On the other hand, the number of data having the attributes a and b is 5, which is equal to or greater than the threshold “5”. Therefore, the combination specifying unit 206 specifies combinations of attributes such as attribute a, attribute b, and attribute c + d. Here, the combination specifying unit 206 may specify a combination that minimizes the number of data corresponding to a combination including a plurality of attributes. Data corresponding to a combination including a plurality of attributes is treated as an anonymization target.
  • the combination that minimizes the number of corresponding data reduces the amount of information loss based on the anonymization process.
  • the data having the attributes b and c are each less than the threshold value “5”.
  • the number of data having the attributes a and d is equal to or greater than the threshold “5”.
  • the sum of the data numbers of the data having the attributes b and c is “3”, which is still less than the threshold value.
  • the combination specifying unit 206 adds the attribute of the data having the minimum number of data that is equal to or greater than the threshold to the combination of the attributes of the data having the number of data less than the threshold.
  • the common attribute may be, for example, an attribute indicating a superordinate concept common to each attribute included in the combination described above. For example, in the case of the example of FIG.
  • the anonymized data specifying unit 205 specifies data having the attributes “Jiyugaoka” and “Nakameguro” as data in which each attribute is updated to the attribute “Meguro-ku”.
  • the common attribute may be an attribute indicating a superordinate concept in each of the above-described attributes. For example, in the case of the example of FIG. 4, when one attribute is the attribute “Jiyugaoka” and the other attribute is “Meguro-ku”, the anonymized data specifying unit 205 may operate as follows. .
  • the anonymized data specifying unit 205 may specify data having the attributes “Jiyugaoka” and “Meguro-ku” as data in which each attribute is updated to the attribute “Meguro-ku”.
  • the one attribute is an attribute that satisfies the “first condition” in the processing in the anonymized data specifying unit 105 in the first embodiment.
  • the first condition is that the number of data having one attribute is less than the anonymization index specified by the threshold specifying unit 104.
  • FIG. 15 is a flowchart showing an outline of the operation of the anonymization index determination device 200 according to the second embodiment.
  • the data number identification unit 102 identifies the number of data having the attribute for each attribute (step S101).
  • the score calculation unit 203 identifies an attribute (calculation target attribute) that satisfies the following two conditions with respect to a threshold k among a plurality of thresholds (step S201).
  • the first condition is that the number of data having the attribute is equal to or greater than a certain threshold at the first time.
  • the second condition is that the value falls below the threshold at a second time when a unit time has elapsed from the first time.
  • the score calculation unit 203 passes the threshold value k to the combination specifying unit 206.
  • the combination specifying unit 206 specifies a combination of attributes for which the sum of the number of data having a certain attribute or the number of data having any one of the plurality of attributes is equal to or greater than the threshold k for the threshold k. (Step S202).
  • the score calculation unit 203 specifies a combination including the calculation target attribute specified in step S201 from the combinations specified by the combination specifying unit 206 (step S203). And the score calculation part 203 is the ratio of the data number of the data containing the calculation object attribute in the sum total of the data number of the data which has each attribute contained in the identified combination for every attribute contained in the above-mentioned combination. Is obtained (step S204). The score calculation unit 203 determines whether calculation target attributes have been specified for all of the plurality of thresholds (step S205). When the score calculation unit 203 determines that there is a threshold that does not specify the calculation target attribute (“No” in step S205), the process of the anonymization index determination device 200 returns to step S201 and repeats the same process. .
  • step S205 when the score calculation unit 203 determines that the calculation target attribute has been specified for all of the plurality of thresholds (“Yes” in step S205), the process of the anonymization index determination device 200 proceeds to step S206.
  • the score calculation unit 203 calculates a score for each threshold using the above-described change rate (step S206).
  • the threshold value specifying unit 104 specifies an anonymization index that is one threshold value specified based on the calculated score from a plurality of threshold values used by the score calculation unit 203 (step S104).
  • the anonymized data specifying unit 205 determines whether or not the combination specified by the combination specifying unit 206 includes a plurality of attributes (step S207).
  • the anonymized data specifying unit 205 determines that the combination specified by the combination specifying unit 206 includes a plurality of attributes (“Yes” in step S207), the anonymized data specifying unit 205 has each attribute as data to be updated to a common attribute. Data is specified (step S208). And the process of the anonymization parameter
  • the anonymization index determination device 200 is an attribute for which the number of data having a certain attribute or the sum of the number of data having any one of a plurality of attributes is equal to or greater than a threshold value. Identify combinations. And the anonymization parameter
  • the calculated change rate indicates the probability that the data before anonymization is estimated from the anonymized data. That is, data with a large change rate has a large ratio between the attributes of the number of data before and after the anonymization process. Therefore, data with a large rate of change has a low probability that the data before being anonymized is inferred. On the other hand, data with a small change rate has a small change in the ratio between the attributes of the number of data before and after the anonymization process. Therefore, data with a small rate of change has a high probability that the data before being anonymized is inferred.
  • the anonymization index determination device 200 calculates a score for specifying the anonymization index based on the probability that the data before being anonymized is estimated.
  • FIG. 16 is a block diagram illustrating an example of the configuration of the anonymization index determination device 300 according to the third embodiment.
  • an anonymization index determination device 300 according to the third exemplary embodiment includes a data management unit 101, a data number specification unit 102, a score calculation unit 303, a threshold specification unit 104, and anonymized data specification.
  • the anonymization index determination device 300 in the third embodiment is anonymized based on the information loss and the rate of change calculated using the same method as the anonymization index determination device 200 in the second embodiment. A score for specifying the index is calculated.
  • Information loss is information indicating the amount of information lost due to anonymization processing.
  • the anonymization index determination device 300 according to the third embodiment guarantees anonymity of data, and based on the amount of information lost for the anonymization process, the anonymization index used for the anonymization process Is identified.
  • the anonymization index determination device 300 according to the third embodiment has an increased possibility that the number of data included in a predetermined group increases and decreases with time, and the data before being anonymized is highly likely to be inferred. Appropriate index values for guaranteeing data anonymity can be identified. Furthermore, the anonymization index determination apparatus 300 according to the third embodiment can specify an appropriate index value that reduces the amount of information lost due to the anonymization process.
  • each component included in the anonymization index determination device 300 according to the third embodiment will be described.
  • Information loss is information indicating the amount of information lost due to anonymization processing applied to the combination, which is estimated based on the combination including a plurality of attributes among the combinations specified by the combination specifying unit 206.
  • the information loss calculated with respect to the threshold value k is information indicating the amount of information lost for anonymization processing for guaranteeing k-anonymity with respect to the predetermined threshold value k.
  • the information loss is, for example, the number of data of data having an attribute specified by a combination including a plurality of attributes among the combinations specified by the combination specifying unit 206 in the number of data of data managed by the data management unit 101.
  • Information indicating an estimated amount of information based on the sum ratio may be used.
  • the score calculation unit 303 calculates an information loss for each of a plurality of thresholds based on the calculation method represented by the following [Equation 11] and [Equation 12].
  • [Equation 11] the meaning of each symbol is as follows.
  • IL (k) is an information loss at the threshold value k.
  • T is a predetermined time. In this case, T is time t 0 , T 1 , T 2 , T 3 including. t is each time included in T, that is, time t 0 , T 1 , T 2 , T 3 It is.
  • d k (T) is a function indicating the sum of the numbers of data having attributes specified by a combination including a plurality of attributes.
  • d k (T) is a function calculated using the method represented by [Equation 12].
  • N (t) is the total number of data managed by the data management unit 101 at time t.
  • the meaning of each symbol is as follows. “attr” indicates an attribute.
  • d (attr, t) is a set of data having the attribute attr at time t.
  • C (t) is a combination at time t.
  • count (C (t)) is a function for calculating the number of attributes included in the combination C (t).
  • P (t) is a set of combinations C (t) specified by the combination specifying unit 206.
  • [Equation 12] is d k (T) indicates that the sum of the number of data having the attribute attr specified by the combination C (t) including a plurality of attributes.
  • the following is an information loss calculation example for the data shown in FIG.
  • the score calculation unit 303 calculates a change rate for each of a plurality of thresholds based on the same method as the processing of the score calculation unit 203 in the second embodiment. And the score calculation part 303 calculates privacy loss PL (k) for every some threshold value based on the above-mentioned change rate. The score calculation unit 303 calculates an information loss for each of the plurality of threshold values. And the score calculation part 303 calculates a score for every some threshold value based on the calculated information loss and privacy loss.
  • the score calculation unit 303 calculates a score for each of a plurality of thresholds based on the method shown in [Equation 17] below.
  • ⁇ 1 , ⁇ 2 , ⁇ 1 , And ⁇ 2 Are arbitrary constants.
  • the score calculation unit 303 may calculate an information loss for each of a plurality of thresholds based on the above-described abstraction tree.
  • the score calculation unit 303 may calculate an information loss based on the following steps. First, the score calculation unit 303 identifies a node to which each attribute included in the combination C (t) corresponds in the above-described abstraction tree. Second, the score calculation unit 303 identifies nodes that are all superordinate concepts (parents or tree roots) of the nodes in the abstract tree of each identified attribute. Thirdly, the score calculation unit 303 calculates the difference in the hierarchy up to the above-described superordinate node for each node in the abstract tree of each identified attribute. This difference indicates the difference in the abstraction level of the data attribute before and after the abstraction process. The greater the difference, the greater the level of abstraction and the greater the amount of information loss.
  • the score calculation unit 303 identifies the node on the abstraction tree to which each attribute corresponds. . And the score calculation part 303 specifies the node which is all the high-order concepts of each specified node. In the example of FIG. 4, the score calculation unit 303 identifies the attribute “Tokyo special ward” as a node that is the above-described superordinate concept.
  • the score calculation unit 303 calculates the difference in hierarchy between the node corresponding to each attribute included in the combination C (t) and the node “Tokyo special ward”, which is the above-described superordinate concept. Referring to FIG. 4, the score calculation unit 303 calculates the difference in hierarchy between “Jiyugaoka” and “Tokyo special ward” as “2”. Further, the score calculation unit 303 calculates the difference in hierarchy between “Nakameguro” and “Tokyo special ward” as “2”. The score calculation unit 303 calculates the difference in hierarchy between “Minato Ward” and “Tokyo Special Ward” as “1”.
  • the score calculation unit 303 is data having an attribute specified by a combination including a plurality of attributes among the combinations specified by the combination specifying unit 206 in the number of data of data managed by the data management unit 101.
  • the information loss is calculated based on the ratio of the sum of the number of data and the above-described difference in the hierarchy.
  • the score calculation unit 303 calculates the information loss based on the calculation method represented by the following [Equation 21] and [Equation 22].
  • [Equation 21] the meaning of each symbol is as follows.
  • IL (k) is an information loss at the threshold value k.
  • T is a predetermined time. In this case, T is, for example, time t 0 , T 1 , T 2 , T 3 including.
  • t is each time included in T, that is, time t 0 , T 1 , T 2 , T 3 It is.
  • d k (T) is a function indicating the sum of the numbers of data having attributes specified by a combination including a plurality of attributes. Specifically, d k (T) is a function calculated using the method represented by [Equation 22].
  • N (t) is the total number of data managed by the data management unit 101 at time t. In [Equation 22], the meaning of each symbol is as follows. “attr” indicates an attribute.
  • d (attr, t) is a set of data having the attribute attr at time t.
  • C (t) is a combination at time t.
  • C (t) is a function for calculating the number of attributes included in the combination C (t).
  • P (t) is a set of combinations C (t) specified by the combination specifying unit 206.
  • ⁇ m (attr, t) is the difference in the hierarchy up to the node indicating all the superordinate concepts of each node in the abstract tree corresponding to each attribute included in C (t) including the attribute attr.
  • [Equation 22] is d k (T) is the sum of the number of data of the data having the attribute attr specified by the combination C (t) including a plurality of attributes, and the difference in the abstraction level of the attribute of the data having the attribute attr before and after the abstraction process , The product of.
  • the score calculation unit 303 is data data having an attribute specified by a combination including a plurality of attributes in the combination specified by the combination specifying unit 206 in the data number of data managed by the data management unit 101.
  • the ratio of the sum of numbers was used.
  • the score calculation unit 303 may not be based on this ratio.
  • the score calculation unit 303 may calculate an information loss for each of a plurality of thresholds based on the above-described abstraction tree.
  • the score calculation unit 303 calculates the information loss based on, for example, the calculation method represented by the following [Equation 23] and [Equation 24].
  • the data number identification unit 102 identifies the number of data having the attribute for each attribute (step S101).
  • the score calculation unit 303 identifies an attribute (calculation target attribute) that satisfies the following two conditions with respect to a certain threshold value k among a plurality of threshold values (step S201).
  • the first condition is that the number of data having the attribute is equal to or greater than a certain threshold at the first time.
  • the second condition is that the value falls below the threshold at a second time when a unit time has elapsed from the first time.
  • the score calculation unit 303 passes the threshold value k to the combination specifying unit 206.
  • the combination specifying unit 206 specifies a combination of attributes for which the sum of the number of data having a certain attribute or the number of data having any one of the plurality of attributes is equal to or greater than the threshold k for the threshold k. (Step S202).
  • the combination specifying unit 206 may specify a combination that minimizes the number of data corresponding to a combination including a plurality of attributes.
  • the score calculation unit 303 specifies a combination including the calculation target attribute specified in step S201 from the combinations specified by the combination specifying unit 206 (step S203). Then, for each attribute included in the combination, the score calculation unit 303 accounts for the ratio of the number of data of the data including the calculation target attribute in the sum of the number of data of the data having each attribute included in the specified combination.
  • a change rate is obtained (step S204).
  • the score calculation unit 303 calculates the privacy loss for the threshold value k using the change rate described above (step S301).
  • the score calculation unit 303 calculates an information loss with respect to the threshold value k (step S302).
  • the score calculation unit 303 determines whether calculation target attributes have been specified for all of the plurality of thresholds (step S303). When the score calculation unit 303 determines that there is a threshold that does not specify the calculation target attribute (“No” in step S303), the process of the anonymization index determination device 300 returns to step S201.
  • step S303 calculates a score for each threshold based on the privacy loss calculated in step S301 and the information loss calculated in step S302 (step S304).
  • the threshold specifying unit 104 specifies an anonymization index that is one threshold specified based on the calculated score from the plurality of thresholds used by the score calculating unit 303 (step S104).
  • the anonymized data specifying unit 205 determines whether or not the combination specified by the combination specifying unit 206 includes a plurality of attributes (step S207).
  • the anonymized data specifying unit 205 determines that the combination specified by the combination specifying unit 206 includes a plurality of attributes (“Yes” in step S207), the anonymized data specifying unit 205 includes data having each attribute. Is specified as data to be updated to a common attribute (step S208). And the process of the anonymization parameter
  • the anonymization data specifying unit 205 determines that the combination specified by the combination specifying unit 206 does not include a plurality of attributes (“No” in step S207)
  • the anonymization index determination device 300 in the third embodiment is anonymous based on the information loss and the rate of change calculated using the same method as the anonymization index determination device 200 in the second embodiment. A score for specifying the conversion index is calculated.
  • Information loss is information indicating the amount of information lost due to anonymization processing.
  • the anonymization index determination device 300 according to the third embodiment guarantees anonymity of data, and based on the amount of information lost for the anonymization process, the anonymization index used for the anonymization process Is identified.
  • the anonymization index determination device 300 increases or decreases the number of data included in a predetermined group with time, and even when the data before anonymization is highly likely to be analogized. And an appropriate index value for guaranteeing the anonymity of the data can be specified. Furthermore, the anonymization index determination apparatus 300 according to the third embodiment can specify an appropriate index value that reduces the amount of information lost due to the anonymization process.
  • the score calculation unit 303 calculates an information loss when global recoding is applied as an anonymization method. The score calculation unit 303 may calculate a score based on information loss when local recoding is applied as anonymization processing.
  • 14 data including 10 pieces of data having attribute A and 4 pieces of data having attribute B are: Anonymization processing is performed (pattern 1). Therefore, the score calculation unit 303 sets the above-described 14 data as information loss calculation targets as data to be anonymized.
  • Combination C 2 (T) includes one piece of data having attribute A and four pieces of data having attribute B.
  • the number of data having one attribute is 5 or more which is a threshold value.
  • the number of data having the attribute A + B is 14.
  • the score calculation unit 303 calculates an information loss in the case of pattern 1 and an information loss in the case of pattern 2. Then, the score calculation unit 303 compares the calculation results.
  • the score calculation unit 303 calculates each information loss by using the method shown in [Expression 11] and [Expression 12].
  • the anonymized data specifying unit 205 sets data to be updated to a common attribute based on the combination of which the score calculation unit 303 has changed the configuration. Identify.
  • the score calculation unit 303 may calculate an information loss for each combination specified by the combination specifying unit 206.
  • the score calculation part 303 may determine which information loss of each global recoding and local recoding is small for every combination.
  • the anonymization index determination device 300 according to the fourth embodiment is based on the number of data that does not satisfy k-anonymity and the number of data that satisfies k-anonymity. Change the composition of the data combination to be selected. Therefore, the anonymization index determination device 300 in the fourth embodiment has the same effect as the anonymization index determination device 300 in the third embodiment, and the amount of information lost due to the anonymization process is Further, an appropriate index value to be reduced can be specified.
  • An example of the effect of the present invention is that an appropriate index value for guaranteeing anonymity of data can be specified even when the number of data included in a predetermined group increases or decreases with time.
  • each component in each embodiment of the present invention can be realized by a computer and a program as well as its function in hardware.
  • the program is provided by being recorded on a computer-readable recording medium such as a magnetic disk or a semiconductor memory, and is read by the computer when the computer is started up.
  • the read program controls the operation of the computer and causes the computer to function as a component in each of the embodiments described above.
  • the anonymization index determination device can be applied to a sensitive data management system in which the number of data managed with time increases or decreases.
  • Anonymization process execution system 100, 200, 300 Anonymization index determination apparatus 101 Data management part 102 Data number specification part 103, 203, 303 Score calculation part 104 Threshold value specification part 105, 205 Anonymization data specification part 111 Anonymization execution part 112 Anonymized data storage unit 191 CPU 192 Communication I / F 193 Memory 194 Storage device 195 Input device 196 Output device 197 Bus 198 Recording medium 206 Combination specifying unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

 時間とともに所定のグループに含まれるデータのデータ数が増減する場合でもデータの匿名性を保証する、適切な指標値を特定する。 匿名化指標決定装置は、属性を有するデータにおいて、属性ごとに、所定の時間の各時刻における、その属性を有するデータのデータ数を特定し、一の属性を有するデータのデータ数が、第一の時刻で、ある閾値以上であり、かつ第二の時刻でその閾値未満である回数を閾値毎に算出し、その回数に基づいて閾値毎のスコアを算出し、そのスコアに基づいて特定される閾値である匿名化指標を特定し、ある一の属性を有するデータのデータ数が匿名化指標より少なく、かつ、そのデータ数と一つ以上の他の属性を有するデータのデータ数との和が匿名化指標以上である場合に、共通する属性に更新するデータとして一の属性および前述の他の属性を有するデータを特定する。

Description

匿名化指標決定装置及び方法、並びに匿名化処理実行システム及び方法
 本発明は、データの匿名化処理のために用いられる指標の適切な値を決定する技術に関する。
 個人情報のようなデータの少なくとも一部の情報を匿名化(anonymization)することで、匿名性とデータの有用性とを両立させる技術が知られている。匿名化とは、個人を特定しうる情報を加工し、個人を特定できない情報に更新することである。
 例えば、特許文献1に記載された技術は、データが有する所定の属性毎に、データをグループ化する。そして、当該技術は、グループ化後、そのグループに含まれるデータのデータ数が所定の閾値を下回るか否かに基づいて、匿名化処理を行うか否か判定する。
特開2010−086179号公報
 しかし、特許文献1に記載された技術は、以下の問題点がある。すなわち、特許文献1に記載された技術は、グループに含まれるデータのデータ数が閾値を挟んで増減した場合、時刻に応じてグループに含まれるデータが匿名化されたり匿名化されなかったりする。かかる場合において、特許文献1に記載された技術は、その閾値を変更しない。つまり、特許文献1に記載された技術は、あるデータの匿名化処理がされなかった時刻におけるそのデータの内容に基づいて、そのデータの匿名化処理がされた時刻におけるそのデータの内容が推測されてしまう。したがって、特許文献1に記載された技術は、時間とともに所定のグループに含まれるデータのデータ数が増減する場合、そのデータの匿名性を保証するための適切な指標値(例えば、閾値)を特定できない。
 本発明の目的の一つは、時間とともに所定のグループに含まれるデータのデータ数が増減する場合でも、データの匿名性を保証するための適切な指標値を特定できる匿名化指標決定装置、匿名化処理実行システム、匿名化指標決定方法、および匿名化処理実行方法を提供することにある。
 本発明の一形態における第一の匿名化指標決定装置は、属性を有するデータを管理するデータ管理手段と、前記データにおいて、属性ごとに、所定の時間の各時刻における、その属性を有するデータのデータ数を特定するデータ数特定手段と、複数の閾値に対して、一つの属性を有するデータのデータ数が、第一の時刻で当該閾値以上であり、かつ当該第一の時刻から単位時間経過した第二の時刻で当該閾値未満である回数を算出し、当該回数に基づいて閾値ごとのスコアを算出するスコア算出手段と、前記の複数の閾値から、前記スコアに基づいて特定される一の閾値である匿名化指標を特定する閾値特定手段と、前記管理されるデータの中の一の属性を有するデータのデータ数が前記匿名化指標より少なく、かつ、当該データ数と少なくとも一以上の他の属性を有するデータのデータ数との和が前記匿名化指標以上である場合に、共通する属性に更新するデータとして、当該一の属性および当該他の属性を有するデータを特定する匿名化データ特定手段と、を含む。
 本発明の一形態における第一の匿名化処理実行システムは、属性を有するデータを管理するデータ管理手段と、前記データにおいて、属性ごとに、所定の時間の各時刻における、その属性を有するデータのデータ数を特定するデータ数特定手段と、複数の閾値に対して、一つの属性を有するデータのデータ数が、第一の時刻で当該閾値以上であり、かつ当該第一の時刻から単位時間経過した第二の時刻で当該閾値未満である回数を算出し、当該回数に基づいて閾値ごとのスコアを算出するスコア算出手段と、前記の複数の閾値から、前記スコアに基づいて特定される一の閾値である匿名化指標を特定する閾値特定手段と、前記管理されるデータの中の一の属性を有するデータのデータ数が前記匿名化指標より少なく、かつ、当該データ数と少なくとも一以上の他の属性を有するデータのデータ数との和が前記匿名化指標以上である場合に、共通する属性に更新するデータとして、当該一の属性および当該他の属性を有するデータを特定する匿名化データ特定手段と、を含む匿名化指標決定装置と、前記匿名化データ特定手段が特定したデータを前記共通する属性に更新する匿名化実行手段と、前記匿名化実行手段が更新したデータを記憶する匿名化後データ記憶手段と、を含む。
 本発明の一形態における第一の匿名化指標決定方法は、属性を有するデータを管理し、前記データにおいて、属性ごとに、所定の時間の各時刻における、その属性を有するデータのデータ数を特定し、複数の閾値に対して、一つの属性を有するデータのデータ数が、第一の時刻で当該閾値以上であり、かつ当該第一の時刻から単位時間経過した第二の時刻で当該閾値未満である回数を算出し、当該回数に基づいて閾値ごとのスコアを算出し、前記の複数の閾値から、前記スコアに基づいて特定される一の閾値である匿名化指標を特定し、前記管理されるデータの中の一の属性を有するデータのデータ数が前記匿名化指標より少なく、かつ、当該データ数と少なくとも一以上の他の属性を有するデータのデータ数との和が前記匿名化指標以上である場合に、共通する属性に更新するデータとして、当該一の属性および当該他の属性を有するデータを特定する。
 本発明の一形態における第一の匿名化処理実行方法は、属性を有するデータを管理し、前記データにおいて、属性ごとに、所定の時間の各時刻における、その属性を有するデータのデータ数を特定し、複数の閾値に対して、一つの属性を有するデータのデータ数が、第一の時刻で当該閾値以上であり、かつ当該第一の時刻から単位時間経過した第二の時刻で当該閾値未満である回数を算出し、当該回数に基づいて閾値ごとのスコアを算出し、前記の複数の閾値から、前記スコアに基づいて特定される一の閾値である匿名化指標を特定し、前記管理されるデータの中の一の属性を有するデータのデータ数が前記匿名化指標より少なく、かつ、当該データ数と少なくとも一以上の他の属性を有するデータのデータ数との和が前記匿名化指標以上である場合に、共通する属性に更新するデータとして、当該一の属性および当該他の属性を有するデータを、特定し、前記特定されたデータを前記共通する属性に更新し、前記更新されたデータを記憶する。
 本発明の一形態における第一の匿名化指標決定プログラムは、コンピュータに、属性を有するデータを管理する処理と、前記データにおいて、属性ごとに、所定の時間の各時刻における、その属性を有するデータのデータ数を特定する処理と、複数の閾値に対して、一つの属性を有するデータのデータ数が、第一の時刻で当該閾値以上であり、かつ当該第一の時刻から単位時間経過した第二の時刻で当該閾値未満である回数を算出し、当該回数に基づいて閾値ごとのスコアを算出する処理と、前記複数の閾値から、前記スコアに基づいて特定される一の閾値である匿名化指標を特定する処理と、前記管理されるデータの中の一の属性を有するデータのデータ数が前記匿名化指標より少なく、かつ、当該データ数と少なくとも一以上の他の属性を有するデータのデータ数との和が前記匿名化指標以上である場合に、共通する属性に更新するデータとして、当該一の属性および当該他の属性を有するデータを特定する処理と、を実行させる。
 本発明の効果の一例は、時間とともに所定のグループに含まれるデータのデータ数が増減する場合でも、データの匿名性を保証するための適切な指標値を特定できることである。
図1は、本発明における、第一の実施の形態における匿名化指標決定装置の構成を示すブロック図である。 図2は、データ管理部が管理するデータの一例を示す図である。 図3は、データ管理部が記憶するデータのデータ数の一例を示す図である。 図4は、抽象化ツリーの一例を示す図である。 図5は、第一の実施の形態における匿名化指標決定装置とその周辺装置とのハードウェア構成を示す図である。 図6は、第一の実施の形態における匿名化指標決定装置の動作の概要を示すフローチャートである。 図7は、第一の実施の形態の第一の変形例における匿名化指標決定装置の構成を示すブロック図である。 図8は、データ管理部が記憶する情報の一例を示す図である。 図9は、第一の実施の形態の第一の変形例における匿名化指標決定装置の構成を示すブロック図である。 図10は、匿名化処理実行システムの構成を示すブロック図である。 図11は、第一の実施の形態の第一の変形例における匿名化処理実行システムの動作の概要を示すフローチャートである。 図12は、第二の実施の形態における匿名化指標決定装置の構成を示すブロック図である。 図13は、第二の実施の形態において閾値k=5のときの組み合わせ特定部の処理の一例を示す図である。 図14は、第二の実施の形態において閾値k=5のときの組み合わせ特定部の処理の一例を示す図である。 図15は、第二の実施の形態における匿名化指標決定装置の動作の概要を示すフローチャートである。 図16は、第三の実施の形態における匿名化指標決定装置の構成を示すブロック図である。 図17は、第三の実施の形態における匿名化指標決定装置の動作の概要を示すフローチャートである。 図18は、第三の実施の形態において閾値k=5、属性Aのデータのデータ数が10、および属性Bのデータのデータ数が4の場合における、スコア算出部の動作の一例を示す図である。
 本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図面および明細書記載の各実施の形態において、同様の機能を備える構成要素には同様の符号が与えられ、その詳細な説明の繰り返しを省略する場合がある。
 [第一の実施の形態]
 図1は、本発明における第一の実施の形態における匿名化指標決定装置100の構成の一例を示すブロック図である。図1を参照すると、匿名化指標決定装置100は、データ管理部101と、データ数特定部102と、スコア算出部103と、閾値特定部104と、匿名化データ特定部105とを含む。
 第一の実施の形態における匿名化指標決定装置100は、属性ごとに、所定の時間の各時刻における、その属性を有するデータのデータ数を特定する。そして、匿名化指標決定装置100は、複数の閾値に対して、特定したデータ数が、第一の時刻で閾値以上であり、かつ、その第一の時刻から単位時間経過した第二の時刻でその閾値を下回る回数を、算出する。そして、匿名化指標決定装置100は、算出した回数に基づいてスコアを算出する。そして、匿名化指標決定装置100は、前述の複数の閾値から、算出したスコアに基づいて特定される一の閾値である匿名化指標を特定する。匿名化指標決定装置100は、ある属性(一の属性)を有するデータのデータ数がこの匿名化指標より少なく、かつ、その属性(一の属性)を有するデータのデータ数と少なくとも一つ以上の他の属性を有するデータのデータ数との和がその匿名化指標以上である場合に、共通する属性に更新するデータとして、一の属性および他の属性を有するデータを特定する。
 ここまでの説明のように、第一の実施の形態における匿名化指標決定装置100は、ある閾値を挟んでデータ数が増減した回数に基づいて、匿名化指標を特定する。そして、匿名化指標決定装置100は、匿名化指標を基に、共通する属性に更新するデータとして、一の属性および他の属性を有するデータを特定する。
 よって、第一の実施の形態における匿名化指標決定装置100は、時間とともに所定のグループに含まれるデータのデータ数が増減する場合でも、そのデータの匿名性を保証するための適切な指標値(匿名化指標)を特定できる。具体的には、第一の実施の形態における匿名化指標決定装置100は、算出される回数から算出したスコアを基に、閾値から匿名化指標を特定できる。そして、匿名化指標決定装置100は、匿名化指標を基に、共通する属性に更新するデータとして、一の属性および他の属性を有するデータを特定できる。したがって、匿名化指標決定装置100は、前述の効果を奏することができる。
 以下、第一の実施の形態における匿名化指標決定装置100が含む各構成要素について説明する。
 ===データ管理部101===
 データ管理部101は、属性を有するデータを管理する。
 属性とは、例えば、準識別子(quasi−identifier)である。準識別子とは、それらが組み合わされると、個人を特定する恐れがある情報である。
 図2は、データ管理部101が管理するデータの一例を示す図である。図2を参照すると、データ管理部101は、所定の時間(例えばtおよびt)の各時刻における、少なくとも一種類以上の属性とセンシティブデータとを対応付けて記憶する。図2で示される属性の種類は、「居住地」と「性別」との二種類である。センシティブデータとは、特に取り扱いに配慮が必要な個人情報である。なお、図2に示すセンシティブデータは、例示である。データ管理部101が管理するデータは、属性と、1つまたは複数の情報とが対応づけされていればよい。
 以下の本実施形態の説明では、データが有する属性の種類を一つ(属性の種類「居住地」)として説明するが、本実施形態は、これに限られない。例えば、図2に示すように、データが有する属性の種類が複数ある場合、本実施形態の匿名化指標決定装置100は、各種類の属性の値の組を一つの属性とみなして、以降での説明の動作を処理すればよい。例えば、匿名化指標決定装置100は、属性の種類「居住地」の属性「自由が丘」、および、属性の種類「性別」の属性「女性」の組「自由が丘,女性」を一つの属性とみなし、以降の説明の動作を処理すればよい。
 データ管理部101は、例えば、後述のデータ数特定部102から、属性ごとのデータのデータ数を示す情報を受け取り、記憶してもよい。図3は、データ管理部101がデータ数特定部102から受け取る情報の一例を示す図である。図3を参照すると、データ管理部101は、所定の時間(例えばtからtまでの間)の各時刻(例えば、t、t、t、およびt)において管理しているデータのデータ数を、属性ごとに記憶する。
 ===データ数特定部102===
 データ数特定部102は、データ管理部101が管理するデータにおける、データが有する属性ごとに、所定の時間の各時刻における、その属性を有するデータの「データ数」を特定する。
 例えば、図2に示されるデータがデータ管理部101に管理されている場合、データ数特定部102は、図3に示すように、時刻tにおいて、属性「自由が丘」を有するデータのデータ数が5個、属性「緑が丘」を有するデータのデータ数が5個であると、特定する。
 ===スコア算出部103===
 スコア算出部103は、複数の閾値に対して、データ数特定部102が属性ごとに特定したデータのデータ数が、第一の時刻で、ある閾値以上であり、かつその第一の時刻から単位時間経過した第二の時刻でその閾値未満である回数を算出する。
 複数の閾値とは、例えば、0以上であり、前述の回数が0となる最小の値以下の範囲で任意に選択された異なる値を持つ閾値である。
 例えば、複数の閾値の一つの閾値kがk=5であった場合を考える。また、データ数特定部102が属性ごとに特定したデータのデータ数は、図3に示される数であると仮定する。
 時刻tのとき、属性「自由が丘」、および「緑が丘」を有するデータのデータ数は、ともに、閾値k(=5)以上である。つまり、時刻tは、第一の時刻に相当する。そして、時刻tから単位時間経過した時刻tのとき、属性「自由が丘」、および「緑が丘」を有するデータのデータ数は、ともに、閾値k(=5)未満である。つまり、時刻tは、第一の時刻tから単位時間経過した第二の時刻に相当する。同様に、時刻t(第一の時刻に相当)のとき、属性「自由が丘」、および「緑が丘」を有するデータのデータ数は、ともに、閾値k(=5)以上である。そして、時刻t(第一の時刻から単位時間経過した第二の時刻に相当)のとき、属性「自由が丘」、および「緑が丘」を有するデータのデータ数は、ともに、閾値k(=5)未満である。
 したがって、この場合、スコア算出部103は、前述の回数を2回と算出する。なお、スコア算出部103は、属性ごとの回数を算出して、合算してもよい。例えば、図3に示される数の場合、スコア算出部103は、前述の回数を4回と算出してもよい。
 同様に、閾値kがk=6の場合、スコア算出部103は、前述の回数を1回と算出する。そして、閾値kがk=7の場合、スコア算出部103は、前述の回数を0回と算出する。
 さらに、スコア算出部103は、前述の回数に基づいてスコアを算出する。このスコアは、後述の匿名化指標を特定するために用いられる値である。
 本実施形態のスコア算出部103が用いるスコアの計算方法は、特に限られず、いろいろな計算方法を用いることができる。
 スコア算出部103は、例えば、次の[数1]に示される計算方法に基づいてスコアSc(k)を算出してもよい。
Figure JPOXMLDOC01-appb-M000001
 [数1]において、n(k)は、閾値がkのときに、スコア算出部103が算出した前述の回数である。
 データが複数の種類の属性を有する場合、スコア算出部103は、閾値ごとに、属性の種類ごとのスコアを算出し、算出したスコアを合算してもよい。例えば、スコア算出部103は、[数2]に示される計算方法に基づいて、閾値ごとに、各属性の種類におけるスコアを合算してもよい。
Figure JPOXMLDOC01-appb-M000002
 [数2]において、Xは属性の種類の集合、typeは属性の種類である。また、Sctype(k)は、属性の種類「type」および閾値kにおけるスコアである。Sc(k)は、属性ごとに、スコア算出部103が算出するスコアである。
 ===閾値特定部104===
 閾値特定部104は、スコア算出部103が用いた複数の閾値の中から、スコア算出部103が算出したスコアに基づいて特定される一つの閾値である匿名化指標を特定する。
 例えば、スコアSc(k)が前述の[数1]を用いて求められる場合、閾値特定部104は、算出されたスコアSc(k)が0を除いて最小となる閾値kを匿名化指標として特定してもよい。なお、算出されたスコアSc(k)が最小となる閾値kが複数ある場合、閾値特定部104は、いずれの閾値kを特定してもよい。ただし、本実施形態の閾値特定部104は、一例として、スコアSc(k)が最小である複数の閾値の中で、最小のkを匿名化指標として特定する。
 また、スコアが他の方法で算出される場合、閾値特定部104は、算出されたスコアSc(k)が最大となる閾値kを匿名化指標として特定してもよい。算出されたスコアSc(k)が最大となる閾値kが複数ある場合、閾値特定部104は、上の説明と同様に、複数の閾値の中から所定の規則に従い閾値k(例えば、最小のkまたは最大のk)を匿名化指標として特定すればよい。
 ===匿名化データ特定部105===
 匿名化データ特定部105は、データ管理部101が管理するデータについて、以下の二条件を判定する。第一の条件は、一の属性を有するデータのデータ数が、閾値特定部104が特定した匿名化指標より少ないこと、である。第二の条件は、前述の一の属性を有するデータのデータ数と少なくとも一つ以上の他の属性を有するデータのデータ数との和が前述の匿名化指標以上となること、である。これらの二条件を満たす前述の「一の属性」は、本明細書において、「対象属性」とも呼ばれる。
 匿名化データ特定部105は、共通する属性に更新するデータとして、前述の二条件を満たす前述の対象属性(一の属性)および前述の他の属性を有するデータを特定する。前述の二条件を満たす対象属性が複数ある場合、匿名化データ特定部105は、各対象属性に対応するデータおよび他の属性を有するデータを、それぞれ、共通する属性に更新するデータとして特定してもよい。
 例えば、対象属性「緑が丘」と他の属性「自由が丘」、および、対象属性「戸山」と他の属性「大久保」のそれぞれが、前述の二条件を満たすとする。この場合、匿名化データ特定部105は、以下のように、共通する属性に更新するデータを特定する。
 まず、匿名化データ特定部105は、属性「緑が丘」および属性「自由が丘」を有するデータを、一の共通する属性(例えば属性「緑が丘」および属性「自由が丘」の上位概念を示す属性「目黒区」)に更新するデータとして特定する。また、匿名化データ特定部105は、属性「戸山」および属性「大久保」を有するデータを、一の共通する属性(例えば属性「戸山」および属性「大久保」の上位概念を示す属性「新宿区」)に更新するデータとして特定する。
 また、匿名化データ特定部105は、属性間の関連性を示す情報を基に、他の属性を特定してもよい。属性間の関連性を示す情報は、特に限られない。例えば、匿名化データ特定部105は、抽象化ツリーを用いていてもよい。抽象化ツリーを用いる場合、匿名化データ特定部105は、例えば、以下の通りに動作してもよい。
 第一に、匿名化データ特定部105は、前述の第一の条件に基づいて一の属性を特定する。
 第二に、匿名化データ特定部105は、抽象化ツリーに基づいて、他の属性の候補を特定する。
 なお、抽象化ツリーとは、属性間の階層関係を示すツリー構造を備えた情報である。図4は、抽象化ツリーの一例を示す図である。図4を参照すると、属性「目黒区」は、属性「自由が丘」および「中目黒」の上位概念である。そのため、匿名化データ特定部105は、一の属性として属性「自由が丘」を特定した場合、属性「自由が丘」と共通の上位概念「目黒区」を上位概念とする属性「中目黒」を、他の属性の候補として特定する。なお、図4に示す例は、他の属性が一つである。そのため、匿名化データ特定部105は、他の属性の候補として属性「中目黒」を特定する。しかし、複数の属性が特定された場合、匿名化データ特定部105は、特定された複数の属性を、他の属性の候補として特定してもよい。
 属性間の関連性を示す情報(例えば、抽象化ツリー)は、匿名化データ特定部105に記憶されてもよいし、他の構成要素に記憶されてもよい。
 第三に、匿名化データ特定部105は、他の属性の候補のそれぞれについて、前述の一の属性に対して前述の第二の条件を満たすか否かを判定する。そして、判定に基づいて、匿名化データ特定部105は、前述の他の属性の候補の中から第二の条件を満たす他の属性を特定する。例えば、図4の例の場合、一の属性が属性「自由が丘」とすると、他の属性は、「中目黒」と特定される。
 第四に、匿名化データ特定部105は、共通する属性に更新するデータとして、前述の一の属性および第三の処理にて特定した他の属性を有するデータを特定する。共通する属性とは、例えば、各属性に共通する上位概念を示す属性である。図4の例の場合、匿名化データ特定部105は、属性「目黒区」に更新するデータとして、属性「自由が丘」および「中目黒」を有するデータを特定する。なお、一の属性および第三の処理にて特定された他の属性の間で階層関係が存在する場合、共通する属性は、前述の各属性の中の上位概念を示す属性でもよい。例えば、図4に示す一の属性が属性「自由が丘」であり、他の属性が「目黒区」である場合、匿名化データ特定部105は、属性「目黒区」に更新されるデータとして、属性「自由が丘」および「目黒区」を有するデータを特定してもよい。
 匿名化データ特定部105が特定したデータが、共通する属性に更新されると、データ管理部101が管理するデータは、匿名化指標をkとするk−匿名性(k−Anonymity)が担保される。
 k−匿名性とは、あるデータに対して少なくとも他のk−1個のデータと区別できないことを保証する性質である。すなわち、k−匿名性が満たされている場合、同じ準識別子(属性)を有するデータは、k個以上存在する。
 以上の説明の処理を基に、匿名化データ特定部105は、k−匿名性を保証するための匿名化の処理の対象のデータを特定する。
 図5は、本発明の第一の実施の形態における匿名化指標決定装置100とその周辺装置とのハードウェア構成の一例を示す図である。図5に示されるように、匿名化指標決定装置100は、CPU191(Central Processing Unit 191)、ネットワーク接続用の通信I/F192(通信インターフェース192)、メモリ193、および、プログラムを格納するハードディスク等の記憶装置194を含む。また、匿名化指標決定装置100は、バス197を介して、入力装置195および出力装置196と接続する。
 CPU191は、オペレーティングシステムを動作させて本発明の第一の実施の形態に係る匿名化指標決定装置100の全体を制御する。また、CPU191は、例えば、図示しないドライブ装置に装着された図示しない記録媒体198からメモリ193にプログラムやデータを読み出す。そして、CPU191は、このプログラムにしたがって、第一の実施の形態におけるデータ管理部101、データ数特定部102、スコア算出部103、閾値特定部104、および、匿名化データ特定部105として、各種の処理を実行する。
 記憶装置194は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、または、半導体メモリであって、コンピュータ読み取り可能にコンピュータプログラムを記録する。また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされてもよい。データ管理部101は、記憶装置194を用いて実現されてもよい。
 入力装置195は、例えば、マウスやキーボード、内蔵のキーボタンで実現され、入力操作に用いられる。入力装置195は、マウスやキーボード、内蔵のキーボタンに限らず、例えば、タッチパネル、加速度計、ジャイロセンサ、カメラでもよい。
 出力装置196は、例えば、ディスプレイで実現され、出力を確認するために用いられる。
 なお、第一の実施の形態の説明において利用されるブロック図(図1)は、ハードウェア単位の構成ではなく、機能単位のブロックを示す。これらの機能ブロックは、図5に示されるハードウェア構成を用いて実現される。ただし、匿名化指標決定装置100が含む各部の実現手段は、特に限定されない。すなわち、匿名化指標決定装置100は、物理的に結合した一つの装置を用いて実現されてもよいし、物理的に分離した二つ以上の装置を有線または無線で接続し、これら複数の装置を用いて実現されてもよい。
 また、CPU191は、記憶装置194に記録されているコンピュータプログラムを読み込み、そのプログラムにしたがって、データ管理部101、データ数特定部102、スコア算出部103、閾値特定部104、および、匿名化データ特定部105として動作してもよい。
 また、既に説明したが、前述のプログラムのコードを記録した図示しない記録媒体198(または他の記憶媒体)が、匿名化指標決定装置100に供給され、匿名化指標決定装置100が記録媒体198に格納されたプログラムのコードを読み出し実行してもよい。すなわち、本発明は、第一の実施の形態における匿名化指標決定装置100が実行するためのソフトウェア(匿名化指標決定プログラム)を一時的に記憶するまたは非一時的に記憶する図示しない記録媒体198も含む。
 図6は、第一の実施の形態における匿名化指標決定装置100の動作の概要を示すフローチャートである。
 データ数特定部102は、データ管理部101が管理するデータにおいて、属性ごとに、その属性を有するデータのデータ数を特定する(ステップS101)。
 スコア算出部103は、複数の閾値に対して、データ数特定部102が特定したある属性を有するデータのデータ数が、第一の時刻で、ある閾値以上であり、かつ、その第一の時刻から単位時間経過した第二の時刻でその閾値を下回る回数を算出する(ステップS102)。
 スコア算出部103は、算出された回数に基づいて、閾値ごとのスコアを算出する(ステップS103)。
 閾値特定部104は、前述の複数の閾値の中から、算出されたスコアに基づいて特定される一の閾値である匿名化指標を特定する(ステップS104)。
 匿名化データ特定部105は、データ管理部101が管理しているデータについて、次の二条件を判定する(ステップS105)。第一の条件は、ある一の属性を有するデータのデータ数が、ステップS104にて特定された匿名化指標より少ないことである。第二の条件は、前述の一の属性を有するデータのデータ数と少なくとも一つ以上の他の属性を有するデータのデータ数との和が前述の匿名化指標以上であることである。
 匿名化データ特定部105が、前述の二条件を満たすと判定した場合(ステップS105の“Yes”)、匿名化データ特定部105は、共通する属性に更新するデータとして、前述の一の属性および前述の少なくとも一つ以上の他の属性を有するデータを特定する(ステップS106)。一の属性が複数特定された場合、匿名化データ特定部105は、その一の属性ごとに、ある共通する属性に更新するデータとして、その一の属性と少なくとも一つ以上の他の属性を有するデータを特定する。そして、匿名化指標決定装置100の処理は、終了する。
 一方、匿名化データ特定部105が、データ管理部101が管理するデータについて前述の二条件を満たさないと判定した場合(ステップS105の“No”)、匿名化指標決定装置100の処理は、終了する。
 第一の実施の形態における匿名化指標決定装置100は、属性ごとに、所定の時間の各時刻における、その属性を有するデータのデータ数を特定する。そして、匿名化指標決定装置100は、複数の閾値に対して、特定されたデータ数が、第一の時刻で、ある閾値以上であり、かつ、その第一の時刻から単位時間経過した第二の時刻でその閾値を下回る回数を算出する。そして、匿名化指標決定装置100は、算出した回数に基づいて、スコアを算出する。そして、匿名化指標決定装置100は、前述の複数の閾値の中から、算出したスコアに基づいて特定される一の閾値である匿名化指標を特定する。匿名化指標決定装置100は、一の属性を有するデータのデータ数が匿名化指標より少なく、かつ、その一の属性を有するデータのデータ数と少なくとも一つ以上の他の属性を有するデータのデータ数との和が匿名化指標以上であるか否か(対象属性であるか否か)を判定する。そして、匿名化指標決定装置100は、共通する属性に更新するデータとして、その対象属性および他の属性を有するデータを特定する。
 これまでの説明のように、第一の実施の形態における匿名化指標決定装置100は、ある閾値を挟んでデータ数が増減した回数に基づいて、匿名化指標を特定する。そして、匿名化指標決定装置100は、匿名化指標を基に、共通する属性に更新するデータとして、一の属性および他の属性を有するデータを特定する。
 よって、第一の実施の形態における匿名化指標決定装置100は、時間とともに所定のグループに含まれるデータのデータ数が増減する場合でも、そのデータの匿名性を保証するための適切な指標値(匿名化指標)を特定できる。具体的には、第一の実施の形態における匿名化指標決定装置100は、から算出したスコアを基に、閾値から匿名化指標を特定できる。そして、匿名化指標決定装置100は、匿名化指標を基に、共通する属性に更新するデータとして、一の属性および他の属性を有するデータを特定できる。したがって、匿名化指標決定装置100は、前述の効果を奏することができる。
 [第一の実施の形態の第一の変形例]
 第一の実施の形態において、匿名化指標決定装置100は、匿名化データ特定部105が特定したデータを匿名化する匿名化実行部111と接続されてもよい。図7は、第一の実施の形態の第一の変形例における匿名化指標決定装置100および匿名化実行部111の構成の一例を示すブロック図である。
 ===匿名化実行部111===
 匿名化実行部111は、匿名化データ特定部105が特定したデータを匿名化する。具体的には、匿名化実行部111は、匿名化データ特定部105が特定したデータが有する該当の属性を、共通する属性に更新する。
 例えば、匿名化実行部111は、匿名化データ特定部105が特定したデータが有する該当の属性に共通する上位概念を示す属性に、その該当する属性を更新してもよい。匿名化実行部111は、匿名化データ特定部105から、共通する属性を示す情報を受け取ってもよい。または、匿名化実行部111は、図4に示す抽象化ツリーを記憶し、その抽象化ツリーに基づいて共通する属性を特定してもよい。
 匿名化実行部111は、前述の一の属性を有するデータの全てと、その一の属性に対応する前述の他の属性を有するデータの全てとを、共通する属性に更新してもよい。このような匿名化方法は、「グローバルリコーディング」と呼ばれる。
 また、匿名化実行部111は、前述の一の属性を有するデータの全てと、その一の属性に対応する前述の他の属性を有するデータの一部を、共通する属性に更新してもよい。このような匿名化方法は、「ローカルリコーディング」と呼ばれる。ローカルリコーディングが適用される場合、前述の他の属性を有するデータにおいて、属性が更新されるデータのデータ数は、閾値特定部104が特定した匿名化指標と、前述の一の属性を有するデータのデータ数との差分値である。ローカルリコーディングが適用される場合、匿名化されるデータのデータ数は、グローバルリコーディングの場合より少ない。そのため、ローカルリコーディングの情報量の損失は、グローバルリコーディングの情報量の損失より少ない。
 第一の実施の形態の第一の変形例において、データ管理部101は、匿名化実行部111が匿名化したデータを記憶してもよい。図8は、データ管理部101が記憶する情報の一例を示す図である。図8を参照すると、時刻tにおいて、全てのデータが、匿名化されている。すなわち、時刻tにおける各データが有する属性「自由が丘」および「緑が丘」が、「目黒区」に更新されている。
 第一の実施の形態の第一の変形例において、匿名化指標決定装置100は、匿名化実行部111が匿名化したデータを記憶する匿名化後データ記憶部112と接続してもよい。図9は、第一の実施の形態の第一の変形例における匿名化指標決定装置100、匿名化実行部111、および匿名化後データ記憶部112の構成の一例を示すブロック図である。
 なお、第一の実施の形態において、匿名化指標決定装置100が、匿名化実行部111および匿名化後データ記憶部112を含んでもよい。図10は、匿名化指標決定装置100、匿名化実行部111、および匿名化後データ記憶部112を含む匿名化処理実行システム10の構成の一例を示すブロック図である。
 図11は、第一の実施の形態の第一の変形例における匿名化処理実行システム10の動作の概要を示すフローチャートである。
 データ数特定部102は、データ管理部101が管理するデータにおいて、属性ごとに、その属性を有するデータのデータ数を特定する(ステップS101)。
 スコア算出部103は、複数の閾値に対して、データ数特定部102が特定したある属性を有するデータのデータ数が、第一の時刻で、ある閾値以上であり、かつその第一の時刻から単位時間経過した第二の時刻でその閾値を下回る回数を算出する(ステップS102)。
 スコア算出部103は、算出された回数に基づいて、閾値ごとのスコアを算出する(ステップS103)。
 閾値特定部104は、前述の複数の閾値の中から、算出されたスコアに基づいて特定される一の閾値である匿名化指標を特定する(ステップS104)。
 匿名化データ特定部105は、データ管理部101が管理しているデータにおいて、次の二条件を判定する(ステップS105)。第一の条件は、ある一の属性を有するデータのデータ数が、ステップS104にて特定された匿名化指標より少ないことである。第二の条件は、前述の一の属性を有するデータのデータ数と少なくとも一つ以上の他の属性を有するデータのデータ数との和が前述の匿名化指標以上であることである。つまり、匿名化データ特定部105は、対象属性となる一の属性を判定する。
 匿名化データ特定部105が、データ管理部101が管理するデータにおいて前述の二条件が満たされないと判定した場合(ステップS105の“No”)、匿名化処理実行システム10の処理は、終了する。
 一方、前述の二条件が満たされると判定された場合(ステップS105の“Yes”)、匿名化データ特定部105は、共通する属性に更新するデータとして、前述の対象属性および前述の少なくとも一つ以上の他の属性を有するデータを特定する(ステップS106)。対象属性が複数特定された場合、匿名化データ特定部105は、ある共通する属性に更新するデータとして、その対象属性ごとに、その対象属性と少なくとも一つ以上の他の属性を有するデータを特定する。
 匿名化実行部111は、匿名化データ特定部105が特定したデータを匿名化する(ステップS107)。そして、匿名化処理実行システム10の処理は、終了する。
 第一の実施の形態の第一の変形例における匿名化指標決定装置100および匿名化処理実行システム10は、属性ごとに、所定の時間の各時刻における、その属性を有するデータのデータ数を特定する。そして、匿名化指標決定装置100および匿名化処理実行システム10は、複数の閾値に対して、特定されたデータ数が、第一の時刻で、ある閾値以上であり、かつ、その第一の時刻から単位時間経過した第二の時刻でその閾値を下回る回数を算出する。そして、匿名化指標決定装置100および匿名化処理実行システム10は、算出した回数に基づいてスコアを算出する。そして、匿名化指標決定装置100および匿名化処理実行システム10は、前述の複数の閾値の中から、算出したスコアに基づいて特定される一の閾値である匿名化指標を特定する。匿名化指標決定装置100および匿名化処理実行システム10は、ある一の属性を有するデータのデータ数がこの匿名化指標より少なく、かつ、その一の属性を有するデータのデータ数と少なくとも一つ以上の他の属性を有するデータのデータ数との和がその匿名化指標以上である場合に、共通する属性に更新するデータとして、その一の属性(対象属性)および他の属性を有するデータを特定する。匿名化実行部111は、その共通する属性に、特定されたデータを更新する。
 つまり、第一の実施の形態の第一の変形例における匿名化指標決定装置100および匿名化処理実行システム10は、ある閾値を挟んでデータ数が増減した回数に基づいて、匿名化指標を特定し、その匿名化指標に基づいて匿名化処理を実行する。よって、第一の実施の形態の第一の変形例における匿名化指標決定装置100および匿名化処理実行システム10は、時間とともに所定のグループに含まれるデータのデータ数が増減する場合でも、そのデータの匿名性を保証できる。
 [第一の実施の形態の第二の変形例]
 第一の実施の形態において、スコア算出部103は、閾値特定部104が特定した匿名化指標を受け取ってもよい。そして、スコア算出部103は、その匿名化指標における前述のスコアが所定の値以上である場合に、その匿名化指標を含む複数の閾値に対して、それぞれスコアを計算してもよい。
 この所定の値とは、少なくとも匿名性が保証できないことを示す値である。ある所定の属性に対して、所定の回数匿名化されたり匿名化されなかったりという振る舞いがなされると、その属性について匿名化されても、匿名化されなかった時点での情報に基づいて類推される可能性が高まる。この所定の値は、この類推される可能性がデータの匿名性を失うか否かの閾値を示す。
 第一の実施の形態の第二の変形例における匿名化指標決定装置100は、元の匿名化指標に基づいて匿名性が保証できないと判定される場合に、新たな匿名化指標を特定する。したがって、本変形例の匿名化指標決定装置100は、時間とともに所定のグループに含まれるデータのデータ数が増減する場合でも、そのデータの匿名性を保証するための適切な指標値を特定できる。そして、本変形例の匿名化指標決定装置100は、匿名性が保証できないと判定される場合に、新たな匿名化指標を特定する。そのため、本変形例の匿名化指標決定装置100は、本来匿名性が保証できる時点での不要な処理負荷を低減できるという効果も奏する。
 [第二の実施の形態]
 図12は、第二の実施の形態における匿名化指標決定装置200の構成の一例を示すブロック図である。図12を参照すると、第二の実施の形態における匿名化指標決定装置200は、データ管理部101と、データ数特定部102と、スコア算出部203と、閾値特定部104と、匿名化データ特定部205と、組み合わせ特定部206とを含む。
 第二の実施の形態における匿名化指標決定装置200は、ある属性を有するデータのデータ数、または、複数の属性の中のいずれかを有するデータのデータ数の和が、閾値以上となる属性の組み合わせを特定する。そして、匿名化指標決定装置200は、特定された組み合わせの中から、所定の属性を含む組み合わせに含まれる各属性を有するデータのデータ数の和を特定する。匿名化指標決定装置200は、属性ごとに、その和に占めるその所定の属性を有するデータのデータ数の割合の、第一の時刻における値から第二の時刻における値への変化率を求める(算出する)。匿名化指標決定装置200は、求めた変化率に基づいて、匿名化指標を特定するためのスコアを算出する。
 ここで算出される変化率は、匿名化されたデータから、匿名化される前のデータが類推される確率を示す。
 すなわち、変化率の大きなデータは、匿名化処理の前後で、データ数の属性間の比率の変化が大きい。そのため、変化率の大きなデータは、匿名化される前のデータが類推される確率が小さい。一方、変化率の小さなデータは、匿名化処理の前後で、データ数の属性間の比率の変化が小さい。そのため、変化率の小さなデータは、匿名化される前のデータが類推される確率が大きい。
 第二の実施の形態における匿名化指標決定装置200は、匿名化される前のデータが類推される確率に基づいて、匿名化指標を特定するためのスコアを算出する。よって、匿名化指標決定装置200は、時間とともに所定のグループに含まれるデータのデータ数が増減し、匿名化される前のデータが類推される可能性が高い場合でも、そのデータの匿名性を保証するための適切な指標値を特定できる。
 以下、第二の実施の形態における匿名化指標決定装置200が含む各構成要素について説明する。
 ===スコア算出部203===
 スコア算出部203は、複数の閾値に対して、データ数特定部102が特定したある一の属性を有するデータのデータ数が、第一の時刻で、ある閾値以上であり、かつその第一の時刻から単位時間経過した第二の時刻でその閾値未満である場合に、以下の処理を実行する。ここで、前述の二条件を満たす「一の属性」は、本明細書において、「算出対象属性」とも呼ばれる。
 スコア算出部203は、後述の組み合わせ特定部206が特定した組み合わせの中から、前述の算出対象属性を含む組み合わせを特定する。そして、スコア算出部203は、特定された組み合わせに含まれる属性ごとに、その組み合わせに含まれる各属性を有するデータのデータ数の和に占めるその算出対象属性を含むデータのデータ数の割合の、第一の時刻における値から単位時間経過した第二の時刻における値への変化率を求める。
 以下、図3を参照して説明する。ここで、閾値kは、k=5とする。k=5とすると、第二の時刻をtとした属性「自由が丘」および「緑が丘」、並びに第二の時刻をtとした属性「自由が丘」および「緑が丘」が、算出対象属性に該当する。そして、これらの算出対象属性を含む組み合わせは、属性「自由が丘」+「緑が丘」とする。以下、この組み合わせは、「組み合わせ「自由が丘」+「緑が丘」」とも呼ばれる。
 スコア算出部203は、第一の時刻における、組み合わせ「自由が丘」+「緑が丘」に含まれる各属性を有するデータのデータ数の和に占める、その算出対象属性を含むデータのデータ数の割合Pを算出する。例えば、第一の時刻がtの場合、組み合わせ「自由が丘」+「緑が丘」に含まれる各属性を有するデータのデータ数の和は、10である。そして、時刻tにおいて、属性「自由が丘」を含むデータのデータ数の前述の和に占める割合は、5/10=1/2である。また、第一の時刻がtの場合、属性「緑が丘」を含むデータのデータ数の前述の和に占める割合は、5/10=1/2である。
 次に、スコア算出部203は、第二の時刻における、組み合わせ「自由が丘」+「緑が丘」に含まれる各属性を有するデータのデータ数の和に占める、その算出対象属性を含むデータのデータ数の割合Pを算出する。例えば、第二の時刻がtの場合、組み合わせ「自由が丘」+「緑が丘」に含まれる各属性を有するデータのデータ数の和は、7である。そして、時刻tにおいて、属性「自由が丘」を含むデータのデータ数の前述の和に占める割合は、4/7である。また、第二の時刻がtの場合、属性「緑が丘」を含むデータのデータ数の前述の和に占める割合は、3/7である。
 次に、スコア算出部203は、前述の割合PおよびPに基づいて変化率SP(attr,t)を算出する。ここで、kは閾値であり、attrは算出対象属性であり、tは第二の時刻である。具体的には、スコア算出部203は、[数3]に示される計算方法を用いて、変化率SP(attr,t)を算出する。
Figure JPOXMLDOC01-appb-M000003
 前述の例の場合、[数4]に示すように、算出対象属性「自由が丘」についての変化率SP(自由が丘,t)は、SP=1/8と算出される。
Figure JPOXMLDOC01-appb-M000004
 また、前述の例の場合、[数5]に示されるように、算出対象属性「緑が丘」についての変化率SP(緑ヶ丘,t)は、SP=1/6と算出される。
Figure JPOXMLDOC01-appb-M000005
 第一の時刻がtの場合における変化率SP(attr,t)は、以下の[数6]に示されるように算出される。
Figure JPOXMLDOC01-appb-M000006
 スコア算出部203は、前述の変化率SP(attr,t)を用いて、閾値ごとに、以下の[数7]に示される方法に基づいてスコアSc(k)を算出する。[数7]においてAは、算出対象属性を含む組み合わせに含まれる属性の集合である。attrは、前述の組み合わせに含まれる属性である。今の場合、attrは、「自由が丘」および「緑が丘」である。また、T’は、所定の時間の中で「第二の時刻」に該当する時刻を含む集合である。今の場合、T’は、時刻tおよびtを含む。tは、T’に含まれる各時刻、すなわち、時刻tまたはtである。なお、[数7]を用いて算出される値は、本明細書において「プライバシーロス(Privacy Loss)」とも呼ばれる。そして、当該値は、PL(k)とも表記される。
Figure JPOXMLDOC01-appb-M000007
 [数7]に基づけば、スコアSc(k)は、変化率SP(attr,t)の、算出対象属性間における平均に1を加算した値の逆数の、所定の時刻間の「第二の時刻」における和に基づいて算出される。
 前述の例の場合、スコア算出部203は、[数8]に示されるように、スコアSc(5)=103/55(=1.87…)と算出する。
Figure JPOXMLDOC01-appb-M000008
 図3において閾値kがk=6である場合、スコアは、以下のように算出される。
 k=6の場合、第二の時刻をtとした属性「自由が丘」および「緑が丘」が、算出対象属性に該当する。
 まず、スコア算出部203は、第一の時刻における、組み合わせ「自由が丘」+「緑が丘」に含まれる各属性を有するデータのデータ数の和に占める、その算出対象属性を含むデータのデータ数の割合Pを算出する。
 第一の時刻がtの場合、組み合わせ「自由が丘」+「緑が丘」に含まれる各属性を有するデータのデータ数の和は、12である。そして、tにおいて、属性「自由が丘」を含むデータのデータ数の、前述の和に占める割合は、6/12=1/2である。また、第一の時刻がtの場合、属性「緑が丘」を含むデータのデータ数の、前述の和に占める割合は、6/12=1/2である。
 次に、スコア算出部203は、第二の時刻における、組み合わせ「自由が丘」+「緑が丘」に含まれる各属性を有するデータのデータ数の和に占める、その算出対象属性を含むデータのデータ数の割合Pを算出する。
 第二の時刻がtの場合、組み合わせ「自由が丘」+「緑が丘」に含まれる各属性を有するデータのデータ数の和は、8である。そして、tにおいて、属性「自由が丘」を含むデータのデータ数の、前述の和に占める割合は、4/8=1/2である。また、第二の時刻がtの場合、属性「緑が丘」を含むデータのデータ数の、前述の和に占める割合は、4/8=1/2である。
 そして、スコア算出部203は、前述の割合PおよびPに基づいて変化率SP(attr,t)を算出する。k=6の場合、PおよびPは、いずれも1/2である。そのため、SP(attr,t)=0である。よって、スコア算出部203は、閾値k=6におけるスコアを、以下の[数9]に示される方法を用いて算出する。
Figure JPOXMLDOC01-appb-M000009
 また、図3において閾値kがk=7である場合、算出対象属性が存在しない。したがって、T’は空集合であるので、スコアSc(7)は、[数10]に示されるように0である。
Figure JPOXMLDOC01-appb-M000010
 ===組み合わせ特定部206===
 組み合わせ特定部206は、複数の閾値ごとに、ある属性を有するデータのデータ数、または、複数の属性の中のいずれかを有するデータのデータ数の和が、閾値以上となる属性の組み合わせを特定する。
 複数の閾値とは、スコア算出部203が使用する複数の閾値と同様の値である。組み合わせ特定部206は、スコア算出部203がある閾値に基づいて所定の条件を満たすか否か判定する。そして、その条件を満たした際に、スコア算出部203は、前述のある閾値を、組み合わせ特定部206に渡してもよい。組み合わせ特定部206は、スコア算出部203から閾値を受け取ると、ある属性を有するデータのデータ数、または、複数の属性の中のいずれかを有するデータのデータ数の和が、受け取った閾値以上となる属性の組み合わせを特定してもよい。
 図13および図14は、閾値k=5のときの組み合わせ特定部206の処理の一例を示す図である。例えば、図13を参照すると、属性cおよびdを有するデータは、それぞれ閾値「5」未満である。また、属性cおよびdを有するデータのデータ数の和は、6であり、閾値「5」以上である。一方、属性aおよびbを有するデータのデータ数は、それぞれ5であり、閾値「5」以上である。よって、組み合わせ特定部206は、属性a、属性b、および属性c+dという、属性の組み合わせを特定する。
 ここで、組み合わせ特定部206は、複数の属性を含む組み合わせに該当するデータのデータ数が最小となる組み合わせを特定してもよい。複数の属性を含む組み合わせに該当するデータは、匿名化処理の対象として扱われる。そのため、該当するデータのデータ数が最小となる組み合わせは、匿名化処理に基づく情報量の損失量を小さくする。
 また、例えば、図14を参照すると、属性bおよびcを有するデータは、それぞれ閾値「5」未満である。また、属性aおよびdを有するデータのデータ数は、それぞれ閾値「5」以上である。ここで、属性bおよびcを有するデータのデータ数の和は、「3」であり、依然として閾値未満である。この場合、組み合わせ特定部206は、閾値以上で最小のデータ数を有するデータの属性を、閾値未満のデータ数のデータの属性の組み合わせに追加する。すなわち、組み合わせ特定部206は、属性aおよび属性b+c+d、という属性の組み合わせを特定する。
 ===匿名化データ特定部205===
 匿名化データ特定部205は、組み合わせ特定部206が特定した組み合わせに複数の属性が含まれる場合に、共通する属性に更新するデータとして、その各属性を有するデータを特定する。匿名化データ特定部205が備える他の機能は、第一の実施の形態における匿名化データ特定部105と同様である。
 共通する属性とは、例えば、前述の組み合わせに含まれる各属性に共通する上位概念を示す属性であってもよい。例えば、図4の例の場合、匿名化データ特定部205は、属性「自由が丘」および「中目黒」を有するデータを、それぞれが有する属性が属性「目黒区」に更新されるデータとして特定する。また、前述の組み合わせに含まれる各属性の間で階層関係が存在する場合、共通する属性とは、前述の各属性の中の上位概念を示す属性であってもよい。例えば、図4の例の場合、一の属性が属性「自由が丘」であり、他の属性が「目黒区」である場合に、匿名化データ特定部205は、以下のように動作してもよい。すなわち、匿名化データ特定部205は、それぞれが有する属性が属性「目黒区」に更新されるデータとして、属性「自由が丘」および「目黒区」を有するデータを特定してもよい。なお、ここでの、一の属性とは、第一の実施の形態における匿名化データ特定部105での処理における「第一の条件」を満たす属性である。第一の条件は、一の属性を有するデータのデータ数が、閾値特定部104が特定した匿名化指標より少ないこと、である。
 図15は、第二の実施の形態における匿名化指標決定装置200の動作の概要を示すフローチャートである。
 データ数特定部102は、データ管理部101が管理するデータにおいて、属性ごとに、その属性を有するデータのデータ数を特定する(ステップS101)。
 スコア算出部203は、複数の閾値の中のある閾値kに対して、次の二条件を満たす属性(算出対象属性)を特定する(ステップS201)。第一の条件は、その属性を有するデータのデータ数が、第一の時刻で、ある閾値以上であることである。第二の条件は、その第一の時刻から単位時間経過した第二の時刻でその閾値を下回ることである。スコア算出部203は、閾値kを組み合わせ特定部206に渡す。
 組み合わせ特定部206は、閾値kについて、ある属性を有するデータのデータ数、または、複数の属性の中のいずれかを有するデータのデータ数の和が、閾値k以上となる属性の組み合わせを特定する(ステップS202)。
 スコア算出部203は、組み合わせ特定部206が特定した組み合わせの中から、ステップS201にて特定された算出対象属性を含む組み合わせを特定する(ステップS203)。そして、スコア算出部203は、前述の組み合わせに含まれる属性ごとに、特定された組み合わせに含まれる各属性を有するデータのデータ数の和に占める、その算出対象属性を含むデータのデータ数の割合の変化率を求める(ステップS204)。
 スコア算出部203は、複数の閾値の全てに対して算出対象属性を特定したか否か判定する(ステップS205)。
 スコア算出部203が、算出対象属性を特定していない閾値があると判定した場合(ステップS205の“No”)、匿名化指標決定装置200の処理は、ステップS201に戻り、同様の処理を繰り返す。
 一方、スコア算出部203が、複数の閾値の全てに対して算出対象属性を特定したと判定した場合(ステップS205の“Yes”)、匿名化指標決定装置200の処理は、ステップS206へ進む。
 スコア算出部203は、前述の変化率を用いて、閾値ごとのスコアを算出する(ステップS206)。
 閾値特定部104は、スコア算出部203が用いた複数の閾値の中から、算出されたスコアに基づいて特定される一の閾値である匿名化指標を特定する(ステップS104)。
 匿名化データ特定部205は、組み合わせ特定部206が特定した組み合わせに複数の属性が含まれるか否か判定する(ステップS207)。
 匿名化データ特定部205は、組み合わせ特定部206が特定した組み合わせに複数の属性が含まれると判定した場合(ステップS207の“Yes”)、共通する属性に更新するデータとして、その各属性を有するデータを特定する(ステップS208)。そして、匿名化指標決定装置200の処理は、終了する。
 一方、匿名化データ特定部205が、組み合わせ特定部206が特定した組み合わせに複数の属性が含まれないと判定した場合(ステップS207の“No”)、匿名化指標決定装置200の処理は、終了する。
 第二の実施の形態における匿名化指標決定装置200は、ある属性を有するデータのデータ数、または、複数の属性の中のいずれかを有するデータのデータ数の和が、閾値以上となる属性の組み合わせを特定する。そして、匿名化指標決定装置200は、特定された組み合わせの中から、所定の属性を含む組み合わせに含まれる各属性を有するデータのデータ数の和を特定する。匿名化指標決定装置200は、属性ごとに、その和に占めるその所定の属性を有するデータのデータ数の割合の、第一の時刻における値から第二の時刻における値への変化率を求める。匿名化指標決定装置200は、その変化率に基づいて、匿名化指標を特定するためのスコアを算出する。
 算出される変化率は、匿名化されたデータから、匿名化される前のデータが類推される確率を示す。すなわち、変化率の大きいデータは、匿名化処理の前後で、データ数の属性間の比率が大きい。そのため、変化率の大きなデータは、匿名化される前のデータが類推される確率が小さい。一方、変化率の小さいデータは、匿名化処理の前後でデータ数の属性間の比率の変化が小さい。そのため、変化率の小さなデータは、匿名化される前のデータが類推される確率が大きい。
 第二の実施の形態における匿名化指標決定装置200は、匿名化される前のデータが類推される確率に基づいて、匿名化指標を特定するためのスコアを算出する。よって、匿名化指標決定装置200は、時間とともに所定のグループに含まれるデータのデータ数が増減し、匿名化される前のデータが類推される可能性が高い場合でも、そのデータの匿名性を保証するための適切な指標値を特定できる。
 [第三の実施の形態]
 図16は、第三の実施の形態における匿名化指標決定装置300の構成の一例を示すブロック図である。図16を参照すると、第三の実施の形態における匿名化指標決定装置300は、データ管理部101と、データ数特定部102と、スコア算出部303と、閾値特定部104と、匿名化データ特定部205と、組み合わせ特定部206とを含む。
 第三の実施の形態における匿名化指標決定装置300は、インフォメーションロスと、第二の実施の形態における匿名化指標決定装置200と同様の方法を用いて算出する変化率とに基づいて、匿名化指標を特定するためのスコアを算出する。インフォメーションロスとは、匿名化処理のために、失われる情報量を示す情報である。
 データの匿名性を保証するように匿名化指標を特定すると、情報量が失われる匿名化処理が行われる。
 そこで、第三の実施の形態における匿名化指標決定装置300は、データの匿名性を保証するとともに、匿名化処理のために失われる情報量にも基づいて、匿名化処理に用いられる匿名化指標を特定する。第三の実施の形態における匿名化指標決定装置300は、時間とともに所定のグループに含まれるデータのデータ数が増減し、匿名化される前のデータが類推される可能性が高い場合でも、そのデータの匿名性を保証するための適切な指標値を特定できる。さらに、第三の実施の形態における匿名化指標決定装置300は、匿名化処理のために失われる情報量を、低減する適切な指標値を特定できる。
 以下、第三の実施の形態における匿名化指標決定装置300が含む各構成要素について説明する。
 ===スコア算出部303===
 スコア算出部303は、インフォメーションロスと変化率とに基づいて、複数の閾値ごとに、スコアを算出する。
 インフォメーションロスとは、組み合わせ特定部206が特定した組み合わせの中で、複数の属性を含む組み合わせに基づいて推定される、その組み合わせに適用される匿名化処理のため失われる情報量を示す情報である。閾値kに対して算出されるインフォメーションロスとは、所定の閾値kに対するk−匿名性を保証するための匿名化処理のために失われる情報量を示す情報である。
 インフォメーションロスとは、例えば、データ管理部101が管理するデータのデータ数に占める、組み合わせ特定部206が特定した組み合わせのうちの複数の属性を含む組み合わせで特定される属性を有するデータのデータ数の和の割合に基づいて、推定される情報量を示す情報であってもよい。
 スコア算出部303は、例えば、以下の[数11]および[数12]に示される算出方法に基づいて、複数の閾値ごとに、インフォメーションロスを算出する。
 [数11]において、各記号の意味は、以下の通りである。IL(k)は、閾値kにおけるインフォメーションロスである。Tは、所定の時間である。今の場合、Tは、時刻t、t、t、tを含む。tは、Tに含まれる各時刻、すなわち時刻t、t、t、tである。d(t)は、複数の属性を含む組み合わせで特定される属性を有するデータのデータ数の和を示す関数である。具体的にはd(t)は、[数12]で表される方法を用いて計算される関数である。N(t)は、時刻tにおいてデータ管理部101が管理するデータの総数である。
 [数12]において、各記号の意味は、以下の通りである。attrは、属性を示す。d(attr,t)は、時刻tにおける、属性attrを有するデータの集合である。C(t)は、時刻tにおける組み合わせである。count(C(t))は、組み合わせC(t)に含まれる属性の数を算出する関数である。P(t)は、組み合わせ特定部206が特定した組み合わせC(t)の集合である。
Figure JPOXMLDOC01-appb-M000011
Figure JPOXMLDOC01-appb-M000012
 [数12]は、d(t)が、複数の属性を含む組み合わせC(t)で特定される属性attrを有するデータのデータ数の和であることを示している。
 以下は、図3に示されるデータについてのインフォメーションロスの計算例である。図3において閾値k=5の場合、各時刻における組み合わせC(t)の集合P(t)、およびcount(C(t))は、以下の[数13]に示されるように特定される。なお、[数13]において、組み合わせC(t)は、簡単のため、その組み合わせC(t)に含まれる属性の集合として表記されている。
Figure JPOXMLDOC01-appb-M000013
 よって、閾値k=5の場合、各時刻におけるd(t)(=d(t))は、以下の[数14]に示されるように計算される。
Figure JPOXMLDOC01-appb-M000014
 したがって、k=5の場合のインフォメーションロスIL(5)は、[数15]に示されるように計算される。
Figure JPOXMLDOC01-appb-M000015
 同様に、図3において、閾値k=6および7の場合におけるインフォメーションロスは、それぞれ[数16]に示されるように計算される。
Figure JPOXMLDOC01-appb-M000016
 また、スコア算出部303は、第二の実施の形態におけるスコア算出部203の処理と同様の方法に基づき、複数の閾値ごとに変化率を算出する。そして、スコア算出部303は、前述の変化率に基づいて、複数の閾値ごとに、プライバシーロスPL(k)を算出する。
 スコア算出部303は、複数の閾値のそれぞれに対して、インフォメーションロスを算出する。そして、スコア算出部303は、算出したインフォメーションロスとプライバシーロスとに基づいて、複数の閾値ごとに、スコアを算出する。
 具体的には、スコア算出部303は、以下の[数17]に示される方法に基づいて、複数の閾値ごとに、スコアを算出する。
Figure JPOXMLDOC01-appb-M000017
 [数17]において、α、α、β、およびβは、それぞれ、任意の定数である。
 例えば、α、α、β、およびβの値がそれぞれ1の場合、スコア算出部303は、[数18]ないし[数20]に示されるように、閾値k=5,6,7におけるそれぞれのスコアSc(k)を算出する。
Figure JPOXMLDOC01-appb-M000018
Figure JPOXMLDOC01-appb-M000019
Figure JPOXMLDOC01-appb-M000020
 スコア算出部303は、前述の抽象化ツリーに基づいて、複数の閾値ごとに、インフォメーションロスを算出してもよい。具体的には、スコア算出部303は、以下の各ステップに基づいて、インフォメーションロスを算出してもよい。
 第一に、スコア算出部303は、前述の抽象化ツリーにおいて、組み合わせC(t)に含まれる各属性が対応するノードを特定する。
 第二に、スコア算出部303は、特定された各属性の抽象化ツリーにおけるノードの全ての上位概念(親またはツリーの根)であるノードを特定する。
 第三に、スコア算出部303は、特定された各属性の抽象化ツリーにおけるノードのそれぞれについて、前述の上位概念のノードまでの階層の差を算出する。この差は、抽象化処理の前後におけるデータの属性の抽象度の差を示す。この差が大きいほど抽象度が増し、情報の損失量が大きくなる。
 以下の説明は、図4に示される抽象化ツリーに基づいた、スコア算出部303の前述の第三の処理の一例である。
 組み合わせC(t)に、属性「自由が丘」、「中目黒」、および「港区」が含まれている場合、スコア算出部303は、各属性が対応する抽象化ツリー上でのノードを特定する。そして、スコア算出部303は、特定された各ノードの全ての上位概念であるノードを特定する。図4の例において、スコア算出部303は、属性「東京都特別区」を前述の上位概念であるノードと特定する。そして、スコア算出部303は、組み合わせC(t)に含まれる属性ごとにそれぞれが対応するノードと、前述の上位概念であるノード「東京都特別区」との階層の差を算出する。図4を参照すると、スコア算出部303は、「自由が丘」と「東京都特別区」との階層の差を「2」と算出する。また、スコア算出部303は、「中目黒」と「東京都特別区」との階層の差を「2」と算出する。スコア算出部303は、「港区」と「東京都特別区」との階層の差を「1」と算出する。
 第四に、スコア算出部303は、データ管理部101が管理するデータのデータ数に占める、組み合わせ特定部206が特定した組み合わせの中で、複数の属性を含む組み合わせで特定される属性を有するデータのデータ数の和の割合と、前述の階層の差とに基づいて、インフォメーションロスを算出する。
 スコア算出部303は、例えば、以下の[数21]および[数22]に示される算出方法に基づいて、インフォメーションロスを算出する。
 [数21]において、各記号の意味は、以下の通りである。IL(k)は、閾値kにおけるインフォメーションロスである。Tは、所定の時間である。今の場合、Tは、例えば時刻t、t、t、tを含む。この場合、tは、Tに含まれる各時刻、すなわち時刻t、t、t、tである。d(t)は、複数の属性を含む組み合わせで特定される属性を有するデータのデータ数の和を示す関数である。具体的には、d(t)は、[数22]で表される方法を用いて計算される関数である。N(t)は、時刻tにおいてデータ管理部101が管理するデータの総数である。
 [数22]において、各記号の意味は、以下の通りである。attrは、属性を示す。d(attr,t)は、時刻tにおける、属性attrを有するデータの集合である。C(t)は、時刻tにおける組み合わせである。count(C(t))は、組み合わせC(t)に含まれる属性の数を算出する関数である。P(t)は、組み合わせ特定部206が特定した組み合わせC(t)の集合である。Δm(attr,t)は、属性attrを含むC(t)に含まれる各属性に対応する、抽象化ツリーにおけるノードのそれぞれについて、それらの全ての上位概念を示すノードまでの階層の差である。
Figure JPOXMLDOC01-appb-M000021
Figure JPOXMLDOC01-appb-M000022
 [数22]は、d(t)が、複数の属性を含む組み合わせC(t)で特定される属性attrを有するデータのデータ数の和と、抽象化処理の前後における属性attrを有するデータの属性の抽象度の差と、の積であることを示している。
 前述の例において、スコア算出部303は、データ管理部101が管理するデータのデータ数に占める、組み合わせ特定部206が特定した組み合わせにおける複数の属性を含む組み合わせで特定される属性を有するデータのデータ数の和の割合を用いた。しかし、スコア算出部303は、この割合に基づかなくてもよい。この場合、例えば、スコア算出部303は、前述の抽象化ツリーに基づいて、複数の閾値ごとに、インフォメーションロスを算出してもよい。この場合、スコア算出部303は、例えば、以下の[数23]および[数24]に示される算出方法に基づいて、インフォメーションロスを算出する。
Figure JPOXMLDOC01-appb-M000023
Figure JPOXMLDOC01-appb-M000024
 図17は、第三の実施の形態における匿名化指標決定装置300の動作の概要を示すフローチャートである。
 データ数特定部102は、データ管理部101が管理するデータにおいて、属性ごとに、その属性を有するデータのデータ数を特定する(ステップS101)。
 スコア算出部303は、複数の閾値の中のある閾値kに対して、次の二条件を満たす属性(算出対象属性)を特定する(ステップS201)。第一の条件は、その属性を有するデータのデータ数が、第一の時刻で、ある閾値以上であることである。第二の条件は、その第一の時刻から単位時間経過した第二の時刻でその閾値を下回ることである。スコア算出部303は、閾値kを組み合わせ特定部206に渡す。
 組み合わせ特定部206は、閾値kについて、ある属性を有するデータのデータ数、または、複数の属性の中のいずれかを有するデータのデータ数の和が、閾値k以上となる属性の組み合わせを特定する(ステップS202)。ここで、組み合わせ特定部206は、複数の属性を含む組み合わせに該当するデータ数が最小となる組み合わせを特定してもよい。
 スコア算出部303は、組み合わせ特定部206が特定した組み合わせの中から、ステップS201にて特定された算出対象属性を含む組み合わせを特定する(ステップS203)。そして、スコア算出部303は、前述の組み合わせに含まれる属性ごとに、特定した組み合わせに含まれる各属性を有するデータのデータ数の和に占める、その算出対象属性を含むデータのデータ数の割合の変化率を求める(ステップS204)。
 スコア算出部303は、前述の変化率を用いて、前述の閾値kに対するプライバシーロスを算出する(ステップS301)。
 スコア算出部303は、前述の閾値kに対する、インフォメーションロスを算出する(ステップS302)。
 スコア算出部303は、複数の閾値の全てに対して、算出対象属性を特定したか否か判定する(ステップS303)。
 スコア算出部303が、算出対象属性を特定していない閾値があると判定した場合(ステップS303の“No”)、匿名化指標決定装置300の処理は、ステップS201に戻る。
 一方、スコア算出部203が、複数の閾値の全てに対して算出対象属性を特定したと判定した場合(ステップS303の“Yes”)、匿名化指標決定装置300の処理は、ステップS304へ進む。
 スコア算出部303は、ステップS301にて算出されるプライバシーロスと、ステップS302にて算出されるインフォメーションロスとに基づいて、閾値ごとにスコアを算出する(ステップS304)。
 閾値特定部104は、スコア算出部303が用いた複数の閾値の中から、算出されたスコアに基づいて特定される一の閾値である匿名化指標を特定する(ステップS104)。
 匿名化データ特定部205は、組み合わせ特定部206が特定した組み合わせに複数の属性が含まれるか否か判定する(ステップS207)。
 匿名化データ特定部205が、組み合わせ特定部206が特定した組み合わせに複数の属性が含まれると判定した場合(ステップS207の“Yes”)、匿名化データ特定部205は、その各属性を有するデータを、共通する属性に更新するデータとして特定する(ステップS208)。そして、匿名化指標決定装置300の処理は、終了する。
 一方、匿名化データ特定部205が、組み合わせ特定部206が特定した組み合わせに複数の属性が含まれないと判定した場合(ステップS207の“No”)、匿名化指標決定装置300の処理は、終了する。
 第三の実施の形態における匿名化指標決定装置300は、インフォメーションロスと、第二の実施の形態における匿名化指標決定装置200と同様の方法を用いて算出される変化率とに基づいて、匿名化指標を特定するためのスコアを算出する。インフォメーションロスとは、匿名化処理のために失われる情報量を示す情報である。
 データの匿名性を保証するように匿名化指標を特定すると、情報量が失われる匿名化処理が行われる。そこで、第三の実施の形態における匿名化指標決定装置300は、データの匿名性を保証するとともに、匿名化処理のために失われる情報量にも基づいて、匿名化処理に用いられる匿名化指標を特定する。したがって、第三の実施の形態における匿名化指標決定装置300は、時間とともに所定のグループに含まれるデータのデータ数が増減し、匿名化される前のデータが類推される可能性が高い場合でも、そのデータの匿名性を保証するための適切な指標値を特定できる。さらに、第三の実施の形態における匿名化指標決定装置300は、匿名化処理のために失われる情報量を低減させる適切な指標値を特定できる。
 [第四の実施の形態]
 第三の実施の形態において、スコア算出部303は、匿名化方法としてグローバルリコーディングが適用された場合のインフォメーションロスを算出した。
 スコア算出部303は、匿名化処理としてローカルリコーディングが適用された場合のインフォメーションロスに基づいて、スコアを算出してもよい。また、スコア算出部303は、グローバルリコーディングが適用される場合のインフォメーションロスと、ローカルリコーディングが適用される場合のインフォメーションロスとを比較してもよい。そして、スコア算出部303は、より値の小さいインフォメーションロスを用いてスコアを算出してもよい。
 図18に示されるように、閾値k=5、属性Aのデータのデータ数が10、および属性Bのデータのデータ数が4の場合におけるスコア算出部303の動作を、一例として説明する。
 図18に示されるデータに対して、匿名化処理としてグローバルリコーディングが適用される場合、属性Aを有するデータの10個と属性Bを有するデータの4個とを合わせた14個のデータが、匿名化処理される(パターン1)。よって、スコア算出部303は、匿名化処理の対象となるデータとして、前述の14個のデータをインフォメーションロスの計算対象とする。
 一方、匿名化処理としてローカルリコーディングが適用される場合、属性Aを有するデータの1個と属性Bを有するデータの4個とを合わせた5個のデータが、匿名化処理される(パターン2)。よって、スコア算出部303は、匿名化処理の対象となるデータとして、前述の5個のデータをインフォメーションロスの計算対象とする。
 具体的には、スコア算出部303は、組み合わせ特定部206が特定した組み合わせに含まれるデータの構成を変更する。図18に示すの場合、スコア算出部303は、組み合わせ特定部206が特定した組み合わせC(t)={A,B}を、2個の組み合わせ「C(t)={A}およびC(t)={A,B}」に分割する。組み合わせC(t)は、属性Aを有するデータ9個を含む。また、組み合わせC(t)は、属性Aを有するデータ1個と、属性Bを有するデータ4個とを含む。
 パターン1およびパターン2のいずれにおいても、ある一つの属性を有するデータのデータ数は、閾値である5以上である。例えば、パターン1の場合、属性A+Bを有するデータのデータ数は、14である。また、パターン2の場合、属性Aを有するデータのデータ数は9、属性A+Bを有するデータのデータ数は5である。したがって、パターン1およびパターン2のいずれの場合も、k=5の場合のk−匿名性を満たしている。
 スコア算出部303は、パターン1の場合のインフォメーションロス、およびパターン2の場合のインフォメーションロスを算出する。そして、スコア算出部303は、算出結果を比較する。具体的には、スコア算出部303は、前述の[数11]および[数12]に示される方法を用いて、それぞれのインフォメーションロスを計算する。パターン1の場合、インフォメーションロスIF(5)は、14/14=1である。また、パターン2の場合、インフォメーションロスIF(5)は、5/14である。
 よって、スコア算出部303は、パターン2の場合のインフォメーションロスIF(5)=5/14を用いて、スコアを算出する。
 パターン2(ローカルリコーディング)を用いたインフォメーションロスがスコア算出に使われる場合、匿名化データ特定部205は、スコア算出部303が構成を変更した組み合わせに基づいて、共通の属性に更新するデータを特定する。
 第四の実施の形態において、スコア算出部303は、組み合わせ特定部206が特定した組み合わせごとに、インフォメーションロスを算出してもよい。その際、スコア算出部303は、その組み合わせごとに、それぞれのグローバルリコーディングとローカルリコーディングのいずれのインフォメーションロスが小さいかを判定してもよい。
 第四の実施の形態における匿名化指標決定装置300は、k−匿名性を満たさないデータのデータ数およびk−匿名性を満たすデータのデータ数に基づいて、インフォメーションロスのより小さい匿名化方法が選択されるように、データの組み合わせの構成を変更する。よって、第四の実施の形態における匿名化指標決定装置300は、第三の実施の形態における匿名化指標決定装置300と同様の効果を奏するとともに、匿名化処理のために失われる情報量を、さらに低減させる適切な指標値を特定できる。
 本発明の効果の一例は、時間とともに所定のグループに含まれるデータのデータ数が増減する場合でも、そのデータの匿名性を保証するための適切な指標値を特定できることである。
 以上、各実施の形態および実施例を参照して本発明を説明したが、本発明は上記実施の形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえる様々な変更をすることができる。
 また、本発明の各実施の形態における各構成要素は、その機能をハードウェア的に実現することはもちろん、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリなどのコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御し、そのコンピュータを前述した各実施の形態における構成要素として機能させる。
 この出願は、2011年6月20日に出願された日本出願特願2011−136488を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明における匿名化指標決定装置は、時刻とともに管理するデータのデータ数が増減するセンシティブデータ管理システムに適用されうる。
 10 匿名化処理実行システム
 100、200、300 匿名化指標決定装置
 101 データ管理部
 102 データ数特定部
 103、203、303 スコア算出部
 104 閾値特定部
 105、205 匿名化データ特定部
 111 匿名化実行部
 112 匿名化後データ記憶部
 191 CPU
 192 通信I/F
 193 メモリ
 194 記憶装置
 195 入力装置
 196 出力装置
 197 バス
 198 記録媒体
 206 組み合わせ特定部

Claims (12)

  1.  属性を有するデータを管理するデータ管理手段と、
     前記データにおいて、属性ごとに、所定の時間の各時刻における、その属性を有する前記データのデータ数を特定するデータ数特定手段と、
     複数の閾値に対して、一つの属性を有するデータのデータ数が、第一の時刻で当該閾値以上であり、かつ当該第一の時刻から単位時間経過した第二の時刻で当該閾値未満である回数を算出し、当該回数に基づいて閾値ごとのスコアを算出するスコア算出手段と、
     前記の複数の閾値から、前記スコアに基づいて特定される一の閾値である匿名化指標を特定する閾値特定手段と、
     前記管理されるデータの中の一の属性を有するデータのデータ数が前記匿名化指標より少なく、かつ、当該データ数と少なくとも一以上の他の属性を有するデータのデータ数との和が前記匿名化指標以上である場合に、共通する属性に更新するデータとして、当該一の属性および当該他の属性を有するデータを特定する匿名化データ特定手段と、
     を含む匿名化指標決定装置。
  2.  請求項1に記載の匿名化指標決定装置であって、
     前記複数の閾値ごとに、ある属性を有するデータのデータ数、または、複数の属性の中のいずれかを有するデータのデータ数の和が、閾値以上となる属性の組み合わせを特定する組み合わせ特定手段を備え、
     前記スコア算出手段は、属性ごとに、前記組み合わせ特定手段が特定した組み合わせの中で、前記一の属性を含む組み合わせに含まれる各属性を有するデータのデータ数の和に占める前記一の属性を含むデータのデータ数の割合の、前記第一の時刻における値から前記第二の時刻における値への変化率を求め、閾値ごとに当該変化率に基づいて前記スコアを算出し、
     前記匿名化データ特定手段は、前記特定された組み合わせに複数の属性が含まれる場合に、前記共通する属性に更新するデータとして、当該複数の属性を有する各データを特定する、匿名化指標決定装置。
  3.  請求項2に記載の匿名化指標決定装置であって、
     前記スコア算出手段は、前記変化率の属性間の平均に基づく値の逆数の前記所定の時間の時刻間における和に基づいて、閾値ごとに、前記スコアを算出する、匿名化指標決定装置。
  4.  請求項2または3に記載の匿名化指標決定装置であって、
     前記スコア算出手段は、前記複数の閾値のそれぞれに対して、前記組み合わせの中の複数の属性を含む当該組み合わせに基づいて推定されるある情報量を示す情報であるインフォメーションロスを算出し、前記インフォメーションロスと前記変化率とに基づいて、閾値ごとに前記スコアを算出する、匿名化指標決定装置。
  5.  請求項4に記載の匿名化指標決定装置であって、
     前記組み合わせ特定手段は、前記組み合わせの中の複数の属性を含む当該組み合わせで特定される属性を有するデータのデータ数の和が最小となるように、当該組み合わせを特定する、匿名化指標決定装置。
  6.  請求項4または5に記載の匿名化指標決定装置であって、
     前記スコア算出手段は、前記組み合わせごとに前記インフォメーションロスを計算し、それらの和を計算し、
     前記スコア算出手段は、前記組み合わせの第一の属性を有するデータのデータ数が当該閾値未満であり、当該組み合わせの第二の属性を有するデータのデータ数が閾値以上であり、第一の属性を有するデータのデータ数と第二の属性を有するデータのデータ数との和が当該閾値を基に定められる値以上である場合に、当該組み合わせに対する当該インフォメーションロスを当該閾値と計算し、
     前記匿名化データ特定手段は、前記共通の属性に更新するデータとして、前記第一の属性を有するデータ、および、前記第二の属性を有するデータの中の前記閾値から前記第一の属性を有するデータのデータ数との差分で示される数のデータを特定する、匿名化指標決定装置。
  7.  請求項1ないし6のいずれか1項に記載の匿名化指標決定装置であって、
     前記スコア算出手段は、前記閾値特定手段が特定した前記匿名化指標が所定の値以上である場合に、当該匿名化指標を含む前記複数の閾値に対して、前記スコアを算出する、匿名化指標決定装置。
  8.  請求項1ないし7のいずれか1項に記載の匿名化指標決定装置であって、
     前記匿名化データ特定手段が特定したデータを前記共通する属性に更新する匿名化実行手段を含む匿名化指標決定装置。
  9.  請求項1ないし7のいずれか1項に記載の匿名化指標決定装置と、
     前記匿名化データ特定手段が特定したデータを前記共通する属性に更新する匿名化実行手段と、
     前記匿名化実行手段が更新したデータを記憶する匿名化後データ記憶手段と、
     を含む匿名化処理実行システム。
  10.  属性を有するデータを管理し、
     前記データにおいて、属性ごとに、所定の時間の各時刻における、その属性を有する、データのデータ数を特定し、
     複数の閾値に対して、一つの属性を有するデータのデータ数が、第一の時刻で当該閾値以上であり、かつ当該第一の時刻から単位時間経過した第二の時刻で当該閾値未満である回数を算出し、当該回数に基づいて閾値ごとのスコアを算出し、
     前記の複数の閾値から、前記スコアに基づいて特定される一の閾値である匿名化指標を特定し、
     前記管理されるデータの中の一の属性を有するデータのデータ数が前記匿名化指標より少なく、かつ、当該データ数と少なくとも一以上の他の属性を有するデータのデータ数との和が前記匿名化指標以上である場合に、共通する属性に更新するデータとして、当該一の属性および当該他の属性を有するデータを特定する、匿名化指標決定方法。
  11.  属性を有するデータを管理し、
     前記データにおいて、属性ごとに、所定の時間の各時刻における、その属性を有する、データのデータ数を特定し、
     複数の閾値に対して、一つの属性を有するデータのデータ数が、第一の時刻で当該閾値以上であり、かつ当該第一の時刻から単位時間経過した第二の時刻で当該閾値未満である回数を算出し、当該回数に基づいて閾値ごとのスコアを算出し、
     前記の複数の閾値から、前記スコアに基づいて特定される一の閾値である匿名化指標を特定し、
     前記管理されるデータの中の一の属性を有するデータのデータ数が前記匿名化指標より少なく、かつ、当該データ数と少なくとも一以上の他の属性を有するデータのデータ数との和が前記匿名化指標以上である場合に、共通する属性に更新するデータとして、当該一の属性および当該他の属性を有するデータを特定し、
     前記特定されたデータを前記共通する属性に更新し、
     前記更新されたデータを記憶する、匿名化処理実行方法。
  12.  コンピュータに、
     属性を有するデータを管理する処理と、
     前記データにおいて、属性ごとに、所定の時間の各時刻における、その属性を有するデータのデータ数を特定する処理と、
     複数の閾値に対して、一つの属性を有するデータのデータ数が、第一の時刻で当該閾値以上であり、かつ当該第一の時刻から単位時間経過した第二の時刻で当該閾値未満である回数を算出し、当該回数に基づいて閾値ごとのスコアを算出する処理と、
     前記複数の閾値から、前記スコアに基づいて特定される一の閾値である匿名化指標を特定する処理と、
     前記管理されるデータの中の一の属性を有するデータのデータ数が前記匿名化指標より少なく、かつ、当該データ数と少なくとも一以上の他の属性を有するデータのデータ数との和が前記匿名化指標以上である場合に、共通する属性に更新するデータとして、当該一の属性および当該他の属性を有するデータを特定する処理と、
     を実行させるための匿名化指標決定プログラム。
PCT/JP2012/066305 2011-06-20 2012-06-20 匿名化指標決定装置及び方法、並びに匿名化処理実行システム及び方法 WO2012176923A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA2840049A CA2840049A1 (en) 2011-06-20 2012-06-20 Anonymization index determination device and method, and anonymization process execution system and method
US14/128,456 US20140304244A1 (en) 2011-06-20 2012-06-20 Anonymization Index Determination Device and Method, and Anonymization Process Execution System and Method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011136488 2011-06-20
JP2011-136488 2011-06-20

Publications (1)

Publication Number Publication Date
WO2012176923A1 true WO2012176923A1 (ja) 2012-12-27

Family

ID=47422749

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/066305 WO2012176923A1 (ja) 2011-06-20 2012-06-20 匿名化指標決定装置及び方法、並びに匿名化処理実行システム及び方法

Country Status (4)

Country Link
US (1) US20140304244A1 (ja)
JP (1) JPWO2012176923A1 (ja)
CA (1) CA2840049A1 (ja)
WO (1) WO2012176923A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164476A (ja) * 2013-02-25 2014-09-08 Hitachi Systems Ltd k−匿名データベース制御サーバおよび制御方法
WO2016021039A1 (ja) * 2014-08-08 2016-02-11 株式会社 日立製作所 k-匿名化処理システム及びk-匿名化処理方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2852253A1 (en) * 2014-05-23 2015-11-23 University Of Ottawa System and method for shifting dates in the de-identification of datesets
US11120163B2 (en) * 2014-11-14 2021-09-14 Oracle International Corporation Associating anonymous information with personally identifiable information in a non-identifiable manner
JP6174002B2 (ja) * 2014-12-05 2017-08-02 株式会社東芝 匿名化装置、及びプログラム
US9870381B2 (en) * 2015-05-22 2018-01-16 International Business Machines Corporation Detecting quasi-identifiers in datasets
US10423803B2 (en) 2015-07-15 2019-09-24 Privacy Analytics Inc. Smart suppression using re-identification risk measurement
US10395059B2 (en) 2015-07-15 2019-08-27 Privacy Analytics Inc. System and method to reduce a risk of re-identification of text de-identification tools
US10380381B2 (en) 2015-07-15 2019-08-13 Privacy Analytics Inc. Re-identification risk prediction
WO2017008144A1 (en) * 2015-07-15 2017-01-19 Privacy Analytics Inc. Re-identification risk measurement estimation of a dataset
JP6484657B2 (ja) * 2017-03-17 2019-03-13 新日鉄住金ソリューションズ株式会社 情報処理装置、情報処理方法及びプログラム
US10565398B2 (en) * 2017-10-26 2020-02-18 Sap Se K-anonymity and L-diversity data anonymization in an in-memory database
US10664656B2 (en) * 2018-06-20 2020-05-26 Vade Secure Inc. Methods, devices and systems for data augmentation to improve fraud detection

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752251B1 (en) * 2000-04-14 2010-07-06 Brian Mark Shuster Method, apparatus and system for hosting information exchange groups on a wide area network
WO2002003219A1 (en) * 2000-06-30 2002-01-10 Plurimus Corporation Method and system for monitoring online computer network behavior and creating online behavior profiles
AU2002254564A1 (en) * 2001-04-10 2002-10-28 Latanya Sweeney Systems and methods for deidentifying entries in a data source
US8631500B2 (en) * 2010-06-29 2014-01-14 At&T Intellectual Property I, L.P. Generating minimality-attack-resistant data
JP5042667B2 (ja) * 2007-03-05 2012-10-03 株式会社日立製作所 情報出力装置、情報出力方法、及び、情報出力プログラム
EP2320631A4 (en) * 2008-08-26 2013-03-27 Nec Corp ANONYMIC COMMUNICATION SYSTEM
US8204809B1 (en) * 2008-08-27 2012-06-19 Accenture Global Services Limited Finance function high performance capability assessment
US8316054B2 (en) * 2008-09-22 2012-11-20 University Of Ottawa Re-identification risk in de-identified databases containing personal information
US8209342B2 (en) * 2008-10-31 2012-06-26 At&T Intellectual Property I, Lp Systems and associated computer program products that disguise partitioned data structures using transformations having targeted distributions
WO2010127216A2 (en) * 2009-05-01 2010-11-04 Telcodia Technologies, Inc. Automated determination of quasi-identifiers using program analysis
US20110178943A1 (en) * 2009-12-17 2011-07-21 New Jersey Institute Of Technology Systems and Methods For Anonymity Protection
US8682910B2 (en) * 2010-08-03 2014-03-25 Accenture Global Services Limited Database anonymization for use in testing database-centric applications
US8589887B2 (en) * 2010-10-20 2013-11-19 International Business Machines Corporation Registration-based remote debug watch and modify
US10148623B2 (en) * 2010-11-12 2018-12-04 Time Warner Cable Enterprises Llc Apparatus and methods ensuring data privacy in a content distribution network
US8868654B2 (en) * 2011-06-06 2014-10-21 Microsoft Corporation Privacy-preserving matching service

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUKI TOYODA: "Hikaku Kano na Tokumeika Group o Seisei suru Tokumeika Shuho no Teian", DAI 73 KAI (HEISEI 23 NEN) ZENKOKU TAIKAI KOEN RONBUNSHU (3) NETWORK SECURITY, 2 March 2011 (2011-03-02), pages 3-441 - 3-442 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164476A (ja) * 2013-02-25 2014-09-08 Hitachi Systems Ltd k−匿名データベース制御サーバおよび制御方法
WO2016021039A1 (ja) * 2014-08-08 2016-02-11 株式会社 日立製作所 k-匿名化処理システム及びk-匿名化処理方法

Also Published As

Publication number Publication date
CA2840049A1 (en) 2012-12-27
US20140304244A1 (en) 2014-10-09
JPWO2012176923A1 (ja) 2015-02-23

Similar Documents

Publication Publication Date Title
WO2012176923A1 (ja) 匿名化指標決定装置及び方法、並びに匿名化処理実行システム及び方法
US11115421B2 (en) Security monitoring platform for managing access rights associated with cloud applications
US9230132B2 (en) Anonymization for data having a relational part and sequential part
JP6007969B2 (ja) 匿名化装置及び匿名化方法
EP3072070B1 (en) Callpath finder
US20180268306A1 (en) Using Different Data Sources for a Predictive Model
JP6755864B2 (ja) データベースセキュリティ
CN109983467B (zh) 用于匿名化数据集的系统和方法
Zhang et al. MRMondrian: Scalable multidimensional anonymisation for big data privacy preservation
JP2015064876A (ja) 二分木を用いてモデル化される工業製品を設計するためのコンピュータ実装方法
US20210165913A1 (en) Controlling access to de-identified data sets based on a risk of re- identification
JP2014153961A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN111835776A (zh) 一种网络流量数据隐私保护方法及系统
JP6310345B2 (ja) プライバシー保護装置、プライバシー保護方法及びデータベース作成方法
Otunuga Global stability of nonlinear stochastic SEI epidemic model with fluctuations in transmission rate of disease
US9223992B2 (en) System and method for evaluating a reverse query
JP2014127037A (ja) 情報処理プログラム、情報処理方法及び装置
JP6450098B2 (ja) 匿名化装置、匿名化方法及び匿名化プログラム
WO2012081165A1 (ja) データベース管理装置及びデータベース管理方法
JP2018085056A (ja) 算出装置、算出方法、及び算出プログラム
CN113157767B (zh) 一种风险数据监控方法、装置以及设备
JP7381290B2 (ja) 計算機システム及びデータの管理方法
JP5867208B2 (ja) データモデル変換プログラム、データモデル変換方法およびデータモデル変換装置
Scheithauer et al. Knapsack problems
JP2016184213A (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: 12803398

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013521656

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2840049

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14128456

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 12803398

Country of ref document: EP

Kind code of ref document: A1