---
title: 'Sertifika Otoriteleri ve Güven Zinciri'
source: 'https://academia.sh/tr/kurslar/kimlik-ve-kriptografi/sertifika-otoriteleri-ve-guven-zinciri'
course: 'Kimlik, Erişim ve Kriptografi'
language: tr
updated: '2026-08-17T18:08:37+00:00'
license: 'CC BY-SA 4.0'
---

# Sertifika Otoriteleri ve Güven Zinciri

Tek kökün taşıdığı yük sayıyla ölçülür: dört ara otorite altında 4.397 uç kalem ve 4.400 güven deposu kopyası tek köke bağlı, ara otorite kırılması 10 ile 4.101 kalem arasında değişirken kök kırılması 8.802 kalem düşürüyor ve 95 iş günü elle dokunuş istiyor; yedek kök kesintiyi sıfırlıyor ama dokunuş sayısını değiştirmiyor.

Önceki ders sertifikayı bir iddialar kümesi olarak ölçtü ve bir kalemi varsayım olarak bıraktı:
doğrulayan taraf, verenin açık anahtarını zaten elinde tutuyordu. O anahtar oraya kendiliğinden
gelmedi. Bir uç kalem bir ara otorite tarafından, ara otorite bir kök tarafından imzalanır; kökü
imzalayan ise kimse yoktur — kök kendi kendini imzalar ve **doğrulanmadığı için değil, doğrudan
kabul edildiği için** geçerlidir. Güven kökü tam olarak burasıdır: zincirin ilk halkası kanıtla
değil, kararla yerleştirilir.

Bu ders o kararın taşıdığı yükü sayar. Kurgu bölgesel ölçüm ağının sertifika envanteri bir grafik
olarak kurulur ve üç şey ölçülür: tek kök kaç kalemi birden taşıyor, ara otorite eklemek her
doğrulamaya kaç kalem ekliyor, bir otorite kırıldığında kaç kalem düşüp yenilenmesi kaç dokunuş
tutuyor.

- **PK6.** Bir otoritenin **kırılması**, özel anahtarının denetim dışına çıkması ya da otoritenin
  yetkisiz bir kalemi imzalamış olmasıdır. İkisinin de sonucu aynıdır: o otoritenin imzası artık
  kanıt taşımaz.
- **PK7.** Güven deposu, kök kaleminin yazılı olduğu yerdir. Bir makinede bir kopya bulunur ve
  kopya sayısı makine sayısına eşittir.
- **PK8.** Bir makine sınıfı ya uzaktan ulaşılır ya da elle. Uzaktan ulaşılan sınıfta yenileme
  dağıtım kanalından geçer; elle ulaşılan sınıfta makine başına bir dokunuş gerekir ve dokunuş
  dakikası kurgu model değeridir.
- **PK9.** Kesik uç, kırılmadan yenilemenin bitişine kadar doğrulanamayan uç kalemdir; o kalemin
  taşıdığı bağlantı bu süre boyunca kurulamaz.
- **PK10.** Yedek kök, ikinci bir kök kaleminin bütün depolara **önceden** yazılmış ve ara
  otoritelerin bu ikinci kökle de imzalanmış olması demektir. Adetler, sınıflar ve dakikalar
  kurgudur.

## Kökün Taşıdığı Kalem

Grafik iki türden düğüm taşır: otoriteler ve makineler. Otorite, başka sertifika imzalayabilen bir
kalemdir; makine ise bir uç kalem taşıyan ve güven deposunda kökün bir kopyasını bulunduran
düğümdür.

