JP5942634B2 - 秘匿化装置、秘匿化プログラムおよび秘匿化方法 - Google Patents

秘匿化装置、秘匿化プログラムおよび秘匿化方法 Download PDF

Info

Publication number
JP5942634B2
JP5942634B2 JP2012144591A JP2012144591A JP5942634B2 JP 5942634 B2 JP5942634 B2 JP 5942634B2 JP 2012144591 A JP2012144591 A JP 2012144591A JP 2012144591 A JP2012144591 A JP 2012144591A JP 5942634 B2 JP5942634 B2 JP 5942634B2
Authority
JP
Japan
Prior art keywords
data
concealment
hash value
acquired
item
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.)
Expired - Fee Related
Application number
JP2012144591A
Other languages
English (en)
Other versions
JP2014011503A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012144591A priority Critical patent/JP5942634B2/ja
Priority to US13/890,532 priority patent/US9130949B2/en
Publication of JP2014011503A publication Critical patent/JP2014011503A/ja
Application granted granted Critical
Publication of JP5942634B2 publication Critical patent/JP5942634B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、秘匿化装置、秘匿化プログラムおよび秘匿化方法に関する。
従来、サーバなどのある装置から秘匿化されたデータを取得し、取得したデータをデータの種別ごとに記憶装置に記憶させて、取得したデータを種別ごとに統合する統合装置がある。そして、かかる統合装置は、他の装置からの要求に応じて、記憶装置から秘匿化されたデータを取得し、秘匿化されたデータの一部分の秘匿化を解除し、一部分の秘匿化が解除されたデータを、データを要求した装置に送信する。一部分の秘匿化が解除されたデータを受信した装置は、秘匿化が解除された部分の内容を用いて、所定の分析を行う。
図17は、従来の統合装置を含むシステムの一例を説明するための図である。図17の例に示すシステム99は、装置90a、装置90b、統合装置91、装置92a、装置92b、装置92cを有する。装置90a,90bと、統合装置91とは、ネットワーク98を介して接続されている。また、統合装置91と、装置92a,92b,92cとは、ネットワーク97を介して接続されている。すなわち、装置90a,90bと、統合装置91とは、通信可能である。また、統合装置91と、装置92a,92b,92cとは、通信可能である。
装置90a,90bは、動物などのペットを販売するペットショップにおけるペットの購入者の購入履歴を示すデータが登録されたDB(Data Base)93a,93bを有する。図18は、DBのデータ構造の一例を示す図である。図18の例に示すDB93a、93bには、データの種別ごとにテーブルが登録される。図18の例に示すテーブルのレコードには、「名前」、「年齢」、「店名」、「品目」の各項目が含まれる。「名前」の項目には、ペットの購入者の名前が登録される。なお、ペットの購入者の名前は、個人を特定することが可能なデータである。「年齢」の項目には、購入者の年齢が登録される。「店名」の項目には、購入者がペットを購入した店の店名が登録される。「品目」の項目には、購入したペットの種類が登録される。また、図18の例に示すテーブルは、テーブルに登録されたデータの種別を識別するためのID(Identification)である種別IDが登録される「種別ID」の項目を有する。ここで、上述したように、図18の例に示すテーブルには、ペットの購入者の購入履歴を示すデータが登録されている。このため、図18の例のテーブルの「種別ID」の項目には、ペットの購入者の購入履歴を示すデータを識別するための種別ID「1」が登録されている。
装置90a,90bは、DB93a,93bのテーブルから1レコードまたは複数のレコードのデータを取得し、取得したデータを秘匿化する。例えば、装置90a,90bは、所定のキーを用いて、所定のハッシュ関数により、取得したレコードの各項目のデータのハッシュ値を算出して、データを秘匿化する。そして、装置90a,90bは、秘匿化したデータに、テーブルの「種別ID」の項目に登録された種別IDを付加する。続いて、装置90a,90bは、種別IDが付加されたデータを統合装置91へ送信する。なお、システム99には、装置90a,90b以外にも、同様の方法で様々な種別のデータを秘匿化して統合装置91へ送信する図示しない装置が含まれているものとする。
統合装置91は、データをデータ種別ごとに統合する。統合装置91は、複数のデータ種別のそれぞれに対応するテーブル91a,91b,・・・を有する。図19は、従来の統合装置が有するテーブルのデータ構造の一例を示す図である。図19の例が示すテーブル91aは、種別ID「1」が示す種別のデータ、すなわち、ペットの購入者の購入履歴を示すデータのハッシュ値が登録されるテーブルである。
統合装置91は、装置90a,90bや、上述した図示しない装置から、種別IDが付加されたデータを受信した場合には、受信したデータに付加された種別IDを取得する。そして、統合装置91は、複数の種別IDのそれぞれに対応する複数のテーブル91a,91b,・・・のうち、取得した種別IDに対応するテーブルに、受信したデータを登録する。例えば、装置90aから種別ID「1」が付加されたデータを受信した場合には、統合装置91は、複数の種別IDのそれぞれに対応する複数のテーブル91a,91b,・・・のうち、種別ID「1」に対応するテーブル91aに、受信したデータを登録する。これにより、種別ID「1」に対応するテーブル91aには、秘匿化されたペットの購入者の購入履歴を示すデータが登録される。
また、統合装置91は、装置92a,92b,92cから、分析の対象となるデータの種別ID、および、分析対象の項目を含む、データ送信を行う旨の指示を受信した場合には、次のような処理を行う。すなわち、統合装置91は、受信した指示に含まれる種別IDに対応するテーブルに登録された全てのレコードのデータを取得する。例えば、統合装置91は、受信した指示に含まれる種別IDが「1」である場合には、種別ID「1」に対応するテーブル91aに登録された全てのレコードのデータを取得する。
そして、統合装置91は、取得した全てのレコードのそれぞれのデータについて、受信した指示に含まれる分析対象の項目のデータの秘匿化を解除する。例えば、統合装置91は、全てのレコードについて、取得したハッシュ値のデータのうち、分析対象の項目のハッシュ値を、秘匿化された際に用いられたキーと同一のキーを用いて、秘匿化された際に用いられたハッシュ関数と同一のハッシュ関数により、元のデータに戻す。そして、分析対象の項目のデータの秘匿化が解除されたデータを、指示を送信した装置へ送信する。
例えば、統合装置91は、装置92aから、分析の対象となるデータの種別ID「1」、および、分析対象の項目「品目」を含む、データ送信を行う旨の指示を受信した場合には、次のような処理を行う。すなわち、統合装置91は、種別ID「1」に対応するテーブル91aに登録された全てのレコードのハッシュ値のデータを取得し、取得したハッシュ値のデータのうち、分析対象の項目「品目」のハッシュ値を、元のデータに戻す。図20は、従来の統合装置により分析対象の項目「品目」のハッシュ値が元のデータに戻された場合のハッシュ値のデータの一例を示す図である。例えば、種別ID「1」に対応するテーブル91aに登録された全てのレコードのハッシュ値のデータを取得した場合には、図20の例に示すように、統合装置91は、分析対象の項目「品目」のハッシュ値「A01」を、元のデータ「鳥」に戻す。また、統合装置91は、分析対象の項目「品目」のハッシュ値「B02」を、元のデータ「犬」に戻す。また、統合装置91は、分析対象の項目「品目」のハッシュ値「C03」を、元のデータ「カメ」に戻す。また、統合装置91は、分析対象の項目「品目」のハッシュ値「D04」を、元のデータ「猫」に戻す。そして、統合装置91は、分析対象の項目「品目」のハッシュ値が、元のデータに戻された図20に示すデータを装置92aへ送信する。
また、統合装置91は、装置92bから、分析の対象となるデータの種別ID「1」、および、分析対象の項目「店名」を含む、データ送信を行う旨の指示を受信した場合には、次のような処理を行う。すなわち、統合装置91は、種別ID「1」に対応するテーブルに登録された全てのレコードのハッシュ値のデータを取得し、取得したハッシュ値のデータのうち、分析対象の項目「店名」のハッシュ値を、元のデータに戻す。図21は、従来の統合装置により分析対象の項目「店名」のハッシュ値が元のデータに戻された場合のハッシュ値のデータの一例を示す図である。例えば、種別ID「1」に対応するテーブル91aに登録された全てのレコードのハッシュ値のデータを取得した場合には、図21の例に示すように、統合装置91は、分析対象の項目「店名」のハッシュ値「○○」を、元のデータ「A店」に戻す。また、統合装置91は、分析対象の項目「店名」のハッシュ値「××」を、元のデータ「B店」に戻す。また、統合装置91は、分析対象の項目「店名」のハッシュ値「△△△」を、元のデータ「D店」に戻す。そして、統合装置91は、分析対象の項目「店名」のハッシュ値が、元のデータに戻された図21に示すデータを装置92bへ送信する。
また、統合装置91は、装置92cから、分析の対象となるデータの種別ID「1」、および、分析対象の項目「年齢」を含む、データ送信を行う旨の指示を受信した場合には、次のような処理を行う。すなわち、統合装置91は、種別ID「1」に対応するテーブルに登録された全てのレコードのハッシュ値のデータを取得し、取得したハッシュ値のデータのうち、分析対象の項目「年齢」のハッシュ値を、元のデータに戻す。図22は、従来の統合装置により分析対象の項目「年齢」のハッシュ値が元のデータに戻された場合のハッシュ値のデータの一例を示す図である。例えば、種別ID「1」に対応するテーブル91aに登録された全てのレコードのハッシュ値のデータを取得した場合には、図22の例に示すように、統合装置91は、分析対象の項目「年齢」のハッシュ値「12」を、元のデータ「22」に戻す。また、統合装置91は、分析対象の項目「年齢」のハッシュ値「1」を、元のデータ「32」に戻す。また、統合装置91は、分析対象の項目「年齢」のハッシュ値「24」を、元のデータ「44」に戻す。また、統合装置91は、分析対象の項目「年齢」のハッシュ値「33」を、元のデータ「52」に戻す。そして、統合装置91は、分析対象の項目「年齢」のハッシュ値が、元のデータに戻された図22に示すデータを装置92cへ送信する。
装置92a,92b,92cは、各種の分析を行う装置である。例えば、装置92aは、ペットの購入者の購入履歴を示すデータを用いて、購入されたペットの品目ごとの数を集計するためのアプリケーションを実行する。装置92aは、かかるアプリケーションを実行することにより、分析の対象となるデータの種別ID「1」、および、分析対象の項目「品目」を含む、データ送信を行う旨の指示を統合装置91へ送信する。また、装置92aは、統合装置91から送信された、分析対象の項目「品目」のハッシュ値が、元のデータに戻されたデータを受信した場合には、購入されたペットの品目ごとの数を集計する。
また、装置92bは、ペットの購入者の購入履歴を示すデータを用いて、ペットショップごとの購入されたペットの数を集計するためのアプリケーションを実行する。装置92bは、かかるアプリケーションを実行することにより、分析の対象となるデータの種別ID「1」、および、分析対象の項目「店名」を含む、データ送信を行う旨の指示を統合装置91へ送信する。また、装置92bは、統合装置91から送信された、分析対象の項目「店名」のハッシュ値が、元のデータに戻されたデータを受信した場合には、ペットショップごとの購入されたペットの数を集計する。
また、装置92cは、ペットの購入者の購入履歴を示すデータを用いて、購入者の年齢ごとの購入されたペットの数を集計するためのアプリケーションを実行する。装置92cは、かかるアプリケーションを実行することにより、分析の対象となるデータの種別ID「1」、および、分析対象の項目「年齢」を含む、データ送信を行う旨の指示を統合装置91へ送信する。また、装置92cは、統合装置91から送信された、分析対象の項目「年齢」のハッシュ値が、元のデータに戻されたデータを受信した場合には、ペットの購入者の年齢ごとの購入されたペットの数を集計する。
また、従来、個人情報に含まれる個人を特定可能な情報に対して第1の鍵情報を用いてハッシュ値を生成し、生成したハッシュ値に対して第2の鍵情報を用いて新たにハッシュ値を生成することにより、個人を特定可能な情報を秘匿化する技術がある。
特開2010−237811号公報 特開2005−301978号公報 特開平9−245043号公報 特開2008−22145号公報 特開平4−273378号公報
しかしながら、上記のシステムでは、秘匿化されたデータを解読することが容易であるという問題がある。例えば、図20〜図22のそれぞれの例に示すデータを装置92a〜92cのそれぞれが保持している場合に、装置92a〜92cのそれぞれからデータが流出したときには、次のような方法により、流出したデータから人物が特定される可能性がある。すなわち、流出した3つのデータの中から、3つのデータに共通して「名前」の項目に登録された情報、例えば、「A12345」が登録されたレコードを特定し、特定したレコードの中から秘匿化が解除された情報「32」、「B店」、「犬」を特定する。これにより、「A12345」という名前が秘匿化された情報が示す人物は、年齢が32歳で、B店で犬を購入したことが特定される。そのため、年齢が32歳で、B店で犬を購入したという情報から、人物を特定することが容易となる。したがって、上記のシステムでは、秘匿化されたデータを解読することが容易であるという問題がある。
なお、上記のシステムに、個人を特定可能な情報を秘匿化する技術を適用して、「名前」の項目に登録された購入者の名前を秘匿化する方法も考えられる。この方法では、購入者の名前の情報に対して第1の鍵情報を用いてハッシュ値を生成し、生成したハッシュ値に対して第2の鍵情報を用いて新たにハッシュ値を生成する。しかしながら、上述した方法によっても、統合装置から送信された複数のデータの中から、新たに生成されたハッシュ値が登録されたレコードを特定し、特定したレコードの中から秘匿化が解除された情報を特定することができてしまう。そのため、上述した方法によっても、秘匿化されたデータを解読することが容易であるという問題がある。
1つの側面では、本発明は、秘匿化されたデータの解読を困難にすることを目的とする。
一態様の秘匿化装置は、受付部と、秘匿化部と、制御部とを有する。受付部は、所定事項を特定可能な第1のデータが秘匿化された第2のデータを含む第3のデータを送信する指示を行うアプリケーションを実行する複数の装置から指示を受け付ける。秘匿化部は、指示に応じて、記憶部に記憶された第3のデータを取得し、指示を行ったアプリケーションの種別ごとに異なる情報に基づいて、取得した第3のデータに含まれる第2のデータを秘匿化する。また、秘匿化部は、複数の前記第3のデータを取得した場合に、取得した複数の第3のデータに含まれる複数の前記第2のデータの中に、同一のデータが複数存在するときには、秘匿結果が異なるように、複数の該同一のデータのそれぞれを秘匿化する。制御部は、第2のデータが秘匿化された第3のデータを、第3のデータを送信する指示を行ったアプリケーションを実行する装置に送信する。
一態様の秘匿化装置は、秘匿化されたデータの解読を困難にすることができる。
図1は、実施例1に係る秘匿化装置を含むシステムの構成の一例を示す図である。 図2は、DBのデータ構造の一例を示す図である。 図3は、秘匿化装置が有するDBに登録されたテーブルのデータ構造の一例を示す図である。 図4は、秘匿化装置が有するテーブルのデータ構造の一例を示す図である。 図5は、秘匿化装置により分析対象の項目「品目」のハッシュ値が元のデータに戻された場合のデータの一例を示す図である。 図6は、秘匿化装置により分析対象の項目「店名」のハッシュ値が元のデータに戻された場合のデータの一例を示す図である。 図7は、秘匿化装置により分析対象の項目「年齢」のハッシュ値が元のデータに戻された場合のデータの一例を示す図である。 図8は、秘匿化処理の手順を示すフローチャートである。 図9は、実施例2に係る秘匿化装置を含むシステムの構成の一例を示す図である。 図10は、DBのデータ構造の一例を示す図である。 図11は、秘匿化装置が有するDBに登録されたテーブルのデータ構造の一例を示す図である。 図12は、グループデータのデータ構造の一例を示す図である。 図13は、秘匿化装置により異なるキーが用いられて名前のデータのハッシュ値が生成され、分析対象の項目「売上」のハッシュ値が元のデータに戻された場合のデータの一例を示す図である。 図14は、分析結果の一例を示す図である。 図15は、秘匿化処理の手順を示すフローチャートである。 図16は、秘匿化プログラムを実行するコンピュータを示す図である。 図17は、従来の統合装置を含むシステムの一例を説明するための図である。 図18は、DBのデータ構造の一例を示す図である。 図19は、従来の統合装置が有するテーブルのデータ構造の一例を示す図である。 図20は、従来の統合装置により分析対象の項目「品目」のハッシュ値が元のデータに戻された場合のハッシュ値のデータの一例を示す図である。 図21は、従来の統合装置により分析対象の項目「店名」のハッシュ値が元のデータに戻された場合のハッシュ値のデータの一例を示す図である。 図22は、従来の統合装置により分析対象の項目「年齢」のハッシュ値が元のデータに戻された場合のハッシュ値のデータの一例を示す図である。
以下に、本願の開示する秘匿化装置、秘匿化プログラムおよび秘匿化方法の各実施例を図面に基づいて詳細に説明する。なお、各実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例1に係る秘匿化装置について説明する。図1は、実施例1に係る秘匿化装置を含むシステムの構成の一例を示す図である。図1の例に示すシステム1は、秘匿化装置10、装置11a,11b、装置12a,12b,12cを有する。また、システム1は、装置11a,11bと同様の機能を有する図示しない装置を有する。装置11a,11bおよび上述した図示しない装置と、秘匿化装置10とは、ネットワーク13を介して接続されている。また、秘匿化装置10と、装置12a,12b,12cとは、ネットワーク14を介して接続されている。すなわち、装置11a,11bと、秘匿化装置10とは、通信可能である。また、秘匿化装置10と、装置12a,12b,12cとは、通信可能である。
装置11a,11bは、動物などのペットを販売するペットショップにおけるペットの購入者の購入履歴を示すデータが登録されたDB15a,15bを有する。図2は、DBのデータ構造の一例を示す図である。図2の例に示すDB15a,15bには、データの種別ごとにテーブルが登録される。図2の例に示すテーブルのレコードには、「名前」、「年齢」、「店名」、「品目」の各項目が含まれる。「名前」の項目には、ペットの購入者の名前が登録される。なお、ペットの購入者の名前は、個人を特定することが可能なデータである。「年齢」の項目には、購入者の年齢が登録される。「店名」の項目には、購入者がペットを購入した店の店名が登録される。「品目」の項目には、購入したペットの種類が登録される。また、図2の例に示すテーブルには、DBに登録されたデータの種別を識別するためのIDである種別IDが登録される「種別ID」の項目を有する。ここで、上述したように、図2の例に示すDB15a、15bのテーブルには、ペットの購入者の購入履歴を示すデータが登録されている。このため、図2の例のDB15a、15bのテーブルの「種別ID」の項目には、ペットの購入者の購入履歴を示すデータを識別するための種別ID「1」が登録されている。
装置11a,11bは、DB15a,15bのテーブルから1レコードまたは複数のレコードのデータを取得し、取得したデータを秘匿化する。例えば、装置11a,11bは、所定のキーを用いて、所定のハッシュ関数により、取得したレコードの各項目のデータのハッシュ値を算出し、取得したレコードの各項目のデータを算出したハッシュ値のデータに置換して、取得したデータを秘匿化する。そして、装置11a,11bは、秘匿化したデータに、DB15a,15bのテーブルの「種別ID」の項目に登録された種別IDを付加する。続いて、装置11a,11bは、種別IDが付加されたデータを秘匿化装置10へ送信する。なお、システム1には、上述したように、装置11a,11b以外にも、同様の方法で様々な種別のデータを秘匿化して秘匿化装置10へ送信する図示しない装置が含まれているものとする。
秘匿化装置10は、入力部16、通信部17、記憶部18、制御部19を有する。
入力部16は、各種の情報を制御部19へ入力する。例えば、入力部16は、ユーザからの指示を受け付けて、受け付けた指示を制御部19へ入力する。入力部16のデバイスの一例としては、マウスやキーボードなどのユーザの操作を受け付けるデバイスが挙げられる。
通信部17は、装置間の通信を行うためのインターフェースである。例えば、通信部17は、装置11a,11bからネットワーク13を介して秘匿化されたデータを受信すると、受信したデータを制御部19へ送信する。また、通信部17は、後述する送信制御部19dから、人物を特定することができる一部分のデータが秘匿化されたデータを受信すると、ネットワーク14を介して、受信したデータを装置12a〜12cのうち、指示された装置へ送信する。また、通信部17は、装置12a,12b,12cから、ネットワーク14を介して、分析の対象となるデータの種別ID、アプリケーションID、および、分析対象の項目を含む、データ送信を行う旨の指示を受信した場合には、次のような処理を行う。すなわち、通信部17は、受信した指示を制御部19へ送信する。
記憶部18は、各種の情報を記憶する。例えば、記憶部18は、DB18a、テーブル18bを記憶する。
DB18aには、複数のデータ種別のそれぞれに対応するテーブルが登録される。図3は、秘匿化装置が有するDBに登録されたテーブルのデータ構造の一例を示す図である。図3の例は、複数のテーブル18a_1,18a_2,・・・を示す。複数のテーブル18a_1,18a_2,・・・のそれぞれは、登録されるデータのデータ種別を示す種別IDが登録される項目「種別ID」を有する。例えば、図3の例では、テーブル18a_1は、種別ID「1」が示す種別のデータ、すなわち、ペットの購入者の購入履歴を示すデータのハッシュ値が登録されるテーブルであることを示す。
DB18aに登録されたテーブルには、後述の登録部19bにより、装置11a,11bや、図示しない装置から送信された秘匿化されたデータが登録される。例えば、先の図2の例に示すテーブルに登録されたデータが秘匿化されて、装置11a,11bから秘匿化装置10に送信された場合には、テーブル18a_1に、図3の例に示すように、秘匿化されたデータが登録される。
テーブル18bは、ハッシュ値を生成する際に用いられるキーと、アプリケーションを識別するためのIDであるアプリケーションIDとが対応付けられて登録されたテーブルである。テーブル18bには、複数のアプリケーションのそれぞれに対して、異なるキーが対応付けられて登録される。図4は、秘匿化装置が有するテーブルのデータ構造の一例を示す図である。図4の例では、テーブル18bは、アプリケーションIDが登録される項目「アプリケーション」と、ハッシュ値を生成する際に用いられるキーが登録される項目「キー」とを有する。図4は、例えば、アプリケーションID「A」と、キー「00001」とが対応付けられてテーブル18bに登録された場合を示す。
記憶部18は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部18は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。
制御部19は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図1に示すように、制御部19は、受付部19aと、登録部19bと、秘匿化部19cと、送信制御部19dとを有する。
受付部19aは、各種の情報を受け付ける。例えば、受付部19aは、秘匿化されたデータが通信部17から制御部19へ送信された場合には、送信されたデータを受信する。また、受付部19aは、分析の対象となるデータの種別ID、アプリケーションID、および、分析対象の項目を含む、データ送信を行う旨の指示が通信部17から制御部19へ送信された場合には、次のような処理を行う。すなわち、受付部19aは、送信された指示を受信する。
登録部19bは、各種の情報を登録する。例えば、登録部19bは、受付部19aにより、種別IDが付加されたデータが受信された場合には、受信したデータに付加された種別IDを取得する。続いて、登録部19bは、取得した種別IDに対応するテーブルが存在するかDB18aを検索する。取得した種別IDに対応するテーブルが存在する場合には、登録部19bは、DB18aに登録された複数のテーブルのうち、取得した種別IDに対応するテーブルに、受信したデータを登録する。例えば、装置11aから種別ID「1」が付加されたデータを受信した場合には、秘匿化装置10は、図3の例に示す複数のテーブル18a_1,18a_2,・・・のうち、種別ID「1」に対応するテーブル18a_1に、受信したデータを登録する。これにより、種別ID「1」に対応するテーブル18a_1には、秘匿化されたペットの購入者の購入履歴を示す、秘匿化されたデータが登録される。
一方、取得した種別IDに対応するテーブルが存在しない場合には、登録部19bは、新たなテーブルを生成し、生成したテーブルの「種別ID」の項目に、取得した種別IDを登録する。また、登録部19bは、受付部19aにより受信されたデータのレコード数分のレコードを、生成したテーブルに追加し、追加されたレコードに、受付部19aにより受信されたデータを登録する。
登録部19bは、受付部19aにより、種別IDが付加されたデータが受信されるたびに、上述した処理を行って、DB18aのテーブルに秘匿化されたデータを登録する。
秘匿化部19cは、受付部19aにより、上述のデータ送信を行う旨の指示が受信された場合には、次のような処理を行う。すなわち、秘匿化部19cは、かかる指示に含まれる種別IDが示すデータ種別に対応するテーブルに登録された秘匿化されたデータを取得する。そして、秘匿化部19cは、指示を行った後述のアプリケーションの種別ごとに秘匿結果が異なるように、取得したデータに含まれる秘匿化された名前のデータを更に秘匿化する。
具体例を挙げて説明する。例えば、秘匿化部19cは、装置12a,12b,12cから、分析の対象となるデータの種別ID、アプリケーションID、および、分析対象の項目を含む、データ送信を行う旨の指示を受信した場合には、次のような処理を行う。すなわち、秘匿化部19cは、指示に含まれる種別IDを取得する。また、秘匿化部19cは、指示に含まれるアプリケーションIDを取得する。また、秘匿化部19cは、指示に含まれる分析対象の項目を取得する。
そして、秘匿化部19cは、取得したアプリケーションIDに対応するキーが存在するかテーブル18bを検索する。検索の結果、キーが存在する場合には、秘匿化部19cは、取得したアプリケーションIDに対応するキーをテーブル18bから取得する。例えば、取得したアプリケーションIDが「A」である場合には、秘匿化部19cは、図4の例に示すテーブル18bからキー「00001」を取得する。一方、検索の結果、キーが存在しない場合には、秘匿化部19cは、テーブル18bに既に登録されたキーと同一のキーとならないように、新たなキーを生成する。そして、秘匿化部19cは、取得したアプリケーションIDと、生成したキーとを対応付けてテーブル18bに登録する。
続いて、秘匿化部19cは、取得した種別IDが示すデータ種別に対応するテーブルが存在するかDB18aを検索する。検索の結果、テーブルが存在する場合には、秘匿化部19cは、取得した種別IDが示すデータ種別に対応するテーブルの全てのレコードのデータを取得する。例えば、取得した種別IDが「1」である場合には、秘匿化部19cは、図3の例に示すDB18aに登録された複数のテーブルの中から、種別ID「1」に対応するテーブル18a_1に登録された全てのレコードのデータを取得する。
そして、秘匿化部19cは、取得または生成したキーを用いて、所定のハッシュ関数により、取得した全てのレコードのデータのうち、人物を特定することが可能な一部分のデータのハッシュ値を生成する。例えば、秘匿化部19cは、秘匿化された名前のデータに対して更にハッシュ値を生成する。なお、人物を特定することが可能なデータの一例として、名前のデータを挙げたが、人物を特定することが可能なデータはこれに限られない。秘匿化部19cは、人物の住所やIDなど、人物を特定することが可能なデータのハッシュ値であれば、同様の方法で、さらにハッシュ値を生成することができる。
例えば、取得または生成したキーが「00001」である場合には、秘匿化部19cは、キー「00001」を用いて、所定のハッシュ関数により、秘匿化された名前のデータ「azeid11」のハッシュ値「AAAAA」を生成する。また、秘匿化部19cは、秘匿化された名前のデータ「A12345」のハッシュ値「BBBBB」を生成する。また、秘匿化部19cは、秘匿化された名前のデータ「kdDsDD」のハッシュ値「CCCCC」を生成する。また、秘匿化部19cは、秘匿化された名前のデータ「Kl3lls3Q」のハッシュ値「DDDDD」を生成する。
また、例えば、取得または生成したキーが「00002」である場合には、秘匿化部19cは、キー「00002」を用いて、所定のハッシュ関数により、秘匿化された名前のデータ「azeid11」のハッシュ値「EEEEE」を生成する。また、秘匿化部19cは、秘匿化された名前のデータ「A12345」のハッシュ値「FFFFF」を生成する。また、秘匿化部19cは、秘匿化された名前のデータ「kdDsDD」のハッシュ値「GGGGG」を生成する。また、秘匿化部19cは、秘匿化された名前のデータ「Kl3lls3Q」のハッシュ値「HHHHH」を生成する。
また、例えば、取得または生成したキーが「00003」である場合には、秘匿化部19cは、キー「00003」を用いて、所定のハッシュ関数により、秘匿化された名前のデータ「azeid11」のハッシュ値「IIIII」を生成する。また、秘匿化部19cは、秘匿化された名前のデータ「A12345」のハッシュ値「JJJJJ」を生成する。また、秘匿化部19cは、秘匿化された名前のデータ「kdDsDD」のハッシュ値「KKKKK」を生成する。また、秘匿化部19cは、秘匿化された名前のデータ「Kl3lls3Q」のハッシュ値「LLLLL」を生成する。
続いて、秘匿化部19cは、取得した全てのレコードのデータのうち、秘匿化された人物を特定することが可能な一部分のデータを、生成したハッシュ値で置換する。これにより、人物を特定することが可能な一部分のデータは、再び秘匿化される。例えば、上述の取得または生成したキーが「00001」である場合の例では、秘匿化部19cは、名前のデータ「azeid11」をハッシュ値「AAAAA」で置換する。また、秘匿化部19cは、名前のデータ「A12345」をハッシュ値「BBBBB」で置換する。また、秘匿化部19cは、名前のデータ「kdDsDD」をハッシュ値「CCCCC」で置換する。また、秘匿化部19cは、名前のデータ「Kl3lls3Q」をハッシュ値「DDDDD」で置換する。このように、秘匿化部19cは、装置12a,12b,12cで実行されたアプリケーションの種別ごとに異なるキーを用いて、秘匿化された人物を特定することが可能なデータのハッシュ値を生成し、かかるデータをハッシュ値で置換する。そのため、秘匿化部19cによれば、秘匿化された人物を特定することが可能なデータが同一であっても、アプリケーションごとに異なる秘匿結果となるように、秘匿化された人物を特定することが可能なデータを更に秘匿化することができる。それゆえ、秘匿化部19cによれば、秘匿化された人物を特定することが可能なデータが同一であっても、アプリケーションごとに、秘匿結果が異なるため、複数のアプリケーションのデータに共通するような、かかるデータの生成を抑制することができる。したがって、秘匿化部19cによれば、秘匿化されたデータの解読を困難にすることができる。
そして、秘匿化部19cは、人物を特定することが可能な一部分のデータがハッシュ値で置換されたデータについて、受信した指示に含まれる分析対象の項目のデータの秘匿化を解除する。例えば、秘匿化部19cは、人物を特定することが可能な一部分のデータがハッシュ値で置換されたデータについて、次のような処理を行う。すなわち、秘匿化部19cは、分析対象の項目のハッシュ値を、装置11a,11bや図示しない装置により秘匿化された際に用いられたキーと同一のキーを用いて、秘匿化された際に用いられたハッシュ関数と同一のハッシュ関数により、元のデータに戻す。
例えば、秘匿化部19cは、装置12aから、分析の対象となるデータの種別ID「1」、アプリケーションID「A」、および、分析対象の項目「品目」を含む、データ送信を行う旨の指示が受付部19aにより受信された場合には、次のような処理を行う。すなわち、秘匿化部19cは、人物を特定することが可能な一部分のデータがハッシュ値で置換されたデータのうち、分析対象の項目「品目」のハッシュ値を、元のデータに戻す。図5は、秘匿化装置により分析対象の項目「品目」のハッシュ値が元のデータに戻された場合のデータの一例を示す図である。例えば、種別ID「1」に対応するテーブル18a_1に登録された全てのレコードのハッシュ値のデータを取得した場合には、図5の例に示すように、秘匿化部19cは、分析対象の項目「品目」のハッシュ値「A01」を、元のデータ「鳥」に戻す。また、秘匿化部19cは、分析対象の項目「品目」のハッシュ値「B02」を、元のデータ「犬」に戻す。また、秘匿化部19cは、分析対象の項目「品目」のハッシュ値「C03」を、元のデータ「カメ」に戻す。また、秘匿化部19cは、分析対象の項目「品目」のハッシュ値「D04」を、元のデータ「猫」に戻す。
また、秘匿化部19cは、装置12bから、分析の対象となるデータの種別ID「1」、アプリケーションID「B」、および、分析対象の項目「店名」を含む、データ送信を行う旨の指示が受付部19aにより受信された場合には、次のような処理を行う。すなわち、秘匿化部19cは、人物を特定することが可能な一部分のデータがハッシュ値で置換されたデータのうち、分析対象の項目「店名」のハッシュ値を、元のデータに戻す。図6は、秘匿化装置により分析対象の項目「店名」のハッシュ値が元のデータに戻された場合のデータの一例を示す図である。例えば、種別ID「1」に対応するテーブル18a_1に登録された全てのレコードのハッシュ値のデータを取得した場合には、図6の例に示すように、秘匿化部19cは、分析対象の項目「店名」のハッシュ値「○○」を、元のデータ「A店」に戻す。また、秘匿化部19cは、分析対象の項目「店名」のハッシュ値「××」を、元のデータ「B店」に戻す。また、秘匿化部19cは、分析対象の項目「店名」のハッシュ値「△△△」を、元のデータ「D店」に戻す。
また、秘匿化部19cは、装置12cから、分析の対象となるデータの種別ID「1」、アプリケーションID「C」、および、分析対象の項目「年齢」を含む、データ送信を行う旨の指示が受付部19aにより受信された場合には、次のような処理を行う。すなわち、秘匿化部19cは、人物を特定することが可能な一部分のデータがハッシュ値で置換されたデータのうち、分析対象の項目「年齢」のハッシュ値を、元のデータに戻す。図7は、秘匿化装置により分析対象の項目「年齢」のハッシュ値が元のデータに戻された場合のデータの一例を示す図である。例えば、種別ID「1」に対応するテーブル18a_1に登録された全てのレコードのハッシュ値のデータを取得した場合には、図7の例に示すように、秘匿化部19cは、分析対象の項目「年齢」のハッシュ値「12」を、元のデータ「22」に戻す。また、秘匿化部19cは、分析対象の項目「年齢」のハッシュ値「1」を、元のデータ「32」に戻す。また、秘匿化部19cは、分析対象の項目「年齢」のハッシュ値「24」を、元のデータ「44」に戻す。また、秘匿化部19cは、分析対象の項目「年齢」のハッシュ値「33」を、元のデータ「52」に戻す。
送信制御部19dは、秘匿化部19cにより人物を特定することが可能な一部分のデータが再秘匿化されたデータを、データを送信する指示を行ったアプリケーションを実行する装置に送信するように制御する。すなわち、送信制御部19dは、分析対象の項目のデータの秘匿化が解除されたデータを、指示を送信した装置へ送信するように、かかるデータを通信部17へ送信する。例えば、送信制御部19dは、分析対象の項目「品目」のハッシュ値が、元のデータに戻された図5に示すデータを装置12aへ送信するように、かかるデータを通信部17へ送信する。また、送信制御部19dは、分析対象の項目「店名」のハッシュ値が、元のデータに戻された図6に示すデータを装置12bへ送信するように、かかるデータを通信部17へ送信する。また、送信制御部19dは、分析対象の項目「年齢」のハッシュ値が、元のデータに戻された図7に示すデータを装置12cへ送信するように、かかるデータを通信部17へ送信する。
制御部19は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
装置12a,12b,12cは、各種の分析を行う装置である。例えば、装置12aは、ペットの購入者の購入履歴を示すデータを用いて、購入されたペットの品目ごとの数を集計するためのアプリケーションを実行する。装置12aは、かかるアプリケーションを実行することにより、分析の対象となるデータの種別ID「1」、アプリケーションID「A」、および、分析対象の項目「品目」を含む、データ送信を行う旨の指示を秘匿化装置10へ送信する。また、装置12aは、秘匿化装置10から送信された、分析対象の項目「品目」のハッシュ値が、元のデータに戻されたデータを受信した場合には、購入されたペットの品目ごとの数を集計する。
また、装置12bは、ペットの購入者の購入履歴を示すデータを用いて、ペットショップごとの購入されたペットの数を集計するためのアプリケーションを実行する。装置12bは、かかるアプリケーションを実行することにより、分析の対象となるデータの種別ID「1」、アプリケーションID「B」、および、分析対象の項目「店名」を含む、データ送信を行う旨の指示を秘匿化装置10へ送信する。また、装置12bは、秘匿化装置10から送信された、分析対象の項目「店名」のハッシュ値が、元のデータに戻されたデータを受信した場合には、ペットショップごとの購入されたペットの数を集計する。
また、装置12cは、ペットの購入者の購入履歴を示すデータを用いて、購入者の年齢ごとの購入されたペットの数を集計するためのアプリケーションを実行する。装置12cは、かかるアプリケーションを実行することにより、分析の対象となるデータの種別ID「1」、アプリケーションID「C」、および、分析対象の項目「年齢」を含む、データ送信を行う旨の指示を秘匿化装置10へ送信する。また、装置12cは、秘匿化装置10から送信された、分析対象の項目「年齢」のハッシュ値が、元のデータに戻されたデータを受信した場合には、ペットの購入者の年齢ごとの購入されたペットの数を集計する。
次に、本実施例に係る秘匿化装置10が実行する処理の流れを説明する。図8は、秘匿化処理の手順を示すフローチャートである。この秘匿化処理は、例えば、装置12a〜12cから、分析の対象となるデータの種別ID、アプリケーションID、および、分析対象の項目を含む、データ送信を行う旨の指示を受信したタイミングで実行される。
図8に示すように、秘匿化部19cは、指示に含まれる種別IDを取得する(S101)。そして、秘匿化部19cは、指示に含まれるアプリケーションIDを取得する(S102)。また、秘匿化部19cは、指示に含まれる分析対象の項目を取得する(S103)。
そして、秘匿化部19cは、取得したアプリケーションIDに対応するキーが存在するかテーブル18bを検索する(S104)。続いて、秘匿化部19cは、検索の結果、キーが存在するか否かを判定する(S105)。キーが存在する場合(S105肯定)には、秘匿化部19cは、取得したアプリケーションIDに対応するキーをテーブル18bから取得する(S108)。一方、キーが存在しない場合(S105否定)には、秘匿化部19cは、テーブル18bに既に登録されたキーと同一のキーとならないように、新たなキーを生成する(S106)。そして、秘匿化部19cは、取得したアプリケーションIDと、生成したキーとを対応付けてテーブル18bに登録する(S107)。
その後、秘匿化部19cは、取得した種別IDが示すデータ種別に対応するテーブルが存在するかDB18aを検索する(S109)。そして、秘匿化部19cは、検索の結果、テーブルが存在するか否かを判定する(S110)。テーブルが存在しない場合(S110否定)には、処理を終了する。一方、テーブルが存在する場合(S110肯定)には、秘匿化部19cは、取得した種別IDが示すデータ種別に対応するテーブルの全てのレコードのデータを取得する(S111)。
そして、秘匿化部19cは、取得または生成したキーを用いて、所定のハッシュ関数により、取得した全てのレコードのデータのうち、秘匿化された人物を特定することが可能な一部分のデータ、例えば、名前のデータのハッシュ値を生成する(S112)。
続いて、秘匿化部19cは、取得した全てのレコードのデータのうち、秘匿化された人物を特定することが可能な一部分のデータを、生成したハッシュ値で置換する(S113)。そして、秘匿化部19cは、人物を特定することが可能な一部分のデータがハッシュ値で再び秘匿化されたデータについて、受信した指示に含まれる分析対象の項目のデータの秘匿化を解除する(S114)。
その後、送信制御部19dは、分析対象の項目のデータの秘匿化が解除されたデータを、指示を送信した装置へ送信するように、かかるデータを通信部17へ送信し(S115)、処理を終了する。
上述してきたように、本実施例に係る秘匿化装置10は、装置12a,12b,12cで実行されたアプリケーションの種別ごとに異なるキーを用いて、秘匿化された人物を特定することが可能なデータのハッシュ値を生成し、秘匿化された人物を特定することが可能なデータをハッシュ値で置換する。そのため、秘匿化装置10によれば、秘匿化された人物を特定することが可能なデータが同一であっても、アプリケーションごとに異なる秘匿結果となるように、秘匿化された人物を特定することが可能なデータを秘匿化することができる。それゆえ、秘匿化装置10によれば、秘匿化された人物を特定することが可能なデータが同一であっても、アプリケーションごとに、秘匿結果が異なるため、複数のアプリケーションのデータに共通してしまうような、秘匿化された人物を特定することが可能なデータの生成を抑制することができる。したがって、秘匿化装置10によれば、秘匿化されたデータの解読を困難にすることができる。
なお、秘匿化装置10により、秘匿化された人物を特定することが可能な一部分のデータがハッシュ値で置換されたデータについては、次のような方法で、元のデータに戻すことが可能である。すなわち、かかるデータについては、テーブル18bに登録された対応するキー、および、装置11a,11bや図示しない装置により秘匿化された際に用いられたキーと同一のキーを用いて、元のデータに戻すことが可能である。
実施例2について説明する。実施例2では、DB18aから取得した全てのレコードの中に含まれる秘匿化された人物を特定することが可能なデータの中に、同一のデータが複数存在する場合に、秘匿結果が異なるように、複数の同一のデータのそれぞれを秘匿化する場合について説明する。
図9は、実施例2に係る秘匿化装置を含むシステムの構成の一例を示す図である。図9に示すように、システム2は、実施例1の装置11a,11b、秘匿化装置10、装置12a,12b,12cに代えて、装置21a,21b、秘匿化装置20、装置22a,22b,22cを有する点が実施例1のシステム1と異なる。なお、以下では、上記の実施例1と同様の機能を果たす各部については図1などと同様の符号を付し、その説明は省略する。
装置21a,21bは、動物などのペットを販売するペットショップにおけるペットの購入者の購入履歴を示すデータが登録されたDB23a,23bを有する。図10は、DBのデータ構造の一例を示す図である。図10の例に示すDB23a,23bには、データの種別ごとにテーブルが登録される。図10の例に示すテーブルのレコードには、「名前」、「日付」、「店名」、「売上」の各項目が含まれる。「日付」の項目には、ペットを購入者が購入した日付が登録される。「売上」の項目には、購入者がペットを購入した際に支払った金額が登録される。また、図10の例に示すテーブルには、DBに登録されたデータの種別を識別するためのIDである種別IDが登録される「種別ID」の項目を有する。ここで、上述したように、図10の例に示すDB23a、23bのテーブルには、ペットの購入者の購入履歴を示すデータが登録されている。また、かかるデータは、「名前」、「日付」、「店名」、「売上」の各項目を有する。このため、図10の例のDB23a、23bのテーブルの「種別ID」の項目には、「名前」、「日付」、「店名」、「売上」の各項目を有する、ペットの購入者の購入履歴を示すデータを識別するための種別ID「11」が登録されている。
装置21a,21bは、DB23a,23bのテーブルから1レコードまたは複数のレコードのデータを取得し、取得したデータを秘匿化する。例えば、装置21a,21bは、所定のキーを用いて、所定のハッシュ関数により、取得したレコードの各項目のデータのハッシュ値を算出し、取得したレコードの各項目のデータを算出したハッシュ値のデータに置換して、取得したデータを秘匿化する。そして、装置21a,21bは、秘匿化したデータに、DB23a,23bのテーブルの「種別ID」の項目に登録された種別IDを付加する。続いて、装置21a,21bは、種別IDが付加されたデータを秘匿化装置10へ送信する。なお、システム2には、装置21a,21b以外にも、同様の方法で様々な種別のデータを秘匿化して秘匿化装置20へ送信する図示しない装置が含まれているものとする。
実施例2に係るDB18aについて説明する。図11は、秘匿化装置が有するDBに登録されたテーブルのデータ構造の一例を示す図である。図11の例は、複数のテーブル18a_3,18a_4,・・・を示す。複数のテーブル18a_3,18a_4,・・・のそれぞれは、登録されるデータのデータ種別を示す種別IDが登録される項目「種別ID」を有する。例えば、図11の例では、テーブル18a_3は、種別ID「11」が示す種別のデータ、すなわち、上述した項目を有する、ペットの購入者の購入履歴を示すデータのハッシュ値が登録されるテーブルであることを示す。
DB18aに登録されたテーブルには、登録部19bにより、装置21a,21bや、図示しない装置から送信された秘匿化されたデータが登録される。例えば、先の図10の例に示すテーブルに登録されたデータが秘匿化されて、装置21a,21bから秘匿化装置20に送信された場合には、テーブル18a_3に、図11の例に示すように、秘匿化されたデータが登録される。
制御部24は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図9に示すように、制御部24は、受付部19aと、登録部19bと、秘匿化部24aと、送信制御部19dとを有する。
秘匿化部24aは、受付部19aにより、上述のデータ送信を行う旨の指示が受信された場合には、次のような処理を行う。すなわち、秘匿化部24aは、かかる指示に含まれる種別IDが示すデータ種別に対応するテーブルに登録された秘匿化されたデータを取得する。そして、秘匿化部24aは、指示を行った後述のアプリケーションの種別ごとに秘匿結果が異なるように、取得したデータに含まれる秘匿化された名前のデータを更に秘匿化する。
具体例を挙げて説明する。例えば、秘匿化部24aは、装置22a,22b,22cから、分析の対象となるデータの種別ID、アプリケーションID、および、分析対象の項目を含む、データ送信を行う旨の指示を受信した場合には、次のような処理を行う。すなわち、秘匿化部24aは、指示に含まれる種別IDを取得する。また、秘匿化部24aは、指示に含まれるアプリケーションIDを取得する。また、秘匿化部24aは、指示に含まれる分析対象の項目を取得する。
そして、秘匿化部24aは、取得したアプリケーションIDに対応するキーが存在するかテーブル18bを検索する。検索の結果、キーが存在する場合には、秘匿化部24aは、取得したアプリケーションIDに対応するキーをテーブル18bから取得する。例えば、取得したアプリケーションIDが「A」である場合には、秘匿化部24aは、図4の例に示すテーブル18bからキー「00001」を取得する。一方、検索の結果、キーが存在しない場合には、秘匿化部24aは、テーブル18bに既に登録されたキーと同一のキーとならないように、新たなキーを生成する。そして、秘匿化部24aは、取得したアプリケーションIDと、生成したキーとを対応付けてテーブル18bに登録する。
続いて、秘匿化部24aは、取得した種別IDが示すデータ種別に対応するテーブルが存在するかDB18aを検索する。検索の結果、テーブルが存在する場合には、秘匿化部24aは、取得した種別IDが示すデータ種別に対応するテーブルの全てのレコードのデータを取得する。例えば、取得した種別IDが「11」である場合には、秘匿化部24aは、図11の例に示すDB18aに登録された複数のテーブルの中から、種別ID「11」に対応するテーブル18a_3に登録された全てのレコードのデータを取得する。
その後、秘匿化部24aは、取得した全てのレコードのデータの中に含まれる秘匿化された人物を特定することが可能なデータの中に、同一のデータが複数存在するか否かを判定する。例えば、テーブル18_3に登録された全てのレコードのデータを取得した場合には、秘匿化部24aは、秘匿化された人物を特定することが可能なデータの中に、同一のデータ「A12345」が複数存在すると判定する。同一のデータが複数存在する場合には、秘匿化部24aは、次のような処理を行う。すなわち、秘匿化部24aは、取得または生成したキーを用いて、所定のハッシュ関数により、秘匿化された人物を特定することが可能なデータのうち、かかる同一のデータ以外のデータのハッシュ値を生成する。例えば、同一のデータ「A12345」が複数存在すると判定した場合には、秘匿化部24aは、秘匿化された人物を特定することが可能なデータ「azeid11」のハッシュ値「j2a9f2e」を算出する。これに加えて、秘匿化部24aは、秘匿化された人物を特定することが可能なデータ「kdDsDD」のハッシュ値「13kksow」を算出する。
続いて、秘匿化部24aは、複数存在すると判定された同一のデータが登録された複数のレコードのうち、未選択のレコードを1つ選択する。例えば、同一のデータ「A12345」が複数存在すると判定した場合には、秘匿化部24aは、全レコードの中から「A12345」が登録された2番目のレコードと4番目のレコードのうち、未選択の2番目のレコードを選択する。そして、秘匿化部24aは、取得した全レコードに対する選択したレコードの位置を示すオフセットを特定する。かかるオフセットの一例としては、選択したレコードが何番目であるかを示す値が挙げられる。例えば、2番目のレコードを選択した場合には、秘匿化部24aは、オフセット「2」を特定する。そして、秘匿化部24aは、取得または生成したキーを用いて、所定のハッシュ関数により、選択したレコードの上記の同一のデータに対して更にハッシュ値を生成する。例えば、2番目のレコードを選択した場合には、秘匿化部24aは、取得または生成したキーを用いて、所定のハッシュ関数により、選択したレコードの同一のデータ「A12345」に対して更にハッシュ値「a12345」を生成する。
そして、秘匿化部24aは、複数存在すると判定された同一のデータが登録された複数のレコードのうち、未選択のレコードがあるか否かを判定する。未選択のレコードがある場合には、秘匿化部24aは、未選択のレコードを1つ選択する。例えば、同一のデータ「A12345」が複数存在すると判定した場合には、秘匿化部24aは、全レコードの中から「A12345」が登録された2番目のレコードと4番目のレコードのうち、未選択の4番目のレコードを選択する。そして、秘匿化部24aは、取得した全レコードに対する選択したレコードの位置を示すオフセットを特定する。例えば、4番目のレコードを選択した場合には、秘匿化部24aは、オフセット「4」を特定する。続いて、秘匿化部24aは、テーブル18bに既に登録されたキー、および、既に生成したキーがある場合には生成したキーと同一のキーとならないように、新たなキーを生成する。そして、秘匿化部24aは、新たに生成したキーを用いて、所定のハッシュ関数により、選択したレコードの上記の同一のデータに対して更にハッシュ値を生成する。例えば、4番目のレコードを選択した場合には、秘匿化部24aは、新たに生成したキーを用いて、所定のハッシュ関数により、次のような処理を行う。すなわち、秘匿化部24aは、選択したレコードの同一のデータ「A12345」に対して更にハッシュ値「c94ersy」を生成する。このような処理を、秘匿化部24aは、未選択のレコードがないと判定するまで、繰り返し行う。これにより、秘匿化された人物を特定することが可能なデータの中に、同一のデータが複数存在する場合に、秘匿結果が異なるように、複数の同一のデータのそれぞれを秘匿化することができる。
そして、未選択のレコードがないと判定した場合には、秘匿化部24aは、グループIDを生成し、グループIDおよび特定されたオフセットを含むグループデータを生成する。図12は、グループデータのデータ構造の一例を示す図である。図12の例が示すグループデータには、グループID「AA」およびオフセット「2,4」が含まれる。
また、取得した全てのレコードのデータの中に含まれる秘匿化された人物を特定することが可能なデータの中に、同一のデータが複数存在しないと判定した場合、および、グループデータを生成した場合には、秘匿化部24aは、次のような処理を行う。すなわち、秘匿化部24aは、取得または生成したキーを用いて、所定のハッシュ関数により、取得した全てのレコードのデータのうち、人物を特定することが可能な一部分のデータのハッシュ値、例えば、秘匿化された名前のデータに対して更にハッシュ値を生成する。なお、人物を特定することが可能なデータの一例として、名前のデータを挙げたが、人物を特定することが可能なデータはこれに限られない。秘匿化部24aは、人物の住所やIDなど、人物を特定することが可能なデータのハッシュ値であれば、同様の方法で、さらにハッシュ値を生成することができる。
続いて、秘匿化部24aは、取得した全てのレコードのデータのうち、秘匿化された人物を特定することが可能な一部分のデータを、生成したハッシュ値で置換する。これにより、人物を特定することが可能な一部分のデータは、再び秘匿化される。このように、秘匿化部24aは、装置22a,22b,22cで実行されたアプリケーションの種別ごとに異なるキーを用いて、秘匿化された人物を特定することが可能なデータのハッシュ値を生成し、かかるデータをハッシュ値で置換する。そのため、秘匿化部24aによれば、秘匿化された人物を特定することが可能なデータが同一であっても、アプリケーションごとに異なる秘匿結果となるように、秘匿化された人物を特定することが可能なデータを更に秘匿化することができる。それゆえ、秘匿化部24aによれば、秘匿化された人物を特定することが可能なデータが同一であっても、アプリケーションごとに、秘匿結果が異なるため、複数のアプリケーションのデータに共通するような、かかるデータの生成を抑制することができる。したがって、秘匿化部24aによれば、秘匿化されたデータの解読を困難にすることができる。
そして、秘匿化部24aは、人物を特定することが可能な一部分のデータがハッシュ値で置換されたデータについて、受信した指示に含まれる分析対象の項目のデータの秘匿化を解除する。例えば、秘匿化部24aは、人物を特定することが可能な一部分のデータがハッシュ値で置換されたデータについて、次のような処理を行う。すなわち、秘匿化部24aは、分析対象の項目のハッシュ値を、装置21a,21bや図示しない装置により秘匿化された際に用いられたキーと同一のキーを用いて、秘匿化された際に用いられたハッシュ関数と同一のハッシュ関数により、元のデータに戻す。
例えば、秘匿化部24aは、装置22aから、分析の対象となるデータの種別ID「11」、アプリケーションID「A」、および、分析対象の項目「売上」を含む、データ送信を行う旨の指示が受付部19aにより受信された場合には、次のような処理を行う。すなわち、秘匿化部24aは、人物を特定することが可能な一部分のデータがハッシュ値で置換されたデータのうち、分析対象の項目「売上」のハッシュ値を、元のデータに戻す。図13は、秘匿化装置により異なるキーが用いられて名前のデータのハッシュ値が生成され、分析対象の項目「売上」のハッシュ値が元のデータに戻された場合のデータの一例を示す図である。例えば、種別ID「11」に対応するテーブル18a_3に登録された全てのレコードのハッシュ値のデータを取得した場合には、図13の例に示すように、秘匿化部24aは、分析対象の項目「売上」のハッシュ値「A01」を、元のデータ「200」に戻す。また、秘匿化部24aは、分析対象の項目「売上」のハッシュ値「B02」を、元のデータ「100」に戻す。また、秘匿化部24aは、分析対象の項目「売上」のハッシュ値「C03」を、元のデータ「300」に戻す。また、秘匿化部24aは、分析対象の項目「売上」のハッシュ値「D04」を、元のデータ「500」に戻す。
送信制御部19dは、秘匿化部24aにより人物を特定することが可能な一部分のデータが再秘匿化されたデータを、データを送信する指示を行ったアプリケーションを実行する装置に送信するように制御する。すなわち、送信制御部19dは、分析対象の項目のデータの秘匿化が解除されたデータを、指示を送信した装置へ送信するように、かかるデータを通信部17へ送信する。例えば、送信制御部19dは、分析対象の項目「売上」のハッシュ値が、元のデータに戻された図13に示すデータを装置22aへ送信するように、かかるデータを通信部17へ送信する。また、送信制御部19dは、秘匿化部24dによりグループデータが生成された場合には、生成されたグループデータについても、指示を送信した装置へ送信するように、かかるグループデータを通信部17へ送信する。
制御部24は、ASICやFPGAなどの集積回路またはCPUやMPUなどの電子回路である。
装置22a,22b,22cは、各種の分析を行う装置である。例えば、装置22aは、ペットの購入者の購入履歴を示すデータを用いて、購入者ごとの売上を集計するためのアプリケーションを実行する。装置22aは、かかるアプリケーションを実行することにより、分析の対象となるデータの種別ID「11」、アプリケーションID「A」、および、分析対象の項目「売上」を含む、データ送信を行う旨の指示を秘匿化装置20へ送信する。また、装置22aは、秘匿化装置20から送信された、分析対象の項目「売上」のハッシュ値が、元のデータに戻されたデータを受信した場合には、購入者ごとの売上を集計する。これに加えて、装置22aは、秘匿化装置20からグループデータが送信された場合には、グループデータに含まれるオフセットの位置が示すレコードが示す売上について、同一人物の売上として集計する。これにより、同一人物であっても、再秘匿された結果、異なるハッシュ値が生成された場合であっても、同一人物の分析を行うことができる。例えば、図12の例に示すグループデータおよび図13の例に示すデータを装置22が受信した場合には、装置22は、オフセット「2,4」が示す、図13の例に示すデータの2番目のレコードの売上「100」と4番目のレコードの売上「500」とが同一人物「a12345」の売上として集計する。図14は、分析結果の一例を示す図である。図14の例では、人物「a12345」の売上の分析結果として売上「600」を算出した場合が示されている。
次に、本実施例に係る秘匿化装置20が実行する処理の流れを説明する。図15は、秘匿化処理の手順を示すフローチャートである。この秘匿化処理は、例えば、装置22a〜22cから、分析の対象となるデータの種別ID、アプリケーションID、および、分析対象の項目を含む、データ送信を行う旨の指示を受信したタイミングで実行される。
図15に示すように、S111の次に、秘匿化部24aは、取得した全てのレコードのデータの中に含まれる秘匿化された人物を特定することが可能なデータの中に、同一のデータが複数存在するか否かを判定する(S201)。同一のデータが複数存在する場合(S201肯定)には、秘匿化部24aは、次のような処理を行う。すなわち、秘匿化部24aは、取得または生成したキーを用いて、所定のハッシュ関数により、秘匿化された人物を特定することが可能なデータのうち、かかる同一のデータ以外のデータのハッシュ値を生成する(S202)。
続いて、秘匿化部24aは、複数存在すると判定された同一のデータが登録された複数のレコードのうち、未選択のレコードを1つ選択する(S203)。そして、秘匿化部24aは、取得した全レコードに対する選択したレコードの位置を示すオフセットを特定する(S204)。そして、秘匿化部24aは、取得または生成したキーを用いて、所定のハッシュ関数により、選択したレコードの上記の同一のデータに対して更にハッシュ値を生成する(S205)。
そして、秘匿化部24aは、複数存在すると判定された同一のデータが登録された複数のレコードのうち、未選択のレコードがあるか否かを判定する(S206)。未選択のレコードがある場合(S206肯定)には、秘匿化部24aは、未選択のレコードを1つ選択する(S207)。そして、秘匿化部24aは、取得した全レコードに対する選択したレコードの位置を示すオフセットを特定する(S208)。続いて、秘匿化部24aは、テーブル18bに既に登録されたキー、および、既に生成したキーがある場合には生成したキーと同一のキーとならないように、新たなキーを生成する(S209)。そして、秘匿化部24aは、新たに生成したキーを用いて、所定のハッシュ関数により、選択したレコードの上記の同一のデータに対して更にハッシュ値を生成し(S210)、S206に戻る。
一方、未選択のレコードがないと判定した場合(S206否定)には、秘匿化部24aは、グループIDを生成する(S211)。続いて、秘匿化部24aは、グループIDおよび特定されたオフセットを含むグループデータを生成し(S212)、S113へ進む。
上述してきたように、本実施例に係る秘匿化装置20は、装置22a,22b,22cで実行されたアプリケーションの種別ごとに異なるキーを用いて、秘匿化された人物を特定することが可能なデータのハッシュ値を生成し、秘匿化された人物を特定することが可能なデータをハッシュ値で置換する。そのため、秘匿化装置20によれば、秘匿化された人物を特定することが可能なデータが同一であっても、アプリケーションごとに異なる秘匿結果となるように、秘匿化された人物を特定することが可能なデータを秘匿化することができる。それゆえ、秘匿化装置20によれば、秘匿化された人物を特定することが可能なデータが同一であっても、アプリケーションごとに、秘匿結果が異なるため、複数のアプリケーションのデータに共通してしまうような、秘匿化された人物を特定することが可能なデータの生成を抑制することができる。したがって、秘匿化装置20によれば、秘匿化されたデータの解読を困難にすることができる。
また、秘匿化装置20は、秘匿化された人物を特定することが可能なデータの中に、同一のデータが複数存在する場合に、秘匿結果が異なるように、複数の同一のデータのそれぞれを秘匿化することができる。これにより、秘匿化されたデータの解読をより困難にすることができる。
なお、秘匿化装置20により、秘匿化された人物を特定することが可能な一部分のデータがハッシュ値で置換されたデータについては、次のような方法で、元のデータに戻すことが可能である。すなわち、かかるデータについては、テーブル18bに登録された対応するキー、および、装置21a,21bや図示しない装置により秘匿化された際に用いられたキーと同一のキーを用いて、元のデータに戻すことが可能である。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
例えば、秘匿化装置10,20が物理サーバである場合について例示したが、開示の装置はこれに限定されない。例えば、物理サーバがVMを稼働させ、VMが秘匿化装置10,20が実行する処理と同様の処理を行うようにしてもよい。
また、実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
[秘匿化プログラム]
また、上記の実施例で説明した秘匿化装置10,20の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図16を用いて、上記の各実施例で説明した秘匿化装置または管理サーバと同様の機能を有する秘匿化プログラムを実行するコンピュータの一例を説明する。図16は、秘匿化プログラムを実行するコンピュータを示す図である。
図16に示すように、コンピュータ300は、CPU(Central Processing Unit)310、ROM(Read Only Memory)320、HDD(Hard Disk Drive)330、RAM(Random Access Memory)340を有する。また、コンピュータ300は、入力装置360、通信装置370を有する。これら310、320、330、340、360、370の各符号が示す各機器は、バス350を介して接続される。
ROM320には、OSなどの基本プログラムが記憶されている。また、HDD330には、上記の各実施例で示す受付部、登録部、秘匿化部および送信制御部と同様の機能を発揮する秘匿化プログラム330aが予め記憶される。なお、秘匿化プログラムについては、適宜分離しても良い。また、HDD330には、DB、テーブルが設けられる。これらDB、テーブルは、上述したDB18a、テーブル18bに対応する。
そして、CPU310が、秘匿化プログラム330aをHDD330から読み出して実行する。
そして、CPU310は、DB、テーブルを読み出してRAM340に格納する。さらに、CPU310は、RAM340に格納されたDB、テーブルを用いて、秘匿化プログラム330aを実行する。なお、RAM340に格納される各データは、常に全てのデータがRAM330に格納されなくともよい。処理に用いられるデータがRAM340に格納されれば良い。
なお、上記した秘匿化プログラム330aについては、必ずしも最初からHDD330に記憶させておく必要はない。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
10 秘匿化装置
18 記憶部
18a DB
18b テーブル
19 制御部
19a 受付部
19b 登録部
19c 秘匿化部
19d 送信制御部

