2021-02-21 人閱讀
HTTPS是如何對數據進行加密的?
對安全或密碼學基礎有了解的同學,應該知道常見的加密手段。一般來說,加密分為對稱加密、非對稱加密(也叫公開密鑰加密)。
對稱加密對的意思就是,加密數據用的密鑰,跟解密數據用的密鑰是一樣的。對稱加密的優點在于加密、解密效率通常比較高。缺點在于,數據發送方、數據接收方需要協商、共享同一把密鑰,并確保密鑰不泄露給其他人。此外,對于多個有數據交換需求的個體,兩兩之間需要分配并維護一把密鑰,這個帶來的成本基本是不可接受的。
非對稱加密非對稱加密的意思就是,加密數據用的密鑰(公鑰),跟解密數據用的密鑰(私鑰)是不一樣的。
?
什么叫做公鑰呢?
其實就是字面上的意思——公開的密鑰,誰都可以查到。因此非對稱加密也叫做公開密鑰加密。
相對應的,私鑰就是非公開的密鑰,一般是由網站的管理員持有。
?
公鑰、私鑰兩個有什么聯系呢?
簡單的說就是,通過公鑰加密的數據,只能通過私鑰解開。通過私鑰加密的數據,只能通過公鑰解開。
很多同學都知道用私鑰能解開公鑰加密的數據,但忽略了一點,私鑰加密的數據,同樣可以用公鑰解密出來。而這點對于理解HTTPS的整套加密、授權體系非常關鍵。
舉個非對稱加密的例子
登陸用戶:小明
授權網站:某知名社交網站(以下簡稱XX)
小明都是某知名社交網站XX的用戶,XX出于安全考慮在登陸的地方用了非對稱加密。小明在登陸界面敲入賬號、密碼,點擊“登陸”。于是,瀏覽器利用公鑰對小明的賬號密碼進行了加密,并向XX發送登陸請求。XX的登陸授權程序通過私鑰,將賬號、密碼解密,并驗證通過。之后,將小明的個人信息(含隱私),通過私鑰加密后,傳輸回瀏覽器。瀏覽器通過公鑰解密數據,并展示給小明。
步驟一: 小明輸入賬號密碼 --> 瀏覽器用公鑰加密 --> 請求發送給XX
步驟二: XX用私鑰解密,驗證通過 --> 獲取小明社交數據,用私鑰加密 --> 瀏覽器用公鑰解密數據,并展示。
用非對稱加密,就能解決數據傳輸安全的問題了嗎?前面特意強調了一下,私鑰加密的數據,公鑰是可以解開的,而公鑰又是加密的。也就是說,非對稱加密只能保證單向數據傳輸的安全性。
?
微信公眾號 關注我們
加我微信 售前咨詢
加我微信 售前咨詢