Data-Privacy
根據party-2 白/黑名單過濾party-1 字元串,保持列表私有
假設我有一個伺服器和一個客戶端。客戶端有一個任意字元串的列表,伺服器應該使用伺服器端保存的白名單和黑名單來過濾這個列表。最好不要將字元串列表共享給伺服器並將白/黑名單共享給客戶端。例如,客戶端打開的應用程序列表是敏感數據,白名單/黑名單也不應該從伺服器公開到外部世界。我想知道是否可以根據白/黑名單檢查客戶端字元串,使它們在所有各方都保持私密。我現在能看到的唯一方法是:
- 客戶端:將字元串列表拆分為按空格拆分的字元串列表並散列每個元素。
- 伺服器:對白名單和黑名單做同樣的事情。
- 伺服器:比較客戶端和伺服器的雜湊值。
這個解決方案有很多缺點。是否有可能以其他方式重新實現它?或者,這個想法是否可行?謝謝你。
我看到兩個問題;
- 關鍵字的數量非常少,並且可能來自伺服器的字典攻擊。
for i in English_Dictionary
if Hash(i) == target_hash
返回成功
此外,也可以使用Rainbow表。為了克服這些問題,您需要在明文中添加鹽,以防止來自伺服器端的任何字典或彩虹攻擊。
有更先進的保護方法,如;