HTTP,全稱"Hyper Text Transfer Protocol",是從瀏覽器訪問網站時使用的默認協議.因爲瀏覽器到網站之間的數據傳送是明文方式,容易受到中間人攻擊和竊聽,不適合如銀行帳號,口令等敏感信息的傳送. 如新浪http://www.sina.com.cn.算法
HTTPS,表明Hyper Text Transfer Protocol Secure,將SSL/TLS加密和認證功能融入到HTTP協議裏面,在信息傳送前先經過SSL/TLS協議加密,收到的信息會先被瀏覽器解密,再顯示出,從而保證了網上交易時的安全. HTTPS普遍用在網上交易\支付\敏感信息下載(如電子郵件)等領域. 如招行網上銀行瀏覽器
如何啓用HTTPS安全
爲了準備讓Web服務器接受HTTPS鏈接,管理員必須建立一個Web服務器的SSL證書。 此證書必須由一對瀏覽器信任的證書頒發機構接受,如VeriSign, GlobalSign, Geotrust, Thawte, Comodo等。 瀏覽器在發佈時就已經內置了主要認證機構的簽名證書 ,使他們可以驗證他們簽名的證書。服務器
獲取證書網絡
是向SSL代理商購買受信的國際SSL證書.用戶不須要安裝插件,直接就能夠安全訪問.app
也有不受信的CA機構或我的簽發自簽名證書, 可是用戶須要手工添加的不被瀏覽器內置的簽名證書到受信任根證書列表中。工具
Transport Layer Socket和Secure Socket Layer本質上是同樣的,是集加密和身份認證於一身的安全協議,爲瀏覽器,IIS,Apache,Exchange Server等全部應用默認支持.測試
TLS是在SSL(由最先的瀏覽器廠商Netscape公司推出)基礎上,發展成國際標準組織IETF的標準RFC5246。網站
TLS協議容許客戶機/服務器應用程序經過網絡進行通訊的目的是防止竊聽、干擾和僞造的信息。google
TLS使用加密和數字簽名技術提供在互聯網上端點認證和通訊的保密性。加密強度能夠達到1024或2048位。
在典型的end-user/browser使用,TLS身份驗證是單方面的:只有服務器進行身份驗證 (客戶端知道服務器的身份),而不是相反 (客戶端仍然未經驗證或匿名)。嚴格地說, 服務器認證對於瀏覽器(工具)和最終用戶(我的)意義並不徹底相同。對於瀏覽器,它只是意味着瀏覽器驗證服務器的證書,即檢查了服務器證書的頒發機構是受信的,有完整的信任鏈。一旦經過驗證,瀏覽器就顯示安全圖標(如狀態欄上的「小鎖」)。可是,僅僅是驗證不「肯定」服務器到最終用戶。
對於最終用戶,最好要執行下列操做之一:檢查證書機構的根信息,及證書的CA信任鏈)。
特別是:在「小鎖」圖標,並不表示所訪問的網站是可信的,只是瀏覽器到網站的信息進行了加密,避免誤解。惡意網站不能使用另外一個網站的有效證書,由於他們網址URL和SSL證書是一一對應的。因爲只有受信任的CA能夠嵌入證書中的網址,是爲了確保檢查與證書中指定的URL明顯的網址是識別真正的網站上的有效方式。
TLS的還支持更安全的雙向身份認證模式(一般是在企業應用中),即客戶端(一般是瀏覽器)不只驗證安全網站,安全網站也會驗證客戶端的身份(須要安裝客戶端或我的證書)。雙向驗證要求的客戶端也持有證書。
TLS/SSL協議創建涉及三個基本階段:
1. Peer negotiation for algorithm supporthttp://en.wikipedia.org/wiki/Transport_Layer_Security對等協商
2. Key exchange and authentication 密鑰交換和認證
3. Symmetric cipher encryption and message authentication 對稱密碼加密和消息認證
更多請參考
http://en.wikipedia.org/wiki/Transport_Layer_Security