11種提高數據庫安全性的技術和工具
譯文【51CTO.com快譯】數據庫管理人員通常在保證安全和隱私方面承擔重要責任,因此需要采用可以降低風險并幫助確保合規性的一些技術。
數據庫包含大量個人信息,其中包括一些非常敏感的數據,這為管理和運營數據庫的管理人員帶來了一些問題和挑戰,但數據庫開發人員可以采用一些先進的工具和技術保持信息的私密性。
人們采用的安全解決方案取決于對數學的巧妙應用。一些最簡單的機制就是現代版本的密碼,其在本質上是經典解碼器的數字版本。另外一些采用更復雜的技術擴展,推動數學提供更多的靈活性和責任感。其中一些是采用多年并最終獲得信賴的實用算法。
這些算法正在成為鞏固業務關系和確保準確無欺詐工作流程的基礎。這些技術使企業可以更輕松地向客戶提供個性化服務,同時保護他們的秘密。并且能夠在不妨礙服務交付的情況下更好地遵守管理數據的法規。
以下是可以提高數據庫安全性的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.無數據
無狀態計算是大部分網絡的基礎,許多提高效率的驅動程序在以盡可能少的記錄保存方式重新構想工作時取得了成功。在某些極端情況下,當合規性成為可能并且用戶愿意接受較少個性化的服務時,刪除數據庫可以最大限度地保護隱私。
原文標題:11 technologies improving database security,作者:Peter Wayner
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】