Nếu bạn có câu hỏi về Chính sách này, vui lòng gửi đến diễn đàn Chính sách CT: ct-policy@chromium.org
Khi chứng chỉ Bảo mật tầng truyền tải (TLS) của một kết nối được xác thực trong một ứng dụng chọn sử dụng tính năng Minh bạch về chứng chỉ, thì chứng chỉ đó sẽ được đánh giá để đảm bảo tuân thủ Chính sách về tính minh bạch về chứng chỉ (CT) của Android. Những chứng chỉ đi kèm với Dấu thời gian chứng chỉ đã ký (SCT) đáp ứng Chính sách này được coi là Tuân thủ CT.
Việc tuân thủ CT được thực hiện bằng một chứng chỉ và một nhóm SCT đi kèm đáp ứng một nhóm yêu cầu kỹ thuật do các thư viện TLS phổ biến thực thi (bao gồm cả Conscrypt tích hợp sẵn của Android) trong quá trình xác thực chứng chỉ, được xác định trong Chính sách này.
Trạng thái nhật ký CT
Việc tuân thủ CT trong Android được xác định bằng cách đánh giá SCT từ nhật ký CT và đảm bảo rằng các nhật ký này ở(những) trạng thái chính xác tại thời điểm kiểm tra. Tập hợp các trạng thái có thể có của nhật ký CT là:
Pending
Qualified
Usable
ReadOnly
Retired
Rejected
Để giúp bạn hiểu rõ các yêu cầu về việc tuân thủ CT trong Android, định nghĩa về các trạng thái này, yêu cầu đối với Nhật ký ở mỗi trạng thái cũng như cách các trạng thái này ảnh hưởng đến hành vi của Android được mô tả chi tiết trong phần Giải thích về vòng đời nhật ký CT của tài liệu Chrome.
Chứng chỉ tuân thủ CT
Chứng chỉ TLS Tuân thủ CT nếu đi kèm với một bộ SCT đáp ứng ít nhất một trong các tiêu chí được xác định sau, tuỳ thuộc vào cách SCT được phân phối cho Android. Trong các ứng dụng thực thi CT của Android, tất cả các chứng chỉ TLS đáng tin cậy công khai đều phải tuân thủ CT để xác thực thành công; tuy nhiên, các chứng chỉ không được ghi nhật ký vào CT hoặc có không đủ SCT sẽ không được coi là được phát hành không chính xác.
Khi đánh giá một chứng chỉ về việc tuân thủ CT, Android xem xét một số yếu tố, bao gồm số lượng SCT hiện có, người vận hành Nhật ký CT đã phát hành SCT và trạng thái của Nhật ký CT đã phát hành SCT, cả tại thời điểm chứng chỉ đang được xác thực và tại thời điểm Nhật ký CT tạo SCT.
Tuỳ thuộc vào cách trình bày SCT cho Android, bạn có thể đạt được việc tuân thủ CT bằng cách đáp ứng một trong các tiêu chí sau:
SCT được nhúng:
- Ít nhất một SCT được nhúng từ Nhật ký CT là
Qualified
,Usable
hoặcReadOnly
tại thời điểm kiểm tra; và - Có ít nhất N Nhật ký CT riêng biệt là
Qualified
,Usable
,ReadOnly
hoặcRetired
tại thời điểm kiểm tra, trong đó N được xác định trong bảng sau; và - Trong số các SCT đáp ứng yêu cầu 2, ít nhất hai SCT phải được phát hành từ các Nhà điều hành nhật ký CT riêng biệt mà Android công nhận; và
- Trong số các SCT đáp ứng yêu cầu 2, ít nhất một SCT phải được phát hành từ một nhật ký mà Android công nhận là tuân thủ RFC 6962.
Vòng đời của chứng chỉ | Số lượng SCT từ các Nhật ký CT riêng biệt |
---|---|
<= 180 ngày | 2 |
> 180 ngày | 3 |
SCT được phân phối qua OCSP hoặc TLS:
- Ít nhất hai SCT từ Nhật ký CT có trạng thái là
Qualified
,Usable
hoặcReadOnly
tại thời điểm kiểm tra; và - Trong số các SCT đáp ứng yêu cầu 1, ít nhất hai SCT phải được phát hành từ các Nhà điều hành nhật ký CT riêng biệt mà Android công nhận; và
- Trong số các SCT đáp ứng yêu cầu 1, ít nhất một SCT phải được phát hành từ nhật ký CT mà Android công nhận là tuân thủ RFC6962.
Đối với cả SCT được nhúng và SCT được phân phối bằng OCSP hoặc TLS, tính duy nhất của Toán tử nhật ký được xác định là có các mục riêng biệt trong phần toán tử của log_list.json.
Trong trường hợp hiếm gặp là Nhật ký CT thay đổi toán tử trong thời gian hoạt động,
nhật ký CT có thể chứa danh sách previous_operators
, kèm theo
dấu thời gian cuối cùng mà nhật ký này do toán tử trước đó vận hành.
Để ngăn các thay đổi đối với toán tử nhật ký làm hỏng các chứng chỉ hiện có, mỗi toán tử nhật ký của SCT được xác định là toán tử tại thời điểm phát hành SCT, bằng cách so sánh dấu thời gian SCT với dấu thời gian previous_operators
(nếu có).
Lưu ý quan trọng
Miễn là một số tổ hợp SCT được trình bày trong quá trình bắt tay đáp ứng một trong các tiêu chí về việc tuân thủ CT trước đó, thì các SCT bổ sung, bất kể trạng thái của SCT, sẽ không ảnh hưởng tích cực hoặc tiêu cực đến trạng thái tuân thủ CT của chứng chỉ.
Để đóng góp vào việc tuân thủ CT của một chứng chỉ, SCT phải được phát hành trước dấu thời gian Retired
của Nhật ký (nếu có).
Android sử dụng SCT sớm nhất trong số tất cả SCT được trình bày để đánh giá việc tuân thủ CT dựa trên dấu thời gian Retired
của Nhật ký CT.
Điều này giải thích cho các trường hợp hiếm gặp trong đó Nhật ký CT trở thành Đã ngừng hoạt động trong quá trình gửi yêu cầu ghi nhật ký chứng chỉ.
"SCT nhúng" nghĩa là SCT được phân phối bằng tiện ích X.509v3 SignedCertificateTimestampList
trong chính chứng chỉ. Nhiều máy chủ TLS không hỗ trợ tính năng Ghim OCSP hoặc tiện ích TLS, vì vậy, CA phải chuẩn bị để nhúng SCT vào các chứng chỉ đã phát hành để đảm bảo quá trình xác thực hoặc xử lý EV thành công trong Android.
Cách thêm Nhật ký CT vào Android
Bạn có thể xem tiêu chí về cách nhật ký CT có thể trở thành Qualified
, cũng như những trường hợp có thể khiến nhật ký CT trở thành Retired
trong Chính sách nhật ký của Chrome CT.
Hết thời gian chờ thực thi CT
Mỗi ngày, Google phát hành một danh sách Nhật ký CT mới chứa một log_list_timestamp
mới. Mỗi ngày một lần, các thiết bị Android sẽ tìm cách tải phiên bản mới nhất của danh sách này xuống cho mục đích xác minh. Tại bất kỳ thời điểm nào, nếu không có danh sách nhật ký trên thiết bị hoặc nếu dấu thời gian của danh sách nhật ký cũ hơn 70 ngày, thì tính năng thực thi CT sẽ bị tắt.
Thời gian chờ này cung cấp một sự đảm bảo quan trọng cho hệ sinh thái CT rằng Nhật ký CT mới có thể chuyển đổi an toàn sang trạng thái Có thể sử dụng trong một khoảng thời gian cố định sau khi trở thành Qualified
.