---
# System prepended metadata

title: SSL/TLS
tags: [learning]

---

# SSL/TLS
###### tags: `learning`
因為想了解 HTTPS 因而去尋找相關資料，單純看完 wiki 發現其實 wiki 寫的沒有很多...

* 目的:
    保障資料傳輸的完整性和安全性
    
* 架構:
    client - server 
    
* 分層:
    * 主要在記錄層、傳輸層:
        * 記錄層:
            用來決定用何種格式
        * 傳輸層:
            用來加密
    * 可以跟位在應用層的 HTTP, FTP 無縫接軌
> 記錄層不是 OSI 模型中....
> 

* 使用方式:
    * 用指定的 port 443
    * client 指定 server 用特殊的 protocol 

* 建立連接過程:
    1. user 向 server 發送加密函數、雜湊函數列表
    2. server 向 user 決定加密函數、雜湊函數
    3. server 向 user 發送憑證、名稱、一組金鑰
    4. user 向 agency 確認憑證的有效性
    5. user 向 server 發送加上隨機值生成的金鑰
    6. user 和 server 互發送加上 random 的對稱金鑰
    ※ 上面有一個步驟沒通過就馬上斷開連結