Junior #https#tls#certificate#security
HTTPS và TLS handshake hoạt động cơ bản như thế nào?
⚡ Trả lời nhanh
HTTPS là HTTP chạy trên TLS, cung cấp mã hóa, toàn vẹn và xác thực server. Trong handshake, client và server thỏa thuận phiên bản/cipher, server gửi certificate để client kiểm tra chuỗi tin cậy, rồi hai bên trao đổi khóa (ECDHE) để sinh session key đối xứng mã hóa dữ liệu.
- ClientHello: phiên bản TLS, danh sách cipher suite, số ngẫu nhiên.
- ServerHello + certificate (chứa public key, do CA ký).
- Client xác minh certificate: chuỗi CA tin cậy, domain khớp, còn hạn, chưa thu hồi.
- Trao đổi khóa (ECDHE) để cả hai tính ra cùng session key.
- Từ đó dữ liệu được mã hóa đối xứng (AES-GCM, ChaCha20).
Strict-Transport-Security: max-age=31536000; includeSubDomains
- Mã hóa bất đối xứng chỉ dùng để thiết lập khóa vì chậm; dữ liệu thật dùng mã hóa đối xứng.
- TLS 1.3 rút gọn handshake còn 1 round trip (hỗ trợ 0-RTT resumption).
- ECDHE cho forward secrecy: lộ khóa riêng của server sau này không giải mã được traffic cũ.
- HSTS ép trình duyệt luôn dùng HTTPS, chống downgrade/sslstrip.