改善數(shù)據(jù)庫安全的11項技術

現(xiàn)代加密算法用一個密鑰給數(shù)據(jù)上鎖,只有持有該密鑰的人才能讀取數(shù)據(jù)。很多數(shù)據(jù)庫都可以采用AES等標準加密數(shù)據(jù)。這些解決方案能夠有效對抗可能由盜竊等造成硬件遺失情況。沒拿到正確的加密密鑰,數(shù)據(jù)就依然是不可窺探的黑匣。

2345截圖20210719174729.png

數(shù)據(jù)庫里存儲了大量個人信息,包括一些非常敏感的資料,讓必須管理數(shù)據(jù)庫的公司十分頭痛。如今,運用各種高級工具和技術,數(shù)據(jù)庫開發(fā)人員可以在保持信息私密的狀態(tài)下放心執(zhí)行各種操作。

這些解決方案靠的是數(shù)學的巧妙應用。其中一些最簡單的機制不過是密碼的現(xiàn)代版本,本質(zhì)上就是經(jīng)典解碼輪的數(shù)字版。其他方案是更為復雜的擴展,利用數(shù)學交付更多靈活性與可靠性。大部分解決方案的創(chuàng)意已在實驗室里流傳了幾十年,變得足夠穩(wěn)定,值得信任,最終形成實用版本。

這些算法正成為鞏固業(yè)務關系并確保準確可信工作流的基礎,方便企業(yè)在保護自身秘密的同時向客戶提供個性化服務。而且,此類方法還能方便公司在不阻礙服務交付的情況下監(jiān)管數(shù)據(jù)流,實現(xiàn)更好的合規(guī)。

下面我們就列出便于企業(yè)更放心信任數(shù)據(jù)庫的11種工具和技術。

1.基本加密

有時候,最簡單的解決方案就足夠了。現(xiàn)代加密算法用一個密鑰給數(shù)據(jù)上鎖,只有持有該密鑰的人才能讀取數(shù)據(jù)。很多數(shù)據(jù)庫都可以采用AES等標準加密數(shù)據(jù)。這些解決方案能夠有效對抗可能由盜竊等造成硬件遺失情況。沒拿到正確的加密密鑰,數(shù)據(jù)就依然是不可窺探的黑匣。

不過,這種方法存在局限,對稱加密算法對攻擊者潛入運行中計算機的情況防護有限。攻擊者可能會找出數(shù)據(jù)庫用來處理合法操作的同一密鑰。很多數(shù)據(jù)庫提供加密“靜態(tài)”信息的選項。比如說,Oracle就將其此類選項稱為“透明數(shù)據(jù)加密”,用以強調(diào)數(shù)據(jù)庫開發(fā)人員不用為此多費心思。

2.差分隱私

這項技術以另一種方式利用數(shù)學,不是將信息鎖在數(shù)字保險柜里,而是添加精心構(gòu)造的噪聲,讓人難以確定哪條記錄對應哪個人。只要噪聲添加正確,就不會導致許多統(tǒng)計數(shù)據(jù)失真,比如平均值。即使在數(shù)據(jù)集中隨機抽取記錄給年齡字段增加或減少幾歲,平均年齡也會保持不變,但就難以通過年齡來找到特定的人。

這類解決方案的效用各不相同,最適用于向希望通過計算平均值和集群大小來研究數(shù)據(jù)的不可信合作伙伴發(fā)布數(shù)據(jù)集。很多算法都能很好地往數(shù)據(jù)集中添加噪聲,同時不會造成太多聚合統(tǒng)計數(shù)據(jù)失真。業(yè)界目前仍在探索哪種機器學習算法能夠有效處理經(jīng)扭曲的數(shù)據(jù)。

微軟和谷歌推出了將此類算法與數(shù)據(jù)存儲和機器學習算法集成的工具。例如,谷歌的Privacy-On-Beam,就將噪聲添加機制與Apache Beam管道處理整合到了一起。

3.散列函數(shù)

此類計算有時候也稱為“消息認證碼”或“單向函數(shù)”,以基本上無法逆向的方式將大文件縮減為一個較小的數(shù)字。給定一個特定的結(jié)果或認證碼,想借此找出生成這個認證碼的文件是很難的,要花費大量的時間。

此類函數(shù)是區(qū)塊鏈的重要組成部分,區(qū)塊鏈將這些函數(shù)應用到數(shù)據(jù)的所有更改上,以便跟蹤數(shù)據(jù)變更和識別篡改??梢赃\用此類技術防止加密貨幣交易欺詐,或者應用到需要保證數(shù)據(jù)一致的其他數(shù)據(jù)庫上。而且,加入這些函數(shù)還有助于滿足合規(guī)要求。

