Ra mắt hai series mới cực hot Trí tuệ nhân tạo A đến ZPython công cụ không thể thiếu khi nghiên cứu Data science, Machine learning.

HTTPS, chứng chỉ SSL là gì, hoạt động như thế nào?

Trong quá trình vận hành các website, phát triển nội dung và làm SEO web chúng ta không ít lần bắt gặp các thuật ngữ như HTTPS, SSL, chứng chỉ SSL, mã hóa RSA... nhưng không phải ai trong chúng ta cũng nắm được cụ thể nó là gì và ứng dụng như thế nào cho công việc hiện tại.

SSL, chứng chỉ SSL là gì?

SSL viết tắt của cum từ Secure Sockets Layer là một tiêu chuẩn trong kỹ thuật bảo mật dùng cho được thiết lập một kết nối được mã hóa giữa một máy chủ web và trình duyệt. Kết nối này được đảm bảo các dữ liệu gửi giữa máy chủ web và trình duyệt là riêng tư và toàn vẹn. SSL là một chuẩn công nghiệp được sử dụng ở hàng triệu các website nhằm bảo vệ thông tin các giao dịch trực tuyến của khách hàng. Để tạo được một kết nối SSL đến một máy chủ web cần có một chứng chỉ SSL.

SSL sử dụng các thuật toán mã hóa công khai, khi máy chủ web được cài đặt SSL, nó sẽ tạo ra hai khóa mã hóa: một khóa công khai (public key) và một khóa bí mật (private key). Các khóa mã hóa được tạo ra khi bạn hoàn thành một số câu hỏi để nhận diện website cũng như công ty của bạn. Khóa công khai không cần thiết phải bảo mật nên được đưa vào file yêu cầu cấp chứng chỉ CSR (Certificate Signing Request). File này sẽ được gửi đến các tổ chức cấp chứng chỉ CA (Certification Authority) để xác thực và phát hành chứng chỉ SSL chứa các thông tin khi tạo CSR (tên website, tên công ty, địa chỉ...) và cho phép máy chủ của bạn được sử dụng SSL.

Thông thường, chứng chỉ SSL sẽ bao gồm một số các thông tin như tên miền, tên công ty, địa chỉ, công ty, quốc gia, ngoài ra thông tin về ngày hết hạn chứng chỉ cũng được đưa vào. Khi một trình duyệt kết nối đến một website được bảo mật, nó sẽ nhận được chứng chỉ SSL, trình duyệt sẽ kiểm tra ngày hết hạn và tổ chức cấp chứng chỉ CA là ai, nếu không xác thực được trình duyệt sẽ thông báo cho người dùng là website này không được bảo mật bằng SSL.

3 bước tạo chứng chỉ SSL

HTTPS là gì, tại sao các website sử dụng HTTPS?

HTTPS là sự kết hợp giữa giao thức HTTP và tiêu chuẩn SSL, nó cung cấp kết nối được mã hóa giữa trình duyệt người dùng và máy chủ web. HTTPS rất cần thiết và tiến tới sẽ là một tiêu chuẩn bắt buộc cho các website khi trao đổi nội dung với trình duyệt, nó bảo vệ dữ liệu khỏi những kẻ xấu nghe lén, ghi lại dữ liệu trên mạng. Các gói tin khi đi từ trình duyệt đến máy chủ web và ngược lại sẽ phải chạy qua một loạt các thiết bị trên mạng Internet như switch (bộ chuyển mạch), router (bộ định tuyến), firewall (thiết bị bảo mật tường lửa), load balancing (các thiết bị cân bằng tải)... tại các thiết bị này có thể gói tin của bạn bị ghi lại, nếu thông tin chưa được mã hóa, kẻ xấu có thể lợi dụng.

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

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

Chúng ta sẽ cùng tìm hiểu xem cách giao thức HTTPS hoạt động như thế nào và vai trò của SSL trong giao thức này. Chúng ta đến với trường hợp cụ thể là khi một trình duyệt kết nối đến website https://adshare.vn một website được bảo mật bằng SSL. Thứ tự các bước xảy ra trong quá trình kết nối đến website này như sau:

  1. Trình duyệt thử kết nối đến https://adshare.vn
  2. Adshare.vn gửi đến trình duyệt một chứng chỉ SSL, trong chứng chỉ này có khóa công khai của máy chủ Ashare và các thông tin khác của Ashare.
  3. Trình duyệt kết nối đến tổ chức cấp chứng chỉ CA và xác thực khóa công khai ở trên.
  4. Trình duyệt sử dụng một khóa mã hóa đối xứng ngẫu nhiên K cho kết nối của nó đến adshare.vn, nó mã hóa khóa K này bằng khóa công khai nhận được từ adshare.vn.
  5. Adshare.vn giải mã và có được nội dung khóa K bằng mã bí mật của mình và từ lúc này cả trình duyệt và máy chủ web adshare.vn đều biết đến khóa K, khóa này không ai khác biết được.
  6. Bất kỳ thông tin gửi nhận giữa trình duyệt và máy chủ web adshare.vn sẽ được mã hóa và giải mã bằng khóa K này.

