Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
9 yazı bulundu
Geliştirici için Kriptografi Haritası: Gizlilik, Bütünlük, Kimlik Doğrulama ve .NET'in Provider Modeli
Güvenlik SERİ 01

Geliştirici için Kriptografi Haritası: Gizlilik, Bütünlük, Kimlik Doğrulama ve .NET'in Provider Modeli

Kripto kodunda başlangıç noktası algoritma değil hedeftir: gizlilik encryption, bütünlük MAC, inkâr edilemezlik digital signature ister ve .NET bu primitive'leri işletim sisteminin kütüphanesinden (CNG, OpenSSL, Apple) alır. Hedef, primitive ve .NET tipi haritasını çıkarıyor, IsSupported ile platform desteğini açılışta kontrol ediyor, one-shot API'leri, FixedTimeEquals ve ZeroMemory'yi gerçek çıktılarla gösteriyoruz.

14 Kas 2026 15 dk 1
Hash, HMAC ve Key Derivation: SHA-2, SHA-3, HMAC, HKDF ve Hangisi Ne Zaman
Güvenlik SERİ 02

Hash, HMAC ve Key Derivation: SHA-2, SHA-3, HMAC, HKDF ve Hangisi Ne Zaman

Bir mesajın anahtarı bilen tarafça üretildiğini kanıtlamak için SHA256(secret + mesaj) değil HMAC kullanılır, çünkü SHA-2 length extension'a açıktır; anahtarlar ise tek bir master key'den HKDF ile amaca özel türetilir. Hash'in üç garantisini, SHA-2 ile SHA-3 seçimini, Bookstore'un ödeme webhook'unu HMAC, timestamp penceresi, FixedTimeEquals ve secret rotasyonuyla doğrulamayı, HKDF'i, Argon2id seçeneklerini ve encoding tuzaklarını gerçek çıktılarla anlatıyoruz.

14 Kas 2026 14 dk 1
Symmetric Encryption ve AEAD: AES-GCM, ChaCha20-Poly1305, Nonce Yönetimi ve Envelope Encryption
Güvenlik SERİ 03

Symmetric Encryption ve AEAD: AES-GCM, ChaCha20-Poly1305, Nonce Yönetimi ve Envelope Encryption

Bir alanı bugün doğru şifrelemek için AES-GCM gibi bir AEAD modu, her şifrelemede yeni bir nonce ve şifreli değeri bağlamına bağlayan associated data gerekir; anahtar rotasyonu için de versiyonlu bir format ve envelope encryption. ECB ve CBC'nin sorunlarını, nonce sınırını, AES-KWP ile DEK sarmayı, Bookstore'un Customer.Phone alanını EF Core value converter ve blind index ile şifrelemeyi ve Always Encrypted karşılaştırmasını gerçek çıktılarla anlatıyoruz.

14 Kas 2026 16 dk 1
Asymmetric Kriptografi: RSA-OAEP, Elliptic Curve, ECDH Key Agreement ve Hybrid Encryption
Güvenlik SERİ 04

Asymmetric Kriptografi: RSA-OAEP, Elliptic Curve, ECDH Key Agreement ve Hybrid Encryption

Daha önce hiç anahtar paylaşmadığın bir tarafa veri şifrelemek için hybrid encryption kullanılır: alıcının public key'i yalnız simetrik anahtarı taşır, veriyi AES-GCM şifreler. RSA'da OAEP'in neden zorunlu olduğunu, 190 byte sınırını, elliptic curve'lerin küçük anahtarlarını, ECDH ortak sırrının neden HKDF'ten geçmesi gerektiğini, PEM ve şifreli PKCS#8'i ve Bookstore'un tedarikçiye giden satın alma siparişi dosyasını gerçek çıktılarla anlatıyoruz.

14 Kas 2026 13 dk 1
Digital Signature: RSA-PSS, ECDSA, Doğrulama ve İmzalı Lisans Dosyası
Güvenlik SERİ 05

Digital Signature: RSA-PSS, ECDSA, Doğrulama ve İmzalı Lisans Dosyası

