Asegurar claves privadas ECC

1

¿Cuál sería el equivalente a asegurar una clave privada ECC similar a cómo las claves privadas RSA están protegidas por contraseña a través del formato PKCS # 12?

Otra pregunta que tengo es: ¿cómo agrego las claves ECC a un almacén de claves como JKS o BKS, o existe un mecanismo para mantener la ECC privada en forma segura en el servidor y las copias protegidas por contraseña que se pueden usar para intercambiar claves con fiesta estoy trabajando

Básicamente, quiero descifrar usando ECIES y planeo usar Flexiprovider en un servicio web alojado en un servidor Ubuntu 14.04, ejecutando Apache Tomcat 8.0.15. El servicio web básicamente descifra y realiza un procesamiento adicional ...

¿Entonces estoy almacenando y cargando claves en mi servicio web desde el almacén de claves? ¿Cuál es el enfoque recomendado?

Gracias y realmente aprecio la respuesta detallada, ya que acabo de comenzar con el cifrado / descifrado utilizando ECIES ...

    
pregunta Shailesh Raja 27.05.2015 - 07:38
fuente

1 respuesta

2

PKCS # 12 utiliza un formato genérico y estándar para las entradas de clave privada (PKCS # 8) que admite ECC, así como RSA y otros algoritmos, así que para el software que admite ECC en primer lugar, el El equivalente de PKCS # 12 es PKCS # 12. PKCS # 12 es una buena solución para la transferencia protegida por contraseña, así como para el almacenamiento. Formalmente, PKCS # 12 puede usarse sin contraseña, pero ni Java JCE ni ningún otro software que conozca lo admite. Sin embargo, nada le impide usar una contraseña débil; Si desea seguridad real, elija bien la (s) contraseña (s).

JKS también usa un formato genérico para clave privada, pero (IME) la "protección" de la contraseña puede depender del proveedor. Si su JVM / JRE utiliza algún proveedor de ECC, puede crear una clave privada (con al menos un certificado ficticio, y preferiblemente una cadena de certificados reales) en JKS, o importar una clave privada (con cadena de certificados) de PKCS # 12 a JKS, con keytool estándar. Sin embargo, si su aplicación utiliza un proveedor de ECC diferente , es decir, flexiprovider, es posible que no pueda usar esa clave. Si es así o para estar seguro, cree o importe con keytool especificando el proveedor particular aquí flexiprovider.

Tenga en cuenta que nunca puede tener una clave privada sola en un JKS, debe tener algún tipo de cadena de certificados, incluso es un certificado autofirmado ficticio en el que nadie confía. Por supuesto, para que una clave asimétrica sea realmente útil para asegurar los datos, necesita una garantía de integridad adecuada, como un certificado PKI o una web de confianza estilo PGP. FWIW, JKS también utiliza un formato genérico para certificados, a saber, X.509.

AFAIK BKS es personalizado para bouncycastle y solo es compatible con el proveedor de bouncycastle. Espero que probablemente no pueda usar BKS con flexiprovider para ninguna clave privada (y tal vez ni siquiera cert), aunque no estaría mal probar. Sin embargo, se ha documentado que el proveedor de bouncycastle es compatible con ECIES, por lo que debería poder utilizar BC para ECI con la clave privada en BKS.

    
respondido por el dave_thompson_085 27.05.2015 - 16:16
fuente

Lea otras preguntas en las etiquetas