2012-08-22 12 views
16

¿Cuál es exactamente el sentido detrás de una contraseña de Keystore, por ejemplo, en los almacenes de claves JKS/BKS?Java Keystore contraseña inútil?

Obviamente NO es para seguridad, porque puedo abrir el archivo con un editor y copiar todas las entradas en archivos nuevos sin contraseñas. ¡Los datos dentro de una Keystore protegida con contraseña no están encriptados!

¿qué protege esta contraseña? Parece ser solo para molestar a los desarrolladores 0 ...

+0

No hay forma real de almacenar contraseñas localmente de forma segura y tener acceso a ellas, a menos que dependa de la seguridad por oscuridad, o solicite al usuario una frase de contraseña para desbloquear el almacén de contraseñas. – WhyNotHugo

+0

sí, pero ¿qué quieres decir? Mi Privatekey es segura, porque está encriptada y protegida por KEYPAIRpassword. todos los demás contenidos se pueden leer en texto claro, sin importar si hay una contraseña de restauración de claves o no. – billdoor

+1

De hecho, pero debe proporcionar una contraseña para poder acceder a ella; ese es mi punto. Lo mismo se aplica a las tiendas de contraseñas; todavía necesitas una frase de contraseña maestra. – WhyNotHugo

Respuesta

4

En un almacén de claves JKS o BKS la contraseña no es inútil, pero tampoco hace lo que usted pueda suponer.

No encripta los datos en el almacén de claves ni impide de ninguna forma el acceso al mismo, pero sí verifica la integridad del almacén de claves. Sin conocer la contraseña, no es posible realizar cambios en un almacén de claves sin que el usuario normal lo descubra (normalmente debido a que sus herramientas indican que "Keystore fue manipulada o la contraseña incorrecta")

En otro tipos de almacén de claves (como Keystore.BouncyCastle) la contraseña del almacén de claves protege contra inspección y manipulación.

8

digamos que guardaste una cadena llamada "esta es mi oración" en el almacén de claves, y cuando la abres con un bloc de notas, ves el texto cifrado "blabla", y copió el "blabla" a otro archivo y dice que encontró el texto simple, y es "blabla", que es obvio incorrecto, aún no conoce el original flexible hasta que lo recupere por contraseña.

EDITAR == ==

de almacén de claves JKS, la contraseña del almacén de claves se utiliza para verificar la integridad, src

636 if (password != null) { 
637  md = getPreKeyedHash(password); 
638  dis = new DataInputStream(new DigestInputStream(stream, md)); 
639 } 

la DigestInputStream generar una firma y compararlo con acutal uno para ver si es modificado.

BouncyCastle almacén de claves UBER es más seguro, todo el almacén de claves se cifra con una PBE basado en SHA1 y Twofish (PBEWithSHAAndTwofish-CBC)

 Cipher cipher = this.makePBECipher(cipherAlg, Cipher.DECRYPT_MODE, password, salt, iterationCount); 
     CipherInputStream cIn = new CipherInputStream(dIn, cipher); 

     Digest dig = new SHA1Digest(); 
     DigestInputStream dgIn = new DigestInputStream(cIn, dig); 

     this.loadStore(dgIn); 
+0

Acabo de copiar certificateData del keystore en un crt-file, funciona. Por supuesto no puedo acceder a un par de llaves protegido por contraseña DENTRO de un almacén de claves protegido, pero eso está encriptado con la contraseña del par de llaves, no con la clave pública – billdoor

+1

keystores es pública, no son datos confidenciales –

+1

¿Pero para qué sirve la contraseña del almacén de claves? Me enfrenté a ese par de llaves de llavero proteger el par de llaves, pero ¿qué información del almacén de claves está protegida por la contraseña del almacén de claves? – gkuzmin

-1

Los JKS almacenes de claves son tiendas binarios y su contenido se cifra utilizando la contraseña como una llave Nadie puede acceder a los contenidos sin la contraseña. La contraseña es para proteger el contenido de la tienda de accesos ilegítimos y manipulación. Seguramente puede abrir el contenido cifrado en algún editor, pero no tiene sentido.

+0

parece tener sentido, pero puedo acceder a los contenidos (y darles sentido) – billdoor

+1

No se pueden obtener datos utilizables. La protección con contraseña también evita la manipulación de la tienda. – Drona

+1

para otro momento: ¡CONSIGO OBTENER datos utilizables, pero impidió la manipulación del almacén de claves! ¡gracias! – billdoor

Cuestiones relacionadas