Claims (5)

  1. 所定事項を特定可能な第1のデータが秘匿化された第2のデータを含む第3のデータを送信する指示を行うアプリケーションを実行する複数の装置から前記指示を受け付ける受付部と、
    前記指示に応じて、記憶部に記憶された前記第3のデータを取得し、該指示を行った前記アプリケーションの種別ごとに異なる情報に基づいて、取得した前記第3のデータに含まれる前記第2のデータを秘匿化し、複数の前記第3のデータを取得した場合に、取得した複数の第3のデータに含まれる複数の前記第2のデータの中に、同一のデータが複数存在するときには、秘匿結果が異なるように、複数の該同一のデータのそれぞれを秘匿化する秘匿化部と、
    前記第2のデータが秘匿化された前記第3のデータを、該第3のデータを送信する指示を行った前記アプリケーションを実行する前記装置に送信する制御部と、
    を有することを特徴とする秘匿化装置。
  2. 前記制御部は、前記秘匿化部により取得された前記第3のデータにおける前記複数の同一のデータのそれぞれの位置を示す情報を、前記第3のデータを送信する指示を行った前記アプリケーションを実行する前記装置に送信する
    ことを特徴とする請求項に記載の秘匿化装置。
  3. 前記秘匿化部は、前記指示に応じて、前記記憶部に記憶された前記第3のデータを取得し、該指示を行った前記アプリケーションの種別に対応するキーを用いて、取得した前記第3のデータに含まれる前記第2のデータに対するハッシュ値を算出し、該第2のデータを該ハッシュ値で置換する
    ことを特徴とする請求項1または2に記載の秘匿化装置。
  4. コンピュータに、
    所定事項を特定可能な第1のデータが秘匿化された第2のデータを含む第3のデータを送信する指示を行うアプリケーションを実行する複数の装置から前記指示を受け付け、
    前記指示に応じて、記憶部に記憶された前記第3のデータを取得し、該指示を行った前記アプリケーションの種別ごとに異なる情報に基づいて、取得した前記第3のデータに含まれる前記第2のデータを秘匿化し、複数の前記第3のデータを取得した場合に、取得した複数の第3のデータに含まれる複数の前記第2のデータの中に、同一のデータが複数存在するときには、秘匿結果が異なるように、複数の該同一のデータのそれぞれを秘匿化し、
    前記第2のデータが秘匿化された前記第3のデータを、該第3のデータを送信する指示を行った前記アプリケーションを実行する前記装置に送信する
    各処理を実行させることを特徴とする秘匿化プログラム。
  5. コンピュータが、
    所定事項を特定可能な第1のデータが秘匿化された第2のデータを含む第3のデータを送信する指示を行うアプリケーションを実行する複数の装置から前記指示を受け付け、
    前記指示に応じて、記憶部に記憶された前記第3のデータを取得し、該指示を行った前記アプリケーションの種別ごとに異なる情報に基づいて、取得した前記第3のデータに含まれる前記第2のデータを秘匿化し、複数の前記第3のデータを取得した場合に、取得した複数の第3のデータに含まれる複数の前記第2のデータの中に、同一のデータが複数存在するときには、秘匿結果が異なるように、複数の該同一のデータのそれぞれを秘匿化し、
    前記第2のデータが秘匿化された前記第3のデータを、該第3のデータを送信する指示を行った前記アプリケーションを実行する前記装置に送信する
    各処理を実行することを特徴とする秘匿化方法。
