Sicuro per archiviare dati crittografati con file pfx (protetto da password)

3

Ho creato un certificato autofirmato utilizzando il nuovo certificato Self-Firmato di Powershell, con l'intenzione di crittografare e memorizzare un nome utente / password in pubblico.

Specificamente usando -

New-SelfSignedCertificate -TextExtension @("2.5.29.37={text}1.3.6.1.4.1.311.80.1") 
                          -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider"
                          -DnsName sign.example.com 
                          -CertStoreLocation  "Cert:\CurrentUser\My" 
                          -KeyExportPolicy ExportableEncrypted -KeyUsage DataEncipherment 
                          -KeyUsageProperty All -KeyLength 2048 

$key = New-Object byte[](32)
$rng = [System.Security.Cryptography.RNGCryptoServiceProvider]::Create()
$rng.GetBytes($key)
$SecureStringWithKey = $cred.Password | ConvertFrom-SecureString -Key $key 

Sto quindi creando un oggetto con la chiave, il nome utente e la password securestring e crittografandolo con

Protect-CmsMessage -Content $object -To $thumbprint

Supponendo che io abbia usato una password complessa per il file pfx, è sicuro conservare il file pfx e la stringa crittografata insieme in un repository github (insieme allo script che districa l'intera cosa) o dovrei fare i passi mantenere anche il file pfx sicuro?

    
posta Michael B 07.11.2015 - 06:46
fonte

2 risposte

2

Sì, è sicuro memorizzare i materiali della chiave di crittografia dei dati (DEK) crittografati (il file PFX corrisponde a questa descrizione) insieme ai dati crittografati. È necessario memorizzare la chiave di crittografia della chiave (KEK) (la password per il PFX) in una memoria separata (o ricordarla se possibile).

    
risposta data 08.11.2015 - 17:04
fonte
0

Tieni presente che i file .pfx vengono forniti con vari livelli di crittografia, incluso RC2 a 40 bit, che non è sicuro. Per scoprire quale algoritmo di crittografia è utilizzato per il tuo file .pfx, vedi questa risposta usando openssl pkcs12 .

Dopo aver chiamato New-SelfSignedCertificate avrai un nuovo certificato nell'archivio certificati. Immagino che tu abbia generato il file .pfx usando Windows (ad es. Con Microsoft Management Console). Su Windows 10, per me, oggi, questo utilizza 3DES, ma su versioni precedenti di Windows potrebbe utilizzare un algoritmo meno sicuro.

Fai anche attenzione al conteggio delle iterazioni. L'impostazione predefinita su Windows 10 è di 2000 iterazioni di SHA-1, quindi un utente malintenzionato potrebbe fare ~ 1.000 tentativi / secondo alla password (vedere questa risposta utilizza la velocità openssl . Si dice di aver scelto una "password complessa", che è buona, ma a tale velocità possono essere indovinate alcune password apparentemente complesse, specialmente se il repository Github è stato reso pubblico dal novembre 2015.

    
risposta data 20.06.2017 - 18:21
fonte

Leggi altre domande sui tag