概念
1.對稱加密
2.非對稱加密(公鑰加密)
3.消息摘要
4.消息認證碼
5.數(shù)字簽名
6.公鑰證書
推薦先查看這篇文章再進行下文閱讀:
https://foofish.net/https-story-1.html
這里由一個請求來解釋為什么需要這些東西并對其概念做簡短解釋踱阿,結合這篇文章希望能更便于理解。
流程
這個相信大概用過或了解過的都知道钦铁,?一句話:由Client發(fā)起請求進行公鑰加密發(fā)送到Server软舌,Server使用私鑰進行解密,?最后將數(shù)據(jù)同樣進行公鑰加密返回牛曹,Client進行私鑰解密后處理業(yè)務佛点。
看著似乎就是那么理所應當?shù)暮唵伟 N冶旧硪彩沁@么天真的以為的就是加個密解個密么哈哈
好 接下來就從這個看似簡單的流程來說說上面這些概念都是什么作用
首先 流程中最明顯的一環(huán)“加密”先來看看這個
對稱加密與非對稱加密
對稱加密:加密解密使用的是相同密鑰
優(yōu)點:速度快
缺點:因為Client要告訴Server加密方式而攻擊者在攔截后知道了加密方式也就知道了解密方式黎比。
非對稱加密:一端進行公鑰加密而另一端進行私鑰解密
優(yōu)點:解決了對稱加密可能被攔截破解的可能
因為攔截者沒有私鑰超营,他無從知道怎么解密
缺點:速度比公鑰慢很多
ok到這里加密應該有個大概的概念了,加密的事情解釋差不多了阅虫,?這里提個問題演闭,如果攔截者進行了篡改這時怎么辦。這就用到了消息摘 要和消息認證碼
消息摘要消息認證碼
簡單來說這個是保證數(shù)據(jù)的完整唯一性颓帝,當攔截者把消息改變后米碰,Server進行比對發(fā)現(xiàn)不同就會認為這是被篡改的消息
但是問題又來了,雖說可以保整完整性购城,但是攔截者可以進行偽造吕座,攔截者偽造訂單信息進行攻擊你會有口說不清。?這時又怎么辦呢瘪板,“數(shù)字簽名”
數(shù)字簽名
數(shù)字簽名就是Client把消息哈希函數(shù)處理生成消息摘要吴趴,摘要信息使用私鑰加密之后生成簽名發(fā)送給Server再由Server提取進行同樣的哈希處理得到再與Client發(fā)送過來的簽名解密如,如果相等則證明是對應的Client發(fā)送的
這下看著似乎都很完善了侮攀。還差最后一步就是公鑰證書锣枝,他是做什么的呢,如果遭到攔截者把公鑰換掉了呢魏身,這時就需要有一個權威機構來認證也就是Certification Authority)CA惊橱。
公鑰證書
證書中有用戶的姓名組織郵箱地址等信息,還有公鑰信息箭昵,并由CA提供數(shù)字簽名生成公鑰證書(Public-Key Certificate)PKC税朴,簡稱證書。
這就是基本的大致流程了。
菜鳥講解正林,主要是為了自己熟悉也希望這相對的白話文能幫小白理解