Web信息安全

Web信息安全

在當今的互聯網時代,信息安全問題常常發生,如何保證信息的安全成爲開發者不得不面對的問題。html

CIA

信息安全的CIA原則,大體闡述了實踐信息安全的幾個基本原則:算法

  1. 保密性(Confidentiality):確保信息在存儲、使用、傳輸過程當中不會泄漏給非受權用戶或實體。安全

  2. 完整性(Integrity):確保信息在存儲、使用、傳輸過程當中不會被非受權用戶篡改,同時還要防止受權用戶對系統及信息進行不恰當的篡改,保持信息內、外部表示的一致性。服務器

  3. 可用性(Availability):確保受權用戶或實體對信息及資源的正常使用不會被異常拒絕,容許其可靠而及時地訪問信息及資源。網絡

套路

在Web時代,信息安全一般須要考慮以下幾個方面:ide

  1. 傳輸過程:被竊聽,被篡改,被重放等(中間人攻擊等)
  2. 接入過程:雙方身份認證,操做數據(參數)認證,流量控制等(越權攻擊SQL注入DDos攻擊等)
  3. 存儲/服務過程:數據和應用須要多地災容,避免天災人禍。

防禦

身份驗證

當訪問一個具備權限的接口的時候,服務器須要驗證訪問者的身份,而如何鑑定訪問者的身份呢? 一般的狀況下,咱們會使用密碼,指紋,證書,驗證碼,TOKEN 等手段來驗證一個用戶的真實身份。在這個背後,隱藏着一個問題:爲何密碼,指紋,TOKEN,能夠驗證訪問者的身份?爲了回答這個問題,咱們能夠發現一個共性,**就是這些信息(密碼,指紋,TOKEN)只有訪問者知道,他人不知道,因此回答正確,就能驗證訪問者的身份。這樣子就能夠驗證訪問者的身份了。**固然若是被第三人知道了,那麼就GG 思密達了。加密

TOKEN的使用

關於TOKEN,就不得不說移動端的崛起,在2008年以前,基本上提供的服務都是基於Web的,經過SESSION + COOKIE來完成,然而到了後來,移動端開始崛起。開發者遇到這COOKIE很差用,跨服務器訪問資源等等問題。爲了解決這個問題,出現了OAuth2.0的標準,經過這個標準,基本上能夠解決移動端身份驗證的問題。這裏簡述一下一般移動端TOKEN使用的場景:設計

  1. APP 打開,跳出驗證頁面,輸入用戶名 和 密碼
  2. 服務器進行驗證,驗證經過,返回TOKEN做爲給APP
  3. APP使用TOKEN訪問服務器的資源。

而TOKEN具體是什麼?一般狀況下,它對移動端來講就是一段隨機數字。固然,對於服務器,能夠經過對稱加密的算法在TOKEN上作一些特別的設計,如加入用戶名之類的。code

HTTPS

HTTPS 能夠算是現今信息安全的基石之一了,採用SSL進行傳輸數據。以下是HTTPS 的基本過程圖解:htm

HTTPS

大體的階段爲:

  1. 客戶端發起請求
  2. 服務器響應請求,給定本身的公鑰(可能被第三方CA加密過)
  3. 客戶端驗證公鑰(若是被第三方CA加密過,則使用CA的公鑰進行解密,而且驗證域名是否一致
  4. 客戶端經過驗證公鑰,選擇一套對稱加密算法,生成 密鑰,而且使用服務器的公鑰進行加密
  5. 服務器使用本身的私鑰,解密對稱加密的密鑰
  6. 客戶端 和 服務器 使用對稱密鑰進行信息交換

HTTPS協議能防禦大部分的網絡攻擊,在構建Web站點的時候,建議對關鍵資源進行HTTPS協議傳輸。

參考

相關文章
相關標籤/搜索