可以只存儲(chǔ)用于身份驗(yàn)證的部分?jǐn)?shù)據(jù)(例如社會(huì)保障號(hào)碼的后四位)嗎?
可以使用其他不太敏感的數(shù)據(jù)(例如寵物的名字)進(jìn)行身份驗(yàn)證嗎?
可以使用或存儲(chǔ)數(shù)據(jù)的hash值(例如MD5、SHA)而不是原始數(shù)據(jù)本身嗎?

在許多情況下,這些問題可以減少需要存儲(chǔ)的數(shù)據(jù)量并降低數(shù)據(jù)的敏感程度。

數(shù)據(jù)加密

公司可以對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行加密,以防止其被盜或意外泄漏。在加密數(shù)據(jù)庫(kù)中的數(shù)據(jù)時(shí),有三個(gè)關(guān)鍵問題需要考慮:在何處加密數(shù)據(jù)、如何加密數(shù)據(jù)以及在何處存儲(chǔ)密鑰。下面將分別討論這些問題:

在何處加密數(shù)據(jù)——加密可以在應(yīng)用層、數(shù)據(jù)庫(kù)或底層存儲(chǔ)器中進(jìn)行。如果加密在數(shù)據(jù)庫(kù)中進(jìn)行,則還可以對(duì)特定字段、列、表或者整個(gè)數(shù)據(jù)庫(kù)加密。當(dāng)然,在應(yīng)用層、數(shù)據(jù)庫(kù)和底層存儲(chǔ)器中加密各有利弊。

由于應(yīng)用層加密是在系統(tǒng)的最高層對(duì)數(shù)據(jù)進(jìn)行加密,所以數(shù)據(jù)對(duì)應(yīng)用層之下的各層都不可見。如果加密在應(yīng)用層進(jìn)行,則數(shù)據(jù)庫(kù)、操作系統(tǒng)、網(wǎng)絡(luò)以及數(shù)據(jù)經(jīng)過的所有其他路徑都只能看到加密后的形式。

應(yīng)用層加密的問題在于,通常會(huì)有多個(gè)高層應(yīng)用程序需要訪問數(shù)據(jù),這些應(yīng)用程序?qū)⑿枰荑€副本對(duì)數(shù)據(jù)進(jìn)行解密??梢垣@得密鑰副本的應(yīng)用程序越多,密鑰遭到泄漏的可能性就越大。

但是,如果加密在較低的層進(jìn)行,則你還需要進(jìn)一步在其他層進(jìn)行加密。例如,當(dāng)數(shù)據(jù)流經(jīng)數(shù)據(jù)庫(kù)和應(yīng)用程序之間的網(wǎng)絡(luò)時(shí)需要對(duì)其進(jìn)行加密,否則數(shù)據(jù)對(duì)網(wǎng)絡(luò)層將是可見的。這將會(huì)引入需要加以保護(hù)的其他加密密鑰。在何處進(jìn)行加密是一種微妙的平衡,取決于應(yīng)用程序和數(shù)據(jù)流的體系結(jié)構(gòu)。

如何加密數(shù)據(jù)——加密可以利用軟件、硬件或者軟件硬件相結(jié)合的方式實(shí)現(xiàn)。具體采用何種方式加密,取決于你希望達(dá)到的吞吐量(Mb/s)。如果希望獲得較大的吞吐量,則你可能需要一些硬件加速方式。無論采用何種加密方式,有一個(gè)問題別無選擇:始終使用先進(jìn)的、強(qiáng)大的、基于標(biāo)準(zhǔn)的加密和密鑰管理系統(tǒng);不要試圖發(fā)明自己的加密和密鑰管理系統(tǒng),你自己的加密和密鑰管理系統(tǒng)可能奏效也可能不能奏效。目前,一些高端服務(wù)器處理器已經(jīng)內(nèi)置了支持AES(高級(jí)加密標(biāo)準(zhǔn))的加密基元(Encryption Primitives),可以實(shí)現(xiàn)比基于軟件的算法快得多(高達(dá)9倍)的加密。

在何處存儲(chǔ)密鑰——加密最大的挑戰(zhàn)不是加密本身,而是密鑰的存儲(chǔ)和分配。加密數(shù)據(jù)的安全性和可訪問性并不高于密鑰本身。密鑰必須悉心保護(hù),以防攻擊者竊取。同時(shí),密鑰必須與加密數(shù)據(jù)分開存儲(chǔ),但又要可供加密/解密算法訪問。另一方面,必須對(duì)密鑰進(jìn)行備份和復(fù)制,以便當(dāng)原始數(shù)據(jù)和原始密鑰由于災(zāi)難而丟失時(shí)可以解密備份數(shù)據(jù)。你選擇的任何密鑰管理系統(tǒng)必須支持下列功能:

安全存儲(chǔ)密鑰。
認(rèn)證和跟蹤審計(jì)對(duì)密鑰的訪問。
托管或恢復(fù)密鑰,以防密鑰丟失。
備份密鑰并將密鑰安全地傳輸?shù)竭h(yuǎn)程位置,以供恢復(fù)之用。

加密標(biāo)準(zhǔn)

許多加密和密鑰管理系統(tǒng)都通過了以下兩個(gè)實(shí)用標(biāo)準(zhǔn)的認(rèn)證:美國(guó)聯(lián)邦信息處理標(biāo)準(zhǔn)(Federal Information Processing Standard,F(xiàn)IPS)140,其安全級(jí)別分為1到4級(jí);通用標(biāo)準(zhǔn)評(píng)估保證等級(jí)(Common Criteria Evaluation Assurance Level,CCEAL),其安全級(jí)別分為1到7級(jí)。這些標(biāo)準(zhǔn)提供了一個(gè)指標(biāo),可以比較不同系統(tǒng)的加密算法、密鑰存儲(chǔ)和密鑰管理機(jī)制的安全性。級(jí)別越高意味著加密算法、密鑰存儲(chǔ)方法、防篡改硬件和密鑰管理機(jī)制越好。例如,F(xiàn)IPS在確定一個(gè)認(rèn)證級(jí)別時(shí),考慮了11個(gè)不同方面的安全性。你應(yīng)該根據(jù)數(shù)據(jù)的敏感程度和你所在地區(qū)的監(jiān)管要求,選擇合適的安全級(jí)別。

數(shù)據(jù)庫(kù)應(yīng)用極為復(fù)雜,由多層松散耦合的組件構(gòu)成。數(shù)據(jù)庫(kù)應(yīng)用的安全性難以保證,但又包含了公司最敏感的數(shù)據(jù)。然而,利用數(shù)據(jù)最小化和加密技術(shù),公司可以巧妙地在數(shù)據(jù)的安全性、可訪問性和可用性之間取得平衡。

分享到

liukai

相關(guān)推薦