證書的類型不同峡捡,定價也不同击碗,以下是某服務(wù)商的報(bào)價:
DV(域名認(rèn)證) | OV(組織認(rèn)證) | EV(拓展認(rèn)證) |
---|---|---|
做為消費(fèi)者,我們會根據(jù)自己的需求選擇不同類型的證書们拙。同時作為一名折騰愛好者稍途,我又忍不住想了解一下這些CA機(jī)構(gòu)到底干了什么事情?這項(xiàng)證書認(rèn)證業(yè)務(wù)利潤到底有多高砚婆?
所謂好貨不便宜械拍。上面證書的價格就是該證書安全級別的直接體現(xiàn),越貴越安全装盯!試想我擁有一個域名坷虑,我只要證明該域名確實(shí)是屬于我的,并不是第三方壞蛋的埂奈,那就來一個DV證書迄损。CA機(jī)構(gòu)只需要簡單證明一下就行了。但如果我是一個組織账磺,我不僅要證明我擁有這個域名芹敌,還要證明我提供的服務(wù)也是和合法注冊的,那就來套 OV垮抗。那如果我想要證明的更多氏捞,我就可以考慮一下EV了。
CA機(jī)構(gòu)也會根據(jù)你的不同需求借宵,以及為了做好一個權(quán)威的樣子幌衣,我得有模有樣的讓你填一些資料,相關(guān)證件信息,會特地去到相關(guān)的構(gòu)去確認(rèn)一下你提供的信息是否真實(shí)豁护『呖基本就是一個大家都認(rèn)可的信譽(yù)良好的中間人。
這樣看來楚里,OV, EV確實(shí)有一些“跑腿”的工作断部,是因該付他們一些費(fèi)用。但DV你總可以免費(fèi)吧班缎,而且根據(jù)目前的認(rèn)證方法蝴光,其有一個方法就是只需要在我的DNS上添加一條相關(guān)記錄,你們能查到达址,也就能證明了蔑祟。整個過程都是自動化的,這也要收我這么多費(fèi)用沉唠?
如果真的是空手套白狼疆虚,這么好的肥差,那不因該一抓一大把CA了嘛满葛,可現(xiàn)在確實(shí)還沒有到這么白熱的地步啊径簿,至少我們現(xiàn)在還沒看到中國經(jīng)濟(jì)風(fēng)向標(biāo)-中國大媽們活躍在這一塊。那是不是我們錯怪他們了嘀韧?
動手之前篇亭,不如咱們冷靜下來把事情的經(jīng)過再捋一捋。
HTTPS
互聯(lián)網(wǎng)通訊安全的基石锄贷,依托于SSL/TLS译蒂,為什么這里有根杠?這是因?yàn)镾SL是TLS的前身肃叶,現(xiàn)在改名叫傳輸層安全協(xié)議蹂随。也就是我們約定好了,只要我們照著這樣干因惭,就是安全的岳锁!
先不急查看RFC习霹,因?yàn)樘L...
哦不惩歉,因?yàn)闉榱舜敫懈鼜?qiáng),各位大俠要注意了季蚂,請把切換成互聯(lián)網(wǎng)大咖因有的姿勢勿决,我們來試著解決一下這個互聯(lián)網(wǎng)通訊安全問題乒躺。
讓我們先明確一下用戶需求:你發(fā)消息,想約自己最好的朋友出去浪低缩,一定要保密嘉冒,不然如果計(jì)劃被其它人得知曹货,就很有可能會泡湯。最靠譜的做法就是讳推,發(fā)送的信息顶籽,有且只有我的朋友可以看懂。
解決方案一:對稱加密
我和朋友都有同樣的密鑰--一串密碼银觅,我如果想發(fā)送信息給朋友礼饱,先用這密鑰來加密發(fā)送的信息,朋友收到消息后究驴,用密鑰來解密我發(fā)送的信息镊绪,就能看到原文。就算其它人想辦法獲取了我們之間的通訊內(nèi)容洒忧,沒有這串解密鑰蝴韭,也看不到原文,這樣就能滿足我們的需求了熙侍。
放在互聯(lián)網(wǎng)的場景中万皿,我們來看看這種解決方案是否有效。我有一臺服務(wù)器核行,對外提供高考成績查詢服務(wù)。小明他們班都來我的站點(diǎn)上來查詢成績蹬耘,為了安全芝雪,他們需要把發(fā)送過來的身份信息用我們給的密鑰進(jìn)行加密,這樣就只有我們能看懂他們的身份信息了综苔。但他們班有30多個人惩系,也就是說有30多個人有這份密鑰,并以自己的方式將這個關(guān)鍵的密鑰存在了30份不同的地方如筛。根據(jù)‘我就只跟你說堡牡,你不要跟其它人說’原理,我們的密鑰根本就沒有安全性可言杨刨,隨時都有暴漏的風(fēng)險(xiǎn)晤柄。
解決方案二: 非對稱加密
如果說公鑰的權(quán)力太大,那能不能把權(quán)限調(diào)整一下妖胀,哪怕你有公鑰芥颈,但經(jīng)過公鑰加密的信息,哪怕你拿到了不屬于你的公鑰赚抡,但你還是打不開經(jīng)過公鑰加密后的信息爬坑,只有私鑰可以打開。這也就是密碼學(xué)領(lǐng)域里的“非對稱加密”涂臣《芗疲可以理解為公鑰和私鑰的權(quán)力不對等--公鑰加密的信息,自己沒法解開,只有私鑰可以解開署辉;私鑰加密的信息族铆,公鑰都可以解開。那么假設(shè)公鑰被他人非法持有涨薪,并且同時很不幸骑素,他們還獲取了加密后的內(nèi)容,但因?yàn)樗麄兊玫剿借€的成本較大刚夺,我們一樣可以認(rèn)為這對他們并沒有什么幫助献丑,用戶信息還是安全的。但真的是這樣嗎侠姑?
中間人攻擊
上面的兩種方案创橄,都需要公鑰,且公鑰需傳播給持有者莽红,那么傳輸方式可能就不安全妥畏,就算安全的傳給了合法持有者,但持有者對公鑰的安全保護(hù)級別又不一樣安吁,也會有不同的安全風(fēng)險(xiǎn)醉蚁。
那么非法者還是有很多方式可以獲取公鑰。但上面咱們也提到了鬼店,哪怕他們拿到了公鑰网棍,用戶所輸?shù)男畔⒁惨粯影踩煽俊姆菍ΨQ加密算法來看妇智,確實(shí)如此滥玷。但如果在這個流程中穿插了一個中間人,那么還會安全嗎巍棱?
也就是有一個中間人惑畴,先不論好壞。他通過某種途徑獲取了我們的公鑰航徙,也就是說他有能力解密服務(wù)器發(fā)出來的信息如贷。不僅于此,他還想獲取用戶發(fā)送的信息到踏。于是他也做了一臺服務(wù)器倒得,專門用來轉(zhuǎn)發(fā)正常從客戶端到服務(wù)器和服務(wù)器到客戶端的信息,他并沒有做什么破壞夭禽,服務(wù)器和客戶端都感覺不到異樣霞掺。而且可實(shí)施性也很高,比如很多釣魚網(wǎng)站讹躯。他們將自己的網(wǎng)頁服務(wù)做得和正規(guī)服務(wù)商提供的一模一樣菩彬,普通用戶很難察覺到這一點(diǎn)缠劝。這時候用戶輸入了自己的用戶名和密碼!這個釣魚網(wǎng)站用自己的公鑰給信息加了密骗灶,發(fā)給了自己的服務(wù)器惨恭,自己的服務(wù)器用私鑰解密并了解了用戶的相關(guān)信息,這時候再將這些明文信息和盜取的正版公鑰加密耙旦,傳給正牌服務(wù)商的服務(wù)器脱羡,等信息返回后,他再用正版的公鑰將信息解密免都,并用非法私鑰加密锉罐,傳給自己的非法前端。這一套完整的流程绕娘,從算法的角度來說脓规,沒有任何問題,同時用戶的信息也就這樣泄漏了险领!
看來中間人是關(guān)鍵侨舆,那我們該如何進(jìn)一步保證和戶信息安全呢?
CA - certificate authority绢陌,身份認(rèn)證
看來我們是沒法將公鑰直接發(fā)送給客戶端挨下,因?yàn)檫@一步如果這樣走,那我們規(guī)避不了中間人的破壞了脐湾。
這個時候复颈,我們發(fā)現(xiàn)需要明確幾個關(guān)鍵角色,一起來解決這個問題沥割。
- 客戶端 -- 需要持有公鑰進(jìn)行通訊
- CA -- 也就是第三方機(jī)構(gòu),確保證書傳輸?shù)暮戏ㄐ院桶踩?/li>
- 服務(wù)端 -- 提供合法服務(wù)
那么首先凿菩,我們的公鑰會由CA發(fā)送給客戶端机杜, 客戶端為了可以解密相關(guān)信息,也需要提前存儲CA機(jī)構(gòu)官方發(fā)布的公鑰衅谷,用來解密椒拗。那么如果用CA頒發(fā)的公鑰來解密出我們自己的公鑰,那說明沒有被調(diào)包获黔,我們就可以依賴了蚀苛。
這個過程就像我們現(xiàn)在用的瀏覽器,拿Chrome舉例玷氏,Chrome官方發(fā)布的Chrome安裝包中堵未,會提前包含一些權(quán)威機(jī)構(gòu)CA的公鑰,這樣盏触,只要是我們通過正規(guī)渠道下載到的Chrome安裝包渗蟹,就已經(jīng)擁有了這些證書块饺。這時假,當(dāng)我們在瀏覽器地址欄輸入我們想要訪問的站點(diǎn)時雌芽,瀏覽器會收到CA機(jī)構(gòu)發(fā)送過來已經(jīng)頒發(fā)且加密的公鑰授艰,瀏覽器用預(yù)裝的CA公鑰進(jìn)行解密,如果能解密成功世落,說明公鑰沒有被調(diào)包淮腾,這樣就可以放心的和服務(wù)端進(jìn)行通訊了。
這樣是不是就完美的解決了中間人的問題屉佳?
實(shí)際還差一點(diǎn)谷朝,因?yàn)樯厦嫖覀冋J(rèn)為對證書傳輸做了一層加密因該就安全了,但如果中間人也向該CA機(jī)構(gòu)申請了合法的證書忘古,CA的公鑰也能解密出該中間人傳過來的公鑰徘禁,這樣是不是又回到了之前中間人的問題呢?
證書唯一性
目前為止髓堪,我們發(fā)現(xiàn)CA機(jī)構(gòu)除了跑腿送朱,確實(shí)也做了一些其它的事情,目前看來還好沒著急動手干旁。
CA機(jī)構(gòu)向咱們頒發(fā)的證書是作為他們的一個產(chǎn)品進(jìn)行銷售的驶沼,那么很多商品上都會有一個全球唯一的編號,這樣在市場上流動的時候就有記錄可尋争群,方便監(jiān)管回怜。
證書的商品屬性,也讓他擁有了一個這樣的唯一編號换薄,我們管這個編號要簽名玉雾。那么能解密,保證了證書是正品轻要,不是假冒偽劣复旬。數(shù)字簽名,則保證了唯一性冲泥,這樣我通過這個唯一性驹碍,就能識別出該證書是不是我的了!
那么如何驗(yàn)證這個唯一性的證確性呢凡恍?其實(shí)志秃,前面有介紹過,不同級別的證書嚼酝,當(dāng)你申請的時候浮还,會讓你填寫一些個人信息,越貴闽巩,則需要填寫或認(rèn)證的信息就越詳細(xì)碑定。那么從這里可以看到流码,證書是帶有一些特征屬性的,那么這個唯一簽名延刘,也會根據(jù)這些屬性漫试,按一定的算法,推算出這樣一個唯一簽名碘赖。那么瀏覽器就可以根據(jù)這些規(guī)則自動去較驗(yàn)簽名的正確性驾荣,這樣最后一環(huán)也得到了保障!
哈哈普泡,終于播掷,我們成功的當(dāng)了一回互聯(lián)網(wǎng)架構(gòu)師,讓互聯(lián)網(wǎng)變得更安全撼班,更可靠歧匈。
看來CA機(jī)構(gòu)還是干了好些事情,提供了價值砰嘁,認(rèn)可了件炉,自然也會愿意購買這些服務(wù)。我們也需要這樣一批正規(guī)矮湘,有權(quán)威斟冕,大家都信得過的機(jī)構(gòu),來做這個“中間人”缅阳!
全文完