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