TLS, mTLS và bảo mật kết nối đo thật: từ bắt tay tới xoay chứng chỉ

Sê-ri 12 phần cho lập trình viên backend: bắt tay TLS 1.3 đọc từng byte, chi phí TLS trên 10.000 kết nối, chứng chỉ và chuỗi tin cậy, cipher suite, mTLS và xoay vòng không downtime, TLS termination ở đâu, hết hạn chứng chỉ, secrets trong tiến trình, băm mật khẩu, JWT, timeout chống slowloris. Mỗi phần là một demo Go thật trong Docker với số đo byte, mili giây, RAM, CPU.

2/12 phần đã đăng Lập trình
1 Bắt tay TLS 1.3 đọc từng record: ClientHello 1.474 byte vì Kyber, 12 record và 1 RTT, TLS 1.2 tốn thêm đúng 50 ms một RTT dưới netem, session ticket cắt 539 byte và chữ ký nhưng không cắt RTT, còn 0-RTT đưa request tới server sớm hơn 50,7 ms Client Go ghi từng record TLS: TLS 1.3 đầy đủ gửi 1.583 byte, nhận 2.075 byte, 12 record, ClientHello 1.474 byte vì Go 1.23 bật X25519 cộng Kyber768. Dưới netem 50 ms chiều server về client: TLS 1.3 có phản hồi sau 172 ms, TLS 1.2 sau 222 ms vì thêm một lượt chờ server, resumption bằng ticket vẫn 172 ms nhưng bớt Certificate và CertificateVerify, nhận 1.536 thay vì 2.075 byte. 0-RTT bằng openssl s_server với early_data: server nhận request sau 81,0 ms thay vì 131,7 ms, sớm hơn đúng một RTT, kèm Early data was accepted. Go crypto/tls không hỗ trợ 0-RTT trên TCP. 22/09/2026 · 9 phút đọc 2 Chi phí TLS trên 10.000 kết nối đo thật: thêm 24,5 KB RAM mỗi kết nối idle, một lõi làm 4.350 bắt tay ECDSA mỗi giây nhưng chỉ 1.060 với RSA-2048, session ticket cắt 9% CPU với ECDSA và 80% với RSA, và Kyber768 chiếm 35% chi phí bắt tay Server Go nhận 10.000 kết nối idle: plaintext 42 MB RSS, TLS 1.3 với ECDSA P-256 288 MB, tức thêm 24,5 KB mỗi kết nối, phần lớn là bộ đệm record chứ không phải heap. Server một lõi: TCP connect trần 27.114 lần mỗi giây và 21 µs CPU; bắt tay TLS ECDSA 4.350 mỗi giây và 212 µs; RSA-2048 1.060 mỗi giây và 941 µs vì chữ ký RSA chiếm 78%. Session ticket đưa cả hai về 192 µs: cắt 9% với ECDSA, 80% với RSA. Tắt Kyber768 hybrid: 6.575 mỗi giây và 139 µs, Kyber tốn 73 µs mỗi bắt tay. Với 16 worker một lõi bão hoà ở 5.328 mỗi giây; 4 lõi chỉ đạt 6.055 vì client thành nút thắt. 22/09/2026 · 9 phút đọc

Còn 10 phần nữa sẽ lần lượt được đăng.