Blog

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ı:

  1. HSM
  2. Microsoft Software Key Storage Provider

Enterprise CA

Tercih sırası:

  1. HSM
  2. 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.

İlgili Makaleler

Bir yanıt yazın

Başa dön tuşu