HTTPS工作原理

前言

最近在面試中被問(wèn)到了HTTPS的相關(guān)問(wèn)題津肛,加上密碼學(xué)也剛好學(xué)到公鑰密碼學(xué),我就趁熱打鐵汗贫,整理一下HTTPS相關(guān)知識(shí)身坐。

1.HTTPS簡(jiǎn)介

HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標(biāo)的HTTP通道落包,簡(jiǎn)單講是HTTP的安全版部蛇。下圖描述了在TCP/IP協(xié)議棧中TLS(各子協(xié)議)和HTTP的關(guān)系。

https.jpg

不使用SSL/TLS的HTTP通信咐蝇,就是不加密的通信涯鲁。所有信息明文傳播,帶來(lái)了三大風(fēng)險(xiǎn)。

(1) 竊聽風(fēng)險(xiǎn)(eavesdropping):第三方可以獲知通信內(nèi)容抹腿。
(2) 篡改風(fēng)險(xiǎn)(tampering):第三方可以修改通信內(nèi)容岛请。
(3) 冒充風(fēng)險(xiǎn)(pretending):第三方可以冒充他人身份參與通信。

SSL/TLS協(xié)議是為了解決這三大風(fēng)險(xiǎn)而設(shè)計(jì)的警绩,希望達(dá)到:

(1) 所有信息都是加密傳播崇败,第三方無(wú)法竊聽。
(2) 具有校驗(yàn)機(jī)制肩祥,一旦被篡改僚匆,通信雙方會(huì)立刻發(fā)現(xiàn)。
(3) 配備身份證書搭幻,防止身份被冒充咧擂。

如果你對(duì)HTTP協(xié)議還不是很了解,可以先看看我整理的HTTP協(xié)議詳解這篇文章檀蹋。


2.HTTPS先修知識(shí)

HTTPS 涉及到了很多概念松申,比如 SSL/TSL,數(shù)字簽名俯逾、數(shù)字證書贸桶、加密、認(rèn)證桌肴、公鑰和私鑰等皇筛,比較容易混淆。我們先來(lái)了解一下這些概念坠七。

如果你看不懂下面的概念水醋,建議先把第3節(jié)的小故事看完,帶著這些概念是什么的問(wèn)題去看彪置。

  • SSL/TSL
    SSL:(Secure Socket Layer拄踪,安全套接字層)
    TLS:(Transport Layer Security,傳輸層安全協(xié)議)

SSL/TLS 是 HTTPS 安全性的核心模塊拳魁,TLS 的前身是 SSL惶桐,TLS1.0 就是 SSL3.1,TLS1.1 是 SSL3.2潘懊,TLS1.2 則是 SSL3.3姚糊。 SSL/TLS 是建立在 TCP 協(xié)議之上,因而也是應(yīng)用層級(jí)別的協(xié)議授舟。其包括 TLS Record Protocol 和 TLS Handshaking Protocols 兩個(gè)模塊救恨,后者負(fù)責(zé)握手過(guò)程中的身份認(rèn)證,前者則保證數(shù)據(jù)傳輸過(guò)程中的完整性和私密性岂却。

其實(shí)認(rèn)證用戶和服務(wù)器忿薇,加密數(shù)據(jù)裙椭,維護(hù)數(shù)據(jù)完整性等等這些內(nèi)容都是SSL/TLS干的事情

詳情 SSL與TLS的區(qū)別以及介紹

  • 加密解密基礎(chǔ)知識(shí)

(1)對(duì)稱加密算法:就是加密和解密使用同一個(gè)密鑰的加密算法躏哩。因?yàn)榧用芊胶徒饷芊绞褂玫拿荑€相同署浩,所以稱為稱為對(duì)稱加密,也稱為單鑰加密方法扫尺。
優(yōu)點(diǎn)是:加密和解密運(yùn)算速度快筋栋,所以對(duì)稱加密算法通常在消息發(fā)送方需要加密大量數(shù)據(jù)時(shí)使用;
缺點(diǎn)是:安全性差正驻,如果一方的密鑰遭泄露弊攘,那么整個(gè)通信就會(huì)被破解。另外加密之前雙方需要同步密鑰;
常用對(duì)稱加密算法有:DES姑曙、3DES襟交、TDEA、Blowfish伤靠、RC2捣域、RC4、RC5宴合、IDEA焕梅、SKIPJACK、AES等;

