數據庫里存儲了大量個人信息,包括一些非常敏感的資料,讓必須管理數據庫的公司十分頭痛。如今,運用各種高級工具和技術,數據庫開發人員可以在保持信息私密的狀態下放心執行各種操作。
這些解決方案靠的是數學的巧妙應用。其中一些最簡單的機制不過是密碼的現代版本,本質上就是經典解碼輪的數字版。其他方案是更為復雜的擴展,利用數學交付更多靈活性與可靠性。大部分解決方案的創意已在實驗室里流傳了幾十年,變得足夠穩定,值得信任,最終形成實用版本。
這些算法正成為鞏固業務關系并確保準確可信工作流的基礎,方便企業在保護自身秘密的同時向客戶提供個性化服務。而且,此類方法還能方便公司在不阻礙服務交付的情況下監管數據流,實現更好的合規。
下面我們就列出便于企業更放心信任數據庫的11種工具和技術。
1. 基本加密
有時候,最簡單的解決方案就足夠了。現代加密算法用一個密鑰給數據上鎖,只有持有該密鑰的人才能讀取數據。很多數據庫都可以采用AES等標準加密數據。這些解決方案能夠有效對抗可能由盜竊等造成硬件遺失情況。沒拿到正確的加密密鑰,數據就依然是不可窺探的黑匣。
不過,這種方法存在局限,對稱加密算法對攻擊者潛入運行中計算機的情況防護有限。攻擊者可能會找出數據庫用來處理合法操作的同一密鑰。很多數據庫提供加密“靜態”信息的選項。比如說,Oracle就將其此類選項稱為“透明數據加密”,用以強調數據庫開發人員不用為此多費心思。
2. 差分隱私
這項技術以另一種方式利用數學,不是將信息鎖在數字保險柜里,而是添加精心構造的噪聲,讓人難以確定哪條記錄對應哪個人。只要噪聲添加正確,就不會導致許多統計數據失真,比如平均值。即使在數據集中隨機抽取記錄給年齡字段增加或減少幾歲,平均年齡也會保持不變,但就難以通過年齡來找到特定的人。
這類解決方案的效用各不相同,最適用于向希望通過計算平均值和集群大小來研究數據的不可信合作伙伴發布數據集。很多算法都能很好地往數據集中添加噪聲,同時不會造成太多聚合統計數據失真。業界目前仍在探索哪種機器學習算法能夠有效處理經扭曲的數據。
微軟和谷歌推出了將此類算法與數據存儲和機器學習算法集成的工具。例如,谷歌的Privacy-On-Beam,就將噪聲添加機制與Apache Beam管道處理整合到了一起。
3. 散列函數
此類計算有時候也稱為“消息認證碼”或“單向函數”,以基本上無法逆向的方式將大文件縮減為一個較小的數字。給定一個特定的結果或認證碼,想借此找出生成這個認證碼的文件是很難的,要花費大量的時間。
此類函數是區塊鏈的重要組成部分,區塊鏈將這些函數應用到數據的所有更改上,以便跟蹤數據變更和識別篡改。可以運用此類技術防止加密貨幣交易欺詐,或者應用到需要保證數據一致的其他數據庫上。而且,加入這些函數還有助于滿足合規要求。
美國國家標準與技術研究所(NIST)提出的安全散列算法(SHA)就是廣泛使用的一組標準。早期版本,比如SHA-0和SHA-1,存在已知缺陷;但更新的版本,比如SHA-2和SHA-3,就非常安全了。
4. 數字簽名
RSA或DSA等數字簽名算法將散列函數的酸鈣檢測屬性與證明此信息的特定人員或機構結合起來,是更加復雜的計算形式。數字簽名依賴僅責任方知曉的秘密密鑰。比如說,加密貨幣就將財務所有權與知曉正確密鑰的人綁定到一起。跟蹤個人責任的數據庫可以納入數字簽名,以之驗證特定交易的有效性。
5. SNARK
簡潔非交互式知情證明(SNARK)是高級版數字簽名,可以在不泄露信息本身的情況下證明復雜個人信息。這種手法依賴名為“零知識證明”(ZKP)的復雜數學方法。
引入SNARK和其他類似證明的數據庫可以保護用戶的隱私,同時確保合規。舉個最簡單的例子,一張數字駕駛證就能在不透露年齡的情況下,證明某個人達到飲酒年齡了。還有人在探索將此技術應用到疫苗護照上。
SNARK和其他非交互式證明是該領域較活躍的研究方向。多支研究團隊采用不同編程語言形成了此類算法的數十個實現,為新項目打下了良好基礎。
6. 同態加密
處理用傳統加密算法鎖定的數據只能先解密之,但解密過程可能將數據暴露在能接觸解密計算機的任何人面前。同態加密算法旨在不用解密就能對加密信息執行計算操作。最簡單的算法可以執行兩數相加等算術運算。更復雜一些的算法可以進行任意計算,但速度通常會非常慢。目前業界正在找尋特定問題的最高效解決辦法。
IBM是該領域的研究先行者,已推出將其同態加密與iOS和MacOS應用集成的工具集。
7. 聯合處理
一些開發人員會將數據集劃分成小塊,有時候非常非常小,然后分發到許多獨立計算機上。這些位置可能很散亂,所以無法預測哪臺計算機持有哪條記錄。此類解決方案常依賴各種軟件包,旨在通過并行執行搜索或分析算法來加速處理所謂的大數據。其初衷是速度,但增強了抗攻擊性倒是個意外之喜。
8. 完全分布式數據庫
如果將數據集劃分成幾塊能夠保護隱私,那為什么不直接劃分成幾十上百億塊?更常見的解決方案是直接在數據創建和使用的地方存儲數據。用戶的智能手機通常擁有大量額外算力和存儲空間。如果對集中分析和處理的要求極低,那避免將數據傳到云端服務器的做法就相當省時省力省錢了。
比如說,很多瀏覽器都支持本地存儲復雜數據結構。W3C標準包含具有鍵和值的文檔樣式模型的本地存儲,以及適用于關系模型的索引版本。
9. 合成數據
一些研究人員正在創建完全合成的數據集,這些數據集通過隨機生成新值構建,但遵循相同的模式,且在統計上基本相同。例如,名為RTI的研究智庫創建了一版2010年美國人口普查數據,其中包含居住地址隨機的隨機人員。這些人完全是虛構的,但其家庭住址和個人信息經過挑選,具有與真值相同的基本統計特征。在許多情況下,研究人員可以測試算法并生成與處理真實數據一樣精確的解決方案。
10. 中介與代理
一些研究人員構建的工具可以限制數據集并在存儲前先預處理數據。比如說,Mozilla的Rally就可為希望研究互聯網信息流的研究人員跟蹤瀏覽習慣。該工具會在研究期間安裝一個特殊的插件,然后在結束時再卸載掉。該工具形式化描述關系,并強制執行有關收集和聚合的規則。
11. 無數據
無狀態計算是網上諸多事項的基礎,且大多推動了盡可能減少記錄保存的效率提升。一些極端案例中,如果合規要求允許無狀態計算,用戶也愿意接受不那么個性化的服務,那么刪除數據庫可以最大限度地保護隱私。
原文地址:https://mp.weixin.qq.com/s?__biz=MzkxNzA3MTgyNg==&mid=2247490449&idx=2&sn=02fc16828928f17da581046a25707cf8&chksm=c147692cf630e03a7462f8f26980e4a546a86b2e41e093f15d1db0301d52542e28da22844243&mpshare=1&s