JP2012144591A 2012-06-27 2012-06-27 秘匿化装置、秘匿化プログラムおよび秘匿化方法 Expired - Fee Related JP5942634B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012144591A JP5942634B2 (ja) 2012-06-27 2012-06-27 秘匿化装置、秘匿化プログラムおよび秘匿化方法
US13/890,532 US9130949B2 (en) 2012-06-27 2013-05-09 Anonymizing apparatus and anonymizing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012144591A JP5942634B2 (ja) 2012-06-27 2012-06-27 秘匿化装置、秘匿化プログラムおよび秘匿化方法

Publications (2)

Publication Number Publication Date
JP2014011503A JP2014011503A (ja) 2014-01-20
JP5942634B2 true JP5942634B2 (ja) 2016-06-29

Family

ID=49779356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012144591A Expired - Fee Related JP5942634B2 (ja) 2012-06-27 2012-06-27 秘匿化装置、秘匿化プログラムおよび秘匿化方法

Country Status (2)

Country Link
US (1) US9130949B2 (ja)
JP (1) JP5942634B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015118801A1 (ja) * 2014-02-04 2015-08-13 日本電気株式会社 情報判定装置、情報判定方法及び記録媒体
US11157520B2 (en) * 2016-03-28 2021-10-26 DataSpark, Pte Ltd. Uniqueness level for anonymized datasets
US11048821B1 (en) * 2016-09-09 2021-06-29 eEmerger.biz, LLC Hosted server system and method for intermediating anonymous firm matching and exit strategy negotiations
MY194026A (en) * 2017-12-26 2022-11-08 Mimos Berhad Pseudonymisation and reversal of personally identifiable information
CN110401681B (zh) * 2018-04-20 2022-06-24 伊姆西Ip控股有限责任公司 用于数据传输、数据接收的方法以及电子设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04273378A (ja) 1991-02-28 1992-09-29 Nec Software Ltd データベースの検索処理方式
JP2888188B2 (ja) 1996-03-12 1999-05-10 松下電器産業株式会社 情報検索装置
JP4142868B2 (ja) * 2001-12-06 2008-09-03 日本情報通信コンサルティング株式会社 病症データ集中収集管理システム、サーバ装置
JP2005234759A (ja) * 2004-02-18 2005-09-02 Kuniyoshi Tatsu 情報資源共有管理システム及びアプリケーションサーバ
US7814119B2 (en) 2004-03-19 2010-10-12 Hitachi, Ltd. Control of data linkability
JP4396490B2 (ja) 2004-03-19 2010-01-13 株式会社日立製作所 名寄せ制御方法
US20050256742A1 (en) * 2004-05-05 2005-11-17 Kohan Mark E Data encryption applications for multi-source longitudinal patient-level data integration
US7418715B2 (en) * 2005-04-08 2008-08-26 Microsoft Corporation System and method for producing and communicating requested data among networked application programs
JP4809723B2 (ja) 2006-07-11 2011-11-09 日本放送協会 ユーザ認証サーバ、ユーザ管理サーバ、ユーザ端末、ユーザ認証プログラム、ユーザ管理プログラム及びユーザ端末プログラム
US20100034376A1 (en) * 2006-12-04 2010-02-11 Seiji Okuizumi Information managing system, anonymizing method and storage medium
EP1950684A1 (en) * 2007-01-29 2008-07-30 Accenture Global Services GmbH Anonymity measuring device
JP2010237811A (ja) 2009-03-30 2010-10-21 Nec Corp 個人情報管理システム及び個人情報管理方法
US8544104B2 (en) * 2010-05-10 2013-09-24 International Business Machines Corporation Enforcement of data privacy to maintain obfuscation of certain data
US8918894B2 (en) * 2010-11-16 2014-12-23 Nec Corporation Information processing system, anonymization method, information processing device, and its control method and control program

