Microsoft PKI’de Cryptographic Provider Seçimi: CSP, KSP, TPM ve HSM Rehberi
Bir PKI altyapısı tasarlanırken genellikle Root CA, Enterprise CA, sertifika şablonları ve hash algoritmaları üzerinde durulur. Ancak çoğu zaman gözden kaçan kritik bir bileşen vardır: Cryptographic Provider (Kriptografik Sağlayıcı).
Bir sertifikanın güvenliği yalnızca kullandığı RSA veya ECC anahtarından ibaret değildir. Anahtarın nerede üretildiği, nasıl saklandığı ve hangi sağlayıcı tarafından yönetildiği de güvenlik seviyesini doğrudan etkiler. İşte bu noktada Cryptographic Provider’lar devreye girer.
Bu yazıda Microsoft PKI dünyasında kullanılan CSP, KSP, TPM ve HSM kavramlarını detaylı şekilde inceleyeceğiz.
Cryptographic Provider Nedir?
Cryptographic Provider, kriptografik anahtarların oluşturulmasını, saklanmasını ve kullanılmasını sağlayan bileşendir.
Başlıca görevleri:
- Anahtar üretmek
- Anahtarları korumak
- Şifreleme işlemleri yapmak
- Dijital imza oluşturmak
- Hash işlemlerini gerçekleştirmek
olarak özetlenebilir.
Bir PKI ortamında oluşturulan her sertifika aslında belirli bir provider kullanılarak üretilir.
Microsoft PKI’de Tarihsel Gelişim
Microsoft’un ilk PKI sürümlerinde Cryptographic Service Provider (CSP) mimarisi kullanılıyordu.
Ancak zamanla:
- Daha güçlü algoritma desteği
- Daha güvenli anahtar saklama
- TPM entegrasyonu
- ECC desteği
gibi ihtiyaçlar ortaya çıktı.
Bu nedenle Microsoft, Windows Vista ile birlikte Cryptography Next Generation (CNG) mimarisine geçiş yaptı.
CSP ve KSP Arasındaki Fark
CSP (Cryptographic Service Provider)
Eski nesil mimaridir.
Özellikleri:
- CryptoAPI (CAPI) kullanır.
- RSA ağırlıklıdır.
- Modern algoritma desteği sınırlıdır.
- Legacy uygulamalar için kullanılır.
KSP (Key Storage Provider)
Modern mimaridir.
Özellikleri:
- CNG altyapısını kullanır.
- ECC desteği vardır.
- TPM entegrasyonu destekler.
- Daha güvenlidir.
- Yeni PKI projelerinde önerilir.
Microsoft’un güncel tavsiyesi KSP kullanılması yönündedir.
Sistemdeki Provider’ları Listeleme
Tüm provider’ları görmek için:
certutil -csplist
komutu kullanılabilir.
Bu komut sistemdeki tüm CSP ve KSP’leri listeler.
Modern Microsoft Cryptographic Provider’lar
Microsoft günümüzde aşağıdaki provider’ların kullanılmasını önermektedir.
Microsoft Software Key Storage Provider
En yaygın kullanılan sağlayıcıdır.
Özellikleri:
- Yazılım tabanlıdır.
- RSA ve ECC destekler.
- Windows ile yerleşik gelir.
- Ek donanım gerektirmez.
Microsoft PKI kurulumlarında varsayılan seçimdir.
Ne Zaman Kullanılmalı?
- Root CA
- Enterprise CA
- Web Server Sertifikaları
- NPS Sertifikaları
- SCCM Sertifikaları
- VPN Sertifikaları
gibi çoğu senaryoda kullanılabilir.
Microsoft Smart Card Key Storage Provider
Akıllı kart tabanlı anahtar yönetimi için geliştirilmiştir.
Özellikleri:
- Smart Card desteği
- PIN koruması
- Fiziksel güvenlik
sunmaktadır.
Ancak kullanılabilecek algoritmalar kart üreticisine göre değişebilir.
Kullanım Senaryoları
- Smart Card Logon
- PIV Kartları
- Kurumsal Kimlik Kartları
Microsoft Platform Crypto Provider
Anahtarları doğrudan TPM üzerinde saklayabilir.
Özellikleri:
- TPM entegrasyonu
- Donanım tabanlı koruma
- Yazılımsal saldırılara karşı direnç
sağlar.
Avantajları
Özel anahtar TPM dışına çıkarılamaz.
Bu nedenle:
- Key Theft
- Credential Dumping
- Malware
gibi saldırılara karşı koruma sağlar.
Dezavantajları
CA sunucuları için dikkatli kullanılmalıdır.
Çünkü:
- TPM arızalanabilir.
- Private Key export edilemeyebilir.
- Disaster Recovery süreçleri zorlaşabilir.
Özellikle CA sunucularında kullanmadan önce yedekleme ve geri dönüş senaryoları test edilmelidir.
Microsoft Passport Key Storage Provider
Bu provider çoğunlukla:
- Windows Hello for Business
- Windows Passport
tarafından kullanılır.
Anahtarları:
- Yazılım tabanlı
- TPM tabanlı
olarak saklayabilir.
Kullanılmaması Tavsiye Edilen Provider’lar
Microsoft tarafından doğrudan kaldırılmamış olsalar da artık modern PKI projelerinde tercih edilmemelidir.
Örnekler:
- Microsoft Base Cryptographic Provider v1.0
- Microsoft Strong Cryptographic Provider
- Microsoft Enhanced Cryptographic Provider v1.0
- Microsoft Enhanced RSA and AES Cryptographic Provider
- Microsoft RSA SChannel Cryptographic Provider
- Microsoft Base Smart Card Crypto Provider
Bu provider’lar eski CryptoAPI mimarisine dayanır ve yeni projelerde önerilmez.
HSM (Hardware Security Module) Nedir?
HSM, kriptografik anahtarları korumak için tasarlanmış özel donanımlardır.
Bir HSM’nin temel amacı:
- Private Key’i cihaz dışına çıkarmamak
- Kriptografik işlemleri donanım üzerinde gerçekleştirmek
- Fiziksel müdahalelere karşı koruma sağlamak
olarak özetlenebilir.
HSM’in Avantajları
Maksimum Güvenlik
Private Key donanım dışına çıkamaz.
Sertifikasyon
Birçok HSM:
- FIPS 140-2
- FIPS 140-3
sertifikalarına sahiptir.
Regülasyon Uyumluluğu
Aşağıdaki sektörlerde sıklıkla zorunludur:
- Bankacılık
- Kamu
- Savunma Sanayi
- Telekom
Donanımsal Koruma
Yazılımsal saldırılarla anahtarın ele geçirilmesi oldukça zordur.
HSM Kullanılmalı mı?
Mümkünse her zaman HSM kullanın
Özellikle:
- Offline Root CA
- Kamu SM benzeri yapılar
- Finans kuruluşları
için HSM kullanımı güvenlik seviyesini ciddi ölçüde artırmaktadır.
Provider Bilgilerini Görüntüleme
Bir sertifikanın hangi provider ile oluşturulduğunu görmek için:
certutil -verifystore my
Kullanıcı sertifikaları için:
certutil -user -verifystore my
komutları kullanılabilir.
Provider’ın Desteklediği Algoritmaları Görüntüleme
Tüm yetenekleri listelemek için:
certutil -csptest
Belirli bir provider için:
certutil -csp "Microsoft Software Key Storage Provider" -csptest
Bu komut:
- Desteklenen algoritmalar
- Maksimum RSA uzunluğu
- ECC desteği
- Hash algoritmaları
gibi bilgileri gösterir.
Anahtarları Listeleme
Bir provider tarafından korunan anahtarları görmek için:
certutil -csp "Microsoft Software Key Storage Provider" -key
Kullanıcı deposu için:
certutil -user -csp "Microsoft Software Key Storage Provider" -key
komutları kullanılabilir.
Private Key Silme
Bazı durumlarda private key’in tamamen silinmesi gerekebilir.
Örnek:
certutil -user -csp "Microsoft Software Key Storage Provider" -delkey "<KeyContainer>"
Bu işlem sonrasında sertifika private key ile ilişkisini kaybeder ve kullanılamaz hale gelir.
Microsoft PKI İçin Tavsiye Edilen Provider Seçimi
Root CA
Tercih sırası:
- HSM
- Microsoft Software Key Storage Provider
Enterprise CA
Tercih sırası:
- HSM
- Microsoft Software Key Storage Provider
Smart Card Projeleri
Tercih:
- Microsoft Smart Card Key Storage Provider
Windows Hello for Business
Tercih:
- Microsoft Passport Key Storage Provider
TPM Tabanlı Güvenlik
Tercih:
- Microsoft Platform Crypto Provider
Cryptographic Provider seçimi, PKI tasarımında genellikle göz ardı edilen ancak güvenliği doğrudan etkileyen kritik kararlardan biridir.
Modern Microsoft PKI ortamlarında:
- Legacy CSP’lerden kaçınılmalı,
- CNG tabanlı KSP’ler tercih edilmeli,
- Mümkünse HSM kullanılmalı,
- Standart kurumsal senaryolarda Microsoft Software Key Storage Provider kullanılmalıdır.
Özellikle yeni kurulacak Active Directory Certificate Services (AD CS) projelerinde RSA 4096 + SHA-256 + Microsoft Software Key Storage Provider (veya HSM) kombinasyonu günümüzde en güvenli ve en uyumlu mimarilerden biri olarak kabul edilmektedir.










Eline sağlık.