```js
// zincir.mjs — kurgu guven zinciri grafigi ve makine envanteri. MODELDIR.
// Bolgesel olcum agi KURGUDUR: otorite adlari tur adidir, adetler ve dakikalar uydurmadir.
export const OTORITE = [
  // id, veren, tur, ozel anahtarin durdugu yer (kurgu)
  ["kurum-koku", null, "kok", "cevrimdisi kasa"],
  ["aygit-ara", "kurum-koku", "ara", "donanim guvenlik birimi"],
  ["sunucu-ara", "kurum-koku", "ara", "donanim guvenlik birimi"],
  ["personel-ara", "kurum-koku", "ara", "dizin sunucusu diski"],
  ["imza-ara", "kurum-koku", "ara", "donanim guvenlik birimi"],
].map(([id, veren, tur, yer]) => ({ id, veren, tur, yer }));

export const MAKINE = [
  // sinif, adet, tasidigi uc kalemin vereni, kok deposu var mi, uzaktan ulasilir mi, elle dk
  ["sayac ucu", 4100, "aygit-ara", true, false, 11],
  ["ic servis", 26, "sunucu-ara", true, true, 2],
  ["personel is istasyonu", 262, "personel-ara", true, true, 1],
  ["sube ag gecidi", 9, "imza-ara", true, true, 4],
  ["is ortagi dogrulayicisi", 3, null, true, false, 90],
].map(([sinif, adet, veren, depo, uzaktan, dk]) => ({ sinif, adet, veren, depo, uzaktan, dk }));

export const ara = () => OTORITE.filter((o) => o.tur === "ara");
export const altUc = (id) =>
  MAKINE.filter((m) => m.veren === id).reduce((t, m) => t + m.adet, 0);
export const UC = ara().reduce((t, o) => t + altUc(o.id), 0);
export const DEPO = MAKINE.filter((m) => m.depo).reduce((t, m) => t + m.adet, 0);

// Bir dogrulamada ayni anda dogru olmasi gereken kalem sayisi.
// sertifika basina gecerlilik + bag basina imza + otorite basina temel kisit
// + uc kalem icin ad ve kullanim + anahtar basina gizlilik + depo kaydi + saat
export const kalemSayisi = (zincir) => zincir + (zincir - 1) + (zincir - 1) + 2 + zincir + 1 + 1;

export const yaz = (g) => (h) =>
  h.map((v, i) => (i ? String(v).padStart(g[i]) : String(v).padEnd(g[0]))).join("");
```

```js
// kirilma.mjs — grafigin tasidigi kalem, kirilan otoritenin dusurdugu kalem ve yenileme bedeli
import { OTORITE, MAKINE, ara, altUc, UC, DEPO, kalemSayisi, yaz } from "./zincir.mjs";

const y1 = yaz([16, 10, 14, 26, 8]);
console.log(`grafik: 1 kok, ${ara().length} ara otorite, ${UC} uc kalem, ` +
  `${DEPO} guven deposu kopyasi, ${MAKINE.reduce((t, m) => t + m.adet, 0)} makine`);
console.log("\n" + y1(["otorite", "uc kalem", "makine sinif", "ozel anahtar", "zincir"]));
for (const o of OTORITE) {
  const alt = o.tur === "kok" ? UC : altUc(o.id);
  const sinif = MAKINE.filter((m) => m.veren === o.id).length;
  console.log(y1([o.id, alt, o.tur === "kok" ? MAKINE.length : sinif, o.yer,
    o.tur === "kok" ? 1 : 2]));
}
console.log(`\nbir uc kalem dogrulanirken ayni anda dogru olmasi gereken kalem:`);
for (const z of [2, 3]) console.log(`  ${z} sertifikalik zincir (${z === 2 ? "kok dogrudan imzalar"
  : "kok -> ara -> uc"}): ${kalemSayisi(z)} kalem`);
console.log(`  ara otorite eklemenin dogrulama basina bedeli: ` +
  `${kalemSayisi(3) - kalemSayisi(2)} kalem`);

// Kirilma: hangi otorite kirilirsa kac kalem duser, kac makineye dokunulur, kac dakika.
const dokunulan = (siniflar) => siniflar.reduce((t, m) => t + m.adet, 0);
const dakika = (siniflar) =>
  siniflar.filter((m) => !m.uzaktan).reduce((t, m) => t + m.adet * m.dk, 0);
const KOK_DEPO = MAKINE.filter((m) => m.depo);

const SENARYO = [];
for (const o of ara()) {
  const s = MAKINE.filter((m) => m.veren === o.id);
  SENARYO.push([`${o.id} kirildi`, 1 + altUc(o.id), altUc(o.id), s, altUc(o.id)]);
}
SENARYO.push(["kurum-koku kirildi", 1 + ara().length + UC + DEPO, UC, KOK_DEPO, UC]);
SENARYO.push(["kurum-koku kirildi, yedek kok var", 1 + DEPO, 0, KOK_DEPO, 0]);

const y2 = yaz([34, 10, 11, 11, 10, 11]);
console.log("\n" + y2(["senaryo", "dusen", "yenilenen", "dokunulan", "elle dk", "kesik uc"]));
for (const [ad, dusen, yenilenen, siniflar, kesik] of SENARYO)
  console.log(y2([ad, dusen, yenilenen, dokunulan(siniflar), dakika(siniflar), kesik]));

// Elle ulasilan ve uzaktan ulasilan depo kopyalari.
const elle = KOK_DEPO.filter((m) => !m.uzaktan);
const uzak = KOK_DEPO.filter((m) => m.uzaktan);
console.log(`\nkok deposu ${DEPO} kopya: uzaktan ${dokunulan(uzak)}, elle ${dokunulan(elle)}`);
for (const m of elle)
  console.log(`  ${m.sinif.padEnd(24)}${String(m.adet).padStart(6)} kopya, ` +
    `${String(m.adet * m.dk).padStart(6)} dk`);
console.log(`elle dokunus toplami ${dakika(KOK_DEPO)} dk = ` +
  `${Math.round(dakika(KOK_DEPO) / 60)} saat = ${Math.round(dakika(KOK_DEPO) / 480)} is gunu`);
console.log(`kirilan kok cikarilana kadar onu kabul etmeye devam eden makine: ` +
  `${dokunulan(elle)}`);
```

