¿Se recomienda almacenar la clave privada y las claves públicas en el mismo directorio en el servidor, como lo hace OwnCloud?

1

¿Es esto recomendado o una práctica buena / normal? Creo que no.
Porque vi que OwnCloud almacena todas las claves de cifrado en un directorio del servidor. Un directorio contiene las claves privadas y una todas las claves públicas.

Pero su documentación dice acerca de su cifrado: "Pero debes asegurarte de no perder nunca esta contraseña, porque esa es la única manera de recuperar los archivos de los usuarios".
doc.owncloud.org/server/6.0/admin_manual/configuration/configuration_encryption.html

Esto me parece totalmente incorrecto y poco profesional.
¿O hay alguna buena razón por la que ambos están almacenados allí?

enlace Todas las claves están en el directorio de datos principal, no en un directorio de claves especial en otra parte

    
pregunta Daniel Ruf 22.06.2014 - 00:32
fuente

3 respuestas

2

La clave pública se puede distribuir de forma arbitraria sin ningún impacto en la seguridad. Almacenar las claves públicas con las claves privadas es totalmente correcto , por ejemplo, OpenPGP está haciendo lo mismo. Al menos Linux almacena sus certificados X.509 en la subcarpeta en /etc/ssl ; esto hace que la administración correcta sea un poco más fácil; pero una vez que tienes acceso a una clave privada, sabes dónde encontrar la clave pública (que está "a la vuelta de la esquina").

La pregunta es: dónde almacenar las claves privadas . Al final, el servidor necesita acceso a la clave. Si la almacena en otro lugar, tendrá que asegurarse de que el software pueda encontrarla (y luego, un atacante también puede hacerlo). Si no confías en tu servidor, estás perdido de todos modos.

Donde el cifrado del lado del servidor puede ayudarlo es si almacena datos en otro tercero no confiable (Dropbox, Amazon EWS, ...). Su servidor confiable encripta los datos, y todo lo que el tercero puede ver son datos encriptados.

Encriptación del lado del cliente eliminaría la necesidad de almacenar la clave privada en el servidor. Pero esto tendría algunas implicaciones en aplicaciones que utilizan estándares como WebDAV, CalDAV, CardDAV, que no conocen el cifrado del lado del cliente. Esta es la razón por la que solo hace owncloud cifrar (simétricamente) la clave privada con la contraseña del usuario: el sistema siempre lo conoce tan pronto como alguien se conecta, sin importar qué protocolo se use.

    
respondido por el Jens Erat 22.06.2014 - 09:51
fuente
1

Bueno, las claves públicas están bien para almacenar allí. Es por eso que son públicos. De todos modos, debe separar las claves privadas y asegurarse de que nadie más tenga acceso a ellas. Por lo tanto, probablemente almacenarlas en otro servidor sería una buena práctica.

    
respondido por el Xatenev 22.06.2014 - 00:41
fuente
0

Es así que, con los algoritmos asimétricos existentes, la clave privada incluye una copia de la clave pública o permite su reconstrucción eficiente. Por lo tanto, donde están las claves privadas, las claves públicas están ahí también. En cualquier caso, las claves públicas son públicas, por lo que podemos suponer que todo el mundo las tiene, incluidos los posibles atacantes, e independientemente de dónde las coloques en primer lugar. Mantener las claves públicas y privadas "separadas" en realidad no tiene sentido: solo puede mantener separados los datos privados. La clave pública, al ser pública, no puede estar separada de nada .

Desea colocar las claves públicas en un directorio porque las claves públicas son públicas y un directorio es una forma de publicarlas.

Puede tener claves privadas en un directorio si ese directorio también es un repositorio para los datos privados del usuario, lo que se llamaría en el mundo de Microsoft / Active Directory el perfil de itinerancia del usuario. Es responsabilidad del directorio mantener los derechos de acceso adecuados para que solo ese usuario específico pueda acceder a sus propios datos privados; el almacenamiento de claves privadas también puede protegerse con un cifrado basado en contraseña.

Ahora, todo lo que significa es que un servidor de AD para un dominio de Microsoft es, de hecho, un hardware muy sensible, y es mejor que lo mantengas a salvo de los atacantes. Lo mismo se aplica a OwnCloud, o cualquier otro sistema que almacene datos confidenciales para el usuario. Esto es inevitable si la funcionalidad principal del sistema es, de hecho, hacer que estos datos confidenciales estén disponibles para los usuarios itinerantes.

    
respondido por el Thomas Pornin 22.06.2014 - 00:51
fuente

Lea otras preguntas en las etiquetas