提高數據庫安全性的 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. 無數據
無狀態計算是大部分網絡的基礎,許多提高效率的驅動器在以盡可能少的記錄保存方式重新構想工作時取得了成功。在某些極端情況下,當合規性成為可能并且用戶愿意接受不太個性化的服務時,刪除數據庫可以最大程度地保護隱私。