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

Tram Ho

HTTPS là một giao thức rất chuẩn, mọi người thường nói HTTPS bảo mật hơn HTTP vì nó có thêm SSL. Nhưng tại sao lại như vậy? Để hiểu rõ hơn về điều đó, chúng ta cùng tìm hiểu về SSL và cách thức hoạt động của nó trong bài viết này.

SSL là gì?

SSL (Secure Socket Layer) là một giao thức bảo mật được sử dụng để mã hóa dữ liệu được truyền qua kết nối giữa hai hệ thống.

Ví dụ phổ biến nhất về hai hệ thống giao tiếp với nhau sử dụng SSL là giao tiếp giữa trình duyệt và máy chủ web. Nếu chúng ta truy cập một trang web mà chúng ta thấy rằng giao thức của nó là HTTP, thì giao tiếp giữa trình duyệt và máy chủ không an toàn, dữ liệu đang được truyền ở dạng văn bản thuần túy. Và nếu chúng ta truy cập một trang web và thấy giao thức của nó là HTTPS, điều đó có nghĩa là nó đang sử dụng SSL và dữ liệu được truyền giữa trình duyệt và máy chủ đã được mã hóa.

TLS (Transport Layer Security) là một phiên bản mới hơn của SSL, và hiện nay hầu hết các giao thức HTTPS đều được triển khai qua TLS, nhưng do thói quen nên mọi người vẫn gọi nó là SSL.

Vậy SSL hoạt động như thế nào?

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

Trước khi tìm hiểu về cách thức hoạt động của SSL, trước tiên, chúng ta cần hiểu về hai khái niệm sau: Mật mã bất đối xứng và Mật mã đối xứng. Đây là hai cách mã hóa dữ liệu mà SSL sử dụng.

Mật mã không đối xứng

Mật mã không đối xứng, còn được gọi là Mật mã khóa công khai, là một cách mã hóa dữ liệu bằng cách sử dụng khóa công khai và cặp khóa riêng.

Với Public Key là khóa sẽ được chia sẻ với bên ngoài cho bất kỳ ai muốn giao tiếp, còn Private Key là khóa bảo mật được lưu giữ trên máy chủ và không được chia sẻ.

Khi giao tiếp, người gửi sẽ sử dụng Khóa công khai để mã hóa dữ liệu và người nhận sẽ sử dụng Khóa cá nhân để giải mã dữ liệu mà nó nhận được.

Mật mã đối xứng

Symmetric Cryptography cũng là một cách mã hóa dữ liệu giống như Asymmetric Cryptography, ngoại trừ việc thay vì sử dụng một cặp khóa, nó chỉ sử dụng một khóa để mã hóa và giải mã dữ liệu.

Xử lý dữ liệu SSL

SSL sử dụng cả Asymmetric và Symmetric để mã hóa dữ liệu, việc giao tiếp giữa hai hệ thống sử dụng SSL sẽ có hai bước như sau: SSL handshake và Data Transfer.

Mật mã không đối xứng được sử dụng trong bước bắt tay SSL. Mật mã đối xứng được sử dụng để truyền dữ liệu sau bước bắt tay SSL.

Bắt tay SSL

Chúng tôi sẽ lấy ví dụ về giao tiếp giữa trình duyệt và máy chủ web.

Kết nối SSL giữa hai hệ thống sẽ bắt đầu bằng bắt tay SSL sử dụng Mật mã không đối xứng. Bước bắt tay SSL này là để trình duyệt xác thực SSL với máy chủ. Quá trình này như sau:

  1. Trình duyệt gửi thông báo “xin chào khách hàng” đến máy chủ
  2. Máy chủ sẽ trả lời với nội dung “máy chủ xin chào”, chứa thông tin chứng chỉ SSL và khóa công khai của SSL đó
  3. Trình duyệt sẽ xác nhận thông tin xác thực SSL có thật hay không, nếu thành công, trình duyệt sẽ tạo Khóa phiên
  4. Khóa phiên này sẽ được mã hóa bằng Khóa công khai và gửi đến máy chủ
  5. Máy chủ sẽ nhận được Khóa phiên được mã hóa này và sử dụng Khóa riêng tư để giải mã và lưu Khóa phiên này, sau đó nó sẽ trả về một tín hiệu cho trình duyệt rằng Khóa phiên đã được nhận.

Kết thúc quá trình bắt tay SSL, cả trình duyệt và máy chủ đều có Session Key, đây là Key sẽ dùng để mã hóa và giải mã dữ liệu trong quá trình giao tiếp của 2 hệ thống sau này.

Truyền dữ liệu

Đây là quá trình truyền dữ liệu giữa hai hệ thống, Asymmetric Cryptography sẽ được sử dụng trong bước này, và cả hai đều sử dụng Session Key để mã hóa và giải mã dữ liệu.

Sự kết luận

Đây là cách thức hoạt động của SSL, trong công việc cài đặt máy chủ thì SSL rất quan trọng, hiểu được cách thức hoạt động của SSL sẽ giúp bạn làm việc với nó dễ dàng hơn.

Bạn có thể tìm hiểu thêm về SSL tại đây Tìm hiểu HTTPS (SSL)

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo