Tất cả bài viết

X.509: bên trong một chứng chỉ SSL có gì

Tại Việt Nam, chữ ký số được cấp phép cho kê khai thuế điện tử và giao dịch hành chính dựa trên chứng chỉ do các tổ chức cung cấp dịch vụ chứng thực chữ ký số công cộng, dưới sự quản lý của Ban Cơ yếu Chính phủ, phát hành. Gốc tin cậy ở đây là một cơ quan nhà nước, hoàn toàn tách biệt với các CA thương mại mà trình duyệt tin cậy để xác minh trang web qua HTTPS.

Chứng chỉ gồm những trường nào

  • Subject — chứng chỉ được cấp cho ai (một tên miền, tổ chức, hoặc trong bối cảnh chữ ký số là một cá nhân/doanh nghiệp).
  • Issuer — ai đã cấp chứng chỉ (một đơn vị cấp chứng chỉ, hay CA).
  • Thời hạn hiệu lực — ngày bắt đầu và kết thúc hiệu lực của chứng chỉ.
  • Khóa công khai — khóa dùng để thiết lập kết nối an toàn hoặc xác minh chữ ký.
  • Chữ ký số — chữ ký của đơn vị cấp, xác nhận tính xác thực của tất cả các trường khác.

Cùng một định dạng, chuỗi tin cậy khác nhau

Chứng chỉ chữ ký số được cấp phép và chứng chỉ TLS của một trang web đều dùng chung cấu trúc X.509 và cùng cơ chế chuỗi tin cậy — một CA trung gian ký chứng chỉ cuối cùng, và một CA gốc ký CA trung gian đó. Khác biệt duy nhất nằm ở kho tin cậy nào kiểm tra nó: phần mềm kê khai thuế tin cậy CA gốc do nhà nước quản lý, còn trình duyệt tin cậy một tập hợp CA thương mại hoàn toàn khác cho HTTPS — hai chuỗi này không bao giờ cần gặp nhau.

Vì sao thời hạn hiệu lực bị giới hạn

Thời hạn hiệu lực bị giới hạn (thường từ 90 ngày đến 1 năm đối với chứng chỉ web hiện đại) giảm rủi ro từ một khóa riêng bị lộ và buộc phải cập nhật thường xuyên các tham số mật mã theo tiêu chuẩn bảo mật hiện hành.

Vì sao cần điều này

  • Chẩn đoán các vấn đề về chứng chỉ SSL khi cấu hình một máy chủ web.
  • Kiểm tra thời hạn hiệu lực và đơn vị cấp của một chứng chỉ mà không cần dùng dịch vụ bên ngoài.
  • Hiểu cấu trúc chứng chỉ khi làm việc với mTLS, chứng chỉ client, hoặc hệ thống chữ ký số công cộng.

Chứng chỉ tự ký

Một chứng chỉ có thể được ký bằng chính khóa riêng của nó thay vì bất kỳ CA nào — về cấu trúc nó trông giống hệt một X.509 "thật", với cùng các trường, nhưng Issuer và Subject trong đó trùng nhau. Đây chính là câu hỏi tin cậy tương tự bị đẩy đến cực điểm: chuỗi không dẫn đến đâu cả, nên không có gì bên ngoài cấu hình của chính bạn có lý do để tin tưởng nó — đó là lý do nó phù hợp để kiểm thử nội bộ nhưng bị đánh dấu không đáng tin ở mọi nơi khác.

Dùng thử công cụ