---
title: 'Bilet Tabanlı Kimlik Doğrulama'
source: 'https://academia.sh/tr/kurslar/kimlik-ve-kriptografi/bilet-tabanli-kimlik-dogrulama'
course: 'Kimlik, Erişim ve Kriptografi'
language: tr
updated: '2026-08-17T18:08:37+00:00'
license: 'CC BY-SA 4.0'
---

# Bilet Tabanlı Kimlik Doğrulama

Bilet akışının bilet veren servisin anahtarına indirgenmesi: altı adımda kanıtlanan iddialar ve her adımın dayandığı anahtar, 471 anahtar kaleminin beş türe dağılması, tek bir kök anahtarın ele geçmesinin 214 aslın ve 21 servisin tamamını düşürmesi, yenilemenin iki tur ve 176 saatlik pencere tutması.

Önceki ders merkezî deponun kesintisinde 13 sistemde 609 hesap girişinin durduğunu saydı. Bu
bağımlılığın kaynağı, her sistemin her girişte depoya sorması ve parolanın her seferinde ağdan
geçmesidir. Kurumsal ağlarda bunun yerine tek bir doğrulamadan **süreli bir kanıt** üretilir ve
sonraki erişimlerde parola yerine o kanıt sunulur. Kanıtın adı **bilettir (ticket)**; onu üreten
mekanizmanın açık şartnamesi Kerberos adıyla anılır.

Bu ders biletin nasıl çalıştığını değil, biletin **neye dayandığını** ölçer. Akış kaç adım,
hangi adımda hangi iddia kanıtlanıyor, kaç anahtar kalemi aynı anda doğru olmalı, hangi anahtar
ele geçerse kaç kalem düşer ve o anahtarı yenilemek kaç tur tutar.

## Parolanın Yerini Alan Kanıt

**KK5:** bilet tabanlı doğrulamada parola yalnız ilk adımda kullanılır; sonraki her erişimde
sunulan şey süreli bir bilettir ve bilet parolayı taşımaz. **KK6:** bir bileti üretebilen, o
biletin taşıdığı iddiaların hepsini üretebilir; bu yüzden bilet veren servisin anahtarı alanın
güven köküdür. **KK7:** bir anahtarın yenilenmesi, o anahtarla üretilmiş geçerli kanıtları
geçmişe dönük geçersiz kılmaz; yenileme penceresi en uzun ömürlü kanıt kadar sürer.

KK5 iki yönlü bir kazançtır. Parolanın ağdan yalnız bir kez, o da doğrudan değil türetilmiş bir
anahtarla geçmesi, hattı dinleyen için parolayı erişilmez kılar. Aynı tasarım maliyeti de
getirir: kanıt artık bağımsız bir nesnedir, kopyalanabilir ve süresi dolana kadar kimin elinde
olduğu sorulmaz. **Ölçülmesi gereken şey biletin gücü değil, bileti üreten anahtarın kapsamı ve
biletin ömrüdür.**

## Altı Adım, Beş Anahtar

Aşağıdaki akış bir **modeldir**: kurgu bölgesel ölçüm ağı alanında 214 kullanıcı aslı ve 21
servis aslı vardır. Gerçek bir alan, gerçek bir asıl ya da gerçek bir anahtar yoktur.

