零信任網絡中如何保護自己的隱私?不經意隨機訪問機簡介
?我們看諜戰片的時候,經常會看到地下黨員接頭的時候,為了防止自己被跟蹤,都要七拐八拐,這里坐一會兒,那里待一會兒,這邊買點啥,那邊聊兩句,作用就是防止自己被人跟蹤,從而暴露自己的同志。畢竟如果有特務發現,一個有嫌疑的人,天天沒事就去某個路邊攤買煎餅,就算是繞路也要去。那么那個賣煎餅的人很可能就是消息接頭人,搞不好就一起被抓了。所以從事這類工作的人,通常都需要盡可能的避免自己的主要目的地被發現,所以會通過隨機做一些雜七雜八的事情,來保護好自己要接頭的對象。
在網絡時代,各種重要的信息都在網絡上通信,因此難免被別有用心的人進行監聽、竊取。畢竟我們生存在一個零信任網絡()之中,因此,我們需要對每一次重要的訪問進行處理。通常,我們會使用各種加密算法來保護自己的數據隱私,例如上傳身份證號、用戶名、密碼、家庭住址等重要的時候,這個數據肯定是要被加密的。通常我們會使用對稱加密算法如AES、DES、3DES、Blowfish、RC6等,或者是非對稱加密,例如RSA、DSA、ECC、Diffie-Hellman等。以及一些散列算法,例如MD5、SHA、WHIRLPOOL等。
但是這些加密技術只是對于信息本身進行了加密,保證信息本身難以被第三方破解,但是用戶對于信息訪問過程并不能被保護。而攻擊者可以通過監聽用戶對于數據的訪問模式和訪問過程來推斷出用戶的很多隱私信息,例如數據的重要程度、數據的關聯性、甚至還可以通過一些方法來推斷出加密數據的內容。而這些信息則會暴露用戶的一些重要的行為特征,例如興趣愛好、社交范圍等。比如說如果說某位重要人物,經常查詢某一類藥物,則很有可能他患有什么疾病。
因此,在信息時代的應用場景中,僅通過對數據本身的內容進行加密保護,并不能完全地保護用戶的隱私,對用戶的訪問模式和訪問過程的保護,也是一個關鍵的領域。
很多人都聽說過一個故事,就是日本人從1966年《中國畫報》上一張王進喜的照片,就判斷出中國當時最大的石油基地大慶油田的很多信息。例如他們從王進喜的衣服判斷,只有在北緯46度到48度的區域內,才需要穿成這樣,所以油田位于齊齊哈爾與哈爾濱之間。從王進喜所握手柄的架式,推斷出油井的類型等等。
這個故事真假不論,但是在零信任網絡中,隱藏這些可以透露很多信息的細節,顯然是很有必要的。尤其是隨著技術的發展,越來越多的數據存儲在云上,因此保護用戶的訪問模式也就變得愈加重要起來。
而不經意隨機訪問機就是目前保護訪問模式和訪問過程的一種重要手段,這一技術的目的是隱藏對真實數據的訪問,使得攻擊者不能區分每次訪問到底是真實的還是隨機的,就好像特務無法判斷同志們到底是真的在買煎餅還是在交換信息一樣。采用隨機訪問機的方式,可以有效地防止攻擊者利用訪問模式獲取隱私信息,減小信息存儲系統的攻擊面,打破單純使用傳統加密方式來保護數據隱私的系統框架,為用戶提供更為安全的云服務。從而對設計更安全高效的分布式計算框架有著重要的意義。
但是使用隨機訪問機,不可避免地會帶來額外的系統開銷。為了隱藏訪問模式,需要對多個數據隨機進行訪問,這毫無疑問增加了客戶端與服務端的開銷。就好像交換情報一樣,原來只需要訪問一個煎餅攤,結果卻訪問了燒餅攤、烤串攤和水果攤之類的。
不經意隨機訪問機(oblivious RAM,ORAM)的概念最早起源于RAM(Random Access Machine)模型,RAM是一種重要的計算仿真手段,處理器通過對存儲器的讀寫來實現程序的執行。20世紀80年代,為了隱藏程序對內存的訪問模式來避免軟件的逆向工程,Goldriche等人在此基礎上提出了ORAM模型,在這種模型中,存儲器中的任意數據塊不會永久駐留在某一個物理地址中,這確保了任意兩次訪問不會產生關聯。同時ORAM將每一次讀寫訪問細化成一次讀取加一次寫回的原子操作。其中,讀訪問轉化成讀取內容再寫加相同內容,寫訪問轉化成讀取內容再寫回更新后的內容,使用攻擊者不能區分具體的訪問方式。
ORAM模型可以很好的保護以下4種屬性:
1、訪問數據塊的位置;
2、數據塊的請求順序;
3、對相同數據塊的訪問頻率;
4、具體的讀寫訪問方式。
這就使得在訪問結束之后,攻擊者不能根據訪問模式來判斷用戶的真實意圖,有效地保護了用戶的個人隱私。
目前ORAM已經在很多領域得到了應用,而科研人員們還在不斷地對其進行功能和性能的優化。?