---
title: 'Uçtan Uca Şifreleme Uygulamaları'
source: 'https://academia.sh/tr/kurslar/kimlik-ve-kriptografi/uctan-uca-sifreleme-uygulamalari'
course: 'Kimlik, Erişim ve Kriptografi'
language: tr
updated: '2026-08-17T18:08:37+00:00'
license: 'CC BY-SA 4.0'
---

# Uçtan Uca Şifreleme Uygulamaları

İçeriği kimin okuyabildiği sayılır: taşıma şifrelemesinde 10 katmanın 10'u da açık içeriği görüyor, uçtan uca şifrelemede 2'si; güvenilmesi gereken kalem 36'dan 4'e, açık görülen kayıt günde 30.930 binden 5.460 bine iniyor. Karşılığında 6 yetenek düşüyor, 4'ünün uç tarafında 16 kalemlik karşılığı var, 2'sinin yok; anahtarı yalnız uçta tutmak yılda 172.200 kaydı kurtarılamaz kılıyor ve emanet anahtarı okuyan katmanı 2'den 3'e çıkarıyor.

Önceki beş ders aynı şeyi korudu: bağlantıyı. Sertifika bir taşıma kanalının iki ucunu birbirine
bağlar ve kanal sonlandığında görevi biter. Kanalın sonlandığı yer ise çoğunlukla içeriğin
gideceği yer değildir. Kurgu ölçüm ağında bir sayaç kaydı saha terminalinden çıkar, şube ağ
geçidinden, ters vekilden, uygulama sunucusundan, kuyruktan, işleyiciden, veritabanından ve
yedekten geçip iş emri terminaline ulaşır. Her sıçramada kanal yeniden kurulur ve **her sıçrama
arasında içerik açıktır**.

Bu ders konuyu kapatırken soruyu içeriğin kendisine taşır. Ölçü birimi artık kalem değil, **kimin
okuyabildiğidir**: kaç aracı katman içeriği görüyor, anahtarın uçta durması kaç kalemi sunucudan
çekiyor ve karşılığında hangi yetenekler kayboluyor.

- **PK26.** Bir katmanın içeriği "okuması", içeriğin o katmanda açık biçimde bulunmasıdır. Taşıma
  şifrelemesinde kanal korunur, katmanın içi korunmaz.
- **PK27.** Güvenilmesi gereken kalem, bir katmanda içeriğe erişebilen ayrı bir yoldur: yönetici
  hesabı, disk, yedek kopya, günlük kaydı, hata ayıklama çıktısı. Sayılar kurgudur.
- **PK28.** Uçtan uca şifrelemede anahtar yalnız uçlarda bulunur; aradaki hiçbir katman içeriği
  çözemez, taşıdığını yine taşır.
- **PK29.** Aygıt kaybı oranı, aygıt başına kayıt sayısı ve kayıt hacimleri kurgu model
  değerleridir.
- **PK30.** Emanet anahtarı, uçların anahtarını çözebilen ayrı bir anahtardır ve kurumda bir yerde
  saklanır.

## İçeriği Kim Okuyor

Ölçüm iki ayarı aynı katman listesi üzerinde koşturuyor. Değişen tek şey anahtarın nerede durduğu;
katmanlar, hacimler ve yollar aynı kalıyor.