美國國家標準與技術研究所(NIST)提出的安全散列算法(SHA)就是廣泛使用的一組標準。早期版本,比如SHA-0和SHA-1,存在已知缺陷;但更新的版本,比如SHA-2和SHA-3,就非常安全了。

4.數(shù)字簽名

RSA或DSA等數(shù)字簽名算法將散列函數(shù)的酸鈣檢測屬性與證明此信息的特定人員或機構(gòu)結(jié)合起來,是更加復雜的計算形式。數(shù)字簽名依賴僅責任方知曉的秘密密鑰。比如說,加密貨幣就將財務所有權與知曉正確密鑰的人綁定到一起。跟蹤個人責任的數(shù)據(jù)庫可以納入數(shù)字簽名,以之驗證特定交易的有效性。

5.SNARK

簡潔非交互式知情證明(SNARK)是高級版數(shù)字簽名,可以在不泄露信息本身的情況下證明復雜個人信息。這種手法依賴名為“零知識證明”(ZKP)的復雜數(shù)學方法。

引入SNARK和其他類似證明的數(shù)據(jù)庫可以保護用戶的隱私,同時確保合規(guī)。舉個最簡單的例子,一張數(shù)字駕駛證就能在不透露年齡的情況下,證明某個人達到飲酒年齡了。還有人在探索將此技術應用到疫苗護照上。

SNARK和其他非交互式證明是該領域較活躍的研究方向。多支研究團隊采用不同編程語言形成了此類算法的數(shù)十個實現(xiàn),為新項目打下了良好基礎。

6.同態(tài)加密

處理用傳統(tǒng)加密算法鎖定的數(shù)據(jù)只能先解密之,但解密過程可能將數(shù)據(jù)暴露在能接觸解密計算機的任何人面前。同態(tài)加密算法旨在不用解密就能對加密信息執(zhí)行計算操作。最簡單的算法可以執(zhí)行兩數(shù)相加等算術運算。更復雜一些的算法可以進行任意計算,但速度通常會非常慢。目前業(yè)界正在找尋特定問題的最高效解決辦法。

IBM是該領域的研究先行者,已推出將其同態(tài)加密與iOS和MacOS應用集成的工具集。

7.聯(lián)合處理

一些開發(fā)人員會將數(shù)據(jù)集劃分成小塊,有時候非常非常小,然后分發(fā)到許多獨立計算機上。這些位置可能很散亂,所以無法預測哪臺計算機持有哪條記錄。此類解決方案常依賴各種軟件包,旨在通過并行執(zhí)行搜索或分析算法來加速處理所謂的大數(shù)據(jù)。其初衷是速度,但增強了抗攻擊性倒是個意外之喜。

8.完全分布式數(shù)據(jù)庫

如果將數(shù)據(jù)集劃分成幾塊能夠保護隱私,那為什么不直接劃分成幾十上百億塊?更常見的解決方案是直接在數(shù)據(jù)創(chuàng)建和使用的地方存儲數(shù)據(jù)。用戶的智能手機通常擁有大量額外算力和存儲空間。如果對集中分析和處理的要求極低,那避免將數(shù)據(jù)傳到云端服務器的做法就相當省時省力省錢了。

比如說,很多瀏覽器都支持本地存儲復雜數(shù)據(jù)結(jié)構(gòu)。W3C標準包含具有鍵和值的文檔樣式模型的本地存儲,以及適用于關系模型的索引版本。

9.合成數(shù)據(jù)

一些研究人員正在創(chuàng)建完全合成的數(shù)據(jù)集,這些數(shù)據(jù)集通過隨機生成新值構(gòu)建,但遵循相同的模式,且在統(tǒng)計上基本相同。例如,名為RTI的研究智庫創(chuàng)建了一版2010年美國人口普查數(shù)據(jù),其中包含居住地址隨機的隨機人員。這些人完全是虛構(gòu)的,但其家庭住址和個人信息經(jīng)過挑選,具有與真值相同的基本統(tǒng)計特征。在許多情況下,研究人員可以測試算法并生成與處理真實數(shù)據(jù)一樣精確的解決方案。

10.中介與代理

一些研究人員構(gòu)建的工具可以限制數(shù)據(jù)集并在存儲前先預處理數(shù)據(jù)。比如說,Mozilla的Rally就可為希望研究互聯(lián)網(wǎng)信息流的研究人員跟蹤瀏覽習慣。該工具會在研究期間安裝一個特殊的插件,然后在結(jié)束時再卸載掉。該工具形式化描述關系,并強制執(zhí)行有關收集和聚合的規(guī)則。

11.無數(shù)據(jù)

無狀態(tài)計算是網(wǎng)上諸多事項的基礎,且大多推動了盡可能減少記錄保存的效率提升。一些極端案例中,如果合規(guī)要求允許無狀態(tài)計算,用戶也愿意接受不那么個性化的服務,那么刪除數(shù)據(jù)庫可以最大限度地保護隱私。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論