```
grafik: 1 kok, 4 ara otorite, 4397 uc kalem, 4400 guven deposu kopyasi, 4400 makine

otorite           uc kalem  makine sinif              ozel anahtar  zincir
kurum-koku            4397             5           cevrimdisi kasa       1
aygit-ara             4100             1   donanim guvenlik birimi       2
sunucu-ara              26             1   donanim guvenlik birimi       2
personel-ara           262             1      dizin sunucusu diski       2
imza-ara                 9             1   donanim guvenlik birimi       2

bir uc kalem dogrulanirken ayni anda dogru olmasi gereken kalem:
  2 sertifikalik zincir (kok dogrudan imzalar): 10 kalem
  3 sertifikalik zincir (kok -> ara -> uc): 14 kalem
  ara otorite eklemenin dogrulama basina bedeli: 4 kalem

senaryo                                dusen  yenilenen  dokunulan   elle dk   kesik uc
aygit-ara kirildi                       4101       4100       4100     45100       4100
sunucu-ara kirildi                        27         26         26         0         26
personel-ara kirildi                     263        262        262         0        262
imza-ara kirildi                          10          9          9         0          9
kurum-koku kirildi                      8802       4397       4400     45370       4397
kurum-koku kirildi, yedek kok var       4401          0       4400     45370          0

kok deposu 4400 kopya: uzaktan 297, elle 4103
  sayac ucu                 4100 kopya,  45100 dk
  is ortagi dogrulayicisi      3 kopya,    270 dk
elle dokunus toplami 45370 dk = 756 saat = 95 is gunu
kirilan kok cikarilana kadar onu kabul etmeye devam eden makine: 4103
```

İlk tablo kökün yükünü tek satırda veriyor: dört ara otoritenin altında 4.397 uç kalem duruyor ve
hepsi tek bir kalemin imzasına bağlı. Kökün kendisi hiçbir uç kalemi doğrudan imzalamaz; buna
rağmen dört bin üç yüz doksan yedisinin de üzerindedir, çünkü zincirin ucundadır.

Yükün yarısından fazlası ise sertifika bile değil. **4.400 güven deposu kopyası** aynı kök
kaleminin makinelere yazılmış kopyasıdır ve grafikte imzayla değil, **dağıtımla** bağlanır. Bu
kopyaların her biri bağımsız bir kalemdir: biri eksikse o makine hiçbir zinciri doğrulayamaz, biri
fazlaysa o makine fazladan bir kökü kabul eder. İş ortağı doğrulayıcıları bunu açıkça gösteriyor —
üç makine hiçbir uç kalem taşımıyor, yalnız kök deposu var, yani ağdaki rolleri sadece doğrulamak.

Özel anahtarın durduğu yer sütunu grafiğin şeklinden okunamayan bir şey söylüyor. Kök anahtarı
çevrimdışı bir kasadadır ve yalnız ara otorite imzalamak için çıkarılır; yılda birkaç kez
kullanılan bir anahtarın çevrimiçi durmasının bir gerekçesi yoktur. Üç ara otoritenin anahtarı
donanım güvenlik biriminde durur — anahtar birimin dışına çıkmaz, imzalama isteği içeri gönderilir.
Dördüncüsü, `personel-ara`, anahtarını bir dizin sunucusunun diskinde tutuyor. Grafikte bu dört
düğüm birbirinin eşidir; kırılma olasılıkları eş değildir ve o farkı taşıyan tek sütun budur.
Diskteki anahtarın altında 262 uç kalem duruyor.