```js
// bilet/akis.mjs — bilet tabanli kimlik dogrulamanin adimlari ve dayandigi anahtarlar (model):
// kurgu bolgesel olcum agi alaninda 214 kullanici asli ve 21 servis asli var. Gercek bir alan,
// gercek bir asil ya da gercek bir anahtar yok. Rastgelelik yok.

// KK5: bilet tabanli dogrulamada parola yalnizca ilk adimda kullanilir; sonraki her erisimde
// sunulan sey sureli bir bilettir. KK6: bir bileti uretebilen, o bileti tasidigi iddialarin
// hepsini uretebilir; bilet veren servisin anahtari bu yuzden alanin guven kokudur.
export const ADIM = `
  1  on dogrulama istegi      parolayi bilen benim          kullanici        kimlik-servisi
  2  bilet veren bilet        bu bileti merkez verdi        bilet-servisi    istemci
  3  bilet ve dogrulayici     bileti alan taraf benim       oturum-1         bilet-servisi
  4  servis bileti            bu bileti merkez verdi        servis-hesabi    istemci
  5  bilet ve dogrulayici     bileti alan taraf benim       oturum-2         hedef-servis
  6  karsilikli dogrulama     karsi uc gercekten o servis   servis-hesabi    istemci`
  .trim().split("\n").map((r) => {
    const p = r.trim().split(/\s{2,}/);
    return { no: +p[0], ileti: p[1], iddia: p[2], anahtar: p[3], dogrulayan: p[4] };
  });

// Anahtar envanteri: adet = alandaki kalem sayisi, asil = anahtar ele gecerse dogrudan
// dusen asil sayisi, servis = dusen servis sayisi, tur = yenilemenin kac turda yapildigi.
export const ANAHTAR = {
  "kullanici":     { adet: 214, asil: 1,   servis: 0,  tur: 1, omurSaat: 2160 },
  "servis-hesabi": { adet: 21,  asil: 214, servis: 1,  tur: 1, omurSaat: 8760 },
  "oturum-1":      { adet: 214, asil: 1,   servis: 0,  tur: 0, omurSaat: 10 },
  "oturum-2":      { adet: 21,  asil: 1,   servis: 1,  tur: 0, omurSaat: 10 },
  "bilet-servisi": { adet: 1,   asil: 214, servis: 21, tur: 2, omurSaat: 8760 },
};

export const BILET_OMUR = 10;      // saat
export const YENILEME_OMUR = 168;  // saat
export const KOPYA = 3;
export const YAYILMA = 4;          // bir anahtar degisikliginin kopyalara ulasma suresi, saat
```

```js
// bilet/sayim.mjs — akis kac adim, hangi adimda hangi iddia kanitlaniyor, hangi anahtar ele
// gecerse kac kalem duser ve bilet veren servisin anahtarini yenilemek kac adim tutar.
import { ADIM, ANAHTAR, BILET_OMUR, YENILEME_OMUR, KOPYA, YAYILMA } from "./akis.mjs";

const yaz = (g, ...s) => console.log(s.map((v, i) =>
  (g[i] < 0 ? String(v).padEnd(-g[i]) : String(v).padStart(g[i]))).join(""));
const tur = Object.keys(ANAHTAR);
const kalem = tur.reduce((a, t) => a + ANAHTAR[t].adet, 0);

console.log(`${ADIM.length} adim, ${tur.length} anahtar turu, ${kalem} anahtar kalemi; ` +
  `bilet omru ${BILET_OMUR} saat, yenileme penceresi ${YENILEME_OMUR} saat`);

const A = [-3, -24, -30, 18];
console.log("\n1. adim basina kanitlanan iddia ve dayandigi anahtar");
yaz(A, "no", "ileti", "kanitlanan iddia", "dayandigi anahtar");
for (const a of ADIM) yaz(A, a.no, a.ileti, a.iddia, a.anahtar);

const B = [-16, 7, 10, 10, 9, 6];
console.log("\n2. anahtar turu ele gecerse dusen kalem");
yaz(B, "anahtar", "adet", "dusen as", "dus srv", "omur sa", "tur");
for (const t of tur) {
  const k = ANAHTAR[t];
  yaz(B, t, k.adet, k.asil, k.servis, k.omurSaat, k.tur);
}
const kok = ANAHTAR["bilet-servisi"];
console.log(`tek kalemle dusen oran: asil ${kok.asil}/${ANAHTAR["kullanici"].adet}, ` +
  `servis ${kok.servis}/${ANAHTAR["servis-hesabi"].adet}`);

const C = [-4, -30, 7, 23];
console.log("\n3. bilet veren servisin anahtarini yenileme plani");
const plan = [
  ["birinci anahtar degisikligi", 0, "gecmis bilet cozulur"],
  ["kopyalara yayilma", YAYILMA, `${KOPYA} kopya`],
  ["acik biletlerin sonu", BILET_OMUR, "yeni bilet alinir"],
  ["ikinci anahtar degisikligi", 0, "eski anahtar duser"],
  ["kopyalara yayilma", YAYILMA, `${KOPYA} kopya`],
  ["yenileme biletlerinin sonu", YENILEME_OMUR - BILET_OMUR, "yeniden giris"],
];
yaz(C, "no", "adim", "saat", "sonuc");
let gecen = 0;
plan.forEach((p, i) => { gecen += p[1]; yaz(C, i + 1, p[0], p[1], p[2]); });
console.log(`toplam pencere ${gecen} saat, elle dokunulan kalem ` +
  `${kok.tur + ANAHTAR["servis-hesabi"].adet}`);

const D = [-16, 12, 12, 14];
console.log("\n4. bir anahtar turunun yenilenmesinde duran mesru is");
yaz(D, "anahtar", "elle kalem", "duran asil", "duran servis");
for (const t of tur.filter((x) => ANAHTAR[x].tur > 0)) {
  const k = ANAHTAR[t];
  yaz(D, t, k.adet * k.tur, k.asil, k.servis);
}
```

