在某種程度上我們可以說,沒有Web,就沒有Internet??墒窃诖蟛糠智闆r下,Web應(yīng)用程序及 Web站點(diǎn)往往易遭受到各種各樣的攻擊,Web數(shù)據(jù)在網(wǎng)絡(luò)傳輸過程中也很容易被竊取或盜用。因此如何能夠使Web及數(shù)據(jù)傳輸更加安全,是一個(gè)應(yīng)該引起廣泛注意地問題。
從總體情況來看,保護(hù)Web站點(diǎn)免受攻擊的最重要的措施就是加強(qiáng)安全意識和提高安全防范措施。
阻止Web攻擊者監(jiān)聽行為的最有效方法就是要對Web站點(diǎn)和訪問者之間所建立的連接進(jìn)行有效加密。幾乎所有的Web瀏覽器和服務(wù)器都具備發(fā)送和接收加密通道上的數(shù)據(jù)的能力,這些加密數(shù)據(jù)被SSL和TLS這兩個(gè)相關(guān)的協(xié)議管理。其中SSL由Netscape產(chǎn)生,TLS與SSL3.0兼容。
Web瀏覽器在連接一般的WEB站點(diǎn)通常使用的是HTTP(超文本傳輸協(xié)議),地址欄中URL一般形式為 http://www.網(wǎng)址.com。而當(dāng)Web瀏覽器連接到一個(gè)安全站點(diǎn)時(shí),瀏覽器將使用HTTPS (超文本安全傳輸協(xié)議)來建立一個(gè)加密連接,地址欄中的URL通常的形式為https://www.網(wǎng)址.com
為了建立一個(gè)安全連接,Web瀏覽器需要首先向Web服務(wù)器請求數(shù)字證書,數(shù)字證書提供了身份證明。瀏覽器在向Web服務(wù)器請求它的數(shù)字證書時(shí),也同時(shí)發(fā)送了它所支持的加密算法列表。當(dāng)服務(wù)器回送數(shù)字證書和它所選擇的加密算法后,瀏覽器通過檢查數(shù)字簽名和確認(rèn)URL是否與數(shù)字證明的公有名字域相匹配來驗(yàn)證數(shù)字證書。如過這些測試失敗,瀏覽器將顯示警告信息。
瀏覽器和服務(wù)器的通訊使用對稱加密。這就意味著使用相同的密鑰來進(jìn)行加密和解密。當(dāng)服務(wù)器的證書被證實(shí)后,瀏覽器將產(chǎn)生一個(gè)密鑰,這個(gè)密鑰需要通過一個(gè)安全的途徑傳遞給服務(wù)器。一般使用雙重加密術(shù)來完成密鑰的傳遞。瀏覽器使用服務(wù)器的公鑰來加密密鑰,然后把它傳遞給服務(wù)器。服務(wù)器使用它的私鑰來解密密鑰然后向?yàn)g覽器發(fā)送確認(rèn)。
上面的過程表明的就是一個(gè)加密連接,瀏覽器和服務(wù)器都擁有相同的密鑰,他們使用相同的加密算法。他們后面的通信將使用這個(gè)加密的連接。瀏覽器顯示一個(gè)黃色的鎖的圖標(biāo)表示連接已建立。站點(diǎn)訪問者可以點(diǎn)擊黃色的圖標(biāo)來檢查服務(wù)器的證書,從而核實(shí)服務(wù)器的身份。
建立一個(gè)加密連接,僅需要服務(wù)器獲得權(quán)威機(jī)構(gòu)(如AnXinCA)頒發(fā)的證書。加密能阻止攻擊者看到站點(diǎn)發(fā)送和接收的數(shù)據(jù)。