JP2015204111A - 匿名化されたユーザリストカウントのためのシステム及び方法 - Google Patents

匿名化されたユーザリストカウントのためのシステム及び方法 Download PDF

Info

Publication number
JP2015204111A
JP2015204111A JP2015068678A JP2015068678A JP2015204111A JP 2015204111 A JP2015204111 A JP 2015204111A JP 2015068678 A JP2015068678 A JP 2015068678A JP 2015068678 A JP2015068678 A JP 2015068678A JP 2015204111 A JP2015204111 A JP 2015204111A
Authority
JP
Japan
Prior art keywords
list
user
count
database system
anonymization method
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
JP2015068678A
Other languages
English (en)
Other versions
JP5992569B2 (ja
Inventor
セバスチャン・プロプスト・アイデ
Sebastian Probst Eide
ポール・フランシス
Francis Paul
フェリックス・バウアー
Bauer Felix
マティアス・クレッチナー
Kretschner Matthias
クリスチャン・ダニエル・ベルネアヌ
Daniel Berneanu Cristian
サシャ・ユーリッチ
Juric Sasa
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.)
Max Planck Gesellschaft zur Foerderung der Wissenschaften eV
Original Assignee
Max Planck Gesellschaft zur Foerderung der Wissenschaften eV
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 Max Planck Gesellschaft zur Foerderung der Wissenschaften eV filed Critical Max Planck Gesellschaft zur Foerderung der Wissenschaften eV
Publication of JP2015204111A publication Critical patent/JP2015204111A/ja
Application granted granted Critical
Publication of JP5992569B2 publication Critical patent/JP5992569B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries

Abstract

【課題】個人のプライバシーの喪失を防止するのに効果的な、データベースシステムにおける匿名化方法及びシステムを提供する。【解決手段】コンピュータシステムは、検索要求を受け取ってユーザIDのリストを生成するデータベース30と、匿名化モジュール20とを有している。匿名化モジュールは、検索要求に応答して、真のユーザカウントを定義するユーザIDのリストを受け取り、ユーザIDのリストから偽のユーザカウントを生成し、真のユーザカウントと、メモリに記憶された第1の閾値とを比較し、偽のユーザカウントと、メモリに記憶された第2の閾値とを比較し、真のユーザカウントが第1の閾値よりも大きく、かつ、偽のユーザカウントが第2の閾値よりも大きい場合に限り、偽のユーザカウントを出力する。【選択図】図2

Description

