Android Sertifika Şeffaflığı Politikası

Bu politikayla ilgili sorularınız varsa lütfen CT Politikası forumuna gönderin: ct-policy@chromium.org

Bir bağlantının Taşıma Katmanı Güvenliği (TLS) sertifikası, Sertifika Şeffaflığı'nı etkinleştiren bir uygulamada doğrulandığında Android Sertifika Şeffaflığı (CT) Politikası'na uygunluk açısından değerlendirilir. Bu Politika'yı karşılayan İmzalı Sertifika Zaman Damgası'nın (SCT) eşlik ettiği sertifikaların CT Uyumlu olduğu söylenir.

CT uygunluğu, sertifika doğrulaması sırasında popüler TLS kitaplıkları (Android'in yerleşik Conscrypt'i dahil) tarafından uygulanan ve bu Politika'da tanımlanan teknik koşulları karşılayan bir sertifika ve eşlik eden SCT'ler ile sağlanır.

CT Günlük Durumları

Android'de CT uygunluğu, CT günlüklerindeki SCT'lerin değerlendirilmesi ve bu günlüklerin kontrol sırasında doğru durumda olduğundan emin olunması ile belirlenir. Bir CT günlüğünün bulunabileceği olası durumlar şunlardır:

  • Pending
  • Qualified
  • Usable
  • ReadOnly
  • Retired
  • Rejected

Android'de CT uyumluluğuyla ilgili şartları anlamanıza yardımcı olmak için bu durumların tanımı, her durumda günlüklerle ilgili şartlar ve bu durumların Android davranışını nasıl etkilediği, Chrome dokümanlarında yer alan CT Günlüğü Yaşam Döngüsü Açıklayıcısı'nda ayrıntılı olarak açıklanmıştır.

CT Uyumlu Sertifikalar

Bir TLS sertifikası, SCT'lerin Android'e nasıl yayınlandığına bağlı olarak, daha sonra tanımlanan ölçütlerden en az birini karşılayan bir SCT grubuyla birlikte gönderiliyorsa CT Uyumlu'dur. Android'in CT'yi zorunlu kıldığı uygulamalarda, herkes tarafından güvenilen tüm TLS sertifikalarının başarılı bir şekilde doğrulanabilmesi için CT uyumlu olması gerekir. Ancak CT'ye kaydedilmeyen veya yetersiz SCT'ye sahip olan sertifikaların yanlış düzenlenmiş olduğu kabul edilmez.

Android, bir sertifikayı CT Uyumluluğu açısından değerlendirirken kaç SCT bulunduğu, SCT'yi veren CT Günlüğünün kim tarafından işletildiği ve hem sertifikanın doğrulandığı sırada hem de SCT'nin CT Günlüğü tarafından oluşturulduğu sırada SCT'yi veren CT Günlüğünün hangi durumda olduğu gibi çeşitli faktörleri dikkate alır.

SCT'lerin Android'e nasıl sunulduğuna bağlı olarak, aşağıdaki ölçütlerden birini karşılayarak CT'ye uygunluk sağlanabilir:

Yerleştirilen SCT'ler:

  1. Kontrol sırasında Qualified, Usable veya ReadOnly olan bir CT günlüğünden en az bir yerleştirilmiş SCT ve
  2. En az N farklı CT günlüğünden yerleştirilmiş SCT'ler var. Bu günlükler, kontrol sırasında Qualified, Usable, ReadOnly veya Retired durumundaydı. N, aşağıdaki tabloda tanımlanmıştır.
  3. 2. koşulu karşılayan SCT'ler arasında, Android tarafından tanınan farklı CT Günlüğü Operatörleri tarafından en az iki SCT düzenlenmiş olmalıdır ve
  4. 2. koşulu karşılayan SCT'ler arasında en az bir SCT, Android tarafından RFC 6962 uyumlu olarak tanınan bir günlükten yayınlanmış olmalıdır.
Sertifika Ömrü Farklı CT günlüklerindeki SCT'lerin sayısı
<= 180 gün 2
> 180 gün 3

OCSP veya TLS üzerinden yayınlanan SCT'ler:

  1. Kontrol sırasında Qualified, Usable veya ReadOnly olan bir CT günlüğünden en az iki SCT ve
  2. 1. koşulu karşılayan SCT'ler arasında, Android tarafından tanınan farklı CT Günlüğü Operatörleri tarafından en az iki SCT yayınlanmış olmalıdır ve
  3. 1. koşulu karşılayan SCT'ler arasında en az bir SCT, Android tarafından RFC6962 uyumlu olarak tanınan bir CT günlüğünden yayınlanmış olmalıdır.

Hem yerleşik SCT'ler hem de OCSP veya TLS kullanılarak yayınlananlar için günlük operatörü benzersizliği, log_list.json dosyasının operatörler bölümünde ayrı girişlere sahip olmak olarak tanımlanır.

Bir CT günlüğünün kullanım süresi boyunca operatör değiştirmesi nadir bir durumdur. CT günlükleri isteğe bağlı olarak, bu günlüğün önceki operatör tarafından çalıştırıldığı son zaman damgasının eşlik ettiği bir previous_operators listesi içerir. 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ı mevcutsa previous_operators zaman damgalarıyla karşılaştırılarak SCT'nin verildiği sıradaki operatör olarak belirlenir.

Önemli notlar

El sıkışma sırasında sunulan SCT'lerin bir kombinasyonuyla önceki CT Uyumluluğu ölçütlerinden biri karşılandığı sürece, ek SCT'ler (SCT'nin durumundan bağımsız olarak) bir sertifikanın CT Uyumluluğu durumunu olumlu veya olumsuz yönde etkilemez.

Bir sertifikanın CT uygunluğuna katkıda bulunabilmesi için, varsa günlükteki Retired zaman damgasından önce bir SCT yayınlanmış olmalıdır. Android, CT uyumluluğunu CT Günlüğü Retired zaman damgalarına göre değerlendirmek için sunulan tüm SCT'ler arasında en erken SCT'yi kullanır. Bu, sertifika günlük kaydı istekleri gönderilirken CT günlüğünün kullanımdan kaldırıldığı uç durumlar için geçerlidir.

"Yerleşik SCT", sertifikanın içinde SignedCertificateTimestampListX.509v3 uzantısı kullanılarak yayınlanan bir SCT anlamına gelir. Birçok TLS sunucusu OCSP Stapling'i veya TLS uzantısını desteklemez. Bu nedenle, CA'lar Android'de başarılı bir doğrulama veya EV işlemi sağlamak için SCT'leri verilen sertifikalara yerleştirmeye hazır olmalıdır.

CT günlükleri Android'e nasıl eklenir?

CT günlüklerinin Qualified haline gelme ölçütleri ve Retired haline gelmelerine ne gibi koşulların neden olabileceği Chrome CT Günlük Politikası'nda bulunabilir.

CT Yaptırım Süresi Aşımı

Google her gün yeni bir log_list_timestamp içeren yeni bir CT Günlüğü listesi yayınlar. Android cihazlar, doğrulama amacıyla bu listenin en son sürümünü günde bir kez indirmeyi dener. Cihazda herhangi bir zamanda günlük listesi yoksa veya günlük listesinin zaman damgası 70 günden eskiyse CT yaptırımı 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 Kullanılabilir durumuna güvenli bir şekilde geçebileceğine dair kritik bir güvence sağlar.