```
6 adim, 5 anahtar turu, 471 anahtar kalemi; bilet omru 10 saat, yenileme penceresi 168 saat

1. adim basina kanitlanan iddia ve dayandigi anahtar
no ileti                   kanitlanan iddia               dayandigi anahtar
1  on dogrulama istegi     parolayi bilen benim                   kullanici
2  bilet veren bilet       bu bileti merkez verdi             bilet-servisi
3  bilet ve dogrulayici    bileti alan taraf benim                 oturum-1
4  servis bileti           bu bileti merkez verdi             servis-hesabi
5  bilet ve dogrulayici    bileti alan taraf benim                 oturum-2
6  karsilikli dogrulama    karsi uc gercekten o servis        servis-hesabi

2. anahtar turu ele gecerse dusen kalem
anahtar            adet  dusen as   dus srv  omur sa   tur
kullanici           214         1         0     2160     1
servis-hesabi        21       214         1     8760     1
oturum-1            214         1         0       10     0
oturum-2             21         1         1       10     0
bilet-servisi         1       214        21     8760     2
tek kalemle dusen oran: asil 214/214, servis 21/21

3. bilet veren servisin anahtarini yenileme plani
no  adim                             saat                  sonuc
1   birinci anahtar degisikligi         0   gecmis bilet cozulur
2   kopyalara yayilma                   4                3 kopya
3   acik biletlerin sonu               10      yeni bilet alinir
4   ikinci anahtar degisikligi          0     eski anahtar duser
5   kopyalara yayilma                   4                3 kopya
6   yenileme biletlerinin sonu        158          yeniden giris
toplam pencere 176 saat, elle dokunulan kalem 23

4. bir anahtar turunun yenilenmesinde duran mesru is
anahtar           elle kalem  duran asil  duran servis
kullanici                214           1             0
servis-hesabi             21         214             1
bilet-servisi              2         214            21
```

Sayılar **ölçüm** sınıfındadır; girdileri KK5–KK7 ile anahtar envanteridir.

## Hangi Adımda Hangi İddia Kanıtlanıyor

Birinci tablo altı adımı ve her adımın kanıtladığı tek iddiayı verir. Adım 1 parolayı bilen
tarafın kim olduğunu kanıtlar ve bu, akıştaki **tek** parola kullanımıdır. Adım 2 ve 4 aynı
iddiayı taşır — biletin merkezden geldiği — ama farklı anahtarlara dayanır: ilki bilet veren
servisin anahtarına, ikincisi hedef servisin hesap anahtarına. Adım 3 ve 5, bileti sunanın onu
almış taraf olduğunu kanıtlar; kanıt oturum anahtarıyla üretilen ve zaman damgası taşıyan bir
doğrulayıcıdır.

Zaman damgası, önceki derste zincirin dışında kalan kalemlerden biri olan saat eşitliğinin
buradaki karşılığıdır. Doğrulayıcının tazeliği yalnız saate dayanır; iki tarafın saati kabul
edilen pencereden fazla ayrıldığında **hiçbir hesap değişmemiş olmasına rağmen** giriş durur.
Bir güven kökünün altında, güvenlikle ilgisi olmayan bir servis daha vardır.

Altıncı adım listedeki tek ters yönlü kanıttır: istemci karşı ucun gerçekten o servis olduğunu
doğrular. Bu adım isteğe bağlıdır ve atlandığında akış çalışmaya devam eder; kanıtlanmayan tek
iddia, istemcinin bağlandığı ucun kimliğidir. **Çalışan bir akış, kanıtlanmamış bir iddia
bırakabilir ve bunu hiçbir hata iletisi söylemez.**

## Bir Erişimin Zinciri