本出願は、2014年4月10日に「匿名化されたユーザリストカウントのためのシステム及び方法」というタイトルで出願された米国仮出願第61/977850号に基づく優先権の利益を主張するものであり、当該仮出願の全体が参照として含められている。
本発明は、データ解析のための統計的な方法に関連する。特定の実施形態は、データベースの検索要求から生成された数値応答の匿名化に関連する。
アナリストは、ユーザの情報を含むデータベースから、個々のユーザの情報(個人情報)を知ることなく、統計的なデータを得るように要求されることがある。単純にデータベースから名前または識別番号を削除したのでは、個人のプライバシーの喪失を防止するのに効果的ではない。例えば、アナリストが、データベース上の個人(被害者)の生年月日、性別、郵便番号を知っていると、これらは個人(被害者)を特定するのに十分な情報となってしまうことがある。アナリストは、これらの情報(さらに詳細な情報)を特定するための検索要求を入力して回答を得ることで、個人(被害者)のプライバシーを喪失させることが可能になってしまう。例えば、「郵便番号が67663であり且つ1957年12月14日に生まれた全ての男性の給料の合計は?」という検索要求を行って該当者が一人であれば、検索要求に対する回答が該当者の給料となる。
従来技術では、このような事態を防御するために、検索要求に対する回答に含まれる個人が少なくともK人いない限りは回答を出力しない、という単純な対策をとっていた。しかしこの対策は容易に打ち破られてしまうおそれが高い。例えば、アナリストは、「1)全ての男性の給料の合計は?」及び「2)郵便番号が67663であり且つ1957年12月14日に生まれていない全ての男性の給料の合計は?」という検索要求を行うことができる。ここで、1)の検索要求は全ての男性を含むのに対し、2)の検索要求は個人(被害者)を除いた全ての男性を含んでいる。このため、1)の検索要求に対する回答から2)の検索要求に対する回答を減算することで、個人(被害者)の給料を算出することができる。
別の従来技術では、データベースのデータ自体を改変することにより問題を解決するようにアプローチしている。1つのアプローチは、データベース内の数値にノイズを加えることである。別のアプローチは、ユーザ間の特定フィールドを交換することである。さらに別のアプローチは、いわゆる「K匿名(K-anonymity)」と呼ばれるものであり、データ数値の正確性を除去することにより、データベースにおける各ユーザが同じ「他人(K-1 other users)」を見るようにしたものである。これらのアプローチ及びこれに類似のアプローチは、強い匿名性を提供できるという利点を持つ反面、データ自体の実用性を損ねてしまうという欠点を持つ。
さらに別の従来技術では、匿名化のために「差分プライバシー」というアプローチをとっている。この「差分プライバシー」では、検索要求(Query)10に対する回答がユーザカウント12の形態をとり、このユーザカウント12にランダムノイズ14が加えられる(図1参照)。「偽のユーザカウント(ノイズのあるユーザカウント)(noisy user count)」は、ユーザカウントにランダムノイズを加えることにより生成される数を意味している。アナリストからの検索要求に応答して、「差分プライバシー」を使用したデータベース16は偽のユーザカウント18を出力する。
「差分プライバシー」を使用したアプローチがどのように動作するかの一例を示す。検索要求が「郵便番号が67663であり1957年12月14日に生まれ且つ給料が9万ドル〜10万ドルの間の男性であるユーザの数は?」であるものと仮定する。個人(被害者)がそのような給料を貰っているか否かに応じて、真のユーザカウントが1または0となる。正規分布及び標準偏差としてランダムノイズが5だけ加えられるものとする。検索要求に対する回答は6または−8となる。するとアナリストは、個人(被害者)がそのような給料を貰っているか否かを知ることができない。一方、検索要求が「郵便番号が67663であり且つ給料が9万ドル〜10万ドルの間の男性の数は?」であるものと仮定する。例えば、真のユーザカウントが513であるとき、偽のユーザカウントは510または518となる。その結果、アナリストは、合理的で正確な回答を得ることができる。このようにして、差分プライバシーシステムは、プライバシーの保護と正確性の双方を提供することができる。
問題となるのは、アナリストが検索要求を繰り返すことが許容されているときである。最初の検索要求を仮定すると、偽のユーザカウントはそれぞれランダム分布において0または1の値をとる。アナリストは、偽のユーザカウントを用いて平均をとることにより、真のユーザカウントを得ることができる。一般的に、同一の検索要求に2回に亘って回答するのを拒否するだけでは、この問題を解決することは不可能である。その理由は、コンピュータを操作しているとき、意味的には同じであるが構文的には異なる検索要求を生成することが可能だからである。例えば、別の検索要求を「郵便番号が67663であり1957年12月4日の10日後に生まれ且つ給料が9万ドル〜10万ドルの間の男性であるユーザの数は?」とすることができる。この検索要求は、上述した検索要求とは構文的には異なっているが、ほぼ間違いなく同じユーザを識別するであろう。
この問題に対する一般的に知られた解決策は、アナリストが差分プライバシーデータベースに検索要求できる回数に制限を掛けることである。しかしこの解決策は、以下の理由により実用的ではない。例えば、データベースのコンテンツが絶えず変化しているような場合には、繰り返された同一の検索要求は、有用かつ重要なものとなり、同一の検索要求は、異なる時間に異なる結果(回答)を生み出すことになるからである。
したがって、匿名化のための方法およびシステムにおいて、データベースシステムの安全性を向上するとともに、正確な回答を得られるようにすることが要求されている。
本発明の一態様は、匿名化モジュールを提供する。この匿名化モジュールは、その入力がユーザのリストであり、その出力が偽のユーザカウントである。ユーザのリストは、ゼロまたはそれより多くのユーザIDからなり、各ユーザIDは、単一のユーザ、または個別のプライバシーが守られるべき他の存在を識別することができるものである。偽のユーザカウントは、真のユーザカウント(ユーザのリストにおけるユーザカウント)に近似したものである。偽のユーザカウントは、真のユーザカウントに近い実数である。偽のユーザカウントは、単純に、真のユーザカウントがゼロに非常に近いこと、あるいは、真のユーザカウントがデータベースにおけるユーザの数に非常に近いことを示す。真のユーザカウントがゼロに非常に近いときには、偽のユーザカウントもこれに近い形で抑えられる。
一実施形態では、コンピュータシステムが提供される。このコンピュータシステムは、検索要求を受け取ってユーザIDのリストを生成するデータベースと、匿名化モジュールとを有する。匿名化モジュールは、ユーザIDのリストを受け取って、そのリストから偽のユーザカウントを生成する。偽のユーザカウントは、繰り返しの検索要求によるノイズの打ち消しを妨害するような方法で生成される。
本発明のこれらの又は他の目的、特徴及び利点は、添付図面を参照した以下の詳細な説明によって明らかになる。
差分プライバシーを使用した従来の匿名化データベースを示す概略図である。 本発明の一実施形態による改良された匿名化システムを示す概略図である。 図2に示すシステムにより実行される改良された匿名化方法を示す概略図である。 図2に示すシステムにより実行される別の改良された匿名化方法を示す概略図である。 図2に示すシステムにより実行されるさらに別の改良された匿名化方法を示す概略図である。 本発明の一実施形態による図2のシステムのブルームフィルタを示す概略図である。 本発明の一実施形態による図2のシステムのコンデンサーモジュールを示す概略図である。 本発明の一実施形態による図2のシステムの匿名化モジュールと匿名化方法を示す概略図である。 本発明の別の実施形態による図2のシステムの匿名化モジュールと匿名化方法を示す概略図である。
図2を参照して、本発明の一実施形態による匿名化モジュール20を説明する。匿名化モジュール20には、ユーザのリスト22を含む生回答(raw answer)21が入力される。匿名化モジュール20からは、偽のユーザカウント(ノイズのあるユーザカウント、外乱のあるユーザカウント)(noisy user count)24が出力される。リスト22は、ゼロまたはそれより多いユーザIDのセットからなり、各ユーザIDは、単一のユーザ、または個別のプライバシーが守られるべき他の存在を識別することができるものである。偽のユーザカウント24は、リスト22中のユーザカウントである真のユーザカウント(true user count)に近似したものである。真のユーザカウントは、モジュール20の内部におけるもの(モジュール20から出力される前のもの)である。偽のユーザカウントは、真のユーザカウントに近い実数である。偽のユーザカウントは、単純に、真のユーザカウントがゼロに非常に近いこと、あるいは、真のユーザカウントがデータベースにおけるユーザの総数に非常に近いことを示す。真のユーザカウントがゼロに非常に近いときには、偽のユーザカウントもこれに近い形で抑えられる。
匿名化モジュール20は、コンピュータシステム(演算システム)25に実装されている。コンピュータシステム25は、1つ以上のプロセッサとデータ記憶装置を有している。このプロセッサとデータ記憶装置は、コンピュータシステム25と物理的に接続(例えば有線接続)され、または、インターネットのようなワイドエリアネットワーク(例えばクラウドシステム)を介して物理的に切り離して接続(例えば無線接続)されている。
匿名化モジュール20には、検索要求ID(Query ID)26と、各リストのためのリストID28とが入力される。検索要求ID26は、全ての検索要求IDの中で特有の(識別可能な)文字列または数字から構成されている。リストID28は、全てのリストIDまたは同一の検索要求IDに対応する全てのリストIDの中で特有の(識別可能な)文字列または数字から構成されている。それぞれの検索要求のために、複数のリストとリストIDが設定されている。
匿名化モジュール20は、コンピュータシステム25に実装され又はコンピュータシステム25に通信可能に接続されたデータベース30と協働する。データベース30は、検索要求10とそれに付加された検索要求ID26を受け付ける。検索要求10に応答して、データベース30は、匿名化モジュール20に対して生回答21を送る。この生回答21は、ユーザのリスト22、選択的な検索要求ID26およびリストID28を含んでいる。匿名化モジュール20は、データベース30と、検索要求10を出したアナリストとを仲介して、データベース30から出力された生回答21を受け取ってこれを改変する。
データベース30は、インデックスを生成するための要求を受け付ける。このインデックスは、将来的に検索要求を入力する可能性のあるユーザのリストである。この要求に応じて、データベース30は、ユーザのリスト22とインデックスID28を含んだインデックスを生成する。このインデックス(ユーザのリスト)とインデックスIDは、匿名化モジュール20に供給される。匿名化モジュール20は、供給されたインデックスとインデックスIDを記憶する。
匿名化モジュール20に供給される回答は、データベース30に検索要求されたユーザの総数“Nu”を含んでいる。ここで、例えば、データベース30が1000のユーザを含んでいるものと仮定する。また検索要求10が女性のユーザの数を検索要求するものだとする。女性のユーザの数が450である場合、ユーザのリストはこの450の女性のユーザIDを含んでおり、検索要求されたユーザの総数“Nu”は1000である。
匿名化モジュール20に供給される生回答21は、“Nu”の代わりに、インデックスIDを含んでいてもよい。匿名化モジュール20は、記憶されたインデックスにおけるユーザの数として“Nu”を演算することもできる。
インデックスを受け取ると、匿名化モジュール20は、ユーザのための複製または削除のタグを付けることで、当該インデックスに外乱を加える。匿名化モジュール20は、幾つかの分布の中から乱数を選択することにより、タグ付けされたユーザカウントを決定する。幾つかの分布とは、例えば、特定の最大値と最小値を含んだ一様分布、または、特定の標準偏差を含んだ正規分布とすることができる。勿論、幾つかの分布として、他の分布を用いることも可能である。分布とは、ゼロまたはその他の値を意味している。乱数が正の値をとる場合、ユーザカウントは複製のためにタグ付けされる。乱数が負の値をとる場合、ユーザカウントは削除のためにタグ付けされる。タグ付けされるユーザは、インデックスに含まれる全ユーザの中からランダムに選択される。
タグ付けされるユーザカウントは、インデックスに含まれるユーザカウントに応じて変動する。インデックスに含まれるユーザカウントが多いほど、タグ付けされるユーザカウントも多くなる。このタグ付けは、分布の範囲が広くなることにより実行される。例えば、一様分布の場合、最小値と最大値(の絶対値)が大きくなり、正規分布の場合、標準偏差が大きくなる。
匿名化モジュール20は、インデックスIDと関連付けられた生回答21を受け取ったとき、インデックスのためにタグ付けされたユーザによる真のカウントを改変する。生回答に存在する複製のタグ付けがなされた各ユーザのために、真のカウントが1つずつインクリメントされる。生回答に存在する削除のタグ付けがなされた各ユーザのために、真のカウントが1つずつデクリメントされる。他のことを特別に示さない限り(断りがない限り)、「真のカウント」という用語は、改変された真のカウントを含む概念で使用する。
匿名化モジュール20は、ユーザのリスト22におけるモジュールの真のカウントから乱数を加算または減算することにより、生回答21を改変する。この乱数は、幾つかの分布から選択される。この幾つかの分布は、例えば、特定の最大値と最小値を含んだ一様分布、または、特定の標準偏差を含んだ正規分布とすることができる。勿論、幾つかの分布として、他の分布を用いることも可能である。分布とは、ゼロまたはその他の値を意味している。「ノイズを加える」という用語は、真のカウントを改変するためのプロセスを含む概念で使用する。
真のユーザカウントが小さい閾値K1を下回ると、匿名化モジュール20は、偽のユーザカウント24の出力に代えて、回答を静かに抑制する(silently suppress)。ここで「静かに抑制する」とは、回答が抑制されたということを何ら示していないリストに対応する出力を定義しないことを意味する。ここでは、「静か(silent)」または「静かに(silently)」という用語は、何らの通知をすることなくアクションを行うことを意味する。代替的には、匿名化モジュール20は、偽のカウントが報告するには小さすぎる旨のメッセージを出力することができる。
偽のユーザカウント24が閾値K2を下回ると、匿名化モジュール20は、偽のユーザカウント24の出力に代えて、偽のカウントが報告するには小さすぎる旨のメッセージを出力する。ここで閾値K2は、閾値K1よりも大きく、しかし閾値K1と同様の小さい値である。代替的には、匿名化モジュール20は、偽のカウントを静かに抑制することができる。
真のカウントが、検索要求されたユーザの数である“Nu”から閾値K1を差し引いた値よりも大きいとき、匿名化モジュール20は、偽のユーザカウント24に代えて、偽のカウントが報告するには大きすぎる旨のメッセージを出力する。偽のユーザカウントが、検索要求されたユーザの数である“Nu”から閾値K2を差し引いた値よりも大きいとき、匿名化モジュール20は、偽のユーザカウント24に代えて、偽のカウントが報告するには大きすぎる旨のメッセージを出力する。“Nu”は、データベースから供給された値であり、または、記憶されたインデックス中のユーザ番号に基づいて匿名化モジュール20が演算した値である。
“Nu”が、記憶されたインデックス中のユーザ番号に基づいている場合、匿名化モジュール20は、代替的に、偽のカウントNCiを出力する。“Nu”から閾値K1を差し引いた値または“Nu”から閾値K2を差し引いた値は、与えられたインデックスよりも大きくすることができる(上述の「大きすぎる旨の報告」の代わりとなる)。偽のカウントNCiはインデックスと対応付けて記憶される。これに続き、“Nu”から閾値K1を差し引いた値または“Nu”から閾値K2を差し引いた値が与えられたインデックスより大きい場合には、記憶された偽のカウントNCiが出力される。
真のカウントに加えられるノイズの量は、真のカウントの絶対値に応じて変動する。真のカウントが大きくなるほどに、加えられるノイズが大きくなる。また分布の範囲が広くなるほどに、加えられるノイズが大きくなる。例えば、一様分布であれば、ノイズの最小値と最大値(の絶対値)が大きくなり、正規分布であれば、ノイズの標準偏差が大きくなる。
例えば、加えられるノイズの量は、相対的な誤り限界(上限と下限の誤差)に関連する。ここで、誤り限界は、真のカウントの割合の観点から特定される。例えば、誤り限界は、高い確率で、真のカウントの1%以内となるように特定される。一様分布の場合には、真のカウントの±1%以内となるように最大値と最小値が設定される。正規分布の場合には、真のカウントの±0.5%となるように標準偏差が設定される。誤り限界は、ユーザ及びその他の情報のリストと一緒に匿名化モジュール20に伝達される。誤り限界は、匿名化モジュール20の内部に予め設定および保持されている。
匿名化モジュール20は、偽のカウント24に代えて、当該偽のカウントが収まる数値範囲を出力する。例えば、偽のカウント24が“513”の場合、匿名化モジュール20は、“510〜520”の数値範囲を出力する。この有効な数値範囲は予め設定および保持されている。偽のカウントのサイズが大きくなるに連れて、この数値範囲のサイズも大きくなる。
本発明の一実施形態によれば、匿名化モジュール20は、真のカウントに対して、幾つかの異なるノイズ値を加える。この異なるノイズ値は、異なる回答に合わせて調整される。例えば、匿名化モジュール20は、真のカウントの各々に対して、4つのノイズ値NV1、NV2、NV3、NV4を加える。例えば、ノイズ値NV1はユーザの各リストの後に変化し、ノイズ値NV2は10個のリスト毎に変化し、ノイズ値NV3は100個のリスト毎に変化し、ノイズ値NV4は1000個のリスト毎に変化する。これらのノイズは「階層化されたノイズ」である。
階層化されたノイズは、アナリストにとって真のカウントを決定することを困難にさせる。これは、検索要求を繰り返すことおよび偽のカウントの平均をとることによる。すなわち、長期間のノイズ値(例えばNV3やNV4)が、多くの連続する偽の回答の平均を歪めて非対称にするからである。これを克服するために、アナリストは、長期間のインターバルでの検索要求(例えば1000個の検索要求)を繰り返さなければならなくなる。このため、多くの場合、検索要求に掛かるコストが大きくなり、ノイズを削除するためのコストも大きくなってしまう。
与えられた検索要求は、複数のユーザリストを生成することがある。例えば、異なる給料範囲に亘るユーザのヒストグラムを生成するために、検索要求は、給料範囲毎に1つのリストを生成することができる。幾つかの検索要求は、数百または数千のリストを生成することができる。1つ又は複数のリストだけを所有するユーザもあり得る。例えば、各ユーザが同じ給料を貰っている場合、給料のヒストグラムの検索要求は1つだけとなる。
匿名化モジュール20は、各ユーザが所有する同一の検索要求のリスト数を最大数L1までに制限する。ユーザがL1より多くのリストを所有している場合、匿名化モジュール20は、L1を超えた分のリストを削除する。匿名化モジュール20は、ユーザが存在する全てのリストの中からL1のリストをランダムに選択する。このようにリスト数を制限することで、リストのセットからユーザが理論的に知ることができる情報量を制限することができる。
L1の値はリストに従って匿名化モジュール20に伝送される。匿名化モジュール20には、L1が取り得る最大値L1maxが予め設定および保持されている。伝送されたL1の値が最大値L1maxを超えているとき、匿名化モジュール20は、特別な認証を与えられない限り、偽のカウント24の出力を拒むように構成されている。この特別な認証は、例えば、検索要求ID26とL1の値を踏まえて、認証された第三者の暗号化された署名により実行される。
図3に示すように、匿名化モジュール20は、リスト22の一部または全部を記憶(100)する。匿名化モジュール20が記憶(100)するリスト22は、各リスト22に対応する検索要求ID26、リストID28および偽のカウント24を含んでいる。リスト22は、コンピュータシステム25の内部の記憶デバイスに記憶される。この記憶デバイスは、匿名化モジュール20と物理的に接続して配置され(同じコンピュータであれば同じ構築回路)、または、匿名化モジュール20と物理的に切り離して配置されている(匿名化モジュール20とワイドエリアネットワークを介して接続されている)。匿名化モジュール20は、新しいリスト22nを受け取ると、その新しいリスト22nを記憶されたリスト22の各々と比較する(102)。新しいリスト22nと記憶されたリスト22の比較に際して、匿名化モジュール20は、1つのリストに存在しているが他のリストに存在していないようなユーザ数をカウントする。ここで言う「1つのリスト」と「他のリスト」は、新しいリスト22nと記憶されたリスト22の一方と他方に対応する。匿名化モジュール20は、そのカウントしたユーザ数(ユーザカウント)にノイズを加える(104)。これにより、各比較におけるノイズ差分(noisy difference)Dnが生成される。
記憶された特定のリスト22iのためのノイズ差分Dnが、小さい閾値K3を下回ると(新しいリスト22nと記憶された特定のリスト22iが“マッチング”リストとなる)、匿名化モジュール20は、記憶された特定のリスト22iの偽のカウント24iを出力する(108)。その際、同一または類似の検索要求を繰り返したアナリストは、以前の検索要求に対するものと同じ回答を得ることになり、ノイズを解消することはできない。しかし、匿名化モジュール20は、閾値K3より小さいノイズ差分Dnの値を見つけることなく記憶されたリスト22を破棄するときには、新しいリスト22nの偽のカウント24nを出力する(106)。これにより、アナリストは、新しい検索要求に対する回答が可能になる。リストのサイズが大きくなるに連れて、閾値K3も大きくなる。
図4は最適な先行手順の一例を示している。同図では、新しいリスト22nは、記憶されたリスト22とだけ比較され、新しいリスト22nの偽のカウント24nは、記憶されたリスト22の偽のカウント42からの閾値K4の範囲内となる。閾値K4は、比較されたマッチングリストが高確率で一致するように設定される。
図5に示すように、匿名化モジュール20は、全部のリスト22を記憶することに加えて、各リストの圧縮バージョン34を記憶する。圧縮されたリスト34の性質は、2つの圧縮リストを比較したときこれらが高確率で一致する(同一または略同一)というものである。匿名化モジュール20は、新しいリスト22nを受け取ると、まずこの新しいリスト22nを圧縮し(110)、次いでこの新しい圧縮リスト34nと記憶された圧縮リスト34を比較する(112)。新しい圧縮リスト34nと記憶された圧縮リスト34がマッチングリストであると判定されると、匿名化モジュール20は、新しいリスト22nのために、記憶されたリスト22i(圧縮リスト34iに対応してこれとマッチングしている)のこれまでに出力した偽のカウント24iを出力する。
一実施形態では、圧縮されたリストは、正確なユーザリストに基づいた唯一の値をとる。別言すると、与えられたユーザリストは、唯一の値を生成し、他のユーザリストは、他の異なる値を生成する。この値をユーザリストハッシュと呼ぶ。2つのユーザリストハッシュを比較することにより、2つのリストが同一であるか異なっているかが判定される。この場合、2つのリストが完全に同一であればこれらが一致し、2つのリストが略同一であれば(少しでも異なっていれば)これらが一致しない。ユーザリストハッシュは、ユーザIDを番号順に配置することにより生成され、結果的にリストに変換される。代替的には、ユーザリストハッシュは、各ユーザIDを個別に変換することにより生成され、そのハッシュの総和が得られる。本発明の広範な範囲から逸脱することなく他の方法を用いることも可能である。
図5に示す一実施形態では、ブルームフィルタを通じてユーザID23n1..nの全てを処理することにより、新しいリスト22nが圧縮される(110)。ブルームフィルタは、記憶された圧縮リスト34iと同一の新しい圧縮リスト34nを出力するとき、2つのリスト22nと22iが高確率で同一となるように構成されている。さらにブルームフィルタは、記憶された圧縮リスト34iと“K5”またはこれより少ないビットだけ異なる圧縮リスト34nを出力する。ここで、“K5”は小さい値であり、2つの対応するリスト22n、22iは高確率で略同一である。“K5”の値は、リスト22のサイズ、または、ブルームフィルタにより使用されるハッシュナンバーによって選択される。
代替的には、圧縮リスト34は、リスト22から選択されたユーザのみによって得ることができる。リスト22からユーザを選択する方法は、次の2つの要件を満足したものとすることができる。1つ目の要件は、2つのマッチングしたリストのために選択したユーザを同一または略同一とすることである。2つ目の要件は、アナリストにとって、どのユーザが選択されるかを予測するのを不可能とすることである。
上記要件を満足するために、図6に示すように、リスト圧縮モジュール36が乱数Rを生成し又は乱数Rの供給を受ける。圧縮リストが生成される度に、リスト圧縮モジュール36は、各ユーザID23n1...nのために、完全なリスト22を生成する(114)。この完全なリストは、乱数RによるユーザIDに連結されたハッシュ116n1...nに対応している。
リスト圧縮モジュール36は、ユーザIDハッシュ116の最後のビットB1(与えられた値、例えばゼロ)に対応するユーザを選択する(118)。“B1”の値は、リスト22のサイズに応じて変動する。リスト圧縮モジュール36は、ハッシュ値を具体的に要求し、且つ、最初のK7のユーザを選択することができる。本発明の広範な範囲から逸脱することなく他の方法を用いることも可能である。結果物としてのユーザの圧縮リストはそのまま記憶される。結果物としてのユーザの圧縮リストは、ブルームフィルタ119を通過させた上で、圧縮リストとして記憶することができる。
代替的には、図7に示すように、リスト圧縮モジュール36によって圧縮リストを生成することができる。フィルタ36は、新しいリスト22nからカウントのセットC0〜Cnを生成する(120)。C0は、各ユーザIDの最後のビットB2が“0”となるユーザID23のカウントである。C1は、各ユーザIDの最後のビットB2が“1”となるユーザID23のカウントである。C2は、各ユーザIDの最後のビットB2が“2”となるユーザID23のカウントである。これらのカウントのセットが圧縮リスト34を構成する。2つのリストは、これに対応するカウント34のセットが同一であれば、高確率で同一となる。2つのリストは、これに対応するカウント34のセットが略同一であれば、高確率で略同一となる。本発明の広範な範囲から逸脱することなく他のリスト圧縮方法を用いることも可能である。
新しいユーザリスト22nと記憶された特定のリスト22iがマッチングしているとき(圧縮リストの全部または一部を使用し且つ正確またはこれに近いマッチングを行う)、記憶された特定のリスト22iの偽のカウント24iを報告することなく(その代わりに)、匿名化モジュール20は、新しい偽のカウントを報告する。この新しい偽のカウントは、それまでの偽のカウントより広い範囲のものであり、例えば、より大きな最大値と最小値を持っており、または、より大きな標準偏差を持っている。記憶された特定のユーザリスト22iとマッチする新しいユーザリストに関しては、新しいノイズカウントの各々のノイズ量が増加する。そのノイズ増加量は、アナリストが真のカウントを推測することはまず出来ない程度のものである。
一実施形態では、新しいマッチングリストの各々に関してノイズが少しだけ増量する。
代替的には、新しいマッチングリストが相当数だけ生成された後にはノイズが大きく増量する。例えば、Mのマッチングが行われる度に、ノイズのレベルが増量する。例えば、初期のノイズレベルが標準偏差のガウス分布であり、SD=5、M=45であると仮定する。最初の44のマッチングでは、新しい偽のカウントがSD=5と報告される。45回目のマッチングでは、ノイズレベルが例えばSD=7まで増加する。44のマッチングに続く偽のカウントはSD=7となっている。90回目のマッチングでは、SD=9まで増加している。
代替的には、階層化されたノイズを使用してノイズを増加させることができる。例えば、記憶されたリストのための最初のMのマッチングは、単一の層のノイズを含むことができる。次のM2のマッチングは、Mのマッチングごとに2層目のノイズ値が変化する2つの層を含むことができる。次のM3のマッチングは、3つの層を含むことができる。これに続くマッチングに対してノイズを加える方法は、他の種々の方法を使用することができる。
ここで説明した方法によれば、アナリストは、リストに加えられたノイズを掻い潜るのが非常に難しくなる。リストに加えられたノイズを掻い潜るためには、アナリストは、数多くの検索要求を繰り返し行わなければならない。これらの検索要求の各々は、アナリストが真のカウントを推測するためのユーザの未知のサブセット、及び、アナリストが既に知っているカウントのユーザの既知のサブセットを含むリストを生成する。ユーザの既知のサブセットは、1)検索要求から検索要求へと流れる異なるユーザの数を含んでおり、2)リストがマッチングしていることを知ることが出来ない程に十分に大きい(これによりノイズを打ち消すための方法が無効化される)。
これら一連の検索要求を行うことにより、アナリストは、偽のカウントのセットを得ることができる。この偽のカウントにおいては、未知のサブセットが複数のリストを通じて真のカウントに対して作用する。平均をとることにより、また既知のサブセットの平均化された真のカウントを差し引くことにより、アナリストは、未知のサブセットの真のカウントを推測することができる。
これらの攻撃から守るべく、図8に示すように、匿名化モジュール20は、複数のリスト22を通じて繰り返されるサブセット38が同一または略同一であるか否かを確認(122)する。繰り返されるサブセット38は、N以上のリストに共通する少なくともK8のユーザのリストとして確認される。繰り返されるサブセット38が一旦確認された後は、匿名化モジュール20は、サブセット38のために一時的な偽のカウントNCrsを生成124するとともに、繰り返されるサブセット38、偽のカウントNCrs、真のカウントCrsを記憶(110)する。
繰り返されるサブセット38の確認が終了すると、図3、図4を参照して上述したように、新しいリスト22nと記憶されたリスト22がマッチするかどうか比較され、マッチングリスト22iが見つかればこれに対応する記憶された偽のカウント24iが出力される。これに対し、マッチングリスト22iが見つからなかったときは、図9に示すように、匿名化モジュール20は、新しいリスト22nの各々と、繰り返されるサブセット38とを比較する(126)。サブセット38中に新しいリスト22が少なくとも(Crs−K9)のユーザのリストを含んでいるとき(Crsは繰り返されるサブセット38中のユーザカウントである)、新しいリスト22は繰り返されるサブセット38の1つとマッチすると言える。K9の値は小さい値に設定されておりCrsの値と一緒に変動する。
新しいリスト22nにマッチする最も大きい繰り返されるサブセット38i(これは空集合かもしれない)が見つかった後は、匿名化モジュール20は、新しいリスト22nに存在し且つ最も大きい繰り返されるサブセット38iに存在しないユーザ数に基づいて、偽のカウントNCnewを生成する(128)。匿名化モジュール20は、新しいリストの偽のカウント24nを「NCrsi+NCnew」で算出してこれを出力及び記憶する(100)。このようにして、アナリストは、繰り返されるサブセット38iに対応付けられたノイズを平均化することが出来なくなる。
匿名化モジュール20は、各ユーザIDに対してそのユーザが回答に現れる(含まれる)頻度を記憶する。例えば匿名化モジュール20は、100の回答に対して28のユーザが現れること、又は、1000の回答に対して147のユーザが現れることを記憶する。非常に高い頻度で回答に現れるユーザは、ハイタッチユーザ(high-touch users)と呼ばれる。匿名化モジュール20は、回答を受け取ると、その回答からハイタッチユーザを削除する。別言すると、削除されたユーザ数によって、真のカウントが減らされる。匿名化モジュール20は、ハイタッチユーザを削除するための乱数を選択する。匿名化モジュール20は最大でK10のハイタッチユーザを削除することができる。削除されるユーザの数は、回答の真のカウントに応じて増加する。
ユーザがハイタッチユーザか否かを判定するために、匿名化モジュール20は、ユーザが現れる頻度の確率をその平均と比較したものを演算する。例えば、平均的に100の回答に対して3のユーザが現れるときと、100の回答に対して5のユーザが現れるときがある。100の回答に対して10のユーザが現れる確率は、二項分布(0.009)によれば3%と演算することができる。匿名化モジュール20は、その出現頻度の確率が非常に小さな値であるK11を下回ったときに、そのユーザをハイタッチユーザとして定義する。例えば、K11は0.00001(1/100000)に設定することができる。
平均的な出現頻度は、全てのユーザ、インデックス中の全てのユーザ、又は、回答中の全てのユーザについて演算される。出現頻度は、全ての異なるスケールに亘って演算される。例えば、最後の100の回答、最後の1000の回答、最後の10000の回答について、出現頻度が演算される。
ここまで、匿名化モジュール20を特定の入力と出力が行われる明確なモジュールとして説明したが、当業者であれば、匿名化モジュール20は、データベース内に実装されたソフトウェアとして実装できることが容易に理解できるであろう。
一実施形態によれば、データベースシステムのための匿名化方法が提供される。この方法は、検索要求に応答して、真のユーザカウントを定義するユーザIDのリストを受け取るステップと、前記ユーザIDのリストから偽のユーザカウントを生成するステップと、前記真のユーザカウントと、メモリに記憶された第1の閾値とを比較するステップと、前記偽のユーザカウントと、メモリに記憶された第2の閾値とを比較するステップと、前記真のユーザカウントが前記第1の閾値よりも大きく且つ前記偽のユーザカウントが前記第2の閾値よりも大きい場合に限り、前記偽のユーザカウントを出力するステップと、を有することができる。
一実施形態によれば、前記偽のユーザカウントを出力しない場合に、前記偽のユーザカウントが小さすぎることを示すメッセージを出力するステップをさらに有することができる。
一実施形態によれば、前記第1の閾値は前記第2の閾値よりも小さくすることができる。
一実施形態によれば、前記真のユーザカウントと、前記第1の閾値よりも小さい検索要求されたユーザカウントとを比較するステップと、前記真のユーザカウントが、前記第1の閾値よりも小さい検索要求されたユーザカウントよりも大きい場合に、前記偽のユーザカウントが大きすぎることを示すメッセージを出力するステップと、をさらに有することができる。
一実施形態によれば、前記偽のユーザカウントと、前記第2の閾値よりも小さい検索要求されたユーザカウントとを比較するステップと、前記偽のユーザカウントが、前記第2の閾値よりも小さい検索要求されたユーザカウントよりも大きい場合に、前記偽のユーザカウントが大きすぎることを示すメッセージを出力するステップと、をさらに有することができる。
一実施形態によれば、前記真のユーザカウントの大きさに基づいて、前記真のユーザカウントに加えるノイズの量を増加させるステップをさらに有することができる。
一実施形態によれば、前記複数のステップは、データベースと通信可能に接続された匿名化モジュールによって実行することができる。
一実施形態によれば、前記偽のユーザカウントを生成するステップは、前記真のユーザカウントに、前記真のユーザカウントに加えられ、且つ、既に提供されたユーザリストカウントに応じて変動する複数のノイズ値を含む階層化されたノイズを加えることを含むことができる。
一実施形態によれば、データベースシステムのための匿名化方法が提供される。この方法は、検索要求に応答して、真のユーザカウントを定義するユーザIDのリストを受け取るステップと、前記真のユーザカウントに、前記真のユーザカウントに加えられ、且つ、既に提供されたユーザリストカウントに応じて変動する複数のノイズ値を含む階層化されたノイズを加えることにより、偽のユーザカウントを生成するステップと、前記偽のユーザカウントを出力するステップと、を有することができる。
一実施形態によれば、前記複数のステップは、データベースと通信可能に接続された匿名化モジュールによって実行することができる。
一実施形態によれば、データベースシステムのための匿名化方法が提供される。この方法は、新しい検索要求に応答して、新しいユーザIDのリストを受け取るステップと、前記新しいユーザIDのリストと、少なくとも1つの記憶されたリストとを比較して、前記新しいユーザIDのリストに存在し且つ前記記憶されたリストに存在しない新しいユーザカウントを決定するステップと、前記新しいユーザカウントにノイズを加えることにより、ノイズ差分(ノイズ相違値)を生成するステップと、前記ノイズ差分と、メモリに記憶された第1の閾値とを比較するステップと、前記ノイズ差分が前記第1の閾値よりも小さい場合に、前記記憶されたリストに対応するノイズ値を出力するステップと、前記ノイズ差分が前記第1の閾値よりも大きい場合に、前記新しいユーザIDのリストのための新しいノイズ値を出力するステップと、を有することができる。
一実施形態によれば、複数のユーザIDのリストを受け取るステップと、前記少なくとも1つの記憶されたリストとして、前記複数のユーザIDのリストの少なくとも1つを記憶するステップと、をさらに有することができる。
一実施形態によれば、前記記憶されたリストの各々のためのノイズ値を生成するステップと、前記記憶されたリストの各々のためのノイズ値を記憶するステップと、を有することができる。
一実施形態によれば、前記第1の閾値は、前記少なくとも1つの記憶されたリストのサイズに基づいて選択することができる。
一実施形態によれば、前記ノイズ差分(ノイズ相違値)および前記少なくとも1つの記憶されたリストのためのノイズ値が所定値以内である場合に、前記新しいユーザIDのリストが前記少なくとも1つの記憶されたリストと比較することができる。
一実施形態によれば、前記少なくとも1つの記憶されたリストは、圧縮されて記憶されたリストであり、前記新しいユーザIDのリストを受け取った後に、その新しいユーザIDのリストを圧縮してこれを前記圧縮されて記憶されたリストと比較するステップをさらに有することができる。
一実施形態によれば、前記圧縮した新しいユーザIDのリストおよび前記圧縮されて記憶されたリストが適合したリストであるか否かを判定するステップと、前記圧縮した新しいユーザIDのリストおよび前記圧縮されて記憶されたリストが適合したリストである場合に、前記新しいユーザIDのリストに対して、前記圧縮されて記憶されたリストに対応するノイズカウントを出力するステップと、をさらに有することができる。
一実施形態によれば、前記圧縮されて記憶されたリストは単一の値をとることができる。
一実施形態によれば、前記複数のステップは、データベースと通信可能に接続された匿名化モジュールによって実行することができる。
一実施形態によれば、前記少なくとも1つの記憶されたリストは、前記匿名化モジュールの内部に記憶することができる。
一実施形態によれば、前記検索要求に応答して受け取られる新しいユーザIDのリストは複数あり、ユーザが所有しているリストカウントを判定し、ユーザが所有しているリストカウントが閾リストカウントより多い場合には、その閾リストカウントを超えた分を削除するステップをさらに有することができる。
一実施形態によれば、データベースシステムのための匿名化方法が提供される。この方法は、複数の検索要求に応答して、各々が真のユーザカウントを定義するユーザのリストを含む複数の回答を受け取るステップと、前記複数の回答に各ユーザが含まれる頻度を記憶するステップと、前記複数の回答に頻繁に含まれるユーザの存在を判定するステップと、前記複数の回答に頻繁に含まれるユーザの少なくとも一人を前記複数の回答の少なくとも1つから削除することにより、前記複数の回答の少なくとも1つのために前記真のユーザカウントを減じるステップと、を有することができる。
一実施形態によれば、前記複数の回答に頻繁に含まれるユーザの少なくとも一人を削除するステップは、任意の数のユーザに対して実行することができる。
一実施形態によれば、前記複数の回答に頻繁に含まれるユーザの少なくとも一人を削除するステップは、所定の閾カウントのユーザに対して実行することができる。
一実施形態によれば、前記複数の回答に頻繁に含まれるユーザの存在を判定するステップは、前記複数の回答におけるユーザの存在可能性を平均的な存在可能性に関連して判定することを含むことができる。
以上、詳細な実施形態を参照して本発明を説明した。しかし当業者であれば、本発明の思想および範囲から逸脱することなく、様々な設計変更を行うこと、等価な発明構成要素に置換することによって、本発明を実施可能であることが明らかである。加えて、本発明の基本的な思想から逸脱することなく、様々な状況や材料に適合させるための変更を行って、本発明を実施することができる。したがって、本発明の技術的範囲は、これまで詳細に開示した特定の実施形態に限定されるべきものと解釈してはならない。

