JP2018156427A - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2018156427A
JP2018156427A JP2017053036A JP2017053036A JP2018156427A JP 2018156427 A JP2018156427 A JP 2018156427A JP 2017053036 A JP2017053036 A JP 2017053036A JP 2017053036 A JP2017053036 A JP 2017053036A JP 2018156427 A JP2018156427 A JP 2018156427A
Authority
JP
Japan
Prior art keywords
replacement
attribute
data
constraint
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.)
Granted
Application number
JP2017053036A
Other languages
English (en)
Other versions
JP6484657B2 (ja
Inventor
正典 大坪
Masanori Otsubo
正典 大坪
卓磨 波多野
Takuma Hatano
卓磨 波多野
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.)
NS Solutions Corp
Original Assignee
NS 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 NS Solutions Corp filed Critical NS Solutions Corp
Priority to JP2017053036A priority Critical patent/JP6484657B2/ja
Priority to PCT/JP2017/042748 priority patent/WO2018168103A1/ja
Priority to KR1020197026989A priority patent/KR102275032B1/ko
Priority to US16/492,057 priority patent/US11620406B2/en
Priority to EP17900297.7A priority patent/EP3598335A4/en
Publication of JP2018156427A publication Critical patent/JP2018156427A/ja
Application granted granted Critical
Publication of JP6484657B2 publication Critical patent/JP6484657B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof

Landscapes

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

Abstract