Zincir uzunluğu ölçüsü ikinci tabloyu kuruyor. Kök uç kalemleri doğrudan imzalasaydı bir
doğrulamada aynı anda tutması gereken kalem sayısı on olurdu. Araya bir otorite girdiğinde bu sayı
on dörde çıkıyor: bir sertifikanın geçerlilik penceresi, bir imza bağı, bir temel kısıt denetimi ve
bir özel anahtarın daha gizli kalması. **Ara otorite bedava değildir**; her doğrulamaya dört kalem
ekler ve bu bedel dört bin üç yüz doksan yedi kalemin her doğrulamasında yeniden ödenir.

## Kırılma: Hangi Kök, Kaç Kalem

Karşılığı ise ikinci tabloda görünüyor. Aynı grafik, kırılan otoriteye göre tamamen farklı sayılar
üretiyor. `imza-ara` kırıldığında düşen kalem sayısı **on**; `aygit-ara` kırıldığında **4.101**.
Aradaki fark dört yüzden fazla kattır ve grafiğin şekliyle değil, alt ağaçların büyüklüğüyle
ilgilidir. Ara otoritelere bölmenin asıl işi budur: kırılmayı bir alt ağaca hapseder.

Elle dokunuş sütunu aynı hikâyeyi anlatmıyor. `sunucu-ara`, `personel-ara` ve `imza-ara`
kırılmalarının elle dokunuş bedeli sıfırdır, çünkü bu üç sınıfın makinelerine uzaktan ulaşılıyor ve
yenileme dağıtım kanalından geçiyor. `aygit-ara` kırılması ise 4.100 saha ziyareti demek: 45.100
dakika. Düşen kalem sayısıyla yenileme bedeli arasında sabit bir oran yoktur; belirleyici olan
kalem sayısı değil, o kalemlerin durduğu makinelere **nasıl ulaşıldığıdır**.

Aygıt tarafında bunun bir nedeni daha var. Sayaç ucunun yeni kalemini alabilmesi için toplayıcıyla
bağlantı kurması gerekir; o bağlantıyı kurmak için sunduğu kalem ise tam da yenilenmesi gereken
kalemdir. Yenileme kanalı, yenilenecek kalemin kendisine dayanıyorsa uzaktan yenileme yapılamaz.
Bu, ölçüm ağında kalem sayısından bağımsız bir sınırdır ve saha ziyaretini bir tercih olmaktan
çıkarır.

Tablonun hiçbir sütununda görünmeyen bir sayı daha var: kırılmanın **ne zaman fark edildiği**.
Model, kırılma anıyla yenilemenin başlangıcını aynı an sayar. Gerçekte bu ikisinin arasında bir
süre vardır ve o süre boyunca kırılan otoritenin imzaladığı her kalem, doğrulamanın on dört
kaleminin on dördünü de geçer — çünkü kırılma, doğrulanan alanların hiçbirinde iz bırakmaz. Bu
dersin sayıları yenilemenin bedelini verir, fark etmenin süresini vermez; ikincisi bu kursta
ölçülmez.

Kök satırı ölçeği değiştiriyor. Kök kırıldığında düşen kalem sayısı **8.802**: bir kök, dört ara
otorite, 4.397 uç kalem ve 4.400 güven deposu kaydı. Bunun 4.400'ü sertifika değil, kayıt; yani
kökü yenilemenin işi yalnız yeniden imzalamak değil, dört bin dört yüz makinedeki yazıyı
değiştirmektir. Elle dokunuş toplamı 45.370 dakika, yani **95 iş günü**. Bu sayının anlamı bir
maliyet değil, bir **süredir**: kök kırıldığında olayın kapanması üç aydan uzun sürer.

## Yedek Kök Neyi Kurtarır

Son satır tek başına dersin en öğretici kısmıdır. Bütün depolarda ikinci bir kök önceden yazılıysa
ve ara otoriteler bu ikinci kökle de imzalanmışsa, kök kırıldığında düşen kalem 8.802'den 4.401'e
iniyor ve **kesik uç sayısı 4.397'den sıfıra**. Hiçbir bağlantı kopmuyor; ölçüm ağı çalışmaya devam
ediyor, çünkü her uç kalemin köke ikinci bir yolu var.

