Loading...

Bài 11. PKI và chứng chỉ số: CA, CSR, CRL/OCSP, TLS

Khóa học CompTIA Security+ SY0-801 · Phần 1: Khái niệm bảo mật cốt lõi · Bài 11 · 🎯 Objective 1.3 · ⏱️ Đọc khoảng 14 phút · 🧪 Không cần lab · 📝 5 câu bài tập cuối bài

🎯 Mục tiêu bài học

  • Giải thích PKI giải quyết vấn đề gì và gồm những thành phần nào.
  • Mô tả chuỗi tin cậy: Root CA, Intermediate CA, chứng chỉ máy chủ, kho tin cậy.
  • Nắm quy trình xin chứng chỉ: cặp khóa, CSR, CA ký, cài đặt.
  • Phân biệt CRL và OCSP, và hiểu các loại chứng chỉ thường gặp.

📎 Vị trí trong đề thi: bài này nằm trong Objective 1.3 và bổ sung mảnh còn thiếu của Bài 9 và Bài 10: làm sao biết khóa công khai này thật sự của ai. Bài 13 sẽ cho bạn tự tay dựng một CA nội bộ.

💡 Liên hệ thực tế: cảnh báo "kết nối không riêng tư"

Thứ Sáu, 08:05. Cả phòng kế toán không vào được cổng nội bộ portal.congty.vn. Trình duyệt hiện cảnh báo đỏ: "Kết nối của bạn không phải là kết nối riêng tư". Đây là tình huống minh họa, không phải vụ việc có thật.

Chị Lan gọi Nam. Nam mở chứng chỉ ra xem và thấy dòng hết hạn 00:00 hôm nay. Không ai nhớ gia hạn. Trong lúc chờ, hai nhân viên đã nhấn "Vẫn tiếp tục" để làm việc cho kịp.

Nam giải thích vì sao thói quen đó nguy hiểm: "Cảnh báo này chỉ khác nhau ở lý do. Hôm nay là hết hạn. Nhưng nếu là kẻ nào đó chen vào giữa và đưa chứng chỉ giả, trình duyệt cũng hiện đúng một màn hình như thế. Nếu mọi người quen bấm bỏ qua, họ sẽ bấm cả lần đó."

Nam xin chứng chỉ mới trước 09:00 và tạo lịch nhắc gia hạn trước 30 ngày. Anh cũng đặt quy định: gặp cảnh báo chứng chỉ thì dừng lại và báo IT, không bấm tiếp tục.

🔗 Hình 11a. Chỉ khi cả bốn điều kiểm tra đều đạt, trình duyệt mới tin chứng chỉ. Hết hạn là một trong bốn.

📘 Kiến thức cốt lõi

🧩 PKI giải quyết vấn đề gì

Ở Bài 9, bạn biết rằng gửi bí mật cho B thì mã hóa bằng khóa công khai của B. Nhưng làm sao bạn chắc khóa công khai đó thật sự thuộc về B chứ không phải của kẻ giả danh? Hạ tầng khóa công khai (PKI - Public Key Infrastructure) là hệ thống con người, quy trình và công nghệ để gắn một khóa công khai với một danh tính một cách đáng tin cậy, thông qua chứng chỉ số.

Thành phầnVai trò
CA (Certificate Authority) Tổ chức phát hành và ký chứng chỉ. Là bên được tin tưởng.
RA (Registration Authority) Hỗ trợ CA xác minh danh tính người xin chứng chỉ
Chứng chỉ số (digital certificate) "Giấy tờ" gắn khóa công khai với danh tính, do CA ký
Kho tin cậy (trust store) Danh sách Root CA mà hệ điều hành hoặc trình duyệt tin sẵn
CRL / OCSP Cơ chế báo chứng chỉ nào đã bị thu hồi

📜 Một chứng chỉ chứa gì

Chứng chỉ phổ biến theo chuẩn X.509. Các trường quan trọng:

  • Subject: danh tính được chứng nhận (tên miền, tổ chức).
  • Subject Alternative Name (SAN): các tên miền bổ sung mà chứng chỉ áp dụng.
  • Public key: khóa công khai của chủ chứng chỉ.
  • Issuer: CA đã cấp.
  • Thời hạn hiệu lực: ngày bắt đầu và hết hạn.
  • Chữ ký số của CA: bằng chứng CA xác nhận nội dung chứng chỉ (dùng kỹ thuật ở Bài 10).

Chứng chỉ không chứa khóa riêng. Khóa riêng ở lại máy chủ và không bao giờ gửi đi.

🔗 Chuỗi tin cậy

Trình duyệt không tin từng chứng chỉ riêng lẻ. Nó tin một số Root CA có sẵn trong kho tin cậy, rồi lần theo chuỗi chữ ký:

  • Root CA: tự ký, nằm trong kho tin cậy. Khóa riêng của nó được giữ offline và rất hiếm khi dùng.
  • Intermediate CA: được Root CA ký. Nó làm công việc hằng ngày là ký chứng chỉ máy chủ. Nếu Intermediate bị lộ, thu hồi nó mà không phải thay Root.
  • Chứng chỉ máy chủ (leaf): được Intermediate ký, dùng cho website.

