什麼是https,和ssl什麼關係,爲何用https

什麼是https

https is "Hyper Text Transfer Protocol" with Secure Sockets Layer (SSL)html

HTTPS的主要思想是在不安全的網絡上建立一安全信道,並可在使用適當的加密包和服務器證書可被驗證且可被信任時,對竊聽和中間人攻擊提供合理的保護。 HTTPS的信任繼承基於預先安裝在瀏覽器中的證書頒發機構(如VeriSign、Microsoft等)(意即「我信任證書頒發機構告訴我應該信任的」)。所以,一個到某網站的HTTPS鏈接可被信任,當且僅當:算法

  • 用戶相信他們的瀏覽器正確實現了HTTPS且安裝了正確的證書頒發機構;
  • 用戶相信證書頒發機構僅信任合法的網站;
  • 被訪問的網站提供了一個有效的證書,意即,它是由一個被信任的證書頒發機構簽發的(大部分瀏覽器會對無效的證書發出警告,固然本身去生成是不能夠的)
  • 該證書正確地驗證了被訪問的網站(如,訪問https://example時收到了給「Example Inc.」而不是其它組織的證書);
  • 或者互聯網上相關的節點是值得信任的,或者用戶相信本協議的加密層(TLS或SSL)不能被竊聽者破壞。

和ssl什麼關係

從定義能夠看出apache

爲何用https

HTTP協議和安全協議同屬於應用層(OSI模型的最高層),具體來說,安全協議工做在HTTP之下,運輸層之上:安全協議向運行HTTP的進程提供一個相似於TCP的套接字,供進程向其中注入報文,安全協議將報文加密並注入運輸層套接字;或是從運輸層獲取加密報文,解密後交給對應的進程。嚴格地講,HTTPS並非一個單獨的協議,而是對工做在一加密鏈接(TLS或SSL)上的常規HTTP協議的稱呼。 HTTPS報文中的任何東西都被加密,包括全部報頭和荷載。除了可能的選擇密文攻擊(參見限制小節)以外,一個攻擊者所能知道的只有在二者之間有一鏈接這一事實。瀏覽器

它加密了全部報頭和荷載,相對來講安全tomcat

怎麼樣https

要使一網絡服務器準備好接受HTTPS鏈接,管理員必須建立一數字證書,並交由證書頒發機構簽名以使瀏覽器接受。證書頒發機構會驗證數字證書持有人和其聲明的爲同一人。瀏覽器一般都預裝了證書頒發機構的證書,因此他們能夠驗證該簽名。安全

對於怎麼與證書頒發機構合做,果殼是這麼說的:服務器

1.瀏覽器將本身支持的一套加密規則發送給網站。 2.網站從中選出一組加密算法與HASH算法,並將本身的身份信息以證書的形式發回給瀏覽器。證書裏面包含了網站地址,加密公鑰,以及證書的頒發機構等信息。 3.得到網站證書以後瀏覽器要作如下工做: a) 驗證證書的合法性(頒發證書的機構是否合法,證書中包含的網站地址是否與正在訪問的地址一致等),若是證書受信任,則瀏覽器欄裏面會顯示一個小鎖頭,不然會給出證書不受信的提示。 b) 若是證書受信任,或者是用戶接受了不受信的證書,瀏覽器會生成一串隨機數的密碼,並用證書中提供的公鑰加密。 c) 使用約定好的HASH計算握手消息,並使用生成的隨機數對消息進行加密,最後將以前生成的全部信息發送給網站。 4.網站接收瀏覽器發來的數據以後要作如下的操做: a) 使用本身的私鑰將信息解密取出密碼,使用密碼解密瀏覽器發來的握手消息,並驗證HASH是否與瀏覽器發來的一致。 b) 使用密碼加密一段握手消息,發送給瀏覽器。 5.瀏覽器解密並計算握手消息的HASH,若是與服務端發來的HASH一致,此時握手過程結束,網絡

其實跟數字簽名一個道理,老闆有私鑰,員工有公鑰就能夠驗證這個簽名是否是老闆籤的,只要員工確定這個公鑰是一個可信機構給的(CA),若是是路邊給的固然就不相信了,若是是公司給的那也就是本身相信本身了。網站

12306的https

在新版訂票頁面中,中國鐵路客戶服務中心使用了HTTPS以加密數據,可是中國鐵路客戶服務中心並未採用獲得普遍承認的數字證書認證機構的證書,而是採用了由其本身簽名的證書,證書機構的名稱爲「Sinorail Certification Authority」(SRCA)頒發的證書。 當瀏覽器檢測到其根證書庫當中沒有「SRCA」這個證書時,就出於安全性的因素阻止用戶訪問網站。爲此,12306網站要求用戶手動安裝根證書以便瀏覽器放行。[22]此方法並不是對全部瀏覽器有效,在使用某些瀏覽器時用戶須要單獨進行設置。 另外,每一個SSL數字證書都有一個密鑰。通常密鑰一旦失竊,正規認證機構及系統廠商就會宣佈此證書無效,[23]對於較小的認證機構,通常爲證書設立一個證書吊銷列表(CRL)[24],當密鑰失竊時,證書會自動被列爲失效。SRCA的證書沒有CRL,系統廠商也不會專門爲此發佈一個更新。[25]所以黑客可能會利用這個密鑰以SRCA的身份發放證書。一旦黑客把這個證書頒發給了一些惡意網站,安裝了SRCA證書的瀏覽器將放行這些網站,沒法抵禦由此引起的惡意攻擊。爲此有人在網絡上提出用戶在購票以後馬上將SRCA的證書設置爲不受信任或者只是單獨將購票頁面加入瀏覽器信任列表的建議。 當用戶開始進行支付的時候(訪問pay.12306.cn的時候),中國鐵路客戶服務中心就會向用戶出示一份Verisign簽發的有效證書,可是隻能保證用戶在支付時的安全,不能保證黑客利用SRCA密鑰再次簽發假證書製造惡意攻擊。加密

做爲開發者怎麼去用https

以湯姆貓爲例

  • 本身生成數字證書
  • 導入由證書頒發機構生成的證書(這個要把私鑰傳給證書頒發機構?)

http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

相關文章
相關標籤/搜索