location privacy in moving-object environments
TRANSCRIPT
論文紹介Location Privacy in Moving-Object Environments
[Dan Lin, Elisa Bertino, Reynold Cheng, Sunil Prabhaker] [TRANSACTIONS ON DATA PRIVACY 2 (2009) 21-46]
Seiya Tsubone (Nakagawa Lab. M1) 2014/5/22
1
論文構成• Abstract&導入
• 関連研究
• Location Privacy Protection (LPP) system の戦略とアーキテクチャ
• 具体的なアルゴリズム
• システム評価
• 数値実験
• まとめと今後の課題
2
論文の概要
• 位置情報に関するプライバシーを保護するフレームワークを提案
• Userの位置情報をそのままServerに送るのではなく、適切に変換を行ってから送る
• 変換はUserとServerの間に置かれたAgentが行う
• Serverが直接Userの位置情報を知ることはない上、権限のないUserにも位置を知られることはない
• サービスの品質を落とすこと無く、プライバシー向上に成功
3
システムアーキテクチャ
4
AgentはUserから受け取った情報をTransformし、Serverに渡す
※Serverに渡した後はAgentに情報は残らない
User
• 一定時間毎に情報を送る
• 情報を送る際には,ランダムにAgentを1つ選んでそいつに送る
• Userは他のUserの情報にアクセス出来る権限を表す指標として、group id list を持つ
• レコードは となる
5
システムアーキテクチャ
Agent
• Userから受け取ったデータを変換してServerに送る
• また、Serverから受け取ったデータを逆変換してUserに送る
• 変換対象は user ID, group IDs, user locations
• Serverが同じAgentから受け取ったデータ列から情報を解析するのを防ぐため、Agentは
Transformation Function(変換関数)を定期的に変更する
• そのため、変換関数を管理するテーブルを持つ。
テーブルのレコードは <tid, fid, countid> という形式
※tはfを使い始めた時間, fは変換関数の識別子, countはその関数を適用しているオブジェクトの個数
• AgentはServerから独立しており、データを蓄積することはない
6
システムアーキテクチャ
Server
• Serverはデータを蓄積し、クエリを処理する
• Serverがデータを管理するインデックス構造としては
TPR*-treeを用いる(※他の論文で紹介)
7
システムアーキテクチャ
システム全体としての特徴
• 単独のエンティティだけではUserの動きを追跡出来ない
• 静的なオブジェクトに対しては別のデータベースで情報を管理する
※e.g. レストラン
アルゴリズム1. Data Transformation
• ID Transformation
• Location Transformation
• Query Transformation
2. Updates
3. Queries
• Range Query
• K Nearest Neighbor Query
8
ID Transformation
目的
1. 異なるAgentsから送られてきたデータでUserが特定されてしまうのを防ぐ
→ 異なるAgentには異なるfunctionを持たせる
2. 単独のAgentから同じUserが特定されてしまうのを防ぐ
→ 1つのAgentも定期的にfunctionを変更する
9
Location Transformation
• userID Transformation だけでは不完全
→ 個人の家などの位置情報が漏れてしまえば、IDと結び付けられてしまう
• 位置情報サービス(e.g. 近隣情報)のためには、Location Transformation を行った後に位置と位置の相対距離を保つ必要
→ しかし、相対距離を完全に保ったまま全ての位置オブジェクトを変換してしまうと、map topology がバレてしまう
→ なので、変換後の各オブジェクトの位置を少しずつずらすことで対応
10
Location Transformation
11
Location Transformation
12
Query Transformation
• クエリの形式は q = (c(x, y), r)
• 先ほどのmultiple transformation があるせいで、1つのAgentがクエリを処理する場合に、そのAgentが持つ全ての関数に適応してからServerに送る必要がある
→ 逐次実行するのもアリだが、それは非効率なのでsuper queryという概念を導入
13
Super Query
• q = (c(x, y), r) の時, qs = (c(f0(x), f0(y)), f0(λ)+λ)
• super query は異なる変換関数に対するクエリを包括している
14
Super Query の Overhead
• 誤検知率が2λ/fi(r)
• λを調節することによって誤検知率を操作可能
• Userの観点からは、Agentが誤検知をフィルターしてくれるので、誤検知率は0となる。
15
Updates
• Insertionとdeletionの繰り返し
• 変換関数のテーブルのcountを管理
→ countが0になったものはテーブルから削除する
• Userからの応答が一定時間無い場合は、消えたものとして扱う
16
Updates
17
Range Query• 先ほどのSuper Query を全てのエージェントが計算し、サーバに送る
※ Agent毎に変換関数のテーブルは存在
18
Range Query
19
K Nearest Neighbor Query
• 座標が与えられた時に、その座標に近い順にK個までのオブジェクトを探すクエリ
• このシステムでは、先ほどのRange QueryをK個のオブジェクトが見つかるまで、半径を拡大していきながら逐次実行することで実現
20
システム評価• : システムのプライバシ特性を示す数値, 低いほどよい
式の導出は省略。この数値はλによって調節することが出来る
• Trade-off
Agentの数が増えるほどプライバシーは高くなるが、通信コストが掛かる
• 並列プロセス
Agentによって1つのクエリをいくつかの小さなクエリに分解することになるので、並列プロセスに適している
21