
Mục lục bài viết 9 phần
Chứng thư mới có thể đúng nhưng rollout vẫn gây lỗi nếu client chưa nhận trust bundle, connection pool giữ phiên cũ hoặc một instance reload chậm. Bài này đo handshake mới, connection reuse, trust overlap, rollback và recovery dưới tải.
Bài viết giúp bạn
- Vì sao rotation hợp lệ vẫn gây outage?
- Topology và trust boundary
- Biến số phải kiểm soát
Vì sao rotation hợp lệ vẫn gây outage?
#Certificate validation phụ thuộc hostname/SAN, validity, chain, EKU, signature algorithm, trust anchor, revocation policy và clock. Chứng thư server đúng không đảm bảo client trust intermediate mới. Với mTLS, server còn phải chấp nhận issuer/client certificate phù hợp.
Long-lived HTTP/2, gRPC hoặc connection pool có thể tiếp tục dùng session cũ, che lỗi cho tới khi reconnect. Ngược lại, reload proxy có thể đóng hàng loạt connection và tạo reconnect storm dù certificate mới hợp lệ.
Topology và trust boundary
#Topology gồm client fleet/emulator, DNS/load balancer, gateway/service mesh, nhiều service instance, CA/trust distribution và time source. Gắn instance ID/certificate fingerprint vào telemetry an toàn; không log private key.
Tách test TLS server certificate, client certificate mTLS, intermediate/root rotation và key algorithm change. Mỗi loại có failure mode khác; không gộp trong lượt đầu.

Biến số phải kiểm soát
#Ghi TLS version, cipher, key type/size theo policy, chain, OCSP/CRL, session resumption, connection lifetime, SNI, ALPN, clock skew, reload mode, deployment strategy và retry. Khóa load, endpoint mix và DNS/cache.
- Biến: Trust overlap · Mức thử: none/old+new/new · Rủi ro: Trust gap
- Biến: Connection state · Mức thử: cold/warm/long-lived · Rủi ro: Lỗi bị che hoặc storm
- Biến: Instance rollout · Mức thử: serial/parallel · Rủi ro: Split certificate state
- Biến: Clock skew · Mức thử: ± theo policy · Rủi ro: NotBefore/NotAfter failure
- Biến: Revocation · Mức thử: good/revoked/unavailable · Rủi ro: Fail-open/closed khác nhau
- Biến: mTLS issuer · Mức thử: old/new/both · Rủi ro: Client bị từ chối
KPI và bằng chứng
#KPI gồm handshake success/failure theo reason, handshake latency p95/p99, application success, reset/retry, concurrent connection, session reuse, certificate fingerprint distribution và time-to-full-rollout. Theo dõi CPU ở gateway khi connection churn.
Bằng chứng gồm chain/fingerprint, config/trust bundle version, per-instance telemetry, packet metadata, client error và deployment event. Không lưu private key hoặc secret trong báo cáo.
Ma trận rotation quyết định
#- Kịch bản: Leaf server đổi, cùng CA · Kỳ vọng: Kết nối mới thành công · Fail signal: hostname/chain error
- Kịch bản: Intermediate đổi · Kỳ vọng: Client trust đủ chain · Fail signal: unknown CA
- Kịch bản: Root rollover · Kỳ vọng: Overlap đúng thứ tự · Fail signal: trust gap theo fleet
- Kịch bản: mTLS client cert đổi · Kỳ vọng: Server chấp nhận issuer mới · Fail signal: handshake alert
- Kịch bản: Instance split · Kỳ vọng: Cả old/new hợp lệ trong window · Fail signal: lỗi ngẫu nhiên theo node
- Kịch bản: Rollback · Kỳ vọng: Khôi phục không mất trust · Fail signal: client mới chỉ trust new
- Kịch bản: Revocation service lỗi · Kỳ vọng: Hành vi đúng policy · Fail signal: fail-open ngoài thiết kế
Test plan theo từng pha
#- Inventory certificate, chain, trust store và owner.
- Đồng bộ clock; chụp baseline cold/warm handshake.
- Phân phối trust mới trước leaf mới khi thiết kế yêu cầu.
- Roll một instance canary; ép kết nối mới tới nó.
- Tăng tỷ lệ instance mới dưới tải ổn định.
- Buộc reconnect HTTP/2/gRPC/long-lived connection.
- Thử client cũ, mới, clock skew và revocation path.
- Với mTLS, đổi client certificate theo nhóm.
- Kích hoạt rollback; kiểm tra trust hai chiều.
- óa trust cũ sau khi có bằng chứng không còn dependency.

Checklist vận hành
#- Inventory leaf/intermediate/root và expiry owner.
- Trust mới phân phối trước khi cần dùng.
- Canary kiểm bằng kết nối mới, không chỉ connection cũ.
- Fleet cũ và edge client nằm trong compatibility matrix.
- mTLS kiểm cả server và client trust.
- HTTP/2/gRPC/WebSocket reconnect đã thử.
- Clock skew và revocation outage đã kiểm chứng.
- Fingerprint theo instance/region quan sát được.
- Rollback giữ trust cần thiết.
- Private key không xuất hiện trong log/report.
Giới hạn kết luận
#Kết quả phụ thuộc TLS library, OS trust store, proxy, service mesh và reload mechanism. Browser test không đại diện embedded client. Session resumption có thể làm đường validation khác cold handshake.
Lab không chứng minh PKI governance hoặc key custody. Không gọi “zero downtime” nếu chưa ép reconnect và thử đủ client population; báo cáo phải nêu exact chain, fingerprint và software version.
Khái niệm cần nhớ
#- Leaf certificate: Chứng thư của endpoint/service.
- Trust anchor: Root được tin cậy.
- Trust overlap: Giai đoạn chấp nhận cũ và mới.
- mTLS: Hai phía cùng xác thực bằng chứng thư.
- SNI/ALPN: Thông tin chọn hostname và application protocol.
- Session resumption: Tái sử dụng trạng thái TLS để giảm handshake.
Khái niệm cần nhớ
- DUT / SUT
- Thiết bị hoặc toàn bộ hệ thống đang là đối tượng của bài kiểm thử.
- Steady state
- Giai đoạn tải đã ổn định và đủ điều kiện để lấy số liệu đại diện.
- Pass / fail
- Kết luận dựa trên ngưỡng đã thống nhất, luôn đi cùng topology, cấu hình và điều kiện đo.
TÀI LIỆU ĐỐI CHIẾUTài liệu tham khảo4 nguồn +
Nội dung được biên soạn độc lập, theo hướng vendor-neutral và đối chiếu các tài liệu gốc dưới đây. Tính năng sản phẩm cần được kiểm tra lại theo phiên bản đang sử dụng.
NetVali ưu tiên nguồn tiêu chuẩn và tài liệu chính thức; phân biệt khuyến nghị triển khai với yêu cầu của tiêu chuẩn; không công bố thông số sản phẩm chưa gắn với phiên bản và điều kiện đo.