Claims (25)

  1. データベースシステムのための匿名化方法であって、
    検索要求に応答して、真のユーザカウントを定義するユーザIDのリストを受け取るステップと、
    前記ユーザIDのリストから偽のユーザカウントを生成するステップと、
    前記真のユーザカウントと、メモリに記憶された第1の閾値とを比較するステップと、
    前記偽のユーザカウントと、メモリに記憶された第2の閾値とを比較するステップと、
    前記真のユーザカウントが前記第1の閾値よりも大きく且つ前記偽のユーザカウントが前記第2の閾値よりも大きい場合に限り、前記偽のユーザカウントを出力するステップと、
    を有することを特徴とするデータベースシステムのための匿名化方法。
  2. 請求項1記載のデータベースシステムのための匿名化方法において、
    前記偽のユーザカウントを出力しない場合に、前記偽のユーザカウントが小さすぎることを示すメッセージを出力するステップをさらに有するデータベースシステムのための匿名化方法。
  3. 請求項1記載のデータベースシステムのための匿名化方法において、
    前記第1の閾値は前記第2の閾値よりも小さいデータベースシステムのための匿名化方法。
  4. 請求項1記載のデータベースシステムのための匿名化方法において、
    前記真のユーザカウントと、前記第1の閾値よりも小さい検索要求されたユーザカウントとを比較するステップと、
    前記真のユーザカウントが、前記第1の閾値よりも小さい検索要求されたユーザカウントよりも大きい場合に、前記偽のユーザカウントが大きすぎることを示すメッセージを出力するステップと、
    をさらに有するデータベースシステムのための匿名化方法。
  5. 請求項4記載のデータベースシステムのための匿名化方法において、
    前記偽のユーザカウントと、前記第2の閾値よりも小さい検索要求されたユーザカウントとを比較するステップと、
    前記偽のユーザカウントが、前記第2の閾値よりも小さい検索要求されたユーザカウントよりも大きい場合に、前記偽のユーザカウントが大きすぎることを示すメッセージを出力するステップと、
    をさらに有するデータベースシステムのための匿名化方法。
  6. 請求項1記載のデータベースシステムのための匿名化方法において、
    前記真のユーザカウントの大きさに基づいて、前記真のユーザカウントに加えるノイズの量を増加させるステップをさらに有するデータベースシステムのための匿名化方法。
  7. 請求項1記載のデータベースシステムのための匿名化方法において、
    前記複数のステップは、データベースと通信可能に接続された匿名化モジュールによって実行されるデータベースシステムのための匿名化方法。
  8. 請求項1記載のデータベースシステムのための匿名化方法において、
    前記偽のユーザカウントを生成するステップは、前記真のユーザカウントに、前記真のユーザカウントに加えられ、且つ、既に提供されたユーザリストカウントに応じて変動する複数のノイズ値を含む階層化されたノイズを加えることを含んでいるデータベースシステムのための匿名化方法。
  9. データベースシステムのための匿名化方法であって、
    検索要求に応答して、真のユーザカウントを定義するユーザIDのリストを受け取るステップと、
    前記真のユーザカウントに、前記真のユーザカウントに加えられ、且つ、既に提供されたユーザリストカウントに応じて変動する複数のノイズ値を含む階層化されたノイズを加えることにより、偽のユーザカウントを生成するステップと、
    前記偽のユーザカウントを出力するステップと、
    を有することを特徴とするデータベースシステムのための匿名化方法。
  10. 請求項9記載のデータベースシステムのための匿名化方法において、
    前記複数のステップは、データベースと通信可能に接続された匿名化モジュールによって実行されるデータベースシステムのための匿名化方法。
  11. データベースシステムのための匿名化方法であって、
    新しい検索要求に応答して、新しいユーザIDのリストを受け取るステップと、
    前記新しいユーザIDのリストと、少なくとも1つの記憶されたリストとを比較して、前記新しいユーザIDのリストに存在し且つ前記記憶されたリストに存在しない新しいユーザカウントを決定するステップと、
    前記新しいユーザカウントにノイズを加えることにより、ノイズ差分を生成するステップと、
    前記ノイズ差分と、メモリに記憶された第1の閾値とを比較するステップと、
    前記ノイズ差分が前記第1の閾値よりも小さい場合に、前記記憶されたリストに対応するノイズ値を出力するステップと、
    前記ノイズ差分が前記第1の閾値よりも大きい場合に、前記新しいユーザIDのリストのための新しいノイズ値を出力するステップと、
    を有することを特徴とするデータベースシステムのための匿名化方法。
  12. 請求項11記載のデータベースシステムのための匿名化方法において、
    複数のユーザIDのリストを受け取るステップと、
    前記少なくとも1つの記憶されたリストとして、前記複数のユーザIDのリストの少なくとも1つを記憶するステップと、
    をさらに有するデータベースシステムのための匿名化方法。
  13. 請求項12記載のデータベースシステムのための匿名化方法において、
    前記記憶されたリストの各々のためのノイズ値を生成するステップと、
    前記記憶されたリストの各々のためのノイズ値を記憶するステップと、
    をさらに有するデータベースシステムのための匿名化方法。
  14. 請求項13記載のデータベースシステムのための匿名化方法において、
    前記第1の閾値は、前記少なくとも1つの記憶されたリストのサイズに基づいて選択されるデータベースシステムのための匿名化方法。
  15. 請求項13記載のデータベースシステムのための匿名化方法において、
    前記ノイズ差分および前記少なくとも1つの記憶されたリストのためのノイズ値が所定値以内である場合に、前記新しいユーザIDのリストが前記少なくとも1つの記憶されたリストと比較されるデータベースシステムのための匿名化方法。
  16. 請求項12記載のデータベースシステムのための匿名化方法において、
    前記少なくとも1つの記憶されたリストは、圧縮されて記憶されたリストであり、
    前記新しいユーザIDのリストを受け取った後に、その新しいユーザIDのリストを圧縮してこれを前記圧縮されて記憶されたリストと比較するステップをさらに有するデータベースシステムのための匿名化方法。
  17. 請求項16記載のデータベースシステムのための匿名化方法において、
    前記圧縮した新しいユーザIDのリストおよび前記圧縮されて記憶されたリストが適合したリストであるか否かを判定するステップと、
    前記圧縮した新しいユーザIDのリストおよび前記圧縮されて記憶されたリストが適合したリストである場合に、前記新しいユーザIDのリストに対して、前記圧縮されて記憶されたリストに対応するノイズカウントを出力するステップと、
    をさらに有するデータベースシステムのための匿名化方法。
  18. 請求項17記載のデータベースシステムのための匿名化方法において、
    前記圧縮されて記憶されたリストは単一の値をとるデータベースシステムのための匿名化方法。
  19. 請求項11記載のデータベースシステムのための匿名化方法において、
    前記複数のステップは、データベースと通信可能に接続された匿名化モジュールによって実行されるデータベースシステムのための匿名化方法。
  20. 請求項19記載のデータベースシステムのための匿名化方法において、
    前記少なくとも1つの記憶されたリストは、前記匿名化モジュールの内部に記憶されているデータベースシステムのための匿名化方法。
  21. 請求項11記載のデータベースシステムのための匿名化方法において、
    前記検索要求に応答して受け取られる新しいユーザIDのリストは複数あり、
    ユーザが所有しているリストカウントを判定し、ユーザが所有しているリストカウントが閾リストカウントより多い場合には、その閾リストカウントを超えた分を削除するステップをさらに有するデータベースシステムのための匿名化方法。
  22. データベースシステムのための匿名化方法であって、
    複数の検索要求に応答して、各々が真のユーザカウントを定義するユーザのリストを含む複数の回答を受け取るステップと、
    前記複数の回答に各ユーザが含まれる頻度を記憶するステップと、
    前記複数の回答に頻繁に含まれるユーザの存在を判定するステップと、
    前記複数の回答に頻繁に含まれるユーザの少なくとも一人を前記複数の回答の少なくとも1つから削除することにより、前記複数の回答の少なくとも1つのために前記真のユーザカウントを減じるステップと、
    を有することを特徴とするデータベースシステムのための匿名化方法。
  23. 請求項22記載のデータベースシステムのための匿名化方法において、
    前記複数の回答に頻繁に含まれるユーザの少なくとも一人を削除するステップは、任意の数のユーザに対して実行されるデータベースシステムのための匿名化方法。
  24. 請求項22記載のデータベースシステムのための匿名化方法において、
    前記複数の回答に頻繁に含まれるユーザの少なくとも一人を削除するステップは、所定の閾カウントのユーザに対して実行されるデータベースシステムのための匿名化方法。
  25. 請求項22記載のデータベースシステムのための匿名化方法において、
    前記複数の回答に頻繁に含まれるユーザの存在を判定するステップは、前記複数の回答におけるユーザの存在可能性を平均的な存在可能性に関連して判定することを含んでいるデータベースシステムのための匿名化方法。
