Sampaikan pertanyaan apa pun tentang Kebijakan ini ke forum Kebijakan CT: ct-policy@chromium.org
Saat sertifikat Transport Layer Security (TLS) koneksi divalidasi di aplikasi yang mengaktifkan Transparansi Sertifikat, sertifikat tersebut dievaluasi untuk kepatuhan terhadap Kebijakan Transparansi Sertifikat (CT) Android. Sertifikat yang disertai dengan Stempel Waktu Sertifikat Bertanda Tangan (SCT) yang memenuhi Kebijakan ini dikatakan mematuhi 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) 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 yang dapat dimiliki 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 Kompatibel dengan CT
Sertifikat TLS Sesuai CT jika disertai dengan serangkaian SCT yang memenuhi setidaknya satu kriteria yang ditentukan nanti, bergantung pada cara SCT dikirimkan ke Android. Di aplikasi Android yang menerapkan CT, semua sertifikat TLS yang dipercaya publik harus Kompatibel dengan CT agar berhasil divalidasi; namun, sertifikat yang tidak dicatat ke CT atau memiliki SCT yang tidak memadai tidak dianggap sebagai sertifikat yang salah diterbitkan.
Saat mengevaluasi sertifikat untuk Kepatuhan CT, Android mempertimbangkan beberapa faktor, termasuk jumlah SCT yang ada, siapa yang mengoperasikan Log CT yang menerbitkan SCT, dan status Log CT yang menerbitkan SCT, baik pada saat sertifikat divalidasi, maupun pada 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
Qualified
,Usable
,ReadOnly
, atauRetired
pada saat pemeriksaan, dengan N ditentukan dalam tabel berikut; dan - Di antara SCT yang memenuhi persyaratan 2, setidaknya dua SCT harus dikeluarkan dari Operator Log CT yang berbeda sebagaimana diakui oleh Android; dan
- Di antara SCT yang memenuhi persyaratan 2, setidaknya satu SCT harus dikeluarkan dari log yang diakui oleh Android sebagai kompatibel dengan RFC 6962.
Masa Berlaku Sertifikat | Jumlah SCT dari Log CT yang berbeda |
---|---|
<= 180 hari | 2 |
> 180 hari | 3 |
SCT yang dikirimkan melalui OCSP atau TLS:
- Setidaknya dua SCT dari Log CT yang
Qualified
,Usable
, atauReadOnly
pada saat pemeriksaan; dan - Di antara SCT yang memenuhi persyaratan 1, setidaknya dua SCT harus dikeluarkan dari Operator Log CT yang berbeda sebagaimana 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 sematan dan yang dikirim menggunakan OCSP atau TLS, keunikan Operator Log ditentukan sebagai memiliki entri terpisah dalam bagian operator di daftar log.
Dalam situasi langka saat Log CT mengubah operator selama masa pakainya, Log CT secara opsional berisi daftar previous_operators
, disertai dengan stempel waktu akhir saat log ini dioperasikan oleh operator sebelumnya.
Untuk mencegah perubahan operator log merusak sertifikat yang ada, operator log setiap 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 dipenuhi 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 dikeluarkan 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 Aktif selama proses pengiriman permintaan pencatatan sertifikat.
"SCT Tersemat" berarti SCT yang dikirim menggunakan ekstensi X.509v3 SignedCertificateTimestampList
dalam sertifikat itu sendiri. Banyak server TLS tidak mendukung
OCSP Stapling atau ekstensi TLS, jadi CA harus siap menyematkan SCT ke dalam
sertifikat yang diterbitkan untuk memastikan validasi yang berhasil atau perlakuan EV di Android.
Cara menambahkan Log CT ke Android
Kriteria tentang bagaimana Log CT dapat menjadi Qualified
, serta keadaan yang dapat menyebabkan Log CT menjadi Retired
, dapat ditemukan di Kebijakan Log CT Chrome.
Waktu Tunggu Pemberlakuan CT Habis
Setiap hari, Google memublikasikan daftar Log CT baru yang berisi log_list_timestamp
baru. Setiap hari, perangkat Android akan mencoba mendownload
versi terbaru daftar ini untuk tujuan verifikasi. Setiap saat, jika tidak ada daftar log yang tersedia di perangkat atau jika stempel waktu daftar log lebih lama dari 70 hari, maka 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
.
Daftar log Android
Daftar log Android dipublikasikan di log_list.json, yang diperbarui setiap hari. Daftar log ini ditawarkan tanpa API, SLA, atau jaminan ketersediaan yang stabil.
Android menyediakan daftar log CT-nya untuk tujuan pengirim sertifikat (seperti otoritas sertifikasi) dan monitor serta auditor CT yang ingin tetap kompatibel dengan, atau menyelidiki konten, ekosistem CT dan WebPKI.
Ketergantungan yang tidak sah pada daftar log CT Android tidak hanya membahayakan pengguna Anda, tetapi juga pengguna Android dan ekosistem CT secara keseluruhan. Jika Anda ingin menambahkan penerapan CT ke dalam aplikasi, gunakan mekanisme yang didukung oleh platform Android.
Penggunaan daftar log CT Android yang tidak sesuai dengan kebijakan ini dilakukan atas risiko Anda sendiri, dan dapat mengakibatkan kerusakan pada aplikasi atau library Anda. Android harus dapat membuat perubahan pada daftar log CT sebagai respons terhadap insiden di ekosistem CT untuk menjaga keselamatan dan keamanan pengguna Android. Android dapat mengambil langkah-langkah untuk memastikan bahwa dependensi pihak ketiga pada daftar log CT tidak membahayakan kemampuan Android untuk merespons insiden tersebut, termasuk perubahan yang tidak diumumkan pada daftar log untuk mengganggu penggunaan yang tidak sah.