Değişmeyen iki sütun ise kararı asıl belirleyen sütunlardır. Dokunulan makine sayısı yine 4.400,
elle dokunuş yine 45.370 dakika. Yedek kök yenileme işini ortadan kaldırmaz, çünkü kırılan kökün
depolardan **çıkarılması** gerekir ve bu, her makineye ayrı ayrı dokunmak demektir. Yedek kökün
kurtardığı şey iş değil, **kesintidir**: aynı 95 iş günü, hizmet açıkken geçer.

Süreyi belirleyen şey depo kopyalarının sayısı değil, dağılımıdır. Dört bin dört yüz kopyanın
297'sine uzaktan ulaşılıyor ve bunların dokunuş bedeli toplam dakikaya hiç girmiyor; kalan 4.103'ü
sürenin tamamını üretiyor. Kopya sayısını azaltmak bu tabloyu değiştirmez, çünkü azaltılacak
kopyalar uzaktan ulaşılan taraftadır. Değiştiren tek şey, elle ulaşılan sınıflara bir dağıtım
kanalı açmaktır — ve o kanalın kendisi de bir güven kökü ister.

Son satır bu yüzden aynı zamanda kökün yetmediği yeri gösteriyor. Elle ulaşılan 4.103 makine
kırılan kökü kabul etmeye devam eder ve bu, dokunuş sırası neyse o sırayla, en son makineye kadar
sürer. Kırılan bir kök iptal edilmiş sayılmaz; **çıkarılmadığı her makinede geçerlidir.** Ortalama
bir sayaç ucunun ziyaret sırası ortada bir yerdeyse, o uç için pencere yaklaşık kırk yedi iş günü
sürer. Bu sürede kırılan kökle imzalanmış yeni bir kalem üretilebilir ve o makinede kabul edilir;
grafikte hiçbir şey bunu engellemez.

Bu boşluk yenilemeyle kapanmıyor. Kapatabilecek tek şey, doğrulayanın "bu kalem hâlâ geçerli mi"
sorusunu kalemin kendi alanlarından değil, **başka bir yerden** sorabilmesidir. Bu, sertifika
alanlarının hiçbirinde yazmayan bir bilgidir ve grafiğin dışında durur.

## Özet

- Kurgu grafikte 1 kök, 4 ara otorite ve 4.397 uç kalem var; kök hiçbir uç kalemi doğrudan
  imzalamadığı hâlde hepsinin üzerindedir. Yükün 4.400 kalemi ise sertifika değil, güven deposu
  kopyasıdır ve grafiğe imzayla değil dağıtımla bağlanır.
- Kök uç kalemleri doğrudan imzalasa bir doğrulamada 10 kalem tutmalıydı; ara otorite bu sayıyı
  14'e çıkarır. Ara otorite kırılmayı bir alt ağaca hapseder ama her doğrulamaya 4 kalem ekler.
- Kırılan otoriteye göre düşen kalem 10 ile 4.101 arasında değişiyor; elle dokunuş ise 0 ile 45.100
  dakika arasında. Belirleyici olan kalem sayısı değil, makinelere nasıl ulaşıldığıdır.
- Kök kırıldığında 8.802 kalem düşüyor, 4.400 makineye dokunuluyor ve elle dokunuş 95 iş günü
  tutuyor. Yenileme kanalı yenilenecek kaleme dayandığı için 4.100 sayaç ucunda uzaktan yenileme
  yapılamıyor.
- Yedek kök düşen kalemi 4.401'e, kesik ucu 0'a indiriyor ama dokunulan makineyi ve süreyi hiç
  değiştirmiyor: kurtardığı şey iş değil kesintidir. Kırılan kök, çıkarılmadığı 4.103 makinede
  geçerli kalmaya devam eder.

## Sonraki Adım

Kök kırıldığında ortaya çıkan boşluk yenilemenin hızıyla ilgili değil. Bir kalem geçerliliğini
yitirdiğinde bunu doğrulayan tarafın **öğrenmesi** gerekir ve sertifikanın içinde bunu söyleyen bir
alan yoktur; kalem, alanları değişmediği sürece kendini geçerli göstermeye devam eder. Öğrenmenin
iki yolu vardır: iptal edilmiş kalemlerin listesini dağıtmak ya da her kullanımda otoriteye tek tek
sormak. Sonraki ders ikisini aynı ölçüde karşılaştırır — iptal kararı ile istemcinin bunu öğrenmesi
arasında kaç saat geçiyor, o pencerede kaç bağlantı kabul ediliyor ve sorgu yanıtsız kaldığında
verilen karar kaç yol açıyor.
