Jika ada pertanyaan tentang Kebijakan ini, kirimkan ke forum Kebijakan CT: ct-policy@chromium.org
Saat sertifikat Transport Layer Security (TLS) koneksi divalidasi di aplikasi yang memilih ikut serta dalam Transparansi Sertifikat, sertifikat tersebut dievaluasi untuk kepatuhan terhadap Kebijakan Transparansi Sertifikat (CT) Android. Sertifikat yang disertai dengan Stempel Waktu Sertifikat Ditandatangani (SCT) yang memenuhi Kebijakan ini disebut Sesuai dengan CT.
Kepatuhan CT dicapai dengan sertifikat dan serangkaian SCT yang menyertainya yang memenuhi serangkaian persyaratan teknis yang diterapkan oleh library TLS populer (termasuk Conscrypt bawaan Android) selama validasi sertifikat, yang ditentukan dalam Kebijakan ini.
Status Log CT
Kepatuhan CT di Android ditentukan dengan mengevaluasi SCT dari log CT dan memastikan bahwa log ini berada dalam status yang benar pada saat pemeriksaan. Kumpulan kemungkinan status log CT adalah:
Pending
Qualified
Usable
ReadOnly
Retired
Rejected
Untuk membantu memahami persyaratan kepatuhan CT di Android, definisi status ini, persyaratan Log di setiap status, serta pengaruh status ini terhadap perilaku Android dijelaskan secara mendetail dalam Penjelasan Siklus Proses Log CT di dokumentasi Chrome.
Sertifikat yang Sesuai dengan CT
Sertifikat TLS Mematuhi CT jika disertai dengan kumpulan SCT yang memenuhi setidaknya salah satu kriteria yang ditentukan nanti, bergantung pada cara SCT dikirim ke Android. Di aplikasi Android yang menerapkan CT, semua sertifikat TLS tepercaya secara publik harus mematuhi CT agar berhasil divalidasi; namun, sertifikat yang tidak dicatat ke CT atau tidak memiliki SCT yang memadai tidak dianggap salah diterbitkan.
Saat mengevaluasi sertifikat untuk Kepatuhan CT, Android mempertimbangkan beberapa faktor, termasuk jumlah SCT yang ada, siapa yang mengoperasikan Log CT yang mengeluarkan SCT, dan status Log CT yang mengeluarkan SCT, baik saat sertifikat sedang divalidasi, maupun saat SCT dibuat oleh Log CT.
Bergantung pada cara SCT ditampilkan ke Android, kepatuhan CT dapat dicapai dengan memenuhi salah satu kriteria berikut:
SCT tersemat:
- Setidaknya satu SCT Tersemat dari Log CT yang
Qualified
,Usable
, atauReadOnly
pada saat pemeriksaan; dan - Ada SCT Tersemat dari setidaknya N Log CT berbeda yang berupa
Qualified
,Usable
,ReadOnly
, atauRetired
pada saat pemeriksaan, dengan N ditentukan dalam tabel berikut; dan - Di antara SCT yang memenuhi persyaratan 2, minimal dua SCT harus dikeluarkan dari Operator Log CT yang berbeda seperti yang diakui oleh Android; dan
- Di antara SCT yang memenuhi persyaratan 2, setidaknya satu SCT harus dikeluarkan dari log yang diakui oleh Android sebagai sesuai dengan RFC 6962.
Masa Aktif Sertifikat | Jumlah SCT dari Log CT yang berbeda |
---|---|
<= 180 hari | 2 |
> 180 hari | 3 |
SCT yang dikirim melalui OCSP atau TLS:
- Setidaknya dua SCT dari Log CT yang bernilai
Qualified
,Usable
, atauReadOnly
pada saat pemeriksaan; dan - Di antara SCT yang memenuhi persyaratan 1, setidaknya dua SCT harus diterbitkan dari Operator Log CT yang berbeda seperti yang diakui oleh Android; dan
- Di antara SCT yang memenuhi persyaratan 1, setidaknya satu SCT harus dikeluarkan dari log CT yang diakui oleh Android sebagai mematuhi RFC6962.
Untuk SCT tersemat dan yang dikirim menggunakan OCSP atau TLS, keunikan Operator Log ditentukan sebagai memiliki entri terpisah dalam bagian operator log_list.json.
Dalam situasi yang jarang terjadi saat Log CT mengubah operator selama masa aktifnya,
log CT secara opsional berisi daftar previous_operators
, yang disertai dengan
stempel waktu akhir bahwa log ini dioperasikan oleh operator sebelumnya.
Untuk mencegah perubahan operator log merusak sertifikat yang ada, setiap operator log
SCT ditentukan sebagai operator pada saat penerbitan SCT, dengan
membandingkan stempel waktu SCT dengan stempel waktu previous_operators
,
jika ada.
Catatan penting
Selama salah satu kriteria Kepatuhan CT sebelumnya terpenuhi oleh beberapa kombinasi SCT yang ditampilkan dalam handshake, SCT tambahan, terlepas dari status SCT, tidak akan memengaruhi status Kepatuhan CT sertifikat secara positif atau negatif.
Untuk berkontribusi pada Kepatuhan CT sertifikat, SCT harus telah
diterbitkan sebelum stempel waktu Retired
Log, jika ada.
Android menggunakan SCT paling awal di antara semua SCT yang ditampilkan untuk mengevaluasi kepatuhan CT
terhadap stempel waktu Retired
Log CT.
Hal ini memperhitungkan kasus ekstrem saat Log CT menjadi Tidak Digunakan lagi selama
proses pengiriman permintaan logging sertifikat.
"SCT Tersemat" berarti SCT yang dikirim menggunakan ekstensi SignedCertificateTimestampList
X.509v3 dalam sertifikat itu sendiri. Banyak server TLS yang tidak mendukung
OCSP Stapling atau ekstensi TLS, sehingga CA harus siap untuk menyematkan SCT ke dalam
sertifikat yang diterbitkan untuk memastikan validasi atau perlakuan EV berhasil di Android.
Cara menambahkan CT Logs ke Android
Kriteria cara Log CT menjadi Qualified
, serta keadaan
yang dapat menyebabkannya menjadi Retired
, dapat ditemukan di Kebijakan Log
CT Chrome.
Waktu Tunggu Penerapan CT
Setiap hari, Google memublikasikan daftar Log CT baru yang berisi
log_list_timestamp
baru. Sekali sehari, perangkat Android akan mencoba mendownload
versi terbaru daftar ini untuk tujuan verifikasi. Pada waktu tertentu, jika tidak ada
daftar log yang tersedia di perangkat atau jika stempel waktu daftar log lebih lama
dari 70 hari, penerapan CT akan dinonaktifkan.
Waktu tunggu ini memberikan jaminan penting bagi ekosistem CT bahwa Log CT baru
dapat bertransisi dengan aman ke Dapat Digunakan dalam jangka waktu tetap setelah
menjadi Qualified
.