JP2015068678A 2014-04-10 2015-03-30 匿名化されたユーザリストカウントのためのシステム及び方法 Active JP5992569B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461977850P 2014-04-10 2014-04-10
US61/977,850 2014-04-10

Publications (2)

Publication Number Publication Date
JP2015204111A true JP2015204111A (ja) 2015-11-16
JP5992569B2 JP5992569B2 (ja) 2016-09-14

Family

ID=52991461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015068678A Active JP5992569B2 (ja) 2014-04-10 2015-03-30 匿名化されたユーザリストカウントのためのシステム及び方法

Country Status (3)

Country Link
US (1) US20150293923A1 (ja)
EP (1) EP2930646B1 (ja)
JP (1) JP5992569B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204277A (ja) * 2016-05-10 2017-11-16 エアクローク ゲーエムベーハーAircloak GmbH 匿名型統計データベースのクエリのためのシステムおよび方法
JP2019032814A (ja) * 2017-05-10 2019-02-28 エアクローク ゲーエムベーハーAircloak GmbH ノイズ要素を用いた匿名化統計データベースクエリのためのシステム及び方法
US11194823B2 (en) 2016-05-10 2021-12-07 Aircloak Gmbh Systems and methods for anonymized statistical database queries using noise elements
JP2022517298A (ja) * 2020-02-14 2022-03-08 グーグル エルエルシー セキュアマルチパーティリーチおよび頻度推定

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9703963B2 (en) * 2014-05-09 2017-07-11 Fujitsu Limited Trusted and privacy-preserving mechanism for electricity usage data disclosure using verifiable noise
US10489605B2 (en) 2015-11-02 2019-11-26 LeapYear Technologies, Inc. Differentially private density plots
US20170124152A1 (en) * 2015-11-02 2017-05-04 LeapYear Technologies, Inc. Differentially private processing and database storage
US10467234B2 (en) 2015-11-02 2019-11-05 LeapYear Technologies, Inc. Differentially private database queries involving rank statistics
US10586068B2 (en) 2015-11-02 2020-03-10 LeapYear Technologies, Inc. Differentially private processing and database storage
US10726153B2 (en) 2015-11-02 2020-07-28 LeapYear Technologies, Inc. Differentially private machine learning using a random forest classifier
US9705908B1 (en) 2016-06-12 2017-07-11 Apple Inc. Emoji frequency detection and deep link frequency
US9594741B1 (en) 2016-06-12 2017-03-14 Apple Inc. Learning new words
US10229282B2 (en) 2016-06-12 2019-03-12 Apple Inc. Efficient implementation for differential privacy using cryptographic functions
US10341267B2 (en) * 2016-06-20 2019-07-02 Microsoft Technology Licensing, Llc Anonymized identifiers for secure communication systems
US10778633B2 (en) 2016-09-23 2020-09-15 Apple Inc. Differential privacy for message text content mining
US10430609B2 (en) * 2016-09-23 2019-10-01 International Business Machines Corporation Low privacy risk and high clarity social media support system
US11496286B2 (en) 2017-01-08 2022-11-08 Apple Inc. Differential privacy with cloud data
US10467433B2 (en) * 2017-03-17 2019-11-05 Mediasift Limited Event processing system
US10726139B2 (en) 2017-06-04 2020-07-28 Apple Inc. Differential privacy using a multibit histogram
US10776511B2 (en) 2017-06-04 2020-09-15 Apple Inc. User experience using privatized crowdsourced data
US10565398B2 (en) * 2017-10-26 2020-02-18 Sap Se K-anonymity and L-diversity data anonymization in an in-memory database
US11055432B2 (en) 2018-04-14 2021-07-06 LeapYear Technologies, Inc. Budget tracking in a differentially private database system
US10430605B1 (en) 2018-11-29 2019-10-01 LeapYear Technologies, Inc. Differentially private database permissions system
US11755769B2 (en) 2019-02-01 2023-09-12 Snowflake Inc. Differentially private query budget refunding
US10642847B1 (en) 2019-05-09 2020-05-05 LeapYear Technologies, Inc. Differentially private budget tracking using Renyi divergence
US11328084B2 (en) 2020-02-11 2022-05-10 LeapYear Technologies, Inc. Adaptive differentially private count
US11947812B2 (en) 2022-08-29 2024-04-02 Capital One Services, Llc Systems and methods for secure storage of sensitive data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013121739A1 (ja) * 2012-02-17 2013-08-22 日本電気株式会社 匿名化装置及び匿名化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8145682B2 (en) * 2010-02-25 2012-03-27 Microsoft Corporation Differentially private data release

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013121739A1 (ja) * 2012-02-17 2013-08-22 日本電気株式会社 匿名化装置及び匿名化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN7016000733; Ali Inan: 'Private Record Matching Using Differential Privacy' Proceedings of the 13th International Conference on Extending Database Technology , 2010, pp.123-134, ACM *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204277A (ja) * 2016-05-10 2017-11-16 エアクローク ゲーエムベーハーAircloak GmbH 匿名型統計データベースのクエリのためのシステムおよび方法
KR20170126804A (ko) * 2016-05-10 2017-11-20 에어클로아크 게엠베하 익명화된 통계적 데이터베이스 질문 시스템 및 방법
KR102094771B1 (ko) 2016-05-10 2020-03-31 에어클로아크 게엠베하 익명화된 통계적 데이터베이스 질문 시스템 및 방법
US11194823B2 (en) 2016-05-10 2021-12-07 Aircloak Gmbh Systems and methods for anonymized statistical database queries using noise elements
JP2019032814A (ja) * 2017-05-10 2019-02-28 エアクローク ゲーエムベーハーAircloak GmbH ノイズ要素を用いた匿名化統計データベースクエリのためのシステム及び方法
JP2022517298A (ja) * 2020-02-14 2022-03-08 グーグル エルエルシー セキュアマルチパーティリーチおよび頻度推定
JP7121194B2 (ja) 2020-02-14 2022-08-17 グーグル エルエルシー セキュアマルチパーティリーチおよび頻度推定
US11784800B2 (en) 2020-02-14 2023-10-10 Google Llc Secure multi-party reach and frequency estimation

