系統設計入門:Security and HTTPS
Published in
May 20, 2022
網路安全對於所有的系統設計是非常關鍵的,但通常也已經跳脫了原先系統設計的範疇。
Man-In-The-Middle Attack 中間人攻擊
攻擊者截獲在兩端(C-S model)通訊過程中的資料,甚至進行中間資料(ip packet)傳遞過程中的篡改,導致變成惡意攻擊的資料包。
Encryption 加密
- Symmetric Encryption 對稱加密
- 1 Key,使用同一個密鑰來執行加密和解密
- 必須確保這個Key在C-S model中共享不會被竊取
- 長度通常設置為128或256位元
AES (Advanced Encryption Standard)
美國政府公開徵選用來取代 DES 加密法的一種新型加密法,適用於對稱加密,為目前最廣泛運用的方法。
2. Asymmetric Encryption 非對稱加密
- 又稱為公鑰加密
- 2 Keys,使用一個密鑰來加密數據,再使用另一個密鑰來解密
- 分別有public key與private key
HTTPS
為HTTP + TLS。
TLS (handshake), Transport Layer Security
TLS,中文為傳輸層安全,是一種安全協議。
驗證另一個系統是否支持 TLS,這個過程稱為TLS handshake。
SSL (certificate), Secure Sockets Layer
用作HTTPS連接中 TLS handshake的一部分。是用來防禦中間人攻擊的手段。安裝了有效 SSL/TLS 證書的網頁在搜索欄中的網站名稱前會顯示“https”。
範例流程如: