2009-08-07 14 views
18

Key Containers in .NET hakkında asimetrik kriptografi ve dijital imza için özel bir anahtar saklamak için güvenli bir yer olarak okuyordum.Anahtar Kapları, özel anahtarları saklamak için yeterince güvenli mi?

Sorum şu: Anahtar Kapsayıcı ne kadar güvenli?

// Create the CspParameters object and set the key container 
// name used to store the RSA key pair. 
CspParameters cp = new CspParameters(); 
cp.KeyContainerName = ContainerName; 

// Create a new instance of RSACryptoServiceProvider that accesses 
// the key container MyKeyContainerName. 
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp); 

// Display the key information to the console. 
Console.WriteLine("Key retrieved from container : \n {0}", rsa.ToXmlString(true)); 

Are Anahtar Konteynerler özel anahtarlar depolamak için güvenli bir yer: Ben anahtar kapsayıcı adını biliyorsanız ben öğrendim çünkü o zaman ben şu kullanarak özel anahtarı almak mümkün olacak?

cevap

15

Bu gerçekten gereksinimlerinize bağlıdır.

RSACryptoServiceProvider'ın arkasındaki anahtar deposu gerçekten CryptoAPI anahtar deposudur. Buradaki tuşlar, kullanıcı kimlik bilgileri (kullanıcı deposu kullanılıyorsa) veya makine kimlik bilgileri (makine deposu kullanılıyorsa) altında korunan dosya sisteminde saklanır. Bu, uygun kimlik bilgilerine erişimi olan bir saldırganın özel anahtarı ayıklayabileceği anlamına gelir.

Bu vs. akıllı kart anahtarı, donanım güvenlik modülü, TPM yongası saklamayın tüm kripto uygulamaları için geçerli olacak

daha az yetenekli saldırgan, CryptoAPI'deki karşı koruma ve dolayısıyla RSACryptoServiceProvider verir etmek Anahtarın ihraç edilemez duruma getirilmesi olasılığı. Bu, CryptoAPI/.NET'in sizin için özel anahtar ihracını gerçekleştirmeyi reddedeceği anlamına gelir (ancak bilgili bir saldırgan hala bu konuda çalışabilir). Bunu yapmak için anahtarı CspProviderFlags.UseNonExportableKey ile oluşturun.

CspProviderFlags.UseUserProtectedKey numaralı telefonu da kullanarak, özel anahtar kullanıldığında kullanıcıya onay ve isteğe bağlı ek parola sorulmasını sağlayabilirsiniz.

İlgili konular