☎ Hỗ trợ 24/7: (+84.28).6268.0611 ✉ Email
TLS Handshake là gì? Cơ chế tạo kết nối HTTPS an toàn

TLS Handshake là gì? Cơ chế tạo kết nối HTTPS an toàn

Cập nhật lần cuối: • 17/09/2026

TLS Handshake là quá trình thiết lập kết nối an toàn giữa client và server trong HTTPS. Tìm hiểu cách hoạt động, các bước chi tiết và vì sao TLS ảnh hưởng đến hiệu năng website.

TLS Handshake là gì?

TLS Handshake là quá trình “thỏa thuận” giữa browser (client) và server để:

  • xác thực server
  • thống nhất thuật toán mã hóa
  • tạo session key để mã hóa dữ liệu

Nói đơn giản: đây là bước “giới thiệu + xác thực + tạo khóa” trước khi HTTPS bắt đầu truyền dữ liệu.

TLS Handshake diễn ra khi nào?

TLS Handshake xảy ra mỗi khi:

  • bạn truy cập website HTTPS mới
  • mở kết nối mới đến server
  • tạo connection sau khi hết session reuse

Ví dụ:

https://example.com

Browser sẽ không gửi dữ liệu ngay, mà phải handshake trước.

TLS Handshake hoạt động như thế nào?

Quá trình TLS Handshake (phiên bản đơn giản):

Client Hello
    ↓
Server Hello
    ↓
Certificate
    ↓
Key Exchange
    ↓
Session Key Created
    ↓
Encrypted Communication

1. Client Hello

Browser gửi:

  • TLS version hỗ trợ
  • cipher suites hỗ trợ
  • random value
  • SNI (domain muốn truy cập)

2. Server Hello

Server phản hồi:

  • chọn TLS version
  • chọn cipher suite
  • gửi certificate (SSL cert)

3. Certificate Verification

Browser kiểm tra:

  • certificate có hợp lệ không
  • có bị self-signed không
  • có đúng domain không
  • chain có đầy đủ không

Nếu fail → lỗi như:

  • ERR_SSL_PROTOCOL_ERROR
  • NET::ERR_CERT_AUTHORITY_INVALID

4. Key Exchange

Hai bên tạo ra shared secret.

Tuỳ thuật toán:

  • RSA (cũ)
  • ECDHE (hiện đại)

ECDHE phổ biến vì:

  • hỗ trợ forward secrecy
  • bảo mật tốt hơn

5. Session Key được tạo

Từ shared secret → tạo symmetric key.

Key này dùng để:

  • mã hóa toàn bộ data sau handshake

6. Encrypted Communication bắt đầu

Từ đây trở đi:

  • HTTP request được mã hóa thành HTTPS
  • dữ liệu không đọc được nếu bị sniff

TLS Handshake trong TLS 1.2 vs TLS 1.3

TLS 1.2

  • nhiều bước hơn
  • handshake chậm hơn
  • hỗ trợ thuật toán cũ

TLS 1.3

Client Hello → Server Hello → Encrypted Communication

Ưu điểm:

  • nhanh hơn
  • ít round-trip hơn
  • bỏ thuật toán yếu
  • mặc định forward secrecy

TLS Handshake ảnh hưởng performance như thế nào?

Handshake ảnh hưởng:

  • TTFB (Time To First Byte)
  • latency
  • CPU server (crypto operations)

HTTPS không chậm vì encryption data, mà chậm vì TLS handshake.

Các yếu tố làm handshake chậm:

  • certificate chain dài
  • server cấu hình cipher yếu
  • không bật session reuse
  • network latency cao
  • TLS Handshake và SSL Termination

Trong kiến trúc reverse proxy:

Client
  ↓ TLS Handshake
NGINX / Load Balancer
  ↓ (optional TLS)
Backend

Proxy có thể:

  • terminate TLS
  • giảm load handshake cho backend

TLS Handshake và OCSP

Trong handshake, browser có thể:

  • kiểm tra certificate status (revocation)
  • thông qua OCSP hoặc OCSP Stapling

Nếu OCSP chậm:

  • handshake bị delay

TLS Handshake và SNI

SNI (Server Name Indication) giúp:

  • server biết bạn đang truy cập domain nào

Ví dụ:

example.com
api.example.com

Không có SNI:

  • server không biết trả cert nào
  • dễ lỗi SSL

TLS Handshake có cần mỗi lần request không?

Không.

Nhờ:

  • keep-alive
  • session resumption
  • TLS ticket

→ handshake không diễn ra mỗi request.

Lỗi liên quan TLS Handshake

1. ERR_SSL_PROTOCOL_ERROR

  • handshake fail hoàn toàn

2. CERTIFICATE_INVALID

  • cert sai hoặc không trust

3. TLS_VERSION_NOT_SUPPORTED

  • server dùng TLS quá cũ

Làm sao để TLS Handshake nhanh hơn?