(2)非對(duì)稱加密算法(公鑰加密):而非對(duì)稱加密算法需要兩個(gè)密鑰來(lái)進(jìn)行加密和解密卦洽,這兩個(gè)秘鑰是公開密鑰(public key贞言,簡(jiǎn)稱公鑰)和私有密鑰(private key,簡(jiǎn)稱私鑰)阀蒂。
公鑰和私鑰是一對(duì):公鑰用來(lái)加密该窗,私鑰解密,而且公鑰是公開的蚤霞,私鑰是自己保存的挪捕,不需要像對(duì)稱加密那樣在通信之前要先同步秘鑰。
優(yōu)點(diǎn)是:安全性更好争便,私鑰是自己保存的级零,不需要像對(duì)稱加密那樣在通信之前要先同步秘鑰。
缺點(diǎn)是:加密和解密花費(fèi)時(shí)間長(zhǎng)滞乙、速度慢奏纪,只適合對(duì)少量數(shù)據(jù)進(jìn)行加密。
常用的非對(duì)稱加密算法有:RSA斩启、Elgamal序调、Rabin、D-H兔簇、ECC等发绢;

(3)HASH算法:也稱為消息摘要算法硬耍。將任意長(zhǎng)度的二進(jìn)制值映射為較短的固定長(zhǎng)度的二進(jìn)制值,該二進(jìn)制值稱為哈希值边酒。
常用于檢驗(yàn)數(shù)據(jù)的完整性经柴,檢驗(yàn)數(shù)據(jù)沒(méi)有被篡改過(guò)。常見的有 MD5(MD系列)墩朦,SHA-1(SHA系列)

  • 數(shù)字簽名(digital signature)

將報(bào)文按雙方約定的HASH算法計(jì)算得到一個(gè)固定位數(shù)的報(bào)文摘要坯认。在數(shù)學(xué)上保證:只要改動(dòng)報(bào)文中任何一位,重新計(jì)算出的報(bào)文摘要值就會(huì)與原先的值不相符氓涣。這樣就保證了報(bào)文的不可更改性牛哺。將該報(bào)文摘要值用發(fā)送者的私人密鑰加密,然后連同原報(bào)文一起發(fā)送給接收者劳吠,而產(chǎn)生的報(bào)文即稱數(shù)字簽名引润。

寫了一大堆,自己理解的簽名就是:信息->hash->加密(私鑰加密)痒玩。

為什么說(shuō)簽名呢淳附?原因很簡(jiǎn)單,因?yàn)樗借€是保密的凰荚,只有加密一方擁有燃观。就好像是在一張紙上蓋上了你的手印。

  • 數(shù)字證書(digital certificate)

數(shù)字證書就是互聯(lián)網(wǎng)通訊中標(biāo)志通訊各方身份信息的一系列數(shù)據(jù)便瑟,提供了一種在Internet上驗(yàn)證您身份的方式缆毁,其作用類似于司機(jī)的駕駛執(zhí)照或日常生活中的身份證。它是由一個(gè)由權(quán)威機(jī)構(gòu)-----CA機(jī)構(gòu)到涂,又稱為證書授權(quán)(Certificate Authority)中心發(fā)行的脊框,人們可以在網(wǎng)上用它來(lái)識(shí)別對(duì)方的身份。

數(shù)字證書是一個(gè)經(jīng)證書授權(quán)中心數(shù)字簽名的包含公開密鑰擁有者信息以及公開密鑰的文件践啄。
最簡(jiǎn)單的證書包含一個(gè)公開密鑰浇雹、名稱以及證書授權(quán)中心的數(shù)字簽名。
數(shù)字證書還有一個(gè)重要的特征就是只在特定的時(shí)間段內(nèi)有效屿讽。

證書中包含的具體內(nèi)容有:
(1)證書的發(fā)布機(jī)構(gòu)CA
(2)證書的有效期
(3)公鑰(證書所有者昭灵,即網(wǎng)站)
(4)證書所有者
(5)證書授權(quán)中心的數(shù)字簽名
(6)證書所使用的簽名算法---驗(yàn)證數(shù)字簽名是要使用
(7)證書的序列號(hào),每個(gè)證書都有一個(gè)唯一的證書序列號(hào)
證書的版本信息伐谈;

