前言:我們都知道ssl (Secure Sockets Layer) 還沒(méi)出市之前 我們網(wǎng)頁(yè)使用的都是http:xxx.com 這種 那為什么我們要現(xiàn)在很多網(wǎng)站他們使用的是https協(xié)議呢橄教?
HTTPS的誕生
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。
簡(jiǎn)單來(lái)說(shuō)某残,HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸代咸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議蹈丸,要比http協(xié)議安全。
HTTP and HTTPS是什么呐芥?
HTTP:是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議逻杖,是一個(gè)客戶端和服務(wù)器端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn)(TCP),用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議思瘟,它可以使瀏覽器更加高效荸百,使網(wǎng)絡(luò)傳輸減少。
HTTPS:是以安全為目標(biāo)的HTTP通道滨攻,簡(jiǎn)單講是HTTP的安全版够话,即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL光绕,因此加密的詳細(xì)內(nèi)容就需要SSL女嘲。
HTTPS協(xié)議的主要作用可以分為兩種:一種是建立一個(gè)信息安全通道,來(lái)保證數(shù)據(jù)傳輸?shù)陌踩剩涣硪环N就是確認(rèn)網(wǎng)站的真實(shí)性欣尼。
HTTPS和HTTP的區(qū)別主要如下:
1、https協(xié)議需要到ca申請(qǐng)證書(shū)停蕉,一般免費(fèi)證書(shū)較少愕鼓,因而需要一定費(fèi)用。
2谷徙、http是超文本傳輸協(xié)議拒啰,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協(xié)議完慧。
3谋旦、http和https使用的是完全不同的連接方式剩失,用的端口也不一樣,前者是80册着,后者是443拴孤。
4、http的連接很簡(jiǎn)單甲捏,是無(wú)狀態(tài)的演熟;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議司顿,比http協(xié)議安全芒粹。
HTTP協(xié)議的原理是什么?
我們都知道HTTPS能夠加密信息,以免敏感信息被第三方獲取大溜,所以很多銀行網(wǎng)站或電子郵箱等等安全級(jí)別較高的服務(wù)都會(huì)采用HTTPS協(xié)議化漆。
1、客戶端發(fā)起HTTPS請(qǐng)求
這個(gè)沒(méi)什么好說(shuō)的钦奋,就是用戶在瀏覽器里輸入一個(gè)https網(wǎng)址座云,然后連接到server的443端口。
2付材、服務(wù)端的配置
采用HTTPS協(xié)議的服務(wù)器必須要有一套數(shù)字證書(shū)朦拖,可以自己制作,也可以向組織申請(qǐng)厌衔,區(qū)別就是自己頒發(fā)的證書(shū)需要客戶端驗(yàn)證通過(guò)璧帝,才可以繼續(xù)訪問(wèn),而使用受信任的公司申請(qǐng)的證書(shū)則不會(huì)彈出提示頁(yè)面(startssl就是個(gè)不錯(cuò)的選擇富寿,有1年的免費(fèi)服務(wù))裸弦。
這套證書(shū)其實(shí)就是一對(duì)公鑰和私鑰,如果對(duì)公鑰和私鑰不太理解作喘,可以想象成一把鑰匙和一個(gè)鎖頭,只是全世界只有你一個(gè)人有這把鑰匙晕城,你可以把鎖頭給別人泞坦,別人可以用這個(gè)鎖把重要的東西鎖起來(lái),然后發(fā)給你砖顷,因?yàn)橹挥心阋粋€(gè)人有這把鑰匙贰锁,所以只有你才能看到被這把鎖鎖起來(lái)的東西。
3滤蝠、傳送證書(shū)
這個(gè)證書(shū)其實(shí)就是公鑰豌熄,只是包含了很多信息,如證書(shū)的頒發(fā)機(jī)構(gòu)物咳,過(guò)期時(shí)間等等锣险。
4、客戶端解析證書(shū)
這部分工作是有客戶端的TLS來(lái)完成的,首先會(huì)驗(yàn)證公鑰是否有效芯肤,比如頒發(fā)機(jī)構(gòu)巷折,過(guò)期時(shí)間等等,如果發(fā)現(xiàn)異常崖咨,則會(huì)彈出一個(gè)警告框锻拘,提示證書(shū)存在問(wèn)題。
如果證書(shū)沒(méi)有問(wèn)題击蹲,那么就生成一個(gè)隨機(jī)值署拟,然后用證書(shū)對(duì)該隨機(jī)值進(jìn)行加密,就好像上面說(shuō)的歌豺,把隨機(jī)值用鎖頭鎖起來(lái)推穷,這樣除非有鑰匙,不然看不到被鎖住的內(nèi)容世曾。
5缨恒、傳送加密信息
這部分傳送的是用證書(shū)加密后的隨機(jī)值,目的就是讓服務(wù)端得到這個(gè)隨機(jī)值轮听,以后客戶端和服務(wù)端的通信就可以通過(guò)這個(gè)隨機(jī)值來(lái)進(jìn)行加密解密了骗露。
6、服務(wù)段解密信息
服務(wù)端用私鑰解密后血巍,得到了客戶端傳過(guò)來(lái)的隨機(jī)值(私鑰)萧锉,然后把內(nèi)容通過(guò)該值進(jìn)行對(duì)稱加密,所謂對(duì)稱加密就是述寡,將信息和私鑰通過(guò)某種算法混合在一起柿隙,這樣除非知道私鑰,不然無(wú)法獲取內(nèi)容鲫凶,而正好客戶端和服務(wù)端都知道這個(gè)私鑰禀崖,所以只要加密算法夠彪悍,私鑰夠復(fù)雜螟炫,數(shù)據(jù)就夠安全波附。
7、傳輸加密后的信息
這部分信息是服務(wù)段用私鑰加密后的信息昼钻,可以在客戶端被還原掸屡。
8、客戶端解密信息
客戶端用之前生成的私鑰解密服務(wù)段傳過(guò)來(lái)的信息然评,于是獲取了解密后的內(nèi)容仅财,整個(gè)過(guò)程第三方即使監(jiān)聽(tīng)到了數(shù)據(jù),也束手無(wú)策碗淌。
我們了解到HTTP協(xié)議和HTTPS之前只差了一個(gè)SSl(Secure Sockets Layer)那這個(gè)SSl是用來(lái)干什么呢盏求?
1抖锥、認(rèn)證用戶和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器风喇;
2宁改、加密數(shù)據(jù)以防止數(shù)據(jù)中途被竊取魂莫;
3还蹲、維護(hù)數(shù)據(jù)的完整性,確保數(shù)據(jù)在傳輸過(guò)程中不被改變耙考。
而SSL證書(shū)指的是在SSL通信中驗(yàn)證通信雙方身份的數(shù)字文件谜喊,一般分為服務(wù)器證書(shū)和客戶端證書(shū),我們通常說(shuō)的SSL證書(shū)主要指服務(wù)器證書(shū)倦始,SSL證書(shū)由受信任的數(shù)字證書(shū)頒發(fā)機(jī)構(gòu)CA(如VeriSign斗遏,GlobalSign,WoSign等)鞋邑,在驗(yàn)證服務(wù)器身份后頒發(fā)诵次,具有服務(wù)器身份驗(yàn)證和數(shù)據(jù)傳輸加密功能,分為擴(kuò)展驗(yàn)證型(EV)SSL證書(shū)枚碗、組織驗(yàn)證型(OV)SSL證書(shū)逾一、和域名驗(yàn)證型(DV)SSL證書(shū)。
這里悄悄給大家介紹幾款免費(fèi)SSL證書(shū):
比如:CloudFlare SSL肮雨、StartSSL遵堵、Wosign沃通SSL、NameCheap等怨规。
1陌宿、CloudFlare SSL
CloudFlare是美國(guó)一家提供CDN服務(wù)的網(wǎng)站,在世界各地都有自己的CDN服務(wù)器節(jié)點(diǎn)波丰,國(guó)內(nèi)外很多大型公司或者網(wǎng)站都在使用CloudFlare的CDN服務(wù)壳坪,當(dāng)然國(guó)內(nèi)站長(zhǎng)最常用的就是CloudFlare的免費(fèi)CDN,加速也很好掰烟,CloudFlare提供的免費(fèi)SSL證書(shū)是UniversalSSL弥虐,即通用SSL,用戶無(wú)需向證書(shū)發(fā)放機(jī)構(gòu)申請(qǐng)和配置證書(shū)就可以使用的SSL證書(shū)媚赖,CloudFlare向所有用戶(包括免費(fèi)用戶)提供SSL加密功能,web界面5分鐘內(nèi)就設(shè)置好證書(shū)珠插,24小時(shí)內(nèi)完成自動(dòng)部署惧磺,為網(wǎng)站的流量提供基于橢圓曲線數(shù)字簽名算法(ECDSA)的TLS加密服務(wù)。
2捻撑、StartSSL
StartSSL是StartCom公司旗下的SSL證書(shū)磨隘,提供免費(fèi)SSL證書(shū)服務(wù)缤底,且StartSSL被包括Chrome、Firefox番捂、IE在內(nèi)的主流瀏覽器支持个唧,幾乎所有的主流瀏覽器都可以正常識(shí)別StartSSL,任何個(gè)人都可以從StartSSL中申請(qǐng)到免費(fèi)一年的SSL證書(shū)设预。
3徙歼、Wosign沃通SSL
Wosign沃通是國(guó)內(nèi)一家提供SSL證書(shū)服務(wù)的網(wǎng)站,其免費(fèi)的SSL證書(shū)申請(qǐng)比較簡(jiǎn)單鳖枕,在線開(kāi)通魄梯,一個(gè)SSL證書(shū)只能對(duì)應(yīng)一個(gè)域名,支持證書(shū)狀態(tài)在線查詢協(xié)議(OCSP)宾符。
4酿秸、NameCheap
NameCheap是一家領(lǐng)先的ICANN認(rèn)可的域名注冊(cè)和網(wǎng)站托管公司,成立于2000年魏烫,該公司提供免費(fèi)DNS解析辣苏,網(wǎng)址轉(zhuǎn)發(fā)(可隱藏原URL,支持301重定向)等服務(wù)哄褒,此外稀蟋,NameCheap還提供了一年的SSL證書(shū)免費(fèi)服務(wù)。
HTTP與HTTPS的總結(jié)就到這里啦
如果有疑問(wèn)請(qǐng)聯(lián)系作者读处。