Lütfen bu Politikayla ilgili sorularınızı CT Politikası forumuna yönlendirin: ct-policy@chromium.org
Bir bağlantının Taşıma Katmanı Güvenliği (TLS) sertifikası doğrulandığında, Android Sertifika Şeffaflığı (CT) Politikası'na uygunluğu değerlendirilir. Bu Politikayı karşılayan İmzalı Sertifika Zaman Damgası (SCT'ler) ile birlikte verilen sertifikalar, CT uyumlu olarak kabul edilir.
CT Uygunluğu, sertifika doğrulaması sırasında popüler TLS kitaplıkları (yerleşik Conscrypt dahil) tarafından uygulanan bir dizi teknik koşulu karşılayan bir sertifika ve beraberindeki SCT'ler ile sağlanır. Bu koşullar bu Politikada tanımlanmıştır.
CT Günlüğü Durumları
Android'de CT uyumluluğu, CT günlüklerindeki SCT'ler değerlendirilerek ve bu günlüklerin kontrol sırasında doğru durumda olduğundan emin olunarak belirlenir. Bir CT günlüğünün olası durumları şunlardır:
PendingQualifiedUsableReadOnlyRetiredRejected
Android'de CT uyumluluğuyla ilgili şartları, bu durumların tanımını, her durumdaki günlüklerin şartlarını ve bu durumların Android davranışını nasıl etkilediğini anlamanıza yardımcı olmak için Chrome'un dokümanlarındaki CT Log Lifecycle Explainer'da ayrıntılı olarak açıklanmıştır.
CT'ye Uygun Sertifikalar
Bir TLS sertifikası, SCT'lerin Android'e nasıl teslim edildiğine bağlı olarak, daha sonra tanımlanan ölçütlerden en az birini karşılayan bir dizi SCT ile birlikte geliyorsa CT uyumlu olur. Android'in CT'yi zorunlu kılan uygulamalarında, başarılı bir şekilde doğrulanabilmesi için herkese açık olarak güvenilen tüm TLS sertifikalarının CT uyumlu olması gerekir. Ancak CT'ye kaydedilmeyen veya yeterli SCT'ye sahip olmayan sertifikaların yanlış verilmiş olduğu düşünülmez.
Android, CT Uygunluğu için bir sertifikayı değerlendirirken çeşitli faktörleri göz önünde bulundurur. Bunlar arasında kaç tane SCT'nin mevcut olduğu, SCT'yi veren CT günlüğünü kimin işlettiği ve SCT'yi veren CT günlüğünün hem sertifika doğrulanırken hem de SCT, CT günlüğü tarafından oluşturulurken hangi durumda olduğu yer alır.
SCT'lerin Android'e nasıl sunulduğuna bağlı olarak, CT uyumluluğu aşağıdaki ölçütlerden birini karşılayarak sağlanabilir:
Yerleştirilmiş SCT'ler:
- Kontrol sırasında
Qualified,UsableveyaReadOnlyolan bir CT günlüğünden alınmış en az bir yerleştirilmiş SCT ve - Kontrol sırasında
Qualified,Usable,ReadOnlyveyaRetiredolan en az N farklı CT günlüğünden yerleştirilmiş SCT'ler vardır. N, aşağıdaki tabloda tanımlanmıştır ve - 2. koşulu karşılayan SCT'ler arasında, Android tarafından tanınan farklı CT günlüğü operatörleri tarafından verilmiş en az iki SCT olmalıdır ve
| Sertifikanın geçerlilik süresi | Farklı CT günlüklerinden alınan SCT'lerin sayısı |
|---|---|
| <= 180 gün | 2 |
| > 180 gün | 3 |
OCSP veya TLS üzerinden sunulan SCT'ler:
- Kontrol sırasında
Qualified,UsableveyaReadOnlyolan bir CT günlüğünden alınmış en az iki SCT ve - 1. koşulu karşılayan SCT'ler arasında, Android tarafından tanınan farklı CT günlüğü operatörleri tarafından verilmiş en az iki SCT olmalıdır ve
Hem yerleştirilmiş SCT'ler hem de OCSP veya TLS kullanılarak sunulanlar için günlük operatörü tekliği, günlük listesinin operatörler bölümünde ayrı girişlere sahip olmak olarak tanımlanır.
Bir CT günlüğünün kullanım ömrü boyunca operatör değiştirdiği nadir durumlarda, CT günlükleri isteğe bağlı olarak previous_operators listesi içerir. Bu listeye, günlüğün önceki operatör tarafından işletildiği son zaman damgası da eklenir. Günlük operatörü değişikliklerinin mevcut sertifikaları bozmasını önlemek için her SCT'nin günlük operatörü, SCT zaman damgası ile previous_operators zaman damgaları (varsa) karşılaştırılarak SCT'nin yayınlandığı sırada operatör olarak belirlenir.
Önemli notlar
El sıkışma sırasında sunulan SCT'lerin bir kombinasyonu, yukarıdaki CT Uygunluğu kriterlerinden birini karşıladığı sürece, SCT'nin durumundan bağımsız olarak ek SCT'ler, sertifikanın CT Uygunluğu durumunu olumlu veya olumsuz yönde etkilemez.
Bir sertifikanın CT uyumluluğuna katkıda bulunmak için, varsa, Log'un Retired zaman damgasından önce bir SCT verilmiş olmalıdır.
Android, CT uygunluğunu CT günlüğü Retired zaman damgalarına göre değerlendirmek için sunulan tüm SCT'ler arasındaki en eski SCT'yi kullanır.
Bu, sertifika günlüğü isteklerinin gönderilmesi sırasında bir CT günlüğünün kullanımdan kaldırıldığı uç durumları açıklar.
"Yerleştirilmiş SCT", sertifikanın kendisinde SignedCertificateTimestampList X.509v3 uzantısı kullanılarak sağlanan bir SCT anlamına gelir. Birçok TLS sunucusu OCSP Stapling'i veya TLS uzantısını desteklemediğinden CA'lar, Android'de başarılı doğrulama veya EV işlemi sağlamak için verilen sertifikalara SCT'leri yerleştirmeye hazır olmalıdır.
CT günlükleri Android'e nasıl eklenir?
CT günlüklerinin nasıl Qualified olabileceği ve hangi durumlarda Retired olabileceğiyle ilgili ölçütleri Chrome CT Günlük Politikası'nda bulabilirsiniz.
CT Enforcement Timeout
Google her gün yeni bir CT günlüğü listesi yayınlar. Bu liste yeni bir log_list_timestamp içerir. Android cihazlar, doğrulama amacıyla bu listenin en son sürümünü günde bir kez indirmeye çalışır. Herhangi bir zamanda cihazda günlük listesi yoksa veya günlük listesinin zaman damgası 70 günden eskiyse CT zorunluluğu devre dışı bırakılır.
Bu zaman aşımı, CT ekosistemine yeni CT günlüklerinin Qualified olduktan sonra belirli bir süre içinde güvenli bir şekilde Kullanılabilir durumuna geçebileceği konusunda önemli bir güvence sağlar.
Android günlük listesi
Android günlük listesi, günlük olarak güncellenen log_list.json dosyasında yayınlanır. Bu günlük listesi, kararlı bir API, HDS veya kullanılabilirlik garantisi olmadan sunulur.
Android, CT günlük listesini sertifika gönderenler (ör. sertifika yetkilileri) ile CT ve WebPKI ekosistemleriyle uyumlu kalmak veya bu ekosistemlerin içeriklerini incelemek isteyen CT izleyicileri ve denetçileri için kullanılabilir hâle getirir.
Android CT günlük listesine yetkisiz bir şekilde güvenmek yalnızca kullanıcılarınızı değil, Android kullanıcılarını ve CT ekosistemini de tehlikeye atar. Uygulamanıza CT zorunluluğu eklemeyi düşünüyorsanız Android platformu tarafından desteklenen bir mekanizma kullanın.
Android CT günlük listesinin bu politikaya uygun olmayan şekilde kullanılması kendi sorumluluğunuzdadır ve uygulamanızın veya kitaplığınızın bozulmasına neden olabilir. Android kullanıcılarının güvenliğini ve emniyetini korumak için Android, CT ekosistemindeki olaylara yanıt olarak CT günlük listesinde değişiklikler yapabilmelidir. Android, CT günlük listesindeki üçüncü taraf bağımlılıklarının, Android'in bu tür olaylara yanıt verme yeteneğini riske atmamasını sağlamak için adımlar atabilir. Bu adımlar arasında, yetkisiz kullanımı engellemek için günlük listesinde önceden duyurulmayan değişiklikler yapmak da yer alır.