```js
// katman.mjs — icerigi goren katmanlarin ve kaybedilen yeteneklerin modeli. MODELDIR.
// Kurgu bolgesel olcum agi: katman listesi, hacimler, oranlar ve kalem sayilari uydurmadir.
export const KATMAN = [
  // ad, tur, gunde gordugu kayit (bin), guvenilmesi gereken kalem
  ["saha terminali", "uc", 4820, 2],
  ["sube ag gecidi", "araci", 4820, 3],
  ["ters vekil", "araci", 4820, 4],
  ["uygulama sunucusu", "araci", 4820, 5],
  ["kuyruk", "araci", 3100, 3],
  ["isleyici", "araci", 3100, 4],
  ["veritabani", "araci", 1960, 6],
  ["yedek ve arsiv", "araci", 1960, 4],
  ["gunluk toplayici", "araci", 890, 3],
  ["is emri terminali", "uc", 640, 2],
].map(([ad, tur, kayit, kalem]) => ({ ad, tur, kayit, kalem }));

export const YETENEK = [
  // ad, tasima sifrelemesinde var mi, uctan ucada karsiligi, karsiligin ek kalemi
  ["icerik uzerinde arama", true, "uc tarafinda dizin", 4],
  ["sunucu tarafi ozet uretimi", true, "uc tarafinda hesap", 3],
  ["aykirilik tespiti", true, "-", 0],
  ["icerik denetimi", true, "-", 0],
  ["anahtar kaybinda kurtarma", true, "kurtarma anahtari emaneti", 5],
  ["yeni cihazdan gecmise erisim", true, "anahtar aktarimi", 4],
];

// Uctan uca sifreleme icerigi kapatir; ustveri alanlari acik kalir.
export const USTVERI = ["gonderen uc", "alici uc", "zaman damgasi", "kayit boyutu",
  "gonderim sikligi"];

export const AYGIT = 4100;        // sayac ucu ve saha terminali toplami (kurgu)
export const KAYIP_ORAN = 0.03;   // yillik aygit kaybi orani (kurgu)
export const AYGIT_KAYIT = 1400;  // aygitta duran, baska yerde cozulemeyen kayit (kurgu)

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

```js
// okuyan.mjs — icerigi kimin okudugu, cekilen kalem ve kaybedilen yetenek
import { KATMAN, YETENEK, USTVERI, AYGIT, KAYIP_ORAN, AYGIT_KAYIT, yaz } from "./katman.mjs";

const top = (l, f) => l.reduce((t, x) => t + f(x), 0);
const ARACI = KATMAN.filter((k) => k.tur === "araci");
const UC = KATMAN.filter((k) => k.tur === "uc");

const y1 = yaz([22, 10, 16, 14, 14]);
console.log(`${KATMAN.length} katman: ${UC.length} uc, ${ARACI.length} araci`);
console.log("\n" + y1(["katman", "tur", "kayit(bin/gun)", "tasimada", "uctan ucada"]));
for (const k of KATMAN)
  console.log(y1([k.ad, k.tur, k.kayit, "okur", k.tur === "uc" ? "okur" : "okuyamaz"]));

const y2 = yaz([26, 12, 16, 18, 14]);
console.log("\n" + y2(["olcu", "tasimada", "uctan ucada", "sunucudan cekilen", "oran"]));
const olcu = [
  ["icerigi goren katman", KATMAN.length, UC.length],
  ["guvenilmesi gereken kalem", top(KATMAN, (k) => k.kalem), top(UC, (k) => k.kalem)],
  ["acik goren kayit (bin/gun)", top(KATMAN, (k) => k.kayit), top(UC, (k) => k.kayit)],
];
for (const [ad, a, b] of olcu)
  console.log(y2([ad, a, b, a - b, `${((1 - b / a) * 100).toFixed(0)}%`]));

// Kaybedilen yetenek ve uc tarafindaki karsiliginin bedeli.
const y3 = yaz([32, 30, 12]);
console.log("\n" + y3(["yetenek", "uctan ucada karsiligi", "ek kalem"]));
for (const [ad, , karsilik, kalem] of YETENEK) console.log(y3([ad, karsilik, kalem]));
const karsiligiYok = YETENEK.filter(([, , k]) => k === "-").length;
console.log(y3(["toplam", `${YETENEK.length - karsiligiYok} karsilik, ${karsiligiYok} yok`,
  top(YETENEK, ([, , , n]) => n)]));

// Anahtar ucta durdugunda: kaybolan aygit, kurtarilamayan kayit.
const kayipAygit = Math.round(AYGIT * KAYIP_ORAN);
console.log(`\naygit ${AYGIT}, yillik kayip orani ${KAYIP_ORAN * 100}% -> ` +
  `${kayipAygit} aygit (kurgu)`);
console.log(`sunucu tarafinda anahtar: kurtarilamayan kayit 0`);
console.log(`anahtar yalniz ucta: kurtarilamayan kayit ` +
  `${kayipAygit * AYGIT_KAYIT} (${kayipAygit} aygit x ${AYGIT_KAYIT})`);
const emanet = YETENEK.find(([a]) => a === "anahtar kaybinda kurtarma")[3];
console.log(`kurtarma anahtari emaneti: kurtarilamayan kayit 0, ek kalem ${emanet}, ` +
  `icerigi okuyabilen katman ${UC.length} -> ${UC.length + 1}`);

console.log(`\nuctan uca sifrelemeden sonra acik kalan ustveri alani: ${USTVERI.length}`);
for (const u of USTVERI) console.log(`  ${u}`);
```

```
10 katman: 2 uc, 8 araci

