Https爲何安全?使用到了什麼關鍵技術?

概念 1.對稱加密 2.非對稱加密(公鑰加密) 3.消息摘要 4.消息認證碼 5.數字簽名 6.公鑰證書html

推薦先查看這篇文章再進行下文閱讀: https://foofish.net/https-story-1.html 這裏由一個請求來解釋爲何須要這些東西並對其概念作簡短解釋,結合這篇文章但願能更便於理解。函數

流程

這個相信大概用過或瞭解過的都知道,一句話:由Client發起請求進行公鑰加密發送到Server,Server使用私鑰進行解密,最後將數據一樣進行公鑰加密返回,Client進行私鑰解密後處理業務。加密

看着彷佛就是那麼理所應當的簡單啊。我自己也是這麼天真的覺得的就是加個密解個密麼哈哈.net

好 接下來就從這個看似簡單的流程來講說上面這些概念都是什麼做用htm

首先 流程中最明顯的一環「加密」先來看看這個it

對稱加密與非對稱加密

對稱加密:加密解密使用的是相同密鑰 優勢:速度快 缺點:由於Client要告訴Server加密方式而攻擊者在攔截後知道了加密方式也就知道了解密方式。 非對稱加密:一端進行公鑰加密而另外一端進行私鑰解密 優勢:解決了對稱加密可能被攔截破解的可能 由於攔截者沒有私鑰,他無從知道怎麼解密 缺點:速度比公鑰慢不少io

ok到這裏加密應該有個大概的概念了,加密的事情解釋差很少了,這裏提個問題,若是攔截者進行了篡改這時怎麼辦。這就用到了消息摘 要和消息認證碼class

消息摘要消息認證碼

簡單來講這個是保證數據的完整惟一性,當攔截者把消息改變後,Server進行比對發現不一樣就會認爲這是被篡改的消息請求

可是問題又來了,雖然說能夠保整完整性,可是攔截者能夠進行僞造,攔截者僞造訂單信息進行攻擊你會有口說不清。這時又怎麼辦呢,「數字簽名」加密解密

數字簽名

數字簽名就是Client把消息哈希函數處理生成消息摘要,摘要信息使用私鑰加密以後生成簽名發送給Server再由Server提取進行一樣的哈希處理獲得再與Client發送過來的簽名解密如,若是相等則證實是對應的Client發送的

這下看着彷佛都很完善了。還差最後一步就是公鑰證書,他是作什麼的呢,若是遭到攔截者把公鑰換掉了呢,這時就須要有一個權威機構來認證也就是Certification Authority)CA。

公鑰證書

證書中有用戶的姓名組織郵箱地址等信息,還有公鑰信息,並由CA提供數字簽名生成公鑰證書(Public-Key Certificate)PKC,簡稱證書。

這就是基本的大體流程了。 菜鳥講解,主要是爲了本身熟悉也但願這相對的白話文能幫小白理解

相關文章
相關標籤/搜索