week 2 全面了解 HTTPS
2021/8/4
證書編號
證書內容
Let's Encrypt Free SSL
Cloudflare Free DNS CDN SSL
HTTPS工作原理
SSL(Secure Sockets Layer)
一種網路傳輸的加密方法,由網景公司1995年開發。為了傳輸資料的隱私與安全所生。
TSL(Transport Layer Security)
新版 SSL,改名字是其它考量。
典型的用途是加密 web app 與 servre 的通訊,例如 email, messaging, and voice over IP (VoIP)。
HTTPS
HTTPS 在 HTTP 上實作了 SSL/TLS 加密。
當使用者造訪了有SSL/TSL憑證的網站,會得到一把公鑰,接著進行SSL/TLS handshake。
WHY
TLS 做了什麼?
加密,經由三方傳遞資料時,資訊不被第三方讀取
資訊驗證,確保取得的就是請求的資訊
資訊正確完整,確保資訊不被竄改
SSL/TSL 憑證
包含:
domain name
DS數位簽章
The public key (the private key is kept secret)
...
public key 來自於CA憑證簽署機構 (CA)
也许,这样理解HTTPS更容易
對稱加密
加密溝通的訊息(HTTPS 加密Server <=> Client之間的訊息)
非對稱加密
協商加密算法,Server 對不同 Client 用不同的對稱加密方法(發布同的私鑰)
數位簽章
為避免被竄改公鑰,使用數位簽章保證協商加密算法是安全的
對稱加密
加解密用同一把鑰匙
server 把資料用鑰匙,client 用同一把鑰匙解開
問題是那把私鑰匙要怎麼交給 client?
好記的方法:
沒加密的傳輸=郵差送明信片
私鑰:雙方都知道的密碼/鑰匙 eg. 答案是我的生日+5天 eg. 公司員工都有一把公司鑰匙可以打開門
RSA
問題還是一樣,第一次怎麼怎麼給公鑰?=>使用數位簽章
如果是跟server請求還是可能被掉包
不會算,還給數學老師了= =
好記的方法:
混漆:雙方有個私人色,有個公共色,傳遞之前先混色
數學的除法:雙方心裡有個數字,公共數字,傳遞乘過的數字,解密除回來就好
RSA是用 mod 做
數位簽章
數位是用來證明文件是本人發出來的方法=>client透過數位簽章確定公鑰是伺服器發的
也是用非對稱加密的概念,但是非對稱加密用公鑰加密私鑰解密,數位簽章用私鑰加密公鑰解密
問題是數位簽章也需要一把公鑰來解密,這時候這把公鑰要去哪裡拿?=>CA
在申請SSL憑證的時候有個步驟,要簽CSR去跟CA申請憑證,用私鑰證明這個網站屬於自己。是在這個步驟我的網站擁有DS、CA有我的網站的DS公鑰嗎?
Last updated