katman                       tur  kayit(bin/gun)      tasimada   uctan ucada
saha terminali                uc            4820          okur          okur
sube ag gecidi             araci            4820          okur      okuyamaz
ters vekil                 araci            4820          okur      okuyamaz
uygulama sunucusu          araci            4820          okur      okuyamaz
kuyruk                     araci            3100          okur      okuyamaz
isleyici                   araci            3100          okur      okuyamaz
veritabani                 araci            1960          okur      okuyamaz
yedek ve arsiv             araci            1960          okur      okuyamaz
gunluk toplayici           araci             890          okur      okuyamaz
is emri terminali             uc             640          okur          okur

olcu                          tasimada     uctan ucada sunucudan cekilen          oran
icerigi goren katman                10               2                 8           80%
guvenilmesi gereken kalem           36               4                32           89%
acik goren kayit (bin/gun)       30930            5460             25470           82%

yetenek                                  uctan ucada karsiligi    ek kalem
icerik uzerinde arama                       uc tarafinda dizin           4
sunucu tarafi ozet uretimi                  uc tarafinda hesap           3
aykirilik tespiti                                            -           0
icerik denetimi                                              -           0
anahtar kaybinda kurtarma            kurtarma anahtari emaneti           5
yeni cihazdan gecmise erisim                  anahtar aktarimi           4
toplam                                       4 karsilik, 2 yok          16

aygit 4100, yillik kayip orani 3% -> 123 aygit (kurgu)
sunucu tarafinda anahtar: kurtarilamayan kayit 0
anahtar yalniz ucta: kurtarilamayan kayit 172200 (123 aygit x 1400)
kurtarma anahtari emaneti: kurtarilamayan kayit 0, ek kalem 5, icerigi okuyabilen katman 2 -> 3

uctan uca sifrelemeden sonra acik kalan ustveri alani: 5
  gonderen uc
  alici uc
  zaman damgasi
  kayit boyutu
  gonderim sikligi
