---
title: 'Sertifika İptali'
source: 'https://academia.sh/tr/kurslar/kimlik-ve-kriptografi/sertifika-iptali'
course: 'Kimlik, Erişim ve Kriptografi'
language: tr
updated: '2026-08-17T18:08:37+00:00'
license: 'CC BY-SA 4.0'
---

# Sertifika İptali

İptal kararı ile doğrulayanın bunu öğrenmesi arasındaki pencere ölçülür: günlük liste yayınında ortalama 29,5 saat ve 271.877 kabul edilen bağlantı, çevrimiçi sorguda 1,5 saat ve 13.925 bağlantı, sunucunun taşıdığı yanıtta 0,5 saat ve 4.621 bağlantı; listenin penceresini iki saate indirmek günlük indirmeyi 152 MB'tan 1.828 MB'a çıkarıyor ve sorgu yanıtsız kaldığında yumuşak başarısızlık 2 yol açarken sert başarısızlık 6.161 meşru bağlantı düşürüyor.

Önceki ders kırılan bir kökün, depolardan çıkarılmadığı her makinede geçerli kalmaya devam
ettiğini gösterdi. Aynı sorun tek bir uç kalem için de geçerlidir: bir sunucunun özel anahtarı
denetim dışına çıktığında ya da bir sayaç ucu sahadan sökülüp alındığında o kalemin geçersiz
sayılması gerekir — ama kalemin alanları değişmez. Geçerlilik penceresi hâlâ açıktır, imza hâlâ
doğrulanır, ad hâlâ eşleşir. Bir önceki dersin on dört kalemi, iptal edilmiş bir kalem için de
eksiksiz tutar.

İptal bu yüzden sertifikanın dışında durur: doğrulayanın **başka bir yerden** öğrenmesi gereken
bir bilgidir. Öğrenmenin iki temel yolu vardır — iptal edilmiş kalemlerin listesini dağıtmak ya da
her kullanımda otoriteye tek tek sormak. Bu ders ikisini aynı ölçüde karşılaştırır: karar ile
öğrenme arasında kaç saat geçiyor, o pencerede kaç bağlantı kabul ediliyor ve öğrenme kanalı
çalışmadığında verilen karar kaç yol açıyor.

- **PK11.** İptal, bir kalemin geçerlilik penceresi dolmadan geçersiz sayılması kararıdır. Karar
  otoritede verilir ve kalemin alanlarına dokunmaz.
- **PK12.** Öğrenme penceresi, iptal kararı ile o kararın belirli bir doğrulayana ulaşması
  arasındaki süredir. İstemcilerin tazeleme anları eşit dağıtılmıştır; bu bir model kararıdır.
- **PK13.** Pencerede kabul edilen bağlantı, pencere süresi ile istemcinin bağlantı hızının
  çarpımıdır. Adetler, hızlar, liste boyutu ve kesinti süresi kurgudur.
- **PK14.** Yumuşak başarısızlık, durum öğrenilemediğinde bağlantının kabul edilmesi; sert
  başarısızlık reddedilmesidir. Üçüncü bir seçenek yoktur.
- **PK15.** Sunucunun taşıdığı yanıt, durum yanıtını sunucunun kendi tazeleyip bağlantı sırasında
  istemciye vermesidir; istemcinin dış bir uca sorması gerekmez.

## Öğrenmenin Penceresi

Üç yöntemin farkı bir mekanizma farkı değil, bir **gecikme** farkıdır. İptal listesinde karar önce
bir yayına girer, sonra istemci o yayını kendi sırasında indirir; iki gecikme üst üste biner.
Çevrimiçi sorguda yayın gecikmesi yoktur, yalnız istemcinin önbelleği vardır.

