13. バケット索引のベクトル表記
バケット索引では対象のドメインDAをバケット化する
inf DA sup DA
a1 a2 ai an
属性値がラベルaiのバケットに入るタプルの問合せ
{ t | t ∈ R ∧ t.IA = ai } (索引値が ai に一致するタプル)
t.IA = ai ai – t.IA = 0 1
(1 -t.IA) =0
ai
タプルごとに定まる 問合せごとに定まる
索引 問合せ
13 2010年 暗号と情報セキュリティシンポジウム 2010/1/21
14. 問合せ表記のランダム化
乱数の追加
ai
ai
(1 -t.IA) =0 (1 0 -t.IA) r = 0 (r : 毎回異なる乱数)
1 1
基底の変換
ai ai
(1 0 -t.IA) r = 0 (1 0 -t.IA)M M-1 r = 0 (M : 正則行列)
1 1
索引 問合せ
同じ ai に対して,毎回異なる問合せベクトルとなる
14 2010年 暗号と情報セキュリティシンポジウム 2010/1/21
15. 安全性について
問合せベクトルが一致する確率
問い合わせるバケットラベル ai と乱数 r が一致する時
乱数 r に 32bit 整数を用いると約4億通りの可能性
同じ ai を問い合わせ続けても 4 億回に1回の一致
基底の変換行列 M が漏洩する可能性
サーバには (1 0 -t.IA)M のみ保存される
サーバ上のタプルからは M を計算できない
利用者に配布される M-1 は漏洩しないと仮定すると安全
利用者ごとに異なる M-1u を用いる方法は今後の課題
15 2010年 暗号と情報セキュリティシンポジウム 2010/1/21
16. 範囲問合せの処理
属性Aの値がバケットaiからajに入るタプルを問合せる
t
ai+aj 2
問合せとして Q(ai, aj)= M-1 ai-aj r ai-aj を用いて
索引 I に対して-1 ≤ I •Qu(ai, aj) ≤ 1 を満足するタプルを求める
以下より属性Aの値がバケットaiからajに入るタプルのみ取得
r
r
16 2010年 暗号と情報セキュリティシンポジウム 2010/1/21
17. 評価実験
実験内容
共著関係データ:Bibliography on database systems†
問合せのシミュレーション
著者を利用者とし,各論文情報をDBへ保存する
8309名の利用者と20011個の暗号化タプル
利用者(著者)は自身が執筆した論文を検索したとする
Authors Title
M. Abadi Temporal-Logic Theorem … …
J. Abate and H. Dubner Optimizing Performance of … …
…
…
…
見かけ上のタプル(本来は暗号化されている)
† http://liinwww.ira.uka.de/bibliography/
17 2010年 暗号と情報セキュリティシンポジウム 2010/1/21