```

İlk tablonun dördüncü sütunu bütünüyle aynı değeri taşıyor: taşıma şifrelemesinde on katmanın onu
da içeriği okur. Bu, taşıma şifrelemesinin bir eksikliği değil, tanımıdır — kanal korunur, kanalın
bittiği yerde içerik açılır. Kayıt bir sıçramada şifrelenir, ertesi sıçramada yeniden şifrelenir
ve ikisinin arasında bir sürecin belleğinde açık biçimde durur.

Özet tablosu üç ölçüyü yan yana koyuyor. İçeriği gören katman ondan **ikiye**, güvenilmesi gereken
kalem otuz altıdan **dörde**, açık görülen kayıt hacmi günde 30.930 bin'den 5.460 bine iniyor. En
büyük düşüş kalem sütunundadır ve nedeni belirgin: bir katmanın içeriği görmesi tek bir yol değil,
o katmandaki her erişim yoludur. Veritabanı satırı altı kalem taşıyor — yönetici hesabı, disk,
yedek, günlük ve iki tanesi daha; uçtan uca şifreleme bunların altısını birden kapatır, çünkü
katmanda çözecek anahtar yoktur.

Tablonun sekiz aracı satırı eşit ağırlıkta değil. Yedek ve arşiv katmanı günde yalnız 1.960 bin
kayıt görüyor, ötekilerin çoğundan az; buna karşılık gördüğü kaydı **saklar**. Bir kayıt kuyrukta
saniyeler, işleyicide milisaniyeler durur; yedekte yıllarca durur. Katman sayımı bu farkı
göstermez, çünkü sayım bir anı ölçer. Aynı sayının zaman boyutuyla birlikte okunması gerekir: on
katmanın sekizi içeriği görür, ama içeriği **biriktiren** katman birdir ve orada biriken şey,
şifrelemesi bugün değiştirilse bile geçmişe dönük olarak açık kalır.

Ölçünün mantığı bu satırda görünüyor. Sunucu tarafındaki bir denetimi sıkılaştırmak o katmandaki
kalem sayısını azaltır; anahtarı uca taşımak katmanı **denklem dışına çıkarır**. Birincisi kalemi
küçültür, ikincisi sıfırlar. İkinci dersteki kök sayımıyla aynı biçimin tersidir bu: orada tek kök
kalemleri kendinde topluyordu, burada anahtar kalemleri uçlara dağıtıyor.

## Anahtarı Uca Taşımanın Bedeli

İkinci tablo kaybedilenleri yazıyor. Altı yeteneğin dördünün uç tarafında bir karşılığı var ve bu
karşılıklar toplam **on altı kalem** ekliyor. Karşılıkların hepsi aynı işi yapmıyor: içerik
üzerinde arama uç tarafında bir dizin kurmayı gerektirir, ama o dizin yalnız o uçtaki kayıtları
kapsar — sunucu tarafındaki arama bütün kayıtlar üzerindeydi. Karşılık bir yerine geçme değil, bir
daralmadır.

İki yeteneğin karşılığı yok. Aykırılık tespiti ve içerik denetimi, tanımı gereği içeriği okumayı
gerektirir; okuyamayan bir katman bunları yapamaz. Bu iki satır uçtan uca şifrelemenin karar
niteliğini gösteriyor: kapatılan sekiz katman, yalnız istenmeyen erişimi değil, **istenen erişimi
de** kapatır. Kurgu ölçüm ağında bunun karşılığı, bozuk bir sayacın ürettiği aykırı kaydın
toplayıcıda değil ancak uçta ya da varış noktasında fark edilmesidir.

Modelin ölçmediği bir ara durum da var. Buradaki iki ayar uçları birbirine karşıt koyuyor:
içeriğin tamamı ya açıktır ya kapalıdır. Uygulamada karar çoğunlukla alan bazında verilir — bir
kaydın abone kimliği kapatılırken sayaç okuma değeri açık bırakılabilir. O durumda kapatılan
katman sayısı aynı kalır ama her katmanın gördüğü **alan** sayısı düşer ve karşılığında sunucu
tarafı işleme, açık bırakılan alanlar üzerinde çalışmaya devam eder. Ölçünün birimi o zaman katman
değil, katman ile alanın çarpımı olur; bu dersin tablosu o çarpımın iki uç değerini verir.

Üçüncü bölüm en sert bedeli veriyor. Anahtar yalnız uçta durduğunda kaybolan bir aygıt, üzerindeki
kayıtları da götürür: yılda 123 aygıt ve **172.200 kurtarılamayan kayıt**. Sunucu tarafında anahtar
tutulduğunda bu sayı sıfırdır, çünkü çözebilen bir taraf her zaman vardır. Uçtan uca şifrelemenin
gücü ile bu kaybın nedeni aynı şeydir; biri olmadan öteki de olmaz.

## Emanetin Geri Açtığı Katman

Kaybı sıfırlamanın bilinen yolu emanet anahtarıdır: uçların anahtarını çözebilen ayrı bir anahtar,
kurumda bir yerde saklanır. Kurtarılamayan kayıt sıfıra iner ve beş kalem eklenir. Ölçüm ise başka
bir sütunda değişiyor: içeriği okuyabilen katman ikiden **üçe** çıkıyor.

Bu üçüncü katman ötekilere benzemiyor. Aracı katmanların her biri yalnız kendi gördüğü hacmi
okurdu — kuyruk günde 3.100 bin kaydı, günlük toplayıcı 890 bini. Emanet anahtarı ise ayrım
yapmaz; uçların şifrelediği **her** kaydı çözebilir. Sekiz katmanı kapatan bir karar, bir kalem
karşılığında hepsinden geniş bir katman açar. Bu, kursun ölçü ekseninin tam da tanımıdır: emanet
anahtarı yeni bir güven köküdür ve kırıldığında düşen kalem sayısı, kapattığı sekiz katmanın
toplamından büyüktür.

Bu kökü tek bir yerde tutmamanın yolu vardır: anahtar paylara bölünür ve çözmek için payların
belirli bir sayısı bir araya getirilir. Bu, kırılma için gereken kalem sayısını birden pay
eşiğine çıkarır ve kalem sütununa aynı sayıda bakım işi ekler — pay saklama, pay yenileme, pay
sahiplerinin devri. Ölçü değişmez, yalnız kökün altına bir zincir daha girer ve o zincirin de
kalemleri sayılır.

Emanet anahtarı yanlış bir karar değildir; ölçülmemiş bir karar olduğunda yanlıştır. Ölçüldüğünde
soru "emanet olsun mu" değil, "bu kök nerede duruyor, kaç kişi ona ulaşabiliyor ve kırıldığında ne
düşüyor" olur — ikinci dersin sorduğu sorunun aynısı, farklı bir kalem üzerinde.

Kalan iki uç da sayımın dışında değil. Uçtan uca şifrelemeden sonra güvenilmesi gereken dört kalem
duruyor ve dördü de uç aygıtların üzerinde: aygıtın diski ve o aygıta erişebilen hesap. Sekiz
aracı katman kapatıldığında koruma ortadan kalkmaz, **yer değiştirir** — içeriğin okunabildiği tek
yer artık uç aygıtın kendisidir. Bu, ilk bakışta bir kazançtır, çünkü dört kalem otuz altıdan
küçüktür; ikinci bakışta bir yoğunlaşmadır, çünkü o dört kalemin tuttuğu şey artık başka hiçbir
katmanda yedeklenmiyor. Kurgu ölçüm ağında bir saha terminaline erişebilen taraf, o terminalin
gördüğü günde 4.820 bin kaydın tamamını okur ve zincirdeki hiçbir denetim bunu görmez; sertifika
geçerlidir, imza doğrudur, el sıkışma tamdır.

Son çıktı bloğu bir sınırı yazıyor. Uçtan uca şifreleme içeriği kapatır, **ilişkiyi kapatmaz**:
gönderen uç, alıcı uç, zaman damgası, kayıt boyutu ve gönderim sıklığı aracı katmanlarda açık
kalır, çünkü kaydı yönlendirmek için gereklidirler. Beş alanlık bu üstveri kümesi, bir sayacın ne
zaman ve hangi sıklıkta veri gönderdiğini, hangi terminale iş emri açıldığını ve hangi uçların
birbiriyle konuştuğunu görünür bırakır. Bir sayacın gönderim sıklığındaki değişim, kaydın içeriği
hiç okunmadan bir arıza ya da bir müdahale işareti olarak okunabilir; aynı görünürlük, aracı
katmanların hâlâ ne kadar şey bildiğini de gösterir. İçeriğin okunamaması, hakkında hiçbir şey
bilinememesi anlamına gelmez.

## Özet

- Taşıma şifrelemesinde 10 katmanın 10'u da içeriği okur; bu bir eksiklik değil tanımdır — kanal
  korunur, kanalın bittiği yerde içerik açılır.
- Uçtan uca şifreleme içeriği gören katmanı 10'dan 2'ye, güvenilmesi gereken kalemi 36'dan 4'e
  (%89), açık görülen kaydı günde 30.930 binden 5.460 bine indirir. Denetim sıkılaştırmak kalemi
  küçültür, anahtarı uca taşımak katmanı denklem dışına çıkarır.
- Karşılığında 6 yetenek düşer: 4'ünün uç tarafında 16 kalemlik bir karşılığı vardır ve bu
  karşılıklar daha dar kapsamlıdır; aykırılık tespiti ile içerik denetiminin karşılığı yoktur,
  çünkü ikisi de içeriği okumayı gerektirir.
- Anahtar yalnız uçta durduğunda yılda 123 kayıp aygıt 172.200 kaydı kurtarılamaz kılar; sunucu
  tarafında anahtar tutulduğunda bu sayı 0'dır. Güç ile kayıp aynı özelliğin iki yüzüdür.
- Emanet anahtarı kaybı sıfırlar, 5 kalem ekler ve okuyabilen katmanı 2'den 3'e çıkarır; bu
  katman, kapatılan 8 katmanın hiçbirinin görmediği kadar geniş görür. Üstveri ise açık kalır:
  içerik kapansa da 5 alan görünmeye devam eder.

## Sonraki Adım

Bu konu bir soruyla açılmıştı: imza bütünlüğü kanıtlıyor, ama doğrulamada kullanılan açık anahtarın
kime ait olduğunu ne kanıtlıyor. Altı ders o soruyu bir zincire bağladı — alanların taşıdığı
iddialar, kökün taşıdığı kalemler, iptalin öğrenme penceresi, el sıkışmanın kimlik adımları,
yenilemenin takvimi ve anahtarın uçta durmasının bedeli sayıldı. Anahtarın kime ait olduğu artık
adlandırılmış bir köke dayanıyor.

Açıkta kalan şey adın kendisidir. Bir kalemin öznesinde `saha-terminali-17` yazması o terminali
kimin kullandığını, o kişinin hangi rolde olduğunu, hangi kayıtlara erişebileceğini ve bu kararın
binlerce makinede nasıl uygulanacağını söylemez. Kurum içinde kimin kim olduğu, kimin neye
erişebildiği ve bunun tek tek makinelerde nasıl dayatıldığı hiç ölçülmedi. Sonraki konu
**Kurumsal Kimlik** bu üç soruyu alır: kimliğin merkezî olarak nerede tutulduğu, o merkez
kırıldığında kaç uygulamanın düştüğü ve politikanın kaç makineye kaç turda ulaştığı.