```js
// iptal.mjs — iptal karari ile ogrenme arasindaki pencerenin modeli. MODELDIR.
// Kurgu bolgesel olcum agi: adetler, hizlar ve saatler uydurmadir.
export const SINIF = [
  // ad, istemci adedi, istemci basina saatte baglanti
  ["sayac ucu", 4100, 2],
  ["ic servis", 26, 30],
  ["personel is istasyonu", 262, 1],
].map(([ad, adet, hiz]) => ({ ad, adet, hiz }));

export const IPTAL = 30;              // kurgu iptal karari ani, saat
export const KESINTI = 40;            // kurgu sorgulayici kesintisi, dakika
export const KAYIT_BAYT = 28;         // iptal listesinde kalem basina bayt (kurgu)
export const IPTALLI = 1240;          // listede duran iptal edilmis kalem sayisi (kurgu)

export const YONTEM = [
  // ad, yayin araligi (0 = gecikmesiz), istemcinin tazeleme araligi, istemci disa sorar mi
  ["iptal listesi", 24, 24, false],
  ["cevrimici durum sorgusu", 0, 4, true],
  ["sunucunun tasidigi yanit", 0, 2, false],
].map(([ad, yayin, tazeleme, disaSorar]) => ({ ad, yayin, tazeleme, disaSorar }));

// Bir istemcinin ogrenme ani: once karar yayina girer, sonra istemci kendi sirasinda tazeler.
export const pencere = (y, ofset) => {
  const yayinAni = y.yayin ? Math.ceil(IPTAL / y.yayin) * y.yayin : IPTAL;
  const ogrenme = yayinAni + (((ofset - yayinAni) % y.tazeleme) + y.tazeleme) % y.tazeleme;
  return ogrenme - IPTAL;
};

export const ISTEMCI = SINIF.flatMap((s) =>
  Array.from({ length: s.adet }, (_, i) => ({ sinif: s.ad, hiz: s.hiz, ofset: i })));

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

```js
// pencere.mjs — ogrenme penceresi, penceredeki baglanti ve basarisizlik kararinin actigi yol
import { SINIF, YONTEM, ISTEMCI, IPTAL, KESINTI, KAYIT_BAYT, IPTALLI, pencere, yaz }
  from "./iptal.mjs";

const TOPLAM = ISTEMCI.length;
const SAATLIK = ISTEMCI.reduce((t, i) => t + i.hiz, 0);
console.log(`${TOPLAM} istemci, saatte ${SAATLIK} baglanti, iptal karari ${IPTAL}. saatte`);
console.log(`liste boyutu: ${IPTALLI} iptalli kalem x ${KAYIT_BAYT} bayt = ` +
  `${IPTALLI * KAYIT_BAYT} bayt`);

const y1 = yaz([26, 10, 10, 10, 14, 12]);
console.log("\n" + y1(["yontem", "en kisa", "en uzun", "ortalama", "kabul edilen", "gunluk dis"]));
for (const y of YONTEM) {
  const p = ISTEMCI.map((i) => pencere(y, i.ofset));
  const kabul = ISTEMCI.reduce((t, i, k) => t + p[k] * i.hiz, 0);
  const ort = p.reduce((a, b) => a + b, 0) / TOPLAM;
  const disSorgu = y.disaSorar ? TOPLAM * (24 / y.tazeleme)
    : y.yayin ? TOPLAM * (24 / y.tazeleme) : 24 / y.tazeleme;
  console.log(y1([y.ad, `${Math.min(...p)} sa`, `${Math.max(...p)} sa`, `${ort.toFixed(1)} sa`,
    kabul, disSorgu]));
}

// Liste yayin araligini daraltmanin pencereye ve indirme hacmine etkisi.
const y4 = yaz([16, 12, 12, 14, 16]);
console.log("\n" + y4(["liste araligi", "en uzun", "ortalama", "kabul edilen", "gunluk MB"]));
for (const d of [24, 12, 6, 2]) {
  const y = { yayin: d, tazeleme: d };
  const p = ISTEMCI.map((i) => pencere(y, i.ofset));
  const mb = (TOPLAM * (24 / d) * IPTALLI * KAYIT_BAYT) / 1e6;
  console.log(y4([`${d} saat`, `${Math.max(...p)} sa`,
    `${(p.reduce((a, b) => a + b, 0) / TOPLAM).toFixed(1)} sa`,
    ISTEMCI.reduce((t, i, k) => t + p[k] * i.hiz, 0), mb.toFixed(0)]));
}

// Ayni pencerenin sinif basina dagilimi (iptal listesi ile cevrimici sorgu).
const y2 = yaz([24, 10, 14, 14, 12]);
console.log("\n" + y2(["sinif", "istemci", "liste kabul", "sorgu kabul", "oran"]));
for (const s of SINIF) {
  const grup = ISTEMCI.filter((i) => i.sinif === s.ad);
  const [liste, sorgu] = [YONTEM[0], YONTEM[1]].map((y) =>
    grup.reduce((t, i) => t + pencere(y, i.ofset) * i.hiz, 0));
  console.log(y2([s.ad, grup.length, liste, sorgu, `${(liste / sorgu).toFixed(1)}x`]));
}