【課題】データの安全性と有用性とを両立させることを目的とする。
【解決手段】複数のオブジェクトのそれぞれについて、複数の属性の属性値を対応付けて含んでいるデータにおける複数の属性から、属性値の入替の対象となる入替属性を決定し、データの有用性の指標である有用性指標と、属性値の入替の際の制約である入替制約と、に基づいて、データにおける決定された入替属性の属性値の入替を行う。
【選択図】図4

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。
近年、購買記録や行動記録等の個人や組織等のオブジェクトの活動の履歴に係る情報を含むデータを分析して、ビジネスに活用する動きがある。こうした情報は、利用価値が高い一方、プライバシー、企業秘密等の漏洩の可能性もある。このような情報の漏洩を防ぐための技術に、匿名化と呼ばれる技術がある。例えば、直接個人を特定可能な属性情報(例えば、氏名等)を、これらの情報を含むデータベース(DB)から削除するのも匿名化手法の一つである。
"k−匿名化技術と実用化に向けた取り組み" 情報処理 Vol.54 No.11 竹之内 隆夫 [平成29年2月14日検索]、インターネット <URL http://id.nii.ac.jp/1001/00095363/>
しかし、直接オブジェクトを特定可能な属性情報の削除だけでは、その他の情報からオブジェクトを特定される可能性は残る。属性情報の削除以外の匿名化手法としては、例えば、非特許文献1に開示されているk−匿名化がある。
k−匿名化とは、同じ属性値を持つデータがk件以上存在するように変換することで、匿名化を行う手法である。特定される可能性を1/k以下にできる。
例えば、複数の個人の情報を含む対象データに、「氏名」の属性は含まれないが、「性別」及び「年齢」の属性が含まれ、個人毎に各属性の属性値がDBに含まれている場合、以下のような可能性がある。即ち、対象データに情報が含まれている各人物の年齢と性別とを攻撃者が知っていたら、攻撃者は、対象データの各レコードがどの個人のデータであるかを特定できてしまう可能性がある。
例えば、対象データに(年齢、性別)の属性値が、(25歳、男性)のデータ、(27歳、男性)のデータが含まれているとする。この場合、対象データの年齢の属性の属性値を、年齢の値でなく、年齢が何代に属するかの情報とすることで、k−匿名化ができる。その場合、(25歳、男性)のデータ、(27歳、男性)のデータは、(20代、男性)のデータ、(20代、男性)のデータとなり、同じ年齢、性別のデータが複数あるため、個人の特定が難しくなる。即ち、安全性が向上する。一方で、年齢の属性値が変更されたため、平均年齢が正確に求めることができなくなる等、データの価値(有用性)は、低下する。
このように、非特許文献1では、匿名化において、同じ属性値を持つレコードの数をk以上にするよう多くのデータを加工する必要があり、データの有用性が大幅に低下する場合があった。
そこで、本発明の情報処理装置は、複数のオブジェクトのそれぞれについて、複数の属性の属性値を対応付けて含んでいるデータにおける前記複数の属性から、属性値の入替の対象となる入替属性を決定する決定手段と、前記データの有用性の指標である有用性指標と、属性値の入替の際の制約である入替制約と、に基づいて、前記データにおける前記決定手段により決定された前記入替属性の属性値の入替を行う入替手段と、を有する。
本発明によれば、データの安全性と有用性とを両立させることができる。
図1は、属性値の入替の一例を説明する図である。 図2は、属性値の入替の一例を説明する図である。 図3は、情報処理装置のハードウェア構成の一例を示す図である。 図4は、属性値の入替処理の一例を示すフローチャートである。 図5は、対象データの一例を示す図である。 図6は、入替属性の一例を示す図である。 図7は、有用性指標の一例を示す図である。 図8は、入替パターンの一例を示す図である。 図9は、属性値の入替後の対象データの一例を示す図である。 図10は、入替パターンの一例を示す図である。 図11は、対象データの一例を示す図である。 図12は、属性値の入替後のデータの一例を示す図である。 図13は、属性値の入替後のデータの一例を示す図である。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
(シャッフルによる匿名化)
人物や組織等の複数のオブジェクト毎に複数の属性の属性値を含むデータの匿名化の手法に、シャッフルという手法がある。シャッフルとは、対象データの入替対象となる属性についての属性値をランダムに入替る手法である。これにより、情報がどのオブジェクトのものかの特定を難しくできる。
ここで、ある属性について、複数のグループにグループ分けすることとする。同じグループに属するオブジェクト同士の間で、入替対象となる属性の属性値をランダムに入替るとする。この場合、そのグループにおける属性値の統計量は、入替に影響されず、データの有用性を維持できる。統計量とは、データの統計学的な特徴を示す数値である。統計量には、平均値、分散値、最大値、最小値、中央値、最頻値、標準偏差等がある。
図1、2は、シャッフルにおける同じグループ内での属性値の入替の一例を説明する図である。図1のテーブルは、ID、性別、住所、疾病の情報が個人毎に含まれているデータを示すテーブルである。ここで、性別の属性の属性値が男性であるグループ(男性グループ)と、性別の属性の属性値が女性であるグループ(女性グループ)とが設定されているとする。図1のテーブルにおける疾病の属性の属性値を、男性グループに属するオブジェクト同士で入替が行われ、更に、女性グループに属するオブジェクト同士で入替が行われたとする。
図2のテーブルは、図1のテーブルにおける疾病の属性の属性値が入替られた後のテーブルである。男性グループ、女性グループ内における疾病に関する統計量は、属性値の入替の影響を受けないことがわかる。このように、属性値の入替対象の属性以外のある属性について、グループを設定し、設定されたグループに属するオブジェクト間で、入替対象の属性の属性値の入替を行うことで、設定されたグループ内におけるデータの有用性を維持させることができる。
しかし、グループが設定された属性以外の属性(例えば住所)毎の疾病の統計量は、属性値の入替の影響を受けてしまい、データの有用性が低下してしまう。また、性別と住所との組について、グループを設定すれば、住所毎の疾病の統計量についても、入替の影響を受けず、データの有用性を向上させることができる。しかし、性別と住所との組について設定されたグループに属するオブジェクトの数は、性別と住所との何れか1つについて設定されたグループに属するオブジェクトの数よりも少なくなってしまう。そのため、属性値の十分な入替ができず、安全性は、低下してしまう。更に、グループを設定する対象の属性を増やすと、グループに属するオブジェクトの数が減少していき、属性値の入替が困難になる。
そこで、本実施形態では、情報処理装置300は、複数の属性が対応付けて含まれているデータについて、以下のような処理を行うことで、データの有用性と安全性とを両立させて、匿名化を行う。即ち、情報処理装置300は、入替対象の属性の属性値の入替パターンを生成し、生成した入替パターン毎に、安全性を維持するための制約を満たすか否かを判定し、有用性を示す指標を取得する。そして、情報処理装置300は、制約を満たす入替パターンについて取得した有用性を示す指標に基づいて、最適な入替パターンを選択し、選択した入替パターンにしたがって、オブジェクト間で、入替対象の属性の属性値を入替る処理を行う。複数のオブジェクトのそれぞれについて、複数の属性の属性値を対応付けて含むデータの一例としては、行毎に、その行に対応するオブジェクトの複数の属性の属性値を含むテーブルや表がある。その他の例として、ドキュメント指向DB等のスキーマレスなDBにデータを含ませることとしてもよい。
(情報処理装置のハードウェア構成)
図3は、情報処理装置300のハードウェア構成の一例を示す図である。情報処理装置300は、パーソナルコンピュータ(PC)、サーバ装置、タブレット装置等の情報処理装置である。
情報処理装置300は、CPU301、主記憶装置302、補助記憶装置303、入力I/F304、出力I/F305、ネットワークI/F306を含む。各要素は、システムバス307を介して、通信可能に相互に接続されている。
CPU301は、情報処理装置300を制御する中央演算装置である。また、主記憶装置302は、CPU301のワークエリア、各種情報の一時的な記憶領域等として機能するRandom Access Memory(RAM)等の記憶装置である。補助記憶装置303は、各種プログラム、各種設定情報、各種閾値、匿名化対象のデータ等を記憶するハードディスクドライブ(HDD)等の記録媒体で構成される記憶装置である。また、補助記憶装置303は、データの有用性の指標である有用性指標の情報、データの安全性の指標である安全性指標の情報、属性値の入替の際の制約を示す情報等を記憶する。補助記憶装置303は、例えば、Read Only Memory(ROM)、ソリッドステートドライブ(SSD)等で構成されてもよい。
入力I/F304は、マウス、キーボード、タッチパネル等の入力装置との接続に利用されるインターフェースである。CPU301は、入力I/F304を介して、ユーザによる入力装置を介した入力を受付ける。出力I/F305は、モニタ、ディスプレイ、タッチパネルの表示画面等の出力装置との接続に利用されるインターフェースである。CPU301は、出力I/F305を介して、出力装置に対して、表示する画面の情報等を出力する。ネットワークI/F306は、ネットワークを介した外部の装置との通信に利用されるインターフェースである。CPU301は、ネットワークI/F306を介して、外部の装置との間で、情報のやり取りを行う。
CPU301が、補助記憶装置303に記憶されたプログラムに基づき処理を実行することで、情報処理装置300の機能及び図4で後述するフローチャートの処理が実現される。
(属性値の入替処理)
図4は、情報処理装置300による属性値の入替処理の一例を示すフローチャートである。図4を用いて、本実施形態のデータの匿名化の処理について説明する。
S401において、CPU301は、匿名化対象のデータを取得する。CPU301は、例えば、予め補助記憶装置303に記憶された匿名化対象のデータを取得する。また、CPU301は、外部の外付けHDD、外付けUSBメモリ等に記憶された匿名化対象のデータを取得することとしてもよい。また、CPU301は、ネットワークI/F306を介して、外部の装置から送信された匿名化対象のデータを取得することとしてもよい。また、CPU301は、入力I/F304に接続され入力装置を介したユーザの操作に基づいて、匿名化対象のデータの入力を受付けることとしてもよい。以下では、S401で取得された匿名化対象のデータを、対象データとする。
本実施形態では、CPU301は、S401で対象データとして、図5に示すテーブルのデータを取得することとする。図5に示すように、対象データの各行には、その行に対応する人物に関する情報が含まれている。対象データは、ID、性別、住所、身長、体重の属性を含む。
CPU301は、S401で取得した図5に示す対象データの情報を、主記憶装置302に記憶する。CPU301は、対象データの情報を、主記憶装置302から読み取って利用することになる。
S402において、CPU301は、S401で取得した対象データに含まれる情報のうち、攻撃者に知られていると仮定される情報を取得する。攻撃者とは、悪用を目的とした情報の読取等、不正の目的での対象データの操作を行いうる者である。攻撃者は、対象データの閲覧を行う閲覧者の一例である。以下では、対象データに含まれる情報のうち、攻撃者に知られていると仮定される情報を、仮定情報とする。CPU301は、例えば、予め補助記憶装置303に記憶された仮定情報を取得する。また、CPU301は、外部の外付けHDD、外付けUSBメモリ等に記憶された仮定情報を取得することとしてもよい。また、CPU301は、ネットワークI/F306を介して、外部の装置から送信された仮定情報を取得することとしてもよい。また、CPU301は、入力I/F304に接続され入力装置を介したユーザの操作に基づいて、仮定情報の入力を受付けることとしてもよい。
仮定情報には、例えば、対象データに含まれる属性のうち、対象データに情報が含まれている各オブジェクトについての属性値が攻撃者に知られていると仮定される属性を示す情報や、対象データに情報が含まれているオブジェクトのうち、攻撃者に知られていると仮定されるオブジェクトの割合を示す情報等がある。本実施形態では、CPU301は、仮定情報として、対象データに含まれる属性のうち、対象データに情報が含まれている各オブジェクトについての属性値が攻撃者に知られている属性の情報を取得する。本実施形態では、攻撃者は、対象データに情報が含まれている各オブジェクトについての身長、体重の属性値を知っているとする。即ち、CPU301は、仮定情報として、身長、体重の属性を示す情報を取得する。また、仮定情報には、これらの属性の情報が攻撃者に知られていると仮定されるオブジェクトの情報を含むこととしてもよい。仮定情報としては、例えば、全てのオブジェクトのうち、オブジェクトA、オブジェクトBについて、身長、体重の属性が攻撃者に知られていると仮定されることを示す情報がある。
S403において、CPU301は、対象データに含まれる属性のうち、属性値の入替の対象となる属性を決定する。以下では、属性値の入替の対象となる属性を、入替属性とする。
攻撃者は、各オブジェクトについての身長、体重の属性値を知っているので、対象データの身長、体重の属性の属性値の組み合わせからオブジェクトが一意に定まる場合、身長、体重の属性値から、当該オブジェクトに対応する行を特定できる。即ち、攻撃者は、各オブジェクトの住所、性別、IDの情報を特定できてしまう。そこで、CPU301は、攻撃者が各オブジェクトと対応する属性値を知っている属性に含まれる属性について、属性値の入替を行うことで、攻撃者に対象データの各情報が、どのオブジェクトのデータであるかを特定させないようにできる。
CPU301は、S402で取得した仮定情報が示す身長の属性と、体重の属性と、のそれぞれを入替属性として決定する。また、CPU301は、S402で取得した仮定情報が示す身長の属性と、体重の属性と、の何れか1つを入替属性として決定することとしてもよい。また、CPU301は、S402で取得した仮定情報が示す身長の属性と、体重の属性と、の組を入替属性として決定することとしてもよい。また、CPU301は、S402で取得した仮定情報が示す攻撃者に知られていると仮定されるオブジェクトの割合を示す情報に基づいて、S405の説明で後述する入替制約を決定することとしてもよい。
また、CPU301は、入力I/F304に接続され入力装置を介したユーザの操作に基づいて、属性の指定を受け付け、受け付けた属性を、入替属性として決定してもよい。例えば、CPU301は、ユーザから住所の属性が指定された場合、住所の属性を、入替属性として決定してもよい。また、補助記憶装置303等が予め、対象データのどの属性を入替属性とするかを示す情報を設定ファイル等の形式で記憶している場合、CPU301は、補助記憶装置303等から、その情報を取得し、取得した情報が示す属性を、入替属性として決定してもよい。
CPU301は、S403で決定した入替属性の情報を、主記憶装置302等に、図6に示すテーブルとして記憶する。CPU301は、入替属性の情報を、主記憶装置302から読み取って利用することになる。
本実施形態では、CPU301は、入替属性として、身長と、体重と、を決定したとする。
S404において、CPU301は、対象データの有用性を示す指標を決定する。以下では、対象データの有用性を示す指標を、有用性指標とする。CPU301は、例えば、予め補助記憶装置303に記憶された指標を示す情報を取得し、取得した情報が示す指標を、有用性指標として決定する。また、CPU301は、外部の外付けHDD、外付けUSBメモリ等に記憶された指標を示す情報を取得し、取得した情報が示す指標を、有用性指標として決定することとしてもよい。また、CPU301は、ネットワークI/F306を介して、外部の装置から送信された指標を示す情報を取得し、取得した情報が示す指標を、有用性指標として決定することとしてもよい。また、CPU301は、入力I/F304に接続され入力装置を介したユーザの操作に基づいて、有用性指標の入力を受付けることとしてもよい。
CPU301は、S404で決定した有用性指標の情報を、主記憶装置302に記憶する。CPU301は、有用性指標の情報を、主記憶装置302から読み取って利用することになる。
有用性指標としては、例えば、対象データから抽出される特徴量と、属性値の入替後の対象データから抽出される同じ特徴量と、の差分がある。この差分である有用性指標は、小さいほど、対象データとのずれが小さいことを示し、属性値の入替後の対象データの有用性が高いことを示す指標である。対象データから抽出される特徴量としては、ある属性について設定された複数のグループそれぞれについての属性値の平均値等の統計量がある。
より具体的には、図7に示すように、有用性指標には、例えば、対象データから抽出される性別毎の平均身長と、属性値の入替後の対象データから抽出される性別毎の平均身長と、の差分がある。また、有用性指標には、例えば、対象データから抽出される住所毎の平均身長と、属性値の入替後の対象データから抽出される住所毎の平均身長と、の差分がある。また、有用性指標には、例えば、対象データから抽出される性別及び住所毎の平均体重と、属性値の入替後の対象データから抽出される性別及び住所毎の平均体重と、の差分がある。
本実施形態では、CPU301は、S404で図7に示される指標を、有用性指標として決定したとする。
S405において、CPU301は、属性値の入替の際の制約を決定する。以下では、この属性値の入替の際の制約を、入替制約とする。入替制約としては、例えば、属性値の入替の処理の際に守るべき規則、属性値の入替の処理の際にある事項を禁止する規則等の制約がある。また、入替制約には、属性値の入替の際に、ペナルティ値を発生させることとするという制約であってもよい。ペナルティ値とは、対象データの安全性や有用性の指標となる値である。
CPU301は、例えば、予め補助記憶装置303に記憶された制約を示す情報を取得し、取得した情報が示す制約を、入替制約として決定する。また、CPU301は、外部の外付けHDD、外付けUSBメモリ等に記憶された制約を示す情報を取得し、取得した情報が示す制約を、入替制約として決定することとしてもよい。また、CPU301は、ネットワークI/F306を介して、外部の装置から送信された制約を示す情報を取得し、取得した情報が示す制約を、入替制約として決定することとしてもよい。また、CPU301は、入力I/F304に接続され入力装置を介したユーザの操作に基づいて、入替制約の入力を受付けることとしてもよい。
入替制約には、例えば、属性値の入替前の対象データと属性値の入替後の対象データとの間の距離に関する制約がある。属性値の入替前後の対象データ間の距離とは、入替前後の対象データ同士の違いがどの程度かを示す指標である。この距離の一例としては、属性値の入替を実行するのに要する、任意の2つのオブジェク間での入替操作の回数の最小値がある。入替操作とは、ある属性値と、別の属性値と、を入替る操作のことである。また、この距離の一例としては、属性値の入替において入替が行われなかった属性値の数、属性値の入替において入替が行われた属性値の数がある。また、この距離の一例としては、属性値の入替において入替が行われなかった属性値の数の属性値の総数に対する割合、属性値の入替において入替が行われた属性値の数の属性値の総数に対する割合等がある。
例えば、入替制約には、入替対象の属性の属性値のうち入替のない属性値が出ないようにする(入替のない属性値の数を0にする)ことを示す制約、入替対象の属性の属性値のうち入替のない属性値が設定された閾値(例えば50%等)以上出ないようにすることを示す制約がある。また、入替制約には、入替属性の属性値の入替において行われる属性値の入替操作の最低回数が設定された閾値(例えば、4回)以上にすることを示す制約がある。
また、入替制約には、例えば、異なるグループに属するオブジェクトの間で属性値の入替を行うことを示す制約がある。このグループとは、ある共通の特徴を有するオブジェクトの集まりを示す。例えば、性別の属性を指標として、共通の属性値を持つグループ(男性グループ、女性グループ)が設定される。また、複数の属性を指標として、グループが設定されることとしてもよい。例えば、性別と住所との属性値の組が同一のグループ(例えば、(東京、男性)、(東京、女性)、(千葉、男性)、(千葉、女性)のグループ等)が設定されることとしてもよい。また、異なる指標で設定されたグループが複数設定されることとしてもよい。例えば、性別の属性の属性値が共通の値を有するグループと、性別と住所との属性値の組が同一のグループと、が設定されることとしてもよい。また、有用性指標に基づいてグループを設定してもよい。より具体的には、有用性指標の算出に用いられる特徴量に関する属性のうち、複数のグループに分類可能な属性(例えば「性別」)に基づいてグループが設定されることとしてもよい。
また、入替制約には、入替対象の属性の属性値のうち設定された閾値(例えば50%等)以上の属性値について、異なるグループに属するオブジェクトの間で属性値の入替を行うことを示す制約がある。また、入替制約には、同じグループに属するオブジェクトの間で属性値の入替操作が行われる属性値が、入替対象の属性の属性値のうち設定された閾値(例えば50%等)未満にすることを示す制約がある。なお、これらの閾値は仮定情報が示す攻撃者に対応する属性値が知られていると仮定されるオブジェクトの割合を示す情報に基づいて設定されることとしてもよい。このように、CPU301は、仮定情報に基づいて、これらの閾値を決定することで、入替制約を決定することとしてもよい。
また、入替制約には、各オブジェクトについて、入替対象のどの属性の属性値についても入替が発生しないことを禁止する制約等がある。
このような、入替が行われる属性値の数を増加させるための入替制約や、異なるグループに属するオブジェクトの間で入替が行われる属性値の数を増加させるための入替制約は、データの安全性を担保する制約の一例である。入替制約は、データの有用性を担保する制約であってもよい。データの有用性を担保する入替制約としては、例えば、入替が行われる属性値の数を減少させるための入替制約や、異なるグループに属するオブジェクトの間で入替が行われる属性値の数を減少させるための入替制約がある。
また、入替制約には、属性値の入替前の対象データと属性値の入替後の対象データとの間の距離に応じた安全性の指標であるペナルティ値を発生させることを示す制約がある。例えば、入替制約には、入替対象の属性の属性値のうち入替が行われなかった属性値の数に応じたペナルティ値を発生させることを示す制約がある。また、これらのうちの複数の制約を、入替制約としてもよい。以下では、安全性の指標であるペナルティ値を、安全性指標とする。
安全性指標としては、例えば、入替属性の属性値のうち入替操作が行われない属性値の数、入替属性の属性値のうち入替操作が行われる属性値の数がある。また、安全性指標としては、例えば、入替対象の属性の属性値のうち入替操作が行われない属性値の数のその属性の属性値の総数に対する割合、入替対象の属性の属性値のうち入替操作が行われる属性値の数のその属性の属性値の総数に対する割合がある。また、安全性指標としては、属性値の入替操作の総回数、入替属性の属性値のうち1対1の入替操作が行われる属性値の数、設定されたグループのうち同じグループ内で入替操作が行われる属性値の数、設定されたグループのうち異なるグループ間で入替操作が行われる属性値の数等がある。また、安全性指標としては、設定されたグループのうち同じグループ内で入替操作が行われる属性値の数の属性値の総数に対する割合、設定されたグループのうち異なるグループ間で入替操作が行われる属性値の数の属性値の総数に対する割合等がある。また、これらのものに予め設定された係数を乗じる等して導出される値を、安全性指標としてもよい。また、これらのもののうちの複数を、安全性指標としてもよい。
CPU301は、入替制約により、属性値の入替の処理の際に、ペナルティ値として安全性指標を取得する場合、S409で後述する有用性指標と、取得した安全性指標と、に基づいて、複数の入替パターンの中から最適な入替パターンを決定することになる。
属性値の入替操作が多く行われる程、対象データの各行がどのオブジェクトに対応するかを特定できにくくなる。そこで、CPU301は、属性値の入替操作が最低何回行われたかを示す回数を安全性指標として、安全性指標を適切な値に制限することで、対象データの各行がどのオブジェクトに対応するかを特定できにくくし、安全性を向上できる。
属性値の1対1の入替が行われた行は、そうでない属性値の入替が行われた行に対して、対応するオブジェクトを特定されやすい。そこで、CPU301は、属性値の1対1の入替が行われた属性値の数を安全性指標として、安全性指標を適切な値に制限することで、対象データの各行がどのオブジェクトに対応するかを特定できにくくし、安全性を向上できる。
対象データに含まれる属性について設定された異なるグループ間(例えば、男性グループと女性グループとの間等)で行われる属性値の入替が多い程、対象データの各行がどのオブジェクトに対応するかを特定できにくくなる。そこで、CPU301は、同じグループ間で入替が行われた属性値の数を安全性指標として、安全性指標を適切な値に制限することで、対象データの各行がどのオブジェクトに対応するかを特定できにくくし、安全性を向上できる。
本実施形態では、S405で、入替対象の属性の属性値のうち入替が行われない属性値の数のその属性の属性値の総数に対する割合が安全性指標として決定されたとする。
S406において、CPU301は、S403で決定した入替属性から1つを選択する。以下では、S406で選択された属性を、選択属性とする。CPU301は、選択属性として、選択した属性について、選択属性として選択済みであることを示す履歴情報を、主記憶装置302に記憶する。CPU301は、この履歴情報を参照することで、まだ未選択な入替属性を特定できる。本実施形態では、CPU301は、初めてS406の処理を行う場合、選択属性として、身長の属性を選択したとする。
S407において、CPU301は、S401で取得した対象データについて、選択属性の属性値の入替パターンを生成する。本実施形態では、CPU301は、選択属性の属性値の全ての入替パターンを生成する。
図8は、入替パターンの一例を示す図である。図8を用いて、S407で生成される入替パターンについて説明する。
図8のテーブルは、属性値の入替の対応関係を示す情報である入替パターンを、表形式で表現したものである。図8の例では、テーブルの行の項目(1〜8)は、入替対象の属性値の入替前のIDを示す。また、テーブルの列の項目(1〜8)は、入替対象の属性値の入替後のIDを示す。
テーブル中の1は、属性値の入替のそれぞれを示す。テーブル中の1に対応する行が示すIDに対応する属性値は、その1に対応する列が示すIDに対応する属性値へ変更されることになる。入替パターンの各行、各列の和は、それぞれ1となる。図8の例では、元々のIDが3、4、7、8の属性値については、変更後のIDもそれぞれ3、4、7、8となっており、入替が行われない。図8の例では、ID1の属性値とID5の属性値との間で、ID2の属性値とID6の属性値との間で、それぞれ、1対1の入替が行われることになる。図8の例では、ID1の属性値とID5の属性値との間で最低1回、ID2の属性値とID6の属性値との間で最低1回、最低でも計2回の属性値の入替操作が行われたことが示される。また、属性値の入替が行われた属性値の数は、ID1、ID2、ID5、ID6の4個となる。また、属性値の入替が行われなかった属性値の数は、ID3、ID4、ID7、ID8の4個となる。
S408において、CPU301は、S407で生成した入替パターンから1つを選択する。以下では、S408で選択された入替パターンを選択パターンとする。
S409において、CPU301は、選択パターンについて、S404で決定した有用性指標の値を取得する。図9は、図8の入替パターンが示す属性値の入替が行われた対象データの一例を示す図である。図9を見ると、図5のテーブルと比べて、身長の属性の属性値について、ID1の属性値とID5の属性値との間で入替が行われたことが分かる。また、身長の属性の属性値について、ID2の属性値とID6の属性値との間で入替が行われたことも分かる。
CPU301は、選択パターンが示す選択属性の属性値の入替が行われた対象データに基づいて、有用性指標を取得する。選択属性は、身長であるとする。また、身長に対する有用性指標は、以下の有用性指標(1)と、有用性指標(2)であるとする。有用性指標(1)は、対象データから抽出される性別毎の平均身長と、属性値の入替後の対象データから抽出される性別毎の平均身長と、の差分である。また、有用性指標(2)は、対象データから抽出される住所毎の平均身長と、属性値の入替後の対象データから抽出される住所毎の平均身長と、の差分である。
図5が示す身長の属性値の入替前の対象データにおける男性グループの平均身長は、(175+160+180+170)/4=171.25である。図9が示す身長の属性値の入替後の対象データにおける男性グループの平均身長は、(170+165+180+170)/4=171.25である。
図5が示す身長の属性値の入替前の対象データにおける女性グループの平均身長は、(170+165+150+155)/4=160である。図9が示す身長の属性値の入替後の対象データにおける女性グループの平均身長は、(175+160+150+155)/4=160である。
従って、有用性指標(1)は、|171.25―171.25|+|160−160|=0である。
図5が示す身長の属性値の入替前の対象データにおける東京グループ(住所が東京のグループ)の平均身長は、(175+180+165+155)/4=168.75である。図9が示す身長の属性値の入替後の対象データにおける東京グループの平均身長は、(170+180+160+155)/4=166.25である。
図5が示す身長の属性値の入替前の対象データにおける千葉グループ(住所が千葉のグループ)の平均身長は、(170+170)/2=170である。図9が示す身長の属性値の入替後の対象データにおける千葉グループの平均身長は、(170+175)/2=172.5である。
図5が示す身長の属性値の入替前の対象データにおける埼玉グループ(住所が埼玉のグループ)の平均身長は、(160+150)/2=155である。図9が示す身長の属性値の入替後の対象データにおける埼玉グループの平均身長は、(165+150)/2=157.5である。
従って、有用性指標(2)は、|166.25―168.75|+|172.5−170|+|157.5−155|=7.5である。
そして、CPU301は、例えば、有用性指標(1)と有用性指標(2)との合計を、選択パターンに対する最終的な有用性指標として算出する。
本実施形態では、CPU301は、S409で、更に、S405で決定された入替制約を満たすか否かを判定する。
本実施形態では、S405で決定された入替制約は、入替対象の属性の属性値のうち、入替が行われない属性値の数を、属性値全体の50%以下にするという制約であるとする。
CPU301は、図8の入替パターンについて、入替制約を満たすか否かを判定する。図8、9が示すように、ID1〜8が示す全てのオブジェクトのうち、身長の属性値の入替が行われていないオブジェクトは、IDが3、4、7、8の4つのオブジェクトである。オブジェクトの数は、8なので、属性値の入替が行われなかった属性値は、全体の4/8*100=50(%)となる。そのため、CPU301は、入替が行われなかった属性値の数が属性値全体の50%以下となるため、入替制約を満たすと判定する。
図4の例では、性別の属性についてグループ(男性グループ、女性グループ)が設定されているとする。ここで、図8の入替パターンにおいて、ID1の身長の属性値とID5の身長の属性値とが入替られることが示されている。ここで、ID1のオブジェクトは、男性グループに属し、ID5のオブジェクトは女性グループに属している。そのため、ID1とID5との間での身長の属性値の入替は、異なるグループ間で行われる属性値の入替である。同様に、ID2とID6との間での身長の属性値の入替は、異なるグループ間で行われる属性値の入替である。
S410において、CPU301は、S407で生成した入替パターン全てを、S408で選択したか否かを判定する。CPU301は、S407で生成した入替パターン全てを、S408で選択したと判定した場合、S411の処理に進み、S408で未選択の入替パターンがあると判定した場合、S408の処理に進む。
S411において、CPU301は、S407で生成した入替パターンそれぞれについてS409で取得した有用性指標の値と、S409での入替制約を満たすか否かの判定結果と、に基づいて、S407で生成した入替パターンから、最適な入替パターンを選択する。CPU301は、例えば、入替制約を満たすと判定した入替パターンについて取得した有用性指標を特定する。この入替制約を満たすと判定された入替パターンは、中間候補の一例である。そして、CPU301は、特定した有用性指標のうち、値が最も小さいものに対応する入替パターンを、最適な入替パターンとして選択する。しかし、有用性指標が、有用性が高い程高い値をとる指標である場合、CPU301は、取得した有用性指標の値が最も大きいものに対応する入替パターンを、最適な入替パターンとして選択してもよい。
本実施形態では、CPU301は、S407で、全ての入替パターンを生成することとした。しかし、CPU301は、S407で、入替制約を満たす入替パターンのみを生成することとしてもよい。
また、本実施形態では、CPU301は、S409で、各入替パターンについて、入替制約を満たすか否かを判定した。しかし、CPU301は、S408で選択された入替パターンについて、入替制約を満たす場合のみ、S409で、有用性指標を取得することとしてもよい。
このような場合、S411で、CPU301は、S409で取得された有用性指標のうち、最小のものに対応する入替パターンを選択することで、最適な入替パターンを選択する。
また、CPU301は、入替制約が安全性指標を発生させる制約である場合、S409で、入替パターンの有用性指標の値のみでなく、入替パターンの安全性指標(例えば、入替が行われなかった属性値の数)も取得することとしてもよい。その場合、CPU301は、S411で、有用性指標の値と、安全性指標の値と、に基づいて、最適な入替パターンを決定することとしてもよい。CPU301は、例えば、安全性指標の値が設定された閾値以下の入替パターンのうち、有用性指標の値が最小のものを、最適な入替パターンとして決定することとしてもよい。また、CPU301は、例えば、有用性指標の値が設定された閾値以下の入替パターンのうち、安全性指標の値が最小のものを、最適な入替パターンとして決定することとしてもよい。また、CPU301は、例えば、安全性指標の値に所定の重み付けを行った上で有用性指標の値に加えた値が最小のものを、最適な入替パターンとして決定することとしてもよい。
また、CPU301は、S407で、入替制約を制約条件とし、目的関数である有用性指標の値が最小化される入替パターンを、公知の最適化手法を用いて選択することとしてもよい。公知の最適化手法としては、例えば、整数計画問題を解くソフトウェアである整数計画ソルバーがある。その場合、入替パターンについて、各オブジェクトに対する入替フラグを設定し、入替フラグに基づき、入替制約を満たすか否かを判定するようにしてもよい。図8のテーブルは、こうした入替フラグの設定の一例である。入替フラグにより、公知の最適化手法を用いて、効率的に最適な入替パターンを決定することができる。
S412において、CPU301は、S411で決定された最適な入替パターンに従って、S401で取得した対象データのS406で選択した入替属性の属性値の入替を行う。
S413において、CPU301は、S403で決定した入替属性の全てを、S406で選択したか否かを判定する。CPU301は、S403で決定した入替属性の全てを、S406で選択したと判定した場合、S414の処理に進み、S403で決定した入替属性のうち、S406で選択していないものがあると判定した場合、S406の処理に進む。
本実施形態では、最初のS407〜S412の処理によって、身長の属性についての属性値の入替が行われる。そして、再度のS406の処理で、体重の属性が選択属性として選択され、再度のS407〜S412の処理によって、体重の属性についての属性値の入替が行われる。
最初のS411の処理で、図8の入替パターンが身長の属性値の最適な入替パターンとして選択されたとする。
S405で決定された入替制約に含まれる制約に、入替属性全てについて属性値の入替がないオブジェクトの数を0にするという制約があったとする。
この場合、CPU301は、体重の属性についてのS409の処理で、以下のような処理を行う。CPU301は、身長の属性値の入替パターンである図8の入替パターンにおいて、入替が行われなかったオブジェクトのIDを特定する。CPU301は、選択パターンが示す入替に、特定した全てのIDに対応する属性値の入替が含まれるか否かを判定する。そして、CPU301は、含まれると判定した場合、他の入替制約に含まれる他の制約を満たせば、選択パターンが入替制約を満たすと判定する。また、CPU301は、含まれないと判定した場合、選択パターンが入替制約を満たさないと判定する。これにより、CPU301は、全ての入替属性(身長の属性、体重の属性)で入替が行われない属性値が生じることを防止し、匿名化後の対象データの安全性を向上させることができる。
図10は、入替パターンの一例である。図10の例では、図8の入替パターンでは入替操作が行われなかった属性値について、入替操作が行われることが分かる。
また、図10の入替パターンのID1〜3の属性値間では、1対1の入替ではない入替操作が行われていることが分かる。ID1〜3の間で、例えば、ID1の属性値とID2の属性値との間で1回、属性値の入替操作が行われ、その後、ID1の属性値とID3の属性値との間で1回、最低でも計2回の属性値の入替操作が行われる。また、ID4の属性値とID7の属性値との間で、ID4の属性値とID7の属性値との間で、それぞれ1対1の入替が行われている。そのため、ID4の属性値とID7の属性値との間で属性値の入替操作が最低1回行われている。また、ID5の属性値とID8の属性値との間で属性値の入替操作が最低1回行われている。また、ID6の属性値については、入替操作が行われていない。よって、図10の例では、最低でも計4回の属性値の入替操作が行われたことが示されている。また、属性値の入替が行われた属性値の数は、ID1、ID2、ID3、ID4、ID5、ID7、ID8、の7個となる。また、属性値の入替が行われなかった属性値の数は、ID6の1個となる。
S414において、CPU301は、S406〜S413の処理による属性値の入替結果についての評価の結果を取得する。本実施形態では、S406〜S413の処理による属性値の入替が行われた対象データに対して、対象データの各行がどのオブジェクトに対応するかを推定するテストが行われる。即ち、入替結果に対して、安全性のテストが行われる。
例えば、情報処理装置300に対して、対象データの各行の属性値に基づいて、その行がどのオブジェクトに対応するかを推定するアプリケーションである攻撃アプリケーションのプログラムがインストールされているとする。この場合、攻撃アプリケーションは、属性値の入替が行われた対象データに対して、各行がどのオブジェクトに対応するかを推定する処理を行う。そして、CPU301は、攻撃アプリケーションによる推定結果を取得する。CPU301は、攻撃アプリケーションにより正しいオブジェクトに対応するとして推定された行の数が、設定された閾値未満であれば、評価の結果を合格とする。また、CPU301は、攻撃アプリケーションにより正しいオブジェクトに対応するとして推定された行の数が、設定された閾値以上であれば、評価の結果を不合格とする。
本実施形態では、攻撃アプリケーションのプログラムは、情報処理装置300の補助記憶装置303にインストールされていることとするが、外部の装置にインストールされていることとしてもよい。その場合、外部の装置に含まれる攻撃アプリケーションは、ネットワークを介して、情報処理装置300から対象データの情報を取得して、取得した対象データに対して、推定処理を行う。
また、テストユーザが、S406〜S413の処理により属性値の入替が行われた対象データに対して、対象データの各行がどのオブジェクトに対応するかを推定するテストを行った場合、CPU301は、以下のようにしてもよい。即ち、CPU301は、入力I/F304に接続されている入力装置を介したユーザの操作に基づいて、テストユーザにより行われた評価の結果を示す情報の入力を受付けることで、評価の結果を示す情報を取得する。CPU301は、例えば、対象データの各行のうち、どれだけの行が、正しいオブジェクトに対応する行であると推定されたかを示す情報の入力を受付ける。CPU301は、テストユーザにより正しいオブジェクトに対応するとして推定された行の数が、設定された閾値未満であれば、評価の結果を合格とする。また、CPU301は、テストユーザにより正しいオブジェクトに対応するとして推定された行の数が、設定された閾値以上であれば、評価の結果を不合格とする。
S415において、CPU301は、S404で取得した評価の結果が合格であるか否かを判定する。CPU301は、S404で取得した評価の結果が合格であると判定した場合、図4の処理を終了し、S404で取得した評価の結果が合格でないと判定した場合、S416の処理に進む。
S416において、CPU301は、入替制約を更新する。CPU301は、例えば、S414で安全性の評価が行われていた場合、安全性がまだ不足しているため、より安全性を向上させるように、入替制約を更新する。CPU301は、例えば、元々の入替制約が、属性値の入替対象の属性の属性値のうち入替が行われない属性値の数を属性値全体の50%以下にすることを示す制約である場合、以下のように、入替制約を更新する。CPU301は、例えば、属性値の入替対象の属性の属性値のうち入替が行われない属性値の数を属性値全体の0%以下にする制約として、更新する。また、CPU301は、例えば、入替が行われない属性値の数が属性値全体の40%(又は、30%等の50%よりも小さい値)以下にすることを示す制約として、更新してもよい。
このようにすることで、CPU301は、入替制約を更新し、再度、属性値の入替を行うことで、属性値の入替後の対象データの安全性を適切な水準に維持できる。
S417において、CPU301は、S406での選択の履歴を示す履歴情報をクリアする。これにより、S403で決定された入替属性それぞれについて、S406で未選択の状態となる。
(効果)
以上、本実施形態では、情報処理装置300は、匿名化の対象データに対して、データの有用性の指標である有用性指標と、属性値の入替の際の入替制約と、に基づいて、属性値の入替対象の属性の属性値の入替を行うこととした。より具体的には、情報処理装置300は、属性値の入替パターンの中で、入替制約を満たしつつ、有用性指標の値が最適なものを選択し、選択した入替パターンに従って、属性値の入替を行った。これにより、情報処理装置300は、匿名化後の対象データについて、有用性と安全性とを両立させることができる。
また、情報処理装置300は、対象データのうち、各オブジェクトに対応する属性値が攻撃者に知られていると仮定される属性から、入替属性を選択することとした。これにより、情報処理装置300は、攻撃者が対象データの各行がどのオブジェクトに対応するかを特定することを阻害することができる。
また、情報処理装置300は、異なるグループ間で、属性値の入替対象の属性の属性値の入替を行うことで以下の効果を奏することができる。即ち、情報処理装置300は、データ分析の用途に応じて有用性指標が決定される場合に、その用途から攻撃者に入替を推定されることを防ぐことができる。例えば、身体データを性別、年齢毎に分析するために、性別、年齢毎の身体データの特徴量をなるべく維持するよう匿名化が行われる場合、同一の性別、年齢の間で入替を行うのでは攻撃者にオブジェクトの対応関係を推定されやすくなる。そこで、情報処理装置300は、異なるグループに属するオブジェクトの間で属性値の入替を行うことでより安全性を高めることができる。
(変形例)
本実施形態では、CPU301は、S414で安全性の評価の結果を取得することとしたが、有用性の評価の結果を取得することとしてもよい。その場合、CPU301は、評価の結果に基づいて、S416で有用性指標を変更したり、有用性指標に関する入替制約を新たに加えることを決定したりすることとしてもよい。有用性の評価としては、例えば、属性値の入替前の対象データと、入替後の対象データと、について、各属性の統計量を算出し、入替前の対象データについて算出した統計量と、入替後の対象データについて算出した統計量と、の差分を評価する方法がある。
この場合、CPU301は、例えば、この差分が設定された閾値未満ならば、属性値の入替後の対象データの有用性の評価の結果を合格とする。また、CPU301は、例えば、この差分が設定された閾値以上ならば、属性値の入替後の対象データの有用性の評価の結果を不合格とする。
そして、CPU301は、評価結果が不合格であれば、例えば、有用性指標を変更し、再度、属性値の入替をやり直す。また、CPU301は、評価結果が不合格であれば、例えば、安全性指標や入替制約を変更し、再度、属性値の入替をやり直すこととしてもよい。
本実施形態では、CPU301は、単一のテーブルである対象データの入替属性の属性値の入替を行うことで、匿名化を行うこととした。しかし、CPU301は、互いに共通の属性を持ち、その共通の属性に基づいて関連しあう複数のテーブルで構成される対象データについても、入替属性の属性値の入替を行うことで、匿名化を行うことができる。互いに共通の属性を持ち、その共通の属性に基づいて関連しあう複数のテーブルで構成されるデータには、リレーショナルデータベースにおけるリレーションが設定されている複数のテーブルがある。
図11は、互いに共通の属性を持ち、その共通の属性に基づいて関連しあう複数のテーブルで構成される対象データの一例を示す図である。以下では、図11の対象データについて、属性値の入替により匿名化する際の処理を説明する。図11の左のテーブルを、マスターデータ、右のテーブルを、リレーションデータとする。図11のリレーションデータは、各顧客の購買履歴を示す情報である。攻撃者が、各オブジェクトの購買履歴の情報を保有しているとする。この場合、CPU301は、S402で、仮定情報として、年月日の属性と製品の属性との組の情報を取得する。そして、CPU301は、S403で、仮定情報に含まれる属性(年月日、及び製品)を含むリレーションデータの顧客IDを入替属性として決定する。
各顧客の購買履歴の情報は、マスターデータの顧客IDに基づいて参照される。そのため、リレーションデータにおける顧客IDの属性値の入替を行うことで、マスターデータの顧客IDから、各顧客に対応する購買履歴の情報(年月日、及び製品の属性値)を正確に特定することが困難とすることができる。このように、CPU301は、リレーションデータにおける顧客IDの属性値の入替を行うことで、購買履歴の情報(年月日、及び製品の属性値)について、属性値の入替を行う必要がなくなり、購買履歴の情報について属性値の入替を行う場合に比べて処理の負担を軽減できる。
また、属性値の入替がリレーションデータのみで局所的に行われ、マスターデータや他のリレーションデータに対して変更が生じないため、対象データの有用性が低下しにくい。即ち、また、CPU301は、リレーションデータにおける属性の属性値の入替を行うことで、対象データの有用性の低下を防止できる。
リレーションデータの顧客IDの属性値の入替の手法には、例えば、以下の第1の手法、第2の手法がある。
第1の手法は、顧客IDの値に基づいて、属性値の入替を行う方法である。
図12は、第1の手法によりリレーションデータの顧客IDの属性値の入替が行われた対象データの一例を示す図である。図12の例は、顧客IDについて、(1−>3)、(2−>1)、(3−>2)という入替が行われた結果を示す。元々の顧客ID1の行が、顧客ID3の行となっており、顧客ID2の行が、顧客ID1の行となっており、顧客ID3の行が、顧客ID2の行となっている。
第2の手法は、リレーションデータのテーブルの各行にそれぞれ異なる値であるIDを付加し、付加したIDに基づいて、顧客IDの属性値の入替を行う手法である。図11の履歴IDは、リレーションデータに付加されたIDの一例である。
図13は、第2の手法によりリレーションデータの顧客IDの属性値の入替が行われた対象データの一例を示す図である。図13の例は、履歴IDの属性値について、(1−>4)、(2−>3)、(3−>2)、(4−>1)という入替が行われ、それに併せて、各履歴IDに対応する顧客IDの入替が行われた結果を示す。図11の例では、履歴ID1、2は、顧客ID1に対応し、履歴ID3は、顧客ID2に対応し、履歴ID4は、顧客ID3に対応する。そのため、顧客IDは、上から、3、2、1、1となる。
第2の手法においては、図13に示すように、顧客ID1の顧客が2つの商品を買ったという情報が維持されることになる。CPU301は、匿名化後の対象データに残したい情報に応じて、属性値の入替の手法を使い分けることとしてもよい。こうすることで、CPU301は、より匿名化後の対象データの有用性を向上させることができる。
図11〜13の例では、対象データのマスターデータについては、匿名化されていない。しかし、CPU301は、マスターデータについても適宜匿名化してもよい。
また、対象データが、3つ以上のリレーションが設定されているテーブルである場合でも、CPU301は、各テーブル間のリレーションに基づき、属性値の入替を行うことができる。
情報処理装置300は、本実施形態で説明した属性値の入替による匿名化手法と、他の匿名化手法(属性値の変換やレコードの追加・削除等)と、を組み合わせた匿名化を行うことができる。情報処理装置300は、本実施形態で説明したように、対象データについて、属性値の入替を行った後、又は前に、他の匿名化手法を適用することとしてもよい。これにより、情報処理装置300は、匿名化後の対象データの安全性をより向上させることができる。
情報処理装置300は、例えば、初めに、属性値の入替で有用性をあまり落とさずに匿名化しておき、更に別の匿名化手法を適用してより安全性を高めるといったやり方もできる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、上述した情報処理装置300の機能構成の一部又は全てをハードウェアとして情報処理装置300に実装してもよい。
300 情報処理装置、301 CPU、303 補助記憶装置