來(lái)看看證書長(zhǎng)什么樣吧


certificate.png
  • 數(shù)字證書頒發(fā)過(guò)程
    數(shù)字證書頒發(fā)過(guò)程一般為:用戶首先產(chǎn)生自己的密鑰對(duì)烂完,并將公共密鑰及部分個(gè)人身份信息傳送給認(rèn)證中心。認(rèn)證中心在核實(shí)身份后诵棵,將執(zhí)行一些必要的步驟抠蚣,以確信請(qǐng)求確實(shí)由用戶發(fā)送而來(lái),然后履澳,認(rèn)證中心將發(fā)給用戶一個(gè)數(shù)字證書嘶窄,該證書內(nèi)包含用戶的個(gè)人信息和他的公鑰信息怀跛,同時(shí)還附有認(rèn)證中心的簽名信息。用戶就可以使用自己的數(shù)字證書進(jìn)行相關(guān)的各種活動(dòng)柄冲。數(shù)字證書由獨(dú)立的證書發(fā)行機(jī)構(gòu)發(fā)布吻谋。數(shù)字證書各不相同,每種證書可提供不同級(jí)別的可信度羊初”醺龋可以從證書發(fā)行機(jī)構(gòu)獲得您自己的數(shù)字證書什湘。

3.一個(gè)安全通信的故事

我們?cè)賮?lái)看一個(gè)關(guān)于 Bob 與他好朋友通信的故事(What is a Digital Signature?)长赞,好好理解下上面提到的概念。

需要說(shuō)明一下的是闽撤,這個(gè)故事是從我參考的第一篇文章直接copy過(guò)來(lái)的得哆,我只添加了說(shuō)明3和說(shuō)明4兩部分內(nèi)容

故事的主人公是 Bob,他有三個(gè)好朋友 Pat哟旗、Doug 和 Susan贩据。Bob 經(jīng)常跟他們寫信。因?yàn)樗男攀敲魑膫鬏數(shù)恼⒉停趥鬟f過(guò)程可能被人截獲偷窺饱亮,也可能被人截獲然后又篡改了,更有可能別人偽裝成 Bob 本人跟他的好朋友通信舍沙,總之是不安全的近上。他很苦惱,經(jīng)過(guò)一番苦苦探索拂铡,誒壹无,他發(fā)現(xiàn)計(jì)算機(jī)安全學(xué)里有一種叫非對(duì)稱加密算法的東東,好像可以幫助他解決這個(gè)問(wèn)題感帅。

好了斗锭,來(lái)看看 Bob 是怎么應(yīng)用非對(duì)稱加密算法與他的好朋友通信的:

(1)首先 Bob 弄到了兩把鑰匙:公鑰和私鑰


1.png

(2)Bob 自己保留下了私鑰,把公鑰復(fù)制成三份送給了他的三個(gè)好朋友 Pat失球、Doug 和 Susan岖是;


2.png

(3)此時(shí),Bob 總算可以安心地和他的好朋友愉快地通信了实苞。比如 Susan 要和他討論關(guān)于去哪吃午飯的事情豺撑,Susan 就可以先把自己的內(nèi)容(明文)首先用 Bob 送給他的公鑰做一次加密,然后把加密的內(nèi)容傳送給 Bob硬梁。Bob 收到信后前硫,再用自己的私鑰解開信的內(nèi)容;


3.png

說(shuō)明:這其實(shí)是計(jì)算機(jī)安全學(xué)里加密的概念荧止,加密的目的是為了不讓別人看到傳送的內(nèi)容屹电,加密的手段是通過(guò)一定的加密算法及約定的密鑰進(jìn)行的(比如上述用了非對(duì)稱加密算法以及 Bob 的公鑰)阶剑,而解密則需要相關(guān)的解密算法及約定的秘鑰(如上述用了非對(duì)稱加密算法和 Bob 自己的私鑰),可以看出加密是可逆的(可解密的)危号。

(4)Bob 看完信后牧愁,決定給 Susan 回一封信。為了防止信的內(nèi)容被篡改(或者別人偽裝成他的身份跟 Susan 通信)外莲,他決定先對(duì)信的內(nèi)容用 hash 算法做一次處理猪半,得到一個(gè)字符串哈希值,Bob 又用自己的私鑰對(duì)哈希值做了一次加密得到一個(gè)簽名偷线,然后把簽名和信(明文的)一起發(fā)送給 Susan磨确;


