HTTPS那些事(一)HTTPS原理(轉(zhuǎn))

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

謠言粉碎機(jī)前些日子發(fā)布的《用公共WiFi上網(wǎng)會(huì)危害銀行賬戶安全嗎摩梧?》,文中介紹了在使用HTTPS進(jìn)行網(wǎng)絡(luò)加密傳輸?shù)囊恍┣闆r包帚,從回復(fù)來(lái)看,爭(zhēng)議還是有的虏劲。隨著網(wǎng)絡(luò)越來(lái)越普及缩宜,應(yīng)用越來(lái)越廣泛,一些網(wǎng)絡(luò)安全問(wèn)題也會(huì)越來(lái)越引起網(wǎng)民的關(guān)注廓推,在這里和大家一起聊聊TLS/SSL也就是我們常說(shuō)的HTTPS刷袍,從原理到實(shí)際應(yīng)用看清它到底是怎么一回事,以及在使用HTTPS要注意哪些問(wèn)題以及相關(guān)的安全技巧樊展。

網(wǎng)絡(luò)安全是一個(gè)整體的事件呻纹,涉及到個(gè)人計(jì)算機(jī)的安全,協(xié)議的安全专缠,傳輸數(shù)據(jù)的安全雷酪,以及軟件開(kāi)發(fā)公司和網(wǎng)站的安全,單純的依靠一個(gè)HTTPS協(xié)議并不能解決所有的問(wèn)題涝婉。希望通過(guò)今后一點(diǎn)一點(diǎn)的對(duì)安全相關(guān)的問(wèn)題進(jìn)行說(shuō)明解釋哥力,能讓更多人對(duì)網(wǎng)絡(luò)安全有所了解,從而更安全的使用網(wǎng)絡(luò)墩弯。

文章會(huì)比較長(zhǎng)吩跋,暫時(shí)計(jì)劃分成三個(gè)部分:

第一部分主要描述HTTPS的原理;第二部分主要描述SSL證書驗(yàn)證的過(guò)程與使用的一些注意事項(xiàng)渔工;第三部分會(huì)呈現(xiàn)一些針對(duì)HTTPS攻擊的實(shí)例锌钮。如果有需要,我會(huì)后續(xù)的補(bǔ)充一些內(nèi)容引矩。

我盡量使用最簡(jiǎn)潔的語(yǔ)言來(lái)描述相關(guān)的概念梁丘,這里開(kāi)始先挖個(gè)坑,然后慢慢地填旺韭。

HTTPS那些事(二)SSL證書

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

一氛谜、什么是HTTPS

在說(shuō)HTTPS之前先說(shuō)說(shuō)什么是HTTP,HTTP就是我們平時(shí)瀏覽網(wǎng)頁(yè)時(shí)候使用的一種協(xié)議茂翔。HTTP協(xié)議傳輸?shù)臄?shù)據(jù)都是未加密的混蔼,也就是明文的,因此使用HTTP協(xié)議傳輸隱私信息非常不安全珊燎。為了保證這些隱私數(shù)據(jù)能加密傳輸,于是網(wǎng)景公司設(shè)計(jì)了SSL(Secure Sockets Layer)協(xié)議用于對(duì)HTTP協(xié)議傳輸?shù)臄?shù)據(jù)進(jìn)行加密遵湖,從而就誕生了HTTPS悔政。SSL目前的版本是3.0,被IETF(Internet Engineering Task Force)定義在RFC 6101中延旧,之后IETF對(duì)SSL 3.0進(jìn)行了升級(jí)谋国,于是出現(xiàn)了TLS(Transport Layer Security) 1.0,定義在RFC 2246迁沫。實(shí)際上我們現(xiàn)在的HTTPS都是用的TLS協(xié)議芦瘾,但是由于SSL出現(xiàn)的時(shí)間比較早捌蚊,并且依舊被現(xiàn)在瀏覽器所支持,因此SSL依然是HTTPS的代名詞近弟,但無(wú)論是TLS還是SSL都是上個(gè)世紀(jì)的事情缅糟,SSL最后一個(gè)版本是3.0,今后TLS將會(huì)繼承SSL優(yōu)良血統(tǒng)繼續(xù)為我們進(jìn)行加密服務(wù)祷愉。目前TLS的版本是1.2窗宦,定義在RFC 5246中,暫時(shí)還沒(méi)有被廣泛的使用二鳄。

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