Claims (15)

  1. 複数のオブジェクトのそれぞれについて、複数の属性の属性値を対応付けて含んでいるデータにおける前記複数の属性から、属性値の入替の対象となる入替属性を決定する決定手段と、
    前記データの有用性の指標である有用性指標と、属性値の入替の際の制約である入替制約と、に基づいて、前記データにおける前記決定手段により決定された前記入替属性の属性値の入替を行う入替手段と、
    を有する情報処理装置。
  2. 前記入替手段は、前記決定手段により決定された前記入替属性の属性値の入替前の前記データから抽出される特徴量と前記入替属性の属性値の入替後の前記データから抽出される前記特徴量とに基づいて取得される前記有用性指標と、前記入替制約と、に基づいて、前記データにおける前記入替属性の属性値の入替を行う請求項1記載の情報処理装置。
  3. 前記データに関する情報のうち、前記データの閲覧者に知られていると仮定される情報である仮定情報を取得する取得手段を更に有し、
    前記決定手段は、前記取得手段により取得された前記仮定情報に基づいて、前記複数の属性から前記入替属性を決定する請求項1又は2記載の情報処理装置。
  4. 前記データに関する情報のうち、前記データの閲覧者に知られていると仮定される情報である仮定情報を取得する取得手段を更に有し、
    前記入替手段は、前記取得手段により取得された前記仮定情報に基づいて、前記入替制約を決定し、前記有用性指標と、決定した前記入替制約と、に基づいて、前記データにおける前記決定手段により決定された前記入替属性の属性値の入替を行う請求項1又は2記載の情報処理装置。
  5. 前記入替手段は、前記有用性指標と、前記決定手段により決定された前記入替属性の属性値の入替前の前記データと、前記入替属性の属性値の入替後の前記データと、の距離に関する制約である前記入替制約と、に基づいて、前記データにおける前記決定手段により決定された前記入替属性の属性値の入替を行う請求項1乃至4何れか1項記載の情報処理装置。
  6. 前記入替手段は、前記有用性指標と、前記距離である前記データにおける前記決定手段により決定された前記入替属性の属性値の入替前後において入替が行われなかった属性値の数に関する制約である前記入替制約と、に基づいて、前記データにおける前記決定手段により決定された前記入替属性の属性値の入替を行う請求項5記載の情報処理装置。
  7. 前記入替手段は、前記有用性指標と、前記距離である前記データにおける前記決定手段により決定された前記入替属性の属性値の入替において属性値の入替操作が行われた回数の最小値に関する制約である前記入替制約と、に基づいて、前記データにおける前記決定手段により決定された前記入替属性の属性値の入替を行う請求項5記載の情報処理装置。
  8. 前記入替手段は、前記有用性指標と、異なるグループに属する属性値の間で入替を行う制約である前記入替制約と、に基づいて、前記データにおける前記決定手段により決定された前記入替属性の属性値の入替を行う請求項1乃至4何れか1項記載の情報処理装置。
  9. 前記入替手段は、前記入替制約を制約条件とし、最適化手法を用いて、目的関数である前記有用性指標の値が最小化される前記データにおける前記決定手段により決定された前記入替属性の属性値の入替パターンを特定し、特定した前記入替パターンに基づいて、前記データにおける前記入替属性の属性値の入替を行う請求項1乃至8何れか1項記載の情報処理装置。
  10. 前記入替手段は、前記有用性指標と、前記入替制約に応じて取得されるペナルティ値と、に基づいて、前記データにおける前記決定手段により決定された前記入替属性の属性値の入替を行う請求項1乃至4何れか1項記載の情報処理装置。
  11. 前記入替手段は、更に、前記入替手段により前記入替属性の属性値の入替が行われた前記データに対して行われた評価の結果に基づいて、前記データにおける前記決定手段により決定された前記入替属性の属性値の入替をやり直す請求項1乃至10何れか1項記載の情報処理装置。
  12. 前記入替手段は、前記入替手段により前記入替属性の属性値の入替が行われた前記データに対して行われた前記評価の結果に基づいて、前記入替制約を更新し、前記有用性指標と、更新した前記入替制約と、に基づいて、前記データにおける前記決定手段により決定された前記入替属性の属性値の入替を行うことで、前記データにおける前記入替属性の属性値の入替をやり直す請求項11記載の情報処理装置。
  13. 前記データは、互いに共通の属性を含むことで、前記共通の属性に基づいて関連している複数のデータを含み、
    前記決定手段は、前記共通の属性を、前記入替属性として決定する請求項1乃至12何れか1項記載の情報処理装置。
  14. 情報処理装置が実行する情報処理方法であって、
    複数のオブジェクトのそれぞれについて、複数の属性の属性値を対応付けて含んでいるデータにおける前記複数の属性から、属性値の入替の対象となる入替属性を決定する決定ステップと、
    前記データの有用性の指標である有用性指標と、属性値の入替の際の制約である入替制約と、に基づいて、前記データにおける前記決定ステップで決定された前記入替属性の属性値の入替を行う入替ステップと、
    を含む情報処理方法。
  15. コンピュータを、請求項1乃至13何れか1項記載の情報処理装置の各手段として、機能させるためのプログラム。
