開放、平等、協(xié)作、快速、分享
本篇文章純屬于想到哪寫到哪,所寫的內(nèi)容也不一定對(duì),因?yàn)榘滋旃ぷ髦袆偤谜劦絋LS協(xié)議,然后晚上查閱資料,牽涉出TCP/IP、PKI、CA、TLS/SSI等一系列知識(shí)點(diǎn)。本來已經(jīng)睡下了,還是決定半夜爬起來把自己的一些理解記錄下來,怕過一段時(shí)間后,把好不容易理解的地方又給遺忘了。
TLS/SSL
傳輸層安全(Transport Layer Security,TLS)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS與SSL在傳輸層對(duì)網(wǎng)絡(luò)連接進(jìn)行加密。TLS/SSL位于應(yīng)用層和傳輸層之間,它可以為任何基于TCP等可靠連接的應(yīng)用層協(xié)議提供安全性保證(加密、身份驗(yàn)證、完整性),如下圖1。
下圖2為客戶端和服務(wù)端的通信流程,為何服務(wù)器的證書不能被偽造,因?yàn)榉?wù)器的證書為光放證書機(jī)構(gòu)CA頒發(fā),其公鑰是公開的,以百度舉例,其公鑰是不是百度的,可通過CA公開的信息查詢到,這樣能確保公鑰是百度的無(wú)疑,然后通過百度的公鑰解密后如果和證書的摘要(哈希值)一致,則可以確定通信的對(duì)方就是百度的服務(wù)器,這樣就確保了身份驗(yàn)證。
加密算法
1. 散列(Hash)
把任意大小的文檔變成一個(gè) 固定大?。∕D5是32個(gè)字符)的字符串,過程不可逆。MD5,SHA1等。
2. 對(duì)稱加密(Symmetric Cryptography)
使用同一個(gè)密鑰加密和解密,優(yōu)點(diǎn)是速度快,缺點(diǎn)是密鑰管理不方便,要求共享密鑰。 DES,AES等。
3. 非對(duì)稱加密(Asymmetric Cryptography)
使用公鑰和私鑰來加密和解密,優(yōu)點(diǎn)是密鑰管理很方便,缺點(diǎn)是速度慢。RSA,DSA等。
4. 數(shù)字簽名(Digital Signature)
使用散列和非對(duì)稱加密驗(yàn)證文檔的真實(shí)性。先為要簽名的信息生成一個(gè)Hash字串,Hash1,然后用你的私鑰加密得到Encrypted(Hash1),這就是你對(duì)這個(gè)文檔的數(shù)字簽名。
當(dāng)別人需要驗(yàn)證某個(gè)文檔是否是你簽名的時(shí)候,只需要用你的公鑰解密你的簽名得到Hash1,并和該文檔計(jì)算出來的Hash2對(duì)比,查看是否一致。如果一致則說明你確實(shí)對(duì)該文檔簽過名,否則就是沒有。
PKI
PKI:Public Key Infrastructure,公鑰基礎(chǔ)設(shè)施。
CA:Certificate Of Authority,認(rèn)證中心。
完整的PKI/CA系統(tǒng)如下部分:
1. 安全服務(wù)器:安全服務(wù)器面向普通用戶,用于提供證書申請(qǐng)、瀏覽、證書撤銷列表、證書下載等安全服務(wù);用戶需要首先得到安全服務(wù)器的證書(該證書由CA頒發(fā));
2. 注冊(cè)機(jī)構(gòu)RA:在CA體系結(jié)構(gòu)中起承上啟下的作用,一方面向CA轉(zhuǎn)發(fā)安全服務(wù)器傳輸過來的證書申請(qǐng)請(qǐng)求,另一方面向LDAP服務(wù)器和安全服務(wù)器轉(zhuǎn)發(fā)CA頒發(fā)的數(shù)字證書和證書撤銷列表(CRL)。
3. LDAP服務(wù)器:Lightweight Directory Access
Protocol(輕量目錄訪問協(xié)議),提供目錄瀏覽服務(wù),負(fù)責(zé)將注冊(cè)機(jī)構(gòu)服務(wù)器RA傳輸過來的用戶信息以及數(shù)字證書加入到服務(wù)器上。用戶通過訪問LDAP服務(wù)器就能夠得到其他用戶的數(shù)字證書。
4. CA服務(wù)器:整個(gè)證書機(jī)構(gòu)的核心,負(fù)責(zé)證書的簽發(fā)。CA首先
產(chǎn)生自身的私鑰和公鑰,然后生成數(shù)字證書,并且將數(shù)字正常傳輸給安5. 5. 全服務(wù)器。CA還負(fù)責(zé)為安全服務(wù)器、RA服務(wù)器生成數(shù)字證書。
數(shù)據(jù)庫(kù)服務(wù)器:CA中的核心部分,用于CA中數(shù)據(jù)(如密鑰和用戶信息等)、日志、統(tǒng)計(jì)信息的存儲(chǔ)和管理。
CA證書頒發(fā)
數(shù)字簽名要發(fā)揮作用,首先需要接收方獲取發(fā)送方的公鑰。如何證明獲取的公鑰確實(shí)是發(fā)送方的公鑰而不是假冒的呢?數(shù)字證書提供了一種發(fā)布公鑰的簡(jiǎn)便方法。
<證書的申請(qǐng)、發(fā)布、使用>
<數(shù)字證書的生成和驗(yàn)證>
版權(quán)聲明:本文為CSDN博主「$從入門到放棄$」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_41652912/java/article/details/89484332
24小時(shí)免費(fèi)咨詢
請(qǐng)輸入您的聯(lián)系電話,座機(jī)請(qǐng)加區(qū)號(hào)