說(shuō)得直白點(diǎn),數(shù)字證書(shū)(Digital Certificate)即通過(guò)對(duì)通信雙方(比如瀏覽器和服務(wù)器)之間傳輸?shù)臄?shù)據(jù)進(jìn)行加密以達(dá)到安全通信的目的。除了加密功能外,數(shù)字證書(shū)還用于身份認(rèn)證,即數(shù)字證書(shū)就像是居民身份證一樣,能夠向別人證明“你確是你”。
一點(diǎn)點(diǎn)理論基礎(chǔ)
我們都知道,HTTP協(xié)議對(duì)數(shù)據(jù)采用明文傳輸,瀏覽器和服務(wù)器之間的所有數(shù)據(jù)傳輸都赤裸裸地暴露在互聯(lián)網(wǎng)上,包括你在登陸某個(gè)網(wǎng)站時(shí)輸入的密碼。為了解決這個(gè)問(wèn)題,前人發(fā)明了對(duì)數(shù)據(jù)進(jìn)行加密傳輸?shù)腍TTPS協(xié)議,該協(xié)議又建立在SSL/TLS協(xié)議之上。SSL/TLS位于HTTPS與TCP協(xié)議之間,是實(shí)現(xiàn)數(shù)據(jù)加密的核心協(xié)議,其本質(zhì)上講是對(duì)TCP協(xié)議的一層封裝。由此可見(jiàn),SSL/TLS其實(shí)不止可以用于HTTP,任何采用TCP協(xié)議的數(shù)據(jù)通信都可以采用SSL/TLS進(jìn)行傳輸,比如FTP。只是就當(dāng)前而言,SSL/TLS最為廣泛的應(yīng)用在于HTTPS。
在計(jì)算機(jī)密碼學(xué)里,存在著對(duì)稱(chēng)加密和非對(duì)稱(chēng)加密兩種加密方式,對(duì)稱(chēng)加密即通信雙方均使用相同的密鑰,如果Alice要將密文發(fā)給Bob,那么她首先需要將密鑰發(fā)給Bob,那么問(wèn)題來(lái)了——密鑰又通過(guò)什么方式能夠安全地發(fā)給Bob?為了解決這個(gè)問(wèn)題,出現(xiàn)了非對(duì)稱(chēng)加密算法,即加密采用一個(gè)密鑰,解密采用另一個(gè)密鑰,兩個(gè)密鑰組成一個(gè)密鑰對(duì),由一個(gè)密鑰加密的數(shù)據(jù)只能由密鑰對(duì)中另一個(gè)密鑰才能解密,最典型的非對(duì)稱(chēng)加密算法非RSA莫屬。RSA是目前最有影響力的公鑰加密算法,該算法基于一個(gè)十分簡(jiǎn)單的數(shù)論事實(shí):將兩個(gè)大素?cái)?shù)相乘十分容易,但那時(shí)想要對(duì)其乘積進(jìn)行因式分解卻極其困難,因此可以將乘積公開(kāi)作為加密密鑰,即公鑰(Public Key),而兩個(gè)大素?cái)?shù)組合成私鑰(Private Key)。公鑰是可發(fā)布的供任何人使用,私鑰則為自己所有,供解密之用。SSL/TLS便使用了非對(duì)稱(chēng)加密。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線(xiàn)安全]玩轉(zhuǎn)無(wú)線(xiàn)電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26