// Sorgulayici ulasilamadiginda verilen karar: yumusak ve sert basarisizlik.
const kesintiBaglanti = Math.round(SAATLIK * (KESINTI / 60));
const KARAR = [
  // ad, istemci disa soruyor mu, kabul mu, acilan yol, duran mesru is
  ["iptal listesi, onbellek gecerli", false, true, 0, 0],
  ["cevrimici sorgu, yumusak basarisizlik", true, true, 2, 0],
  ["cevrimici sorgu, sert basarisizlik", true, false, 0, kesintiBaglanti],
  ["sunucunun tasidigi yanit, sert", false, true, 0, 0],
];
const y3 = yaz([40, 11, 8, 13, 17]);
console.log(`\nsorgulayici kesintisi ${KESINTI} dk -> ${kesintiBaglanti} baglanti etkileniyor`);
console.log(y3(["karar", "dis bagim", "kabul", "acilan yol", "duran mesru is"]));
for (const [ad, dis, kabul, yol, duran] of KARAR)
  console.log(y3([ad, dis ? "var" : "yok", kabul ? "evet" : "hayir", yol, duran]));

const YOL = ["iptal edilmis kalem kabul edilir",
  "sorgulayiciya erisimi kesen taraf iptali gorunmez kilar"];
console.log("\nyumusak basarisizligin actigi yol:");
YOL.forEach((y, i) => console.log(`  ${i + 1}. ${y}`));
console.log(`sert basarisizligin bedeli: ${kesintiBaglanti} mesru baglanti, ` +
  `${KESINTI} dk boyunca`);
```

```
4388 istemci, saatte 9242 baglanti, iptal karari 30. saatte
liste boyutu: 1240 iptalli kalem x 28 bayt = 34720 bayt

yontem                       en kisa   en uzun  ortalama  kabul edilen  gunluk dis
iptal listesi                  18 sa     41 sa   29.5 sa        271877        4388
cevrimici durum sorgusu         0 sa      3 sa    1.5 sa         13925       26328
sunucunun tasidigi yanit        0 sa      1 sa    0.5 sa          4621          12

liste araligi        en uzun    ortalama  kabul edilen       gunluk MB
24 saat                41 sa     29.5 sa        271877             152
12 saat                17 sa     11.5 sa        105941             305
6 saat                  5 sa      2.5 sa         22973             609
2 saat                  1 sa      0.5 sa          4621            1828

sinif                      istemci   liste kabul   sorgu kabul        oran
sayac ucu                     4100        241820         12300       19.7x
ic servis                       26         22350          1230       18.2x
personel is istasyonu          262          7707           395       19.5x

sorgulayici kesintisi 40 dk -> 6161 baglanti etkileniyor
karar                                     dis bagim   kabul   acilan yol   duran mesru is
iptal listesi, onbellek gecerli                 yok    evet            0                0
cevrimici sorgu, yumusak basarisizlik           var    evet            2                0
cevrimici sorgu, sert basarisizlik              var   hayir            0             6161
sunucunun tasidigi yanit, sert                  yok    evet            0                0

yumusak basarisizligin actigi yol:
  1. iptal edilmis kalem kabul edilir
  2. sorgulayiciya erisimi kesen taraf iptali gorunmez kilar
