Protezione delle chiavi private ECC

1

Quale sarebbe l'equivalente di proteggere la chiave privata ECC in modo simile al modo in cui le chiavi private RSA sono protette da password tramite il formato PKCS # 12?

Un'altra domanda che ho è: come aggiungo le chiavi ECC a un keystore come JKS o BKS, oppure esiste un meccanismo per mantenere ECC privato in sicurezza sul server e copie protette da password che possono essere utilizzate per lo scambio di chiavi con festa sto lavorando.

Fondamentalmente voglio decrittografare usando ECIES e ho in programma di usare Flexiprovider in un webservice ospitato su un server Ubuntu 14.04, con Apache Tomcat 8.0.15. Il webservice sostanzialmente decodifica e esegue un'ulteriore elaborazione ..

Quindi sto memorizzando e caricando le chiavi nel mio webservice dal keystore? Qual è l'approccio consigliato?

Grazie e apprezzo molto la risposta dettagliata da quando ho iniziato a criptare / decifrare usando ECIES ..

    
posta Shailesh Raja 27.05.2015 - 07:38
fonte

1 risposta

2

PKCS # 12 utilizza un formato generico e standard per le voci privatekey (PKCS # 8) che supporta ECC e RSA e altri algoritmi, quindi per il software che supporta ECC in primo luogo, l'equivalente di PKCS # 12 è PKCS # 12. PKCS # 12 è una buona soluzione per il trasferimento protetto da password e l'archiviazione. Formalmente PKCS # 12 può essere utilizzato senza password, ma né Java JCE né alcun altro software che conosca lo supporta. Tuttavia nulla ti impedisce di usare una password debole; se vuoi la sicurezza attuale, scegli bene la / e password.

JKS utilizza anche un formato generico per privatekey, ma (IME) la "protezione" della password può essere dipendente dal provider. Se JVM / JRE utilizza qualsiasi provider ECC, puoi creare una chiave privata (con almeno CERT fittizio, preferibilmente una vera catena di certificati) in JKS, o importare una chiave privata (con catena di certificazione) da PKCS # 12 a JKS, con keytool standard. Tuttavia, se la tua applicazione utilizza un provider ECC diverso , ovvero flexiprovider, potrebbe non riuscire a utilizzare quella chiave. Se è così o per essere sicuro, crea o importa con keytool specificando il particolare provider qui flexiprovider.

Nota che non puoi mai avere una chiave privata da sola in un JKS, deve avere una sorta di catena di certificati, anche se è un falso certificato autodefinito che nessuno si fida. Ovviamente, per una chiave asimmetrica che sia effettivamente utile per la protezione dei dati, è necessaria un'adeguata garanzia di integrità, come un certificato PKI o un Web-of-trust in stile PGP. FWIW, JKS utilizza anche un formato generico per i certificati, ovvero X.509.

AFAIK BKS è personalizzato da bouncycastle e supportato solo dal provider bouncycastle. Mi aspetto che probabilmente non puoi usare BKS con flexiprovider per qualsiasi chiave privata (e forse nemmeno per cert), anche se non sarebbe male testare. Tuttavia, il fornitore di bouncycastle è documentato per supportare ECIES, quindi dovresti essere in grado di utilizzare BC per ECIES con la chiave privata in BKS.

    
risposta data 27.05.2015 - 16:16
fonte

Leggi altre domande sui tag