¿Hay alguna razón para cifrar una clave de cifrado con un certificado antes de almacenarlo?

5

Supongamos que mi aplicación .Net que está instalada en el cliente cifra un dato. Quiero usar una clave diferente generada aleatoriamente para cada cliente para que cada cliente no sepa la clave del otro.
Alguien me dijo que almacenarlo de forma simple en un archivo no es lo suficientemente bueno, y es mejor usar un certificado para cifrar esta clave antes de almacenarla. Pero no veo la diferencia. Si un pirata informático piratea la computadora del cliente y puede copiar la clave de texto sin formato del archivo, también puede obtener las claves privadas y los certificados del almacén de certificados y usarlos para descifrar y obtener la clave original.

    
pregunta Ronen Festinger 15.07.2013 - 14:40
fuente

2 respuestas

4

Esta es una discusión que se ha mencionado muchas veces en este sitio web. En su declaración, tiene razón al decir que esto simplemente confunde (por lo tanto, seguridad por oscuridad) la clave de cifrado. A algunas personas les gusta hacerlo para que a los atacantes les resulte mucho más difícil acceder a sus claves. Al final solo puedes ralentizarlos.

Entonces, ¿cuál es la diferencia? No mucho, excepto que puede ganar un poco de tiempo.

    
respondido por el Lucas Kauffman 15.07.2013 - 14:53
fuente
1

Básicamente, lo que el cliente almacena, el cliente almacena. Las capas de cifrado no impedirán que un atacante local extraiga la clave. Sin embargo, algunos atacantes débiles pueden ser disuadidos hasta cierto punto. Básicamente, lo prefiere cuando los secretos almacenados localmente están protegidos por lo mejor que puede ofrecer el sistema operativo; en contextos de Windows, esto significa DPAPI o incluso tarjetas inteligentes. Con DPAPI, un atacante exitoso necesitará acceso a nivel de sistema a la máquina; con tarjetas inteligentes , el atacante también deberá subvertir la máquina de forma discreta y capturar secretos mientras el El usuario normal aplica su tarjeta. Eso no es 100% de protección y los atacantes motivados lograrán atravesar estas capas, pero es mejor que nada.

El punto difícil, sin embargo, es que tales infraestructuras han sido diseñadas para su uso con claves y certificados asimétricos. Por lo tanto, no desea utilizar un certificado para el cifrado asimétrico; desea utilizar un certificado porque, en la práctica , eso es lo que se necesita para beneficiarse de las mejores funcionalidades de protección local.

(Pero no creas que "mejor" significa "bueno".)

    
respondido por el Tom Leek 16.07.2013 - 16:25
fuente

Lea otras preguntas en las etiquetas