一、安全的要素
信息安全的核心問題是要保障數(shù)據(jù)的合法使用者能夠在任何需要該數(shù)據(jù)時(shí)獲得保密的,沒有被非法更改過的數(shù)據(jù)。主要有以下幾要素:
機(jī)密性
- 保證數(shù)據(jù)內(nèi)容不能泄露。
- 用戶的密碼用明文保存,就破壞了機(jī)密性。
完整性
- 保證數(shù)據(jù)內(nèi)容不被篡改。
- 使用HTTP提交數(shù)據(jù)時(shí),數(shù)據(jù)在傳輸過程中被篡改后再發(fā)往服務(wù)器,就破壞了完整性。
可用性
- 保證數(shù)據(jù)可被正常訪問和使用。
- 像拒絕服務(wù)攻擊(DoS)就是破壞了可用性。
最基本的安全要素就上面三個(gè),下面還有一些其他的。
可審計(jì)性
- 記錄對(duì)數(shù)據(jù)產(chǎn)生的操作,用于日后的分析、審查。
不可抵賴性
- 首先要保證數(shù)據(jù)完整性,然后,在傳輸?shù)臄?shù)據(jù)中必須攜帶用于身份識(shí)別的信息,且這部分信息在不同主體間不能發(fā)生碰撞。
加密技術(shù)的使用
上一篇《Web安全技術(shù)(1)-對(duì)加密機(jī)制的理解》中提到了三類加密算法,可以應(yīng)用于某些要素的安全保障。如下面的說明:
對(duì)稱加密
- 可保障機(jī)密性,對(duì)數(shù)據(jù)加密后存儲(chǔ),可以使沒有密鑰的人員無法獲取數(shù)據(jù)內(nèi)容。
非對(duì)稱加密
- 可以對(duì)數(shù)據(jù)進(jìn)行加密解密操作,所以也能像對(duì)稱加密一樣保障機(jī)密性;
- 因?yàn)榉菍?duì)稱加密可以實(shí)現(xiàn)數(shù)字簽名,所以可以保證數(shù)據(jù)完整性。另外,由于是使用私鑰簽名,而私鑰只有數(shù)據(jù)發(fā)送方才有,所以如果公鑰可以驗(yàn)簽成功,則發(fā)送方不可抵賴。
摘要加密
摘要算法可保障數(shù)據(jù)完整性。
- 在某些網(wǎng)站的軟件下載頁面里,有時(shí)除了下載地址,旁邊還會(huì)有一個(gè)MD5碼。這個(gè)MD5就是對(duì)下載的軟件做的摘要加密。在下載完成后,在本機(jī)對(duì)下載的軟件做MD5,然后和網(wǎng)站上顯示的MD5做比較,如果相同就表示軟件被成功下載,而且下載過程中軟件內(nèi)容沒有被篡改。
- 在做系統(tǒng)時(shí),我們也經(jīng)常會(huì)對(duì)密碼做摘要加密后再保存,因?yàn)檎用艿囊粋€(gè)特性是不可逆,這樣通過數(shù)據(jù)庫中保存的加密后的密碼不可能還原成用戶的真實(shí)密碼。而用戶登錄時(shí),只需將用戶提交的密碼再做摘要加密,然后與數(shù)據(jù)庫中保存的密碼比較,就能判斷用戶有沒有輸入正確的密碼。
二、風(fēng)險(xiǎn)分析
對(duì)于數(shù)據(jù)可能會(huì)遇到什么威脅,一般是拍腦袋想一想,也可以使用模型幫忙,下面是一個(gè)叫STRIDE的威脅模型:

如何評(píng)估風(fēng)險(xiǎn)?
數(shù)據(jù)受到威脅就可能造成損失,但損失有大有小,威脅發(fā)生的概率也有高有低,我們要結(jié)合具體情況來對(duì)風(fēng)險(xiǎn)做出判斷。有一個(gè)叫DREAD的模型,可以指導(dǎo)我們?nèi)绾闻袛嗤{的風(fēng)險(xiǎn)程度。

每一個(gè)因素都分高、中、低三個(gè)等級(jí),權(quán)重值分別為3、2、1。
當(dāng)有一個(gè)威脅時(shí),我們將它在每一個(gè)因素中的權(quán)重值相加,即可得出風(fēng)險(xiǎn)系數(shù)。
假如我們對(duì)風(fēng)險(xiǎn)系數(shù)范圍的定義如下:
高危:12~15分,中危:8~11分,低危:5~7分。
那如果以使用明文保存密碼為例,風(fēng)險(xiǎn)系數(shù)可能像下面這樣計(jì)算:
風(fēng)險(xiǎn) = D(3) + R(1) + E(1) + A(3) + D(1) = 9分,這就是一個(gè)中危風(fēng)險(xiǎn)。
后續(xù)對(duì)威脅的處理,應(yīng)當(dāng)根據(jù)風(fēng)險(xiǎn)的大小和修復(fù)的難易程度做出平衡。
微信訂閱號(hào):
源文地址:http://blog.gopersist.com/2015/04/17/web-security-2/