關(guān)于CA、簽名、證書、非對(duì)稱加密、摘要、公私鑰匙和keystore概念和理解

這幾個(gè)概念才接觸密碼學(xué)時(shí)候理解不是很到位,現(xiàn)在將其理清楚,寫下自己的理解。

公私秘鑰對(duì)可以通過一種算法得到

公鑰:公開的,都可以拿到的秘鑰。用來加密也用來解密,公鑰加密的信息只能用對(duì)應(yīng)私鑰來解。

私鑰:只有一個(gè)持有者,其他人都拿不到。用來加密也用來解密,私鑰加密的信息只有對(duì)應(yīng)的公鑰能解。因?yàn)樗借€具有唯一性,可以用來鑒別身份。需要注意的是私鑰的唯一性是針對(duì)自己的公鑰來說的。

非對(duì)稱加密:過程使用兩把不同的鑰匙加解密,私鑰加密只能用公鑰解,公鑰加密用私鑰解,一般流程為:A生成公私密鑰對(duì),把公鑰給B,B用公鑰加密信息發(fā)送給A,A用私鑰解密。

數(shù)字信封:使用了雙層加密。數(shù)字信封包含兩部分:密文和私鑰加密后的對(duì)稱密鑰,使用過程是首先用公鑰解開私鑰加密的對(duì)稱密鑰,再用對(duì)稱密鑰解密文,結(jié)合了對(duì)稱加密快和非對(duì)稱加密安全的優(yōu)點(diǎn)

摘要:對(duì)任意一組輸入數(shù)據(jù)通過算法進(jìn)行計(jì)算,得到一個(gè)固定長(zhǎng)度的輸出摘要,常見RSA公司的MD5算法和SHA-1算法。

簽名:包含兩部分:對(duì)所簽信息做摘要運(yùn)算得到一個(gè)結(jié)果值,在運(yùn)用非對(duì)稱加密中的私鑰對(duì)這個(gè)值進(jìn)行加密(比如app簽名就是對(duì)app自身文件做多次摘要,然后私鑰加密,https流程簽名就是對(duì)一些企業(yè)證書信息做摘要然后私鑰加密)。

證書:公鑰相關(guān)信息,其他信息如證書有效期,名稱,最后貼附私鑰簽名的信息,格式普遍采用的是X.509V3國(guó)際標(biāo)準(zhǔn)(app中證書指紋,他是簽名工具相關(guān)信息的hash值不包括貼附私鑰簽名只會(huì)隨簽名keystore變化而變化,app變化時(shí)候不會(huì)改變,用來配合包名做身份鑒別,常用于app升級(jí)和安裝場(chǎng)景)。

keystore:證書庫(kù)文件,保存證書信息和公鑰及私鑰(用設(shè)置密碼保護(hù)私鑰),訪問私鑰要密碼。

CA:第三方可信機(jī)構(gòu)。為什么https過程中非對(duì)稱加密傳輸過程中需要用到第三方可信機(jī)構(gòu)(CA),大家得客戶端都以保存在本地的CA發(fā)出來的公鑰解密,就可以確定CA的身份因?yàn)镃A是唯一的私鑰擁有者,CA做的事就是給合法的服務(wù)端證書簽名,所以客戶端鑒定CA的身份后,自然也認(rèn)為解得CA簽名的服務(wù)器證書是合法的。
注意:https中涉及兩對(duì)公私密鑰,CA的私鑰用來簽名,其簽名信息用來防篡改,CA公私鑰配合確定CA的是身份。服務(wù)器的公私密鑰用來加解密信息,也用來確定的服務(wù)器身份,其交互的信息用來協(xié)商對(duì)稱密鑰。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容