JP2017053036A 2017-03-17 2017-03-17 情報処理装置、情報処理方法及びプログラム Active JP6484657B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017053036A JP6484657B2 (ja) 2017-03-17 2017-03-17 情報処理装置、情報処理方法及びプログラム
PCT/JP2017/042748 WO2018168103A1 (ja) 2017-03-17 2017-11-29 情報処理装置、情報処理方法及び記録媒体
KR1020197026989A KR102275032B1 (ko) 2017-03-17 2017-11-29 정보 처리 장치, 정보 처리 방법 및 기록 매체
US16/492,057 US11620406B2 (en) 2017-03-17 2017-11-29 Information processing device, information processing method, and recording medium
EP17900297.7A EP3598335A4 (en) 2017-03-17 2017-11-29 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROCESS AND RECORDING MEDIA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017053036A JP6484657B2 (ja) 2017-03-17 2017-03-17 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2018156427A true JP2018156427A (ja) 2018-10-04
JP6484657B2 JP6484657B2 (ja) 2019-03-13

Family

ID=63523429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017053036A Active JP6484657B2 (ja) 2017-03-17 2017-03-17 情報処理装置、情報処理方法及びプログラム

Country Status (5)

Country Link
US (1) US11620406B2 (ja)
EP (1) EP3598335A4 (ja)
JP (1) JP6484657B2 (ja)
KR (1) KR102275032B1 (ja)
WO (1) WO2018168103A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021157265A (ja) * 2020-03-25 2021-10-07 Kddi株式会社 評価装置、評価方法及び評価プログラム
JP7374796B2 (ja) 2020-02-07 2023-11-07 日鉄ソリューションズ株式会社 情報処理装置、情報処理方法及びプログラム
JP7481215B2 (ja) 2020-09-23 2024-05-10 株式会社TVer 匿名加工装置、プログラム及び匿名加工方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10747901B2 (en) * 2018-03-16 2020-08-18 Sap Se High-dimensional data anonymization for in-memory applications

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013027782A1 (ja) * 2011-08-25 2013-02-28 日本電気株式会社 匿名化装置、匿名化方法、及びそのためのプログラムを記録した記録媒体
JP2013200659A (ja) * 2012-03-23 2013-10-03 Nippon Telegraph & Telephone West Corp 属性選択装置、情報匿名化装置、属性選択方法、情報匿名化方法、属性選択プログラム、及び情報匿名化プログラム
JP2015079403A (ja) * 2013-10-18 2015-04-23 株式会社日立製作所 テストデータの作成方法、システム及びプログラム
JP2016184213A (ja) * 2015-03-25 2016-10-20 株式会社日立ソリューションズ 数値データを匿名化する方法及び数値データ匿名化サーバ
JP2017073022A (ja) * 2015-10-08 2017-04-13 日本電信電話株式会社 匿名化装置、匿名化方法、プログラム
JP2017076170A (ja) * 2015-10-13 2017-04-20 Kddi株式会社 リスク評価装置、リスク評価方法及びリスク評価プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2773737B2 (ja) * 1996-04-19 1998-07-09 日本電気株式会社 集計結果分析システム
US7058638B2 (en) * 2002-09-03 2006-06-06 Research Triangle Institute Method for statistical disclosure limitation
US8468346B2 (en) 2008-11-05 2013-06-18 Nec Corporation Data reference system, database presentation/distribution system, and data reference method
WO2012063546A1 (ja) 2010-11-09 2012-05-18 日本電気株式会社 匿名化装置及び匿名化方法
JP5979004B2 (ja) * 2010-11-16 2016-08-24 日本電気株式会社 情報処理システム及び匿名化方法
KR101226693B1 (ko) 2010-12-03 2013-01-25 주식회사 웨어밸리 접근 제어 시스템으로 가상 패치하여 공개된 보안 취약점을 제거하는 데이터베이스 보안 관리 방법
US20140304244A1 (en) * 2011-06-20 2014-10-09 Nec Corporation Anonymization Index Determination Device and Method, and Anonymization Process Execution System and Method
US20160203334A1 (en) * 2012-08-20 2016-07-14 Thomson Licensing Method and apparatus for utility-aware privacy preserving mapping in view of collusion and composition
EP2901360A1 (en) * 2012-09-27 2015-08-05 Tata Consultancy Services Limited Privacy utility trade off tool
WO2014109277A1 (ja) * 2013-01-10 2014-07-17 日本電気株式会社 情報処理装置、および、情報処理方法
JP2014241071A (ja) 2013-06-12 2014-12-25 日本電気株式会社 分析システム、分析方法および分析用プログラム
JP6597066B2 (ja) 2015-08-31 2019-10-30 富士通株式会社 個人情報匿名化方法、プログラム、及び情報処理装置
US10628608B2 (en) * 2016-06-29 2020-04-21 Sap Se Anonymization techniques to protect data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013027782A1 (ja) * 2011-08-25 2013-02-28 日本電気株式会社 匿名化装置、匿名化方法、及びそのためのプログラムを記録した記録媒体
JP2013200659A (ja) * 2012-03-23 2013-10-03 Nippon Telegraph & Telephone West Corp 属性選択装置、情報匿名化装置、属性選択方法、情報匿名化方法、属性選択プログラム、及び情報匿名化プログラム
JP2015079403A (ja) * 2013-10-18 2015-04-23 株式会社日立製作所 テストデータの作成方法、システム及びプログラム
JP2016184213A (ja) * 2015-03-25 2016-10-20 株式会社日立ソリューションズ 数値データを匿名化する方法及び数値データ匿名化サーバ
JP2017073022A (ja) * 2015-10-08 2017-04-13 日本電信電話株式会社 匿名化装置、匿名化方法、プログラム
JP2017076170A (ja) * 2015-10-13 2017-04-20 Kddi株式会社 リスク評価装置、リスク評価方法及びリスク評価プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7374796B2 (ja) 2020-02-07 2023-11-07 日鉄ソリューションズ株式会社 情報処理装置、情報処理方法及びプログラム
JP2021157265A (ja) * 2020-03-25 2021-10-07 Kddi株式会社 評価装置、評価方法及び評価プログラム
JP7219734B2 (ja) 2020-03-25 2023-02-08 Kddi株式会社 評価装置、評価方法及び評価プログラム
JP7481215B2 (ja) 2020-09-23 2024-05-10 株式会社TVer 匿名加工装置、プログラム及び匿名加工方法

