ASP加密技術(shù)簡析(二)

從保護(hù)ASP文件代碼、保護(hù)隱私數(shù)據(jù)等方面,以上分析了各種ASP的加密技術(shù)?;诜治?筆者提出以下幾點(diǎn)建議:

1、眾所周知,ASP是一種源代碼完全公開的網(wǎng)站開發(fā)技術(shù),但MS Enocde程序并不能很好地保密代碼。像某些商用ASP系統(tǒng)一樣,從保護(hù)自己的網(wǎng)站代碼和知識(shí)產(chǎn)權(quán)的角度出發(fā),將關(guān)鍵ASP代碼封裝成DLL文件是種比較好的方法,使得攻擊者難以進(jìn)行反編譯。封裝的DLL代碼在一定程度上可以防止SQL注入攻擊。

2、對(duì)于處理用戶密碼這種重要數(shù)據(jù)的網(wǎng)站程序,使用MD5函數(shù)對(duì)密碼進(jìn)行雜湊函數(shù)處理成數(shù)字摘要,這是一種最常用的方法。雖然理論證明MD5算法不是絕對(duì)的安全,并且存在可能的“碰撞”,但一個(gè)復(fù)雜組合的密碼的HASH值還是很難破解的。在ASP的具體應(yīng)用中,可以考慮在MD5.asp的源代碼中進(jìn)行僅僅程序員本人才知道的秘密改動(dòng),這樣攻擊者知道了密文也很難暴力破解。

3、除了進(jìn)行異或處理這種簡易的“類對(duì)稱”加密算法以外,還可以考慮使用DES算法或3DES等等加密算法進(jìn)行加密數(shù)據(jù)。除了保護(hù)代碼,還可以對(duì)關(guān)鍵數(shù)據(jù)進(jìn)行加密以后保存在數(shù)據(jù)庫中,這樣就可以對(duì)數(shù)據(jù)庫進(jìn)行加密了。密鑰必須保存在一個(gè)相對(duì)比較安全的地方,這樣才能保護(hù)好ASP代碼或關(guān)鍵數(shù)據(jù)。

4、在ASP程序中暫時(shí)還無法使用基于客戶端證書的非對(duì)稱加密算法。要想基于客戶端證書進(jìn)行公鑰加密或簽名,需要在.NET環(huán)境下進(jìn)行設(shè)計(jì)。

ASP還是現(xiàn)階段互聯(lián)網(wǎng)應(yīng)用較廣泛的網(wǎng)站制作技術(shù)之一。隨著ASP技術(shù)的推出,給網(wǎng)站的設(shè)計(jì)者帶來了開發(fā)的便利性及資源的共享性。從保護(hù)ASP的代碼及數(shù)據(jù)安全這兩個(gè)方面的分析,筆者認(rèn)為現(xiàn)有的腳本語言還是有一定局限性,并不能把完整的加密簽名等信息安全技術(shù)融入其中。該文的介紹及分析僅限對(duì)于現(xiàn)有的ASP技術(shù)進(jìn)行討論,更深入的安全方面的討論需要借助.NET平臺(tái)。

小知識(shí)之ASP概念:

ASP是Active Server Page的縮寫,意為“動(dòng)態(tài)服務(wù)器頁面”。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫和其它程序進(jìn)行交互,是一種簡單、方便的編程工具。