繼續前一階段PSI調研之後,最近開始看一些PIR相關内容,目前針對PIR的研究主要按三類進行,
1. 資訊論安全的PIR(IPIR);2 計算安全的PIR(CPIR);3 基于安全硬體的PIR
這裡簡單記錄一下基于資訊論PIR的思想(隻介紹思想); 例子是Chor 1997年最早提出PIR時的 2-server PIR模型
前提:1. 采用兩個伺服器各自存儲相同的資料庫(假設是一個n位的二進制串)
2. 兩個伺服器不能共謀(兩個伺服器不能互相知道使用者給對方發了什麼請求)
如:使用者想要查詢索引為2 (i=2) 的二進制位資訊,例子裡 DB[2] =1 ; DB[0] = 0 ; DB[1] =0; DB[3] = 0
發起請求:
于是構造兩個請求,q1, q2, 滿足:
q1=S;q2=S ⨁ i
這裡的⨁ 操作表示S集合中如果存在i 則剔除掉,如果不存在則加入i 到S中
也就是說 q1 與q2 相差索引i的查詢;
傳回:
1. 兩個伺服器各自傳回 r1,r2,分别為所有索引對應二進制數字的異或值
r1 = 0 ; r2 = 1
2. 使用者最終查詢結果 r_user = r1 xor r2 = 1
這個雙server的IPIR模型是 IPIR的最基本模型,後續Chor提出多server以及基于覆寫碼編碼的方案。但目前IPIR由于通信成本和存儲成本高昂,很難在現實中使用, 實際使用的大多是基于計算安全或者基于安全硬體的方案。