Kursun ikinci sütunu burada beş anahtar türünün tamamıyla doludur. Tek bir aslın tek bir servise
erişmesi için beş türün beşi de aynı anda doğru olmalıdır: kullanıcı anahtarı ilk adımı,
kök anahtar ikinciyi, birinci oturum anahtarı üçüncüyü, servis hesabı anahtarı dördüncüyü ve
ikinci oturum anahtarı beşinciyi tutar. Bunların yanına iki kalem daha eklenir — saat penceresi
ve adın asıla çözülmesi.

İkinci kalem ilk bakışta görünmez. İstemci bir servise bağlanırken elindeki ad üzerinden bilet
ister; bilet veren servis o adı bir asıla çevirir ve bileti o asılın hesap anahtarıyla üretir.
Ad ile asıl arasındaki eşleme dizinde durur ve **doğruluğu bu akış içinde hiçbir yerde
sınanmaz**. Yanlış eşlenmiş bir ad, doğru üretilmiş bir bileti yanlış servise götürür. Zincirin
yedi kaleminden yalnız beşi kriptografiktir; kalan ikisi bir kayıt ve bir saattir.

## Biletin İçindeki Yetki

Bilet kimliği taşır ama yalnız kimliği taşımaz. Hedef servis, aslın hangi gruplara üye olduğunu
öğrenmek için dizine ayrıca sormaz; bu bilgi biletin içine konur ve servis onu kabul eder.
Böylece bir erişim kararı, dizine hiç dokunmadan verilebilir ve önceki derste sayılan kesinti
bağımlılığı azalır.

Bunun bedeli, yetki verisinin **biletin ömrü kadar donmuş** olmasıdır. Bir asıl bir gruptan
çıkarıldığında elindeki bilet on saat daha eski üyeliği söylemeye devam eder; servis, iddiaya
inanmak için elinde başka bir kalem tutmadığından farkı göremez. Kimlik doğrulama ile
yetkilendirmenin ayrı katmanlar olduğu **Siber Güvenliğe Giriş** kursunda ölçülmüştü; burada
görülen, iki katmanın **aynı kanıt nesnesine** paketlenmesinin bir tazelik penceresi
ürettiğidir. Yetkinin geri alınması, kimliğin geri alınmasından on saat yavaştır.

## Kök: Tek Kalem, İki Yüz On Dört Asıl

İkinci tablo bu dersin merkezidir. Alanda 471 anahtar kalemi vardır ve bunların 428'i tek bir
asıl ya da tek bir oturumla sınırlı kapsam taşır. Bir kullanıcı anahtarı ele geçerse düşen asıl
sayısı birdir; bir oturum anahtarı ele geçerse düşen kalem yine birdir ve zaten on saat sonra
kendiliğinden değersizleşir.

Servis hesabı anahtarı sıçramayı gösterir: tek bir kalem, o servise yapılan **bütün** girişleri
kapsar; 214 aslın hepsi o servis için sahte biletle temsil edilebilir. Bilet veren servisin
anahtarı ise sınırın sonudur — tek kalem, 214 aslın 214'ü ve 21 servisin 21'i. Oran iki satırda
da tamdır.

Bunun nedeni KK6'dır ve mekanizmanın kusuru değil tasarımıdır. Bilet, taşıdığı iddiaların doğru
olduğunu bilet veren servisin anahtarıyla üretilmiş olmasına dayanarak söyler. O anahtarı bilen
taraf, herhangi bir asıl için herhangi bir servise geçerli bir bilet üretebilir ve bunu yapmak
için **hiçbir parolayı bilmesine gerek yoktur**. Böyle bir üretim, yazılı yetki ve tanımlı kapsam
olmadan yapıldığında hem yasadışı hem meslek dışıdır; burada ölçülen şey üretimin nasıl
yapıldığı değil, yapıldığı varsayıldığında düşen kalem sayısıdır.

Tabloda gizli kalan bir ayrıntı bu kökü daha da kırılgan yapar. Kök anahtar ayrıcalıklı bir
donanım biriminde üretilmiş bağımsız bir değer değildir; alandaki bir hesabın anahtarıdır ve o
hesabın parolasından türetilir. Yani 471 kalemin en geniş kapsamlısı, listedeki 214 kullanıcı
anahtarıyla **aynı türden** bir kalemdir ve dayanıklılığı, arkasındaki parolanın uzunluğuyla iş
çarpanının verdiği maliyet eğrisiyle sınırlıdır. O eğri **Kriptografi Temelleri** konusunda
ölçüldü ve burada doğrudan girdidir: kökün kapsamı en geniş, kökü koruyan mekanizma ise
kullanıcı hesaplarıyla aynıdır.

