HTTPS的加密方式

http://www.guokr.com/post/114121/


HTTPS那些事(一)HTTPS原理

謠言粉碎機前些日子發布的《用公共WiFi上網會危害銀行賬戶安全嗎?》,文中介紹了在使用HTTPS進行網絡加密傳輸的一些情況,從回復來看,爭議還是有的。隨著網絡越來越普及,應用越來越廣泛,一些網絡安全問題也會越來越引起網民的關注,在這里和大家一起聊聊TLS/SSL也就是我們常說的HTTPS,從原理到實際應用看清它到底是怎么一回事,以及在使用HTTPS要注意哪些問題以及相關的安全技巧。

網絡安全是一個整體的事件,涉及到個人計算機的安全,協議的安全,傳輸數據的安全,以及軟件開發公司和網站的安全,單純的依靠一個HTTPS協議并不能解決所有的問題。希望通過今后一點一點的對安全相關的問題進行說明解釋,能讓更多人對網絡安全有所了解,從而更安全的使用網絡。

文章會比較長,暫時計劃分成三個部分:

第一部分主要描述HTTPS的原理;第二部分主要描述SSL證書驗證的過程與使用的一些注意事項;第三部分會呈現一些針對HTTPS攻擊的實例。如果有需要,我會后續的補充一些內容。

我盡量使用最簡潔的語言來描述相關的概念,這里開始先挖個坑,然后慢慢地填。

HTTPS那些事(二)SSL證書

HTTPS那些事(三)攻擊實例與防御

一、什么是HTTPS

在說HTTPS之前先說說什么是HTTP,HTTP就是我們平時瀏覽網頁時候使用的一種協議。HTTP協議傳輸的數據都是未加密的,也就是明文的,因此使用HTTP協議傳輸隱私信息非常不安全。為了保證這些隱私數據能加密傳輸,于是網景公司設計了SSL(Secure Sockets Layer)協議用于對HTTP協議傳輸的數據進行加密,從而就誕生了HTTPS。SSL目前的版本是3.0,被IETF(Internet Engineering Task Force)定義在RFC 6101中,之后IETF對SSL 3.0進行了升級,于是出現了TLS(Transport Layer Security) 1.0,定義在RFC 2246。實際上我們現在的HTTPS都是用的TLS協議,但是由于SSL出現的時間比較早,并且依舊被現在瀏覽器所支持,因此SSL依然是HTTPS的代名詞,但無論是TLS還是SSL都是上個世紀的事情,SSL最后一個版本是3.0,今后TLS將會繼承SSL優良血統繼續為我們進行加密服務。目前TLS的版本是1.2,定義在RFC 5246中,暫時還沒有被廣泛的使用。

對歷史感興趣的朋友可以參考http://en.wikipedia.org/wiki/Transport_Layer_Security,這里有對TLS/SSL詳盡的敘述。

二、HTTPS到底安全嗎?

這個答案是肯定的,很安全。谷歌公司已經行動起來要大力推廣HTTPS的使用,在未來幾周,谷歌將對全球所有本地域名都啟用HTTPS,用戶只要在搜索前用Google帳號登錄,之后所有的搜索操作都將使用TLS協議加密,見:http://thenextweb.com/google/2012/03/05/google-calls-for-a-more-secure-web-expands-ssl-encryption-to-local-domains/

三、HTTPS的工作原理

HTTPS在傳輸數據之前需要客戶端(瀏覽器)與服務端(網站)之間進行一次握手,在握手過程中將確立雙方加密傳輸數據的密碼信息。TLS/SSL協議不僅僅是一套加密傳輸的協議,更是一件經過藝術家精心設計的藝術品,TLS/SSL中使用了非對稱加密,對稱加密以及HASH算法。握手過程的簡單描述如下:

1.瀏覽器將自己支持的一套加密規則發送給網站。

2.網站從中選出一組加密算法與HASH算法,并將自己的身份信息以證書的形式發回給瀏覽器。證書里面包含了網站地址,加密公鑰,以及證書的頒發機構等信息。

3.獲得網站證書之后瀏覽器要做以下工作:

a) 驗證證書的合法性(頒發證書的機構是否合法,證書中包含的網站地址是否與正在訪問的地址一致等),如果證書受信任,則瀏覽器欄里面會顯示一個小鎖頭,否則會給出證書不受信的提示。

b) 如果證書受信任,或者是用戶接受了不受信的證書,瀏覽器會生成一串隨機數的密碼,并用證書中提供的公鑰加密。

c) 使用約定好的HASH計算握手消息,并使用生成的隨機數對消息進行加密,最后將之前生成的所有信息發送給網站。

4.網站接收瀏覽器發來的數據之后要做以下的操作:

a) 使用自己的私鑰將信息解密取出密碼,使用密碼解密瀏覽器發來的握手消息,并驗證HASH是否與瀏覽器發來的一致。

b) 使用密碼加密一段握手消息,發送給瀏覽器。

5.瀏覽器解密并計算握手消息的HASH,如果與服務端發來的HASH一致,此時握手過程結束,之后所有的通信數據將由之前瀏覽器生成的隨機密碼并利用對稱加密算法進行加密。

這里瀏覽器與網站互相發送加密的握手消息并驗證,目的是為了保證雙方都獲得了一致的密碼,并且可以正常的加密解密數據,為后續真正數據的傳輸做一次測試。另外,HTTPS一般使用的加密與HASH算法如下:

非對稱加密算法:RSA,DSA/DSS

對稱加密算法:AES,RC4,3DES

HASH算法:MD5,SHA1,SHA256

其中非對稱加密算法用于在握手過程中加密生成的密碼,對稱加密算法用于對真正傳輸的數據進行加密,而HASH算法用于驗證數據的完整性。由于瀏覽器生成的密碼是整個數據加密的關鍵,因此在傳輸的時候使用了非對稱加密算法對其加密。非對稱加密算法會生成公鑰和私鑰,公鑰只能用于加密數據,因此可以隨意傳輸,而網站的私鑰用于對數據進行解密,所以網站都會非常小心的保管自己的私鑰,防止泄漏。

TLS握手過程中如果有任何錯誤,都會使加密連接斷開,從而阻止了隱私信息的傳輸。正是由于HTTPS非常的安全,攻擊者無法從中找到下手的地方,于是更多的是采用了假證書的手法來欺騙客戶端,從而獲取明文的信息,但是這些手段都可以被識別出來,我將在后續的文章進行講述。不過2010年還是有安全專家發現了TLS 1.0協議處理的一個漏洞:http://www.theregister.co.uk/2011/09/19/beast_exploits_paypal_ssl/,實際上這種稱為BEAST的攻擊方式早在2002年就已經被安全專家發現,只是沒有公開而已。目前微軟和Google已經對此漏洞進行了修復。見:http://support.microsoft.com/kb/2643584/en-ushttps://src.chromium.org/viewvc/chrome?view=rev&revision=90643

本文來自轉發

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,606評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,582評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,540評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,028評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,801評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,223評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,294評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,442評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,976評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,800評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,996評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,543評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,233評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,926評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,702評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374

推薦閱讀更多精彩內容