¿Hay agujeros en este diseño de seguridad?

4

Este diseño es para la seguridad del transporte entre un cliente y un servidor. Estoy planeando usarlo para un sistema de almacenamiento en la nube. Me gustaría que estuviera seguro contra quién-sabe-quién.

Intento evitar que alguien (como la NSA) me obligue a entregar mis claves a los datos, por lo que el objetivo es que ni siquiera yo pueda acceder a ellos.

Así es como funciona:

Hay dos capas. En el exterior hay una capa de cifrado RSA-4096 con un par de claves de cifrado / descifrado permanentes. En el interior hay otra capa de cifrado RSA-4096, pero utiliza un par de claves temporal que no se guarda en ninguna parte y no se puede girar. Utiliza la capa externa para verificar la identidad del servidor y la capa interna para asegurar la conexión.

¿Hay algún agujero posible en este esquema que no veo, además del hecho de que si me obligaran a entregar la clave privada permanente, la suplantación del servidor sería posible y las claves temporales serían inútiles? Además, ¿cómo puedo resolver esto?

    
pregunta Phoenix Logan 11.11.2013 - 14:00
fuente

1 respuesta

20

Sí. El primer problema es que estás escribiendo tu propio protocolo criptográfico. Por favor no hagas eso. Utilice TLS o SSH en su lugar.

Segundo, hay muchos libros escritos sobre cómo escribir protocolos seguros, e incluso problemas comunes en los protocolos. Tu algoritmo los tiene.

En tercer lugar, no hace nada por el tráfico fuera de orden, los mensajes modificados (menciona el cifrado pero no menciona las comprobaciones de integridad), su modo de cifrado no está definido (y puede tener problemas), no se describe su vector de inicialización (y puede tener problemas), no menciona la compresión, no hace nada por los mensajes eliminados, no rastrea los mensajes de una conversación anterior con la misma clave insertada en esta conversación, no define qué tan temporal tu clave temporal es.

Cuarto, estás usando una clave pública criptográfica, que es lenta.

Quinto, no tienes un modelo de amenaza. Originalmente, tu publicación no tenía una definición de lo que realmente intentas lograr (aunque lo hayas agregado en un comentario).

Y como no soy realmente un experto en criptografía y veo todas estas fallas de un vistazo, imagina cuántas fallas hay realmente que los expertos verían.

Por favor, no cree un nuevo protocolo defectuoso. Usa uno que ya existe para lo que quieres.

    
respondido por el atk 11.11.2013 - 14:33
fuente

Lea otras preguntas en las etiquetas