sert basarisizligin bedeli: 6161 mesru baglanti, 40 dk boyunca
```

İlk tablo pencerenin şeklini veriyor. Günlük yayınlanan bir listede iptal kararı en iyi ihtimalle
on sekiz, en kötü ihtimalle **kırk bir saat** sonra öğreniliyor; ortalama yirmi dokuz buçuk saat.
Sayının yirmi dörtten büyük olması ilk bakışta şaşırtıcıdır ve iki gecikmenin toplanmasından
gelir: karar otuzuncu saatte verildiği için o günün yayınını kaçırır, kırk sekizinci saatteki
yayına girer, sonra her istemci kendi tazeleme sırasında indirir.

Çevrimiçi sorguda yayın gecikmesi ortadan kalkıyor ve pencere en fazla üç saate iniyor. Sunucunun
yanıtı kendisi taşıdığında en fazla bir saat. Penceredeki bağlantı sayısı bu üç yöntemi
kıyaslanabilir hâle getiriyor: **271.877**, **13.925**, **4.621**. İlk iki yöntem arasında yirmi
katına yakın fark var ve bu farkın tamamı zamansaldır — sınıf tablosu bunu doğruluyor, üç istemci
sınıfının üçünde de oran on sekiz ile yirmi arasında. Pencere, istemcinin ne yaptığına değil, ne
zaman sorduğuna bağlıdır.

Ortalama sütunu yanıltıcı olabilir. İptal edilmiş bir kalemi sunacak tarafın hangi istemciye
gideceğini seçebildiği bir durumda geçerli olan sayı ortalama değil, **en uzun** penceredir: kırk
bir saat. Ortalama, kaç bağlantının etkilendiğini söyler; en uzun pencere ise tek bir bağlantının
ne kadar süre boyunca mümkün olduğunu söyler. İki sayı iki ayrı soruya bakar ve bir yöntemi
seçerken ikisi de yazılır.

## Pencereyi Daraltmanın Bedeli

İkinci tablo, liste yönteminin penceresinin bir kader olmadığını gösteriyor. Yayın aralığı yirmi
dört saatten iki saate indirildiğinde ortalama pencere 29,5 saatten 0,5 saate düşüyor ve kabul
edilen bağlantı 271.877'den 4.621'e — yani sunucunun taşıdığı yanıtla **tam olarak aynı** değere.
Liste yöntemi çevrimiçi sorgudan yapısal olarak daha kötü değildir; yalnız varsayılan aralığıyla
öyledir.

Bedeli ise son sütunda. İki saatlik aralık günlük indirmeyi 152 MB'tan **1.828 MB'a** çıkarıyor,
on iki katına. Bunun nedeni listenin **tamamının** her tazelemede yeniden indirilmesidir: dört bin
üç yüz seksen sekiz istemcinin her biri, on iki kez, bin iki yüz kırk kalemlik listenin tamamını
alır — oysa iptal edilen kalem bir tanedir. İptal listesi, aradığı tek kaydı bulmak için her
seferinde bütün defteri taşır.

Listenin boyutu da sabit değil. Bin iki yüz kırk kalem, geçmişte iptal edilmiş her kalemin
geçerlilik penceresi dolana kadar listede kalmasından gelir; iptal sayısı arttıkça liste büyür ve
her tazelemede taşınan bayt onunla birlikte artar. Sıklığı artırmanın maliyeti bu yüzden zamanla
kendiliğinden yükselir — aynı aralık, bir yıl sonra daha pahalıdır.

Dış sorgu sütunu ise ters yönde bir tablo çiziyor. Günlük listede istemci başına bir indirme var,
toplam 4.388. Çevrimiçi sorguda istemci başına altı sorgu, toplam **26.328**; her biri ayrı bir
uca gidiyor ve her biri o ucun ayakta olmasını gerektiriyor. Sunucunun taşıdığı yanıtta ise günlük
dış sorgu **on iki**, çünkü soran taraf istemci değil sunucudur ve bir kez sorup yanıtı bütün
istemcilere dağıtır. En dar pencereyi veren yöntem, en az dış sorgu üreten yöntemdir; iki ölçü
burada aynı yöne bakar.

## Sorgu Yanıtsız Kaldığında

Son tablo dersin asıl ayrımını kuruyor. Çevrimiçi sorgunun eklediği şey yalnız hız değil, bir
**dış bağımlılıktır**; ve o bağımlılık düştüğünde doğrulayanın elinde iki seçenek kalır.

Yumuşak başarısızlık bağlantıyı kabul eder. Kırk dakikalık kesintide altı bin yüz altmış bir
bağlantı, durumu bilinmeden kurulur ve bu iki yol açar: iptal edilmiş bir kalem kabul edilir, ve
sorgulayıcıya erişimi kesebilen taraf iptali görünmez kılar. İkincisi birincisini içerir —
öğrenmenin tek kanalı düşürülebiliyorsa, iptal kararının kendisi düşürülebilir demektir.

Sert başarısızlık hiçbir yol açmaz ve altı bin yüz altmış bir **meşru** bağlantıyı düşürür. Kırk
dakika boyunca ölçüm ağının veri alımı durur. Bu, ölçülebilir bir bedeldir ve yumuşak
başarısızlığın açtığı iki yolun karşılığıdır; ikisinin arasında doğru bir seçim yoktur, yalnız
yazılı bir seçim vardır.

İlk ve dördüncü satırlar bu ikilemin nasıl kurulmadığını gösteriyor. Liste yönteminde istemcinin
elinde geçerli bir önbellek varken dış bağımlılık yoktur; sorgulayıcının ayakta olup olmaması
bağlantıyı etkilemez. Sunucunun taşıdığı yanıtta da yoktur, çünkü soran taraf istemci değildir.
İkilem ortadan kalkmaz — sunucu yanıtı tazeleyemediğinde aynı iki seçenek sunucu tarafında yeniden
kurulur — ama **dört bin üç yüz seksen sekiz istemciden bir sunucuya taşınır**. Yumuşak ya da sert
başarısızlık kararını dört bin kez değil bir kez vermek, kararın kendisini değiştirmez; kararın
verildiği yeri değiştirir ve o yer, izlenebilen tek yerdir.

Bir kalem türü ise bu üç yöntemin hiçbiriyle iptal edilemez. İptal listesini imzalayan, iptal
edilecek kalemin vereni olan otoritedir; kök için bu, kökün kendi iptalini kendi imzasıyla
duyurması demektir. Kırılmış bir kökün imzası kanıt taşımadığına göre, o duyuru da kanıt taşımaz.
Bir önceki dersin 4.400 makinelik dokunuş sayısı tam olarak bu yüzden ödenir: kök iptal
edilemediği için **çıkarılır**, ve çıkarma işi bir yayınla değil, makine makine yapılır.

Bütün bu ölçümün altında değişmeyen bir sınır duruyor. İptal, doğrulanan alanlarda iz bırakmayan
tek karardır: iptal edilmiş bir kalem, öğrenme gerçekleşene kadar on dört kalemin on dördünü de
geçer. Pencere daraltılabilir, sıfırlanamaz. Sıfırlamanın tek yolu, kalemin ömrünü öğrenme penceresinden
kısa tutmaktır — o zaman iptal duyurusu tamamlanmadan kalem kendiliğinden düşer. Bu, iptali bir
duyuru sorunu olmaktan çıkarıp bir yenileme sorununa çevirir; o ölçüm bu konunun beşinci dersinde
yapılır.

## Özet

- İptal kararı sertifikanın alanlarına dokunmaz; iptal edilmiş bir kalem, öğrenme gerçekleşene
  kadar doğrulamanın bütün denetimlerini geçer. Ölçülen şey mekanizma değil, **öğrenme
  gecikmesidir**.
- Günlük yayınlanan listede pencere 18–41 saat (ortalama 29,5) ve penceredeki bağlantı 271.877;
  çevrimiçi sorguda 0–3 saat ve 13.925; sunucunun taşıdığı yanıtta 0–1 saat ve 4.621. Oran üç
  istemci sınıfında da 18–20 kat arasında, çünkü fark tümüyle zamansaldır.
- Yayın aralığını 2 saate indirmek listeyi çevrimiçi sorgunun da altına, 4.621 bağlantıya çekiyor;
  bedeli günlük indirmenin 152 MB'tan 1.828 MB'a çıkmasıdır, çünkü her tazelemede 1.240 kalemlik
  listenin tamamı yeniden iner.
- Dış sorgu sayısı ters sıralanıyor: liste 4.388, çevrimiçi sorgu 26.328, sunucunun taşıdığı yanıt
  12. En dar pencereyi veren yöntem en az dış bağımlılık üretendir.
- Sorgulayıcının 40 dakikalık kesintisinde yumuşak başarısızlık 2 yol açıp 0 meşru işi durduruyor,
  sert başarısızlık 0 yol açıp 6.161 meşru bağlantıyı düşürüyor. Sunucunun yanıtı taşıması bu
  kararı ortadan kaldırmaz, 4.388 istemciden 1 sunucuya taşır.

## Sonraki Adım

Bu üç dersin ölçtüğü her şey — alan denetimleri, zincirin kalemleri, iptal durumu — tek bir yerde,
bağlantının kurulduğu ilk saniyelerde toplanır. O konuşma el sıkışmadır ve içinde her adımın
kanıtladığı ayrı bir iddia vardır: karşı tarafın sunduğu kalemin geçerli olduğu, o kalemin özel
anahtarını gerçekten elinde tuttuğu, konuşulan adın kaleme yazılı olduğu. Sonraki ders el
sıkışmayı adım adım söker ve tek soruyu sorar: hangi adım hangi iddiayı kanıtlıyor, bir adım
atlandığında hangi iddia kanıtsız kalıyor ve istemcinin de kalem sunması kaç kalem ekliyor.