Also Published As

Publication number Publication date
JP2014011503A (ja) 2014-01-20
US9130949B2 (en) 2015-09-08
US20140006553A1 (en) 2014-01-02

Similar Documents

Publication Publication Date Title
JP5942634B2 (ja) 秘匿化装置、秘匿化プログラムおよび秘匿化方法
US8346774B1 (en) Protecting network entity data while preserving network properties
JP6413769B2 (ja) データ秘匿装置、データ秘匿プログラムおよびデータ秘匿方法
US12481788B2 (en) Method to randomize online activity
CN104969230A (zh) 用于确定软件许可之间的兼容性的系统及方法
JPWO2014181541A1 (ja) 匿名性を検証する情報処理装置及び匿名性検証方法
JP2015141642A (ja) 利用同意管理装置
JP5971115B2 (ja) 情報処理プログラム、情報処理方法及び装置
JP2019046036A (ja) データ流通方法及びデータ流通基盤装置
TW202223641A (zh) 用於診斷虛擬伺服器及時表現資料的電腦實施系統以及方法
US20180246968A1 (en) Event processing system
JP6507880B2 (ja) 資産管理装置、資産管理システム及びプログラム
JP6523581B2 (ja) 情報提供装置、情報提供システム、情報提供方法および情報提供プログラム
JP7287872B2 (ja) 計算機システム及びモデルの選択支援方法
JP6517521B2 (ja) 知的財産格付けシステム
US8495219B2 (en) Identity management method and system
JP7323825B2 (ja) データベースシステム、分散処理装置、データベース装置、分散処理方法、および、分散処理プログラム
WO2012053041A1 (ja) セキュリティポリシーに基づくセキュリティ監視装置、セキュリティ監視方法及びセキュリティ監視プログラム
JP5568907B2 (ja) 情報アセスメントシステム、情報アセスメント方法及びプログラム
JP6995667B2 (ja) 情報管理システム、情報管理方法及び情報管理装置
JP2008234605A (ja) データ取得流通時のデータ匿名性確保に係わる、データ集計システム、データ集計方法およびデータ集計プログラム
JP6000175B2 (ja) 匿名化システム、匿名化装置、利用者装置、匿名化方法、およびプログラム
CN118504036A (zh) 企业数据脱敏管控方法、装置、设备及可读存储介质
KR20200073824A (ko) 악성코드 프로파일링 방법 및 그 장치
JP5299589B2 (ja) ライセンス管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160509

R150 Certificate of patent or registration of utility model

Ref document number: 5942634

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees