保護雲端隱私的技術:Homomorphic Encryption 與 Unhosted

◎ 本篇文章傳達作者意見,不代表自由軟體鑄造場電子報立場,回覆意見請見部落格原文網址,採用 CC-BY-SA 授權

公有雲的雲端上,沒有隱私。雲端廠商本身不一定有興趣窺探你的秘密資料,但若某國政府,或官司對手突然對你的秘密有興趣,廠商可能沒有勇氣甚至沒有法律立場抗拒要求。

既要上雲端,又想保護隱私,唯一的希望就是讓雲端廠商看不懂或看不見你的秘密資料。那麼就算本國或他國的政府、律師從雲端調閱你的隱私資料,也不會構成威脅。Homomorphic encryption 與 unhosted 這兩種保護雲端隱私的資訊安全技術,就是分別依據這兩個想法運作。

Homomorphic encryption 的概念是:資料先加密才放上雲端,確保 SaaS 雲端服務商看不懂你存了什麼。但是雲端服務商看不懂你存的資料,又如何提供「軟體即服務」給你呢?如果加密演算法經過特殊設計,可以找到加法、乘法等每個運算的相對應函數 f、g 等等,使得雲端上的對應運算(f 或 g)恰好「等同於」 (equivalent to) 原本想要做的運算(加法或乘法)──意即加法或乘法運算之前與之後的資料,其加密的結果正好就是 f 運算或 g 運算之前與之後的資料──那麼雲端廠商形同矇著眼睛做計算,即使他們看不懂你的資料,也能算出你所需要的結果,然後你再自己解密。IBM 的學者 Craig Gentry 在 2009 年首度找到一個滿足上述要求的加解密系統,homomorphic encryption 在理論上證實可行。詳見 Craig Stuntz維基百科。資安專家 Bruce Schneier提醒大家理論與實用之間還有一段距離。後來 Gentry 與其他學者又改良原本的演算法,大幅簡化運算方式,Microsoft 已於 2011 年 8 月展示可行的實作。Homomorphic encryption 還有許多其他應用,包含線上投票等。詳見密碼學學者所搜集的許多學術文章連結

進一步說,何必讓 SaaS 雲端應用軟體的服務商看見你的資料呢?一群程式高手觀察到一個重點:雲端運算的「運算」不見得一定要發生在「雲端」上。雲端運算的重點是:(1) 自己的資料放在雲端上。(2) 大家共用一套來自雲端的軟體,例如用 wiki 或 googledoc 之類的雲端文書系統取代 MS Office,就不會出現你我檔案格式版本不同的困擾。至於真正的運算工作到底在哪裡發生其實並不重要。如果我們把資料和程式碼切割考慮,把雲端廠商切割成兩類角色,unhosted application 提供程式碼;unhosted account 提供儲存空間,那麼真正的運算可以在本地機發生,並不需要在雲端發生,因此兩個雲端廠商都無法窺探你的秘密。也就是說,你的本地機從一朵雲 (unhosted application) 取得程式碼,又從另一朵雲 (unhosted account) 取得加密過的資料,然後在本機端解密、處理資料、加密,再傳回後者 (unhosted account)。Unhosted application 始終看不見你的資料,unhosted account 則永遠只看得見加密過後的資料。

從雲端隱私保護的角度來看,Unhosted 不論在理論或實作上,都比 homomorphic encryption 簡單。Javascript 就是現成的客戶端(本機端)執行技術,可以作為 unhosted application 提供程式碼給本機端的載具;而 WebDAV 則是現成的遠端資料編寫協訂,可以作為本地機透過 javascript 向 unhosted account 請求讀寫資料的溝通「語言」。Unhosted 計畫官網已經推出程式庫、文件、範例程式供開發者取用;LibreOffice 也開始探索與 unhosted 計畫合作的可能性。如果有一天 LibreOffice 成功移植到 unhosted 架構上,將會是保有隱私之文書處理雲端化的重要里程碑。

採用 unhosted 技術,還可以得到許多額外的贈禮:

  1. 提供 unhosted application 服務的廠商或組織可以免除管理資料的困擾,例如儲存空間、備份、消費者隱私保護法規等,以降低成本。
  2. 提供 unhosted account 服務的廠商或組織不需要提供複雜的軟體服務,同時加解密技術也替他們免除了消費者隱私保護法規所施加的責任。
  3. 用戶享有軟體自由與資料自由,你甚至可以把資料放在私有雲上面,完全保護自己的穩私。
  4. 即便 unhosted application 供應商所提供的不是自由軟體,它至少必須遵守開放檔案格式以及開放通訊協定的規範,這讓用戶可以免於 docx 之類封閉檔案格式或專利地雷檔案格式的綁架。切換不同的應用軟體處理同一份資料將會變得比較容易。

幫公司、組織、學校導入雲端運算方案時,如果遇到涉及員工隱私或組織機密的資料,又非採取私有雲技術,那麼一位有職業道德的 CIO電算中心主任 應該考慮堅持採用 unhosted 技術,或至少採用 homomorphic encryption 技術,以確保用戶的資訊安全。尤其像「教育雲」之類的構想,是強制將全國學生甚至是家長的隱私搬上雲端,爭議性極高。如果不採用 unhosted 技術,將來若隱私外洩引發糾紛,很可能又會發生「公民納稅、政府國賠」的憾事。




自由軟體鑄造場電子報 : 第 189 期 保護雲端隱私的技術:Homomorphic Encryption 與 Unhosted
標籤: cloud technology,   Homomorphic Encryption,   Unhosted,   privacy,  
分類: 自由專欄