4-1.png

4-2png

4-3.png

說(shuō)明 2:Bob 的內(nèi)容實(shí)質(zhì)是明文傳輸?shù)模赃@個(gè)過(guò)程是可以被人截獲和窺探的声邦,但是 Bob 不擔(dān)心被人窺探乏奥,他擔(dān)心的是內(nèi)容被人篡改或者有人冒充自己跟 Susan 通信。這里其實(shí)涉及到了計(jì)算機(jī)安全學(xué)中的認(rèn)證概念亥曹,Bob 要向 Susan 證明通信的對(duì)方是 Bob 本人邓了,另外也需要確保自己的內(nèi)容是完整的。

(5)Susan 接收到了 Bob 的信媳瞪,首先用 Bob 給的公鑰對(duì)簽名作了解密處理骗炉,得到了哈希值 A,然后 Susan 用了同樣的 Hash 算法對(duì)信的內(nèi)容作了一次哈希處理蛇受,得到另外一個(gè)哈希值 B句葵,對(duì)比 A 和 B,如果這兩個(gè)值是相同的龙巨,那么可以確認(rèn)信就是 Bob 本人寫的笼呆,并且內(nèi)容沒(méi)有被篡改過(guò);
5.png

說(shuō)明:4 跟 5 其實(shí)構(gòu)成了一次完整的通過(guò)數(shù)字簽名進(jìn)行認(rèn)證的過(guò)程旨别。數(shù)字簽名的過(guò)程簡(jiǎn)述為:發(fā)送方通過(guò)不可逆算法對(duì)內(nèi)容 text1 進(jìn)行處理(哈希)诗赌,得到的結(jié)果值 hash1,然后用私鑰加密 hash1 得到結(jié)果值 encry1秸弛。對(duì)方接收 text1 和 encry1铭若,用公鑰解密 encry1 得到 hash1,然后用 text1 進(jìn)行同等的不可逆處理得到 hash2递览,對(duì) hash1 和 hash2 進(jìn)行對(duì)比即可認(rèn)證發(fā)送方叼屠。

(6)此時(shí),另外一種比較復(fù)雜出現(xiàn)了绞铃,Bob 是通過(guò)網(wǎng)絡(luò)把公鑰寄送給他的三個(gè)好朋友的镜雨,有一個(gè)不懷好意的家伙 Jerry 截獲了 Bob 給 Doug 的公鑰。Jerry 開始偽裝成 Bob 跟 Doug 通信儿捧,Doug 感覺(jué)通信的對(duì)象不像是 Bob荚坞,但是他又無(wú)法確認(rèn)挑宠;


6.png

說(shuō)明3:需要注意,Jerry 開始偽裝Bob的過(guò)程是這樣的:Jerry 截獲了 Bob 給 Doug 的公鑰颓影,然后把這個(gè)公鑰換成自己的公鑰各淀,再發(fā)送給Doug。這樣Jerry就可以冒充Bob诡挂,用Jerry自己的私鑰完成與Doug的通信碎浇。

(7)Bob 最終發(fā)現(xiàn)了自己的公鑰被 Jerry 截獲了,他感覺(jué)自己的公鑰通過(guò)網(wǎng)絡(luò)傳輸給自己的小伙伴似乎也是不安全的璃俗,不懷好意的家伙可以截獲這個(gè)明文傳輸?shù)墓€奴璃。為此他想到了去第三方權(quán)威機(jī)構(gòu)"證書中心"(certificate authority,簡(jiǎn)稱 CA)做認(rèn)證旧找。證書中心用自己的私鑰對(duì) Bob 的公鑰和其它信息做了一次加密溺健。這樣 Bob 通過(guò)網(wǎng)絡(luò)將數(shù)字證書傳遞給他的小伙伴后麦牺,小伙伴們先用 CA 給的公鑰解密證書钮蛛,這樣就可以安全獲取 Bob 的公鑰了


7.png

說(shuō)明4:證書中心"(certificate authority,簡(jiǎn)稱 CA)是可信的剖膳。只要證書是可信的魏颓,公鑰就是可信的。


4.HTTPS 通信過(guò)程