Khi kết nối, trình duyệt kiểm tra (hình 11a): tên miền khớp với chứng chỉ, chứng chỉ còn hạn, chuỗi ký dẫn về một Root CA tin cậy, và chứng chỉ chưa bị thu hồi.

📝 Quy trình xin chứng chỉ

📝 Hình 11b. Khóa riêng không rời khỏi máy chủ ở bất kỳ bước nào.

  1. Máy chủ tạo cặp khóa. Khóa riêng ở lại máy chủ.
  2. Máy chủ tạo CSR (Certificate Signing Request, yêu cầu ký chứng chỉ), gồm khóa công khai, tên miền và thông tin tổ chức, rồi gửi cho CA.
  3. CA xác minh quyền sở hữu tên miền hoặc danh tính, rồi ký chứng chỉ bằng khóa riêng của CA.
  4. CA trả chứng chỉ đã ký.
  5. Máy chủ cài chứng chỉ, chạy cùng khóa riêng đã tạo.

🎯 Mẹo làm bài: CSR chứa khóa công khai, tuyệt đối không chứa khóa riêng. Đề hỏi "gửi gì cho CA để xin chứng chỉ" thì đáp án là CSR.

🏷️ Các loại chứng chỉ thường gặp

LoạiĐặc điểm
DV (Domain Validated) CA chỉ xác minh quyền kiểm soát tên miền. Nhanh, rẻ, phổ biến
OV (Organization Validated) CA xác minh thêm danh tính tổ chức
EV (Extended Validation) Xác minh nghiêm ngặt nhất về tổ chức
Wildcard Một chứng chỉ cho mọi tên miền con, ví dụ *.congty.vn
SAN / multi-domain Một chứng chỉ cho nhiều tên miền liệt kê trong trường SAN
Tự ký (self-signed) Không do CA tin cậy ký, trình duyệt sẽ cảnh báo, chỉ hợp để thử nghiệm hoặc hệ thống nội bộ đã cài tin cậy thủ công

Wildcard tiện nhưng có rủi ro: nếu khóa riêng của chứng chỉ wildcard bị lộ thì mọi tên miền con đều bị ảnh hưởng.

🚫 Thu hồi chứng chỉ: CRL và OCSP

Chứng chỉ có thể cần bị vô hiệu trước ngày hết hạn, ví dụ khi khóa riêng bị lộ. Có hai cách báo cho trình duyệt:

CRLOCSP
Tên đầy đủ Certificate Revocation List Online Certificate Status Protocol
Cách hoạt động Danh sách chứng chỉ bị thu hồi, được CA công bố định kỳ, client tải về tra Client hỏi CA trực tiếp từng chứng chỉ một
Ưu điểm Đơn giản, có thể tra offline sau khi tải Trạng thái gần thời gian thực, gọn hơn
Nhược điểm Danh sách có thể lớn và chậm cập nhật Mỗi lần kết nối phát sinh truy vấn, ảnh hưởng riêng tư và hiệu năng

OCSP stapling giảm nhược điểm của OCSP: máy chủ web tự hỏi CA trước rồi "ghim" kết quả kèm theo chứng chỉ gửi cho client, nên client không phải hỏi CA nữa.

🔒 PKI và TLS

Khi bạn vào một trang https, TLS dùng PKI để xác thực máy chủ: trình duyệt kiểm tra chứng chỉ như ở hình 11a. Sau đó hai bên trao đổi khóa như Bài 9 để lập khóa phiên và mã hóa dữ liệu. PKI trả lời câu hỏi "tôi đang nói chuyện với ai", còn mã hóa trả lời "người khác không nghe lén được".

🧠 Áp vào câu chuyện của Nam

Tình huốngKhái niệm
Cảnh báo đỏ vì chứng chỉ hết hạn Kiểm tra thời hạn hiệu lực trong chuỗi kiểm tra
Nam xin chứng chỉ mới CSR gửi CA, CA ký, cài chứng chỉ
Nhân viên bấm "Vẫn tiếp tục" Bỏ qua cảnh báo, mở đường cho tấn công man-in-the-middle
Lịch nhắc gia hạn trước 30 ngày Quản lý vòng đời chứng chỉ
Khóa riêng nghi bị lộ Thu hồi chứng chỉ qua CRL hoặc OCSP

📖 Thuật ngữ cần nhớ

