Huỷ bỏ chứng chỉ có thể được cài đặt theo nhiều cách. Một phương pháp là sử dụng các cơ chế công bố định kỳ như Các danh sách huỷ bỏ chứng chỉ (Certificate Revocation Lists-CRLs), nó có thể được thể chế hoá trong một loạt các biến dạng khác nhau. Cũng có các cơ chế truy vấn trực tuyến khác chẳng hạn như Giao thức trạng thái chứng chỉ trực tuyến (Online Certificate Status Protocol- OCSP) (RFC2560). Ở đây không đề cập đến những cơ chế hoặc giao thức lấy thông tin cụ thể trừ khi chúng là những phần hiện của chính phương pháp huỷ bỏ (như trong trường hợp của OCSP). Nhìn chung, một loạt các giao thức có thể được sử dụng để lấy thông tin huỷ bỏ, chẳng hạn như Giao thức truy cập thư mục trọng lượng nhẹ (Lightweight Directory Access Protocol- LDAP), Giao thức truyền tệp (File
CA
Người đăng ký
Bên tin tưởng
Thông tin huỷ bỏ
Kiểm tra
chứng chỉ ?
Phát hành chứng chỉ
Transfer Protocol – FTP), Giao thức truyền siêu văn bản (Hypertext Transfer Protocol – HTTP).
Tần số mà với nó thông tin huỷ bỏ được cập nhật và niêm yết là một xem xét rất quan trọng. Độ trễ được chấp nhận tương ứng với việc biết rằng một chứng chỉ cần phải được huỷ bỏ và thực sự phát tán thông tin này tới các bên tin tưởng (người mà xử lý chứng chỉ này) cần được thiết lập. Trong một số trường hợp, độ trễ này có thể rộng rãi tương đối (ví dụ, theo giờ hoặc thậm chí theo ngày). Trong các môi trường khác, ngay cả độ trễ tối thiểu cũng có thể xem là không chịu được. Độ trễ chấp nhận được giữa việc phát hiện rằng chứng chỉ cần phải được huỷ bỏ và việc niêm yết thực sự thông tin huỷ bỏ ở dạng có thể được kéo về bởi bên tin tưởng cần phải được chỉ ra như một phần của Chính sách chứng thực điều hành, và các kỹ thuật huỷ bỏ được sử dụng trong một lĩnh vực đã cho cần phải được kết dính với chính sách này.
3.3.2 Các kỹ thuật công bố định kỳ
Các kỹ thuật công bố định kỳ bao gồm:
CRL đầy đủ (complete CRLs)
Các danh sách huỷ bỏ thẩm quyền chứng thực (Certification Authority Revocation Lists- CARLs)
Các danh sách huỷ bỏ chứng chỉ khoá công khai thực thể đầu cuối (End-entity Public-key Certificate Revocation Lists –EPRLs)
Các điểm phân phối CRL (hay còn gọi là CRL được phân chia) (CRL Distribution Points hay Partitioned CRLs)
Delta CRLs (CRLs bổ sung) và Indirect Delta CRLs (CRLs bổ sung không trực tiếp)
CRLs không trực tiếp (Indirect CRLs)
CRLs chuyển hướng (Redirect CRLs)
Các cây huỷ bỏ chứng chỉ (Certificate Revocation Trees- CRTs).
được đặc trưng bởi việc phát hành thông tin huỷ bỏ trên cơ sở định kỳ trong một khuôn dạng của cấu trúc dữ liệu được ký. Trừ ra Các cây huỷ bỏ chứng chỉ, tất cả các kỹ thuật này được định nghĩa trong phiên bản năm 2000 của X.509, và chúng dựa trên cùng một cấu trúc dữ liệu ASN.1 cơ sở được nói tới như là CRL. Cấu trúc CRL cơ sở sẽ được bàn tới ngay sau đây.
CRL cơ sở
Được khẳng định một cách đơn giản, các CRL là các cấu trúc dữ liệu được ký mà chứa một danh sách các chứng chỉ đã được huỷ bỏ. Chữ ký số được thêm vào CRL cung cấp tính toàn vẹn và tính xác thực của CRL. Người ký vào CRL thông thường chính là thực thể mà đã ký các chứng chỉ đã được ban hành mà đã được liệt kê trong CRL. Tuy nhiên, CRL có thể được ký bởi một thực thể khác với người phát hành chứng chỉ.
Các CRL có thể được lưu (cache) để tăng hiệu suất. Việc lưu các CRL cũng làm cho thuận tiện khả năng kiểm định chứng chỉ khi làm việc không trực tuyến. Tất nhiên, khả năng lưu các CRL và niềm tin được đặt vào trong các CRL được lưu cần phải tương ứng với các Chính sách chứng chỉ được áp dụng.
Hiện tại, có hai phiên bản khác nhau về CRL đã được định nghĩa. Phiên bản 1 đã được định nghĩa trong các đặc tả X.509 ban đầu (khoảng 1988). Chú ý rằng các CRL phiên bản 1 là có lỗi một cách tiềm ẩn vì một số lý do sau:
Chúng có các vấn đề về tính mở rộng (tức là, kích thước của CRL phiên bản 1 là dễ dàng vượt lên so với các giới hạn chấp nhận được).
Chúng có các giới hạn về chức năng, đặc biệt liên quan tới khả năng không thể mở rộng CRL cùng với đặc tính thêm khi cần thiết.
Chúng là đối tượng của các tấn công thay thế CRL (tức là, có thể thay thế một cách có hại một CRL này bởi một CRL khác mà không bị phát hiện).
Các CRL phiên bản 2 giải quyết các vấn đề này bằng cách đưa vào khái niệm của các mở rộng, cũng nhiều như đưa ra các mở rộng vào các chứng chỉ khoá công khai X.509 phiên bản 3. Một số mở rộng được định nghĩa trên cơ sở theo từng mục
chứng chỉ được huỷ bỏ (per-revoked-certificate-entry), và các mở rộng khác được định nghĩa trên cơ sở theo CRL, như được mô tả trong các mục sau. Như với các mở rộng chứng chỉ, các mở rộng CRL này cần phải được mô tả sơ lược trong một môi trường đã cho.
Mặc dù X.509 định nghĩa một số yêu cầu tương ứng với các trường chuẩn và mở rộng của một chứng chỉ, việc định rõ các chi tiết thêm là thường cần thiết. Như được bàn đến sau này, đó là do nhiều chuẩn hướng tới tổng quát về bản chất, và các mức thêm của việc chỉ rõ được đòi hỏi để hiện thực hoá tính tương tác lẫn nhau.
Nhóm làm việc về Cơ sở hạ tầng khoá công khai PKIX (Public Key Infrastructure X.509 Working Group) của IETF (Internet Engineering Task Force) đã đưa ra một mô tả sở lược về CRL và chứng chỉ dùng cho Internet vào tháng giêng năm 1999 cùng với việc công bố RFC2459. Nó đã được thay bằng RFC3280 vào tháng Tư năm 2002[10]. RFC3280 phản ánh nhiều cải tiến đã được đưa vào phiên bản năm 2000 của X.509.
Chú ý rằng các mở rộng có thể được đánh dấu là quan trọng và không quan trọng. Một mở rộng được đánh dấu quan trọng cần phải được xử lý và hiểu bởi bên tin tưởng, mặc dù X.509 đảm bảo một mức độ mềm dẻo nào đó mà có thể được áp dụng dưới một số tình huống. Ít nhất, bên tin tưởng giả thiết rằng các chứng chỉ có ở trên danh sách thì cần bị huỷ bỏ, ngay cả khi một số mở rộng không được hiểu. Tuy nhiên, nếu một mở rộng theo CRL là không được hiểu, thì không thể giả thiết rằng một danh sách của các chứng chỉ được huỷ bỏ là đầy đủ. Các mở rộng không quan trọng có thể được bỏ qua nếu bên tin tưởng không hiểu chúng (tức là, các mở rộng có thể được bỏ qua mà không cần thêm một hành động nào về phía bên tin tưởng).
Cấu trúc tổng quát của CRL phiên bản 2 được trình bày ở hình 3.7. Các trường được trình bày trong hình này được định nghĩa như sau:
Version (phiên bản) chỉ ra phiên bản của CRL (giá trị hoặc là Version 2, hoặc không được chỉ ra thì ứng với Version 1).
Signature (chữ ký) chỉ ra định danh đối tượng (object identifier – OID) của thuật toán đã được sử dụng để tính chữ ký số trên CRL. Ví dụ, OID cho MD5 cùng với RSA có thể được trình ra, điều đó chỉ ra rằng chữ ký số là giá trị băm MD5 đã được mã hoá bằng RSA.
Issue (người phát hành) là một tên phân biệt (Distinguished Name- DN) của người phát hành CRL (tức là, người ký của CRL) và cần phải luôn có và duy nhất.
This Update (cập nhật lần này) là thời gian mà CRL này đã được phát hành, nó có thể được biểu diễn theo thời gian UTC hoặc Generalized Time.
Next Update (cập nhật lần sau), đây là một trường lựa chọn, đó là thời gian mà theo đó CRL tiếp theo sẽ được phát hành. Chú ý rằng CRL mới có thể được phát hành trước thời gian Next Update được chỉ ra.
Revoked Certificates (các chứng chỉ được huỷ bỏ) là danh sách các chứng chỉ được huỷ bỏ (tức là, danh sách chứa các số seri duy nhất của các chứng chỉ được huỷ bỏ, chứ không phải chính bản thân các chứng chỉ). Mỗi mục cũng bao gồm thời gian mà chứng chỉ không được xem là còn hiệu lực nữa, một cách tuỳ chọn, nó có thể bao gồm các mở rộng tuỳ theo từng mục như được bàn luận tiếp trong phần sau.
Extensions (Các mở rộng) là các lựa chọn mở rộng theo từng CRL, chúng sẽ được thảo luận đến ngay dưới đây.