通過(guò) Bob 與他的小伙伴的通信吱晒,我們已經(jīng)可以大致了解一個(gè)安全通信的過(guò)程甸饱,也可以了解基本的加密、解密仑濒、認(rèn)證等概念叹话。HTTPS 就是基于這樣一個(gè)邏輯設(shè)計(jì)的。

首先看看組成 HTTPS 的協(xié)議:HTTP 協(xié)議和 SSL/TSL 協(xié)議墩瞳。HTTP 協(xié)議就不用講了驼壶,而 SSL/TSL 就是負(fù)責(zé)加密解密等安全處理的模塊,所以 HTTPS 的核心在 SSL/TSL 上面喉酌。整個(gè)通信如下:
(1)瀏覽器發(fā)起往服務(wù)器的 443 端口發(fā)起請(qǐng)求热凹,請(qǐng)求攜帶了瀏覽器支持的加密算法和哈希算法。
(2)服務(wù)器收到請(qǐng)求泪电,選擇瀏覽器支持的加密算法和哈希算法般妙。
(3)服務(wù)器下將數(shù)字證書返回給瀏覽器,這里的數(shù)字證書可以是向某個(gè)可靠機(jī)構(gòu)申請(qǐng)的相速,也可以是自制的碟渺。
(4)瀏覽器進(jìn)入數(shù)字證書認(rèn)證環(huán)節(jié),這一部分是瀏覽器內(nèi)置的 TSL 完成的:
(4.1)首先瀏覽器會(huì)從內(nèi)置的證書列表中索引突诬,找到服務(wù)器下發(fā)證書對(duì)應(yīng)的機(jī)構(gòu)苫拍,如果沒(méi)有找到烹棉,此時(shí)就會(huì)提示用戶該證書是不是由權(quán)威機(jī)構(gòu)頒發(fā),是不可信任的怯疤。如果查到了對(duì)應(yīng)的機(jī)構(gòu)浆洗,則取出該機(jī)構(gòu)的公鑰。
(4.2)證書內(nèi)容包括網(wǎng)站的網(wǎng)址集峦、網(wǎng)站的公鑰伏社、證書的有效期等。瀏覽器會(huì)先驗(yàn)證證書簽名的合法性(驗(yàn)證過(guò)程類似上面 Bob 和 Susan 的通信)塔淤。簽名通過(guò)后(即證書是可信的)摘昌,瀏覽器驗(yàn)證證書記錄的網(wǎng)址是否和當(dāng)前網(wǎng)址是一致的,不一致會(huì)提示用戶高蜂。如果網(wǎng)址一致會(huì)檢查證書有效期聪黎,證書過(guò)期了也會(huì)提示用戶。這些都通過(guò)認(rèn)證時(shí)备恤,瀏覽器就可以安全使用證書中的網(wǎng)站公鑰了稿饰。
(4.3)瀏覽器生成一個(gè)隨機(jī)數(shù) R,并使用網(wǎng)站公鑰對(duì) R 進(jìn)行加密露泊,并計(jì)算握手消息hash喉镰。
(5)瀏覽器將加密的 R 和hash摘要值傳送給服務(wù)器。
(6)服務(wù)器用自己的私鑰解密得到 R惭笑,驗(yàn)證hash摘要值侣姆。
(7)服務(wù)器以 R 為密鑰使用了對(duì)稱加密算法加密網(wǎng)頁(yè)內(nèi)容并傳輸給瀏覽器。
(8)瀏覽器以 R 為密鑰使用之前約定好的解密算法獲取網(wǎng)頁(yè)內(nèi)容沉噩。

process.png

備注 1:前 5 步其實(shí)就是 HTTPS 的握手過(guò)程捺宗,這個(gè)過(guò)程主要是認(rèn)證服務(wù)端證書(內(nèi)置的公鑰)的合法性。因?yàn)榉菍?duì)稱加密計(jì)算量較大川蒙,整個(gè)通信過(guò)程只會(huì)用到一次非對(duì)稱加密算法(主要是用來(lái)保護(hù)傳輸客戶端生成的用于對(duì)稱加密的隨機(jī)數(shù)私鑰)蚜厉。后續(xù)內(nèi)容的加解密都是通過(guò)一開始約定好的對(duì)稱加密算法進(jìn)行的。


5.HTTPS 缺點(diǎn)