二订讼、HTTPS到底安全嗎髓窜?

這個(gè)答案是肯定的,很安全欺殿。谷歌公司已經(jīng)行動(dòng)起來(lái)要大力推廣HTTPS的使用寄纵,在未來(lái)幾周,谷歌將對(duì)全球所有本地域名都啟用HTTPS祈餐,用戶只要在搜索前用Google帳號(hào)登錄擂啥,之后所有的搜索操作都將使用TLS協(xié)議加密,見(jiàn):http://thenextweb.com/google/2012/03/05/google-calls-for-a-more-secure-web-expands-ssl-encryption-to-local-domains/帆阳。

三哺壶、HTTPS的工作原理

HTTPS在傳輸數(shù)據(jù)之前需要客戶端(瀏覽器)與服務(wù)端(網(wǎng)站)之間進(jìn)行一次握手,在握手過(guò)程中將確立雙方加密傳輸數(shù)據(jù)的密碼信息蜒谤。TLS/SSL協(xié)議不僅僅是一套加密傳輸?shù)膮f(xié)議山宾,更是一件經(jīng)過(guò)藝術(shù)家精心設(shè)計(jì)的藝術(shù)品,TLS/SSL中使用了非對(duì)稱加密鳍徽,對(duì)稱加密以及HASH算法资锰。握手過(guò)程的簡(jiǎn)單描述如下:

1.瀏覽器將自己支持的一套加密規(guī)則發(fā)送給網(wǎng)站。

2.網(wǎng)站從中選出一組加密算法與HASH算法阶祭,并將自己的身份信息以證書的形式發(fā)回給瀏覽器绷杜。證書里面包含了網(wǎng)站地址,加密公鑰濒募,以及證書的頒發(fā)機(jī)構(gòu)等信息鞭盟。

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

a) 驗(yàn)證證書的合法性(頒發(fā)證書的機(jī)構(gòu)是否合法,證書中包含的網(wǎng)站地址是否與正在訪問(wèn)的地址一致等)瑰剃,如果證書受信任齿诉,則瀏覽器欄里面會(huì)顯示一個(gè)小鎖頭,否則會(huì)給出證書不受信的提示。

b) 如果證書受信任粤剧,或者是用戶接受了不受信的證書歇竟,瀏覽器會(huì)生成一串隨機(jī)數(shù)的密碼,并用證書中提供的公鑰加密抵恋。

c) 使用約定好的HASH計(jì)算握手消息焕议,并使用生成的隨機(jī)數(shù)對(duì)消息進(jìn)行加密,最后將之前生成的所有信息發(fā)送給網(wǎng)站馋记。

4.網(wǎng)站接收瀏覽器發(fā)來(lái)的數(shù)據(jù)之后要做以下的操作:

a) 使用自己的私鑰將信息解密取出密碼号坡,使用密碼解密瀏覽器發(fā)來(lái)的握手消息,并驗(yàn)證HASH是否與瀏覽器發(fā)來(lái)的一致梯醒。

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

5.瀏覽器解密并計(jì)算握手消息的HASH茸习,如果與服務(wù)端發(fā)來(lái)的HASH一致畜隶,此時(shí)握手過(guò)程結(jié)束,之后所有的通信數(shù)據(jù)將由之前瀏覽器生成的隨機(jī)密碼并利用對(duì)稱加密算法進(jìn)行加密号胚。

這里瀏覽器與網(wǎng)站互相發(fā)送加密的握手消息并驗(yàn)證籽慢,目的是為了保證雙方都獲得了一致的密碼,并且可以正常的加密解密數(shù)據(jù)猫胁,為后續(xù)真正數(shù)據(jù)的傳輸做一次測(cè)試箱亿。另外,HTTPS一般使用的加密與HASH算法如下:

