保護字段級數(shù)據(jù):
SQL Server不能加密字段級數(shù)據(jù)。存取數(shù)據(jù)就是獲準(zhǔn)登入數(shù)據(jù)庫。當(dāng)您負(fù)責(zé)保護特別敏感的數(shù)據(jù)(如信用卡、健康信息等)時,必須信心十足。
保護Stored Procedures, Triggers, UDF等程序代碼:
SQL Server可讓開發(fā)者在數(shù)據(jù)庫執(zhí)行邏輯。此邏輯被儲存為Stored Procedures, Triggers, User Defined Functions(UDF)。閣下需要加密此邏輯的原因有兩種:
首先,強調(diào)智慧財產(chǎn)權(quán)。如果有人看到您的指令文件邏輯,就如同看到您的原始程序代碼。這意味著他們可以洞悉您的「機密」內(nèi)部工作,從而使得執(zhí)行反向工程十分容易。
其次,如果有人能夠洞察您的Stored Procedures,他們就可以輕易地編輯這些Procedures。這意味著他們可以改寫您下的Stored Procedures,并在其中置入特殊邏輯,從而影響數(shù)據(jù)庫。其后果如何?他們可能會刪除數(shù)據(jù)、中斷您的數(shù)據(jù)庫,甚至還有諸如竊取之類的惡意行為。也就是說,如果「提交」特殊令牌成功,就可寫入或取得機密醫(yī)學(xué)數(shù)據(jù),或者可能在電子商務(wù)應(yīng)用程序中,在每次購物時貸記某個人的賬戶金額,使之與借記金額不相等。
解決方法 – 如何成功保護 SQL 程序代碼
開啟 SQL Server 中的說明檔案,您將迅速了解到 SQL Server 可對Stored Procedures和SQL Statement 進行加密。但您還未來得及松一口氣,就會發(fā)現(xiàn)在網(wǎng)絡(luò)上竟然可以可免費下載解密「微軟加密」Stored Procedures的多種程序。這意味著即使使用 SQL Servers 的「自有」加密功能加密,任何稍有經(jīng)驗的人都有能力侵入您的SQL程序代碼,為所欲為。
SQL Shield 為您的Stored Procedures提供加密算法,目前已知的黑客程序均無法解密。這意味著當(dāng)黑客看到您的指令文件已被加密時,無論使用現(xiàn)有黑客工具包嘗試多少次,都無法解密閣下的 SQL 指令文件程序代碼,從而讓您倍感安全。
解決方法 – 如何加強保護 SQL 數(shù)據(jù)
您可以采用許多不同的算法來加密數(shù)據(jù)。XP_CRYPT 包括 RSA(非對稱算法)、AES、Triple DES、DESX 和 RC4(對稱算法)。您可以視乎需要選擇一種算法。
但請注意,非對稱算法與對稱算法相比,其加密速度相對緩慢。
有了 XP_CRYPT,加密數(shù)據(jù)域位簡易而快速,它使用 XP_CRYPT GUI,這基本上是一種程序,可輕易將其注入您的數(shù)據(jù)庫。
XP_CRYPT GUI 會自動處理紛繁蕪雜的工作,它增加了全部接口和支持程序代碼,并將其應(yīng)用于您的數(shù)據(jù)庫。您可輕易地增加多種算法,每種算法都有自己的密鑰。由于一些功能非常強大的算法需要額外管理,因此,視乎字段的長度和類型,以及安全程度,不同的字段類型需要不同類型的加密方法,這一點應(yīng)謹(jǐn)慎對待。