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?