Doğrulayan tarafın imzalayamaması gerekiyorsa, örneğin müşterinin sunucusunda çalışan bir lisans kontrolünde, MAC değil digital signature kullanılır: private key imzalar, uygulamaya giden public key yalnız doğrular. RSA-PSS ile PKCS#1 v1.5'i, ECDSA'da nonce'un önemini, P1363 ve DER formatlarını, canonicalization sorununu, Bookstore'un keyId ile döndürülebilen imzalı lisans dosyasını ve Ed25519'un .NET'teki durumunu gerçek çıktılarla anlatıyoruz.

14 Kas 2026 12 dk 1
X.509 ve PKI Geliştirici Gözüyle: Sertifika Yükleme, Chain Doğrulama ve ASP.NET Core'da mTLS
Güvenlik SERİ 06

X.509 ve PKI Geliştirici Gözüyle: Sertifika Yükleme, Chain Doğrulama ve ASP.NET Core'da mTLS

Bir sertifikaya güvenmek için zinciri kendi trust anchor'ına kadar doğrulamak, EKU'yu ve host adını ayrıca kontrol etmek gerekir; chain geçerli olsa bile ad uyuşmazlığını X509Chain değil MatchesHostname yakalar. X509CertificateLoader, .NET 10'un SHA-256 thumbprint araması ve PKCS#12 algoritma seçimi, CustomRootTrust ile doğrulama ve Bookstore servisleri arasında SAN tabanlı mTLS'i gerçek çıktılar ve testlerle kuruyoruz.

14 Kas 2026 13 dk 1
TLS'in İçi: Record Layer, Key Schedule, Forward Secrecy ve .NET'te SslStream Ayarları
Güvenlik SERİ 07

TLS'in İçi: Record Layer, Key Schedule, Forward Secrecy ve .NET'te SslStream Ayarları

Kaydedilmiş TLS 1.3 trafiği sunucunun private key'iyle çözülemez, çünkü trafik anahtarları her bağlantıda yeni X25519 key exchange'inden HKDF ile türetilir. Key schedule'ı RFC 8448 test vektörleriyle doğruluyor, record layer'daki AES-GCM'i, .NET'in SSLKEYLOGFILE desteğiyle kendi trafiğimizi çözmeyi, resumption ve 0-RTT riskini, EnabledSslProtocols ve CipherSuitesPolicy ayarlarını gerçek çıktılarla gösteriyoruz.

14 Kas 2026 12 dk 1
Post-Quantum Kriptografi: ML-KEM, ML-DSA, SLH-DSA, Hybrid Yaklaşım ve Crypto Agility
Güvenlik SERİ 08

Post-Quantum Kriptografi: ML-KEM, ML-DSA, SLH-DSA, Hybrid Yaklaşım ve Crypto Agility

Uzun süre gizli kalması gereken veri bugün kaydedilip kuantum bilgisayarla sonra çözülebileceği için RSA ve ECC'ye dayanan key exchange'i şimdiden hybrid ML-KEM'e taşımak gerekir; AES ve SHA-2 bu geçişin dışındadır. NIST IR 8547'nin 2030/2035 takvimini, .NET 10'un MLKem, MLDsa, SlhDsa ve CompositeMLDsa API'lerini, OpenSSL 3.5 ile gelen X25519MLKEM768 TLS grubunu ve Bookstore'un hybrid sipariş envelope'unu gerçek çıktılarla gösteriyoruz.

14 Kas 2026 12 dk 1
.NET Framework'ten .NET 11'e Kriptografi API'leri: Obsolete Tipler, Yeni One-shot API'ler ve Eski Kodu Okumak
Güvenlik SERİ 09

.NET Framework'ten .NET 11'e Kriptografi API'leri: Obsolete Tipler, Yeni One-shot API'ler ve Eski Kodu Okumak

Eski kripto kodunu yeni API'lere taşırken uyarıları düzeltmek yetmez; eski constructor'ların gizli varsayılanlarını (SHA-1, 1000 iterasyon, CBC) açıkça yazmazsan arşivdeki veri açılmaz. SYSLIB0021'den SYSLIB0060'a uyarıları, davranışı koruyan taşımayı, .NET 5'ten 10'a gelen API'leri ve .NET 11'in X25519, RFC 3394 AES Key Wrap, HMACSHA256.Verify, HPKE ve composite ML-KEM eklemelerini gerçek çıktılarla gösteriyoruz.

14 Kas 2026 11 dk 1
Blog Haritası