Also Published As

Publication number Publication date
US20150293923A1 (en) 2015-10-15
EP2930646A2 (en) 2015-10-14
JP5992569B2 (ja) 2016-09-14
EP2930646A3 (en) 2015-11-04
EP2930646B1 (en) 2018-10-03

Similar Documents

Publication Publication Date Title
JP5992569B2 (ja) 匿名化されたユーザリストカウントのためのシステム及び方法
US10607726B2 (en) System for anonymizing and aggregating protected health information
Rajendran et al. A study on k-anonymity, l-diversity, and t-closeness techniques
Aggarwal et al. A general survey of privacy-preserving data mining models and algorithms
US9519774B2 (en) Systems and methods for SQL query constraint solving
Vatsalan et al. An evaluation framework for privacy-preserving record linkage
US10242213B2 (en) Asymmetric journalist risk model of data re-identification
US11163745B2 (en) Statistical fingerprinting of large structure datasets
JP2006505873A (ja) 機密データ共用および匿名エンティティ解決
CN109117669B (zh) MapReduce相似连接查询的隐私保护方法及系统
US9552494B1 (en) Protected indexing and querying of large sets of textual data
Caruccio et al. GDPR compliant information confidentiality preservation in big data processing
Kieseberg et al. Protecting anonymity in data-driven biomedical science
O'Keefe et al. A summary of attack methods and confidentiality protection measures for fully automated remote analysis systems
Askari et al. An information theoretic privacy and utility measure for data sanitization mechanisms
Yadav et al. Big data hadoop: Security and privacy
Zainab et al. Sensitive and private data analysis: A systematic review
Alfalayleh et al. Quantifying privacy: A novel entropy-based measure of disclosure risk
Mirel et al. A methodological assessment of privacy preserving record linkage using survey and administrative data
KR102218374B1 (ko) 비정형 트랜잭션 비식별 데이터의 품질 측정 방법 및 장치
Anjum et al. An effective privacy preserving mechanism for 1: M microdata with high utility
Kieseberg et al. Protecting anonymity in the data-driven medical sciences
Kacem et al. Geometric noise for locally private counting queries
Bairagi A Survey on Privacy Preserving Data mining.
Ba et al. Protecting data privacy from being inferred from high dimensional correlated data

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160329

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160524

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160617

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160817

R150 Certificate of patent or registration of utility model

Ref document number: 5992569

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250