Trong đa số hệ thống hiện đại, bottleneck của HTTPS không nằm ở việc mã hóa dữ liệu mà nằm ở:

  • TLS handshake
  • network round-trip
  • certificate verification

Một website có payload nhỏ nhưng handshake chậm vẫn có thể tạo cảm giác load chậm rõ rệt.

1. Dùng TLS 1.3

TLS 1.3 giảm số round-trip cần thiết để tạo kết nối HTTPS.

TLS 1.2 thường cần:

2 RTT (Round Trip Time)

Trong khi TLS 1.3 chỉ cần:

1 RTT

Điều này đặc biệt quan trọng với:

  • mobile network
  • user quốc tế
  • latency cao

2. Bật Session Resumption

Không phải request nào cũng cần full handshake.

Browser có thể reuse session thông qua:

  • Session ID
  • Session Ticket

Điều này giúp:

  • giảm CPU crypto
  • giảm latency
  • tăng tốc request lặp lại

Trên website traffic lớn, session resumption giúp giảm đáng kể số lượng expensive handshake operation.

3. Giảm certificate chain không cần thiết

Certificate chain càng dài:

  • handshake càng nặng
  • browser verify càng lâu

Một số hệ thống:

  • attach dư intermediate cert
  • cấu hình chain sai
  • duplicate chain

→ làm HTTPS chậm hơn không cần thiết.

4. Dùng ECDSA thay vì RSA nếu phù hợp

ECDSA:

  • nhẹ hơn
  • handshake nhanh hơn
  • CPU thấp hơn

Đặc biệt hiệu quả trên:

  • mobile device
  • high connection concurrency

Tuy nhiên cần kiểm tra compatibility trước khi triển khai production.

5. Dùng HTTP/2 hoặc HTTP/3

HTTP/2 giúp:

  • multiplexing
  • giảm số connection mới

HTTP/3 còn tối ưu handshake tốt hơn nhờ:

  • QUIC
  • UDP-based transport

TLS Handshake có ảnh hưởng SEO không?

Không trực tiếp.

Nhưng ảnh hưởng gián tiếp:

  • tăng hoặc giảm TTFB
  • ảnh hưởng Core Web Vitals
  • ảnh hưởng crawl stability

Kết luận

TLS Handshake là nền tảng của HTTPS, đóng vai trò:

  • xác thực server
  • tạo khóa mã hóa
  • thiết lập kết nối an toàn

Hiểu TLS handshake giúp bạn:

  • debug SSL error nhanh hơn
  • tối ưu performance HTTPS
  • thiết kế kiến trúc reverse proxy tốt hơn

Tin tức nổi bật

Backup SSL Certificate đúng cách cho hệ thống Production

SSL certificate là một trong những tài sản quan trọng nhất của hệ thống HTTPS. Nếu certificate hoặc Private Key bị mất, website có thể ngừng hoạt động hoặc phải thực hiện quy trình cấp lại chứng chỉ phức tạp. Việc xây dựng chiến lược backup SSL đúng cách giúp giảm thiểu rủi ro khi xảy ra sự cố, migrate hệ thống hoặc khôi phục sau thảm họa.

Xem bài viết
Cách kiểm tra phiên bản TLS trên website

Phiên bản TLS đang sử dụng ảnh hưởng trực tiếp đến mức độ bảo mật của website. Việc kiểm tra TLS giúp quản trị viên phát hiện các giao thức lỗi thời như TLS 1.0, TLS 1.1 hoặc xác nhận hệ thống đã hỗ trợ TLS 1.2 và TLS 1.3 theo các tiêu chuẩn bảo mật hiện đại.

Xem bài viết
Cipher Suite là gì? Cách chọn Cipher Suite an toàn cho HTTPS

Cipher Suite là tập hợp các thuật toán mật mã được sử dụng trong quá trình thiết lập và bảo vệ kết nối SSL/TLS. Việc lựa chọn Cipher Suite phù hợp giúp website cân bằng giữa bảo mật, hiệu năng và khả năng tương thích, đồng thời giảm nguy cơ bị khai thác các lỗ hổng liên quan đến thuật toán mã hóa.

Xem bài viết
Mixed Content là gì? Cách fix triệt để cho website HTTPS

Mixed Content là gì? Vì sao website HTTPS vẫn bị “Not Secure”? Hướng dẫn cách kiểm tra và fix triệt để lỗi Mixed Content cho website.

Xem bài viết
TLS Handshake là gì? Cơ chế tạo kết nối HTTPS an toàn

TLS Handshake là quá trình thiết lập kết nối an toàn giữa client và server trong HTTPS. Tìm hiểu cách hoạt động, các bước chi tiết và vì sao TLS ảnh hưởng đến hiệu năng website.

Xem bài viết
(+84.28).6268.0611

Hotline liên hệ

Chat Zalo

Trò chuyện ngay

Live chat

Hỗ trợ trực tuyến