## Yenileme Penceresi

Üçüncü tablo KK7'yi sayıya çevirir. Kök anahtarın yenilenmesi tek bir değişiklik değildir. Eski
anahtar bir süre saklanmak zorundadır, çünkü dolaşımdaki biletler onunla üretilmiştir; ilk
değişiklikten sonra eski anahtar hâlâ geçerlidir. Gerçek yenileme **ikinci** değişikliktir ve
bunun için önce yayılmanın tamamlanması, sonra açık biletlerin süresinin dolması beklenir.

Pencere altı adımda birikir: iki yayılma turu sekiz saat, açık biletlerin sonu on saat, yenileme
biletlerinin sonu 158 saat. Toplam **176 saat**. Bu sürenin 158 saati tek bir ayardan gelir —
yenileme biletinin yedi günlük ömründen. Kök anahtarın yenilenme süresini belirleyen şey anahtarın
kendisi değil, **en uzun ömürlü kanıtın ömrüdür**; bilet ömrünü kısaltmadan pencere kısalmaz.

Elle dokunulan kalem sayısı 23'tür: kök anahtarın iki turu ve 21 servis hesabı anahtarının
denetimi. Dördüncü tablo bunun karşılığını verir. Kullanıcı anahtarlarının yenilenmesi 214 elle
kalem tutar ama her biri yalnız bir aslı durdurur; kök anahtarın yenilenmesi iki elle kalem
tutar ve 214 aslın hepsini birden durdurur. **Elle kalem sayısı ile durdurulan meşru iş, ters
yönlü iki ölçüdür ve yenileme planı ikincisine göre yapılır.**

Bu ters oran, yenilemenin neden ertelendiğini de açıklar. İki elle kalem küçük bir iştir; 214
aslın yedi güne yayılan kesintisi ise kurumun her ekibini durduran bir olaydır. Kök anahtarın
yenilenmesi tek başına teknik bir işlem değil, planlanmış bir kesintidir ve planlanmadığı sürece
yapılmayacaktır. Üçüncü sütun — yenilemenin ne tuttuğu — bu yüzden bir maliyet kalemi değil,
kökün ne sıklıkta gerçekten yenilendiğini belirleyen sayıdır. Yenilenmemiş bir kök, ele geçtiği
tarihten sonraki her bileti sessizce geçerli kılar ve tabloda yazılı 176 saat hiç harcanmaz.

## Özet

- Bilet tabanlı doğrulamada parola yalnız ilk adımda kullanılır; kalan beş adımda sunulan şey
  süreli bir kanıttır ve akış 6 adımda 6 ayrı iddia kanıtlar.
- Altıncı adım atlandığında akış çalışır ama istemcinin bağlandığı ucun kimliği kanıtsız kalır.
- Alandaki 471 anahtar kaleminin 428'i tek asıl ya da tek oturum kapsamındadır; kapsam sıçraması
  servis hesabı anahtarında başlar, bilet veren servisin anahtarında tamamlanır.
- Kök anahtar tek kalemdir ve ele geçtiğinde 214 aslın 214'ü ile 21 servisin 21'i düşer; bunun
  için hiçbir parola bilinmesi gerekmez.
- Kök anahtarı yenilemek iki tur, 23 elle kalem ve 176 saatlik pencere tutar; pencerenin 158
  saati en uzun ömürlü kanıtın ömründen gelir.

## Sonraki Adım

Bu ders bir aslın bir **servise** erişmesini ölçtü; erişimin başlayabilmesi için istemcinin ağa
çoktan bağlanmış olması gerekiyordu. Kurumsal ağlarda bu bağlantının kendisi de bir karar
noktasıdır: bir kablo takıldığında ya da bir aygıt kablosuz ağa katılmak istediğinde, ağ
donanımı kimliği kendisi doğrulamaz, merkezî bir doğrulama servisine sorar ve yanıta göre
bağlantıyı açar. Sonraki ders bunu erişim kararı cinsinden ölçer: kaç aygıt tek servise soruyor,
servis erişilemez olduğunda hangi geri düşme davranışı seçiliyor ve o davranışların her biri kaç
yol açıyor.