Thuật ngữNghĩa
PKI Hạ tầng khóa công khai.
CA Tổ chức cấp phát và ký chứng chỉ.
Root CA, Intermediate CA CA gốc và CA trung gian.
Trust store Kho chứa các Root CA được tin sẵn.
X.509 Chuẩn định dạng chứng chỉ số.
CSR Yêu cầu ký chứng chỉ, chứa khóa công khai và thông tin.
SAN Tên miền bổ sung trong chứng chỉ.
Wildcard certificate Chứng chỉ cho mọi tên miền con.
Self-signed certificate Chứng chỉ tự ký, không do CA tin cậy cấp.
CRL Danh sách thu hồi chứng chỉ.
OCSP Giao thức hỏi trạng thái chứng chỉ trực tuyến.
OCSP stapling Máy chủ ghim sẵn kết quả OCSP kèm chứng chỉ.

📌 Tóm tắt nhanh

  • PKI gắn khóa công khai với danh tính thông qua chứng chỉ do CA ký.
  • Chuỗi tin cậy: Root CA, Intermediate CA, chứng chỉ máy chủ. Root CA nằm sẵn trong trust store.
  • Xin chứng chỉ: tạo cặp khóa, gửi CSR (chỉ chứa khóa công khai), CA ký, cài đặt.
  • CRL là danh sách thu hồi, OCSP là hỏi trạng thái trực tuyến, OCSP stapling để máy chủ hỏi thay.
  • Cảnh báo chứng chỉ là tín hiệu dừng lại, không phải bước cần vượt qua.

💬 Hỏi & Đáp nhanh

❓ Chứng chỉ tự ký có xấu không? Không xấu, nhưng không được tin mặc định. Nó phù hợp với thử nghiệm hoặc hệ thống nội bộ mà tổ chức tự cài tin cậy vào các máy. Trên internet công cộng, người dùng sẽ thấy cảnh báo.

❓ Vì sao chứng chỉ có thời hạn ngắn? Thời hạn ngắn giới hạn thiệt hại nếu khóa riêng bị lộ mà không ai biết, và buộc tổ chức thay khóa thường xuyên. Đổi lại phải có quy trình gia hạn tự động để không lặp lại sự cố hết hạn.

❓ Ai tin cậy CA? Hệ điều hành và trình duyệt chọn sẵn danh sách Root CA đáng tin vào kho tin cậy dựa trên các tiêu chuẩn kiểm toán. Khi một CA vi phạm, nó có thể bị loại khỏi kho tin cậy.

📝 Bài tập đánh giá

Tự chọn đáp án cho từng câu, rồi đối chiếu với phần đáp án ở cuối bài.

Câu 1. Quản trị viên muốn xin chứng chỉ cho máy chủ web. Gửi gì cho CA?

  • A. Khóa riêng của máy chủ
  • B. CSR chứa khóa công khai và thông tin tên miền
  • C. Mật khẩu quản trị
  • D. Danh sách CRL

Câu 2. Thành phần nào của PKI phát hành và ký chứng chỉ số?

  • A. Trust store
  • B. OCSP
  • C. CA
  • D. CSR

Câu 3. Một chứng chỉ máy chủ bị lộ khóa riêng và cần vô hiệu hóa trước ngày hết hạn. Cơ chế nào báo cho client biết chứng chỉ đã bị thu hồi?

  • A. Salting
  • B. CRL hoặc OCSP
  • C. Key stretching
  • D. Hashing

Câu 4. Một công ty cần một chứng chỉ dùng cho mail.congty.vn, portal.congty.vn và mọi tên miền con khác. Loại chứng chỉ nào phù hợp nhất?

  • A. Wildcard
  • B. Self-signed cho từng tên miền
  • C. Chứng chỉ chỉ có một subject duy nhất
  • D. Root CA riêng cho từng máy chủ

Câu 5. Máy chủ web tự hỏi CA trạng thái chứng chỉ của mình rồi gửi kèm kết quả cho client để client không phải hỏi CA. Kỹ thuật này gọi là gì?

  • A. CRL
  • B. OCSP stapling
  • C. Key escrow
  • D. Certificate pinning

👉 Đáp án

Câu 1: B — Gửi CSR chứa khóa công khai và thông tin định danh. Khóa riêng không bao giờ rời khỏi máy chủ.

Câu 2: C — CA là bên phát hành và ký chứng chỉ số.

Câu 3: B — CRL và OCSP là hai cơ chế thông báo chứng chỉ bị thu hồi.

Câu 4: A — Wildcard (*.congty.vn) áp dụng cho mọi tên miền con, kèm cảnh báo về rủi ro khi khóa riêng bị lộ.

Câu 5: B — OCSP stapling để máy chủ hỏi trước và ghim kết quả kèm chứng chỉ.


📚 Bài viết thuộc khóa học CompTIA Security+ của VNExperts

🧭 Điều hướng

⬅️ Bài trước🏠 Mục lục khóa họcBài kế tiếp ➡️
Bài 10: Hashing, salting và chữ ký số — bảo vệ tính toàn vẹn dữ liệu Mục lục khóa học CompTIA Security+ Bài 12: Quản lý khóa và phần cứng bảo mật: KMS, HSM, TPM, secure enclave