JP6309866B2 - Anonymization system - Google Patents

Anonymization system Download PDF

Info

Publication number
JP6309866B2
JP6309866B2 JP2014180442A JP2014180442A JP6309866B2 JP 6309866 B2 JP6309866 B2 JP 6309866B2 JP 2014180442 A JP2014180442 A JP 2014180442A JP 2014180442 A JP2014180442 A JP 2014180442A JP 6309866 B2 JP6309866 B2 JP 6309866B2
Authority
JP
Japan
Prior art keywords
encryption
data
anonymization
encrypted
value
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2014180442A
Other languages
Japanese (ja)
Other versions
JP2016053693A (en
Inventor
小池 正修
正修 小池
吉弘 藤井
吉弘 藤井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Digital Solutions Corp
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 Toshiba Corp, Toshiba Digital Solutions Corp filed Critical Toshiba Corp
Priority to JP2014180442A priority Critical patent/JP6309866B2/en
Publication of JP2016053693A publication Critical patent/JP2016053693A/en
Application granted granted Critical
Publication of JP6309866B2 publication Critical patent/JP6309866B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明の実施形態は、匿名化システムに関する。   Embodiments described herein relate generally to an anonymization system.

近年、顧客情報やカルテ情報等の大量の個人データを所有する企業等(以下、データ所有者という)が増加している。データ所有者の幾つかは、大量の個人データに統計的な処理を施して得られる情報をビジネス・顧客の傾向予測や病気の予防等の用途に用い、ビジネス上の新たな知見を得ることや、新たなサービスを始めることを検討している。   In recent years, companies and the like (hereinafter referred to as data owners) that possess large amounts of personal data such as customer information and medical record information have increased. Some data owners use information obtained by statistically processing a large amount of personal data for business / customer trend prediction, disease prevention, etc. Are considering starting a new service.

しかしながら、個人データを前述した用途に用いる場合、プライバシーを保護するよう、個人データの取扱いに細心の注意を求められる。加えて、データ所有者は、統計処理の専門性が高いことから、統計処理を施す会社またはサービス(以下、データ分析者という)を外部サービスとして利用することになる。このため、データ所有者は、より一層のプライバシー保護や用途の説明及び適切な運用等を実施しなければならない。この種の運用としては、例えば、データ分析者に提供する個人データの情報量を削減するといったことが挙げられる。但し、プライバシー保護の観点から個人データの情報量を削減しすぎると、有益な分析結果が得られない。   However, when personal data is used for the above-mentioned purposes, careful attention is required for handling personal data so as to protect privacy. In addition, since the data owner is highly specialized in statistical processing, a company or service (hereinafter referred to as a data analyst) that performs statistical processing is used as an external service. For this reason, the data owner must carry out further privacy protection, explanation of usage, appropriate operation, and the like. Examples of this type of operation include reducing the amount of personal data provided to a data analyst. However, if the amount of personal data is reduced too much from the viewpoint of privacy protection, a useful analysis result cannot be obtained.

よって、多くの場合、個人データの情報量を可能な限り低減せずに、個人の特定を困難又は不可能にする匿名化処理が用いられる。このとき、データ所有者は、大量の個人データに匿名化処理を施し、得られた匿名化データを、統計処理を行う外部のデータ分析者に提供する。   Therefore, in many cases, an anonymization process that makes it difficult or impossible to identify an individual without reducing the amount of information of the personal data as much as possible is used. At this time, the data owner performs anonymization processing on a large amount of personal data, and provides the obtained anonymization data to an external data analyst who performs statistical processing.

一方、外部サービスの一例として、クラウドコンピューティングサービス(以下、クラウドサービスともいう)がある。近年、クラウドサービスの普及に伴い、大量データを管理する設備がデータ所有者の社内サーバから社外のクラウドサービスに移行しつつある。このときも同様に、データ所有者は、大量の個人データに暗号化処理又は匿名化処理を施し、得られた暗号化データ又は匿名化データをクラウドサービスに管理させる等のセキュリティ対策を講じている。   On the other hand, as an example of an external service, there is a cloud computing service (hereinafter also referred to as a cloud service). In recent years, with the spread of cloud services, facilities for managing large amounts of data are shifting from an internal server of a data owner to an external cloud service. Similarly, at this time, the data owner takes security measures such as performing encryption processing or anonymization processing on a large amount of personal data and causing the cloud service to manage the obtained encrypted data or anonymization data. .

また、自動販売機、エレベータ、プラント設備等の各機器(情報機器以外の装置)がセンサ、処理装置及び通信装置等を備え、人間の介在なしにネットワークを介して情報交換や遠隔監視・制御等を行うM2M(machine to machine)サービスが普及してきている。このようなM2Mサービスにおいても、各機器から収集した大量の情報を利用するサービスが今後実現されていくと推測される。   In addition, each device (devices other than information devices) such as vending machines, elevators, plant facilities, etc. is equipped with sensors, processing devices, communication devices, etc., information exchange and remote monitoring / control, etc. via a network without human intervention M2M (machine to machine) services that perform the above are becoming popular. In such an M2M service, it is estimated that a service using a large amount of information collected from each device will be realized in the future.

M2Mサービスでは、同様に、収集する情報に含まれる個人データ等にはセキュリティ対策が求められる。一方、セキュリティ対策として、収集した情報に暗号化処理を施すと、得られた暗号化データを分析することができない。これに対し、セキュリティ対策として、収集した情報に匿名化処理を施すと、得られた匿名化データを分析することができる。匿名化データは、個人、機器及び場所情報等を特定できない状態であるものの、統計処理による分析が可能なため、プライバシー保護の観点から好ましい。   Similarly, in the M2M service, security measures are required for personal data included in information to be collected. On the other hand, if the collected information is encrypted as a security measure, the obtained encrypted data cannot be analyzed. On the other hand, when the collected information is anonymized as a security measure, the obtained anonymized data can be analyzed. Although anonymized data is in a state where individuals, devices, location information, etc. cannot be specified, it is preferable from the viewpoint of privacy protection because it can be analyzed by statistical processing.

匿名化処理の代表的な方法としては、例えば、削除、仮名化、トップコーディング、グルーピング、リサンプリング、ソート、スワッピング、誤差の導入、などが挙げられる(例えば、非特許文献1を参照。)。   As a typical method of anonymization processing, for example, deletion, pseudonymization, top coding, grouping, resampling, sorting, swapping, error introduction, and the like can be cited (for example, see Non-Patent Document 1).

ここで、「削除」は、世帯や居住地等のように、個人を直接又は間接的に特定できる識別情報を削除する方法である。   Here, “deletion” is a method of deleting identification information that can directly or indirectly specify an individual, such as a household or residence.

「仮名化」は、氏名等のように、個人を直接的に特定できる識別情報を削除し、別のIDや仮名をつける方法である。   “Kana conversion” is a method of deleting identification information that can directly specify an individual such as a name and adding another ID or pseudonym.

「トップコーディング」は、年齢や世帯人数等の属性のように、特に大きい値や小さい値をもつ個人を特定し易くする特殊な属性をまとめる方法である。例えば、特に大きい値や小さい値を、上側しきい値以上、下側しきい値以下というようにまとめる。   “Top coding” is a method for collecting special attributes that make it easy to identify individuals having particularly large or small values, such as attributes such as age and the number of households. For example, particularly large values and small values are grouped so as to be higher than the upper threshold value and lower than the lower threshold value.

「グルーピング」は、年齢等の属性のように、特定の値をグループ分けして、階級区別に変更する方法である。年齢の場合、例えば、特定の値「23歳」を、階級区別「20代」に変更する。   “Grouping” is a method in which specific values are grouped and changed to class distinction like attributes such as age. In the case of age, for example, the specific value “23 years old” is changed to a class distinction “20s”.

「リサンプリング」は、全体から80%のデータをランダムに抽出して提供する等のように、全てのデータのうちの一部のデータだけをデータ分析者に提供する方法である。   “Resampling” is a method of providing only a part of all data to the data analyst, such as randomly extracting and providing 80% of the data from the whole.

「ソート」は、データのレコードの配列順を並び替えることでランダムにし、個人の特定を不可能にする方法である。   “Sort” is a method in which the arrangement order of data records is rearranged to make it random, and individual identification is impossible.

「スワッピング」は、2人分のデータ間における当該2人の年齢の入れ替え又は身長の入れ替えのように、2つのレコードの間で一部の属性の値を入れ替える方法である。   “Swapping” is a method of exchanging the values of some attributes between two records, such as exchanging the age or height of the two people between data for two people.

「誤差の導入」は、例えば、身長に誤差を導入するといったように、レコードの一部の属性に誤差を導入する方法である。   “Introduction of error” is a method of introducing an error into some attributes of a record, for example, introducing an error into height.

「匿名データの作成・提供に係るガイドライン 別紙2 匿名化処理の技法」、[online]、平成23年3月28日、総務省、[平成26年4月25日検索]、インターネット<URL: http://www.stat.go.jp/index/seido/pdf/35glv4.pdf>“Guidelines for Creating and Providing Anonymous Data Attachment 2 Techniques for Anonymization” [online], March 28, 2011, Ministry of Internal Affairs and Communications, [April 25, 2014 search], Internet <URL: http : //www.stat.go.jp/index/seido/pdf/35glv4.pdf>

以上のような匿名化処理は、通常は特に問題ないが、本発明の検討によれば、以下の(A)データ所有者が暗号化データを外部サービスに保存する場合と、(B)M2Mサービスが暗号化データを外部サービスに保存する場合と、のいずれの場合においても改良の余地がある。以下、クラウドサービスを外部サービスの一例として述べる。   The anonymization process as described above is usually not particularly problematic. However, according to the examination of the present invention, the following (A) the case where the data owner stores the encrypted data in an external service, and (B) the M2M service However, there is room for improvement in both cases where encrypted data is stored in an external service. Hereinafter, a cloud service will be described as an example of an external service.

(A)データ所有者が単純に個人データを暗号化し、得られた暗号化データをクラウドシステムに保存した場合、データ所有者は、暗号化データをダウンロードして復号し、得られた個人データを匿名化し、匿名化データをデータ分析者に提供することになる。ここで、データ所有者は、暗号化データをダウンロードして復号したとき、全ての個人データを得る。この状況は、データ所有者にとってはクラウドシステムを用いる意味があまりないため、好ましくない。なお、データ所有者が全ての個人データを得る状況は、データ所有者が暗号化データを復号しなければ、回避できると推測される。   (A) When the data owner simply encrypts the personal data and stores the obtained encrypted data in the cloud system, the data owner downloads and decrypts the encrypted data, and the obtained personal data Anonymize and provide anonymized data to data analysts. Here, the data owner obtains all personal data when the encrypted data is downloaded and decrypted. This situation is undesirable for data owners because it makes little sense to use a cloud system. It is assumed that the situation where the data owner obtains all personal data can be avoided unless the data owner decrypts the encrypted data.

これに伴い、データ所有者が暗号化データをデータ分析者側で復号可能なように変換してデータ分析者に提供する場合を検討する。この場合、データ所有者が全ての個人データを得る状況を回避できるものの、データ分析者により復号された個人データが匿名化されてないため、プライバシー保護の観点から好ましくない。   Along with this, the case where the data owner converts the encrypted data so that the data analyst can decrypt it and provides it to the data analyst will be considered. In this case, although the situation where the data owner obtains all personal data can be avoided, the personal data decrypted by the data analyst is not anonymized, which is not preferable from the viewpoint of privacy protection.

また、データ所有者が暗号化データを復号せずに、個人データを匿名化する観点から、クラウドシステムが暗号化データを復号して匿名化する場合を検討する。この場合、復号により得られた個人データがクラウドシステム上に展開されるため、セキュリティの観点から好ましくない。   Further, from the viewpoint of anonymizing personal data without decrypting the encrypted data, the case where the cloud system decrypts the encrypted data and anonymizes the data is considered. In this case, personal data obtained by decryption is developed on the cloud system, which is not preferable from the viewpoint of security.

さらに、データ所有者が個人データを匿名化し、匿名化データを暗号化し、暗号化データをクラウドシステムに保存し、データ分析者がクラウドシステム内の暗号化データをダウンロードして復号する場合を検討する。この場合、クラウドシステム内の暗号化データは、原本の個人データから情報量が削減された匿名化データが暗号化されている。このとき、クラウドシステムとは別に原本の個人データを管理する必要がデータ所有者に生じるため、データ所有者にはクラウドシステムを用いる意味がなく、好ましくない。   In addition, consider the case where the data owner anonymizes personal data, encrypts the anonymized data, stores the encrypted data in the cloud system, and the data analyst downloads and decrypts the encrypted data in the cloud system. . In this case, the encrypted data in the cloud system is anonymized data in which the amount of information is reduced from the original personal data. At this time, since it is necessary for the data owner to manage the original personal data separately from the cloud system, the data owner does not make sense to use the cloud system, which is not preferable.

(B)データ所有者は、M2Mサービスの各機器により情報の収集や遠隔監視・制御を行う場合、収集した情報内の個人データから情報量を削減した匿名化データをデータ分析者に提供する必要がある。ここで、データ所有者が個人データを収集してクラウドシステムに保存する場合、データ所有者の負担が大きいため、個人データを収集した機器が当該個人データをクラウドシステムに保存する方が好ましい。但し、個人データを収集した機器が個人データをクラウドシステムに保存する場合でも、セキュリティの観点から、個人データを暗号化して得られた暗号化データをクラウドシステムに保存する必要がある。   (B) Data owners need to provide data analysts with anonymized data in which the amount of information is reduced from personal data in the collected information when information is collected or remotely monitored / controlled by each M2M service device. There is. Here, when the data owner collects personal data and stores it in the cloud system, the burden on the data owner is large. Therefore, it is preferable that the device that collected the personal data stores the personal data in the cloud system. However, even when the device that collected the personal data stores the personal data in the cloud system, it is necessary to store the encrypted data obtained by encrypting the personal data in the cloud system from the viewpoint of security.

しかしながら、このように暗号化データをクラウドシステムに保存した場合、上記(A)と同様に、データ所有者が暗号化データをダウンロードして復号したとき、全ての個人データを得るという、好ましくない状況になる。   However, when the encrypted data is stored in the cloud system in this way, as in (A) above, when the data owner downloads and decrypts the encrypted data, all personal data is obtained. become.

なお、クラウドシステムに保存された暗号化データを、データ所有者に復号処理や匿名化処理等の負担をかけずに匿名化してデータ分析者に提供する方法は知られていない。   Note that there is no known method for anonymizing encrypted data stored in a cloud system and providing it to a data analyst without burdening the data owner with decryption processing, anonymization processing, or the like.

本発明者の検討によれば、上記(A)及び(B)の場合の好ましくない状況は、個人データを暗号化して得られた暗号化データを復号せずに匿名化できれば、回避できると推測される。   According to the study of the present inventor, it is estimated that the unfavorable situation in the cases (A) and (B) can be avoided if the encrypted data obtained by encrypting the personal data can be anonymized without being decrypted. Is done.

本発明が解決しようとする課題は、個人データを暗号化して得られた暗号化データを復号せずに匿名化し得る匿名化システムを提供することである。   The problem to be solved by the present invention is to provide an anonymization system that can anonymize encrypted data obtained by encrypting personal data without decrypting it.

実施形態の匿名化システムは、1台以上の暗号化装置、匿名化装置及び復号装置を備えている。   The anonymization system of the embodiment includes one or more encryption devices, anonymization devices, and decryption devices.

前記暗号化装置は、第1記憶手段及び暗号化手段を備えている。   The encryption apparatus includes first storage means and encryption means.

前記第1記憶手段は、各項目毎に値を含む個人データを記憶する。   The first storage means stores personal data including a value for each item.

前記暗号化手段は、前記個人データに含まれる各項目の値を暗号化する処理により、当該個人データから暗号化データを生成する。   The encryption means generates encrypted data from the personal data by a process of encrypting the value of each item included in the personal data.

前記匿名化装置は、第2記憶手段及び匿名化手段を備えている。   The anonymization device includes second storage means and anonymization means.

前記第2記憶手段は、前記暗号化装置により生成された前記暗号化データを記憶する。   The second storage means stores the encrypted data generated by the encryption device.

前記匿名化手段は、前記第2記憶手段内の前記暗号化データのうちの一部の項目の値を復号せずに匿名化する処理により、当該暗号化データから暗号化匿名化データを生成する。   The anonymization means generates encrypted anonymized data from the encrypted data by performing anonymization without decrypting values of some items of the encrypted data in the second storage means .

前記復号装置は、第3記憶手段及び復号手段を備えている。   The decoding device includes third storage means and decoding means.

前記第3記憶手段は、前記匿名化装置により生成された前記暗号化匿名化データを記憶する。   The third storage means stores the encrypted anonymized data generated by the anonymization device.

前記復号手段は、前記第3記憶手段内の前記暗号化匿名化データを復号する処理により、当該暗号化匿名化データから匿名化データを生成する。   The decrypting means generates anonymized data from the encrypted anonymized data by a process of decrypting the encrypted anonymized data in the third storage means.

第1の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。It is a schematic diagram which shows the anonymization system which concerns on 1st Embodiment, and its periphery structure. 同実施形態における変形例の構成を示す模式図である。It is a schematic diagram which shows the structure of the modification in the embodiment. 同実施形態における個人データの一例を示す模式図である。It is a schematic diagram which shows an example of the personal data in the embodiment. 同実施形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in the embodiment. 同実施形態における暗号化データの一例を示す模式図である。It is a schematic diagram which shows an example of the encryption data in the embodiment. 同実施形態における暗号化匿名化データの一例を示す模式図である。It is a schematic diagram which shows an example of the encryption anonymization data in the embodiment. 同実施形態における変形例の動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating operation | movement of the modification in the embodiment. 同実施形態における変形例の変形動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the deformation | transformation operation | movement of the modification in the embodiment. 第2の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。It is a schematic diagram which shows the anonymization system which concerns on 2nd Embodiment, and its periphery structure. 同実施形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in the embodiment. 第3の実施形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in 3rd Embodiment. 同実施形態における個人データの一例を示す模式図である。It is a schematic diagram which shows an example of the personal data in the embodiment. 同実施形態における暗号化データの一例を示す模式図である。It is a schematic diagram which shows an example of the encryption data in the embodiment. 同実施形態における暗号化匿名化データの一例を示す模式図である。It is a schematic diagram which shows an example of the encryption anonymization data in the embodiment. 第4の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。It is a schematic diagram which shows the anonymization system which concerns on 4th Embodiment, and its periphery structure. 同実施形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in the embodiment. 第5の実施形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in 5th Embodiment. 同実施形態における個人データの一例を示す模式図である。It is a schematic diagram which shows an example of the personal data in the embodiment. 同実施形態における暗号化データの一例を示す模式図である。It is a schematic diagram which shows an example of the encryption data in the embodiment. 同実施形態における暗号化匿名化データの一例を示す模式図である。It is a schematic diagram which shows an example of the encryption anonymization data in the embodiment. 第6の実施形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in 6th Embodiment. 第7の実施形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in 7th Embodiment. 第9の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。It is a schematic diagram which shows the anonymization system which concerns on 9th Embodiment, and its periphery structure. 同実施形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in the embodiment. 同実施形態における暗号化データの一例を示す模式図である。It is a schematic diagram which shows an example of the encryption data in the embodiment. 同実施形態における暗号化匿名化データの一例を示す模式図である。It is a schematic diagram which shows an example of the encryption anonymization data in the embodiment. 同実施形態における変形例の構成を示す模式図である。It is a schematic diagram which shows the structure of the modification in the embodiment. 同実施形態における変形例の動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating operation | movement of the modification in the embodiment. 同実施形態における変形例の変形動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the deformation | transformation operation | movement of the modification in the embodiment. 第10の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。It is a schematic diagram which shows the anonymization system which concerns on 10th Embodiment, and its periphery structure. 同実施形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in the embodiment. 第11の実施形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in 11th Embodiment. 同実施形態における暗号化データの一例を示す模式図である。It is a schematic diagram which shows an example of the encryption data in the embodiment. 同実施形態における暗号化匿名化データの一例を示す模式図である。It is a schematic diagram which shows an example of the encryption anonymization data in the embodiment. 第12の実施形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in 12th Embodiment. 第13の実施形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in 13th Embodiment. 同実施形態における暗号化データの一例を示す模式図である。It is a schematic diagram which shows an example of the encryption data in the embodiment. 同実施形態における暗号化匿名化データの一例を示す模式図である。It is a schematic diagram which shows an example of the encryption anonymization data in the embodiment. 同実施形態における変形例の動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating operation | movement of the modification in the embodiment. 同実施形態における変形例の変形動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the deformation | transformation operation | movement of the modification in the embodiment. 第14の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。It is a schematic diagram which shows the anonymization system which concerns on 14th Embodiment, and its periphery structure. 同実施形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in the embodiment. 各実施形態の概要を説明するための模式図である。It is a schematic diagram for demonstrating the outline | summary of each embodiment. 各実施形態の概要を説明するための模式図である。It is a schematic diagram for demonstrating the outline | summary of each embodiment.

以下、各実施形態について図面を用いて説明するが、その前に、各実施形態に個別に用いられる各種の暗号方式等について述べる。また、各実施形態に用いられる各装置は、それぞれハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。   Each embodiment will be described below with reference to the drawings, but before that, various encryption methods and the like used individually in each embodiment will be described. Each device used in each embodiment can be implemented with either a hardware configuration or a combination configuration of hardware resources and software. As the software of the combined configuration, a program that is installed in advance on a computer of a corresponding device from a network or a storage medium and that realizes the function of the corresponding device is used.

<各種の暗号方式>
暗号化したデータを用いて統計処理を行う技術として、暗号化した状態で元のデータに対して、加減算や大小比較といった各種処理を実行可能な方式が知られている。この種の方式としては、例えば、第1の文献([Paillier])、第2の文献([OPE])、第3の文献([HLP10])及び第4の文献([AN2013-51001])にそれぞれ記載されている第1乃至第4の方式がある。ここで、各文献([Paillier]、[OPE]、[HLP10]、[AN2013-51001])に関する情報は、次の通りである。
<Various encryption methods>
As a technique for performing statistical processing using encrypted data, there is known a method capable of executing various processes such as addition / subtraction and size comparison with respect to original data in an encrypted state. As this type of method, for example, the first document ([Paillier]), the second document ([OPE]), the third document ([HLP10]), and the fourth document ([AN2013-51001]) There are first to fourth methods described respectively in FIG. Here, the information regarding each document ([Paillier], [OPE], [HLP10], [AN2013-51001]) is as follows.

[Paillier] Pascal Paillier, Public-Key Cryptosystems Based on Composite Degree Residuosity Classes, EUROCRYPT 1999, pp223-238.
[OPE] A. Boldyreva, N. Chenette, Y. Lee and A. O'Neill. Order-preserving symmetric encryption. In Eurocrypt '09, pp. 224{241. Springer, 2009.
[HLP10] C-Y. Hsu, C-S. Lu, S-C. Pei, “Homomorphic Encryption-based Secure SIFT for Privacy-Preserving Feature Extraction”, Proceedings of SPIE - The International Society for Optical Engineering, 2011.
[AN2013-51001] 特願2013-051001 (出願日:2013年3月13日)。
[Paillier] Pascal Paillier, Public-Key Cryptosystems Based on Composite Degree Residuosity Classes, EUROCRYPT 1999, pp223-238.
[OPE] A. Boldyreva, N. Chenette, Y. Lee and A. O'Neill. Order-preserving symmetric encryption. In Eurocrypt '09, pp. 224 {241. Springer, 2009.
[HLP10] CY. Hsu, CS. Lu, SC. Pei, “Homomorphic Encryption-based Secure SIFT for Privacy-Preserving Feature Extraction”, Proceedings of SPIE-The International Society for Optical Engineering, 2011.
[AN2013-51001] Japanese Patent Application No. 2013-051001 (filing date: March 13, 2013).

第1の方式は、暗号化した状態で加減算が可能な暗号方式(以下、準同型暗号と呼ぶ)であり、[Paillier]方式とも呼ぶ。   The first method is an encryption method that can be added and subtracted in an encrypted state (hereinafter referred to as homomorphic encryption), and is also referred to as a [Paillier] method.

第2の方式は、暗号文の大小関係と対応する平文の大小関係が一致する順序保存暗号(Order Preserving Encryption)方式であり、[OPE]方式とも呼ぶ。   The second scheme is an order preserving encryption scheme in which the magnitude relationship of ciphertext matches the corresponding plaintext magnitude relationship, and is also referred to as an [OPE] scheme.

第3の方式は、準同型暗号で、かつ大小比較が可能な方式であり、[HLP10]方式とも呼ぶ。   The third method is a homomorphic encryption and can be compared in size, and is also referred to as an [HLP10] method.

第4の方式は、準同型暗号で、かつ大小比較が可能な方式であり、[AN2013-51001]方式とも呼ぶ。   The fourth method is a homomorphic encryption and can be compared in size, and is also referred to as [AN2013-51001] method.

各実施形態では、この種の方式を用いて、暗号化したデータを匿名化する。このとき、元のデータが暗号化された状態のため、匿名化の前に、暗号化したデータを外部に出力できる。従って、暗号化したデータをクラウド等の外部サービスに保管できる。また、暗号化したデータを匿名化して得られた暗号化匿名化データを復号し、匿名化データを得るようにしてもよい。   In each embodiment, the encrypted data is anonymized using this type of method. At this time, since the original data is encrypted, the encrypted data can be output to the outside before anonymization. Therefore, the encrypted data can be stored in an external service such as a cloud. Further, the anonymized data may be obtained by decrypting the encrypted anonymized data obtained by anonymizing the encrypted data.

次に、暗号化した状態で演算を行う各方式の代表的なアルゴリズムについて説明する。   Next, a typical algorithm of each method for performing calculation in an encrypted state will be described.

始めに、(加法的な)準同型暗号方式([Paillier]方式)について述べる。[Paillier]方式の基本的なモデルは、以下の鍵生成、暗号化、暗号文の加算、暗号文の減算、復号の5つの関数(以下、アルゴリズムともいう)からなる。   First, the (additive) homomorphic encryption method ([Paillier] method) will be described. The basic model of the [Paillier] method includes the following five functions (hereinafter also referred to as an algorithm): key generation, encryption, ciphertext addition, ciphertext subtraction, and decryption.

(鍵生成)KeyGen(1k)→(pkA,skA
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、公開鍵pkAと秘密鍵skAの組(pkA,skA)を出力する。
(Key generation) KeyGen (1 k ) → (pk A , sk A )
When the security parameter 1 k is input, the key generation algorithm KeyGen outputs a set (pk A , sk A ) of the public key pk A and the secret key sk A.

(暗号化)Enc(pkA,m1)→CA,m1
暗号化アルゴリズムEncは、ユーザAの公開鍵pkAと平文m1が入力されると、ユーザA宛の暗号文CA,m1を出力する。
(Encryption) Enc (pk A , m1) → C A, m1
When the public key pk A of user A and plaintext m1 are input, the encryption algorithm Enc outputs ciphertext CA , m1 addressed to user A.

(暗号文の加算)Add(CA,m1,CA,m2)→CA,m1+m2
加算アルゴリズムAddは、ユーザA宛の暗号文CA,m1とCA,m2が入力されると、ユーザA宛の暗号文CA,m1+m2を出力する。
(Ciphertext addition) Add (C A, m1 , C A, m2 ) → C A, m1 + m2
When the ciphertext CA, m1 and CA , m2 addressed to the user A are input, the addition algorithm Add outputs the ciphertext CA, m1 + m2 addressed to the user A.

(暗号文の減算)Sub(CA,m1,CA,m2)→CA,m1-m2
減算アルゴリズムSubは、ユーザA宛の暗号文CA,m1とCA,m2が入力されると、ユーザA宛の暗号文CA,m1-m2を出力する。
(Subtraction of ciphertext) Sub ( CA , m1 , CA , m2 ) → CA, m1-m2
When the ciphertext CA, m1 and CA , m2 addressed to the user A are input, the subtraction algorithm Sub outputs the ciphertext CA, m1-m2 addressed to the user A.

(復号)Dec(skA,CA,m1+m2)→m1+m2
復号アルゴリズムDecは、ユーザAの秘密鍵skAとユーザA宛の暗号文CA,m1+m2が入力されると、平文m1+m2を出力する。
(Decryption) Dec (sk A , C A, m1 + m2 ) → m1 + m2
When the decryption algorithm Dec receives the user A's private key sk A and the ciphertext C A, m1 + m2 addressed to the user A, the decryption algorithm Dec outputs plaintext m1 + m2.

次に、大小比較可能な順序保存暗号方式([OPE]方式)について述べる。[OPE]方式の基本的なモデルは、以下の鍵生成、暗号化、暗号文の比較、復号の4つの関数(以下、アルゴリズムともいう)からなる。   Next, an order-preserving encryption method ([OPE] method) that can be compared in size is described. The basic model of the [OPE] method includes the following four functions (hereinafter also referred to as an algorithm): key generation, encryption, ciphertext comparison, and decryption.

(鍵生成)KeyGen(1k)→(skA
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、秘密鍵skAを出力する。
(Key generation) KeyGen (1 k ) → (sk A )
The key generation algorithm KeyGen outputs the secret key sk A when the security parameter 1 k is input.

(暗号化)Enc(skA,m1)→CA,m1
暗号化アルゴリズムEncは、秘密鍵skAと平文m1が入力されると、暗号文CA,m1を出力する。
(Encryption) Enc (sk A , m1) → C A, m1
The encryption algorithm Enc outputs the ciphertext C A, m1 when the secret key sk A and the plaintext m1 are input.

暗号文の比較アルゴリズムCompは、暗号文CA,m1とCA,m2が入力されると、m1がm2より大きなときは1を、m1とm2が等しいときは0を、m1がm2よりも小さいときは-1を出力する。 The ciphertext comparison algorithm Comp, when ciphertext C A, m1 and C A, m2 is input, is 1 when m1 is greater than m2, 0 when m1 and m2 are equal, and m1 is greater than m2. If it is smaller, -1 is output.

(復号)Dec(skA,CA,m1)→ m1
復号アルゴリズムDecは、秘密鍵skAと暗号文CA,m1が入力されると、平文m1を出力する。
(Decryption) Dec (sk A , C A, m1 ) → m1
The decryption algorithm Dec outputs the plaintext m1 when the secret key sk A and the ciphertext C A, m1 are input.

次に、(加法的な)準同型暗号方式と大小比較可能な暗号方式([HLP10]方式、[AN2013-51001]方式)の性質を保持する暗号方式について述べる。この暗号方式の基本的なモデルは、以下の鍵生成、暗号化、暗号文の加算、暗号文の減算、暗号文の比較、復号の6つの関数(以下、アルゴリズムともいう)からなる。   Next, encryption methods that retain the properties of (additive) homomorphic encryption methods and encryption methods that can be compared in size ([HLP10] method, [AN2013-51001] method) will be described. The basic model of this cryptosystem consists of the following six functions (hereinafter also referred to as algorithms): key generation, encryption, ciphertext addition, ciphertext subtraction, ciphertext comparison, and decryption.

(鍵生成)KeyGen(1k)→(skA
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、秘密鍵skAを出力する。
(Key generation) KeyGen (1 k ) → (sk A )
The key generation algorithm KeyGen outputs the secret key sk A when the security parameter 1 k is input.

(暗号化)Enc(skA,m1)→CA,m1
暗号化アルゴリズムEncは、秘密鍵skAと平文m1が入力されると、暗号文CA,m1を出力する。
(Encryption) Enc (sk A , m1) → CA , m1
The encryption algorithm Enc outputs the ciphertext C A, m1 when the secret key sk A and the plaintext m1 are input.

(暗号文の加算)Add(CA,m1,CA,m2)→CA,m1+m2
加算アルゴリズムAddは、暗号文CA,m1とCA,m2が入力されると、暗号文CA,m1+m2を出力する。
(Ciphertext addition) Add (C A, m1 , C A, m2 ) → C A, m1 + m2
When the ciphertext C A, m1 and C A, m2 are input, the addition algorithm Add outputs the ciphertext C A, m1 + m2 .

(暗号文の減算)Sub(CA,m1,CA,m2)→CA,m1-m2
減算アルゴリズムSubは、暗号文CA,m1とCA,m2が入力されると、暗号文CA,m1-m2を出力する。
(Subtraction of ciphertext) Sub ( CA , m1 , CA , m2 ) → CA, m1-m2
When the ciphertext C A, m1 and C A, m2 are input, the subtraction algorithm Sub outputs the ciphertext CA, m1-m2 .

暗号文の比較アルゴリズムCompは、暗号文CA,m1とCA,m2が入力されると、m1がm2より大きなときは1を、m1とm2が等しいときは0を、m1がm2よりも小さいときは-1を出力する。 The ciphertext comparison algorithm Comp, when ciphertext C A, m1 and C A, m2 is input, is 1 when m1 is greater than m2, 0 when m1 and m2 are equal, and m1 is greater than m2. If it is smaller, -1 is output.

(復号)Dec(skA,CA,m1+m2)→ m1+m2
復号アルゴリズムDecは、秘密鍵skAと暗号文CA,m1+m2が入力されると、平文m1+m2を出力する。
(Decryption) Dec (sk A , C A, m1 + m2 ) → m1 + m2
The decryption algorithm Dec outputs the plaintext m1 + m2 when the secret key sk A and the ciphertext C A, m1 + m2 are input.

また、上述したモデルに基づく、[AN2013-51001]方式の各関数の具体的なアルゴリズムの一例を述べる。他の方式とは異なり、この[AN2013-51001]方式については、本願出願時に未公開のため、各関数のアルゴリズムの一例を詳細に述べる。   An example of a specific algorithm for each function of the [AN2013-51001] method based on the above-described model will be described. Unlike the other methods, the [AN2013-51001] method is not disclosed at the time of filing the present application, so an example of an algorithm for each function will be described in detail.

(鍵生成)KeyGen(1k)→(a、gsv、g、N、a-1、s、v)
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、暗号化鍵a、gsv、g、N、二次演算鍵a-1、s、N、三次演算鍵v、N、及び復号鍵sv、a-1、N(又はs、v、a-1、N)を出力する。
(Key generation) KeyGen (1 k ) → (a, g sv , g, N, a −1 , s, v)
When the security parameter 1 k is input, the key generation algorithm KeyGen is provided with an encryption key a, g sv , g, N, a secondary operation key a −1 , s, N, a tertiary operation key v, N, and a decryption key sv, a −1 , N (or s, v, a −1 , N) are output.

以下、この鍵生成アルゴリズムKeyGenによる鍵生成処理の一例を具体的に述べる。   Hereinafter, an example of a key generation process by this key generation algorithm KeyGen will be specifically described.

始めに、鍵生成アルゴリズムKeyGenは、p’=(p−1)/2,q’=(q−1)/2が素数となる素数p,qを生成する。素数p,qは、上記セキュリティパラメータ1kに対応するセキュリティパラメータλに基づいて、合成数N=pqのビット数がλ又はλより大きい値となるように生成される。 First, the key generation algorithm KeyGen generates prime numbers p and q in which p ′ = (p−1) / 2 and q ′ = (q−1) / 2 are prime numbers. The prime numbers p and q are generated based on the security parameter λ corresponding to the security parameter 1 k so that the number of bits of the composite number N = pq is greater than λ or λ.

次に、鍵生成アルゴリズムKeyGenは、パラメータpp’qq’及びNを計算する。   Next, the key generation algorithm KeyGen calculates the parameters pp'qq 'and N.

次に、鍵生成アルゴリズムKeyGenは、位数がpp’qq’である乗法群Gを生成し、Gの元gをGからランダムに選択する。位数がpp’qq’である乗法群Gを生成するには、例えば、Z2の元をZ2からランダムに選択し、選択した元を二乗して得られた値をgとすれば良い。ここで、Z2はZ2かつNと互いに素な整数の集合(=(Z/NZ))であり、合成数Nに対する乗法群Z2と呼んで良い。Z2は0以上N未満の整数の集合(=(Z/NZ)である。
Next, the key generation algorithm KeyGen generates a multiplicative group G having an order of pp′qq ′, and randomly selects an element g of G from G. The position number to generate a multiplicative group G is Pp'qq ', for example, select the Z N 2 * original randomly from Z N 2 *, a value obtained by squaring the selected element g What should I do? Here, Z N 2 * is a set of integers that are relatively prime to Z N 2 and N 2 (= (Z / N 2 Z) * ), and may be called a multiplicative group Z N 2 * for the composite number N 2 . . Z N 2 is a set of integers greater than or equal to 0 and less than N 2 (= (Z / N 2 Z).

次に、鍵生成アルゴリズムKeyGenは、先に計算したパラメータpp’qq’及びNに基づき、各鍵の一部a,s,vを集合{1,…,pp’qq’}からそれぞれランダムに選択する。   Next, the key generation algorithm KeyGen randomly selects part a, s, v of each key from the set {1,..., Pp′qq ′} based on the previously calculated parameters pp′qq ′ and N. To do.

続いて、鍵生成アルゴリズムKeyGenは、a・a−1modN=1を満たすa−1の値と、gsvの値とを計算する。しかる後、鍵生成アルゴリズムKeyGenは、暗号化鍵a,gsv,g,N、二次演算鍵a−1,s,N、三次演算鍵v,N、、及び復号鍵sv、a-1、N(又はs、v、a-1、N)を出力する。 Subsequently, the key generation algorithm KeyGen calculates a value of a −1 satisfying a · a −1 modN 2 = 1 and a value of g sv . Thereafter, the key generation algorithm KeyGen includes encryption keys a, g sv , g, N, secondary operation keys a −1 , s, N, tertiary operation keys v, N, and decryption keys sv, a −1 , N (or s, v, a −1 , N) is output.

なお、暗号化鍵は、a,sv,g,Nであっても良いし、a,s,v,g,Nであっても良い。また、g,N,Nは暗号化鍵、二次演算鍵、及び三次演算鍵に含めず、公開パラメータとして各装置に対して公開しておいても良い。まとめると、暗号鍵はa,s,v(又はa,sv)を含む。二次演算鍵はa−1,sを含む。三次演算鍵はvを含む。 The encryption key may be a, sv, g, N, or a, s, v, g, N. Further, g, N, and N 2 may not be included in the encryption key, the secondary operation key, and the tertiary operation key, but may be disclosed to each device as public parameters. In summary, the encryption key includes a, s, v (or a, sv). The secondary operation key includes a −1 and s. The tertiary operation key includes v.

これらのことは、後述する各実施形態及び各変形例においても同様である。   The same applies to each embodiment and each modification described below.

以上により、鍵生成処理が完了する。なお、本明細書では、Gを乗法群と想定した記法を採用しているが、これに限らず、Gを加法群と想定した記法で表すことも可能である。   Thus, the key generation process is completed. In this specification, a notation assuming that G is a multiplicative group is adopted, but the present invention is not limited to this, and it is also possible to express the notation assuming that G is an additive group.

(暗号化)Enc(m)→C=(C1、C2)
暗号化アルゴリズムEncは、暗号化鍵と平文mが入力されると、暗号文C=(C1、C2)を出力する。
(Encryption) Enc (m) → C = (C 1 , C 2 )
When the encryption key and plaintext m are input, the encryption algorithm Enc outputs ciphertext C = (C 1 , C 2 ).

以下、この暗号化アルゴリズムEncによる暗号化処理の一例を具体的に述べる。   Hereinafter, an example of the encryption process by the encryption algorithm Enc will be specifically described.

ここでは、暗号化アルゴリズムEncがk(kは自然数)個の平文(暗号化対象の数値データ)m,…,mを暗号化する例を説明する。各平文mはZの元である。Zは0以上N未満の整数の集合(=(Z/NZ)である。 Here, an example in which the encryption algorithm Enc encrypts k (k is a natural number) plaintexts (numerical data to be encrypted) m 1 ,..., M k will be described. Each plaintext m i is the original Z N. Z N is a set of integers greater than or equal to 0 and less than N (= (Z / NZ)).

始めに、暗号化アルゴリズムEncは、k個の乱数r,…,rをZ2からランダムにそれぞれ選択する。次に、暗号化アルゴリズムEncは、生成した乱数r,…,rと、前述した暗号化鍵a,gsv,g,Nとを用いて、次式により平文m,…,mを暗号化する。
First, the encryption algorithm Enc randomly selects k random numbers r 1 ,..., Rk from Z N 2 * . Next, the encryption algorithm Enc uses the generated random numbers r 1 ,..., R k and the encryption keys a, g sv , g, N described above, and plaintexts m 1 ,. Is encrypted.

これにより、暗号文C(i=1,…,k)が生成される。なお、暗号化鍵aは、鍵生成アルゴリズムKeyGenを備えた鍵生成装置が生成しても良く、鍵生成アルゴリズムKeyGenを備えた暗号化装置が生成しても良い。後者の場合、鍵生成装置は、暗号化鍵gsv,g,Nを暗号化装置に送信し、暗号化装置は、暗号化鍵aを生成し、また、a−1の値を計算する。なお、暗号化装置は、pp’qq’の値を知らない場合、暗号化鍵aをZ2の中からランダムに選択すれば良い。 Thereby, the ciphertext C i (i = 1,..., K) is generated. The encryption key a may be generated by a key generation device provided with the key generation algorithm KeyGen, or may be generated by an encryption device provided with the key generation algorithm KeyGen. In the latter case, the key generation device transmits the encryption keys g sv , g, and N to the encryption device, and the encryption device generates the encryption key a and calculates the value of a− 1 . If the encryption device does not know the value of pp′qq ′, the encryption device a may randomly select the encryption key a from Z N 2 * .

以上により、暗号化処理が完了する。   Thus, the encryption process is completed.

(暗号文の一次演算処理)Cal1st(C)→X=(X1、X2)
一次演算処理アルゴリズムCal1stは、暗号文Cが入力されると、一次演算結果X=(X1、X2)を出力する。
(Cryptographic primary operation) Cal 1st (C) → X = (X 1 , X 2 )
When the ciphertext C is input, the primary operation processing algorithm Cal 1st outputs the primary operation result X = (X 1 , X 2 ).

以下、この一次演算処理アルゴリズムCal1stによる一次演算処理の一例を具体的に述べる。 Hereinafter, an example of the primary calculation processing by the primary calculation processing algorithm Cal 1st will be specifically described.

この例の一次演算処理は、暗号文(暗号化データ)を加減算する処理である。   The primary calculation processing in this example is processing for adding / subtracting ciphertext (encrypted data).

一次演算処理としては、後述する三次演算処理により次式Fの正負が判定される場合を例に挙げて述べる。
As the primary calculation process, a case where the positive / negative of the following expression F is determined by a tertiary calculation process to be described later will be described as an example.

ここで、nは任意の整数である。また、Kは、式Fの計算に必要なインデックスiの集合である。例えば、F=2m−mの場合、n=2,n=−1,K={1,2}である。また、加減算の式Fにおける被減数mと減数mとの間の大小関係を判定したい場合、例えば、F=m−m=3m−4m+mとし、n=3,n=−4,n=1,K={2,3,5}である。ここで、被減数mは3m+mであり、減数mは4mである。また、数値a,bの大小関係を判定したい場合、F=m−m=m−mとし、n=1,n=−1,K={1,2}とすればよい。 Here, ni is an arbitrary integer. K is a set of indexes i necessary for calculating Formula F. For example, when F = 2m 1 −m 2 , n 1 = 2, n 2 = −1, and K = {1, 2}. Also, if you want to determine the magnitude relationship between the minuend m a in the formula F of addition and subtraction and subtrahend m b, for example, the F = m a -m b = 3m 2 -4m 3 + m 5, n 2 = 3, n 3 = −4, n 5 = 1, K = {2, 3, 5}. Here, the reduced number m a is 3 m 2 + m 5 , and the reduced number m b is 4 m 3 . If it is desired to determine the magnitude relationship between the numerical values a and b, F = m a −m b = m 1 −m 2 , n 1 = 1, n 2 = −1, and K = {1, 2}. Good.

一次演算処理アルゴリズムCal1stは、式Fの計算に必要な暗号文C(i∈K)が入力されると、次式により、一次演算結果X=(X1、X2)を計算する。
When the ciphertext C i (iεK) necessary for the calculation of Formula F is input, the primary calculation processing algorithm Cal 1st calculates the primary calculation result X = (X 1 , X 2 ) using the following formula.

しかる後、一次演算処理アルゴリズムCal1stは、一次演算結果X=(X1、X2)を出力する。 Thereafter, the primary operation processing algorithm Cal 1st outputs the primary operation result X = (X 1 , X 2 ).

以上により、一次演算処理が完了する。   Thus, the primary calculation process is completed.

(暗号文の二次演算処理)Cal2nd(X)→Y=(Y1、Y2)
二次演算処理アルゴリズムCal2ndは、1次演算結果Xと二次演算鍵a-1、s、Nが入力されると、二次演算結果Y=(Y1、Y2)を出力する。
(Secondary processing of ciphertext) Cal 2nd (X) → Y = (Y 1 , Y 2 )
When the primary operation result X and the secondary operation keys a −1 , s, and N are input, the secondary operation processing algorithm Cal 2nd outputs the secondary operation result Y = (Y 1 , Y 2 ).

以下、この二次演算処理アルゴリズムCal2ndによる二次演算処理の一例を具体的に述べる。 Hereinafter, an example of the secondary calculation processing by the secondary calculation processing algorithm Cal 2nd will be specifically described.

この例の二次演算処理は、加減算された暗号文(暗号化データ)をランダム化する処理である。   The secondary operation processing in this example is processing for randomizing the ciphertext (encrypted data) subjected to addition and subtraction.

二次演算処理アルゴリズムCal2ndは、パラメータL,J,β,Dを生成する。これらのパラメータL,J,β,Dを選択する指標については後述する。なお、パラメータL,J,β,Dは外部から与えられても良い。 The secondary arithmetic processing algorithm Cal 2nd generates parameters L, J, β, and D. An index for selecting these parameters L, J, β, and D will be described later. The parameters L, J, β, and D may be given from the outside.

次に、二次演算処理アルゴリズムCal2ndは、β個の乱数r’(i=0,…,β−1)を集合{1,…,L}の中からランダムにそれぞれ選択する。ここで、β=1であっても良いし、β≧2であっても良い。これは他の実施形態や変形例においても同様である。また、乱数zを集合{0,1,…,J}の中からランダムに選択する。そして、二次演算処理アルゴリズムCal2ndは、次式に示す乱数Rを計算し、乱数R,zを取得する。
Next, the secondary arithmetic processing algorithm Cal 2nd randomly selects β random numbers r ′ i (i = 0,..., Β−1) from the set {1,. Here, β = 1 or β ≧ 2 may be satisfied. The same applies to other embodiments and modifications. Further, the random number z is randomly selected from the set {0, 1,..., J}. Then, the secondary arithmetic processing algorithm Cal 2nd calculates the random number R shown in the following equation, and acquires the random numbers R and z.

次に、二次演算処理アルゴリズムCal2ndは、前述した二次演算鍵a−1,s,Nと、一次演算結果X=(X1、X2)及び乱数R,zとを用いて、次式により、二次演算結果Y=(Y1、Y2)を計算する。
Next, the secondary calculation processing algorithm Cal 2nd uses the above-described secondary calculation keys a −1 , s, N, the primary calculation result X = (X 1 , X 2 ), and the random numbers R, z to The secondary calculation result Y = (Y 1 , Y 2 ) is calculated by the equation.

しかる後、二次演算処理アルゴリズムCal2ndは、一次演算結果Y=(Y1、Y2)を出力する。 Thereafter, the secondary calculation processing algorithm Cal 2nd outputs the primary calculation result Y = (Y 1 , Y 2 ).

ここで、各パラメータを選択する指標について説明する。正負判定可能な絶対値の最大値をDとする。すなわち、0<F<DのときFを正と判定し,−D<F<0のときFを負と判定できるようにしたいとする。このとき、二次演算処理アルゴリズムCal2ndは、次式を満たすように、β個の乱数r’を選択する。
Here, an index for selecting each parameter will be described. Let D be the maximum absolute value that can be positive / negative. That is, suppose that it is possible to determine that F is positive when 0 <F <D and that F is negative when -D <F <0. At this time, the secondary arithmetic processing algorithm Cal 2nd selects β random numbers r ′ i so as to satisfy the following expression.

また、二次演算処理アルゴリズムCal2ndは、β個の乱数r’の積であるRを上記のように選択したとき,R<Jとなる確率が十分小さくなるようにJを選択する。 Further, the secondary arithmetic processing algorithm Cal 2nd selects J so that the probability that R <J is sufficiently small when R, which is the product of β random numbers r ′ i , is selected as described above.

以上により、二次演算処理が完了する。   Thus, the secondary calculation process is completed.

(暗号文の三次演算処理)
(Cryptographic tertiary processing)

三次演算処理アルゴリズムCal3rdは、二次演算結果Yと三次演算鍵v、Nが入力されると、正又は負(又は0)を示す判定結果を出力する。 When the secondary operation result Y and the tertiary operation keys v and N are input, the tertiary operation processing algorithm Cal 3rd outputs a determination result indicating positive or negative (or 0).

以下、この三次演算処理アルゴリズムCal3rdによる三次演算処理の一例を具体的に述べる。 Hereinafter, an example of the tertiary operation processing by the tertiary operation processing algorithm Cal 3rd will be specifically described.

この例の三次演算処理は、ランダム化及び加減算された暗号文(暗号化データ)から加減算の式における被減数と減数との間の大小関係を判定する処理である。   The tertiary operation processing in this example is processing for determining the magnitude relationship between the subtracted number and the reduced number in the addition / subtraction formula from the ciphertext (encrypted data) that has been randomized and added / subtracted.

三次演算処理アルゴリズムCal3rdは、前述した三次演算鍵v,Nと、二次演算結果Y,Yとを用いて、次式により、W’を計算する。
The tertiary operation processing algorithm Cal 3rd uses the above-described tertiary operation keys v and N and secondary operation results Y 1 and Y 2 to calculate W ′ by the following equation.

W’がNの倍数でない場合、以降の計算を行わず、三次演算処理を終了する。そうでない場合(W’がNの倍数である場合)、三次演算処理アルゴリズムCal3rdは、次式により、三次演算結果Wを計算する。
If W ′ is not a multiple of N, the subsequent calculation is not performed and the cubic operation process is terminated. Otherwise (when W ′ is a multiple of N), the tertiary operation processing algorithm Cal 3rd calculates the tertiary operation result W according to the following equation.

次に、三次演算処理アルゴリズムCal3rdは、W<N/2ならば式Fは正であると判定し、そうでないならば式Fは負(又は0)と判定する。 Next, the tertiary arithmetic processing algorithm Cal 3rd determines that the expression F is positive if W <N / 2, and determines that the expression F is negative (or 0) otherwise.

F=M−Mの形で表されるとき、Fが正であれば、M>Mと判定できる。Fが負であれば、M≦Mと判定できる。 When expressed in the form of F = M a −M b , if F is positive, it can be determined that M a > M b . If F is negative, it can be determined that M a ≦ M b .

しかる後、三次演算処理アルゴリズムCal3rdは、判定結果を出力する。 Thereafter, the tertiary operation processing algorithm Cal 3rd outputs a determination result.

以上により、三次演算処理が完了する。   Thus, the tertiary operation process is completed.

なお、判定の際に、三次演算処理アルゴリズムCal3rdは、−J≦W≦0ならばF=0と判定しても良い。この場合、三次演算処理アルゴリズムCal3rdは、−N/2<W<−JならばFは負であると判定する。これは他の実施形態や変形例においても同様である。 In the determination, the tertiary calculation processing algorithm Cal 3rd may determine that F = 0 if −J ≦ W ≦ 0. In this case, the tertiary arithmetic processing algorithm Cal 3rd determines that F is negative if −N / 2 <W <−J. The same applies to other embodiments and modifications.

ここで、F=3m−4m+mの場合を例に取って、W=FR−zとなることを示す。一次演算結果X,X、二次演算結果Y,Y及び三次演算結果Wはそれぞれ以下のように表される。
Here, taking the case of F = 3m 2 -4m 3 + m 5 as an example, W = FR−z is shown. The primary calculation results X 1 and X 2 , the secondary calculation results Y 1 and Y 2, and the tertiary calculation result W are respectively expressed as follows.

三次演算結果Wにおいては、W=FR−zであり、FRからzを引いている。しかしながら、上述したようにRの値を適切に設定すれば、三次演算処理アルゴリズムCal3rdは、乱数zの値に影響を受けることなく、正しくFの正負判定を行うことができる。 In the tertiary calculation result W, W = FR−z, and z is subtracted from FR. However, if the value of R is appropriately set as described above, the tertiary arithmetic processing algorithm Cal 3rd can correctly determine the sign of F without being affected by the value of the random number z.

上述した例では、F=M−M=3m−4m+mであるので、例えば、被減数M=3m+m、減数M=4mとおくことにより、被減数(3m+m)と減数(4m)との間の大小関係を判定できる。また、例えば、被減数M=3m、減数M=4m−mとみなすことにより、被減数(3m)と減数(4m−m)との間の大小関係を判定することもできる。 In the above-described example, F = M a −M b = 3 m 2 −4 m 3 + m 5 , and therefore, for example, by setting the subtracted number M a = 3 m 2 + m 5 and the subtracted number M b = 4 m 3 , the subtracted number (3 m 2 + M 5 ) and the subtraction (4 m 3 ) can be determined. In addition, for example, the relationship between the reduced number (3m 2 ) and the reduced number (4m 3 -m 5 ) may be determined by regarding the reduced number M a = 3 m 2 and the reduced number M b = 4 m 3 -m 5. it can.

(復号)Dec(C)→ m
復号アルゴリズムDecは、復号鍵sv、a-1、N(又はs、v、a-1、N)と暗号文Cが入力されると、平文mを出力する。
(Decryption) Dec (C) → m
The decryption algorithm Dec outputs a plaintext m when the decryption keys sv, a −1 , N (or s, v, a −1 , N) and the ciphertext C are input.

以下、この復号アルゴリズムDecによる復号処理の一例を具体的に述べる。   Hereinafter, an example of the decoding process by the decoding algorithm Dec will be specifically described.

復号アルゴリズムDecは、復号鍵sv、a-1、N(又はs、v、a-1、N)と、暗号文Cとを用いて、次式によりD’を計算する。
The decryption algorithm Dec uses the decryption keys sv, a −1 , N (or s, v, a −1 , N) and the ciphertext C i to calculate D ′ by the following equation.

D’がNの倍数でない場合、以降の計算を行わず、復号処理を終了する。そうでない場合(D’がNの倍数である場合)、復号アルゴリズムDecは、次式により、平文mを計算する。
If D ′ is not a multiple of N, the subsequent calculation is not performed and the decoding process is terminated. Otherwise (if D 'is a multiple of N), the decryption algorithm Dec is the following equation to calculate the plaintext m i.

しかる後、復号アルゴリズムDecは、平文m=m(i=1,…,k)を出力する。 Thereafter, the decryption algorithm Dec outputs plaintext m = m i (i = 1,..., K).

以上により、復号処理が完了する。   Thus, the decoding process is completed.

一方、データを暗号化する技術として暗号化と復号に同一の鍵を用いる方式も知られている。この種の方式としては、例えば、第5の文献([AES])に記載されている第5の方式(以下、[AES]方式とも呼ぶ。)がある。ここで、第5の文献([AES])に関する情報は、次の通りである。   On the other hand, as a technique for encrypting data, a method using the same key for encryption and decryption is also known. As this type of scheme, for example, there is a fifth scheme (hereinafter also referred to as [AES] scheme) described in the fifth document ([AES]). Here, the information regarding the fifth document ([AES]) is as follows.

[AES] AES(Advanced Encryption Standard):FIPS-197, http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
暗号化と復号に同一の鍵を用いる暗号方式([AES]方式)について述べる。[AES]方式の性質を保持する暗号方式の基本的なモデルは、以下の鍵生成、暗号化、復号の3つの関数(以下、アルゴリズムともいう)からなる。
[AES] AES (Advanced Encryption Standard): FIPS-197, http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
An encryption method ([AES] method) that uses the same key for encryption and decryption is described. The basic model of an encryption method that retains the properties of the [AES] method is composed of the following three functions (hereinafter also referred to as an algorithm) of key generation, encryption, and decryption.

(鍵生成)KeyGen(1k)→(skA
鍵生成アルゴリズムKeyGenは、セキュリティパラメータ1kが入力されると、秘密鍵skAを出力する。
(Key generation) KeyGen (1 k ) → (sk A )
The key generation algorithm KeyGen outputs the secret key sk A when the security parameter 1 k is input.

(暗号化)Enc(skA,m1)→CA,m1
暗号化アルゴリズムEncは、秘密鍵skAと平文m1が入力されると、暗号文CA,m1を出力する。
(Encryption) Enc (sk A , m1) → CA , m1
The encryption algorithm Enc outputs the ciphertext C A, m1 when the secret key sk A and the plaintext m1 are input.

(復号)Dec(skA,CA,m1)→ m1
復号アルゴリズムDecは、秘密鍵skAと暗号文CA,m1が入力されると、平文m1+m2を出力する。
(Decryption) Dec (sk A , C A, m1 ) → m1
The decryption algorithm Dec outputs plaintext m1 + m2 when the secret key sk A and the ciphertext C A, m1 are input.

以上が各実施形態に個別に用いられる各種の暗号方式([Paillier]方式、[OPE]方式、[HLP10]方式、[AN2013-51001]方式、[AES]方式)の代表的なアルゴリズムである。各実施形態は、図43又は図44に示すように、各種の暗号方式([Paillier]方式、[OPE]方式、…)による暗号化データを復号せずに匿名化処理(仮名化、トップコーディング、…)する形態となっている。なお、図43は、データ所有者が暗号化データを外部サービスに保存する旨の上記(A)の場合を示している。図44は、M2Mサービスが暗号化データを外部サービスに保存する旨の上記(B)の場合を示している。   The above is a representative algorithm of various encryption methods ([Paillier] method, [OPE] method, [HLP10] method, [AN2013-51001] method, [AES] method) individually used in each embodiment. In each embodiment, as shown in FIG. 43 or 44, anonymization processing (a pseudonymization, top coding) is performed without decrypting encrypted data by various encryption methods ([Paillier] method, [OPE] method,...). , ...). FIG. 43 shows the case (A) in which the data owner saves the encrypted data in the external service. FIG. 44 shows the case (B) in which the M2M service stores the encrypted data in the external service.

<第1の実施形態:仮名化>
図1は第1の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。この匿名化システムは、1台以上の暗号化装置10、匿名化装置20及び復号装置30を備え、各装置10,20,30が互いに通信網40を介して接続されている。通信網40は統計処理装置50に接続されている。通信網40は、例えば、無線LAN(Local Area Network)、有線LAN、光回線網、電話回線網、イントラネット、イーサネット(登録商標)及びインターネットやこれらの組み合わせである。
<First embodiment: pseudonymization>
FIG. 1 is a schematic diagram showing an anonymization system and its peripheral configuration according to the first embodiment. The anonymization system includes one or more encryption devices 10, anonymization devices 20, and decryption devices 30, and the devices 10, 20, 30 are connected to each other via a communication network 40. The communication network 40 is connected to the statistical processing device 50. The communication network 40 is, for example, a wireless local area network (LAN), a wired LAN, an optical line network, a telephone line network, an intranet, Ethernet (registered trademark), the Internet, or a combination thereof.

ここで、暗号化装置10は、暗号パラメータ格納部11、鍵記憶部12、一時データ記憶部13、通信部14、パラメータ生成部15、乱数生成部16、暗号化部17及び制御部18を備えている。なお、本実施形態では1台の暗号化装置10を用いる場合について述べる。複数台の暗号化装置を用いる場合は、第2の実施形態において述べる。   Here, the encryption apparatus 10 includes an encryption parameter storage unit 11, a key storage unit 12, a temporary data storage unit 13, a communication unit 14, a parameter generation unit 15, a random number generation unit 16, an encryption unit 17, and a control unit 18. ing. In the present embodiment, a case where one encryption device 10 is used will be described. The case of using a plurality of encryption devices will be described in the second embodiment.

暗号パラメータ格納部11、鍵記憶部12及び一時データ記憶部13は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ暗号パラメータ、暗号化鍵及び一時データ等を記憶する。一時データ記憶部13は、各項目毎に値を含む個人データを記憶する第1記憶手段を構成している。   The encryption parameter storage unit 11, the key storage unit 12, and the temporary data storage unit 13 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device. Store keys and temporary data. The temporary data storage unit 13 constitutes a first storage unit that stores personal data including a value for each item.

通信部14、パラメータ生成部15、乱数生成部16、暗号化部17及び制御部18は、例えば、図示しないプロセッサが、後述する暗号化装置10内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。暗号化部17は、個人データに含まれる各項目の値を暗号化する処理により、当該個人データから暗号化データを生成する暗号化手段を構成している。また、暗号化部17は、匿名化する処理に用いる匿名用パラメータを暗号化して暗号化匿名用パラメータを生成するパラメータ暗号化手段、を構成している。なお、匿名用パラメータとしては、例えば、乱数、しきい値、下限値、上限値、代表値、誤差などが適宜、使用可能となっている。本実施形態では、匿名用パラメータとして乱数が用いられる。暗号化匿名用パラメータとしては、例えば、暗号化乱数、暗号化しきい値、暗号化下限値、暗号化上限値、暗号化代表値、暗号化誤差などが適宜、使用可能となっている。本実施形態では、暗号化匿名用パラメータとして暗号化乱数が用いられる。但し、パラメータ暗号化手段は、第13及び第14の実施形態に述べるように、必須ではなく省略可能である。   The communication unit 14, the parameter generation unit 15, the random number generation unit 16, the encryption unit 17, and the control unit 18 are realized by, for example, a processor (not shown) executing a program including each step in the encryption device 10 to be described later. It is a functional block. The encryption unit 17 constitutes an encryption unit that generates encrypted data from the personal data by a process of encrypting the value of each item included in the personal data. Moreover, the encryption part 17 comprises the parameter encryption means which encrypts the parameter for anonymous used for the process which anonymizes, and produces | generates the parameter for encryption anonymous. As anonymity parameters, for example, random numbers, threshold values, lower limit values, upper limit values, representative values, errors, and the like can be used as appropriate. In the present embodiment, a random number is used as the anonymous parameter. As an encryption anonymous parameter, for example, an encrypted random number, an encryption threshold value, an encryption lower limit value, an encryption upper limit value, an encryption representative value, an encryption error, and the like can be used as appropriate. In this embodiment, an encrypted random number is used as an encrypted anonymous parameter. However, the parameter encryption means is not essential and can be omitted as described in the thirteenth and fourteenth embodiments.

匿名化部20は、暗号パラメータ格納部21、暗号化データ格納部22、一時データ記憶部23、通信部24、乱数生成部25、匿名化処理部26、演算部27、演算結果比較部28及び制御部29を備えている。   The anonymization unit 20 includes an encryption parameter storage unit 21, an encrypted data storage unit 22, a temporary data storage unit 23, a communication unit 24, a random number generation unit 25, an anonymization processing unit 26, a calculation unit 27, a calculation result comparison unit 28, and A control unit 29 is provided.

暗号パラメータ格納部21、暗号化データ格納部22、一時データ記憶部23は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ暗号パラメータ、暗号化データ及び一時データ等を記憶する。一時データ記憶部23は、暗号化装置10により生成された暗号化データを記憶する第2記憶手段を構成している。   The encryption parameter storage unit 21, the encrypted data storage unit 22, and the temporary data storage unit 23 can be realized as a storage device or a storage area of the storage device that can be read / written from a processor (not shown). Stores encrypted data, temporary data, and the like. The temporary data storage unit 23 constitutes a second storage unit that stores the encrypted data generated by the encryption device 10.

通信部24、乱数生成部25、匿名化処理部26、演算部27、演算結果比較部28及び制御部29は、例えば、図示しないプロセッサが、後述する匿名化部20内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。匿名化処理部26は、第2記憶手段内の暗号化データのうちの一部の項目の値を復号せずに匿名化する処理により、当該暗号化データから暗号化匿名化データを生成する匿名化手段を構成している。匿名化手段は、暗号化装置10により生成された暗号化匿名用パラメータに基づいて、暗号化データから暗号化匿名化データを生成する機能をもっている。但し、この機能は、第13及び第14の実施形態に述べるように、暗号化匿名用パラメータを用いない場合には省略される。   The communication unit 24, the random number generation unit 25, the anonymization processing unit 26, the calculation unit 27, the calculation result comparison unit 28, and the control unit 29 include, for example, a program in which a processor (not shown) includes each step in the anonymization unit 20 described later. It is a functional block realized by executing. The anonymization processing unit 26 generates anonymous anonymized data from the encrypted data by performing anonymization without decrypting values of some items of the encrypted data in the second storage unit. Is configured. The anonymization means has a function of generating encrypted anonymized data from the encrypted data based on the encrypted anonymous parameter generated by the encryption device 10. However, this function is omitted when the encryption anonymous parameter is not used, as described in the thirteenth and fourteenth embodiments.

復号装置30は、暗号パラメータ格納部31、秘密鍵格納部32、一時データ記憶部33、通信部34、乱数生成部35、鍵生成部36、復号部37及び制御部38を備えている。   The decryption device 30 includes an encryption parameter storage unit 31, a secret key storage unit 32, a temporary data storage unit 33, a communication unit 34, a random number generation unit 35, a key generation unit 36, a decryption unit 37, and a control unit 38.

暗号パラメータ格納部31、秘密鍵格納部32及び一時データ記憶部33は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ暗号パラメータ、秘密鍵及び一時データ等を記憶する。一時データ記憶部33は、匿名化装置20により生成された暗号化匿名化データを記憶する第3記憶手段を構成している。   The encryption parameter storage unit 31, the secret key storage unit 32, and the temporary data storage unit 33 can be realized as a storage device or a storage area of the storage device that can be read / written by a processor (not shown). Store keys and temporary data. The temporary data storage unit 33 constitutes third storage means for storing encrypted anonymized data generated by the anonymization device 20.

通信部34、乱数生成部35、鍵生成部36、復号部37及び制御部38は、例えば、図示しないプロセッサが、後述する復号装置30内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。復号部37は、第3記憶手段内の暗号化匿名化データを復号する処理により、当該暗号化匿名化データから匿名化データを生成する復号手段を構成している。ここで、匿名化データは、例えば、個人データのうち、一部の項目の値が匿名化された値と、一部の項目以外の項目の値とを含む情報であってもよい。また例えば、暗号化匿名化データは、暗号化データに含まれる一部の項目の暗号化された値が匿名化された値と、暗号化データに含まれる一部の項目以外の項目の値とを含む情報であってもよい。なお、暗号化匿名化データにおいて、「暗号化データに含まれる一部の項目の暗号化された値が匿名化された値」は、「匿名化データに含まれる一部の項目の値が匿名化された値が暗号化された値」と同じ値に読み替えてもよい。   The communication unit 34, the random number generation unit 35, the key generation unit 36, the decryption unit 37, and the control unit 38 are realized by, for example, a processor (not shown) executing a program including each step in the decryption device 30 described later. It is a functional block. The decrypting unit 37 constitutes decrypting means for generating anonymized data from the encrypted anonymized data by a process of decrypting the encrypted anonymized data in the third storage means. Here, the anonymization data may be, for example, information including values obtained by anonymizing the values of some items in personal data and values of items other than some items. Further, for example, the encrypted anonymized data includes a value obtained by anonymizing encrypted values of some items included in the encrypted data, and values of items other than some items included in the encrypted data. May be included. In encrypted anonymized data, “values in which encrypted values of some items included in encrypted data are anonymized” means that “values in some items included in anonymized data are anonymous The encrypted value may be read as the same value as the “encrypted value”.

統計処理装置50は、データ格納部51、通信部52及び統計処理部53を備えている。   The statistical processing device 50 includes a data storage unit 51, a communication unit 52, and a statistical processing unit 53.

データ格納部51は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、匿名化データ及び統計データ等を記憶する。   The data storage unit 51 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device, and stores anonymized data, statistical data, and the like.

通信部52及び統計処理部53は、例えば、図示しないプロセッサが、後述する統計処理装置50内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。   The communication unit 52 and the statistical processing unit 53 are, for example, functional blocks realized by a processor (not shown) executing a program including each step in the statistical processing device 50 described later.

尚、図1中、各装置10,20,30,50を1台ずつ備えた場合を示したが、これに限らず、各装置10,20,30,50は、1台以上の任意の台数を備えてもよい。また、図1中、匿名化装置20は暗号化データの格納機能(暗号化データ格納部22)を備え、復号装置30は鍵生成に関する機能(各部31,33〜36,38)を備えたが、これに限らず、例えば図2に示すように、当該各機能を他の装置に配置してもよい。このことは、任意の各装置及び任意の各機能についても同様である。   In addition, although the case where each apparatus 10, 20, 30, 50 was provided in FIG. 1 was shown, not only this but each apparatus 10, 20, 30, 50 is one or more arbitrary numbers. May be provided. In FIG. 1, the anonymization device 20 has a function for storing encrypted data (encrypted data storage unit 22), and the decryption device 30 has a function for generating keys (each unit 31, 33 to 36, 38). Not limited to this, for example, as shown in FIG. 2, each function may be arranged in another device. The same applies to any device and any function.

本実施形態は、個人データの1つである社員番号を暗号化したまま仮名化する技術に関する。   The present embodiment relates to a technique for pseudonymizing an employee number, which is one of personal data, while being encrypted.

個人データとは、個人に関する情報であって、氏名、社員番号、年齢、収入、生年月日、その他の情報などのように、単一または複数の組み合わせにより、特定の個人を識別可能な情報をいう。「個人データ」は、「個人情報」又は「個人情報のデータ」等と呼んでもよい。本実施形態では、図3に一例を示すように、名前、社員番号、年齢及び収入といった属性項目の属性値(文字列又は数値)が個人データとして用いられ、当該個人データがテーブルT1に格納されている。ここでは、属性項目「名前」の属性値に文字列を用いている。属性項目「社員番号」の属性値に数値を用いている(但し、社員番号はID情報であるため、文字列と数値の組み合わせを用いてもよい。)。属性項目「年齢」及び「収入」の属性値に数値を用いている。当該テーブルT1は、図示した属性項目の属性値として個人データを含んでいるが、これに加え、図示しない他の属性項目の属性値として個人データ以外の情報を含んでもよい。いずれにしても、テーブルT1には、個人データが記述されている。また、個人データ以外の情報が属性値になる属性項目としては、例えば、罹患した病名、購入した商品名、アンケートの回答、などが適宜、使用可能となっている。なお、「属性項目」の用語は、単に「属性」又は「項目」と呼んでもよく、「属性情報」又は「項目情報」等と呼んでもよい。同様に、「属性値」の用語は、単に「値」と呼んでもよい。   Personal data is information about an individual, such as name, employee number, age, income, date of birth, and other information that can identify a specific individual by a single or multiple combination. Say. “Personal data” may be called “personal information” or “data of personal information”. In this embodiment, as shown in an example in FIG. 3, attribute values (character strings or numerical values) of attribute items such as name, employee number, age, and income are used as personal data, and the personal data is stored in the table T1. ing. Here, a character string is used for the attribute value of the attribute item “name”. A numerical value is used for the attribute value of the attribute item “employee number” (however, since the employee number is ID information, a combination of a character string and a numerical value may be used). Numerical values are used for the attribute values of the attribute items “age” and “income”. The table T1 includes personal data as attribute values of the attribute items shown in the drawing, but may also include information other than personal data as attribute values of other attribute items (not shown). In any case, personal data is described in the table T1. In addition, as attribute items whose information values other than personal data are attribute values, for example, diseased disease names, purchased product names, questionnaire responses, and the like can be used as appropriate. The term “attribute item” may be simply called “attribute” or “item”, or may be called “attribute information” or “item information”. Similarly, the term “attribute value” may simply be called “value”.

個人データの匿名化とは、特定の個人を識別不能とするように個人データを変換する処理のことをいう。匿名化の処理については前述したような方法が知られている。   Personal data anonymization refers to a process of converting personal data so that a specific individual cannot be identified. For the anonymization process, a method as described above is known.

これらの定義は、以下の各実施形態や変形例においても同様である。   These definitions are the same in the following embodiments and modifications.

次に、本実施形態における匿名化システムの動作について図4のシーケンス図、並びに図3、図5及び図6の模式図を用いて説明する。以下の説明では、(加法的な)準同型暗号方式を用いて匿名化する場合を例に挙げて述べる。   Next, operation | movement of the anonymization system in this embodiment is demonstrated using the sequence diagram of FIG. 4, and the schematic diagram of FIG.3, FIG5 and FIG.6. In the following description, the case of anonymization using an (additive) homomorphic encryption method will be described as an example.

(事前準備)
ステップST1において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、準同型暗号方式における鍵ペア(公開鍵pkA、秘密鍵skA)を生成する。
(Advance preparation)
In step ST1, the key generation unit 36 of the decryption device 30 generates a key pair (public key pk A , secret key sk A ) in the homomorphic encryption method based on the security parameter (1 k ) in the encryption parameter storage unit 31. Generate.

KeyGen(1k)→(pkA,skA
なお、鍵生成部36は、鍵ペアの生成処理において必要な乱数を乱数生成部35から取得することができる。また、復号装置30の鍵生成部36は、生成した鍵ペア(pkA,skA)を秘密鍵格納部32に保存する。ここで、公開鍵pkAは暗号化鍵であり、秘密鍵skAは復号鍵である。
KeyGen (1 k ) → (pk A , sk A )
Note that the key generation unit 36 can acquire a random number necessary for the key pair generation process from the random number generation unit 35. Further, the key generation unit 36 of the decryption apparatus 30 stores the generated key pair (pk A , sk A ) in the secret key storage unit 32. Here, the public key pk A is an encryption key, and the secret key sk A is a decryption key.

ステップST2において、復号装置30の制御部38は、通信部34により、暗号化装置10に、暗号化鍵である公開鍵pkAを送付する。暗号化装置10の制御部18は、通信部14により受信した公開鍵pkAを鍵記憶部12に格納する。 In step ST <b> 2, the control unit 38 of the decryption device 30 sends the public key pk A , which is an encryption key, to the encryption device 10 through the communication unit 34. The control unit 18 of the encryption device 10 stores the public key pk A received by the communication unit 14 in the key storage unit 12.

ステップST3において、暗号化装置10の暗号化部17は、図3に示したテーブルT1を一時データ記憶部13から読み出す。暗号化部17は、このテーブルT1のうち、仮名化対象の属性項目(社員番号)の属性値dataiを、鍵記憶部12内の公開鍵pkAに基づいてレコード毎に暗号化する。 In step ST <b> 3, the encryption unit 17 of the encryption device 10 reads the table T <b> 1 illustrated in FIG. 3 from the temporary data storage unit 13. The encryption unit 17 encrypts the attribute value data i of the attribute item (employee number) to be pseudonymized for each record in the table T1 based on the public key pk A in the key storage unit 12.

Enc(pkA,datai)→CA,data_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
Enc (pk A , data i ) → C A, data_i
The encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.

同様に、暗号化部17は、公開鍵pkAに基づいて、テーブルT1のうち、仮名化対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、図5に示すように、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。 Similarly, the encryption unit 17 encrypts the attribute values of attribute items other than the attribute items to be pseudonymized for each record in the table T1 based on the public key pk A. As a result, the attribute values of all the attribute items in the table T1 are encrypted, and as shown in FIG. 5, a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.

ステップST4において、暗号化装置10の制御部18は、通信部14により、テーブルT1eからなる暗号化データを匿名化装置20に送付する。   In step ST <b> 4, the control unit 18 of the encryption device 10 sends the encrypted data including the table T <b> 1 e to the anonymization device 20 through the communication unit 14.

ステップST5において、匿名化装置20は、通信部24により受信した暗号化データであるテーブルT1eを一時データ記憶部23に保管する。   In step ST <b> 5, the anonymization device 20 stores the table T <b> 1 e that is encrypted data received by the communication unit 24 in the temporary data storage unit 23.

(匿名化)
ステップST6において、暗号化装置10の乱数生成部16は、仮名化するための匿名用パラメータを乱数Rとして生成する。暗号化部17は、生成した乱数Rを、鍵記憶部12内の公開鍵pkAに基づいて準同型暗号方式で暗号化し、暗号化匿名用パラメータである暗号化乱数CA,Rを生成する。
(Anonymization)
In step ST <b> 6, the random number generation unit 16 of the encryption device 10 generates an anonymous parameter for pseudonymization as the random number R. The encryption unit 17 encrypts the generated random number R with a homomorphic encryption method based on the public key pk A in the key storage unit 12, and generates encrypted random numbers C A, R that are encryption anonymous parameters. .

Enc(pkA,R)→CA,R
ステップST7において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内の仮名化対象の属性項目(社員番号)と、暗号化乱数CA,Rとを匿名化装置20に送付する。但し、予め匿名化装置20が公開鍵pkAを取得することにより、暗号化乱数CA,Rを匿名化装置20が予め保持又は生成する場合には、暗号化装置10による暗号化乱数CA,Rの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
Enc (pk A , R) → C A, R
In step ST7, the control unit 18 of the encryption device 10 sends the attribute item (employee number) to be pseudonymized in the table T1e and the encrypted random numbers C A, R to the anonymization device 20 through the communication unit 14. To do. However, when the anonymization device 20 holds or generates the encrypted random numbers C A, R in advance by obtaining the public key pk A by the anonymization device 20 in advance, the encrypted random number C A by the encryption device 10 is used. Therefore , generation and sending of R can be omitted. The same applies to the following embodiments and modifications.

ステップST8において、匿名化装置20は、通信部24により、当該属性項目(社員番号)及び暗号化乱数CA,Rを受信する。匿名化処理部26は、一時データ記憶部23内のテーブルT1eのうち、受信した属性項目(社員番号)に一致する属性項目(社員番号)の属性値CA,data_iと、受信した暗号化乱数CA,R とをレコード毎に加算する。 In step ST <b> 8, the anonymization device 20 receives the attribute item (employee number) and the encrypted random numbers C A, R through the communication unit 24. The anonymization processing unit 26 includes the attribute value C A, data_i of the attribute item (employee number) that matches the received attribute item (employee number) in the table T1e in the temporary data storage unit 23 and the received encrypted random number. C A and R are added for each record.

Add(CA,data_i,CA,R)→CA,data_i+R
すなわち、ステップST3で暗号化された属性値CA,data_iは、暗号化された状態のままで暗号化乱数CA,R が加算されることにより、復号されずに匿名化された属性値CA,data_i+Rに変換される。
Add (C A, data_i , C A, R ) → C A, data_i + R
In other words, the attribute value C A, data_i encrypted in step ST3 is an encrypted attribute value C A, R without being decrypted by adding the encrypted random numbers C A, R in the encrypted state. Converted to A, data_i + R.

このように、テーブルT1e内の仮名化対象の属性項目(社員番号)の属性値が匿名化され、図6に示すように、匿名化された属性値CA,data_i+Rを含むテーブルT1aが暗号化匿名化データとして生成される。 In this manner, the attribute value of the attribute item (employee number) to be pseudonymized in the table T1e is anonymized, and as shown in FIG. 6, the table T1a including the anonymized attribute value CA, data_i + R is obtained. Generated as encrypted anonymized data.

しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。   Thereafter, the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.

ステップST9において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。   In step ST <b> 9, the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T <b> 1 a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.

本実施形態によれば、暗号化データを復号せずに匿名化し、得られた暗号化匿名化データを復号して匿名化データを利用することが可能になる。詳しくは数値で表現されているテーブルT1の属性値data_iを、仮名化用の乱数Rによって仮名化することができる。ここで、暗号化装置10は、仮名化用の暗号化乱数CA,Rに基づいて、仮名化前と仮名化後の対応テーブルを作成してもよい。この場合、仮名化したテーブルの属性情報から個人を特定することや、仮名化処理を元に戻すことも可能である。 According to this embodiment, it becomes possible to anonymize the encrypted data without decrypting it, and to decrypt the obtained encrypted anonymized data and use the anonymized data. Specifically, the attribute value data_i of the table T1 expressed in numerical values can be pseudonymized with a random number R for pseudonymization. Here, the encryption apparatus 10 may create a correspondence table before and after pseudonymization based on the encrypted random numbers CA and R for pseudonymization. In this case, it is possible to specify an individual from the attribute information of the kana table, or to restore the kana processing.

しかる後、ステップST10において、復号装置30の制御部38は、通信部34により、暗号化匿名化データを受信して一時データ記憶部33に記憶する。復号部37は、秘密鍵格納部32内の復号鍵である秘密鍵skAに基づいて、一時データ記憶部33内の暗号化匿名化データであるテーブルT1a内の各属性項目の値を復号し、得られた復号結果のテーブルを得る。 Thereafter, in step ST10, the control unit 38 of the decryption device 30 receives the encrypted anonymized data by the communication unit 34 and stores it in the temporary data storage unit 33. Based on the secret key sk A that is the decryption key in the secret key storage unit 32, the decryption unit 37 decrypts the value of each attribute item in the table T1a that is the encrypted anonymized data in the temporary data storage unit 33. Then, a table of the obtained decoding results is obtained.

復号装置30の制御部38は、復号結果のテーブルのうち、仮名化対象の属性項目(社員番号)の属性値が匿名化されているか否かを判定する。例えば、匿名化前の属性値の桁数(例、5桁)よりも高い桁数(例、7桁)の暗号化乱数CA,Rを加算した場合、当該属性値が高い桁数(例、7桁)であれば、匿名化されていると判定される。また例えば、匿名化された属性項目(社員番号)の属性値について、匿名化前の値と匿名化後の値とが異なる場合には、属性値が匿名化されている旨を判定してもよい。この場合、任意のタイミングで暗号化装置10が匿名化前の値を復号装置30に送信しておけばよい。いずれにしても、判定の結果が否の場合には、ステップST6(又はST4)から処理をやり直し、好ましい匿名化結果が得られるまで繰り返す。 The control unit 38 of the decryption device 30 determines whether or not the attribute value of the attribute item (employee number) to be pseudonymized in the decryption result table is anonymized. For example, when an encrypted random number C A, R with a higher number of digits (eg, 7 digits) than the number of digits of the attribute value before anonymization (eg, 5 digits) is added, the number of digits with the higher attribute value (eg, 7 digits), it is determined that anonymization has occurred. In addition, for example, if the attribute value of an anonymized attribute item (employee number) is different from the value before anonymization and the value after anonymization, it is determined that the attribute value is anonymized. Good. In this case, the encryption device 10 may transmit the value before anonymization to the decryption device 30 at an arbitrary timing. In any case, if the determination result is NO, the process is repeated from step ST6 (or ST4), and the process is repeated until a preferable anonymization result is obtained.

ステップST11において、復号装置30の制御部38は、判定の結果、属性値が匿名化されている場合には、通信部34により、復号結果のテーブルからなる匿名化データを安全に統計処理装置50に送付する。   In step ST11, when the attribute value is anonymized as a result of the determination, the control unit 38 of the decryption device 30 uses the communication unit 34 to safely convert the anonymized data including the decryption result table to the statistical processing device 50. Send to.

ステップST12において、統計処理装置50は、通信部52により受信した匿名化データを用いて統計処理を実行し、得られた統計処理結果をデータ格納部51に保存する。しかる後、統計処理装置50は、適宜、この統計処理結果を利用する。   In step ST <b> 12, the statistical processing device 50 executes statistical processing using the anonymized data received by the communication unit 52 and stores the obtained statistical processing result in the data storage unit 51. Thereafter, the statistical processing device 50 appropriately uses the statistical processing result.

上述したように本実施形態によれば、個人データに含まれる各項目の値を暗号化する処理により、当該個人データから暗号化データを生成する。暗号化データのうちの一部の項目の値を復号せずに匿名化する処理により、当該暗号化データから暗号化匿名化データを生成する。暗号化匿名化データを復号する処理により、当該暗号化匿名化データから匿名化データを生成する。このような構成により、個人データを暗号化して得られた暗号化データを復号せずに匿名化することができる。   As described above, according to the present embodiment, encrypted data is generated from the personal data by the process of encrypting the value of each item included in the personal data. Encrypted anonymized data is generated from the encrypted data by performing anonymization without decrypting the values of some items of the encrypted data. Anonymized data is generated from the encrypted anonymized data by the process of decrypting the encrypted anonymized data. With such a configuration, the encrypted data obtained by encrypting the personal data can be anonymized without being decrypted.

また、本実施形態によれば、匿名化する処理に用いる匿名用パラメータを暗号化して暗号化匿名用パラメータを生成し、暗号化匿名用パラメータに基づいて、暗号化データから暗号化匿名化データを生成する。このような構成により、匿名用パラメータを調整して匿名化処理をやり直すことにより、好ましい匿名化結果の匿名化データを生成することができる。   Moreover, according to this embodiment, the parameter for anonymization used for the anonymization process is encrypted to generate the parameter for encryption anonymization, and the encrypted anonymization data is converted from the encrypted data based on the parameter for encryption anonymity. Generate. With such a configuration, anonymization data of a preferable anonymization result can be generated by adjusting the parameter for anonymization and redoing the anonymization process.

なお、本実施形態では、復号装置30が鍵生成を実行したが、これに限らず、暗号化装置10が鍵生成を実行し、本実施形態と同様に適切な装置へ鍵を送付してもよい。   In the present embodiment, the decryption device 30 performs key generation. However, the present invention is not limited to this, and the encryption device 10 may perform key generation and send a key to an appropriate device as in the present embodiment. Good.

また、本実施形態は、(加法的な)準同型暗号でかつ大小比較可能な暗号方式でも同様に実施可能となっている。これらの暗号方式を用いる場合、それぞれの暗号方式における暗号アルゴリズムを置き換えることにより、本実施形態を同様に実施して同様の効果を得ることができる。   In addition, the present embodiment can be similarly implemented by an (additive) homomorphic encryption method and an encryption method capable of comparing sizes. When these encryption methods are used, the same effect can be obtained by performing the present embodiment in the same manner by replacing the encryption algorithm in each encryption method.

本実施形態は、図2に示すように、復号装置30から鍵生成機能(乱数生成部35及び鍵生成部36)を分離した鍵生成装置60と、匿名化装置20から保管機能(暗号化データ格納部22)を分離したデータ保管装置70とを備えた構成に変形してもよい。この時、既存のデータ保管装置70に、匿名化装置20を連携させることで、本実施形態と同様の効果を得ることが可能になる。   In the present embodiment, as shown in FIG. 2, the key generation device 60 in which the key generation function (random number generation unit 35 and key generation unit 36) is separated from the decryption device 30, and the storage function (encrypted data) from the anonymization device 20. You may deform | transform into the structure provided with the data storage apparatus 70 which isolate | separated the storage part 22). At this time, by making the anonymization device 20 cooperate with the existing data storage device 70, it is possible to obtain the same effect as the present embodiment.

ここで、鍵生成装置60は、暗号パラメータ格納部61、一時データ記憶部62、通信部63、乱数生成部64、鍵生成部65及び制御部66を備えている。   Here, the key generation device 60 includes an encryption parameter storage unit 61, a temporary data storage unit 62, a communication unit 63, a random number generation unit 64, a key generation unit 65, and a control unit 66.

暗号パラメータ格納部61及び一時データ記憶部62は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ暗号パラメータ及び一時データ等を記憶する。   The encryption parameter storage unit 61 and the temporary data storage unit 62 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device, and store encryption parameters, temporary data, and the like, respectively.

通信部63、乱数生成部64、鍵生成部65及び制御部66は、例えば、図示しないプロセッサが、後述する鍵生成装置60内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。   The communication unit 63, the random number generation unit 64, the key generation unit 65, and the control unit 66 are, for example, functional blocks realized when a processor (not shown) executes a program including each step in the key generation device 60 described later. It has become.

データ保管装置70は、例えばクラウドにより実施されて大量データを保管可能な装置(又はシステム)であり、データ格納部71及び通信部72を備えている。   The data storage device 70 is a device (or system) that is implemented by, for example, the cloud and can store a large amount of data, and includes a data storage unit 71 and a communication unit 72.

データ格納部71は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、データ等を記憶する。   The data storage unit 71 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device, and stores data and the like.

通信部72は、例えば、図示しないプロセッサが、後述するデータ保管装置70内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。   For example, the communication unit 72 is a functional block realized by a processor (not shown) executing a program including each step in the data storage device 70 described later.

図2に示す構成によれば、例えば図7に示すように、前述した各ステップST1〜ST12を各装置10,20,30,50,60,70で分担して実行する。図7中、図4に示したステップと同一のステップを実行する場合には実行する装置の変更の有無によらずに同一のステップ番号を付し、ステップ自体を複数のサブステップに分けて実行する場合にはステップ番号に枝番(−1,−2,−3)を付している。このようなステップ番号の付け方は、以下の各実施形態及び各変形例でも同様である。   According to the configuration shown in FIG. 2, for example, as shown in FIG. 7, each of the above-described steps ST <b> 1 to ST <b> 12 is executed by each device 10, 20, 30, 50, 60, 70. In FIG. 7, when the same step as shown in FIG. 4 is executed, the same step number is assigned regardless of whether or not the device to be executed is changed, and the step itself is divided into a plurality of substeps. In this case, branch numbers (-1, -2, -3) are added to the step numbers. The method of assigning such step numbers is the same in the following embodiments and modifications.

図7は、主に、データ保管装置70に保存した暗号化データを匿名化装置20により匿名化し、得られた匿名化データをデータ保管装置70上で更新し、復号装置30に送付する場合の動作を説明するためのシーケンス図である。   FIG. 7 mainly shows the case where the encrypted data stored in the data storage device 70 is anonymized by the anonymization device 20, the obtained anonymized data is updated on the data storage device 70, and sent to the decryption device 30. It is a sequence diagram for demonstrating operation | movement.

この動作においては、具体的には、鍵生成装置60が鍵ペアを生成及び保存し(ST1)、暗号化鍵を暗号化装置10に送付する(ST2)。暗号化装置10は、データを暗号化し(ST3)、得られた暗号化データをデータ保管装置70に送付する(ST4)。データ保管装置70は、暗号化データを保管する(ST5)。暗号化装置10は、乱数Rを暗号化し(ST6)、得られた暗号化乱数CA,Rを匿名化装置20に送付する(ST7)。データ保管装置70は、保管した暗号化データを匿名化装置20に送付する(ST8−1)。匿名化装置20は、送付された暗号化データを暗号化乱数CA,Rに基づいて復号せずに匿名化(仮名化)し、得られた暗号化匿名化データをデータ保管装置70に送付する(ST9−1)。データ保管装置70は、送付された暗号化匿名化データを保管し(ST9−2)、当該暗号化匿名化データを復号装置30に送付する(ST9−3)。復号装置30は、例えば復号鍵を鍵生成装置60に要求する。鍵生成装置60は、復号鍵を復号装置30に送付する(ST10−1)。復号装置30は、送付された復号鍵に基づいて、暗号化匿名化データを復号し、得られた匿名化データが匿名化されているか否かを判定(確認)する(ST10−2)。判定の結果、否の場合には、ステップST6からやり直す。判定の結果、匿名化されている場合には、前述したステップST11〜ST12が実行される。 In this operation, specifically, the key generation device 60 generates and stores a key pair (ST1), and sends the encryption key to the encryption device 10 (ST2). The encryption device 10 encrypts the data (ST3) and sends the obtained encrypted data to the data storage device 70 (ST4). The data storage device 70 stores the encrypted data (ST5). The encryption device 10 encrypts the random number R (ST6), and sends the obtained encrypted random number CA , R to the anonymization device 20 (ST7). The data storage device 70 sends the stored encrypted data to the anonymization device 20 (ST8-1). The anonymization device 20 anonymizes the sent encrypted data based on the encrypted random numbers C A, R without deciphering the pseudo data, and sends the obtained encrypted anonymized data to the data storage device 70. (ST9-1). The data storage device 70 stores the sent encrypted anonymized data (ST9-2), and sends the encrypted anonymized data to the decryption device 30 (ST9-3). For example, the decryption device 30 requests the key generation device 60 for a decryption key. The key generation device 60 sends the decryption key to the decryption device 30 (ST10-1). The decryption device 30 decrypts the encrypted anonymized data based on the sent decryption key, and determines (confirms) whether or not the obtained anonymized data is anonymized (ST10-2). If the result of determination is no, the process is repeated from step ST6. If the result of the determination is that it is anonymized, steps ST11 to ST12 described above are executed.

このとき、既存のデータ保管装置70を大きく変えることなく、本実施形態の効果を得ることが可能になる。これは後述する実施形態や変形例においても同様である。   At this time, the effect of the present embodiment can be obtained without greatly changing the existing data storage device 70. This also applies to embodiments and modifications described later.

また例えば、図8は、主に、データ保管装置70に保存した暗号化データを匿名化装置20により匿名化し、得られた匿名化データをデータ保管装置70上では更新せずに、復号装置30に送付する場合の動作を説明するためのシーケンス図である。この動作は、具体的には、図7に示すステップST9−1〜ST9−3に代えて、匿名化装置20が暗号化匿名化データを復号装置30に送付するステップST9を実行する動作である。   Further, for example, FIG. 8 mainly illustrates that the encrypted data stored in the data storage device 70 is anonymized by the anonymization device 20, and the obtained anonymized data is not updated on the data storage device 70, but the decryption device 30 is used. It is a sequence diagram for demonstrating the operation | movement in the case of sending to. Specifically, this operation is an operation of executing step ST9 in which the anonymization device 20 sends the encrypted anonymized data to the decryption device 30 instead of steps ST9-1 to ST9-3 shown in FIG. .

この場合、データ保管装置70内の暗号化データは、原本データを暗号化した状態のままであり、その状態に対して匿名化した匿名化データを適宜得ることが可能になる。このとき、データ保管装置70の暗号化データが更新されないことから匿名化前と後の暗号化データを暗号化装置10又は復号装置30で管理する必要がなく、データの管理コストを低減することが可能となる。これは後述する実施形態や変形例においても同様である。   In this case, the encrypted data in the data storage device 70 remains in a state in which the original data is encrypted, and anonymized data that is anonymized with respect to that state can be appropriately obtained. At this time, since the encrypted data of the data storage device 70 is not updated, it is not necessary to manage the encrypted data before and after anonymization by the encryption device 10 or the decryption device 30, thereby reducing the data management cost. It becomes possible. This also applies to embodiments and modifications described later.

<第1の実施形態の変形例:仮名化>
第1の実施形態は、匿名化装置20が、テーブルT1eのうち、仮名化対象の属性項目(社員番号)の属性値CA,data_iを、レコード毎に異なる暗号化乱数CA,Rにより仮名化することができる。
<Modification of First Embodiment: Pseudonymization>
In the first embodiment, the anonymization device 20 uses the encrypted random numbers C A, R for the attribute value C A, data_i of the attribute item (employee number) to be pseudonymized in the table T1e as a pseudonym. Can be

ここで、復号した匿名化データ(仮名化した社員番号)が漏れ、かつ仮名化対象の1つのレコードの情報(社員番号の原本データ)を知っているユーザが関与したとする。このような状況でも、関与したユーザは、匿名化データの各レコードが異なる暗号化乱数CA,Rで仮名化されていることから、他のレコードの情報(社員番号の原本データ)を推測することができない。 Here, it is assumed that the decrypted anonymized data (a pseudonymized employee number) is leaked and a user who knows information (original data of the employee number) of one record to be pseudonymized is involved. Even in such a situation, the involved user guesses the information (original data of employee number) of other records because each record of anonymized data is pseudonymized with different encrypted random numbers CA , R. I can't.

<第2の実施形態:M2M及び仮名化>
図9は第2の実施形態に係る匿名化システム及びその周辺構成を示す模式図であり、図1及び図2と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。以下の各実施形態及び変形例も同様にして重複した部分の説明を省略する。
<Second embodiment: M2M and pseudonymization>
FIG. 9 is a schematic diagram showing the anonymization system and its peripheral configuration according to the second embodiment. The same parts as those in FIG. 1 and FIG. The part is mainly described. In the following embodiments and modifications, the description of the duplicated portions is omitted in the same manner.

第2の実施形態は、暗号化装置10が個人データを暗号化して匿名化装置20に預ける第1の実施形態とは異なり、M2Mサービスのように、各機器で取得した個人データを暗号化してなる暗号化データを匿名化装置20で収集する形態となっている。ここでいう各機器は、各々の暗号化装置(1〜N)10に相当する。   Unlike the first embodiment in which the encryption device 10 encrypts personal data and deposits it in the anonymization device 20, the second embodiment encrypts personal data acquired by each device like the M2M service. The encrypted data is collected by the anonymization device 20. Each device here corresponds to each encryption device (1 to N) 10.

具体的には、第2の実施形態は、図1に示した構成に比べ、暗号化装置10をN台設け、且つ鍵生成装置60及びパラメータ生成装置80を更に備えている。但し、パラメータ生成装置80は、必須ではなく、例えばいずれかの暗号化装置10がパラメータ(例、乱数R)及び暗号化パラメータ(暗号化乱数CA,R)を生成する場合には、省略してもよい。このことは、以下の各実施形態及び各変形例でも同様である。 Specifically, in the second embodiment, N encryption devices 10 are provided, and a key generation device 60 and a parameter generation device 80 are further provided, compared to the configuration shown in FIG. However, the parameter generation device 80 is not indispensable. For example, when any encryption device 10 generates a parameter (eg, random number R) and an encryption parameter (encryption random number C A, R ), it is omitted. May be. This is the same in the following embodiments and modifications.

ここで、N台の暗号化装置(1〜N)10は、前述した暗号化装置10のパラメータ生成部15に代えて、データ取得部19を備えている。   Here, the N encryption devices (1 to N) 10 include a data acquisition unit 19 instead of the parameter generation unit 15 of the encryption device 10 described above.

パラメータ生成装置80は、暗号パラメータ格納部81、鍵記憶部82、通信部83、パラメータ生成部84、乱数生成部85、暗号化部86及び制御部87を備えている。   The parameter generation device 80 includes an encryption parameter storage unit 81, a key storage unit 82, a communication unit 83, a parameter generation unit 84, a random number generation unit 85, an encryption unit 86, and a control unit 87.

暗号パラメータ格納部81及び鍵記憶部82は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ暗号パラメータ及び鍵等を記憶する。   The encryption parameter storage unit 81 and the key storage unit 82 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device, and store encryption parameters, keys, and the like, respectively.

通信部83、パラメータ生成部84、乱数生成部85、暗号化部86及び制御部87は、例えば、図示しないプロセッサが、後述するパラメータ生成装置80内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。   The communication unit 83, the parameter generation unit 84, the random number generation unit 85, the encryption unit 86, and the control unit 87 are realized by, for example, a processor (not shown) executing a program including each step in the parameter generation device 80 described later. It is a functional block.

次に、本実施形態における匿名化システムの動作について図10のシーケンス図を用いて説明する。   Next, operation | movement of the anonymization system in this embodiment is demonstrated using the sequence diagram of FIG.

(事前準備)
ステップST1において、鍵生成装置60の鍵生成部65は、暗号パラメータ格納部61内のセキュリティパラメータ(1k)に基づいて、準同型暗号方式における鍵ペア(公開鍵pkA、秘密鍵skA)を生成する。
(Advance preparation)
In step ST1, the key generation unit 65 of the key generation device 60 uses the key pair (public key pk A , secret key sk A ) in the homomorphic encryption method based on the security parameter (1 k ) in the encryption parameter storage unit 61. Is generated.

KeyGen(1k)→(pkA,skA
なお、鍵生成部65は、鍵の生成処理において必要な乱数を乱数生成部64から取得することができる。また、公開鍵pkAは暗号化鍵であり、秘密鍵skAは復号鍵である。
KeyGen (1 k ) → (pk A , sk A )
The key generation unit 65 can acquire a random number necessary for the key generation process from the random number generation unit 64. The public key pk A is an encryption key, and the secret key sk A is a decryption key.

ステップST2において、鍵生成装置60の制御部66は、通信部63により、暗号化鍵である公開鍵pkAを各暗号化装置(1〜N)10及びパラメータ生成装置80に送付する。各暗号化装置(1〜N)10の制御部18は、通信部14により受信した公開鍵pkAを鍵記憶部12に格納する。同様に、パラメータ生成装置80の制御部87は、通信部83により受信した公開鍵pkAを鍵記憶部82に格納する。なお、各暗号化装置(1〜N)10は、機器組み立て時に公開鍵pkAを入力して格納してもよく、機器を配置後、ネットワーク経由で公開鍵pkAを受信して格納してもよい。同様に、鍵生成装置60の制御部66は、通信部63により、復号鍵である秘密鍵skAを復号装置30に送付する。復号装置30の制御部38は、通信部34により受信した秘密鍵sAを秘密鍵格納部32に格納する。 In step ST <b> 2, the control unit 66 of the key generation device 60 sends the public key pk A , which is an encryption key, to the encryption devices (1 to N) 10 and the parameter generation device 80 via the communication unit 63. The control unit 18 of each encryption device (1 to N) 10 stores the public key pk A received by the communication unit 14 in the key storage unit 12. Similarly, the control unit 87 of the parameter generation device 80 stores the public key pk A received by the communication unit 83 in the key storage unit 82. Each encryption device (1 to N) 10 may input and store the public key pk A at the time of assembling the device. After the device is arranged, it receives and stores the public key pk A via the network. Also good. Similarly, the control unit 66 of the key generation device 60 sends the secret key sk A , which is a decryption key, to the decryption device 30 through the communication unit 63. The control unit 38 of the decryption device 30 stores the secret key s A received by the communication unit 34 in the secret key storage unit 32.

ステップST3において、各暗号化装置(1〜N)10のデータ取得部19は、テーブルT1からなる個人データを取得して一時データ記憶部13に記憶する。各暗号化装置(1〜N)10の暗号化部17は、一時データ記憶部13内のテーブルT1のうち、仮名化対象の属性項目(社員番号)の属性値dataiを、鍵記憶部12内の公開鍵pkAに基づいてレコード毎に暗号化する。 In step ST <b> 3, the data acquisition unit 19 of each encryption device (1 to N) 10 acquires personal data including the table T <b> 1 and stores it in the temporary data storage unit 13. The encryption unit 17 of each encryption device (1 to N) 10 uses the attribute value data i of the attribute item (employee number) to be pseudonymized from the table T1 in the temporary data storage unit 13 as the key storage unit 12. Encryption for each record based on the public key pk A in

Enc(pkA,datai)→CA,data_i
同様に、各暗号化装置(1〜N)10の暗号化部17は、公開鍵pkAに基づいて、テーブルT1のうち、仮名化対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
Enc (pk A , data i ) → C A, data_i
Similarly, the encryption unit 17 of the encryption device (1 to N) 10, based on the public key pk A, of the table T1, the attribute value of the attribute items other than attribute items of pseudonymization object for each record Encrypt. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and the table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.

ステップST4において、各暗号化装置(1〜N)10の制御部18は、通信部14により、テーブルT1eからなる暗号化データと、テーブルT1e内の仮名化対象の属性項目(社員番号)とを匿名化装置20に送付する。   In step ST4, the control unit 18 of each encryption device (1 to N) 10 uses the communication unit 14 to transmit the encrypted data including the table T1e and the attribute item (employee number) to be pseudonymized in the table T1e. Send to anonymization device 20.

ステップST5において、匿名化装置20は、通信部24により、暗号化データであるテーブルT1eと、テーブルT1e内の仮名化対象の属性項目(社員番号)とを受信する。しかる後、匿名化装置20の制御部29は、当該テーブルT1eと、仮名化対象の属性項目(社員番号)とを一時データ記憶部23に保管する。   In step ST5, the anonymization device 20 receives the table T1e as encrypted data and the attribute item (employee number) to be pseudonymized in the table T1e through the communication unit 24. Thereafter, the control unit 29 of the anonymization device 20 stores the table T1e and the attribute item (employee number) to be pseudonymized in the temporary data storage unit 23.

このとき、一時データ記憶部23内のテーブルT1eは、新たに受信したテーブルT1eの内容が追加された状態で更新される。なお、これに限らず、匿名化装置20は、暗号化装置(1〜N)10から受信したテーブルT1eをそれぞれ一時データ記憶部23に保管し、N個のテーブルT1eを集めた内容にテーブルT1eを更新してもよい。いずれにしても、一時データ記憶部23内のテーブルT1eは、暗号化装置(1〜N)10から受信したテーブルT1eを集めた内容に更新される。このことは、以下の各実施形態及び各変形例でも同様である。   At this time, the table T1e in the temporary data storage unit 23 is updated with the contents of the newly received table T1e being added. Not limited to this, the anonymization device 20 stores the table T1e received from the encryption device (1 to N) 10 in the temporary data storage unit 23 and collects the N tables T1e into the table T1e. May be updated. In any case, the table T1e in the temporary data storage unit 23 is updated to the contents obtained by collecting the tables T1e received from the encryption device (1 to N) 10. This is the same in the following embodiments and modifications.

(匿名化)
ステップST6において、パラメータ生成装置80の乱数生成部85は、仮名化するための匿名用パラメータを乱数Rとして生成する。パラメータ生成装置80の暗号化部86は、生成した乱数Rを、鍵記憶部82内の公開鍵pkAに基づいて準同型暗号方式で暗号化し、暗号化匿名用パラメータである暗号化乱数CA,Rを生成する。
(Anonymization)
In step ST <b> 6, the random number generation unit 85 of the parameter generation device 80 generates an anonymous parameter for pseudonymization as the random number R. The encryption unit 86 of the parameter generation device 80 encrypts the generated random number R using a homomorphic encryption method based on the public key pk A in the key storage unit 82, and an encrypted random number C A that is an encryption anonymous parameter. , R is generated.

Enc(pkA,R)→CA,R
ステップST7において、パラメータ生成装置80の制御部87は、通信部83により、暗号化乱数CA,Rを匿名化装置20に送付する。但し、暗号化乱数CA,Rを匿名化装置20が予め保持又は生成する場合には、パラメータ生成装置80による暗号化乱数CA,Rの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
Enc (pk A , R) → C A, R
In step ST <b> 7, the control unit 87 of the parameter generation device 80 sends the encrypted random numbers C A, R to the anonymization device 20 through the communication unit 83. However, when the anonymization device 20 holds or generates the encrypted random numbers C A, R in advance , the generation and transmission of the encrypted random numbers C A, R by the parameter generation device 80 can be omitted. The same applies to the following embodiments and modifications.

ステップST8において、匿名化装置20は、通信部24により、暗号化乱数CA,Rを受信する。匿名化処理部26は、一時データ記憶部23内のテーブルT1eのうち、ステップST5で受信した属性項目(社員番号)に一致する属性項目(社員番号)の属性値CA,data_iと、受信した暗号化乱数CA,R とをレコード毎に加算する。 In step ST <b> 8, the anonymization device 20 receives the encrypted random numbers C A, R through the communication unit 24. The anonymization processing unit 26 has received the attribute value C A, data_i of the attribute item (employee number) that matches the attribute item (employee number) received in step ST5 in the table T1e in the temporary data storage unit 23. Encrypted random numbers C A, R are added for each record.

Add(CA,data_i,CA,R)→CA,data_i+R
すなわち、ステップST3で暗号化された属性値CA,data_iは、暗号化された状態のままで暗号化乱数CA,R が加算されることにより、復号されずに匿名化された属性値CA,data_i+Rに変換される。
Add (C A, data_i , C A, R ) → C A, data_i + R
In other words, the attribute value C A, data_i encrypted in step ST3 is an encrypted attribute value C A, R without being decrypted by adding the encrypted random numbers C A, R in the encrypted state. Converted to A, data_i + R.

このように、テーブルT1e内の仮名化対象の属性項目(社員番号)の属性値が匿名化され、前述同様に、匿名化された属性値CA,data_i+Rを含むテーブルT1aが暗号化匿名化データとして生成される。 As described above, the attribute value of the attribute item (employee number) to be pseudonymized in the table T1e is anonymized, and the table T1a including the anonymized attribute value C A, data_i + R is encrypted and anonymous as described above. Generated as digitized data.

しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。   Thereafter, the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.

ステップST9において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。   In step ST <b> 9, the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T <b> 1 a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.

以下、前述した通り、ステップST10〜ST12が実行される。   Hereinafter, as described above, steps ST10 to ST12 are executed.

上述したように本実施形態によれば、暗号化装置10を複数台とした場合でも、第1の実施形態と同様の作用効果を得ることができる。   As described above, according to the present embodiment, even when a plurality of encryption devices 10 are provided, the same operational effects as those of the first embodiment can be obtained.

なお、本実施形態は、(加法的な)準同型暗号でかつ大小比較可能な暗号方式でも同様に実施することが可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。   Note that this embodiment can also be implemented in an (additive) homomorphic encryption scheme and a cryptographic scheme that can be compared in size. When these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.

<第2の実施形態の変形例:仮名化>
第2の実施形態は、第1の実施形態の変形例と同様に、匿名化装置20が、テーブルT1eのうち、仮名化対象の属性項目(社員番号)の属性値CA,data_iを、レコード毎に異なる暗号化乱数CA,Rにより仮名化することができる。
<Modification of Second Embodiment: Kana>
In the second embodiment, as in the modification of the first embodiment, the anonymization device 20 records the attribute value C A, data_i of the attribute item (employee number) to be pseudonymized in the table T1e. It can be pseudonymized with different encrypted random numbers C A, R for each.

これにより、第1の実施形態の変形例と同様の効果を得ることができる。   Thereby, the effect similar to the modification of 1st Embodiment can be acquired.

<第3の実施形態:トップコーディング>
次に、第3の実施形態に係る匿名化システムについて図1を参照しながら説明する。
<Third embodiment: Top coding>
Next, an anonymization system according to a third embodiment will be described with reference to FIG.

第3の実施形態は、暗号化した「社員番号」を仮名化した第1の実施形態とは異なり、暗号化した「収入」をトップコーディングする形態である。   The third embodiment is a form in which the encrypted “income” is top-coded, unlike the first embodiment in which the encrypted “employee number” is pseudonymized.

次に、本実施形態における匿名化システムの動作について図11のシーケンス図、及び図12乃至図14の模式図を用いて説明する。以下の説明では、大小比較可能な暗号方式を用いて匿名化する場合を例に挙げて述べる。   Next, operation | movement of the anonymization system in this embodiment is demonstrated using the sequence diagram of FIG. 11, and the schematic diagram of FIG. 12 thru | or FIG. In the following description, a case where anonymization is performed using an encryption method capable of comparing sizes will be described as an example.

(事前準備)
ステップST21において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、大小比較可能な暗号方式における、復号装置30自身の鍵(秘密鍵skA)を生成する。
(Advance preparation)
In step ST21, the key generation unit 36 of the decryption device 30 uses the key (secret key sk A ) of the decryption device 30 in an encryption method that can be compared in size based on the security parameter (1 k ) in the encryption parameter storage unit 31. ) Is generated.

KeyGen(1k)→(skA
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した秘密鍵skAを秘密鍵格納部32に保存する。
KeyGen (1 k ) → (sk A )
The key generation unit 36 can acquire a random number necessary for the key generation process from the random number generation unit 35. In addition, the key generation unit 36 stores the generated secret key sk A in the secret key storage unit 32.

ステップST22において、復号装置30の制御部38は、通信部34により、暗号化装置10に、共通鍵である秘密鍵skAを送付する。暗号化装置10の制御部18は、通信部14により受信した秘密鍵skAを鍵記憶部12に格納する。 In step ST22, the control unit 38 of the decryption device 30 sends the secret key sk A , which is a common key, to the encryption device 10 through the communication unit 34. The control unit 18 of the encryption device 10 stores the secret key sk A received by the communication unit 14 in the key storage unit 12.

ステップST23において、暗号化装置10の暗号化部17は、図12に示すテーブルT1を一時データ記憶部13から読み出す。暗号化部17は、このテーブルT1のうち、トップコーディング対象の属性項目(収入)の属性値dataiを、鍵記憶部12内の秘密鍵skAに基づいてレコード毎に暗号化する。 In step ST <b> 23, the encryption unit 17 of the encryption device 10 reads the table T <b> 1 illustrated in FIG. 12 from the temporary data storage unit 13. The encryption unit 17 encrypts the attribute value data i of the top coding target attribute item (income) in the table T1 for each record based on the secret key sk A in the key storage unit 12.

Enc(skA,datai)→CA,data_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
Enc (sk A , data i ) → C A, data_i
The encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.

同様に、暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、トップコーディング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、図13に示すように、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。 Similarly, the encryption unit 17 encrypts the attribute values of attribute items other than the top coding target attribute item for each record in the table T1 based on the secret key sk A. As a result, the attribute values of all the attribute items in the table T1 are encrypted, and as shown in FIG. 13, a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.

ステップST24において、暗号化装置10の制御部18は、通信部14により、テーブルT1eからなる暗号化データを匿名化装置20に送付する。   In step ST <b> 24, the control unit 18 of the encryption device 10 sends the encrypted data including the table T <b> 1 e to the anonymization device 20 through the communication unit 14.

ステップST25において、匿名化装置20は、通信部24により受信した暗号化データであるテーブルT1eを一時データ記憶部23に保管する。   In step ST <b> 25, the anonymization device 20 stores the table T <b> 1 e that is encrypted data received by the communication unit 24 in the temporary data storage unit 23.

(匿名化)
ステップST26において、暗号化装置10のパラメータ生成部15は、トップコーディングするための匿名用パラメータである、しきい値Tを生成する。暗号化部17は、生成したしきい値Tを、鍵記憶部12内の秘密鍵skAに基づいて、大小比較可能な暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化しきい値CA,Tが生成される。
(Anonymization)
In step ST26, the parameter generation unit 15 of the encryption device 10 generates a threshold value T that is an anonymous parameter for top coding. The encryption unit 17 encrypts the generated threshold value T based on the secret key sk A in the key storage unit 12 using an encryption method that can be compared in magnitude. Thereby, the encryption threshold value C A, T which is a parameter for encryption anonymity is generated.

Enc(skA,T)→CA,T
ステップST27において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内のトップコーディング対象の属性項目(収入)と、暗号化しきい値CA,Tとを匿名化装置20に送付する。但し、匿名化装置20が秘密鍵skAを予め取得することにより、暗号化しきい値CA,Tを匿名化装置20が予め保持又は生成する場合には、暗号化装置10による暗号化しきい値CA,Tの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
Enc (sk A , T) → C A, T
In step ST27, the control unit 18 of the encryption device 10 sends the attribute item (revenue) to be top-coded in the table T1e and the encryption threshold value C A, T to the anonymization device 20 through the communication unit 14. To do. However, when the anonymization device 20 holds or generates the encryption threshold value C A, T in advance by acquiring the secret key sk A in advance, the encryption threshold value by the encryption device 10 is obtained. Generation and sending of C A, T can be omitted. The same applies to the following embodiments and modifications.

ステップST28において、匿名化装置20は、通信部24により、当該属性項目(収入)及び暗号化しきい値CA,Tを受信する。匿名化処理部26は、一時データ記憶部23内のテーブルT1eのうち、受信した属性項目(収入)に一致する属性項目(収入)の属性値CA,data_iと、受信した暗号化しきい値CA,T とをレコード毎に比較する。
In step ST <b> 28, the anonymization device 20 receives the attribute item (income) and the encryption threshold value C A, T through the communication unit 24. The anonymization processing unit 26 includes the attribute value C A, data_i of the attribute item (income) that matches the received attribute item (income) in the table T1e in the temporary data storage unit 23, and the received encryption threshold C Compare A and T for each record.

匿名化処理部26は、比較結果が1の時は、属性値CA,data_iを暗号化しきい値CA,Tに置き換える。 When the comparison result is 1, the anonymization processing unit 26 replaces the attribute value C A, data_i with the encryption threshold value C A, T.

すなわち、ステップST23で暗号化された属性値CA,data_iは、暗号化された状態のままで適宜、暗号化しきい値CA,T に置き換えられることにより、復号されずに匿名化された属性値(CA,T)に変換される。 That is, the attribute value C A, data_i encrypted in step ST23 is appropriately replaced with the encryption threshold value C A, T in the encrypted state, thereby anonymizing the attribute without being decrypted. Converted to a value (C A, T ).

このように、テーブルT1e内のトップコーディング対象の属性項目(収入)の属性値が匿名化され、図14に示すように、匿名化された属性値(CA,T)を含むテーブルT1aが暗号化匿名化データとして生成される。 As described above, the attribute value of the attribute item (income) to be top-coded in the table T1e is anonymized, and the table T1a including the anonymized attribute value (C A, T ) is encrypted as shown in FIG. Generated as anonymized data.

しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。   Thereafter, the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.

ステップST29において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。   In step ST <b> 29, the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T <b> 1 a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.

本実施形態によれば、暗号化データを復号せずに匿名化し、得られた暗号化匿名化データを復号して匿名化データを利用することが可能になる。詳しくは数値で表現されているテーブルT1の属性値data_iを、トップコーディング用のしきい値Tによってトップコーディングすることができる。ここで、匿名化装置20には、どの属性値(CA,data_i)を置き換えたかが分かり、置き換えた暗号文は全部同じ値(CA,T)になる。しかしながら、匿名化装置20には、しきい値T及び元の属性値(data_i)は分からない。 According to this embodiment, it becomes possible to anonymize the encrypted data without decrypting it, and to decrypt the obtained encrypted anonymized data and use the anonymized data. Specifically, the attribute value data_i of the table T1 expressed by numerical values can be top-coded by the threshold T for top coding. Here, the anonymization device 20 knows which attribute value (C A, data_i ) has been replaced, and the replaced ciphertexts all have the same value (C A, T ). However, the anonymization device 20 does not know the threshold value T and the original attribute value (data_i).

ここで、暗号化装置10は、トップコーディング前の暗号化データを保持している場合、トップコーディング前とトップコーディング後の対応テーブルを作成してもよい。元のデータを別途保持していれば、トップコーディングした属性値を元に戻すことも可能である。   Here, when the encryption device 10 holds the encrypted data before the top coding, the encryption device 10 may create a correspondence table before the top coding and after the top coding. If the original data is stored separately, the top-coded attribute value can be restored.

しかる後、ステップST30において、復号装置30の制御部38は、通信部34により、暗号化匿名化データを受信して一時データ記憶部33に記憶する。復号部37は、秘密鍵格納部32内の秘密鍵skAに基づいて、一時データ記憶部33内の暗号化匿名化データであるテーブルT1a内の各属性項目の値を復号し、得られた復号結果のテーブルを得る。 Thereafter, in step ST30, the control unit 38 of the decryption device 30 receives the encrypted anonymized data by the communication unit 34 and stores it in the temporary data storage unit 33. Based on the secret key sk A in the secret key storage unit 32, the decryption unit 37 decrypts the value of each attribute item in the table T1a, which is encrypted anonymized data in the temporary data storage unit 33, and is obtained A table of decoding results is obtained.

復号装置30の制御部38は、復号結果のテーブルのうち、トップコーディング対象の属性項目(収入)の属性値が匿名化されているか否かを判定する。例えば、匿名化前の属性値をトップコーディングした場合、当該属性値のいずれかが「以上」又は「以下」の文字列を含んでいれば、匿名化されていると判定される。また例えば、匿名化された属性項目(収入)の属性値について、匿名化前の値と匿名化後の値とが異なる場合には、属性値が匿名化されている旨を判定してもよい。この場合、任意のタイミングで暗号化装置10が匿名化前の値を復号装置30に送信しておけばよい。いずれにしても、判定の結果が否の場合には、ステップST26(又はST24)から処理をやり直し、好ましい匿名化結果が得られるまで繰り返す。   The control unit 38 of the decryption apparatus 30 determines whether or not the attribute value of the top coding target attribute item (income) is anonymized in the decryption result table. For example, when the attribute value before anonymization is top-coded, if any of the attribute values includes a character string “more than” or “less than”, it is determined that the attribute value is anonymized. Further, for example, when the attribute value of the anonymized attribute item (income) is different from the value before anonymization and the value after anonymization, it may be determined that the attribute value is anonymized. . In this case, the encryption device 10 may transmit the value before anonymization to the decryption device 30 at an arbitrary timing. In any case, if the determination result is NO, the process is repeated from step ST26 (or ST24), and the process is repeated until a preferable anonymization result is obtained.

ステップST31において、復号装置30の制御部38は、判定の結果、属性値が匿名化されている場合には、通信部34により、復号結果のテーブルからなる匿名化データを安全に統計処理装置50に送付する。但し、匿名化データは、復号結果のテーブルのうちの社員番号の属性値を、適宜、匿名化した状態で送付することが好ましい。このことは、以下の各実施形態及び各変形例でも同様である。   In step ST31, when the attribute value is anonymized as a result of the determination, the control unit 38 of the decryption device 30 uses the communication unit 34 to safely convert the anonymized data including the decryption result table to the statistical processing device 50. Send to. However, it is preferable that the anonymized data is sent in a state in which the attribute value of the employee number in the decryption result table is appropriately anonymized. This is the same in the following embodiments and modifications.

ステップST32において、統計処理装置50は、通信部52により受信した匿名化データを用いて統計処理を実行し、得られた統計処理結果をデータ格納部51に保存する。しかる後、統計処理装置50は、適宜、この統計処理結果を利用する。   In step ST <b> 32, the statistical processing device 50 executes statistical processing using the anonymized data received by the communication unit 52 and stores the obtained statistical processing result in the data storage unit 51. Thereafter, the statistical processing device 50 appropriately uses the statistical processing result.

上述したように本実施形態によれば、匿名化処理としてトップコーディングを実行する場合でも、第1の実施形態と同様の作用効果を得ることができる。   As described above, according to the present embodiment, even when top coding is executed as anonymization processing, the same operational effects as those of the first embodiment can be obtained.

なお、本実施形態は、(加法的な)準同型暗号でかつ大小比較可能な暗号方式でも同様に実施することが可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。   Note that this embodiment can also be implemented in an (additive) homomorphic encryption scheme and a cryptographic scheme that can be compared in size. When these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.

<第4の実施形態:M2M及びトップコーディング>
図15は第4の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。
<Fourth embodiment: M2M and top coding>
FIG. 15 is a schematic diagram showing an anonymization system and its peripheral configuration according to the fourth embodiment.

第4の実施形態は、暗号化装置10が個人データを暗号化して匿名化装置20に預ける第3の実施形態とは異なり、M2Mサービスのように、各機器で取得した個人データを暗号化してなる暗号化データを匿名化装置20で収集する形態となっている。ここでいう各機器は、各々の暗号化装置(1〜N)10に相当する。   Unlike the third embodiment in which the encryption device 10 encrypts personal data and deposits it in the anonymization device 20, the fourth embodiment encrypts personal data acquired by each device like the M2M service. The encrypted data is collected by the anonymization device 20. Each device here corresponds to each encryption device (1 to N) 10.

具体的には、第4の実施形態は、図1に示した構成に比べ、暗号化装置10をN台設け、且つパラメータ生成装置80を更に備えている。但し、パラメータ生成装置80は、必須ではなく、例えばいずれかの暗号化装置10がパラメータ(例、しきい値T)及び暗号化パラメータ(暗号化しきい値CA,T)を生成する場合には、省略してもよい。このことは、以下の各実施形態及び各変形例でも同様である。 Specifically, the fourth embodiment includes N encryption devices 10 and further includes a parameter generation device 80, as compared with the configuration shown in FIG. However, the parameter generation device 80 is not essential. For example, when any of the encryption devices 10 generates a parameter (eg, threshold T) and an encryption parameter (encryption threshold C A, T ). , May be omitted. This is the same in the following embodiments and modifications.

ここで、N台の暗号化装置(1〜N)10は、前述した暗号化装置10のパラメータ生成部15に代えて、データ取得部19を備えている。   Here, the N encryption devices (1 to N) 10 include a data acquisition unit 19 instead of the parameter generation unit 15 of the encryption device 10 described above.

パラメータ生成装置80は、暗号パラメータ格納部81、鍵記憶部82、通信部83、パラメータ生成部84、乱数生成部85、暗号化部86及び制御部87を備えている。   The parameter generation device 80 includes an encryption parameter storage unit 81, a key storage unit 82, a communication unit 83, a parameter generation unit 84, a random number generation unit 85, an encryption unit 86, and a control unit 87.

暗号パラメータ格納部81及び鍵記憶部82は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ暗号パラメータ及び鍵等を記憶する。   The encryption parameter storage unit 81 and the key storage unit 82 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device, and store encryption parameters, keys, and the like, respectively.

通信部83、パラメータ生成部84、乱数生成部85、暗号化部86及び制御部87は、例えば、図示しないプロセッサが、後述するパラメータ生成装置80内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。   The communication unit 83, the parameter generation unit 84, the random number generation unit 85, the encryption unit 86, and the control unit 87 are realized by, for example, a processor (not shown) executing a program including each step in the parameter generation device 80 described later. It is a functional block.

次に、本実施形態における匿名化システムの動作について図16のシーケンス図を用いて説明する。   Next, operation | movement of the anonymization system in this embodiment is demonstrated using the sequence diagram of FIG.

(事前準備)
ステップST21において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、大小比較可能な暗号方式における復号装置30自身の鍵(秘密鍵skA)を生成する。
(Advance preparation)
In step ST21, the key generation unit 36 of the decryption device 30 uses the key (secret key sk A ) of the decryption device 30 in the encryption method that can be compared in size based on the security parameter (1 k ) in the encryption parameter storage unit 31. Is generated.

KeyGen(1k)→(skA
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した秘密鍵skAを秘密鍵格納部32に保存する。
KeyGen (1 k ) → (sk A )
The key generation unit 36 can acquire a random number necessary for the key generation process from the random number generation unit 35. In addition, the key generation unit 36 stores the generated secret key sk A in the secret key storage unit 32.

ステップST22において、復号装置30の制御部38は、通信部34により、共通鍵である秘密鍵skAを各暗号化装置(1〜N)10及びパラメータ生成装置80に送付する。パラメータ生成装置80の制御部87は、通信部83により受信した秘密鍵skAを鍵記憶部82に格納する。同様に、各暗号化装置(1〜N)10の制御部18は、通信部14により受信した秘密鍵skAを鍵記憶部12に格納する。なお、各暗号化装置(1〜N)10は、機器組み立て時に公開鍵pkAを入力して格納してもよく、機器を配置後、ネットワーク経由で公開鍵pkAを受信して格納してもよい。 In step ST22, the control unit 38 of the decryption device 30 sends the secret key sk A , which is a common key, to the encryption devices (1 to N) 10 and the parameter generation device 80 through the communication unit 34. The control unit 87 of the parameter generation device 80 stores the secret key sk A received by the communication unit 83 in the key storage unit 82. Similarly, the control unit 18 of each encryption device (1 to N) 10 stores the secret key sk A received by the communication unit 14 in the key storage unit 12. Each encryption device (1 to N) 10 may input and store the public key pk A at the time of assembling the device. After the device is arranged, it receives and stores the public key pk A via the network. Also good.

ステップST23において、各暗号化装置(1〜N)10のデータ取得部19は、テーブルT1からなる個人データを取得して一時データ記憶部13に記憶する。各暗号化装置(1〜N)10の暗号化部17は、一時データ記憶部13内のテーブルT1のうち、トップコーディング対象の属性項目(収入)の属性値dataiを、鍵記憶部12内の秘密鍵skAに基づいてレコード毎に暗号化する。 In step ST23, the data acquisition unit 19 of each encryption device (1 to N) 10 acquires the personal data composed of the table T1 and stores it in the temporary data storage unit 13. The encryption unit 17 of each encryption device (1 to N) 10 stores the attribute value data i of the top coding target attribute item (income) in the key storage unit 12 in the table T1 in the temporary data storage unit 13. Is encrypted for each record based on the secret key sk A.

Enc(skA,datai)→CA,data_i
同様に、各暗号化装置(1〜N)10の暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、トップコーディング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
Enc (sk A , data i ) → C A, data_i
Similarly, the encryption unit 17 of each encryption device (1 to N) 10 sets the attribute values of attribute items other than the top coding target attribute item for each record in the table T1 based on the secret key sk A. Encrypt. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and the table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.

ステップST24において、各暗号化装置(1〜N)10の制御部18は、通信部14により、テーブルT1eからなる暗号化データと、テーブルT1e内のトップコーディング対象の属性項目(収入)とを匿名化装置20に送付する。   In step ST24, the control unit 18 of each encryption device (1 to N) 10 uses the communication unit 14 to anonymously encrypt the encrypted data including the table T1e and the top coding target attribute item (income) in the table T1e. Sent to the digitizing device 20.

ステップST25において、匿名化装置20は、通信部24により、暗号化データであるテーブルT1eと、テーブルT1e内のトップコーディング対象の属性項目(収入)とを受信する。しかる後、匿名化装置20の制御部29は、当該テーブルT1eと、トップコーディング対象の属性項目(収入)とを一時データ記憶部23に保管する。一時データ記憶部23内のテーブルT1eは、暗号化装置(1〜N)10から受信したテーブルT1eを集めた内容に更新される。   In step ST <b> 25, the anonymization device 20 receives the table T <b> 1 e that is encrypted data and the attribute item (revenue) to be top-coded in the table T <b> 1 e through the communication unit 24. Thereafter, the control unit 29 of the anonymization device 20 stores the table T1e and the top coding target attribute item (income) in the temporary data storage unit 23. The table T1e in the temporary data storage unit 23 is updated to the contents obtained by collecting the tables T1e received from the encryption device (1 to N) 10.

(匿名化)
ステップST26において、パラメータ生成装置80のパラメータ生成部84は、トップコーディングするための匿名用パラメータである、しきい値Tを生成する。パラメータ生成装置80の暗号化部86は、生成したしきい値Tを、鍵記憶部82内の秘密鍵skAに基づいて、大小比較可能な暗号方式で暗号化し、暗号化匿名用パラメータである暗号化しきい値CA,Tを生成する。
(Anonymization)
In step ST26, the parameter generation unit 84 of the parameter generation device 80 generates a threshold value T, which is an anonymous parameter for top coding. The encryption unit 86 of the parameter generation device 80 encrypts the generated threshold value T using a cryptographic method that can be compared in magnitude based on the secret key sk A in the key storage unit 82, and is an encrypted anonymous parameter. An encryption threshold value C A, T is generated.

Enc(skA,T)→CA,T
ステップST27において、パラメータ生成装置80の制御部87は、通信部83により、暗号化しきい値CA,Tを匿名化装置20に送付する。但し、暗号化しきい値CA,Tを匿名化装置20が予め保持又は生成する場合には、パラメータ生成装置80による暗号化乱数CA,Rの生成及び送付を省略できる。
Enc (sk A , T) → C A, T
In step ST <b> 27, the control unit 87 of the parameter generation device 80 sends the encryption threshold value C A, T to the anonymization device 20 through the communication unit 83. However, when the anonymization device 20 holds or generates the encryption threshold value C A, T in advance , the generation and transmission of the encrypted random number C A, R by the parameter generation device 80 can be omitted.

以下、前述した第3の実施形態と同様に、ステップST28〜ST32が実行される。   Thereafter, similarly to the third embodiment described above, steps ST28 to ST32 are executed.

上述したように本実施形態によれば、、暗号化装置10を複数台とした場合でも、第3の実施形態と同様の作用効果を得ることができる。   As described above, according to the present embodiment, even when there are a plurality of encryption devices 10, the same operational effects as those of the third embodiment can be obtained.

なお、本実施形態は、(加法的な)準同型暗号でかつ大小比較可能な暗号方式でも同様に実施することが可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。   Note that this embodiment can also be implemented in an (additive) homomorphic encryption scheme and a cryptographic scheme that can be compared in size. When these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.

ただし、本実施形態では、各機器に秘密鍵skAを格納するが、この秘密鍵skAは暗号化のみならず復号処理もできるため、各機器上で、秘密鍵skAを適切に管理しなければならない。このことは、以下の各実施形態及び各変形例でも同様である。 However, in this embodiment, the secret key sk A is stored in each device. Since this secret key sk A can be decrypted as well as encrypted, the secret key sk A is appropriately managed on each device. There must be. This is the same in the following embodiments and modifications.

<第5の実施形態:グルーピング>
次に、第5の実施形態に係る匿名化システムについて図1を参照しながら説明する。
<Fifth Embodiment: Grouping>
Next, an anonymization system according to a fifth embodiment will be described with reference to FIG.

第5の実施形態は、暗号化した「社員番号」を仮名化した第1の実施形態とは異なり、暗号化した「年齢」をグルーピングする形態である。   In the fifth embodiment, unlike the first embodiment in which the encrypted “employee number” is pseudonymized, the encrypted “age” is grouped.

次に、本実施形態における匿名化システムの動作について図17のシーケンス図、及び図18乃至図20の模式図を用いて説明する。以下の説明では、大小比較可能な暗号方式を用いて匿名化する場合を例に挙げて述べる。   Next, operation | movement of the anonymization system in this embodiment is demonstrated using the sequence diagram of FIG. 17, and the schematic diagram of FIG. 18 thru | or FIG. In the following description, a case where anonymization is performed using an encryption method capable of comparing sizes will be described as an example.

(事前準備)
ステップST41において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、大小比較可能な暗号方式における、復号装置30自身の鍵(秘密鍵skA)を生成する。
(Advance preparation)
In step ST41, the key generation unit 36 of the decryption device 30 uses the decryption device 30's own key (secret key sk A ) in an encryption method that can be compared in size based on the security parameter (1 k ) in the encryption parameter storage unit 31. ) Is generated.

KeyGen(1k)→(skA
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した秘密鍵skAを秘密鍵格納部32に保存する。
KeyGen (1 k ) → (sk A )
The key generation unit 36 can acquire a random number necessary for the key generation process from the random number generation unit 35. In addition, the key generation unit 36 stores the generated secret key sk A in the secret key storage unit 32.

ステップST42において、復号装置30の制御部38は、通信部34により、暗号化装置10に、共通鍵である秘密鍵skAを送付する。暗号化装置10の制御部18は、通信部14により受信した秘密鍵skAを鍵記憶部12に格納する。 In step ST42, the control unit 38 of the decryption device 30 sends the secret key sk A , which is a common key, to the encryption device 10 through the communication unit 34. The control unit 18 of the encryption device 10 stores the secret key sk A received by the communication unit 14 in the key storage unit 12.

ステップST43において、暗号化装置10の暗号化部17は、図18に示すテーブルT1を一時データ記憶部13から読み出す。暗号化部17は、このテーブルT1のうち、グルーピング対象の属性項目(年齢)の属性値dataiを、鍵記憶部12内の秘密鍵skAに基づいてレコード毎に暗号化する。 In step ST43, the encryption unit 17 of the encryption device 10 reads the table T1 illustrated in FIG. 18 from the temporary data storage unit 13. The encryption unit 17 encrypts the attribute value data i of the attribute item (age) to be grouped in the table T1 for each record based on the secret key sk A in the key storage unit 12.

Enc(skA,datai)→CA,data_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
Enc (sk A , data i ) → C A, data_i
The encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.

同様に、暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、グルーピング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、図19に示すように、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。 Similarly, the encryption unit 17 encrypts the attribute values of attribute items other than the grouping target attribute item for each record in the table T1 based on the secret key sk A. As a result, the attribute values of all the attribute items in the table T1 are encrypted, and as shown in FIG. 19, a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.

ステップST44において、暗号化装置10の制御部18は、通信部14により、テーブルT1eからなる暗号化データを匿名化装置20に送付する。   In step ST44, the control unit 18 of the encryption device 10 sends the encrypted data including the table T1e to the anonymization device 20 through the communication unit 14.

ステップST45において、匿名化装置20は、通信部24により受信した暗号化データであるテーブルT1eを一時データ記憶部23に保管する。   In step ST <b> 45, the anonymization device 20 stores the table T <b> 1 e that is encrypted data received by the communication unit 24 in the temporary data storage unit 23.

(匿名化)
ステップST46において、暗号化装置10のパラメータ生成部15は、グルーピングするための匿名用パラメータである、グループの下限値L、グループの上限値U及びグループの代表値Mを生成する。暗号化部17は、生成した下限値L、上限値U及びグループの代表値Mを、鍵記憶部12内の秘密鍵skAに基づいて、大小比較可能な暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mが生成される。
(Anonymization)
In step ST46, the parameter generation unit 15 of the encryption device 10 generates a group lower limit value L, a group upper limit value U, and a group representative value M, which are anonymous parameters for grouping. The encryption unit 17 encrypts the generated lower limit value L, upper limit value U, and group representative value M based on the secret key sk A in the key storage unit 12 using an encryption method that can be compared in magnitude. As a result, the encryption lower limit value CA , L , the encryption upper limit value CA , U, and the encryption representative value CA , M, which are parameters for encryption anonymity , are generated.

Enc(skA,L)→CA,L
Enc(skA,U)→CA,U
Enc(skA,M)→CA,M
ステップST47において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内のグルーピング対象の属性項目(年齢)と、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mとを匿名化装置20に送付する。但し、匿名化装置20が秘密鍵skAを予め取得することにより、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mを匿名化装置20が予め保持又は生成する場合には、各値CA,L、CA,U及びCA,Mの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
Enc (sk A , L) → C A, L
Enc (sk A , U) → C A, U
Enc (sk A , M) → C A, M
In step ST47, the control unit 18 of the encryption device 10 causes the communication unit 14 to use the grouping target attribute item (age) in the table T1e, the encryption lower limit value C A, L , and the encryption upper limit value C A, U. The encrypted representative values C A, M are sent to the anonymization device 20. However, when the anonymization device 20 obtains the secret key sk A in advance, the anonymization device 20 obtains the encryption lower limit value CA , L , the encryption upper limit value CA , U, and the encryption representative value CA , M. In the case of holding or generating in advance, generation and sending of each value C A, L , C A, U and C A, M can be omitted. The same applies to the following embodiments and modifications.

ステップST48において、匿名化装置20は、通信部24により、当該属性項目(年齢)と、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mとを受信する。匿名化処理部26は、一時データ記憶部23内のテーブルT1eのうち、受信した属性項目(年齢)に一致する属性項目(年齢)の属性値CA,data_iと、受信した暗号化下限値CA,L及び暗号化上限値CA,U をレコード毎に比較する。
In step ST48, the anonymization device 20 transmits the attribute item (age), the encryption lower limit value C A, L , the encryption upper limit value C A, U and the encryption representative value C A, M by the communication unit 24. Receive. The anonymization processing unit 26 includes the attribute value C A, data_i of the attribute item (age) matching the received attribute item (age) in the table T1e in the temporary data storage unit 23, and the received encryption lower limit C A, L and encryption upper limit values CA , U are compared for each record.

グルーピングしたいテーブルの属性項目(年齢)の属性値CA,data_iが暗号化下限値CA,L以上で暗号化上限値CA,U以下のとき、当該属性値CA,data_iを暗号化代表値CA,Mに置き換える。ここで、暗号化属性値CA,data_iが暗号化下限値CA,L以上のときは、第1の比較処理Comp(CA,data_i,CA,L)の結果が「1」又は「0」の場合に相当する。属性値CA,data_iが暗号化上限値CA,U以下のときは、第2の比較処理Comp(CA,data_i,CA,U)の結果が「−1」又は「0」の場合に相当する。 When the attribute value C A, data_i of the attribute item (age) of the table to be grouped is greater than or equal to the encryption lower limit C A, L and less than the encryption upper limit C A, U , the attribute value C A, data_i is the encryption representative. Replace with the values C A, M. Here, when the encryption attribute value C A, data_i is greater than or equal to the encryption lower limit value C A, L , the result of the first comparison processing Comp (C A, data_i , C A, L ) is “1” or “ This corresponds to the case of “0”. When the attribute value C A, data_i is less than or equal to the encryption upper limit value C A, U , the result of the second comparison processing Comp (C A, data_i , C A, U ) is “−1” or “0” It corresponds to.

なお、属性値CA,data_iを暗号化代表値CA,M に置き換える際に、比較処理Compの結果が0の場合を含めるか否か、などといったグルーピングの方法は、適宜、変更可能となっている。グルーピングの方法は、例えば、用途・目的に応じた一般的な手法を用いてもよく、それら一般的な手法を本実施形態の手法に組み合わせて実施しても良い。 When the attribute value C A, data_i is replaced with the encrypted representative value C A, M , the grouping method such as whether or not to include the case where the result of the comparison processing Comp is 0 can be changed as appropriate. ing. As a grouping method, for example, a general method according to the application / purpose may be used, or the general method may be combined with the method of the present embodiment.

すなわち、ステップST43で暗号化された属性値CA,data_iは、暗号化された状態のままで適宜、暗号化代表値CA,M に置き換えられることにより、復号されずに匿名化された属性値(CA,M)に変換される。 That is, the attribute value C A, data_i encrypted in step ST43 is anonymized attribute without being decrypted by appropriately replacing the encrypted representative value C A, M with the encrypted state. Converted to a value (C A, M ).

このように、テーブルT1e内のグルーピング対象の属性項目(年齢)の属性値が匿名化され、図20に示すように、匿名化された属性値(CA,M)を含むテーブルT1aが暗号化匿名化データとして生成される。 In this way, the attribute value of the grouping target attribute item (age) in the table T1e is anonymized, and the table T1a including the anonymized attribute value (C A, M ) is encrypted as shown in FIG. Generated as anonymized data.

しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。   Thereafter, the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.

ステップST49において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。   In step ST49, the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T1a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.

本実施形態によれば、暗号化データを復号せずに匿名化し、得られた暗号化匿名化データを復号して匿名化データを利用することが可能になる。詳しくは数値で表現されているテーブルT1の属性値data_iを、各グループの下限値L及び上限値Uを指定することによってグルーピングすることができる。ここで、匿名化装置20には、どの属性値(CA,data_i)を置き換えたかが分かり、置き換えた暗号文は全部同じ値(各グループの暗号化代表値CA,M)になる。しかしながら、匿名化装置20には、グループの下限値L、上限値U、代表値M、及び元の属性値(data_i)は分からない。 According to this embodiment, it becomes possible to anonymize the encrypted data without decrypting it, and to decrypt the obtained encrypted anonymized data and use the anonymized data. Specifically, the attribute values data_i of the table T1 expressed by numerical values can be grouped by designating the lower limit value L and the upper limit value U of each group. Here, the anonymization device 20 knows which attribute value (C A, data_i ) has been replaced, and all the replaced ciphertexts have the same value (encrypted representative value C A, M for each group). However, the anonymization device 20 does not know the lower limit value L, the upper limit value U, the representative value M, and the original attribute value (data_i) of the group.

ここで、暗号化装置10は、グルーピング前の暗号化データを保持している場合、グルーピング前とグルーピング後の対応テーブルを作成してもよい。元のデータを別途保持していれば、グルーピングした属性値を元に戻すことも可能である。   Here, when the encryption apparatus 10 holds the encrypted data before grouping, the encryption device 10 may create a correspondence table before and after grouping. If the original data is held separately, the grouped attribute values can be restored.

しかる後、ステップST50において、復号装置30の制御部38は、通信部34により、暗号化匿名化データを受信して一時データ記憶部33に記憶する。復号部37は、秘密鍵格納部32内の秘密鍵skAに基づいて、一時データ記憶部33内の暗号化匿名化データであるテーブルT1a内の各属性項目の値を復号し、得られた復号結果のテーブルを得る。 Thereafter, in step ST50, the control unit 38 of the decryption device 30 receives the encrypted anonymized data by the communication unit 34 and stores it in the temporary data storage unit 33. Based on the secret key sk A in the secret key storage unit 32, the decryption unit 37 decrypts the value of each attribute item in the table T1a, which is encrypted anonymized data in the temporary data storage unit 33, and is obtained A table of decoding results is obtained.

復号装置30の制御部38は、復号結果のテーブルのうち、グルーピング対象の属性項目(年齢)の属性値が匿名化されているか否かを判定する。例えば、各グループの代表値が「20代」、「30代」、「40代」等の場合、当該属性値が「代」の文字列を含むときには、匿名化されていると判定される。また例えば、匿名化された属性項目(年齢)の属性値について、匿名化前の値と匿名化後の値とが異なる場合には、属性値が匿名化されている旨を判定してもよい。この場合、任意のタイミングで暗号化装置10が匿名化前の値を復号装置30に送信しておけばよい。いずれにしても、判定の結果が否の場合には、ステップST46(又はST44)から処理をやり直し、好ましい匿名化結果が得られるまで繰り返す。   The control unit 38 of the decrypting device 30 determines whether or not the attribute value of the grouping target attribute item (age) is anonymized in the decryption result table. For example, when the representative value of each group is “20s”, “30s”, “40s”, etc., it is determined that the group is anonymized when the attribute value includes a character string “Ys”. In addition, for example, when the attribute value of an anonymized attribute item (age) is different from the value before anonymization and the value after anonymization, it may be determined that the attribute value is anonymized. . In this case, the encryption device 10 may transmit the value before anonymization to the decryption device 30 at an arbitrary timing. In any case, when the result of the determination is NO, the process is repeated from step ST46 (or ST44) and repeated until a preferable anonymization result is obtained.

以下、前述したステップST31〜ST32と同様に、ステップST51〜ST52が実行される。   Thereafter, steps ST51 to ST52 are executed in the same manner as steps ST31 to ST32 described above.

上述したように本実施形態によれば、匿名化処理としてグルーピングを実行する場合でも、第1の実施形態と同様の作用効果を得ることができる。   As described above, according to the present embodiment, even when grouping is executed as an anonymization process, the same effects as those of the first embodiment can be obtained.

なお、本実施形態は、(加法的な)準同型暗号でかつ大小比較可能な暗号方式でも同様に実施することが可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。   Note that this embodiment can also be implemented in an (additive) homomorphic encryption scheme and a cryptographic scheme that can be compared in size. When these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.

<第6の実施形態:M2M及びグルーピング>
次に、第6の実施形態に係る匿名化システムについて図15を参照しながら説明する。
<Sixth embodiment: M2M and grouping>
Next, an anonymization system according to the sixth exemplary embodiment will be described with reference to FIG.

第6の実施形態は、暗号化装置10が個人データを暗号化して匿名化装置20に預ける第5の実施形態とは異なり、M2Mサービスのように、各機器で取得した個人データを暗号化してなる暗号化データを匿名化装置20で収集する形態となっている。ここでいう各機器は、各々の暗号化装置(1〜N)10に相当する。   Unlike the fifth embodiment in which the encryption device 10 encrypts personal data and deposits it in the anonymization device 20, the sixth embodiment encrypts personal data acquired by each device like the M2M service. The encrypted data is collected by the anonymization device 20. Each device here corresponds to each encryption device (1 to N) 10.

次に、本実施形態における匿名化システムの動作について図21のシーケンス図を用いて説明する。以下の説明では、大小比較可能な暗号方式を用いて匿名化する場合を例に挙げて述べる。   Next, operation | movement of the anonymization system in this embodiment is demonstrated using the sequence diagram of FIG. In the following description, a case where anonymization is performed using an encryption method capable of comparing sizes will be described as an example.

(事前準備)
ステップST41〜ST42は、第4の実施形態のステップST21〜ST22と同様に実行される。但し、鍵生成に用いる暗号方式は、第5の実施形態の大小比較可能な暗号方式を用いる。
(Advance preparation)
Steps ST41 to ST42 are executed in the same manner as steps ST21 to ST22 of the fourth embodiment. However, the encryption method used for key generation is the encryption method that can be compared in size in the fifth embodiment.

ステップST43において、各暗号化装置(1〜N)10のデータ取得部19は、テーブルT1からなる個人データを取得して一時データ記憶部13に記憶する。各暗号化装置(1〜N)10の暗号化部17は、一時データ記憶部13内のテーブルT1のうち、グルーピング対象の属性項目(年齢)の属性値dataiを、鍵記憶部12内の秘密鍵skAに基づいてレコード毎に暗号化する。 In step ST43, the data acquisition unit 19 of each encryption device (1 to N) 10 acquires personal data including the table T1 and stores it in the temporary data storage unit 13. The encryption unit 17 of each encryption device (1 to N) 10 stores the attribute value data i of the attribute item (age) to be grouped in the table T1 in the temporary data storage unit 13 in the key storage unit 12. Encryption is performed for each record based on the secret key sk A.

Enc(skA,datai)→CA,data_i
同様に、各暗号化装置(1〜N)10の暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、グルーピング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。
Enc (sk A , data i ) → C A, data_i
Similarly, the encryption unit 17 of each encryption device (1 to N) 10 encrypts the attribute values of attribute items other than the grouping target attribute item for each record in the table T1, based on the secret key sk A. Turn into. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and the table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.

ステップST44において、各暗号化装置(1〜N)10の制御部18は、通信部14により、テーブルT1eからなる暗号化データと、テーブルT1e内のグルーピング対象の属性項目(年齢)とを匿名化装置20に送付する。   In step ST44, the control unit 18 of each encryption device (1 to N) 10 anonymizes the encrypted data including the table T1e and the grouping target attribute item (age) in the table T1e by the communication unit 14. Send to device 20.

ステップST45において、匿名化装置20は、通信部24により、暗号化データであるテーブルT1eと、テーブルT1e内のグルーピング対象の属性項目(年齢)とを受信する。しかる後、匿名化装置20の制御部29は、当該テーブルT1eと、グルーピング対象の属性項目(年齢)とを一時データ記憶部23に保管する。一時データ記憶部23内のテーブルT1eは、暗号化装置(1〜N)10から受信したテーブルT1eを集めた内容に更新される。   In step ST <b> 45, the anonymization device 20 receives the table T <b> 1 e that is encrypted data and the attribute item (age) to be grouped in the table T <b> 1 e through the communication unit 24. Thereafter, the control unit 29 of the anonymization device 20 stores the table T1e and the attribute item (age) to be grouped in the temporary data storage unit 23. The table T1e in the temporary data storage unit 23 is updated to the contents obtained by collecting the tables T1e received from the encryption device (1 to N) 10.

(匿名化)
ステップST46において、パラメータ生成装置80のパラメータ生成部84は、グルーピングするための匿名用パラメータである、グループの下限値L、グループの上限値U及びグループの代表値Mを生成する。パラメータ生成装置80の暗号化部86は、生成した下限値L、上限値U及びグループの代表値Mを、鍵記憶部82内の秘密鍵skAに基づいて、大小比較可能な暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mが生成される。
(Anonymization)
In step ST46, the parameter generation unit 84 of the parameter generation device 80 generates a group lower limit value L, a group upper limit value U, and a group representative value M, which are anonymous parameters for grouping. The encryption unit 86 of the parameter generation device 80 encrypts the generated lower limit value L, upper limit value U, and group representative value M based on the secret key sk A in the key storage unit 82 using an encryption method capable of comparing magnitudes. Turn into. As a result, the encryption lower limit value CA , L , the encryption upper limit value CA , U, and the encryption representative value CA , M, which are parameters for encryption anonymity , are generated.

Enc(skA,L)→CA,L
Enc(skA,U)→CA,U
Enc(skA,M)→CA,M
ステップST47において、パラメータ生成装置80の制御部87は、通信部83により、テーブルT1e内のグルーピング対象の属性項目(年齢)と、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mとを匿名化装置20に送付する。但し、匿名化装置20が秘密鍵skAを予め取得することにより、暗号化下限値CA,L、暗号化上限値CA,U及び暗号化代表値CA,Mを匿名化装置20が予め保持又は生成する場合には、各値CA,L、CA,U及びCA,Mの生成及び送付を省略できる。
Enc (sk A , L) → C A, L
Enc (sk A , U) → C A, U
Enc (sk A , M) → C A, M
In step ST47, the control unit 87 of the parameter generation device 80 uses the communication unit 83 to perform the grouping target attribute item (age) in the table T1e, the encryption lower limit value C A, L , and the encryption upper limit value C A, U. The encrypted representative values C A, M are sent to the anonymization device 20. However, when the anonymization device 20 obtains the secret key sk A in advance, the anonymization device 20 obtains the encryption lower limit value CA , L , the encryption upper limit value CA , U, and the encryption representative value CA , M. In the case of holding or generating in advance, generation and sending of each value C A, L , C A, U and C A, M can be omitted.

以下、前述した第5の実施形態と同様に、ステップST48〜ST52が実行される。   Thereafter, similarly to the fifth embodiment described above, steps ST48 to ST52 are executed.

上述したように本実施形態によれば、暗号化装置10を複数台とした場合でも、第5の実施形態と同様の作用効果を得ることができる。   As described above, according to the present embodiment, even when a plurality of encryption devices 10 are provided, the same effects as those of the fifth embodiment can be obtained.

なお、本実施形態は、(加法的な)準同型暗号でかつ大小比較可能な暗号方式でも同様に実施することが可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。   Note that this embodiment can also be implemented in an (additive) homomorphic encryption scheme and a cryptographic scheme that can be compared in size. When these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.

<第7の実施形態:誤差の導入>
次に、第7の実施形態に係る匿名化システムについて図1、図3、図5及び図6を参照しながら説明する。
<Seventh Embodiment: Introduction of Error>
Next, an anonymization system according to the seventh exemplary embodiment will be described with reference to FIGS. 1, 3, 5, and 6. FIG.

第7の実施形態は、乱数R及び暗号化乱数CA,Rを用いた第1の実施形態とは異なり、誤差R及び暗号化誤差CA,Rを用いる形態である。すなわち、第7の実施形態は、第1の実施形態における乱数Rを誤差Rとみなし、第1の実施形態と同一の構成(図1)及び処理によって、テーブルT1の属性値を匿名化(誤差の導入による仮名化)する構成となっている。このとき、テーブルT1は、第1の実施形態と同様に、順次、テーブルT1e,T1aに変更される(図3、図5及び図6)。 Unlike the first embodiment using the random number R and the encrypted random number C A, R , the seventh embodiment uses the error R and the encryption error CA , R. That is, in the seventh embodiment, the random number R in the first embodiment is regarded as an error R, and the attribute value of the table T1 is anonymized (error) by the same configuration (FIG. 1) and processing as in the first embodiment. The pseudonym by the introduction of). At this time, the table T1 is sequentially changed to the tables T1e and T1a as in the first embodiment (FIGS. 3, 5, and 6).

以上のような構成によれば、図22に示すように、第1の実施形態と同様の作用効果を得ることができる。また、本実施形態は、第1の実施形態における匿名化(仮名化)に加え、社員番号以外の属性項目(年齢、収入)の暗号化された属性値(CA,data_i+R)に暗号化誤差CA,Rを導入(加減算)することにより、一層、匿名化を進めることができる。 According to the configuration as described above, as shown in FIG. 22, it is possible to obtain the same operational effects as those of the first embodiment. In addition to anonymization (a pseudonymization) in the first embodiment, the present embodiment encrypts the encrypted attribute values (C A, data_i + R ) of attribute items (age, income) other than the employee number. Anonymization can be further promoted by introducing (adding or subtracting) the conversion error CA , R.

<第7の実施形態の変形例:誤差の導入>
第7の実施形態の変形例は、第1の実施形態の変形例と同様に、匿名化装置20が、テーブルT1eのうち、仮名化対象の属性項目(社員番号)の属性値CA,data_iに対し、レコード毎に異なる暗号化誤差CA,Rを導入して仮名化することができる。
<Modification of Seventh Embodiment: Introduction of Error>
In the modified example of the seventh embodiment, as in the modified example of the first embodiment, the anonymization device 20 uses the attribute value C A, data_i of the attribute item (employee number) to be pseudonymized in the table T1e. On the other hand, pseudonyms can be created by introducing different encryption errors CA , R for each record.

これにより、第1の実施形態の変形例と同様の効果を得ることができる。   Thereby, the effect similar to the modification of 1st Embodiment can be acquired.

また、第7の実施形態の変形例は、仮名化対象の属性項目(社員番号)に加え、誤差の導入対象の属性項目(年齢、収入)の属性値CA,data_iに対し、レコード毎に異なる暗号化誤差CA,Rを導入して、一層、匿名化を進めることができる
<第8の実施形態:M2M及び誤差の導入>
次に、第8の実施形態に係る匿名化システムについて図9を参照しながら説明する。
Further, in the modification of the seventh embodiment, in addition to the attribute item (employee number) to be pseudonymized, the attribute value C A, data_i of the attribute item (age, income) to be introduced for each error is recorded for each record. Anonymization can be further promoted by introducing different encryption errors C A, R <Eighth embodiment: introduction of M2M and error>
Next, an anonymization system according to an eighth embodiment will be described with reference to FIG.

第8の実施形態は、M2Mに乱数R及び暗号化乱数CA,Rを用いた第2の実施形態とは異なり、M2Mに誤差R及び暗号化誤差CA,Rを用いる形態である。すなわち、第8の実施形態は、第2の実施形態における乱数Rを誤差Rとみなし、第2の実施形態と同一の処理によって、テーブルの属性値を匿名化(誤差の導入による仮名化)する構成となっている。 Unlike the second embodiment in which the random number R and the encrypted random number C A, R are used for M2M, the eighth embodiment uses the error R and the encryption error C A, R for M2M. That is, in the eighth embodiment, the random number R in the second embodiment is regarded as an error R, and the attribute value of the table is anonymized (a pseudonym by introducing an error) by the same process as in the second embodiment. It has a configuration.

以上のような構成によれば、第2の実施形態と同様の作用効果を得ることができる。また、本実施形態は、第2の実施形態における匿名化(仮名化)に加え、社員番号以外の属性項目(年齢、収入)の暗号化された属性値に暗号化誤差CA,Rを導入(加減算)することにより、一層、匿名化を進めることができる。 According to the above configuration, it is possible to obtain the same operational effects as those of the second embodiment. In addition to the anonymization (a pseudonymization) in the second embodiment, this embodiment introduces an encryption error CA , R into the encrypted attribute values of attribute items (age, income) other than the employee number. By adding (subtracting), anonymization can be further promoted.

<第8の実施形態の変形例:誤差の導入>
第8の実施形態の変形例は、第2の実施形態の変形例と同様に、匿名化装置20が、テーブルT1eのうち、仮名化対象の属性項目(社員番号)の属性値CA,data_iに対し、レコード毎に異なる暗号化誤差CA,Rを導入して仮名化することができる。
<Modification of Eighth Embodiment: Introduction of Error>
In the modified example of the eighth embodiment, as in the modified example of the second embodiment, the anonymization device 20 uses the attribute value C A, data_i of the attribute item (employee number) to be pseudonymized in the table T1e. On the other hand, pseudonyms can be created by introducing different encryption errors CA , R for each record.

これにより、第2の実施形態の変形例と同様の効果を得ることができる。   Thereby, the effect similar to the modification of 2nd Embodiment can be acquired.

また、第8の実施形態の変形例は、仮名化対象の属性項目(社員番号)に加え、誤差の導入対象の属性項目(年齢、収入)の属性値CA,data_iに対し、レコード毎に異なる暗号化誤差CA,Rを導入して、一層、匿名化を進めることができる。 Further, in the modified example of the eighth embodiment, in addition to the attribute item (employee number) to be pseudonymized, the attribute value C A, data_i of the attribute item (age, income) to be introduced for each error is recorded for each record. Anonymization can be further promoted by introducing different encryption errors CA , R.

<第9の実施形態:[AN2013-51001]方式でトップコーディング>
図23は第9の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。
<Ninth embodiment: Top coding with [AN2013-51001] method>
FIG. 23 is a schematic diagram showing an anonymization system and its peripheral configuration according to the ninth embodiment.

第9の実施形態は、[OPE]方式を用いた第3の実施形態とは異なり、[AN2013-51001]方式を用いる形態である。   Unlike the third embodiment using the [OPE] method, the ninth embodiment uses the [AN2013-51001] method.

これに伴い、第9の実施形態は、図1に示した構成に比べ、匿名化支援装置90を更に備えている。   Accordingly, the ninth embodiment further includes an anonymization support device 90 as compared to the configuration illustrated in FIG.

匿名化支援装置90は、鍵記憶部91、一時データ記憶部92、通信部93、パラメータ生成部94、乱数生成部95、演算部96及び制御部97を備えている。   The anonymization support device 90 includes a key storage unit 91, a temporary data storage unit 92, a communication unit 93, a parameter generation unit 94, a random number generation unit 95, a calculation unit 96, and a control unit 97.

鍵記憶部91及び一時データ記憶部92は、図示しないプロセッサから読出/書込可能な記憶装置又は記憶装置の記憶領域として実現可能となっており、それぞれ鍵及び一時データ等を記憶する。   The key storage unit 91 and the temporary data storage unit 92 can be realized as a storage device that can be read / written by a processor (not shown) or a storage area of the storage device, and store a key, temporary data, and the like, respectively.

通信部93、パラメータ生成部94、乱数生成部95、演算部96及び制御部97は、例えば、図示しないプロセッサが、後述する匿名化支援装置90内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。   The communication unit 93, the parameter generation unit 94, the random number generation unit 95, the calculation unit 96, and the control unit 97 are realized by, for example, a processor (not shown) executing a program including each step in the anonymization support device 90 described later. It is a functional block.

また、匿名化装置20は、図1に示した構成に比べ、鍵記憶部220を更に備えている。   In addition, the anonymization device 20 further includes a key storage unit 220 as compared with the configuration illustrated in FIG. 1.

復号装置30は、図1に示した構成において、秘密鍵格納部32に代えて、鍵記憶部320を備えている。   In the configuration shown in FIG. 1, the decryption device 30 includes a key storage unit 320 instead of the secret key storage unit 32.

次に、本実施形態における匿名化システムの動作について図24のシーケンス図、並びに図25及び図26の模式図を用いて説明する。以下の説明は、[AN2013-51001]の(加法的な)準同型暗号で且つ大小比較可能な暗号方式を用いて匿名化する場合を例に挙げて述べる。   Next, operation | movement of the anonymization system in this embodiment is demonstrated using the sequence diagram of FIG. 24, and the schematic diagram of FIG.25 and FIG.26. The following description will be given by taking as an example the case of anonymization using the (additive) homomorphic encryption of [AN2013-51001] and an encryption method that can be compared in size.

(事前準備)
ステップST61において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、[AN2013-51001]の暗号方式における鍵生成を実行する。これにより、鍵生成部36は、暗号化鍵a、gsv、g、N、二次演算鍵a-1、s、N、三次演算鍵v、N、及び復号鍵sv、a-1、N(又はs、v、a-1、N)を生成する。
(Advance preparation)
In step ST61, the key generation unit 36 of the decryption device 30 performs key generation in the encryption scheme [AN2013-51001] based on the security parameter (1 k ) in the encryption parameter storage unit 31. Thereby, the key generation unit 36 includes the encryption keys a, g sv , g, N, the secondary operation keys a −1 , s, N, the tertiary operation keys v, N, and the decryption keys sv, a −1 , N (Or s, v, a −1 , N).

KeyGen(1k)→(a、gsv、g、N、a-1、s、v)
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した暗号化鍵a、gsv、g、N、二次演算鍵a-1、s、N、三次演算鍵v、N、及び復号鍵sv、a-1、N(又はs、v、a-1、N)を鍵記憶部320に保存する。
KeyGen (1 k ) → (a, g sv , g, N, a −1 , s, v)
The key generation unit 36 can acquire a random number necessary for the key generation process from the random number generation unit 35. Further, the key generation unit 36 generates the generated encryption keys a, g sv , g, N, the secondary operation keys a −1 , s, N, the tertiary operation keys v, N, and the decryption keys sv, a −1 , N (or s, v, a −1 , N) is stored in the key storage unit 320.

ステップST62において、復号装置30の制御部38は、通信部34により、暗号化鍵a、gsv、g、Nを暗号化装置10に送付する。暗号化装置10の制御部18は、通信部14により受信した暗号化鍵a、gsv、g、Nを鍵記憶部12に格納する。 In step ST62, the control unit 38 of the decryption device 30 sends the encryption keys a, g sv , g, and N to the encryption device 10 through the communication unit 34. The control unit 18 of the encryption device 10 stores the encryption keys a, g sv , g, and N received by the communication unit 14 in the key storage unit 12.

ステップST63において、復号装置30の制御部38は、通信部34により、三次演算鍵v、Nを匿名化装置20に送付する。匿名化装置20の制御部29は、通信部24により受信した三次演算鍵v、Nを鍵記憶部220に格納する。   In step ST63, the control unit 38 of the decryption device 30 sends the tertiary operation keys v and N to the anonymization device 20 through the communication unit 34. The control unit 29 of the anonymization device 20 stores the tertiary operation keys v and N received by the communication unit 24 in the key storage unit 220.

ステップST64において、復号装置30の制御部38は、通信部34により、二次演算鍵a-1、s、Nを匿名化支援装置90に送付する。匿名化支援装置90の制御部97は、通信部93により受信した二次演算鍵a-1、s、Nを鍵記憶部91に格納する。 In step ST <b> 64, the control unit 38 of the decryption device 30 sends the secondary operation keys a −1 , s, and N to the anonymization support device 90 through the communication unit 34. The control unit 97 of the anonymization support device 90 stores the secondary operation keys a −1 , s, and N received by the communication unit 93 in the key storage unit 91.

ステップST65において、暗号化装置10の暗号化部17は、図12に示したテーブルT1を一時データ記憶部13から読み出す。暗号化部17は、このテーブルT1のうち、トップコーディング対象の属性項目(収入)の属性値dataiを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいてレコード毎に暗号化する。 In step ST <b> 65, the encryption unit 17 of the encryption device 10 reads the table T <b> 1 illustrated in FIG. 12 from the temporary data storage unit 13. The encryption unit 17 records the attribute value data i of the top coding target attribute item (income) in the table T1 for each record based on the encryption keys a, g sv , g, and N in the key storage unit 12. Encrypt to.

Enc(datai)→Cdata_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
Enc (data i ) → C data_i
The encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.

同様に、暗号化部17は、暗号化鍵a、gsv、g、Nに基づいて、テーブルT1のうち、トップコーディング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、図25に示すように、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。 Similarly, the encryption unit 17 encrypts attribute values of attribute items other than the top coding target attribute item for each record in the table T1 based on the encryption keys a, g sv , g, and N. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and as shown in FIG. 25, a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.

ステップST66において、暗号化装置10の制御部18は、通信部14により、テーブルT1eからなる暗号化データを匿名化装置20に送付する。   In step ST66, the control unit 18 of the encryption device 10 sends the encrypted data including the table T1e to the anonymization device 20 through the communication unit 14.

ステップST67において、匿名化装置20は、通信部24により受信した暗号化データであるテーブルT1eを一時データ記憶部23に保管する。   In step ST <b> 67, the anonymization device 20 stores the table T <b> 1 e that is encrypted data received by the communication unit 24 in the temporary data storage unit 23.

(匿名化)
ステップST68において、暗号化装置10のパラメータ生成部15は、トップコーディングするための匿名用パラメータである、しきい値Tを生成する。暗号化部17は、生成したしきい値Tを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいて、[AN2013-51001]の暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化しきい値CTが生成される。
(Anonymization)
In step ST68, the parameter generation unit 15 of the encryption device 10 generates a threshold value T, which is an anonymous parameter for top coding. The encryption unit 17 encrypts the generated threshold value T using the encryption method [AN2013-51001] based on the encryption keys a, g sv , g, and N in the key storage unit 12. Thus, encryption threshold C T is an encryption anonymity parameter is generated.

Enc(T)→CT
ステップST69において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内のトップコーディング対象の属性項目(収入)と、暗号化しきい値CTとを匿名化装置20に送付する。但し、匿名化装置20が暗号化鍵a、gsv、g、Nを予め取得することにより、暗号化しきい値CTを匿名化装置20が予め保持又は生成する場合には、暗号化装置10による暗号化しきい値CTの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
Enc (T) → C T
In step ST69, the control section 18 of the encryption device 10, the communication unit 14, a top coding target property item in the table T1e (revenue), sends the encrypted threshold C T anonymous apparatus 20. However, anonymizing apparatus 20 encryption key a, g sv, g, by previously obtaining the N, if the encryption threshold C T anonymizing device 20 is held in advance or generated, encryptor 10 It can be omitted generation and sending of encrypted threshold C T by. The same applies to the following embodiments and modifications.

ステップST70において、匿名化装置20は、通信部24により、当該属性項目(収入)及び暗号化しきい値CTを受信する。匿名化装置20の演算部27は、一時データ記憶部23内のテーブルT1eのうち、受信した属性項目(収入)に一致する属性項目(収入)の属性値Cdata_iと、受信した暗号化しきい値CT とに基づいて、一次演算結果X=(X1、X2)を生成する。 In step ST70, the anonymizing apparatus 20, the communication unit 24 receives the attribute item (income) and the encrypted threshold C T. The computing unit 27 of the anonymization device 20 includes the attribute value C data_i of the attribute item (income) that matches the received attribute item (income) in the table T1e in the temporary data storage unit 23, and the received encryption threshold value. Based on C T , a primary calculation result X = (X 1 , X 2 ) is generated.

ステップST71において、匿名化装置20の制御部29は、通信部24により、一次演算結果Xを匿名化支援装置90に送付する。   In step ST71, the control unit 29 of the anonymization device 20 sends the primary calculation result X to the anonymization support device 90 through the communication unit 24.

ステップST72において、匿名化支援装置90は、通信部93により、一次演算結果Xを受信する。匿名化支援装置90の演算部96は、受信した一次演算結果Xと、鍵記憶部91内の二次演算鍵a-1、s、Nとに基づいて、二次演算結果Y=(Y1、Y2)を生成する。 In step ST <b> 72, the anonymization support device 90 receives the primary calculation result X through the communication unit 93. Based on the received primary calculation result X and the secondary calculation keys a −1 , s, and N in the key storage unit 91, the calculation unit 96 of the anonymization support device 90 uses the secondary calculation result Y = (Y 1 , Y 2 ).

ステップST73において、匿名化支援装置90の制御部97は、通信部93により、二次演算結果Yを匿名化装置20に送付する。   In step ST <b> 73, the control unit 97 of the anonymization support device 90 sends the secondary calculation result Y to the anonymization device 20 through the communication unit 93.

ステップST74において、匿名化装置20は、通信部24により、二次演算結果Yを受信する。匿名化装置20の演算部27は、受信した二次演算結果Yと、鍵記憶部91内の三次演算鍵v、Nとに基づいて、三次演算結果Wを生成する。   In step ST74, the anonymization device 20 receives the secondary calculation result Y by the communication unit 24. The calculation unit 27 of the anonymization device 20 generates a tertiary calculation result W based on the received secondary calculation result Y and the tertiary calculation keys v and N in the key storage unit 91.

ステップST75において、匿名化装置20の演算結果比較部28は、三次演算結果Wと、N/2とを比較し、W<N/2のときには比較結果を正と判定し、それ以外のときには比較結果を負(又は0)と判定する。判定結果は、演算結果比較部28から匿名化処理部26に出力される。   In step ST75, the calculation result comparison unit 28 of the anonymization device 20 compares the tertiary calculation result W with N / 2, determines that the comparison result is positive when W <N / 2, and compares otherwise. The result is determined to be negative (or 0). The determination result is output from the calculation result comparison unit 28 to the anonymization processing unit 26.

匿名化装置20の匿名化処理部26は、判定結果が正のときには、属性値Cdata_iを暗号化しきい値CTに置き換える。なお、「判定結果が正のとき」は、「式F=Cdata_i−CT が正のとき」に相当する。「それ以外のとき」は、「式F=Cdata_i−CT が負(又は0)のとき」に相当する。 Anonymity processing unit 26 of the anonymizing apparatus 20, when the determination result is positive, replacing the attribute value C data_i encryption threshold C T. Note that “when the determination result is positive” corresponds to “when expression F = C datai− C T is positive”. “Other than that” corresponds to “when the formula F = C datai −C T is negative (or 0)”.

すなわち、ステップST65で暗号化された属性値Cdata_iは、暗号化された状態のままで適宜、暗号化しきい値CT に置き換えられることにより、復号されずに匿名化された属性値(CT)に変換される。 That is, the attribute value C data_i encrypted in step ST65 is appropriately replaced with the encryption threshold value C T in the encrypted state, thereby anonymizing the attribute value (C T ).

このように、テーブルT1e内のトップコーディング対象の属性項目(収入)の属性値が匿名化され、図26に示すように、匿名化された属性値(CT)を含むテーブルT1aが暗号化匿名化データとして生成される。 Thus, the attribute value of the top coding target attribute item (income) in the table T1e is anonymized, and the table T1a including the anonymized attribute value (C T ) is encrypted and anonymous as shown in FIG. Generated as digitized data.

しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。   Thereafter, the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.

ステップST76において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。   In step ST76, the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T1a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.

本実施形態によれば、暗号化データを復号せずに匿名化し、得られた暗号化匿名化データを復号して匿名化データを利用することが可能になる。詳しくは数値で表現されているテーブルT1の属性値data_iを、トップコーディング用のしきい値Tによってトップコーディングすることができる。ここで、匿名化装置20には、どの属性値(Cdata_i)を置き換えたかが分かり、置き換えた暗号文は全部同じ値(CT)になる。しかしながら、匿名化装置20には、しきい値T及び元の属性値(data_i)は分からない。また、暗号化装置10は、トップコーディング前の暗号化データを保持している場合、トップコーディング前とトップコーディング後の対応テーブルを作成してもよい。元のデータを別途保持していれば、トップコーディングした属性値を元に戻すことも可能である。 According to this embodiment, it becomes possible to anonymize the encrypted data without decrypting it, and to decrypt the obtained encrypted anonymized data and use the anonymized data. Specifically, the attribute value data_i of the table T1 expressed by numerical values can be top-coded by the threshold T for top coding. Here, the anonymization device 20 knows which attribute value (C data — i ) has been replaced, and all the replaced ciphertexts have the same value (C T ). However, the anonymization device 20 does not know the threshold value T and the original attribute value (data_i). Moreover, the encryption apparatus 10 may create a correspondence table before and after top coding when the encrypted data before top coding is held. If the original data is stored separately, the top-coded attribute value can be restored.

しかる後、ステップST76において、復号装置30の制御部38は、通信部34により、暗号化匿名化データを受信して一時データ記憶部33に記憶する。復号部37は、鍵記憶部320内の復号鍵sv、a-1、N(又はs、v、a-1、N)に基づいて、一時データ記憶部33内の暗号化匿名化データであるテーブルT1a内の各属性項目の値を復号し、得られた復号結果のテーブルを得る。 Thereafter, in step ST76, the control unit 38 of the decryption device 30 receives the encrypted anonymized data by the communication unit 34 and stores it in the temporary data storage unit 33. The decryption unit 37 is encrypted anonymized data in the temporary data storage unit 33 based on the decryption keys sv, a −1 , N (or s, v, a −1 , N) in the key storage unit 320. The value of each attribute item in the table T1a is decoded, and a table of obtained decoding results is obtained.

復号装置30の制御部38は、復号結果のテーブルのうち、トップコーディング対象の属性項目(収入)の属性値が匿名化されているか否かを判定する。具体的には、例えば、第3の実施形態と同様にして判定すればよい。判定の結果が否の場合には、ステップST68(又はST66)から処理をやり直し、好ましい匿名化結果が得られるまで繰り返す。   The control unit 38 of the decryption apparatus 30 determines whether or not the attribute value of the top coding target attribute item (income) is anonymized in the decryption result table. Specifically, for example, the determination may be performed in the same manner as in the third embodiment. If the determination result is negative, the process is repeated from step ST68 (or ST66) and repeated until a favorable anonymization result is obtained.

以下、第3の実施形態のステップST31〜ST32と同様に、ステップST78〜ST79が実行される。   Thereafter, steps ST78 to ST79 are executed in the same manner as steps ST31 to ST32 of the third embodiment.

上述したように本実施形態によれば、[AN2013-51001]方式の暗号方式を用い、匿名化処理としてトップコーディングを実行する場合でも、第1の実施形態と同様の作用効果を得ることができる。   As described above, according to the present embodiment, even when top coding is executed as anonymization processing using the [AN2013-51001] encryption method, the same operational effects as those of the first embodiment can be obtained. .

本実施形態は、図2及び図7に示した変形例と同様に、図27に示すように、匿名化装置20による暗号化データ及び暗号化匿名データの保管に代えて、暗号化データ及び暗号化匿名化データを保管するためのデータ保管装置70を更に備えてもよい。この時既存のデータ保管装置70に匿名化装置20を連携させることで、本実施形態と同様の効果を得ることが可能になる。例えば図28に示すように、ステップST66で暗号化データをデータ保管装置70に送付し、ステップST67でデータ保管装置70が暗号化データを保管してもよい。また、ステップST70−1でデータ保管装置70が暗号化データを匿名化装置20に送付し、ステップST70−2で匿名化装置20が一次演算結果を生成するようにしてもよい。同様に、ステップST76−1で匿名化装置20が暗号化匿名化データをデータ保管装置70に送付し、ステップS76−2でデータ保管装置70が暗号化匿名化データを保管してもよい。また、ステップST76−3でデータ保管装置70が暗号化匿名化データを復号装置30に送付するようにしてもよい。このとき、既存のデータ保管装置70を大きく変えることなく、本実施形態の効果を得ることが可能になる。これは後述する実施形態や変形例においても同様である。   As in the modification shown in FIGS. 2 and 7, the present embodiment replaces encrypted data and encrypted anonymous data with the anonymization device 20 as shown in FIG. A data storage device 70 for storing the anonymized data may be further provided. At this time, by making the anonymization device 20 cooperate with the existing data storage device 70, it is possible to obtain the same effect as the present embodiment. For example, as shown in FIG. 28, the encrypted data may be sent to the data storage device 70 in step ST66, and the data storage device 70 may store the encrypted data in step ST67. Alternatively, the data storage device 70 may send the encrypted data to the anonymization device 20 in step ST70-1, and the anonymization device 20 may generate a primary calculation result in step ST70-2. Similarly, the anonymization device 20 may send the encrypted anonymized data to the data storage device 70 in step ST76-1, and the data storage device 70 may store the encrypted anonymization data in step S76-2. In step ST76-3, the data storage device 70 may send the encrypted anonymized data to the decryption device 30. At this time, the effect of the present embodiment can be obtained without greatly changing the existing data storage device 70. This also applies to embodiments and modifications described later.

また例えば図8に示した変形例と同様に、図29に示すように、図28のステップST76−1〜ST76−3に代えて、元のステップST76を実行するようにしてもよい。この場合、図8に示した動作による効果と同様の効果を得ることができる。   Further, for example, as in the modification shown in FIG. 8, as shown in FIG. 29, the original step ST76 may be executed instead of steps ST76-1 to ST76-3 in FIG. In this case, the same effect as the operation shown in FIG. 8 can be obtained.

<第10の実施形態:M2M、[AN2013-51001]方式及びトップコーディング>
図30は第10の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。
<Tenth embodiment: M2M, [AN2013-51001] method and top coding>
FIG. 30 is a schematic diagram showing an anonymization system and its peripheral configuration according to the tenth embodiment.

第10の実施形態は、暗号化装置10が個人データを暗号化して匿名化装置20に預ける第9の実施形態とは異なり、M2Mサービスのように、各機器で取得した個人データを暗号化してなる暗号化データを匿名化装置20で収集する形態となっている。ここでいう各機器は、各々の暗号化装置(1〜N)10に相当する。   Unlike the ninth embodiment in which the encryption device 10 encrypts personal data and deposits it in the anonymization device 20, the tenth embodiment encrypts personal data acquired by each device like the M2M service. The encrypted data is collected by the anonymization device 20. Each device here corresponds to each encryption device (1 to N) 10.

具体的には、第10の実施形態は、図23に示した構成に比べ、暗号化装置10をN台設け、且つパラメータ生成装置80を更に備えている。N台の暗号化装置(1〜N)10及びパラメータ生成装置80の構成は、それぞれ第4の実施形態と同様である。   Specifically, the tenth embodiment includes N encryption devices 10 and further includes a parameter generation device 80, as compared with the configuration shown in FIG. The configurations of the N encryption devices (1 to N) 10 and the parameter generation device 80 are the same as those in the fourth embodiment.

次に、本実施形態における匿名化システムの動作について図31のシーケンス図を用いて説明する。   Next, operation | movement of the anonymization system in this embodiment is demonstrated using the sequence diagram of FIG.

(事前準備)
ステップST61は、前述した第9の実施形態と同様に実行される。
(Advance preparation)
Step ST61 is executed in the same manner as in the ninth embodiment described above.

ステップST62において、復号装置30の制御部38は、通信部34により、暗号化鍵a、gsv、g、NをN台の暗号化装置(1〜N)10及びパラメータ生成装置80に送付する。パラメータ生成装置80の制御部87は、通信部83により受信した暗号化鍵a、gsv、g、Nを鍵記憶部82に格納する。同様に、暗号化装置10の制御部18は、通信部14により受信した暗号化鍵a、gsv、g、Nを鍵記憶部12に格納する。なお、各暗号化装置(1〜N)10は、機器組み立て時に暗号化鍵a、gsv、g、Nを入力して格納してもよく、機器を配置後、ネットワーク経由で暗号化鍵a、gsv、g、Nを受信して格納してもよい。 In step ST62, the control unit 38 of the decryption device 30 sends the encryption keys a, g sv , g, and N to the N encryption devices (1 to N) 10 and the parameter generation device 80 through the communication unit 34. . The control unit 87 of the parameter generation device 80 stores the encryption keys a, g sv , g, and N received by the communication unit 83 in the key storage unit 82. Similarly, the control unit 18 of the encryption device 10 stores the encryption keys a, g sv , g, and N received by the communication unit 14 in the key storage unit 12. Each encryption device (1 to N) 10 may store the encryption keys a, g sv , g, and N when the device is assembled. After the devices are arranged, the encryption key a is transmitted via the network. , G sv , g, N may be received and stored.

ステップST63〜ST64は、前述した第9の実施形態と同様に実行される。   Steps ST63 to ST64 are executed in the same manner as in the ninth embodiment described above.

ステップST65において、各暗号化装置(1〜N)10のデータ取得部19は、テーブルT1からなる個人データを取得して一時データ記憶部13に記憶する。各暗号化装置10の暗号化部17は、一時データ記憶部13内のテーブルT1のうち、トップコーディング対象の属性項目(収入)の属性値dataiを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいてレコード毎に暗号化する。 In step ST65, the data acquisition unit 19 of each encryption device (1 to N) 10 acquires the personal data composed of the table T1 and stores it in the temporary data storage unit 13. The encryption unit 17 of each encryption device 10 uses the attribute value data i of the top coding target attribute item (income) in the table T 1 in the temporary data storage unit 13 as the encryption key a in the key storage unit 12. , G sv , g and N are encrypted for each record.

Enc(datai)→Cdata_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
Enc (data i ) → C data_i
The encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.

同様に、暗号化部17は、暗号化鍵a、gsv、g、Nに基づいて、テーブルT1のうち、トップコーディング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。 Similarly, the encryption unit 17 encrypts attribute values of attribute items other than the top coding target attribute item for each record in the table T1 based on the encryption keys a, g sv , g, and N. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and the table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.

ステップST66において、各暗号化装置(1〜N)10の制御部18は、通信部14により、テーブルT1eからなる暗号化データと、テーブルT1e内のトップコーディング対象の属性項目(収入)とを匿名化装置20に送付する。   In step ST66, the control unit 18 of each encryption device (1 to N) 10 uses the communication unit 14 to anonymously encrypt the encrypted data including the table T1e and the top coding target attribute item (income) in the table T1e. Sent to the digitizing device 20.

ステップST67において、匿名化装置20は、通信部24により、暗号化データであるテーブルT1eと、テーブルT1e内のトップコーディング対象の属性項目(収入)とを受信する。しかる後、匿名化装置20の制御部29は、当該テーブルT1eと、トップコーディング対象の属性項目(収入)とを一時データ記憶部23に保管する。一時データ記憶部23内のテーブルT1eは、暗号化装置(1〜N)10から受信したテーブルT1eを集めた内容に更新される。   In step ST <b> 67, the anonymization device 20 receives the table T <b> 1 e as encrypted data and the attribute item (revenue) to be top-coded in the table T <b> 1 e through the communication unit 24. Thereafter, the control unit 29 of the anonymization device 20 stores the table T1e and the top coding target attribute item (income) in the temporary data storage unit 23. The table T1e in the temporary data storage unit 23 is updated to the contents obtained by collecting the tables T1e received from the encryption device (1 to N) 10.

(匿名化)
ステップST68において、パラメータ生成装置80のパラメータ生成部84は、トップコーディングするための匿名用パラメータである、しきい値Tを生成する。パラメータ生成装置80の暗号化部86は、生成したしきい値Tを、鍵記憶部82内の暗号化鍵a、gsv、g、Nに基づいて、[AN2013-51001]の暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化しきい値CTが生成される。
(Anonymization)
In step ST68, the parameter generation unit 84 of the parameter generation device 80 generates a threshold value T that is an anonymous parameter for top coding. The encryption unit 86 of the parameter generation device 80 encrypts the generated threshold value T using the encryption method [AN2013-51001] based on the encryption keys a, g sv , g, and N in the key storage unit 82. Turn into. Thus, encryption threshold C T is an encryption anonymity parameter is generated.

Enc(T)→CT
ステップST69において、パラメータ生成装置80の制御部87は、通信部83により、暗号化しきい値CTを匿名化装置20に送付する。
Enc (T) → C T
In step ST69, the control unit 87 of the parameter generation device 80 sends the encrypted threshold value CT to the anonymization device 20 through the communication unit 83.

以下、前述した第9の実施形態と同様に、ステップST70〜ST79が実行される。   Thereafter, steps ST70 to ST79 are executed as in the ninth embodiment described above.

上述したように本実施形態によれば、暗号化装置10を複数台とした場合でも、第9の実施形態と同様の作用効果を得ることができる。   As described above, according to the present embodiment, even when a plurality of encryption devices 10 are provided, the same operational effects as those of the ninth embodiment can be obtained.

本実施形態では、第4の実施形態や第6の実施形態とは異なり、機器に秘密鍵そのものは格納しないため、仮に機器から鍵を盗まれても、暗号化したデータを復号または匿名化することはできない。   In this embodiment, unlike the fourth and sixth embodiments, the device does not store the secret key itself, so even if the key is stolen from the device, the encrypted data is decrypted or anonymized. It is not possible.

<第11の実施形態:[AN2013-51001]方式でグルーピング>
次に、第11の実施形態に係る匿名化システムについて図23を参照しながら説明する。
<Eleventh embodiment: [AN2013-51001] method for grouping>
Next, an anonymization system according to the eleventh embodiment will be described with reference to FIG.

第11の実施形態は、暗号化した「収入」をトップコーディングした第9の実施形態とは異なり、暗号化した「年齢」をグルーピングする形態である。   The eleventh embodiment differs from the ninth embodiment in which the encrypted “income” is top-coded, and is a form in which the encrypted “age” is grouped.

次に、本実施形態における匿名化システムの動作について図32のシーケンス図、並びに図33及び図34の模式図を用いて説明する。以下の説明では、[AN2013-51001]の暗号方式を用いて匿名化する場合を例に挙げて述べる。   Next, operation | movement of the anonymization system in this embodiment is demonstrated using the sequence diagram of FIG. 32, and the schematic diagram of FIG.33 and FIG.34. In the following description, the case of anonymization using the encryption method of [AN2013-51001] will be described as an example.

(事前準備)
ステップST81〜ST84は、第9の実施形態のステップST61〜ST64と同様に実行される。
(Advance preparation)
Steps ST81 to ST84 are executed in the same manner as steps ST61 to ST64 of the ninth embodiment.

ステップST85において、暗号化装置10の暗号化部17は、暗号化前のテーブルT1を一時データ記憶部13から読み出す。暗号化部17は、このテーブルT1のうち、グルーピング対象の属性項目(年齢)の属性値dataiを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいてレコード毎に暗号化する。 In step ST85, the encryption unit 17 of the encryption device 10 reads the table T1 before encryption from the temporary data storage unit 13. The encryption unit 17 sets the attribute value data i of the attribute item (age) to be grouped in the table T1 for each record based on the encryption keys a, g sv , g, and N in the key storage unit 12. Encrypt.

Enc(datai)→Cdata_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
Enc (data i ) → C data_i
The encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.

同様に、暗号化部17は、暗号化鍵a、gsv、g、Nに基づいて、テーブルT1のうち、グルーピング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、図33に示すように、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。 Similarly, the encryption unit 17 encrypts attribute values of attribute items other than the grouping target attribute item for each record in the table T1 based on the encryption keys a, g sv , g, and N. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and as shown in FIG. 33, a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.

ステップST85〜ST86は、第9の実施形態のステップST65〜ST66と同様に実行される。   Steps ST85 to ST86 are executed in the same manner as steps ST65 to ST66 of the ninth embodiment.

(匿名化)
ステップST88において、暗号化装置10のパラメータ生成部15は、グルーピングするための匿名用パラメータである、各グループの下限値L、上限値U及び代表値Mを生成する。暗号化部17は、生成した下限値L、上限値U及び代表値Mを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいて、[AN2013-51001]の暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMが生成される。
(Anonymization)
In step ST88, the parameter generation unit 15 of the encryption device 10 generates a lower limit value L, an upper limit value U, and a representative value M for each group, which are anonymous parameters for grouping. The encryption unit 17 uses the generated lower limit value L, upper limit value U, and representative value M based on the encryption keys a, g sv , g, and N in the key storage unit 12 as an encryption scheme of [AN2013-51001] Encrypt with Thereby, the encryption lower limit value C L , the encryption upper limit value C U and the encryption representative value C M that are parameters for encryption anonymity are generated.

Enc(L)→CL
Enc(U)→CU
Enc(M)→CM
ステップST89において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内のグルーピング対象の属性項目(年齢)と、暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMとを匿名化装置20に送付する。但し、匿名化装置20が暗号化鍵a、gsv、g、Nを予め取得することにより、暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMを匿名化装置20が予め保持又は生成する場合には、各値CL、CU及びCMの生成及び送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
Enc (L) → C L
Enc (U) → C U
Enc (M) → C M
In step ST89, the control unit 18 of the encryption device 10 causes the communication unit 14 to use the grouping target attribute item (age) in the table T1e, the encryption lower limit C L , the encryption upper limit C U, and the encryption representative. The value C M is sent to the anonymization device 20. However, the anonymization device 20 obtains the encryption keys a, g sv , g, and N in advance, so that the encryption lower limit value C L , the encryption upper limit value C U and the encryption representative value C M are anonymization device 20. Can be stored or generated in advance, the generation and sending of the values C L , C U and C M can be omitted. The same applies to the following embodiments and modifications.

ステップST90において、匿名化装置20は、通信部24により、当該属性項目(年齢)、暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMを受信する。匿名化装置20の演算部27は、一時データ記憶部23内のテーブルT1eのうち、受信した属性項目(年齢)に一致する属性項目(年齢)の属性値Cdata_iと、受信した暗号化下限値CL及び暗号化上限値CU とに基づいて、一次演算結果XL,XUを生成する。ここで、一次演算結果XL =(X1L、X2L)は、下限値Lに関する分析情報である。一次演算結果XU =(X1U、X2U)は、上限値Uに関する分析情報である。 In step ST90, the anonymization device 20 receives the attribute item (age), the encryption lower limit value C L , the encryption upper limit value C U, and the encryption representative value C M via the communication unit 24. The calculation unit 27 of the anonymization device 20 includes the attribute value C data_i of the attribute item (age) that matches the received attribute item (age) in the table T1e in the temporary data storage unit 23, and the received encryption lower limit value. Based on C L and the encryption upper limit value C U , primary calculation results X L and X U are generated. Here, the primary calculation result X L = (X1 L , X2 L ) is analysis information regarding the lower limit L. The primary calculation result X U = (X1 U , X2 U ) is analysis information regarding the upper limit value U.

ステップST91において、匿名化装置20の制御部29は、通信部24により、一次演算結果XL ,XU を匿名化支援装置90に送付する。 In step ST <b> 91, the control unit 29 of the anonymization device 20 sends the primary calculation results X L and X U to the anonymization support device 90 through the communication unit 24.

ステップST92において、匿名化支援装置90は、通信部93により、一次演算結果XL ,XU を受信する。匿名化支援装置90の演算部96は、受信した一次演算結果XL ,XU と、鍵記憶部91内の二次演算鍵a-1、s、Nとに基づいて、二次演算結果YL ,YU を生成する。ここで、二次演算結果YL =(Y1L、Y2L)は、下限値Lに関する分析情報である。一次演算結果YU =(Y1U、Y2U)は、上限値Uに関する分析情報である。 In step ST <b> 92, the anonymization support device 90 receives the primary calculation results X L and X U through the communication unit 93. The calculation unit 96 of the anonymization support device 90 performs the secondary calculation result Y based on the received primary calculation results X L and X U and the secondary calculation keys a −1 , s, and N in the key storage unit 91. L and Y U are generated. Here, the secondary calculation result Y L = (Y1 L , Y2 L ) is analysis information regarding the lower limit L. The primary calculation result Y U = (Y1 U , Y2 U ) is analysis information regarding the upper limit value U.

ステップST93において、匿名化支援装置90の制御部97は、通信部93により、二次演算結果YL ,YU を匿名化装置20に送付する。 In step ST93, the control unit 97 of the anonymization support device 90, the communication unit 93, and sends secondary calculation results Y L, the Y U anonymous apparatus 20.

ステップST94において、匿名化装置20は、通信部24により、二次演算結果YL ,YU を受信する。匿名化装置20の演算部27は、受信した二次演算結果YL ,YU と、鍵記憶部91内の三次演算鍵v、Nとに基づいて、三次演算結果WL ,WU を生成する。ここで、三次演算結果WL は、下限値Lに関する分析情報である。三次演算結果WU は、上限値Uに関する分析情報である。 In step ST94, the anonymization device 20 receives the secondary calculation results Y L and Y U through the communication unit 24. The calculation unit 27 of the anonymization device 20 generates the tertiary calculation results W L and W U based on the received secondary calculation results Y L and Y U and the tertiary calculation keys v and N in the key storage unit 91. To do. Here, tertiary calculation result W L is analytical information about the lower limit L. The tertiary operation result W U is analysis information regarding the upper limit value U.

ステップST95において、匿名化装置20の演算結果比較部28は、下限値Lに関する三次演算結果WL と、N/2と比較し、WL <N/2のときには比較結果を正と判定し、それ以外のときには比較結果を負(又は0)と判定する。この下限値Lに関する判定結果は、演算結果比較部28から匿名化処理部26に出力される。 In step ST95, the computation result comparison unit 28 of the anonymization device 20 compares the tertiary computation result W L regarding the lower limit L with N / 2, and determines that the comparison result is positive when W L <N / 2. Otherwise, the comparison result is determined to be negative (or 0). The determination result related to the lower limit value L is output from the calculation result comparison unit 28 to the anonymization processing unit 26.

同様に、匿名化装置20の演算結果比較部28は、上限値Lに関する三次演算結果WU と、N/2と比較し、WU <N/2のときには比較結果を正と判定し、それ以外のときには比較結果を負(又は0)と判定する。上限値Uに関する判定結果は、演算結果比較部28から匿名化処理部26に出力される。 Similarly, the operation result comparison unit 28 of the anonymization device 20 compares the tertiary operation result W U related to the upper limit L with N / 2, and determines that the comparison result is positive when W U <N / 2. Otherwise, the comparison result is determined to be negative (or 0). The determination result regarding the upper limit value U is output from the calculation result comparison unit 28 to the anonymization processing unit 26.

しかる後、匿名化装置20の匿名化処理部26は、下限値Lに関する判定結果が正で上限値Uに関する判定結果が負(又は0)のときには、属性値Cdata_iを暗号化代表値CMに置き換える。なお、「下限値Lに関する判定結果が正のとき」は、「式F=Cdata_i−CL が正のとき」に相当する。「上限値Uに関する判定結果が負(又は0)のとき」は、「式F=Cdata_i−CU が負(又は0)のとき」に相当する。すなわち、匿名化処理部26は、属性値Cdata_iが暗号化下限値CL を超えて暗号化上限値CU 以下の範囲内にあるとき、属性値Cdata_iを暗号化代表値CMに置き換える。 After that, the anonymization processing unit 26 of the anonymization device 20 determines the attribute value C data_i as the encrypted representative value C M when the determination result regarding the lower limit value L is positive and the determination result regarding the upper limit value U is negative (or 0). Replace with Note that “when the determination result regarding the lower limit L is positive” corresponds to “when the formula F = C datai− C L is positive”. "When the judgment result of the upper limit value U is negative (or zero)" corresponds to "when equation F = C data_i -C U is negative (or zero)". That is, the anonymization processing unit 26 replaces the attribute value C data_i with the encrypted representative value C M when the attribute value C data_i exceeds the encryption lower limit value C L and is within the range of the encryption upper limit value C U or less. .

これにより、ステップST85で暗号化された属性値Cdata_iは、暗号化された状態のままで適宜、暗号化代表値CM に置き換えられることにより、復号されずに匿名化された属性値(CM)に変換される。 As a result, the attribute value C data_i encrypted in step ST85 is appropriately replaced with the encrypted representative value C M in the encrypted state, thereby anonymizing the attribute value (C M ).

このように、テーブルT1e内のグルーピング対象の属性項目(年齢)の属性値が匿名化され、図34に示すように、匿名化された属性値(CM)を含むテーブルT1aが暗号化匿名化データとして生成される。 In this way, the attribute value of the grouping target attribute item (age) in the table T1e is anonymized, and the table T1a including the anonymized attribute value (C M ) is encrypted and anonymized as shown in FIG. Generated as data.

しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。   Thereafter, the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.

ステップST96において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。   In step ST96, the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T1a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.

本実施形態によれば、暗号化データを復号せずに匿名化し、得られた暗号化匿名化データを復号して匿名化データを利用することが可能になる。詳しくは数値で表現されているテーブルT1の属性値data_iを、各グループの下限値L及び上限値Uを指定することによってグルーピングすることができる。ここで、匿名化装置20には、どの属性値(Cdata_i)を置き換えたかが分かり、置き換えた暗号文は全部同じ値(各グループの暗号化代表値CM)になる。しかしながら、匿名化装置20には、グループの下限値L、上限値U、代表値M、及び元の属性値(data_i)は分からない。 According to this embodiment, it becomes possible to anonymize the encrypted data without decrypting it, and to decrypt the obtained encrypted anonymized data and use the anonymized data. Specifically, the attribute values data_i of the table T1 expressed by numerical values can be grouped by designating the lower limit value L and the upper limit value U of each group. Here, the anonymization device 20 knows which attribute value (C data — i ) has been replaced, and all the replaced ciphertexts have the same value (encrypted representative value C M for each group). However, the anonymization device 20 does not know the lower limit value L, the upper limit value U, the representative value M, and the original attribute value (data_i) of the group.

ここで、暗号化装置10は、グルーピング前の暗号化データを保持している場合、グルーピング前とグルーピング後の対応テーブルを作成してもよい。元のデータを別途保持していれば、グルーピングした属性値を元に戻すことも可能である。   Here, when the encryption apparatus 10 holds the encrypted data before grouping, the encryption device 10 may create a correspondence table before and after grouping. If the original data is held separately, the grouped attribute values can be restored.

しかる後、ステップST97において、復号装置30の制御部38は、通信部34により、暗号化匿名化データを受信して一時データ記憶部33に記憶する。復号部37は、鍵記憶部320内の復号鍵sv、a-1、N(又はs、v、a-1、N)に基づいて、一時データ記憶部33内の暗号化匿名化データであるテーブルT1a内の各属性項目の値を復号し、得られた復号結果のテーブルを得る。 Thereafter, in step ST97, the control unit 38 of the decryption device 30 receives the encrypted anonymized data by the communication unit 34 and stores it in the temporary data storage unit 33. The decryption unit 37 is encrypted anonymized data in the temporary data storage unit 33 based on the decryption keys sv, a −1 , N (or s, v, a −1 , N) in the key storage unit 320. The value of each attribute item in the table T1a is decoded, and a table of obtained decoding results is obtained.

復号装置30の制御部38は、復号結果のテーブルのうち、グルーピング対象の属性項目(年齢)の属性値が匿名化されているか否かを判定する。具体的には、例えば、第5の実施形態と同様にして判定すればよい。判定の結果が否の場合には、ステップST88(又はST86)から処理をやり直し、好ましい匿名化結果が得られるまで繰り返す。   The control unit 38 of the decrypting device 30 determines whether or not the attribute value of the grouping target attribute item (age) is anonymized in the decryption result table. Specifically, for example, the determination may be performed in the same manner as in the fifth embodiment. If the result of the determination is no, the process is repeated from step ST88 (or ST86) and repeated until a favorable anonymization result is obtained.

以下、前述したステップST51〜ST52と同様に、ステップST98〜ST99が実行される。   Thereafter, steps ST98 to ST99 are executed in the same manner as steps ST51 to ST52 described above.

上述したように本実施形態によれば、[AN2013-51001]方式の暗号方式を用い、匿名化処理としてグルーピングを実行する場合でも、第1の実施形態と同様の作用効果を得ることができる。   As described above, according to the present embodiment, even when grouping is executed as an anonymization process using the [AN2013-51001] encryption method, the same effects as those of the first embodiment can be obtained.

<第12の実施形態:M2M、[AN2013-51001]方式及びグルーピング>
次に、第12の実施形態に係る匿名化システムについて図30を参照しながら説明する。
<Twelfth embodiment: M2M, [AN2013-51001] method and grouping>
Next, an anonymization system according to the twelfth embodiment will be described with reference to FIG.

第12の実施形態は、暗号化装置10が個人データを暗号化して匿名化装置20に預ける第11の実施形態とは異なり、M2Mサービスのように、各機器で取得した個人データを暗号化してなる暗号化データを匿名化装置20で収集する形態となっている。ここでいう各機器は、各々の暗号化装置(1〜N)10に相当する。   Unlike the eleventh embodiment in which the encryption device 10 encrypts personal data and deposits it in the anonymization device 20, the twelfth embodiment encrypts personal data acquired by each device like the M2M service. The encrypted data is collected by the anonymization device 20. Each device here corresponds to each encryption device (1 to N) 10.

具体的には、第12の実施形態は、図23に示した構成に比べ、暗号化装置10をN台設け、且つパラメータ生成装置80を更に備えている。N台の暗号化装置(1〜N)10及びパラメータ生成装置80の構成は、それぞれ第4の実施形態と同様である。   Specifically, the twelfth embodiment is provided with N encryption devices 10 and a parameter generation device 80, as compared with the configuration shown in FIG. The configurations of the N encryption devices (1 to N) 10 and the parameter generation device 80 are the same as those in the fourth embodiment.

次に、本実施形態における匿名化システムの動作について図35のシーケンス図を用いて説明する。   Next, operation | movement of the anonymization system in this embodiment is demonstrated using the sequence diagram of FIG.

(事前準備)
ステップST81は、前述した第11の実施形態と同様に実行される。
(Advance preparation)
Step ST81 is executed similarly to the eleventh embodiment described above.

ステップST82において、復号装置30の制御部38は、通信部34により、暗号化鍵a、gsv、g、NをN台の暗号化装置(1〜N)10及びパラメータ生成装置80に送付する。パラメータ生成装置80の制御部87は、通信部83により受信した暗号化鍵a、gsv、g、Nを鍵記憶部82に格納する。同様に、暗号化装置10の制御部18は、通信部14により受信した暗号化鍵a、gsv、g、Nを鍵記憶部12に格納する。なお、各暗号化装置(1〜N)10は、機器組み立て時に暗号化鍵a、gsv、g、Nを入力して格納してもよく、機器を配置後、ネットワーク経由で暗号化鍵a、gsv、g、Nを受信して格納してもよい。 In step ST82, the control unit 38 of the decryption device 30 sends the encryption keys a, g sv , g, and N to the N encryption devices (1 to N) 10 and the parameter generation device 80 through the communication unit 34. . The control unit 87 of the parameter generation device 80 stores the encryption keys a, g sv , g, and N received by the communication unit 83 in the key storage unit 82. Similarly, the control unit 18 of the encryption device 10 stores the encryption keys a, g sv , g, and N received by the communication unit 14 in the key storage unit 12. Each encryption device (1 to N) 10 may store the encryption keys a, g sv , g, and N when the device is assembled. After the devices are arranged, the encryption key a is transmitted via the network. , G sv , g, N may be received and stored.

ステップST83〜ST84は、前述した第11の実施形態と同様に実行される。   Steps ST83 to ST84 are executed in the same manner as in the eleventh embodiment described above.

ステップST85において、各暗号化装置(1〜N)10のデータ取得部19は、テーブルT1からなる個人データを取得して一時データ記憶部13に記憶する。各暗号化装置10の暗号化部17は、一時データ記憶部13内のテーブルT1のうち、グルーピング対象の属性項目(年齢)の属性値dataiを、鍵記憶部12内の暗号化鍵a、gsv、g、Nに基づいてレコード毎に暗号化する。 In step ST85, the data acquisition unit 19 of each encryption device (1 to N) 10 acquires the personal data composed of the table T1 and stores it in the temporary data storage unit 13. The encryption unit 17 of each encryption device 10 uses the attribute value data i of the attribute item (age) to be grouped in the table T1 in the temporary data storage unit 13 as the encryption key a in the key storage unit 12, Encrypt for each record based on g sv , g, and N.

Enc(datai)→Cdata_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
Enc (data i ) → C data_i
The encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.

同様に、暗号化部17は、暗号化鍵a、gsv、g、Nに基づいて、テーブルT1のうち、トップコーディング対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。 Similarly, the encryption unit 17 encrypts attribute values of attribute items other than the top coding target attribute item for each record in the table T1 based on the encryption keys a, g sv , g, and N. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and the table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.

ステップST86において、各暗号化装置(1〜N)10の制御部18は、通信部14により、テーブルT1eからなる暗号化データと、テーブルT1e内のグルーピング対象の属性項目(年齢)とを匿名化装置20に送付する。   In step ST86, the control unit 18 of each encryption device (1 to N) 10 uses the communication unit 14 to anonymize the encrypted data including the table T1e and the grouping target attribute item (age) in the table T1e. Send to device 20.

ステップST87において、匿名化装置20は、通信部24により、暗号化データであるテーブルT1eと、テーブルT1e内のグルーピング対象の属性項目(年齢)とを受信する。しかる後、匿名化装置20の制御部29は、当該テーブルT1eと、グルーピング対象の属性項目(年齢)とを一時データ記憶部23に保管する。一時データ記憶部23内のテーブルT1eは、暗号化装置(1〜N)10から受信したテーブルT1eを集めた内容に更新される。   In step ST87, the anonymization device 20 receives the table T1e as encrypted data and the attribute item (age) to be grouped in the table T1e by the communication unit 24. Thereafter, the control unit 29 of the anonymization device 20 stores the table T1e and the attribute item (age) to be grouped in the temporary data storage unit 23. The table T1e in the temporary data storage unit 23 is updated to the contents obtained by collecting the tables T1e received from the encryption device (1 to N) 10.

(匿名化)
ステップST88において、パラメータ生成装置80のパラメータ生成部84は、グルーピングするための匿名用パラメータである、グループの下限値L、グループの上限値U及びグループの代表値Mを生成する。パラメータ生成装置80の暗号化部86は、生成した下限値L、上限値U及びグループの代表値Mを、鍵記憶部82内の暗号化鍵a、gsv、g、Nに基づいて、[AN2013-51001]の暗号方式で暗号化する。これにより、暗号化匿名用パラメータである暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMが生成される。
(Anonymization)
In step ST88, the parameter generation unit 84 of the parameter generation device 80 generates a group lower limit value L, a group upper limit value U, and a group representative value M, which are anonymous parameters for grouping. The encryption unit 86 of the parameter generation device 80 generates the generated lower limit value L, upper limit value U, and group representative value M based on the encryption keys a, g sv , g, and N in the key storage unit 82 [ Encrypt with the encryption method of AN2013-51001]. Thereby, the encryption lower limit value C L , the encryption upper limit value C U and the encryption representative value C M that are parameters for encryption anonymity are generated.

Enc(L)→CL
Enc(U)→CU
Enc(M)→CM
ステップST89において、パラメータ生成装置80の制御部87は、通信部83により、テーブルT1e内のグルーピング対象の属性項目(年齢)と、暗号化下限値CL、暗号化上限値CU及び暗号化代表値CMとを匿名化装置20に送付する。
Enc (L) → C L
Enc (U) → C U
Enc (M) → C M
In step ST89, the control unit 87 of the parameter generation device 80 causes the communication unit 83 to perform the grouping target attribute item (age) in the table T1e, the encryption lower limit value C L , the encryption upper limit value C U, and the encryption representative. The value C M is sent to the anonymization device 20.

以下、前述した第11の実施形態と同様に、ステップST90〜ST99が実行される。   Thereafter, steps ST90 to ST99 are executed in the same manner as in the eleventh embodiment described above.

上述したように本実施形態によれば、暗号化装置10を複数台とした場合でも、第11の実施形態と同様の作用効果を得ることができる。   As described above, according to the present embodiment, even when a plurality of encryption devices 10 are provided, the same operational effects as those of the eleventh embodiment can be obtained.

本実施形態では、第4の実施形態や第6の実施形態とは異なり、機器に秘密鍵そのものは格納しないため、仮に機器から鍵を盗まれても、暗号化したデータを復号または匿名化することはできない。   In this embodiment, unlike the fourth and sixth embodiments, the device does not store the secret key itself, so even if the key is stolen from the device, the encrypted data is decrypted or anonymized. It is not possible.

<第13の実施形態:削除、リサンプリング、ソート又はスワッピング>
次に、第13の実施形態に係る匿名化システムについて図1を参照しながら説明する。
<Thirteenth embodiment: Deletion, resampling, sorting, or swapping>
Next, an anonymization system according to the thirteenth embodiment will be described with reference to FIG.

第13の実施形態は、暗号化した「社員番号」を仮名化した第1の実施形態とは異なり、暗号化した「社員番号」を削除する形態である。なお、本実施形態は、前述した第1〜第12の実施形態とは異なり、匿名化する処理に用いる匿名用パラメータを暗号化した暗号化匿名用パラメータ(例、暗号化乱数、暗号化しきい値、暗号化下限値、暗号化上限値、暗号化代表値、暗号化誤差など)を用いない。   The thirteenth embodiment is a form in which the encrypted “employee number” is deleted, unlike the first embodiment in which the encrypted “employee number” is pseudonymized. Note that this embodiment differs from the first to twelfth embodiments described above in that it is an encrypted anonymous parameter (e.g., an encrypted random number, an encrypted threshold) that is used to encrypt an anonymous parameter used for anonymization processing. Encryption lower limit, encryption upper limit, encryption representative value, encryption error, etc.).

このような本実施形態は、「削除」に代えて、「リサンプリング」、「ソート」又は「スワッピング」を用いる形態に変形可能である。   Such an embodiment can be modified to a form using “resampling”, “sort” or “swapping” instead of “deletion”.

次に、本実施形態における匿名化システムの動作について図36のシーケンス図、並びに図37及び図38の模式図を用いて説明する。以下の説明では、[AES]の暗号方式を用いて匿名化する場合を例に挙げて述べる。   Next, operation | movement of the anonymization system in this embodiment is demonstrated using the sequence diagram of FIG. 36, and the schematic diagram of FIG.37 and FIG.38. In the following description, the case of anonymization using the [AES] encryption method will be described as an example.

(事前準備)
ステップST101において、復号装置30の鍵生成部36は、暗号パラメータ格納部31内のセキュリティパラメータ(1k)に基づいて、[AES]の暗号方式における鍵(秘密鍵skA)を生成する。
(Advance preparation)
In step ST101, the key generation unit 36 of the decryption device 30 generates a key (secret key sk A ) in the [AES] encryption method based on the security parameter (1 k ) in the encryption parameter storage unit 31.

KeyGen(1k)→(skA
なお、鍵生成部36は、鍵の生成処理において必要な乱数を乱数生成部35から取得することができる。また、鍵生成部36は、生成した秘密鍵skAを秘密鍵格納部32に保存する。
KeyGen (1 k ) → (sk A )
The key generation unit 36 can acquire a random number necessary for the key generation process from the random number generation unit 35. In addition, the key generation unit 36 stores the generated secret key sk A in the secret key storage unit 32.

ステップST102において、復号装置30の制御部38は、通信部34により、暗号化装置10に、共通鍵である秘密鍵skAを送付する。暗号化装置10の制御部18は、通信部14により受信した秘密鍵skAを鍵記憶部12に格納する。 In step ST102, the control unit 38 of the decryption device 30 sends the secret key sk A , which is a common key, to the encryption device 10 through the communication unit 34. The control unit 18 of the encryption device 10 stores the secret key sk A received by the communication unit 14 in the key storage unit 12.

ステップST103において、暗号化装置10の暗号化部17は、図3に示すテーブルT1を一時データ記憶部13から読み出す。暗号化部17は、このテーブルT1のうち、削除対象の属性項目(社員番号)の属性値dataiを、鍵記憶部12内の秘密鍵skAに基づいてレコード毎に暗号化する。 In step ST103, the encryption unit 17 of the encryption device 10 reads the table T1 shown in FIG. 3 from the temporary data storage unit 13. The encryption unit 17 encrypts the attribute value data i of the attribute item (employee number) to be deleted in this table T1 for each record based on the secret key sk A in the key storage unit 12.

Enc(skA,datai)→CA,data_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
Enc (sk A , data i ) → C A, data_i
The encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.

同様に、暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、削除対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、テーブルT1内の全ての属性項目の属性値が暗号化され、図37に示すように、当該全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。 Similarly, the encryption unit 17 encrypts the attribute values of attribute items other than the attribute item to be deleted in the table T1 based on the secret key sk A for each record. Thereby, the attribute values of all the attribute items in the table T1 are encrypted, and as shown in FIG. 37, a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.

ステップST104において、暗号化装置10の制御部18は、通信部14により、テーブルT1eからなる暗号化データを匿名化装置20に送付する。   In step ST104, the control unit 18 of the encryption device 10 sends the encrypted data including the table T1e to the anonymization device 20 through the communication unit 14.

ステップST105において、匿名化装置20は、通信部24により受信した暗号化データであるテーブルT1eを一時データ記憶部23に保管する。   In step ST <b> 105, the anonymization device 20 stores the table T <b> 1 e that is encrypted data received by the communication unit 24 in the temporary data storage unit 23.

(匿名化)
ステップST106において、暗号化装置10の制御部18は、通信部14により、テーブルT1e内の削除対象の属性項目(社員番号)を匿名化装置20に送付する。但し、匿名化装置20が削除対象の属性項目を予め保持する場合には、暗号化装置10による削除対象の属性項目の送付を省略できる。このことは、以下の各実施形態及び変形例でも同様である。
(Anonymization)
In step ST106, the control unit 18 of the encryption device 10 sends the attribute item (employee number) to be deleted in the table T1e to the anonymization device 20 through the communication unit 14. However, when the anonymization device 20 holds the attribute item to be deleted in advance, the sending of the attribute item to be deleted by the encryption device 10 can be omitted. The same applies to the following embodiments and modifications.

ステップST107において、匿名化装置20は、通信部24により、削除対象の属性項目(社員番号)を受信する。匿名化処理部26は、一時データ記憶部23内のテーブルT1eのうち、受信した属性項目(社員番号)に一致する属性項目(社員番号)の列を削除する。すなわち、匿名化処理部26は、図37に示したテーブルT1eから削除対象の属性項目(社員番号)及びその属性値(CA,data_i)を削除する。これにより、図38に示すように、匿名化されたテーブルT1aが暗号化匿名化データとして生成される。 In step ST107, the anonymization device 20 receives the attribute item (employee number) to be deleted through the communication unit 24. The anonymization processing unit 26 deletes the column of the attribute item (employee number) that matches the received attribute item (employee number) from the table T1e in the temporary data storage unit 23. That is, the anonymization processing unit 26 deletes the attribute item (employee number) to be deleted and the attribute value (C A, data_i ) from the table T1e shown in FIG. Thereby, as shown in FIG. 38, the anonymized table T1a is generated as encrypted anonymized data.

しかる後、匿名化処理部26は、テーブルT1aを一時データ記憶部23に保存する。   Thereafter, the anonymization processing unit 26 stores the table T1a in the temporary data storage unit 23.

ステップST108において、匿名化装置20の制御部29は、通信部24により、一時データ記憶部23内のテーブルT1aからなる暗号化匿名化データを復号装置30に送付する。   In step ST108, the control unit 29 of the anonymization device 20 sends the encrypted anonymization data including the table T1a in the temporary data storage unit 23 to the decryption device 30 through the communication unit 24.

本実施形態によれば、暗号化データを復号せずに匿名化し、得られた暗号化匿名化データを復号して匿名化データを利用することが可能になる。詳しくは数値、文字列などで表現されているテーブルT1の属性を削除することが可能になる。ここで、匿名化装置20には、削除した属性項目(社員番号)及びその属性値(CA,data_i)が分かる。しかしながら、匿名化装置20には、削除した属性項目(社員番号)の元の属性値(data_i)は分からない。 According to this embodiment, it becomes possible to anonymize the encrypted data without decrypting it, and to decrypt the obtained encrypted anonymized data and use the anonymized data. Specifically, it is possible to delete the attributes of the table T1 expressed by numerical values, character strings, and the like. Here, the anonymization device 20 knows the deleted attribute item (employee number) and its attribute value (C A, data_i ). However, the anonymization device 20 does not know the original attribute value (data_i) of the deleted attribute item (employee number).

ここで、暗号化装置10は、削除前の暗号化データを保持している場合、削除前と削除後の対応テーブルを作成してもよい。元のデータを別途保持していれば、元のデータの属性項目及び属性値から個人を特定することや、削除処理を元に戻すことも可能である。   Here, when the encryption device 10 holds the encrypted data before the deletion, the encryption device 10 may create a correspondence table before and after the deletion. If the original data is held separately, it is possible to specify an individual from the attribute item and attribute value of the original data and to restore the deletion process.

しかる後、ステップST109において、復号装置30の制御部38は、通信部34により、暗号化匿名化データを受信して一時データ記憶部33に記憶する。復号部37は、秘密鍵格納部32内の秘密鍵skAに基づいて、一時データ記憶部33内の暗号化匿名化データであるテーブルT1a内の各属性項目の値を復号し、得られた復号結果のテーブルを得る。 Thereafter, in step ST109, the control unit 38 of the decryption device 30 receives the encrypted anonymized data by the communication unit 34 and stores it in the temporary data storage unit 33. Based on the secret key sk A in the secret key storage unit 32, the decryption unit 37 decrypts the value of each attribute item in the table T1a, which is encrypted anonymized data in the temporary data storage unit 33, and is obtained A table of decoding results is obtained.

復号装置30の制御部38は、復号結果のテーブルのうち、削除対象の属性項目(社員番号)の属性値が匿名化されているか否かを判定する。例えば、復号結果のテーブルが、意図した通りに削除対象の属性項目の列を含まなければ、匿名化されていると判定される。この場合、任意のタイミングで暗号化装置10が削除対象の属性項目を復号装置30に送信しておけばよい。判定の結果が否の場合には、ステップST104から処理をやり直し、好ましい匿名化結果が得られるまで繰り返す。   The control unit 38 of the decryption device 30 determines whether or not the attribute value of the attribute item (employee number) to be deleted is anonymized in the decryption result table. For example, if the decryption result table does not include a column of attribute items to be deleted as intended, it is determined that the table is anonymized. In this case, the encryption device 10 may transmit the attribute item to be deleted to the decryption device 30 at an arbitrary timing. If the determination result is negative, the process is repeated from step ST104 and repeated until a favorable anonymization result is obtained.

以下、前述したステップST11〜ST12と同様に、ステップST110〜ST111が実行される。   Thereafter, steps ST110 to ST111 are executed in the same manner as steps ST11 to ST12 described above.

上述したように本実施形態によれば、匿名化処理として削除を実行する場合でも、暗号化匿名用パラメータに関する作用効果を除き、第1の実施形態と同様の作用効果を得ることができる。   As described above, according to the present embodiment, even when the deletion is executed as the anonymization process, the same operational effects as those of the first embodiment can be obtained except for the operational effects related to the encrypted anonymous parameters.

本実施形態は、暗号化した属性値を削除する匿名化処理を実行したが、これに代えて、暗号化した属性値をリサンプリング、ソート又はスワッピングする匿名化処理を実行してもよい。この場合、本実施形態を同様に実施して同様の効果を得ることができる。   Although this embodiment performed the anonymization process which deletes the encrypted attribute value, it may replace with this and the anonymization process which resamples, sorts, or swaps the encrypted attribute value may be performed. In this case, the same effect can be obtained by carrying out the present embodiment in the same manner.

また、復号装置30による鍵生成に代えて、暗号化装置10による鍵生成を実行してもよい。この場合、暗号化装置10が復号装置30に秘密鍵を送付して実施すればよい。   Further, key generation by the encryption device 10 may be executed instead of key generation by the decryption device 30. In this case, the encryption device 10 may carry out by sending the secret key to the decryption device 30.

なお、本実施形態は、[AES]のような暗号化と復号に同一の鍵を用いる暗号方式のみならず、(加法的な)準同型暗号方式、大小比較可能な暗号方式、(加法的な)準同型暗号方式と大小比較可能な暗号方式を保持する暗号方式でも同様に実施可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。   Note that this embodiment is not limited to encryption methods that use the same key for encryption and decryption, such as [AES], but also (additive) homomorphic encryption methods, encryption methods that can be compared in size, and (additive) It can also be implemented in the same manner with an encryption method that holds an encryption method that can be compared in size with a homomorphic encryption method. When these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.

また、本実施形態は、図2に示した変形例と同様に、鍵生成装置60及びデータ保管装置70を更に備えてもよい。この時既存のデータ保管装置70に、匿名化装置20を連携させることで、本実施形態と同様の効果を得ることが可能になる。例えば図39に示すように、ステップST104で暗号化データをデータ保管装置70に送付し、ステップST105でデータ保管装置70が暗号化データを保管してもよい。また、ステップST107−1でデータ保管装置70が暗号化データを匿名化装置20に送付し、ステップST107−2で匿名化装置20が削除対象の属性項目の列を削除するようにしてもよい。同様に、ステップST108−1で匿名化装置20が暗号化匿名化データをデータ保管装置70に送付し、ステップS108−2でデータ保管装置70が暗号化匿名化データを保管してもよい。また、ステップST108−3でデータ保管装置70が暗号化匿名化データを復号装置30に送付するようにしてもよい。このとき、既存のデータ保管装置70を大きく変えることなく、本実施形態の効果を得ることが可能になる。これは後述する実施形態や変形例においても同様である。   Further, the present embodiment may further include a key generation device 60 and a data storage device 70 as in the modification shown in FIG. At this time, by making the anonymization device 20 cooperate with the existing data storage device 70, it is possible to obtain the same effect as in the present embodiment. For example, as shown in FIG. 39, the encrypted data may be sent to the data storage device 70 in step ST104, and the data storage device 70 may store the encrypted data in step ST105. Alternatively, the data storage device 70 may send the encrypted data to the anonymization device 20 in step ST107-1, and the anonymization device 20 may delete the column of attribute items to be deleted in step ST107-2. Similarly, the anonymization device 20 may send the encrypted anonymized data to the data storage device 70 in step ST108-1, and the data storage device 70 may store the encrypted anonymization data in step S108-2. Further, the data storage device 70 may send the encrypted anonymized data to the decryption device 30 in step ST108-3. At this time, the effect of the present embodiment can be obtained without greatly changing the existing data storage device 70. This also applies to embodiments and modifications described later.

また例えば図8に示した変形例と同様に、図40に示すように、図39のステップST108−1〜ST108−3に代えて、元のステップST108を実行するようにしてもよい。この場合、図8に示した動作による効果と同様の効果を得ることができる。   Further, for example, as in the modification shown in FIG. 8, as shown in FIG. 40, the original step ST108 may be executed instead of steps ST108-1 to ST108-3 in FIG. In this case, the same effect as the operation shown in FIG. 8 can be obtained.

<第14の実施形態:M2Mと、削除、リサンプリング、ソート又はスワッピング>
図41は第14の実施形態に係る匿名化システム及びその周辺構成を示す模式図である。
<Fourteenth embodiment: M2M and deletion, resampling, sorting or swapping>
FIG. 41 is a schematic diagram showing the anonymization system and its peripheral configuration according to the fourteenth embodiment.

第14の実施形態は、暗号化装置10が個人データを暗号化して匿名化装置20に預ける第13の実施形態とは異なり、M2Mサービスのように、各機器で取得した個人データを暗号化してなる暗号化データを匿名化装置20で収集する形態となっている。ここでいう各機器は、各々の暗号化装置(1〜N)10に相当する。   The fourteenth embodiment differs from the thirteenth embodiment in which the encryption device 10 encrypts personal data and deposits it in the anonymization device 20, and encrypts the personal data acquired by each device like the M2M service. The encrypted data is collected by the anonymization device 20. Each device here corresponds to each encryption device (1 to N) 10.

具体的には、第14の実施形態は、図1に示した構成に比べ、暗号化装置10をN台設け、且つユーザ端末100を更に備えている。但し、ユーザ端末100は、必須ではなく、例えばいずれかの暗号化装置10が削除対象の属性項目(社員番号)を匿名化装置20に送付する場合には、省略してもよい。このことは、以下の各変形例でも同様である。   Specifically, the fourteenth embodiment includes N encryption devices 10 and further includes a user terminal 100 as compared to the configuration illustrated in FIG. 1. However, the user terminal 100 is not essential, and may be omitted when any of the encryption devices 10 sends the attribute item (employee number) to be deleted to the anonymization device 20, for example. The same applies to the following modifications.

ここで、N台の暗号化装置(1〜N)10の構成は、匿名化処理の方法を除き、前述した第4の実施形態等と同様である。   Here, the configuration of the N encryption devices (1 to N) 10 is the same as that of the fourth embodiment described above except for the method of anonymization processing.

ユーザ端末100は、通常の通信機能を有するコンピュータであり、例えば、記憶部101、通信部102及び制御部103を備えている。   The user terminal 100 is a computer having a normal communication function, and includes, for example, a storage unit 101, a communication unit 102, and a control unit 103.

次に、本実施形態における匿名化システムの動作について図42のシーケンス図を用いて説明する。以下の説明では、[AES]の暗号方式を用いて匿名化する場合を例に挙げて述べる。   Next, operation | movement of the anonymization system in this embodiment is demonstrated using the sequence diagram of FIG. In the following description, the case of anonymization using the [AES] encryption method will be described as an example.

(事前準備)
ステップST101は、前述した第13の実施形態と同様に実行される。
(Advance preparation)
Step ST101 is executed in the same manner as in the thirteenth embodiment described above.

ステップST102において、復号装置30の制御部38は、通信部34により、共通鍵である秘密鍵skAを各暗号化装置(1〜N)10に送付する。各暗号化装置(1〜N)10の制御部18は、通信部14により受信した秘密鍵skAを鍵記憶部12に格納する。なお、各暗号化装置(1〜N)10は、機器組み立て時に公開鍵pkAを入力して格納してもよく、機器を配置後、ネットワーク経由で公開鍵pkAを受信して格納してもよい。 In step ST102, the control unit 38 of the decryption device 30 sends the secret key sk A , which is a common key, to each encryption device (1 to N) 10 through the communication unit 34. The control unit 18 of each encryption device (1 to N) 10 stores the secret key sk A received by the communication unit 14 in the key storage unit 12. Each encryption device (1 to N) 10 may input and store the public key pk A at the time of assembling the device. After the device is arranged, it receives and stores the public key pk A via the network. Also good.

ステップST103において、各暗号化装置(1〜N)10のデータ取得部19は、図3に示すように、テーブルT1からなる個人データを取得して一時データ記憶部13に記憶する。各暗号化装置(1〜N)10の暗号化部17は、一時データ記憶部13内のテーブルT1のうち、削除対象の属性項目(社員番号)の属性値dataiを、鍵記憶部12内の秘密鍵skAに基づいてレコード毎に暗号化する。 In step ST103, the data acquisition unit 19 of each encryption device (1 to N) 10 acquires personal data including the table T1 and stores it in the temporary data storage unit 13, as shown in FIG. The encryption unit 17 of each encryption device (1 to N) 10 stores the attribute value data i of the attribute item (employee number) to be deleted in the key storage unit 12 in the table T1 in the temporary data storage unit 13. Is encrypted for each record based on the secret key sk A.

Enc(skA,datai)→CA,data_i
なお、暗号化部17は、暗号化の処理において必要なパラメータ及び乱数を、それぞれ暗号パラメータ格納部11及び乱数生成部16から取得することができる。
Enc (sk A , data i ) → C A, data_i
The encryption unit 17 can obtain parameters and random numbers necessary for the encryption process from the encryption parameter storage unit 11 and the random number generation unit 16, respectively.

同様に、暗号化部17は、秘密鍵skAに基づいて、テーブルT1のうち、削除対象の属性項目以外の属性項目の属性値をレコード毎に暗号化する。これにより、前述同様に、図37に示すように、全ての属性項目の属性値が暗号化されたテーブルT1eが暗号化データとして生成される。 Similarly, the encryption unit 17 encrypts the attribute values of attribute items other than the attribute item to be deleted in the table T1 based on the secret key sk A for each record. Thus, as described above, as shown in FIG. 37, a table T1e in which the attribute values of all the attribute items are encrypted is generated as encrypted data.

ステップST104において、各暗号化装置(1〜N)10の制御部18は、通信部14により、テーブルT1eからなる暗号化データを匿名化装置20に送付する。   In step ST104, the control unit 18 of each encryption device (1 to N) 10 sends the encrypted data including the table T1e to the anonymization device 20 through the communication unit 14.

ステップST105において、匿名化装置20は、通信部24により受信した暗号化データであるテーブルT1eを一時データ記憶部23に保管する。一時データ記憶部23内のテーブルT1eは、暗号化装置(1〜N)10から受信したテーブルT1eを集めた内容に更新される。   In step ST <b> 105, the anonymization device 20 stores the table T <b> 1 e that is encrypted data received by the communication unit 24 in the temporary data storage unit 23. The table T1e in the temporary data storage unit 23 is updated to the contents obtained by collecting the tables T1e received from the encryption device (1 to N) 10.

(匿名化)
ステップST106において、ユーザ端末100の制御部103は、通信部102により、削除対象の属性項目(社員番号)を匿名化装置20に送付する。但し、匿名化装置20が削除対象の属性項目を予め保持する場合には、暗号化装置10による削除対象の属性項目の送付を省略できる。このことは、以下の各変形例でも同様である。
(Anonymization)
In step ST <b> 106, the control unit 103 of the user terminal 100 sends the attribute item (employee number) to be deleted to the anonymization device 20 through the communication unit 102. However, when the anonymization device 20 holds the attribute item to be deleted in advance, the sending of the attribute item to be deleted by the encryption device 10 can be omitted. The same applies to the following modifications.

以下、ステップST107〜ST111は、前述した第13の実施形態と同様に実行される。   Thereafter, steps ST107 to ST111 are executed in the same manner as in the thirteenth embodiment described above.

上述したように本実施形態によれば、暗号化装置10を複数台とした場合でも、第13の実施形態と同様の作用効果を得ることができる。   As described above, according to the present embodiment, even when there are a plurality of encryption devices 10, the same operational effects as those of the thirteenth embodiment can be obtained.

ただし、本実施形態では、各機器に秘密鍵skAを格納するが、この秘密鍵skAは暗号化のみならず復号処理もできるため、各機器上で、秘密鍵skAを適切に管理しなければならない。 However, in this embodiment, the secret key sk A is stored in each device. Since this secret key sk A can be decrypted as well as encrypted, the secret key sk A is appropriately managed on each device. There must be.

また、本実施形態は、暗号化した属性値を削除する匿名化処理に代えて、暗号化した属性値をリサンプリング、ソート又はスワッピングする匿名化処理を実行してもよい。この場合、本実施形態を同様に実施して同様の効果を得ることができる。   In the present embodiment, anonymization processing for resampling, sorting, or swapping encrypted attribute values may be executed instead of the anonymization processing for deleting the encrypted attribute value. In this case, the same effect can be obtained by carrying out the present embodiment in the same manner.

また、本実施形態は、[AES]のような暗号化と復号に同一の鍵を用いる暗号方式のみならず、(加法的な)準同型暗号方式、大小比較可能な暗号方式、(加法的な)準同型暗号方式と大小比較可能な暗号方式を保持する暗号方式でも同様に実施可能である。これら暗号方式を用いる場合は、それぞれの方式における暗号アルゴリズムを置き換えることで同様に実現できる。   In addition, this embodiment is not limited to an encryption method that uses the same key for encryption and decryption, such as [AES], but an (additive) homomorphic encryption method, an encryption method that can be compared in size, and (additive) It can also be implemented in the same manner with an encryption method that holds an encryption method that can be compared in size with a homomorphic encryption method. When these encryption methods are used, the same can be realized by replacing the encryption algorithm in each method.

以上説明した少なくとも一つの実施形態によれば、個人データに含まれる各項目の値を暗号化する処理により、当該個人データから暗号化データを生成する。暗号化データのうちの一部の項目の値を復号せずに匿名化する処理により、当該暗号化データから暗号化匿名化データを生成する。暗号化匿名化データを復号する処理により、当該暗号化匿名化データから匿名化データを生成する。このような構成により、個人データを暗号化して得られた暗号化データを復号せずに匿名化することができる。   According to at least one embodiment described above, encrypted data is generated from the personal data by the process of encrypting the value of each item included in the personal data. Encrypted anonymized data is generated from the encrypted data by performing anonymization without decrypting the values of some items of the encrypted data. Anonymized data is generated from the encrypted anonymized data by the process of decrypting the encrypted anonymized data. With such a configuration, the encrypted data obtained by encrypting the personal data can be anonymized without being decrypted.

なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。   Note that the methods described in the above embodiments are, as programs that can be executed by a computer, magnetic disks (floppy (registered trademark) disks, hard disks, etc.), optical disks (CD-ROMs, DVDs, etc.), magneto-optical disks. (MO), stored in a storage medium such as a semiconductor memory, and distributed.

また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。   In addition, as long as the storage medium can store a program and can be read by a computer, the storage format may be any form.

また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。   In addition, an OS (operating system) running on a computer based on an instruction of a program installed in the computer from a storage medium, MW (middleware) such as database management software, network software, and the like realize the above-described embodiment. A part of each process may be executed.

さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。   Furthermore, the storage medium in each embodiment is not limited to a medium independent of a computer, but also includes a storage medium in which a program transmitted via a LAN, the Internet, or the like is downloaded and stored or temporarily stored.

また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。   Further, the number of storage media is not limited to one, and the case where the processing in each of the above embodiments is executed from a plurality of media is also included in the storage media in the present invention, and the media configuration may be any configuration.

なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。   The computer in each embodiment executes each process in each of the above embodiments based on a program stored in a storage medium, and a single device such as a personal computer or a plurality of devices are connected to a network. Any configuration of the system or the like may be used.

また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。   In addition, the computer in each embodiment is not limited to a personal computer, and includes an arithmetic processing device, a microcomputer, and the like included in an information processing device, and is a generic term for devices and devices that can realize the functions of the present invention by a program. Yes.

なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   In addition, although some embodiment of this invention was described, these embodiment is shown as an example and is not intending limiting the range of invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

10…暗号化装置、11,21,31,61,81…暗号パラメータ格納部、12,220,320,82,91…鍵記憶部、13,23,33,62,92…一時データ記憶部、14,24,34,52,63,72,83,93,102…通信部、15,84,94…パラメータ生成部、16,25,35,64,85,95…乱数生成部、17,86…暗号化部、18,29,38,66,87,97,103…制御部、19…データ取得部、20…匿名化装置、22…暗号化データ格納部、26…匿名化処理部、27,96…演算部、28…演算結果比較部、30…復号装置、32…秘密鍵格納部、33…一時データ記憶部、36,65…鍵生成部、37…復号部、40…通信網、50…統計処理装置、51…データ格納部、53…統計処理部、60…鍵生成装置、70…データ保管装置、71…データ格納部、80…パラメータ生成装置、90…匿名化支援装置、100…ユーザ端末、101…記憶部、T1,T1e,T1a…テーブル。   DESCRIPTION OF SYMBOLS 10 ... Encryption apparatus, 11, 21, 31, 61, 81 ... Encryption parameter storage part, 12, 220, 320, 82, 91 ... Key storage part, 13, 23, 33, 62, 92 ... Temporary data storage part, 14, 24, 34, 52, 63, 72, 83, 93, 102 ... communication unit, 15, 84, 94 ... parameter generation unit, 16, 25, 35, 64, 85, 95 ... random number generation unit, 17, 86 ... Encryption section, 18, 29, 38, 66, 87, 97, 103 ... Control section, 19 ... Data acquisition section, 20 ... Anonymization device, 22 ... Encrypted data storage section, 26 ... Anonymization processing section, 27 96 ... Calculation unit 28 ... Calculation result comparison unit 30 ... Decryption device 32 ... Secret key storage unit 33 ... Temporary data storage unit 36,65 ... Key generation unit 37 ... Decryption unit 40 ... Communication network 50 ... Statistical processing device, 51 ... Data storage unit, 53 ... Meter processing unit, 60 ... key generation device, 70 ... data storage device, 71 ... data storage unit, 80 ... parameter generation device, 90 ... anonymization support device, 100 ... user terminal, 101 ... storage unit, T1, T1e, T1a …table.

Claims (6)

1台以上の暗号化装置、匿名化装置及び復号装置を備えた匿名化システムであって、
前記暗号化装置は、
各項目毎に値を含む個人データを記憶する第1記憶手段と、
大小比較可能な暗号方式における共通鍵を記憶する鍵記憶手段と、
前記個人データに含まれる各項目の値を前記共通鍵に基づいて暗号化する処理により、当該個人データから暗号化データを生成する暗号化手段と、
を備え、
前記匿名化装置は、
前記暗号化装置により生成された前記暗号化データを記憶する第2記憶手段と、
前記第2記憶手段内の前記暗号化データのうちの一部の項目の値を復号せずに匿名化する処理により、当該暗号化データから暗号化匿名化データを生成する匿名化手段と、
を備え、
前記復号装置は、
前記匿名化装置により生成された前記暗号化匿名化データを記憶する第3記憶手段と、
前記共通鍵を格納する鍵格納手段と、
前記鍵格納手段内の共通鍵に基づいて、前記第3記憶手段内の前記暗号化匿名化データを復号する処理により、当該暗号化匿名化データから匿名化データを生成する復号手段と、
を備え
前記暗号化装置は、前記匿名化する処理に用いる匿名用パラメータであるしきい値を前記共通鍵に基づいて暗号化することにより、暗号化しきい値を生成するしきい値暗号化手段、を備えており、
前記匿名化手段は、前記暗号化データのうちの一部の項目の値と、前記生成された前記暗号化しきい値とを大小比較し、比較結果に応じて当該一部の項目の値を匿名化する処理により、前記暗号化データから前記暗号化匿名化データを生成する
ことを特徴とする匿名化システム。
An anonymization system comprising one or more encryption devices, anonymization devices and decryption devices,
The encryption device is:
First storage means for storing personal data including a value for each item;
Key storage means for storing a common key in an encryption method capable of comparing sizes;
Encrypting means for generating encrypted data from the personal data by a process of encrypting the value of each item included in the personal data based on the common key ;
With
The anonymization device
Second storage means for storing the encrypted data generated by the encryption device;
Anonymization means for generating encrypted anonymized data from the encrypted data by anonymizing without decrypting values of some items of the encrypted data in the second storage means;
With
The decoding device
Third storage means for storing the encrypted anonymized data generated by the anonymization device;
Key storage means for storing the common key;
Decryption means for generating anonymized data from the encrypted anonymized data by a process of decrypting the encrypted anonymized data in the third storage means based on a common key in the key storage means ;
Equipped with a,
The encryption device includes threshold encryption means for generating an encryption threshold by encrypting a threshold that is an anonymity parameter used for the anonymization process based on the common key. And
The anonymization means compares the value of a part of the items of the encrypted data with the generated encryption threshold value, and anonymizes the value of the part of the items according to the comparison result The anonymization system is characterized in that the encrypted anonymized data is generated from the encrypted data by the process of converting the encrypted data .
1台以上の暗号化装置、匿名化装置及び復号装置を備えた匿名化システムであって、  An anonymization system comprising one or more encryption devices, anonymization devices and decryption devices,
前記暗号化装置は、  The encryption device is:
各項目毎に値を含む個人データを記憶する第1記憶手段と、  First storage means for storing personal data including a value for each item;
大小比較可能な暗号方式における共通鍵を記憶する鍵記憶手段と、  Key storage means for storing a common key in an encryption method capable of comparing sizes;
前記個人データに含まれる各項目の値を前記共通鍵に基づいて暗号化する処理により、当該個人データから暗号化データを生成する暗号化手段と、  Encrypting means for generating encrypted data from the personal data by a process of encrypting the value of each item included in the personal data based on the common key;
を備え、  With
前記匿名化装置は、  The anonymization device
前記暗号化装置により生成された前記暗号化データを記憶する第2記憶手段と、  Second storage means for storing the encrypted data generated by the encryption device;
前記共通鍵を取得する鍵取得手段と、  Key acquisition means for acquiring the common key;
前記第2記憶手段内の前記暗号化データのうちの一部の項目の値を復号せずに匿名化する処理により、当該暗号化データから暗号化匿名化データを生成する匿名化手段と、  Anonymization means for generating encrypted anonymized data from the encrypted data by anonymizing without decrypting values of some items of the encrypted data in the second storage means;
を備え、  With
前記復号装置は、  The decoding device
前記匿名化装置により生成された前記暗号化匿名化データを記憶する第3記憶手段と、  Third storage means for storing the encrypted anonymized data generated by the anonymization device;
前記共通鍵を格納する鍵格納手段と、  Key storage means for storing the common key;
前記鍵格納手段内の共通鍵に基づいて、前記第3記憶手段内の前記暗号化匿名化データを復号する処理により、当該暗号化匿名化データから匿名化データを生成する復号手段と、  Decryption means for generating anonymized data from the encrypted anonymized data by a process of decrypting the encrypted anonymized data in the third storage means based on a common key in the key storage means;
を備え、  With
前記匿名化装置は、前記匿名化する処理に用いる匿名用パラメータであるしきい値を前記共通鍵に基づいて暗号化することにより、暗号化しきい値を生成するしきい値暗号化手段、を備えており、  The anonymization device includes threshold encryption means for generating an encryption threshold by encrypting a threshold that is an anonymity parameter used for the anonymization process based on the common key. And
前記匿名化手段は、前記暗号化データのうちの一部の項目の値と、前記生成された前記暗号化しきい値とを大小比較し、比較結果に応じて当該一部の項目の値を匿名化する処理により、前記暗号化データから前記暗号化匿名化データを生成する  The anonymization means compares the value of a part of the items of the encrypted data with the generated encryption threshold value, and anonymizes the value of the part of the items according to the comparison result The encrypted anonymized data is generated from the encrypted data by processing
ことを特徴とする匿名化システム。  An anonymization system characterized by that.
請求項1又は請求項2に記載の匿名化システムにおいて、  In the anonymization system of Claim 1 or Claim 2,
前記匿名化手段は、前記比較結果に応じて前記一部の項目の値を前記暗号化しきい値に置き換えることにより、当該一部の項目の値を匿名化する、匿名化システム。  The anonymization means is an anonymization system that anonymizes values of some of the items by replacing values of the some items with the encryption threshold according to the comparison result.
請求項1に記載の匿名化システムにおいて、  In the anonymization system of Claim 1,
前記しきい値は、前記匿名化する処理がグルーピングである場合に用いるグループ上限値またはグループ下限値であり、  The threshold value is a group upper limit value or a group lower limit value used when the anonymization process is grouping.
前記暗号化装置は、前記匿名化する処理がグルーピングである場合に用いるグループ代表値を前記共通鍵に基づいて暗号化することにより、暗号化代表値を生成する代表値暗号化手段、を更に備えており、  The encryption device further includes representative value encryption means for generating an encrypted representative value by encrypting a group representative value used when the anonymization process is grouping based on the common key. And
前記匿名化手段は、前記比較結果に応じて前記一部の項目の値を前記暗号化代表値に置き換えることにより、当該一部の項目の値を匿名化する、匿名化システム。  The anonymization means is an anonymization system that anonymizes values of the partial items by replacing values of the partial items with the encrypted representative values according to the comparison result.
請求項2に記載の匿名化システムにおいて、  In the anonymization system of Claim 2,
前記しきい値は、前記匿名化する処理がグルーピングである場合に用いるグループ上限値またはグループ下限値であり、  The threshold value is a group upper limit value or a group lower limit value used when the anonymization process is grouping.
前記匿名化装置は、前記匿名化する処理がグルーピングである場合に用いるグループ代表値を前記共通鍵に基づいて暗号化することにより、暗号化代表値を生成する代表値暗号化手段、を更に備えており、  The anonymization device further includes representative value encryption means for generating an encrypted representative value by encrypting a group representative value used when the anonymization process is grouping based on the common key. And
前記匿名化手段は、前記比較結果に応じて前記一部の項目の値を前記暗号化代表値に置き換えることにより、当該一部の項目の値を匿名化する、匿名化システム。  The anonymization means is an anonymization system that anonymizes values of the partial items by replacing values of the partial items with the encrypted representative values according to the comparison result.
請求項1乃至請求項5のいずれか一項に記載の匿名化システムにおいて、
前記匿名化データは、前記個人データのうち、前記一部の項目の値が匿名化された値と、前記一部の項目以外の項目の値とを含む情報であり、
前記暗号化匿名化データは、前記暗号化データに含まれる前記一部の項目の暗号化された値が匿名化された値と、前記暗号化データに含まれる前記一部の項目以外の項目の値とを含む情報であることを特徴とする匿名化システム。
In the anonymization system according to any one of claims 1 to 5 ,
The anonymized data is information including the value of the partial item in the personal data and the value of the item other than the partial item,
The encrypted anonymized data includes values obtained by anonymizing encrypted values of the some items included in the encrypted data and items other than the some items included in the encrypted data. An anonymization system characterized by being information including a value.
JP2014180442A 2014-09-04 2014-09-04 Anonymization system Active JP6309866B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014180442A JP6309866B2 (en) 2014-09-04 2014-09-04 Anonymization system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014180442A JP6309866B2 (en) 2014-09-04 2014-09-04 Anonymization system

Publications (2)

Publication Number Publication Date
JP2016053693A JP2016053693A (en) 2016-04-14
JP6309866B2 true JP6309866B2 (en) 2018-04-11

Family

ID=55745161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014180442A Active JP6309866B2 (en) 2014-09-04 2014-09-04 Anonymization system

Country Status (1)

Country Link
JP (1) JP6309866B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6437416B2 (en) * 2015-10-13 2018-12-12 日本電信電話株式会社 Name identification system, apparatus, method and program
JP6466812B2 (en) * 2015-10-13 2019-02-06 日本電信電話株式会社 Name identification system, apparatus, method and program
US10700864B2 (en) * 2017-07-12 2020-06-30 International Business Machines Corporation Anonymous encrypted data
JP7351347B2 (en) * 2019-10-31 2023-09-27 日本電気株式会社 Information trading system, information trading method and program
KR102559290B1 (en) * 2020-01-06 2023-07-26 주식회사 아미크 Method and system for hybrid cloud-based real-time data archiving
JP7431098B2 (en) 2020-04-17 2024-02-14 株式会社Nttドコモ information processing equipment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4003203B2 (en) * 2000-08-10 2007-11-07 サイファーゲート株式会社 RECORDING MEDIUM RECORDING ENCRYPTION PROGRAM AND RECORDING MEDIUM RECORDING DECRYPTION PROGRAM
JP2004112555A (en) * 2002-09-20 2004-04-08 Matsushita Electric Ind Co Ltd Download system and method therefor
WO2012067214A1 (en) * 2010-11-15 2012-05-24 日本電気株式会社 Information processing device, information processing method, and program
JP6007969B2 (en) * 2012-02-17 2016-10-19 日本電気株式会社 Anonymization device and anonymization method
JP2013197642A (en) * 2012-03-16 2013-09-30 Fujitsu Ltd Signal processing method and device
JP5723331B2 (en) * 2012-08-03 2015-05-27 株式会社日立システムズ Service providing method and service providing system
JP5813021B2 (en) * 2013-01-04 2015-11-17 株式会社パラダイムシフト Value chain improvement support system, value chain improvement support method, and value chain improvement support program

Also Published As

Publication number Publication date
JP2016053693A (en) 2016-04-14

Similar Documents

Publication Publication Date Title
WO2017077600A1 (en) Anonymization system
JP6309866B2 (en) Anonymization system
TWI750223B (en) Blockchain encrypted radio frequency chip storage design method
Avudaiappan et al. Medical image security using dual encryption with oppositional based optimization algorithm
CN108140334B (en) Confidential search system, management device, confidential search method, and recording medium
JP6180177B2 (en) Encrypted data inquiry method and system capable of protecting privacy
CN110768787B (en) Data encryption and decryption method and device
US20130262863A1 (en) Searchable encryption processing system
Zhang Commutative reversible data hiding and encryption
CN107196840B (en) Data processing method, device and equipment
Hua et al. Reversible data hiding in encrypted images using cipher-feedback secret sharing
CN100571388C (en) The scalable data sequence of encrypting is gradually carried out the method for stretching
WO2014007296A1 (en) Order-preserving encryption system, encryption device, decryption device, encryption method, decryption method, and programs thereof
Chen et al. Error-free separable reversible data hiding in encrypted images using linear regression and prediction error map
CN114039785B (en) Data encryption, decryption and processing methods, devices, equipment and storage medium
JP5269984B2 (en) Encryption key generator
CN112380404B (en) Data filtering method, device and system
Gao et al. High-performance reversible data hiding in encrypted images with adaptive Huffman code
US20020136400A1 (en) R-conversion encryption method and system
Ma et al. Security analysis of a reversible watermarking algorithm for encrypted images in wavelet domain
JP2004317764A (en) Method, device, and program for transmitting variable identifier, and recording medium with the program recorded thereon
JP2001282103A (en) Ciphering method
JP5784662B2 (en) ENCRYPTED DATA OPERATION SYSTEM, DEVICE, AND PROGRAM
CN116248289A (en) Industrial Internet identification analysis access control method based on ciphertext attribute encryption
Abdulhamid et al. Development of blowfish encryption scheme for secure data storage in public and commercial cloud computing environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180315

R150 Certificate of patent or registration of utility model

Ref document number: 6309866

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150