Chúng sẽ vào thử website https://adshare.vn để xem mặt mũi chứng chỉ SSL ra sao:

HTTPS được sử dụng tại Adshare.vn

Các website khi được cài đặt chứng chỉ SSL và được kết nối thông qua giao thức HTTPS sẽ đều có hình cái khóa ở trước đường dẫn như hình ảnh ở trên. Nếu bạn dùng Chrome thực hiện theo các bước sau: bấm vào nút 3 dấu chấm trên cùng bên phải chọn More tools -> Developer tools. Công cụ Developer tools sẽ chiếm một phần màn hình trình duyệt, bạn chọn đến tab Security.

Chứng chỉ SSL trên Adshare.vn

Bấm tiếp vào View certificate bạn sẽ xem được các thông tin trong chứng chỉ SSL được cấp cho website này. Nếu bạn dùng Firefox thì khi vào website https://adshare.vn và bấm vào hình cái khóa trước đường dẫn, bạn sẽ thấy ngay thông tin chứng chỉ SSL này được cấp bởi CA nào và bấm vào nút More information để xem chi tiết về chứng chỉ này.

Xem chứng chỉ SSL cấp cho adshare.vn trên Firefox

CA là gì, có thể làm giả chứng chỉ SSL không?

CA viết tắt của Certificate Authority là các tổ chức được phép cấp chứng chỉ SSL, các tổ chức này được đăng ký trên phạm vi toàn cầu và mỗi một hệ thống sẽ có những danh sách chấp nhận các tổ chức khác nhau. Ví dụ như:

Tiếp theo chúng ta sẽ trả lời câu hỏi, có làm giả được chứng chỉ SSL không? Câu trả lời sẽ có ở dưới đây: Chúng ta quay lại ví dụ về kết nối đến https://adshare.vn ở trên, tại bước số 3 trình duyệt sẽ kiểm chứng xem chứng chỉ SSL này là thật hay giả. Khi yêu cầu lấy thông tin đến adshare.vn, có thể tại một điểm, một thiết bị mạng nào đó trên đường gói tin truyền từ trình duyệt đến máy chủ web adshare.vn, gói tin bị nghe lén và chuyển hướng sang một máy chủ giả mạo. Máy chủ giả mạo này sẽ gửi public key cho trình duyệt, tuy nhiên khi đến bước 3, khi trình duyệt xác thực chứng chỉ SSL với CA thì mọi chuyện sẽ bại lộ ngay. Bản thân các CA cũng có chứng chỉ riêng, cứ như thế mỗi khi kiểm tra chứng chỉ SSL ta có một chuỗi các chứng chỉ và khóa công khai, chuỗi này sẽ kết thúc ở một chứng chỉ gọi là chứng chỉ gốc (root certificate). Chứng chỉ gốc - root certificate là chứng chỉ mà chúng ta hoàn toàn tin tưởng, cũng chính vì chứng chỉ này sử dụng để chứng thực cho các chứng chỉ khác, do đó private key của chứng chỉ gốc được bảo mật cực kỳ nghiêm ngặt. Mỗi trình duyệt và hệ điều hành khác nhau đã có sẵn danh sách những CA tin tưởng, do vậy một CA lạ sẽ được kiểm tra cực kỹ và phát hiện ngay chứng chỉ SSL đó giả mạo hay không.


CÁC BÀI VIẾT KHÁC

FirebirD

Đam mê Toán học, Lập trình. Sở thích chia sẻ kiến thức, Phim hài, Bóng đá, Cà phê sáng với bạn bè.

Mã hóa công khai là gì?

Thiết lập HTTPS với chứng chỉ SSL miễn phí Let's Encrypt cho Nginx trên CentOS 7

2 Bình luận trong "HTTPS, chứng chỉ SSL là gì, hoạt động như thế nào?"

  1. An An

    6 years ago

    Phản hồi
    Khái niệm root certificate chưa được rõ nắm, huynh nào giải thích kỹ hơn được ko?
  2. Nghĩa

    4 years ago

    Phản hồi
    Hay và rất bổ ích

Thêm bình luận