(1)SSL 證書費(fèi)用很高派歌,以及其在服務(wù)器上的部署弯囊、更新維護(hù)非常繁瑣
(2)HTTPS 降低用戶訪問(wèn)速度(多次握手)
(3)網(wǎng)站改用HTTPS 以后,由HTTP 跳轉(zhuǎn)到 HTTPS 的方式增加了用戶訪問(wèn)耗時(shí)(多數(shù)網(wǎng)站采用302跳轉(zhuǎn))
(4)HTTPS 涉及到的安全算法會(huì)消耗 CPU 資源胶果,需要增加大量機(jī)器(https訪問(wèn)過(guò)程需要加解密)


總結(jié):

(1)HTTPS 結(jié)合使用了 非對(duì)稱加密算法匾嘱,對(duì)稱加密算法,hash算法早抠,分別利用他們的優(yōu)勢(shì)霎烙,避免他們的缺點(diǎn)。利用非對(duì)稱加密算法獲得對(duì)稱加密算法的秘鑰,保證他的安全性悬垃;然后實(shí)際的網(wǎng)頁(yè)內(nèi)容的加密使用的是對(duì)稱加密算法游昼,利用了對(duì)稱加密算法速度快的優(yōu)勢(shì),hash算法主要是防止篡改的發(fā)生尝蠕,是一種校驗(yàn)機(jī)制烘豌,最后數(shù)字證書,保證了服務(wù)器在將非對(duì)稱加密算法的公鑰傳給瀏覽器時(shí)的安全性(不會(huì)被中間人篡改)看彼,同時(shí)也標(biāo)志了服務(wù)器的身份廊佩。

(2)HTTPS的四大金剛:
非對(duì)稱加密算法(對(duì)稱加密算法的秘鑰) + 對(duì)稱加密算法(加密內(nèi)容) + 數(shù)字證書(防止篡改非對(duì)稱加密算法的公鑰) + HASH算法(防止篡改消息)== HTTPS

(3)HTTPS的本質(zhì)是什么?
HTTPS的本質(zhì)就是在HTTP連接發(fā)起之前靖榕,先使用SSL/TLS協(xié)議标锄,協(xié)調(diào)客戶端和服務(wù)端,在兩端各自生產(chǎn)一個(gè)對(duì)稱加密算法的秘鑰茁计,
然后使用普通的HTTP協(xié)議傳輸 經(jīng)過(guò)對(duì)稱加密算法加密的網(wǎng)頁(yè)內(nèi)容料皇。因?yàn)閷?duì)稱加密算法的秘鑰是安全的,所以對(duì)稱加密算法加密的網(wǎng)頁(yè)內(nèi)容也是安全的星压。


參考文章
深入淺出 HTTPS 工作原理
HTTPS(SSL/TLS) 原理之深入淺出
深度解析HTTPS原理
深入淺出HTTPS基本原理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末践剂,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子租幕,更是在濱河造成了極大的恐慌舷手,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劲绪,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡盆赤,警方通過(guò)查閱死者的電腦和手機(jī)贾富,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)牺六,“玉大人颤枪,你說(shuō)我怎么就攤上這事∈缂剩” “怎么了畏纲?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)春缕。 經(jīng)常有香客問(wèn)我盗胀,道長(zhǎng),這世上最難降的妖魔是什么锄贼? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任票灰,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘屑迂。我一直安慰自己浸策,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布惹盼。 她就那樣靜靜地躺著庸汗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪手报。 梳的紋絲不亂的頭發(fā)上夫晌,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音昧诱,去河邊找鬼晓淀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛盏档,可吹牛的內(nèi)容都是我干的凶掰。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼蜈亩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼懦窘!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起稚配,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤畅涂,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后道川,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體午衰,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年冒萄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了臊岸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡尊流,死狀恐怖帅戒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情崖技,我是刑警寧澤逻住,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站迎献,受9級(jí)特大地震影響瞎访,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜忿晕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一装诡、第九天 我趴在偏房一處隱蔽的房頂上張望银受。 院中可真熱鬧,春花似錦鸦采、人聲如沸宾巍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)顶霞。三九已至,卻和暖如春锣吼,著一層夾襖步出監(jiān)牢的瞬間选浑,已是汗流浹背声畏。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工温数, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人臼闻。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓读恃,卻偏偏與公主長(zhǎng)得像隧膘,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子寺惫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

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