Also Published As

Publication number Publication date
US20200034348A1 (en) 2020-01-30
JP6484657B2 (ja) 2019-03-13
EP3598335A1 (en) 2020-01-22
US11620406B2 (en) 2023-04-04
WO2018168103A1 (ja) 2018-09-20
EP3598335A4 (en) 2021-01-06
KR102275032B1 (ko) 2021-07-07
KR20190118618A (ko) 2019-10-18

Similar Documents

Publication Publication Date Title
JP6484657B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6007969B2 (ja) 匿名化装置及び匿名化方法
JP4890806B2 (ja) 予測プログラムおよび予測装置
EP3037983A1 (en) Data processing system, data processing method, and data processing device
US20170300819A1 (en) Time-Series Prediction Apparatus and Time-Series Prediction Method
JP2016031733A (ja) 推論容易性算出プログラム、装置、及び方法
JP6696568B2 (ja) アイテム推奨方法、アイテム推奨プログラムおよびアイテム推奨装置
JP2017228255A (ja) 評価装置、評価方法及びプログラム
US20220222369A1 (en) Information processing apparatus, information processing method and program
JP7450190B2 (ja) 特許情報処理装置、特許情報処理方法、およびプログラム
JP6280270B1 (ja) 内部取引判定装置、内部取引判定方法および内部取引判定プログラム
JP7211499B2 (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
US20220215129A1 (en) Information processing apparatus, information processing method and program
US20220229853A1 (en) Information processing apparatus, information processing method and program
JP5714472B2 (ja) 製品情報管理装置、方法、及びプログラム
JP7260781B2 (ja) 情報提示方法、情報提示プログラム、及び情報処理装置
JP7257938B2 (ja) 匿名加工システム、匿名加工プログラム及び匿名加工方法
US11625500B2 (en) Secure commingling of tenant isolated data
JPWO2019012674A1 (ja) プログラムの統合解析管理装置及びその統合解析管理方法
JP6280271B1 (ja) データ変換装置、データ変換方法およびデータ変換プログラム
JP6280268B1 (ja) データ集計装置、データ集計方法およびデータ集計プログラム
JP6280269B1 (ja) データ参照権限管理装置、データ参照権限管理方法およびデータ参照権限管理プログラム
US20220222375A1 (en) Information processing apparatus, information processing method and program
US20220222376A1 (en) Information processing apparatus, information processing method and program
JP2023053461A (ja) センサセットを提案するシステム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181130

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181130

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20181212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190218

R150 Certificate of patent or registration of utility model

Ref document number: 6484657

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250