非對(duì)稱加密算法:RSA弃秆,DSA/DSS

對(duì)稱加密算法:AES届惋,RC4,3DES

HASH算法:MD5菠赚,SHA1脑豹,SHA256

其中非對(duì)稱加密算法用于在握手過(guò)程中加密生成的密碼,對(duì)稱加密算法用于對(duì)真正傳輸?shù)臄?shù)據(jù)進(jìn)行加密衡查,而HASH算法用于驗(yàn)證數(shù)據(jù)的完整性瘩欺。由于瀏覽器生成的密碼是整個(gè)數(shù)據(jù)加密的關(guān)鍵,因此在傳輸?shù)臅r(shí)候使用了非對(duì)稱加密算法對(duì)其加密拌牲。非對(duì)稱加密算法會(huì)生成公鑰和私鑰俱饿,公鑰只能用于加密數(shù)據(jù),因此可以隨意傳輸塌忽,而網(wǎng)站的私鑰用于對(duì)數(shù)據(jù)進(jìn)行解密稍途,所以網(wǎng)站都會(huì)非常小心的保管自己的私鑰,防止泄漏砚婆。

TLS握手過(guò)程中如果有任何錯(cuò)誤,都會(huì)使加密連接斷開(kāi),從而阻止了隱私信息的傳輸装盯。正是由于HTTPS非常的安全坷虑,攻擊者無(wú)法從中找到下手的地方,于是更多的是采用了假證書的手法來(lái)欺騙客戶端埂奈,從而獲取明文的信息迄损,但是這些手段都可以被識(shí)別出來(lái),我將在后續(xù)的文章進(jìn)行講述账磺。不過(guò)2010年還是有安全專家發(fā)現(xiàn)了TLS 1.0協(xié)議處理的一個(gè)漏洞:http://www.theregister.co.uk/2011/09/19/beast_exploits_paypal_ssl/芹敌,實(shí)際上這種稱為BEAST的攻擊方式早在2002年就已經(jīng)被安全專家發(fā)現(xiàn),只是沒(méi)有公開(kāi)而已垮抗。目前微軟和Google已經(jīng)對(duì)此漏洞進(jìn)行了修復(fù)氏捞。見(jiàn):http://support.microsoft.com/kb/2643584/en-ushttps://src.chromium.org/viewvc/chrome?view=rev&revision=90643

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市冒版,隨后出現(xiàn)的幾起案子液茎,更是在濱河造成了極大的恐慌,老刑警劉巖辞嗡,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捆等,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡续室,警方通過(guò)查閱死者的電腦和手機(jī)栋烤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)挺狰,“玉大人明郭,你說(shuō)我怎么就攤上這事∷剩” “怎么了达址?”我有些...
    開(kāi)封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)趁耗。 經(jīng)常有香客問(wèn)我沉唠,道長(zhǎng),這世上最難降的妖魔是什么苛败? 我笑而不...
    開(kāi)封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任满葛,我火速辦了婚禮,結(jié)果婚禮上罢屈,老公的妹妹穿的比我還像新娘嘀韧。我一直安慰自己,他們只是感情好缠捌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布锄贷。 她就那樣靜靜地躺著译蒂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谊却。 梳的紋絲不亂的頭發(fā)上柔昼,一...
    開(kāi)封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音炎辨,去河邊找鬼捕透。 笑死,一個(gè)胖子當(dāng)著我的面吹牛碴萧,可吹牛的內(nèi)容都是我干的乙嘀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼破喻,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼虎谢!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起低缩,我...
    開(kāi)封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嘉冒,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后咆繁,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體讳推,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年玩般,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了银觅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡坏为,死狀恐怖究驴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情匀伏,我是刑警寧澤洒忧,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站够颠,受9級(jí)特大地震影響熙侍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜履磨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一蛉抓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧剃诅,春花似錦巷送、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)付魔。三九已至,卻和暖如春堡牡,著一層夾襖步出監(jiān)牢的瞬間抒抬,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工晤柄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妖胀。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓芥颈,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親赚抡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子爬坑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容